In a typical wireless network a central control device referred to as a “radio network controller” (RNC) is used to transmit data frames making up a data stream to a number of distributed base transceiver stations (BTSs). In turn, each BTS transmits the data frames to a number of wireless devices/users that are within the transmission range of a given BTS.
As is well known there now exists many applications that may be used in conjunction with wireless devices. Such wireless devices include, for example, wireless telephones, smartphones and tablets. The applications may involve streams of audio and video data frames. Within a given application, specific data frames representing so-called “isochronous” events (e.g., recurring events) are typically transmitted by an RNC, and received by a BTS/wireless device, in a proper sequence and at a specific time in order for the application to function appropriately. To ensure that data frames are received in the proper sequence and at the correct time by a wireless device, an RNC typically “schedules” the transmission of each data frame associated with an isochronous event.
Recently, there is a trend towards designing “cloud-based” systems. Such a system may consist of a number of connected high-speed, high data capacity servers. Even more recently there has been discussions within the wireless communications industry to design and install cloud-based RNCs. In such a wireless network the functions of many RNCs may be centralized into a single cloud-based RNC, for example. The single cloud-based RNC may in turn comprise one or more servers, for example.
There are many challenges to be met and technical issues to be solved in order to “move” RNCs “into the cloud”. One such challenge relates to the scheduling of data frames associated with a wireless application's isochronous events. In particular, many times a wireless application involves so-called communications. In general, real-time communications require that the effects of transmission “delays” be removed or corrected before an isochronous data frame can be transmitted using traditional scheduling techniques. For example, losing portions of a received wireless video stream may cause perceived quality degradations on a tablet or smartphone. In such a circumstance the recipient of the video is acutely aware of the lost frames due to delays and the like because the video may seem distorted. Delays which cause frames to be lost or dropped may be caused by any number of physical phenomena that occur within a communications channel, and by inaccuracies/limitations introduced by the equipment which is transmitting or receiving such communications. Various techniques have been developed and implemented in traditional RNCs to offset the effects of delay in order to correctly schedule the transmission of real-time audio and video streams.
However, for various reasons these techniques cannot be applied to cloud-based RNCs. For example, cloud-based RNCs will most likely rely upon “non-real time” communications. Typically, networks designed for non-real-time communications function differently than those designed for real-time communications. Thus, many of the traditional techniques used by RNCs to remove or correct the effects of delay cannot be easily applied to cloud-based RNCs.
Accordingly, it is desirable to provide methods and related devices for scheduling the transmission of data frames from cloud-based RNCs.
Exemplary embodiments of methods and systems for transmitting data frames from within a cloud-based system are disclosed.
In one embodiment of the invention, an exemplary method for transmitting one or more data frames, that may be part of an audio or video data stream, from an RNC, or similar device, within a wireless cloud-based system to one or more BTSs may comprise: identifying an instance of time within a schedule to transmit one or more downlink data frames from the wireless cloud system; determining one or more transmission times for the one or more downlink data frames during an associated, transmission time interval; and transmitting, from the wireless cloud system, the one or more downlink data frames to a BTS during the associated transmission time interval based on a determination that one of the determined transmission times substantially ensures the one or more data frames is received within an associated, BTS reception time window. The method further comprising a determination that one of the determined transmission times substantially ensures the one or more data frames are received within an associated base transceiver station reception time window.
In a further embodiment, if it is determined (by an RNC, for example) that the one or more data frames cannot be transmitted within the associated, transmission time interval because none of the determined transmission times is estimated to substantially ensure that one or more of the data frames will be received within the associated BTS reception time window, then the one or more data frames may be transmitted to one or more BTSs during a next transmission time interval.
In a further embodiment, to substantially ensure that the one or more data frames will not be lost or dropped, before the one or more data frames are transmitted during a next transmission time interval, next transmission times may be determined at a next instance of time that the one or more data frames are scheduled for transmission. Upon determining the next transmission times the method may further determine whether one or more of the next transmission times substantially ensures that the one or more data frames will be received within a next BTS reception time window. If so, then the method continues and provides for the transmission of the one or more downlink data frames. If not, the process may be repeated until the one or more data frames can be transmitted within a next BTS reception time window.
In the embodiments set forth above and herein, a particular transmission time interval may overlap with another transmission time interval and a particular BTS reception window may overlap with another BTS reception window.
In an additional embodiment a method may include determining an amount of delay in a channel that will be used to transmit one or more data frames during an associated, transmission time interval, and determining one or more of the transmission times referenced above and herein based at least on a determined amount of delay.
In addition to novel methods, embodiments of the invention include an RNC within a cloud-based system that is operable to complete the methods set forth above. Yet further, the RNC may be within a wireless network, where the network further comprises: one or more BTSs operable to receive one or more transmitted data frames, that may be a part of an audio or video data stream, and transmit the one or more data frames to one or more mobile devices; and one or more mobile devices operable to receive the transmitted one or more data frames from the one or more BTSs.
Additional features and embodiments of the inventions will be apparent from the following detailed description and appended drawings.
Exemplary embodiments (i.e., examples) of methods and related systems for transmitting one or more data frame from within a wireless cloud-based system are described herein in detail and shown by way of example in the drawings. Throughout the following description and drawings, like reference numbers/characters shall refer to like elements.
It should be understood that although specific structural and functional details are discussed herein for purposes of describing the exemplary embodiments, there is no intent to limit the scope of present invention to such embodiments. Practically speaking, it is next to impossible for the inventors to describe each and every variation of the inventive methods and systems. Thus, it should be understood that the exemplary embodiments discussed herein are for illustrative purposes, and that varied, modified, equivalent and alternative embodiments may be implemented without departing from the scope of the present invention.
It should be noted that some exemplary embodiments may be described as processes or methods depicted in a flow diagram. Although the flow diagram may describe the processes/methods as sequential, many of the processes/methods may be performed in parallel, concurrently or simultaneously. In addition, the order of each step within a process or method may be re-arranged. The processes/methods may be terminated when completed, may include additional steps not included in the flow diagram or may correspond to functions, procedures, subroutines, subprograms, etc., completed by a device within a wireless, cloud-based system, for example.
It should be further understood that, although the terms first, second, third, etc. may be used herein to describe various time periods, data frames, etc., the time periods, data frames, should not be limited by these terms. Such terms are used to distinguish one time frame, data frame, etc., from another. For example, a first time frame could be termed a second time frame, and, similarly, a second time frame could be termed a first time frame without departing from the scope of disclosed embodiments. As used herein, the term “or” includes any and all combinations of one or more of associated or listed items. As used herein, the singular forms “a,” “an” and “the” are not intended to include the plural form, unless the context clearly indicates otherwise.
Turning now to the figures,
In accordance with embodiments of the invention,
As shown the wireless network 1 includes a cloud-based system 2 that includes a plurality of hardware servers 4a through 4N, where “N” is the last server within system 2. In accordance with an embodiment of the invention system 2 may comprise a cloud-based RNC 3. Though the network 1 depicted in
In more detail, referring to
For example, because the scheduled transmission of data frame F21 was delayed from time t10 to time t11 by an amount d11 placing the proposed transmission of data frame F21 outside of the current transmission time interval TTI11 and outside the current reception window RW11 (e.g., it is received at time t15 instead of time t14), the RNC 3 is operable to withhold the transmission of frame F21 until a future, scheduled time. The dashed line labeled NTX1 in
Still referring to
In accordance with some embodiments of the invention, the RNC 3 may be operable to determine whether or not to transmit a given data frame beginning at a current scheduled time and during a current transmission time interval, or to withhold transmission of the data frame until a future scheduled time and transmission time interval. In order to do so, the RNC 3 may be operable to complete a number functions and processes. Referring to the exemplary process set forth in
Suppose, as illustrated in
In some embodiments of the invention, assuming the RNC 3 determines that a particular downlink data frame or frames were not transmitted (step 404), at a next instance of time that a particular data frame or frames may be scheduled for transmission the RNC 3 may be operable to determine next transmission times (step 405) and determine whether one of the next transmission times substantially ensures that a data frame or frames will be received within a next BTS reception time window (step 406). If so, the RNC 3 may be operable to transmit the particular downlink data frame or frames to one or more of the base transceiver stations BTS1, BTS2, . . . BTSN (step 407). If not, the RNC 3 may repeat the above process at each next instance of time that the particular data frame or frames may be scheduled for transmission until such time as the data frame or frames can be transmitted without being lost or dropped.
In an additional embodiment of the invention, in order to determine the transmission times for one or more data frames at a particular instance of time, the RNC 3, or another device within the network 1 that is in communication with the RNC 3, may be operable to determine an amount of delay, caused by transmission equipment for example, that will be used to transmit the particular data frame or frames during an associated, transmission time interval. Upon determining the delay the RNC 3 or other device may be further operable to determine one or more of the associated transmission times based at least on a determined amount of propagation delay.
While exemplary embodiments have been shown and described herein, it should be understood that variations of the disclosed embodiments may be made without departing from the spirit and scope of the claims that follow.