Systems and methods for appflow for datastream

US9438488B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9438488-B2
Application numberUS-201213673445-A
CountryUS
Kind codeB2
Filing dateNov 9, 2012
Priority dateNov 9, 2012
Publication dateSep 6, 2016
Grant dateSep 6, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

The present disclosure is directed towards systems and methods for monitoring application level flow for database applications served by a cluster of servers. An application flow monitor may receive and distribute write requests of a client to at least one master server and read requests of the client to one or more slave servers, based on load balancing or similar policies. The application flow monitor may receive responses from the recipient server and may aggregate the requests and responses into Internet Protocol Flow Information Export (IPFIX) messages that may describe the entire communication flow for the application. Accordingly, application flow statistics may be monitored, regardless of which server was involved in any particular request/response exchange, allowing scalability without impairment of administrative processes.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for monitoring application level flow by an intermediary device between a client and a server hosting a database, comprising: receiving, by an intermediary device from a client device, a first database request designated for a server hosting a database having a first type, the first database request comprising a request type and a request string, the intermediary device identifying from parameters of the first database request each of the first type of database, the request type and the request string, wherein the request type comprises one of a read type of request or a write type of request; identifying, by the intermediary device, that a parameter of the first database request matches a parameter of a first policy of a set of one or more policies; selecting by the intermediary device, the server from a plurality of servers based on the request type, the intermediary device configured to select a master server for write type of requests and a slave server having a copy of the database for read type of requests; generating, by the intermediary device responsive to the identification, a first Internet Protocol Flow Information Export (IPFIX) message comprising an identification of the first type of database, an identification of the request type of the first database request, and the request string of the first database request; transmitting, by the intermediary device to the server, the first database request; receiving, by the intermediary device from the server, a first response to the first database request, the first response comprising a response status and a response string; determining, by the intermediary device, that the first response corresponds to the first database request; and generating, by the intermediary device responsive to the determination, a second IPFIX message comprising an identification of the response status and the response string of the first response; aggregating, by the intermediary device, the first IPFIX message and the second IPFIX message into a single application flow record. 2. The method of claim 1 , further comprising transmitting, by the intermediary device to the first client, the first response. 3. The method of claim 1 , wherein determining that the first response corresponds to the first database request and generating the second IPFIX message is performed without matching a parameter of the first response to a parameter of the first policy. 4. The method of claim 1 , further comprising transmitting, by the intermediary device, the first IPFIX message and the second IPFIX message to a data collector. 5. The method of claim 1 , further comprising aggregating first IPFIX message and second IPFIX message by concatenating one or more stings of the first IPFIX message with one or more strings of the second IPFIX message. 6. The method of claim 1 , wherein generating the second IPFIX message further comprises generating the second IPFIX message comprising an identification of the length of the response string. 7. The method of claim 1 , wherein the server comprises a plurality of computing devices, and wherein transmitting the first database request to the server further comprises identifying a first computing device of the plurality of computing devices and transmitting the first database request to the identified first computing device. 8. The method of claim 7 , wherein receiving the first response comprises receiving the first response from the identified first computing device. 9. The method of claim 7 , further comprising: receiving, by the intermediary device from the client device, a second database request comprising a request type and a request string; identifying, by the intermediary device, that a parameter of the second database request matches a parameter of the first policy; generating, by the intermediary device responsive to the identification, a third IPFIX message comprising an identification of the request type of the second database request, and the request string of the second database request; identifying, by the intermediary device, a second computing device of the plurality of computing devices based on a load balancing policy; transmitting, by the intermediary device to the identified second computing device, the second database request; receiving, by the intermediary device from the identified second computing device, a second response to the second database request, the second response comprising a response status and a response string; determining, by the intermediary device, that the second response corresponds to the second database request; generating, by the intermediary device responsive to the determination, a fourth IPFIX message comprising an identification of the response status and the response string of the second response; and aggregating the first, second, third, and fourth IPFIX messages in an application flow record. 10. The method of claim 9 , wherein identifying the first computing device of the plurality of computing devices comprises identifying the first computing device responsive to the first database request having a first request type; and wherein identifying the second computing device of the plurality of computing devices comprises identifying the second computing device responsive to the second database request having a second, different request type. 11. A system for monitoring application level flow by an intermediary device between a client and a server hosting a database, comprising: an intermediary device, deployed between a client device and a server, comprising a processor executing an application flow monitor, the application flow monitor configured for: receiving, from the client device, a first database request designated for a server hosting a database having a first type, the first database request comprising a request type and a request string, wherein the request type comprises one of a read type of request or a write type of request; identifying from parameters of the first database request each of the first type of database, the request type and the request string; identifying that a parameter of the first database request matches a parameter of a first policy of a set of one or more policies; selecting the server from a plurality of servers based on the request type, the intermediary device configured to select a master server for write type of requests and a slave server having a copy of the database for read type of requests; generating, responsive to the identification, a first Internet Protocol Flow Information Export (IPFIX) message comprising an identification of the first type of database, an identification of the request type of the first database request, and the request string of the first database request; transmitting, to the server, the first database request; receiving, from the server, a first response to the first database request, the first response comprising a response status and a response string; determining that the first response corresponds to the first database request; generating, responsive to the determination, a second IPFIX message comprising an identification of the response status and the response string of the first response; and aggregating the first IPFIX message and the second IPFIX message into a single application flow record. 12. The system of claim 11 , wherein the application flow monitor is further configured for transmitting, to the first client, the first response. 13. The system of claim 11 , wherein the application flow monitor is further configured for determining that the first response corresponds to the first database request and genera

Assignees

Inventors

Classifications

  • Discovery or management of network topologies · CPC title

  • Network monitoring probes · CPC title

  • Traffic logging, e.g. anomaly detection · CPC title

  • Cross-Sectional Technologies · mapped topic

  • H04L43/026Primary

    using flow identification · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9438488B2 cover?
The present disclosure is directed towards systems and methods for monitoring application level flow for database applications served by a cluster of servers. An application flow monitor may receive and distribute write requests of a client to at least one master server and read requests of the client to one or more slave servers, based on load balancing or similar policies. The application flo…
Who is the assignee on this patent?
Citrix Systems Inc
What technology area does this patent fall under?
Primary CPC classification H04L43/026. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Sep 06 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).