Patent classifications
H04L69/162
METHODS AND APPARATUS FOR SHARING AND ARBITRATION OF HOST STACK INFORMATION WITH USER SPACE COMMUNICATION STACKS
Methods and apparatus for efficient data transfer within a user space network stack. Unlike prior art monolithic networking stacks, the exemplary networking stack architecture described hereinafter includes various components that span multiple domains (both in-kernel, and non-kernel). For example, unlike traditional “socket” based communication, disclosed embodiments can transfer data directly between the kernel and user space domains. Direct transfer reduces the per-byte and per-packet costs relative to socket based communication. A user space networking stack is disclosed that enables extensible, cross-platform-capable, user space control of the networking protocol stack functionality. The user space networking stack facilitates tighter integration between the protocol layers (including TLS) and the application or daemon. Exemplary systems can support multiple networking protocol stack instances (including an in-kernel traditional network stack).
LOAD BALANCING A TCP CONNECTION ACROSS MULTIPLE PATHS
A source of a transmission control protocol (TCP) connection includes a processor to establish the TCP connection based on a TCP source port number and a TCP destination port number associated with a destination. The processor also generates a TCP shim header including the TCP source port number and the TCP destination port number. The processor further generates a plurality of TCP headers including a plurality of proxy port numbers and a shim port number that indicates the TCP shim header. The source also includes a transceiver to transmit a plurality of packets comprising the plurality of TCP headers and the TCP shim header. The destination of the TCP connection includes a processor configured to establish the TCP connection and a transceiver to receive the plurality of packets via the TCP connection.
Adaptive session reliability over multiple transports
Methods, systems, and computer-readable media for providing reliable switching between different transport protocols (e.g., TCP and UDP) are presented herein. In some embodiments, a computing platform may stop transmission over a transport protocol. Subsequently, the computing platform may synchronize buffers between a client and a host. For example, the buffer may include acknowledgments for undelivered reliable packets between the client and the host. Next, the computing platform may resume transmission over a different transport protocol. In some embodiments, when establishing an initial connection between a client and a host, connections may be attempted in parallel over multiple transport protocols. After a connection over a first transport protocol is established, if a connection is later established over a second transport protocol, the connection may be transitioned to the second transport protocol. Also, ticketing semantics may be preserved in the switch between the different transport protocols.
System and Method for Improving Content Fetching by Selecting Tunnel Devices
A method for fetching a content from a web server to a client device is disclosed, using tunnel devices serving as intermediate devices. The tunnel device is selected based on an attribute, such as IP Geolocation. A tunnel bank server stores a list of available tunnels that may be used, associated with values of various attribute types. The tunnel devices initiate communication with the tunnel bank server, and stays connected to it, for allowing a communication session initiated by the tunnel bank server. Upon receiving a request from a client to a content and for specific attribute types and values, a tunnel is selected by the tunnel bank server, and is used as a tunnel for retrieving the required content from the web server, using standard protocol such as SOCKS, WebSocket or HTTP Proxy. The client only communicates with a super proxy server that manages the content fetching scheme.
REST API provided by a local agent to detect network path of a request
Systems and methods implemented by a user device include receiving a request, from an application executed on the user device, to identify a network path for a destination; determining the network path to the destination including ports, addresses, and inline proxies; and providing details of the network path to the application.
METHOD AND APPARATUS FOR PROCESSING DATA
The present disclosure provides a method and an apparatus for processing data. The method includes: establishing a data connection between a local service and a Web client, receiving data that the Web client transmits to the local service through the data connection; and storing the received data to the designated local storage space.
SYSTEM AND METHOD FOR LAUNCHING AND CONNECTING TO A LOCAL SERVER FROM A WEBPAGE
A system comprising a processor and a computer readable memory coupled to the processor, the computer readable memory configured with a page processable by page processing code. The page can be configured to generate a set of random connection data usable by a local server program instance to verify that a connection request is from the page, launch the local server program instance, provide the set of random connection data to the local server program instance, create a client socket instance, send a connection request to the local server program instance to establish a connection between the client socket instance and a server socket instance of the server program instance and based on an acceptance of the connection request by the server program instance, complete the connection. The connection may be usable for bi-directional communication between the page and local server program instance.
Scalable sockets for QUIC
A system having scalable sockets to support User Datagram Protocol (UDP) connections identifies a plurality of UDP connections, wherein a plurality of remote clients connect to corresponding ones of the plurality of UDP connections. Each one of a plurality of UDP sockets is associated with a corresponding one of the plurality of UDP connections. A network stack lookup for UDP packets in network traffic is performed using a network stack to identify the UDP socket corresponding to the remote client associated with each of the UDP packet. The UDP packets are buffered with a send buffer and a receive buffer for the UDP socket corresponding to the remote client associated with the UDP packets as determined by the network stack lookup to support communication over the plurality of UDP connections using the plurality of UDP sockets. The system thereby operates more efficiently and/or is more scalable.
System and method for launching and connecting to a local server from a webpage
A system comprising a processor and a computer readable memory coupled to the processor, the computer readable memory configured with a page processable by page processing code. The page can be configured to generate a set of random connection data usable by a local server program instance to verify that a connection request is from the page, launch the local server program instance, provide the set of random connection data to the local server program instance, create a client socket instance, send a connection request to the local server program instance to establish a connection between the client socket instance and a server socket instance of the server program instance and based on an acceptance of the connection request by the server program instance, complete the connection. The connection may be usable for bi-directional communication between the page and local server program instance.
Network packet processing method and apparatus and network server
The application discloses a network packet processing method and a network server. The method discloses that a network apparatus receives a first TCP packet sent by a client, where the first TCP packet includes a first quintuple and then the network apparatus determines a first thread that processes the first TCP packet according to the first quintuple and processes the first TCP packet by using the first thread.