# Patent

## Title
Automatically managing objectionable behavior in a web-based social network

## Abstract

A system and method for curtailing objectionable behavior in a web-based social network is disclosed. The method includes monitoring various actions of users of a web-based social network for objectionable behavior. The monitored actions are those that affect other users of the social network. A policy is determined based on behaviors of users. The policy may be violated by a user if the user exceeds a policy threshold. Some monitored actions include the poking, friend requesting, and wall posting. A policy may be violated by multiple occurrences of a single type of action or by a combination of different types of actions. Upon a policy violation, a warning may be issued to the user or the user's account may be suspended.

## Background
CROSS-REFERENCE TO RELATED APPLICATIONS
The present application incorporates by reference:
This application is a continuation of U.S. patent application Ser. No. 11/701,744, filed on Feb. 2, 2007, entitled “AUTOMATICALLY MANAGING OBJECTIONABLE BEHAVIOR IN A WEB-BASED SOCIAL NETWORK,” which is incorporated herein by reference in its entirety.


BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates generally to networks, and more particularly to social network activity.
2. Description of Related Art
One approach to curtailing objectionable behavior in a social network is to collect feedback from disgruntled users of the social network. A user may report abusive behavior to an operator of the social network after receiving unwelcome activity from other users of the social network. Unfortunately, this approach relies on user feedback which may be slow and sporadic. Some users may stop using the social network rather than being annoyed with unwelcome activity or having to submit complaints. Thus, relying on user feedback may tarnish some users' images of the social network.
Another approach to curtailing objectionable behavior in a social network is monitoring user traffic for potentially undesirable activity. A common monitoring approach focuses on pre-identified words and terms in e-mail addresses, titles, and body text. For example, to identify spam, pre-identified words may include “flowers,” “loan,” and “you have won.” Unfortunately, some of these approaches are not useful tools to curtail objectionable behavior in a social network because they focus only on e-mail and not other peer-to-peer activity in a social network, such as requesting friends.
What is needed is an improved method for curtailing objectionable behavior in a web-based social network, including activities other than e-mail.
SUMMARY OF THE INVENTION
In one embodiment, the invention provides a method for curtailing objectionable behavior in a social network comprising receiving an action from a user of the social network, determining whether a policy threshold for that type of action is exceeded, and taking a corrective action. An action affects another user of the social network. A policy threshold is exceeded when the combination of the current action and prior actions by the same user exceeds a predetermined level of activity. The policy threshold may be time dependent. The corrective action is an action that is intended to prevent further action of the type determined to be objectionable.
The method of the invention may also be embodied in a program executable by a processor and recorded on a computer readable medium.
Another embodiment of the invention provides a system for curtailing objectionable behavior in a social network comprising a communication module, an accounts module, a policy module, and a violation module. The communication module is configured to receive from a user a current action that affects another user of the social network. The accounts module is configured to monitor and record the current action and associated time stamp information. The policy module is configured to store a policy threshold that may be time dependent. The violation module is configured to determine whether a combination of the current action and prior actions exceeds the policy threshold, and, if so, to take corrective action.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates an exemplary environment in which a social network may exist and in which objectionable conduct may occur.
FIG. 2 illustrates one embodiment of the architecture of a server that may be used in a social network.
FIG. 3 shows an exemplary graph of policy thresholds of several action types in a social network according to one embodiment.
FIG. 4 shows an exemplary graph of policy thresholds of a single action type in a social network according to one embodiment.
FIG. 5 shows an exemplary graph of different types of curves of policy thresholds in a social network according to one embodiment.
FIG. 6 shows an exemplary graph of resetting a time of a policy threshold in a social network according to one embodiment.
FIG. 7 is a flow chart of a method for curtailing objectionable behavior in a social network according to one embodiment.



DETAILED DESCRIPTION OF THE INVENTION
The present invention provides systems and methods for curtailing objectionable actions by users of a web-based social network. Objectionable actions are those that adversely affect other users of the social network. A policy regarding the behaviors of users is determined and may be violated if the objectionable user conduct exceeds a threshold. The threshold may be exceeded by some number of multiple occurrences of a single type of action or some number of different types of actions within a particular time. Upon a policy violation, a warning may be issued to the user or the user's account may be suspended.
Some types of actions include “poking,” “friend requesting,” “wall posting,” and “sending a message.” A poke sends user identification to another user. The poke may be considered the social network equivalent of a nudge, i.e., a gesture to get someone's attention. Upon acceptance of a friend request, the requestor and requestee become friends. Friends may access more information about each other's profile than other non-friend users. A wall post allows the user to post a message to a friend's wall. The wall is a forum for comments or insights about another user. A message is a text message from one user to another. For further detail on actions, see U.S. patent application Ser. No. 11/701,595, “System and Method for Determining a Trust Level in a Social Network Environment.
FIG. 1 illustrates an exemplary environment 100 in which a social network may exist and in which objectionable conduct may occur. Environment 100 comprises a server 110, a network 130, and user devices 140 and 150. A social network database 120 is located on the server 110.
The server 110 monitors user activity and determines whether a predetermined policy is violated. The database 120 manages user information that is accessed by users of the social network. The server 110 and the database 120 are discussed further herein.
The network 130 provides the medium for communication between the server 110 and user devices 140 and 150. The network 130 may be the Internet, a wireless or wired network such as a mobile device carrier network, or any other network that can be used for communication between a server and a client.
In one embodiment, the user device 140 is used by a user initiating the actions being monitored by the server 110. The user device 150 is used by a recipient of the monitored actions. User devices 140 and 150 may each be a computer or a mobile device, such as a mobile phone, a cell-phone, a smart-phone, a personal digital assistant, a notebook computer, a laptop computer or a hand-held game console.
FIG. 2 illustrates one embodiment of the architecture of a server 110 that may be used in a social network. The server 110 comprises the database 120, a communication module 210, an accounts module 220, a policy module 230, a violation module 240, and memory 250.
The communication module 210 may be used to communicate with user devices 140 and 150. The accounts module 220 monitors and/or receives actions from user devices, such as user device 140. Actions from user device 140 that affect other user devices, such as user device 150, are time-stamped and the type of action is recorded in memory 250.
The policy module 230 stores one or more policies which determine whether a user's actions are objectionable. A policy may be represented by a type of action or a combination of actions and a time dependent function. Such functions may be linear, exponential, polynomial, or step functions, functions of acceleration, i.e., a function of time squared, or any other function that can be used to measure user activity over time. In various embodiments, a representative curve of the policy threshold has an initial steep slope that gradually decreases over time.
The policy may have different thresholds of violation for different degrees of the same type of action, e.g., a warning threshold which results in some warning to the offending user, and a suspension threshold which removes rights from the user. A suspension may be temporary, for example for hours, days, or months, or may require a system operator to reactivate a user's account prior to further actions. A suspension may help curtail spammers from abusing the social network. In various embodiments, the time of a temporary suspension is extended if a user attempts to repeat the type of action that resulted in suspension of the account.
The violation module 240 determines whether a user has violated the policy. The violation module 240 compares the number and type of actions recorded by the accounts module 220 with the policy stored in the policy module 230. Upon reaching a threshold, the violation module 240 may respond by requesting the communication module 210 to issue a warning to the user and/or by altering a user record in the database 120 to suspend the user's account.
The server 110 may include memory 250 to store applications or modules and other information. In some embodiments, applications, modules, and/or database 120 may reside in memory on several servers (not shown). These and other variations remain within the scope of the claimed invention.
FIG. 3 shows an exemplary graph 300 of policy thresholds of several action types in a social network according to one embodiment. The graph 300 displays curves for a combined threshold 310, a friend request threshold 320, a poke threshold 330, wall post threshold 340, and user points 350 and 360, all over time.
The combined threshold 310 may represent a policy threshold for the combination of two or more types of actions. The friend request threshold 320, the poke threshold 330, and the wall post threshold 340 represent thresholds for friend requesting, poking, and wall posting, respectively. The combined threshold 310 is not necessarily always greater than the individual thresholds. For example, if the combined threshold 310 is a function of both the poke threshold 330 and the wall post threshold 340, the combined threshold 310 may be below the friend request threshold 320 for some or all periods.
Actions by a user exceeding the threshold may trigger the violation module 240 to take an action. For example, the point 360, which may represent fifty occurrences of an action in a five hour period, does not violate any of the policies as illustrated. However, the point 350, which represents fifty occurrences in a two hour period, violates the poke threshold 330 and the wall post threshold 340. Thus, if point 350 represents a user's actions of either poking or wall posting, then the policy is violated.
FIG. 4 shows an exemplary graph 400 of policy thresholds of a single action type in a social network according to one embodiment. The graph 400 displays curves for a suspension threshold 410 and a warning threshold 420; points 430, 440, 450, and 460; and path segments 425, 435, 445, and 455.
The suspension threshold 410 and the warning threshold 420 both represent a single action type or a single combination of different action types, such as the combined action. Other curves may exist (not depicted) for other types of actions.
The point 430 represents 150 actions in a six hour period, which may be obtained at an average rate of 25 actions per hour for each of the six hours as indicated by the path segment 425. At the same rate for another hour, as indicated by path segment 435, the user will be at 175 actions represented by the point 440. In this event, the user's activity will be above the warning threshold 420, and the violation module 240 will request the communication module 210 to send a warning to the user. If the user continues at the same rate for another hour, as indicated by path segment 445, and reaches 200 actions, as represented by point 450, the user's account may be suspended for exceeding the suspension threshold 410.
In some embodiments, the user may need to wait for some period without further actions before the user again falls under the suspension threshold 410 and may make another action, here three hours, as indicated by path segment 455 and the point 460. In other embodiments, the suspension will be for a preset time period, e.g., six hours, two days, etc.
In some embodiments, the policy may have different thresholds for intra-group and inter-group activities. A group is a collection of users who are associated with the group. Thresholds may be higher for actions that affect other users within the same group than for actions that affect users outside the group. For example, five friends who are members of the same group may poke each other hundreds of times a day without exceeding a threshold, while the same conduct with non-group members may be deemed objectionable. This may promote intra-group activity.
As some groups may be more or less active than other groups, thresholds may be dependent on a group volume of activity to reflect an acceptable volume of activity for users associated with the group. For example, if Westside High School has a group of users who are on average five times more active than an average user of the social network, then users associated with the group may have higher thresholds than other users not associated with the group.
FIG. 5 shows an exemplary graph 500 of different types of curves of policy thresholds in a social network according to one embodiment. The graph 500 displays thresholds 510, 520, 530, and 540. The thresholds 510, 520, 530, and 540 may be warning threshold, suspension thresholds, or other thresholds.
At time zero, a threshold may have a positive rise as represented by thresholds 510 and 530. Alternatively, at time zero, a threshold may have a zero rise, e.g. at the origin, as represented by threshold 520. Some thresholds may require an elapse of time prior to having a positive rise, as represented by threshold 540.
The thresholds 510, 520, 530, and 540 are a function of time. Time units may be seconds, minutes, hours, weeks, days, years, centuries, or any other time unit.
A threshold may be linear, as represented by the thresholds 510 and 520, exponential, as represented by the threshold 530, a step function, as represented by the threshold 540, or any other function.
FIG. 6 shows an exemplary graph 600 of resetting a time of a policy threshold in a social network according to one embodiment. The graph 600 displays threshold segments 610, 620 and threshold 630.
A threshold may be reset periodically, e.g. hourly, daily, weekly, or yearly, as a result of an event, e.g. every time a user logs in, or manually by an operator. When a threshold is reset, the time and the action tally may be effectively reset to zero. For example, at time A the threshold is reset. Time A is now effectively at zero. The thresholds at time 0 and A are similar as indicated by threshold segments 610 and 620.
The threshold policy may adjust a time variable for logged-in time and logged-off time. For example, the threshold policy may accrue the logged-off time at half rate of the logged-in time, i.e., two hours of logged-off time is equivalent to one hour of logged-in time. In some embodiments, a logged-in and a logged-off time rates may vary depending on the hour of the day. For example, the time rates may be double normal during the day-light hours.
The threshold may accumulate time at a normal rate when a user is logged off. For example, at time D, a user logs off. Here, the threshold time is not reset and threshold 630 continues to increase.
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, the threshold time may be reset without resetting the action tally or vice versa.
FIG. 7 is a flow chart 700 of a method for curtailing objectionable behavior in a social network according to one embodiment. In step 710, a current action is monitored, e.g., by accounts module 220.
In step 720, the actions are tallied. One action may contribute to multiple tallies. For example, if a poke action is monitored, then the poke tally increases and a combined tally that includes the poke action increases. The time of the action is also noted.
In step 730, the violation module 240 compares the action tally with the policy stored in the policy module 230 to determine if the action tally exceeds a suspension threshold. If a suspension threshold is exceeded, then the action and/or account may be suspended at step 740.
In step 750, the violation module 240 again compares the action tally with the policy stored in the policy module 230 to determine if the action tally exceeds a warning threshold. If a warning threshold is exceeded, then a warning is sent to the user at step 760.
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, the action may be any action that affects another user, such as a request for profile update. 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:
establishing a first threshold defining a number of times a user is allowed to perform actions that affect one or more users within a group of users of a social networking system;
establishing a second threshold defining a number of times the user is allowed to perform actions that affect one or more users outside the group of users of the social networking system;
maintaining in memory, by the social networking system, a first count of the number of times the user performs actions that affect one or more users within the group and a second count of the number of times the user performs actions that affect one or more users outside the group;
detecting an action performed by the user; and
responsive to a determination that the detected action affects one or more users within the group of users:
increasing the maintained first count; and
taking a first corrective action if the increased first count exceeds the first threshold.

2. The method of claim 1, wherein the first threshold and the second threshold vary over time.

3. The method of claim 1, wherein the first threshold is dependent on an activity level of users in the group.

4. The method of claim 1, wherein the first count comprises the number of times the user performs actions that affect one or more users within the group over a pre-determined interval of time, and wherein the second count comprises the number of times the user performs actions that affect one or more users outside the group over the pre-determined interval of time.

5. The method of claim 4, wherein the first count and the second count are periodically reset.

6. The method of claim 1, wherein the maintained first count and the maintained second count are increased by an amount dependent on the type of detected action performed by the user.

7. The method of claim 1, wherein the detected action comprises a communication from the user to another user.

8. The method of claim 1, wherein the second threshold is less than the first threshold.

9. The method of claim 1, further comprising:
responsive to a determination that the detected action affects one or more users outside the group of users:
increasing the maintained second count; and
taking a second corrective action if the increased second count exceeds the second threshold.

10. The method of claim 9, wherein the first corrective action and the second corrective action comprise the same corrective action.

11. A method comprising:
detecting an action performed by a user of a social networking system;
determining if the action affects one or more users within a group of social networking system users or one or more users outside the group;
responsive to a determination that the action affects one or more users within the group:
determining if a number of actions performed by the user affecting one or more users within the group over a first previous time interval exceeds a first threshold; and
responsive to the determination that the first threshold is exceeded, taking a first corrective action; and

responsive to a determination that the action affects one or more users outside the group:
determining if a number of actions performed by the user affecting one or more users outside the group over a second previous time interval exceeds a second threshold; and
responsive to the determination that the second threshold is exceeded, taking a second corrective action.

12. The method of claim 11, wherein the first threshold and the second threshold vary over time.

13. The method of claim 11, wherein the first threshold is dependent on an activity level of users in the group.

14. The method of claim 11, wherein the first threshold is greater than the second threshold.

15. The method of claim 11, wherein the first corrective action and the second corrective action comprise the same corrective action.

16. The method of claim 11, wherein the detected action comprises a communication from the user to another user.