Legal claims defining the scope of protection, as filed with the USPTO.
1. A method comprising: in response to receiving a request to establish a connection through a socket from an application running on a communication device running a network socket application programming interface (API), establishing a communication link with another communication device for use in communicating packets associated with the socket to or from the other communication device across a communication network; receiving, in the network socket API across the established communication link, a packet associated with the socket and including information about a performance of the communication link; storing, by the network socket API in a memory of the communication device, the received information about the performance of the communication link; and in response to receiving a request from the application running on the communication device for information about the performance of the communication link, retrieving by the network socket API and returning to the application the stored information about the performance of the communication link.
2. The method of claim 1 , wherein the received information about the performance of the communication link is stored by the network socket API in association with an identifier for the socket.
3. The method of claim 1 , wherein the request received from the application running on the communication device is an input/output control function call (ioctl( )).
4. The method of claim 1 , wherein: the received packet associated with the socket is a data packet having a header, the header of the packet includes the information about the performance of the communication link, and the body of the packet includes data destined for the application running on the communication device.
5. The method of claim 4 , wherein: the received packet is a TCP or a UDP packet, and the information about the performance of the communication link is included in an options field of the header of the packet.
6. The method of claim 1 , wherein the packet is a control packet following an Internet control message protocol (ICMP).
7. The method of claim 1 , further comprising: in response to receiving the request from the application running on the communication device for information about the performance of the communication link, generating and transmitting across the network a control packet requesting the information about the performance of the communication link, wherein the received packet associated with the socket is received in response to the control packet requesting the information.
8. The method of claim 1 , wherein the information about the performance of the communication link includes information about a type of wireless connection over which the communication link is established, information about network bandwidth or network speed, network congestion and back-log, jitter, delay, packet loss, or link quality on the established communication link.
9. The method of claim 1 , wherein the communication device is a user equipment device or a server configured to use sockets for communication across a communication network.
10. The method of claim 1 , further comprising: receiving, in the network socket API, a second request from the application running on the communication device for information about a performance of a communication link associated with a second socket; in response to receiving the second request, retrieving by the network socket API and returning to the application information about the performance of the communication link associated with the second socket; and receiving a communication request from the application through a selected one of the first and second sockets, wherein the one of the first and second sockets is selected based on the returned information about performance of each of the communication links associated with the first and second sockets.
11. A communication device comprising: a network communication interface; a processor; and a memory storing computer readable instructions wherein execution of the computer readable instructions by the processor configures the communication device to perform the method according to claim 1 .
12. An article of manufacture, comprising: a non-transitory computer-readable medium; and computer-executable instructions embodied in the medium wherein execution of the computer-executable instructions by a processor of the communication device cause the communication device to perform the method according to claim 1 .
13. A method comprising: obtaining, by a network device connected to a network, performance information about a performance of at least one communication link used by at least one communication device for socket-based communication through the network, the performance information representing performance measured by a performance monitor connected to the network; storing, in a memory of the network device, the obtained performance information; and in response to receiving a packet that is associated with a socket of a communication device; retrieving, from the memory, performance information about a performance of a communication link associated with the socket; inserting, by the network device, the retrieved performance information into a header of the received packet; and forwarding the packet including the inserted performance information to the packet's destination.
14. The method of claim 13 , wherein the header of the received packet does not include the performance information about the performance of the communication link associated with the socket when the packet is received.
15. The method of claim 13 , wherein: the received packet is a packet transmitted by a user-equipment type of communication device; and the packet's destination is a user-equipment type of communication device.
16. The method of claim 13 , further comprising: receiving, in the network device, information about the performance of a particular communication link from a network relay device located along the particular communication link in the network, wherein: the network relay device is one of an eNodeB device, a SGW, or a PGW, and the information received from the network relay device is inserted into the header of the received packet.
17. The method of claim 13 , wherein: the network device is a wire-speed device that is located in-line with at least one of the communication links, and the obtaining comprises obtaining measured performance information about the performance of the at least one communication link passing through the wire-speed network device.
18. A network device comprising: a network communication interface; a processor; and a memory storing computer readable instructions wherein execution of the computer readable instructions by the processor configures the network device to perform the method according to claim 13 .
19. An article of manufacture, comprising: a non-transitory computer-readable medium; and computer-executable instructions embodied in the medium wherein execution of the computer-executable instructions by a processor of the network device cause the network device to perform the method according to claim 13 .
20. A method comprising: obtaining, by a network device connected to a network, performance information about a performance of at least one communication link used by at least one communication device for socket-based communication through the network, the performance information representing performance measured by a performance monitor connected to the network; storing, in a high speed memory of the network device, the obtained performance information; and in response to receiving from one communication device a control packet requesting performance information about a performance of a communication link associated with a particular socket: retrieving, from the memory, the requested performance information about the performance of the communication link associated with the particular socket; generating, by the network device, a response control packet including the requested performance information; and transmitting the generated response control packet to the one communication device.
21. The method of claim 20 , further comprising: receiving, in the network device, information about the performance of a particular communication link from a network relay device located along the particular communication link in the network, wherein: the network relay device is one of an eNodeB device, a SGW, or a PGW, and the information received from the network relay device is included in the response control packet generated by the network device.
22. The method of claim 21 , wherein: the network device is a wire-speed device that is located in-line with at least one of the communication links, and the obtaining comprises obtaining measured performance information about the performance of the at least one link passing through the wire-speed network device.
23. The method of claim 21 , wherein the stored performance information is socket-specific information about the performance of the particular communication link.
24. A network device comprising: a network communication interface; a processor; and a memory storing computer readable instructions wherein execution of the computer readable instructions by the processor configures the network device to perform the method according to claim 20 .
25. An article of manufacture, comprising: a non-transitory computer-readable medium; and computer-executable instructions embodied in the medium wherein execution of the computer-executable instructions by a processor of the network device cause the network device to perform the method according to claim 20 .
Unknown
July 21, 2015
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.