Patents by Inventor Pravin Singhal

Pravin Singhal 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: 20170006113
    Abstract: The present disclosure is directed to systems and methods for controlling delivery of a resource. An intermediary device may establish a connection to deliver a resource hosted on at least one server to a client using a remoting protocol. The remoting protocol may define one or more channels in the connection for delivering or enabling one or more features of the resource to the client. The device may identify the one or more channels, and may identify the one or more features of the resource. The device may determine a policy for controlling access of the client to at least a first feature of the resource. The device may control access of the client to the first feature by modifying a first channel of the one or more channels according to the determined policy.
    Type: Application
    Filed: June 24, 2016
    Publication date: January 5, 2017
    Inventor: Pravin Singhal
  • Publication number: 20160380860
    Abstract: The present disclosure is directed towards systems and methods for measuring round trip time (RTT) in network devices between the device and an endpoint. A network device may be deployed as an intermediary to provide many security and visibility functions. For measuring the server side RTT between the network device and host, the intermediary device identifies the packet that has been sent by the client when it initiated the RTT measurement. The network device remembers the moment T1 when it sees this packet. The host (e.g., the server) will respond to this with a packet that contains the response. The intermediary device remembers the moment T2 when it sees this response. Server side RTT is calculated by the network device as T2?T1. For measuring the client side RTT the network device and client, the intermediary device identifies the packet that the host sends to initiate measurement of RTT.
    Type: Application
    Filed: June 28, 2016
    Publication date: December 29, 2016
    Inventor: Pravin Singhal
  • Patent number: 7840700
    Abstract: Custom or user-defined application program extensions may be loaded into a network infrastructure element such as a router or switch without restarting the device. For example, a network element has program extensibility logic operable for receiving one or more user program extensions that comprise logic operable to interface with the application program and perform message processing functions or protocol processing functions that are not in the application program; installing the one or more user program extensions without restarting the apparatus; receiving one or more packets representing an application message; selecting a particular one of the user program extensions based on a protocol associated with the message; loading the particular one of the user program extensions; executing business logic of the application program associated with the received message; and invoking a function of the particular one of the user program extensions in response to a call in the business logic.
    Type: Grant
    Filed: June 21, 2006
    Date of Patent: November 23, 2010
    Assignee: Cisco Technology, Inc.
    Inventors: Kollivakkam Raghavan, Pravin Singhal, Sunil Potti, Tefcros Anthias
  • Patent number: 7827256
    Abstract: A network element such as a router or switch provides application-level quality of service for application-layer messages processed in the network element, using application QoS logic which when executed by the one or more processors is operable to cause receiving an application-layer message; matching one or more attributes of the application-layer message to the message classification rules; determining a message classification of the application-layer message based on the matching; selecting one of the network-level QoS values using the mapping and based on the determined message classification; and marking a network-level header of the application-layer message using the selected QoS value. As a result, attributes of application messages at OSI Layer 5, 6, or 7 can be used to determine how to mark packets of the messages with QoS values at OSI Layer 2, 3 or 4, integrating application-level concepts of order and priority into network-layer QoS mechanisms.
    Type: Grant
    Filed: June 21, 2006
    Date of Patent: November 2, 2010
    Assignee: Cisco Technology, Inc.
    Inventors: Steve Phillips, Sunil Potti, Praveen Joshi, Pravin Singhal, Tefcros Anthias, Rahul Tripathi
  • Patent number: 7698416
    Abstract: A method is disclosed for application layer message-based network element management of server failures. According to one aspect, a network element such as a router intercepts session state information that is contained in a request from a client and locally stores the session state information. As a result, application servers to which the requests are directed do not need to store the session state information. If an application server fails, then the network element can use the session state information stored at the network element to continue the session with another application server, transparently to the client application that is involved in the session.
    Type: Grant
    Filed: January 25, 2005
    Date of Patent: April 13, 2010
    Assignee: Cisco Technology, Inc.
    Inventors: Sunil Potti, Alex Yiu-Man Chan, Snehal Haridas, Hari Kathi, Pravin Singhal
  • Patent number: 7606867
    Abstract: A data processing apparatus comprises a plurality of processors and message processing logic operable for establishing one of the processors as a master processor and all other processors as slave processors; receiving an application message from a particular message source among a plurality of message sources coupled to one or more network interfaces and the processors, wherein the application message comprises one or more data frames, packets and segments; granting exclusive control of the particular message source to a selected one of the slave processors; assigning an ordered sequence number to the application message; granting exclusive control, for a particular message destination among a plurality of message destinations coupled to the network interfaces and the processors, to the selected one of the slave processors; and providing the application message to the particular message destination.
    Type: Grant
    Filed: June 19, 2006
    Date of Patent: October 20, 2009
    Assignee: Cisco Technology, Inc.
    Inventors: Pravin Singhal, Luu Tran, Juzer Kothambawala, Anoop Agarwal, Vijay Raghavan
  • Patent number: 7509431
    Abstract: A method is disclosed for performing message and transformation adapter functions in a network element on behalf of an application. According to one aspect, the network element determines an application layer message that is collectively contained in payload portions of data packets. The application layer message conforms to an application layer protocol, such as Hypertext Transfer Protocol (HTTP). The network element determines the application layer protocol to which the application layer message conforms. Based on the application layer protocol, an adapter is selected from among a plurality of adapters that are accessible to the network element. The application layer message is provided to the selected adapter, which converts the application layer message into a “canonical” message that is not specific to any particular application layer protocol.
    Type: Grant
    Filed: November 17, 2004
    Date of Patent: March 24, 2009
    Assignee: Cisco Technology, Inc.
    Inventors: Pravin Singhal, Qingqing Li, Juzar Kothambawala, Parley Van Oleson, Wai Yip Tung, Sunil Potti
  • Publication number: 20070028001
    Abstract: A network element such as a router or switch provides application-level quality of service for application-layer messages processed in the network element, using application QoS logic which when executed by the one or more processors is operable to cause receiving an application-layer message; matching one or more attributes of the application-layer message to the message classification rules; determining a message classification of the application-layer message based on the matching; selecting one of the network-level QoS values using the mapping and based on the determined message classification; and marking a network-level header of the application-layer message using the selected QoS value. As a result, attributes of application messages at OSI Layer 5, 6, or 7 can be used to determine how to mark packets of the messages with QoS values at OSI Layer 2, 3 or 4, integrating application-level concepts of order and priority into network-layer QoS mechanisms.
    Type: Application
    Filed: June 21, 2006
    Publication date: February 1, 2007
    Inventors: Steve Phillips, Sunil Potti, Praveen Joshi, Pravin Singhal, Tefcros Anthias, Rahul Tripathi
  • Publication number: 20070011332
    Abstract: Custom or user-defined application program extensions may be loaded into a network infrastructure element such as a router or switch without restarting the device. For example, a network element has program extensibility logic operable for receiving one or more user program extensions that comprise logic operable to interface with the application program and perform message processing functions or protocol processing functions that are not in the application program; installing the one or more user program extensions without restarting the apparatus; receiving one or more packets representing an application message; selecting a particular one of the user program extensions based on a protocol associated with the message; loading the particular one of the user program extensions; executing business logic of the application program associated with the received message; and invoking a function of the particular one of the user program extensions in response to a call in the business logic.
    Type: Application
    Filed: June 21, 2006
    Publication date: January 11, 2007
    Inventors: Kollivakkam Raghavan, Pravin Singhal, Sunil Potti, Tefcros Anthias
  • Publication number: 20060168334
    Abstract: A method is disclosed for application layer message-based network element management of server failures. According to one aspect, a network element such as a router intercepts session state information that is contained in a request from a client and locally stores the session state information. As a result, application servers to which the requests are directed do not need to store the session state information. If an application server fails, then the network element can use the session state information stored at the network element to continue the session with another application server, transparently to the client application that is involved in the session.
    Type: Application
    Filed: January 25, 2005
    Publication date: July 27, 2006
    Inventors: Sunil Potti, Alex Chan, Snehal Haridas, Hari Kathi, Pravin Singhal
  • Publication number: 20060155862
    Abstract: A method is disclosed for application layer message-based load balancing. According to one aspect, when a network element receives one or more data packets that collectively contain an application layer message, the network element determines a message classification to which the application layer message belongs. Using a load-balancing algorithm that is mapped to the message classification, the network element selects a server from among a plurality of servers, and sends the message toward that server. According to one “adaptive” load-balancing algorithm, the network element selects the server based on multiple servers' average historical response times and average outstanding request wait times. The network element continuously maintains these statistics for each server toward which the network element has sent requests. The network element tracks response times by recording how much time passes between the sending of a request to a server and the receiving of a corresponding response from that server.
    Type: Application
    Filed: January 6, 2005
    Publication date: July 13, 2006
    Inventors: Hari Kathi, Subramanian Srinivasan, Pravin Singhal
  • Publication number: 20060106941
    Abstract: A method is disclosed for performing message and transformation adapter functions in a network element on behalf of an application. According to one aspect, the network element determines an application layer message that is collectively contained in payload portions of data packets. The application layer message conforms to an application layer protocol, such as Hypertext Transfer Protocol (HTTP). The network element determines the application layer protocol to which the application layer message conforms. Based on the application layer protocol, an adapter is selected from among a plurality of adapters that are accessible to the network element. The application layer message is provided to the selected adapter, which converts the application layer message into a “canonical” message that is not specific to any particular application layer protocol.
    Type: Application
    Filed: November 17, 2004
    Publication date: May 18, 2006
    Inventors: Pravin Singhal, Qingqing Li, Juzar Kothambawala, Parley Oleson, Wai Tung, Sunil Potti
  • Publication number: 20030126133
    Abstract: A system for updating and maintaining multiple copies of a database. An application program sends events to a database server at a primary data site to update, or otherwise modify, data in data store at the site. A tracking process at the database server enters event information into an event log. The event log is sent to other data sites where the record of events is used to recreate modifications to copies of the primary data site's data store. This approach allows multiple other data stores at different data sites to be similarly updated. Event logs, and portions of event logs, can be transferred among data sites with a minimum of coordination and verification, and used to update copies of a data store, or other information. Portions of event logs can be received at a site “out-of-order” from the recording of events at the primary site. When a primary site fails, another site whose data store is sufficiently updated with the event log data can assume the role of primary site.
    Type: Application
    Filed: December 27, 2001
    Publication date: July 3, 2003
    Applicant: SlamDunk Networks, Inc.
    Inventors: Kayshav Dattatri, Guru Prasad, Viral Kadakia, Pravin Singhal