Claims
- 1. A method for compiling desired information for network transactions comprising:
capturing network-level information in a kernel-level module of a processor-based device arranged on the server-side of a client-server communication network; and using said captured network-level information to compile, in said kernel-level module, desired information for at least one network transaction conducted between a client and a server via said client-server communication network.
- 2. The method of claim 1 wherein said processor-based device is said server.
- 3. The method of claim 1 wherein said network-level information comprises network packets for said at least one network transaction.
- 4. The method of claim 1 further comprising:
said kernel-level module monitoring a TCP connection of said processor-based device to compile said desired information from incoming and outgoing network packets for a network transaction of said TCP connection.
- 5. The method of claim 1 wherein said desired information comprises a web transaction log.
- 6. The method of claim 1 wherein said at least one network transaction comprises a request from said client to said server and a response to said client from said server.
- 7. The method of claim 1 wherein said at least one network transaction is a transaction of a client access of a web page on said server.
- 8. The method of claim 7 wherein said desired information comprises information from which said client access of a web page can be reconstructed.
- 9. The method of claim 1 wherein said desired information comprises at least one selected from the group consisting of:
Uniform Resource Locator (URL) accessed by said at least one network transaction, value of Referer header field of said at least one network transaction, value of Content Type header field of said at least one network transaction, value of Flow Identification of said at least one network transaction, client's Internet Protocol (IP) address of said at least one network transaction, number of bytes of a client request of said at least one network transaction, number of bytes of server response of said at least one network transaction, number of bytes of content of server response of said at least one network transaction, timestamp of SYN packet from the client of said at least one network transaction, timestamp for receipt of the first byte of a client request of said at least one network transaction, timestamp for receipt of the last byte of a client request of said at least one network transaction, timestamp of when the first byte of a response is sent by the server in said at least one network transaction, timestamp of when the last byte of a response is sent by the server to the client in said at least one network transaction, timestamp of receipt of ACK packet by server for the last byte of the server's response in said at least one network transaction, response status code of said at least one network transaction, identification of whether Via field is set for said at least one network transaction, number of packets resent by the client in said at least one network transaction, and number of packets resent by the server in said at least one network transaction.
- 10. The method of claim 1 further comprising:
adjusting scheduling of responses from the server to clients based at least in part on the captured network-level information.
- 11. The method of claim 1 further comprising:
communicating said desired information from the kernel-level to user-level space of said processor-based device.
- 12. The method of claim 11 further comprising:
in said user-level space, using said desired information to reconstruct a client access of said server.
- 13. The method of claim 12 wherein said client access of said server comprises a client access of a web page.
- 14. The method of claim 1 further comprising:
implementing at least an IP module and a TCP module in the kernel-level of said processor-based device to form a TCP/IP stack.
- 15. The method of claim 14 wherein said kernel-level module that captures said network-level information is arranged communicatively between said IP module and TCP module.
- 16. A method for compiling desired information for network transactions comprising:
implementing a kernel-level module in a STREAMS-based network stack of a server, wherein said kernel-level module is operable to monitor a network connection to said server to compile desired information for network transactions conducted through said network connection.
- 17. The method of claim 16 wherein said STREAMS-based network stack comprises an TCP/IP stack.
- 18. The method of claim 17 wherein said TCP/IP stack comprises an IP module and a TCP module.
- 19. The method of claim 18 wherein said kernel-level module is arranged communicatively between said IP module and said TCP module.
- 20. The method of claim 16 wherein said kernel-level module captures network packets for said network transactions.
- 21. The method of claim 16 wherein said network connection comprises a TCP connection and wherein said kernel-level module compiles said desired information from incoming and outgoing network packets for a network transaction conducted via said TCP connection.
- 22. The method of claim 16 wherein said desired information comprises a web transaction log.
- 23. The method of claim 16 wherein said network transactions each comprise a request from a client to said server and a response to said client from said server.
- 24. The method of claim 16 wherein said network transactions comprise a client access of a web page on said server.
- 25. The method of claim 24 wherein said desired information comprises information from which said client access of a web page can be reconstructed.
- 26. The method of claim 16 further comprising:
adjusting scheduling of responses from the server to clients based at least in part on network-level information captured by said kernel-level module for said network connection.
- 27. The method of claim 16 wherein said kernel-level module is operable to monitor a plurality of concurrent network connections to said server to compile said desired information for said network transactions conducted through said plurality of concurrent network connections.
- 28. A system for compiling desired information for network transactions comprising:
a processor-based device communicatively coupled to a client-server communication network and arranged on the server-side of said client-server network; and said processor-based device comprising a kernel-level module for monitoring network-level information for a server and compiling desired information for network transactions with the server.
- 29. The system of claim 28 wherein said processor-based device is said server.
- 30. The system of claim 28 wherein said network-level information comprises network packets for said network transactions.
- 31. The system of claim 28 wherein said processor-based device has a TCP connection with said client-server communication network, and wherein said kernel-level module is operable to monitor said TCP connection to compile said desired information from incoming and outgoing network packets for a network transaction conducted via said TCP connection.
- 32. The system of claim 28 wherein said desired information comprises a web transaction log.
- 33. The system of claim 28 wherein said network transactions each comprise a request from a client to said server and a response to said client from said server.
- 34. The system of claim 28 wherein said network transactions comprise a client access of a web page on said server.
- 35. The system of claim 34 wherein said desired information comprises information from which said client access of a web page can be reconstructed.
- 36. The system of claim 28 wherein said processor-based device further comprises user-level space, and wherein said kernel-level module is operable to communicate said desired information to said user-level space.
- 37. The system of claim 36 further comprising:
means in said user-level space for using said desired information to reconstruct a client access of said server.
- 38. The system of claim 37 wherein said client access of said server comprises a client access of a web page.
- 39. The system of claim 28 further comprising:
at least an IP module and a TCP module in the kernel-level of said processor-based device to form a TCP/IP stack.
- 40. The system of claim 39 wherein said kernel-level module for monitoring network-level information for a server and compiling desired information for network transactions with the server is arranged communicatively between said IP module and TCP module.
CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application is related to concurrently filed and commonly assigned U.S. patent application Ser. No. ______ entitled “SYSTEM AND METHOD FOR MEASURING WEB SERVICE PERFORMANCE USING CAPTURED NETWORK PACKETS”, concurrently filed and commonly assigned U.S. patent application Ser. No. ______ entitled “SYSTEM AND METHOD FOR RECONSTRUCTING CLIENT WEB PAGE ACCESSES FROM CAPTURED NETWORK PACKETS”, concurrently filed and commonly assigned U.S. patent application Ser. No. ______ entitled “KNOWLEDGE-BASED SYSTEM AND METHOD FOR RECONSTRUCTING CLIENT WEB PAGE ACCESSES FROM CAPTURED NETWORK PACKETS”, and concurrently filed and commonly assigned U.S. patent application Ser. No. ______ entitled “SYSTEM AND METHOD FOR RELATING ABORTED CLIENT ACCESSES OF DATA TO QUALITY OF SERVICE PROVIDED BY A SERVER IN A CLIENT-SERVER NETWORK”, the disclosures of which are hereby incorporated herein by reference.