U.S. Pat. No. 8,239,776

BEHAVIOR DETECTION AND ALERT IN VIRTUAL WORLDS BASED ON SPATIAL AND TEMPORAL CRITERIA

AssigneeInternational Business Machines Corporation

Issue DateJanuary 14, 2009

Illustrative Figure

Abstract

Embodiments of the invention provide techniques for protecting a user from being followed by an avatar within an immersive virtual environment. To detect a following avatar, any avatars within a specified range of the user may be identified. Historical data may then be examined to determine if any of the identified avatars has been in the same recent virtual locations as the user. In order to rule out coincidental movements, the likelihood of both avatars being in the same places at the same time may be evaluated. Further, the following avatar may be tested by transporting the user to another location, and then monitoring to determine whether the following avatar also transports to the same location. Upon confirming that the following avatar is actually following the user, avoidance actions may be performed in order to avoid the following avatar.

Description

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A virtual world is a simulated environment in which users may be represented by avatars. An avatar may be used to “travel” through locations of the virtual world, such as virtual streets, buildings, rooms, etc. While in a given location, an avatar may also be used to interact with objects or other avatars present therein. For example, an avatar may be able to approach another avatar, and may interact with the other avatar by communicating, performing a financial transactions, and the like. Thus, multiple users, although in different physical locations, may be present in the same virtual location, and may interact therein by using their respective avatars. However, some problems of interacting in the physical world may also occur in the virtual world. In particular, a user's avatar may be followed and spied upon by another avatar (hereinafter referred to as a “following avatar”). For example, a following avatar may observe or “overhear” a conversation in which a user reveals sensitive information (e.g., a user identification, a password, an account number, etc.). In such a situation, the following avatar may be seeking to commit identity theft, or may be a stalker wishing to learn private information about the followed user. Embodiments of the invention provide techniques for protecting a user from being followed by an avatar within an immersive virtual environment. To detect a following avatar, any avatars within a specified range (e.g., a virtual hearing range) of the user may be identified. Historical data may then be examined to determine if any of the identified avatars has been in the same recent virtual locations as the user. In order to rule out coincidental movements, the likelihood of both avatars being in the same places at the same time may be evaluated. Further, the ...

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

A virtual world is a simulated environment in which users may be represented by avatars. An avatar may be used to “travel” through locations of the virtual world, such as virtual streets, buildings, rooms, etc. While in a given location, an avatar may also be used to interact with objects or other avatars present therein. For example, an avatar may be able to approach another avatar, and may interact with the other avatar by communicating, performing a financial transactions, and the like. Thus, multiple users, although in different physical locations, may be present in the same virtual location, and may interact therein by using their respective avatars.

However, some problems of interacting in the physical world may also occur in the virtual world. In particular, a user's avatar may be followed and spied upon by another avatar (hereinafter referred to as a “following avatar”). For example, a following avatar may observe or “overhear” a conversation in which a user reveals sensitive information (e.g., a user identification, a password, an account number, etc.). In such a situation, the following avatar may be seeking to commit identity theft, or may be a stalker wishing to learn private information about the followed user.

Embodiments of the invention provide techniques for protecting a user from being followed by an avatar within an immersive virtual environment. To detect a following avatar, any avatars within a specified range (e.g., a virtual hearing range) of the user may be identified. Historical data may then be examined to determine if any of the identified avatars has been in the same recent virtual locations as the user. In order to rule out coincidental movements, the likelihood of both avatars being in the same places at the same time may be evaluated. Further, the following avatar may be tested by transporting the user to another location, and then monitoring to determine whether the following avatar also transports to the same location. Upon confirming that the following avatar is actually following the user, avoidance actions may be performed in order to avoid the following avatar.

In the following, reference is made to embodiments of the invention. However, it should be understood that the invention is not limited to specific described embodiments. Instead, any combination of the following features and elements, whether related to different embodiments or not, is contemplated to implement and practice the invention. Furthermore, in various embodiments the invention provides numerous advantages over the prior art. However, although embodiments of the invention may achieve advantages over other possible solutions and/or over the prior art, whether or not a particular advantage is achieved by a given embodiment is not limiting of the invention. Thus, the following aspects, features, embodiments and advantages are merely illustrative and are not considered elements or limitations of the appended claims except where explicitly recited in a claim(s). Likewise, reference to “the invention” shall not be construed as a generalization of any inventive subject matter disclosed herein and shall not be considered to be an element or limitation of the appended claims except where explicitly recited in a claim(s).

One embodiment of the invention is implemented as a program product for use with a computer system. The program(s) of the program product defines functions of the embodiments (including the methods described herein) and can be contained on a variety of computer-readable storage media. Illustrative computer-readable storage media include, but are not limited to: (i) non-writable storage media (e.g., read-only memory devices within a computer such as CD-ROM disks readable by a CD-ROM drive and DVDs readable by a DVD player) on which information is permanently stored; and (ii) writable storage media (e.g., floppy disks within a diskette drive, a hard-disk drive or random-access memory) on which alterable information is stored. Such computer-readable storage media, when carrying computer-readable instructions that direct the functions of the present invention, are embodiments of the present invention. Other media include communications media through which information is conveyed to a computer, such as through a computer or telephone network, including wireless communications networks. The latter embodiment specifically includes transmitting information to/from the Internet and other networks. Such communications media, when carrying computer-readable instructions that direct the functions of the present invention, are embodiments of the present invention. Broadly, computer-readable storage media and communications media may be referred to herein as computer-readable media.

In general, the routines executed to implement the embodiments of the invention, may be part of an operating system or a specific application, component, program, module, object, or sequence of instructions. The computer program of the present invention typically is comprised of a multitude of instructions that will be translated by the native computer into a machine-readable format and hence executable instructions. Also, programs are comprised of variables and data structures that either reside locally to the program or are found in memory or on storage devices. In addition, various programs described hereinafter may be identified based upon the application for which they are implemented in a specific embodiment of the invention. However, it should be appreciated that any particular program nomenclature that follows is used merely for convenience, and thus the invention should not be limited to use solely in any specific application identified and/or implied by such nomenclature.

FIG. 1is a block diagram that illustrates a client server view of computing environment100, according to one embodiment of the invention. As shown, computing environment100includes client computers110, network115and server system120. In one embodiment, the computer systems illustrated in environment100may include existing computer systems, e.g., desktop computers, server computers, laptop computers, tablet computers, and the like. The computing environment100illustrated inFIG. 1, however, is merely an example of one computing environment. Embodiments of the present invention may be implemented using other environments, regardless of whether the computer systems are complex multi-user computing systems, such as a cluster of individual computers connected by a high-speed network, single-user workstations, or network appliances lacking non-volatile storage. Further, the software applications illustrated inFIG. 1and described herein may be implemented using computer software applications executing on existing computer systems, e.g., desktop computers, server computers, laptop computers, tablet computers, and the like. However, the software applications described herein are not limited to any currently existing computing environment or programming language, and may be adapted to take advantage of new computing systems as they become available.

As shown, each client computer110includes a central processing unit (CPU)102, which obtains instructions and data via a bus111from client memory107and client storage104. CPU102is a programmable logic device that performs all the instruction, logic, and mathematical processing in a computer. As shown, client storage104includes user data106and location history103, which are described further below. Client storage104may represent hard-disk drives, flash memory devices, optical media and the like. Client computer110is operably connected to the network115.

Client memory107includes an operating system (OS)108, a client application109and a follower monitor105. Operating system108is the software used for managing the operation of the client computer110. Examples of OS108include UNIX, a version of the Microsoft Windows® operating system, and distributions of the Linux® operating system. (Note, Linux is a trademark of Linus Torvalds in the United States and other countries.)

In one embodiment, the client application109provides a software program that allows a user to connect to a virtual world130, and once connected, to perform various user actions. Such actions may include exploring virtual locations, interacting with other avatars, and interacting with virtual objects. Further, the client application109may be configured to generate and display a visual representation of the user within the immersive environment, generally referred to as an avatar. The avatar of the user is generally visible to other users in the virtual world, and the user may view avatars representing the other users. The client application109may also be configured to generate and display the immersive environment to the user and to transmit the user's desired actions to the virtual world130on the server120. Such a display may include content from the virtual world determined from the user's line of sight at any given time. For the user, the display may include the avatar of that user or may be a camera eye where the user sees the virtual world through the eyes of the avatar representing this user.

By way of example,FIG. 2illustrates a user display200for a user participating in a virtual world, according to one embodiment of the invention. In this example, the main user is represented by a target avatar270, and is present in a virtual town square. The user may interact with elements of the virtual world, including a second avatar260, which represents another user. For example, the user may control the target avatar270to initiate a contact with the second avatar260, thus enabling the main user to engage in conversation with the other user. One technique used to enable a conversation in the virtual world is to display text entered by the users in speech bubbles above the avatars (i.e., similar to speech bubbles shown in comic books). Another technique is to display text entered by the users in a chat window. Yet another technique is to enable real-time voice conversations (e.g., using VOIP technology).

As shown, a third avatar250is present in the same location as the two avatars engaged in conversation. By being in the same location, the user of third avatar250may be able to gather information about the target avatar270(e.g., places visited, persons talked to, actions performed, etc.). Further, the user of the third avatar250may follow the target avatar270to various locations of the virtual world in order to continue to observe the target avatar270. The ability of the user of the third avatar250to view the target avatar270may be limited by a specified visual range, meaning a predefined distance for one avatar to view another avatar according to the rules of the virtual world130. The visual range may be based on, e.g., a line of sight around intervening objects, virtual lighting conditions, virtual weather conditions, and the like. Furthermore, if the third avatar250is within a specified hearing range, the user of the third avatar250may be able to “listen in” to the conversation between the avatars260and270. That is, the user of the third avatar250may be able to view speech bubbles above the heads of the avatars of the users engaged in conversation, may be able to read text displayed in a chat window, or may hear voice communications output from a sound device. Thus, the user of the third avatar250may be able to surreptitiously obtain sensitive or private information revealed by the target avatar270in a conversation. The hearing range may be limited to a predefined distance for “hearing” other avatars according to the rules of the virtual world130. The hearing range may take into account any intervening objects included in the virtual world, which may be defined as obstructing sight and/or sounds between the avatars. The hearing range may also be limited by other factors, for example any background noise existing in the same location as the avatars. In another embodiment, a user may be limited to “listen” to a conversation based on a visual range for the user's avatar to view another avatar.

Referring again toFIG. 1, the user may view the virtual world using a display device140, such as an LCD or CRT monitor display, and interact with the client application109using input devices150. Further, in one embodiment, the user may interact with the client application109and the virtual world130using a variety of virtual reality interaction devices160. For example, the user may don a set of virtual reality goggles that have a screen display for each lens. Further, the goggles could be equipped with motion sensors that cause the view of the virtual world presented to the user to move based on the head movements of the individual. As another example, the user could don a pair of gloves configured to translate motion and movement of the user's hands into avatar movements within the virtual reality environment. Of course, embodiments of the invention are not limited to these examples and one of ordinary skill in the art will readily recognize that the invention may be adapted for use with a variety of devices configured to present the virtual world to the user and to translate movement/motion or other actions of the user into actions performed by the avatar representing that user within the virtual world130.

In one embodiment, the server system120includes a CPU122, which obtains instructions and data via a bus121from memory126and storage123. The processor122could be any processor adapted to support the methods of the invention. The memory126is any memory sufficiently large to hold the necessary programs and data structures. Memory126could be one or a combination of memory devices, including Random Access Memory, nonvolatile or backup memory, (e.g., programmable or Flash memories, read-only memories, etc.). In addition, memory126and storage123may be considered to include memory physically located elsewhere in a server120, for example, on another computer coupled to the server120via bus121. The server system120may be operably connected to the network115, which generally represents any kind of data communications network. Accordingly, the network115may represent both local and wide area networks, including the Internet.

As shown, the memory126includes a virtual world130. In one embodiment, the virtual world130may be a software application that allows a user to explore and interact with an immersive environment. The storage123may include transition data124, representing a data structure storing historical records of avatar location transitions within the virtual world130. The virtual world130may be configured to generate the transition data124by, e.g., recording or counting each instance of movement from one location to another. The transition data124may describe avatar location transitions in terms of location identifiers (e.g., from point A to point B), in terms of location coordinates (e.g., from coordinates X to coordinates Y), in terms of one or more keywords describing each location (e.g., from “MALL, SHOPPING, SHOES” to “RESTAURANT, ITALIAN”), and the like. Optionally, the avatar location transitions stored in transition data124may be limited to sudden shifts within the virtual world130(i.e., “teleportation”), rather than a simulated real-world movement such as walking, running, driving, etc. Further, the transition data124may only describe avatar location transitions for a fixed period of time (e.g., for the last6months, for the last year, etc.).

In one embodiment, the following monitor105included in a client computer110provides a software program configured to detect an avatar that is following the user of the virtual world130. The following monitor105may detect suspected following avatars at a given virtual location by identifying any avatars that are within a hearing range of the user's avatar. Further, the following monitor105may exclude any avatars that belong to known friends or acquaintances of the user from being considered as suspected following avatars. For example, the following monitor105may ignore any avatars that have recently been (or currently are) engaged in a conversation with the user's avatar, avatars that are included in a list of known friends, and the like. Such data describing the user's friends and conversation partners may be stored in the user data106, representing a data structure included in the client storage104. Once suspected following avatars are detected at a given location, a list of identifiers describing the suspected following avatars may be stored, along with a description of the current location, in the location history103. The description of the current location may include, e.g., a location identifier, one or more keywords describing the location, map coordinates, etc.

In one embodiment, the following monitor105may be configured to determine whether any suspected following avatars present at a given location (i.e., avatars within listening range) have also been present at other locations that the user's avatar has visited recently. For example, the following monitor105may analyze the location history103to determine if any suspected following avatars detected at a current location were also detected at previous locations. Further, the following monitor105may determine whether the presence of a suspected following avatar at the same sequence of locations as the user's avatar is beyond mere coincidence. For example, the following monitor105may determine a probability of both avatars traveling to the same locations independently. If the determined probability is below some specified threshold (e.g., a 5% probability), then the following monitor105may determine that the suspected following avatar is likely to be following the user's avatar. The following monitor105may be configured to determine a probability of an avatar traveling to a sequence of locations based on historical data describing past movements of avatars within the virtual world130. For example, the following monitor105may analyze the transition data124(stored in server system120) in order to evaluate how often avatars have moved from one location to another, and thus determine whether a current pattern of movements fits within the historical movement patterns. This analysis may be performed in terms of specific location identifiers, in terms of location coordinates, in terms of keywords describing each location, and the like.

In one embodiment, the following monitor105may be configured to test whether a user's avatar is being followed. For example, the following monitor105may be configured to determine a test location within the virtual world130, meaning an unusual destination of a location transition from the user's current location. That is, the following monitor105may analyze the transition data124to determine locations that are never (or seldom) destinations of location transitions starting at the current location of the user. The following monitor105may then present the user with the option to transition to one or more proposed test locations. If the user accepts one of the proposed test locations, the following monitor105may then transition the user to the selected test location. The following monitor105may then monitor the area to determine whether any other avatars have also transitioned from the first location to the selected test location.

In one embodiment, once it is determined that a user is being followed, the following monitor105may be configured to perform avoidance actions. For example, one avoidance action may be to notify the user that he is being followed by the following avatar. Avoidance actions are described further below with reference toFIG. 5.

Of course, the embodiments described above are intended to be illustrative, and are not limiting of the invention. Other embodiments are broadly contemplated. For example, the functionality of the following monitor105may be incorporated into the virtual world130. That is, the virtual world130may be configured to detect avatar following, and to respond to such situations by performing avoidance actions.

FIG. 3is a flow diagram illustrating a method300for detecting avatar following within a virtual world, according to one embodiment of the invention. Persons skilled in the art will understand that, even though the method is described in conjunction with the system ofFIG. 1, any system configured to perform the steps of the method300, in any order, is within the scope of the present invention.

The method300begins at step310, when a following monitor105receives a trigger indicating the need to perform a search for any following avatars within a virtual world (e.g., virtual world130illustrated inFIG. 1). Such a trigger may include a user command (e.g., menu selection, toolbar selection, etc.), a scheduled event, a situation or avatar action occurring within the virtual world (e.g., the presence of another avatar), and the like. At step320, the following monitor105may identify any other avatars within a hearing range of the user's avatar.

At step330, the following monitor105determines whether any avatar identified at step320appears to be following the user's avatar. The following monitor105may analyze the user data106to exclude any avatars that are known friends or acquaintances of the user from being considered as suspected following avatars. Further, the following monitor105may analyze the location history103to determine whether a suspected avatar has been present in the same locations that the user's avatar was recently in. If so, the following monitor105may determine whether the suspected avatar's presence at the same locations may be due to random probability (i.e., by coincidence) rather than intentional following of the user's avatar. For example, the following monitor105may analyze the transition data124to determine past patterns of location transitions for all users of the virtual world130, and thus determine the likelihood of a given pattern of location transitions occurring randomly. Generally, as the number of location transitions shared by the avatars increases, the likelihood that the coincidences are due to random probability decreases. If the likelihood that shared location transitions are due to random probability is determined to be below some predefined threshold, the following monitor105may determine that the user is being followed by the following avatar. In one embodiment, the threshold indicating that the user is being followed may be adjusted based on the nature of interactions that the user is engaged in within the virtual world130. For example, if the user is discussing sensitive information (e.g., financial transactions, personal information, etc.) with other avatars, then the threshold may be increased in order to ensure greater caution in protecting the user.

At step340, the following monitor105may perform a test to confirm that the user's avatar is being followed. One exemplary method to perform a confirmation test is described below with reference toFIG. 4. At step350, after determining that the user is being followed, the following monitor105may perform avoidance actions to protect the user. One exemplary method to perform avoidance actions is described below with reference toFIG. 5. After step350, the method300terminates.

FIG. 4is a flow diagram illustrating a method400for performing a confirmation test of a suspected following avatar, according to one embodiment of the invention. For the sake of illustration, method400is described in conjunction with the system ofFIG. 1. However, persons skilled in the art will understand that any system configured to perform the steps of method400, in any order, is within the scope of the present invention.

The method400represents one embodiment of the step340of the method300illustrated inFIG. 3. Thus, the method400may be performed after detecting a suspected following avatar within the virtual world130. The method400begins at step410, where a following monitor105determines a test location within the virtual world130that represents an unusual destination for an avatar present at the user's current location. For example, the following monitor105may analyze the transition data124to determine a location that is rarely a destination of an avatar location transition from the current location of the user. Optionally, the following monitor105may present the user with a list of proposed test locations, and receive the user's selection of a specific location to transition to.

At step420, the following monitor105may transition the user's avatar to the test location. The transition may occur in response to the user accepting a particular test location from one or more proposed test locations. At step430, the following monitor105may determine that the user's avatar was followed to the test location. For example, the following monitor105may monitor the test location to determine whether any other avatars have also transitioned from the first location to the test location. At step440, the following monitor105may return a notification that the confirmation test has been completed. For example, if it determined at step430that the following avatar did follow the user to the test location, then the following monitor105may return a notification that the user is being followed. After step440, the method400terminates.

FIG. 5is a flow diagram illustrating a method500for performing avoidance actions to avoid a following avatar, according to one embodiment of the invention. For the sake of illustration, method500is described in conjunction with the system ofFIG. 1. However, persons skilled in the art will understand that any system configured to perform the steps of method500, in any order, is within the scope of the present invention.

The method500represents one embodiment of the step350of the method300illustrated inFIG. 3. In one embodiment, the steps of method500are performed incrementally until the user is no longer being followed by a following avatar. The method500begins at step510, by alerting the user that he is being followed. For example, the following monitor105may present the user with the name of the user of the following avatar, an identifier of the following avatar, a description of the visual appearance of the following avatar, or a graphic indicator of the following avatar. Such data may be presented within a visual display of the virtual world130(e.g., the user display200shown inFIG. 2). At step520, the user may be alerted to the following avatar's subsequent locations. That is, at a time when the user is not currently being followed, the user may be alerted to a current location of an avatar that was previously identified as being a following avatar. The user can then avoid entering any locations in which the following avatar may be present, thus avoiding unwanted encounters with the following avatar.

At step530, the user of the following avatar may be blocked from accessing the user's communications. For example, the following avatar may be blocked from “listening in” on the user's dialog balloons, chat text, voice chat, etc., while in the same location within the virtual world130. At step540, the user of the following avatar may be blocked from viewing the user's current location within the virtual world130. At step550, the following avatar may be blocked from entering the same virtual location that the user is currently in. The blocked location may be a single version of a location of the virtual world130, or may be a particular instance of multiple versions of a location of the virtual world130.

At step560, the users of other avatars may be alerted to the presence of the following avatar. For example, the following monitor105may access the user data106to identify friends of the user being followed, and may alert the friends of the presence of the following avatar. At step570, the user of the following avatar may be reported to real-world authorities (e.g., a police department, a system administrator, etc.). This action may include sending collected evidence of acts of following the user, including data describing similar location transitions, results of confirmation tests, and the like. After step570, the method500terminates.

Of course, methods300,400and500are provided for illustrative purposes only, and are not limiting of the invention. It is contemplated that the steps of method300,400and500may be performed in a different order or combination, depending on the severity of the interaction. Further, methods300,400and500may be modified to incorporate other preventative actions. Such modifications may be made to suit particular situations, and are thus contemplated to be in the scope of the invention.

While the foregoing is directed to embodiments of the present invention, other and further embodiments of the invention may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.

Claims

  1. A computer-implemented method, comprising: initiating a search for at least one avatar following a target avatar under control of a user within a virtual world;as a result of the search, identifying one or more avatars suspected of following the target avatar based on predetermined criteria by at least one of (i) identifying one or more avatars present in the same virtual location as the target avatar, and (ii) identifying one or more avatars within a defined hearing range of the target avatar;excluding, from the identified one or more avatars, any avatar that represents at least one of: (i) a friend of the user, (ii) an acquaintance of the user, and (iii) a second user engaged in a conversation with the user;determining one or more characteristics of movements of the identified one or more avatars within the virtual world;upon determining that the one or more characteristics of movements indicate a presence of at least one of the identified one or more avatars in at least one virtual location during at least some of the time that the target avatar was also present in the at least one virtual location, calculating a likelihood that the presence was due to random probability;upon determining that the calculated likelihood is below a predefined threshold, determining that the at least one of the identified one or more avatars is following the target avatar;and blocking the at least one of the identified one or more avatars from entering a current virtual location of the target avatar.
  1. The computer-implemented method of claim 1 , wherein calculating the likelihood is based on historical data describing avatar transitions within the virtual world.
  2. The computer-implemented method of claim 2 , wherein the historical data describing avatar transitions within the virtual world comprises at least one of: (i) starting locations of avatar transitions, (ii) ending locations of avatar transitions, (iii) frequency of occurrence of each type of avatar transition, (iv) keywords describing each starting location, and (v) keywords describing each ending location.
  3. The computer-implemented method of claim 1 , wherein determining the one or more characteristics of movements of the identified one or more avatars comprises: determining one or more test locations within the virtual world that are unlikely to be destinations of an avatar located at the current virtual location of the target avatar;transitioning the target avatar to at least one of the one or more test locations;and determining whether at least one of the identified one or more avatars has followed the target avatar to the at least one of the one or more test locations.
  4. The computer-implemented method of claim 4 , further comprising notifying the user that the target avatar has been followed to the at least one of the one or more test locations.
  5. A non-transitory computer-readable storage medium device containing a program, which, when executed on a processor, performs an operation, the operation comprising: initiating a search for at least one avatar following a target avatar under control of a user within a virtual world;as a result of the search, identifying one or more avatars suspected of following the target avatar based on predetermined criteria by at least one of (i) identifying one or more avatars present in the same virtual location as the target avatar, and (ii) identifying one or more avatars within a defined hearing range of the target avatar;excluding, from the identified one or more avatars, any avatar that represents at least one of: (i) a friend of the user, (ii) an acquaintance of the user, and (iii) a second user engaged in a conversation with the user;determining one or more characteristics of movements of the identified one or more avatars within the virtual world;upon determining that the one or more characteristics of movements indicate a presence of at least one of the identified one or more avatars in at least one virtual location during at least some of the time that the target avatar was also present in the at least one virtual location, calculating a likelihood that the presence was due to random probability;upon determining that the calculated likelihood is below a predefined threshold, determining that the at least one of the identified one or more avatars is following the target avatar;and blocking the at least one of the identified one or more avatars from entering a current virtual location of the target avatar.
  6. The computer-readable storage medium of claim 6 , wherein calculating the likelihood is based on historical data describing avatar transitions within the virtual world.
  7. The computer-readable storage medium of claim 7 , wherein the historical data describing avatar transitions within the virtual world comprises at least one of: (i) starting locations of avatar transitions, (ii) ending locations of avatar transitions, (iii) frequency of occurrence of each type of avatar transition, (iv) keywords describing each starting location, and (v) keywords describing each ending location.
  8. The computer-readable storage medium of claim 6 , wherein determining the one or more characteristics of movements of the identified one or more avatars comprises: determining one or more test locations within the virtual world that are unlikely to be destinations of an avatar located at the current virtual location of the target avatar;transitioning the target avatar to at least one of the one or more test locations;and determining whether at least one of the identified one or more avatars has followed the target avatar to the at least one of the one or more test locations.
  9. The computer-readable storage medium of claim 9 , the operation further comprising notifying the user that the target avatar has been followed to the at least one of the one or more test locations.
  10. A system, comprising: a processor;and a memory containing a program, which, when executed by the processor, is configured to perform an operation, the operation comprising: initiating a search for at least one avatar following a target avatar under control of a user within a virtual world;as a result of the search, identifying one or more avatars suspected of following the target avatar based on predetermined criteria by at least one of (i) identifying one or more avatars present in the same virtual location as the target avatar, and (ii) identifying one or more avatars within a defined hearing range of the target avatar;excluding, from the identified one or more avatars, any avatar that represents at least one of: (i) a friend of the user, (ii) an acquaintance of the user, and (iii) a second user engaged in a conversation with the user;determining one or more characteristics of movements of the identified one or more avatars within the virtual world;upon determining that the one or more characteristics of movements indicate a presence of at least one of the identified one or more avatars in at least one virtual location during at least some of the time that the target avatar was also present in the at least one virtual location, calculating a likelihood that the presence was due to random probability;upon determining that the calculated likelihood is below a predefined threshold, determining that the at least one of the identified one or more avatars is following the target avatar;and blocking the at least one of the identified one or more avatars from entering a current virtual location of the target avatar.

Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.