WO2011022096A1 - Optimizing media content delivery based on user equipment determined resource metrics - Google Patents
Optimizing media content delivery based on user equipment determined resource metrics Download PDFInfo
- Publication number
- WO2011022096A1 WO2011022096A1 PCT/US2010/031652 US2010031652W WO2011022096A1 WO 2011022096 A1 WO2011022096 A1 WO 2011022096A1 US 2010031652 W US2010031652 W US 2010031652W WO 2011022096 A1 WO2011022096 A1 WO 2011022096A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- user equipment
- network
- media content
- metric
- content delivery
- 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
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/02—Traffic management, e.g. flow control or congestion control
- H04W28/0231—Traffic management, e.g. flow control or congestion control based on communication conditions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/11—Identifying congestion
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
- H04L41/0823—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
- H04L41/083—Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability for increasing network speed
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0882—Utilisation of link capacity
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0876—Network utilisation, e.g. volume of load or congestion level
- H04L43/0888—Throughput
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/123—Evaluation of link metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/12—Shortest path evaluation
- H04L45/124—Shortest path evaluation using a combination of metrics
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/24—Traffic characterised by specific attributes, e.g. priority or QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/38—Flow control; Congestion control by adapting coding or compression rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W24/00—Supervisory, monitoring or testing arrangements
- H04W24/08—Testing, supervising or monitoring using real traffic
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W28/00—Network traffic management; Network resource management
- H04W28/16—Central resource management; Negotiation of resources or communication parameters, e.g. negotiating bandwidth or QoS [Quality of Service]
- H04W28/18—Negotiating wireless communication parameters
- H04W28/22—Negotiating communication rate
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/18—Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/04—Registration at HLR or HSS [Home Subscriber Server]
Definitions
- the technical field of the present invention generally relates to systems and methods for optimizing data content delivery sessions by monitoring receiving device resources. More specifically, the invention allows for a data content delivery to be adjusted or rescheduled based on real time determinations of whether one or more user device resources are in a state of resource exhaustion.
- 3G, 3GPP LTE, LTE Advanced, or 4G cellular networks the task of increasing communications service capability and maximizing the utilization of existing network communications resources remains a key objective for most network service providers.
- Some of these networks include technologies that facilitate relatively fast, high data rate transmissions (e.g., Fiber-optic, Cable, and Digital Subscriber Line (DSL) networks), while others can only facilitate much slower data rate transmissions (e.g., 3G cellular networks).
- DSL Digital Subscriber Line
- 3G cellular networks Regardless of a network's type, topology, or employed technologies, almost all modern-day networks are susceptible to congestion or degradation due to a high demand for transferring an alarming amount of digital content between and amongst various network nodes.
- network congestion generally refers to a state of data transfer overload (a load that burdens network capacity) between links in a data communications network.
- QOS Quality of Service
- QOE Quality of Experience
- Mobile broadband services are also becoming very popular in modern society, where almost every teenager and adult in the U.S. owns at least one wireless communications device (e.g., a cellular phone or PDA). These services can provide a way for individuals to stay connected to the Internet while operating within and roaming between various wireless coverage areas.
- a concurrent trend is the huge increase in applications and media content distribution services that can facilitate the delivery of large, burdensome media content files to or from user equipment.
- Large media content file transfers have the signature feature of consuming significant amounts of network resources (i.e., channel bandwidth) over extended periods of time.
- Methods of enabling and making this particular data type delivery more efficient are very important to end users and service providers alike. The processes facilitating more efficient media content delivery are particularly relevant for wireless networks that have limited bandwidth resources.
- Most wireless networks operate using shared communications channels where concurrent, competing requests for channel access is commonplace.
- data transfers can be slowed or degraded during periods of network channel congestion (e.g., during periods of heavy network traffic) or during times when an end user is positioned in an area with relatively poor radio coverage or radio communications quality (e.g., in areas with physical or radio communications interference sources).
- Each of these problems can negatively impact network communications for an end user, however, congestion tends to more significantly impact a network service provider's QOS as well as the QOE encountered by its collective users. Accordingly, it would be advantageous to be able to distinguish between the two sources of network communications deficiency, by accurately determining if the cause of decreased communications throughput was due to a state of network congestion, a state or reduced radio communications quality, or both.
- network congestion e.g., link quality in the presence of one or more interference sources.
- network link quality e.g., link quality in the presence of one or more interference sources.
- This distinction is necessary, because when a wireless communications channel is operating at capacity, large media content file transfers may need to be slowed to avoid negatively impacting unrelated cross traffic that is concurrently sharing the same communications channel.
- an otherwise uncongested radio channel should proceed with the data content delivery as quickly as the network will allow, because the transfer session will likely not affect cross traffic (even when proceeding at a maximum transfer rate).
- channel resource utilization can be maximized at all times. This is so, because media content deliveries are generally considered to be lower priority data transfer tasks compared to other, less burdensome types of data communications, such as voice communications.
- the resident resource e.g., battery power, processor usage, available memory, etc.
- the present invention discloses a
- the user equipment may include, at least one memory having a resource manager stored therein, one or more processors, a resident power source, and a transceiver.
- the resource manager may be configured to determine one or more device metrics, compare the one or more device metrics to one or more device
- thresholds and generate an instruction to throttle a media content delivery when it is determined that at least one resource metric has exceeded a resource threshold value or that a local policy metric has achieved a local policy threshold.
- the at least one resource metric is a power supply metric of the resident power source or a processing
- the local policy metric is a current geographic location of the user equipment and the local policy threshold is a provider preferred geographic area threshold.
- the resource manager in accordance with another aspect of the invention, the resource manager
- the generated instruction is processed by the at least one processor to set an optimal data
- the generated instruction is transmitted to an external computing device that determines an optimal data transfer rate for the media content delivery based on the received instruction.
- 185 In accordance with another aspect of the invention is a computer-readable medium encoded with computer-executable instructions for optimizing a media content delivery to a user equipment, which when executed, performs a method including processes of: determining one or more user equipment metrics, comparing the one or more user equipment metrics to one or more device
- the method including the following processes: determining one or more user equipment metrics, comparing the one or more user equipment metrics to one or more device thresholds, and then generating an instruction to throttle a media content delivery when at least one resource metric has exceeded a resource threshold value or a local policy metric has achieved a local policy threshold.
- a computer-implemented method for optimizing a media content delivery to a user equipment including the following processes: initiating a media content delivery to a user equipment, detecting a power down instruction at the user equipment, and prompting a user to determine whether the user wishes to 205 continue the media content delivery or proceed with powering down the user equipment.
- the method processes further comprise prompting the user of the user equipment to connect the user equipment to a power supply in response to receiving an instruction to 210 continue the media content delivery.
- FIGURE 1 illustrates a perspective view of a distributed data 215 communications system in accordance with embodiments of the present invention
- FIGURE 2 illustrates a block diagram view of a service provider device in accordance with embodiments of the present invention
- FIGURE 3 illustrates a block diagram view of a user equipment in accordance with embodiments of the present invention
- FIGURE 4A illustrates a network topology with a user equipment positioned within various regional locations that have characteristics associated with different network communications states, in accordance with embodiments of the present invention
- FIGURE 4B illustrates link quality, maximum link throughput, and actual UE 225 throughput time-sequence graphs that are associated with the regional locations A and B depicted in FIG. 4A, in accordance with embodiments of the present invention
- FIGURE 5 illustrates a data communications system capable of performing link capacity sensing and data transfer rate optimization processes, in accordance 230 with embodiments of the present invention
- FIGURE 6 illustrates a flow diagram depicting network communications state determination and data content transfer rate assignment processes, associated with embodiments of the present invention
- FIGURE 7 illustrates a flow diagram depicting processes of peak network 235 link capacity comparisons with actual data content delivery throughput and subsequent data content delivery rate assignment, based on the comparative results, in accordance with embodiments of the present invention
- FIGURE 8 illustrates four representational block diagrams depicting various channel usage scenarios associated with processes of determining and using 240 surplus network capacity, in accordance with embodiments of the present invention
- FIGURE 9 illustrates a data communications system capable of performing network communications link congestion sensing and data transfer rate optimization processes, in accordance with embodiments of the present invention
- FIGURE 10 illustrates a cellular data communications system (with an
- HSPA cellular airlink capable of network communications link monitoring and data transfer rate optimization processes, in accordance with an embodiment of the present invention
- FIGURE 1 1 A illustrates plots of downlink response (DLRSP) and channel 250 quality indicator (CQI) report rates for various network locations (corresponding locations are depicted in FIG. 1 1 B) and environments, in accordance with embodiments of the present invention;
- DLRSP downlink response
- CQI channel 250 quality indicator
- FIGURE 11 B illustrates a network cell topology depicting various user equipment locations corresponding the DLRSP and CQI report rate plots of FIG. 255 1 1 A, in accordance with embodiments of the present invention
- FIGURE 12 illustrates a flow diagram depicting processes for determining if a user equipment's exhaustible resident resources have surpassed one or more resource thresholds and assigning data content delivery rates and/or preferred data transfer periods, based on the determinations, in accordance with
- FIGURE 13 illustrates four user equipment resource management scenarios where data content delivery may be altered, halted, or remain unimpeded, depending on whether resident device resources are determined to surpass one or more device resources thresholds, in accordance with embodiments of the present 265 invention.
- FIGURE 14 illustrates a flow diagram depicting local user equipment power down processes that allow a user to select whether to maintain or suspend a current data content delivery session(s), in accordance with an embodiment of the present invention.
- FIG. 1 illustrates a networked computing system 100 including various wireline and wireless computing devices that may be utilized to implement any of the network traffic and radio communications quality monitoring or data content transfer
- FIG. 1 The specific network configuration shown in FIG. 1 is intended to give an example of a high-level computing system capable of facilitating various network communications processes of the present invention, all of which are further described herein. As would be understood by those skilled in the Art, many
- the networked computing system 100 may include, but is not limited to, a group of service provider devices 1 10, 1 12, 1 14 and 1 16 (SPDs),
- server computers e.g., network controller devices
- any other common network device known in the Art such as a routers, gateways, or switch devices, which can support network resource allocation and/or digital data communications services to various user equipment (e.g., any of devices 108a-c, 124, 126a-c, 128, 130 and 132) within the networked computing system 100; a data communications
- 290 network 102 including both Wide Area Network (WAN) and Local Area Network LAN(S) portions); a variety of remote user equipment, including cellular phone or PDA devices 108a-c along with any other variety of portable wireless computing device well known in the Art (e.g., tablet computers netbooks, electronic book devices, handheld gaming units, personal music players, video recorders, Wi-FiTM
- the data communications network 102 may be connected to the data communications network 102 utilizing one or more wireless base stations 106a-b, or any other common wireless or wireline network communications technology; one or more network gateways, routers, or switch devices 1 16 that can facilitate data communications processes within the LAN(S) and between the LAN(S) and the WAN of the data
- 300 communications network 102 one or more local user equipment, including: laptop or netbook computers 120 and 128, wireless cellular phones or PDAs 126a-c, electronic book devices 130, handheld gaming units 132, personal music players, video recorders, Wi-FiTM devices, etc., that may be wirelessly connected to one or more local or remote network base stations 106a-b, 118, 120, and 122, or
- 305 optionally directly or indirectly connected to a backhaul portion of the network (e.g., to data communications network 102) via any common wireline or wireless communications technology known in the Art.
- any of the SPDs 1 10, 1 12, and 114 (including any of the network base stations 106a-b, 1 18, 120, and 122), the router, gateway, or switch
- 310 device(s) 1 16, or any of the remote or local user equipment 108a-c, 124, 126a-c, 128, 130, and 132 may be configured to run any known operating system, including but not limited to, Microsoft® Windows®, Mac OS®, Linux®, Unix®, Google® Chrome®, or any common mobile operating system, including Symbian®, Palm®, Windows® Mobile®, Mobile Linux®, Google® Android®, etc.
- Microsoft® Windows®, Mac OS®, Linux®, Unix®, Google® Chrome® or any common mobile operating system, including Symbian®, Palm®, Windows® Mobile®, Mobile Linux®, Google® Android®, etc.
- any of the SPDs 106a-b, 1 10, 1 12, 1 14, 116, 1 18, 120, and 122 may employ any number of common server, desktop, laptop, and personal computing devices.
- the user equipment 108a-c, 124, 126a-c, 128, 130, and 132 may include any combination of common mobile computing devices (e.g., laptop computers, netbook computers, cellular phones, PDAs, handheld gaming
- wireless communications capabilities employing any common wireless data commutations technology, including, but not limited to: Wi-FiTM, WiMAXTM, GSMTM, UMTSTM, LTETM, LTE AdvancedTM, etc.
- 325 communications network 102 may employ any of the following common communications technologies: optical fiber, coaxial cable, twisted pair cable, Ethernet cable, and powerline cable, along with any wireless communication technology known in the Art.
- any of the SPDs 1 10, 1 12, and 114 including any of the network base stations 106a-b, 1 18, 120, and 122, the
- router, gateway, switch device(s) 1 16, or any of the remote or local user equipment 108a-c, 124, 126a-c, 128, 130, and 132 may include any standard computing software and hardware necessary for processing, storing, and communicating data amongst each other within the networked computing system 100.
- 335 devices 106a-b, 108a-c, 1 10, 112, 1 14, 116, 1 18, 120, 122, 124, 126a-c, 128, 130, and 132 may include, but is not limited to: one or more processors, volatile and non-volatile memories, user interfaces, transcoders, and wireline and/or wireless communications transceivers, etc.
- any of the SPDs 1 10, 1 12, and 114 (including any of the
- the router, gateway, switch device(s) 1 16, or any of the remote or local user equipment 108a-c, 124, 126a-c, 128, 130, and 132 may be configured to include one or more computer-readable media (e.g., any common volatile or non-volatile memory type) encoded with a set of computer readable instructions, which when executed, performs a portion of one
- computer-readable media e.g., any common volatile or non-volatile memory type
- FIG. 2 shows a block diagram view of a SPD 200 that may be representative of any of the remote service provider devices SPDs 1 10, 1 12, and 1 14 (including
- the SPD 200 may include, but is not limited to, one or more processor devices including a central processing unit (CPU) 204.
- the CPU 204 may include an arithmetic logic unit (ALU, not shown)
- the CPU 204 is responsible for executing all computer programs stored on the SPD's 200 volatile (RAM) and nonvolatile (ROM) system
- the SPD 200 may also include, but is not limited to, an optional user interface 206 that allows a service provider administrator to interact with the SPD's 200 software and hardware resources; a software/database repository 208 including: a data transfer agent 210 (also referred to herein as an adaptive
- 365 throttling agent or ATA may facilitate real time adjustment of data transfer rates based on comparisons of maximum link throughput to actual link throughput received from one or more user equipment (as a feedback) or from a local or external link capacity monitor, an optional network link monitor 212 that may be capable of monitoring actual link throughput for particular network links of interest
- a link capacity sensing agent or LCSA link capacity sensing agent
- a link profiler 214 that is capable of determining a current throughput capacity for a series of network links between a sender and a receiver
- a subscriber devices profiles data base 216 that is able to store user equipment profile and resident exhaustible resource information (information pertaining to battery power, processor usage,
- a transceiver 220 for transmitting and receiving network data communications amongst various network user equipment (e.g., any of devices 108a-c, 124, 126a-c, 128, 130, and 132) and SPDs (e.g., any of SPDs 106a-b, 1 10, 1 12, 1 14, 1 18, 120, 122, and 1 16) utilizing the data communication network 102 of the networked computing system 100; and a system bus 222 that
- the SPD 200 data transfer agent 210 may be logically linked to the link profiler 214 and the optional network link monitor 212 (or alternately to an external network link monitor
- a sender and receiver device e.g., between a SPD 200 or a media content provider, and a user equipment 300
- a sender and receiver device may be optimally managed (e.g., by throttling a data transfer rate or selecting preferred periods for data content delivery) based on real time evaluations of network traffic and radio communications quality for communications
- 390 links that are part of the communications path between (and optionally including) the sending and receiving devices.
- FIG. 3 shows a block diagram view of a user equipment 300 that may be representative of any of the user equipment 108a-c, 124, 126a-c, 128, 130, and 132 in FIG. 1.
- the user equipment 300 may include, but is not limited to, one or
- processor devices including a central processing unit (CPU) 304.
- the CPU 304 may also include an arithmetic logic unit (ALU, not shown) that performs arithmetic and logical operations and one or more control units (CUs, not shown) that extract instructions and stored content from memory and then executes and/or processes them, calling on the ALU when necessary
- ALU arithmetic logic unit
- CUs control units
- the CPU 304 is responsible for executing all computer programs stored on the user equipment's 300 volatile (RAM) and nonvolatile (ROM) system memories, 302 and 308.
- RAM volatile
- ROM nonvolatile
- the user equipment 300 may also include, but is not limited to, a user interface 306 that allows a user to interact with its 300 software and hardware
- a software/database repository 308 including: a data transfer manager 310 that facilitates communications amongst the user equipment 300, various SPDs (e.g., any of SPDs 106a-b, 1 10, 1 12, 1 14, 1 16, 1 18, 120, and 122), network service providers (e.g., media content providers), as well as other user equipment (e.g., any of user equipment 108a-c, 124, 126a-c, 128, 130, and 132) utilizing the SPDs.
- network service providers e.g., media content providers
- other user equipment e.g., any of user equipment 108a-c, 124, 126a-c, 128, 130, and 132
- a network link monitor 312 that may be capable of monitoring actual link throughput for particular network links of interest (also referred to herein as a link capacity sensing agent or LCSA), a device resource monitor 314 that may be capable of monitoring resident device resources (e.g., such as power supply, processing,
- a transcoder 318 for formatting data communications prior to transfer
- a transceiver 320 for transmitting and receiving network communications amongst
- network user equipment e.g., any of user equipment 108a-c, 124, 126a-c, 128, 130, and 132
- media content providers e.g., any of SPDs 106a-b, 1 10, 1 12, 1 14, 1 16, 1 18, 120, and 122
- SPDs e.g., any of SPDs 106a-b, 1 10, 1 12, 1 14, 1 16, 1 18, 120, and 122
- system bus 322 that facilitates data communications amongst all the hardware resources of the user
- the user equipment's 300 data transfer manager 310 may be logically linked to the network link monitor 312 (or alternately to an external network link monitor), and the device resource monitor 314, such that the user equipment 300 can monitor external 430 network link capacities as well as its resident exhaustible resources in order to affect data transfers between itself and an external computing device (e.g., a SPD 200, a media content provider, or another user equipment).
- an external computing device e.g., a SPD 200, a media content provider, or another user equipment.
- a data delivery to the user in response to analyzing data obtained from the user equipment's 300 network link monitor 312 and/or device resource monitor 314.
- 435 equipment 300 may be optimally managed (e.g., by throttling a data transfer rate or selecting preferred periods for data content delivery). This management may be based on real time evaluations of network traffic and radio communications quality for communications links that are part of the communications path between (and optionally including) sending and receiving (e.g., the user equipment 300) devices.
- a user equipment 300 may request a delivery from a media content
- a sender device for a large media content file (e.g., a media content relating to music, a movie, a TV show, a software application, an e-book, a podcast, etc.) to their wireless device 300 using a specific wireless communications protocol that utilizes surplus network bandwidth for the delivery (e.g., throttling the delivery to transfer more data during periods with excess network bandwidth).
- a large media content file e.g., a media content relating to music, a movie, a TV show, a software application, an e-book, a podcast, etc.
- 450 or more network devices employing the communications protocol may sense a state of network channel congestion (e.g., using a network link monitor 212, 312) by: monitoring the performance of the media content file delivery over one or more network specific segments (e.g., by measuring/analyzing one or more network communications metrics), measuring
- the network device 200, 300 employing the protocol can, independently or in collaboration with
- one or more external network devices 200 also employing the protocol, throttle the media content delivery rate (e.g., via a data transfer agent 210 and/or a data transfer manager 310) to avoid negatively impacting other cross traffic communications.
- throttle the media content delivery rate e.g., via a data transfer agent 210 and/or a data transfer manager 310 to avoid negatively impacting other cross traffic communications.
- the wireless network channel may become uncongested as the user equipment 300 moves amongst different regional locations within the wireless network having varying wireless channel quality (e.g., by moving closer or farther away from the wireless base station or by moving to an area with more physical or radio interference sources; See e.g., FIG. 4A). Similar to the first scenario, the change in
- wireless channel link quality radio communications quality
- a data transfer rate may be optionally increased to improve the data content delivery.
- multiple user equipment e.g., any of the user equipment
- the network device 200, 300 employing the delivery
- 490 protocol senses the state of network congestion by monitoring the performance of the media content file delivery (e.g., using a network link monitor 212, 312).
- the monitor 212, 312 senses the slowing and throttles the delivery rate, but in this instance wireless channel traffic information may be utilized to determine when a channel is no longer congested, to avoid further slowing.
- a user equipment 300 may request a large media content file for delivery from a remote media content provider.
- the user equipment 300 employing a delivery protocol may be able to sense a current state of remaining battery power (e.g., using a device resource monitor 314). In an embodiment, when sufficient battery life remains at the user equipment 300, or
- the media content transfer may be allowed to proceed at a designated data transfer rate, without throttling.
- the data transfer manager 310 may facilitate throttling the data transfer by slowing or temporarily stopping communications in order to preserve the remaining battery
- FIG. 4A depicts a network topology 400 with a user equipment 404a-b (which may be representative of any of the user equipment 108a-c, 124, 126a-c, 128, 130, and 132 of FIG. 1 ) positioned within various regional locations (Regions
- a network base station 402a (which may be representative of any of the network base stations 106a-b, 1 18, 120, and 122 of
- FIG. 1 may supply wireless communication service to one or more regional user equipment 404a-b.
- the user equipment 404a may be located in an area of relatively good radio communications link quality 402b (i.e., Region A), however, sometime later the user equipment 404b may be relocated to another location within the cell that is characterized by poor radio communications link quality 402c
- Region B i.e., Region B
- references numbers 404a and 404b which indicate a change in the physical location of the device; this is also represented by the dotted line with an arrowhead indicating the direction of movement for the device between Regions A and B.
- radio communications link quality could occur without any movement of the user equipment 404a (e.g., when the user equipment 404a remains within the coverage area 402c of Region A).
- sources of interference e.g., physical interference sources that have moved within the link
- 530 path between the user equipment 404a and the base station 402a, or new radio communications interference, caused by the addition of pico or femto base station interference) may also cause states of reduced radio communications quality.
- FIG. 4B illustrates three separate graphs 410 depicting link quality 412, maximum link throughput 414, and actual UE throughput 416 as a function of time.
- link quality is shown to be significantly lowered, compared to its initial state in Region A.
- link quality may be determined by evaluating one or more network communications metrics or factors (collectively referred to herein as “network communications metrics"),
- MCS modulation and coding scheme
- SINR signal-and-interference-to-noise ratio
- the remaining free capacity on the wireless link etc.
- several of these network communications metrics may be dynamic and accordingly they may need to be averaged or filtered to establish time-stable values for accurate evaluation.
- the network communications metrics may be evaluated
- UE throughput 416 may be equal to the maximum link throughput 414 (e.g., when
- the network base station 402a has sufficient wireless resources to allow traffic with the user equipment 404a-b to flow at the maximum link rate), at other times, the UE throughput 416 may dip below the maximum link throughput 414, when the network base station 402a has insufficient wireless resources to simultaneously satisfy the traffic demands of the user equipment 404a-b as well as various other network
- Region A or Region B can be differentiated from shifts in link quality (e.g., the quality shift indicated between Regions A and B). It is generally unnecessary for the actual UE throughput 416 to exactly quantitatively track the calculated maximum link throughput 414 since persistent offsets can be nullified (subtracted away) using long term averages of the differences between the two
- FIG. 5 illustrates a data communications system 500 capable of performing link capacity sensing and data transfer rate optimization processes, in accordance with embodiments of the present invention.
- the components of the system include a receiver device 502 (e.g., any of the user equipment 108a-c, 124, 126a-c, 128,
- multiple channel segments or links 504a-b, 506, 508, and 510 e.g., such as between network base stations 106a-b, 1 18, 120, and 122, routers, gateways, switches 1 16, etc.
- a sender device 512 e.g., such as a media content provider or a SPD controller 1 10, 1 12, and 114
- LCSA link capacity monitor/link capacity sensing agent
- ATA ATA
- link profiler 516 ATA
- the network communications system depicts an embodiment illustrating how the invention could work, assuming that the multiple channel segments 504a-b, 506, 508, and 510 were connecting the sender 512 and receiver 502 devices.
- the channel segments 504a-b, 506, 508, and 510 may be capable of
- each network channel segment 504a-b, 506, 508, and 510 could be formed from one or more networked elements having a characteristic throughput capacity for carrying traffic across a current network channel segment (e.g., any of segments 504a-b, 506, 508, and 595 510).
- a characteristic throughput capacity for carrying traffic across a current network channel segment (e.g., any of segments 504a-b, 506, 508, and 595 510).
- throughput directionality e.g., swapping sender and receiver functions
- channel segments with greater downlink capacity than uplink capacity could in practice be very different (e.g., channel segments with greater downlink capacity than uplink capacity). It should be understood that these distinctions would not alter the network architecture depicted in system 500.
- the sender device 512 may transmit digital content (e.g., a media content file) to a receiving device 502 through a plurality of network segments 504a-b, 506, 508, and 510 at a particular point in time.
- digital content e.g., a media content file
- the sender 512 could also be concurrently orchestrating data delivery jobs to one or more other regional receivers 502, although for illustration only a
- each network channel segment 504a-b, 506, 508, and 510 is intended to convey its relative communications capacity.
- At least one network segment 504a has the property that its throughput capacity (depicted in the exploded view of the channel segment 504b, which could represent a network base station) can change over time due to factors that are
- the network segment 504a may be an intermediary device (e.g., a gateway, router, or switch 1 16) in a sequence of chained segments forming the network path from a sender 512 to a receiver 502, or it may be the last segment in the chain 504a-b, as would be typical in a wireless deployment where
- intermediary device e.g., a gateway, router, or switch 1 16
- segment 504a represented a network base station. It should be understood that there could be multiple, similar segments with time-varying capacity, although only one segment 504a is depicted having this characteristic in FIG. 5.
- the time-varying segment 504a may be in communication with, or it may alternately host, a link capacity monitor 518.
- link capacity monitor 518 could also be a part of a receiver 502 (e.g., a LCSA 312 that is part of a user equipment 200, or a LCSA 212 that is part of a SPD 200).
- the link capacity monitor 518 may be associated with an ingress, an egress, or an internal node element of the network segment 504a-b having the ability to determine the network segment's 504a capacity in real time.
- the ingress/egress node could be a base station (e.g., any of the network base stations 106a-b, 118, 120, and 122 of FIG. 1 ) providing coverage to a group of user equipment (e.g., any of the user equipment 108a-c, 124, 126a-c, 128, 130, and 132 of FIG. 1 ).
- a base station e.g., any of the network base stations 106a-b, 118, 120, and 122 of FIG. 1
- a group of user equipment e.g., any of the user equipment 108a-c, 124, 126a-c, 128, 130, and 132 of FIG. 1 .
- the link capacity monitor 518 may be part of the receiver 502, and the time-varying network segment 504b may be associated with a wireless channel of a network base station.
- the receiver 502 may be in a wireless cell served by the base station 504a and it would be capable of detecting and reporting the receive link quality to the link capacity monitor's 518,
- Implicit in the link capacity monitor 518 function is the assumption that it can monitor a link that handles all the network traffic occurring on the link between the sender 512 and the receiver 502, for a given receiver 502. For example, in FIG. 5, there is no
- the link capacity monitor's 518 function is to determine the network segment 504a capacity (e.g., the max link throughput 414 depicted in FIG. 4B) and then report it 520 to the sender's data transfer agent 514 and link
- profiler 516 e.g., the data transfer agent 210 and link profiler 214 of SPD 200.
- link capacity monitor 518 may monitor the network segment 504a having the property that the segment's throughput capacity 504b can change over time due to any of the factors listed above (related to changes in radio communications quality) that are unrelated to shared-link congestion. It
- the link capacity monitor 518 reports are specific to a particular receiver device 502 and identified in some scenarios by the receiver's network address (e.g., its network IP address) or another unique identifier.
- the data transfer agent 514 and/or the link profiler 516 may be part of a SPD 200, a sender 512, or any other backhaul connected
- the data transfer agent 514 and/or the link profiler 516 may be associated with or in communication with the receiver 502.
- the receiver 502 may determine the sender-to-receiver throughput performance and then report it 522 to the data transfer agent 514 and/or the link profiler 516. It is understood that this report may be specific to a
- receiver 660 particular receiver 502 and it may be identified in some scenarios by the receiver's network address (e.g., its network IP address) or another unique identifier.
- the receiver's network address e.g., its network IP address
- another unique identifier e.g., its network IP address
- the function of the link profiler 516 is to determine the current throughput capacity of the combined series of end-to-end network segments 504a-b, 506, 508, and 510, between the sender 512 and the receiver 665 502.
- the link profiler 516 may perform this function by receiving feedback reports
- the throughput feedback reports 522 may indicate the end-to-end throughput performance for the combined network segments 504a-b, 506, 508, and 510 connecting the sender 512 to the receiver 502.
- the link capacity throughput feedback reports 520 670 may indicate the throughput performance for only the network segment 504a associated with the link capacity monitor 518.
- the link capacity feedback 520 may indicate equal or lower throughput than the throughput feedback 522.
- the monitored link 504a may be determined to be the "bottleneck link" in the series of end to end segments 504a-b, 506, 508, and 510 connecting the sender 512 to the receiver 502.
- the link capacity feedback 520 may indicate greater throughput than the throughput feedback 522.
- the monitored link 680 504a may be determined NOT to be the "bottleneck link" in the series of end to end segments 504a-b, 506, 508, and 510 connecting the sender 512 to the receiver
- the data transfer agent 514 may elect to temporarily ignore the historical end-to-end link peak performance throughput value.
- the goal 685 may be to temporarily accept the monitored link 504a as the "bottleneck link" that is controlling/limiting the end-to-end network capacity.
- the data transfer agent 514 may elect to ignore the monitored link 504a capacity, since the "bottleneck link" is determined to be elsewhere within the network segments 504a-b, 506, 508, and 510 connecting the 690 sender 512 to the receiver 502.
- the objective in this case may be to rely on historical end-to-end link peak performance to determine the end-to-end network capacity.
- the link profiler 516 may present to the data transfer agent 514 the current end-to-end bottleneck throughput capacity (unrelated to
- the data transfer agent 514 may then use this information to distinguish between cases of shared network segment congestion and cases where a time varying capacity segment 504a has become
- the link profiler 516 may select the smallest of the multiple reported link capacities
- the function of the data transfer agent 514 may be to provide control and status information to the sender 512 that the sender 512 uses to control the pace of data flow to the receiver 502.
- the function of the data transfer agent 514 may be to provide control and status information to the sender 512 that the sender 512 uses to control the pace of data flow to the receiver 502.
- an adaptive throttling agent also referred to herein as a data transfer agent 210, may determine the maximum average throughput rate of the sender-to-receiver data flow, Rmax, which can then be enforced by either the receiver 502 or the sender 512, for example by pacing the rate of requests from the receiver 502 for subsequent portions of the data file being
- Rmax can be determined by the ATA 514 by comparing the end to end link capacity (calculated by the link profiler 516) with the throughput 522 reported by the receiver 502.
- the data transfer agent/ATA 514 may also receive monitored link capacity reports 520, which could be used to identify situations when
- the monitored link 504a is the bottleneck (using similar methods described for the link profiler 516).
- the data transfer agent 514 could optionally alter the method for calculating Rmax (e.g., by backing off Rmax below the current throughput capacity more or less aggressively).
- Rmax should not be set lower than the current end to end link throughput in cases where the
- FIG. 6 illustrates a flow diagram 600 depicting network communications state determination and data content transfer rate assignment processes, associated with an embodiment of the present invention. It should be understood
- this process 600 could be executed using one or more computer-executable programs stored on one or more computer-readable media located on any of the network computing system's 100 SPDs 106a-b, 1 10, 1 12, 114, 1 16, 1 18, 120, and 122 of FIG. 1 (or on any other common service provider device) or user equipment 108a-c, 124, 126a-c, 128, 130, and 132, without departing from the spirit and
- a link capacity monitor 518 may detect at least one communications metric (e.g., an employed modulation and coding scheme (MCS), a signal to interference plus noise ratio (SINR), a remaining link capacity, or a designated peak throughput for at least one service subscriber, etc.) associated with data communications between a sender 512 and a receiver
- MCS modulation and coding scheme
- SINR signal to interference plus noise ratio
- remaining link capacity or a designated peak throughput for at least one service subscriber, etc.
- a link communications throughput is diminished (e.g., by analyzing the at least one communications metric). If it is determined that a link communications throughput is diminished, the process proceeds to block 606, where a network communications state associated with the diminished communications throughput
- the process proceeds to block 612, where it is determined whether to change the rate of a data content transfer to a user equipment, based on the determined network communications state. Subsequently, the process ends at block 616. However, if it determined that the
- communications state is NOT associated with network congestion
- the process proceeds to decision block 616, where it is determined if the communications state is associated with reduced radio communications quality. If the communications state is NOT associated with reduced radio communications quality, then the process ends at block 616. However, if the communications state 760 is associated with reduced radio communications quality, then the process proceeds to block 614 where a rate of a data content transfer is maintained to a user equipment. This is so, because the rate of data content transfer will likely not affect cross traffic, due to the fact that the communications state is not associated with network congestion. Subsequently, the process ends at block 616.
- FIG. 7 illustrates a flow diagram 700 depicting processes of peak network link capacity comparisons with actual data content delivery throughput and subsequent data content delivery rate assignment, based on the comparative results, that are associated with an embodiment of the present invention. It should be understood that this process 700 could be executed using one or more
- 770 computer-executable programs stored on one or more computer-readable media located on any of the network computing system's 100 SPDs 106a-b, 110, 1 12, 1 14, 1 16, 1 18, 120, and 122 of FIG. 1 (or on any other common service provider device) or user equipment 108a-c, 124, 126a-c, 128, 130, and 132, without departing from the spirit and scope of the present invention.
- a peak a peak
- link capacity associated with at least one network communications metric is determined.
- decision block 704 it is determined if a data content delivery throughput is less than the determined peak link capacity, within a service provider specified tolerance. If the data content delivery throughput is less than the determined peak link capacity, then the process proceeds to block 708, where the
- data content delivery is determined to be congested and the data delivery rate can be reduced (e.g., throttled) to alleviate the congested link state.
- decision block 710 it is determined if the data content delivery throughput has changed (e.g., due to relocation of the user equipment or due the addition of an interference source). If it is determined if the data content delivery throughput has changed (e.g., due to relocation of the user equipment or due the addition of an interference source). If it is determined if the data content delivery throughput has changed (e.g., due to relocation of the user equipment or due the addition of an interference source). If it is determined if the data content delivery throughput has changed (e.g., due to relocation of the user equipment or due the addition of an interference source). If it is determined if the data content delivery throughput has changed (e.g., due to relocation of the user equipment or due the addition of an interference source). If it is determined if the data content delivery throughput has changed (e.g., due to relocation of the user equipment or due the addition of an interference source). If it is determined if the data content delivery throughput has changed (e.g., due to relocation of the user equipment or due the addition of an interference source
- FIG. 8 illustrates four representational block diagrams 800 depicting various channel usage scenarios associated with processes of determining and using surplus network capacity, in accordance with embodiments of the present
- the first channel resource diagram depicts a shared channel 804 with a total traffic throughput capacity depicted by the size of the block 802. A portion of this capacity may be being consumed by cross traffic 806, which can be defined to
- cross traffic 805 be traffic that is not involved in a content file delivery job controlled a data transfer agent/ATA 514 of this invention. It should be understood that cross traffic generally has higher priority than content delivery traffic for the purposes of this invention. For example, voice data communication cross traffic would generally be more important to maintain than media content file delivery processes.
- the shared channel is being occupied by cross traffic 812 and content delivery traffic 810 with the combined effect that the sum of the traffic fully consumes the channel.
- the block on the left 808 illustrates the volume of offered traffic for content file delivery. As is shown, both the cross traffic 812 and the
- content delivery traffic 810 are constrained to less than the offered volume 808 (e.g., 812 is smaller than 806 and 810 is smaller than 804), so the channel is congested. This may be the situation when fair-share transport protocols such as TCP arbitrate the throughput on shared links.
- a goal of this invention is to achieve the fourth channel resource diagram scenario (the one depicted on the far right in FIG. 8) in cases where the offered volume of content delivery traffic exceeds the available surplus
- the second channel resource diagram corresponds to the non-ideal default situation where ordinary fair-share transport protocols (e.g., TCP) are used.
- the third channel resource diagram illustrates the improved, but still non- ideal situation, where cross traffic is unaffected by aggressively throttling the content delivery traffic, but the shared channel may still have remaining surplus
- FIG. 9 illustrates a data communications system 900 capable of performing network communications link congestion sensing and data transfer rate optimization processes, in accordance with embodiments of the present invention.
- the components of the system 900 include a receiver device 902 (e.g., any of the user equipment 108a-c, 124, 126a-c, 128, 130, and 132 of FIG. 1 ), multiple channel segments or links 904a-b, 906, 908, and 910 (e.g., such as network base stations 106a-b, 118, 120, and 122, routers, gateways, switches 1 16, etc.), a sender device 914 (e.g., such as a media content provider or a SPD controller 1 10,
- a congestion sensing agent 916 850 1 12, and 1 14
- a congestion sensing agent 916 850 1 12, and 1 14
- a congestion sensing agent 916 850 1 12, and 1 14
- a congestion sensing agent 916 850 1 12, and 1 14
- a congestion sensing agent 916 850 1 12, and 1 14
- a congestion sensing agent 916 850 1 12, and 1 14
- a congestion sensing agent 916 850 1 12, and 1 14
- ATA adaptive throttling agent
- system 900 depicts how the invention would work in a scenario where a number of network link segments 904a-b, 906, 908, and 910 connect a path between a sending node 902 and a receiving node 914.
- a number of network link segments 904a-b, 906, 908, and 910 connect a path between a sending node 902 and a receiving node 914.
- the data transfer agent/ATA 912 may be associated with the sending node 914 as either an integrated sender unit or as a separate network element.
- the data transfer agent 912 can control the throughput of data sent to the receiver 902, by monitoring throughput feedback 920 (that is based on the current throughput performance of the network) and comparing it with
- the link profiler 516 in FIG. 5 is not shown to simplify the illustration (its functionality is incorporated within the data transfer agent 912). It should be understood that the elements in FIG. 5 and FIG. 9 could be joined in a single embodiment (e.g., combining the two aspects of the invention), without departing from the spirit and the scope of the present invention.
- the congestion sensing agent (CSA) 916 may be associated with one of the network link segments 904a-b, 906, 908, and 910.
- the function of the CSA 916 is to provide surplus capacity feedback reports 918 to the data transfer agent 912.
- the feedback may describe the current capacity of the monitored link 904a and the portion/fraction of that capacity
- unrelated cross traffic may be defined as traffic that is not involved in a data file delivery job controlled by processes of the present invention.
- the feedback may also include the portion/fraction of capacity taken up by data file delivery jobs (e.g.,
- the CSA 916 is assumed to monitor a link 904a that handles all the traffic between the sender 914 and receiver(s) 902. For example, there is no other network segment other than the monitored link 904a connecting the adjacent segment 906 to the receiver 902.
- the data transfer agent 912 uses the surplus capacity feedback in cases where the monitored link 904a might otherwise be under filled by the backoff policy applied by the data transfer agent 912. Based on the feedback, the data transfer agent 912 may elect to dynamically alter the backoff policy in order to submit more traffic into the network until the monitored link 904a is filled or
- the surplus capacity feedback reports 918 may include the individual and sum use of the monitored link 904a for one or a plurality of content delivery jobs.
- these jobs can be classified by transport layer flow ID (e.g. TCP port number), a receiver network address, or any other unique
- the data transfer agent 912 may use this information to determine which content delivery sessions need to be adjusted/throttled in order to achieve the optimum aggregate throughput across the monitored link 904a.
- purposely relaxing the backoff policy may risk congesting
- 905 904a were placed on the last link in a chain of links 904, 906, 908, and 910 (as is depicted in FIG. 9), between a sender 914 and a receiver 902 (e.g., a wireless airlink) and known to be (or likely to be) the bottleneck link by network architecture design. In this case, completely filling the monitored link 904a would present little risk to other links in the network.
- a sender 914 and a receiver 902 e.g., a wireless airlink
- the monitored link 904a may or may not be included in the path of multiple receivers (e.g., any of user equipment 108a-c, 124, 126a-c, 128, 130, and 132 of FIG. 1 ) connected to a single sender 914. In that case, only those receivers 902 with a path that includes the monitored link 904a should have their backoff policy adjusted. In the preferred embodiment, this scenario may be
- the CSA 916 obviated by installing the CSA 916 on a link where traffic for one or a plurality of receivers (e.g., any of user equipment 108a-c, 124, 126a-c, 128, 130, and 132) is guaranteed by network architecture to pass through the link 904a (e.g., a wireless airlink of a cellular base station). Then, by using the network addresses of the receivers 902 attached to the link 904a, the CSA 916 can relay to the data transfer
- a link e.g., a wireless airlink of a cellular base station
- the receiver 902 may know the identity of the CSA 916 (e.g. identified by base station ID and sector for a wireless base station) and the receiver 902 may report that information so that the identity of the 925 receiver 902 can be correlated with the appropriate CSA report.
- the CSA 916 may be integrated within the receiver 902 so that the CSA report and CSN identity can be sent along with its network address directly to the data transfer agent 912.
- FIG. 10 illustrates a cellular data communications system 1000 (with an
- the system 1000 consists of a downlink client 1014 (DLC, that is optionally part of a DLC
- CDN content distribution node server 1016
- a network base station 1004 e.g., a nodeB
- RNC radio network controller 1006
- 940 network such as the Internet 1010 between the RNC 1006 and CDN 1012.
- communications between the CDN server 1016 and the DLC 1014 may be facilitated by a forward content delivery channel 1026, and a reverse uplink control channel 1024.
- a forward content delivery channel 1026 may be facilitated by a forward content delivery channel 1026, and a reverse uplink control channel 1024.
- data delivery channels are indicated by a solid line (e.g., 1026, and 1020), whereas control channels are
- the UCCH 1024 carries the DLREQ's as well as information which allows the CDN server 1016 to distinguish whether the radio link between the base station 1004 and user equipment 1002 is congested or running under its peak rate, due to suboptimal radio conditions (e.g., conditions caused by interference). This information may include the user equipment's 1002
- the DLREQ carries information including the DLC 1014 ID, actual burst transfer rate R, the imposed average rate ⁇ R> (from interjected wait intervals), as well as the size of the next piece of the file to transmit.
- the base station 1004 for a given 3G HSPA channel, the base station 1004
- HS-SCCH forward high-speed shared control channel
- HS-DSCH forward high-speed downlink shared channel
- HS-DPCCH reverse highspeed dedicated physical control channel
- the HS-DSCH 1020 may be used to carry the actual bearer data to the user equipment 1002.
- the HS-DPCCH 1022 can carry the CQI reports and radio link packet ACK/NACK messages to the base station 1004.
- the CQI reports may be sent at relatively high rates (e.g., at 500 Hz) allowing the base station 1004 to rapidly adjust the forward channel modulation coding scheme (MCS) as well as the MCS.
- MCS forward channel modulation coding scheme
- the CDN server 1016 may keep track of the peak
- the server 1012 may select the appropriate metric to determine whether the radio link is congested or merely operating sub-optimally due to local channel conditions (e.g., such as
- determining the peak allowed average throughput rate Rmax may be based on comparing MIN(radio link peak capacity, peak useable network capacity) with the observed actual burst throughput rate R. In other words, if the radio link peak capacity for a the user equipment 1002 is lower than its profiled peak network
- radio link peak capacity is used in comparison with the observed burst throughput to determine Rmax.
- the CDN server 1016 also monitors the available channel surplus capacity (reported by its clients) and tracks which DLC 1014 clients are operating on that channel.
- the CDN server 1016 can use this information to identify congestion 995 situations where many concurrent DLC sessions are sub-optimally using the channel, adjusting the Rmax calculations so that the channel is fully used. For example, the following formula may facilitate this calculation adjustment:
- Rmax' Rmax + BWsurplus / NumJobs
- NumJobs the number of active UE on the wireless channel
- the calculated Rmax could be increased by sharing the surplus with the other DLC sessions (e.g., equally in proportion to the number of jobs, or in some scenarios by some weighted fraction based on job priority).
- this situation can arise when sensed congestion by the
- CDN server 1016 comes primarily from other DLC clients (not shown) rather than unrelated cross traffic. In those situations, depending on the backoff algorithm used to calculate Rmax, the server 1012 can instruct each DLC 1014 to reduce its average throughput rate to allow cross traffic preferential access to the channel. In
- the 1020 1004 and the user equipment 1002 is normally the bottleneck network segment between the CDN server 1016 and DLC 1014, as is typical of actual wireless access networks.
- another network segment turns out to be the bottleneck (e.g., in the 3G core 1008) and at the same time the user equipment 1002 were experiencing poor radio link conditions (e.g., due to one or more
- the CDN server 1016 might back off less aggressively than if it were simply using the peak network capacity for comparison as to the degree of network congestion.
- the base station 1004 may not be possible for the base station 1004 to provide broadcast updates to the user equipment 1002 of the surplus radio
- channel capacity i.e., custom messaging capability may not be available.
- the CDN server 1016 could still identify the self-backoff condition by pre-provisioned knowledge or estimation of the radio link capacity (i.e. associated with the RBSID or other shared radio channel identifier).
- the CDN server 1016 could time multiplex concurrent DLRSP bursts so that the total
- the server 1012 could process the requests in order, but it may temporarily hold back requests so that a maximum number of concurrent responses, being transmitted end to end, was not exceeded. Doing this could introduce additional
- wireless networks may be employed without departing from the spirit and scope of the present invention.
- These alternate networks may include, but are not limited to: 3G networks such as CDMA2000 /
- FIG. 1 1 A depicts a graph 1 100 of downlink response (DLRSP) and channel quality indicator (CQI) report rates for various network locations (with corresponding locations depicted in FIG. 11 B) and environments, in accordance with embodiments of the present invention.
- DLRSP downlink response
- CQI channel quality indicator
- Rpeak(IP) is the profile peak bandwidth for the UE IP address (assuming ideal conditions with no congestion and without reduced radio communications quality).
- the horizontal axis relates to time, and the plotted points A, B, C, D, and E, each represent positional changes over a period of time for a user equipment that moves amongst various network cells (See the UE path
- the R(DLRSP) curve 1 106 tracks the R(CQI) curve 1 108, both of which are below Rpeak(IP). This tracking indicates that there is no substantial link congestion, however the radio communications throughput changes in response to radio communications signal strength (e.g., related to a UE's proximity
- both the R(DLRSP) curve 1 106 and the R(CQI) curve 1 108 are significantly higher than they are at position B, even though the UE at position A and position B may be roughly equidistant from the base station 1 1 18. This
- 1075 phenomenon may be due to the fact that there is an additional interference source 1 124 between the UE at position B and the base station 11 18. Due to the fact that there is no network congestion to which decreased throughput can be attributed to, the data transfer rate for the UE communications should be maintained (no backoff is required because it will likely not affect aggregate user throughput).
- the R(DLRSP) curve 1 106 is seen to be much lower than the R(CQI) curve 1 108. This is an indication of network congestion. Accordingly, the UE communications should be throttled to alleviate congestion on the link and prioritize cross traffic communications (e.g., voice communications). Then in Region ll/lll at position D, as the user equipment
- the R(DLRSP) curve 1 106 is again tracking the R(CQI) curve 1 108. This is likely due to the fact that the state of network congestion is alleviated by communications with base station 1 122, which may have a much lower traffic load than that of base station 1 120. Unfortunately, the data transfer rate is still very low due to the distance between the UE at position D
- Region IV at position E within cell 1 1 16, the UE transitions to a location very close to base station 1 122.
- the R(DLRSP) curve 1 106 is tracking the R(CQI) curve 1 108, so there is no substantive network
- FIG. 12 illustrates a flow diagram 1200 depicting processes for determining if a user equipment's exhaustible resident resources have surpassed one or more resource thresholds and assigning data content delivery rates and/or preferred
- this process 1200 could be executed using one or more computer-executable programs stored on one or more computer-readable media located on any of the network computing system's 100 user equipment 108a-c, 124, 126a-c, 128, 130, and 132, or on any of the SPDs 106a-b, 1 10, 1 12, 1 14, 116, 1 18, 120, and 122 of
- FIG. 1 (or on any other common service provider device) or without departing from the spirit and scope of the present invention.
- a state of one or more device resource metrics, related to device communications and/or performance characteristics, is/are determined using a device resource monitor.
- the device resource monitor In an embodiment, the device resource monitor
- 1110 may be a part of the user equipment (108a-c, 124, 126a-c, 128, 130, and 132) and in another embodiment, the device resource monitor may be a part of a SPD (106a-b, 1 10, 1 12, 1 14, 1 16, 1 18, 120, and 122).
- decision block 1204 it is determined if the determined resource metric(s) exceed one or more corresponding resource threshold(s). If it is determined that none of the resource metric(s)
- 1120 throttling process requires an "active device" delivery scenario.
- the process proceeds to block 1210 where the data content delivery is restricted to periods when a receiving device is actively engaged in data communications. Subsequently, the process proceeds to block 1210
- FIG. 13 illustrates four user equipment resource management scenarios
- 1135 equipment resource management scenarios 1300, 1310, 1320, and 1330 may relate to rate or time periods at which content can be delivered to a receiving device. It should be understood that the cellular phones depicted in each of the four diagrams 1302, 1312, 1322, and 1332 could be representative of any of the user equipment 108a-c, 124, 126a-c, 128, 130, and 132 in FIG. 1.
- the receiver
- 1140 1302, 1312, 1322, and 1332 may be a portable wireless device with limited local resources (e.g., battery capacity, CPU capacity, memory capacity, resource constraining local policy rules, etc.).
- limited local resources e.g., battery capacity, CPU capacity, memory capacity, resource constraining local policy rules, etc.
- a particular file content delivery should not further accelerate the resource exhaustion, particularly if critical resource threshold values
- a delivery can be throttled to slow or stop delivery once a threshold resource level is reached. For instance, shown in the first scenario 1300, if the receiving device's 1302 local battery supply 1304 is determined to reach or surpass a power
- the device's 1302 delivery rate may proceed unimpeded 1306 (as indicated by the relatively wide communications indicator 1306) subject to the sender's and network's capacity to deliver the data content.
- the delivery rate 1155 1316 may be reduced or even stopped completely (as indicated by the relatively narrow communications indicator 1316). In an embodiment, this may be achieved by the receiving device monitoring its own resource levels and proportionally pacing new requests for the next piece of a content file being delivered to it. In an embodiment, a delivery rate can be modulated by communicating the resource
- a third scenario 1320 multiple resource factors could be combined to influence a content file delivery rate. For example, if a receiving device 1322 was connected to power mains/source 1328, and its battery were being charged, then a
- 1165 low battery level 1324 could be ignored and the content delivery rate 1326 could proceed unimpeded (as indicated by the relatively wide communications indicator 1326). It should be understood that although battery capacity is the primary example, other resources or derived metrics based on those resources could also be used such as how heavily the device processor was being used, or
- the delivery of content can be arranged to coincide with periods when the device is otherwise active with the purpose of allowing the device otherwise to enter a resource-saving sleep/idle mode. As illustrated in the fourth
- the receiving device 1322 may restrict communication with the sender to periods when the receiver 1332 is otherwise actively communicating 1334. For example the receiving device 1332 could pace new requests for the next piece of the content file 1336 to coincide with intermittent required or scheduled network signaling transmissions 1334, such as paging responses or in other
- FIG. 14 illustrates a flow diagram 1400 depicting local user equipment power down processes that allow a user to select whether to maintain or suspend a
- a media content delivery session to a user equipment is initiated. Then at decision block 1404 it is determined if a user equipment has
- the user equipment is prompted (at the user equipment) to determine whether they wish to continue the media content delivery or power down the user equipment. Subsequently, at decision block 1410 it is determined if the user has elected to continue with the media content delivery. If the user has elected to continue with their media content delivery, then at block 1412 the user is prompted (at their user
- a user may request a content delivery to their portable battery-powered device (e.g., any of user equipment 108a-c, 124, 126a-c, 128, 130, and 132 of FIG. 1 ).
- the delivery may be proceeding in the background.
- the user may decides to power-off the device (e.g., prior to the user going to sleep at night in order to save device battery power).
- the ongoing content delivery session may be detected and a user alert/prompt informs the user that a data content delivery session is ongoing. The user is asked via the alert/prompt whether they wish to continue the content data
- a user alert/prompt may request the user to connect the device to a power mains/source (in order to preserve/recharge the device's battery resources) and the content delivery session can continue.
- the session may be paused and it can resume when the
- the invention may consist of a software algorithms/modules running on a mobile user equipment (e.g., on any of the user equipment 108a-c, 124, 126a-c, 128, 130, and 132 of FIG. 1 ) and in some embodiments on a base station (e.g., on any of the base stations 106a-b, 1 18, 120,
- a mobile user equipment e.g., on any of the user equipment 108a-c, 124, 126a-c, 128, 130, and 132 of FIG. 1
- a base station e.g., on any of the base stations 106a-b, 1 18, 120,
- a base station controller e.g., on any of the controllers devices 1 10, 1 12, and 1 14 of FIG. 1
- access service node e.g., access point, manager, communication module, etc.
- remote sender/receiver in communication with the user equipment.
- the user equipment software may continually evaluate
- the user equipment may use these inputs to calculate the peak link capacity defined as the throughput the user equipment could achieve if not otherwise limited by shared channel traffic
- the peak link capacity could equally be determined remotely (e.g., by a base station or base station controller or any other external computing module communicating with the user equipment).
- a user equipment when a user equipment is performing a content file delivery, if the delivery throughput is at or near the calculated peak link capacity,
- the end-to-end delivery path may be considered to be uncongested and the transfer can proceed unthrottled. If the delivery throughput is lower than the calculated peak link capacity (within a predetermined tolerance level), then the end-to-end delivery path may be determined to be congested and the transfer may be slowed to avoid impacting unrelated cross traffic using the channel. In an
- the calculated wireless peak link capacity may vary so that a benefit of the invention is that by communicating the current peak link capacity, the end-to- end throughput variation is not confused by the throttling algorithm with shared channel congestion that similarly slows content file delivery performance.
- the invention may address the amount of throughput throttling or backoff the system should apply in order to minimally affect concurrent unrelated cross traffic using a shared wireless channel.
- a software algorithm/module running on a base station or alternately, a base station controller, or any other well known SPD) periodically determines the aggregate
- the algorithm may also periodically determine the aggregate channel throughput available to user traffic. The difference between these two measurements indicates the remaining surplus capacity on the channel that is available for content file transfers. In scenarios where an aggregate shared channel is congested, the surplus capacity indication
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Quality & Reliability (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
A user equipment for optimizing a media content delivery based on a state of resident resources. The user equipment may include a memory component having a resource manager application stored therein, one or more processor components, a resident power source, and a transceiver. The resource manager is configured to determine one or more device resource metrics, compare the device resources metric(s) to one or more corresponding device resource thresholds(s), and then generate an instruction to throttle a media content delivery when it is determined that at least one resource metric has exceeded a resource threshold value or that a local policy metric has achieved a local policy threshold.
Description
OPTIMIZING MEDIA CONTENT DELIVERY BASED ON USER EQUIPMENT DETERMINED RESOURCE METRICS
INVENTORS:
Jeffrey P. Harrang
David B. Gibbons
CROSS REFERENCE TO RELATED APPLICATIONS
The present application claims the benefit of U.S. Provisional Application No. 61/235,297, filed August 19, 2009.
TECHNICAL FIELD
The technical field of the present invention generally relates to systems and methods for optimizing data content delivery sessions by monitoring receiving device resources. More specifically, the invention allows for a data content delivery to be adjusted or rescheduled based on real time determinations of whether one or more user device resources are in a state of resource exhaustion.
BACKGROUND ART
With the evolution of modern data communications networks, vast amounts of digital content can now be readily transferred amongst end users, media content providers, and network service providers, at relatively high data transfer rates at almost any location. Whether digital content distribution occurs over wireline networks, such as fiber-optic or cable networks, or over wireless networks, such as
3G, 3GPP LTE, LTE Advanced, or 4G cellular networks, the task of increasing communications service capability and maximizing the utilization of existing network communications resources remains a key objective for most network service providers.
Over the past decade, consumer exposure to state-of-the-art digital media content distribution and playback technologies (e.g., tablet computers, netbooks, multi-function cellular phones, PDAs, electronic-book devices, etc.) has created a significant demand for improved digital content delivery capability, and most service providers have struggled to provide sufficient communications infrastructure to keep up with this growing consumer demand. Presently, there are many different types of data communications networks available that can function
independently (e.g., as Local Area Networks or LANs) or collectively as part of a group of interconnected networks (e.g., Wide Area Networks or WANs), such as the World Wide Web. Some of these networks include technologies that facilitate relatively fast, high data rate transmissions (e.g., Fiber-optic, Cable, and Digital Subscriber Line (DSL) networks), while others can only facilitate much slower data rate transmissions (e.g., 3G cellular networks). Regardless of a network's type, topology, or employed technologies, almost all modern-day networks are susceptible to congestion or degradation due to a high demand for transferring an alarming amount of digital content between and amongst various network nodes.
As would be understood by those skilled in the art, network congestion generally refers to a state of data transfer overload (a load that burdens network capacity) between links in a data communications network. These heavy loads typically degrade a network's Quality of Service (QOS) and user's Quality of Experience (QOE). Some negative effects of network congestion, affecting QOS/QOE, may include queuing delay, packet loss, and the blocking of new and existing connections.
Mobile broadband services are also becoming very popular in modern society, where almost every teenager and adult in the U.S. owns at least one wireless communications device (e.g., a cellular phone or PDA). These services can provide a way for individuals to stay connected to the Internet while operating within and roaming between various wireless coverage areas. A concurrent trend is the huge increase in applications and media content distribution services that can facilitate the delivery of large, burdensome media content files to or from user equipment. Large media content file transfers have the signature feature of consuming significant amounts of network resources (i.e., channel bandwidth) over extended periods of time. Methods of enabling and making this particular data type delivery more efficient are very important to end users and service providers alike. The processes facilitating more efficient media content delivery are particularly relevant for wireless networks that have limited bandwidth resources.
Most wireless networks operate using shared communications channels where concurrent, competing requests for channel access is commonplace. In these networks, data transfers can be slowed or degraded during periods of network channel congestion (e.g., during periods of heavy network traffic) or during
times when an end user is positioned in an area with relatively poor radio coverage or radio communications quality (e.g., in areas with physical or radio communications interference sources). Each of these problems can negatively impact network communications for an end user, however, congestion tends to more significantly impact a network service provider's QOS as well as the QOE encountered by its collective users. Accordingly, it would be advantageous to be able to distinguish between the two sources of network communications deficiency, by accurately determining if the cause of decreased communications throughput was due to a state of network congestion, a state or reduced radio communications quality, or both.
In general, during a state of network congestion, it would be beneficial to be able to adaptively throttle a large media content delivery session, by adjusting its data delivery rate. This would prevent further congesting a network during periods of network resource exhaustion. By selectively choosing network data delivery times and data transfer rates, providers could effectively utilize network resources when surplus network bandwidth exists, as opposed to allowing a large media content file delivery to compete with unrelated cross traffic during periods of peak network resource use.
Accordingly, it would be beneficial to have improved systems and methods for data content delivery that could distinguish between network congestion and network link quality (e.g., link quality in the presence of one or more interference sources). This distinction is necessary, because when a wireless communications channel is operating at capacity, large media content file transfers may need to be slowed to avoid negatively impacting unrelated cross traffic that is concurrently sharing the same communications channel. In contrast, when a wireless communications channel is not operating at capacity, but an end user happens to be in an area of reduced radio communications quality, an otherwise uncongested radio channel should proceed with the data content delivery as quickly as the network will allow, because the transfer session will likely not affect cross traffic (even when proceeding at a maximum transfer rate).
There may also be scenarios where multiple media content deliveries for large media content files are concurrently being transferred on the same, shared communications channel. In these scenarios it would be advantageous to be able
100 detect that congestion is arising from multiple media content delivery sessions, as opposed to unrelated cross traffic. This could facilitate real time decision making as to whether or not to reschedule or alter data content deliveries in such a way that would avoid slowing data transfer rates below an aggregate rate that completely utilizes a communications channel. By knowing what data content is
105 being transferred, channel resource utilization can be maximized at all times. This is so, because media content deliveries are generally considered to be lower priority data transfer tasks compared to other, less burdensome types of data communications, such as voice communications.
Another feature of large data content file delivery is that data transfers can
110 occupy significant periods of time and they may be scheduled to start at random intervals. Both of these features may result in frequent communications between user equipment and the network for communications of both control/signaling information and actual media content data. To facilitate efficient deliveries, it would be beneficial if these frequent communications could be coordinated to minimally
115 impact the resident resource (e.g., battery power, processor usage, available memory, etc.) consumption at a user equipment. This could reduce the effect that the media content transfer would have on the user equipment during periods when one or more resident device resources was in a state of resource exhaustion (e.g., low battery power, an overburdened processor, of reduced free memory, etc.). By
120 selectively coordinating data content deliveries towards periods when resident device resources are not in a reduced state, more important processes supported by the user equipment (e.g., voice communications, texting, web browsing, etc.) could be prioritized, until a time when sufficient resources become available (e.g., when a user equipment is plugged into a local power supply) for lower priority
125 media content delivery tasks.
Accordingly, it would be desirable to have robust new systems and methods that could align data transfer sessions for burdensome media content away from peak periods of network use (periods associated with high levels of network traffic), towards periods of surplus network capacity, by accurately detecting a state of
130 network congestion that is distinguished from a state of reduced radio communications quality. It would further be advantageous if these systems and methods could operate by automatically detecting, coordinating, and delivering
burdensome media content to one or more end receiving device(s), such that a typical user would be unaware of how these underlying data transfer rate
135 optimization/throttling processes functioned. As a result, an average network user's QOE should improve, while the underlying processes facilitating the improvement would remain transparent. It would further be desirable if these systems and methods could discern between congestion created by cross traffic as opposed to congestion created by other media content transfers occurring on the
140 same communications channel. This would allow a service provider to fully utilize its network channel resources at all times and to prioritize some data communications processes over others (e.g., media content transfers would typically be lower priority data transfers). It would also be helpful if these systems and methods facilitated real time monitoring of user equipment resources, such
145 that when local resources (e.g., battery power, processor usage, available memory, etc.) were in a state or resource exhaustion, a media content delivery could be slowed or halted until the resources were replenished or became available at the user equipment. These real time solutions could be used to mitigate situations where large media content deliveries would otherwise degrade or impair
150 communications on a network communications channel for a network's collective users.
DISCLOSURE OF THE INVENTION
This disclosure is provided to introduce (in a simplified form) a selection of concepts that are further described below in the Detailed Description. This
155 summary is not intended to identify key features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
In overcoming the above disadvantages associated with digital data content delivery systems and methods of the Prior Art, the present invention discloses a
160 user equipment for optimizing a media content delivery. In an embodiment, the user equipment may include, at least one memory having a resource manager stored therein, one or more processors, a resident power source, and a transceiver. The resource manager may be configured to determine one or more device metrics, compare the one or more device metrics to one or more device
165 thresholds, and generate an instruction to throttle a media content delivery when it
is determined that at least one resource metric has exceeded a resource threshold value or that a local policy metric has achieved a local policy threshold.
In accordance with another aspect of the invention, the at least one resource metric is a power supply metric of the resident power source or a processing
170 resource metric of the at least one processor.
In accordance with a further aspect of the invention, the local policy metric is a current geographic location of the user equipment and the local policy threshold is a provider preferred geographic area threshold.
In accordance with another aspect of the invention, the resource manager
175 determines that the resource threshold value has been exceeded when the power supply metric is less than a remaining power supply threshold value or when the processing resource metric is greater than a processor usage threshold value.
In accordance with a further aspect of the invention, the generated instruction is processed by the at least one processor to set an optimal data
180 transfer rate for the media content delivery.
In accordance with yet a further aspect of the invention the generated instruction is transmitted to an external computing device that determines an optimal data transfer rate for the media content delivery based on the received instruction.
185 In accordance with another aspect of the invention is a computer-readable medium encoded with computer-executable instructions for optimizing a media content delivery to a user equipment, which when executed, performs a method including processes of: determining one or more user equipment metrics, comparing the one or more user equipment metrics to one or more device
190 thresholds, and then generating an instruction to throttle a media content delivery when at least one resource metric has exceeded a resource threshold value or a local policy metric has achieved a local policy threshold.
In accordance with yet a further aspect of the invention, is a computer-implemented method for optimizing a media content delivery to a user
195 equipment, the method including the following processes: determining one or more user equipment metrics, comparing the one or more user equipment metrics to one or more device thresholds, and then generating an instruction to throttle a media content delivery when at least one resource metric has exceeded a resource
threshold value or a local policy metric has achieved a local policy threshold.
200 In accordance with a further aspect of the invention, is a computer-implemented method for optimizing a media content delivery to a user equipment, the method including the following processes: initiating a media content delivery to a user equipment, detecting a power down instruction at the user equipment, and prompting a user to determine whether the user wishes to 205 continue the media content delivery or proceed with powering down the user equipment.
In accordance with yet another aspect of the invention, the method processes further comprise prompting the user of the user equipment to connect the user equipment to a power supply in response to receiving an instruction to 210 continue the media content delivery.
BRIEF DESCRIPTION OF THE DRAWINGS
Preferred and alternative examples of the present invention are described in detail below with reference to the following Figure drawings:
FIGURE 1 illustrates a perspective view of a distributed data 215 communications system in accordance with embodiments of the present invention;
FIGURE 2 illustrates a block diagram view of a service provider device in accordance with embodiments of the present invention;
FIGURE 3 illustrates a block diagram view of a user equipment in accordance with embodiments of the present invention;
220 FIGURE 4A illustrates a network topology with a user equipment positioned within various regional locations that have characteristics associated with different network communications states, in accordance with embodiments of the present invention;
FIGURE 4B illustrates link quality, maximum link throughput, and actual UE 225 throughput time-sequence graphs that are associated with the regional locations A and B depicted in FIG. 4A, in accordance with embodiments of the present invention;
FIGURE 5 illustrates a data communications system capable of performing link capacity sensing and data transfer rate optimization processes, in accordance 230 with embodiments of the present invention;
FIGURE 6 illustrates a flow diagram depicting network communications
state determination and data content transfer rate assignment processes, associated with embodiments of the present invention;
FIGURE 7 illustrates a flow diagram depicting processes of peak network 235 link capacity comparisons with actual data content delivery throughput and subsequent data content delivery rate assignment, based on the comparative results, in accordance with embodiments of the present invention;
FIGURE 8 illustrates four representational block diagrams depicting various channel usage scenarios associated with processes of determining and using 240 surplus network capacity, in accordance with embodiments of the present invention;
FIGURE 9 illustrates a data communications system capable of performing network communications link congestion sensing and data transfer rate optimization processes, in accordance with embodiments of the present invention; 245 FIGURE 10 illustrates a cellular data communications system (with an
HSPA cellular airlink) capable of network communications link monitoring and data transfer rate optimization processes, in accordance with an embodiment of the present invention;
FIGURE 1 1 A illustrates plots of downlink response (DLRSP) and channel 250 quality indicator (CQI) report rates for various network locations (corresponding locations are depicted in FIG. 1 1 B) and environments, in accordance with embodiments of the present invention;
FIGURE 11 B illustrates a network cell topology depicting various user equipment locations corresponding the DLRSP and CQI report rate plots of FIG. 255 1 1 A, in accordance with embodiments of the present invention;
FIGURE 12 illustrates a flow diagram depicting processes for determining if a user equipment's exhaustible resident resources have surpassed one or more resource thresholds and assigning data content delivery rates and/or preferred data transfer periods, based on the determinations, in accordance with
260 embodiments of the present invention;
FIGURE 13 illustrates four user equipment resource management scenarios where data content delivery may be altered, halted, or remain unimpeded, depending on whether resident device resources are determined to surpass one or more device resources thresholds, in accordance with embodiments of the present
265 invention; and
FIGURE 14 illustrates a flow diagram depicting local user equipment power down processes that allow a user to select whether to maintain or suspend a current data content delivery session(s), in accordance with an embodiment of the present invention.
270 MODES FOR CARRYING OUT THE INVENTION
In accordance with an exemplary embodiment of the present invention, FIG. 1 illustrates a networked computing system 100 including various wireline and wireless computing devices that may be utilized to implement any of the network traffic and radio communications quality monitoring or data content transfer
275 optimization processes associated with various embodiments of the present invention. The specific network configuration shown in FIG. 1 is intended to give an example of a high-level computing system capable of facilitating various network communications processes of the present invention, all of which are further described herein. As would be understood by those skilled in the Art, many
280 network configuration and topology changes could be made to the networked computing system 100 of FIG. 1 , without departing from the spirit and scope of the present invention.
In an embodiment, the networked computing system 100 may include, but is not limited to, a group of service provider devices 1 10, 1 12, 1 14 and 1 16 (SPDs),
285 including server computers (e.g., network controller devices) or any other common network device known in the Art, such as a routers, gateways, or switch devices, which can support network resource allocation and/or digital data communications services to various user equipment (e.g., any of devices 108a-c, 124, 126a-c, 128, 130 and 132) within the networked computing system 100; a data communications
290 network 102 (including both Wide Area Network (WAN) and Local Area Network LAN(S) portions); a variety of remote user equipment, including cellular phone or PDA devices 108a-c along with any other variety of portable wireless computing device well known in the Art (e.g., tablet computers netbooks, electronic book devices, handheld gaming units, personal music players, video recorders, Wi-Fi™
295 devices, etc.) that may be connected to the data communications network 102 utilizing one or more wireless base stations 106a-b, or any other common wireless or wireline network communications technology; one or more network gateways,
routers, or switch devices 1 16 that can facilitate data communications processes within the LAN(S) and between the LAN(S) and the WAN of the data
300 communications network 102; one or more local user equipment, including: laptop or netbook computers 120 and 128, wireless cellular phones or PDAs 126a-c, electronic book devices 130, handheld gaming units 132, personal music players, video recorders, Wi-Fi™ devices, etc., that may be wirelessly connected to one or more local or remote network base stations 106a-b, 118, 120, and 122, or
305 optionally directly or indirectly connected to a backhaul portion of the network (e.g., to data communications network 102) via any common wireline or wireless communications technology known in the Art.
In an embodiment, any of the SPDs 1 10, 1 12, and 114 (including any of the network base stations 106a-b, 1 18, 120, and 122), the router, gateway, or switch
310 device(s) 1 16, or any of the remote or local user equipment 108a-c, 124, 126a-c, 128, 130, and 132, may be configured to run any known operating system, including but not limited to, Microsoft® Windows®, Mac OS®, Linux®, Unix®, Google® Chrome®, or any common mobile operating system, including Symbian®, Palm®, Windows® Mobile®, Mobile Linux®, Google® Android®, etc. In an
315 embodiment, any of the SPDs 106a-b, 1 10, 1 12, 1 14, 116, 1 18, 120, and 122 may employ any number of common server, desktop, laptop, and personal computing devices. In an embodiment, the user equipment 108a-c, 124, 126a-c, 128, 130, and 132 may include any combination of common mobile computing devices (e.g., laptop computers, netbook computers, cellular phones, PDAs, handheld gaming
320 units, electronic book devices, personal music players, video recorders, etc.), having wireless communications capabilities employing any common wireless data commutations technology, including, but not limited to: Wi-Fi™, WiMAX™, GSM™, UMTS™, LTE™, LTE Advanced™, etc.
In an embodiment, the LAN or the WAN portions of the data
325 communications network 102 may employ any of the following common communications technologies: optical fiber, coaxial cable, twisted pair cable, Ethernet cable, and powerline cable, along with any wireless communication technology known in the Art. In an embodiment, any of the SPDs 1 10, 1 12, and 114, including any of the network base stations 106a-b, 1 18, 120, and 122, the
330 router, gateway, switch device(s) 1 16, or any of the remote or local user equipment
108a-c, 124, 126a-c, 128, 130, and 132, may include any standard computing software and hardware necessary for processing, storing, and communicating data amongst each other within the networked computing system 100. The computing hardware realized in any of the data networked computing system 100 computing
335 devices 106a-b, 108a-c, 1 10, 112, 1 14, 116, 1 18, 120, 122, 124, 126a-c, 128, 130, and 132 may include, but is not limited to: one or more processors, volatile and non-volatile memories, user interfaces, transcoders, and wireline and/or wireless communications transceivers, etc.
In an embodiment, any of the SPDs 1 10, 1 12, and 114 (including any of the
340 network base stations 106a-b, 1 18, 120, and 122), the router, gateway, switch device(s) 1 16, or any of the remote or local user equipment 108a-c, 124, 126a-c, 128, 130, and 132, may be configured to include one or more computer-readable media (e.g., any common volatile or non-volatile memory type) encoded with a set of computer readable instructions, which when executed, performs a portion of one
345 or more of the network traffic and radio communications quality monitoring or data content transfer optimization processes associated with various embodiments of the present invention.
FIG. 2 shows a block diagram view of a SPD 200 that may be representative of any of the remote service provider devices SPDs 1 10, 1 12, and 1 14 (including
350 the network base stations 106a-b, 1 18, 120, and 122), and the router, gateway, switch device(s) 1 16 of FIG. 1 , or any other common network service provider device known in the art. The SPD 200 may include, but is not limited to, one or more processor devices including a central processing unit (CPU) 204. In an embodiment, the CPU 204 may include an arithmetic logic unit (ALU, not shown)
355 that performs arithmetic and logical operations and one or more control units (CUs, not shown) that extract instructions and stored content from memory and then executes and/or processes them, calling on the ALU when necessary during program execution. The CPU 204 is responsible for executing all computer programs stored on the SPD's 200 volatile (RAM) and nonvolatile (ROM) system
360 memories, 202 and 208.
The SPD 200 may also include, but is not limited to, an optional user interface 206 that allows a service provider administrator to interact with the SPD's 200 software and hardware resources; a software/database repository 208
including: a data transfer agent 210 (also referred to herein as an adaptive
365 throttling agent or ATA) that may facilitate real time adjustment of data transfer rates based on comparisons of maximum link throughput to actual link throughput received from one or more user equipment (as a feedback) or from a local or external link capacity monitor, an optional network link monitor 212 that may be capable of monitoring actual link throughput for particular network links of interest
370 (also referred to herein as a link capacity sensing agent or LCSA), a link profiler 214 that is capable of determining a current throughput capacity for a series of network links between a sender and a receiver, and a subscriber devices profiles data base 216 that is able to store user equipment profile and resident exhaustible resource information (information pertaining to battery power, processor usage,
375 available memory, etc.); a transceiver 220 for transmitting and receiving network data communications amongst various network user equipment (e.g., any of devices 108a-c, 124, 126a-c, 128, 130, and 132) and SPDs (e.g., any of SPDs 106a-b, 1 10, 1 12, 1 14, 1 18, 120, 122, and 1 16) utilizing the data communication network 102 of the networked computing system 100; and a system bus 222 that
380 facilitates data communications amongst all the hardware resources of the SPD 200.
In accordance with an embodiment of the present invention, the SPD 200 data transfer agent 210 may be logically linked to the link profiler 214 and the optional network link monitor 212 (or alternately to an external network link monitor
385 component 312), such that the data transfers between a sender and receiver device (e.g., between a SPD 200 or a media content provider, and a user equipment 300) may be optimally managed (e.g., by throttling a data transfer rate or selecting preferred periods for data content delivery) based on real time evaluations of network traffic and radio communications quality for communications
390 links that are part of the communications path between (and optionally including) the sending and receiving devices.
FIG. 3 shows a block diagram view of a user equipment 300 that may be representative of any of the user equipment 108a-c, 124, 126a-c, 128, 130, and 132 in FIG. 1. The user equipment 300 may include, but is not limited to, one or
395 more processor devices including a central processing unit (CPU) 304. In an embodiment, the CPU 304 may also include an arithmetic logic unit (ALU, not
shown) that performs arithmetic and logical operations and one or more control units (CUs, not shown) that extract instructions and stored content from memory and then executes and/or processes them, calling on the ALU when necessary
400 during program execution. The CPU 304 is responsible for executing all computer programs stored on the user equipment's 300 volatile (RAM) and nonvolatile (ROM) system memories, 302 and 308.
The user equipment 300 may also include, but is not limited to, a user interface 306 that allows a user to interact with its 300 software and hardware
405 resources; a software/database repository 308 including: a data transfer manager 310 that facilitates communications amongst the user equipment 300, various SPDs (e.g., any of SPDs 106a-b, 1 10, 1 12, 1 14, 1 16, 1 18, 120, and 122), network service providers (e.g., media content providers), as well as other user equipment (e.g., any of user equipment 108a-c, 124, 126a-c, 128, 130, and 132) utilizing the
410 data communication network 102 of the networked computing system 100, a network link monitor 312 that may be capable of monitoring actual link throughput for particular network links of interest (also referred to herein as a link capacity sensing agent or LCSA), a device resource monitor 314 that may be capable of monitoring resident device resources (e.g., such as power supply, processing,
415 memory, and communications resources), and a local applications repository for storing various end user applications that can allow the user equipment 300 to perform various user preferred processes utilizing resident hardware and software resources; a transcoder 318 for formatting data communications prior to transfer; a transceiver 320 for transmitting and receiving network communications amongst
420 other network user equipment (e.g., any of user equipment 108a-c, 124, 126a-c, 128, 130, and 132), media content providers, and SPDs (e.g., any of SPDs 106a-b, 1 10, 1 12, 1 14, 1 16, 1 18, 120, and 122) utilizing the data communication network 102 of the networked computing system 100; and a system bus 322 that facilitates data communications amongst all the hardware resources of the user
425 equipment 300.
In accordance with an embodiment of the present invention, the user equipment's 300 data transfer manager 310 may be logically linked to the network link monitor 312 (or alternately to an external network link monitor), and the device resource monitor 314, such that the user equipment 300 can monitor external
430 network link capacities as well as its resident exhaustible resources in order to affect data transfers between itself and an external computing device (e.g., a SPD 200, a media content provider, or another user equipment). In an embodiment, in response to analyzing data obtained from the user equipment's 300 network link monitor 312 and/or device resource monitor 314, a data delivery to the user
435 equipment 300 may be optimally managed (e.g., by throttling a data transfer rate or selecting preferred periods for data content delivery). This management may be based on real time evaluations of network traffic and radio communications quality for communications links that are part of the communications path between (and optionally including) sending and receiving (e.g., the user equipment 300) devices.
440 These communications and their associated control processes will be further described herein.
In accordance with various embodiments, at least the following communications scenarios would be facilitated by the present invention. In a first scenario, a user equipment 300 may request a delivery from a media content
445 provider (a sender device) for a large media content file (e.g., a media content relating to music, a movie, a TV show, a software application, an e-book, a podcast, etc.) to their wireless device 300 using a specific wireless communications protocol that utilizes surplus network bandwidth for the delivery (e.g., throttling the delivery to transfer more data during periods with excess network bandwidth). One
450 or more network devices (e.g., user equipment 300 or SPDs 200) employing the communications protocol may sense a state of network channel congestion (e.g., using a network link monitor 212, 312) by: monitoring the performance of the media content file delivery over one or more network specific segments (e.g., by measuring/analyzing one or more network communications metrics), measuring
455 and end-to-end link throughput performance for the combined network segments (e.g., with a receiver device, such as user equipment 300), and then comparing individual segment throughput with total end-to-end link throughput. By following these procedures, not only can network congestion be detected (via the comparison), but it can also be determined which network segment(s) may be the
460 source of a congestion bottleneck.
As the network link(s) facilitating the delivery become congested with cross traffic (e.g., other data transfers on the same channel of unrelated data types), and
the congestion is detected (as discussed in the previous paragraph), the network device 200, 300 employing the protocol can, independently or in collaboration with
465 one or more external network devices 200 (also employing the protocol), throttle the media content delivery rate (e.g., via a data transfer agent 210 and/or a data transfer manager 310) to avoid negatively impacting other cross traffic communications.
In a second scenario, having a similar initial fact pattern to the first scenario,
470 the wireless network channel may become uncongested as the user equipment 300 moves amongst different regional locations within the wireless network having varying wireless channel quality (e.g., by moving closer or farther away from the wireless base station or by moving to an area with more physical or radio interference sources; See e.g., FIG. 4A). Similar to the first scenario, the change in
475 delivery performance of the media content delivery is detected by a monitoring device 200, 300 utilizing the communications protocol. However, in the second scenario, wireless channel link quality (radio communications quality) information may be utilized to initially determine that the channel is not congested and accordingly a data transfer manager 310 or agent 210 may decide not to throttle
480 the data transfer delivery rate, because poor radio communications quality is not related to network traffic. In an embodiment, when a radio communications quality is determined in an uncongested network (e.g., by a network link monitor 212, 312), a data transfer rate may be optionally increased to improve the data content delivery.
485 In a third scenario, multiple user equipment (e.g., any of the user equipment
108a-c, 124, 126a-c, 128, 130, and 132 of FIG. 1 ) may request concurrent media content deliveries from one or more media content providers or senders. The sum of the data transfer requests may be sufficient to congest the shared network communications channel. The network device 200, 300 employing the delivery
490 protocol senses the state of network congestion by monitoring the performance of the media content file delivery (e.g., using a network link monitor 212, 312). The monitor 212, 312 senses the slowing and throttles the delivery rate, but in this instance wireless channel traffic information may be utilized to determine when a channel is no longer congested, to avoid further slowing.
495 In yet another scenario, a user equipment 300 may request a large media
content file for delivery from a remote media content provider. The user equipment 300 employing a delivery protocol may be able to sense a current state of remaining battery power (e.g., using a device resource monitor 314). In an embodiment, when sufficient battery life remains at the user equipment 300, or
500 when it is connected to a local power supply, the media content transfer may be allowed to proceed at a designated data transfer rate, without throttling. However, when insufficient battery power is detected at the user equipment 300, the data transfer manager 310 may facilitate throttling the data transfer by slowing or temporarily stopping communications in order to preserve the remaining battery
505 power for higher priority communications (e.g., preserving battery power for voice communications).
FIG. 4A depicts a network topology 400 with a user equipment 404a-b (which may be representative of any of the user equipment 108a-c, 124, 126a-c, 128, 130, and 132 of FIG. 1 ) positioned within various regional locations (Regions
510 A: encompassed by coverage area 402b, or Region B: encompassed by coverage area 402c) that have characteristics associated with different network communications states, in accordance with embodiments of the present invention. Within the network topology 400, a network base station 402a (which may be representative of any of the network base stations 106a-b, 1 18, 120, and 122 of
515 FIG. 1 ) may supply wireless communication service to one or more regional user equipment 404a-b. Initially, the user equipment 404a may be located in an area of relatively good radio communications link quality 402b (i.e., Region A), however, sometime later the user equipment 404b may be relocated to another location within the cell that is characterized by poor radio communications link quality 402c
520 (i.e., Region B). For the purpose of illustration the single user equipment is represented by references numbers 404a and 404b, which indicate a change in the physical location of the device; this is also represented by the dotted line with an arrowhead indicating the direction of movement for the device between Regions A and B.
525 As would be understood by those skilled in the Art, the same change in radio communications link quality could occur without any movement of the user equipment 404a (e.g., when the user equipment 404a remains within the coverage area 402c of Region A). In this alternate, stationary scenario, sources of
interference (e.g., physical interference sources that have moved within the link
530 path between the user equipment 404a and the base station 402a, or new radio communications interference, caused by the addition of pico or femto base station interference) may also cause states of reduced radio communications quality.
FIG. 4B illustrates three separate graphs 410 depicting link quality 412, maximum link throughput 414, and actual UE throughput 416 as a function of time.
535 These graphs 410, 412, and 414 describe the first scenario where the user equipment 404a transitions from Region A to its new position 404b in Region B. In the first graph 412, initial link quality is shown to be relatively high, corresponding to the user equipment's 404a proximity to the network base station 402a. Some time later, as the user equipment transitions to its new position 404b within Region
540 B (further away from the network base station 402a), link quality is shown to be significantly lowered, compared to its initial state in Region A.
In general, as would be understood by those skilled in the Art, link quality may be determined by evaluating one or more network communications metrics or factors (collectively referred to herein as "network communications metrics"),
545 including, but not limited to: a modulation and coding scheme (MCS) employed by a user equipment 200, a signal-and-interference-to-noise ratio (SINR) value, a wireless provider service level agreement or local user equipment policy controlling the peak throughput rates for communications between a base station 402a and a user equipment 404a-b, a wireless link flow-control algorithm, a wireless link
550 scheduling algorithm, the remaining free capacity on the wireless link, etc. In an embodiment, several of these network communications metrics may be dynamic and accordingly they may need to be averaged or filtered to establish time-stable values for accurate evaluation.
In an embodiment, the network communications metrics may be evaluated
555 to determine the maximum link throughput 414, which is shown to qualitatively track the link quality graph 414 between Regions A and B (i.e., from high to low). In contrast, the actual measured UE throughput graph 416 does not always track the link quality 412 and the max link throughput 414 graphs. While at some times UE throughput 416 may be equal to the maximum link throughput 414 (e.g., when
560 the network base station 402a has sufficient wireless resources to allow traffic with the user equipment 404a-b to flow at the maximum link rate), at other times, the UE
throughput 416 may dip below the maximum link throughput 414, when the network base station 402a has insufficient wireless resources to simultaneously satisfy the traffic demands of the user equipment 404a-b as well as various other network
565 user equipment (not shown) sharing the communications link (e.g., during a state of heavy traffic or network communications link congestion).
It is important to recognize that a comparison of the maximum link throughput graph 414 with the actual UE throughput graph 416 emphasizes instances when link congestion (e.g., congestion changes depicted within the same
570 network region: Region A or Region B) can be differentiated from shifts in link quality (e.g., the quality shift indicated between Regions A and B). It is generally unnecessary for the actual UE throughput 416 to exactly quantitatively track the calculated maximum link throughput 414 since persistent offsets can be nullified (subtracted away) using long term averages of the differences between the two
575 throughputs.
FIG. 5 illustrates a data communications system 500 capable of performing link capacity sensing and data transfer rate optimization processes, in accordance with embodiments of the present invention. The components of the system include a receiver device 502 (e.g., any of the user equipment 108a-c, 124, 126a-c, 128,
580 130, and 132 of FIG. 1 ), multiple channel segments or links 504a-b, 506, 508, and 510 (e.g., such as between network base stations 106a-b, 1 18, 120, and 122, routers, gateways, switches 1 16, etc.), a sender device 512 (e.g., such as a media content provider or a SPD controller 1 10, 1 12, and 114), a link capacity monitor/link capacity sensing agent (LCSA) 518, a data transfer agent/adaptive throttling agent
585 (ATA) 514, and a link profiler 516.
The network communications system depicts an embodiment illustrating how the invention could work, assuming that the multiple channel segments 504a-b, 506, 508, and 510 were connecting the sender 512 and receiver 502 devices. The channel segments 504a-b, 506, 508, and 510 may be capable of
590 facilitating a media content delivery via various combinations of wireless and wireline communications technologies. In an embodiment, each network channel segment 504a-b, 506, 508, and 510 could be formed from one or more networked elements having a characteristic throughput capacity for carrying traffic across a current network channel segment (e.g., any of segments 504a-b, 506, 508, and
595 510). For sake of illustration simplicity, no distinction is shown for throughput directionality (e.g., swapping sender and receiver functions) which could in practice be very different (e.g., channel segments with greater downlink capacity than uplink capacity). It should be understood that these distinctions would not alter the network architecture depicted in system 500.
600 In an embodiment, the sender device 512 may transmit digital content (e.g., a media content file) to a receiving device 502 through a plurality of network segments 504a-b, 506, 508, and 510 at a particular point in time. In an embodiment, the sender 512 could also be concurrently orchestrating data delivery jobs to one or more other regional receivers 502, although for illustration only a
605 single receiver 502 is shown in FIG. 5. The size of each network channel segment 504a-b, 506, 508, and 510 is intended to convey its relative communications capacity. At least one network segment 504a has the property that its throughput capacity (depicted in the exploded view of the channel segment 504b, which could represent a network base station) can change over time due to factors that are
610 unrelated to shared-link congestion.
In various embodiments, the network segment 504a may be an intermediary device (e.g., a gateway, router, or switch 1 16) in a sequence of chained segments forming the network path from a sender 512 to a receiver 502, or it may be the last segment in the chain 504a-b, as would be typical in a wireless deployment where
615 the segment 504a represented a network base station. It should be understood that there could be multiple, similar segments with time-varying capacity, although only one segment 504a is depicted having this characteristic in FIG. 5.
In an embodiment, the time-varying segment 504a may be in communication with, or it may alternately host, a link capacity monitor 518. The
620 link capacity monitor 518 could also be a part of a receiver 502 (e.g., a LCSA 312 that is part of a user equipment 200, or a LCSA 212 that is part of a SPD 200). In an embodiment, the link capacity monitor 518 may be associated with an ingress, an egress, or an internal node element of the network segment 504a-b having the ability to determine the network segment's 504a capacity in real time. For
625 instance, if the network segment 504a represented a wireless channel, the ingress/egress node could be a base station (e.g., any of the network base stations 106a-b, 118, 120, and 122 of FIG. 1 ) providing coverage to a group of user
equipment (e.g., any of the user equipment 108a-c, 124, 126a-c, 128, 130, and 132 of FIG. 1 ).
630 In an embodiment, the link capacity monitor 518 may be part of the receiver 502, and the time-varying network segment 504b may be associated with a wireless channel of a network base station. In this embodiment, the receiver 502 may be in a wireless cell served by the base station 504a and it would be capable of detecting and reporting the receive link quality to the link capacity monitor's 518,
635 based on real time measurements of various network communications metrics and the status of ingress transmissions originated by the base station 504a. Implicit in the link capacity monitor 518 function is the assumption that it can monitor a link that handles all the network traffic occurring on the link between the sender 512 and the receiver 502, for a given receiver 502. For example, in FIG. 5, there is no
640 other network segment other than the monitored link 504a connecting the adjacent segment 506 to the receiver 502.
In an embodiment, the link capacity monitor's 518 function is to determine the network segment 504a capacity (e.g., the max link throughput 414 depicted in FIG. 4B) and then report it 520 to the sender's data transfer agent 514 and link
645 profiler 516 (e.g., the data transfer agent 210 and link profiler 214 of SPD 200). It should be understood that the link capacity monitor 518 may monitor the network segment 504a having the property that the segment's throughput capacity 504b can change over time due to any of the factors listed above (related to changes in radio communications quality) that are unrelated to shared-link congestion. It
650 should also be understood that the link capacity monitor 518 reports are specific to a particular receiver device 502 and identified in some scenarios by the receiver's network address (e.g., its network IP address) or another unique identifier.
In an embodiment, the data transfer agent 514 and/or the link profiler 516 may be part of a SPD 200, a sender 512, or any other backhaul connected
655 computing device. In another embodiment, the data transfer agent 514 and/or the link profiler 516 may be associated with or in communication with the receiver 502. In an embodiment, the receiver 502 may determine the sender-to-receiver throughput performance and then report it 522 to the data transfer agent 514 and/or the link profiler 516. It is understood that this report may be specific to a
660 particular receiver 502 and it may be identified in some scenarios by the receiver's
network address (e.g., its network IP address) or another unique identifier.
In an embodiment, the function of the link profiler 516 is to determine the current throughput capacity of the combined series of end-to-end network segments 504a-b, 506, 508, and 510, between the sender 512 and the receiver 665 502. The link profiler 516 may perform this function by receiving feedback reports
520, 522 from the link capacity monitor 518 and the receiver 502. The throughput feedback reports 522 may indicate the end-to-end throughput performance for the combined network segments 504a-b, 506, 508, and 510 connecting the sender 512 to the receiver 502. In contrast, the link capacity throughput feedback reports 520 670 may indicate the throughput performance for only the network segment 504a associated with the link capacity monitor 518.
In an embodiment, there may be two opposite scenarios encountered by the system 500 of FIG. 5. In the first scenario, the link capacity feedback 520 may indicate equal or lower throughput than the throughput feedback 522. In this 675 scenario, the monitored link 504a may be determined to be the "bottleneck link" in the series of end to end segments 504a-b, 506, 508, and 510 connecting the sender 512 to the receiver 502.
In the second scenario, the link capacity feedback 520 may indicate greater throughput than the throughput feedback 522. In this scenario, the monitored link 680 504a may be determined NOT to be the "bottleneck link" in the series of end to end segments 504a-b, 506, 508, and 510 connecting the sender 512 to the receiver
502.
In the first scenario, the data transfer agent 514 may elect to temporarily ignore the historical end-to-end link peak performance throughput value. The goal 685 may be to temporarily accept the monitored link 504a as the "bottleneck link" that is controlling/limiting the end-to-end network capacity.
In the second scenario, the data transfer agent 514 may elect to ignore the monitored link 504a capacity, since the "bottleneck link" is determined to be elsewhere within the network segments 504a-b, 506, 508, and 510 connecting the 690 sender 512 to the receiver 502. The objective in this case, may be to rely on historical end-to-end link peak performance to determine the end-to-end network capacity.
In an embodiment, the link profiler 516 may present to the data transfer
agent 514 the current end-to-end bottleneck throughput capacity (unrelated to
695 network congestion), whether it is limited by a time varying network segment 504a or one of the fixed capacity segments 506, 508, or 510 in the end-to-end path between the sender 512 and the receiver 502. The data transfer agent 514 may then use this information to distinguish between cases of shared network segment congestion and cases where a time varying capacity segment 504a has become
700 the bottleneck portion of the path 504a-b, 506, 508, and 510 between the sender 512 and receiver 502. It should be understood that there could be multiple monitored network segments, each with an associated link capacity monitor 518, all reporting to the data transfer agent 514 and the link profiler 516. In all cases, the link profiler 516 may select the smallest of the multiple reported link capacities
705 520 for comparison with the throughput feedback 522.
In an embodiment, the function of the data transfer agent 514 may be to provide control and status information to the sender 512 that the sender 512 uses to control the pace of data flow to the receiver 502. In an embodiment, described in U.S. Patent 7,500,010, ADAPTIVE FILE DELIVERY SYSTEM AND METHOD,
710 Harrang et al., issued on March 3, 2009, an adaptive throttling agent, also referred to herein as a data transfer agent 210, may determine the maximum average throughput rate of the sender-to-receiver data flow, Rmax, which can then be enforced by either the receiver 502 or the sender 512, for example by pacing the rate of requests from the receiver 502 for subsequent portions of the data file being
715 transferred. In an embodiment, Rmax can be determined by the ATA 514 by comparing the end to end link capacity (calculated by the link profiler 516) with the throughput 522 reported by the receiver 502.
In an embodiment, the data transfer agent/ATA 514 may also receive monitored link capacity reports 520, which could be used to identify situations when
720 the monitored link 504a is the bottleneck (using similar methods described for the link profiler 516). In those situations the data transfer agent 514 could optionally alter the method for calculating Rmax (e.g., by backing off Rmax below the current throughput capacity more or less aggressively). In an embodiment, Rmax should not be set lower than the current end to end link throughput in cases where the
725 sender to receiver links 504a-b, 506, 508, and 510 are already running at full rate, unaffected by congestion.
FIG. 6 illustrates a flow diagram 600 depicting network communications state determination and data content transfer rate assignment processes, associated with an embodiment of the present invention. It should be understood
730 that this process 600 could be executed using one or more computer-executable programs stored on one or more computer-readable media located on any of the network computing system's 100 SPDs 106a-b, 1 10, 1 12, 114, 1 16, 1 18, 120, and 122 of FIG. 1 (or on any other common service provider device) or user equipment 108a-c, 124, 126a-c, 128, 130, and 132, without departing from the spirit and
735 scope of the present invention. At block 602, a link capacity monitor 518 may detect at least one communications metric (e.g., an employed modulation and coding scheme (MCS), a signal to interference plus noise ratio (SINR), a remaining link capacity, or a designated peak throughput for at least one service subscriber, etc.) associated with data communications between a sender 512 and a receiver
740 502 of the monitored link. Then at decision block 604, it is determined if a link communications throughput is diminished (e.g., by analyzing the at least one communications metric). If it is determined that a link communications throughput is diminished, the process proceeds to block 606, where a network communications state associated with the diminished communications throughput
745 is determined, based on the detected at least one network communications metric.
Subsequently, the process proceeds to decision block 608. However, if it is determined that a link communications throughput is NOT diminished, and then the process end at block 616.
At decision block 608 it is determined if the communications state is
750 associated with network congestion. If it is determined that the communications state is associated with network congestion, then the process proceeds to block 612, where it is determined whether to change the rate of a data content transfer to a user equipment, based on the determined network communications state. Subsequently, the process ends at block 616. However, if it determined that the
755 communications state is NOT associated with network congestion, then the process proceeds to decision block 616, where it is determined if the communications state is associated with reduced radio communications quality. If the communications state is NOT associated with reduced radio communications quality, then the process ends at block 616. However, if the communications state
760 is associated with reduced radio communications quality, then the process proceeds to block 614 where a rate of a data content transfer is maintained to a user equipment. This is so, because the rate of data content transfer will likely not affect cross traffic, due to the fact that the communications state is not associated with network congestion. Subsequently, the process ends at block 616.
765 FIG. 7 illustrates a flow diagram 700 depicting processes of peak network link capacity comparisons with actual data content delivery throughput and subsequent data content delivery rate assignment, based on the comparative results, that are associated with an embodiment of the present invention. It should be understood that this process 700 could be executed using one or more
770 computer-executable programs stored on one or more computer-readable media located on any of the network computing system's 100 SPDs 106a-b, 110, 1 12, 1 14, 1 16, 1 18, 120, and 122 of FIG. 1 (or on any other common service provider device) or user equipment 108a-c, 124, 126a-c, 128, 130, and 132, without departing from the spirit and scope of the present invention. At block 702, a peak
775 link capacity associated with at least one network communications metric is determined. Next, at decision block 704, it is determined if a data content delivery throughput is less than the determined peak link capacity, within a service provider specified tolerance. If the data content delivery throughput is less than the determined peak link capacity, then the process proceeds to block 708, where the
780 data content delivery is determined to be congested and the data delivery rate can be reduced (e.g., throttled) to alleviate the congested link state.
Subsequently, the process proceeds to decision block 710 where it is determined if the data content delivery throughput has changed (e.g., due to relocation of the user equipment or due the addition of an interference source). If it
785 is determined that the data content delivery throughput has changed, then the process starts over again at block 702, where a peak link capacity associated with at least one network communications metric is determined. However, if it is determined that the data content delivery throughput has NOT changed, then the process proceeds to block 712 where the current data delivery rate is maintained
790 until a data content delivery state changes. The process then reverts back to decision block 710.
However, if at decision block 704 it is determined that a data content
delivery throughput is NOT less than the peak link capacity, then the process proceeds to block 706 where the data content delivery is determined to be
795 uncongested and the data delivery rate can be maintained or optionally increased.
Subsequently, the process proceeds to decision block 710.
FIG. 8 illustrates four representational block diagrams 800 depicting various channel usage scenarios associated with processes of determining and using surplus network capacity, in accordance with embodiments of the present
800 invention. These operational scenarios illustrate the impact of user traffic on a generic shared network link (e.g., a shared wireless, wired, or optical link). In an embodiment, the first channel resource diagram depicts a shared channel 804 with a total traffic throughput capacity depicted by the size of the block 802. A portion of this capacity may be being consumed by cross traffic 806, which can be defined to
805 be traffic that is not involved in a content file delivery job controlled a data transfer agent/ATA 514 of this invention. It should be understood that cross traffic generally has higher priority than content delivery traffic for the purposes of this invention. For example, voice data communication cross traffic would generally be more important to maintain than media content file delivery processes.
810 In the second channel resource diagram (on the right of the first channel resource diagram), the shared channel is being occupied by cross traffic 812 and content delivery traffic 810 with the combined effect that the sum of the traffic fully consumes the channel. The block on the left 808 illustrates the volume of offered traffic for content file delivery. As is shown, both the cross traffic 812 and the
815 content delivery traffic 810 are constrained to less than the offered volume 808 (e.g., 812 is smaller than 806 and 810 is smaller than 804), so the channel is congested. This may be the situation when fair-share transport protocols such as TCP arbitrate the throughput on shared links.
In the third channel resource diagram (on the right of the second channel
820 resource diagram) a similar situation is depicted, where the channel 818 is occupied by cross traffic 820 and content delivery traffic 816. In this case, however, only the offered content delivery traffic 816 has been aggressively throttled, whereas, the cross traffic 820 is unconstrained. Because surplus traffic exists on the channel 818, it is not in a state of congestion.
825 In the fourth channel resource diagram (on the far right), the previous
scenario of channel 818 (of the third channel resource diagram) has been changed to an ideal situation where the channel is fully occupied, but the volume of cross traffic 826 is unaffected. The channel is occupied by both cross traffic 826 and content delivery traffic 824. In this scenario, the offered content delivery traffic 822
830 has been throttled to just match the available surplus capacity on the channel so that the cross traffic 826 is unaffected, but the shared channel is fully occupied.
In an embodiment, a goal of this invention is to achieve the fourth channel resource diagram scenario (the one depicted on the far right in FIG. 8) in cases where the offered volume of content delivery traffic exceeds the available surplus
835 capacity of the channel. The second channel resource diagram corresponds to the non-ideal default situation where ordinary fair-share transport protocols (e.g., TCP) are used. The third channel resource diagram illustrates the improved, but still non- ideal situation, where cross traffic is unaffected by aggressively throttling the content delivery traffic, but the shared channel may still have remaining surplus
840 capacity that might otherwise be used for content delivery, but instead is being wasted.
FIG. 9 illustrates a data communications system 900 capable of performing network communications link congestion sensing and data transfer rate optimization processes, in accordance with embodiments of the present invention.
845 The components of the system 900 include a receiver device 902 (e.g., any of the user equipment 108a-c, 124, 126a-c, 128, 130, and 132 of FIG. 1 ), multiple channel segments or links 904a-b, 906, 908, and 910 (e.g., such as network base stations 106a-b, 118, 120, and 122, routers, gateways, switches 1 16, etc.), a sender device 914 (e.g., such as a media content provider or a SPD controller 1 10,
850 1 12, and 1 14), a congestion sensing agent 916, and a data transfer agent/adaptive throttling agent (ATA) 912.
In an embodiment system 900 depicts how the invention would work in a scenario where a number of network link segments 904a-b, 906, 908, and 910 connect a path between a sending node 902 and a receiving node 914. For sake
855 of illustration simplicity, no distinction is shown for throughput directionality (e.g., swapping sender and receiver functions), which could in practice be different (e.g., a network link segment having a greater downlink capacity than uplink capacity). It should be understood that this characterization does not alter the overall invention
architecture.
860 In an embodiment, the data transfer agent/ATA 912 may be associated with the sending node 914 as either an integrated sender unit or as a separate network element. In an embodiment, the data transfer agent 912 can control the throughput of data sent to the receiver 902, by monitoring throughput feedback 920 (that is based on the current throughput performance of the network) and comparing it with
865 the known uncongested peak throughput. The link profiler 516 in FIG. 5 is not shown to simplify the illustration (its functionality is incorporated within the data transfer agent 912). It should be understood that the elements in FIG. 5 and FIG. 9 could be joined in a single embodiment (e.g., combining the two aspects of the invention), without departing from the spirit and the scope of the present invention.
870 In an embodiment, the congestion sensing agent (CSA) 916 may be associated with one of the network link segments 904a-b, 906, 908, and 910. The function of the CSA 916 is to provide surplus capacity feedback reports 918 to the data transfer agent 912. In some embodiments, the feedback may describe the current capacity of the monitored link 904a and the portion/fraction of that capacity
875 that is taken up by unrelated cross traffic, as depicted in 904b (and in cross traffic segments 806, 812, 820, and 826). In an embodiment, unrelated cross traffic may be defined as traffic that is not involved in a data file delivery job controlled by processes of the present invention. In various embodiments, the feedback may also include the portion/fraction of capacity taken up by data file delivery jobs (e.g.,
880 from one or a plurality of senders, as depicted in 810, 816, and 824). The CSA 916 is assumed to monitor a link 904a that handles all the traffic between the sender 914 and receiver(s) 902. For example, there is no other network segment other than the monitored link 904a connecting the adjacent segment 906 to the receiver 902.
885 In an embodiment, the data transfer agent 912 uses the surplus capacity feedback in cases where the monitored link 904a might otherwise be under filled by the backoff policy applied by the data transfer agent 912. Based on the feedback, the data transfer agent 912 may elect to dynamically alter the backoff policy in order to submit more traffic into the network until the monitored link 904a is filled or
890 has achieved some pre-determined fill fraction. It should be understood that in certain scenarios, the surplus capacity feedback reports 918 may include the
individual and sum use of the monitored link 904a for one or a plurality of content delivery jobs. In an embodiment, these jobs can be classified by transport layer flow ID (e.g. TCP port number), a receiver network address, or any other unique
895 identifier, or a set of unique identifiers. The data transfer agent 912 may use this information to determine which content delivery sessions need to be adjusted/throttled in order to achieve the optimum aggregate throughput across the monitored link 904a.
In an embodiment, purposely relaxing the backoff policy may risk congesting
900 another bottleneck link segment and negatively impacting cross traffic. In an embodiment, this could be avoided by placing CSA's 916 on all network segments so that the bottleneck link could be monitored and advantageously filled below a level 904b that would cause congestion (this is particularly important when a link was in the middle of a chain of links). In an embodiment, when the monitored link
905 904a were placed on the last link in a chain of links 904, 906, 908, and 910 (as is depicted in FIG. 9), between a sender 914 and a receiver 902 (e.g., a wireless airlink) and known to be (or likely to be) the bottleneck link by network architecture design. In this case, completely filling the monitored link 904a would present little risk to other links in the network.
910 In other scenarios, the monitored link 904a may or may not be included in the path of multiple receivers (e.g., any of user equipment 108a-c, 124, 126a-c, 128, 130, and 132 of FIG. 1 ) connected to a single sender 914. In that case, only those receivers 902 with a path that includes the monitored link 904a should have their backoff policy adjusted. In the preferred embodiment, this scenario may be
915 obviated by installing the CSA 916 on a link where traffic for one or a plurality of receivers (e.g., any of user equipment 108a-c, 124, 126a-c, 128, 130, and 132) is guaranteed by network architecture to pass through the link 904a (e.g., a wireless airlink of a cellular base station). Then, by using the network addresses of the receivers 902 attached to the link 904a, the CSA 916 can relay to the data transfer
920 agent 912 the attached receiver surplus feedback capacities 918 so that the data transfer agent 912 may adjust the backoff algorithm for the appropriate "in progress" data transfer jobs. Alternatively, the receiver 902 may know the identity of the CSA 916 (e.g. identified by base station ID and sector for a wireless base station) and the receiver 902 may report that information so that the identity of the
925 receiver 902 can be correlated with the appropriate CSA report. In other scenarios, the CSA 916 may be integrated within the receiver 902 so that the CSA report and CSN identity can be sent along with its network address directly to the data transfer agent 912.
FIG. 10 illustrates a cellular data communications system 1000 (with an
930 HSPA cellular airlink) capable of network communications link monitoring and data transfer rate optimization processes, in accordance with an embodiment of the present invention. This system may be viewed as a real world example of the higher level systems depicted in both FIG. 5 and FIG. 9. In an embodiment, the system 1000 consists of a downlink client 1014 (DLC, that is optionally part of a
935 user equipment 1002), and a content distribution node server 1016 (CDN, that is optionally part of a SPD 200 or media content provider 1012) that are networked by a wireless radio link between the user equipment 1002 and a network base station 1004 (e.g., a nodeB) via a backhaul link between the base station 1004 and a radio network controller 1006 (RNC), and by a 3G core network 1008 and packet domain
940 network such as the Internet 1010 between the RNC 1006 and CDN 1012.
In an embodiment, communications between the CDN server 1016 and the DLC 1014 may be facilitated by a forward content delivery channel 1026, and a reverse uplink control channel 1024. It should be noted that data delivery channels are indicated by a solid line (e.g., 1026, and 1020), whereas control channels are
945 indicated by a dotted line (e.g., 1024, 1018, and 1022).
In an embodiment, a content delivery channel CDCH 1026 carries the actual content data and downlink response (DLRSP) header information including the permitted average throughput rates (max and min) used by the DLC 1024 to pace the request for pieces of the content file in downlink requests (DLREQ) of the
950 uplink control channel UCCH 1024. The UCCH 1024 carries the DLREQ's as well as information which allows the CDN server 1016 to distinguish whether the radio link between the base station 1004 and user equipment 1002 is congested or running under its peak rate, due to suboptimal radio conditions (e.g., conditions caused by interference). This information may include the user equipment's 1002
955 computed peak capacity as determined by the channel quality indicator (CQI) process on the HS-DPCCH 1022 (a dedicate HSPA physical control channel) and in some scenarios the ACK/NACK process or other goodput statistics, the surplus
channel capacity as determined by the base station 1004, and the base station ID as determined by the base station 1004 and broadcast to all user equipment 1002
960 (although only a single user equipment is shown in FIG. 10 for illustrative simplicity) attached to the channel. The DLREQ carries information including the DLC 1014 ID, actual burst transfer rate R, the imposed average rate <R> (from interjected wait intervals), as well as the size of the next piece of the file to transmit.
In an embodiment, for a given 3G HSPA channel, the base station 1004
965 may establish a forward high-speed shared control channel (HS-SCCH) 1018, a forward high-speed downlink shared channel (HS-DSCH) 1020 and a reverse highspeed dedicated physical control channel (HS-DPCCH) 1022. The HS-SCCH 1018 may be used for sending a shared reverse link transmit schedule and it could also optionally carry the channel surplus capacity as a custom implementation
970 message. The HS-DSCH 1020 may be used to carry the actual bearer data to the user equipment 1002. The HS-DPCCH 1022 can carry the CQI reports and radio link packet ACK/NACK messages to the base station 1004. The CQI reports may be sent at relatively high rates (e.g., at 500 Hz) allowing the base station 1004 to rapidly adjust the forward channel modulation coding scheme (MCS) as well as the
975 appropriate forward channel transmit power. These same CQI reports (suitably sampled to obtain a stable value) may be used by the DLC 1014 to determine the peak rate that the user equipment 1002 could be using for the radio link, if permitted by the base station's scheduler.
In an embodiment, the CDN server 1016 may keep track of the peak
980 useable network capacity as identified by the user equipment's 1002 network attachment information (e.g., its IP address, base station ID, sector ID, etc.) and also the user equipment's 1002 radio link peak capacity. The server 1012 may select the appropriate metric to determine whether the radio link is congested or merely operating sub-optimally due to local channel conditions (e.g., such as
985 conditions caused by radio channel interference sources). For example, determining the peak allowed average throughput rate Rmax may be based on comparing MIN(radio link peak capacity, peak useable network capacity) with the observed actual burst throughput rate R. In other words, if the radio link peak capacity for a the user equipment 1002 is lower than its profiled peak network
990 capacity, then only the radio link peak capacity is used in comparison with the
observed burst throughput to determine Rmax.
The CDN server 1016 also monitors the available channel surplus capacity (reported by its clients) and tracks which DLC 1014 clients are operating on that channel. The CDN server 1016 can use this information to identify congestion 995 situations where many concurrent DLC sessions are sub-optimally using the channel, adjusting the Rmax calculations so that the channel is fully used. For example, the following formula may facilitate this calculation adjustment:
Rmax' = Rmax + BWsurplus / NumJobs
Where Rmax is calculated based on Min(Rpeak, R(CQI)),
1000 Rpeak = the profile peak bandwidth for the IP address,
R(CQI) = the reported UE link bandwidth,
NumJobs = the number of active UE on the wireless channel, and
BWsurplus = the surplus channel capacity
In the above formula, if the channel is fully occupied (e.g., where BWsurplus
1005 is equal or near 0), then no additional adjustment of Rmax is required (Rmax' =
Rmax). Otherwise, if there is some unused channel surplus bandwidth (e.g.,
BWsurplus > 0) then the calculated Rmax could be increased by sharing the surplus with the other DLC sessions (e.g., equally in proportion to the number of jobs, or in some scenarios by some weighted fraction based on job priority).
1010 In an embodiment, this situation can arise when sensed congestion by the
CDN server 1016 comes primarily from other DLC clients (not shown) rather than unrelated cross traffic. In those situations, depending on the backoff algorithm used to calculate Rmax, the server 1012 can instruct each DLC 1014 to reduce its average throughput rate to allow cross traffic preferential access to the channel. In
1015 scenarios where there is little or no cross traffic, this can result in an under-filled channel (self-backoff scenario) but which can be corrected by sharing the surplus across the active jobs (e.g., by accelerating media content transfer rates).
It should be understood that the described mechanisms of system 1000 are best applied in scenarios where the radio link (the link between the base station
1020 1004 and the user equipment 1002) is normally the bottleneck network segment between the CDN server 1016 and DLC 1014, as is typical of actual wireless access networks. In rare scenarios, if another network segment turns out to be the
bottleneck (e.g., in the 3G core 1008) and at the same time the user equipment 1002 were experiencing poor radio link conditions (e.g., due to one or more
1025 interference sources), then the CDN server 1016 might back off less aggressively than if it were simply using the peak network capacity for comparison as to the degree of network congestion.
In other alternate embodiments, it may not be possible for the base station 1004 to provide broadcast updates to the user equipment 1002 of the surplus radio
1030 channel capacity (i.e., custom messaging capability may not be available). In this circumstance the CDN server 1016 could still identify the self-backoff condition by pre-provisioned knowledge or estimation of the radio link capacity (i.e. associated with the RBSID or other shared radio channel identifier). In an embodiment, the CDN server 1016 could time multiplex concurrent DLRSP bursts so that the total
1035 radio link capacity was never exceeded.
For example, if a burst of DLREQ requests 1024 arrived at the CDN server 1016 the server 1012 could process the requests in order, but it may temporarily hold back requests so that a maximum number of concurrent responses, being transmitted end to end, was not exceeded. Doing this could introduce additional
1040 delay in the transfer rate, thereby lowering a communications session's average transfer rate. However, the overall aggregate transfer efficiency may improve by not having multiple DLC sessions contending against each other and backing off sub optimally. In an embodiment, another possible approach could be to temporarily halt lower priority transfer sessions, thereby allowing a maximum
1045 number of higher priority sessions to proceed consistent with the known or estimated radio link capacity.
In other embodiments other wireless networks may be employed without departing from the spirit and scope of the present invention. These alternate networks may include, but are not limited to: 3G networks such as CDMA2000 /
1050 EVDO or 4G LTE having equivalent MCS control mechanisms (e.g., Digital Rate Control) and they can use very similar methods to those described with reference to FIG. 10 (the CDMA2000 and WCDMA 3G architectures are highly parallel as developed by 3GPP2 and 3GPP respectively). Other radio networks such as WiMAX have similar information available to the terminal units and could also use
1055 the same concepts to achieve similar results.
FIG. 1 1 A depicts a graph 1 100 of downlink response (DLRSP) and channel quality indicator (CQI) report rates for various network locations (with corresponding locations depicted in FIG. 11 B) and environments, in accordance with embodiments of the present invention. On the graph, the vertical axis relates
1060 to a channel throughput rate, where Rpeak(IP) is the profile peak bandwidth for the UE IP address (assuming ideal conditions with no congestion and without reduced radio communications quality). The horizontal axis relates to time, and the plotted points A, B, C, D, and E, each represent positional changes over a period of time for a user equipment that moves amongst various network cells (See the UE path
1065 around network cells 1 1 12, 1 1 14, and 116 of FIG. 11 B).
In Region I, the R(DLRSP) curve 1 106 tracks the R(CQI) curve 1 108, both of which are below Rpeak(IP). This tracking indicates that there is no substantial link congestion, however the radio communications throughput changes in response to radio communications signal strength (e.g., related to a UE's proximity
1070 to a network base station 1 1 18) and quality changes (e.g., related to one or more sources of interference 1 124 between the UE and the base station). For example, at position A, both the R(DLRSP) curve 1 106 and the R(CQI) curve 1 108 are significantly higher than they are at position B, even though the UE at position A and position B may be roughly equidistant from the base station 1 1 18. This
1075 phenomenon may be due to the fact that there is an additional interference source 1 124 between the UE at position B and the base station 11 18. Due to the fact that there is no network congestion to which decreased throughput can be attributed to, the data transfer rate for the UE communications should be maintained (no backoff is required because it will likely not affect aggregate user throughput).
1080 Next, in Region Il at position C, within cell 11 14, the R(DLRSP) curve 1 106 is seen to be much lower than the R(CQI) curve 1 108. This is an indication of network congestion. Accordingly, the UE communications should be throttled to alleviate congestion on the link and prioritize cross traffic communications (e.g., voice communications). Then in Region ll/lll at position D, as the user equipment
1085 enters cell 1 1 16 from cell 1 1 14, the R(DLRSP) curve 1 106 is again tracking the R(CQI) curve 1 108. This is likely due to the fact that the state of network congestion is alleviated by communications with base station 1 122, which may have a much lower traffic load than that of base station 1 120. Unfortunately, the
data transfer rate is still very low due to the distance between the UE at position D
1090 and either base station 1 120 or 1 122. Accordingly, no backoff is warranted, because there is no congestion to alleviate.
Then in Region IV at position E, within cell 1 1 16, the UE transitions to a location very close to base station 1 122. In this location, the R(DLRSP) curve 1 106 is tracking the R(CQI) curve 1 108, so there is no substantive network
1095 congestion and no backoff is required, that is until Region V where congestion is again experienced and backoff may be employed.
FIG. 12 illustrates a flow diagram 1200 depicting processes for determining if a user equipment's exhaustible resident resources have surpassed one or more resource thresholds and assigning data content delivery rates and/or preferred
1100 data transfer periods, based on the determinations. It should be understood that this process 1200 could be executed using one or more computer-executable programs stored on one or more computer-readable media located on any of the network computing system's 100 user equipment 108a-c, 124, 126a-c, 128, 130, and 132, or on any of the SPDs 106a-b, 1 10, 1 12, 1 14, 116, 1 18, 120, and 122 of
1105 FIG. 1 (or on any other common service provider device) or without departing from the spirit and scope of the present invention.
At block 1202, a state of one or more device resource metrics, related to device communications and/or performance characteristics, is/are determined using a device resource monitor. In an embodiment, the device resource monitor
1110 may be a part of the user equipment (108a-c, 124, 126a-c, 128, 130, and 132) and in another embodiment, the device resource monitor may be a part of a SPD (106a-b, 1 10, 1 12, 1 14, 1 16, 1 18, 120, and 122). Next, at decision block 1204 it is determined if the determined resource metric(s) exceed one or more corresponding resource threshold(s). If it is determined that none of the resource metric(s)
1115 exceed one or more corresponding resource threshold(s), then the process proceeds to block 1206, where the data content delivery is allowed to proceed unimpeded, at the current data transfer rate. However, if the resource metric(s) are determined to exceed one or more corresponding resource threshold(s), then the process proceeds to decision block 1208, where it is determined if the data content
1120 throttling process requires an "active device" delivery scenario.
If it is determined that the data content throttling process does require an
"active device" delivery scenario, then the process proceeds to block 1210 where the data content delivery is restricted to periods when a receiving device is actively engaged in data communications. Subsequently, the process proceeds to block
1125 1212. However, if it is determined that the data content throttling process does NOT require an "active device" delivery scenario, then the process proceeds directly to block 1212 from block 1208, where a data content delivery is throttled to slow or stop the delivery until the exceeded threshold(s) is/are no longer surpassed. Subsequently the process ends at block 1214.
1130 FIG. 13 illustrates four user equipment resource management scenarios
1300, 1310, 1320, and 1330 where data content delivery may be altered, halted, or remain unimpeded, depending on whether resident device resources are determined to surpass one or more device resources thresholds, in accordance with embodiments of the present invention. In an embodiment, the four user
1135 equipment resource management scenarios 1300, 1310, 1320, and 1330 may relate to rate or time periods at which content can be delivered to a receiving device. It should be understood that the cellular phones depicted in each of the four diagrams 1302, 1312, 1322, and 1332 could be representative of any of the user equipment 108a-c, 124, 126a-c, 128, 130, and 132 in FIG. 1. The receiver
1140 1302, 1312, 1322, and 1332 may be a portable wireless device with limited local resources (e.g., battery capacity, CPU capacity, memory capacity, resource constraining local policy rules, etc.). In general, in situations where resources are close to a state of exhaustion, a particular file content delivery should not further accelerate the resource exhaustion, particularly if critical resource threshold values
1145 are reached or surpassed.
In an embodiment, there are two primary ways this may be achieved. First, a delivery can be throttled to slow or stop delivery once a threshold resource level is reached. For instance, shown in the first scenario 1300, if the receiving device's 1302 local battery supply 1304 is determined to reach or surpass a power
1150 threshold, then the device's 1302 delivery rate may proceed unimpeded 1306 (as indicated by the relatively wide communications indicator 1306) subject to the sender's and network's capacity to deliver the data content.
Otherwise, as is shown in scenario two 1310, if the receiving device's 1312 battery supply 1314 is less than a predetermined threshold, then the delivery rate
1155 1316 may be reduced or even stopped completely (as indicated by the relatively narrow communications indicator 1316). In an embodiment, this may be achieved by the receiving device monitoring its own resource levels and proportionally pacing new requests for the next piece of a content file being delivered to it. In an embodiment, a delivery rate can be modulated by communicating the resource
1160 status to the sender and letting the sender determine the maximum rate to delivery content to the receiver based on a predetermined policy.
In a third scenario 1320, multiple resource factors could be combined to influence a content file delivery rate. For example, if a receiving device 1322 was connected to power mains/source 1328, and its battery were being charged, then a
1165 low battery level 1324 could be ignored and the content delivery rate 1326 could proceed unimpeded (as indicated by the relatively wide communications indicator 1326). It should be understood that although battery capacity is the primary example, other resources or derived metrics based on those resources could also be used such as how heavily the device processor was being used, or
1170 such as local policy for transferring content only when in a given geographic area, attached with a preferred provider, etc.
Second, the delivery of content can be arranged to coincide with periods when the device is otherwise active with the purpose of allowing the device otherwise to enter a resource-saving sleep/idle mode. As illustrated in the fourth
1175 scenario 1330, the receiving device 1322 may restrict communication with the sender to periods when the receiver 1332 is otherwise actively communicating 1334. For example the receiving device 1332 could pace new requests for the next piece of the content file 1336 to coincide with intermittent required or scheduled network signaling transmissions 1334, such as paging responses or in other
1180 scenarios such as during periods when an unrelated user network application were using the wireless link such as a user checking email or web browsing or making a voice call.
FIG. 14 illustrates a flow diagram 1400 depicting local user equipment power down processes that allow a user to select whether to maintain or suspend a
1185 current data content delivery session(s), in accordance with an embodiment of the present invention. It should be understood that this process 1400 could be executed using one or more computer-executable programs stored on one or more
computer-readable media located on any of the network computing system's 100 user equipment 108a-c, 124, 126a-c, 128, 130, and 132, or on any of the SPDs
1190 106a-b, 1 10, 1 12, 1 14, 1 16, 118, 120, and 122 of FIG. 1 (or on any other common service provider device) or without departing from the spirit and scope of the present invention.
At block 1402 a media content delivery session to a user equipment is initiated. Then at decision block 1404 it is determined if a user equipment has
1195 received and instruction to power down during the delivery session. If it has NOT received the power down instruction, then the process proceeds to block 1406 where the media content delivery is allowed to proceed at the current data transfer rate. However, if it has received the power down instruction, the process proceeds to block 1408 where an ongoing media content delivery is detected and a user of
1200 the user equipment is prompted (at the user equipment) to determine whether they wish to continue the media content delivery or power down the user equipment. Subsequently, at decision block 1410 it is determined if the user has elected to continue with the media content delivery. If the user has elected to continue with their media content delivery, then at block 1412 the user is prompted (at their user
1205 equipment) to connect the user equipment to a power supply (to allow the user equipment to charge its resident power supply), while it continues the media content delivery.
However, if the user has elected NOT to continue with the media content delivery, then the process proceeds to block 1414 where the media content
1210 delivery is suspended and the user equipment is powered down. Next, at block 1416 it is determined if the user equipment has been powered back on. If the user equipment has been powered back on, then the media content delivery is automatically (or optionally resumed with a user prompt approval) resumed at block 1420. However, if the user equipment has not been powered back on, then the
1215 process waits for the user equipment to be powered on at block 1418 and the process reverts back to decision block 1416.
In an embodiment, a user may request a content delivery to their portable battery-powered device (e.g., any of user equipment 108a-c, 124, 126a-c, 128, 130, and 132 of FIG. 1 ). The delivery may be proceeding in the background. At
1220 some point the user may decides to power-off the device (e.g., prior to the user
going to sleep at night in order to save device battery power). Prior to shutting down the device, the ongoing content delivery session may be detected and a user alert/prompt informs the user that a data content delivery session is ongoing. The user is asked via the alert/prompt whether they wish to continue the content data
1225 delivery or proceed with the shut down the device. If the user elects to continue the delivery, a user alert/prompt may request the user to connect the device to a power mains/source (in order to preserve/recharge the device's battery resources) and the content delivery session can continue. However, if the user elects to shut down the device instead, the session may be paused and it can resume when the
1230 device is again powered-on.
In an embodiment, the invention may consist of a software algorithms/modules running on a mobile user equipment (e.g., on any of the user equipment 108a-c, 124, 126a-c, 128, 130, and 132 of FIG. 1 ) and in some embodiments on a base station (e.g., on any of the base stations 106a-b, 1 18, 120,
1235 and 122 of FIG. 1 ), or a base station controller (e.g., on any of the controllers devices 1 10, 1 12, and 1 14 of FIG. 1 ), access service node, access point, manager, communication module, etc.) and a remote sender/receiver in communication with the user equipment.
In one embodiment, the user equipment software may continually evaluate
1240 the user equipment's peak link capacity derived from inputs including one or more of the wireless channel modulation and coding, signal to interference plus noise ratio, free capacity, service rate-limit policy, etc. The user equipment may use these inputs to calculate the peak link capacity defined as the throughput the user equipment could achieve if not otherwise limited by shared channel traffic
1245 presented by other users. It should be understood that the peak link capacity could equally be determined remotely (e.g., by a base station or base station controller or any other external computing module communicating with the user equipment).
In an embodiment, when a user equipment is performing a content file delivery, if the delivery throughput is at or near the calculated peak link capacity,
1250 then the end-to-end delivery path may be considered to be uncongested and the transfer can proceed unthrottled. If the delivery throughput is lower than the calculated peak link capacity (within a predetermined tolerance level), then the end-to-end delivery path may be determined to be congested and the transfer may
be slowed to avoid impacting unrelated cross traffic using the channel. In an
1255 embodiment, as the user equipment moves between locations of varying radio coverage, the calculated wireless peak link capacity may vary so that a benefit of the invention is that by communicating the current peak link capacity, the end-to- end throughput variation is not confused by the throttling algorithm with shared channel congestion that similarly slows content file delivery performance.
1260 In an embodiment, the invention may address the amount of throughput throttling or backoff the system should apply in order to minimally affect concurrent unrelated cross traffic using a shared wireless channel. In an embodiment, a software algorithm/module running on a base station (or alternately, a base station controller, or any other well known SPD) periodically determines the aggregate
1265 volume of unrelated cross traffic using the channel. The algorithm may also periodically determine the aggregate channel throughput available to user traffic. The difference between these two measurements indicates the remaining surplus capacity on the channel that is available for content file transfers. In scenarios where an aggregate shared channel is congested, the surplus capacity indication
1270 may be fed back into the bandwidth throttling algorithm to adjust the volume of offered content delivery traffic to just equal the surplus bandwidth.
While several embodiments of the present invention have been illustrated and described herein, many changes can be made without departing from the spirit and scope of the invention. Accordingly, the scope of the invention is not limited by
1275 any disclosed embodiment. Instead, the scope of the invention should be determined from the appended claims that follow.
Claims
1. A user equipment (108a-c, 124, 126a-c, 128, 130, 132, 300) for optimizing a 1280 media content delivery, comprising:
at least one memory (308) having a resource manager (314) stored therein;
at least one processor (304);
a resident power source; and
a transceiver (320);
1285 wherein the resource manager (314) is configured to:
determine one or more device metrics;
compare the one or more device metrics to one or more device thresholds; and
generate an instruction to throttle a media content delivery when it is 1290 determined that at least one resource metric has exceeded a resource threshold value or that a local policy metric has achieved a local policy threshold.
2. The user equipment (300) of Claim 1 , wherein the at least one resource metric is a power supply metric of the resident power source or a processing
1295 resource metric of the at least one processor.
3. The user equipment (300) of Claim 1 , wherein the local policy metric is a current geographic location of the user equipment (300) and the local policy threshold is a provider preferred geographic area threshold.
4. The user equipment (300) of Claim 2, wherein the resource manager 1300 determines that the resource threshold value has been exceeded when the power supply metric is less than a remaining power supply threshold value or when the processing resource metric is greater than a processor usage threshold value.
5. The user equipment (300) of Claim 1 , wherein the generated instruction is processed by the at least one processor to set an optimal data transfer rate for the
1305 media content delivery.
6. The user equipment (300) of Claim 1 , wherein the generated instruction is transmitted to an external computing device (200) that determines an optimal data transfer rate (210) for the media content delivery based on the received instruction.
7. A computer-readable medium encoded with computer-executable 1310 instructions for optimizing a media content delivery to a user equipment (300), which when executed, perform a method comprising:
determining one or more user equipment metrics;
comparing the one or more user equipment metrics to one or more device thresholds; and
1315 generating an instruction to throttle a media content delivery when at least one resource metric has exceeded a resource threshold value or a local policy metric has achieved a local policy threshold.
8. The computer-readable medium of Claim 7, wherein the at least one resource metric is a power supply metric or a processing resource metric.
1320 9. The computer-readable medium of Claim 7, wherein the local policy metric is a current geographic location of the user equipment (300) and the local policy threshold is a provider preferred geographic area threshold.
10. The computer-readable medium of Claim 8, wherein the method further comprises determining that the resource threshold value has been exceeded when
1325 the power supply metric is less than a remaining power supply threshold value or when the processing resource metric is greater than a processor usage threshold value.
1 1. The computer-readable medium of Claim 7, wherein the method further comprises processing the generated instruction at the user equipment (300) to set
1330 an optimal data transfer rate for the media content delivery.
12. The computer-readable medium of Claim 7, wherein the method further comprises transmitting the generated instruction to an external computing device (200) that determines an optimal data transfer rate (210) for the media content delivery based on the received instruction.
1335 13. A computer-implemented method for optimizing a media content delivery to a user equipment (300), the method comprising:
determining one or more user equipment metrics;
comparing the one or more user equipment metrics to one or more device thresholds; and
1340 generating an instruction to throttle a media content delivery when at least one resource metric has exceeded a resource threshold value or a local policy metric has achieved a local policy threshold.
14. The computer-implemented method of Claim 13, wherein the at least one resource metric is a power supply metric or a processing resource metric.
1345 15. The computer-implemented method of Claim 13, wherein the local policy metric is a current geographic location of the user equipment (300) and the local policy threshold is a provider preferred geographic area threshold.
16. The computer-implemented method of Claim 14, wherein the method further comprises determining that the resource threshold value has been exceeded when
1350 the power supply metric is less than a remaining power supply threshold value or when the processing resource metric is greater than a processor usage threshold value.
17. The computer-implemented method of Claim 13, wherein the method further comprises processing the generated instruction at the user equipment (300) to set
1355 an optimal data transfer rate for the media content delivery.
18. The computer-implemented method of Claim 13, wherein the method further comprises transmitting the generated instruction to an external computing device (200) that determines an optimal data transfer rate (210) for the media content delivery based on the received instruction.
1360 19. A computer-implemented method for optimizing a media content delivery to a user equipment (300), the method comprising:
initiating a media content delivery to a user equipment (300); detecting a power down instruction at the user equipment (300); and prompting a user to determine whether the user wishes to continue the 1365 media content delivery or proceed with powering down the user equipment (300).
20. The computer-implemented method of Claim 19, wherein the method further comprises prompting the user of the user equipment (300) to connect the user equipment (300) to a power supply in response to receiving an instruction to 1370 continue the media content delivery.
Priority Applications (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| KR1020127007141A KR101576704B1 (en) | 2009-08-19 | 2010-04-19 | Optimizing media content delivery based on user equipment determined resource metrics |
| EP10810307.8A EP2468067A4 (en) | 2009-08-19 | 2010-04-19 | OPTIMIZING MULTIMEDIA CONTENT DISTRIBUTION BASED ON RESOURCE METRICS DETERMINED BY USER EQUIPMENT |
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US23529709P | 2009-08-19 | 2009-08-19 | |
| US61/235,297 | 2009-08-19 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2011022096A1 true WO2011022096A1 (en) | 2011-02-24 |
Family
ID=43606189
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2010/031652 Ceased WO2011022096A1 (en) | 2009-08-19 | 2010-04-19 | Optimizing media content delivery based on user equipment determined resource metrics |
| PCT/US2010/031651 Ceased WO2011022095A1 (en) | 2009-08-19 | 2010-04-19 | Enhanced data delivery based on real time analysis of network communications quality and traffic |
Family Applications After (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/US2010/031651 Ceased WO2011022095A1 (en) | 2009-08-19 | 2010-04-19 | Enhanced data delivery based on real time analysis of network communications quality and traffic |
Country Status (4)
| Country | Link |
|---|---|
| US (2) | US8019886B2 (en) |
| EP (2) | EP2468067A4 (en) |
| KR (2) | KR101689778B1 (en) |
| WO (2) | WO2011022096A1 (en) |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110062422A (en) * | 2011-10-21 | 2019-07-26 | 弗劳恩霍夫应用研究促进协会 | Wireless resource management device and method |
Families Citing this family (149)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| GB2454204A (en) * | 2007-10-31 | 2009-05-06 | Nec Corp | Core network selecting security algorithms for use between a base station and a user device |
| US8391834B2 (en) | 2009-01-28 | 2013-03-05 | Headwater Partners I Llc | Security techniques for device assisted services |
| US8340634B2 (en) | 2009-01-28 | 2012-12-25 | Headwater Partners I, Llc | Enhanced roaming services and converged carrier networks with device assisted services and a proxy |
| US8924543B2 (en) | 2009-01-28 | 2014-12-30 | Headwater Partners I Llc | Service design center for device assisted services |
| US8250207B2 (en) | 2009-01-28 | 2012-08-21 | Headwater Partners I, Llc | Network based ambient services |
| US8589541B2 (en) | 2009-01-28 | 2013-11-19 | Headwater Partners I Llc | Device-assisted services for protecting network capacity |
| US8346225B2 (en) | 2009-01-28 | 2013-01-01 | Headwater Partners I, Llc | Quality of service for device assisted services |
| US8626115B2 (en) | 2009-01-28 | 2014-01-07 | Headwater Partners I Llc | Wireless network service interfaces |
| US8725123B2 (en) | 2008-06-05 | 2014-05-13 | Headwater Partners I Llc | Communications device with secure data path processing agents |
| US8635335B2 (en) | 2009-01-28 | 2014-01-21 | Headwater Partners I Llc | System and method for wireless network offloading |
| US8548428B2 (en) | 2009-01-28 | 2013-10-01 | Headwater Partners I Llc | Device group partitions and settlement platform |
| US8406748B2 (en) | 2009-01-28 | 2013-03-26 | Headwater Partners I Llc | Adaptive ambient services |
| US8832777B2 (en) | 2009-03-02 | 2014-09-09 | Headwater Partners I Llc | Adapting network policies based on device service processor configuration |
| US8402111B2 (en) | 2009-01-28 | 2013-03-19 | Headwater Partners I, Llc | Device assisted services install |
| US8924469B2 (en) | 2008-12-18 | 2014-12-30 | Headwater Partners I Llc | Enterprise access control and accounting allocation for access networks |
| US8898293B2 (en) | 2009-01-28 | 2014-11-25 | Headwater Partners I Llc | Service offer set publishing to device agent with on-device service selection |
| US8275830B2 (en) | 2009-01-28 | 2012-09-25 | Headwater Partners I Llc | Device assisted CDR creation, aggregation, mediation and billing |
| US9047236B2 (en) | 2008-06-06 | 2015-06-02 | Amazon Technologies, Inc. | Client side stream switching |
| US8516121B1 (en) * | 2008-06-30 | 2013-08-20 | Symantec Corporation | Method and apparatus for optimizing computer network usage to prevent congestion |
| US8606911B2 (en) | 2009-03-02 | 2013-12-10 | Headwater Partners I Llc | Flow tagging for service policy implementation |
| US9565707B2 (en) | 2009-01-28 | 2017-02-07 | Headwater Partners I Llc | Wireless end-user device with wireless data attribution to multiple personas |
| US10200541B2 (en) | 2009-01-28 | 2019-02-05 | Headwater Research Llc | Wireless end-user device with divided user space/kernel space traffic policy system |
| US8893009B2 (en) | 2009-01-28 | 2014-11-18 | Headwater Partners I Llc | End user device that secures an association of application to service policy with an application certificate check |
| US9253663B2 (en) | 2009-01-28 | 2016-02-02 | Headwater Partners I Llc | Controlling mobile device communications on a roaming network based on device state |
| US9571559B2 (en) | 2009-01-28 | 2017-02-14 | Headwater Partners I Llc | Enhanced curfew and protection associated with a device group |
| US10264138B2 (en) | 2009-01-28 | 2019-04-16 | Headwater Research Llc | Mobile device and service management |
| US10779177B2 (en) | 2009-01-28 | 2020-09-15 | Headwater Research Llc | Device group partitions and settlement platform |
| US10057775B2 (en) | 2009-01-28 | 2018-08-21 | Headwater Research Llc | Virtualized policy and charging system |
| US9954975B2 (en) | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Enhanced curfew and protection associated with a device group |
| US12452377B2 (en) | 2009-01-28 | 2025-10-21 | Headwater Research Llc | Service design center for device assisted services |
| US12166596B2 (en) | 2009-01-28 | 2024-12-10 | Disney Enterprises, Inc. | Device-assisted services for protecting network capacity |
| US10798252B2 (en) | 2009-01-28 | 2020-10-06 | Headwater Research Llc | System and method for providing user notifications |
| US12432130B2 (en) | 2009-01-28 | 2025-09-30 | Headwater Research Llc | Flow tagging for service policy implementation |
| US10841839B2 (en) | 2009-01-28 | 2020-11-17 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
| US10484858B2 (en) | 2009-01-28 | 2019-11-19 | Headwater Research Llc | Enhanced roaming services and converged carrier networks with device assisted services and a proxy |
| US10064055B2 (en) | 2009-01-28 | 2018-08-28 | Headwater Research Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
| US9647918B2 (en) | 2009-01-28 | 2017-05-09 | Headwater Research Llc | Mobile device and method attributing media services network usage to requesting application |
| US8745191B2 (en) | 2009-01-28 | 2014-06-03 | Headwater Partners I Llc | System and method for providing user notifications |
| US9557889B2 (en) | 2009-01-28 | 2017-01-31 | Headwater Partners I Llc | Service plan design, user interfaces, application programming interfaces, and device management |
| US9706061B2 (en) | 2009-01-28 | 2017-07-11 | Headwater Partners I Llc | Service design center for device assisted services |
| US9578182B2 (en) | 2009-01-28 | 2017-02-21 | Headwater Partners I Llc | Mobile device and service management |
| US10783581B2 (en) | 2009-01-28 | 2020-09-22 | Headwater Research Llc | Wireless end-user device providing ambient or sponsored services |
| US8793758B2 (en) | 2009-01-28 | 2014-07-29 | Headwater Partners I Llc | Security, fraud detection, and fraud mitigation in device-assisted services systems |
| US12389218B2 (en) | 2009-01-28 | 2025-08-12 | Headwater Research Llc | Service selection set publishing to device agent with on-device service selection |
| US9572019B2 (en) | 2009-01-28 | 2017-02-14 | Headwater Partners LLC | Service selection set published to device agent with on-device service selection |
| US9858559B2 (en) | 2009-01-28 | 2018-01-02 | Headwater Research Llc | Network service plan design |
| US9955332B2 (en) | 2009-01-28 | 2018-04-24 | Headwater Research Llc | Method for child wireless device activation to subscriber account of a master wireless device |
| US11973804B2 (en) | 2009-01-28 | 2024-04-30 | Headwater Research Llc | Network service plan design |
| US12388810B2 (en) | 2009-01-28 | 2025-08-12 | Headwater Research Llc | End user device that secures an association of application to service policy with an application certificate check |
| US9392462B2 (en) | 2009-01-28 | 2016-07-12 | Headwater Partners I Llc | Mobile end-user device with agent limiting wireless data communication for specified background applications based on a stored policy |
| US9270559B2 (en) | 2009-01-28 | 2016-02-23 | Headwater Partners I Llc | Service policy implementation for an end-user device having a control application or a proxy agent for routing an application traffic flow |
| US10715342B2 (en) | 2009-01-28 | 2020-07-14 | Headwater Research Llc | Managing service user discovery and service launch object placement on a device |
| US10492102B2 (en) | 2009-01-28 | 2019-11-26 | Headwater Research Llc | Intermediate networking devices |
| US12543031B2 (en) | 2009-01-28 | 2026-02-03 | Headwater Research Llc | Adapting network policies based on device service processor configuration |
| US11218854B2 (en) | 2009-01-28 | 2022-01-04 | Headwater Research Llc | Service plan design, user interfaces, application programming interfaces, and device management |
| US10248996B2 (en) | 2009-01-28 | 2019-04-02 | Headwater Research Llc | Method for operating a wireless end-user device mobile payment agent |
| US11985155B2 (en) | 2009-01-28 | 2024-05-14 | Headwater Research Llc | Communications device with secure data path processing agents |
| US10237757B2 (en) | 2009-01-28 | 2019-03-19 | Headwater Research Llc | System and method for wireless network offloading |
| US9980146B2 (en) | 2009-01-28 | 2018-05-22 | Headwater Research Llc | Communications device with secure data path processing agents |
| US9755842B2 (en) | 2009-01-28 | 2017-09-05 | Headwater Research Llc | Managing service user discovery and service launch object placement on a device |
| US10326800B2 (en) | 2009-01-28 | 2019-06-18 | Headwater Research Llc | Wireless network service interfaces |
| US9351193B2 (en) | 2009-01-28 | 2016-05-24 | Headwater Partners I Llc | Intermediate networking devices |
| FR2946820B1 (en) * | 2009-06-16 | 2012-05-11 | Canon Kk | DATA TRANSMISSION METHOD AND ASSOCIATED DEVICE. |
| US9015564B2 (en) | 2009-08-19 | 2015-04-21 | Qualcomm Incorporated | Content delivery system with allocation of source data and repair data among HTTP servers |
| US9146601B2 (en) * | 2009-11-20 | 2015-09-29 | Lenovo (Singapore) Pte. Ltd. | Systems and methods for electronic device power management |
| US8775502B2 (en) | 2009-12-15 | 2014-07-08 | At&T Intellectual Property I, L.P. | Data routing in a content distribution network for mobility delivery |
| US9521178B1 (en) * | 2009-12-21 | 2016-12-13 | Amazon Technologies, Inc. | Dynamic bandwidth thresholds |
| US8605667B2 (en) * | 2010-01-13 | 2013-12-10 | Oracle International Corporation | Systems and methods for exposing different service facades of an underlying network |
| US20110267948A1 (en) * | 2010-05-03 | 2011-11-03 | Koc Ali T | Techniques for communicating and managing congestion in a wireless network |
| US8964544B2 (en) * | 2010-10-14 | 2015-02-24 | T-Mobile Usa, Inc. | Quality of service adjustments to improve network utilization |
| US8559326B2 (en) * | 2010-11-16 | 2013-10-15 | Edgecast Networks, Inc. | Bandwidth modification for transparent capacity management in a carrier network |
| US9883446B2 (en) * | 2010-12-27 | 2018-01-30 | Google Technology Holdings LLC | Method and apparatus for mobile media optimization |
| US9030935B2 (en) * | 2011-03-30 | 2015-05-12 | International Business Machines Corporation | Device and method for adjusting rate limits for transmission rates of data flows having a certain priority in a transmitter |
| US9154826B2 (en) | 2011-04-06 | 2015-10-06 | Headwater Partners Ii Llc | Distributing content and service launch objects to mobile devices |
| WO2012152771A2 (en) * | 2011-05-12 | 2012-11-15 | Telefonica, S.A | Content server of a service provider's cdn |
| US20130167028A1 (en) * | 2011-06-01 | 2013-06-27 | Adobe Systems Incorporated | Restricting media content rendering |
| US9300814B2 (en) * | 2011-09-12 | 2016-03-29 | Microsoft Technology Licensing Llc | Network adaptive content download |
| US8447851B1 (en) * | 2011-11-10 | 2013-05-21 | CopperEgg Corporation | System for monitoring elastic cloud-based computing systems as a service |
| JP2013105367A (en) * | 2011-11-15 | 2013-05-30 | Hitachi Ltd | Thin client system and server apparatus |
| GB2498924A (en) * | 2012-01-05 | 2013-08-07 | Renesas Mobile Corp | Allocating resources between two wireless networks on an unlicensed band |
| US20130262656A1 (en) * | 2012-03-30 | 2013-10-03 | Jin Cao | System and method for root cause analysis of mobile network performance problems |
| US9235867B2 (en) * | 2012-06-04 | 2016-01-12 | Microsoft Technology Licensing, Llc | Concurrent media delivery |
| US8626910B1 (en) | 2012-06-19 | 2014-01-07 | Edgecast Networks, Inc. | Systems and methods for performing localized server-side monitoring in a content delivery network |
| GB2505888B (en) * | 2012-09-12 | 2014-11-05 | Toshiba Res Europ Ltd | Method for interference & congestion detection with multiple radio technologies |
| US9247548B2 (en) | 2012-09-24 | 2016-01-26 | Blackberry Limited | Data service level uplink data flow control |
| US8495221B1 (en) * | 2012-10-17 | 2013-07-23 | Limelight Networks, Inc. | Targeted and dynamic content-object storage based on inter-network performance metrics |
| US9363185B2 (en) | 2012-10-17 | 2016-06-07 | Opanga Networks, Inc. | Method and system for determining sustainable throughput over wireless networks |
| US8989244B2 (en) | 2012-12-10 | 2015-03-24 | Netgear, Inc. | Beacon detection structures, systems and processes for interference testing |
| US9813972B2 (en) * | 2013-03-10 | 2017-11-07 | Myoonet, Inc. | Local data communication traffic management |
| US9179356B1 (en) * | 2013-03-10 | 2015-11-03 | Myoonet, Inc. | Local data communication traffic management |
| WO2014159862A1 (en) | 2013-03-14 | 2014-10-02 | Headwater Partners I Llc | Automated credential porting for mobile devices |
| US9026077B2 (en) | 2013-03-30 | 2015-05-05 | International Business Machines Corporation | Delayed delivery with bounded interference in a cellular data network |
| US9544205B2 (en) * | 2013-04-09 | 2017-01-10 | Twin Prime, Inc. | Cognitive data delivery optimizing system |
| US10097503B2 (en) | 2013-09-27 | 2018-10-09 | Fastly, Inc. | Content node network address selection for content delivery |
| EP3061210A4 (en) | 2013-10-21 | 2017-09-06 | Nyansa, Inc. | A system and method for observing and controlling a programmable network using a remote network manager |
| US9564986B2 (en) * | 2013-11-06 | 2017-02-07 | At&T Intellectual Property I, L.P. | Latency reduction and range extension system for radio networks |
| CN105850087B (en) * | 2013-12-20 | 2019-04-26 | 瑞典爱立信有限公司 | Method and apparatus for reducing overhead using channel reciprocity |
| US9450824B2 (en) * | 2014-02-04 | 2016-09-20 | Wipro Limited | Systems and methods for smart request processing |
| WO2015192311A1 (en) * | 2014-06-17 | 2015-12-23 | Telefonaktiebolaget L M Ericsson(Publ) | Reporting quality of experience of receiving digital content |
| US20150382244A1 (en) | 2014-06-27 | 2015-12-31 | T-Mobile Usa, Inc. | Upsell Framework for Network Services |
| GB2530349A (en) * | 2014-09-18 | 2016-03-23 | Fastly Inc | Content node network address selection for content delivery |
| US20160094986A1 (en) * | 2014-09-29 | 2016-03-31 | Sprint Communications Company L.P. | Content delivery metadata exchange in wireless communication systems |
| US10356652B2 (en) | 2014-10-06 | 2019-07-16 | Vid Scale, Inc. | Adapting communication parameters to link conditions, traffic types, and/or priorities |
| US10320605B2 (en) * | 2014-10-15 | 2019-06-11 | Nimbus 9, Inc. | Rapid gateway swap |
| US10063653B2 (en) | 2014-12-29 | 2018-08-28 | Akamai Technologies, Inc. | Distributed server architecture for supporting a predictive content pre-fetching service for mobile device users |
| US10771583B2 (en) * | 2014-12-29 | 2020-09-08 | Akamai Technologies, Inc. | Managing mobile device user subscription and service preferences to predictively pre-fetch content |
| US9807010B2 (en) | 2015-06-05 | 2017-10-31 | Akamai Technologies, Inc. | Congestion detection in mobile networks and delivery of content in non-congested conditions |
| US10085174B2 (en) * | 2015-09-22 | 2018-09-25 | International Business Machines Corporation | Wireless channel and/or band arbitration |
| GB201517121D0 (en) * | 2015-09-28 | 2015-11-11 | Provost Fellows & Scholars College Of The Holy Undivided Trinity Of Queen Elizabeth Near Dublin | Method and system for computing bandwidth requirement in a cellular network |
| US9954950B2 (en) * | 2015-12-23 | 2018-04-24 | Intel Corporation | Attestable information flow control in computer systems |
| US10191792B2 (en) * | 2016-03-04 | 2019-01-29 | International Business Machines Corporation | Application abnormality detection |
| CA3020591C (en) * | 2016-04-18 | 2024-02-20 | Nyansa, Inc. | A system and method for network incident identification, congestion detection, analysis, and management |
| US10230609B2 (en) | 2016-04-18 | 2019-03-12 | Nyansa, Inc. | System and method for using real-time packet data to detect and manage network issues |
| US10193741B2 (en) | 2016-04-18 | 2019-01-29 | Nyansa, Inc. | System and method for network incident identification and analysis |
| US10200267B2 (en) | 2016-04-18 | 2019-02-05 | Nyansa, Inc. | System and method for client network congestion detection, analysis, and management |
| US10341209B2 (en) | 2016-06-21 | 2019-07-02 | At&T Intellectual Property I, L.P. | Tunable low cost network |
| US11171796B2 (en) | 2016-06-23 | 2021-11-09 | Hewlett Packard Enterprise Development Lp | Managing multicast scaling |
| EP3316587A1 (en) * | 2016-10-27 | 2018-05-02 | Thomson Licensing | Method for managing staggercast transmissions in a communication network comprising a central device and a plurality of user terminals |
| US10965572B2 (en) * | 2017-05-01 | 2021-03-30 | Bank Of America Corporation | Data transfer control |
| CN107229835A (en) * | 2017-06-28 | 2017-10-03 | 武汉联影医疗科技有限公司 | A kind of medical data processing method and medical service system |
| CN107480181B (en) * | 2017-07-05 | 2020-11-24 | 百度在线网络技术(北京)有限公司 | Audio playing method, device, equipment and server |
| US10972358B2 (en) | 2017-08-30 | 2021-04-06 | Citrix Systems, Inc. | Inferring congestion and signal quality |
| US11991235B2 (en) * | 2017-09-27 | 2024-05-21 | Comcast Cable Communications, Llc | Adaptive energy system utilizing quality of service and quality of experience metrics |
| US10666494B2 (en) | 2017-11-10 | 2020-05-26 | Nyansa, Inc. | System and method for network incident remediation recommendations |
| US11012362B2 (en) | 2018-06-18 | 2021-05-18 | Akamai Technologies, Inc. | Download management with congestion mitigation for over the air content delivery to vehicles |
| US10667172B2 (en) | 2018-06-18 | 2020-05-26 | Akamai Technologies, Inc. | Download management with congestion mitigation for over the air content delivery to vehicles |
| US10440063B1 (en) * | 2018-07-10 | 2019-10-08 | Eturi Corp. | Media device content review and management |
| US10834163B2 (en) | 2018-10-18 | 2020-11-10 | At&T Intellectual Property I, L.P. | Methods, devices, and systems for encoding portions of video content according to priority content within live video content |
| FR3094164B1 (en) * | 2019-03-22 | 2021-10-29 | Streamroot | Method of obtaining a data segment by a client device capable of communicating with a plurality of content delivery networks |
| US10555191B1 (en) * | 2019-08-01 | 2020-02-04 | T-Mobile Usa, Inc. | Optimum network performance improvement solutions selection systems and methods |
| US11223977B2 (en) * | 2020-01-27 | 2022-01-11 | T-Mobile Usa, Inc. | Service-based data rate control to enhance network performance |
| US11343683B2 (en) | 2020-04-22 | 2022-05-24 | T-Mobile Usa, Inc. | Identification and prioritization of optimum capacity solutions in a telecommunications network |
| US11350289B2 (en) | 2020-05-14 | 2022-05-31 | T-Mobile Usa, Inc. | Identification of indoor and outdoor traffic usage of customers of a telecommunications network |
| US11064382B1 (en) | 2020-05-07 | 2021-07-13 | T-Mobile Usa, Inc. | Management of telecommunications network congestion on roadways |
| US11153765B1 (en) | 2020-05-15 | 2021-10-19 | T-Mobile Usa, Inc. | Capacity planning of telecommunications network by detecting anomalies in site behavior |
| KR102751891B1 (en) | 2020-08-26 | 2025-01-10 | 삼성전자주식회사 | The electronic device mounted on vehicle and the method operating the same |
| US11483203B2 (en) | 2020-10-28 | 2022-10-25 | Charter Communications Operating, Llc | Methods and apparatus for enhancing scheduler fairness in small-cell wireless systems |
| US12273909B2 (en) | 2020-10-29 | 2025-04-08 | Charter Communications Operating, Llc | Methods and apparatus for data traffic prioritization in small-cell wireless systems |
| US11569931B2 (en) | 2020-10-30 | 2023-01-31 | Charter Communications Operating, Llc | Methods and apparatus for enhancing wireless link throughput in small-cell wireless systems |
| US11979767B2 (en) * | 2020-11-27 | 2024-05-07 | At&T Intellectual Property I, L.P. | Automatic adjustment of throughput rate to optimize wireless device battery performance |
| CN112822233B (en) * | 2020-12-29 | 2023-02-21 | 国网冀北电力有限公司信息通信分公司 | Traffic redirection method and device |
| CN112738270B (en) * | 2021-01-07 | 2022-12-30 | 苏州浪潮智能科技有限公司 | File transmission method, device, equipment and storage medium |
| CN114786171B (en) * | 2021-01-22 | 2024-03-05 | 中国电信股份有限公司 | Differentiated residence method and system for 2C and 2B users under shared carrier |
| CN116033482B (en) * | 2022-12-28 | 2025-11-18 | 中国联合网络通信集团有限公司 | Adaptive adjustment method, equipment and apparatus for communication links |
| US12212494B2 (en) * | 2023-04-21 | 2025-01-28 | VMware LLC | Dynamic grouping of network segments for forwarding data message flows from machines of network segment groups to an external network through different edge forwarding elements |
| JP2025043145A (en) * | 2023-09-15 | 2025-03-28 | トヨタ自動車株式会社 | COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND UE |
| JP2025042799A (en) * | 2023-09-15 | 2025-03-28 | トヨタ自動車株式会社 | COMMUNICATION CONTROL DEVICE, COMMUNICATION CONTROL METHOD, AND UE |
| CN120018213B (en) * | 2023-11-16 | 2025-09-02 | 北京信息科技大学 | Method, device and storage medium for minimizing decoding error probability |
| US12464379B2 (en) | 2024-03-22 | 2025-11-04 | T-Mobile Usa, Inc. | Automatic user equipment degradation optimization |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004114639A1 (en) * | 2003-06-26 | 2004-12-29 | Nokia Corporation | Portable battery driven apparatus |
| US20060268336A1 (en) * | 2005-05-27 | 2006-11-30 | Casio Hitachi Mobile Communications Co., Ltd. | Wireless communication terminal |
| KR20070013600A (en) * | 2005-07-26 | 2007-01-31 | 주식회사 팬택 | Method for stopping DMB content playback in the state of low battery charge remaining and mobile communication terminal using same |
| EP1841172A1 (en) * | 2006-03-31 | 2007-10-03 | Motorola, Inc. | Re-direction of streaming multimedia in wireless communication devices |
Family Cites Families (152)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US650243A (en) | 1899-04-18 | 1900-05-22 | Thomas W Hart | Gig-saddle. |
| US5313454A (en) * | 1992-04-01 | 1994-05-17 | Stratacom, Inc. | Congestion control for cell networks |
| JPH07336375A (en) | 1994-06-14 | 1995-12-22 | Hitachi Ltd | Data transfer system |
| US5726978A (en) | 1995-06-22 | 1998-03-10 | Telefonaktiebolaget L M Ericsson Publ. | Adaptive channel allocation in a frequency division multiplexed system |
| EP0779722A1 (en) * | 1995-12-11 | 1997-06-18 | Hewlett-Packard Company | Failure detection method in a communication channel with several routes |
| US5706428A (en) | 1996-03-14 | 1998-01-06 | Lucent Technologies Inc. | Multirate wireless data communication system |
| DK174882B1 (en) | 1996-04-12 | 2004-01-19 | Tellabs Denmark As | Method and network element for transmitting data packets in a telephony transmission network |
| KR100187823B1 (en) | 1996-11-27 | 1999-06-01 | 서평원 | CDMA mobile data communication control system |
| JPH10290475A (en) | 1997-02-12 | 1998-10-27 | Fujitsu Ltd | Mobile communication system |
| CA2229904C (en) | 1997-02-19 | 2006-10-24 | Google Technology Holdings LLC | In-home wireless |
| JPH10247944A (en) | 1997-03-05 | 1998-09-14 | Kokusai Denshin Denwa Co Ltd <Kdd> | Relay control device and method |
| US5974460A (en) | 1997-06-16 | 1999-10-26 | International Business Machines Corporation | Apparatus and method for selecting an optimum telecommunications link |
| US20010052087A1 (en) | 1998-04-27 | 2001-12-13 | Atul R. Garg | Method and apparatus for monitoring a network environment |
| DE19831169C2 (en) | 1998-07-11 | 2001-03-22 | Deutsche Telekom Ag | Method for transmitting information adapted to the performance of a terminal device via a communication network |
| US6453346B1 (en) | 1998-07-17 | 2002-09-17 | Proactivenet, Inc. | Method and apparatus for intelligent storage and reduction of network information |
| US6321338B1 (en) | 1998-11-09 | 2001-11-20 | Sri International | Network surveillance |
| US6651105B1 (en) | 1998-11-12 | 2003-11-18 | International Business Machines Corporation | Method for seamless networking support for mobile devices using serial communications |
| US6345180B1 (en) * | 1998-12-30 | 2002-02-05 | Ericsson Inc. | Mobile terminal reserve power system |
| US6567415B1 (en) | 1999-03-20 | 2003-05-20 | Lucent Technologies Inc. | Packet scheduling in a communication network with statistical multiplexing of service classes |
| JP4299911B2 (en) | 1999-03-24 | 2009-07-22 | 株式会社東芝 | Information transfer system |
| US6804714B1 (en) | 1999-04-16 | 2004-10-12 | Oracle International Corporation | Multidimensional repositories for problem discovery and capacity planning of database applications |
| US6560243B1 (en) | 1999-04-30 | 2003-05-06 | Hewlett-Packard Development Company | System and method for receiver based allocation of network bandwidth |
| SG87029A1 (en) | 1999-05-08 | 2002-03-19 | Kent Ridge Digital Labs | Dynamically delayed acknowledgement transmission system |
| GB9913697D0 (en) | 1999-06-11 | 1999-08-11 | Adaptive Broadband Ltd | Dynamic channel allocation in a wireless network |
| US6845398B1 (en) | 1999-08-02 | 2005-01-18 | Lucent Technologies Inc. | Wireless multimedia player |
| US6377805B1 (en) | 1999-08-04 | 2002-04-23 | International Business Machines Corporation | Maintaining data communication through neighboring mobile units during handoff |
| US6947388B1 (en) | 1999-10-20 | 2005-09-20 | International Business Machines Corporation | Method and system for a real-time bandwidth allocation scheduler for media delivery |
| US6339785B1 (en) | 1999-11-24 | 2002-01-15 | Idan Feigenbaum | Multi-server file download |
| US7035270B2 (en) | 1999-12-30 | 2006-04-25 | General Instrument Corporation | Home networking gateway |
| US6856597B1 (en) * | 2000-02-10 | 2005-02-15 | Paradyne Corporation | System and method for statistical control of power dissipation with host enforcement |
| US6920110B2 (en) | 2001-02-14 | 2005-07-19 | Microsoft Corporation | System and method for transferring data over a network |
| US7240099B2 (en) | 2000-03-06 | 2007-07-03 | Sony Corporation | System and method for efficiently performing data transfer operations |
| US7058723B2 (en) | 2000-03-14 | 2006-06-06 | Adaptec, Inc. | Congestion control for internet protocol storage |
| US7650376B1 (en) * | 2000-03-27 | 2010-01-19 | Blumenau Trevor I | Content distribution system for distributing content over a network, with particular applicability to distributing high-bandwidth content |
| JP2001285234A (en) | 2000-04-04 | 2001-10-12 | Sony Corp | Data multiplexer and data multiplexing method, and recording medium |
| EP1295453A1 (en) | 2000-05-25 | 2003-03-26 | Soma Networks, Inc. | Quality dependent data communication channel |
| US6381444B1 (en) * | 2000-07-12 | 2002-04-30 | International Business Machines Corporation | Interactive multimedia virtual classes requiring small online network bandwidth |
| KR20020017926A (en) | 2000-08-29 | 2002-03-07 | 오명철 | Sub- network aware distributed internet contents delivery network and control mechanism |
| US6512865B1 (en) | 2000-08-31 | 2003-01-28 | Lucent Technologies Inc. | Cross-traffic suppression in wavelength division multiplexed systems |
| US7103906B1 (en) | 2000-09-29 | 2006-09-05 | International Business Machines Corporation | User controlled multi-device media-on-demand system |
| US6948010B2 (en) | 2000-12-20 | 2005-09-20 | Stratus Technologies Bermuda Ltd. | Method and apparatus for efficiently moving portions of a memory block |
| US8078730B2 (en) | 2000-12-22 | 2011-12-13 | Rockstar Bidco, LP | System, device, and method for maintaining communication sessions in a communication system |
| JP3558044B2 (en) | 2001-02-09 | 2004-08-25 | 日本電気株式会社 | Packet transfer rate monitoring control device, method, and program |
| US7568045B1 (en) | 2001-03-30 | 2009-07-28 | Cisco Technology, Inc. | Method and apparatus for estimating periodic worst-case delay under actual and hypothetical conditions using a measurement based traffic profile |
| JP3882187B2 (en) | 2001-04-19 | 2007-02-14 | 日本電気株式会社 | Flow control system and method |
| US6961309B2 (en) | 2001-04-25 | 2005-11-01 | International Business Machines Corporation | Adaptive TCP delayed acknowledgment |
| JP2002330152A (en) | 2001-04-27 | 2002-11-15 | Fujitsu Ltd | Apparatus and method for controlling spanning tree upon failure / addition |
| US7454527B2 (en) | 2001-05-02 | 2008-11-18 | Microsoft Corporation | Architecture and related methods for streaming media content through heterogeneous networks |
| US20030014496A1 (en) | 2001-06-27 | 2003-01-16 | Spencer Donald J. | Closed-loop delivery system |
| KR100438697B1 (en) | 2001-07-07 | 2004-07-05 | 삼성전자주식회사 | Reproducing apparatus and method for providing bookmark information thereof |
| AU2002329611A1 (en) | 2001-07-20 | 2003-03-03 | Altaworks Corporation | System and method for adaptive threshold determination for performance metrics |
| US20030028890A1 (en) | 2001-08-03 | 2003-02-06 | Swart William D. | Video and digital multimedia acquisition and delivery system and method |
| US6807429B2 (en) | 2001-08-22 | 2004-10-19 | Qualcomm Incorporated | Method and apparatus for combining power control commands received in a wireless communication system |
| WO2003021854A1 (en) * | 2001-09-04 | 2003-03-13 | Nokia Corporation | Method and system for bit rate adaptation |
| US7451205B2 (en) | 2001-10-01 | 2008-11-11 | Hewlett-Packard Development Company, L.P. | Multimedia stream pre-fetching and redistribution in servers to accommodate mobile clients |
| FR2831742B1 (en) | 2001-10-25 | 2004-02-27 | Cit Alcatel | METHOD FOR TRANSMITTING PACKETS VIA A TELECOMMUNICATIONS NETWORK USING THE IP PROTOCOL |
| US7007084B1 (en) | 2001-11-07 | 2006-02-28 | At&T Corp. | Proactive predictive preventative network management technique |
| US6910078B1 (en) | 2001-11-15 | 2005-06-21 | Cisco Technology, Inc. | Methods and apparatus for controlling the transmission of stream data |
| US7519030B2 (en) | 2001-11-19 | 2009-04-14 | At&T Intellectual Property Ii, L.P. | Adaptive MAC fragmentation and rate selection for 802.11 wireless networks |
| US7075891B2 (en) | 2001-11-26 | 2006-07-11 | Lucent Technologies Inc. | Method and apparatus for transmitting and receiving data packets to avoid stall during re-sequencing of data packets |
| US20030200548A1 (en) | 2001-12-27 | 2003-10-23 | Paul Baran | Method and apparatus for viewer control of digital TV program start time |
| US7539756B2 (en) | 2002-01-31 | 2009-05-26 | Darby & Mohaine, L.L.C. | Method and system of data packet transmission timing for controlling bandwidth |
| US20030158609A1 (en) * | 2002-02-19 | 2003-08-21 | Koninklijke Philips Electronics N.V. | Power saving management for portable devices |
| DE10208094A1 (en) | 2002-02-26 | 2003-09-18 | Siemens Ag | Data transmission involves sending/receiving in several formats, converting data in one format into another format, receiver determining format in which data are represented in receiver |
| US20040042398A1 (en) | 2002-02-28 | 2004-03-04 | Seriqa Networks | Method and apparatus for reducing traffic congestion by preventing allocation of the occupied portion of the link capacity and for protecting a switch from congestion by preventing allocation on some of its links |
| KR100438897B1 (en) | 2002-04-09 | 2004-07-02 | 한국전자통신연구원 | An implementation method of distributed SDL object using CORBA |
| US6963996B2 (en) | 2002-04-30 | 2005-11-08 | Intel Corporation | Session error recovery |
| US7039715B2 (en) | 2002-05-21 | 2006-05-02 | Microsoft Corporation | Methods and systems for a receiver to allocate bandwidth among incoming communications flows |
| EP1376944B1 (en) | 2002-06-18 | 2006-05-10 | Matsushita Electric Industrial Co., Ltd. | Receiver-initiated transmission rate increment |
| US7296083B2 (en) * | 2002-06-28 | 2007-11-13 | Microsoft Corporation | Method and system for measuring load and capacity on a variable capacity channel |
| US7096039B2 (en) | 2002-06-28 | 2006-08-22 | Lucent Technologies Inc. | Backhaul multicasting using Ethernet-based radio access networks |
| US7346000B1 (en) * | 2002-07-03 | 2008-03-18 | Netlogic Microsystems, Inc. | Method and apparatus for throttling selected traffic flows |
| GB2390953A (en) * | 2002-07-15 | 2004-01-21 | King S College London | Controlling a micro cell transmit power to maintain quality of service for nearby devices served by an overlapping macro cell |
| CA2407774C (en) | 2002-07-16 | 2005-01-04 | Musicrypt Inc. | Content distribution system and method |
| US7969990B2 (en) | 2002-07-25 | 2011-06-28 | Oded Shmueli | Routing of data including multimedia between electronic devices |
| US6935070B2 (en) | 2002-08-09 | 2005-08-30 | Steven W. Ramirez | Apparatus for displaying culinary, horticultural or floral items |
| US7421291B2 (en) * | 2002-08-12 | 2008-09-02 | Broadcom Corporation | Method for selective power management for a hand held host |
| KR20040028401A (en) | 2002-09-30 | 2004-04-03 | 주식회사 케이티 | Contents providing system and method based on bandwidth |
| DE10247581A1 (en) | 2002-10-11 | 2004-05-06 | Fg Microtec Gmbh | Method for controlling data transmission in radio networks |
| AU2003301482A1 (en) * | 2002-10-16 | 2004-05-04 | Rocksteady Networks, Inc. | System and method for dynamic bandwidth provisioning |
| US20040117459A1 (en) | 2002-12-12 | 2004-06-17 | George Fry | System and method providing multimedia messaging in communication networks |
| US7225266B2 (en) | 2002-12-20 | 2007-05-29 | Nokia Corporation | Adaptive delayed ACK switching for TCP applications |
| US7085576B2 (en) | 2002-12-30 | 2006-08-01 | Motorola, Inc. | Method and apparatus for providing streaming information to a wireless mobile wireless device |
| US7533158B2 (en) | 2003-01-17 | 2009-05-12 | At&T Intellectual Property I, L.P. | System and method for handling digital content delivery to portable devices |
| US20040168052A1 (en) | 2003-02-25 | 2004-08-26 | Clisham Allister B. | Electronic content communication system and method |
| US7555559B2 (en) | 2003-02-28 | 2009-06-30 | Onion Networks, KK | Parallel data transfer over multiple channels with data order prioritization |
| SE0301053D0 (en) | 2003-04-07 | 2003-04-07 | Ericsson Telefon Ab L M | Method and system in a communications network |
| JP3988682B2 (en) | 2003-06-10 | 2007-10-10 | ソニー株式会社 | Transmission apparatus and method, recording medium, and program |
| CA2533214A1 (en) * | 2003-07-22 | 2006-02-03 | Pctel, Inc. | System and method for wake on wireless lan |
| US7688733B1 (en) | 2003-08-04 | 2010-03-30 | Sprint Communications Company L.P. | System and method for bandwidth selection in a communication network |
| US20050058138A1 (en) | 2003-09-12 | 2005-03-17 | Tim Bucher | Communications management system |
| US20050128995A1 (en) | 2003-09-29 | 2005-06-16 | Ott Maximilian A. | Method and apparatus for using wireless hotspots and semantic routing to provide broadband mobile serveices |
| US20050091395A1 (en) | 2003-10-08 | 2005-04-28 | Jason Harris | Method and system for transferring data files |
| KR100573176B1 (en) | 2003-11-05 | 2006-04-24 | 에스케이 텔레콤주식회사 | Method and communication system for specifying frequency allocation mode and / or BCMCS service allocation rate to provide BCMC services |
| US7650111B2 (en) | 2003-12-10 | 2010-01-19 | At&T Intellectual Property I, L.P. | Methods, systems, and computer program products for transmitting streaming media to a mobile terminal using the bandwidth associated with a wireless network |
| US7349337B1 (en) | 2003-12-12 | 2008-03-25 | Novell, Inc. | Techniques for shaping data transmission rates |
| US7543052B1 (en) | 2003-12-22 | 2009-06-02 | Packeteer, Inc. | Automatic network traffic discovery and classification mechanism including dynamic discovery thresholds |
| US7310682B2 (en) | 2004-01-08 | 2007-12-18 | Lsi Corporation | Systems and methods for improving network performance |
| US7505415B2 (en) | 2004-01-30 | 2009-03-17 | Nortel Networks Limited | Performance monitoring in a communications network |
| US7657672B2 (en) | 2004-01-30 | 2010-02-02 | Telefonaktiebolaget L M Ericsson (Publ) | Packet scheduling for data stream transmission |
| US20050193069A1 (en) | 2004-02-26 | 2005-09-01 | International Business Machines Corporation | Providing a portion of an electronic mail message based upon a transfer rate and a message size |
| JP2005252375A (en) * | 2004-03-01 | 2005-09-15 | Hitachi Ltd | Portable video playback device |
| US8949899B2 (en) | 2005-03-04 | 2015-02-03 | Sharp Laboratories Of America, Inc. | Collaborative recommendation system |
| JP2005258912A (en) | 2004-03-12 | 2005-09-22 | Toppan Printing Co Ltd | Content management device and portable terminal device |
| US7512066B2 (en) | 2004-03-30 | 2009-03-31 | Hewlett-Packard Development Company, L.P. | Congestion control system |
| GB2413237B (en) | 2004-04-13 | 2007-04-04 | Orange Personal Comm Serv Ltd | Packet node, and method of operating a data packet network |
| EP1599026B1 (en) | 2004-04-16 | 2009-12-02 | Broadcom Corporation | Registering access device multimedia content via a broadband access gateway |
| US8930569B2 (en) | 2004-05-05 | 2015-01-06 | Qualcomm Incorporated | Methods and apparatus for optimum file transfers in a time-varying network emvironment |
| US7130667B2 (en) * | 2004-05-14 | 2006-10-31 | Research In Motion Limited | Methods and apparatus for expeditiously releasing network resources for a mobile station based on low battery and lost signal conditions |
| US8122145B2 (en) | 2004-05-17 | 2012-02-21 | Nokia Corporation | System, method and computer program product for grouping clients and transferring content in accordance with the same |
| US7363510B2 (en) | 2004-05-26 | 2008-04-22 | Mount Sinai School Of Medicine Of New York University | System and method for presenting copy protected content to a user |
| US20050289630A1 (en) | 2004-06-10 | 2005-12-29 | Princeton Server Group | Apparatus, method and system for self service digital media broadcast |
| JPWO2005122625A1 (en) * | 2004-06-10 | 2008-04-10 | 松下電器産業株式会社 | Mobile terminal for receiving data from RFID tag and mobile terminal control policy specifying method |
| US20050281270A1 (en) | 2004-06-16 | 2005-12-22 | Jouni Kossi | Apparatus, method and system for decision making to support network selection for multicast streams in hybrid networks |
| US7773950B2 (en) | 2004-06-16 | 2010-08-10 | Telefonaktiebolaget Lm Ericsson (Publ) | Benign interference suppression for received signal quality estimation |
| US7536626B2 (en) | 2004-06-18 | 2009-05-19 | Qualcomm Incorporated | Power control using erasure techniques |
| US20050281277A1 (en) | 2004-06-22 | 2005-12-22 | Killian Thomas J | Establishing traffic priorities in a voice over IP network |
| US8145219B2 (en) | 2004-07-28 | 2012-03-27 | Broadcom Corporation | Handoff of a multimedia call session using background network scanning |
| US7571246B2 (en) | 2004-07-29 | 2009-08-04 | Microsoft Corporation | Media transrating over a bandwidth-limited network |
| US7461162B2 (en) * | 2004-12-16 | 2008-12-02 | International Business Machines Corporation | Usage consciousness in HTTP/HTML for reducing unused data flow across a network |
| US20060150055A1 (en) | 2005-01-06 | 2006-07-06 | Terayon Communication Systems, Inc. | Adaptive information delivery system using FEC feedback |
| US7698416B2 (en) | 2005-01-25 | 2010-04-13 | Cisco Technology, Inc. | Application layer message-based server failover management by a network element |
| US7599308B2 (en) | 2005-02-04 | 2009-10-06 | Fluke Corporation | Methods and apparatus for identifying chronic performance problems on data networks |
| US8909807B2 (en) | 2005-04-07 | 2014-12-09 | Opanga Networks, Inc. | System and method for progressive download using surplus network capacity |
| US20060277277A1 (en) | 2005-06-02 | 2006-12-07 | Agere Systems Inc. | Method of automatically caching WAP web pages and a mobile communications device for the same |
| KR100645742B1 (en) | 2005-09-05 | 2006-11-14 | (주)첫눈 | Retrieval data collection method and device therefor by acquiring various information including web document generation |
| US20070066297A1 (en) | 2005-09-20 | 2007-03-22 | Ghobad Heidari-Bateni | Network monitoring system and method |
| KR100724899B1 (en) | 2005-11-22 | 2007-06-04 | 삼성전자주식회사 | Compatible (compatible) progressive download method and system |
| US8412249B2 (en) | 2005-12-20 | 2013-04-02 | Alcatel Lucent | Resource allocation based on interference mitigation in a wireless communication system |
| ATE397345T1 (en) | 2006-01-13 | 2008-06-15 | Alcatel Lucent | ADAPTIVE SUB CARRIER ALLOCATION TO A MOBILE STATION IN A MULTICELL FDM OR OFDM NETWORK |
| US20070211674A1 (en) | 2006-03-09 | 2007-09-13 | Ragnar Karlberg Lars J | Auto continuation/discontinuation of data download and upload when entering/leaving a network |
| US7743018B2 (en) | 2006-04-10 | 2010-06-22 | International Business Machines Corporation | Transient storage in distributed collaborative computing environments |
| KR100807264B1 (en) | 2006-04-29 | 2008-02-28 | 강찬구 | System for online contents marketplace and the operation method thereof |
| US20070263616A1 (en) | 2006-05-15 | 2007-11-15 | Castro Paul C | Increasing link capacity via traffic distribution over multiple WI-FI access points |
| US7970922B2 (en) | 2006-07-11 | 2011-06-28 | Napo Enterprises, Llc | P2P real time media recommendations |
| US7577908B2 (en) * | 2006-11-20 | 2009-08-18 | Sony Corporation | TV-centric system |
| US7962182B2 (en) * | 2006-08-25 | 2011-06-14 | Qualcomm Incorporated | Method and apparatus for content delivery to devices |
| US20080208963A1 (en) | 2006-10-19 | 2008-08-28 | Aviv Eyal | Online File Sharing |
| US20080126919A1 (en) | 2006-11-08 | 2008-05-29 | General Instrument Corporation | Method, Apparatus and System for Managing Access to Multimedia Content Using Dynamic Media Bookmarks |
| US7924793B2 (en) * | 2006-11-20 | 2011-04-12 | At&T Intellectual Property I, L.P. | Methods and apparatus to manage bandwidth in a wireless network |
| US10839403B2 (en) | 2006-12-28 | 2020-11-17 | Ebay Inc. | Contextual content publishing system and method |
| US20080161951A1 (en) | 2007-01-03 | 2008-07-03 | Morris Jeffrey M | Portable memory device with dynamically loaded audio content |
| KR100935035B1 (en) | 2007-01-05 | 2010-01-06 | 삼성전자주식회사 | Apparatus and method for requesting, deleting and changing multicast and broadcast service channel of terminal in broadband wireless access system |
| US8578045B2 (en) | 2007-02-14 | 2013-11-05 | Microsoft Corporation | Adaptive bandwidth utilization |
| US8832290B2 (en) | 2007-02-23 | 2014-09-09 | Microsoft Corporation | Smart pre-fetching for peer assisted on-demand media |
| US20090100469A1 (en) | 2007-10-15 | 2009-04-16 | Microsoft Corporation | Recommendations from Social Networks |
| US20090124284A1 (en) * | 2007-11-14 | 2009-05-14 | Shimon Scherzer | System and method for providing seamless broadband internet access to web applications |
| US9305087B2 (en) | 2007-12-20 | 2016-04-05 | Google Technology Holdings | Method and apparatus for acquiring content-based capital via a sharing technology |
| US7962631B2 (en) | 2007-12-21 | 2011-06-14 | Yahoo! Inc. | Method for determining network proximity for global traffic load balancing using passive TCP performance instrumentation |
| WO2010021140A1 (en) * | 2008-08-22 | 2010-02-25 | パナソニック株式会社 | Recording/reproducing device |
| US8302145B2 (en) * | 2008-11-20 | 2012-10-30 | At&T Intellectual Property I, Lp | System and method to manage a content stream |
| US8631149B2 (en) * | 2008-11-25 | 2014-01-14 | Citrix Systems, Inc. | Systems and methods for object rate limiting |
-
2010
- 2010-04-19 EP EP10810307.8A patent/EP2468067A4/en not_active Withdrawn
- 2010-04-19 WO PCT/US2010/031652 patent/WO2011022096A1/en not_active Ceased
- 2010-04-19 US US12/763,104 patent/US8019886B2/en active Active
- 2010-04-19 EP EP10810306.0A patent/EP2468030B1/en active Active
- 2010-04-19 KR KR1020127007143A patent/KR101689778B1/en active Active
- 2010-04-19 WO PCT/US2010/031651 patent/WO2011022095A1/en not_active Ceased
- 2010-04-19 KR KR1020127007141A patent/KR101576704B1/en active Active
- 2010-04-19 US US12/763,142 patent/US8463933B2/en active Active
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2004114639A1 (en) * | 2003-06-26 | 2004-12-29 | Nokia Corporation | Portable battery driven apparatus |
| US20060268336A1 (en) * | 2005-05-27 | 2006-11-30 | Casio Hitachi Mobile Communications Co., Ltd. | Wireless communication terminal |
| KR20070013600A (en) * | 2005-07-26 | 2007-01-31 | 주식회사 팬택 | Method for stopping DMB content playback in the state of low battery charge remaining and mobile communication terminal using same |
| EP1841172A1 (en) * | 2006-03-31 | 2007-10-03 | Motorola, Inc. | Re-direction of streaming multimedia in wireless communication devices |
Non-Patent Citations (1)
| Title |
|---|
| See also references of EP2468067A4 * |
Cited By (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN110062422A (en) * | 2011-10-21 | 2019-07-26 | 弗劳恩霍夫应用研究促进协会 | Wireless resource management device and method |
Also Published As
| Publication number | Publication date |
|---|---|
| US20110047286A1 (en) | 2011-02-24 |
| EP2468067A1 (en) | 2012-06-27 |
| US20110047287A1 (en) | 2011-02-24 |
| KR20120089810A (en) | 2012-08-13 |
| US8019886B2 (en) | 2011-09-13 |
| US8463933B2 (en) | 2013-06-11 |
| EP2468030B1 (en) | 2016-07-20 |
| EP2468030A4 (en) | 2015-08-05 |
| KR101576704B1 (en) | 2015-12-10 |
| KR20120089467A (en) | 2012-08-10 |
| WO2011022095A1 (en) | 2011-02-24 |
| EP2468030A1 (en) | 2012-06-27 |
| EP2468067A4 (en) | 2015-09-09 |
| KR101689778B1 (en) | 2016-12-27 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8463933B2 (en) | Systems and methods for optimizing media content delivery based on user equipment determined resource metrics | |
| US8886790B2 (en) | Systems and methods for optimizing channel resources by coordinating data transfers based on data type and traffic | |
| US8605586B2 (en) | Apparatus and method for load balancing | |
| EP2781112B1 (en) | Device-based architecture for self organizing networks | |
| JP6201031B2 (en) | Adaptive use of receiver diversity | |
| US9237519B2 (en) | Managing power consumption of transmission circuitry in a wireless communication device | |
| WO2020146094A1 (en) | Target wake time (twt) protocol for wi-fi voice calls | |
| KR20100105721A (en) | Downlink flow control | |
| US10285182B2 (en) | Methods and network nodes in a wireless communication network | |
| US20060291383A1 (en) | Methods for quality of service reverse link admission and overload control in a wireless system | |
| US20130121155A1 (en) | Method and apparatus for changing between transmission states in a communication system | |
| US9451553B2 (en) | Method and arrangement for load sharing power control | |
| US10448275B2 (en) | Network node and method performed thereby for supporting VoIP service of wireless device | |
| Frantti et al. | Real-time traffic control for multihomed devices | |
| Lucena et al. | Overload prediction based on delay in wireless OFDMA Systems |
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: 10810307 Country of ref document: EP Kind code of ref document: A1 |
|
| NENP | Non-entry into the national phase |
Ref country code: DE |
|
| ENP | Entry into the national phase |
Ref document number: 20127007141 Country of ref document: KR Kind code of ref document: A |
|
| WWE | Wipo information: entry into national phase |
Ref document number: 2010810307 Country of ref document: EP |