Techniques for accounting for multiple transactions in a transport control protocol (TCP) payload
First Claim
1. A method for separately accounting for multiple transactions in the same data packets communicated over a network using a Transport Control Protocol (TCP), comprising the steps of:
- receiving an Internet Protocol (IP) data packet that includes Transport Control Protocol (TCP) payload data, parsing the TCP payload to determine boundary data that indicates a byte location on a boundary between a first transaction and a second transaction;
determining a first byte count that indicates a number of bytes in the TCP payload associated with the first transaction based on the boundary data; and
determining first accounting data for the first transaction based at least in part on the first byte count.
1 Assignment
0 Petitions
Accused Products
Abstract
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).
-
Citations
32 Claims
-
1. A method for separately accounting for multiple transactions in the same data packets communicated over a network using a Transport Control Protocol (TCP), comprising the steps of:
-
receiving an Internet Protocol (IP) data packet that includes Transport Control Protocol (TCP) payload data, parsing the TCP payload to determine boundary data that indicates a byte location on a boundary between a first transaction and a second transaction;
determining a first byte count that indicates a number of bytes in the TCP payload associated with the first transaction based on the boundary data; and
determining first accounting data for the first transaction based at least in part on the first byte count. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-readable medium carrying one or more sequences of instructions for separately accounting for multiple transactions in the same data packets communicated over a network using Transport Control Protocol (TCP), wherein execution of the one or more sequences of instructions by one or more processors causes the one or more processors to perform the steps of:
-
receiving an Internet Protocol (IP) data packet that includes Transport Control Protocol (TCP) payload data, parsing the TCP payload to determine boundary data that indicates a byte location on a boundary between a first transaction and a second transaction payload;
determining a first byte count that indicates a number of bytes in the TCP payload associated with the first transaction based on the boundary data; and
determining first accounting data for the first transaction based at least in part on the first byte count. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
12. An apparatus for separately accounting for multiple transactions in the same data packets communicated over a network using Transport Control Protocol (TCP), comprising:
-
means for receiving an Internet Protocol (IP) data packet that includes Transport Control Protocol (TCP) payload data, means for parsing the TCP payload to determine boundary data that indicates a byte location on a boundary between a first transaction and a second transaction;
means for determining a first byte count that indicates a number of bytes in the TCP payload associated with the first transaction based on the boundary data; and
means for determining first accounting data for the first transaction based at least in part on the first byte count.
-
-
13. An apparatus for separately accounting for multiple transactions in the same data packets communicated over a network using Transport Control Protocol (TCP), comprising:
-
a network interface that is coupled to a packet-switched network for communicating therewith a data packet;
one or more processors;
a computer-readable medium; and
one or more sequences of instructions stored in the computer-readable medium, which, when executed by the one or more processors, causes the one or more processors to carry out the step of;
receiving on the interface an Internet Protocol (IP) data packet that includes Transport Control Protocol (TCP) payload data, parsing the TCP payload to determine boundary data that indicates a byte location on a boundary between a first transaction and a second transaction;
determining a first byte count that indicates a number of bytes in the TCP payload associated with the first transaction based on the boundary data; and
determining first accounting data for the first transaction based at least in part on the first byte count. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A computer-readable medium carrying a plurality of data structures for separately accounting for a corresponding plurality of transactions carried at least in part in the same data packets communicated over a network using Transport Control Protocol (TCP), each data structure comprising:
-
a client sequence range field that holds data that indicates a range of values in a sequence number field in a TCP header in a first set of one or more data packets received from a client process, which range indicates a particular transaction in a particular TCP session, a server sequence range field that holds data that indicates a range of values in a sequence number field in a TCP header in a second set of one or more data packets received from a server process in response to the first set, which range indicates the particular transaction in the particular TCP session, and a counter field for holding data that indicates an amount of network resources associated with the first set and the second set, which data is determined based at least in part on data held in the client sequence range field and the server sequence range field, wherein at least one of the client range and the server range includes an end point that does not correspond to any boundary of any TCP payload.
-
Specification