Techniques for accounting for multiple transactions in a transport control protocol (TCP) payload

US9716636B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9716636-B2
Application numberUS-201313859510-A
CountryUS
Kind codeB2
Filing dateApr 9, 2013
Priority dateJul 6, 2005
Publication dateJul 25, 2017
Grant dateJul 25, 2017

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.

Techniques for separately accounting for multiple transactions in the same data packets communicated over a network using Transport Control Protocol (TCP) include receiving an Internet Protocol (IP) data packet that includes Transport Control Protocol (TCP) payload data. The TCP payload is parsed to determine boundary data that indicates a byte location on a boundary between a first transaction and a second transaction. A byte count that indicates a number of bytes in the TCP payload associated with the first transaction is determined based on the boundary data. Accounting data for the first transaction is determined based at least in part on the byte count. These techniques allow a service gateway to bill separately for different requests and responses carried in TCP data packets, such as those for Hypertext Transfer Protocol (HTTP) and Real Time Streaming Protocol (RTSP).

First claim

Opening claim text (preview).

What is claimed is: 1. A method to separately account for multiple transactions during a communication session between a client device and a server device, the method comprising: receiving at a service gateway node a plurality of Internet protocol (IP) packets associated with first and second transactions for the communication session between the client device and the server device, wherein the packets include payload data and wherein the communication session is initiated at the client device using a communications application provided to a subscriber for installation on the client device; creating at the service gateway node a transaction table, the transaction table including a first transaction record comprising first and second sequence ranges associated with the first transaction and a second transaction record comprising first and second sequence ranges associated with the second sequence range, wherein each of the first sequence ranges corresponds to a client-to-server packet transmission direction and each of the second sequence ranges corresponds to a server-to-client packet transmission direction; for an IP packet: determining at the service gateway node a packet transmission direction of the packet and a packet sequence number in a header of the IP packet; parsing at the service gateway node the payload data to determine a boundary between a first transaction and a second transaction for the communication session; and assigning each one of a plurality of bytes associated with the IP packet to one of the first transaction and the second transaction based on the packet transmission direction, the packet sequence number and the boundary; updating a first byte count included in the first transaction record to indicate a number of bytes assigned to the first transaction during the communication session; updating a second byte count included in the second transaction record to indicate a number of bytes assigned to the second transaction during the communication session; determining first accounting data for the first transaction based, at least in part, on the first byte count and first correlation data for the first transaction, wherein the first correlation data includes at least one of a URL of a resource delivered in connection with the first transaction, a content provider of the resource, a billing rate for the resource, information identifying a subscriber associated with the client device, and user profile information associated with the subscriber; forming a billing record based on the first accounting data for the first transaction; and communicating the billing record to a billing server, wherein the billing server charges at least one of a party that requested the first transaction and a party that responded to the first transaction an amount indicated in the billing record based on completion of the first transaction. 2. The method of claim 1 , wherein the parsing includes parsing the payload data based, at least in part, on a Carriage Return and Line Feed (CRLF) pattern to determine the boundary data. 3. The method of claim 1 , further comprising: determining second accounting data for the second transaction based, at least in part, on the second byte count and second correlation data for the second transaction, wherein the second correlation data includes at least one of a URL of a resource delivered in connection with the second transaction, a content provider of the resource delivered in connection with the second transaction, a billing rate for the resource delivered in connection with the second transaction, an identity of the subscriber associated with the client device, and user profile information associated with the subscriber; forming a billing record based on the second accounting data for the second transaction; and communicating the billing record to a billing server, wherein the billing server charges at least one of a party that requested the second transaction and a party that responded to the second transaction an amount indicated in the billing record based on completion of the second transaction. 4. The method of claim 1 , further comprising: maintaining one or more associations between the first and second transactions and byte counts for a time interval sufficient to allow retransmissions to be counted against at least one of the first and second transactions. 5. The method of claim 1 , further comprising identifying a transaction with a sequence number range that encompasses the sequence number and assigning the bytes to the transaction. 6. The method of claim 1 , further comprising determining whether the IP packet is in a client-to-server direction or a server-to-client direction, and updating a start sequence number and an end sequence number for the client-to-server direction or the server-to-client direction based on the sequence number and boundary. 7. The method of claim 1 , further comprising: determining a first per-byte charge associated with the first transaction; and determining the first accounting data based, at least in part, on multiplying the first byte count by the first per-byte charge. 8. The method of claim 1 , wherein at least one of the first and second transactions is associated with a first content resource related to a first content provider that charges a first billing rate associated with a first byte count, and wherein at least one of the first and second transactions is associated with a second content source related to a second content provider that charges a second billing rate associated with a second byte count. 9. A non-transitory media comprising logic that includes code for execution and when executed by a processor operable to perform operations comprising: receiving at a service gateway node a plurality of Internet protocol (IP) packets associated with first and second transactions for the communication session between the client device and the server device, wherein the packets include payload data and wherein the communication session is initiated at the client device using a communications application provided to a subscriber for installation on the client device; creating at the service gateway node a transaction table, the transaction table including a first transaction record comprising first and second sequence ranges associated with the first transaction and a second transaction record comprising first and second sequence ranges associated with the second sequence range, wherein each of the first sequence ranges corresponds to a client-to-server packet transmission direction and each of the second sequence ranges corresponds to a server-to-client packet transmission direction; for an IP packet: determining at the service gateway node a packet transmission direction of the packet and a packet sequence number in a header of the IP packet; parsing at the service gateway node the payload data to determine a boundary between a first transaction and a second transaction for the communication session; and assigning each one of a plurality of bytes associated with the IP packet to one of the first transaction and the second transaction based on the packet transmission direction, the packet sequence number and the boundary; updating a first byte count included in the first transaction record to indicate a number of bytes assigned to the first transaction during the communication session; updating a second byte count included in the second transaction record to indicate a number of bytes assigned to the second transaction during the communication session; determining first accounting data for the first transaction based, at least in part, on the first byte count and first correlation data for the first transaction, wherein the first cor

Assignees

Inventors

Classifications

  • based on web technology, e.g. hypertext transfer protocol [HTTP] · CPC title

  • involving dedicated fields in the data packet for billing purposes · CPC title

  • H04L43/04Primary

    Processing captured monitoring data, e.g. for logfile generation · CPC title

  • H04L12/14Primary

    Charging, metering or billing arrangements specially adapted for data communications, e.g. authentication, authorisation and accounting [AAA] framework · 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 US9716636B2 cover?
Techniques for separately accounting for multiple transactions in the same data packets communicated over a network using Transport Control Protocol (TCP) include receiving an Internet Protocol (IP) data packet that includes Transport Control Protocol (TCP) payload data. The TCP payload is parsed to determine boundary data that indicates a byte location on a boundary between a first transaction…
Who is the assignee on this patent?
Cisco Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04L43/04. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jul 25 2017 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).