[go: up one dir, main page]

HK1103886A - Methods and apparatus for content delivery to a mobile device - Google Patents

Methods and apparatus for content delivery to a mobile device Download PDF

Info

Publication number
HK1103886A
HK1103886A HK07112272.7A HK07112272A HK1103886A HK 1103886 A HK1103886 A HK 1103886A HK 07112272 A HK07112272 A HK 07112272A HK 1103886 A HK1103886 A HK 1103886A
Authority
HK
Hong Kong
Prior art keywords
content
connection
data rate
network
instructions
Prior art date
Application number
HK07112272.7A
Other languages
Chinese (zh)
Inventor
陈安梅
本‧赛义迪
拉温德‧昌德霍克
Original Assignee
高通股份有限公司
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by 高通股份有限公司 filed Critical 高通股份有限公司
Publication of HK1103886A publication Critical patent/HK1103886A/en

Links

Description

Method and apparatus for content delivery to mobile devices
Claiming priority based on 35 U.S.C. § 119
This patent application claims priority TO provisional application No.60/568,326 entitled "METHOD AND APPARATUS FOR DELIVERING CONTENT TO MOBILE DEVICES WITH BOTH 1XRTT AND 1XEV-DO NETWORKCOVERAGE", filed on 4.5.2004, assigned TO the assignee of the present application AND hereby incorporated by reference herein.
Technical Field
The present invention relates generally to content delivery in data networks, and more particularly to methods and apparatus for content delivery to mobile devices operating in a changing network environment.
Background
Distributing content (data) to a large number of terminals (users) in a wireless network is a complex problem. For example, wireless networks cover a large geographic area, and the type of network coverage and/or services available may be different for each area. Therefore, content delivery to mobile devices moving between areas requires an efficient delivery system that conserves network resources while providing device users with their intended content.
In general, wireless data networks are capable of supporting content transmission based on one or more communication technologies. For example, many wireless networks are capable of transmitting information using a single carrier (1x) wireless transmission technology (1 xRTT). Using this technique, data and other information may be transmitted via a data network to provide a selected level of service and/or quality. For example, the data transfer rates supported by such techniques may be used to deliver text and/or low quality images. Typically, lower transmission rates support lower quality of service (QoS) levels. Increasingly, many wireless networks are being upgraded to operate using single carrier (1x) evolution-data optimized (1xEV-DO) technology. According to this technique, transmissions on the network may occur at a rate of 2 to 3 times 1 xRTT.
As a result of the increased transmission rate, content with a higher quality level can be delivered. For example, a 1xEV-DO network may be capable of sending video content having a higher quality than a 1xRTT network. Thus, a 1xEV-DO network can provide the same content at a higher resolution and thus can provide a higher quality of service than a 1xRTT network.
Due to the diversity of the environment, a wireless network covering a large geographic area may have multiple network portions that operate using one or both of two technologies. This situation may result in "holes" or interruptions in the coverage provided by a particular wireless network. For example, the mobile terminal may receive content transmitted using 1xEv-DO, but the terminal then moves to another geographic area where the network only supports 1 xRTT. As a result, the terminal may experience coverage holes that may prevent receiving content with a desired level of quality. For example, the terminal may be in the process of receiving high quality content sent using 1xEV-DO, and after it moves to a different geographic area, the terminal is handed off to a network operating using 1 xRTT. In new network environments, the terminal may not be able to receive content with a desired quality level because attempts to transmit high quality content using lower transmission rates are very inefficient. Thus, conventional systems may not be able to compensate for holes in network coverage, which may prevent content having a desired quality level from being received at a mobile terminal as the mobile terminal moves over different geographic areas.
Accordingly, there is a need for a system that allows content with a desired level of quality to be delivered to a mobile device as the mobile device moves across different geographic areas where the network supports one or more transmission technologies. For example, the system should allow a mobile device to receive content of a desired quality when the device is switching between data networks supporting different data transmission technologies. The system should also operate to automatically select content to be downloaded to the device, where the selected content has a particular quality level based on an existing network connection with the device.
Disclosure of Invention
In one or more embodiments, including methods and apparatus, a content delivery system is provided that allows a mobile device to efficiently receive content in a data network. In one embodiment, the system utilizes logic that operates to determine the quality of content that the terminal can receive based on available network connections. The system is particularly suited for use in wireless networks where different geographical areas may operate using different network transmission technologies.
In one embodiment, a method for receiving content in a wireless data network is provided. The method includes initiating a download of content over a first connection that supports a first data rate, wherein the content has a selected quality level. The method also includes establishing a second connection that supports a second data rate, and determining that the second data rate is lower than the first data rate. The method also includes waiting to establish a third connection that supports a data rate higher than the second data rate, and continuing the content download using the third connection.
In one embodiment, an apparatus for receiving content in a wireless data network is provided. The apparatus includes transceiver logic to initiate a download of content via a first connection supporting a first data rate, wherein the content has a selected quality level, and establish a second connection supporting a second data rate. The apparatus also includes receiving logic to determine that the second data rate is lower than the first data rate. The apparatus also includes processing logic to wait for a third connection that supports a data rate higher than the second data rate, and continue the content download using the third connection.
In one embodiment, an apparatus for receiving content in a wireless data network is provided. The apparatus comprises means for initiating a download of content via a first connection that supports a first data rate, wherein the content has a selected quality level. The apparatus also includes means for establishing a second connection that supports a second data rate, and means for determining that the second data rate is lower than the first data rate. The apparatus also includes means for waiting to establish a third connection that supports a data rate higher than the second data rate, and means for continuing the content download using the third connection.
In one embodiment, a computer-readable medium is provided that includes instructions, which when executed by a processor, operate to receive content in a wireless data network. The computer-readable medium includes instructions for initiating a download of content via a first connection that supports a first data rate, wherein the content has a selected quality level. The computer-readable medium further includes instructions for establishing a second connection that supports a second data rate, and instructions for determining that the second data rate is lower than the first data rate. The computer-readable medium further includes instructions for waiting to establish a third connection that supports a data rate higher than the second data rate, and instructions for continuing the content download using the third connection.
In one embodiment, a method for delivering content in a wireless data network is provided. The method includes receiving a request for content from a device and determining a network connection associated with the device. The method also includes selecting content having a selected quality level, wherein the selected quality level is based on the network connection, and transmitting the content having the selected quality level to the device.
In one embodiment, an apparatus for delivering content in a wireless data network is provided. The apparatus includes processing logic to receive a request for content from a device, determine a network connection associated with the device, and select content having a selected quality level, wherein the selected quality level is based on the network connection. The apparatus also includes sending logic to send the content having the selected quality level to the apparatus.
In one embodiment, an apparatus for delivering content in a wireless data network is provided. The apparatus includes means for receiving a request for content from a device, and means for determining a network connection associated with the device. The apparatus also includes means for selecting content having a selected quality level, wherein the selected quality level is based on the network connection, and means for sending the content having the selected quality level to the apparatus.
In one embodiment, a computer-readable medium is provided that includes instructions, which when executed by a processor, operate to deliver content in a wireless data network. The computer-readable medium includes instructions for receiving a request for content from a device, and instructions for determining a network connection associated with the device. The computer-readable media further comprises instructions for selecting content having a selected quality level, wherein the selected quality level is based on the network connection, and instructions for transmitting the content having the selected quality level to the device.
Other aspects, advantages, and features of the present invention will become apparent after review of the hereinafter set forth brief description of the drawings, detailed description of the invention, and the claims.
Drawings
The foregoing aspects and additional advantages of the embodiments described herein will become more apparent by reference to the following detailed description when taken in conjunction with the accompanying drawings.
FIG. 1 illustrates a data network including one embodiment of a content delivery system;
FIG. 2 illustrates a detailed diagram of one embodiment of a server suitable for use in one embodiment of a content delivery system;
FIG. 3 illustrates one embodiment of a method for operating a server in one embodiment of a content delivery system;
FIG. 4 illustrates a detailed view of one embodiment of a mobile device suitable for use in one embodiment of a content delivery system;
FIG. 5 illustrates a first portion of one embodiment of a method for operating a mobile device in one embodiment of a content delivery system;
FIG. 6 illustrates a second portion of the method of FIG. 5 for operating a mobile device in one embodiment of a content delivery system; and
figure 7 illustrates one embodiment of a method for operating a server in one embodiment of a content delivery system.
Detailed Description
The following detailed description describes one or more embodiments of a content delivery system that operates to allow mobile devices to efficiently receive content in a data network. The system is particularly suited for use in a wireless network environment, but may be used in any type of network environment, including but not limited to, a communications network, a public network (e.g., the Internet), a private network (e.g., a Virtual Private Network (VPN)), a local area network, a wide area network, a remote network, or any other type of data network.
Fig. 1 illustrates a data network 100 including one embodiment of a content delivery system. The network 100 includes: a content server 102, a data network 104, a data network 106, and a mobile terminal 108. The data networks 104, 106 may be any type and/or combination of wired and/or wireless networks that allow data to be communicated between the server 102 and the terminal 106. The server 102 communicates with the networks 104, 106 via a communication link 110. The communication link 110 may be any type of wired or wireless communication link that allows the server 102 to communicate with the data networks 104, 106.
Server 102 includes contact window logic 116 and rate encoded content 118. The touch window logic 116 provides a touch window that defines when content 118 is available for receipt from the data network 104, 106. For example, server 102 makes content 118 available for download during the time interval defined by the contact window.
Rate encoded content 118 includes content encoded at one or more rates to provide one or more quality levels. For example, the content 118 includes content formatted at three encoding rates (R1, R2, and R3). The rate at which the content is encoded determines the quality level at which the content is provided. For example, the rate may determine the resolution at which the content is presented. For example, content encoded at rate "R1" provides the highest quality level, and content encoded at rate "R3" provides the lowest quality level.
In one embodiment, the data network 104 comprises a high-speed data network capable of efficiently delivering content at high data rates. For example, in one embodiment, the data network 104 is capable of supporting data transfer using 1 xEV-DO. Thus, all of the rate encoded content 118(R1, R2, R3) at the server 102 may be efficiently transmitted over the data network 104 to the device 108 to provide different levels of service and/or quality.
In one embodiment, the data network 106 comprises a low speed data network capable of efficiently transferring content at a lower data rate than the network 104. For example, in one embodiment, the data network 106 can support data transfers using 1 xRTT. Thus, only a portion of the rate encoded content 118 at the server 102 (e.g., content encoded with R2 and R3) may be efficiently transmitted over the data network 104 to the device 108. Attempting to transmit content 118 encoded with R1 may result in a degradation of network performance because the network 106 cannot transmit data at a high enough rate to support transmission of R1 encoded content.
The data networks 104, 106 communicate with the terminal 108 via wireless communication links 112, 114, respectively. Depending on its geographic location, the terminal 108 may communicate with one of the data networks 104, 106. For example, the terminal 108 may communicate with the network 104 and then undergo a handover 126 process that causes the terminal 108 to communicate with the network 106. The handover process may occur when the terminal 108 moves from one geographic location to another. In one or more embodiments, the delivery system allows the terminal to automatically handle the handoff condition so that the content from the server 102 may continue to be received at the terminal 108 after the handoff occurs.
In one embodiment, the wireless communication links 112, 114 include forward communication channels, reverse communication channels, control channels, and/or any other type of communication channel that can be used to communicate information between the networks 104, 106 and the terminals 108. For example, the communication link 112 supports data transmission from the data network 104 to the terminal 108 using 1 xEV-DO. The communication link 114 supports data transmission from the data network 106 to the terminal 108 using 1 xRTT.
The terminal 108 comprises any type of mobile device or terminal, such as a mobile phone, portable computer, Personal Digital Assistant (PDA), or any type of portable device capable of receiving high quality content via a wireless communication link. In one embodiment, the terminal 108 includes receiving logic 120 that operates to allow the terminal to receive content, data, and/or any other type of information from the data network 104 or the data network 106.
During operation, the content delivery system operates to automatically determine how and what content to send over the two networks participating in the handoff process. For example, the terminal 108 may communicate with the network 104 and request to receive high quality content from the server 102. If the request occurs within the selected contact window, the server 108 begins downloading a high quality version of the content to the terminal 108 via the data network 104, as shown by path 122. For example, content encoded at rate "R1" is downloaded to terminal 108 at a data rate that can be supported using 1 xEV-DO.
During the download process, the terminal 108 undergoes a handover to the data network 106. For example, the terminal 108 may be in a moving vehicle that moves into the geographic area covered by the data network 106. Alternatively, there may be "holes" in the coverage provided by the network 104, where the terminal 108 is handed off to the network 106. As a result, the terminal 108 is switched and communicates with the network 106 via the link 114 at this time. In one embodiment, the receiving logic 120 operates to identify a new network connection and determine an available download rate supported by the network 106. If the new network (network 106) supports the same rate of content download, then the receive logic 120 operates to continue the content download, as shown by path 124. If the new network (network 106) does not support the same download rate, the receive logic 120 operates to implement one or more of the following functions.
1. Waiting for the high rate connection to become available again to continue downloading.
2. The current download is cancelled and the same content is requested at the quality level supported by the new network connection.
It should be noted that various handover situations may occur, in which the operation of various embodiments will be described in more detail elsewhere in this specification. However, in one or more embodiments, the content delivery system operates to determine the capabilities of the data network involved in the handoff process and, after the handoff occurs, automatically determine how and what content to deliver to the terminal 108.
In another embodiment, the terminal 108 operates to report to the content server 102 when a handoff occurs and how the current transmission capabilities of the new network connection. In response, the content server 102 operates to determine what content to download to the terminal 108 based on the new available connection. Thus, the content server 102 operates to automatically deliver content having a desired level of quality to the terminal 108.
Fig. 2 shows a detailed view of one embodiment of a server 200 suitable for use in one embodiment of a content delivery system. For example, server 200 may be used as content server 102 in fig. 1. The server 200 includes: processing logic 202, device resources 204, touch window logic 206, transceiver logic 208, and content 210 encoded at different rates, all of which are coupled to an internal data bus 212.
In one or more embodiments, the processing logic 202 comprises a CPU, processor, gate array, hardware logic, memory units, virtual machine, software, and/or any combination of hardware and software. Thus, the processing logic 202 generally comprises logic for executing machine-readable instructions and for controlling one or more other functional units of the server 200 via the internal data bus 212.
The device resources and interfaces 204 comprise hardware and/or software that allow the server 200 to communicate with internal and external systems. For example, the internal systems may include mass storage systems, memory, display drivers, modems, or other internal device resources. The external systems may include user interface devices, printers, hard drives, or other local devices or systems.
The touch window logic 206 includes any type of hardware and/or software to allow the server 200 to provide a touch window for determining when the content 210 is available for download. For example, the window may be based on periodic time intervals, allowed time periods, network conditions, and/or any other type of criteria that may be used to determine the size and timing of the contact window.
The transceiver logic 208 comprises hardware and/or software that operates to allow the server 200 to transmit and receive data and/or other information to remote devices, systems or networks via the communication channel 218. In one embodiment, for example, the communication channels 218 include forward, reverse, and control channels for communicating with a wireless communication network. In one embodiment, the transceiver logic 208 comprises logic to establish a communication channel with one or more data networks operating using one or more transmission technologies. For example, the transceiver logic 208 operates to establish a communication channel with a data network using 1xEV-DO, 1xRTT, and/or other transmission techniques.
Rate encoded content 210 includes content that is rate encoded at one or more rates for providing one or more quality levels. For example, content 210 is encoded to provide a selected quality level when the content is presented on the device. For example, in one embodiment, the quality provided is based on the resolution at which the content is presented on the receiving device. In one embodiment, content is rate-coded in multiple levels (R1, R2, R3) such that content coded at a particular rate can be transmitted based on network transmission capacity to provide a selected level of quality without degrading network operation.
During operation of the server 200, the transceiver logic 208 receives requests for content from remote devices via the communication channel 214. The request is processed by the processing logic 202. The touch window logic 206 determines whether a window for the requested content is open. If the window is open, the processing logic 202 operates to obtain the requested rate encoded content 210 and deliver the content to the requesting device via the transceiver logic 208.
In one embodiment, server 200 operates to determine content to send based on the capacity of the network connection of the requesting device. For example, in one embodiment, the request includes information about the type of connection between the network and the requesting device. For example, when the device moves from a high data rate network connection (e.g., 1xEV-DO) to a low data rate network connection (e.g., 1xRTT), server 200 operates to select and deliver content that may be most efficiently handled by the connection.
In one embodiment, the content delivery system includes program instructions stored on a computer-readable medium that, when executed by the processing logic 202, provide the functionality of the server 200 described herein. For example, the instructions may be loaded into the server 200 from a computer-readable medium, such as a floppy disk, CDROM, memory card, FLASH memory device, RAM, ROM, or any other type of memory device or computer-readable medium that connects to the server 200 via the device resources 204. In another embodiment, the instructions may be downloaded to the server 200 from a network resource that is connected to the server 200 via the transceiver logic 208. The instructions, when executed by the processing logic 202, provide one or more embodiments of the content delivery system described herein.
Fig. 3 illustrates one embodiment of a method 300 of operating a server in one embodiment of a content delivery system. For clarity, the method 300 will be described with reference to the server 200 shown in fig. 2. In one or more embodiments, the processing logic 202 executes program instructions to implement the functions described below.
At block 302, the server receives a request for content. For example, in one embodiment, the server is connected to a data network that communicates with one or more terminals. At least one terminal on the network sends a request for content to a server. For example, in one embodiment, the request is received at the transceiver logic 208 and forwarded to the processing logic 202 for further processing.
At block 304, a check is performed to determine whether the request was received within the contact window designated for the requested content. For example, the touch window logic 206 operates to determine whether the request is within a selected touch window. If the request is within the contact window, the method proceeds to block 306. If the request is not within the touch window, the method ends.
At block 306, a determination is made as to the type of network connection available to the requesting device. For example, the server may contact multiple data networks using different transmission technologies capable of supporting different data transmission rates. Any suitable technique may be used to discover the type of network connection available to the requesting device. For example, the device may indicate how to connect the content in a request for it. Alternatively, the server may discover this information by communicating with the device or some other network entity. In one embodiment, the processing logic 202 operates to determine a type of network connection available to the requesting device. If the requesting device is connected to the network using a high data rate connection (e.g., 1xEV-DO), the method proceeds to block 308. If the requesting device is connected to the network using a low data rate connection (e.g., 1xRTT), the method proceeds to block 310.
It should be noted that although two types of network connections (and associated data rates) are described in connection with fig. 3, the functions performed at block 306 may determine the type and/or capacity of any number of additional types of network connections. Thus, the system is suitable for use with virtually any number of network connections that can support various network transmission rates.
At block 308, the server provides the requested content via the high-rate network. For example, the highest rate encoded content may be provided to the requesting device because the network is capable of supporting such transmissions. For example, the processing logic 202 obtains the requested content and sends it to the device via the transceiver logic 208. The method then ends at block 312.
At block 310, the server provides the requested content via the low rate network. For example, lower rate encoded content may be provided to the requesting device because the low rate network may support such transmission. For example, the processing logic 202 obtains the requested content and sends it to the device via the transceiver logic 208. The method then ends at block 312.
It should be noted that the method 300 illustrates only one embodiment, and that changes, additions, or rearrangements of the functional units may be made without deviating from the scope of the described embodiments.
Fig. 4 shows a detailed view of one embodiment of a terminal 400 suitable for use in one embodiment of a content receiving system. The terminal 400 includes: processing logic 402, memory 404, device resources and interfaces 406, transceiver logic 408, all of which are coupled to a data bus 410. The terminal 400 also includes receiving logic 412, which is also connected to the data bus 410.
In one or more embodiments, the processing logic 402 comprises: a CPU, processor, gate array, hardware logic, memory unit, virtual machine, software, and/or any combination of hardware and software. Thus, the processing logic 402 generally comprises logic to execute machine-readable instructions and to control one or more other functional units of the terminal 400 via the internal data bus 410.
The device resources and interfaces 406 include hardware and/or software that allow the terminal 400 to communicate with internal and external systems. For example, the internal system may include: mass storage systems, memory, display driver, modem, or other internal device resources. The external systems may include user interface devices, printers, hard drives, or other local devices or systems.
The transceiver logic 408 comprises hardware and/or software that operates to allow the terminal 400 to transmit and receive data and/or other information to and from an external device or system via a communication channel 414. For example, in one embodiment, the transceiver logic 408 includes a forward channel, a reverse channel, and a control channel that operate to allow the terminal 400 to communicate via wireless network communications. The transceiver logic 408 is adjustable so that it can communicate with a wireless network using one or more transmission techniques. For example, the transceiver logic 408 may communicate with a network using a high data rate transmission technology (e.g., 1xEV-DO) or a lower data rate transmission technology (e.g., 1 xRTT). Thus, the transmission logic 408 operates to allow the terminal 400 to communicate with data networks using different transmission technologies.
Memory 404 comprises any type of memory suitable for storing information at terminal 400. For example, the terminal 400 may operate to download content and store the received content in the memory 404 for further processing.
The receive logic 412 comprises a CPU, processor, gate array, hardware logic, memory units, virtual machine, software, and/or any combination of hardware and software. The receiving logic 412 operates to determine information about the network with which the terminal is currently communicating. During the handover, the receive logic 412 determines information about the new network connection. This information is passed to the processing logic 202, and the processing logic 202 operates to automatically determine how to receive content via the new network connection.
In one embodiment, the reception parameters or configuration information is stored in the memory 404. For example, the parameters or configuration information may be stored during manufacture of the device or downloaded to the device from an external system and stored in memory 404. The parameters or configuration information identifies how the terminal should download content during changing network conditions. For example, if the terminal 400 is downloading content via a high speed connection (e.g., 1xEV-DO), the parameters indicate: how the terminal 400 should obtain content if it is handed over to a slower network (e.g., 1 x-RTT). Thus, the processing logic 402 processes the parameters to determine how content should be obtained during changing network conditions.
In one embodiment, the parameter indicates a cost criterion that allows the processing logic 402 to determine how to download the content based on network and/or content costs. In another embodiment, the parameters indicate efficiency and/or network bandwidth parameters that allow the processing logic 402 to determine how to download content based on network efficiency or bandwidth requirements. In another embodiment, the parameter indicates a content type that allows the processing logic 402 to determine how to download the content based on the content type. Thus, the parameters and/or configuration information may provide any type of criteria for the processing logic 402 to use in determining how to download content during changing network conditions. Thus, the content delivery system operates to automatically determine how to download content during changing network conditions without requiring input from or requiring any specific action to be taken by the device user.
In one embodiment, the content delivery system includes program instructions stored on a computer-readable medium that, when executed by the processing logic 402, provide the functionality of the terminal 400 described herein. For example, the instructions may be loaded into the terminal 400 from a computer-readable medium, such as a floppy disk, CDROM, memory card, FLASH memory device, RAM, ROM, or any other type of memory device or computer-readable medium that is connected to the terminal 400 via the device resources 406. In another embodiment, the instructions may be downloaded into the terminal 400 from a network resource connected to the terminal 400 via the transceiver logic 408. The instructions, when executed by the processing logic 402, provide one or more embodiments of the content delivery system described herein.
Fig. 5 illustrates a first portion of one embodiment of a method 500 for operating a terminal in one embodiment of a content delivery system. Fig. 6 illustrates a second portion of the method 500. For clarity, the method 500 will be described with reference to the terminal 400 shown in fig. 4. In one or more embodiments, the processing logic 402 executes program instructions to control the terminal 400 to implement the functions described below.
At block 502, the mobile terminal establishes a network connection with an available data network to download content. For example, in one embodiment, the processing logic 402 communicates with a data network via the transceiver logic 408 to establish a network connection that allows the terminal to download content via the network.
At block 504, a check is performed to determine the type of network connection and the data rate that the network connection can support. For example, the network may be a high speed network that supports data transfer using 1 xEV-DO. Alternatively, the network may be a low speed network supporting data transmission using 1 xRTT. If the network is a high speed network, the method proceeds to block 506. If the network is a low speed network, the method proceeds to point "A" in FIG. 6. In one embodiment, the receiving logic 412 determines the network connection type based on the network connection initialization performed at block 502.
At block 506, the network connection is determined to be a high speed network connection and the network indicator is set to a "high" value. For example, the processing logic 402 operates to set an internal variable to indicate a type of network connection established by the terminal.
At block 508, the terminal begins or continues a high data rate download of the content. For example, the processing logic 402 sends a request for content to a content server via the transceiver logic 408. In one embodiment, the processing logic 402 determines the network type using internal variables and is encoded to provide content for a selected level of service based on existing network connection requests. For example, the request is encoded to provide content with a high service level (i.e., with high resolution when rendered).
At block 510, a check is performed to determine whether the terminal has been handed off to the low speed network. For example, if the terminal has moved its geographic location, the terminal may be handed off to another network that is operating to provide network services to that location. For example, the processing logic 402 operates to determine the type of network coverage available for a particular geographic area and to facilitate a handoff to a new network when needed. If a handoff to a low speed network connection has occurred, the method proceeds to block 512. If a handoff has not occurred, the method proceeds to block 514.
At block 512, a switch to a low speed network connection has occurred, and a check is performed to determine if the content download should be cancelled. For example, the processing logic 402 determines whether the content download should be cancelled based on the configuration information stored in the memory 404. For example, in one embodiment, the configuration information is stored in the terminal during the manufacturing process. If the current content download is cancelled, the method proceeds to block 518. If the download continues, the method proceeds to block 516.
At block 518, the current download is cancelled. For example, the terminal sends a message to the content server to cancel the current download. The method then proceeds to point "a" in fig. 6, where a request for content encoded for low-speed transmission is sent to the server. For example, a handover to a low speed network has occurred and the terminal has cancelled the high speed download, and will continue to request a low speed download of the same content via the new network connection. In one embodiment, the processing logic 402 sends the request to the content server via the transceiver logic 408.
At block 514, a check is performed to determine if the content download is complete. For example, content has been downloaded to the terminal and stored in memory 404. If the download is complete, the method ends at block 522. If the download is not complete, the method proceeds to block 520.
At block 516, the terminal waits to establish a high data rate connection to continue downloading the previous content. For example, the content download is not completed before the switch to the low rate connection occurs. The terminal waits to establish a high data rate connection to continue downloading the content. For example, the terminal may leave the high speed network only temporarily and return to the high speed network only after a short interval. Thus, when the connection to the high-speed network has been restored, the content download can be continued. For example, the processing logic 402 operates to wait for other events to be switched or to resume a high data rate connection. In another embodiment, the original high data rate network connection is not restored, but another connection is established that supports a higher data rate than the low data rate connection. Thus, the new connection is faster than the low data rate connection and can thus be used to download content having a selected quality level.
At block 520, a check is performed to determine if the contact window is still available so that content can be downloaded from the server. If the contact window is still open, the method proceeds to block 524 where the content continues to be downloaded. If the contact window is not open, the method ends at block 522.
At block 524, the content download continues using the high data rate connection. The method then proceeds to block 510 where a check for a handover condition occurs.
It should be noted that the method 500 illustrates only one embodiment and that changes, additions, combinations, or rearrangements of the functional units may be made without deviating from the scope of the described embodiments. For example, blocks 516 and 520 may be combined so that the checking of the contact window may be performed while waiting to return to the high-speed network connection. Further, a second portion of the method 500 is described with reference to fig. 6. The second part of the method 500 describes how the content delivery system downloads the content in the event of a switch to a low data rate network.
Fig. 6 illustrates a second part of a method 500 of operating a mobile device in one embodiment of a content receiving system. For clarity, the second part of the method 500 will be described with reference to the terminal 400 shown in fig. 4. In one or more embodiments, the processing logic 402 executes program instructions to implement the functions described below.
In block 602, the network connection with the terminal has been determined to be a low data rate network connection, and therefore the network indicator is set to a "low" value. For example, the processing logic 402 operates to set an internal variable to indicate the type of network connection to which the terminal has been connected.
At block 604, the terminal begins downloading content using the low data rate connection. For example, the processing logic 402 sends a request for content to a content server via the transceiver logic 408. In one embodiment, the processing logic 402 uses internal variables to determine the type of network connection available and requests content encoded for transmission at the appropriate rate. For example, the request requests content encoded at a low data rate.
At block 606, a check is performed to determine whether the terminal has been switched to a high speed network connection. For example, if the terminal has moved its geographic location, it may be handed off to another network that is operating to provide network services to that location. For example, the receiving logic 412 operates to determine the type of network coverage available in a particular geographic area and to facilitate handover to a new network when needed. If a handoff to a high speed network connection has occurred, the method proceeds to block 608. If a handoff has not occurred, the method proceeds to block 614.
At block 608, a switch to the high speed network has occurred, and a check is performed to determine if the low speed content download should be cancelled. For example, the processing logic 402 determines whether the content download should be cancelled based on the configuration information stored in the memory 404. For example, in one embodiment, the configuration information is stored in memory 404 during the manufacturing process. If the current low-speed content download is cancelled, the method proceeds to block 610. If the download continues, the method proceeds to block 612.
At block 610, the content download is cancelled. For example, a handover to a high speed network has occurred and the terminal has cancelled the low speed download. In one embodiment, the processing logic 402 sends a request to cancel the content download to the content server via the transceiver logic 408. The method then proceeds to point "B" shown in fig. 5, which illustrates how the request for high quality content download is processed.
At block 614, a check is performed to determine if the low-speed content download is complete. For example, the check determines whether the low-speed content has been completely downloaded to the terminal and stored in memory 404. If the download is complete, the method ends at block 618. If the download is not complete, the method proceeds to block 612.
At block 612, the terminal attempts to continue downloading low speed content via the low speed network. For example, if no handover occurs and the content download is not complete, the terminal continues with the content download using the low speed network connection. For example, the processing logic 402 continues to receive content and store it in the memory 404.
However, if a handover to a high speed network has occurred and the terminal has not cancelled the download, the terminal continues to download the content using the low rate via the new high speed network. For example, the terminal can download content at a low speed even if the terminal has been switched to a high-speed network connection.
At block 616, a check is performed to determine if the contact window is still available so that content can be downloaded from the server. If the contact window is still open, the method proceeds to block 606 to check for a new switching condition. If the contact window is not open, the method ends at block 618.
It should be noted that the second part of the method 500 shows only one embodiment, and that changes, additions or rearrangements of the functional units may be made without deviating from the scope of the described embodiments.
Fig. 7 illustrates one embodiment of a method 700 of operating a server in one embodiment of a content delivery system. For clarity, the method 700 will be described with reference to the server 200 shown in fig. 2. In one or more embodiments, the processing logic 202 executes program instructions to implement the functions described below.
At block 702, a request for content is received at a server. For example, a request is received from a requesting device in communication with a wireless network. For example, in one embodiment, the request is received by the transceiver logic 208.
At block 704, a check is performed to determine whether the contact window for the requested content is still open. For example, in one embodiment, the touch window logic 206 operates to determine whether the requested content is available for download. If the contact window is not open, the method ends at block 706. If the contact window is open, the method proceeds to block 708.
At block 708, a determination is made of transmission capabilities of a network connection of the requesting device. For example, in one embodiment, information about the network connection of the requesting device is included in the request for content. In another embodiment, the processing logic 202 discovers information about the network connection of the requesting device by communicating with other network entities. For example, the processing logic 202 discovers the transmission rate associated with the network connection of the requesting device.
Content having a selected quality level for transmission to a requesting device is selected, block 710. For example, the processing logic 202 selects encoded content from the content 210 delivered to the device. In one embodiment, the quality level of the content is selected based on a network connection associated with the requesting device. For example, if the device is connected to a network that uses a high data rate connection (e.g., 1xEV-DO), the highest quality level is selected for delivery to the device. If the device is connected to a network that uses a low data rate connection (e.g., 1xRTT), then lower quality content is selected for delivery to the device.
The server begins transmitting the selected content to the requesting device, block 712. For example, the processing logic 202 controls the transceiver logic 208 to deliver the selected content to the device using a network connection associated with the device.
At block 714, a check is performed to determine if a termination request has been received from the device. For example, if the device has been switched to a different type of network connection, the device may send a request to terminate the content transfer. In one embodiment, the processing logic 202 processes a received termination request to terminate content transmission. If a termination request has been received, the method proceeds to block 716. If a termination request is not received, the method proceeds to block 718.
At block 716, the server terminates the content transfer to the requesting device. For example, in one embodiment, the processing logic 202 operates to terminate content transfer. The method then ends at block 720.
At block 718, a check is performed to determine if the content transfer is complete. For example, in one embodiment, the processing logic 202 operates to determine whether the content transfer has been completed. If the content transfer is complete, the method ends at block 720. If the content transfer is not complete, the method proceeds to block 722.
At block 722, a check is performed to determine if the network connection associated with the remote device has changed. For example, if a remote device has experienced a network switch, the network connection used by the device may be faster or slower than the previous connection. The processing logic 202 operates to discover a current network connection associated with a remote device. If the network connection has not changed, the method proceeds to block 712 where content delivery continues. If the network connection of the remote device has changed, the method proceeds to block 724.
At block 724, a check is performed to determine whether the server should automatically adjust the quality of content delivered to the device based on the new network connection associated with the device. For example, if the device has experienced a switch to a faster or slower network connection, the server may automatically adjust the quality of content delivered to the device to most efficiently utilize the new network connection. In one embodiment, parameters associated with the device are used to determine whether the quality level of the content should be automatically adjusted. For example, the device may have subscribed to a server to receive "high quality services". In this case, the server will attempt to provide the highest quality content to the device in all or most cases. In one embodiment, the server decides whether to automatically adjust the quality level of the content based on network parameters. For example, the server attempts to meet a selected level of network efficiency so that the network is not overloaded by attempting to send high data rate content over a low data rate connection. Thus, the processing logic 202 operates to process any type of parameter or indicator associated with a device, content, or network connection to determine whether the quality level of the content should be automatically adjusted.
If the quality level of the content is to be automatically adjusted, the method proceeds to block 710 where the content quality level is selected and content delivery occurs at block 712. It should be noted that the content continues to be delivered to the device at the new quality level without interruption. For example, the quality level of the content may be increased or decreased depending on the data rate associated with the new network connection. For example, higher or lower resolution content may be provided.
If the quality level of the content is not automatically adjusted based on the new network connection, the method proceeds to block 712 where the content continues to be delivered to the device at the same quality level. For example, if the device is receiving low quality content via a low data rate network connection and the device is switched to a high data rate connection, the device will continue to receive low quality content via the high data rate connection. Thus, the content delivery system operates to allow different quality levels of content to be provided to the device when the device switches between network connections supporting different data rates.
It should be noted that the method 700 illustrates just one embodiment, and that changes, additions, or rearrangements of the functional units may be made without deviating from the scope of the described embodiments.
Thus, while one or more embodiments of a content delivery system have been illustrated and described herein, it will be appreciated that various changes can be made to the embodiments without departing from the spirit or essential characteristics of the invention. Accordingly, the disclosures and descriptions herein are intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.
The various illustrative logics, logical blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented as hardware using a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration.
The steps of a method or algorithm described in connection with the embodiments disclosed herein may be embodied directly in hardware, in a software module executed by a processor, or in a combination of the two. A software module may reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, registers, hard disk, a removable disk, a CD-ROM, or any other form of storage medium known in the art. An exemplary storage medium is coupled to the processor such the processor can read information from, and write information to, the storage medium. In the alternative, the storage medium may be integral to the processor. The processor and the storage medium may reside in an ASIC. The ASIC may reside in a user terminal. In the alternative, the processor and the storage medium may reside as discrete components in a user terminal.
The description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present invention. Various modifications to these embodiments may be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments, e.g., in an instant messaging service or any general wireless data communication applications, without departing from the spirit or scope of the invention. Thus, the present invention is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the principles and novel features described herein. The word "exemplary" is used herein to mean "serving as an example, instance, or illustration. Any embodiment described herein as "exemplary" is not necessarily to be construed as preferred or advantageous over other embodiments.

Claims (40)

1. A method for receiving content in a wireless data network, the method comprising:
initiating a content download over a first connection supporting a first data rate, wherein the content has a selected quality level;
establishing a second connection supporting a second data rate;
determining that the second data rate is lower than the first data rate;
waiting for a third connection to be established that supports a data rate higher than the second data rate; and
continuing the content download using the third connection.
2. The method of claim 1, wherein the waiting and continuing steps comprise:
canceling the content download; and
a second content download is initiated via the second connection to receive content having a second selected quality level.
3. The method of claim 1, further comprising determining that a contact window is open.
4. The method of claim 1, wherein the steps of determining, waiting, and continuing comprise:
determining that the second data rate is higher than the first data rate; and
continuing the content download using the first connection.
5. The method of claim 4, wherein the continuing step comprises:
canceling the content download via the first connection; and
requesting to receive the content via the second connection.
6. The method of claim 1, wherein the first connection comprises a 1xEV-DO connection and the second connection comprises a 1xRTT connection.
7. An apparatus for receiving content in a wireless data network, the apparatus comprising:
transceiver logic for initiating a download of content via a first connection supporting a first data rate, wherein the content has a selected quality level, and establishing a second connection supporting a second data rate;
receiving logic to determine that the second data rate is lower than the first data rate; and
processing logic to wait for a third connection that supports a data rate higher than the second data rate and continue the content download using the third connection.
8. The device of claim 7, wherein the processing logic further comprises:
logic for canceling the content download; and
logic for initiating a second content download over the second connection to receive content having a second selected quality level.
9. The device of claim 7, wherein the processing logic further comprises: logic for determining that a contact window is open.
10. The device of claim 7, wherein the receiving logic further comprises:
logic for determining that the second data rate is higher than the first data rate; and
logic for continuing the content download using the first connection.
11. The device of claim 7, wherein the processing logic further comprises:
logic for canceling the content download via the first connection; and
logic for requesting to receive the content via the second connection.
12. The device of claim 7, wherein the first connection comprises a 1xEV-DO connection and the second connection comprises a 1xRTT connection.
13. An apparatus for receiving content in a wireless data network, the apparatus comprising:
means for initiating a download of content via a first connection that supports a first data rate, wherein the content has a selected quality level;
means for establishing a second connection that supports a second data rate;
means for determining that the second data rate is lower than the first data rate;
means for waiting to establish a third connection that supports a data rate higher than the second data rate; and
means for continuing the content download using the third connection.
14. The apparatus of claim 13, wherein the means for waiting and continuing comprises:
means for canceling the content download; and
means for initiating a second content download over the second connection to receive content having a second selected quality level.
15. The apparatus of claim 13, further comprising means for determining that a contact window is open.
16. The apparatus of claim 13, wherein the means for determining, waiting, and continuing comprises:
means for determining that the second data rate is higher than the first data rate; and
means for continuing the content download using the first connection.
17. The apparatus of claim 16, wherein the means for continuing comprises:
means for canceling the content download via the first connection; and
means for requesting to receive the content via the second connection.
18. The device of claim 13, wherein the first connection comprises a 1xEV-DO connection and the second connection comprises a 1xRTT connection.
19. A computer-readable medium comprising instructions, which when executed by a processor, operate to receive content in a wireless data network, the computer-readable medium comprising:
instructions for initiating a download of content via a first connection that supports a first data rate, wherein the content has a selected quality level;
instructions for establishing a second connection that supports a second data rate;
instructions for determining that the second data rate is lower than the first data rate;
instructions for waiting to establish a third connection that supports a data rate higher than the second data rate; and
instructions for continuing the content download using the third connection.
20. The computer-readable medium of claim 19, wherein the instructions for waiting and continuing comprise:
instructions for canceling the content download; and
instructions for initiating a second content download via the second connection to receive content having a second selected quality level.
21. The computer-readable medium of claim 19, further comprising instructions for determining that a contact window is open.
22. The computer-readable medium of claim 19, wherein the instructions for determining, waiting, and continuing comprise:
instructions for determining that the second data rate is higher than the first data rate; and
instructions for continuing the content download using the first connection.
23. The computer-readable medium of claim 22, wherein the instructions for continuing comprise:
instructions for canceling the content download via the first connection; and
instructions for requesting to receive the content via the second connection.
24. The computer-readable medium of claim 19, wherein the first connection comprises a 1xEV-DO connection and the second connection comprises a 1xRTT connection.
25. A method for delivering content in a wireless data network, the method comprising:
receiving a request for content from a device;
determining a network connection associated with the device;
selecting content having a selected quality level, wherein the selected quality level is based on the network connection; and
transmitting the content having the selected quality level to the device.
26. The method of claim 25, further comprising determining a new network connection associated with the device.
27. The method of claim 26, further comprising continuing said sending of said content having said selected quality level via said new network connection.
28. The method of claim 26, further comprising:
selecting content to be delivered to the device having a second selected level of quality, wherein the second selected level of quality is based on the new network connection; and
transmitting the content having the second selected quality level to the device.
29. An apparatus for delivering content in a wireless data network, the apparatus comprising:
processing logic to receive a request for content from a device, determine a network connection associated with the device, and select content having a selected quality level, wherein the selected quality level is based on the network connection; and
transmitting logic to transmit the content having the selected quality level to the device.
30. The device of claim 29, wherein the processing logic further comprises: logic for determining a new network connection associated with the device.
31. The device of claim 30, wherein the transmit logic further comprises: logic for continuing the sending of the content having the selected quality level via the new network connection.
32. The device of claim 30, wherein the processing logic further comprises: logic for selecting content to be delivered to the device having a second selected level of quality, wherein the second selected level of quality is based on the new network connection.
33. An apparatus for delivering content in a wireless data network, the apparatus comprising:
means for receiving a request for content from a device;
means for determining a network connection associated with the device;
means for selecting content having a selected quality level, wherein the selected quality level is based on the network connection; and
means for transmitting the content having the selected quality level to the apparatus.
34. The apparatus of claim 33, further comprising means for determining a new network connection associated with the apparatus.
35. The apparatus of claim 34, further comprising means for continuing said sending of said content having said selected quality level via said new network connection.
36. The apparatus of claim 34, further comprising:
means for selecting content to be delivered to the device having a second selected level of quality, wherein the second selected level of quality is based on the new network connection; and
means for transmitting the content having the second selected quality level to the apparatus.
37. A computer-readable medium comprising instructions, which when executed by a processor, operate to deliver content in a wireless data network, the computer-readable medium comprising:
instructions for receiving a request for content from a device;
instructions for determining a network connection associated with the device;
instructions for selecting content having a selected quality level, wherein the selected quality level is based on the network connection; and
instructions for sending the content with the selected quality level to the device.
38. The computer-readable medium of claim 37, further comprising instructions for determining a new network connection associated with the device.
39. The computer-readable medium of claim 38, further comprising instructions for continuing said sending of said content having said selected quality level via said new network connection.
40. The computer-readable medium of claim 38, further comprising:
instructions for selecting content to be delivered to the device having a second selected level of quality, wherein the second selected level of quality is based on the new network connection; and
instructions for transmitting the content having the second selected quality level to the device.
HK07112272.7A 2004-05-04 2005-05-04 Methods and apparatus for content delivery to a mobile device HK1103886A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US60/568,326 2004-05-04

Publications (1)

Publication Number Publication Date
HK1103886A true HK1103886A (en) 2007-12-28

Family

ID=

Similar Documents

Publication Publication Date Title
US7889697B2 (en) Method and apparatus for content delivery to a mobile device
JP4404773B2 (en) Method and apparatus for managing the use of data link resources
US7738914B2 (en) Method and device for adapting the configuration of an application of a mobile terminal to an accessible data connection
US20060013235A1 (en) Wireless terminal dynamically programmable proxies
JP4054253B2 (en) Communication system, radio communication terminal and radio base station
CN101360106B (en) Method and apparatus for improving continuous packet connectivity in a wireless communications system
EP1762046A1 (en) Air interface cooperation between wwan and wlan
JPH118890A (en) Radio platform having compatibility
WO2003010983A2 (en) Methods and systems of blocking and/or disregarding data and related wireless terminals and wireless service providers
EP1624711B1 (en) Method for improving access network selection in the context of discontinuous coverage access networks, corresponding access controller, and corresponding multicast system
KR20030020980A (en) Communication system, method thereof, switching center thereof and base station control station thereof
EP1028597A2 (en) Communication apparatus, systems and method
US20010036820A1 (en) Distributed buffer management in a high data rate wireless network
JP2005080309A (en) Packet receiving method for portable terminal
TWI425790B (en) Network nodes cooperatively routing traffic flow amongst wired and wireless networks
US7796531B2 (en) Method, a device and a system for transferring data
HK1103886A (en) Methods and apparatus for content delivery to a mobile device
EP1784935A2 (en) Transparent service adaptation in heterogeneous environments
CN114268566B (en) Data communication method, device and system
KR100858849B1 (en) Method and apparatus for transmitting content to mobile device
JP2004064375A (en) Communication method selection method
US20060104239A1 (en) Apparatus and method for updating packet data session parameters by PDSN in mobile communications system
KR20050069348A (en) Method of controlling quality of service on a traffic channel using mobile terminal and mobile terminal thereof
JP2007097221A (en) Communication system, radio communication terminal and radio base station
HK1102730A (en) Independent mode selection for forward and reverse links