The present invention generally relates to routers. The present invention specifically relates to creating an optimal aggregate bandwidth by a router from multiple broadband sources within a local computer network.
A router is a device that forwards data packets between computer networks, and the amount of information per unit of time that can be exchanged between the router and another device is generally known as bandwidth. For example, in the context of a home or a business, a router may be utilized to forward data packets between a local computer and the Internet at a specified broadband transmission.
Multiple bandwidth sources of varying types may exist within a local computer network at any given time. In particular, a mobile phone or mobile data card in a computer may be added ad hoc to the local computer network and the router can aggregate all of its connected devices, wired and wireless, into a single bandwidth route to a remote computer network. The routing industry is striving to provide new and unique techniques for optimizing such aggregate bandwidth.
In one disclosed embodiment, a local computer network employing a plurality of local computers, and a router having one or more connections to a remote computer network is disclosed. These connection(s) provide for one or more data routes between the local computers and the remote computer network that are managed by the router. In providing for a dynamic access to the remote computer network by any of the local computers, one or more of the connection(s) of the router to the remote computer network includes one or more wireless connections between the local computers and the remote computer network that is independent of the router.
In another disclosed embodiment, a method of operating a router within a local computer network is disclosed. The method involves operatively coupling the router to a plurality of local computers, and connecting the router to a remote computer network for managing one or more data routes between the local computers and the remote computer network. In providing for a dynamic access to the remote computer network by any of the local computers, one of the connections of the router to the remote computer network includes one or more wireless connections between the local computers and the remote computer network that is independent of the router.
The foregoing embodiments and other embodiments of the present invention as well as various features and advantages of the present invention will become further apparent from the following detailed description of various embodiments of the present invention read in conjunction with the accompanying drawings. The detailed description and drawings are merely illustrative of the present invention rather than limiting, the scope of the present invention being defined by the appended claims and equivalents thereof.
For the purposes of promoting an understanding of the principles of the invention, reference will now be made to the embodiments illustrated in the drawings and specific language will be used to describe the same. It will nevertheless be understood that no limitation of the scope of the invention is thereby intended, and alterations and modifications in the illustrated devices and methods, and further applications of the principles of the invention as illustrated therein are herein contemplated as would normally occur to one skilled in the art to which the invention relates.
A router according to the presently disclosed embodiments incorporates common router features (e.g., routing tables, rules, protocols, firewalls, port forwarding, etc.) with a novel routing scheme involving dynamic access by a local computer network (e.g., a local area network or a wide area network) of which the router is a part to a remote computer network (e.g., a local area network or a wide area network) to which the router is remotely connected. In particular, the router combines all the available bandwidth from multiple connections to the remote computer network and allows access by the local computer network to the remote computer network on a selective allocation of the aggregate bandwidth. The dynamic access to the remote computer network is derived from the router using wireless connections of the local computer network independent of the router to the remote computer network. The following description of an exemplary router 10 of the present invention as shown in
Specifically,
In operation, router 10 implements a control unit 11 structurally configured to implement common router features (e.g., routing tables, rules, protocols, firewalls, port forwarding, etc.). A bandwidth management module 12 is incorporated in router 10, either within control unit 11 or working in conjunction with control unit 11, to execute flowchart 40 (
Specifically, as shown in
Upon making a determination of a bandwidth event, module 12 proceeds to a stage S42 of flowchart 40 to determine an aggregate bandwidth of all of the data routes between local computers 20-23 and remote computer network 30 (in some embodiments, module 12 aggregates multiple, but not all, available data routes). The aggregate bandwidth increases for a bandwidth event where a new connection between router 10 and remote computer network 30 has been established (e.g., a new wireless connection between a local computer 23 and remote compute network 30), and conversely decreases for a bandwidth event where an existing connection between router 10 and remote computer network 30 has been terminated (e.g., a disconnection of a wireless connection between a local computer 23 and remote computer network 30). Furthermore, the aggregate bandwidth is adjusted for a bandwidth event where the bandwidth availability of a connection between router 10 and remote computer network 30 has changed. This bandwidth aggregation of stage S42 enables computers 20-23 to operate as if they were all connected to a large bandwidth pipe while being unaware of the multiple data routes with remote computer network 30. As such, computers 23 may be coupled and decoupled to router 10 without any impact to the local computer network, because module 12 dynamically adjusts the size of the available bandwidth as needed.
Upon determining an aggregate bandwidth, module 12 proceeds to a stage S43 of flowchart 40 to allocate the aggregate bandwidth to local computers 20-23 as needed. Generally, module 12 ascertains which connections, particularly wireless connections, should be utilized in an exchange of data packets between local computers 20-23 and remote computer network 30.
In one allocation mode, module 12 executes a load balancing over a portion, if not all, of the available data routes. In another allocation mode, module 12 segregates the aggregate bandwidth into two or more independent bandwidth routes for the selective allocation of one of the bandwidth routes to each data exchange between local computers 20-23 and remote computer network 30. The segregation of the aggregate bandwidth by module 12 is based on one or more predetermined routing parameters that provide for an intelligent use of the aggregate bandwidth. Furthermore, a load balancing technique may be implemented for each bandwidth route including multiple connections to remote computer network 30. A more detailed explanation of stage S41 will now be provided herein with reference to
Specifically,
In order to accomplish this sharing of bandwidth by the local computers coupled to router 50, each of the computers having an external connection to internet 80 are provided with software that enables them to share with router 50 information about the currently-available bandwidth and access parameters that the router 50 will use to aggregate the total available bandwidth and make it available to all of the computers coupled to router 50. This bandwidth is made available as a single connection, such that the devices in the network only need to be aware of the single connection to internet 80 provided by the router 50, and would not need to be aware of the total number of actual connections to internet 80, which number can be dynamically changing while any of the network devices are communicating with internet 80.
Referring to
Still referring to
Another routing parameter that may be utilized by module 12 in segregating aggregate bandwidth A-D may be the type of connection between router 50 and the local computers. For example, as shown in
Another routing parameter that may be utilized by module 12 in segregating aggregate bandwidth A-D may be the mode of connection between router 50 and the computers. For example, as shown in
Another routing parameter that may be utilized by module 12 in segregating aggregate bandwidth A-D may be the latency of the data routes. For example, module 12 may segregate the aggregate bandwidth A-D into a low latency bandwidth route A for each data exchange of video, audio and/or images between router 50 and Internet 80, and a high latency bandwidth route B-D for each data exchange of text and/or database data between router 50 and Internet 80.
Another routing parameter that may be utilized by module 12 in segregating aggregate bandwidth A-D may be the directional flow of data between router 50 and Internet 80. For example, module 12 may segregate the aggregate bandwidth A-D into an upstream bandwidth route A for upstream data exchange from router 50 to Internet 80, and a downstream bandwidth route B-D for each downstream data exchange from Internet 80 to router 50.
Another routing parameter that may be utilized by module 12 in segregating aggregate bandwidth A-D may be the desired security level of the data exchange between router 50 and Internet 80. For example, module 12 may segregate the aggregate bandwidth A-D into a bandwidth route A-B for secure data exchange between router 50 and Internet 80, and a bandwidth route C-D for each unsecure data exchange between router 50 and Internet 80.
Another routing parameter that may be utilized by module 12 in segregating aggregate bandwidth A-D may be the security level of each connection between router 50 and Internet 80. For example, module 12 may segregate the aggregate bandwidth A-D into a bandwidth route A-B for secure connections between router 50 and Internet 80, and a bandwidth route C-D for unsecure connections between router 50 and Internet 80.
Referring again to
While the invention has been illustrated and described in detail in the drawings and foregoing description, the same is to be considered as illustrative and not restrictive in character, it being understood that only the preferred embodiment has been shown and described and that all changes and modifications that come within the spirit of the invention are desired to be protected.
Number | Name | Date | Kind |
---|---|---|---|
5959968 | Chin et al. | Sep 1999 | A |
5995518 | Burns et al. | Nov 1999 | A |
6473424 | DeJager et al. | Oct 2002 | B1 |
6667975 | DeJager et al. | Dec 2003 | B1 |
7653071 | Pannell et al. | Jan 2010 | B1 |
7805156 | Allen et al. | Sep 2010 | B1 |
20030046396 | Richter et al. | Mar 2003 | A1 |
20040001512 | Challener et al. | Jan 2004 | A1 |
20040024906 | Valdevit et al. | Feb 2004 | A1 |
20040039834 | Saunders et al. | Feb 2004 | A1 |
20060072543 | Lloyd et al. | Apr 2006 | A1 |
20070064901 | Baird et al. | Mar 2007 | A1 |
20070180119 | Khivesara et al. | Aug 2007 | A1 |
20080250478 | Miller et al. | Oct 2008 | A1 |
20080259841 | Deshpande | Oct 2008 | A1 |
20090168701 | White et al. | Jul 2009 | A1 |
20100177896 | Walter et al. | Jul 2010 | A1 |
20100188990 | Raleigh | Jul 2010 | A1 |
20100293277 | Rooks et al. | Nov 2010 | A1 |
Entry |
---|
U.S. Appl. No. 12/464,477; Final Rejection dated Apr. 15, 2011; 25 pages. |
U.S. Appl. No. 12/464,477; Non-Final Rejection dated Nov. 17, 2010; 19 pages. |
U.S. Appl. No. 12/464,477; Non-Final Office Action dated Oct. 6, 2011; 10 pages. |
U.S. Appl. No. 12/464,477; Final Office Action dated Mar. 13, 2012; 10 pages. |
U.S. Appl. No. 12/464,477; Non-Final Rejection dated Dec. 24, 2012; 25 pages. |
U.S. Appl. No. 12/464,477 Final Rejection dated Jul. 29, 2013; 66 pages. |
Number | Date | Country | |
---|---|---|---|
20100296437 A1 | Nov 2010 | US |