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

  • Publication number: 20100281217
    Abstract: The present invention is directed towards a method and system for modifying by a cache responses from a server that do not identify a dynamically generated object as cacheable to identify the dynamically generated object to a client as cacheable in the response. In some embodiments, such as an embodiment handling HTTP requests and responses for objects, the techniques of the present invention insert an entity tag, or “etag” into the response to provide cache control for objects provided without entity tags and/or cache control information from an originating server. This technique of the present invention provides an increase in cache hit rates by inserting information, such as entity tag and cache control information for an object, in a response to a client to enable the cache to check for a hit in a subsequent request.
    Type: Application
    Filed: July 16, 2010
    Publication date: November 4, 2010
    Inventors: Prabakar Sundarrajan, Prakash Khemani, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravana Annamalaisami, Bharath Bhushan K R, Anil Kumar
  • Patent number: 7801978
    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: October 18, 2000
    Date of Patent: September 21, 2010
    Assignee: Citrix Systems, Inc.
    Inventors: Michel K. Susai, Rajiv Sinha, Anil Shetty
  • Publication number: 20100121975
    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: Application
    Filed: November 12, 2009
    Publication date: May 13, 2010
    Inventors: Rajiv Sinha, Minoo Gupta, Prakash Khemani, Youcef Laribi, Salvatore Orlando, Sovit Garg, Sanjay Gupta, Raghu Goyal
  • Publication number: 20100023582
    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: Application
    Filed: September 28, 2009
    Publication date: January 28, 2010
    Inventors: Brad J. Pedersen, Rajiv Sinha, Prabakar Sundarrajan, Terry Treder
  • Publication number: 20080222363
    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: Application
    Filed: January 28, 2008
    Publication date: September 11, 2008
    Inventors: Prakash KHEMANI, Prabakar SUNDARRAJAN, Lakshmi KUMAR, Kailash KAILASH, Ajay SONI, Rajiv SINHA, Saravanakumar ANNAMALAISAMI
  • Publication number: 20080140938
    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: Application
    Filed: January 28, 2008
    Publication date: June 12, 2008
    Inventors: Prakash KHEMANI, Prabakar SUNDARRAJAN, Lakshmi KUMAR, Kailash KAILASH, Ajay SONI, Rajiv SINHA, Saravanakumar ANNAMALAISAMI
  • Publication number: 20070244987
    Abstract: The present invention is directed towards the acceleration of delivery of a computing environment to a remote user of a client at a remote location. The computing environment may include an application and a data file used or processed by the application. The application and data file may be stored or provided via a server remote to the client. The user can request a computing environment from the server that provides for execution of the application by the user via the remote computer. For example, the server may stream the application to the remote client. The client and server may communicate via an appliance that accelerates communications between the client and server. For example, the appliance may accelerate the streaming of the application to the remote user. In some cases, the application or remote user may also request a data file from the server, and the appliance accelerates the delivery of the data file to the remote user.
    Type: Application
    Filed: April 11, 2007
    Publication date: October 18, 2007
    Inventors: Bradley Pedersen, Rajiv Sinha, Prabakar Sundarrajan, Terry Treder
  • Publication number: 20070156965
    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: Application
    Filed: December 30, 2005
    Publication date: July 5, 2007
    Inventors: Prabakar Sundarrajan, Prakash Khemani, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravana Annamalaisami, Bharath Bhushan KR, Anil Kumar
  • Publication number: 20070156966
    Abstract: The present invention is directed towards a method and system for providing granular timed invalidation of dynamically generated objects stored in a cache. The techniques of the present invention incorporates the ability to configure the expiration time of objects stored by the cache to fine granular time intervals, such as the granularity of time intervals provided by a packet processing timer of a packet processing engine. As such, the present invention can cache objects with expiry times down to very small intervals of time. This characteristic is referred to as “invalidation granularity.” By providing this fine granularity in expiry time, the cache of the present invention can cache and serve objects that frequently change, sometimes even many times within a second. One technique is to leverage the packet processing timers used by the device of the present invention that are able operate at time increments on the order of milliseconds to permit invalidation or expiry granularity down to 10 ms or less.
    Type: Application
    Filed: December 30, 2005
    Publication date: July 5, 2007
    Inventors: Prabakar Sundarrajan, Prakash Khemani, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravana Annamalaisami, Bharat Bhushan KR, Anil Kumar
  • Publication number: 20070156876
    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: Application
    Filed: December 30, 2005
    Publication date: July 5, 2007
    Inventors: Prabakar Sundarrajan, Prakash Khemani, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravana Annamalaisami, Bharat Bhushan KR, Anil Kumar
  • Publication number: 20070156852
    Abstract: The present invention is directed towards a “flash crowd” technique for handling situations where the cache receives additional requests, e.g.,. nearly simultaneous requests, for the same object during the time the server is processing and returning the response object for a first requester. Once all such nearly simultaneous requests are responded to by the cache, the object is flushed from the cache, with no additional expire time or invalidation action needed. This technique of the present invention enables data to be cached and served for very small amounts of time for objects that would otherwise be considered non-cacheable. As such, this technique yields a significant improvement in applications that serve fast changing data to a large volume of concurrent users, such, for example, as real time stock quotes, or a fast evolving news story.
    Type: Application
    Filed: December 30, 2005
    Publication date: July 5, 2007
    Inventors: Prabakar Sundarrajan, Prakash Khemani, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravana Annamalaisami, Bharat Bhushan K R
  • Publication number: 20060195660
    Abstract: The present invention is directed towards a method and system for modifying by a cache responses from a server that do not identify a dynamically generated object as cacheable to identify the dynamically generated object to a client as cacheable in the response. In some embodiments, such as an embodiment handling HTTP requests and responses for objects, the techniques of the present invention insert an entity tag, or “etag” into the response to provide cache control for objects provided without entity tags and/or cache control information from an originating server. This technique of the present invention provides an increase in cache hit rates by inserting information, such as entity tag and cache control information for an object, in a response to a client to enable the cache to check for a hit in a subsequent request.
    Type: Application
    Filed: December 30, 2005
    Publication date: August 31, 2006
    Inventors: Prabakar Sundarrajan, Prakash Khemani, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravana Annamalaisami, Bharath Bhushan K R, Anil Kumar
  • Publication number: 20060015570
    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: Application
    Filed: June 29, 2005
    Publication date: January 19, 2006
    Applicant: Netscaler, Inc.
    Inventors: Prakash Khemani, Prabakar Sundarrajan, Lakshmi Kumar, Kailash Kailash, Ajay Soni, Rajiv Sinha, Saravanakumar Annamalaisami
  • Patent number: 6954780
    Abstract: An apparatus, method and computer program product for network client-server multiplexing. The apparatus is implemented within an interface unit connecting a plurality of servers to the Internet, which is connected to a plurality of clients. According to a “connection pooling” aspect of the invention, the interface unit opens and maintains connections with the servers and handles the opening and closing of connections with clients accessing the servers, thereby freeing the servers of the processing load incurred by opening and closing connections. According to a “connection distribution” aspect of the invention, the interface unit examines the path names within requests received from clients and selects the server hosting the requested information according to the path names.
    Type: Grant
    Filed: June 7, 2002
    Date of Patent: October 11, 2005
    Assignee: NetScaler, Inc.
    Inventors: Michel K. Susai, Rajiv Sinha, Deepinder S. Setia, Ajay V. Soni
  • Publication number: 20040199646
    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: Application
    Filed: April 19, 2004
    Publication date: October 7, 2004
    Applicant: NetScaler, Inc.
    Inventors: Michel K. Susai, Anil Shetty, Wanqun Bao, Jose K. Raphel, Rajiv Sinha, Venugopal Botlaguduru, Sivaprasad R. Udupa, Vamsimohan Korrapati, Sergey Verzunov
  • Patent number: 6725272
    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: February 18, 2000
    Date of Patent: April 20, 2004
    Assignee: Netscaler, Inc.
    Inventors: Michel K. Susai, Anil Shetty, Wanqun Bao, Jose K. Raphel, Rajiv Sinha, Venugopal Botlaguduru, Sivaprasad R. Udupa, Vamsimohan Korrapati, Sergey Verzunov
  • Publication number: 20020147822
    Abstract: An apparatus, method and computer program product for network client-server multiplexing. The apparatus is implemented within an interface unit connecting a plurality of servers to the Internet, which is connected to a plurality of clients. According to a “connection pooling” aspect of the invention, the interface unit opens and maintains connections with the servers and handles the opening and closing of connections with clients accessing the servers, thereby freeing the servers of the processing load incurred by opening and closing connections. According to a “connection distribution” aspect of the invention, the interface unit examines the path names within requests received from clients and selects the server hosting the requested information according to the path names.
    Type: Application
    Filed: June 7, 2002
    Publication date: October 10, 2002
    Applicant: Netscaler, Inc.
    Inventors: Michel K. Susai, Rajiv Sinha, Deepinder S. Setia, Ajay V. Soni
  • Patent number: 6411986
    Abstract: An apparatus, method and computer program product for network client-server multiplexing. The apparatus is implemented within an interface unit connecting a plurality of servers to the Internet, which is connected to a plurality of clients. According to a “connection pooling” aspect of the invention, the interface unit opens and maintains connections with the servers and handles the opening and closing of connections with clients accessing the servers, thereby freeing the servers of the processing load incurred by opening and closing connections. According to a “connection distribution” aspect oft he invention, the interface unit examines the path names within requests received from clients and selects the server hosting the requested information according to the path names.
    Type: Grant
    Filed: November 10, 1998
    Date of Patent: June 25, 2002
    Assignee: Netscaler, Inc.
    Inventors: Michel K. Susai, Rajiv Sinha, Deepinder S. Setia, Ajay V. Soni
  • Publication number: 20020059428
    Abstract: An apparatus, method and computer program product for network client-server multiplexing. The apparatus is implemented within an interface unit connecting a plurality of servers to the Internet, which is connected to a plurality of clients. According to a “connection pooling” aspect of the invention, the interface unit opens and maintains connections with the servers and handles the opening and closing of connections with clients accessing the servers, thereby freeing the servers of the processing load incurred by opening and closing connections. According to a “connection distribution” aspect of the invention, the interface unit examines the path names within requests received from clients and selects the server hosting the requested information according to the path names.
    Type: Application
    Filed: November 10, 1998
    Publication date: May 16, 2002
    Applicant: NetScaler, Inc.
    Inventors: MICHEL K. SUSAI, RAJIV SINHA, DEEPINDER S. SETIA, Ajay V. Soni
  • Patent number: 4426682
    Abstract: A fast cache flush mechanism includes, associated with the cache, an auxiliary portion (termed a flush count memory) that references a flush counter during the addressing of the cache. This flush counter preferably has a count capacity of the same size as the number of memory locations in the cache. Whenever the cache is updated, the current value of the flush counter is written into the location in the flush count memory associated with the memory location in the cache pointed to by an accessing address, and the valid bit is set.Whenever it is desired to flush the cache, the contents of the flush counter are changed (e.g. incremented) to a new value which is then written as the new cache index into the location of the flush count memory associated with that flush count, and the associated valid bit is cleared or reset.
    Type: Grant
    Filed: May 22, 1981
    Date of Patent: January 17, 1984
    Assignee: Harris Corporation
    Inventors: Josephus Riffe, Rajiv Sinha