IP Library Granted Patent US 9,584,406
Granted Patent B2
US 9,584,406 · App. 12/350,460 · Granted Feb 28, 2017

Data path switching

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,584,406
App. No.
12/350,460
Granted
Feb 28, 2017
Kind
B2
Abstract

A method for selecting a data path includes identifying a plurality of available data paths between a router device and a wide area network. Path selection data is obtained. The path selection rules are processed with the obtained path selection data. For each of a plurality of data communications to be routed, one of the plurality of available data paths is selected according to the processing of the path selection rules. Each of the plurality of data communications is routed between a local area network and the wide area network via a data exchanger and a remote link that follows the data path selected for that data communication.

Claims (3)

1. A method for selecting a data path, comprising: identifying a plurality of available data paths between a router device and a wide area network, wherein each of the plurality of available data paths is routed via a service provider such that a first of the plurality of available data paths is routed via a first service provider and a second of the plurality of available data paths is routed via a second service provider; obtaining path selection data; processing path selection rules with the obtained path selection data selecting, for each of a plurality of data communications to be routed, one of the plurality of available data paths according to the processing of the path selection rules and wherein the plurality of data communications to be routed are a plurality of data packets and selecting comprises selecting, for each data packet to be routed, on a packet-by-packet basis, one of the plurality of available data paths according to the processing of the path selection rules; and routing each of the plurality of data communications between a local area network and the wide area network via a data exchanger and a remote link that follows the data path selected for that data communication wherein routing comprises routing each of data packet between the local area network and the wide area network via the data exchanger and a remote link that follows the data path selected for that data packet, wherein obtaining path selection data comprises obtaining path selection data that includes client priority information for a first client and a second client and data and link status information for a first data path and a second data path, and wherein: selecting comprises selecting the first data path for a first subset of the plurality of data packets and a second subset of the plurality of data packets and selecting the second data path for a third subset of the plurality of data packets and a fourth subset of the plurality of data packets, data packets in the first and third subsets originating from the first client and data packets in the second and fourth subsets originating from the second client, a first ratio of a number of the data packets in the first subset compared to a number of the data packets in the second subset and a second ratio of a number of the data packets in the third subset compared to a number of the data packets in the fourth subset being determined according to the processing of the path selection rules; and routing comprises routing each data packet of the first and second subsets between the local area network and the wide area network via the data exchanger and a first remote link that follows the first data path and routing each of data packet of the third and fourth subsets between the local area network and the wide area network via the data exchanger and a second remote link that follows the second data path.

2. A non-transitory computer readable medium having instructions thereon that when executed by a router device cause the router device to implement a method, medium having instructions for: identifying a plurality of available data paths between a router device and a wide area network, wherein each of the plurality of available data paths is routed via a service provider such that a first of the plurality of available data paths is routed via a first service provider and a second of the plurality of available data paths is routed via a second service provider; obtaining path selection data that includes link status information for the first data path and the second data path and includes communication priority information; processing path selection rules with the obtained path selection data; selecting, for each of a plurality of data communications to be routed, one of the plurality of available data paths according to the processing of the path selection rules, the plurality of data communications including a first data communication having a first priority and a second data communication having a second priority, the first data path being selected for the first data communication and the second data path being selecting for the second data communication, and wherein the plurality of data communications to be routed are one of a plurality of data packets and a plurality of communication sessions, the one of the plurality of available data paths being selected for each data communication on a packet-by-packet or a session-by-session basis: and routing each of the plurality of data communications between a local area network and the wide area network via a data exchanger and a remote link that follows the data path selected for that data communication, wherein the first data communication is routed via a first data exchanger and a first remote link that follows the first data path and the second data communication is routed via a second data exchanger and a second remote link that follows the second data path, wherein the communication priority information includes client priority information for a first client and a second client, the plurality of data communications to be routed being the plurality of data packets, and wherein: selecting comprises selecting the first data path for a first subset of the plurality of data packets and a second subset of the plurality of data packets and selecting the second data path for a third subset of the plurality of data packets and a fourth subset of the plurality of data packets, data packets in the first and third subsets originating from the first client and data packets in the second and fourth subsets originating from the second client, a first ratio of a number of the data packets in the first subset compared to a number of the data packets in the second subset and a second ratio of a number of the data packets in the third subset compared to a number of the data packets in the fourth subset being determined according to the processing of the path selection rules; and routing comprises routing each data packet of the first and second subsets between the local area network and the wide area network via the data exchanger and the first remote link that follows the first data path and routing each of data packet of the third and fourth subsets between the local area network and the wide area network via the data exchanger and the second remote link that follows the second data path.

3. A router device, comprising a plurality of data exchanger interfaces, a remote link manager, and a router, wherein: each of the plurality of data exchanger interfaces is configured to provide an interface between the router and a data exchanger coupled to that data exchanger interface; the remote link manager is configured to identify a plurality of available data paths between the router device and a wide area network, wherein each of the plurality of available data paths being routed via a service provider such that a first of the plurality of available data paths is routed via a first service provider and a second of the plurality of available data paths is routed via a second service provider, the remote link manager is further configured to obtain path selection data that includes link status information for the first data path and the second data path and includes communication priority information, and process path selection rules with the obtained path selection data, and select, for each of a plurality of data communications to be routed, one of the plurality of available data paths according to the processing of the path selection rules, the plurality of data communications including a first data communication and a second data communication, the first data path being selected for the first data communication and the second data path being selecting for the second data communication wherein the plurality of data communications to be routed are one of a plurality of data packets and a plurality of communication sessions, the one of the plurality of available data paths being selected for each data communication on a packet-by-packet or a session-by-session basis; and the router is configured to route each of the plurality of data communications between a local area network and the wide area network via a data exchanger and a remote link that follows the data path selected for that data communication, wherein the first data communication is routed via a first data exchanger and a first remote link that follows the first data path and the second data communication is routed via a second data exchanger and a second remote link that follows the second data path, wherein the communication priority information includes client priority information for a first client and a second client, the plurality of data communications to be routed being the plurality of data packets, and wherein: the remote link manager is configured to select the first data path for a first subset of the plurality of data packets and a second subset of the plurality of data packets and to select the second data path for a third subset of the plurality of data packets and a fourth subset of the plurality of data packets, data packets in the first and third subsets originating from the first client and data packets in the second and fourth subsets originating from the second client, a first ratio of a number of the data packets in the first subset compared to a number of the data packets in the second subset and a second ratio of a number of the data packets in the third subset compared to a number of the data packets in the fourth subset being determined according to the processing of the path selection rules; and the router is configured to route each data packet of the first and second subsets between the local area network and the wide area network via the data exchanger and a first remote link that follows the first data path and to route each of data packet of the third and fourth subsets between the local area network and the wide area network via the data exchanger and a second remote link that follows the second data path.

Assignments (9)
RELEASE OF SECURITY INTEREST Recorded Nov 23, 2020
From: SILICON VALLEY BANK
To: CRADLEPOINT, INC.
Reel/Frame 054446/0087 →
RELEASE OF SECURITY INTEREST Recorded Nov 23, 2020
From: SILICON VALLEY BANK
To: CRADLEPOINT, INC.
Reel/Frame 054446/0250 →
SECURITY INTEREST - MEZZ LOAN Recorded Feb 7, 2020
From: CRADLEPOINT, INC.
To: SILICON VALLEY BANK
Reel/Frame 051843/0756 →
SECURITY INTEREST Recorded Oct 10, 2018
From: CRADLEPOINT, INC.
To: SILICON VALLEY BANK
Reel/Frame 047123/0193 →
RELEASE OF SECURITY INTEREST Recorded Feb 13, 2018
From: PACIFIC WESTERN BANK
To: CRADLEPOINT, INC.
Reel/Frame 044909/0528 →
SECURITY INTEREST Recorded Feb 12, 2016
From: CRADLEPOINT, INC.
To: PACIFIC WESTERN BANK
Reel/Frame 037721/0466 →
RELEASE OF SECURITY INTEREST Recorded Nov 28, 2014
From: SILICON VALLEY BANK
To: CRADLEPOINT, INC.
Reel/Frame 034276/0671 →
SECURITY AGREEMENT Recorded Oct 5, 2009
From: CRADLEPOINT, INC.
To: SILICON VALLEY BANK
Reel/Frame 023325/0779 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 14, 2009
From: SEWALL, PATRICK; JOHNSON, DAVID ALAN; WOOD, STEVEN
To: CRADLEPOINT, INC.
Reel/Frame 022952/0459 →