# Patent

## Title
Generating a consolidated social story for a user of a social networking system

## Abstract

To generate dynamic relationship-based content personalized for members of a social networking system, at least one action of one or more members of the social networking system is associated with relationship data for the one or more members to produce consolidated data. One or more elements associated with the consolidated data is identified and used to aggregate the consolidated data. Further exemplary methods comprise weighting by affinity the aggregated consolidated data to generate dynamic relationship-based content personalized for the members of the web-based social network.

## Background
CROSS REFERENCE TO RELATED APPLICATIONS
This application is a continuation of U.S. application Ser. No. 11/502,757, filed Aug. 11, 2006 now U.S. Pat. No. 7,827,208, which is incorporated by reference in its entirety.


BACKGROUND
The present invention relates generally to social networking, and more particularly to systems and methods for generating dynamic relationship-based content personalized for members of a web-based social network.
As social networking has grown more popular, the information available to each member has become voluminous. Accordingly, members may be inundated with information that does not interest the members. Further, members may find themselves unable to find in a timely and efficient manner the information that does interest them, such as information about their friends and their community. There is therefore a need for systems and methods for generating dynamic relationship-based content personalized for members of a web-based social network.
SUMMARY
Systems and methods for generating dynamic relationship-based content personalized for members of a web-based social network are provided. An exemplary method comprises storing at least one action of one or more members of a web-based social network, accessing relationship data for the one or more members, associating the at least one action with the relationship data to produce consolidated data, identifying one or more elements associated with the consolidated data, and aggregating the consolidated data based on the one or more elements to produce aggregated consolidated data. Further exemplary methods comprise weighting by affinity the aggregated consolidated data to generate dynamic relationship-based content personalized for the members of the web-based social network.
An exemplary system for generating dynamic relationship-based content personalized for members of a web-based social network comprises a database configured for storing at least one action of one or more members of a web-based social network, a database configured with relationship data for the one or more members of the web-based social network, a processing module configured with an association component to associate the at least one action with the relationship data to produce consolidated data, the processing module configured with an identification component to identify one or more elements associated with the consolidated data, and the processing module configured with an aggregation component to aggregate the consolidated data based on the one or more elements to produce aggregated consolidated data. A further exemplary system comprises the processing module configured with an affinity component to weight by affinity the aggregated consolidated data to generate dynamic relationship-based content personalized for the members of the web-based social network.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates an exemplary environment for generating dynamic relationship-based content personalized for members of a web-based social network.
FIG. 2 is a block diagram of an exemplary content engine.
FIG. 3 is a block diagram of an exemplary processing module.
FIG. 4 is an exemplary screen shot of items of generated dynamic relationship-based content personalized for a member of a web-based social network.
FIG. 5 is a flow diagram of an exemplary process for generating dynamic relationship-based content personalized for members of a web-based social network.



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
Systems and methods for generating dynamic relationship-based content personalized for members of a web-based social network are provided. At least one action of one or more members of a web-based social network is associated with relationship data for the one or more members to produce consolidated data. One or more elements associated with the consolidated data are identified and used to aggregate the consolidated data. Further exemplary methods comprise weighting by affinity the aggregated consolidated data to generate dynamic relationship-based content personalized for the members of the web-based social network.
FIG. 1 illustrates an exemplary environment for generating dynamic relationship-based content personalized for members of a web-based social network. One or more members, such as a member at a member device 102, are coupled to a web-based social network 106 via a network 104.
The web-based social network 106 may comprise any entity that provides social networking services, communication services, dating services, and so forth. For example, the web-based social network 106 may host a website that allows one or more members, such as the member at the member device 102, to communicate with one another via the website. In one instance, a first member associated with the member device 102 may communicate with one or more second members associated with one or more second member devices via a social networking website associated with the web-based social network 106. The social networking website offers the member an opportunity to connect or reconnect with the one or more second members that attended, for example, the same university as the member.
According to exemplary embodiments, one or more networks or communities may be provided for each member. For example, the member may have a network comprised of people grouped according to a university attended, a network comprised of people grouped according to the member's geographical location of residence, a network comprised of people grouped according to a common field of work, a network comprised of people grouped according to a particular business, and so forth.
A content engine 108 is coupled to the web-based social network 106. The content engine 108 utilizes action and relationship data about the one or more members, such as the member at the member device 102, to generate dynamic relationship-based content personalized for members of the web-based social network 106. According to some embodiments, the member device 102 may be directly coupled to the content engine 108. According to other embodiments, the content engine 108 comprises a module associated with the web-based social network 106.
Referring now to FIG. 2, a block diagram of an exemplary content engine is shown. Exemplary content engine 108 comprises an action database 202, relationship database 204, processing module 206, storage database 208, and publisher 210.
An action database 202 may store one or more member actions or activities on the web-based social network 106 (FIG. 1). For example, the action database 202 may store member actions with one or more items of content, such as news stories, other members' profiles, and/or email provided via the web-based social network 106. Any type of member action may be stored in the action database 202.
According to exemplary embodiments, action data may represent a particular member's actions on the web-based social network 106 for a particular period of time, such as the most recent hour, six hours, day, week or month. For example, Member A's action data may represent Member A's actions for the last hour of sending an email to another member, electing to attend a concert with three other members, and adding a photo to Member A's profile.
A relationship database 204 is provided for storing relationship data associated with each of the members, such as the member associated with the member device 102 (FIG. 1). According to exemplary embodiments, relationship database 204 comprises a member profile for each member of the web-based social network 106. When a member joins web-based social network 106, a member profile may be generated for the member. The member can specify relationships with one or more other members via the member profile, or by any other means. The member can assign categories, groups, networks, and so forth to the one or more other members with which the member has a relationship. The relationship, for example, may specify that the member is a friend, friend of a friend, family member, schoolmate, ex-girlfriend, and so forth. Any type of relationship may be specified. Further, the member may group other members according to one or more categories. When the member updates information in the member profile, such as adding additional contacts or friends, the member profile in the relationship database 204 may be updated with the information added.
According to some embodiments, processing module 206 is provided for performing several functions as described herein in connection with FIG. 3. Among other things, processing module 206 is responsible for associating member actions with member relationship data to produce consolidated data. Processing module 206 identifies one or more elements associated with the consolidated data and aggregates the consolidated data based on the one or more elements to produce aggregated consolidated data. In a further embodiment, processing module 206 weights by affinity the aggregated consolidated data to generate dynamic relationship-based content personalized for the members of the web-based social network 106. Storage database 208 may be provided for storing the generated dynamic relationship-based content personalized for the members of the web-based social network 106.
Publisher 210 may be provided for publishing the generated dynamic relationship-based content personalized for the members of the web-based social network 106. According to one embodiment, publisher 210 comprises a server configured to send the generated dynamic relationship-based content to a member for whom the content has been personalized. In a further embodiment, publisher 210 is configured to format content in a predetermined arrangement style for presentation to the member of the web-based social network 106.
Although the exemplary content engine 108 is described as being comprised of various components (the action database 202, the relationship database 204, processing module 206, storage database 208, and publisher 210), fewer or more components may comprise the content engine 108 and still fall within the scope of various embodiments.
FIG. 3 is a block diagram of an exemplary processing module. As described in connection with FIG. 2, according to one embodiment, processing module 206 comprises an association component 302, an identification component 304, an aggregation component 306, and an affinity component 308.
Association component 302 is configured to associate one or more member actions with the member's relationship data to produce consolidated data. For example, Member A's profile may include fifteen friends of Member A and another twenty friends of Member A's friends (“friends of friends”). Association component 302 will associate Member A's actions with Member A's friends, friends of friends, and/or other members. For instance, association component 302 might associate Member A's action of joining a group dedicated to the band “Green Day” with Member A's friends who also belong to the same group. In this example, the produced consolidated data might be in the form of “Member A joins Green Day Group, which also includes Member A's friends Pete and Bill.”
An identification component 304 may be provided as part of processing module 206 to identify one or more elements associated with the consolidated data. For example, with respect to consolidated data in the form of “Member A joins Green Day Group, which also includes Member A's friends Pete and Bill,” identification component 304 might identify the elements of “Green Day.” According to some embodiments, identification component 304 may identify any element of an action associated with relationship data (to form consolidated data). For example, identification component 304 may identify an element based on action type, members involved, media or content type, and/or multiple elements thereof. The identified elements are used to aggregate consolidated data, as described herein.
According to some embodiments, aggregation component 306 is provided to aggregate the consolidated data based on the one or more elements to produce aggregated consolidated data. For example, aggregation component 306 might utilize the elements of “Green Day” to aggregate the consolidated data of “Member A joins Green Day Group, which also includes Member A's friends Pete and Bill,” with other consolidated data sharing the same elements of “Green Day.” In this example, aggregation by aggregation component 306 might result in aggregated consolidated data in the form of “Member A and fifty other members of Member A's community join the Green Day Group.” Aggregation component 306 may utilize other parameters or criteria for aggregation and remain within the scope of embodiments claimed herein.
According to some embodiments, affinity component 308 is provided to weight by affinity the aggregated consolidated data to generate dynamic relationship-based content personalized for members of web-based social network 106. Based on one or more member activities and associated relationships, an affinity for past, present, or future content may be determined by the affinity component 308. Any type of variable may be considered when determining an affinity for the affinity component 308 to weight the aggregated consolidated data. In a further embodiment, affinity component 308 may be utilized to assign an order to the content presented to the member. For example, a story about Member B breaking up with Member C may be rated lower than a story about Member A's brother having a baby, and accordingly, the story about Member B breaking up with Member C may appear below the story about Member A's brother having a baby.
FIG. 4 is an exemplary screen shot of items of generated dynamic relationship-based content personalized for a member of a web-based social network. The exemplary screen shot 400 represents the display page associated with a particular member, such as the member at member device 102. Various stories, content, and so forth may be displayed via the display page. In the exemplary screen shot shown in FIG. 4, several stories and/or story headlines are displayed.
A first story 402, entitled “Dana joined the group Who is Myke Jones?” is rated highest according to affinity. An affinity may have been assigned to each story appearing on the display page, based on the member's interaction with other content and the member's relationships associated with the member's interaction with the other content. The stories are then displayed in an order according to the affinity. For example, the first story 402 is assigned the highest order based on the affinity determined for the member for content and/or other members included in the first story 402, while a second story 404, entitled “Anthony joined the group Pugs? Yes, please!”, is assigned the second highest order based on the affinity determined for the member with respect to the content and/or the other members included in the second story 404, and so forth.
Although the affinity is determined based on the one or more member activities within the web-based social network 106, according to some embodiments, member activity outside of the web-based social network 106 may also be considered in determining affinity for content and/or other members.
Referring now to FIG. 5, a flow diagram of an exemplary process for generating dynamic relationship-based content personalized for members of a web-based social network is shown.
At step 505, at least one action of one or more members of web-based social network 106 (FIG. 1) is stored. According to one embodiment, member action data may represent a particular member's actions on the web-based social network 106 for a particular period of time.
At step 510, relationship data for the one or more members of the web-based social network 106 is accessed. In one embodiment, a relationship database 204 (FIG. 2) stores data configured in member profiles, including friends and/or friends of friends of members.
At step 515, at least one action (step 505) is associated with the relationship data (step 510) to produce consolidated data. In one embodiment, association component 302 associates a member's actions with the member's friends and/or the member's friends of friends that might have also been involved with the same actions.
At step 520, one or more elements associated with the consolidated data are identified. In one embodiment, an identification component 304 identifies one or more symbols, sounds and/or images associated with consolidated data.
At step 525, the consolidated data is aggregated based on the one or more elements to produce aggregated consolidated data.
At step 530, the aggregated consolidated data is weighted by an affinity to generate dynamic relationship-based content personalized for the members of the web-based social network 106. According to some embodiments, the content may be generated and/or ordered according to a prediction of future member activities.
At step 535, the generated dynamic relationship-based content personalized for the members of the web-based social network 106 is stored.
At step 540, the stored generated dynamic relationship-based content is published for the members of the web-based social network 106. In one embodiment, a server is configured to send the content to a member for whom the content has been personalized.
While various embodiments have been described above, it should be understood that they have been presented by way of example only, and not limitation. For example, any of the elements associated with the content engine may employ any of the desired functionality set forth hereinabove. Thus, the breadth and scope of a preferred embodiment should not be limited by any of the above-described exemplary embodiments.

## Claims

1. A method comprising:
storing actions performed by one or more users of a social networking system;
accessing relationship data for the one or more users, the relationship data identifying relationships of one or more users with other users of the social networking system;
selecting a stored action, wherein the selected stored action was performed by a user who has a relationship with a viewing user of the social networking system;
selecting one or more additional stored actions performed by one or more other users of the social networking system who also have a relationship with the viewing user, wherein the selected stored action and the one or more additional stored actions have a common element;
generating a single aggregated story for the viewing user by aggregating the selected stored action and the one or more additional stored actions into the aggregated story based on the common element, wherein the aggregated story comprises relationship-based content personalized for the viewing user, which includes a description of:
the selected stored action,
the user who performed the selected stored action, and
the one or more other users who performed the one or more additional stored actions; and
sending the aggregated story for display to the viewing user.

2. The method of claim 1, wherein the common element comprises an object in the social networking system that the selected stored action was performed on.

3. The method of claim 1, wherein the common element comprises a type of action of the selected stored action.

4. The method of claim 1, wherein the aggregated story describes the one or more other users who performed the additional stored actions by providing a total number of the one or more other users who performed the additional stored actions.

5. The method of claim 1, wherein the aggregated story comprises an image.

6. The method of claim 1, wherein the aggregated story comprises a selectable link.

7. The method of claim 1, wherein the stored action is selected based on the viewing user's affinity for the selected stored action.

8. The method of claim 1, wherein the stored action is selected based on the viewing user's affinity for the user who performed the selected stored action.

9. The method of claim 1, wherein the selected stored action is a change of a user profile.

10. The method of claim 1, wherein the selected stored action is joining a group.

11. The method of claim 1, wherein the selected stored action is attending an event.

12. The method of claim 1, wherein the selected stored action is declaring a relationship with another user.

13. The method of claim 1, wherein sending the aggregated story for display to the viewing user comprises including the aggregated story in a web page that is transmitted to a computing device of the viewing user.

14. A computer program product comprising a non-transitory computer-readable storage medium containing computer program code for:
storing actions performed by one or more users of a social networking system;
accessing relationship data for the one or more users, the relationship data identifying relationships of one or more users with other users of the social networking system;
selecting a stored action, wherein the selected stored action was performed by a user who has a relationship with a viewing user of the social networking system;
selecting one or more additional stored actions performed by one or more other users of the social networking system who also have a relationship with the viewing user, wherein the selected stored action and the one or more additional stored actions have a common element;
generating a single aggregated story for the viewing user by aggregating the selected stored action and the one or more additional stored actions into the aggregated story based on the common element, wherein the aggregated story comprises relationship-based content personalized for the viewing user, which includes a description of:
the selected stored action,
the user who performed the selected stored action, and
the one or more other users who performed the one or more additional stored actions; and
sending the aggregated story for display to the viewing user.

15. The computer program product of claim 14, wherein the common element comprises an object in the social networking system that the selected stored action was performed on.

16. The computer program product of claim 14, wherein the common element comprises a type of action of the selected stored action.

17. The computer program product of claim 14, wherein the aggregated story describes the one or more other users who performed the additional stored actions by providing a total number of the one or more other users who performed the additional stored actions.

18. The computer program product of claim 14, wherein the aggregated story comprises an image.

19. The computer program product of claim 14, wherein the stored action is selected based on the viewing user's affinity for the selected stored action.

20. The computer program product of claim 14, wherein the stored action is selected based on the viewing user's affinity for the user who performed the selected stored action.