The accompanying drawings illustrate a number of example embodiments and are a part of the specification. Together with the following description, these drawings demonstrate and explain various principles of the instant disclosure.
Throughout the drawings, identical reference characters and descriptions indicate similar, but not necessarily identical, elements. While the example embodiments described herein are susceptible to various modifications and alternative forms, specific embodiments have been shown by way of example in the drawings and will be described in detail herein. However, the example embodiments described herein are not intended to be limited to the particular forms disclosed. Rather, the instant disclosure covers all modifications, equivalents, and alternatives falling within the scope of the appended claims.
The present disclosure is generally directed to systems and methods for ranking channel content. The disclosed subject matter may improve upon related systems by leveraging, reengineering, and/or repurposing one or more ranking or recommendation components, including machine learning recommendation components, within the context of an online social network environment, to apply these components newly to content channels and their internal items of social media content.
As further discussed in detail below, these content channels may represent a novel and inventive manner for enabling user accounts to interact with the online social network environment. For example, the content channels may function effectively as separate and independent notifications feeds within the online social network environment, as distinct from a more traditional single and global notifications feed provided to a user account. By way of background, the term “notifications feed” may broadly refer to any feed, in the context of an online social network environment, that sequentially displays, in a calculated order, notifications, posts, post previews, items of multimedia content, and/or items of social media content to one or more browsing user accounts.
Additionally, the content channels may improve upon the traditional single and global notifications feed by enabling users to dynamically and conveniently establish a defined set of user accounts which are permitted to review, interact with, and/or post to the content channels. Moreover, the defined sets of user accounts may dynamically differ and vary between respective different content channels, as discussed in more detail below. In contrast, in a traditional social network environment each user account may only have a single global notifications feed. Moreover, in these traditional systems, each user account may only have limited functionality in terms of potentially preventing a posted item of social media content from appearing in the single global notifications feed of another user account. Accordingly, in these traditional systems each user account does not have the ability to establish a multitude of different content channels and separately establish a strictly defined set of user accounts for each content channel with corresponding access privileges for interacting with these different content channels.
Furthermore, the content channels may improve upon the traditional single global notifications feed by enabling users to scroll through substantially full-screen displays of posts within each one of the content channels rather than simply scrolling up and down through a higher level overview, as with the traditional single and global notifications feed. Moreover, because the content channels may function effectively as separate and independent notifications feeds within the online social network environment, this environment may also provide a graphical user interface (e.g., a content channel feed interface) to view graphical elements, tiles, previews, and/or other graphical indicators for each one of multiple content channels, thereby enabling the user to select which one of the content channels to scroll through or otherwise interact with. In contrast, the traditional online social network environment may only provide a single notifications feed to a corresponding user account, without enabling the user account to select between separate and independent notifications feeds.
Lastly, although some online networks, such as mass video distribution networks, may provide channels in the form of sequential displays of video content, the content channels discussed herein may improve upon these traditional mass video distribution channels in a variety of ways. For example, mass video distribution networks typically limit the primary format for each video page within a channel to providing a large video screen display for corresponding video, as well as optionally one or more fields for user comments, internal links to other videos within the same mass video distribution network, and/or advertisements, etc. Furthermore, the content channels described further below may optionally include mixed-media formats, such that the content channels indicate a sequence of different items of social media content, yet various different ones of these items of social media content may have substantially different multimedia formats. For example, one of the items of social media content may be a substantially pure text post in the form of a status update, whereas the next one in the sequence of the items of social media content may be a substantially pure picture post and/or video post, etc. In other words, even though traditional mass video distribution networks may include some form of conventional channels, these channels have no capability for displaying online social networking textual status updates and/or photograph updates, or otherwise displaying items of social media, within the corresponding sequence of these channels, as distinct from traditional video landing pages.
As a more specific example, although traditional mass video distribution networks may allow user accounts to establish channels and may allow other friendly user accounts to post comments to videos within these channels, the other user accounts traditionally cannot post their own videos (or other mixed social media content uploads) to the same channels. Instead, these other user accounts are traditionally limited to consuming video content and commenting on it. Moreover, traditional mass video distribution platforms do not typically enable channel creators to strictly define a set of contacts within these platforms with access privileges to viewing or consuming the corresponding video channels. Accordingly, any browsing user may generally view any published video content as long as the browsing user possesses a corresponding network address, such as a uniform resource locator (e.g., a public or private uniform resource locator), directed to the video content, regardless of whether the browsing user follows the creator of the video channel as a unidirectional contact, regardless of whether the creator of the video channel approves or reciprocates a friendship or contact relationship with the browsing user (e.g., a bidirectional and reciprocal friendship relationship), and even regardless of whether the browsing user has even registered a user account with the mass video distribution platform. The disclosed subject matter may also improve upon related systems in a variety of other ways, which are discussed in more detail below in the corresponding discussions of
In one embodiment, the steps shown in
Returning to
Maintenance module 104 may maintain the content channel in a variety of ways. In some examples, the content channel may include a container within the online social network environment. In other words, the content channel may correspond to a software container that encapsulates a sequence of other items of social network media content, such as posts, photographs, videos, animations, and/or corresponding comment feeds. Furthermore, the software container may also encapsulate, or otherwise store as a data structure, one or more items of information or policies defining which user accounts have access privileges for interacting with the content channel and/or what the various specifics of these access privileges may be (e.g., read access, read-write access, commenting access, posting or publishing access, etc.). Moreover, although traditional notifications feeds might provide a kind of container for similar items of social network media content, the content channels described herein may potentially be separate and independent from each other, such that the same user account can create a multitude of different ones, with different sets of user access privileges between different content channels, as further discussed above.
In some examples maintenance module 104 may provide multiple content channels including content channel 222. Moreover, in these examples, maintenance module 104 may optionally provide an interface for the user account to scroll through graphical elements, tiles, previews, or posts respectively indicating the multiple content channels. Furthermore, in these examples, maintenance module 104 may also optionally provide an interface that enables the user account to select the content channel from among multiple contact channels by interacting with a respective one of the graphical elements. Of course, in all the discussions of
Additionally, in some examples these content channels may be automatically generated and/or may be automatically aggregated. For example, one type of content channel may focus on content regarding a trending event (e.g., a current political movement). Additionally, or alternatively, another type of content channel may focus on content regarding a certain conversation topic or a consumer-centric topic (e.g., collecting shoes as a hobbyist). Furthermore, another type of content channel may focus on a topic relating to a specific location (e.g., San Francisco). These types of content channels are merely illustrative. In other examples, a content channel may focus on content regarding any other defined topic (e.g., items of content highlighted by friends of a user within social media, the weather this weekend, other topics that are trending within social media, etc.).
As a more specific example of the embodiment outlined above, as shown in
In addition to the elements described above, another indicator 405 in
In some examples, maintenance module 104 may maintain the content channel at least in part by requesting, upon detecting that a creating user account is attempting to create the corresponding content channel, for the creating user account to specify which user accounts within the online social network environment have access to the content channel. Accordingly, after the creating user account specifies which specific user accounts within the online social network environment will have access to the content channel, display module 108 may optionally display an indicator, such as indicator 405, which provides a visual indication corresponding to the defined set of user accounts to which the creating user account granted access privileges, as further discussed above.
User interface 401 may also provide a search capability 402 that allows users to search through a store of data channels or search through a specific user’s content channels (e.g., the user account’s content channels). The comment icon 403 of user interface 401 may allow users to add comments to a channel or to a post. From user interface 401, users may also be able to navigate to other channels. For instance, the user may scroll down to view the channel preview (or “channel card”) for an additional content channel 407. By selecting a given channel preview, the viewing user account may see individual posts within that content channel. Thus, as noted above, at least three different hierarchical user interface levels may be at play in any given implementation: a channel feed level that shows multiple different channel preview cards, potentially created by different users, a channel overview level that shows individual posts within a given channel, and a post view level that shows the individual post (e.g., an image, video, web page, text blurb, or other content). Various user interface menus and elements may be added or removed dynamically from the user interface 401 as the user moves up or down the hierarchical levels. For instance, an interaction interface 408 may be shown at the channel feed level illustrated in
Maintenance module 104 may also publish a generated content channel so that the content channel is available for access by specified audience members. For example, maintenance module 104 may be configured to take a content channel that was generated by a content channel generator and make it available on a given platform or internet address. Maintenance module 104 may also make the content channel available to those audience members designated by the user account which created the content channel. These audience members may then interact with the content channel through an interaction interface. The interaction interface may allow the audience members to add new content (e.g., videos, text, pictures, etc.) or add reactions to the user’s posts including comments, stickers, video replies, etc. Upon receiving these audience inputs, maintenance module 104 may apply the changes noted in the inputs to the published content channel. In this manner, a user account can create a content channel, select audience members, make the content channel available to those users, and may then allow those users to add content and/or commentary to the content channel.
In some cases, the initial creator of the content channel may not only provide to maintenance module 104 an indication of the content type of the channel, along with indicating the audience for the content channel but may also provide an indication of capabilities that the generated content channel is to have. In such cases, the content channel may be generated according to the designated content type, the designated audience members, and/or the designated capabilities, as indicated by the creating user account. If the creating user account wants to make changes to any of these items at a later time, the user account may provide an update to server 306, and maintenance module 104 may update the content channel accordingly. The content channel may have various capabilities including the ability to accept video replies from audience members, the ability to notify audience members of new postings or certain types of postings, the ability to add stickers or emojis to posts, the ability for audience members to add their own posts to the user’s channel, the ability for audience members to add their own subchannels to the content channel, or other capabilities. Each capability may be assigned individually to each content channel. In some cases, a default set of capabilities may be applied to new channels, but these capabilities may be changed at a later time by a corresponding user account such as the creating user account.
In some embodiments, the content channel may be made available by maintenance module 104 to the audience members on a pull basis. As such, each audience member may control which content channels and which posts they view within the channels. Each audience member may have their own channel feed view in which they can see both channels that they created/maintained and/or channels created/maintained by other user accounts. This view may be provided in a smartphone application, in a website, in a desktop computer application, or in some other interface. This channel feed view may be populated with channels to which the user account has access. These content channels may be provided to the user account on a pull basis. As such, browsing user accounts may view those channels that they are interested in and may not necessarily see the other content channels. In this manner, posting user accounts may not need to worry about over-posting since other user accounts may optionally only pull the content that they want to see. In other embodiments, a browsing user account may see channel cards for corresponding content channel, such as content channel 404 shown in
As shown in
In some embodiments, comment bar 606 of
In at least some embodiments, comment interface 608 may be configured to present a most relevant comment at the top, above the other comments. For example, maintenance module 104 may determine which of the posted comments is most relevant to the user account (i.e., the creator of the channel or post) and then move that comment to the top of comment interface 608. Relevance to the user may be determined based on who gave the comment (e.g., whether it was a family member, a close friend, a person the user has had little interaction with, etc.), based on which comment has received the most reactions, based on which comments the creating user account liked or otherwise reacted with, based on which comment is trending higher based on views or likes, based on which comment mentions the creating user account by name, or based on other factors.
Maintenance module 104 may manage comments that are determined to be most relevant to the creating user account in a variety of different manners. In some examples, comments may be highlighted in bold, in italics, in larger font, in different colored text, or with a color-highlighted background. Highly relevant comments may also be promoted to the top of the comment list so that they are most likely to be seen by the creating user account and by other audience members. The creating user account may specify, using one or more settings or policies, how these highly relevant comments are to be presented. The settings may apply to a particular content channel, to all of the user account’s content channels, to a particular post in a content channel, or to all the posts in a content channel. As such, the creating user account may have a great deal of control over how comments (e.g., particularly highly relevant comments) are presented relative to their corresponding content channels and posts.
In some embodiments, as illustrated in
Turning now to
As noted above, many different user accounts may create many different content channels. User accounts may also select which content channels they want to view (from among those content channels that are available to that user account). Each user account may select to follow individual content channels, groups of content channels, all content channels of a given user account, or only some content channels of a given user account. When the content channels are published and made available on a content platform such as a smartphone application or website or desktop application, user accounts may be able to browse the content channels and associated posts at different hierarchical levels as further discussed at length above.
As shown in
In some examples, maintenance module 104 may maintain the content channel at least in part by enabling (e.g., in coordination with display module 108) the user account to scroll through the sequence for displaying items of social network media content. Even more specifically, maintenance module 104 may optionally enable the user account to scroll through the sequence by manually dragging a string of tile graphical elements that each correspond to a respective one of the items of social network media content. Additionally, or alternatively, maintenance module 104 may enable the user to scroll through the sequence by swiping a substantially or partially full-screen display of each respective one of the items of social network media content to navigate to a next display within the sequence.
In this manner, maintenance module 104 may maintain content channels on at least two different hierarchical levels including the channel feed level and the channel overview level. From within the channel feed level, the user account may select a content channel to view, and from within the channel overview level, the user account may select a post to view. At each hierarchical level, the user account may be able to interact with the channel and/or with the post in different ways, each of which may be configurable in policies. In some embodiments, a browsing user account may only be able to respond to a given post (e.g., by viewing and writing comments or responses to comments) at the post level. In other embodiments, users may be able to respond to posts from within the channel overview level or even potentially to themselves publish additional posts in the sequence of the content channel.
Thus, in the manner outlined above, different user accounts may create their own content channels from scratch or alternatively use pre-made templates to quickly create their own content channels of a specified type. When creating content channels, the user accounts do not need to worry about who is able to view their channels or posts, as this item of information may be prominently displayed for each content channel and/or each post. Moreover, different user accounts do not need to worry about flooding other user accounts’ feeds with content that these other user accounts do not want. Rather, browsing user accounts may pull down only the content they have selected and chosen to view. Still further, user accounts may be able to easily navigate between different content channels in a channel feed view and navigate between different posts within a channel in a channel overview level. Browsing user accounts may also be able to provide comments and other reactions to content channels and posts in a more intuitive manner at each hierarchical level.
Returning to
Ranking module 106 may rank the content channel items in a variety of ways. For example, ranking module 106 may optionally rank the content channel among at least one other content channel at least in part by ranking a profile content channel for the user account as having the highest rank among the ranking performed at step 120. Returning to the example of
In view of the above,
Moreover,
In addition to the example of ranking content channels themselves, as illustrated in
As further discussed above in connection with
Additionally, or alternatively, in some examples ranking module 106 may rank the content channel among other content channels by ranking content channels with at least one instance of unconsumed content higher than content channels with all previously consumed content. In other words, ranking module 106 may rank content channels with at least some unconsumed content higher than other content channels that a browsing user account has already consumed or viewed. In more specific examples, ranking module 106 may optionally restrict the consideration of consumed content to consumption of ephemeral stories within the online social network environment, as discussed in more detail below.
Moreover, in additional or alternative examples, ranking module 106 may also rank the content channel among other content channels by ordering a tail section of the ranking chronologically. In other words, in these examples, after performing one or more of the (i) profile content channel ranking and/or (ii) consumed-versus-unconsumed channel ranking procedures outlined above, ranking module 106 may further rank (iii) a remaining tail section of content channels chronologically (e.g., in a chronological order of time indicators associated with each content channel, such as the timing of creating these respective content channels and/or the timing of most recent updates or additions to these content channels). Of course, in some examples ranking module 106 may optionally perform any suitable permutation of two or more of the ranking procedures (i)-(iii) outlined above, including performing all three of these ranking procedures, thereby ordering the ranking of content channels as follows: the profile content channel highest, followed by content channels having some unconsumed content, followed by content channels having no unconsumed content, and/or followed by a remaining tail section of content channels in chronological order.
In additional examples, ranking module 106 may also separately and independently calculate both (i) an initial score for the content channel and (ii) initial scores for one or more items of social network media content within the content channel. Returning to the examples of
In some specific examples, scoring algorithm 1510 may correspond to the maximum of any score from initial post scores 1504 and initial channel score 1506 (e.g., “MAX(CONTENT-CHANNEL-SCORE, STORY-1_SCORE, [...], STORY-N_SCORE)”). Alternatively, in other examples, scoring algorithm 1510 may correspond to the maximum of these same values, whereby these values are previously divided by a corresponding median value (e.g., “MAX(CONTENT-CHANNEL-SCORE/MEDIAN-CONTENT-CHANNEL-SCORE, STORY-1_SCORE/MEDIAN-STORY-SCORE, [...], STORY-N_SCORE/MEDIAN-STORY-SCORE)”).
In some example embodiments corresponding to
In further examples, ranking module 106 may also rank the content channel items based on at least one background item of contextual information. For example, ranking module 106 may rank the content channel items at least in part by prioritizing content channel items that originated from a friend of the user account within the online social network environment. In even further examples, ranking module 106 may prioritize content channel items originating from the friend of the user account at least in part by determining that the friend of the user account satisfies a nearness threshold within a social graph of the user account within the online social network environment. In other words, although a specific user account may possess a large number (e.g., hundreds) of bidirectional or other friends or contacts within the online social network environment, at least some of these contacts may be much more closely associated with the user account then other contacts in the user account’s friend list. For example, some of these other contacts may simply correspond to mere acquaintances. Moreover, information helping to identify close friends and relatives of the user account, as distinguished from less close acquaintances, may be extracted from a social graph for the user account within the online social network environment. For example, the social graph may be based on indications of genetic relatedness, measurements of unidirectional or bidirectional contact and exchanges between the user account and other contacts, measurements of liking and/or approving, by one party, items of social media content uploaded or shared by another party, etc.
Additionally, or alternatively, in some examples ranking module 106 may rank the content channel items based at least in part on a background item of contextual information including an indication of a subject matter preference of the user account. For example, the user account may have a particular indicated preference for a certain item of popular culture, a certain religious view, a certain political view, a certain topic (e.g., puppies or rainbows), and/or a certain charitable cause (e.g., cancer treatment research). Of course, these listed examples are merely illustrative. Moreover, in some examples ranking module 106 may further extract one or more items of information indicating such preferences by the user account based at least in part on a semantic analysis of content input by the user account into the online social network environment. For example, ranking module 106 may optionally perform a semantic analysis of one or more posts or messages submitted by the user account, and the semantic or textual analysis of this information may further reveal the corresponding preference, as further discussed above. Furthermore, in other examples ranking module 106 may also rank the content channel items based on at least one background item of contextual information that includes recency information, such that ranking module 106 ranks more recent content channel items higher than less recent content channel items (e.g., more recently created content channels higher than less recently created content channels and/or more recently created posts to content channels higher than other less recently created posts).
Returning to
Display module 108 may display the content channel items in the order corresponding to the ranking performed at step 120 in a variety of ways. In some examples, display module 108 may perform step 130 directly when display module 108 is located at computing device 302 (e.g., as part of local client social network application 350). Additionally, or alternatively, display module 108 may be located at server 306 and may thereby perform step 130 by instructing or commanding, or otherwise initiating, the display of information at computing device 302 from across the network connection shown in
In some examples, display module 108 may display the content channel items in a sequential order over time. Returning to the example of
Similarly, or alternatively, once a browsing user account has entered into a channel overview embodiment, which may correspond to the example of
Furthermore, display module 108 may also use one or more other factors for highlighting a higher level of priority for one instance of content channel items in comparison to another instance. For example, display module 108 may display a higher priority content channel item in a larger size than a lower priority content channel item. Similarly, display module 108 may optionally display a higher priority content channel item using a higher level of highlight, vividness, distractibility, motion, and/or other visual or multimedia feature, thereby signaling to a browsing user account that the higher priority content channel item is relatively higher in importance or priority (e.g., in terms of a recommendation system ranking these items at step 120) than one or more remaining content channel items.
The instant disclosure describes various systems and methods for ranking channel content. In one example, a computer-implemented method may include (i) maintaining, within an online social network environment, a content channel that defines both (a) which user accounts within the online social network environment have access to the content channel and (b) a sequence for displaying items of social network media content to a user account viewing the content channel, (ii) ranking content channel items by calculating scores for the content channel items indicating an estimated level of priority for displaying the content channel items to the user account, the ranking including at least one of (a) ranking the content channel among at least one other content channel or (b) ranking the items of social network media content within the content channel, and (iii) displaying the content channel items to the user account in an order corresponding to the ranking.
In some examples, ranking the content channel among at least one other content channel may include ranking a profile content channel for the user account as having a highest rank among the ranking. In further examples, ranking the content channel among at least one other content channel may include ranking content channels with at least one instance of unconsumed content higher than content channels with all previously consumed content. Additionally, in some examples, ranking the content channel among at least one other content channel may include ordering a tail section of the ranking chronologically.
Furthermore, in some examples, the online social network environment separately and independently calculates (i) an initial score for the content channel and (ii) initial scores for the items of social network media content within the content channel. Moreover, in some of these examples, the online social network environment calculates a finalized score for the content channel as a function of both the initial score for the content channel and the initial scores for the items of social network media content within the content channel.
Additionally, in further examples ranking the content channel items by calculating scores for the content channel items indicating the estimated level of priority for displaying the content channel items to the user account further includes ranking the content channel items based on at least one background item of contextual information. In some examples, ranking the content channel items based on the background item of contextual information may include prioritizing content channel items that originated from a friend of the user account within the online social network environment. In further examples, prioritizing content channel items that originated from the friend of the user account within the online social network environment includes determining that the friend of the user account satisfies a nearness threshold within a social graph of the user account within the online social network environment. Additionally, in some examples, the background item of contextual information may include an indication of a subject matter preference of the user account. Furthermore, in some of these examples, the indication of the subject matter preference of the user account is based on a semantic analysis of content input by the user account into the online social network environment. Moreover, in some examples, ranking the content channel items based on at least one background item of contextual information includes ranking more recent content channel items higher than less recent content channel items.
In some examples, (i) the content channel includes a container within the online social network environment, (ii) the container within the online social network environment contains the items of social network media content for displaying in the sequence, and (iii) the items of social network media content contained within the container include a mixture of different types of social network media content. In some of these examples, the mixture of different types of social network media content contained within the container includes a mixture of: (i) text-based status update posts, (ii) photograph-based posts, and (iii) video-based posts.
In some embodiments, the online social network environment provides multiple content channels including the content channel. Moreover, in some of these examples, the online social network environment provides an interface for the user account to (i) scroll through graphical elements respectively indicating the multiple content channels and (ii) select the content channel from among the multiple content channels by interacting with a respective one of the graphical elements. Additionally, in some examples, each one of the multiple content channels includes a respective separate and independent notifications feed within the online social network environment. Furthermore, in some examples, the online social network environment enables the user account to select the content channel as the respective separate and independent notifications feed instead of providing the user account with a single global notifications feed.
In some embodiments, the online social network environment, upon a creating user account attempting to create the content channel, requests for the creating user account to specify which user accounts within the online social network environment have access to the content channel. Additionally, in some examples, the online social network environment receives an indication from a creating user account of which user accounts within the online social network environment have access to the content channel.
In one embodiment, a system for implementing the above-described method may include (i) a maintenance module, stored in memory, that maintains, within an online social network environment, a content channel that defines both (a) which user accounts within the online social network environment have access to the content channel and (b) a sequence for displaying items of social network media content to a user account viewing the content channel, (ii) a ranking module, stored in memory, that ranks content channel items by calculating scores for the content channel items indicating an estimated level of priority for displaying the content channel items to the user account, the ranking including at least one of (a) ranking the content channel among at least one other content channel or (b) ranking the items of social network media content within the content channel, (iii) a display module, stored in memory, that displays the content channel items to the user account in an order corresponding to the ranking, and (iv) at least one physical memory configured to execute the maintenance module, the ranking module, and the display module.
In some examples, the above-described method may be encoded as computer-readable instructions on a non-transitory computer-readable medium. For example, a computer-readable medium may include one or more computer-executable instructions that, when executed by at least one processor of a computing device, may cause the computing device to (i) maintain, within an online social network environment, a content channel that defines both (a) which user accounts within the online social network environment have access to the content channel and (b) a sequence for displaying items of social network media content to a user account viewing the content channel, (ii) rank content channel items by calculating scores for the content channel items indicating an estimated level of priority for displaying the content channel items to the user account, the ranking including at least one of (a) ranking the content channel among at least one other content channel or (b) ranking the items of social network media content within the content channel, and (iii) display the content channel items to the user account in an order corresponding to the ranking.
Features from any of the above-mentioned embodiments may be used in combination with one another in accordance with the general principles described herein. These and other embodiments, features, and advantages will be more fully understood upon reading the following detailed description in conjunction with the accompanying drawings and claims.
As detailed above, the computing devices and systems described and/or illustrated herein broadly represent any type or form of computing device or system capable of executing computer-readable instructions, such as those contained within the modules described herein. In their most basic configuration, these computing device(s) may each include at least one memory device and at least one physical processor.
The term “memory device,” as used herein, generally represents any type or form of volatile or non-volatile storage device or medium capable of storing data and/or computer-readable instructions. In one example, a memory device may store, load, and/or maintain one or more of the modules described herein. Examples of memory devices include, without limitation, Random Access Memory (RAM), Read Only Memory (ROM), flash memory, Hard Disk Drives (HDDs), Solid-State Drives (SSDs), optical disk drives, caches, variations or combinations of one or more of the same, or any other suitable storage memory.
In addition, the term “physical processor,” as used herein, generally refers to any type or form of hardware-implemented processing unit capable of interpreting and/or executing computer-readable instructions. In one example, a physical processor may access and/or modify one or more modules stored in the above-described memory device. Examples of physical processors include, without limitation, microprocessors, microcontrollers, Central Processing Units (CPUs), Field-Programmable Gate Arrays (FPGAs) that implement softcore processors, Application-Specific Integrated Circuits (ASICs), portions of one or more of the same, variations or combinations of one or more of the same, or any other suitable physical processor.
Although illustrated as separate elements, the modules described and/or illustrated herein may represent portions of a single module or application. In addition, in certain embodiments one or more of these modules may represent one or more software applications or programs that, when executed by a computing device, may cause the computing device to perform one or more tasks. For example, one or more of the modules described and/or illustrated herein may represent modules stored and configured to run on one or more of the computing devices or systems described and/or illustrated herein. One or more of these modules may also represent all or portions of one or more special-purpose computers configured to perform one or more tasks.
In addition, one or more of the modules described herein may transform data, physical devices, and/or representations of physical devices from one form to another. For example, one or more of the modules recited herein may transform a processor, volatile memory, non-volatile memory, and/or any other portion of a physical computing device from one form to another by executing on the computing device, storing data on the computing device, and/or otherwise interacting with the computing device.
The term “computer-readable medium,” as used herein, generally refers to any form of device, carrier, or medium capable of storing or carrying computer-readable instructions. Examples of computer-readable media include, without limitation, transmission-type media, such as carrier waves, and non-transitory-type media, such as magnetic-storage media (e.g., hard disk drives, tape drives, and floppy disks), optical-storage media (e.g., Compact Disks (CDs), Digital Video Disks (DVDs), and BLU-RAY disks), electronic-storage media (e.g., solid-state drives and flash media), and other distribution systems.
The process parameters and sequence of the steps described and/or illustrated herein are given by way of example only and can be varied as desired. For example, while the steps illustrated and/or described herein may be shown or discussed in a particular order, these steps do not necessarily need to be performed in the order illustrated or discussed. The various example methods described and/or illustrated herein may also omit one or more of the steps described or illustrated herein or include additional steps in addition to those disclosed.
The preceding description has been provided to enable others skilled in the art to best utilize various aspects of the example embodiments disclosed herein. This example description is not intended to be exhaustive or to be limited to any precise form disclosed. Many modifications and variations are possible without departing from the spirit and scope of the instant disclosure. The embodiments disclosed herein should be considered in all respects illustrative and not restrictive. Reference should be made to the appended claims and their equivalents in determining the scope of the instant disclosure.
Unless otherwise noted, the terms “connected to” and “coupled to” (and their derivatives), as used in the specification and claims, are to be construed as permitting both direct and indirect (i.e., via other elements or components) connection. In addition, the terms “a” or “an,” as used in the specification and claims, are to be construed as meaning “at least one of.” Finally, for ease of use, the terms “including” and “having” (and their derivatives), as used in the specification and claims, are interchangeable with and have the same meaning as the word “comprising.”