Patents by Inventor Rajiv Sinha

Rajiv Sinha 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: 11310133
    Abstract: Described embodiments provide systems and methods for using service graphs to compare performance of a plurality of versions of a microservice. A device may establish metrics from execution of a plurality of versions of a microservice of a service. The plurality of versions of the microservice are deployed concurrently for a portion of execution of the service. The device generates service graphs for each version of the plurality of versions of the microservice. The service graphs include metrics from monitoring execution of a respective version of the microservice. The device identifies differences in metrics between the service graphs for different versions of the microservice. The device requests a change in network traffic of the service between respective versions of the microservice based at least on the one or more differences.
    Type: Grant
    Filed: February 15, 2021
    Date of Patent: April 19, 2022
    Assignee: Citrix Systems, Inc.
    Inventor: Rajiv Sinha
  • Publication number: 20210289046
    Abstract: Described embodiments provide systems and methods for managing client requests to access services provided by a data center. A method can include identifying, by a first device, metrics of client requests to a service communicated from a plurality of clients via one or more Internet service providers (ISPs) to a data center including a plurality of servers providing the service. The method can include identifying metrics of application programming interface (API) requests communicated between a plurality of microservices of the service responsive to the client requests being forwarded to the plurality of servers. The method can include identifying metrics of responses to the client requests. The method can include displaying a service graph generated to identify, via the metrics, an issue with at least one of the one or more ISPs, the plurality of microservices, or one or more WAN links.
    Type: Application
    Filed: May 27, 2021
    Publication date: September 16, 2021
    Applicant: Citrix Systems, Inc.
    Inventor: Rajiv Sinha
  • Publication number: 20210194780
    Abstract: Described embodiments provide systems and methods for using service graphs to compare performance of a plurality of versions of a microservice. A device may establish metrics from execution of a plurality of versions of a microservice of a service. The plurality of versions of the microservice are deployed concurrently for a portion of execution of the service. The device generates service graphs for each version of the plurality of versions of the microservice. The service graphs include metrics from monitoring execution of a respective version of the microservice. The device identifies differences in metrics between the service graphs for different versions of the microservice. The device requests a change in network traffic of the service between respective versions of the microservice based at least on the one or more differences.
    Type: Application
    Filed: February 15, 2021
    Publication date: June 24, 2021
    Applicant: Citrix Systems, Inc.
    Inventor: Rajiv Sinha
  • Patent number: 11032396
    Abstract: Described embodiments provide systems and methods for managing client requests to access services provided by a data center. A method can include identifying, by a first device, metrics of client requests to a service communicated from a plurality of clients via one or more Internet service providers (ISPs) to a data center including a plurality of servers providing the service. The method can include identifying metrics of application programming interface (API) requests communicated between a plurality of microservices of the service responsive to the client requests being forwarded to the plurality of servers. The method can include identifying metrics of responses to the client requests. The method can include displaying a service graph generated to identify, via the metrics, an issue with at least one of the one or more ISPs, the plurality of microservices, or one or more WAN links.
    Type: Grant
    Filed: May 17, 2019
    Date of Patent: June 8, 2021
    Assignee: Citrix Systems, Inc.
    Inventor: Rajiv Sinha
  • Patent number: 10924367
    Abstract: Described embodiments provide systems and methods for using service graphs to compare performance of a plurality of versions of a microservice. A device may establish metrics from execution of a plurality of versions of a microservice of a service. The plurality of versions of the microservice are deployed concurrently for a portion of execution of the service. The device generates service graphs for each version of the plurality of versions of the microservice. The service graphs include metrics from monitoring execution of a respective version of the microservice. The device identifies differences in metrics between the service graphs for different versions of the microservice. The device requests a change in network traffic of the service between respective versions of the microservice based at least on the one or more differences.
    Type: Grant
    Filed: May 17, 2019
    Date of Patent: February 16, 2021
    Assignee: Citrix Systems, Inc.
    Inventor: Rajiv Sinha
  • Publication number: 20200366759
    Abstract: Described embodiments provide systems and methods for managing client requests to access services provided by a data center. A method can include identifying, by a first device, metrics of client requests to a service communicated from a plurality of clients via one or more Internet service providers (ISPs) to a data center including a plurality of servers providing the service. The method can include identifying metrics of application programming interface (API) requests communicated between a plurality of microservices of the service responsive to the client requests being forwarded to the plurality of servers. The method can include identifying metrics of responses to the client requests. The method can include displaying a service graph generated to identify, via the metrics, an issue with at least one of the one or more ISPs, the plurality of microservices, or one or more WAN links.
    Type: Application
    Filed: May 17, 2019
    Publication date: November 19, 2020
    Inventor: Rajiv Sinha
  • Publication number: 20200366580
    Abstract: Described embodiments provide systems and methods for using service graphs to compare performance of a plurality of versions of a microservice. A device may establish metrics from execution of a plurality of versions of a microservice of a service. The plurality of versions of the microservice are deployed concurrently for a portion of execution of the service. The device generates service graphs for each version of the plurality of versions of the microservice. The service graphs include metrics from monitoring execution of a respective version of the microservice. The device identifies differences in metrics between the service graphs for different versions of the microservice. The device requests a change in network traffic of the service between respective versions of the microservice based at least on the one or more differences.
    Type: Application
    Filed: May 17, 2019
    Publication date: November 19, 2020
    Inventor: Rajiv Sinha
  • Patent number: 10050966
    Abstract: The present disclosure is directed to methods and systems of providing a user-selectable list of disparately hosted applications. A device intermediary to a client and one or more servers may receive a user request to access a list of applications published to the user. The device may communicate to the client the list of published applications available to the user, the list comprising graphical icons corresponding to disparately hosted applications, at least one graphical icon corresponding to a third-party hosted application of the disparately hosted applications, the third party hosted application served by a remote third-party server. The device may receive a selection from the user of the at least one graphical icon. The device may communicate, from the remote third party server to the client of the user, execution of the third party hosted application responsive to the selection by the user.
    Type: Grant
    Filed: September 2, 2016
    Date of Patent: August 14, 2018
    Assignee: Citrix Systems, Inc.
    Inventors: Richard Hayton, Ajay Soni, Abhishek Chauhan, Rajiv Sinha, Minoo Gupta
  • Publication number: 20160373445
    Abstract: The present disclosure is directed to methods and systems of providing a user-selectable list of disparately hosted applications. A device intermediary to a client and one or more servers may receive a user request to access a list of applications published to the user. The device may communicate to the client the list of published applications available to the user, the list comprising graphical icons corresponding to disparately hosted applications, at least one graphical icon corresponding to a third-party hosted application of the disparately hosted applications, the third party hosted application served by a remote third-party server. The device may receive a selection from the user of the at least one graphical icon. The device may communicate, from the remote third party server to the client of the user, execution of the third party hosted application responsive to the selection by the user.
    Type: Application
    Filed: September 2, 2016
    Publication date: December 22, 2016
    Inventors: Richard Hayton, Ajay Soni, Abhishek Chauhan, Rajiv Sinha, Minoo Gupta
  • Patent number: 9461996
    Abstract: The present disclosure is directed to methods and systems of providing a user-selectable list of disparately hosted applications. A device intermediary to a client and one or more servers may receive a user request to access a list of applications published to the user. The device may communicate to the client the list of published applications available to the user, the list comprising graphical icons corresponding to disparately hosted applications, at least one graphical icon corresponding to a third-party hosted application of the disparately hosted applications, the third party hosted application served by a remote third-party server. The device may receive a selection from the user of the at least one graphical icon. The device may communicate, from the remote third party server to the client of the user, execution of the third party hosted application responsive to the selection by the user.
    Type: Grant
    Filed: May 6, 2011
    Date of Patent: October 4, 2016
    Assignee: CITRIX SYSTEMS, INC.
    Inventors: Richard Hayton, Ajay Soni, Abhishek Chauhan, Rajiv Sinha, Minoo Gupta
  • Patent number: 9407554
    Abstract: The present solution is related to a method for distributing flows of network traffic across a plurality of packet processing engines executing on a corresponding core of a multi-core device. The method includes receiving, by a multi-core device intermediary to clients and servers, a packet of a first flow of network traffic between a client and server. The method also includes assigning, by a flow distributor of the multi-core device, the first flow of network traffic to a first core executing a packet processing engine and distributing the packet to this core. The flow distributor may distribute packets of another or second flow of traffic between another client and server to a second core executing a second packet processing engine. When a packet for the flow of traffic assigned to the first core is received, such as a third packet, the flow distributor distributes this packet to the first core.
    Type: Grant
    Filed: June 28, 2013
    Date of Patent: August 2, 2016
    Assignee: CITRIX SYSTEMS, INC.
    Inventors: Rajiv Mirani, Rajiv Sinha, Abhishek Chauhan, Anil Shetty
  • Patent number: 9148493
    Abstract: An apparatus, method and computer program product for efficiently pooling network client-server connections. The apparatus is implemented within an interface unit connecting a plurality of servers to the Internet, which is in turn connected to a plurality of clients. The method includes the steps of opening a connection between a first client and the interface unit; determining whether a connection between the interface unit and a server is finished being utilized by the first client; opening a connection between a second client and the interface unit; if no free connection is open between the interface unit and the server, then allowing the second client to access information on the server via the same connection utilized by the first client without waiting for the first client to initiate closing the connection; and delinking the connections between the first and second clients and the interface unit while keeping open the connection between the interface unit and the server.
    Type: Grant
    Filed: December 16, 2013
    Date of Patent: September 29, 2015
    Assignee: CITRIX SYSTEMS, INC.
    Inventors: Michel K. Susai, Rajiv Sinha, Anil Shetty
  • Patent number: 8886822
    Abstract: The present invention is directed towards a method and system for accelerating delivery of a computing environment to a remote client. The computing environment may include a plurality of files comprising an application program and may be streamed to a remote client from a server. Responsive to a determination of whether transmission of the application may be accelerated, an appliance, intercepting the plurality of files, may accelerate transmission of the application program by applying one or more transport layer transmission acceleration techniques to the plurality of files.
    Type: Grant
    Filed: April 11, 2007
    Date of Patent: November 11, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Bradley J. Pedersen, Rajiv Sinha, Prabakar Sundarrajan, Terry Treder
  • Patent number: 8848710
    Abstract: The present invention is directed towards a method and system for providing a technique referred to as flash caching to respond to requests for an object, such as a dynamically generated object, from multiple clients. This technique of the present invention uses a dynamically generated object stored in a buffer for transmission to a client, for example in response to a request from the client, to also respond to additional requests for the dynamically generated object from other clients while the object is stored in the buffer. Using this technique, the present invention is able to increase cache hit rates for extremely fast changing dynamically generated objects that may not otherwise be cacheable.
    Type: Grant
    Filed: July 25, 2012
    Date of Patent: September 30, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Prabakar Sundarrajan, Prakash Khemani, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravana Annamalaisami, Bharat Bhushan K.R., Anil Kumar
  • Patent number: 8812703
    Abstract: An apparatus, method and computer program product for guaranteeing network client-server response time while providing a way of putting the client on-hold when the response time temporarily prohibits access to the requested server. The apparatus is implemented within an interface unit connecting a plurality of servers and an on-hold server to the Internet, which is connected to a plurality of clients.
    Type: Grant
    Filed: September 13, 2010
    Date of Patent: August 19, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Michael K. Susai, Anil Shetty, Wanqun Bao, Jose K. Raphel, Rajiv Sinha, Venugopal Botlaguduru, Sivaprasad R. Udupa, Vamsimohan Korrapati, Sergey Verzunov
  • Patent number: 8812714
    Abstract: The present solution is directed towards embodiments of a feature generally referred to as Application Templates or AppTemplates, which allows a administrator of an intermediary, such as an appliance, to configure and manage settings per application on a basis of a subset of application network traffic. Once configured, the application settings can be exported in a file called the Application Template, and imported into other intermediary systems. The Application Template includes the settings for the application as configured via the intermediary.
    Type: Grant
    Filed: November 12, 2009
    Date of Patent: August 19, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Rajiv Sinha, Minoo Gupta, Prakash Khemani, Youcef Laribi, Salvatore Orlando, Sovit Garg, Sanjay Gupta, Raghu Goyal
  • Patent number: 8788581
    Abstract: A method for maintaining a cache of dynamically generated objects. The method includes storing in the cache dynamically generated objects previously served from an originating server to a client. A communication between the client and server is intercepted by the cache. The cache parses the communication to identify an object determinant and to determine whether the object determinant indicates whether a change has occurred or will occur in an object at the originating server. The cache marks the object stored in the cache as invalid if the object determinant so indicates. If the object has been marked as invalid, the cache retrieves the object from the originating server.
    Type: Grant
    Filed: January 18, 2013
    Date of Patent: July 22, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Prabakar Sundarrajan, Prakash Khemani, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravana Annamalaisami, Bharath Bhushan K. R., Anil Kumar
  • Patent number: 8739274
    Abstract: A device that implements a method for performing integrated caching in a data communication network. The device is configured to receive a packet from a client over the data communication network, wherein the packet includes a request for an object. At the operating system/kernel level of the device, one or more of decryption processing of the packet, authentication and/or authorization of the client, and decompression of the request occurs prior to and integrated with caching operations. The caching operations include determining if the object resides within a cache, serving the request from the cache in response to a determination that the object is stored within the cache, and sending the request to a server in response to a determination that the object is not stored within the cache.
    Type: Grant
    Filed: June 29, 2005
    Date of Patent: May 27, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Prakash Khemani, Prabakar Sundarrajan, Lakshmi Kumar, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravanakumar Annamalaisami
  • Publication number: 20140108513
    Abstract: An apparatus, method and computer program product for efficiently pooling network client-server connections. The apparatus is implemented within an interface unit connecting a plurality of servers to the Internet, which is in turn connected to a plurality of clients. The method includes the steps of opening a connection between a first client and the interface unit; determining whether a connection between the interface unit and a server is finished being utilized by the first client; opening a connection between a second client and the interface unit; if no free connection is open between the interface unit and the server, then allowing the second client to access information on the server via the same connection utilized by the first client without waiting for the first client to initiate closing the connection; and delinking the connections between the first and second clients and the interface unit while keeping open the connection between the interface unit and the server.
    Type: Application
    Filed: December 16, 2013
    Publication date: April 17, 2014
    Applicant: Citrix Systems, Inc.
    Inventors: Michael K. Susai, Rajiv Sinha, Anil Shetty
  • Patent number: 8631120
    Abstract: An apparatus, method and computer program product for efficiently pooling network client-server connections. The apparatus is implemented within an interface unit connecting a plurality of servers to the Internet, which is in turn connected to a plurality of clients. The method includes the steps of opening a connection between a first client and the interface unit; determining whether a connection between the interface unit and a server is finished being utilized by the first client; opening a connection between a second client and the interface unit; if no free connection is open between the interface unit and the server, then allowing the second client to access information on the server via the same connection utilized by the first client without waiting for the first client to initiate closing the connection; and delinking the connections between the first and second clients and the interface unit while keeping open the connection between the interface unit and the server.
    Type: Grant
    Filed: August 12, 2010
    Date of Patent: January 14, 2014
    Assignee: Citrix Systems, Inc.
    Inventors: Michel K. Susai, Rajiv Sinha, Anil Shetty