Various schemes for distributing content are known. For example, a photographer may capture digital images or video with a camera, and manually distribute these images or video to one or more recipients. Examples of such manual distribution include recording the images or video onto tangible media, and delivering the tangible media to the recipients. Also, the images or video may be e-mailed to the recipients. In other instances, the images or video may be manually uploaded to a website. In turn, the recipients may visit the website, and manually download the images or video.
While these manual techniques are somewhat successful in delivering content to recipients, opportunities for further improvement nevertheless exist. For example, inexperienced computer users may not be comfortable with the manual steps involved visiting a website and downloading the images or video mentioned in the previous example. Other users may simply not want to be bothered with this sequence of manual steps.
Distribution schemes for subscriber-created content are described. Subscribers create and upload content for distribution to communities of recipients. The recipients join the communities in response to invitations from the subscribers. When connections to devices associated with the recipients are detected, any content due for delivery to the recipients is distributed. Systems supporting these distribution schemes may include content distribution modules that receive the content from the subscribers, and that provide corresponding content notifications. Content storage modules store the uploaded subscriber content. In response to the content notifications, notification modules notify the recipients that the content is available. Presence modules detect the connections to the devices, and provide corresponding device notifications. In response to the device notifications, device management modules provide recipient notifications, which associate recipients with the detected devices. Content distribution modules receive the recipient notifications and distribute the content to the recipients.
The teachings herein are described with reference to the accompanying figures. In the figures, the left-most digit(s) of a reference number identifies the figure in which the reference number first appears. The use of the same reference numbers in different figures indicates similar or identical items.
The device 104 may include any device suitable for capturing, storing, and transmitting the content 106. Thus, the device 104 may include mobile telephones equipped with motion or still cameras, microphones, or other components suitable for capturing the content 106.
The device 104 may also be configured to communicate with a mobile phone network 108 via a communication link 110. For example, the mobile phone network 108 may be one or more cellular wireless telephone networks that may be implemented using any suitable telecommunications technology. Examples of such technology are GSM, HSDPA, CDMA, WCDMA, and TDMA. Using the communication link 110, the device 104 may enable the subscriber 102 to access voice communications services, for example. According to one embodiment, the mobile phone network 108 operates on signals having frequencies falling within the radio-frequency (RF) range. Thus, the communication link 110 may operate at frequencies ranging from approximately 450 MHz to approximately 1900 MHz.
Additionally, the device 104 may be configured to communicate with a wireless local area network (LAN) 112 via a communication link 114. The wireless LAN 112 may, for example, comply with the specifications of IEEE 802.11. As such, the communication link 114 may be capable of operating at frequencies such as approximately 5 GHz. Thus, the communication link 114 may be characterized as a high-bandwidth link, relative to the communication link 110.
The wireless LAN 112 and the related communication link 114 may be implemented in connection with, for example, one or more wireless routers or other components. In possible implementations, the wireless LAN may be deployed in home, office, or other environments. Also, the wireless LAN may communicate with a broadband network 116, such as the Internet. For example, the subscriber 102 may connect to the broadband network using a suitable Internet Service Provider (ISP).
As a non-limiting example of how the foregoing components may operate, assume that the subscriber 102 has used the mobile device 104 to record audio and/or video of a child's sporting event. The content 106 would then correspond to this recorded audio and/or video. Having captured the content, the subscriber may wish to provide this content to one or more recipients 118. Two recipients 118A and 118N (collectively, recipients 118) are shown in
The recipients 118 may be associated with one or more respective recipient devices 120. In the non-limiting example shown in
Turning to the recipient 118A, the device 120A may access the broadband network 116 via a high bandwidth link 122. The high bandwidth link 122 may be, for example, a digital subscriber line (DSL) connection, a cable modem connection, a satellite connection, WiFi connection, WiMax connection, or the like.
The device 120B may access the mobile phone network 108 via a relatively low bandwidth link 124. The device 120B may be, for example, a mobile telephone that is configured to communicate with the mobile phone network 108 via an RF link.
Turning to the recipient 118N, the device 120C may also have access to the broadband network 116 via the high bandwidth link 122.
In the example as shown in
Having described the above infrastructure, the discussion now returns to the example introduced above, in which the subscriber 102 has captured video of a child's sporting event, and wishes to distribute this content 106 to the recipients 118. The subscriber 102 could, for example, attempt to transmit the content relatively soon after capturing the content at the venue of the sporting event. More particularly, the subscriber 102 could transmit the content via the low bandwidth links 110 and 124, using the mobile telephone network 108. However, in some instances, this approach may not be attractive for several reasons. First, the mobile telephone network 108 may be suitable for transmitting voice communications in a reasonable amount of time, and may be designed for this general purpose. However, the mobile telephone network 108 may not be as suitable for transmitting multimedia content, such as the video and/or audio content of this example. Thus, transmitting the content 106 over the mobile telephone network 108 may entail a significant delay, and this delay could result in considerable fees or charges.
To avoid the above issues with delay and cost, the operating environment 100 enables the subscriber 102 to use the high bandwidth links 114 and 122, as an alternative to the links 116 and 124, when distributing the content 106. For example, instead of transmitting or distributing the content 106 at the venue of the sporting event, the subscriber 102 could store the content on the device 104. Later, after returning home, the subscriber 102 could upload the content 106 using the wireless LAN 112 and the high bandwidth link 114, assuming the subscriber's home is suitably equipped with such components. In this manner, the subscriber 102 may avoid the delay and cost associated with distributing the content 106 using the mobile telephone network 108.
Once the subscriber 102 has uploaded the content 106, the content may be distributed through the broadband network 116 to the recipients 118. More particularly, the recipients may receive the content via respective high bandwidth links 122, and may view the content on the recipient devices 120.
As shown in
The community may be viewed as a “closed” group of recipients who have been invited specifically by the subscriber 102 to join the subscriber's community, and who have accepted this invitation. On at least this basis, the community as described herein is distinguished from “open” distribution models such as peer-to-peer networks, uploads to publicly-accessible Internet sites, or the like.
In some instances, a given subscriber may join his or her own community as a recipient. The subscriber may choose to do so in order to capture content with a first device, and afterwards have content delivered to a different device. For example, returning to the child's sporting event example from above, a parent (as a subscriber) may capture and upload the audio/video content of the child's event. If the parent is also a recipient or member of the parent's own community, the uploaded content may be forwarded to the parent (or the parent's account at the service provider), the same as any other recipient. In this, the parent may, for example, have the content downloaded to a digital video recorder (DVR), or other device or to multiple devices, at home or mobile.
Turning to the service provider 126 in more detail, it may provide components that form part of, or interface with, the various networks 108, 112, and/or 116 shown in
The service provider 126 may bundle the foregoing services into a package that is offered at set prices to the members of the communities (i.e., subscribers and/or recipients) described above. Also, the service provider 126 may supply at least some of the devices 104 and 120, and may also provide equipment for installing the wireless LAN 112 (such as wireless routers or similar equipment).
While the mobile phone network 108 and the wireless LAN 112 and broadband network 102 are shown as examples of networks that may be used for communicating content, it should be appreciated that any type of suitable network may be used.
The device 104 may also include a content capture component 206, which may include a still and/or video camera, a microphone, or other means for capturing the content 106. The content capture component 206 may capture the content 106 in analog or digital form. The content 106 may include audio, video, image, or other forms, as well as any combination of the foregoing. The content capture component 206 may be configured so as to store the content 106 in the storage unit 204. The content may pass through the processor 202 on its way to the storage unit 204, or the content may by-pass the processor 202.
The device 104 may also include a user interface (UI) 208. Generally, the UI 208 may include any components appropriate for obtaining input from the subscriber 102. Subscriber input is represented generally in
The UI 208 can also include components for providing output or feedback to the subscriber 102. To provide output, the UI 208 may include one or more displays for presenting visual feedback to the subscriber 102. Finally, the UI 208 may also include one or more speakers for providing audible feedback.
The device 104 may also include a content distribution client 214, which may be implemented as a body of computer program instructions that are executable by the processor 202. The content distribution client 214 may retrieve the content 106 from the storage unit 204, and upload the content from the device 104 to the service provider 126 (not shown in
The interface 216 may include a network adapter compatible with, for example, the IEEE 802.11 standard or other specification applicable to the wireless LAN 112, as well as related antenna structure. The interface 218 may include an RF network adapter and related antenna structure for placing the device 104 in communication with, for example, the mobile telephone network 108. The links 114 and 110 described above may be associated, respectively, with the interfaces 216 and 218.
Selection logic 220 may be configured to select from between the mobile phone network 108 and the wireless LAN 112 when uploading the content 106. For example, the selection logic 220 may detect or sense the presence of the wireless LAN 112. The selection logic 220 may also assess the signal strength and bandwidth capacity of the wireless LAN 112. If the signal strength and bandwidth capacity of the of the wireless LAN 112 meet or exceed predefined thresholds, the selection logic may select the wireless LAN 112, and the related interface 216, for uploading the content 106.
Also, the selection logic may operate based on known pricing levels related to the mobile network 108 and/or the service provider 126. For example, the mobile network and/or the service provider may offer free data air-time during nights and weekends. In these cases, the subscriber device 104 may send the data over the mobile network 108 during such times of “free air-time”. However, during times that the mobile network charges for airtime, the Selection Logic 220 in the subscriber device may be set to store the collected content, and only send it when the device is served by the wireless LAN 112.
In some instances, only the mobile phone network 108 may be available. In other instances, the mobile phone network 108 may have sufficient bandwidth capacity to upload the content 106 in a reasonable amount of time. For example, if the content 106 is audio content only, or if the content is highly-compressed or down-sampled video, then the mobile phone network 108 may be suitable for uploading this content from the device 104.
In some implementations, the mobile phone network 108 may be a third-generation (3G) network. In such implementations, the 3G network may have sufficient bandwidth to upload the content 106 quickly. If the subscriber has signed on for 3G network services, and wishes to incur the costs associated with uploading the content 106 using 3G bandwidth, then the subscriber may choose this option. Alternatively, the subscriber can upload the content using a private WiFi network.
As an operational example, recall the example introduced above in which the subscriber 102 has captured content 106 in the form of a video of a child's sporting event. When the subscriber 102 returns home afterwards, the selection logic 220 may detect the presence of a wireless LAN 112 configured in the home of the subscriber 102. Having detected the wireless LAN, the selection logic 220 may select the interface 216 for uploading the content 106, thereby using the higher bandwidth capabilities of the wireless LAN 112, as compared to the mobile phone network 108.
In some implementations, the subscriber 102 may configure the device 104 with preferences and rules specifying when to use the mobile phone network 108 and/or the wireless LAN 112, and with what types of content 106. Other examples of such rules or preferences may specify whether the content 106 is to be uploaded automatically when the wireless LAN 112 is detected, or whether the subscriber 102 is to manually initiate the uploads.
Any of the foregoing preferences and rules may be specified by default. In some implementations, these default settings may be overridden by the subscriber 102. In other implementations, these default settings are not overridden. The above preferences, rules, default setting, and the like may be specified by the subscriber using the user interface 208. In any event, these preferences and rules, whether specified by default or by the subscriber, may be implemented in the selection logic 220.
Having described illustrative components and data flows for the subscriber device 104, the description now turns to a similar discussion of the recipient devices 120, presented with
The recipient devices 120 may include components that are similar to those described above in
In addition, the recipient devices 120 may include an interface 310 that couples the recipient devices 120 to the broadband network 116 shown in
As at least one alternative to the automatic push of content from a subscriber to a recipient, the recipient 118 may be notified that the content is available, and the recipient may than manually download the content when he or she so wishes. Additionally, the recipient may define rules or preferences that specify one or more of the foregoing approaches to apply in different circumstances.
These preferences may also specify that content relating only to certain specified subject matter should be downloaded. For example, a given recipient may want to receive only content that pertains to the recipient's granddaughter.
In any event, the preferences 314 may be obtained from the recipient 118 via the UI 306, and forwarded in turn to the processor 302 and the storage unit 304. The selection logic 308 may select between the interfaces 310 and 312, depending, for example, on pre-defined rules or specifications, or depending on the signal strength and network speeds of the broadband network 116 or the mobile phone network 108. The preferences 314 are then sent to the service provider 126 via the broadband network 116 or the mobile phone network 108, depending on which interface is chosen by the selection logic 308. Additionally, the recipients themselves may determine or specify rules or preferences for which network to use, similarly to how the subscriber specified network preferences as described above.
Having described illustrative components of the subscriber and recipient devices, the discussion now turns to a description of a data structure that may be populated using these devices.
The data store 400 may include a record 402 containing data relating to a subscriber 102. The subscriber record 402 may be associated with a community record 404, which in turn may include one or more recipient records 406. The subscriber may define one or more communities, and may specify one or more recipients as members of such communities. For example, but not limitation, a subscriber might define one community for distributing work-related content to co-workers, and might define another community for distributing personal content to family and friends. Each defined community may be represented by a respective community record 404, and each member within the communities may be represented by a respective recipient record 406. Each content may be represented as a content type (e.g. personal content, family content, work content, friend content) and designated as such in Data Store 400.
It is noted that recipients 118 may be members of multiple communities. Further, these multiple communities may be associated with one or more subscribers 102. Additionally, a subscriber as to one community may be a recipient as to another community, and vice versa. Finally, a subscriber may also be a recipient within his or her own community.
Each recipient record 406 may point to or otherwise be associated with one or more recipient device records 408. Each recipient may use one or more devices 120 to receive content 106, and the recipient record 406 may include a respective device record 408 for each such device.
Each device record 408 may point to or otherwise be associated with a record 410 that stores capabilities associated with the respective recipient devices 120. These capabilities are stored in the records 410 for later reference when delivering content to the recipients via the recipient devices 120. Examples of device capabilities may include screen sizes and resolutions, media player capability, configurations of features or equipment provided by the device, signal throughput rates, storage capacities, network compatibility data, or the like.
The recipients 118 may populate the records 410, e.g., manually, when the recipients are invited to become members of a subscriber's community. Alternatively, these records 410 may be retrieved or populated from a pre-existing data store, using an identifier for a given recipient device 120 as a key. For example, such a data store may include a library that contains device capability data. This library may be queried on demand to discover the capabilities of a given make and model of device.
The recipient record 406 may also point to one or more records 412 that contain preferences or rules. These preferences or rules may govern how and/or when the content 106 is to be delivered to the recipient 118 corresponding to the record 406. For example, a recipient may specify that the content is to be delivered to a first device (e.g., device 120A shown in
The community record 404 may point to one or more records 414 for storing the content 106 uploaded by the subscriber 102. As described in more detail below, when the subscriber uploads content 106 to the service provider 126, the content is eventually forwarded to all recipients who are members of the subscriber's community. While the implementation shown in
While
Each instance of the content record 414 may be associated with one or more delivery status fields 416. These status fields 416 may indicate whether a given instance of content has been delivered to a given recipient. The status fields 416 may be implemented using flag, binary, Boolean, or other similar variables. One status field 416 is shown in
In some possible implementations, the status field 416 may indicate that a given instance of content has been partially streamed or otherwise delivered to a given recipient. For example, a given recipient may begin downloading a given instance of content, but afterwards, for any number of reasons, the download may be terminated. The recipient may affirmatively terminate the download, or a device or network failure may terminate the download. In any event, the recipient may wish to resume the download sometime later, and not have to restart the entire download.
To support this type of a resume function in such circumstances, the status field 416 may store, for example, what percentage of the content has been downloaded or delivered, or what percentage remains to be downloaded or delivered. In such instances, the status field 416 may be implemented as an integer or float data type, or other convenient data type.
As an example of this resume function, the service provider 126 may enable a given recipient to begin receiving a stream at home on a desktop computer. However, if the recipient must leave home during the stream, the recipient may terminate the stream sent to his or her desktop, and resume receiving the stream on, for example, a mobile phone. Thus, the service provider may enable the recipients to “see what the subscriber sees”, even if the recipients change devices mid-stream.
As an example of delivering content to recipients of a given community, assume that a given subscriber has defined a community having three recipients Mo, Larry, and Curley. In this example, the subscriber record 402 would be associated with one instance of the community record 404. In turn, this one community record 404 would be associated with three instances of the recipient records 406, one each for the three recipients Mo, Larry, and Curley.
Assume further that the given subscriber has uploaded two instances of content, referenced as A and B. In this example, Mo, Larry, and Curley would each have a corresponding recipient record 406. The recipient records 406 for Mo, Larry, and Curley would each be associated with two instances of the content record 414: one content record 414 for the content A, and one content record 414 for the content B. Each content record 414 for content A would include a respective status field 416, indicating whether content A has been delivered to the corresponding recipient on the recipient's designated device or devices. Each recipient may designate specific devices for receiving the content. Thus, each content record 414 defined for the content B would include a respective status field 416, indicating whether content B has been delivered to the corresponding device(s) of the recipient. In this example, the subscriber record 402 would contain a total of six status fields 416, each indicating whether the content A and B has been delivered to the device(s) of the recipients Mo, Larry, and Curley.
When the subscriber uploads, for example, the content A, the three status fields 416 are created for the recipients Mo, Larry, and Curley. Since the content A was just uploaded, these new status fields 416 may be initialized to a “no” or logical-zero value. However, as the content A is delivered to the recipients X, Y, and Z over time, the values in the status fields 416 for these recipients may be updated to a “yes” or logical-one value. Alternatively, the status fields 416 may be updated to show what percentage of the content has been delivered, or is yet to be delivered.
Having described the data structure in
Action block 502 represents storing the content uploaded by the subscriber. For example, as discussed in
Action block 504 represents identifying the one or more recipients who are members of the community to which the uploaded content should be distributed. For example, as discussed in
When content is uploaded by the subscriber, block 504 may include accessing a data store, such as the data store 400. Block 504 may also include locating all recipient records 406 associated with the community record 404 to which the content is to be delivered.
Action block 506 represents creating a field for storing a delivery status of the uploaded content. A respective status delivery field may be created for each device designated to receive content by the recipient who is in the subscriber community that is to receive the uploaded content. An example of a status delivery field is shown in
Action block 508 represents initializing the status delivery fields for each device designated to receive content by the recipient to a “no” or zero value when created, to indicate that the uploaded content has not yet been delivered to the recipients' devices. However, as the content is delivered to the recipients' devices, the corresponding status delivery fields may be updated to reflect delivery status.
Action block 510 represents notifying the recipients identified in block 504 that the uploaded content is available. In different implementations, the content may be pushed to the recipients automatically when the recipients are in communication with, for example, the service provider 126. In other implementations, the recipients may act affirmatively to receive the uploaded content.
Having described the process flow for uploading content from the subscribers, the discussion now turns to a description of components of the service provider that are suitable for uploading the subscriber-created content, now presented with
In the illustrated implementation, a subscriber 102 may upload content 106 to a content distribution module 602 to begin the process of distributing the content to the recipients 118. As noted above, when the subscriber has defined more than one community, the subscriber may indicate which community is to receive the uploaded content.
Having received the uploaded content 106, the content distribution module 602 forwards the content to a content storage module 604. The content storage module 604 may store the content for later retrieval by members of the community to which the subscriber chooses to send the content. For example, the content storage module may create a record such as the content record 414, as discussed in
Returning to the content distribution module 602, after receiving the uploaded content, the content distribution module creates a content notification 606. The content notification may include at least a name or other unique identifier associated with the subscriber. In instances where the subscriber has created more than one community, the content notification may also include an identifier for the community for which the uploaded content is intended. Where the subscriber has only one community, the community identifier (ID) may be somewhat redundant, and may be omitted.
The content distribution module 602 forwards the content notification 606 to a notification module 608. The notification module may extract the subscriber ID, referenced at 610, from the content notification. Where the subscriber has designated a community, the notification module may extract a community ID from the content notification. Using the subscriber ID, the notification module may locate all recipients who are in the subscriber's community. For example, the notification module may query a data store, such as the data store 400, using the subscriber ID (and/or the community ID) as a search key. Thus, the data store may return all recipient records 406 that are associated with the subscriber ID and/or the community ID. The recipient records may include the device identifiers for which each recipient designates to receive the content.
Having located the recipients who are to receive the uploaded content, the notification module 608 may create and send appropriate notifications to one or more devices 120 of the recipients 118.
Having described process flows and components related to uploading the subscriber content, the discussion now turns to process flows and component for distributing the subscriber content to recipients. Process flows are presented in
Action block 702 represents detecting a device associated with a recipient. Examples of recipient devices are shown in
Block 702 may also represent a wireless LAN (e.g., the wireless LAN 112 in
Block 702 may include obtaining a unique identifier associated with the recipient device(s). Examples of such unique identifiers may include a mobile identification number (MIN), an electronic serial number (ESN), an IP address, or the like.
Action block 704 represents mapping the recipient device(s) to a recipient as appropriate to facilitate searching records maintained by, for example, the service provider 126. Block 704 may include querying one or more data stores, using as a key the unique identifier obtained in block 702. Block 704 determines the identity of the recipient, if the identity is not already apparent from the unique identifier obtained in block 702. For example, if the records maintained by the service provider 126 are indexed by the unique identifier obtained in block 702, then block 704 may be omitted.
Block 706 represents testing whether the recipient is due to receive content. Block 706 may include querying a data store, such as the data store 400 shown in
From block 706, if the recipient is due to receive content, then the process flow 700 takes branch 708 to block 710. Block 710 represents delivering the content to the recipient. Depending on the nature of the connection established with the recipient, the content may be delivered via, for example, a mobile telephone network 108, a wireless LAN 112, or any other suitable network.
Block 712 represents updating the status field associated with particular content delivered to the device(s) associated with a recipient. For example, if the content is fully delivered or distributed to the device of a recipient, block 712 may include marking the content as having been completely delivered to the recipient's device. If the content is partially delivered, then block 712 may include updating the status field to indicate how much content was delivered, or how much content remains to be delivered. In but one possible implementation, block 712 may include updating a record, such as the delivery status field 416, to indicate that the corresponding content has been delivered to the designated device(s) of the recipient. In this manner, the same content will not be re-delivered to the recipient the next time that the recipient's device is detected.
The process flow 700 may return to block 706 to test whether any additional content is to be delivered to the recipient. If so, branch 708 is taken again, and blocks 710 and 712 are repeated, until no more content remains to be delivered to the recipient.
From block 706, if no content is to be delivered to the recipient, then the process flow takes branch 714 to block 716. Branch 714 may be taken if, for example, no recipient records 406 are associated with content records 414 whose delivery status fields 416 indicate that the content has not yet been delivered to the recipient.
Block 716 loops to itself via branch 718 until the next recipient device is detected. When the next device detection event occurs, the process flow 700 takes branch 720 to block 702, and the above-described processing is performed with the newly-detected recipient device.
Having described a process flow for delivering the subscriber content to the recipients, the discussion now turns to a description of service provider components suitable for delivering the subscriber content to the recipients.
The service provider 126 may include a presence module 802 that is operative to detect when the recipient device 120 is active on a network. Put differently, the presence module 802 detects any recipient devices 120 within communication range, and establishes communication therewith. The presence module may be compatible with, for example, the mobile telephone network 108, the wireless LAN 112, and/or any other suitable communications network.
Once the presence module 802 has detected and established communication with the recipient device 120, the presence module outputs a device notification 804. The device notification 804 may indicate a type of the recipient device, such as a make/model parameter of the recipient device, mobile identification number (MIN), an electronic serial number (ESN), or other identifier associated with the device. The device notification 804 may also convey characteristics of the connection with the device, such as network type, connection speeds, or the like.
A device management module 806 receives the device notification 804. Based on the device identifier included in the device notification, the device management module may query, for example, the data store 400 to obtain the features or characteristics of the particular device. These features may include attributes such as display size, color range, display resolution, storage capacity, media player capability, data throughput capability, processor power, or the like. These device characteristics are denoted generally at 808, which represents a line, a signal, or a data element that transmits these device features.
The device management module may also output connection characteristics 810, which indicate features of the connection between the device 120 and the service provider 126. For example, the connection characteristics 810 may indicate whether the service provider 126 is communicating with the device 120 over a relatively high-bandwidth network link (e.g., a wireless LAN link) or a relatively low-bandwidth network link (e.g., an RF link). The reference 810 represents a line, a signal, or a data element that transmits these connection characteristics.
In some implementations, the device management module may map the recipient devices 120 to a particular recipient 118. For example, certain data stores may be indexed by a recipient identifier, rather than a device identifier. In such instances, it may be appropriate to map the device identifier to a corresponding recipient identifier, in order to search these data stores efficiently. In such implementations, the device management module may output a recipient notification 812. A recipient may have multiple devices and device types.
The content distribution module 602, carried forward from
The content distribution module 602 may receive the device characteristics 808, the connection characteristics 810, and in some implementations, the recipient notification 812. Taken collectively, these inputs 808, 810, and 812 indicate an environment in which the service provider 126 may communicate with the device 120 and/or the recipient 118. Based on these inputs, the content distribution module may determine whether this environment satisfies the preferences expressed previously by the recipient. If the environment prevailing at a given time satisfies the recipient's stated preferences, then the content distribution module may output a command 814 to distribute content to the recipient.
A content storage module 604, carried forward from
The content storage module 604 may be responsive to the command 814 to search its data store or stores for any content that is due to be delivered to the recipient 118. If any such content is due for delivery, then the content storage module may output this content for delivery to the given recipient. This content is denoted in
A rendering module 816 may receive the content 106 for distribution to the recipient 118. The content 106 may, for example, take the form of high-quality audio and/or video content. The rendering module 816 also receives device characteristics 808 and connection characteristics 810. Based on the device characteristics and the connection characteristics, the rendering module may adjust the rendering of the content 106. For example, the rendering module may down-sample the content as transmitted to the recipient, in light of the capabilities of the device 120 or the connection to the device.
Put differently, the rendering module may tailor the content 106 for the particular capabilities of a given device or network connection. Additionally, the rendering module may separately sample and render audio and video components of a given instance of content, as appropriate for device or network capabilities. The content as rendered for delivery to the recipient device is denoted at 818.
A billing module 820 may implement several different billing options for the subscribers who upload content and for the recipients who receive the content. One option may include the subscriber paying entirely for the content distribution services, with the recipients bearing no cost for the services. The subscriber and the recipients may also share the cost of the services.
The billing module 820 may bill services on a flat rate per unit time. For example, services may be billed on a monthly basis, whether charged to the subscriber or the recipients. Payment of this flat rate may entitle the subscriber and/or the recipients to upload or download some set amount of content, or to or download unlimited content.
In some instances, the billing module 820 may bill the subscriber based on how much content the subscriber uploads to the service, or how much content the recipients download from the service. In other instances, the recipient may be billed based on how much content he or she receives from the service or the type of content. Depending on the billing structure in place, the recipients may alter their delivery preferences accordingly.
As shown in
In some implementations, the content 106 distributed by the service provider 126 may be distributed without incurring any type of license fees. This model may be appropriate when the content is of a personal, non-professional nature. Examples of such content may include recordings of family events, functions, or the like.
In other implementations, the content may be of a more professional nature, such that its distribution incurs license fees. Examples of such professional content may include music produced by the subscriber, professional photography or video shot by the subscriber, or any other types of audio and/or video content that are created and distributed for profit. In these latter implementations, the billing module 820 may support billing and settlement of license fees arising from distribution of licensed content.
It is noted that the various modules shown in
Although techniques for providing a distribution scheme for subscriber-related content have been described in language specific to certain features and methods, it is to be understood that the features defined in the appended claims are not necessarily limited to the specific features and methods described. Rather, the specific features and methods are disclosed as illustrative forms of implementing the claimed subject matter.
This application is a continuation of U.S. patent application Ser. No. 11/469,321, filed Aug. 31, 2006, now U.S. Pat. No. 8,965,999, which claims the benefit of U.S. Provisional Patent Application No. 60/745,252, filed Apr. 20, 2006, all of which are herein incorporated by reference in their entirety.
Number | Name | Date | Kind |
---|---|---|---|
5305195 | Murphy | Apr 1994 | A |
5572643 | Judson | Nov 1996 | A |
5604542 | Dedrick | Feb 1997 | A |
5608874 | Ogawa et al. | Mar 1997 | A |
5675507 | Bobo, II | Oct 1997 | A |
5710883 | Hong et al. | Jan 1998 | A |
5737619 | Judson | Apr 1998 | A |
5740549 | Reilly et al. | Apr 1998 | A |
5794039 | Guck | Aug 1998 | A |
5802314 | Tullis et al. | Sep 1998 | A |
5848415 | Guck | Dec 1998 | A |
5864870 | Guck | Jan 1999 | A |
5911776 | Guck | Jun 1999 | A |
5913040 | Rakavy et al. | Jun 1999 | A |
5915001 | Uppaluru | Jun 1999 | A |
5945989 | Freishtat et al. | Aug 1999 | A |
5948069 | Kitai et al. | Sep 1999 | A |
6029200 | Beckerman et al. | Feb 2000 | A |
6044372 | Rothfus et al. | Mar 2000 | A |
6086702 | Plantz et al. | Jul 2000 | A |
6108703 | Leighton | Aug 2000 | A |
6202086 | Maruyama et al. | Mar 2001 | B1 |
6230205 | Garrity | May 2001 | B1 |
6345279 | Li et al. | Feb 2002 | B1 |
6463462 | Smith | Oct 2002 | B1 |
6526335 | Treyz et al. | Feb 2003 | B1 |
6553413 | Leighton | Apr 2003 | B1 |
6611870 | Asano et al. | Aug 2003 | B1 |
6741853 | Jiang et al. | May 2004 | B1 |
6782414 | Xue et al. | Aug 2004 | B1 |
6789108 | McMillan | Sep 2004 | B1 |
6985920 | Pedersen | Nov 2005 | B2 |
6985934 | Armstrong et al. | Jan 2006 | B1 |
7103645 | Leighton | Sep 2006 | B2 |
7139801 | Smith et al. | Nov 2006 | B2 |
7287056 | Loveland et al. | Oct 2007 | B2 |
7299050 | Delaney et al. | Nov 2007 | B2 |
7315526 | Zhang et al. | Jan 2008 | B2 |
7340769 | Baugher | Mar 2008 | B2 |
7353256 | Delaney et al. | Apr 2008 | B2 |
7421476 | Weaver | Sep 2008 | B2 |
7421482 | Armstrong et al. | Sep 2008 | B2 |
7426537 | Lee et al. | Sep 2008 | B2 |
7441047 | Gibbs et al. | Oct 2008 | B2 |
7487157 | Appelstal | Feb 2009 | B2 |
7533187 | Tanumihardja et al. | May 2009 | B1 |
7588014 | Brown et al. | Jul 2009 | B2 |
7574515 | Fontijn et al. | Aug 2009 | B2 |
7653753 | Chen et al. | Jan 2010 | B2 |
7693959 | Leighton | Apr 2010 | B2 |
7747708 | Armstrong et al. | Jun 2010 | B2 |
7783767 | Collazo | Aug 2010 | B2 |
7827314 | Gibbs et al. | Nov 2010 | B2 |
8001187 | Stochosky | Aug 2011 | B2 |
8005345 | Haot et al. | Aug 2011 | B2 |
8060625 | Armstrong et al. | Nov 2011 | B2 |
8064446 | Ramakrishnan et al. | Nov 2011 | B2 |
8073961 | Leighton | Dec 2011 | B2 |
8099343 | O'Neil et al. | Jan 2012 | B1 |
8122128 | Burke, II | Feb 2012 | B2 |
8271617 | Thomson | Sep 2012 | B2 |
8275905 | Xiao et al. | Sep 2012 | B2 |
8295203 | Ramakrishnan et al. | Oct 2012 | B2 |
8417820 | Armstrong et al. | Apr 2013 | B2 |
8429169 | Koopmans et al. | Apr 2013 | B2 |
8553602 | Hargrave et al. | Oct 2013 | B2 |
8577997 | Thomson | Nov 2013 | B2 |
8782281 | Mall et al. | Jul 2014 | B2 |
8799468 | Burke, II | Aug 2014 | B2 |
8843551 | Hayashi | Sep 2014 | B2 |
8843560 | Hayashi | Sep 2014 | B2 |
9465925 | Burke, II | Oct 2016 | B2 |
9641482 | Leighton | May 2017 | B2 |
20020116444 | Chaudhri | Aug 2002 | A1 |
20020129364 | Smith et al. | Sep 2002 | A1 |
20020138601 | Piponius | Sep 2002 | A1 |
20020144154 | Tomkow | Oct 2002 | A1 |
20030008661 | Joyce et al. | Jan 2003 | A1 |
20030032409 | Hutcheson et al. | Feb 2003 | A1 |
20030050975 | Blaylock | Mar 2003 | A1 |
20030072259 | Mor | Apr 2003 | A1 |
20030137401 | Sauer | Jul 2003 | A1 |
20030172120 | Tomkow et al. | Sep 2003 | A1 |
20030191822 | Leighton | Oct 2003 | A1 |
20030225834 | Lee et al. | Dec 2003 | A1 |
20030229549 | Wolinsky et al. | Dec 2003 | A1 |
20030236917 | Gibbs et al. | Dec 2003 | A1 |
20040039781 | LaVallee | Feb 2004 | A1 |
20040093419 | Weihl | May 2004 | A1 |
20040093558 | Weaver | May 2004 | A1 |
20040196842 | Dobbins | Oct 2004 | A1 |
20040199604 | Dobbins et al. | Oct 2004 | A1 |
20040199667 | Dobbins | Oct 2004 | A1 |
20040230657 | Tomkow | Nov 2004 | A1 |
20050004985 | Stochosky | Jan 2005 | A1 |
20050004995 | Stochosky | Jan 2005 | A1 |
20050074100 | Lederman | Apr 2005 | A1 |
20050114412 | Gerhard | May 2005 | A1 |
20050125528 | Burke, II | Jun 2005 | A1 |
20050171832 | Hull et al. | Aug 2005 | A1 |
20050198161 | Rooke et al. | Sep 2005 | A1 |
20050256941 | Armstrong et al. | Nov 2005 | A1 |
20060075108 | Sylvain | Apr 2006 | A1 |
20060140181 | Trumper et al. | Jun 2006 | A1 |
20060143307 | Codignotto | Jun 2006 | A1 |
20060156392 | Baugher | Jul 2006 | A1 |
20060271687 | Alston et al. | Nov 2006 | A1 |
20070005689 | Leighton | Jan 2007 | A1 |
20070005797 | Fontijn et al. | Jan 2007 | A1 |
20070088817 | Li | Apr 2007 | A1 |
20070113179 | Gibbs et al. | May 2007 | A1 |
20070124416 | Casey et al. | May 2007 | A1 |
20070124785 | Marsico | May 2007 | A1 |
20070204064 | Mail et al. | Aug 2007 | A1 |
20070211872 | Cai et al. | Sep 2007 | A1 |
20070255807 | Hayashi | Nov 2007 | A1 |
20080069061 | Baken et al. | Mar 2008 | A1 |
20080104205 | Armstrong et al. | May 2008 | A1 |
20080120344 | Armstrong et al. | May 2008 | A1 |
20080140849 | Collazo | Jun 2008 | A1 |
20080141321 | Kubat et al. | Jun 2008 | A1 |
20080141328 | Weintraub et al. | Jun 2008 | A1 |
20080146342 | Harvey et al. | Jun 2008 | A1 |
20080151130 | Van Gassel et al. | Jun 2008 | A1 |
20080177713 | Armstrong et al. | Jul 2008 | A1 |
20080177893 | Bowra et al. | Jul 2008 | A1 |
20080183584 | Armstrong et al. | Jul 2008 | A1 |
20080205435 | Nahumi | Aug 2008 | A1 |
20080228925 | Armstrong et al. | Sep 2008 | A1 |
20080256170 | Hayashi | Oct 2008 | A1 |
20080256263 | Nerst et al. | Oct 2008 | A1 |
20080256647 | Kim et al. | Oct 2008 | A1 |
20080283221 | Xiao et al. | Oct 2008 | A1 |
20080298321 | Lee et al. | Dec 2008 | A1 |
20080307090 | Pearson | Dec 2008 | A1 |
20090030757 | Admon et al. | Jan 2009 | A1 |
20090046598 | Krishnaswamy et al. | Feb 2009 | A1 |
20090052448 | Ramakrishnan et al. | Feb 2009 | A1 |
20090052449 | Ramakrishnan et al. | Feb 2009 | A1 |
20090158325 | Johnson | Jun 2009 | A1 |
20090169021 | Ushiyama | Jul 2009 | A1 |
20090249401 | Squedin et al. | Oct 2009 | A1 |
20090285123 | Huang et al. | Nov 2009 | A1 |
20090310509 | Kumai et al. | Dec 2009 | A1 |
20100004993 | Troy et al. | Jan 2010 | A1 |
20100198916 | Leighton | Aug 2010 | A1 |
20100199327 | Keum | Aug 2010 | A1 |
20100250733 | Turanyi et al. | Sep 2010 | A1 |
20110149991 | Jiang | Jun 2011 | A1 |
20120033582 | Ramakrishnan et al. | Feb 2012 | A1 |
20120143997 | Leighton | Jun 2012 | A1 |
20120210341 | Burke, II | Aug 2012 | A1 |
20120221662 | Yasukawa et al. | Aug 2012 | A1 |
20130013748 | Leighton | Jan 2013 | A1 |
20130044642 | Ramakrishnan et al. | Feb 2013 | A1 |
20130094666 | Haff et al. | Apr 2013 | A1 |
20130179535 | Baalu et al. | Jul 2013 | A1 |
20130212189 | Velissarakos | Aug 2013 | A1 |
20130227003 | Armstrong et al. | Aug 2013 | A1 |
20130276085 | Sharaga et al. | Oct 2013 | A1 |
20140040959 | Oyman | Feb 2014 | A1 |
20140059248 | Leighton | Feb 2014 | A1 |
20140092006 | Boelter et al. | Apr 2014 | A1 |
20140269671 | Kalkunte | Sep 2014 | A1 |
20150081427 | Burke, II | Mar 2015 | A1 |
20170155654 | Burke, II | Jun 2017 | A1 |
20170237705 | Leighton | Aug 2017 | A1 |
Number | Date | Country |
---|---|---|
1 892 926 | Feb 2008 | EP |
Number | Date | Country | |
---|---|---|---|
20150172420 A1 | Jun 2015 | US |
Number | Date | Country | |
---|---|---|---|
60745252 | Apr 2006 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 11469321 | Aug 2006 | US |
Child | 14629055 | US |