WO2011004219A1 - Method and apparatus for scheduling downloads - Google Patents
Method and apparatus for scheduling downloads Download PDFInfo
- Publication number
- WO2011004219A1 WO2011004219A1 PCT/IB2009/052957 IB2009052957W WO2011004219A1 WO 2011004219 A1 WO2011004219 A1 WO 2011004219A1 IB 2009052957 W IB2009052957 W IB 2009052957W WO 2011004219 A1 WO2011004219 A1 WO 2011004219A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- download
- scheduling
- data transfer
- perform
- download data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/60—Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
Definitions
- Embodiments of the present invention relate generally to wireless communications, and, more particularly, relate to a method and apparatus for scheduling downloads such that reduced power consumption may be obtained.
- Example methods and example apparatuses are described that provide for reduced power consumption by scheduling download data transmissions such that at least a threshold data rate (e.g., a maximum data rate) is expected to be achieved for the download.
- a threshold data rate e.g., a maximum data rate
- some communications e.g., voice calls, web browsing, and the like
- email synchronization particularly attachments such as multimedia attachments
- web content that has been requested to be regularly updated in local memory
- various web service downloads may be performed on a more flexible time schedule, with little or no impact on the user's experience. The timing flexibility available for these types of downloads can be leveraged to minimize battery consumption.
- data transfers that are less time sensitive may be scheduled such that the transfers occur at times when at least the threshold data rate is available.
- a prediction of a time when at least a threshold data rate will be available may be determined and a download data transfer may be scheduled for the predicted time.
- some or all communications circuitry Prior to the predicted time, some or all communications circuitry may be placed in a sleep mode to further minimize power consumption.
- the communications circuitry may be transitioned into an active state and the download data transfer may occur.
- the download in the event that the predicted time does not support the threshold data rate, the download may still be performed or a new predicted time may be determined to further attempt to achieve the download at a high data rate.
- One example embodiment is a method for scheduling downloads.
- the example method includes receiving a download request for a download data transfer.
- the download request may have been generated to retrieve data for an application implemented on user equipment.
- the example method may also include scheduling the download data transfer to achieve at least a threshold data rate for the download data transfer from an access point.
- An additional example embodiment is an apparatus configured for scheduling downloads.
- the example apparatus comprises at least one processor and at least one memory including computer program code.
- the at least one memory and the computer program code may be configured to, with the at least one processor, cause the example apparatus to perform various functionality.
- the example apparatus is caused to perform receiving a download request for a download data transfer.
- the download request may have been generated to retrieve data for an application implemented on user equipment.
- the example apparatus may also be caused to perform scheduling the download data transfer to achieve at least a threshold data rate for the download data transfer from an access point.
- the example computer program product comprises at least one computer-readable storage medium having executable computer-readable program code instructions stored therein.
- the computer-readable program code instructions of the example computer program product are for receiving a download request for a download data transfer.
- the download request may have been generated to retrieve data for an application implemented on user equipment.
- the computer-readable program code instructions may also be for scheduling the download data transfer to achieve a maximum data rate for the download data transfer from an access point
- Another example embodiment is an apparatus for scheduling downloads
- the example apparatus includes means for receiving a download request for a download data transfer
- the download request may have been generated to retrieve data for an application implemented on user equipment
- the example apparatus may also include means for scheduling the download data transfer to achieve at least a threshold data rate for the download data transfer from an access point BRIEF DESCRIPTION OF THE DRAWING(S)
- FIG 1 illustrates a system for scheduling downloads according to various example embodiments of the present invention
- FIG 2 illustrates an apparatus for scheduling downloads according to various example embodiments of the present invention
- FIG 3 illustrates a mobile terminal for scheduling downloads according to various example embodiments of the present invention
- FIG 4 illustrates an example method for scheduling downloads from the perspective of User Equipment (UE) according to various example embodiments of the present invention
- FIG 5 illustrates another example method for scheduling downloads from the perspective of a network entity according to various example embodiments of the present invention
- circuitry refers to all of the following (a) hardware-only circuit implementations (such as implementations in only analog and/or digital circuitry), (b) to combinations of circuits and software (and/or firmware), such as (as applicable) ( ⁇ ) to a combination of processor(s) or (n) to portions of processor(s)/software (including digital signal processor(s)), software, and memory( ⁇ es) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions), and (c) to circuits, such as a
- circuitry would also cover an implementation of merely a processor (or multiple processors) or portion of a processor and its (or their) accompanying software and/or firmware.
- circuitry would also cover, for example and if applicable to the particular claim element, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in server, a cellular network device, or other network device.
- a threshold data rate may be, for example, a maximum data rate for data transfer supported by a UE and/or a access point. Accordingly, a maximum data rate, as described herein may refer to at least a threshold data rate.
- Download data transfers performed at higher data rates consume less energy than the same download data transfer at tower data rates. This is because the power consumption while transferring data at a higher rate is often comparable to the power consumption while transferring data at a slower rate, given equal amounts of time. However, the power consumption of the higher data rate transfer may result in less power consumption because the transmission of a given amount of data is completed in a shorter period of time. Additionally, in an interference- limited system, a UE may achieve higher data rate with higher energy efficiency if the
- transmissions are focused on times when less interference is being generated, for example by other UEs within the range of the access point.
- a UE may transition to a low power consumption sleep mode, which may include shutting down the transmitter or receiver or parts of them, to realize additional power savings.
- a UE may include power control logic that de-energizes certain components (e.g., radios, modem components, and the like) when a sleep mode is implemented, for example by disconnecting the power feed to the particular components.
- the components may be turned off when there is no data receive/transfer activity.
- power consumption may spike and rise above the consumption level had the components remained powered up. As a result, powering down may be viable in situations where the time spent in the sleep mode is sufficiently long to result in a net power savings despite the power up/down consumption spikes.
- example embodiments of the present invention leverage the ability to schedule non-time sensitive downloads at times when high or maximum data rates are achievable to reduce power consumption by UEs by transferring data in a shorter time frame and spending more time in a sleep mode.
- the scheduling of downloads may be managed at the protocol layer, for example by using Transmission Control Protocol (TCP) or application layer.
- scheduling a download data transfer may include determining an amount of data that is slated to be transferred according to the schedule.
- Applications implemented on UEs that download information via an access point may or may not have time sensitivity requirements for the retrieval of the data, either due to the nature of the application, or due to user expectations. For example, applications such as web-browsing and voice calls require near-real time retrieval of data due to user's expectations for convenient use of data and the desire for natural and comfortable conversations with other callers. However, some applications have lesser requirements for the timing of data retrieval. For example, the timing requirements for downloading an automatic update for gaming software installed on a UE may be relatively flexible.
- Similar examples of applications that may have flexible timing for data downloads include video center applications, podcasting subscriptions, image sharing applications, email clients, calendar clients, Really Simple Syndication (RSS) feed reader applications (e.g., news feeds), widest updates, phone application software upgrades, firmware upgrades, Peer-to- Peer (P2P) downloads, address book updates, advertisements, currency exchange rate updates for converter applications, preloaded/frequently used content for browsers, clock synchronizations, catalogs for update applications, network backups, blog and lifeblog updates, map pages and updates, and the like. Further, a progressive video download where high bandwidth
- communication bursts may be followed by periods of inactivity may also provide an example situation where flexible timing of downloads are available.
- the timing of the downloads may be flexible and occur at delayed times, possibly without negatively affecting the user's experience.
- a user may allow particular applications to perform downloads having longer delays to facilitate more efficient battery usage.
- applications may be configured to identify the urgency of a download data transfer and provide that information for use in scheduling downloads.
- the data downloads for these applications need not commence immediately upon generation of a download request, but rather the download may be scheduled to permit the data to be downloaded at a time when higher or maximum data rates are available (e.g., when sufficient network capacity is available to support the higher or maximum data rate). Meanwhile, if no other data downloads are being performed by the UE, the UE may enter a sleep mode. In this manner, a reduction in power consumption associated with the download of the data may be realized, and battery life may be extended.
- the term "scheduling" may refer to not only setting a particular time for an event, but also to selecting criteria that when satisfied allow the event to occur.
- the event is scheduled for a time when particular criteria are satisfied or are predicted to be satisfied.
- a download data transfer may be scheduled to occur at a determined time, or a download data transfer may be scheduled to occur when, for example, the communications load managed by an access point falls below a given threshold.
- FIG. 1 depicts an example wireless communications system according to various example embodiments of the present invention.
- the communications system includes an access point 100 (or cellular base station which in turn is connected to the base station controller) and UEs 110 (e.g., UE 110a and UE 110b).
- the access point 100 may be, for example, a base station of a cellular communications system that provides the UEs 110 with access to the cellular network.
- the access point 100 may include hardware and software to support scheduling download data transfers from the access point 100 to a UE 110.
- the access point 100 may include or be connected to a download scheduling server or other computing device that is configured to facilitate download scheduling.
- the access point 100 need not be configured to support download scheduling, and the UEs 110 may be configured to mange download scheduling without the assistance of the access point 100.
- the UEs 110 may be any type of user operated communications device, such as a mobile terminal.
- the UEs 110 may be configured to implement applications that may have download data transfer needs.
- the applications implemented by the UEs 110 may generate download requests that may be received internally to the UE to initiate a procedure for scheduling download data transfers.
- the download request may be, additionally or alternatively, received from the UE by a network entity (e.g., access point 100).
- Communications connections 115 may be wireless connections that support data transfers between a respective UE 110 and the access point 100. As such, download data transfers from the access point 100 to the UEs 110 may be communicated via the connections 115.
- the UEs 110a and 110b may support peer-to-peer (P2P) communications connections 120 between the UE 110a and the UE 110b.
- the P2P connection 120 may be, for example, a Bluetooth or ad-hoc network connection.
- the UEs 110 may simultaneously share the access point's resources available for downloading the desired data in a manner that reduces the data rate for each UE (assuming each UE requested the same Quality of Service (QoS)).
- QoS Quality of Service
- each UE 110 may experience a slower download data rate due to the other UE's use of the resources, resulting in inefficient power utilization.
- the UEs 110 and/or the access point 100 may determine a time that the download data rate is likely to be high or at a maximum (e.g., when an expected decrease in network traffic is to occur) and the download data transfers may be scheduled for that time.
- the UE 110a may perform a download data transfer at the maximum data rate, while the UE 110b is in a sleep mode, and then the UE 110b may transfer to an active mode at a determined time, and perform a download data transfer at the maximum data rate, while the UE 110a is in a sleep mode.
- the power utilization of the UEs is reduced over the simultaneous resource sharing scenario because both UEs 110 were able to perform their respective download data transfers at a high or maximum data rate and spend the remainder of the time in the sleep mode.
- strict adherence to the determined schedule for download need not be required
- the state of the network at the predicted time when the download data transfer is scheduled to occur may not be optimal due to the partly unpredictable changes in the loading of the network
- the download data transfer may be postponed, and an updated predicted time may be determined
- the download data transfer may be repeatedly postponed and the predicted time may be repeatedly updated
- the download data transfer may be postponed until a maximum relaxed delay period is reached Upon reaching the maximum relaxed delay period, the download data transfer may proceed, for example, regardless of the available data rate
- UEs 110 may receive loading information from the network (e g , from the access point 100) regarding current and expected loading conditions
- a UE 110 may generate and transmit alert requests to the network
- the network may provide associated network loading information or information regarding a change in the attributes of a connection to a UE 110 Alternatively, a UE 110 may query loading information from the network, and, in some example embodiments, the network may provide a prediction about future network loading or the expected duration of the current loading According to some example embodiments, the UEs 110 may receive specific loading information regarding the communications load on the access point 100 Further, in some example embodiments, the UEs 110 may be configured to consider loading data that is directly available to the UEs 110 such as signal-to-noise ratio data, channel free bandwidth data, current download bitrate data, or the like The UEs 110 may be configured to analyze the loading information to determine times when loads are expected to be low and/or times when data rates are expected to be high The UEs 110 may also be configured to determine the amount of data that may be downloaded during the high data rate periods According to various example embodiments, the loading information may include the current data rate of the access point
- the network may schedule the download data transfer
- a UE 110 may transmit a download request to be received by the access point 100
- the access point 100 or another network entity, may analyze the loading information and schedule times and/or amounts of data that would support a high or maximum data rate.
- the indications of the times and/or amounts of data may be transmitted to the UE 110.
- the UE 110 may transition from a sleep mode to an active mode at the scheduled time to support the download data transfer.
- UEs camped under a common access point may negotiate a download schedule.
- UEs 110 may use the P2P connection 120 to negotiate the download schedule for each UE 110 with out impacting the communications load on the access point 100.
- distributed decision making techniques may be utilized to determine the schedule.
- a ranking or equalization scheme may be employed, using, for example, credits, to ensure that the negotiations for scheduled times are not unfairly distributed.
- UEs 110 may generate a request for a QoS class having a guaranteed bit rate and allowing a transfer delay to be set to a particular duration, depending on the urgency of the download, that is likely to enable maximum data rate transmission (e.g., ten minutes, one hour, etc.).
- the request may be provided during a Communication Management (CM) session and may be received for consideration by the access point 100.
- CM Communication Management
- the transfer delay may be on the order of seconds, minutes, or even hours.
- the download data transfer may be performed.
- the following describes an example use case for an example embodiment of the present invention where a QoS request is implemented for scheduling downloads. While the use case incorporates some aspects that are specific to a QoS request, it is contemplated that various aspects described in the use case may be incorporated into various example embodiments of the present invention.
- a user of a UE may activate a 'green mode' from the settings provided by the UE.
- the green mode may allow for longer delays for applications like those identified above, including email, synchronization, and content downloading.
- Implementation of the green mode for downloads may attempt to achieve data transfer at the maximum data transfer rate that an access point and/or UE can support.
- a user of a UE may also define preferences such as, for example, the maximum relaxed delay period per application.
- the preferences associated with the green mode may be pre- configured by the UE manufacturer or included in the operator Short Message Service (SMS) configuration message.
- SMS Short Message Service
- the UE may send a green mode request for a QoS class to the network (e.g., the access point 100).
- the request may include various parameters.
- a first parameter may be a bitrate parameter, and the bitrate parameter may be set to the maximum bitrate supported by the UE and/or the access point.
- a second parameter may be a bitrate reliability parameter, and the bitrate reliability parameter may be set to "guaranteed bit rate," which indicates utilization of the highest bitrate that is at least occasionally available in the particular cell.
- a third parameter may be the transfer delay parameter, which may be set to "allowed transfer delay" and a value indicating a long duration may be set that is associated with the transfer delay.
- the maximum relaxed delay period may be used as the transfer delay value.
- a fourth parameter may be a QoS class parameter, and the QoS class parameter may be set to "not negotiable" indicating that the requested quality of service must be obtained. Subsequent to setting the various parameters, a bearer management process may be performed.
- the access point or other network entity may wait a retry delay period before retry.
- the retry delay period may be user defined or the optimal length for the retry delay period may be determined statistically and automatically adjusted to minimize total power consumption. Retries may be repeated until a high or maximum bitrate transmission is achieved.
- the transmission may be performed at the highest currently available bitrate.
- triggering the transmission at the highest currently available bitrate may involve sending an updated request for the QoS class with revised parameters from the UE to the network.
- the polling loop may be implemented.
- the polling communications may utilize a control channel that is regularly or always available when the UE is connected to the network. Further, performing the polling via a control channel may also realize energy efficiencies, since communications via a control channel may consume relatively less energy.
- FIGs. 2 and 3 illustrate example apparatus embodiments of the present invention configured to perform the various functionalities described herein.
- FIG. 2 depicts an example apparatus that is configured to perform various functionalities from the perspective of a UE (e.g., UEs 110) or an access point (e.g., the access point 100) as described with respect to FIG. 1 and as generally described herein.
- FIG. 3 depicts an example UE apparatus in the form of a mobile terminal configured to perform various functionalities from the perspective of a UE 110 depicted in FIG. 1 and as generally described herein.
- the example apparatuses depicted in FIGs. 2 and 3 may also be configured to perform example methods of the present invention, such as those described with respect to FIGs. 4 and/or 5.
- the apparatus 200 may, be embodied as, or included as a component of, a communications device with wired or wireless communications capabilities.
- the apparatus 200 may be configured to operate in accordance with the functionality of an access point and/or a UE as described herein.
- the apparatus 200 may be part of a communications device (e.g., access point 100 or UE 101), such as a stationary or a mobile terminal.
- a communications device e.g., access point 100 or UE 101
- the apparatus 200 may be part of an access point (e.g., a base station, wireless router, or the like), a computer, a server, a device that supports network communications, or the like.
- the apparatus 200 may be a mobile computer, mobile telephone, a portable digital assistant (PDA), a pager, a mobile television, a gaming device, a mobile computer, a laptop computer, a camera, a video recorder, an audio/video player, a radio, and/or a global positioning system (GPS) device, any combination of the aforementioned, or the like. Regardless of the type of communications device, apparatus 200 may also include computing capabilities.
- the example apparatus 200 includes or is otherwise in communication with a processor 205, a memory device 210, an Input/Output (I/O) interface 206, a communications interface 215, user interface 220, a download request receiver 230, and a scheduling manager 235.
- the user interface 215 may be limited or eliminated.
- the processor 205 may be embodied as various means for implementing the various functionalities of example embodiments of the present invention including, for example, a microprocessor, a coprocessor, a controller, a special-purpose integrated circuit such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), or a hardware accelerator, processing circuitry or the like.
- processor 205 may be representative of a plurality of processors, or one or more multiple core processors, operating in concert. Further, the processor 205 may be comprised of a plurality of transistors, logic gates, a clock (e.g., oscillator), other circuitry, and the like to facilitate performance of the functionality described herein. The processor 205 may, but need not, include one or more accompanying digital signal processors. In some example embodiments, the processor 205 is configured to execute instructions stored in the memory device 210 or instructions otherwise accessible to the processor 205. The processor 205 may be configured to operate such that the processor causes the apparatus 200 to perform various functionalities described herein.
- the processor 205 may be an entity capable of performing operations according to embodiments of the present invention while configured accordingly.
- the processor 205 is specifically configured hardware for conducting the operations described herein.
- the instructions specifically configure the processor 205 to perform the algorithms and operations described herein.
- the processor 205 is a processor of a specific device (e.g., a mobile terminal) configured for employing example embodiments of the present invention by further configuration of the processor 205 via executed instructions for performing the algorithms, methods, and operations described herein.
- a specific device e.g., a mobile terminal
- the memory device 210 may be one or more computer-readable storage media that may include volatile and/or non-volatile memory.
- the memory device 210 includes Random Access Memory (RAM) including dynamic and/or static RAM, on-chip or off- chip cache memory, and/or the like.
- RAM Random Access Memory
- memory device 210 may include non-volatile memory, which may be embedded and/or removable, and may include, for example, read-only memory, flash memory, magnetic storage devices (e.g., hard disks, floppy disk drives, magnetic tape, etc.), optical disc drives and/or media, non-volatile random access memory (NVRAM), and/or the like.
- Memory device 210 may include a cache area for temporary storage of data. In this regard, some or all of memory device 210 may be included within the processor 205.
- the memory device 210 may be configured to store information, data, applications, computer-readable program code instructions, and/or the like for enabling the processor 205 and the example apparatus 200 to carry out various functions in accordance with example embodiments of the present invention described herein.
- the memory device 210 could be configured to buffer input data for processing by the processor 205.
- the memory device 210 may be configured to store instructions for execution by the processor 205.
- the I/O interface 206 may be any device, circuitry, or means embodied in hardware, software, or a combination of hardware and software that is configured to interface the processor 205 with other circuitry or devices, such as the communications interface 220 and the user interface 215.
- the processor 205 may interface with the memory 210 via the I/O interface 206.
- the I/O interface 206 may be configured to convert signals and data into a form that may be interpreted by the processor 205.
- the I/O interface 206 may also perform buffering of inputs and outputs to support the operation of the processor 205.
- the processor 205 and the I/O interface 206 may be combined onto a single chip or integrated circuit configured to perform, or cause the apparatus 200 to perform, various functionalities of the present invention.
- the communication interface 215 may be any device or means embodied in either hardware, a computer program product, or a combination of hardware and a computer program product that is configured to receive and/or transmit data from/to a network 225 and/or any other device or module in communication with the example apparatus 200.
- Processor 205 may also be configured to facilitate communications via the communications interface by, for example, controlling hardware included within the communications interface 215.
- the communication interface 215 may include, for example, one or more antennas, a transmitter, a receiver, a transceiver and/or supporting hardware, including, for example, a processor for enabling communications.
- the example apparatus 200 may communicate with various other network entities in a device-to-device fashion and/or via indirect communications via a base station, access point, server, gateway, router, or the like.
- the communications interface 215 may also include power control logic for powering down unneeded radios, modem components, and the like, when the apparatus 200 enters a sleep or idle mode.
- the processor 205 may be configured to control the power control logic to initiate an activate mode to support data transfers, and return to a sleep mode when data transfers are complete.
- the communications interface 215 may be configured to provide for communications in accordance with any wired or wireless communication standard.
- the communications interface 215 may be configured to support communications in multiple antenna environments, such as multiple input multiple output (MIMO) environments. Further, the communications interface 215 may be configured to support orthogonal frequency division multiplexed (OFDM) signaling. In some example embodiments, the communications interface 215 may be configured to
- second-generation (2G) wireless communication protocols IS-136 (time division multiple access (TDMA)), GSM (global system for mobile communication), IS-95 (code division multiple access (CDMA)), third-generation (3G) wireless communication protocols, such as Universal Mobile Telecommunications System
- UMTS Evolved Universal Terrestrial Radio Access
- CDMA2000 CDMA2000
- WCDMA wideband CDMA
- TD- SCDMA time division-synchronous CDMA
- 3.9G 3.9 generation wireless communication protocols, such as Evolved Universal
- communications interface 215 may be configured to provide for communications in accordance with techniques such as, for example, radio frequency (RF), infrared (IrDA) or any of a number of different wireless networking techniques, including WLAN techniques such as IEEE 802.11 (e.g., 802.11a, 802.11 b, 802.11g, 802.11 n, etc.), wireless local area network (WLAN) protocols, world interoperability for microwave access (WiMAX) techniques such as IEEE 802.16, and/or wireless Personal Area Network (WPAN) techniques such as IEEE 802.15, BlueTooth (BT), low power versions of BT, ultra wideband (UWB), Wibree, Zigbee and/or the like.
- the communications interface 215 may also be configured to support communications at the network layer,
- the user interface 220 may be in communication with the processor 205 to receive user input via the user interface 220 and/or to present output to a user as, for example, audible, visual, mechanical or other output indications.
- the user interface 220 may include, for example, a keyboard, a mouse, a joystick, a display (e.g., a touch screen display), a microphone, a speaker, or other input/output mechanisms.
- the processor 205 may comprise, or be in communication with, user interface circuitry configured to control at least some functions of one or more elements of the user interface.
- the processor 205 and/or user interface circuitry may be configured to control one or more functions of one or more elements of the user interface through computer program instructions (e.g., software and/or firmware) stored on a memory accessible to the processor 205 (e.g., volatile memory, non-volatile memory, and/or the like).
- the user interface circuitry is configured to facilitate user control of at least some functions of the mobile terminal through the use of a display and configured to respond to user inputs.
- the processor 205 may also comprise, or be in communication with, display circuitry configured to display at least a portion of a user interface, the display and the display circuitry configured to facilitate user control of at least some functions of mobile terminal.
- the download request receiver 230 and/or the scheduling manager 235 of example apparatus 200 may be any means or device embodied, partially or wholly, in hardware, a computer program product, or a combination of hardware and a computer program product, such as processor 205 implementing stored instructions to configure the example apparatus 200, or a hardware configured processor 205, that is configured to carry out the functions of the download request receiver 230 and/or the scheduling manager 235 as described herein.
- the processor 205 includes, or controls, the download request receiver 230 and/or the scheduling manager 235.
- the download request receiver 230 and/or the scheduling manager 235 may be, partially or wholly, embodied as processors similar to, but separate from processor 205.
- the download request receiver 230 and/or the scheduling manager 235 may be in communication with the processor 205.
- the download request receiver 230 and/or the scheduling manager 235 may, partially or wholly, reside on differing apparatuses such that some or all of the functionality of the download request receiver 230 and/or the scheduling manager 235 may be performed by a first apparatus, and the remainder of the functionality of the download request receiver 230 and/or the scheduling manager 235 may be performed by one or more other apparatuses.
- the apparatus 200 and the processor 205 may be configured to perform the following functionality via the download request receiver 230.
- the download request receiver 230 may be configured to receive a download request for a download data transfer.
- the download request may have been generated to retrieve data for an application implemented on user equipment (e.g., UE 110 or the apparatus 200 when configured to operate as a UE).
- the download request may indicate that the download data transfer is not time sensitive in, for example, a request parameter.
- the download request may be received from an application being implemented by the processor 205.
- the application may be requesting the download of data to support the functionality of the application.
- an email application may be implemented by the processor 205.
- the email application may be configured to generate a download request for email synchronization purposes. As such, the email application may generate the download request to be received by the download request receiver 230.
- the download request receiver may be configured to receive requests that originated from a UE.
- an application on the UE may request a download, and the UE may transmit the download request to be received by the apparatus 200 via the download request receiver 230.
- the apparatus 200 and the processor 205 may be configured to perform the following functionality via the scheduling manager 235.
- the scheduling manager 235 may be configured to schedule a download data transfer in an attempt to achieve a maximum data rate for the download data transfer from an access point.
- scheduling the download data transfer may include determining a predicted time when the maximum data rate will be available, and scheduling a transition from a sleep state to an active state for the apparatus 200 or another apparatus at the predicted time to perform the download data transfer.
- scheduling the download data transfer may include determining a predicted time when the maximum data rate will be available based on network loading information, and scheduling a transition from a sleep state to an active state at the predicted time to perform the download data transfer Additionally, or alternatively, according to some example embodiments, scheduling the download data transfer may include negotiating with other communications devices connected to a common access point to determine a predicted time when the maximum data rate will be available, and scheduling a transition from a sleep state to an active state at the predicted time to perform the download data transfer Additionally, or alternatively, according to some example embodiments, scheduling the download data transfer may include generating a Quality of Service (QoS) class request associated with the download request, the QoS class request being configured to request a transfer of data at the maximum data rate
- QoS Quality of Service
- the scheduling manager 235 may be configured to perform additional functionality
- the scheduling manager may be configured to provide for transmission of a scheduling message to the user equipment for which the download was scheduled
- the scheduling message may include information indicating when the user equipment will transition from a sleep state to an active state
- the example apparatus of FIG 3 is a mobile terminal 10 configured to communicate within a wireless network, such as a cellular network
- the mobile terminal 10 may be configured to perform the functionality of UE 101 and/or apparatus 200 as described herein More specifically, the mobile terminal 10 may be caused to perform the functionality of the download request receiver 230 and/or the scheduling manager 235 via the controller 20
- controller 20 may be an integrated circuit or chip configured similar to the processor 205 together with the I/O interface 206
- volatile memory 40 and non-volatile memory 42 may configured to support the operation of the controller 20 as computer readable storage media
- the mobile terminal 10 may further include an antenna 12, a transmitter 14, and a receiver 16, which may be included as parts of a communications interface of the mobile terminal 10
- the speaker 24, the microphone 26, the display 28, and the keypad 30 may be included as parts of a user interface
- FIGs 4 and 5 illustrate flowcharts of example systems, methods, and/or computer program products according to example embodiments of the invention
- program code instructions may be stored on a memory device, such as memory device 210, of an example apparatus, such as example apparatus 200, and executed by a processor, such as the processor 205.
- any such program code instructions may be loaded onto a computer or other programmable apparatus (e.g., processor 205, memory device 210, or the like) from a computer-readable storage medium to produce a particular machine, such that the particular machine becomes a means for implementing the functions specified in the flowcharts' block(s) or operation(s).
- These program code instructions may also be stored in a computer-readable storage medium that can direct a computer, a processor, or other programmable apparatus to function in a particular manner to thereby generate a particular machine or particular article of manufacture.
- the instructions stored in the computer-readable storage medium may produce an article of manufacture, where the article of manufacture becomes a means for implementing the functions specified in the flowcharts' block(s) or operation(s).
- the program code instructions may be retrieved from a computer-readable storage medium and loaded into a computer, processor, or other programmable apparatus to configure the computer, processor, or other programmable apparatus to execute operations to be performed on or by the computer, processor, or other programmable apparatus.
- Retrieval, loading, and execution of the program code instructions may be performed sequentially such that one instruction is retrieved, loaded, and executed at a time.
- retrieval, loading and/or execution may be performed in parallel such that multiple instructions are retrieved, loaded, and/or executed together.
- Execution of the program code instructions may produce a computer-implemented process such that the instructions executed by the computer, processor, or other programmable apparatus provide operations for implementing the functions specified in the flowcharts' block(s) or operation(s).
- execution of instructions associated with the blocks or operations of the flowchart by a processor, or storage of instructions associated with the blocks or operations of the flowcharts in a computer-readable storage medium support combinations of operations for performing the specified functions. It will also be understood that one or more blocks or operations of the flowcharts, and combinations of blocks or operations in the flowcharts, may be implemented by special purpose hardware-based computer systems and/or processors which perform the specified functions, or combinations of special purpose hardware and program code instructions.
- FIG. 4 depicts one or more flowcharts of example methods for scheduling downloads from the perspective of a UE (e.g., UEs 110).
- the example method includes receiving a download request for a download data transfer.
- the download request may have been generated to retrieve data for an application implemented on user equipment (e.g., UE 110 or the apparatus 200 when configured to operate as a UE).
- the download request may indicate that the download data transfer is not time sensitive in, for example, a request parameter.
- the download request may be received from an application.
- the application may be requesting the download of data to support the functionality of the application.
- an email application implemented by a processor included in a UE may be configured to generate a download request for email synchronization purposes.
- the email application may generate the download request to be received internal to the UE to facilitate download scheduling.
- the example method of FIG. 4 also includes scheduling a download data transfer in an attempt to achieve a maximum data rate for the download data transfer at 410.
- the maximum data rate may be the data rate between an access point and a UE.
- scheduling the download data transfer may include determining a predicted time when the maximum data rate will be available, and scheduling a transition from a sleep state to an active state for a UE at the predicted time to perform the download data transfer. Additionally, or alternatively, according to some example embodiments, scheduling the download data transfer may include determining a predicted time when the maximum data rate will be available based on network loading information, and scheduling a transition from a sleep state to an active state at the predicted time to perform the download data transfer.
- scheduling the download data transfer may include negotiating with other communications devices connected to a common access point to determine a predicted time when the maximum data rate will be available, and scheduling a transition from a sleep state to an active state at the predicted time to perform the download data transfer. Additionally, or alternatively, according to some example embodiments, scheduling the download data transfer may include generating a Quality of Service (QoS) class request associated with the download request, the QoS class request being configured to request a transfer of data at the maximum data rate.
- QoS Quality of Service
- FIG. 5 depicts one or more flowcharts of example methods for scheduling downloads from the perspective of an access point, such as the access point 100.
- the example method includes receiving a download request for a download data transfer at 500.
- the example method may include receiving a download request that originated from a UE at an access point.
- an application on a UE may request a download, and the UE may transmit the download request to be received by an access point.
- the example method of FIG. 5 also includes scheduling a download data transfer in an attempt to achieve a maximum data rate for the download data transfer at 510.
- the maximum data rate may be the data rate between an access point and a UE.
- scheduling the download data transfer may include determining a predicted time when the maximum data rate will be available for example, based on network loading information, and scheduling a transition from a sleep state to an active state for a UE at the predicted time to perform the download data transfer.
- the example method may include providing for transmission of a scheduling message to user equipment for which the download is scheduled.
- the scheduling message may include information indicating when the user equipment will transition from a sleep state to an active state.
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
Various methods for scheduling downloads are provided. One example method includes receiving a download request for a download data transfer. In this regard, the download request may have been generated to retrieve data for an application implemented on user equipment. The example method may also include scheduling the download data transfer to achieve at least a threshold data rate for the download data transfer from an access point. According to various example embodiments, scheduling the download data transfer in an attempt to download data at least the threshold data rate supports power conservation on mobile communications devices. Similar and related example methods and example apparatuses are also provided.
Description
METHOD AND APPARATUS FOR SCHEDULING DOWNLOADS
TECHNICAL FIELD
Embodiments of the present invention relate generally to wireless communications, and, more particularly, relate to a method and apparatus for scheduling downloads such that reduced power consumption may be obtained. BACKGROUND
The modern communications era has brought about a tremendous expansion of wireline and wireless networks. Various types of networking technologies have been developed resulting in an unprecedented expansion of computer networks, television networks, telephony networks, and the like, fueled by consumer demand. Wireless and mobile networking technologies have addressed related consumer demands, while providing more flexibility and immediacy of information transfer.
Current and future networking technologies continue to facilitate ease of information transfer and convenience to users by expanding the capabilities of mobile electronic devices and other computing devices. As the functionality of mobile communications devices has expanded, mobile communications devices have become ubiquitous in both business and personal settings and users continue to demand more functionality that allows users to quickly find and interact with more data in unique ways.
While networking technology has made considerable strides in its evolution, some limitations continue to stunt the development of new technologies. In particular, the limited power storage (e.g., battery storage) of mobile communications devices places limitations how individuals use their mobile communications devices. For example, battery charge life can be dynamic and unpredictable depending on the applications and functionalities that a user implements. As a result, users may experience situations where mobile communications devices are unexpectedly powered down due to insufficient remaining charge on the battery. Accordingly, mechanisms for reducing the power consumption, that are possibly transparent to the user, are desirable.
BRIEF SUMMARY
Example methods and example apparatuses are described that provide for reduced power consumption by scheduling download data transmissions such that at least a threshold data rate (e.g., a maximum data rate) is expected to be achieved for the download. In this regard, some communications (e.g., voice calls, web browsing, and the like) are time sensitive while others are
less time sensitive. For example, email synchronization (particularly attachments such as multimedia attachments), web content that has been requested to be regularly updated in local memory, and various web service downloads may be performed on a more flexible time schedule, with little or no impact on the user's experience. The timing flexibility available for these types of downloads can be leveraged to minimize battery consumption. A segment of data transferred at a higher data rate in a real network with real devices typically consumes less power than a data transfer of the same segment at a slower data rate. As such, data transfers that are less time sensitive may be scheduled such that the transfers occur at times when at least the threshold data rate is available. For example, according to some example embodiments of the present invention a prediction of a time when at least a threshold data rate will be available may be determined and a download data transfer may be scheduled for the predicted time. Prior to the predicted time, some or all communications circuitry may be placed in a sleep mode to further minimize power consumption. When the predicted time arrives, the communications circuitry may be transitioned into an active state and the download data transfer may occur. According to various example embodiments, in the event that the predicted time does not support the threshold data rate, the download may still be performed or a new predicted time may be determined to further attempt to achieve the download at a high data rate.
Various example embodiments of the present invention are described herein. One example embodiment is a method for scheduling downloads. The example method includes receiving a download request for a download data transfer. In this regard, the download request may have been generated to retrieve data for an application implemented on user equipment. The example method may also include scheduling the download data transfer to achieve at least a threshold data rate for the download data transfer from an access point.
An additional example embodiment is an apparatus configured for scheduling downloads. The example apparatus comprises at least one processor and at least one memory including computer program code. The at least one memory and the computer program code may be configured to, with the at least one processor, cause the example apparatus to perform various functionality. In this regard, the example apparatus is caused to perform receiving a download request for a download data transfer. The download request may have been generated to retrieve data for an application implemented on user equipment. The example apparatus may also be caused to perform scheduling the download data transfer to achieve at least a threshold data rate for the download data transfer from an access point.
Another example embodiment is an example computer program product for scheduling downloads. The example computer program product comprises at least one computer-readable storage medium having executable computer-readable program code instructions stored therein. The computer-readable program code instructions of the example computer program product are for receiving a download request for a download data transfer. In this regard, the download request may have been generated to retrieve data for an application implemented on user equipment. The computer-readable program code instructions may also be for scheduling the
download data transfer to achieve a maximum data rate for the download data transfer from an access point
Another example embodiment is an apparatus for scheduling downloads The example apparatus includes means for receiving a download request for a download data transfer In this regard, the download request may have been generated to retrieve data for an application implemented on user equipment The example apparatus may also include means for scheduling the download data transfer to achieve at least a threshold data rate for the download data transfer from an access point BRIEF DESCRIPTION OF THE DRAWING(S)
Having thus described the invention in general terms, reference will now be made to the accompanying drawings, which are not necessarily drawn to scale, and wherein
FIG 1 illustrates a system for scheduling downloads according to various example embodiments of the present invention,
FIG 2 illustrates an apparatus for scheduling downloads according to various example embodiments of the present invention,
FIG 3 illustrates a mobile terminal for scheduling downloads according to various example embodiments of the present invention,
FIG 4 illustrates an example method for scheduling downloads from the perspective of User Equipment (UE) according to various example embodiments of the present invention, and
FIG 5 illustrates another example method for scheduling downloads from the perspective of a network entity according to various example embodiments of the present invention
DETAILED DESCRIPTION
Example embodiments of the present invention will now be described more fully hereinafter with reference to the accompanying drawings, in which some, but not all embodiments of the invention are shown Indeed, the invention may be embodied in many different forms and should not be construed as limited to the embodiments set forth herein, rather, these embodiments are provided so that this disclosure will satisfy applicable legal requirements Like reference numerals refer to like elements throughout The terms "data," "content," "information," and similar terms may be used interchangeably, according to some example embodiments of the present invention, to refer to data capable of being transmitted, received, operated on, and/or stored
As used herein, the term 'circuitry' refers to all of the following (a) hardware-only circuit implementations (such as implementations in only analog and/or digital circuitry), (b) to combinations of circuits and software (and/or firmware), such as (as applicable) (ι) to a combination of processor(s) or (n) to portions of processor(s)/software (including digital signal processor(s)), software, and memory(ιes) that work together to cause an apparatus, such as a mobile phone or server, to perform various functions), and (c) to circuits, such as a
mιcroprocessor(s) or a portion of a mιcroprocessor(s), that require software or firmware for operation, even if the software or firmware is not physically present
This definition of 'circuitry' applies to all uses of this term in this application, including in any claims. As a further example, as used in this application, the term "circuitry" would also cover an implementation of merely a processor (or multiple processors) or portion of a processor and its (or their) accompanying software and/or firmware. The term "circuitry" would also cover, for example and if applicable to the particular claim element, a baseband integrated circuit or applications processor integrated circuit for a mobile phone or a similar integrated circuit in server, a cellular network device, or other network device.
According to various example embodiments of the present invention, download data transfers from an access point (e.g., a cellular base station) to user equipment (UE) (e.g., a mobile phone) may be scheduled for times when at least a threshold data rate is likely to be achievable to reduce the power consumption associated with the download. According to various example embodiments, a threshold data rate may be, for example, a maximum data rate for data transfer supported by a UE and/or a access point. Accordingly, a maximum data rate, as described herein may refer to at least a threshold data rate.
Download data transfers performed at higher data rates consume less energy than the same download data transfer at tower data rates. This is because the power consumption while transferring data at a higher rate is often comparable to the power consumption while transferring data at a slower rate, given equal amounts of time. However, the power consumption of the higher data rate transfer may result in less power consumption because the transmission of a given amount of data is completed in a shorter period of time. Additionally, in an interference- limited system, a UE may achieve higher data rate with higher energy efficiency if the
transmissions are focused on times when less interference is being generated, for example by other UEs within the range of the access point.
Further, before and after completion of the data transfer at the higher data rate, a UE may transition to a low power consumption sleep mode, which may include shutting down the transmitter or receiver or parts of them, to realize additional power savings. In this regard, a UE may include power control logic that de-energizes certain components (e.g., radios, modem components, and the like) when a sleep mode is implemented, for example by disconnecting the power feed to the particular components. The components may be turned off when there is no data receive/transfer activity. However, during power down and power up procedures, power consumption may spike and rise above the consumption level had the components remained powered up. As a result, powering down may be viable in situations where the time spent in the sleep mode is sufficiently long to result in a net power savings despite the power up/down consumption spikes.
Accordingly, example embodiments of the present invention leverage the ability to schedule non-time sensitive downloads at times when high or maximum data rates are achievable to reduce power consumption by UEs by transferring data in a shorter time frame and spending more time in a sleep mode. Further, the scheduling of downloads may be managed at the protocol layer, for example by using Transmission Control Protocol (TCP) or application layer.
According to some various example embodiments, scheduling a download data transfer may include determining an amount of data that is slated to be transferred according to the schedule.
Applications implemented on UEs that download information via an access point may or may not have time sensitivity requirements for the retrieval of the data, either due to the nature of the application, or due to user expectations. For example, applications such as web-browsing and voice calls require near-real time retrieval of data due to user's expectations for convenient use of data and the desire for natural and comfortable conversations with other callers. However, some applications have lesser requirements for the timing of data retrieval. For example, the timing requirements for downloading an automatic update for gaming software installed on a UE may be relatively flexible. Similar examples of applications that may have flexible timing for data downloads include video center applications, podcasting subscriptions, image sharing applications, email clients, calendar clients, Really Simple Syndication (RSS) feed reader applications (e.g., news feeds), widest updates, phone application software upgrades, firmware upgrades, Peer-to- Peer (P2P) downloads, address book updates, advertisements, currency exchange rate updates for converter applications, preloaded/frequently used content for browsers, clock synchronizations, catalogs for update applications, network backups, blog and lifeblog updates, map pages and updates, and the like. Further, a progressive video download where high bandwidth
communication bursts may be followed by periods of inactivity may also provide an example situation where flexible timing of downloads are available. In this regard, the timing of the downloads may be flexible and occur at delayed times, possibly without negatively affecting the user's experience. Further, for power consumption purposes, a user may allow particular applications to perform downloads having longer delays to facilitate more efficient battery usage. According to some example embodiments, applications may be configured to identify the urgency of a download data transfer and provide that information for use in scheduling downloads.
Due to the relatively relaxed time sensitivity for the download of data for particular applications, the data downloads for these applications need not commence immediately upon generation of a download request, but rather the download may be scheduled to permit the data to be downloaded at a time when higher or maximum data rates are available (e.g., when sufficient network capacity is available to support the higher or maximum data rate). Meanwhile, if no other data downloads are being performed by the UE, the UE may enter a sleep mode. In this manner, a reduction in power consumption associated with the download of the data may be realized, and battery life may be extended.
As used herein, the term "scheduling" may refer to not only setting a particular time for an event, but also to selecting criteria that when satisfied allow the event to occur. In this regard, the event is scheduled for a time when particular criteria are satisfied or are predicted to be satisfied. In other words, a download data transfer may be scheduled to occur at a determined time, or a download data transfer may be scheduled to occur when, for example, the communications load managed by an access point falls below a given threshold.
FIG. 1 depicts an example wireless communications system according to various example embodiments of the present invention. The communications system includes an access point
100 (or cellular base station which in turn is connected to the base station controller) and UEs 110 (e.g., UE 110a and UE 110b). The access point 100 may be, for example, a base station of a cellular communications system that provides the UEs 110 with access to the cellular network. The access point 100 may include hardware and software to support scheduling download data transfers from the access point 100 to a UE 110. According to some example embodiments, the access point 100 may include or be connected to a download scheduling server or other computing device that is configured to facilitate download scheduling. Alternatively, in some example embodiments, the access point 100 need not be configured to support download scheduling, and the UEs 110 may be configured to mange download scheduling without the assistance of the access point 100.
The UEs 110 may be any type of user operated communications device, such as a mobile terminal. The UEs 110 may be configured to implement applications that may have download data transfer needs. In this regard, the applications implemented by the UEs 110 may generate download requests that may be received internally to the UE to initiate a procedure for scheduling download data transfers. In some example embodiments, the download request may be, additionally or alternatively, received from the UE by a network entity (e.g., access point 100).
Communications connections 115 (e.g., connection 115a and connection 115b) may be wireless connections that support data transfers between a respective UE 110 and the access point 100. As such, download data transfers from the access point 100 to the UEs 110 may be communicated via the connections 115. The UEs 110a and 110b may support peer-to-peer (P2P) communications connections 120 between the UE 110a and the UE 110b. The P2P connection 120 may be, for example, a Bluetooth or ad-hoc network connection.
Referring to FIG. 1 , consider an overly simplified scenario where both the UE 110a and the UE 110b have download requests to download data from the access point 100. According to some solutions, such as schemes based on Wideband Code Division Multiple Access (WCDMA) techniques, the UEs 110 may simultaneously share the access point's resources available for downloading the desired data in a manner that reduces the data rate for each UE (assuming each UE requested the same Quality of Service (QoS)). In this regard, given appropriate loading on the access point 100, each UE 110 may experience a slower download data rate due to the other UE's use of the resources, resulting in inefficient power utilization. In contrast, according to example embodiments of the present invention, the UEs 110 and/or the access point 100 may determine a time that the download data rate is likely to be high or at a maximum (e.g., when an expected decrease in network traffic is to occur) and the download data transfers may be scheduled for that time. As a result, rather then simultaneously share resources, the UE 110a may perform a download data transfer at the maximum data rate, while the UE 110b is in a sleep mode, and then the UE 110b may transfer to an active mode at a determined time, and perform a download data transfer at the maximum data rate, while the UE 110a is in a sleep mode. In this regard, the power utilization of the UEs is reduced over the simultaneous resource sharing scenario because both UEs 110 were able to perform their respective download data transfers at a high or maximum data rate and spend the remainder of the time in the sleep mode.
According to various example embodiments, strict adherence to the determined schedule for download need not be required In this regard, the state of the network at the predicted time when the download data transfer is scheduled to occur may not be optimal due to the partly unpredictable changes in the loading of the network As such, in accordance with some example embodiments of the present invention, the download data transfer may be postponed, and an updated predicted time may be determined The download data transfer may be repeatedly postponed and the predicted time may be repeatedly updated According to some example embodiments, the download data transfer may be postponed until a maximum relaxed delay period is reached Upon reaching the maximum relaxed delay period, the download data transfer may proceed, for example, regardless of the available data rate
According to various example embodiments, a number of solutions and combinations of solutions may be implemented to realize power savings via download data transfer scheduling For example, according to some example embodiments, UEs 110 may receive loading information from the network (e g , from the access point 100) regarding current and expected loading conditions In this regard, a UE 110 may generate and transmit alert requests to the network
(e g , the access point 100), and in response to criteria within the alert requests being satisfied, the network may provide associated network loading information or information regarding a change in the attributes of a connection to a UE 110 Alternatively, a UE 110 may query loading information from the network, and, in some example embodiments, the network may provide a prediction about future network loading or the expected duration of the current loading According to some example embodiments, the UEs 110 may receive specific loading information regarding the communications load on the access point 100 Further, in some example embodiments, the UEs 110 may be configured to consider loading data that is directly available to the UEs 110 such as signal-to-noise ratio data, channel free bandwidth data, current download bitrate data, or the like The UEs 110 may be configured to analyze the loading information to determine times when loads are expected to be low and/or times when data rates are expected to be high The UEs 110 may also be configured to determine the amount of data that may be downloaded during the high data rate periods According to various example embodiments, the loading information may include the current data rate of the access point, signal-to-noise ratios, other cellular layer loading measurements, and the like Further, the loading information may also provide more complex information regarding the load on the access point 100, such as the number and types of communications sessions the access point 100 is currently supporting For example, information may be provided that indicates that access point 100 is supporting five voice calls, two file downloads, and three browsing sessions) Based on the loading information, the UE may schedule a download data transfer, and a time to transition from a sleep mode to an active mode to support the download data transfer
Additionally, or alternatively, the network (e g , the access point 100) may schedule the download data transfer In this regard, a UE 110 may transmit a download request to be received by the access point 100 The access point 100, or another network entity, may analyze the loading information and schedule times and/or amounts of data that would support a high or
maximum data rate. The indications of the times and/or amounts of data may be transmitted to the UE 110. The UE 110 may transition from a sleep mode to an active mode at the scheduled time to support the download data transfer.
Additionally, or alternatively, UEs camped under a common access point may negotiate a download schedule. In this regard, UEs 110 may use the P2P connection 120 to negotiate the download schedule for each UE 110 with out impacting the communications load on the access point 100. In this regard, distributed decision making techniques may be utilized to determine the schedule. According to some example embodiments, a ranking or equalization scheme may be employed, using, for example, credits, to ensure that the negotiations for scheduled times are not unfairly distributed.
Additionally, or alternatively, UEs 110 may generate a request for a QoS class having a guaranteed bit rate and allowing a transfer delay to be set to a particular duration, depending on the urgency of the download, that is likely to enable maximum data rate transmission (e.g., ten minutes, one hour, etc.). The request may be provided during a Communication Management (CM) session and may be received for consideration by the access point 100. To increase the probability of realizing a high or maximum data rate, the transfer delay may be on the order of seconds, minutes, or even hours. When the parameters of the QoS request are satisfied by the network, the download data transfer may be performed.
Based on the forgoing, the following describes an example use case for an example embodiment of the present invention where a QoS request is implemented for scheduling downloads. While the use case incorporates some aspects that are specific to a QoS request, it is contemplated that various aspects described in the use case may be incorporated into various example embodiments of the present invention.
In some example embodiments, to implement download scheduling as described herein, a user of a UE may activate a 'green mode' from the settings provided by the UE. The green mode may allow for longer delays for applications like those identified above, including email, synchronization, and content downloading. Implementation of the green mode for downloads may attempt to achieve data transfer at the maximum data transfer rate that an access point and/or UE can support. In addition to activating the green mode, a user of a UE may also define preferences such as, for example, the maximum relaxed delay period per application. According to some example embodiments, the preferences associated with the green mode may be pre- configured by the UE manufacturer or included in the operator Short Message Service (SMS) configuration message.
In response to a download request generated by an application, the UE may send a green mode request for a QoS class to the network (e.g., the access point 100). The request may include various parameters. A first parameter may be a bitrate parameter, and the bitrate parameter may be set to the maximum bitrate supported by the UE and/or the access point. A second parameter may be a bitrate reliability parameter, and the bitrate reliability parameter may be set to "guaranteed bit rate," which indicates utilization of the highest bitrate that is at least occasionally available in the particular cell. A third parameter may be the transfer delay
parameter, which may be set to "allowed transfer delay" and a value indicating a long duration may be set that is associated with the transfer delay. In some example embodiments, the maximum relaxed delay period may be used as the transfer delay value. A fourth parameter may be a QoS class parameter, and the QoS class parameter may be set to "not negotiable" indicating that the requested quality of service must be obtained. Subsequent to setting the various parameters, a bearer management process may be performed.
If the highest bitrate has not been offered before the maximum relaxed delay period ends, then the access point or other network entity may wait a retry delay period before retry. In some example embodiments, the retry delay period may be user defined or the optimal length for the retry delay period may be determined statistically and automatically adjusted to minimize total power consumption. Retries may be repeated until a high or maximum bitrate transmission is achieved.
If transmission at the maximum bitrate is not achieved by the end of the maximum relaxed delay period, the transmission may be performed at the highest currently available bitrate. In some example embodiments, triggering the transmission at the highest currently available bitrate may involve sending an updated request for the QoS class with revised parameters from the UE to the network.
To minimize the energy consumption, the polling loop, as described above, may be implemented. In this regard, the polling communications may utilize a control channel that is regularly or always available when the UE is connected to the network. Further, performing the polling via a control channel may also realize energy efficiencies, since communications via a control channel may consume relatively less energy.
The description provided above and generally herein illustrates example methods, example apparatuses, and example computer program products for scheduling downloads. FIGs. 2 and 3 illustrate example apparatus embodiments of the present invention configured to perform the various functionalities described herein. FIG. 2 depicts an example apparatus that is configured to perform various functionalities from the perspective of a UE (e.g., UEs 110) or an access point (e.g., the access point 100) as described with respect to FIG. 1 and as generally described herein. FIG. 3 depicts an example UE apparatus in the form of a mobile terminal configured to perform various functionalities from the perspective of a UE 110 depicted in FIG. 1 and as generally described herein. The example apparatuses depicted in FIGs. 2 and 3 may also be configured to perform example methods of the present invention, such as those described with respect to FIGs. 4 and/or 5.
Referring now to FIG. 2, in some example embodiments, the apparatus 200 may, be embodied as, or included as a component of, a communications device with wired or wireless communications capabilities. In this regard, the apparatus 200 may be configured to operate in accordance with the functionality of an access point and/or a UE as described herein. In some example embodiments, the apparatus 200 may be part of a communications device (e.g., access point 100 or UE 101), such as a stationary or a mobile terminal. As a stationary terminal, the apparatus 200 may be part of an access point (e.g., a base station, wireless router, or the like), a
computer, a server, a device that supports network communications, or the like. As a mobile terminal, the apparatus 200 may be a mobile computer, mobile telephone, a portable digital assistant (PDA), a pager, a mobile television, a gaming device, a mobile computer, a laptop computer, a camera, a video recorder, an audio/video player, a radio, and/or a global positioning system (GPS) device, any combination of the aforementioned, or the like. Regardless of the type of communications device, apparatus 200 may also include computing capabilities.
The example apparatus 200 includes or is otherwise in communication with a processor 205, a memory device 210, an Input/Output (I/O) interface 206, a communications interface 215, user interface 220, a download request receiver 230, and a scheduling manager 235. In some example embodiments, such as when the apparatus 200 is part of an access point, the user interface 215 may be limited or eliminated. The processor 205 may be embodied as various means for implementing the various functionalities of example embodiments of the present invention including, for example, a microprocessor, a coprocessor, a controller, a special-purpose integrated circuit such as, for example, an ASIC (application specific integrated circuit), an FPGA (field programmable gate array), or a hardware accelerator, processing circuitry or the like.
According to one example embodiment, processor 205 may be representative of a plurality of processors, or one or more multiple core processors, operating in concert. Further, the processor 205 may be comprised of a plurality of transistors, logic gates, a clock (e.g., oscillator), other circuitry, and the like to facilitate performance of the functionality described herein. The processor 205 may, but need not, include one or more accompanying digital signal processors. In some example embodiments, the processor 205 is configured to execute instructions stored in the memory device 210 or instructions otherwise accessible to the processor 205. The processor 205 may be configured to operate such that the processor causes the apparatus 200 to perform various functionalities described herein.
Whether configured as hardware or via instructions stored on a computer-readable storage medium, or by a combination thereof, the processor 205 may be an entity capable of performing operations according to embodiments of the present invention while configured accordingly. Thus, in example embodiments where the processor 205 is embodied as, or is part of, an ASIC, FPGA, or the like, the processor 205 is specifically configured hardware for conducting the operations described herein. Alternatively, in example embodiments where the processor 205 is embodied as an executor of instructions stored on a computer-readable storage medium, the instructions specifically configure the processor 205 to perform the algorithms and operations described herein. In some example embodiments, the processor 205 is a processor of a specific device (e.g., a mobile terminal) configured for employing example embodiments of the present invention by further configuration of the processor 205 via executed instructions for performing the algorithms, methods, and operations described herein.
The memory device 210 may be one or more computer-readable storage media that may include volatile and/or non-volatile memory. In some example embodiments, the memory device 210 includes Random Access Memory (RAM) including dynamic and/or static RAM, on-chip or off- chip cache memory, and/or the like. Further, memory device 210 may include non-volatile
memory, which may be embedded and/or removable, and may include, for example, read-only memory, flash memory, magnetic storage devices (e.g., hard disks, floppy disk drives, magnetic tape, etc.), optical disc drives and/or media, non-volatile random access memory (NVRAM), and/or the like. Memory device 210 may include a cache area for temporary storage of data. In this regard, some or all of memory device 210 may be included within the processor 205.
Further, the memory device 210 may be configured to store information, data, applications, computer-readable program code instructions, and/or the like for enabling the processor 205 and the example apparatus 200 to carry out various functions in accordance with example embodiments of the present invention described herein. For example, the memory device 210 could be configured to buffer input data for processing by the processor 205.
Additionally, or alternatively, the memory device 210 may be configured to store instructions for execution by the processor 205.
The I/O interface 206 may be any device, circuitry, or means embodied in hardware, software, or a combination of hardware and software that is configured to interface the processor 205 with other circuitry or devices, such as the communications interface 220 and the user interface 215. In some example embodiments, the processor 205 may interface with the memory 210 via the I/O interface 206. The I/O interface 206 may be configured to convert signals and data into a form that may be interpreted by the processor 205. The I/O interface 206 may also perform buffering of inputs and outputs to support the operation of the processor 205. According to some example embodiments, the processor 205 and the I/O interface 206 may be combined onto a single chip or integrated circuit configured to perform, or cause the apparatus 200 to perform, various functionalities of the present invention.
The communication interface 215 may be any device or means embodied in either hardware, a computer program product, or a combination of hardware and a computer program product that is configured to receive and/or transmit data from/to a network 225 and/or any other device or module in communication with the example apparatus 200. Processor 205 may also be configured to facilitate communications via the communications interface by, for example, controlling hardware included within the communications interface 215. In this regard, the communication interface 215 may include, for example, one or more antennas, a transmitter, a receiver, a transceiver and/or supporting hardware, including, for example, a processor for enabling communications. Via the communication interface 215, the example apparatus 200 may communicate with various other network entities in a device-to-device fashion and/or via indirect communications via a base station, access point, server, gateway, router, or the like.
The communications interface 215 may also include power control logic for powering down unneeded radios, modem components, and the like, when the apparatus 200 enters a sleep or idle mode. In this regard, the processor 205 may be configured to control the power control logic to initiate an activate mode to support data transfers, and return to a sleep mode when data transfers are complete.
The communications interface 215 may be configured to provide for communications in accordance with any wired or wireless communication standard. The communications interface
215 may be configured to support communications in multiple antenna environments, such as multiple input multiple output (MIMO) environments. Further, the communications interface 215 may be configured to support orthogonal frequency division multiplexed (OFDM) signaling. In some example embodiments, the communications interface 215 may be configured to
communicate in accordance with various techniques, such as, second-generation (2G) wireless communication protocols, IS-136 (time division multiple access (TDMA)), GSM (global system for mobile communication), IS-95 (code division multiple access (CDMA)), third-generation (3G) wireless communication protocols, such as Universal Mobile Telecommunications System
(UMTS), CDMA2000, wideband CDMA (WCDMA) and time division-synchronous CDMA (TD- SCDMA), 3.9 generation (3.9G) wireless communication protocols, such as Evolved Universal
Terrestrial Radio Access Network (E-UTRAN), with fourth-generation (4G) wireless communication protocols, international mobile telecommunications advanced (IMT-Advanced) protocols, Long Term Evolution (LTE) protocols including LTE-advanced, or the like. Further, communications interface 215 may be configured to provide for communications in accordance with techniques such as, for example, radio frequency (RF), infrared (IrDA) or any of a number of different wireless networking techniques, including WLAN techniques such as IEEE 802.11 (e.g., 802.11a, 802.11 b, 802.11g, 802.11 n, etc.), wireless local area network (WLAN) protocols, world interoperability for microwave access (WiMAX) techniques such as IEEE 802.16, and/or wireless Personal Area Network (WPAN) techniques such as IEEE 802.15, BlueTooth (BT), low power versions of BT, ultra wideband (UWB), Wibree, Zigbee and/or the like. The communications interface 215 may also be configured to support communications at the network layer, possibly via Internet Protocol (IP).
The user interface 220 may be in communication with the processor 205 to receive user input via the user interface 220 and/or to present output to a user as, for example, audible, visual, mechanical or other output indications. The user interface 220 may include, for example, a keyboard, a mouse, a joystick, a display (e.g., a touch screen display), a microphone, a speaker, or other input/output mechanisms. Further, the processor 205 may comprise, or be in communication with, user interface circuitry configured to control at least some functions of one or more elements of the user interface. The processor 205 and/or user interface circuitry may be configured to control one or more functions of one or more elements of the user interface through computer program instructions (e.g., software and/or firmware) stored on a memory accessible to the processor 205 (e.g., volatile memory, non-volatile memory, and/or the like). Ins some example embodiments, the user interface circuitry is configured to facilitate user control of at least some functions of the mobile terminal through the use of a display and configured to respond to user inputs. The processor 205 may also comprise, or be in communication with, display circuitry configured to display at least a portion of a user interface, the display and the display circuitry configured to facilitate user control of at least some functions of mobile terminal.
The download request receiver 230 and/or the scheduling manager 235 of example apparatus 200 may be any means or device embodied, partially or wholly, in hardware, a computer program product, or a combination of hardware and a computer program product, such as
processor 205 implementing stored instructions to configure the example apparatus 200, or a hardware configured processor 205, that is configured to carry out the functions of the download request receiver 230 and/or the scheduling manager 235 as described herein. In an example embodiment, the processor 205 includes, or controls, the download request receiver 230 and/or the scheduling manager 235. The download request receiver 230 and/or the scheduling manager 235 may be, partially or wholly, embodied as processors similar to, but separate from processor 205. In this regard, the download request receiver 230 and/or the scheduling manager 235 may be in communication with the processor 205. In various example embodiments, the download request receiver 230 and/or the scheduling manager 235 may, partially or wholly, reside on differing apparatuses such that some or all of the functionality of the download request receiver 230 and/or the scheduling manager 235 may be performed by a first apparatus, and the remainder of the functionality of the download request receiver 230 and/or the scheduling manager 235 may be performed by one or more other apparatuses.
The apparatus 200 and the processor 205 may be configured to perform the following functionality via the download request receiver 230. In this regard, the download request receiver 230 may be configured to receive a download request for a download data transfer. In this regard, the download request may have been generated to retrieve data for an application implemented on user equipment (e.g., UE 110 or the apparatus 200 when configured to operate as a UE). According to some example embodiments, the download request may indicate that the download data transfer is not time sensitive in, for example, a request parameter.
When the apparatus 200 is configured to operate as a UE, the download request may be received from an application being implemented by the processor 205. The application may be requesting the download of data to support the functionality of the application. For example, an email application may be implemented by the processor 205. The email application may be configured to generate a download request for email synchronization purposes. As such, the email application may generate the download request to be received by the download request receiver 230.
When the apparatus 200 is configured to operate as an access point, the download request receiver may be configured to receive requests that originated from a UE. In this regard, as described above, an application on the UE may request a download, and the UE may transmit the download request to be received by the apparatus 200 via the download request receiver 230.
The apparatus 200 and the processor 205 may be configured to perform the following functionality via the scheduling manager 235. In this regard, the scheduling manager 235 may be configured to schedule a download data transfer in an attempt to achieve a maximum data rate for the download data transfer from an access point. According to some example embodiments, scheduling the download data transfer may include determining a predicted time when the maximum data rate will be available, and scheduling a transition from a sleep state to an active state for the apparatus 200 or another apparatus at the predicted time to perform the download data transfer. Additionally, or alternatively, according to some example embodiments, scheduling the download data transfer may include determining a predicted time when the maximum data rate
will be available based on network loading information, and scheduling a transition from a sleep state to an active state at the predicted time to perform the download data transfer Additionally, or alternatively, according to some example embodiments, scheduling the download data transfer may include negotiating with other communications devices connected to a common access point to determine a predicted time when the maximum data rate will be available, and scheduling a transition from a sleep state to an active state at the predicted time to perform the download data transfer Additionally, or alternatively, according to some example embodiments, scheduling the download data transfer may include generating a Quality of Service (QoS) class request associated with the download request, the QoS class request being configured to request a transfer of data at the maximum data rate
In example embodiments where the apparatus 200 is operating as an access point, the scheduling manager 235 may be configured to perform additional functionality For example, the scheduling manager may be configured to provide for transmission of a scheduling message to the user equipment for which the download was scheduled In this regard, the scheduling message may include information indicating when the user equipment will transition from a sleep state to an active state
Referring now to FIG 3, a more specific example apparatus in accordance with various embodiments of the present invention is provided The example apparatus of FIG 3 is a mobile terminal 10 configured to communicate within a wireless network, such as a cellular
communications network The mobile terminal 10 may be configured to perform the functionality of UE 101 and/or apparatus 200 as described herein More specifically, the mobile terminal 10 may be caused to perform the functionality of the download request receiver 230 and/or the scheduling manager 235 via the controller 20 In this regard, controller 20 may be an integrated circuit or chip configured similar to the processor 205 together with the I/O interface 206 Further, volatile memory 40 and non-volatile memory 42 may configured to support the operation of the controller 20 as computer readable storage media
The mobile terminal 10 may further include an antenna 12, a transmitter 14, and a receiver 16, which may be included as parts of a communications interface of the mobile terminal 10 The speaker 24, the microphone 26, the display 28, and the keypad 30 may be included as parts of a user interface
FIGs 4 and 5 illustrate flowcharts of example systems, methods, and/or computer program products according to example embodiments of the invention It will be understood that each block or operation of the flowcharts, and/or combinations of blocks or operations in the flowcharts, can be implemented by various means Means for implementing the blocks or operations of the flowcharts, combinations of the blocks or operations in the flowchart, or other functionality of example embodiments of the present invention described herein may include hardware, and/or a computer program product including a computer-readable storage medium having one or more computer program code instructions, program instructions, or executable computer-readable program code instructions stored therein In this regard, program code instructions may be stored on a memory device, such as memory device 210, of an example
apparatus, such as example apparatus 200, and executed by a processor, such as the processor 205. As will be appreciated, any such program code instructions may be loaded onto a computer or other programmable apparatus (e.g., processor 205, memory device 210, or the like) from a computer-readable storage medium to produce a particular machine, such that the particular machine becomes a means for implementing the functions specified in the flowcharts' block(s) or operation(s). These program code instructions may also be stored in a computer-readable storage medium that can direct a computer, a processor, or other programmable apparatus to function in a particular manner to thereby generate a particular machine or particular article of manufacture. The instructions stored in the computer-readable storage medium may produce an article of manufacture, where the article of manufacture becomes a means for implementing the functions specified in the flowcharts' block(s) or operation(s). The program code instructions may be retrieved from a computer-readable storage medium and loaded into a computer, processor, or other programmable apparatus to configure the computer, processor, or other programmable apparatus to execute operations to be performed on or by the computer, processor, or other programmable apparatus. Retrieval, loading, and execution of the program code instructions may be performed sequentially such that one instruction is retrieved, loaded, and executed at a time. In some example embodiments, retrieval, loading and/or execution may be performed in parallel such that multiple instructions are retrieved, loaded, and/or executed together. Execution of the program code instructions may produce a computer-implemented process such that the instructions executed by the computer, processor, or other programmable apparatus provide operations for implementing the functions specified in the flowcharts' block(s) or operation(s).
Accordingly, execution of instructions associated with the blocks or operations of the flowchart by a processor, or storage of instructions associated with the blocks or operations of the flowcharts in a computer-readable storage medium, support combinations of operations for performing the specified functions. It will also be understood that one or more blocks or operations of the flowcharts, and combinations of blocks or operations in the flowcharts, may be implemented by special purpose hardware-based computer systems and/or processors which perform the specified functions, or combinations of special purpose hardware and program code instructions.
FIG. 4 depicts one or more flowcharts of example methods for scheduling downloads from the perspective of a UE (e.g., UEs 110). The example method includes receiving a download request for a download data transfer. In this regard, the download request may have been generated to retrieve data for an application implemented on user equipment (e.g., UE 110 or the apparatus 200 when configured to operate as a UE). According to some example embodiments, the download request may indicate that the download data transfer is not time sensitive in, for example, a request parameter.
According to some example embodiments, the download request may be received from an application. The application may be requesting the download of data to support the functionality of the application. For example, an email application implemented by a processor included in a UE may be configured to generate a download request for email synchronization purposes. As
such, the email application may generate the download request to be received internal to the UE to facilitate download scheduling.
The example method of FIG. 4 also includes scheduling a download data transfer in an attempt to achieve a maximum data rate for the download data transfer at 410. According to some example embodiments, the maximum data rate may be the data rate between an access point and a UE. According to some example embodiments, scheduling the download data transfer may include determining a predicted time when the maximum data rate will be available, and scheduling a transition from a sleep state to an active state for a UE at the predicted time to perform the download data transfer. Additionally, or alternatively, according to some example embodiments, scheduling the download data transfer may include determining a predicted time when the maximum data rate will be available based on network loading information, and scheduling a transition from a sleep state to an active state at the predicted time to perform the download data transfer. Additionally, or alternatively, according to some example embodiments, scheduling the download data transfer may include negotiating with other communications devices connected to a common access point to determine a predicted time when the maximum data rate will be available, and scheduling a transition from a sleep state to an active state at the predicted time to perform the download data transfer. Additionally, or alternatively, according to some example embodiments, scheduling the download data transfer may include generating a Quality of Service (QoS) class request associated with the download request, the QoS class request being configured to request a transfer of data at the maximum data rate.
FIG. 5 depicts one or more flowcharts of example methods for scheduling downloads from the perspective of an access point, such as the access point 100. The example method includes receiving a download request for a download data transfer at 500. According to some example embodiments, the example method may include receiving a download request that originated from a UE at an access point. In this regard, as described above, an application on a UE may request a download, and the UE may transmit the download request to be received by an access point.
The example method of FIG. 5 also includes scheduling a download data transfer in an attempt to achieve a maximum data rate for the download data transfer at 510. According to some example embodiments, the maximum data rate may be the data rate between an access point and a UE. According to some example embodiments, scheduling the download data transfer may include determining a predicted time when the maximum data rate will be available for example, based on network loading information, and scheduling a transition from a sleep state to an active state for a UE at the predicted time to perform the download data transfer.
Further, the example method may include providing for transmission of a scheduling message to user equipment for which the download is scheduled. In this regard, the scheduling message may include information indicating when the user equipment will transition from a sleep state to an active state.
Many modifications and other embodiments of the inventions set forth herein will come to mind to one skilled in the art to which these inventions pertain having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be
understood that the inventions are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of the appended claims. Moreover, although the foregoing descriptions and the associated drawings describe example embodiments in the context of certain example combinations of elements and/or functions, it should be appreciated that different combinations of elements and/or functions may be provided by alternative embodiments without departing from the scope of the appended claims. In this regard, for example, different combinations of elements and/or functions other than those explicitly described above are also contemplated as may be set forth in some of the appended claims. Although specific terms are employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
Claims
1. A method comprising:
receiving a download request for a download data transfer, the download request having been generated to retrieve data for an application implemented on user equipment; and
scheduling the download data transfer to achieve at least a threshold data rate for the download data transfer from an access point.
2. The method of claim 1 , wherein scheduling the download data transfer comprises: determining a predicted time when at least the threshold data rate will be available; and scheduling a transition from a sleep state to an active state at the predicted time to perform the download data transfer.
3. The method of claim 1 , wherein scheduling the download data transfer comprises: determining a predicted time when at least the threshold data rate will be available based on network loading information; and
scheduling a transition from a sleep state to an active state at the predicted time to perform the download data transfer.
4. The method of claim 1 wherein scheduling the download data transfer comprises determining a predicted time when at least the threshold data rate will be available based on network loading information; and
wherein the method further comprises providing for transmission of a scheduling message to the user equipment, the scheduling message including information indicating when the user equipment will transition from a sleep state to an active state.
5. The method of claim 1 , wherein scheduling the download data transfer comprises: negotiating with other communications devices connected to the access point to determine a predicted time when at least the threshold data rate will be available; and
scheduling a transition from a sleep state to an active state at the predicted time to perform the download data transfer.
6. The method of claim 1 , wherein scheduling the download data transfer comprises generating a Quality of Service (QoS) class request associated with the download request, the QoS class request being configured to request a transfer of data at the at least the threshold data rate.
7. The method of claim 1 , wherein receiving the download request comprises receiving the download request, the download request indicating that the download data transfer is not time sensitive.
8. An apparatus comprising at least one processor and at least one memory including computer program code, the at least one memory and the computer program code configured to, with the at least one processor, cause the apparatus at least to perform:
receiving a download request for a download data transfer, the download request having been generated to retrieve data for an application implemented on user equipment; and
scheduling the download data transfer to achieve at least a threshold data rate for the download data transfer from an access point.
9. The apparatus of claim 8, wherein the apparatus caused to perform scheduling the download data transfer includes being caused to perform:
determining a predicted time when at least the threshold data rate will be available; and scheduling a transition from a sleep state to an active state at the predicted time to perform the download data transfer.
10. The apparatus of claim 8, wherein the apparatus caused to perform scheduling the download data transfer includes being caused to perform:
determining a predicted time when at least the threshold data rate will be available based on network loading information; and
scheduling a transition from a sleep state to an active state at the predicted time to perform the download data transfer.
11. The apparatus of claim 8, wherein the apparatus caused to perform scheduling the download data transfer includes being caused to perform determining a predicted time when at least the threshold data rate will be available based on network loading information; and
wherein the apparatus is further caused to perform providing for transmission of a scheduling message to the user equipment, the scheduling message including information indicating when the user equipment will transition from a sleep state to an active state.
12. The apparatus of claim 8, wherein the apparatus caused to perform scheduling the download data transfer includes being caused to perform:
negotiating with other communications devices connected to the access point to determine a predicted time when at least the threshold data rate will be available; and
scheduling a transition from a sleep state to an active state at the predicted time to perform the download data transfer.
13. The apparatus of claim 8, wherein the apparatus caused to perform scheduling the download data transfer includes being caused to perform generating a Quality of Service (QoS) class request associated with the download request, the QoS class request being configured to request a transfer of data at the at least the threshold data rate.
14. The apparatus of claim 8, wherein the apparatus caused to perform receiving the download request includes being caused to perform receiving the download request, the download request indicating that the download data transfer is not time sensitive.
15. The apparatus of claim 8, wherein the apparatus comprises a mobile terminal; and wherein the apparatus further comprises user interface circuitry and user interface software configured to facilitate user control of at least some functions of the mobile terminal through the use of a display and configured to respond to user inputs, and a display and display circuitry configured to display at least a portion of a user interface of the mobile terminal, the display and the display circuitry configured to facilitate user control of at least some functions of mobile terminal.
16. The apparatus of claim 15, further comprising an antenna for receiving the download data transfer.
17. A computer program product comprising at least one computer-readable storage medium having executable computer-readable program code instructions stored therein, the computer-readable program code instructions for causing an apparatus to perform:
receiving a download request for a download data transfer, the download request having been generated to retrieve data for an application implemented on user equipment; and
scheduling the download data transfer to achieve at least a threshold data rate for the download data transfer from an access point.
18. The computer program product of claim 17, wherein the computer-readable program code instructions for causing the apparatus to perform scheduling the download data transfer include computer-readable program code instructions for causing the apparatus to perform:
determining a predicted time when at least the threshold data rate will be available; and scheduling a transition from a sleep state to an active state at the predicted time to perform the download data transfer.
19. The computer program product of claim 17, wherein the computer-readable program code instructions for causing the apparatus to perform scheduling the download data transfer include computer-readable program code instructions for causing the apparatus to perform:
determining a predicted time when at least the threshold data rate will be available based on network loading information; and
scheduling a transition from a sleep state to an active state at the predicted time to perform the download data transfer.
20. The computer program product of claim 17, wherein the computer-readable program code instructions for causing the apparatus to perform scheduling the download data transfer include computer-readable program code instructions for causing the apparatus to perform determining a predicted time when at least the threshold data rate will be available based on network loading information; and
wherein the computer-readable program code instructions further comprise computer- readable program code instructions for causing the apparatus to perform providing for transmission of a scheduling message to the user equipment, the scheduling message including information indicating when the user equipment will transition from a sleep state to an active state.
21. The computer program product of claim 17, wherein the computer-readable program code instructions for causing the apparatus to perform scheduling the download data transfer include computer-readable program code instructions for causing the apparatus to perform:
negotiating with other communications devices connected to the access point to determine a predicted time when at least the threshold data rate will be available; and
scheduling a transition from a sleep state to an active state at the predicted time to perform the download data transfer.
22. The computer program product of claim 17, wherein the computer-readable program code instructions for causing the apparatus to perform scheduling the download data transfer include computer-readable program code instructions for causing the apparatus to perform generating a Quality of Service (QoS) class request associated with the download request, the QoS class request being configured to request a transfer of data at the at least the threshold data rate.
23. The computer program product of claim 17, wherein the computer-readable program code instructions for causing the apparatus to perform receiving the download request include computer-readable program code instructions for causing the apparatus to perform receiving the download request, the download request indicating that the download data transfer is not time sensitive.
24. An apparatus comprising:
means for receiving a download request for a download data transfer, the download request having been generated to retrieve data for an application implemented on user equipment; and
means for scheduling the download data transfer to achieve at least a threshold data rate for the download data transfer from an access point.
25. The apparatus of claim 24, wherein means for scheduling the download data transfer comprises:
means for determining a predicted time when at least the threshold data rate will be available; and
means for scheduling a transition from a sleep state to an active state at the predicted time to perform the download data transfer.
26. The apparatus of claim 24, wherein means for scheduling the download data transfer comprises:
means for determining a predicted time when at least the threshold data rate will be available based on network loading information; and
means for scheduling a transition from a sleep state to an active state at the predicted time to perform the download data transfer.
27. The apparatus of claim 24, wherein means for scheduling the download data transfer comprises determining a predicted time when at least the threshold data rate will be available based on network loading information; and
wherein the apparatus further comprises means for providing for transmission of a scheduling message to the user equipment, the scheduling message including information indicating when the user equipment will transition from a sleep state to an active state.
28. The apparatus of claim 24, wherein means for scheduling the download data transfer comprises:
means for negotiating with other communications devices connected to the access point to determine a predicted time when at least the threshold data rate will be available; and
means for scheduling a transition from a sleep state to an active state at the predicted time to perform the download data transfer.
29. The apparatus of claim 24, wherein means for scheduling the download data transfer comprises means for generating a Quality of Service (QoS) class request associated with the download request, the QoS class request being configured to request a transfer of data at the at least the threshold data rate.
30. The apparatus of claim 24, wherein means for receiving the download request comprises means for receiving the download request, the download request indicating that the download data transfer is not time sensitive.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/IB2009/052957 WO2011004219A1 (en) | 2009-07-07 | 2009-07-07 | Method and apparatus for scheduling downloads |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| PCT/IB2009/052957 WO2011004219A1 (en) | 2009-07-07 | 2009-07-07 | Method and apparatus for scheduling downloads |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2011004219A1 true WO2011004219A1 (en) | 2011-01-13 |
Family
ID=42136641
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/IB2009/052957 Ceased WO2011004219A1 (en) | 2009-07-07 | 2009-07-07 | Method and apparatus for scheduling downloads |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2011004219A1 (en) |
Cited By (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109871952A (en) * | 2017-12-01 | 2019-06-11 | 阿比特电子科技有限公司 | Electronic device, accelerator, acceleration method and acceleration system of neural network |
| CN113454934A (en) * | 2019-03-06 | 2021-09-28 | 杜比实验室特许公司 | Download control in a multi-server communication system |
| CN114915849A (en) * | 2021-02-10 | 2022-08-16 | 北京字跳网络技术有限公司 | Video preloading method, device, equipment and medium |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004114598A1 (en) * | 2003-06-25 | 2004-12-29 | Philips Intellectual Property & Standards Gmbh | A method of decentralized medium access control in a communications network |
| US20070248060A1 (en) * | 2006-04-21 | 2007-10-25 | Mooney Christopher F | Method of providing access information to an access terminal |
-
2009
- 2009-07-07 WO PCT/IB2009/052957 patent/WO2011004219A1/en not_active Ceased
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004114598A1 (en) * | 2003-06-25 | 2004-12-29 | Philips Intellectual Property & Standards Gmbh | A method of decentralized medium access control in a communications network |
| US20070248060A1 (en) * | 2006-04-21 | 2007-10-25 | Mooney Christopher F | Method of providing access information to an access terminal |
Non-Patent Citations (2)
| Title |
|---|
| HAFID A ET AL: "A quality of service negotiation approach with future reservations (NAFUR): a detailed study", COMPUTER NETWORKS AND ISDN SYSTEMS, NORTH HOLLAND PUBLISHING. AMSTERDAM, NL LNKD- DOI:10.1016/S0169-7552(97)00109-8, vol. 30, no. 8, 1 May 1998 (1998-05-01), pages 777 - 794, XP004122811, ISSN: 0169-7552 * |
| ROSU M C ET AL: "PAWP: A Power Aware Web Proxy for Wireless LAN Clients", MOBILE COMPUTING SYSTEMS AND APPLICATIONS, 2004. WMCSA 2004. SIXTH IEE E WORKSHOP ON WINDERMERE, CUMBRIA, UK 02-03 DEC. 2004, PISCATAWAY, NJ, USA,IEEE LNKD- DOI:10.1109/MCSA.2004.18, 2 December 2004 (2004-12-02), pages 206 - 215, XP010757460, ISBN: 978-0-7695-2258-6 * |
Cited By (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN109871952A (en) * | 2017-12-01 | 2019-06-11 | 阿比特电子科技有限公司 | Electronic device, accelerator, acceleration method and acceleration system of neural network |
| CN113454934A (en) * | 2019-03-06 | 2021-09-28 | 杜比实验室特许公司 | Download control in a multi-server communication system |
| CN113454934B (en) * | 2019-03-06 | 2024-04-05 | 杜比实验室特许公司 | Download control in a multi-server communication system |
| US12074939B2 (en) | 2019-03-06 | 2024-08-27 | Dolby Laboratories Licensing Corporation | Download control in multi-server communication system |
| CN114915849A (en) * | 2021-02-10 | 2022-08-16 | 北京字跳网络技术有限公司 | Video preloading method, device, equipment and medium |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103299710B (en) | For the method carrying out multipath scheduling based on look-up table | |
| EP4311314A1 (en) | Sleep scheduling method and device | |
| CN103563271B (en) | Data-Driven Adaptive Receive Chain Diversity Processing | |
| CN105684499B (en) | Coordination Techniques for Discontinuous Reception (DRX) Operation in Dual Connectivity Architectures | |
| US8199725B2 (en) | Rank indicator transmission during discontinuous reception | |
| US9955290B2 (en) | Opportunistic offloading of tasks between nearby computing devices | |
| CN102667666B (en) | For performing the method and apparatus of energy management via subsystem | |
| US7227847B2 (en) | Power management system and method for a wireless communications device | |
| US11157315B2 (en) | Method for process management and electronic device | |
| US20130107744A1 (en) | Systems, structures and associated processes for optimization of state transitions within wireless networks | |
| US8670806B2 (en) | Portable device for adaptive data communication control and method of operating the same | |
| CN106997351B (en) | A resource cache management method, system and device | |
| US9042243B2 (en) | Adaptive peer discovery based on non peer discovery transmissions and device density for Wi-Fi | |
| TWI488516B (en) | Mobile device and method for managing background data transmission | |
| CN102224715A (en) | Optimized polling in low resource devices | |
| TW201116115A (en) | Method and apparatus for mapping applications to radios in a wireless communication device | |
| WO2006066186A1 (en) | Methods and apparatus for operating transceiver systems of a wireless platform | |
| US9794320B2 (en) | Method and apparatus for providing web service in wireless communication system | |
| CN112369082A (en) | Determining resource control states based on power states | |
| CN103906204A (en) | Mobile terminal application energy-saving method, mobile terminal application energy-saving device and mobile terminal | |
| US20200183747A1 (en) | User Presence Prediction Driven Device Management | |
| WO2023246756A1 (en) | Computing power service method and apparatus, terminal, and core network device | |
| CN109246809B (en) | A terminal power saving method and system | |
| EP3766181A1 (en) | Sharing antenna across wireless endpoints | |
| WO2011004219A1 (en) | Method and apparatus for scheduling downloads |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 09786538 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| 122 | Ep: pct application non-entry in european phase |
Ref document number: 09786538 Country of ref document: EP Kind code of ref document: A1 |