Patent Publication Number: US-11036810-B2

Title: System and method for determining quality of cited objects in search results based on the influence of citing subjects

Description:
This application claims the benefit of U.S. Provisional Patent Application No. 61/354,559, filed Jun. 14, 2010, and entitled “A system and method for determining influence of internet authors,” and is hereby incorporated herein by reference. This application is a continuation-in-part of prior U.S. application Ser. No. 12/895,593 filed Sep. 30, 2010 (now U.S. Pat. No. 7,991,725). This application is also a continuation-in-part of current U.S. application Ser. No. 12/628,791 filed Dec. 1, 2009 now U.S. Pat. No. 8,688,701 and a continuation-in-part of current U.S. application Ser. No. 12/628,801 filed Dec. 1, 2009 now U.S. Pat. No. 8,244,664. 
     RELATED APPLICATIONS 
     This application claims the benefit of U.S. Provisional Patent Application No. 61/354,551, filed Jun. 14, 2010, and entitled “A system and method for determining quality of cited objects in search results,” and is hereby incorporated herein by reference. 
     This application claims the benefit of U.S. Provisional Patent Application No. 61/354,584, filed Jun. 14, 2010, and entitled “A system and method for identifying and propagating citations from negative influence sources,” and is hereby incorporated herein by reference. 
     This application claims the benefit of U.S. Provisional Patent Application No. 61/354,556, filed Jun. 14, 2010, and entitled “A system and method for ranking and displaying search results based on influence of the sources,” and is hereby incorporated herein by reference. 
     This application claims the benefit of U.S. Provisional Patent Application No. 61/354,559, filed Jun. 14, 2010, and entitled “A system and method for determining influence of internet authors,” and is hereby incorporated herein by reference. 
    
    
     BACKGROUND 
     Knowledge is increasingly more germane to our exponentially expanding information-based society. Perfect knowledge is the ideal that participants seek to assist in decision making and for determining preferences, affinities, and dislikes. Practically, perfect knowledge about a given topic is virtually impossible to obtain unless the inquirer is the source of all of information about such topic (e.g., autobiographer). Armed with more information, decision makers are generally best positioned to select a choice that will lead to a desired outcome/result (e.g., which restaurant to go to for dinner). However, as more information is becoming readily available through various electronic communications modalities (e.g., the Internet), one is left to sift through what is amounting to a myriad of data to obtain relevant and, more importantly, trust worthy information to assist in decision making activities. Although there are various tools (e.g., search engines, community boards with various ratings), there lacks any indicia of personal trustworthiness (e.g., measure of the source&#39;s reputation and/or influence) with located data. 
     Currently, a person seeking to locate information to assist in a decision, to determine an affinity, and/or identify a dislike can leverage traditional non-electronic data sources (e.g., personal recommendations—which can be few and can be biased) and/or electronic data sources such as web sites, bulletin boards, blogs, and other sources to locate (sometimes rated) data about a particular topic/subject (e.g., where to stay when visiting San Francisco). Such an approach is time consuming and often unreliable as with most of the electronic data there lacks an indicia of trustworthiness of the source of the information. Failing to find a plethora (or spot on) information from immediate non-electronic and/or electronic data source(s), the person making the inquiry is left to make the decision using limited information, which can lead to less than perfect predictions of outcomes, results, and can lead to low levels of satisfaction undertaking one or more activities for which information was sought. 
     Current practices also do not leverage trustworthiness of information or, stated differently, attribute a value to the influence of the source of data (e.g., referral). With current practices, the entity seeking the data must make a value judgment on the influence of the data source. Such value judgment is generally based on previous experiences with the data source (e.g., rely on Mike&#39;s restaurant recommendations as he is a chef and Laura&#39;s hotel recommendations in Europe as she lived and worked in Europe for 5 years). Unless the person making the inquiry has an extensive network of references from which to rely to obtain desired data needed to make a decision, most often, the person making the decision is left to take a risk or “roll the dice” based on best available non-attributed (non-reputed) data. Such a prospect often leads certain participants from not engaging in a contemplated activity. Influence accrued by persons in such a network of references is subjective. In other words, influence accrued by persons in such a network of references appear differently to each other person in the network, as each person&#39;s opinion is formed by their own individual networks of trust. 
     Real world trust networks follow a small-world pattern, that is, where everyone is not connected to everyone else directly, but most people are connected to most other people through a relatively small number of intermediaries or “connectors”. Accordingly, this means that some individuals within the network may disproportionately influence the opinion held by other individuals. In other words, some people&#39;s opinions may be more influential than other people&#39;s opinions. 
     As referred to herein, influence is provided for augmenting reputation, which may be subjective. In some embodiments, influence is provided as an objective measure. For example, influence can be useful in filtering opinions, information, and data. It will be appreciated that reputation and influence provide unique advantages in accordance with some embodiments for the ranking of individuals or products or services of any type in any means or form. Therefore, there is a need to determine the influence of influence of the citing authors/sources/subjects, and take the influence of the citing subjects into consideration while soliciting their opinions and/or ranking the search results. 
     The foregoing examples of the related art and limitations related therewith are intended to be illustrative and not exclusive. Other limitations of the related art will become apparent upon a reading of the specification and a study of the drawings. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG. 1  depicts an example of a citation graph used to support determination of quality of cited objects in search results based on the influence of the citing subjects. 
         FIG. 2  depicts an example of a system diagram to support determination of quality of cited objects in search results based on the influence of the citing subjects. 
         FIG. 3  depicts an example of a flowchart of a process to support determination of quality of cited objects in search results based on the influence of the citing subjects. 
     
    
    
     DETAILED DESCRIPTION OF EMBODIMENTS 
     The approach is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” or “some” embodiment(s) in this disclosure are not necessarily to the same embodiment, and such references mean at least one. 
     A new approach is proposed that contemplates systems and methods to examine and determine quality of objects cited by citations in a search result based on a citation graph that includes citing subjects, citations, and cited objects. Here, each citation may describe, for a non-limiting example, an opinion of an object by a source/subject, such as an Internet user of the object. The citations can be but are not limited to, Tweets, blog posts, and reviews of objects on Internet web sites. First, influence scores of a plurality of subjects/sources that compose the citations of the objects in the search result are calculated. The quality of the objects cited by the subjects can then be determined by examining the influence scores for the subjects of the citations. More specifically, the objects cited in the search result can be selected and ranked based on influence-weighted citation scores for the search result, wherein objects appear in the search result are ranked based on both a ranking function of the citations for the objects matching the query term of the search as well as influence of the sources of the citations. The cited objects selected can then be presented to a user or provided to a thirty party for further processing together with the relevant citations and citing subjects. 
     Citation Graph 
     An illustrative implementation of systems and methods described herein in accordance with some embodiments includes a citation graph  100  as shown in  FIG. 1 . In the example of  FIG. 1 , the citation graph  100  comprises a plurality of citations  104 , each describing an opinion of the object by a source/subject  102 . The nodes/entities in the citation graph  100  are characterized into two categories, 1) subjects  102  capable of having an opinion or creating/making citations  104 , in which expression of such opinion is explicit, expressed, implicit, or imputed through any other technique; and 2) objects  106  cited by citations  104 , about which subjects  102  have opinions or make citations. Each subject  102  or object  106  in graph  100  represents an influential entity, once an influence score for that node has been determined or estimated. More specifically, each subject  102  may have an influence score indicating the degree to which the subject&#39;s opinion influences other subjects and/or a community of subjects, and each object  106  may have an influence score indicating the collective opinions of the plurality of subjects  102  citing the object. 
     In some embodiments, subjects  102  representing any entities or sources that make citations may correspond to one or more of the following:
         Representations of a person, web log, and entities representing Internet authors or users of social media services including one or more of the following: blogs, Twitter, or reviews on Internet web sites;   Users of microblogging services such as Twitter;   Users of social networks such as MySpace or Facebook, bloggers;   Reviewers, who provide expressions of opinion, reviews, or other information useful for the estimation of influence.       

     In some embodiments, some subjects/authors  102  who create the citations  104  can be related to each other, for a non-limiting example, via an influence network or community and influence scores can be assigned to the subjects  102  based on their authorities in the influence network. 
     In some embodiments, objects  106  cited by the citations  104  may correspond to one or more of the following: Internet web sites, blogs, videos, books, films, music, image, video, documents, data files, objects for sale, objects that are reviewed or recommended or cited, subjects/authors, natural or legal persons, citations, or any entities that are or may be associated with a Uniform Resource Identifier (URI), or any form of product or service or information of any means or form for which a representation has been made. 
     In some embodiments, the links or edges  104  of the citation graph  100  represent different forms of association between the subject nodes  102  and the object nodes  106 , such as citations  104  of objects  106  by subjects  102 . For non-limiting examples, citations  104  can be created by authors citing targets at some point of time and can be one of link, description, keyword or phrase by a source/subject  102  pointing to a target (subject  102  or object  106 ). Here, citations may include one or more of the expression of opinions on objects, expressions of authors in the form of Tweets, blog posts, reviews of objects on Internet web sites Wikipedia entries, postings to social media such as Twitter or Jaiku, postings to websites, postings in the form of reviews, recommendations, or any other form of citation made to mailing lists, newsgroups, discussion forums, comments to websites or any other form of Internet publication. 
     In some embodiments, citations  104  can be made by one subject  102  regarding an object  106 , such as a recommendation of a website, or a restaurant review, and can be treated as representation an expression of opinion or description. In some embodiments, citations  104  can be made by one subject  102  regarding another subject  102 , such as a recommendation of one author by another, and can be treated as representing an expression of trustworthiness. In some embodiments, citations  104  can be made by certain object  106  regarding other objects, wherein the object  106  is also a subject. 
     In some embodiments, citation  104  can be described in the format of (subject, citation description, object, timestamp, type). Citations  104  can be categorized into various types based on the characteristics of subjects/authors  102 , objects/targets  106  and citations  104  themselves. Citations  104  can also reference other citations. The reference relationship among citations is one of the data sources for discovering influence network. 
       FIG. 2  depicts an example of a system diagram to support determination of quality of cited objects in search results based on the influence of the citing subjects. Although the diagrams depict components as functionally separate, such depiction is merely for illustrative purposes. It will be apparent that the components portrayed in this figure can be arbitrarily combined or divided into separate software, firmware and/or hardware components. Furthermore, it will also be apparent that such components, regardless of how they are combined or divided, can execute on the same host or multiple hosts, and wherein the multiple hosts can be connected by one or more networks. 
     In the example of  FIG. 2 , the system  200  includes at least citation search engine  204 , influence evaluation engine  204 , and object selection engine  206 . As used herein, the term engine refers to software, firmware, hardware, or other component that is used to effectuate a purpose. The engine will typically include software instructions that are stored in non-volatile memory (also referred to as secondary memory). When the software instructions are executed, at least a subset of the software instructions is loaded into memory (also referred to as primary memory) by a processor. The processor then executes the software instructions in memory. The processor may be a shared processor, a dedicated processor, or a combination of shared or dedicated processors. A typical program will include calls to hardware components (such as I/O devices), which typically requires the execution of drivers. The drivers may or may not be considered part of the engine, but the distinction is not critical. 
     In the example of  FIG. 2 , each of the engines can run on one or more hosting devices (hosts). Here, a host can be a computing device, a communication device, a storage device, or any electronic device capable of running a software component. For non-limiting examples, a computing device can be but is not limited to a laptop PC, a desktop PC, a tablet PC, an iPod, an iPhone, an iPad, Google&#39;s Android device, a PDA, or a server machine. A storage device can be but is not limited to a hard disk drive, a flash memory drive, or any portable storage device. A communication device can be but is not limited to a mobile phone. 
     In the example of  FIG. 2 , citation search engine  202 , influence evaluation engine  204 , and object selection engine  206  each has a communication interface (not shown), which is a software component that enables the engines to communicate with each other following certain communication protocols, such as TCP/IP protocol, over one or more communication networks (not shown). Here, the communication networks can be but are not limited to, internet, intranet, wide area network (WAN), local area network (LAN), wireless network, Bluetooth, WiFi, and mobile communication network. The physical connections of the network and the communication protocols are well known to those of skill in the art. 
     Citation Search 
     In the example of  FIG. 2 , citation search engine  202  enables a citation search process, which unlike the “classical web search” approaches that is object/target-centric and focuses only on the relevance of the objects  106  to the searching criteria, the search process adopted by citation search engine  202  is “citation” centric, focusing on influence of the citing subjects  102  that cite the objects. In addition, the classical web search retrieves and ranks objects  106  based on attributes of the objects, while the proposed search approach adds citation  104  and subject/author  102  dimensions. The extra metadata associated with subjects  102 , citations  104 , and objects  106  provide better ranking capability, richer functionality and higher efficiency for the searches. 
     In some embodiments, the citation search/query request processed by citation search engine  202  may accept and enforce various criteria/terms on citation searching, retrieving and ranking, each of which can either be explicitly described by a user or best guessed by the system based on internal statistical data. Such criteria include but are not limited to, 
     a) Constraints for the citations, including but are not limited to,
         Description: usually the text search query;   Time range of the citations;   Author: such as from particular author or sub set of authors;   Type: types of citations;       

     b) Types of the cited objects: the output can be objects, authors or citations of the types including but are not limited to,
         Target types: such as web pages, images, videso, people   Author types: such as expert for certain topic   Citation types: such as tweets, comments, blog entries       

     c) Ranking bias of the cited objects: which can be smartly guessed by the system or specified by user including but are not limited to,
         Time bias: recent; point of time; event; general knowledge; auto   View point bias: such as general view or perspective of certain people.   Type bias: topic type, target type.
 
Influence Evaluation
       

     In the example of  FIG. 2 , influence evaluation engine  204  calculates influence scores of entities (subjects  102  and/or objects  106 ), wherein such influence scores can be used to determine at least in part, in combination with other methods and systems, the ranking of any subset of objects  106  obtained from a plurality of citations  104  from citation search results. 
     In some embodiments, influence evaluation engine  204  measures influence and reputation of subjects  102  that compose the plurality of citations  104  citing the plurality of objects  106  on dimensions that are related to, for non-limiting examples, one or more of the specific topic or objects (e.g., automobiles or restaurants) cited by the subjects, or form of citations (e.g., a weblog or Wikipedia entry or news article or Twitter feed), or search terms (e.g., key words or phrases specified in order to define a subset of all entities that match the search term(s)), in which a subset of the ranked entities are made available based on selection criteria, such as the rank, date or time, or geography/location associated with the entity, and/or any other selection criteria. 
     In some embodiments, influence evaluation engine  204  determines an influence score for a first subject or source at least partly based on how often a first subject is cited or referenced by a (another) second subject(s). Here, each of the first or the second subject can be but is not limited to an internet author or user of social media services, while each citation describes reference by the second subject to a citation of an object by the first subject. The number of the citations or the citation score of the first subject by the second subjects is computed and the influence of the second subjects citing the first subject can also be optionally taken into account in the citation score. For a non-limiting example, the influence score of the first subject is computed as a function of some or all of: the number of citations of the first subject by second subjects, a score for each such citation, and the influence score of the second subjects. Once computed, the influence of the first subject as reflected by the count of citations or citation score of the first subject or subject can be displayed to the user at a location associated with the first subject, such as the “profile page” of the first subject, together with a list of the second subjects citing the first subjects, which can be optionally ranked by the influences of the second subject. 
     In some embodiments, influence evaluation engine  204  allows for the attribution of influence on subjects  102  to data sources (e.g., sources of opinions, data, or referrals) to be estimated and distributed/propagated based on the citation graph  100 . More specifically, an entity can be directly linked to any number of other entities on any number of dimensions in the citation graph  100 , with each link possibly having an associated score. For a non-limiting example, a path on a given dimension between two entities, such as a subject  102  and an object  106 , includes a directed or an undirected link from the source to an intermediate entity, prefixed to a directed or undirected path from the intermediate entity to the object  106  in the same or possibly a different dimension. 
     In some embodiments, influence evaluation engine  204  estimates the influence of each entity as the count of actual requests for data, opinion, or searches relating to or originating from other entities, entities with direct links to the entity or with a path in the citation graph, possibly with a predefined maximum length, to the entity; such actual requests being counted if they occur within a predefined period of time and result in the use of the paths originating from the entity (e.g., representing opinions, reviews, citations or other forms of expression) with or without the count being adjusted by the possible weights on each link, the length of each path, and the level of each entity on each path. 
     In some embodiments, influence evaluation engine  204  adjusts the influence of each entity by metrics relating to the citation graph comprising all entities or a subset of all linked entities. For a non-limiting example, such metrics can include the density of the graph, defined as the ratio of the number of links to the number of linked entities in the graph; such metrics are transformed by mathematical functions optimal to the topology of the graph, such as where it is known that the distribution of links among entities in a given graph may be non-linear. An example of such an adjustment would be the operation of estimating the influence of an entity as the number of directed links connecting to the entity, divided by the logarithm of the density of the citation graph comprising all linked entities. For example, such an operation can provide an optimal method of estimating influence rapidly with a limited degree of computational complexity. 
     In some embodiments, influence evaluation engine  204  optimizes the estimation of influence for different contexts and requirements of performance, memory, graph topology, number of entities, and/or any other context and/or requirement, by any combination of the operations described above in paragraphs above, and any similar operations involving metrics including but not limited to values comprising: the number of potential source entities to the entity for which influence is to be estimated, the number of potential target entities, the number of potential directed paths between any one entity and any other entity on any or all given dimensions, the number of potential directed paths that include the entity, the number of times within a defined period that a directed link from the entity is used for a scoring, search or other operation(s). 
     Object Ranking 
     In the example of  FIG. 2 , object selection engine  206  utilizes influence scores of the citing subjects  102  and the number of their citations  104  to determine the selection and ranking of objects  106  cited by the citations, wherein the objects include but are not limited to documents on the Internet, products, services, data files, legal or natural persons, or any entities in any form or means that can be searched or cited over a network. Here, object selection engine  206  selects and ranks the cited objects based on ranking criteria that include but are not limited to, influence scores of the citing subjects, date or time, geographical location associated with the objects, and/or any other selection criteria. 
     In some embodiments, object selection engine  206  calculates and ranks the influence scores of the cited objects based on attributes of one or more of the following scoring components in combination with other attributes of objects including semantic or descriptive data regarding the objects:
         Subjects of the citations: such as influence scores of the subjects/authors, expertise of the subjects on the give topic, perspective bias on the subjects of the citations.   Citations: such as text match quality (e.g., content of citations matching search terms), number of citations, date of the citations, and other citations related to the same cited object, time bias, type bias etc.       

     For a non-limiting example, in the example depicted in  FIG. 1 , citing subject Author One has an influence score of 10, which composes Citation  1 . 1  and Citation  1 . 2 , wherein Citation  1 . 1  cites Target One once while Citation  1 . 2  cites Target Two twice; citing subject Author Two has an influence score of 5, which composes Citation  2 . 1 , which cites Target One three times; citing subject Author Three has an influence score of 4, which composes Citation  3 . 2 , which cites Target Two four times. Based on the influence scores of the authors alone, object selection engine  206  calculates the influence score of Target One as 10*1+3*5=25, while the influence score of Target Two is calculated as 10*2+4*4=36. Since Target Two has a higher influence score than Target One, it should be ranked higher than Target One in the final search result. 
       FIG. 3  depicts an example of a flowchart of a process to support determination of quality of cited objects in search results based on the influence of the citing subjects. Although this figure depicts functional steps in a particular order for purposes of illustration, the process is not limited to any particular order or arrangement of steps. One skilled in the relevant art will appreciate that the various steps portrayed in this figure could be omitted, rearranged, combined and/or adapted in various ways. 
     In the example of  FIG. 3 , the flowchart  300  starts at block  302  where citation searching, retrieving and ranking criteria and mechanisms are set and adjusted based on user specification and/or internal statistical data. The flowchart  300  continues to block  304  where a plurality of citations of objects that fit the search criteria, such as text match, time filter, author filter, type filter, are retrieved. The flowchart  300  continues to block  306  where influence scores of a plurality of subjects that compose the plurality of citations of objects are calculated. The flowchart  300  continues to block  308  where influence scores of objects in the citations from the search are calculated based on the influence scores of the plurality of subjects and the ranking criteria. The flowchart  300  ends at block  310  where objects are selected as the search result based on the matching of the objects with the searching criteria as well as influence scores of the objects. 
     In some embodiments, object selection engine  206  determines the qualities of the cited objects by examining the distribution of influence scores of subjects citing the objects in the search results. For a non-limiting example, one measure of the influence distribution is the ratio of the number of citations from the “influential” and the “non-influential” subjects, where “influential” subjects may, for a non-limiting example, have an influence score higher than a threshold determined by the percentile distribution of all influence scores. Object selection engine  206  accepts only those objects that show up in the citation search results if their citation ratios from “influential” and “non-influential” subjects are above a certain threshold while others can be marked as spam if the ratio of their citation ratios from “influential” and “non-influential” subjects fall below the certain threshold, indicating that they are most likely cited from spam subjects. 
     In some embodiments, object selection engine  206  calculates and ranks cited objects by treating citations of the objects as connections having positive or negative weights in a weighted citation graph. A citation with implicit positive weight can include, for a non-limiting example, a retweet or a link between individual blog posts or web cites, while a citation with negative weight can include, for a non-limiting example, a statement by one subject  102  that another source is a spammer. 
     In some embodiments, object selection engine  206  uses citations with negative weights in a citation graph-based rank/influence calculation approach to propagate negative citation scores through the citation graph. Assigning and propagating citations of negative weights makes it possible to identify clusters of spammers in the citation graph without having each spammer individually identified. Furthermore, identifying subjects/sources  102  with high influence and propagating a few negative citations from such subjects is enough to mark an entire cluster of spammers negatively, thus reducing their influence on the search result. 
     In some embodiments, object selection engine  206  presents the generated search results of cited objects to a user who issues the search request or provides the generated search results to a third party for further processing. In some embodiments, object selection engine  206  presents to the user a score computed from a function combining the count of citations and the influence of the subjects of the citations along with the search result of the objects. In some embodiments, object selection engine  206  displays multiple scores computed from functions combining the counts of subsets of citations and the influence of the source of each citation along with the search result, where each subset may be determined by criteria such as the influence of the subjects, or attributes of the subjects or the citations. For non limiting-examples, the following may be displayed to the user—“5 citations from Twitter; 7 citations from people in Japan; and 8 citations in English from influential users.” The subsets above may be selected and/or filtered either by the object selection engine  206  or by users. 
     In some embodiments, object selection engine  206  selects for display of every object in the search result, one or more citations and the subjects of the citations on the basis of criteria such as the recency or the influence of their citing subjects relative to the other citations in the search result. Object selection engine  206  then displays the selected citations and/or subjects in such a way that the relationship between the search result, the citations and the subjects of the citations are made transparent to a user. 
     One embodiment may be implemented using a conventional general purpose or a specialized digital computer or microprocessor(s) programmed according to the teachings of the present disclosure, as will be apparent to those skilled in the computer art. Appropriate software coding can readily be prepared by skilled programmers based on the teachings of the present disclosure, as will be apparent to those skilled in the software art. The invention may also be implemented by the preparation of integrated circuits or by interconnecting an appropriate network of conventional component circuits, as will be readily apparent to those skilled in the art. 
     One embodiment includes a computer program product which is a machine readable medium (media) having instructions stored thereon/in which can be used to program one or more hosts to perform any of the features presented herein. The machine readable medium can include, but is not limited to, one or more types of disks including floppy disks, optical discs, DVD, CD-ROMs, micro drive, and magneto-optical disks, ROMs, RAMs, EPROMs, EEPROMs, DRAMs, VRAMs, flash memory devices, magnetic or optical cards, nanosystems (including molecular memory ICs), or any type of media or device suitable for storing instructions and/or data. Stored on any one of the computer readable medium (media), the present invention includes software for controlling both the hardware of the general purpose/specialized computer or microprocessor, and for enabling the computer or microprocessor to interact with a human viewer or other mechanism utilizing the results of the present invention. Such software may include, but is not limited to, device drivers, operating systems, execution environments/containers, and applications. 
     The foregoing description of various embodiments of the claimed subject matter has been provided for the purposes of illustration and description. It is not intended to be exhaustive or to limit the claimed subject matter to the precise forms disclosed. Many modifications and variations will be apparent to the practitioner skilled in the art. Particularly, while the concept “interface” is used in the embodiments of the systems and methods described above, it will be evident that such concept can be interchangeably used with equivalent software concepts such as, class, method, type, module, component, bean, module, object model, process, thread, and other suitable concepts. While the concept “component” is used in the embodiments of the systems and methods described above, it will be evident that such concept can be interchangeably used with equivalent concepts such as, class, method, type, interface, module, object model, and other suitable concepts. Embodiments were chosen and described in order to best describe the principles of the invention and its practical application, thereby enabling others skilled in the relevant art to understand the claimed subject matter, the various embodiments and with various modifications that are suited to the particular use contemplated.