Displaying demographic information of members discussing topics in a forum
09826005 · 2017-11-21
Assignee
Inventors
Cpc classification
H04L51/00
ELECTRICITY
H04L65/403
ELECTRICITY
International classification
Abstract
Users in public forums often mention certain topics in the course of their discussions. Member's comments in messages to other members are analyzed to obtain terms that co-occur with topics. Frequencies of co-occurrence of a term with topics are normalized based on frequency of the term in a random sample of message. The terms are ranked by their normalized frequency of co-occurrence with a topic in messages. The top terms are selected based on their rank. Analysis of demographic information associated with members that mentioned top terms associated with a topic is displayed in graphical format that highlights the relationship between the age, gender, and usage of the top terms over time. The demographic information presented includes average age of members that mentioned a top term or their gender information within a selected time interval.
Claims
1. A computer implemented method, comprising: storing, by a processor, communications between members of an online forum, each communication representing a message received by the server from a particular client device via a network and sent by the server to another client device via the network; receiving, by the processor, from a client device, a topic associated with the communications; determining, by the processor for each of a plurality of terms, a frequency of co-occurrence of the term with the topic in the communications; selecting, by the processor, a top term from the plurality of terms based on the frequency of co-occurrence of each of the plurality of terms with the topic; receiving, from the client device, information describing a first time interval selected using a user interface control presented via a display of the client device; determining, by the processor, a first aggregate demographic value based on a demographic attribute of the members that used the top term during the first time interval; receiving, from the client device, information describing a second time interval selected using the user interface control, wherein the second time interval is subsequent to the first time interval; determining, by the processor, a second aggregate demographic value based on the demographic attribute of the members that used the top term during the second time interval; and presenting on the display of the client device, a user interface displaying a graph including at least one axis representing the demographic attribute of the members that used the top term and a geometric shape representing the top term co-occurring with the topic in the communications, the user interface presenting variation of the demographic attribute of the members that used the top term with respect to time based on the first aggregate demographic value and the second aggregate demographic value.
2. The method of claim 1, further comprising: determining a third aggregate demographic value based on a demographic attribute of the members that used the top term during a third time interval; and formatting the user interface further based on the third aggregate demographic value.
3. The method of claim 1, further comprising: determining a second top term associated with the topic based on the communications between the members of the online forum; determining a third aggregate demographic value based on the demographic attribute of the members that used the second top term during the first time interval; determining a fourth aggregate demographic value based on the demographic attribute of the members that used the second top term during the second time interval; and formatting the user interface to further display variation of the demographic attribute of the members that used the second top term with respect to time based on the third aggregate demographic value and the fourth aggregate demographic value.
4. The method of claim 1, wherein the top term is selected based on a normalized frequency of co-occurrence of the top term with the topic.
5. The method of claim 1, wherein the user interface includes an axis representing a second demographic attribute.
6. The method of claim 5, wherein the user interface includes a second axis representing time.
7. The method of claim 1, wherein the demographic attribute comprises age.
8. The method of claim 1, wherein the demographic attribute comprises gender.
9. The method of claim 1, further comprising: determining an advertisement associated with the top term; determining a first measure of effectiveness of the advertisement collected over the first time interval based on statistical information describing top terms associated with the first aggregate demographic value; and determining a second measure of effectiveness of the advertisement collected over the second time interval based on statistical information describing top terms associated with the second aggregate demographic value.
10. The method of claim 9, further comprising: formatting the user interface to further display variation of the effectiveness of the advertisement with respect to time based on determined first measure of effectiveness and the determined second measure of effectiveness.
11. The method of claim 1, wherein the user interface comprises one of a two-dimensional graph, a three-dimensional graph, and a histogram.
12. The method of claim 1, wherein the user interface comprises an interactive slider configured to the display one of the first aggregate demographic value and the second aggregate demographic value based on the position of the slider.
13. A non-transitory computer-readable storage medium storing computer-executable code comprising instructions for: storing, by a processor, communications between members of an online forum, each communication representing a message received by the server from a particular client device via a network and sent by the server to another client device via the network; receiving, by the processor, from a client device, a topic associated with the communications; determining, by the processor for each of a plurality of terms, a frequency of co-occurrence of the term with the topic in the communications; selecting, by the processor, a top term from the plurality of terms based on the frequency of co-occurrence of each of the plurality of terms with the topic; receiving, from the client device, information describing a first time interval selected using a user interface control presented via a display of the client device; determining, by the processor, a first aggregate demographic value based on a demographic attribute of the members that used the top term during the first time interval; receiving, from the client device, information describing a second time interval selected using the user interface control, wherein the second time interval is subsequent to the first time interval; determining, by the processor, a second aggregate demographic value based on the demographic attribute of the members that used the top term during the second time interval; and presenting on the display of the client device, a user interface displaying a graph including at least one axis representing the demographic attribute of the members that used the top term and a geometric shape representing the top term co-occurring with the topic in the communications, the user interface presenting variation of the demographic attribute of the members that used the top term with respect to time based on the first aggregate demographic value and the second aggregate demographic value.
14. The non-transitory computer-readable storage medium of claim 13, further sending instructions for: determining a third aggregate demographic value based on a demographic attribute of the members that used the top term during a third time interval; and formatting the user interface further based on the third aggregate demographic value.
15. The non-transitory computer-readable storage medium of claim 13, further sending instructions for: determining a second top term associated with the topic based on the communications between the members of the online forum; determining a third aggregate demographic value based on the demographic attribute of the members that used the second top term during the first time interval; determining a fourth aggregate demographic value based on the demographic attribute of the members that used the second top term during the second time interval; and formatting the user interface to further display variation of the demographic attribute of the members that used the second top term with respect to time based on the third aggregate demographic value and the fourth aggregate demographic value.
16. The non-transitory computer-readable storage medium of claim 13, wherein the top term is selected based on a normalized frequency of co-occurrence of the top term with the topic.
17. The non-transitory computer-readable storage medium of claim 13, wherein the user interface includes an axis representing a second demographic attribute.
18. The non-transitory computer-readable storage medium of claim 17, wherein the user interface includes a second axis representing time.
19. The non-transitory computer-readable storage medium of claim 13, wherein the demographic attribute comprises age.
20. The non-transitory computer-readable storage medium of claim 13, wherein the demographic attribute comprises gender.
21. The non-transitory computer-readable storage medium of claim 13, further sending instructions for: determining an advertisement associated with the top term; determining a first measure of effectiveness of the advertisement collected over the first time interval based on statistical information describing top terms associated with the first aggregate demographic value; and determining a second measure of effectiveness of the advertisement collected over the second time interval based on statistical information describing top terms associated with the second aggregate demographic value.
22. The non-transitory computer-readable storage medium of claim 21, further comprising instructions for: formatting the user interface to further display variation of the effectiveness of the advertisement with respect to time based on determined first measure of effectiveness and the determined second measure of effectiveness.
23. The non-transitory computer-readable storage medium of claim 13, wherein the user interface comprises one of a two-dimensional graph, a three-dimensional graph, and a histogram.
24. The non-transitory computer-readable storage medium of claim 13, wherein the user interface comprises an interactive slider configured to the display one of the first aggregate demographic value and the second aggregate demographic value based on the position of the slider.
25. The method of claim 1, further comprising: determining, by the processor, a plurality of ranges of values of the demographic attribute; identifying, by the processor, a range in the plurality of ranges as a minority group if the number of members in the range is below a threshold value, wherein each of the first aggregate value and the second aggregate value is determined as a weighted aggregate value of the demographic attribute of the members that used the top term during the first time interval, the weighted aggregate value weighing users of the range identified as the minority group higher than users of one or more other ranges.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1)
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10) The figures depict various embodiments of the present invention for purposes of illustration only. One skilled in the art will readily recognize from the following discussion that alternative embodiments of the structures and methods illustrated herein may be employed without departing from the principles of the invention described herein.
DETAILED DESCRIPTION
(11) Social Networking Website
(12) A social networking website offers its members the ability to communicate and interact with other members of the website. In use, members join the social networking website and then add connections to a number of other members to whom they desire to be connected. As used herein, the term “friend” refers to any other member to whom a member has formed a connection, association, or relationship via the website. Connections may be added explicitly by a member, for example, the member selecting a particular other member to be a friend, or automatically created by the social networking site based on common characteristics of the members (e.g., members who are alumni of the same educational institution). Connections in social networking websites are usually in both directions, but need not be, so the terms “member” and “friend” depend on the frame of reference. For example, if Bob and Joe are both members and connected to each other in the website, Bob and Joe, both members, are also each other's friends. The connection between members may be a direct connection; however, some embodiments of a social networking website allow the connection to be indirect via one or more levels of connections. Also, the term friend need not require that members actually be friends in real life, (which would generally be the case when one of the members is a business or other entity); it simply implies a connection in the social networking website.
(13) In addition to interactions with other members, the social networking website provides members with the ability to take actions on various types of items supported by the website. These items may include groups or networks (where “networks” here refer not to physical communication networks, but rather to social networks of people) to which members of the website may belong, events or calendar entries in which a member might be interested, computer-based applications that a member may use via the website, and transactions that allow members to buy, sell, auction, rent, or exchange items via the website. These are just a few examples of the items upon which a member may act on a social networking website, and many others are possible.
(14) As illustrated in
(15) The member of the website 100 may take specific actions on the website 100, where each action is associated with one or more objects. The types of actions that a member may perform in connection with an object is defined for each object and largely depends on the type of item represented by the object. A particular action may be associated with multiple objects. Described below are a number of examples of particular types of objects that may be defined for the social networking website 100, as well as a number of actions that can be taken for each object. These objects and the actions discussed herein are provided for illustration purposes only, and it can be appreciated that an unlimited number of variations and features can be provided on a social networking website 100.
(16) A group 110 may be defined for a group or network of members. For example, a member may define a group to be a fan club for a particular band. The website 100 would maintain a group 110 for that fan club, which might include information about the band, media content (e.g., songs or music videos) by the band, and discussion boards on which members of the group can comment about the band. Accordingly, member actions that are possible with respect to a group 110 might include joining the group, viewing the content, listening to songs, watching videos, and posting a message on the discussion board.
(17) Similarly, an event 115 may be defined for a particular event, such as a birthday party. A member may create the event 115 by defining information about the event such as the time and place and a list of invitees. Other members may accept the invitation, comment about the event, post their own content (e.g., pictures from the event), and perform any other actions enabled by the website 100 for the event 115. Accordingly, the creator of the event 115 as well as the invitees for the event may perform various actions that are associated with that event 115.
(18) Another type of object shown in the example of
(19) The social networking website 100 maintains a member profile 105 for each member of the website 100. The member profile contains demographic information such as age, gender, education, marital status, and financial information associated with the member. Members send messages to other members for interaction and any message that a particular member sends to another member is associated with the profile 105 of the member that sent the message through information maintained in a database or other data repository, such as the message log 160. Such messages may include, for example, a message posted on a discussion board, email communications with other members and the like.
(20) The topic store 175 stores keywords provided by topic providers 185 that the topic providers are interested in analyzing. For example, political analysts may provide topics related to politics or sports enthusiasts may provide topics related to sports. Each topic provider 185 can provide one or more topic keywords that they are interested in tracking. The topic store 175 stores the association between the topics and the topics provider 185 that provided the topic.
(21) One source of topic terms is those that are related to products and brands. Members of social networks occasionally refer to brand names and products of vendors during their communications with each other. This information is very valuable for vendors that spend significant amount of resources in advertising for building brand names for their products since such information arises during ordinary discourse between current and potential users of the vendors' products. This information represents how members of the social network actually use a vendor's brand names in their normal discourse with other members.
(22) The messages sent by the members to other members are analyzed by the top terms generator 170 to identify the topics provided by topics provider 185. The top terms generator 170 extracts significant words and phrases (herein “terms”) that co-occur with the topics provided by the topics provider 185. The terms associated with the topics are ranked in order of their significance and the most significant terms, called the top terms 180 are computed by the top terms generator 170.
(23) The top terms 180 computed by the top terms generator 170 are further analyzed by the top terms analytic engine 190 in view of the demographics of the members that provided the messages that contained a given top term. This analysis contains valuable information, for example, the distribution of the use of a top term by the age and gender of the members that used the top term in a message. The top terms analytic engine 190 presents information in a graphical user interface that presents the information in an easy to understand fashion.
(24) System Architecture
(25)
(26) The client devices 210 comprise one or more computing devices that can receive member input and can transmit and receive data via the network 215. For example, the client devices 210 may be desktop computers, laptop computers, smart phones, personal digital assistants (PDAs), or any other device including computing functionality and data communication capabilities. The client devices 210 are configured to communicate via network 215, which may comprise any combination of local area and/or wide area networks, using both wired and wireless communication systems.
(27) The social networking website 100 comprises a computing system that allows members to communicate or otherwise interact with each other and access content as described herein. The social networking website 100 stores member profiles 105 in the member profile store 230 that describe the members of a social network, including biographic, demographic, and other types of descriptive information, such as age, gender, work experience, educational history, hobbies or preferences, location, and the like. The website 100 further stores data describing one or more relationships between different members. The relationship information may indicate members who have similar or common work experience, group memberships, hobbies, or educational history. Additionally, the social network host site 100 includes member-defined relationships between different members, allowing members to specify their relationships with other members. For example, these member defined relationships allow members to generate relationships with other members that parallel the members' real-life relationships, such as friends, co-workers, partners, and so forth. Members may select from predefined types of relationships, or define their own relationship types as needed.
(28) The social networking website 100 includes a web server 220, a wall application 225, a top terms generator 170, a message logger 240, a top terms analytic engine 190, a message log 160, a member profile store 230, an application data store 235, a topics store 245, a group store 250, and an event store 255. In other embodiments, the social networking website 100 may include additional, fewer, or different modules for various applications. Conventional components such as network interfaces, security mechanisms, load balancers, failover servers, management and network operations consoles, and the like are not shown so as to not obscure the details of the system.
(29) The web server 220 links the social networking website 100 via the network 215 to one or more client devices 210; the web server 220 serves web pages, as well as other web-related content, such as Java, Flash, XML, and so forth. The web server 220 may include a mail server or other messaging functionality for receiving and routing messages between the social networking website 100 and the client devices 210. The messages can be instant messages, queued messages (e.g., email), text and SMS messages, or any other suitable messaging technique.
(30) The wall application 225 is an application provided by the social networking website that allows members to post messages for other members. A member can post on his or her own wall, as well as walls of the member's friends. Any friend of a member or a friend of a friend of the member or any member of the social network can see what is written on the member's wall depending on the privacy settings of the member. For example a member may post a message to the member's friend informing the friend about a movie that the member watched or about a restaurant that the member went to.
(31) The message logger 240 is capable of receiving communications from the web server 220 about messages sent by members to other members such as the messages posted using the wall application. The message logger 240 populates the message log 160 with information about each message, including the text of each message, metadata associated with each message, and information that allows linking the message to the member profile 105 of the member who posted the member.
(32) As discussed above, the social networking website 100 maintains data about a number of different types of objects with which a member may interact on the website 100. To this end, each of the member profile store 230, application data store 235, the topics store 175, the group store 250, and the event store 255 stores instances of the corresponding type of object maintained by the website 100. Each object type has information fields that are suitable for storing the information appropriate to the type of object. For example, the event store 255 contains data structures that include the time and location for an event, whereas the member profile store 230 contains data structures with fields suitable for describing a member's profile. The topics store contains data structures and fields suitable for describing the topics that the topics providers 185 would like to track. When a new object of a particular type is created, the website 100 initializes a new data structure of the corresponding type, assigns a unique object identifier to it, and begins to add data to the object as needed. This might occur, for example, when a member defines a new event, wherein the website 100 would generate a new instance of an event in the event store 255, assign a unique identifier to the event, and begin to populate the fields of the event with information provided by the member.
(33) The top terms generator 170 uses the information available in the message log 160 and the topics available in the topics store 175 to generate the significant top terms 180 that co-occur with the topics in the messages. The top terms analytics engine 190 provides analysis of statistical information associated with the top terms 180 computed by the top terms generator 170 based on information comprising the demographics of the members that contributed to the top terms.
(34) Top Term Calculation
(35)
(36) Given the message log 160 (or any portion thereof) and the topic store 175, the following process is performed by the top terms generator 170 for each topic (or for each of a selected subset of topics) stored in the topic store 175. The top terms generator 170 identifies 310 all messages in message log 160 that mention the topic being tracked, e.g., where the topic is included in the text of the message. This identification 310 may be done by a scan of the messages in the message log 160 or by use of an index. Naturally, each such message contains words and phrases other than the topic being analyzed. A phrase is characterized by a sequence of n words from the message called an n-gram. A phrase that is a sequence of two words is called a bigram and a phrase that is a sequence of three words is called a trigram. An embodiment of the invention collects 315 all the words and bigrams that occur in the messages that mention the given topic. Other embodiments may collect 315 n-grams with more than two words, for example trigrams. These words and phrases that co-occur with the topic in the message are called “terms.” The terms are preferably filtered to exclude stop words (e.g., preposition, articles, and the like) unless the stop word occurs as part of longer term.
(37) The top terms generator 170 further computes 320 the co-occurrence frequency of terms that co-occur with the given topic by calculating the number of times a term occurs in the messages where the given topic was mentioned. This frequency provides a measure of the popularity of the term mentioned in conjunction with the given topic. The frequency of co-occurrence of a term with a topic is used to compute 325 a normalized frequency of co-occurrence of the term with the topic. In one embodiment, the normalized frequency is the ratio of the frequency of co-occurrence of the term with the given topic and the base frequency of occurrence of the term. The base frequency is computed 350 based on an estimate of the number of occurrences of the term in a sample of messages. Other ways of normalizing co-occurrence frequencies can be used as well.
(38) All terms that co-occur with a given topic can be ranked 330 by their respective normalized co-occurrence frequency values. The top ranked terms are selected 335 and are deemed the significant terms of interest to the advertiser that provided the topic and are called “top terms” 180. Analysis may be performed to combine 340 terms that are likely to belong to a larger phrase. For example, a phrase including more than two words results in multiple bigrams formed by subsequences of two words that form part of the larger phrase. For example, the phrase “four score and seven” results in three different bigrams, “four score,” “score and,” “and seven.” These bigrams are not separate phrases but are parts of a larger phrase and should be associated together. The top terms analytics engine 190 performs analysis 345 of the top terms 180 associated with a topic Ti based on demographics of the authors of the messages containing the top terms 180.
(39) One embodiment associates two terms t1 and t2 that are contained in a larger phrase by comparing the sets of members that authored the messages containing the terms. Assume that the set of members that authored messages containing t1 is S1 and the set of members that authored messages containing t2 is S2. A score called “set dissimilarity score” of the terms t1 and t2, SS(t1, t2) is computed for t1 and t2 based on the Jaccard distance between the sets S1 and S2 as follows:
(40)
(41) Where:
(42) |S1∩S2| is the number of elements in the intersection of the sets S1 and S2
(43) |S1∪S2| is the number of elements in the union of the sets S1 and S2
(44) The size of the intersection set of S1 and S2 is a measure of the number of members that mentioned both the terms t1 and t2 in a message. This number includes all members that used the two terms as part of a phrase, since a message containing the phrase must contain both the terms t1 and t2. The size of the union of the sets S1 and S2 is a measure of the number of members that mentioned either t1 or t2 or both. If the two terms are likely to occur only as part of a larger phrase and not as individual terms, the value of |S1∪S2| is close to the value of |S1∩S2| and the ratio of |S1∩S2| and |S1∪S2| has a value close to 1. The set dissimilarity score is computed by subtracting the ratio of |S1∩S2| and |S1∪S2| from 1.
(45) Smaller values of the set dissimilarity score SS(t1, t2) indicate that the sets S1 and S2 are similar. If the value of SS(t1, t2) is below a predetermined threshold, the terms t1 and t2 are considered part of a larger phrase and are treated as one term t12. For example, the terms “four score” and “score and” may be combined into a new term “four score, score and”. The number of occurrences of the combined term t12 is determined using a heuristic computation based on S1 and S2. One embodiment uses the smaller of the two sets S1 and S2 as the member set for the merged term t12. The combined term t12 is then compared to the rest of the top terms 180 to find other terms that may be combined with t12. This process is repeated multiple times so as to combine all terms that occur as part of larger phrases or quotes.
(46) Each occurrence of a term is associated with a message and therefore with the member profile of the member that provided the message. This correlation is used to further calculate statistical information relating the term to the demographic information of the member that provided the message containing the term.
(47) Presentation of Top Terms
(48)
(49) The top terms analytic engine 190 receives the data associated with the top terms 180 and determines how the data is presented. Instead of the entire list of top terms, a subset may be displayed based on selections of top terms indicated using checkboxes 630. The x-axis 610 and y-axis 600 may either display the entire range of possible values of the co-ordinates or a sub-range. If a sub-range of values of x and y coordinates needs to be displayed, the sub-range can be determined based on the x and y coordinate values of the top terms that need to be displayed. For example, if all top terms that need to be displayed occur within a small range of x and y coordinate values, the corresponding range of x and y axes can be displayed instead of the entire range. Alternatively, the ranges of the axes displayed can be determined based on user input. For example, the user may be allowed to specify a region of the graphical display that the user is interested in focusing on. The ranges of x and y coordinate values corresponding to the region selected by the user is presented in the graphical display.
(50) For each top term 180 that is determined to be displayed, the x and y coordinate values, in the coordinate space, corresponding to the top term are calculated to determine the location of the term on the graphical display. For example, for the graphical display shown in
(51) After determining the coordinate values associated with each top term, the pixel location corresponding to each axis is determined for each top term. This is done by scaling the coordinate value in the coordinate space relative to its corresponding axis into a pixel value, and using that as an offset from the origin of the display. For example, in
(52) Alternative embodiments may display different kind of demographic information associated with the top terms based on various ways of computing aggregate values. For example, the coordinate values for the top terms may be computed using aggregate values that give higher weight to members with under-represented demographics (also referred to as a minority group). For example a top term may be mentioned by a small number of members representing age greater than 65 years along with a large number of members within age group 25-40 years. If it is determined that the range of age corresponding to members over 65 years is under-represented, higher weight is given to those members in the calculation of a weighted average age. As a result the weighted average age of the corresponding term is higher than a value indicated by a simple mathematical average. For each axis representing an aggregate demographic value, the ranges of values are analyzed to determine under-represented ranges. The percentage of members of the forum in a range is compared to the percentage of population in the range based on a sample population independent of the forum, for example based on census data. The number of people that mentioned a top term in the above range is weighted appropriately to arrive at an estimate of the value that would be obtained if the population of the forum was an accurate reflection of the real world population. For example, if the percentage of people in a given range that are members of the forum is N %, and the percentage of people in the same range in a population sample is M %, then the number of members that mentioned a top term in the same range is multiplied by the weight N/M in the calculation of the weighted average.
(53) Since the message logger 240 collects messages in the message log 160 on an ongoing basis, the computation of the top terms 180 and the statistical information associated with the top terms 180 can be repeated periodically. The top terms analytic engine 190 can perform trend analysis of the statistical information associated with the top terms 180 associated with a topic Ti. Such trend analysis shows how a specific kind of statistical information changes over time. For example, if a new advertisement is released by an advertiser, the advertiser can collect statistical information indicative of the effectiveness of the advertisement as well as the variation of the effectiveness of the advertisement over time.
(54)
(55)
(56)
(57)
(58)
(59) Also, note that although
(60) Alternative Applications
(61) The foregoing description of the embodiments of the invention has been presented for the purpose of illustration; it is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Persons skilled in the relevant art can appreciate that many modifications and variations are possible in light of the above disclosure.
(62) Some portions of this description describe the embodiments of the invention in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations are commonly used by those skilled in the data processing arts to convey the substance of their work effectively to others skilled in the art. These operations, while described functionally, computationally, or logically, are understood to be implemented by computer programs or equivalent electrical circuits, microcode, or the like. Furthermore, it has also proven convenient at times, to refer to these arrangements of operations as modules, without loss of generality. The described operations and their associated modules may be embodied in software, firmware, hardware, or any combinations thereof.
(63) Any of the steps, operations, or processes described herein may be performed or implemented with one or more hardware or software modules, alone or in combination with other devices. In one embodiment, a software module is implemented with a computer program product comprising a computer-readable medium containing computer program code, which can be executed by a computer processor for performing any or all of the steps, operations, or processes described.
(64) Embodiments of the invention may also relate to an apparatus for performing the operations herein. This apparatus may be specially constructed for the required purposes, and/or it may comprise a general-purpose computing device selectively activated or reconfigured by a computer program stored in the computer. Such a computer program may be stored in a tangible computer readable storage medium or any type of media suitable for storing electronic instructions, and coupled to a computer system bus. Furthermore, any computing systems referred to in the specification may include a single processor or may be architectures employing multiple processor designs for increased computing capability.
(65) Embodiments of the invention may also relate to a computer data signal embodied in a carrier wave, where the computer data signal includes any embodiment of a computer program product or other data combination described herein. The computer data signal is a product that is presented in a tangible medium or carrier wave and modulated or otherwise encoded in the carrier wave, which is tangible, and transmitted according to any suitable transmission method.
(66) Finally, the language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the invention be limited not by this detailed description, but rather by any claims that issue on an application based hereon. Accordingly, the disclosure of the embodiments of the invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.