Packet allocation schema for 3G and 4G routers

Methods and systems that facilitate allocating a transmission of data over multiple wireless links using an allocation server is provided. An indication of a first and second endpoint is received. An indication of a plurality of wireless links between the first and second endpoints is also received. The plurality of wireless links transmit data via an information network that includes an allocation server that monitors the packets of data transmitted via the plurality of wireless links. Such monitoring reveals whether one or more of the wireless links satisfies a threshold based on one or more of an amount of latency, jitter, and dropped packets between the first and second endpoints. Based on satisfying a threshold, one or more packets of data are allocated by the allocation server.

SUMMARY

A high-level overview of various aspects of the invention is provided here to introduce a selection of concepts that are further described in the detailed-description section below. This summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in isolation to determine the scope of the claimed subject matter. In brief and at a high level, this disclosure describes, among other things, a method of facilitating the transmission of data between two endpoints over multiple wireless links. An allocation server application and protocols facilitates the transmission of data in real-time between two endpoints using multiple wireless links over an information network. In one embodiment, an allocation server monitors the transmission of data between the modems on each end, and dynamically allocates packets of data across different links in order to reduce the overall delay in transmission, and minimize other adverse impacts on transmission quality.

DETAILED DESCRIPTION

The subject matter of the present technology is described with specificity herein to meet statutory requirements. However, the description itself is not intended to define what we regard as our invention, which is what the claims do. The claimed subject matter might be embodied in other ways to include different steps or combinations of steps similar to the ones described in this document, in conjunction with other present or future technologies. Moreover, although the term “step” or other generic term might be used herein to connote different components or methods employed, the terms should not be interpreted as implying any particular order among or between various steps disclosed herein, unless and except when the order of individual steps is explicitly described.

Embodiments of the invention provide systems, methods, and computer-readable media for facilitating the transmission of data over multiple wireless links using an allocation server. This may be especially useful for the real-time transmission of large amounts of data, such as a live video feed, which can be interrupted by delay, jitter, and/or dropped packets that are caused during a traditional wireless transmission. The allocation server may facilitate the transmission of data in real-time between two multiplexing devices and/or edge routers using multiple modems over an information network. The two multiplexing devices and/or edge routers may report their credentials to the allocation server, which monitors the transmission of data between multiple modems. The allocation server may dynamically direct and/or allocate packets of data across different wireless links based on the monitored data flow satisfying one or more thresholds in order to reduce the impact on the data stream by multipath delay, jitter, and dropped packets.

Throughout this disclosure, several acronyms and shorthand notations are used to aid the understanding of certain concepts pertaining to the associated system and services. These acronyms and shorthand notations are solely intended for the purpose of providing an easy methodology of communicating the ideas expressed herein and are in no way meant to limit the scope of the invention. The following is a list of these acronyms:3G Third-Generation Wireless Technology4G Fourth-Generation Cellular Communication SystemCD-ROM Compact Disk Read Only MemoryCDMA Code Division Multiple AccessGPRS General Packet Radio ServiceGSM Global System for Mobile communicationsDVD Digital Versatile DiscsEEPROM Electronically Erasable Programmable Read Only MemoryEVDO Evolution Data OptimizedIP Packets Internet Protocol PacketsLTE Long Term EvolutionOSI model Open Systems Interconnection modelRAM Random Access MemoryROM Read Only MemorySLA Service Level AgreementTDMA Time Division Multiple AccessWLAN Wireless Local Area NetworkBNC Base Network ControllerRNC Radio Network ControllerPDSN Packet Data Service NodeHA Home Agent

Further, various technical terms are used throughout this description. An illustrative resource that fleshes out various aspects of these terms can be found in Newton's Telecom Dictionary by H. Newton, 25th Edition (2009).

Accordingly, in one aspect, the present invention is directed to computer-readable media having computer-executable instructions embodied thereon that, when executed by a computing device, facilitate a method of allocating a transmission of data over multiple wireless links using an allocation server. The method comprises: receiving an indication of a first endpoint; receiving an indication of a second endpoint; receiving an indication of a plurality of wireless links between the first and second endpoints; monitoring data transmitted via the plurality of wireless links, wherein the data comprises a plurality of packets of data; and based on monitoring said data, allocating one or more of the plurality of packets of data.

In another aspect, embodiments of the present invention are directed to computer-readable media having computer-executable instructions embodied thereon that, when executed by a computing device, facilitate a method of allocating a transmission of data over multiple wireless links using an allocation server. The method comprises: receiving an indication of a first endpoint; receiving an indication of a second endpoint; receiving an indication of a plurality of wireless links between the first and second endpoints, wherein each of the plurality of wireless links comprises a data stream having a plurality of packets of data; monitoring each data stream, wherein said monitoring comprises receiving information regarding one or more of the following data stream characteristics: an amount of jitter between the first and second endpoints; an amount of packet loss between the first and second endpoints; and an amount of latency between the first and second endpoints; determining that at least one data stream characteristic satisfies a threshold, wherein at least one data stream characteristic that satisfies a threshold is associated with a transmission of a plurality of packets across a first wireless link; identifying a second wireless link; and allocating one or more of the plurality of packets of data from the first wireless link onto the second wireless link.

In yet another aspect, embodiments of the present invention are directed to a system for allocating a transmission of data over multiple wireless links. The system comprises: a first endpoint; a second endpoint; and an information network coupled to the first and second endpoints, wherein the information network comprises an allocation server that monitors one or more items of data transmitted across one or more of a plurality of wireless links between the first and second endpoints, wherein the allocation server allocates at least one of the one or more items of data, wherein allocating of at least one of the one or more items of data is based on one or more data stream characteristics.

Referring to the drawings in general, and initially toFIG. 1in particular, a block diagram of an illustrative wireless device according to one embodiment is provided and referenced generally by the numeral100. Although some components are shown in the singular, they may be plural. For example, wireless device100might include multiple processors or multiple communications components, etc. As illustratively shown, wireless device100includes a bus110that directly or indirectly couples various components together including memory112, a processor114, a wireless communications component116, a radio frequency component118, input/output ports120, I/O components122, and a power supply124. While we refer to the device as a wireless device, in some embodiments, the device may actually communicate across an information network with both wired and wireless components. For example, when a wireless device transmits data across a number of system components, such as a router, a modem, or a multiplexer, it may actually be a wired device, and thus additional components may be needed for a wired device. Both wireless and wired devices are contemplated to be within the scope of the present invention.

Memory112might take the form of memory components previously described. Thus, further elaboration will not be provided here, only to say that memory component112can include any type of medium that is capable of storing information (e.g., a database). A database can be any collection of records. In one embodiment, memory112includes a set of embodied computer-executable instructions112A that, when executed, facilitate various aspects disclosed herein. These embodied instructions will variously be referred to as “instructions” or an “application” for short. Processor114might actually be multiple processors that receive instructions112A and process them accordingly.

The wireless communications component116, in one embodiment, is a radio that facilitates communication with a wireless telecommunications network. Illustrative wireless telecommunications technologies include CDMA, GPRS, GSM, LTE, and the like. In some embodiments, the wireless communications component116might also facilitate other types of wireless communications including Wi-Fi communications and GIS communications and communications that utilize a WLAN. As can be appreciated, in various embodiments, wireless communications component116can be configured to support multiple technologies and/or multiple radios can be utilized to support multiple technologies. For example, a radio of a communications device can operate to support CDMA as well as LTE, for example, to transmit voice and data.

Radio frequency component118transmits signals of different frequencies and receives data from mobile devices that pick up on these signals. The power supplied to the radio frequency component118may dictate the range of the wireless device such that the greater the power, the larger the range where mobile devices may be detected.

Input/output port120might take on a variety of forms. Illustrative input/output ports include a USB jack, stereo jack, infrared port, proprietary communications ports, Ethernet interface, and the like. Input/output components122include items such as keyboards, microphones, speakers, touch screens, and any other item usable to directly or indirectly input data into wireless device100. Power supply124includes items such as batteries, fuel cells, solar panels, or any other component that can act as a power source to wireless device100.

Turning now toFIG. 2, an exemplary network environment suitable for use in implementing embodiments of the present invention is illustrated and designated generally as network environment200. Network environment200is but one example of a suitable network environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the network environment be interpreted as having any dependency or requirement relating to any one or combination of components illustrated.

Embodiments of network environment200include a first device210that transmits data via a first router212. First device210may be any type of device that generates or transmits data. For example, first device210may be a video camera device that generates data, such as packets of data, for transmission in network environment200. Embodiments of the invention facilitate the real-time, wireless transmission of data from a first device210. Although depicted as two separate components inFIG. 2, first device210and first router212may be referred to as a single entity, namely, a first endpoint236. In some embodiments, first endpoint236performs the functions of both a first device210and a first router212in that data is directed from first endpoint236without needing a separate routing device. As such, first endpoint236may include a first device210that transmits data directly to a multiplexer214. Accordingly, the term “first endpoint”236may be used to refer to a first device210, a first router212, or a combination of both. Additionally, the term “endpoint,” with reference to a first or second end, may be used to generally refer to a local or remote device, or the beginning and ending point of data flow, without limitation to the type of devices at each end or the number of devices needed to facilitate data flow between the two endpoints.

Data from first endpoint236is directed across multiple data streams using multiplexer214. Multiplexer214may also be referred to as a “mux.” As previously discussed, in some embodiments, first device210may be coupled directly to multiplexer214, without a separate first router212. Accordingly, a first endpoint236may be coupled to a multiplexer214that divides streams of data across multiple wireless links.

In the example ofFIG. 2, multiplexer214divides data transmitted from first endpoint236into multiple data streams using wireless modems216,218, and220. Accordingly, wireless modems216,218, and220transmit data across information network222. The term “wireless modem” refers to a modem that transmits data wirelessly and does not limit the modem itself from having both wired and wireless components. For example, a wireless modem may have a wired connection to multiplexer214while transmitting data wirelessly across information network222. AsFIG. 2is only one exemplary embodiment of the invention, network environment200may include any number of wireless modems used to divide a stream of data from first endpoint236. Additionally, any amount of packets of data may be transmitted via modems216,218, and220. In other words, data generated by first device210need not be divided evenly among any particular number of wireless modems for transmission across information network222.

In embodiments, each wireless modem coupled to multiplexer214transmits data across wireless links224,226, and228to multiplexer230. For example, wireless modem216transmits data across wireless link224to multiplexer230. However, it should be understood that wireless links224,226, and228do not imply a dedicated connection between modems wireless modems216,218, and220, to multiplexer230, but simply indicate the wireless transmission between two points. In other words, wireless links224,226, and228may include more than one path as data travels between two points, such as between multiplexer214and multiplexer230. In further embodiments, wireless modems216,218, and220may transmit data directly to multiplexer230, without the need for additional modems.

Information network222may be any type of wireless network that transmits data, and may utilize one or more types of wireless network technologies, such as 3G and/or 4G. By way of example only, and not limitation, information network222may utilize CDMA, GSM, and/or LTE technologies for wireless transmission of data. As will be understood by one skilled in the art, information network222may be associated with any number of wired and/or wireless components to transmit data across a wireless link between two endpoints. As such, information network222is not limited to only wireless components when transmitting data across one or more wireless links. Using information network222, data is transmitted from wireless modems216,218, and220to multiplexer230across wireless links224,226, and228. As will be understood, embodiments of the invention utilize any combination of multiple networks, such as wireless information network222, including any combination of modems, wireless or wireline connections, different types of networks (e.g. LTE, CDMA, WiMAX, and LTE).

Information network222includes an allocation server240, having an application242. As will be discussed in detail below, allocation server240monitors the flow of data across wireless links230,232, and234. In some embodiments, the number of IP packets and/or data packets transmitted across each of the wireless links224,226, and228varies according to a determination by allocation server240. For example, execution of application242on allocation server240may direct packets of data from wireless link230to wireless link232based on satisfying a particular threshold. Accordingly, the terms “allocate,” “direct,” “redirect” or “allocating” may be used, in some embodiments, to refer to the movement of packets of data from one wireless link to another wireless link based on a satisfying one or more thresholds. In embodiments, a data may be intelligently allocated across a plurality of wireless links as a result of satisfying a threshold for data flow. Accordingly, embodiments of the invention include an allocation server that monitors the flow of data across multiple wireless links and determines which packets of data to transmit across which wireless links in light of the various factors affecting each wireless link (e.g. latency, jitter, and dropped packets). In another embodiment, one or more multiplexers may perform the functions of the allocation server, and determine which data items to transmit across which wireless links, using thresholds for each wireless link with respect to the jitter, latency, and dropped packets occurring on each link. As such, an allocation server240may exist within one or both of the multiplexers (the multiplexer and multiplexer) of the network environment200, and one or both of the multiplexers may perform the function of monitoring the flow of data across multiple wireless links and determining which packets of data to transmit across which wireless links, in light of the various factors affecting each wireless link.

Multiplexer230receives data from wireless links224,226, and228, and directs the data via second router232to second device234. Second device234and second router232may be referred to as a single entity, namely, a second endpoint238. In some embodiments, second endpoint238performs the functions of a second device234and a second router232. In other embodiments, second endpoint238includes a second device234that receives data directly from a multiplexer230.

In some embodiments, second router232receives data from information network222(via multiplexer230) in the original order as initially transmitted from first endpoint236, and prepares the data for presentation to second device234. Second device234may be any device for receiving and/or displaying data. For example, second device234may be a monitor that displays data transmitted from first device210. In the example where first device210is a video camera transmitting video data using multiple wireless links, second router232acts as a receiving router that reassembles the packets of data transmitted across information network222into the correct order.

Streams including multiple packets of data are transmitted from first endpoint236across multiple wireless links224,226, and228in information network222. As part of the direction across multiple wireless links, packets from each of those streams of data may be allocated and/or distributed among one or more wireless links, and the original order of the data packets from first endpoint236may become altered during wireless transmission. Accordingly, packets of data arriving at multiplexer230and second router232may be re-arranged into the original order as initially transmitted from first endpoint236, prior to presentation by second device234. As such, data is wirelessly transmitted from first endpoint236to second endpoint238across multiple wireless links in information network222, while being directed by allocation server240. In embodiments, multiplexer230receives data directly from wireless links224,226, and228, and re-sequences the packets into the original order as transmitted from first endpoint236.

Returning now to the monitoring of data flow by allocation server240, a number of variables may impact the quality of a wireless transmission across multiple wireless links between first and second endpoints236and238. For example, signal strength, signal-to-noise ratio, the amount of noise affecting a signal, the type of modem, the number of devices logged onto the tower, atmospheric conditions (including temperature, humidity, and sun changes), materials between the wireless device and the modem and/or between an antenna and a tower, the amount of backhaul load from an antenna into a tower, signaling capacity, subscribers attached to the network, towers and various paths of towers associated with a transmission, and a variety of additional variables can all impact the quality of a wireless transmission. Such variables may affect the overall increase/decrease in dropped packets, increase/decrease in jitter, and/or increase/decrease in latency between packets. Accordingly, the amount of latency, jitter, and packet loss for a transmission across multiple links can be varied and unpredictable.

Latency generally refers to the amount of time delay between the time a packet is sent by the sender and when the same packet is received at the far end of a communication path, while jitter refers to the variation in the interval between packets compared to a constant value. Latency may also occur due to the speed of light, serialization (the amount of time a packet takes to get from one interface on an element, such as a router, to another interface on the same element, such as from a T1 interface to an Ethernet interface), and the speed of electrons across copper wire. With jitter, a resultant transmission of video data, for example, can be full of artifacts, drop-outs, and, thus, an unacceptable viewing experience. According to the present invention, transmission of data within information network222is optimized by allocation server240in light of variable latency, variable jitter, and variable packet loss.

Data is divided by multiplexer214across multiple wireless links224,226, and228, in information network222. In embodiments, in order to decrease the impact caused by the amount of delay, jitter, and packet loss for a transmission across multiple links, allocation server240allocates packets of data across one or more wireless links in information network222, such as wireless links224,226, and228. For example, packets of data allocated to wireless link224may be reallocated to transmit across wireless link226based on satisfying one or more thresholds for the data transmitted across each wireless link. In one embodiment, allocation server240monitors the stream of data flowing across multiple wireless links in information network222in order to determine where to allocate one or more data packets. In further embodiments, allocation server240monitors the flow of data across wireless links224,226, and228via one or more signaling channels.

Data is directed by allocation server240based on satisfying a predetermined threshold for data flow. Accordingly, such thresholds may be characterized by the type of data being monitored, the speed with which streams of data should be flowing across wireless links, the number of packets permitted for optimization of a particular variable (latency, jitter, dropped packets, etc.). In one embodiment, when the flow of traffic slows on wireless link224such that the overall delay of the transmission from the first device210satisfies a particular threshold, then a number of packets of data may be allocated by allocation server240from wireless link224onto wireless link226. In other words, due to satisfying a threshold for latency between wireless modem216and multiplexer230, one or more data items may be allocated to flow between wireless modems218and multiplexer230. In one embodiment, allocation server240controls the allocation of packets of data via multiplexer214, as associated with first endpoint236.

In one example, the data flow across various wireless links may vary based on the unidirectional flow of one or more data streams. Accordingly, the corresponding threshold for a particular wireless link may vary based on the direction of data flow. For example, there may be one set of upstream thresholds for data travelling from wireless modem216to multiplexer230, and a separate set of downstream thresholds for data travelling from multiplexer230to wireless modem216. In embodiments, an upstream data flow refers to the flow of traffic across the wireless network from a local device to a remote destination. In further embodiments, a downstream data flow refers to the flow of traffic across the wireless network from a remote destination to a local device. As such, embodiments of the invention may adjust to accommodate the asymmetrical data flow between two endpoints. In one example, allocation server240may allocate data based on latency, jitter, dropped packets, upstream data flow characteristics, and/or downstream data flow characteristics, as it pertains to the corresponding thresholds for each. Further, due to the asymmetrical nature of the flow of data across the wireless network in both upstream and downstream directions, a threshold for one characteristic (such as a latency threshold) may be different for different modems, and for different directions of data flow (upstream or downstream).

In another example, wireless links224,226, and228have different capabilities for the transmission of data in a wireless environment, such as wireless information network222. For example, if link224has an 800 kB capacity, link226has a 500 kB capacity, and link228has a 1.2 MB capacity at a given point in time, the characteristics of data transmitted across each link will vary, such as the amount of latency, jitter, and dropped packets. As such, each wireless link associated with wireless information network222may have a different corresponding threshold. Allocation of data flow by allocation server240may also be impacted by the amount of data that needs to be transmitted from first endpoint236to second endpoint238, as well as the amount of variables that need to be decreased and/or optimized.

Accordingly, application242may be utilized by allocation server240to allocate the flow of data across multiple wireless links, based at least on the variables described above. For example, with data flowing from first device210being distributed across multiple wireless links by multiplexer214and received by multiplexer230, information regarding performance characteristics from multiplexer230may be used by allocation server240to allocate data between one or more wireless links. For example, multiplexer230may provide an indication of data flow to allocation server240such that one or more thresholds associated with allocation server240are satisfied. In satisfying such thresholds, a determination may be made to reallocate one or more packets of data, such as speeding up or slowing down data, or moving data from one wireless link to another wireless link.

In another embodiment, because the functions of the allocation server may be performed by one or both of multiplexer214and multiplexer230, allocation across multiple wireless links in information network222may occur automatically based on processing of data by multiplexer214and/or multiplexer230. As will be understood, in some embodiments, the allocation of data flow across the wireless links by allocation server240is performed by the multiplexer214and multiplexer230. Accordingly, the functions of the allocation server240, as performed by multiplexer214and multiplexer230, include the monitoring of data flow between two endpoints, and the analysis of such data flow to determine the best path across multiple wireless links for the data.

In one embodiment, an SLA may be established based on the criteria used and/or thresholds associated with allocation server240. For example, the directing of data by allocation server240may result in a higher-quality transmission from endpoint to endpoint, depending on the data (whether “mission critical” or not, or whether the data being transmitted is time-sensitive). Additionally, allocation of data by allocation server240may enable a more accurate measure of the quality of service in a wireless environment such as information network222, and may maximize network up time, as the network monitoring by allocation server240aids in the management of network communication. Such results of allocation of real-time transmissions across multiple wireless links may provide consistently measurable performance as part of an SLA.

Embodiments of the present invention operate in a serial environment, where data from a first endpoint is transmitted to a second endpoint. Further embodiments of the invention refer to a broadcast environment that transmits a signal from first device210to a plurality of second devices240. Additionally, embodiments of the present invention optimize one or more layers of the OSI Model. For example, allocation server240may have thresholds for data flow that optimize data transport using multiple links (such as wireless links230,232, and234), the flow of data during a particular session, the presentation of data, and an application. Accordingly, allocation server240may optimize the flow of multiple streams of wireless data, using multiple wireless links, and may also incorporate a data rate developer that slows down or speeds up particular modems that may be causing a delay in the overall transmission of the data streamed across multiple links. Further embodiments of the invention include a remote control allocation of data transmission via allocation server240, such as remotely adjusting the speeds of data transmission across wireless links224,226, and228.

Referring next toFIG. 3, an exemplary flow diagram300depicts a method of transmitting data over multiple wireless links using an allocation server. At block310, an indication of a first endpoint is received. At block312, an indication of a second endpoint is received. For example, allocation server240may receive an indication of a first endpoint236and an indication of a second endpoint238. At block314, an indication of wireless links between the first and second endpoints is received. Data transmitted via the wireless links is monitored at block316, and based on such monitoring, one or more packets are allocated at block318. For example, allocation server240may receive an indication of a plurality of wireless links between two endpoints, and monitor the flow of traffic accordingly.

Turning next toFIG. 4, an exemplary flow diagram400depicts a method of transmitting data over multiple wireless links using an allocation server. Indications of a first and second endpoint are received at block410and412. At block414, an indication of a plurality of wireless links between first and second endpoints is received. At block416, streams of data transmitted via the plurality of wireless links is monitored. For example, allocation server240may monitor streams of data across a plurality of wireless links between two endpoints. A determination is made at block418regarding whether at least one characteristic of a data stream satisfies a threshold. For example, it may be determined that one data stream between the first and second endpoints satisfies a particular threshold value for an amount of latency, and as a result, one or more packets of data from the data stream may need to be allocated across a different wireless link. Accordingly, at block420, one or more packets from the data stream that satisfy the threshold are allocated to a different wireless link, at block420. If it is determined that no characteristics of the data stream satisfy the threshold, at block418, then the method may return to the monitoring of block416.

Referring next toFIG. 5, an exemplary network environment suitable for use in implementing embodiments of the present invention is illustrated and designated generally as network environment500. Network environment500is but one example of a suitable network environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the network environment be interpreted as having any dependency or requirement relating to any one or combination of components illustrated.

Embodiments of network environment500include a remote site510, a source512, a multiplexer514, a plurality of modems516,518,520, and522, receiving components524and526, wireless network528, access device530, controller532, distribution device534, node536, agent538, multiplexer540, internet542, host site544, router546, and host548. In embodiments, data from remote site510is transmitted across multiple wireless links in wireless network528, to host548. As described above, multiplexer514may transmit data across the plurality of modems516,518,520, and522such that the transmission is optimized in light of latency, jitter and dropped packets. As will be understood, network environment500may include any number of elements that provide the same functionality described in the example ofFIG. 5. Accordingly, there may be any number of modems that facilitate the transmission of data across multiple wireless links in wireless network528.

Receiving components524and526are base stations or any other device that facilitates communication between a remote site510and a wireless network528. In the example ofFIG. 5, data from source512is transmitted via multiplexer514. Source512may be any type of device that generates or transmits data. For example, source512may be a video camera device that generates data, such as packets of data, for transmission in a wireless network528.

In the example ofFIG. 5, multiplexer514divides data transmitted from source512into multiple data streams using wireless modems516,518,520, and522. AsFIG. 5is only one exemplary embodiment of the invention, wireless network528may include any number of devices to transmit data across a plurality of wireless links. For example, wireless network may include an access device530and a distribution device534, as two of several elements within the network528. Additionally, as will be understood, the network528and internet542may be combined into a single unit that wirelessly transmits data.

Access device530includes a controller532. Also within the wireless network528is a distribution device534, which may include a node536, an agent538, and a multiplexer540. As discussed above, multiplexer540may receive multiple streams of data transmitted across wireless network528. In embodiments, multiplexer514and multiplexer540perform the functions, either alone or in combination, of an allocation server. As such, in one embodiment, multiplexer514and multiplexer540monitor the flow of data across multiple wireless links between the source512and the host548, determine whether one or more thresholds have been satisfied, and route and/or direct data accordingly. In further embodiments, multiplexer540receives multiple streams of data transmitted across multiple wireless links, and organizes the data into the original order as initially transmitted form source512.

In embodiments, data is transmitted to host site544across a plurality of wireless links via wireless network528and internet542. Host site544may include a router546that receives the incoming data stream, and a host548, which is the intended recipient of the data transmitted from source512.

Referring finally toFIG. 6, an exemplary network environment suitable for use in implementing embodiments of the present invention is illustrated and designated generally as network environment600. Network environment600is but one example of a suitable network environment and is not intended to suggest any limitation as to the scope of use or functionality of the invention. Neither should the network environment be interpreted as having any dependency or requirement relating to any one or combination of components illustrated.

Embodiments of network environment600include a remote site610, a source612, a multiplexer614, a plurality of modems616,618,620, and622, receiving components624and626, wireless network628, tower aggregation component630, distribution component632, multiplexer634, internet636, host site638, router640, and host642. In embodiments, data from remote site610is transmitted across multiple wireless links in wireless network628, to host638. As described above, multiplexer614may transmit data across the plurality of modems616,618,620, and622, such that the transmission is optimized in light of latency, jitter and dropped packets. As will be understood, network environment600may include any number of elements that provide the same functionality described in the example ofFIG. 6. Accordingly, there may be any number of modems that facilitate the transmission of data across multiple wireless links in wireless network628.

Receiving components624and626may be base stations or any other device that facilitates communication between a remote site610and a wireless network628. In the example ofFIG. 6, data from source612is transmitted via multiplexer614. Source612may be any type of device that generates or transmits data. For example, source612may be a video camera device that generates data, such as packets of data, for transmission in a wireless network628.

In the example ofFIG. 6, multiplexer614divides data transmitted from source612into multiple data streams using wireless modems616,618,620, and622. AsFIG. 6is only one exemplary embodiment of the invention, wireless network628may include any number of devices to transmit data across a plurality of wireless links. For example, wireless network may include a tower aggregation component620and a distribution component632, as two of several elements within the wireless network628. In further embodiments, tower aggregation component630may transmit data within wireless network628without the need for an additional distribution component632, and may transmit data directly or indirectly to multiplexer634. As such, embodiments of network environment600include a plurality of additional devices that facilitate the transmission of data between the tower aggregation component620and the distribution component632. Additionally, as will be understood, the wireless network628and internet636may be combined into a single unit that wirelessly transmits data, as the internet636may be incorporated into wireless network628.

In some embodiments, tower aggregation component630includes a controller, such as a BNC and/or RNC device. Further embodiments of wireless network628may include a distribution component632, which incorporates or is separate from multiplexer634. As discussed above, multiplexer634may receive multiple streams of data transmitted across wireless network628. In embodiments, multiplexer614and multiplexer634perform the functions, either alone or in combination, of an allocation server. As such, in one embodiment, multiplexer614and/or multiplexer634monitor the flow of data across multiple wireless links between the source612and the host642, determine whether one or more thresholds have been satisfied, and allocate and/or direct data accordingly. In further embodiments, multiplexer634receives multiple streams of data transmitted across multiple wireless links, and organizes the data into the original order as initially transmitted form source612.

In embodiments, data is transmitted to host site642across a plurality of wireless links via wireless network628and internet636. Host site638may include a router640that receives the incoming data stream, and a host642, which is the intended recipient of the data transmitted from source612.