HK1179439B - Advanced content hosting - Google Patents
Advanced content hosting Download PDFInfo
- Publication number
- HK1179439B HK1179439B HK13106843.1A HK13106843A HK1179439B HK 1179439 B HK1179439 B HK 1179439B HK 13106843 A HK13106843 A HK 13106843A HK 1179439 B HK1179439 B HK 1179439B
- Authority
- HK
- Hong Kong
- Prior art keywords
- content item
- instance
- content
- social
- demand
- Prior art date
Links
Abstract
The invention provides an advanced content hosting. A content hosting environment enables content that is to be uploaded to a social network to be distributed and transcoded in an automated and adaptive manner to facilitate or improve content hosting. Content items may be distributed to different locations, such as social devices in a social network, a cloud computing system, or the like, based upon real or projected demand for the content item, user selections, content item properties, or the like. Instances of content items can be transcoded to different formats based upon real or projected demand for the content item, user selections, content item properties, or the like. Distributions and transcodings of instances of content items can be changed due to changed demand, elapse of a period of time, or the like.
Description
CROSS-REFERENCE TO RELATED PATENT/PATENT APPLICATIONS
This application claims priority from U.S. provisional patent application No. 61/545,147 filed on 8/10/2011 and U.S. patent application No. 13/337,495 filed on 27/12/2011, which are hereby incorporated by reference in their entirety and made a part hereof:
Technical Field
The present invention relates generally to social networks and, more particularly, to social networking device member identity, content hosting and storage, resource allocation, and related services and communications.
Background
The popularity and growth of social networking sites and services has increased dramatically over the past few years. Existing social networking sites include Facebook, Google +, Twitter, MySpace, YouTube, LinkedIn, Flicker, Jaiku, MYUBO, Bebo, and the like. Such social networking sites are typically organized around a collection of user profiles and/or content.
In many popular social networks, especially profile-centric social networks, activities are focused on web pages or social spaces that enable members to communicate and share activities, interests, opinions, status updates, audio/video content, etc. via a contact network. The social networking service may also allow a member to track certain activities, collaborations, locations, and connections with previous acquaintances and colleagues of other members of the social network, and establish new connections with other members.
Although social networks are typically composed of individuals, members may also include companies, restaurants, political parties, and event profiles (e.g., personal profile pages accessible by social network members) that are presented in a similar manner as personal members. Personal members typically connect to social networking services through existing network-based platforms via computing devices and/or mobile smartphones. Smartphones and game-based mobile social networking services are other rapidly evolving areas.
In so-called "cloud" computing, computing tasks are performed on remote computers/servers that are typically accessed via a network connection. One benefit of cloud computing is that the relative processing power required by the user device may be reduced (e.g., the cloud computer may load a web page accessed by the tablet and only communicate the required information back to the tablet).
An ever-increasing amount of content and application software migrating from local or live storage to cloud-based data storage and management has also been witnessed in recent years. The functions/services and content of such software are typically available on demand via a (virtualized) network infrastructure.
In traditional social networks, content hosting typically employs a very simple location or area based approach. Furthermore, load balancing, including content hosting, is typically done by the server based on traffic considerations.
Furthermore, the power infrastructure is typically designed for peak power consumption and is generally required to accommodate the highest capacity demand. However, peak demand typically occurs over a relatively short duration and it is difficult to predict when a peak/trough will occur. The over-provisioning resources to meet the short term high demand may prove too expensive for many systems.
Disclosure of Invention
The present invention provides an apparatus comprising: a memory; and processing circuitry interoperable with the memory and configured to: storing at least one instance of a content item (itemofcontent) for distribution (distribution) in a first location through a social network; occasionally determining a demand level for the content item, the demand level determined based at least in part on a frequency of accessing the content item being requested by a member of the social network; in response to the level of demand exceeding a first threshold level, distributing at least one additional instance of the content item to at least a second location; and removing additional instances of content from the at least second location in response to the demand level being below a second threshold.
In the above apparatus, the processing circuit is further configured to: in response to predicting that the level of demand will exceed the first threshold level, distributing at least one instance of the content item to the social network to be stored on a plurality of other devices associated with the social network, each of the plurality of other devices storing at least one instance of the content item.
In the above apparatus, the processing circuit is further configured to: in response to predicting that the demand level will exceed the first threshold level, distributing at least one instance of the content item to the social network to be stored on a cloud computing network; and distributing at least one instance of the content item to be stored on an external local server node in response to the demand level being expected not to exceed the second threshold level.
In the above apparatus, the at least one instance of the content item stored on the cloud computing network is a low quality instance and the at least one instance of the content item stored on an external local server node is a high quality instance.
In the above apparatus, the processing circuit is further configured to: in response to a passage of a period of time, limiting, by at least one member of the social network, access to at least one instance of the content item.
In the above apparatus, the processing circuit is further configured to: transcoding the at least one additional instance of the content item to a low-quality format in response to the level of demand exceeding a first threshold level.
In the above apparatus, the demand level comprises an amount of downloading of the content item over a period of time.
The present invention also provides an apparatus comprising: a memory; and processing circuitry interoperable with the memory and configured to: obtaining historical activity data associated with at least one member of a social network, the historical activity data comprising historical interactions of the at least one member with at least one other member of the social network; and selecting at least one network node to enable a connection between the at least one member and other members of the social network based on the historical activity data.
In the above apparatus, the at least one network node is a server node local to the apparatus.
In the above apparatus, the historical activity data is obtained via real-time data mining of information associated with the at least one member.
In the above apparatus, the processing circuit is further configured to: in response to determining, based on the historical activity data, that the activity of the at least one member on the social network exceeds a threshold, selecting at least one network node to provide a high bandwidth connection between the at least one member and the at least one other member of the social network.
The present invention also provides an apparatus comprising: a memory; and processing circuitry interoperable with the memory and configured to: receiving a notification that a user desires to upload at least one content item to a social network; in response to receiving the notification, collecting information associated with the at least one content item; determining an importance level assigned to the at least one content item; and transcoding a copy of the at least one content item to a first format based on the importance level assigned to the at least one content item.
In the above apparatus, the information associated with the at least one content item comprises a user-provided indication of a desired storage location for at least one instance of the at least one content item.
In the above apparatus, the information associated with the at least one content item comprises content metadata.
In the above apparatus, the importance level assigned to the at least one content item comprises an expected demand for the at least one content item, and the first format is a low quality format.
In the above apparatus, the processing circuit is further configured to: transcoding an instance of the at least one content item to a high quality format in response to determining that projected demand for the at least one content item is high; and transcoding the instance of the at least one content item to a low-quality format in response to determining that the projected demand for the at least one content item is low.
In the above apparatus, the processing circuit is further configured to: re-transcoding the instance of the at least one content item to a second format in response to determining that the information associated with the at least one content item has been updated.
In the above apparatus, the processing circuit is further configured to: storing a low-quality instance of the at least one content item on a network node, the low-quality instance being immediately accessible to members of the social network; and storing a high quality instance of the at least one content item on a device, the high quality instance accessible to members of the social network based on a demand for the high quality instance of the at least one content item.
In the above apparatus, the processing circuit is further configured to: deducting (debit) an account associated with at least one member of the social network in response to receiving notification that at least one instance of the at least one content item has been accessed by the at least one member.
In the above apparatus, the processing circuit is further configured to: in response to receiving a notification that at least one instance of the at least one content item has been accessed by at least one other member of the social network, credit (credit) an account associated with the user.
Drawings
Fig. 1 and 2 are schematic diagrams illustrating communication systems according to various embodiments of the present disclosure;
FIG. 3 illustrates an embodiment of a social network according to various embodiments of the present disclosure;
FIG. 4 illustrates member identity and access of social devices in a social network according to various embodiments of the present disclosure;
FIG. 5 illustrates a social device according to various embodiments of the present disclosure;
FIG. 6 illustrates an embodiment of a network according to various embodiments of the present disclosure;
FIG. 7 illustrates an embodiment of a network according to various embodiments of the present disclosure; and
fig. 8 is a flow chart according to an embodiment of the present disclosure.
Detailed Description
As used herein, the terms "social network" and "SNET" include a grouping or social structure of devices and/or individuals, as well as connections, links, and interdependencies between such devices and/or individuals. Members or participants (including devices) within or affiliated with the SNET may be referred to herein as "nodes," social devices, "" SNET members, "" SNET devices, "" user devices, "and/or" modules. Furthermore, the terms "SNET circle," "SNET group," and "SNET sub-circle" generally refer to the SNET that includes SNET devices as well as personal SNET members and Personal Area Networks (PANs) that are suitable for a particular environment.
Fig. 1 and 2 illustrate various embodiments of communication systems 100 and 200, respectively. In such a communication system, signals are transmitted between various communication apparatuses. The primary goal of digital communication systems is to transfer digital data from one location or subsystem to another location or subsystem without error or with an acceptably low error rate. As shown in fig. 1, data may be communicated via various communication channels (magnetic media, wired, wireless, optical fiber, copper cable, and other types of media) in a wide variety of communication systems.
Referring first to fig. 1, an embodiment of the communication system 100 is a communication channel 199 that communicatively couples a communication device 110 (including a transmitter 112 having an encoder 114 and including a receiver 116 having a decoder 118) located at one end of the communication channel 199 to another communication device 120 (including a transmitter 126 having an encoder 128 and including a receiver 122 having a decoder 124) located at the other end of the communication channel 199. In some embodiments, either of the communication devices 110 and 120 may include only a transmitter or a receiver. There are several different types of media through which communication channels 199 may be implemented (e.g., satellite communication channel 130 using satellite antennas 132 and 134, wireless communication channel 140 using towers 142 and 144 and/or local antennas 152 and 154, wired communication channel 150, and/or fiber optic communication channel 160 using electro-optical (E/O) interface 162 and electro-optical (O/E) interface 164). Further, more than one type of media may be implemented and connected together to form communication channel 199.
To reduce transmission errors that may undesirably occur within a communication system, error correction and channel coding schemes are typically employed. Generally, these error correction and channel coding schemes include the use of an encoder on the transmitter side of communication channel 199 and a decoder on the receiver side of communication channel 199.
Any of the various types of ECC codes described may be employed in any such desired communication system (e.g., including those variations described with reference to fig. 1), any information storage device (e.g., Hard Disk Drive (HDD), network information storage device, and/or server, etc.), or any application where information encoding and/or decoding is desired.
In general, when considering that social media (media) content and other data is transmitted from one social network, location, or subsystem to the communication system of another social network, location, or subsystem, video data encoding may generally be considered to be performed on the sending end of communication channel 199, and video data decoding may generally be considered to be performed on the receiving end of communication channel 199.
Furthermore, although the embodiments of this figure show that bi-directional communication is possible between communication devices 110 and 120, it is of course noted that in some embodiments, communication device 110 may include only video data encoding capabilities and communication device 120 may include only video data decoding capabilities, or vice versa (e.g., in embodiments such as unidirectional communication according to a video broadcast embodiment).
Referring to communication system 200 of fig. 2, at a transmit end of communication channel 299, information bits 201 (e.g., corresponding in particular to video data in one embodiment) are provided to a transmitter 297, which transmitter 297 is operable to perform encoding of these information bits 201 using an encoder and symbol mapper 220 (which may be viewed as distinct functional blocks 222 and 224, respectively) to generate a sequence of discrete-valued modulation symbols 203 that are provided to a transmit driver 230 that generates a continuous-time transmit signal 204 using a DAC (digital-to-analog converter) 232 and a filtered continuous-time transmit signal 205 (substantially coincident with communication channel 299) using a transmit filter 234. At the receiving end of communication channel 299, continuous-time received signal 206 is provided to AFE (analog front end) 260, AFE260 including receive filter 262 (which generates filtered continuous-time received signal 207) and ADC (analog-to-digital converter) 264 (which generates discrete-time received signal 208). Metric generator 270 computes metrics 209 (e.g., on a symbol and/or bit basis), which metrics 209 are used by decoder 280 to make the best estimate 210 of the discrete-valued modulation symbols and the information bits encoded therein.
Any desired integration of the various components, blocks, functional blocks, circuits, etc., within each of the transmitter 297 and receiver 298 may be achieved therein. For example, the figure shows that processing module 280a includes encoder and symbol mapper 220 and all associated respective components therein, and that processing module 280 is shown as including metric generator 270 and decoder 280 and all associated respective components therein. Such processing modules 280a and 280b may be respective integrated circuits. Of course, other boundaries and groupings can alternatively be made without departing from the scope and spirit of the present disclosure. For example, all components within the transmitter 297 may be included in a first processing module or integrated circuit, and all components within the receiver 298 may be included in a second processing module or integrated circuit. Alternatively, in other embodiments, any other combination of components within each of the transmitter 297 and receiver 298 may be made.
As with previous embodiments, such a communication system 200 may be employed for communicating social media content and other data from one social network, location, or subsystem to another (e.g., from a transmitter 297 to a receiver 298 via a communication channel 299).
Referring now to fig. 3, a social network circle/group 300 (hereinafter referred to as a "SNET circle") is shown that includes social devices 302. In addition to traditional social networking features and services, SNET circle 300 and related social devices 302 according to various embodiments of the present disclosure include many new features and attributes, as described more fully below with general reference to the figures.
Briefly, the membership identities in the SNET circle 300 may include a docked social device (dockedscialdevice) 302 (an embodiment described in connection with fig. 5) and individual SNET members 304 and their agents. Further, the nodes of SNET circle 300 may include various types of device services and software (e.g., application software) that participate as members. By way of example, SNET members may include artificial intelligence agents/social bots 306, SNET security devices 308, appliances, vehicles and service providers 310, common or authorized members/functions of other SNET circles 312, and the like. In addition, access to specific content and resources of the SNET circle 300 may be shared with members of other SNETs 314 (including remote or Web-based applications). Such access may be conditioned on acceptable analysis and related data. Similarly, a social device or individual may also be granted temporary or ad hoc membership with or without restricted access.
In the illustrated embodiment, the formation, maintenance, and operation of SNET circle 300 is performed by individual or distributed SNET processing circuitry and software 316. It is noted that "SNET processing circuitry" may comprise hardware, software, applications, or various combinations thereof, and may be configured to support the various functions disclosed herein. Further, SNET processing circuitry 316 may be included in a separate server, cloud-based resources, and/or various types of devices described below, in conjunction with authentication and security functions 318. Furthermore, proprietary middleware may also be used by SNETs according to the present disclosure, including standardized middleware with associated authentication processes. Interactions and interdependencies within SNET circle 300 may include one or more of a social device association/control module 320, a SNET membership configuration module 322, and an adaptive resource allocation and arbitration module 324, as described more fully below.
Distribution of the internal and external SNET content/media 326 may be accomplished in various ways according to various embodiments of the present disclosure. For example, media distribution may include an adaptive or parallel network routing infrastructure that includes a wide variety of communication protocols and wired and/or wireless communication channels. SNET content/media 326 may include, for example, various user-driven (advertising) channels, pictures, videos, links, online text, and the like. Access to these content, as well as communication with and remote access to the social devices 302 of the SNET circle 300, may occur via the internet backbone 328, a cellular communication system, WAN, LAN, etc.
FIG. 4 illustrates various embodiments of social device membership and accessibility in a social network circle/sub-circle according to the present disclosure. In this embodiment, the membership in SNET circle 410 may be extended to cover both public and private social devices and equipment. For example, in a SNET circle 410 that includes personal members 406/408, each personal member may have a respective personal SNET sub-circle 400a/400b of the associated or docked social device 406/408 that can participate in the SNET circle 410 independently or collectively. The SNET sub-circle may be locally or remotely accessible by personal member 406/408 and/or other SNET circle/sub-circle members by various means, such as clicking on an icon or label associated with the personal member/personal sub-circle.
Although SNET sub-circles 400a and 400b are shown as separate sub-circles, such sub-circles may instead comprise a single SNET circle or sub-circle, or any number of other SNET circles and/or sub-circles, each of which may include various combinations of social devices 402/404. In addition, SNET processing circuitry and software 412 in the illustrated embodiment manages the formation and operation of SNET loop 410. The SNET processing circuitry and software 412 may be incorporated into a separate server, social device, and/or cloud-based resource. The SNET circle 410 may be persistent or of limited duration and include specific and/or static associations.
Exemplary social devices 402/404 may be broadly divided into: (i) a social device 402 that includes a user or SNET circle interface sufficient to provide meaningful input for SNET interaction, and (ii) a social device 404 that supports minimal or no user input related to SNET interaction. More specifically, but not by way of limitation, the first category may include computers, tablet devices, IPTV set-top boxes, smart phones, servers, laptops, cloud books, network attached storage devices, game consoles, media players/sources, communication nodes (access points, routers, switches, gateways, etc.), user interface devices, Power Line Communication (PLC) devices, and the like. Such social devices may receive user input for SNET installation and management. The second category may include, without limitation, printers, projectors, digital and video cameras, scanners, speakers, headsets, smoke detectors, alarm systems, cameras, mice, etc., and in general, docked social devices include any electronic device that may be operatively coupled to or docked in SNET circles/sub circles via a wired or wireless path to participate as a SNET member.
It is to be understood that by interfacing with social devices, members of SNET circle 410 may obtain remote control and interaction of all or part of such devices via an authorized member SNET account. For example, family members authorized to participate in a "family" SNET circle may remotely access the docked social devices via one or more related SNET accounts.
In some embodiments, the behavioral aspects of people using social networks are examined to predict demand. If the usage information is available and predictable, certain elements of the infrastructure (hosts, ports, drives, etc.) may be rebalanced/relocated. This in turn may allow for energy savings. Rebalancing may include peaks in real-time dynamic response prediction, e.g., response events. Rebalancing may also be a factor in location, travel patterns, and the like.
In some embodiments, the data center and communication infrastructure are adapted to this usage pattern. If the administrator determines that the member's account is active, downloading media, etc., this information may be used to reprogram or reorganize the policy, for example, at the chip and/or port level, in response to current usage realities. For example, if a user (or group of users) moves from office to home, the infrastructure may be rebalanced for the account that moved. In some embodiments, the aforementioned energy usage paradigm may be applied to "pay-per-click" and similar advertisements. The relevant usage patterns may be based on, for example, the number of clicks (or actions), the frequency of usage on a per person basis, and/or the frequency of usage by the general population over a given time.
In some implementations, where members can toggle back and forth between devices while interacting with one or more media clouds and social networks, a "view" corresponding to a pause in content distribution is re-established. In conjunction, content may be redistributed on the infrastructure side based on where it is likely to be consumed. Versions of the content may also be utilized (e.g., if of low quality in another region, transcoded pictures and video, etc.). In addition, server farms (farm) located in different areas may replicate content in multiple servers (but perhaps at different quality levels or on a partial basis). Location-based access rights may also be utilized. Further, a global account configuration instance may be retained such that all or a group of users' social devices may be configured to utilize the subscribed services.
Fig. 5 is a schematic block diagram of an exemplary social device 500 that includes full functionality operable to support social network circle/sub-circle membership and communication in accordance with the present disclosure. In the illustrated embodiment, the communication interface and transceiver circuitry 502 is operable to perform wired or wireless communication between the social device 500 and the SNET circle/sub-circle 522 via one or more communication channels. Depending on the function and configuration of the social device 500, communication with the SNET may be unilateral or bi-directional/interactive and utilize a proprietary or standardized communication protocol.
The social device 500 also includes processing circuitry 504 operable to process and manage communications, services, and associations between the device and other entities, including elements of the SNET circle 522, third parties, software agents, and the like. More specifically, the processing circuitry 504 may include, for example, a software management application 512 that includes one or more docking logic 514, communication protocol control 516, and security/authentication functionality 518.
Social device 500 may also take a variety of forms and remain in static or dynamic memory for use. Such profile information can enable the social device and/or user 501 to present their own images and capabilities to other members of the SNET. As described more fully below, the device and user profile information 506 and 508 may be used in various ways in accordance with the present disclosure to facilitate various social interactions. The device or user profile may be static or dynamic, depending on the capabilities and requirements of the particular device (and other members of the SNET).
In some embodiments, the social device 500 may interact with the user 501 via the user interface circuitry 510. User input to the social device 500 may include data input, such as through a keypad, touch screen, remote control device, game controller, device control buttons, voice or gesture commands, storage device, and the like. Authorized access or control of social device 500 may be facilitated by a unique biometric, password, token-based identification, trusted authority or document (such as a driver's license or passport), and similar means of identity verification.
The social device 500 may perform core or underlying functions 520, various examples of which are described herein. Alternatively, the social device may act primarily as a social network interface or communication device, or may be programmed to perform specific functions within a SNET circle/sub-circle.
In traditional social networks, content hosting typically uses very simple location or area-based approaches. In some embodiments according to the present disclosure, a content hosting environment/service is provided that spans between cloud computing networks or social networks, intermediate server nodes, social devices, and the like. In some embodiments, such hosting services may be adaptive and automated (automated) with or without member knowledge or interaction.
For example, recent SNET social content may be accessed more frequently than older content. In addition, some published content may generate little interest, while others will generate volume access and download (volumeacesssanddownload). Based on these and/or other such considerations, SNET access to social content according to the present disclosure (e.g., through group or circle membership including individuals and devices) may be limited to homes, local groups, areas, or across different continents. A Web service that mimics or enhances the functionality of a downloaded/native application may be employed to facilitate or improve social media hosting.
According to another embodiment that provides adaptive content hosting based on actual and/or predicted demand, changing demand for media and/or media storage is used as a basis to establish future content hosting migration and start locations. Newer or increasing demand, as well as demand characteristics of previously relevant content, may be used to foster adaptive content hosting.
In particular, posting media content to a social network (e.g., Facebook) may result in changing the storage of such content over time based on user settings, interests (access rates), content size, pricing, node availability, and the like. Such content, if popular, may be replicated multiple times on various cloud computing centers around the world. Over time, demand may decline and only a single copy remains in one computing center. As time progresses further and demand drops to very low levels, cloud replicas may drop and be served by external local server nodes (e.g., STB servers, client devices, etc.) and maintained by publishers (posters). New events may raise new interest that causes replication to at least one single cloud computing center. Alternatively, a relatively low quality rendering of the content may be hosted in the cloud, with the original content stored locally. Selective DRM, and behind-the-scenes "push-to-talk" of content may be employed, if desired. In addition, network resources may be reallocated as needed to support the above actions.
In another embodiment, after the initial upload, an automatic predictable and/or user selectable adaptive transcoding is performed on the specific social content. The persistence capability may be employed to accommodate lower and higher resolution transcoding. Storing and transmitting user content can be resource intensive, especially for users sharing large amounts of content. However, not all content is equally established. Some items are material whose quality is very important, such as new songs that the user is trying to sell, or videos that capture special events. On the other hand, quality is not very important for other content (such as pet videos). The actual and predicted demand for such uploaded content is considered for the purpose of transcoding. Further, the capabilities of a predetermined media player device or the like may be considered.
Other considerations and applications may be used in various embodiments of the present disclosure (including, for example, actual and predicted content needs, intended uses, and user desires) to determine (a) where to host content (cloud and/or home _ closed); (b) instance number of the hosted copy; and (c) whether to transcode the content into one or more suitable formats and/or resolutions (accounting for conditional access requirements). In addition, the user may be allowed to override (self-select) a certain amount of content shared at the highest quality level required, as well as the rest of the published content (if any) shared at a lower quality level. The uploading of different versions of content for different usage patterns, etc., and the docking status of the social device may also affect the transcoding and/or delivery of the content. A configuration menu may also be provided to allow certain content to be marked for improved processing (if available).
Alternatively, the user may choose to pay for the distribution of higher quality content-above or always at a certain threshold. Further, a pay-per-click mode may be implemented. For example, a user may pay a certain amount each time an item of published content (e.g., a song) is shared. The advertising mode may also be extended to shared content including audio/video, pictures, text files, etc.
Storage of the original content or a high quality version thereof may not only be present on the original source device, but may also be transferred to an intermediate node (e.g., gateway or STB) to support post-adaptation where higher resolution/quality should be desired. Instant access may be provided using a burst upload of one or several images or videos in low resolution mode. Thereafter, the higher quality version may be uploaded in a relatively slow or alternative manner (perhaps in the background and due to demand).
Fig. 6 shows a schematic diagram according to an embodiment of the present disclosure. Social Network (SNET) circle 600 may include a server 602, one or more social devices 604 and 606, and the like. Information related to the SNET circle 600 (including, but not limited to, information related to one or more membership accounts 610, profile configurations, etc.) may be stored in the SNET server 602, one or more social devices 604 and 606, a separate device, some combination thereof, and/or the like. SNET circle 600 may be linked to other devices on other networks. For example, SNET server 602 or some other one or more devices in SNET circle 600 may be linked to cloud computing network 612. The cloud computing network may include one or more devices (including, but not limited to, one or more servers 614).
In some implementations, an instance of the content item 603 can be uploaded to one or more devices on the SNET circle 600. For example, a user of social device 604 may receive an instance of content item 603 at social device 604, SNET server 602 may receive an instance of content item 603 from a device that is or is not within SNET circle 600, some combination thereof, and so forth. Upon receiving a notification that a member of the SNET, including but not limited to a user or social device, desires to upload one or more instances of the content item 603 to the SNET circle 600, in some implementations, one or more devices in the SNET circle 600 can determine how to distribute and transcode the instances of the content item 603. Such a determination may be made based on information associated with the content item, one or more devices, servers, users, etc. in SNET circle 600, other networks 612 and devices therein, some combination thereof, and the like. For example, upon receiving a notification that a user desires to upload or post an instance of the content item 603 to the SNET circle 600, the social device 604 may determine a demand level for the instance of the content item 603. This level of demand may be historical demand for other instances of the content item or similar content items, actual demand for instances of the content item, predicted future or likely demand for instances of the content item, some combination thereof, and so forth.
In some implementations, factors for determining demand include, but are not limited to, network traffic associated with a source user, device, etc. from which an original instance of the content item 603 was received, historical network activity or traffic associated with similar content items or instances of content items, downloads of content items over a period of time, types of content items, metadata associated with content items, information manually provided via user input, importance levels assigned to content items by users or devices, possible durations of a level of demand, some combination thereof, and so forth. The demand level may be quantified as a value and compared to a threshold, such that a demand level meeting, exceeding, or similar to the threshold is identified as a "high" demand, and otherwise a "low" demand. Information used to determine the level of demand can be received, solicited, or not solicited at the device from a user interface as metadata for the content item from a SNET membership account profile 610 associated with one or more users, devices, or the like, some combination thereof, or the like.
In some implementations, upon determining a level of demand or some other performance associated with an instance of content item 603, one or more devices in the SNET distribute the instance of content item accordingly. For example, when the social device 604 determines that an instance of the content item 603 will have high demand, the social device 604 may store or host an exact copy or instance 605 of the content item 603 on the social device 604. The instance 605 may be stored in memory or the like. Further, the social device may distribute other instances of the content item 603 to other devices 606 in the network (including, but not limited to, SNET server 602, network nodes, etc.). The social device 604 may also distribute one or more instances of the content item 603 to other networks. For example, in response to determining that the demand level for the instance of the content item 603 is high, the social device 604 may distribute the instances of the content item for storage or hosting on the cloud computing network 612, devices 614 in the network, and so on.
In some implementations, one or more instances of content can be created by copying instances of the content item 603. This creation may occur on one or more devices 604, 606, and 602 in SNET circle 600. One or more instances of the content item 603 may be transcoded into one or more different formats, configurations, etc. Such transcoding can be facilitated by a transcoder 608 (which can be located on one or more devices in SNET circle 600, or on a separate network). Transcoding may be based on user input, internal logic of one or more devices in SNET circle 600, and the like. For example, in response to determining that demand for an instance of the content item 603 may be high, the social device 604 may forward the instance of the content item 603 to the SNET server 602 to be copied and transcoded into one or more instances of the content item 603 having one or more different formats or configurations (including, but not limited to, a high-quality format, a low-quality format, etc.). Such instances may be distributed according to their single format, user input, or some other logic. For example, social device 604 may indicate SNET server 602, or SNET server 602 may decide to distribute low-quality instances of content item 603 according to its own logic to be hosted or stored at different locations, including but not limited to on a device (including but not limited to server 614 in a separate network such as cloud computing network 612). Alternatively, SNET server 602 may distribute high quality instances of content items for storage or hosting on one or more devices 604 and 606 in SNET circle 600, such as on a source device from which an instance of content item 603 was initially received.
In some implementations, devices in SNET circle 600 may distribute instances of content item 603 to transcode on a separate network, one or more devices on a separate network, etc., and return to one or more devices in SNET circle 600. For example, in response to determining that demand for content item 603 may be high, SNET server 602 may distribute instances of content item 603 to cloud computing network 612. Upon receiving an instance of the content item 603 in the cloud computing network, a transcoder 616 in the cloud computing network (which may or may not be located in a server 614 within the cloud computing network) may transcode one or more instances of the content item 603 according to instructions provided by the SNET server 602, the social devices 604, user input, internal logic, some combination thereof, and/or the like. For example, the SNET server 602 may instruct the transcoder 616 to transcode the high-quality instance of the content item 603 and the low-quality instance of the content item 603. In some implementations, at least one instance of transcoding in the separate network is distributed back to the SNET circle from which the instance of the content item 603 was originally received. For example, after high-quality instances and low-quality instances of transcoded content items 603 as discussed above, one or more devices in cloud computing network 612 may distribute one or more high-quality instances of content items 603 back to SNET circle 600 for hosting or storage on devices in the SNET circle, including but not limited to social devices 604, SNET server 602, etc., while one or more low-quality instances of content items 603 are stored or hosted in cloud computing network 612. The device in SNET circle 600 to which the transcoded instance of content item 603 is distributed from cloud computing network 612 may or may not be the device that initially received the instance of content item 603 from a user, a separate device, or the like.
In some implementations, one or more devices can monitor an instance of the content item 603 to determine whether information associated with the instance has changed. Such monitoring may be done continuously, periodically on a schedule, randomly, occasionally, some combination thereof, and so forth. If a change in information associated with the instance is detected, one or more devices may decide to change the manner in which one or more instances of the content item 603 are hosted or stored based on internal logic, user input, or the like. For example, in response to determining that the demand for instances of content item 603 has fallen below a certain threshold, the SNET server may command the removal of all low-quality instances of content item 603 currently stored or hosted on other network 612, and that only one or a few instances of content item 603 are stored or hosted in SNET circle 600 on one or more selection devices. Such a selection means may be the source device 604 from which the instance of the content item 603 was originally received, a server 602 local to the source device 604, a network node, etc. The remaining instances of the content item 603 may simply be in a high-quality format, a low-quality format, the same format as the original instance of the content item 603, some combination thereof, and so forth. Alternatively, in response to determining that the demand for the instance of the content item 603 has risen above a threshold (which may or may not be the same threshold), the social device 604 may copy and transcode the low-quality format instance of the instance 605 currently hosted on the social device 604 for distribution to other devices within and outside the SNET circle 600.
In some implementations, the hosting of an instance of a content item may be changed in response to other factors or some combination thereof. Such changes may be made in response to a triggering event. In some implementations, one or more devices in SNET circle 600 may respond to the trigger event by restricting access to one or more instances of content item 603. The access restriction may be to prohibit access to certain instances of certain formats by entities that are not members of the SNET, prohibit access to any instances by certain types of entities, remove some or all instances of the content item 603 from the SNET603 or some other network 612 altogether, some combination thereof, and so forth. In some implementations, in response to the passage of a predetermined period of time since some action, one or more devices in the SNET may downgrade (download) an instance of the content item 603 such that instances of the content item 603 hosted on one or more different devices are removed or commanded to be deleted, and the remaining instances of the content item 603 are hosted on the selected device or devices, all removed from the SNET circle 600, and so on. This time period may be predetermined for all instances of some or all types in SNET circle 600, a value provided by a particular device or user input, a portion of metadata associated with content item 603, and so forth. This period of time may encounter certain actions, such as when a device in SNET circle 600 first receives an instance of content item 603, when a device in SNET circle 600 first receives a notification that an instance of content item 603 needs to be uploaded or published into SNET circle 600, some combination thereof, and so forth.
In some implementations, SNET accounts, profiles, etc., associated with social devices, SNET users, other devices, some combination thereof, etc., may be hosted or stored in one or more different locations. For example, a SNET profile associated with a SNET member account 610 may be stored, cached, etc. in part, in whole, etc. on the SNET server 602, the social device 604, some other device, etc. SNET accounts, profiles, etc. may also be stored in devices outside of the network to which they are associated. For example, information associated with SNET account 610, profiles, etc. for SNET600 may be stored in a device (including, but not limited to, server 614) on cloud computing network 612.
In some embodiments, dynamic load balancing uses SNET/circle membership accounts and profiles. Typically, such load balancing has been performed by the servers based on traffic considerations. Dynamic load balancing, monitoring member releases and uploads that may result in a significant increase in SNET/round robin traffic, and other considerations such as those described herein may be performed based on indications and/or predictions of member activity (e.g., when is the user and associated nodes most active.
For example, the SNET processing circuitry/software may select one or more local nodes to serve individual members based on historical interactions and friends/groups of the members. Instead of today's fixed, planar models, hierarchical, distributed, and adaptive models are considered. Service level application environments, real-time data mining, etc. are also contemplated. Further, users that are highly active may be paired in one or more service mechanisms to optimize performance, reduce data transmission, and the like. As the association between users changes, the virtual communities may be rearranged.
Fig. 7 illustrates an embodiment of a network 700 that utilizes dynamic load balancing. The illustrated embodiment of network 700 includes servers 710, 720, and 730, which connect to social devices 714, 713, 722, and 732, respectively. Social devices in network 700 may be able to link 740 directly with any server or social device in network 700, indirectly through a server via route 750, and so on. Each server 710, 720, and 730 in network 700 may have access to information about other server or servers, social devices, etc. in the network. For example, server 730 may be capable of accessing information associated with social device 712 including, but not limited to, a download rate of content on network 700 or other networks, a most likely network access schedule of social device 712, most likely other social devices to which social device 712 may attempt to link in a network access session, a type of content social device 712 is most likely to attempt to access or download, and so forth.
As shown in the illustrated embodiment, the server 730 may receive an instance of the content item 704, which may be received directly from the user or directly via the social device 732. Instances of content items 704 may be stored at one or more different locations in network 700 based on indications of network traffic, user preferences, and the like. For example, based on account information, profile information, etc. associated with the social devices 712, 713, 732, and 722, the server 730 may determine that the social devices 712 and 713 are most likely to access more instances of the content item 704 than any other social device in the network 700. Thus, the server 730 may distribute the instances 714 of the content items 704 for storage on the server 710, and in some embodiments, the server 710 may be selected by being the geographically closest server, the most direct or fastest connection to the social devices 712 and 713, some combination, and so on, as being the most local server. Distributed instances 714 of content items 704 stored or hosted on servers 710 may reduce traffic between servers caused by social devices 712 and 713 attempting to access instances of content items 704. The decision of where to distribute instances of content items 704 may be made by social device 732, server 730, multiple servers, some combination thereof, and so forth.
In some implementations, instances of content items may be distributed for storage on social devices (including, but not limited to, a source of the content items, some other device, etc.). For example, the server 730 may determine, based on network traffic information, user account information, device account information, etc., that the social device 722 will likely attempt to access instances of the content item 704 often enough to confirm that the distributed instances 724 of the content item 704 are stored on the social device 722. In embodiments where the instance 714 of the content item 704 is stored on the server 710, it may be more meaningful to store the instance 724 on the social device 722 without requiring the social device 722 to link the server 710 to access the instance 714. Moreover, it may be more meaningful to store instance 714 on server 710 without requiring social device 712 to link directly, indirectly, etc. with social device 722 to access instance 724.
In some implementations, one or more social devices or servers in the network 700 may access information associated with network traffic and device or user accounts to determine the best links for devices in the network 700. For example, server 720 may access information associated with social device 712 and determine that social device 712 may be directly linked 740 to server 720 instead of indirectly linked 750 because most of the social device 712's network traffic involves accessing content on server 720, accessing or communicating with social device 722, some combination thereof, and so forth. In some embodiments, such links may be specialized with respect to other network links, including but not limited to having higher bandwidth than other links. Information associated with social device 712 may include, but is not limited to, a network access history of a device or user typically associated with the device, a user or device account describing the network access history or habits, a download history, some combination thereof, and the like. In some other implementations, server 720 may establish a direct link 740 with social device 712, where social device 712 determines that direct link 740 will have different properties than indirect link 750, including, but not limited to, faster connection speed, higher bandwidth, and the like.
In some implementations, one or more instances of a content item may be stored or hosted at one or more different locations based on a geographic location, area, region, etc. in which the instance was uploaded to the network. For example, a user of the social device 732 may typically reside at a first geographic location, such as dallas, texas, such that content typically uploaded to the network 700 by the user of the social device 732 is stored or hosted on the server 710 based on the server 710's geographic proximity to the social device 732. In this example, when a user of the social device 732 travels with the device 732 through a germany area in the network 700 where devices in the network 700 are typically served by the server 730, an instance of the content item 704 uploaded to the network 700 by the social device 732, its user, etc. may be hosted or stored on the server 730, rather than being transmitted to be stored or hosted on the server 710 that is traditionally used by users of the social device 732. In this manner, instances of content items 704 uploaded to some or all of the network 700 from a certain geographic area, region, location, etc. may be hosted or stored in this manner (which is optimized to access the instances from the same or other proximate geographic location, region, etc.). For example, in the above example, media content items uploaded to the network 700 from germany may be stored or hosted on a server 730, the server 730 providing optimal access (as determined by access time, traffic, latency, etc.) to users of the network 700 located in germany. This may enable the user of the social device 732 to better access instances of the content item 704 uploaded to the network 700 while the user is still in germany, thereby enabling local residents in germany to better access locally uploaded content, and the like.
In some implementations, content stored or hosted at one or more locations may be copied, transferred, etc. to one or more other locations based on changes in network access habits, network users, etc. of one or more social devices. For example, continuing on the network user's trip to germany discussed above, after the trip is over and the user returns dallas, texas, one or more instances of content item 704 uploaded to network 700 while the user is in germany (which may be stored or hosted on a storage or host server 730, which server 730 is optimized for accessing instances of content item 704 by users of network 700 located in germany) may be sent to server 710 upon determining that the social device, which is the source of the instance of content item 704, the user of social device 732, some combination thereof, etc., is now located at a geographic location, area, zone, etc. where server 710 is the best storage or hosting location. This determination that the social device 732, its user, etc., has moved to a different location may be determined by network traffic, access habits by the social device 732 or its user, some combination thereof, and so forth. In some implementations, one or more instances of the content item 704 may remain at the first location, be deleted at the first location, etc. after being transferred from one location to another. For example, after the social device 732 and its user return dallas, texas, a high-quality instance of the content item 704 may be transferred from the server 730 to the server 710 while a low-quality instance of the content item 704 is still stored or hosted on the server 730.
In some implementations, a geographic location, area, region, etc. for which an optimized location is selected to store or host one or more instances of a content item may be determined based on characteristics, information, etc. associated with the instances of the content item. For example, an instance of a photograph uploaded to server 720 from social device 722 may include information associated with the photograph indicating that the photograph was taken in germany. Based on analysis of this information by social device 722, server 720, some other server or device, some combination thereof, or the like, one or more instances of the photograph may be transferred to server 730, server 730 being the best storage or hosting location for the instance of the content item to be accessed by the german network user, device, or the like. For example, where the photograph was taken in germany but uploaded to server 720 that is optimal for italian access, server 720 may be a means to transfer one or more instances of the photograph to server 730 for optimal german access to the photograph.
The information associated with the content item may include, but is not limited to, metadata created by the content item source device that created the content item, some other device, etc., indicating the geographic location, area, region, etc. in which the content item was created. The geographic location, region, zone, etc. may be determined from network information, a GPS application, some combination thereof, etc. In some implementations, the information indicates a geographic location, region, zone, etc. associated with the content item, which is used to communicate one or more instances of the content item to a storage or hosting location optimized for access from the same or similar location. As discussed above, this information may include metadata, characteristics of the content item, and the like. The features may include, but are not limited to, textual information providing an indication of a geographic location, area, region, etc. For example, a photograph taken in munich, germany may include logos, terrain, text, structures, landmarks, some combination thereof, etc. in the photograph image, where a device including the social device 722, the server 720, some other device, some combination thereof, etc. may analyze to determine that the photograph was taken in germany, bavaria, munich, europe, etc. and then transmit one or more instances of the photograph to a storage or hosting location that enables optimal access by users of the network 700 residing in germany, bavaria, munich, europe, etc.
Fig. 8 shows a flow diagram of a process 800 according to an embodiment of the disclosure. Process 800 may occur in a computing network, social network circle or sub-circle, or the like. Further, process 800 may be performed by a social device in a social network circle or sub-circle, a server in a social network circle or sub-circle, and so on. As shown at block 802, process 800 may include receiving an instance of a content item. In some implementations, the process 800 may include simply receiving a notification that a user desires to upload or publish an instance of a content item to a device in a network, the network itself, some combination thereof, and so forth. The instance may be an original file, a copy, etc. of the content item. The content item may be a media element, a message, a program, etc. As shown at block 804, process 800 may include receiving associated data that may include, but is not limited to, information representing a preferred format of a user of one or more instances of a content item, predicted or historical needs for the content item or similar content items, metadata associated with the content item (such as a type of content), an indication of relative importance to a quality of the one or more instances of the content item, a desired hosting location or locations of the content item, and the like. The associated data may be received simultaneously with, before, or after the instance of the content item. The associated data may be developed locally by internal logic, a separate device from its own internal logic, user input on an interface, and so forth.
As shown at block 806, process 800 may include determining whether the content item is in high demand. The determined relevant demand level may be historical demand for instances of the content item or similar content items (such as similar types of content or similar source devices or users), predicted future demand, or actual demand for other instances of the content item. The demand level may be determined from associated data or some other data or logic. Data included in the determination of demand may include, but is not limited to, average hourly downloads of similar content items or content items from similar sources, historical network traffic associated with the sources, and the like. Logic included in determining the demand level may include, but is not limited to, determining whether real, historical, and/or predicted demand meets or exceeds a predetermined threshold, user-provided input, and the like. If the demand for an instance of the content item is determined to be low, as shown at block 806, process 800 may include hosting or storing one or more instances of the social device. The social device on which the one or more instances are stored may be the source device from which the instances of the content item, associated data, and the like are received.
As shown at block 810, process 800 may include determining whether the quality, format, etc. of an instance of a content item is important. For example, associated data, user input, internal logic, etc. may indicate that the content item is of a content type that must always be available in a high quality format. In other implementations, the associated data may indicate whether a low quality instance or copy of the content item is acceptable unless explicitly required via a command, signal, or the like. In some implementations, the importance of the quality or format of the content item can determine where the instance of the content item is hosted or stored. For example, as shown at block 812, process 800 may include storing an instance of a content item on a cloud computing network. The instance may also be stored on a server that is local to the source device, some other device, etc. The format, quality, etc. of an instance of a content item may be higher, lower, equal to the received instance, or some other state. For example, if a similar higher quality instance of a content item already exists in a social network, a lower quality instance of the content item may be hosted or stored on a cloud computing network, and requests for the higher quality instance may be redirected to the higher quality instance elsewhere in the existing network.
As shown at blocks 814, 816, and 818, process 800 may include transcoding one or more instances of the received content item according to a protocol of one or more internal or external applications. For example, as shown at block 814, one or more instances of the content item may be transcoded into a mixture of high-quality and low-quality instances. Different instances having different formats may be distributed to different locations for hosting or storage. For example, as shown at blocks 816 and 818, the low-quality instance of the content item may be distributed to a cloud computing network, a local server of the source device or some other device, a network node, some combination thereof, and so forth. In response to an explicit request for an instance of a content item of high quality or some other format, etc., a high quality instance or copy of the content item may be stored on one or more social devices, servers, or computing networks for access by network members having particular rights. In some implementations, the transcoding and distribution of instances of content items can be determined according to an importance level assigned to the content item, which itself can be based on various factors including, but not limited to, demand level, content item type, source device, network account of the user providing the content item, some combination thereof, and the like.
As shown in block 820, process 800 may include determining whether one or more entities have accessed an instance of a content item. In some implementations, only accesses to certain instances of the content item are tracked, including but not limited to high quality instances and the like. The actions of the access may be tracked only, the identity of the entity accessing the instance may be recorded and tracked, and so on. The entity may be a user of the device, a device in the network or some other network, some combination thereof, and so forth. Access to the instance may include, but is not limited to, streaming (stream) an instance of a content item from the device, downloading an instance of the content item, some combination thereof, and so forth. If the instance is accessed, process 800 may include crediting an account of the entity, as shown at block 822. Such entities may include a user, device, etc. from which the instance of the content item was originally received, an owner of the instance of the content item, a copyright owner, some combination thereof, and so forth. The account may be located on the network or some other network. In some embodiments, in addition to or instead of crediting the account of the entity, the account of the entity may be deducted in response to determining that the instance is accessed. For example, an account of a user, device, etc. identified as accessing an instance of a content item may be deducted by an amount for each access of the instance, a one-time deduction of all accesses for a particular single or multiple instances of a particular content item, some combination thereof, and so forth. In some implementations, in response to determining that the instance of the content item was accessed, an account of the entity from which the instance of the content item was received is deducted.
As shown in the illustrated embodiment, the process 800 may be a process loop that may adapt to changing associated data. The process loop may be performed according to a predetermined frequency, at random time intervals, in response to a command, etc. For example, demand data associated with instances of content items in a network may be continuously analyzed to determine whether demand for the content items has changed, whether importance of quality of the content items has changed, whether a predetermined period of time has elapsed, and so forth. For example, if the data associated with the content item, or one or more instances thereof, indicates that demand for a previously low demand content item has risen dramatically above a certain threshold, etc., process 800 may repeat such that a high quality instance of the content item is transcoded from an originally received instance of the content item, a currently distributed low quality instance, etc. Further, if a previously high-demand instance of the content item is now in low demand, if a period of time has elapsed, etc., process 800 may include removing one or more instances of the content item from an existing hosting or storage location, and distributing the one or more instances according to the low-demand instance of the content item, including but not limited to hosting on the source device.
As used herein, the terms "substantially" and "about" provide an industry-accepted tolerance for their corresponding items and/or relatedness between items. Such an industry-accepted tolerance ranges from less than one percent to fifty percent and corresponds to, but is not limited to, compositional values, integrated circuit process variations, temperature variations, rise and fall times, and/or thermal noise. Such relativity between items ranges from a difference of a few percent to magnitude differences. As also used herein, the terms "operatively coupled to," "coupled to," and/or "coupled to" include direct couplings between items and/or indirect couplings between items via intervening items (e.g., items include, but are not limited to, components, elements, circuits, and/or modules), where for indirect couplings an intervening item does not modify information of a signal but may adjust its current level, voltage level, and/or power level. As also may be used herein, inferred coupling (i.e., where one element is coupled to another element by inference) includes direct and indirect coupling between two items in the same manner as "coupled". As may even be used herein, the term "operable" or "operably coupled" means that an item includes one or more power connections, inputs, outputs, etc. to perform one or more of its respective functions when activated, and may also include inferred coupling to one or more other items. As also used herein, the term "associated with …" includes a direct and/or indirect coupling of the individual items and/or one item embedded within another item. As used herein, the term "compares favorably", indicates that a comparison between two or more items, signals, etc., provides a desired relationship. For example, when the desired relationship is that signal 1 has a greater amplitude than signal 2, a favorable comparison may be achieved when the amplitude of signal 1 is greater than the amplitude of signal 2 or when the amplitude of signal 2 is less than the amplitude of signal 1.
As also used herein, the terms "processing module," "processing circuit," and/or "processing unit" may be a single processing device or a plurality of processing devices. Such a processing device may be a microprocessor, microcontroller, digital signal processor, microcomputer, central processing unit, field programmable gate array, programmable logic device, state machine, logic circuitry, analog circuitry, digital circuitry, and/or any device that manipulates signals (analog and/or digital) based on hard coding of circuits and/or operational instructions. The processing module, processing circuit, and/or processing unit may have associated memory and/or integrated storage elements, which may be a single storage device, multiple storage devices, and/or embedded circuitry of the processing module, processing circuit, and/or processing unit. Such a memory device may be a read-only memory, random access memory, volatile memory, non-volatile memory, static memory, dynamic memory, flash memory, any device that caches and/or stores digital information. Note that if the processing module, processing circuit, and/or processing unit includes more than one processing device, the processing devices may be centrally located (e.g., directly coupled together via a wired and/or wireless bus structure) or may be distributively located (e.g., indirectly coupled cloud computing via a local area network and/or a wide area network). It should also be noted that if the processing module, processing circuit, and/or processing unit implements one or more of its functions via a state machine, analog circuitry, digital circuitry, and/or logic circuitry, the memory and/or storage elements storing the corresponding operational instructions may be embedded within, or external to, the circuitry comprising the state machine, analog circuitry, digital circuitry, and/or logic circuitry. It should also be noted that the storage elements may store, and the processing modules, processing circuits, and/or processing units may be capable of executing, hard-coded and/or operational instructions corresponding to at least some of the steps and/or functions illustrated by one or more of the figures. Such a memory device or memory element may be included in an article of manufacture.
The invention has been described above with the aid of method steps illustrating the performance of specific functions and relationships thereof. Boundaries and the order of the functional building blocks and method steps have been arbitrarily defined herein for convenience of description. Alternate boundaries and sequences may be defined so long as the specified functions and relationships are appropriately performed. Accordingly, any such alternate boundaries or sequences are within the scope and spirit of the claimed invention. Further, for convenience of description, boundaries of these functional building blocks have been arbitrarily defined. Alternate boundaries may be defined so long as some important function is properly performed. Similarly, flow diagram blocks may also be arbitrarily defined herein to illustrate certain significant functions. The boundaries and sequence of flowchart blocks may be otherwise defined for general use and still perform the specified significant functions. Accordingly, such alternative definitions of functional blocks and flow diagram blocks, as well as sequences, are within the scope and spirit of the claimed invention. Those of ordinary skill in the art will also recognize that the functional building blocks and other illustrative blocks, modules, and components herein can be implemented as shown or by discrete components, application specific integrated circuits, processors executing appropriate software, etc., or any combination thereof.
The present invention may also be described, at least in part, in terms of one or more embodiments. Embodiments of the present invention are used herein to describe the present invention, aspects thereof, features thereof, concepts thereof and/or examples thereof. The physical embodiments of the devices, articles of manufacture, machines, and/or processes embodying the present invention may include one or more aspects, features, concepts, examples, etc., described with reference to one or more embodiments discussed herein. Furthermore, from figure to figure, embodiments may incorporate the same or similarly named functions, steps, modules, etc., which may use the same or different reference numbers, and thus, these functions, steps, modules, etc., may be the same or similar functions, steps, modules, etc., or different functions, steps, modules, etc.
Signals to, from, and/or between elements in any of the figures presented herein may be analog or digital, continuous-time or discrete-time, and single-ended or differential, unless specifically noted to the contrary. For example, if the signal path is shown as a single ended path, it also represents a differential signal path. Similarly, if the signal path is shown as a differential path, it also represents a single-ended signal path. Although one or more specific architectures are described herein, other architectures may also be implemented using one or more data buses (not explicitly shown), direct connections between elements, and/or indirect couplings between other elements, as will be appreciated by those of ordinary skill in the art.
The term "module" is used in the description of the various embodiments of the present invention. A module includes a functional block that performs one or more functions via a hardware implementation, such as processing one or more input signals to produce one or more output signals. The hardware implementing the modules may itself operate in conjunction with software and/or firmware. As used herein, a module may include one or more sub-modules that are modules themselves.
Although specific combinations of features and functions are described herein, other combinations of features and functions are also possible. The invention is not limited by the specific examples disclosed herein, and these other combinations are expressly incorporated.
Claims (10)
1. An apparatus for content hosting, comprising:
a memory; and
a processing circuit interoperable with the memory and configured to:
storing at least one instance of a content item for distribution in a first location through a social network;
determining a demand level for the content item, the demand level determined based at least in part on a frequency of accessing the content item being requested by a member of the social network;
transcoding the at least one instance of the content item to a high quality format in response to determining that the projected demand level for the content item is high; and in response to determining that the projected demand level for the content item is low, transcoding at least one additional instance of the content item to a low quality format,
in response to the level of demand exceeding a first threshold level, distributing at least one additional instance of the content item to at least a second location; and
removing additional instances of content from the at least second location in response to the demand level being below a second threshold.
2. The apparatus of claim 1, the processing circuitry further configured to:
in response to predicting that the level of demand will exceed the first threshold level, distributing at least one instance of the content item to the social network to be stored on a plurality of other devices associated with the social network, each of the plurality of other devices storing at least one instance of the content item.
3. The apparatus of claim 1, the processing circuitry further configured to:
in response to predicting that the demand level will exceed the first threshold level, distributing at least one instance of the content item to the social network to be stored on a cloud computing network; and
distributing at least one instance of the content item to be stored on an external local server node in response to predicting that the demand level will not exceed the second threshold level.
4. The apparatus of claim 1, the processing circuitry further configured to:
transcoding the at least one additional instance of the content item to a low-quality format in response to the level of demand exceeding a first threshold level.
5. The apparatus of claim 1, the processing circuitry further configured to:
obtaining historical activity data associated with at least one member of a social network, the historical activity data comprising historical interactions of the at least one member with at least one other member of the social network; and
selecting at least one network node to enable a connection between the at least one member and other members of the social network based on the historical activity data.
6. The apparatus of claim 5, the processing circuitry further configured to:
in response to determining, based on the historical activity data, that the activity of the at least one member on the social network exceeds a threshold, selecting at least one network node to provide a high bandwidth connection between the at least one member and the at least one other member of the social network.
7. The apparatus of claim 1, the processing circuitry further configured to:
receiving a notification that a user desires to upload at least one content item to a social network;
in response to receiving the notification, collecting information associated with the at least one content item;
determining an importance level assigned to the at least one content item; and
transcoding a copy of the at least one content item to a low-quality format based on the importance level assigned to the at least one content item.
8. The apparatus of claim 7, the information associated with the at least one content item comprising a user-provided indication of a desired storage location for at least one instance of the at least one content item.
9. The apparatus of claim 7, the processing circuitry further configured to:
transcoding an instance of the at least one content item to a high quality format in response to determining that projected demand for the at least one content item is high; and
transcoding the instance of the at least one content item to a low quality format in response to determining that the projected demand for the at least one content item is low.
10. The apparatus of claim 7, the processing circuitry further configured to:
storing a low-quality instance of the at least one content item on a network node, the low-quality instance being immediately accessible to members of the social network; and
storing a high quality instance of the at least one content item on a device, the high quality instance accessible to members of the social network based on a demand for the high quality instance of the at least one content item.
Applications Claiming Priority (4)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201161545147P | 2011-10-08 | 2011-10-08 | |
| US61/545,147 | 2011-10-08 | ||
| US13/337,495 | 2011-12-27 | ||
| US13/337,495 US20130091207A1 (en) | 2011-10-08 | 2011-12-27 | Advanced content hosting |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| HK1179439A1 HK1179439A1 (en) | 2013-09-27 |
| HK1179439B true HK1179439B (en) | 2017-02-24 |
Family
ID=
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN103036942B (en) | Advanced content hosting | |
| Liu et al. | Decentralized resource allocation for video transcoding and delivery in blockchain-based system with mobile edge computing | |
| EP3063945B1 (en) | System and method for optimizing defragmentation of content in a content delivery network | |
| US20130091214A1 (en) | Media social network | |
| EP3063944B1 (en) | System and method for pre-provisioning adaptive bitrate (abr) assets in a content delivery network | |
| US9055121B2 (en) | Social processing member offering fixed and intelligent services | |
| CN103036939B (en) | Pass through the social device service and support of automatic group associations | |
| CN111869191B (en) | Group enhanced content delivery | |
| CN106464719B (en) | Method and apparatus for distributing content in a managed wireless distribution network | |
| US20190245917A1 (en) | System, method and device for provision and management of web resource | |
| KR102274183B1 (en) | Managed wireless distribution network | |
| CN103036935A (en) | Social network device communication resource allocation | |
| JP6342526B2 (en) | Method and system for sharing live broadcast data | |
| CN116076076A (en) | Media distribution and management system and device | |
| CN105706412B (en) | Bandwidth Policy Management in Self-Correcting Content Delivery Networks | |
| HK1179439B (en) | Advanced content hosting | |
| KR101858247B1 (en) | System and method for providing content using integrated identification | |
| CN105593837B (en) | System and method for delivering content in a content delivery network | |
| US11057669B2 (en) | Device and method for managing priorities for the downloading of multimedia contents | |
| Pussep | Peer-assisted video-on-demand: cost reduction and performance enhancement for users, overlay providers, and network operators | |
| CN119923864A (en) | Method and apparatus for non-on-demand content downloading | |
| Koch et al. | Deliverable D4. 3 | |
| HK1180476A (en) | Social device service and support via automatic group association | |
| HK1180475A (en) | Social networking grouping hierarchy structure |