IP Library Granted Patent US 9,860,156
Granted Patent B2
US 9,860,156 · App. 13/975,852 · Granted Jan 2, 2018

Accessing local network resources in a multi-interface system

Inventors: Nicholas Armstrong (Waterloo, CA); Jakub Schmidtke (Waterloo, CA); Robert Robinson (Waterloo, CA); Severn Tsui (Waterloo, CA)
Assignee: WILMERDING COMMUNICATIONS LLC
H04L45/00H04L29/08072H04L45/24H04W76/022
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,860,156
App. No.
13/975,852
Granted
Jan 2, 2018
Kind
B2
Abstract

A method is provided for selectively routing data packets on a client device having of plurality of network interfaces for communicating over a network. The method comprising the following steps. It is determined if the data packets should be routed to a network server accessible by a corresponding one of the network interfaces to access local resources offered thereon. If the data packets should be routed to the network server, the data packets are routed directly to the network server via the corresponding network interface. Otherwise, the data packets are routed via a default route. A client device configured to implement the method is also provided.

Claims (31)

1. A method for selectively routing data packets from a client device having a plurality of network interfaces to destination server via a proxy server, using the plurality of network interfaces, the method comprising the steps of:

determining if the destination server is a network server accessible by a corresponding one of the network interfaces to access local resources offered thereon, the network server being inaccessible by the proxy server;

if the destination server is the network server, automatically routing the data packets directly to the network server via the corresponding one network interface until it is determined that local resources no longer need to be accessed;

otherwise, routing the data packets to the proxy server via a default route using the plurality of network interfaces.

2. The method of claim 1 , wherein the default route is selected by an operating system executing on the client device based on a number of predefined parameters.

3. The method of claim 1 , wherein the default route is selected by an encapsulation system executing on the client device based on a number of predefined parameters.

4. The method of claim 1 , wherein the step of routing the data packet directly to the network server via the corresponding network interface is performed by executing a dedicated application on the client device for transmitting the data packets, the dedicated application being configured to identify the corresponding network interface.

5. The method of claim 4 , wherein the dedicated application is configured to communicate with a proxy application on the client device based on the corresponding network interface, and the data packets are routed to the corresponding network interface based on the proxy application from which they are received.

6. The method of claim 1 , comprising the further steps of:

inserting a routing address into a header field of the data packets so that they are routed to a routing logic module, which performs the step of determining if the data packets should be routed to the network server; and

modifying the routing address to a virtual interface address for identifying the corresponding network interface so that the data packets can be routed thereto.

7. The method of claim 6 comprising the further step of modifying the virtual interface address to an actual address of the corresponding network interface when the data packet is transmitted from the client device.

8. The method of claim 6 , wherein the header field is a source address field.

9. The method of claim 1 further comprising the steps of:

inserting a routing address into a header field of the data packets so that they are routed to a routing logic module, which acknowledges receipt of the data packet and performs the step of determining how the data packets should be routed to the network server; and

modifying the routing address to a virtual interface address for identifying the corresponding network interface so that the data packets can be routed thereto.

10. A client device having a plurality of network interfaces for transmitting data to a destination server via a proxy server, using the plurality of network interfaces, the client device comprising:

a computer readable medium having stored thereon computer readable instructions configured to selectively route data packets; and

a processor configured to execute the computer readable instructions to implement the steps of:

determining if the destination server is a network server accessible by a corresponding one of the network interfaces to access local resources offered thereon, the network server being inaccessible by the proxy server;

if the destination server is the network server, automatically routing the data packets directly to the network server via the corresponding one network interface until it is determined that local resources no longer need to be accessed;

otherwise, routing the data packets to the proxy server via a default route using the plurality of network interfaces.

11. The client device of claim 10 , wherein the default route is selected by an operating system executing on the client device based on a number of predefined parameters.

12. The client device of claim 10 further including an encapsulation system configured to select the default route based on a number of predefined parameters.

13. The client device of claim 10 further included a dedicated configured to route the data packet directly to the network server via the corresponding network interface, the dedicated application being configured to identify the corresponding network interface.

14. The client device of claim 13 further comprising a proxy application, wherein the dedicated application is configured to communicate with the proxy application based on the corresponding network interface, and the data packets are routed to the corresponding network interface based on the proxy application from which they are received.

15. The client device of claim 10 , wherein the processor is configured to implement the further steps of:

inserting a routing address into a header field of the data packets so that they are routed to a routing logic module, which performs the step of determining if the data packets should be routed to the network server; and

modifying the routing address to a virtual interface address for identifying the corresponding network interface so that the data packets can be routed thereto.

16. The client device of claim 15 , wherein the processor is configured to implement the further step of modifying the virtual interface address to an actual address of the corresponding network interface when the data packet is transmitted from the client device.

17. The method of claim 15 , wherein the header field is a source address field.

Assignments (3)
SECURITY INTEREST Recorded Jan 28, 2020
From: WILMERDING COMMUNICATIONS, LLC
To: CTH LENDING COMPANY, LLC
Reel/Frame 051642/0731 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 16, 2017
From: ARMSTRONG, NICHOLAS; SCHMIDTKE, JAKUB; ROBINSON, ROBERT; TSUI, SEVERN
To: PRAVALA INC.
Reel/Frame 043309/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 2, 2016
From: PRAVALA, INC.
To: WILMERDING COMMUNICATIONS LLC
Reel/Frame 037873/0021 →
Continuity (3)
Continuation 13245423 · Sep 26, 2011
Provisional Application 61386139 · Sep 24, 2010
Related Publication 20140068104A1 · Mar 6, 2014