Registration of media content with a content distribution network for transfer at a later time

Embodiments disclosed herein provide systems and methods for registering media content with a CDN for transfer at a later time. In a particular embodiment, a method of operating a wireless communication device to deliver media content to a plurality of user devices over a Content Distribution Network (CDN) is provided. The method comprises transferring an upload registration request to the CDN that indicates the wireless communication device and an upload time. The method further comprises receiving an upload confirmation transferred from the CDN confirming the upload registration request and powering down after receiving the upload confirmation. The method further comprises powering up and obtaining the media content. After powering up and during the upload time, the method comprises transferring the media content for delivery to the CDN based on the upload confirmation, wherein the CDN subsequently transfers the media content to the user devices.

TECHNICAL BACKGROUND

Content distribution networks (CDNs) store media content in content servers for efficient distribution to end-users over communication networks. The media content might be video, audio, images, documents, sensor data, and the like. The CDN servers are often geographically distributed and adapted to serve particular access networks. The users typically download the content in an on-demand manner from the CDN. The CDN enforces distribution rules on these downloads. The distribution rules control what content can be downloaded, when the content can be downloaded, where the content can be downloaded, and to whom the content can be downloaded—in addition to other rules. Thus, CDNs have an elaborate process for handling the distribution of media content to a multitude of end-users over various communication networks that cover large geographic areas.

Unfortunately, the techniques for uploading the content to the CDNs are not so elaborate. Media content is typically uploaded to the CDN from another computer system, as opposed to the CDN generating the media itself. For example, a website and all the content provided by the website may be uploaded to the CDN for distribution to user devices accessing the website through their web browsers and the Internet. A movie may be uploaded to the CDN for distribution to user media players. This upload is traditionally an on-demand process whereby the uploading system contacts the CDN and uploads the media content in a single communication session. If the content upload attempt fails, the uploading system typically tries the upload again at a later time.

More types of devices are capable of uploading content to a CDN than ever before. For example, modern smartphones are capable of generating media content and uploading that media content to a CDN. These smartphones (and other wireless devices) often have a limited amount of power to operate (i.e. battery power, solar power, etc.). In particular, various sensors, (video cameras, thermometers, radars, etc.) now generate and transfer content for distribution over CDNs to various end-users. While the present CDN upload process may work well for a video that is generated by a movie studio having a complex media computers, the current CDN upload process is deficient for many other types of content-uploading devices.

Overview

Embodiments disclosed herein provide systems and methods for registering media content with a CDN for transfer at a later time. In a particular embodiment, a method of operating a wireless communication device to deliver media content to a plurality of user devices over a Content Distribution Network (CDN) is provided. The method comprises transferring an upload registration request to the CDN that indicates the wireless communication device and an upload time. The method further comprises receiving an upload confirmation transferred from the CDN confirming the upload registration request and powering down after receiving the upload confirmation. The method further comprises powering up and obtaining the media content. After powering up and during the upload time, the method comprises transferring the media content for delivery to the CDN based on the upload confirmation, wherein the CDN subsequently transfers the media content to the user devices.

DETAILED DESCRIPTION

FIG. 1illustrates wireless communication system100. Wireless communication system100includes wireless communication device101, content distribution network (CDN)102, alternatively called a content delivery network, and user device103. Wireless communication device101and CDN102communicate over wireless link111. CDN102and user device103communicate over communication link112.

In operation, CDN102provides media content to other systems and devices capable of accessing CDN102either directly or through other communication networks or systems. This media content may be audio/video files, websites, documents, software, or any other type of data. CDN102may include a single server or a collection of servers spread throughout a communication network or collection of communication networks in order to optimally provide data to other systems and devices. For example, CDN102may include servers within various access networks to better provide media content to systems and devices that use each access network.

In order for CDN102to provide media content, the media content must first be obtained from a content source. A content source may be any type of system or device that is capable of transferring data to CDN102directly or through other communication networks or systems. A content source may be a system or device that generated the content, either under the direction of a user or otherwise, or may be a system or device that merely stored media content in a memory system before transferring the media content to CDN102.

As more content sources transfer content to CDN102, the resources of CDN102may become less available. Similarly, the resources of communication networks used by the content sources to access CDN102may also become less available. Given these limited resources, it may be more efficient for a content source to transfer content to CDN102at one time over another. For example, while a content source may be ready to transfer media content to CDN102at a particular time, that time may be a time of peak CDN102usage. During this peak time CDN102may not be able to receive the media content or the transfer of the media content to CDN102may be more time consuming. Thus, transferring the media content at a different time, such as an off peak time, may be beneficial.

Additionally, many modern content sources operate on limited power sources, such as battery or solar power. Thus, it may be beneficial for content sources with limited power to upload media content when the limited power can be better used for powering an upload over a wireless communication interface. In a particular example, a cellular phone operates on battery power and it would be beneficial to transfer media content from the cellular phone to CDN102at a time that would best conserve the battery life of the cellular phone.

FIG. 2illustrates the operation of wireless communication system100to register media content with a CDN for transfer at a later time. An upload registration request is transferred from wireless device101to CDN102that indicates the wireless device101and an upload time (step200). The upload registration request may be transferred in response to a user request made by a user of wireless device101, automatically upon wireless device101generating or receiving media content, or for any other reason. The registration request may indicate wireless device101by a network address of wireless device101, a unique identifier, such as an electronic serial number (ESN) for wireless device101, or by any other method of indicating a wireless device.

The upload time may be any time when wireless device101is able to upload media content to CDN102. The upload time may be any time extending from the time immediately after the upload registration process described herein. In some embodiments, the upload time is merely a suggested time from wireless device101and CDN102may determine an actual upload time while considering the suggested upload time received from wireless device101. Additionally, the upload time may be entered by a user of wireless device101or may be determined automatically by wireless device101by taking into account various factors, such as CDN102resource usage, assess network resource usage, access network type, power supply usage (i.e. battery level, solar panel output, etc.), or any other factor that may contribute to a desirable upload time. For example, a user may enter an upload time that corresponds to wireless device being on a WIFI network rather than a cellular network and corresponds to a time when a battery power level for wireless device101is expected to be high or charging.

In some embodiments, the upload registration request may further indicate information about the media content to be uploaded to CDN102. The media content may include an audio/video file, picture, document, website, or any other type of data. Thus, the information in the request may include a type of the media content, a file size of the media content, or any other information about the media content that may be useful to CDN102. For example, the file size may be useful in order for CDN102to determine a best upload time for receiving a file of the indicated size and/or allocate storage space in CDN102to store the media content once CDN102receives the media content.

After transferring the upload registration request, an upload confirmation is received at wireless device101from CDN102confirming the upload registration request (step202). The upload confirmation may simply indicate that wireless device101may upload the media content at the time indicated by the upload registration request. Alternatively, the media content may contain other or additional instructions for wireless device101to follow when uploading the media content. For example, the upload confirmation may include an upload time determined by CDN102, an address for a particular system/server in CDN102to which the media content should be directed, or any other information that may be useful when uploading the media content.

In some embodiments, the registration steps200and202allow CDN102to reserve resources at the determined upload time so that the resources are available to wireless device101at the upload time. This ensures that wireless device101will be able to upload the media content to CDN102without having to wait for resources to become available.

Wireless device101powers down after receiving the upload confirmation (step204). Powering down may completely power off of wireless device101, put wireless device101in a standby mode, put one or more communication interfaces and/or processing systems of wireless device101into a standby mode, or any other method whereby wireless device101is using less power than it would when communicating with CDN102.

After powering down, wireless device101powers up and obtains the media content (step206). Wireless device101may power up and power back down at times between steps204and206according to other operating circumstances for wireless device101. The media content may be obtained from a storage system in wireless device101, such as flash memory or a hard disk, from another system or device, from a communication network, from a content generation element, such as a camera or microphone on wireless device101, or any other method of obtaining content. For example, wireless device101may be uploading a video captured by wireless device101at the request of a user of wireless device101. That video may be stored in memory on wireless device101or elsewhere. Alternatively, the video itself may be captured at step206.

After powering up and during the upload time, the media content is transferred from wireless device101for delivery to CDN102based on the upload confirmation, wherein CDN102subsequently transfers the media content to user device103among other user devices (step208). Accordingly, upon powering up wireless device101the media content is obtained so that the media content can be uploaded to CDN102at the upload time confirmed during the upload registration request and confirmation in steps200and202. Once the media content is in CDN102, user device103and other user devices can request the media content from CDN102. User device103may be the same type of device as wireless device101or some other computing device capable of communicating with CDN102.

In some embodiments, at least one rule is transferred to CDN102with the upload registration request, with the media content, or otherwise. Each rule may indicate a time when user devices can access the media content on CDN102, which user devices can access the media content on CDN102, an inclusive or exclusive geographic area where user devices may be located to access the media content on CDN102, or any other rule limiting the user devices that can access the media content on CDN102.

In an example of the operation inFIG. 2where wireless device101has an alternative power source, wireless device101may be a measurement system having sensors located thereon. For example, wireless device101may be an environmental system including environmental sensors for obtaining environmental data, such as temperature, humidity, and pressure, among other types of data. Wireless device101may therefore be powered by solar energy through the use of solar panels, or some other type of solar energy capture apparatus, so that wireless device101can be left in a remote area without the need for another power source. Due to the nature of wireless communications, wireless device101may want to transfer data a time when the sun is providing the most energy to wireless device101so that a wireless communication interface can use that power.

Accordingly, wireless device101registers with CDN102to transfer captured environmental data to CDN102at a time when the sun is most likely to be providing enough energy to operate the wireless communication interface and then powers down at least the wireless communication interface. The environmental sensors may continue running to collect data. When the upload time arrives, wireless device101powers up the wireless communication interface and transfers collected environmental data to CDN102. A researcher using user device103can then access the data from CDN102.

In some embodiments, the upload registration may indicate that the media content uploads are periodic. In the context of the preceding example, wireless device101may indicate that wireless device101will upload collected environmental data at the same time each day or each week. Thus, a standing registration will exist in CDN102for wireless device101to periodically upload media content.

Advantageously, using the above method, wireless device101is able to register a media content upload to CDN102so that the upload occurs during a time better suited for wireless device101, CDN102, or some compromise between the two.

Referring back toFIG. 1, wireless communication device101comprises Radio Frequency (RF) communication circuitry and an antenna. The RF communication circuitry typically includes an amplifier, filter, modulator, and signal processing circuitry. Wireless communication device101may also include a user interface, memory device, software, processing circuitry, or some other communication components. Wireless communication device101may be a telephone, computer, e-book, mobile Internet appliance, wireless network interface card, media player, game console, measurement system, or some other wireless communication apparatus—including combinations thereof.

Content distribution network102comprises network elements that provide media content from wireless device101to user devices including user device103. Content distribution network103may comprise switches, wireless access nodes, Internet routers, network gateways, application servers, computer systems, communication links, or some other type of communication equipment—including combinations thereof.

User device103comprises wired and/or wireless communication circuitry used for communicating over communication link112. User device103may also include a user interface, memory device, software, processing circuitry, or some other communication components. User device103may be a telephone, computer, server, e-book, mobile Internet appliance, wireless and/or wired network interface card, media player, game console, or some other communication apparatus—including combinations thereof.

Wireless link111uses the air or space as the transport media. Wireless link111may use various protocols, such as Code Division Multiple Access (CDMA), Evolution Data Only (EVDO), Worldwide Interoperability for Microwave Access (WIMAX), Global System for Mobile Communication (GSM), Long Term Evolution (LTE), Wireless Fidelity (WIFI), High Speed Packet Access (HSPA), or some other wireless communication format. Communication link112uses metal, glass, air, space, or some other material as the transport media. Communication link112could use various communication protocols, such as Time Division Multiplex (TDM), Internet Protocol (IP), Ethernet, communication signaling, CDMA, EVDO, WIMAX, GSM, LTE, WIFI, HSPA, or some other communication format—including combinations thereof. Communication link112could be a direct link or may include intermediate networks, systems, or devices.

FIG. 3illustrates wireless communication system300. Wireless communication system300includes wireless communication device301, wireless access network302, content distribution network (CDN)303, and user devices304-306. Wireless communication device301includes storage307and CDN303includes storage308. Storage307and storage308may each be any type of storage medium including flash memory, random access memory, hard disk drive(s), or any other type of non-transitory storage medium.

Wireless communication device301and wireless access network302communicate over wireless link311. Wireless access network302and CDN303communicate over communication link312. CDN303and user devices304-306communicate over communication links313-315, respectively.

Wireless access network302comprises network elements that provide communications services to wireless device301through wireless access nodes. Wireless access network302may comprise switches, wireless access nodes, Internet routers, network gateways, application servers, computer systems, communication links, or some other type of communication equipment—including combinations thereof. While user devices304-306are not shown to communicate with access network302, one or more of user devices304-306may use access network302to communicate with CDN303. Alternatively, user devices304-306may use other wired or wireless communication networks to communicate with CDN303. In addition, while CDN303is shown external to access network302, at least part of CDN303may be located within access network302.

FIG. 4illustrates the operation of wireless communication system300to register media content with a CDN for transfer at a later time. In operation, media is selected for transfer to CDN303and rules are identified for the distribution of the media content to user devices304-306(step400). This media content may be audio/video files, websites, documents, software, sensor data, or any other type of data. The media content may be content stored on in storage307of wireless device301. The media content may be selected by a user for upload to CDN303, may be selected by wireless device itself, such as for automatic upload, or by some other system instructing wireless device101. For example, CDN303may be part of a cloud computing service for wireless device301and wireless device301uploads captured media to CDN303as part of this cloud computing service.

The rules may similarly be identified by a user of wireless device301, by wireless device301itself, or by some other system instructing wireless device301. For example, the user of wireless device301may indicate that only user devices of the user's friends and family are allowed to access the media content. Each rule may indicate a time when user devices can access the media content on CDN303, which user devices can access the media content on CDN303, an inclusive or exclusive geographic area where user devices may be located to access the media content on CDN303, or any other rule limiting the user devices that can access the media content on CDN303.

Once the media content and rules are selected, wireless device301transfers an upload registration request and the rules to CDN303(step402). The upload registration request may include a requested upload time that wireless device301is requesting for the upload. The requested upload time may be indicated by a user of wireless device301or may be determined by wireless device301itself. For example, the user may know when wireless device301can best handle an upload or wireless device301may have or be able to ascertain information about itself, such as battery life, access network302, or CDN303when determining a requested upload time. Alternatively, wireless device301may determine an upload time. Wireless device301may be able to determine the upload time based on historical usage patterns of wireless device301.

In some embodiments, CDN303may merely consider the requested upload time when determining when the media content upload should occur. Hence, CDN303may obtain further information and requirements for use when determining an appropriate upload time. Alternatively, wireless device301may require that the requested upload time be met at least to within a threshold amount of time in order for CDN303to confirm the upload registration request. Thus, if the requested upload time cannot be met, then CDN303will transfer a message to wireless device301denying the upload registration request.

Once the upload time determined or approved by CDN303, CDN303transfers an upload confirmation to wireless device301. The upload confirmation includes any information that wireless device301will need to upload the media content to CDN303including, but not limited to, the upload time and a destination network address for the upload. Wireless device301receives this confirmation and powers down (step404). Powering down may completely power off of wireless device301, put wireless device301in a standby mode, put one or more communication interfaces and/or processing systems of wireless device301into a standby mode, or any other method whereby wireless device301is using less power than it would when communicating with CDN303.

At a later time, wireless device301powers up and transfers the media content to CDN303at the upload time and based upon any other upload information indicated by the upload confirmation (step406). The later time may be the upload time indicated by the upload confirmation or may be some time before the upload time so that wireless device301has time to prepare the media content before commencing with the upload at the upload time. An application executing on wireless device301to control the upload may instruct wireless device301to power up. The application may take advantage of an application programming interface (API) in an operating system of wireless device301to perform the functionality. The application may be an application that manages the media content, such as a media viewing/management application, or may be a separate application.

CDN303receives the media content from wireless device301and stores the media content in storage308. Storage308may be located in a single system of CDN303or may be spread across multiple systems. For example, a copy of the media content may be stored on multiple servers of CDN303. Each server may be located in a separate access network, such as access network302, so that the media content can more efficiently be distributed to user devices connected to each network.

After the media content is uploaded, user devices304-306can request the media content from CDN303. If the request from a particular user device satisfies the rules transferred at step402, then CDN303transfers the media content to the user device (step408). However, if the request from the particular user device does not satisfy the rules transferred at step402, then CDN303does not transfer the media content to the user device (step410).

For example, the rules may indicate that the media content can only be accessed after a given time. A content request that is received before that given time is denied while a content request received after that time is allowed and the media content is transferred to the requesting device.

FIG. 5is a sequence diagram that illustrates the operation of wireless communication system300to register media content with a CDN for transfer at a later time. The sequence begins with wireless device transferring an upload registration request to CDN303via access network302. The upload registration request indicates that wireless device301is requesting to upload media content at an upload time provided in the request and includes any rules governing CDN303's distribution of the media content to user devices after the media content is received. The upload registration request may further indicate information about the file, such as file size or type.

CDN303then transfers an acknowledgment of the upload registration request to wireless device301. The acknowledgement message includes a confirmation that wireless device301will be allowed to upload the media content at the requested time or at some other time indicated in the acknowledgement. The acknowledgment may further include any information necessary for wireless device301to upload the media content. After receiving the acknowledgement message, wireless device301powers down.

Upon reaching the upload time or at some time before the upload time, wireless device301powers up so that wireless device301can upload the media content to CDN303. After powering up, wireless device301uploads the media content at the upload time based on the information received in the acknowledgment message.

After the media content has been received by CDN303and stored in storage308, CDN303receives requests for the media content from user devices304and305, respectively. CDN303applies the rules for distributing the media content to the requests and determines that user device305can access the media content and user device304cannot. While the sequence shows that the rules are applied after both of the requests were received, CDN303may apply rules to requests as they arrive. Upon determining that user device305can access the media content, CDN303transfers the media content to user device305.

In an example, user device304may not be allowed to access the media content because user device304is not within a geographic area indicated by the rules and user device305is located within that geographic area.

FIG. 6is a sequence diagram that illustrates the operation of wireless communication system300to register media content with a CDN for transfer at a later time. In this embodiment, wireless device301and user device306are capable of transferring data between each other using machine-to-machine communications.

The sequence begins with wireless device transferring an upload registration request to CDN303via access network302. The upload registration request indicates that wireless device301is requesting to upload media content at an upload time provided in the request and includes any rules governing CDN303's distribution of the media content to user devices after the media content is received. The upload registration request may further indicate information about the file, such as file size or type.

CDN303then transfers an acknowledgment of the upload registration request to wireless device301. The acknowledgement message includes a confirmation that wireless device301will be allowed to upload the media content at the requested time or at some other time indicated in the acknowledgement. The acknowledgment may further include any information necessary for wireless device301to upload the media content. After receiving the acknowledgement message, wireless device301powers down.

At some time after wireless device301has received the acknowledgment from CDN303, user device306requests access to the media content. CDN303applies the rules to the request from user device306to determine whether user device306is able to access the media content. For example, the rules may indicate that only user device306is able to access the media content. Upon determining that user device306can access the media content, CDN303transfers information to user device306indicating how and when user device306may obtain the user content. In this example, the information indicates the upload time to user device306and any information necessary for user device306to communicate with wireless device301at the upload time. For example, the information may include information necessary for user device306to communicate with wireless device301directly or may include information necessary for user device306to communicate with wireless device301using CDN303as an intermediate system. After receiving the information, user device306is able to power down in a manner similar to wireless device301. In an alternative embodiment, CDN303may transfer a paging notification to user device306when the upload time is reached rather than transfer the information before hand.

Upon reaching the upload time or at some time before the upload time, wireless device301powers up so that wireless device301can upload the media content. User device306similarly powers up so that user device306can receive the media content from wireless device301. Wireless device301and user device306connect to each other at the upload time and wireless device301uploads the media content to user device306. Wireless device301may connect to directly to user device306using information provided by CDN303when wireless device301powered up or wireless device301may communicate with user device306using CDN303as an intermediate system. If CDN303acts as an intermediate system, then CDN303may store the media content in storage308for future access by wireless device301or any allowed user devices.

Advantageously, if both wireless device301and user device306have limitations on their ability to exchange media content, such as battery usage limitations, then both wireless device301and user device306can minimize powered up time while still being able to perform a machine-to-machine exchange of media content.

FIG. 7illustrates wireless communication device700. Wireless communication device700is an example of wireless communication devices101and301, although devices101and301could use alternative configurations. Wireless communication device700comprises wireless communication interface701, user interface702, and processing system703. Processing system703is linked to wireless communication interface701and user interface702. Processing system703includes processing circuitry705and memory device706that stores operating software707. Wireless communication device700may include other well-known components such as a battery and enclosure that are not shown for clarity. Wireless communication device700may be a telephone, computer, e-book, mobile Internet appliance, media player, game console, wireless network interface card, or some other wireless communication apparatus—including combinations thereof.

Wireless communication interface701comprises RF communication circuitry and an antenna. The RF communication circuitry typically includes an amplifier, filter, RF modulator, and signal processing circuitry. Wireless communication interface701may also include a memory device, software, processing circuitry, or some other communication device. Wireless communication interface701may use various protocols, such as CDMA, EVDO, WIMAX, GSM, LTE, WIFI, HSPA, or some other wireless communication format.

User interface702comprises components that interact with a user to receive user inputs and to present media and/or information. User interface702may include a speaker, microphone, buttons, lights, display screen, touch screen, touch pad, scroll wheel, communication port, or some other user input/output apparatus—including combinations thereof. User interface702may be omitted in some examples.

Processing circuitry705comprises microprocessor and other circuitry that retrieves and executes operating software707from memory device706. Memory device706comprises a non-transitory storage medium, such as a disk drive, flash drive, data storage circuitry, or some other memory apparatus. Processing circuitry705is typically mounted on a circuit board that may also hold memory device706and portions of communication interface701and user interface702. Operating software707comprises computer programs, firmware, or some other form of machine-readable processing instructions. Operating software707includes registration module708and upload management module709. Operating software707may further include an operating system, utilities, drivers, network interfaces, applications, or some other type of software. When executed by processing circuitry705, operating software707directs processing system703to operate wireless communication device700as described herein.

In particular, registration module708directs processing system703to transfer an upload registration request via wireless communication interface701to a content distribution network (CDN) that indicates wireless communication device700and an upload time. Registration module708further directs processing system703to receive an upload confirmation via wireless communication interface701transferred from the CDN confirming the upload registration request and to power down wireless communication device700after receiving the upload confirmation. Upload management module709directs processing system703to power up and obtain the media content. After powering up and during the upload time, upload management module709directs processing system703to transfer the media content via wireless communication interface701for delivery to the CDN based on the upload confirmation, wherein the CDN subsequently transfers the media content to user devices.