Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
GENERATING AND MAINTAINING A VIRTUAL ENVIRONMENT FOR VIRTUAL SPORTS EVENTS
Document Type and Number:
WIPO Patent Application WO/2015/148789
Kind Code:
A1
Abstract:
Various embodiments manage a virtual sports event interactive environment. In one embodiment, at least one virtual representation of a user is generated for a virtual sports event interactive environment. The virtual representation includes at least one facial feature of the user. At least one user area is generated in the virtual sports event interactive environment. The user area is personalized by the user and comprises one or more virtual representations of sponsored products. A virtual representation of an event commissioner is displayed in the virtual sports event interactive environment. A list of available real-world players is displayed in the user area. A selection of at least one of the list of available players is received from the user. The list of available players is automatically updated based on the selection. A player roster displayed in the user area is automatically updated based on the selection.

Inventors:
SIEGEL HOWARD L (US)
SPIVAK WARREN SCOTT (US)
Application Number:
PCT/US2015/022713
Publication Date:
October 01, 2015
Filing Date:
March 26, 2015
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
SPORTSWORLD INC (US)
International Classes:
G06Q50/10; G06T19/00
Foreign References:
US20050239549A12005-10-27
US20030054885A12003-03-20
US20120270615A12012-10-25
US20060046807A12006-03-02
US20110306427A12011-12-15
Attorney, Agent or Firm:
GIBBONS, Jon, A. et al. (One Boca Commerce Center551 NW 77th Street, Suite 11, Boca Raton FL, US)
Download PDF:
Claims:
Claims

What is claimed is:

1. A method for generating and maintaining an interactive environment for a virtual sports event, the method comprising:

executing an interactive environment on at least one information processing system; rendering, within the interactive environment, at least one virtual representation of at least one user in a plurality of users registered with the interactive environment;

rendering, within the interactive environment, at least one common drafting area associated with a virtual sports event, the common drafting area presenting a common view of the interactive environment to the plurality of users;

rendering, within the interactive environment, at least one user drafting area associated with at least one of the plurality of users, the user drafting area being rendered based on personalized attributes selected by the user;

displaying, within at least the user drafting area, a list of players available in the virtual sports event, where each player in the list of players represents a real- world athlete;

receiving a draft command originating from the user draft area, the draft command being associated with one of the players in the list of players;

adding, based on receiving the draft command, the player to a virtual sports team managed by the user in the interactive environment; and

dynamically updating, based on receiving the draft command, the common drafting area, the updating animating a figure to present a notification within the common drafting area indicating that the user has added the player to the common drafting area associated with the user.

2. The method of claim 1, wherein rendering the at least one common drafting area comprises at least one of:

presenting a first selectable icon configured to dynamically display the user drafting area to the user when selected;

presenting a second selectable icon configured to dynamically display a list of available players in the virtual sports event to the user when selected, where each player in the list of players represents a real-world athlete;

presenting a third selectable icon configured to dynamically display a ranking of each player in the list of available players to the user when selected; and presenting a fourth selectable icon configured to display one or more other user drafting areas to the user when selected.

3. The method of claim 1, wherein rendering the user drafting area comprises:

retrieving at least one profile associated with the user;

obtaining a set of user drafting area characteristics from the profile; and

rendering a graphical representation of the user drafting area based on the set of user drafting area characteristics.

4. The method of claim 1, wherein rendering the user drafting area comprises:

presenting at least one graphical representation of a display within the user drafting area; and

presenting video of a sporting event within the graphical representation of a display.

5. The method of claim 1, wherein adding the player to the virtual sports team managed by the user comprises:

updating a first profile associated with the user comprising virtual sports team information to include at least an identifier associated with the player; and

updating a second profile comprising information associated with all players in the virtual sports event, the updating at least marking the player as currently drafted.

6. The method of claim 1, further comprising:

receiving a result from a game of chance presented to each of the plurality of users within the interactive environment; and

determining a draft order for each of the plurality of users, based on the result that has been received for each user.

7. The method of claim 1, wherein the common drafting area is rendered within a portion of the user drafting area, where the common drafting area and the user drafting area are presented simultaneously to the user within the interactive environment.

8. The method of claim 1, further comprising:

receiving a command from the user to enter a trading area associated with the user;

dynamically presenting, based on receiving the command, the trading area to the user within the interactive environment; and displaying a set of selectable commands within the user trading area to manage player trades with other users.

9. The method of claim 8, further comprising:

receiving a selection from the user of at least one of the selectable commands;

analyzing a set of attributes associated with each of a first plurality of players associated with the virtual sports team associated with the user, where each player in the first plurality of players represents a real-world athlete;

analyzing a set of attributes associated with a second plurality of players associated with at least one other user, where each player in the second plurality of players represents a real- world athlete;

identifying, based on the analyzing, a potential trade comprising at least a first player from the first plurality of players and at least a second player from the second plurality of players as a potential trade match;

sending an electronic message to each of the user associated with the first player and the other user associated with the second player, where each electronic message at least identifies each of the first player, the second player, the user, and the other user;

receiving an indication of acceptance for the potential trade from both the user and the other user; and

automatically updating a player roster associated with each of the user and the user in the plurality of users based receiving the indication of acceptance.

10. The method of claim 1, wherein the user drafting area is sharable with other users of the interactive environment.

11. The method of claim 1, further comprising:

receiving a rating for each of a plurality of user drafting areas from one or more of the plurality of users;

calculating a ranking for each of the plurality of user drafting areas based on the ratings that have been received; and

presenting, within the interactive environment, a list of a top N user drafting areas based on the rankings that have been calculated.

12. A computer program product for generating and maintaining an interactive environment for a virtual sports event, the computer program product comprising: a storage medium readable by a processing circuit and storing instructions for execution by the processing circuit for performing a method comprising:

executing an interactive environment on at least one information processing system; rendering, within the interactive environment, at least one virtual representation of at least one user in a plurality of users registered with the interactive environment;

rendering, within the interactive environment, at least one common drafting area associated with a virtual sports event, the common drafting area presenting a common view of the interactive environment to the plurality of users;

rendering, within the interactive environment, at least one user drafting area associated with at least one of the plurality of users, the user drafting area being rendered based on personalized attributes selected by the user;

displaying, within at least the user drafting area, a list of players available in the virtual sports event, where each player in the list of players represents a real- world athlete;

receiving a draft command originating from the user draft area, the draft command being associated with one of the players in the list of players;

adding, based on receiving the draft command, the player to a virtual sports team managed by the user in the interactive environment; and

dynamically updating, based on receiving the draft command, the common drafting area, the updating animating a figure to present a notification within the common drafting area indicating that the user has added the player to the common drafting area associated with the user.

13. The computer program product of claim 12, wherein rendering the at least one common drafting area comprises at least one of:

presenting a first selectable icon configured to dynamically display the user drafting area to the user when selected;

presenting a second selectable icon configured to dynamically display a list of available players in the virtual sports event to the user when selected, where each player in the list of players represents a real-world athlete;

presenting a third selectable icon configured to dynamically display a ranking of each player in the list of available players to the user when selected; and

presenting a fourth selectable icon configured to display one or more other user drafting areas to the user when selected.

14. The computer program product of claim 12, wherein rendering the user drafting area comprises:

retrieving at least one profile associated with the user;

obtaining a set of user drafting area characteristics from the profile; and

rendering a graphical representation of the user drafting area based on the set of user drafting area characteristics.

15. The computer program product of claim 12, wherein adding the player to the virtual sports team managed by the user comprises:

updating a first profile associated with the user comprising virtual sports team information to include at least an identifier associated with the player; and

updating a second profile comprising information associated with all players in the virtual sports event, the updating at least marking the player as currently drafted. 16. The computer program product of claim 12, wherein the method further comprises:

receiving a result from a game of chance presented to each of the plurality of users within the interactive environment; and

determining a draft order for each of the plurality of users, based on the result that has been received for each user.

17. The computer program product of claim 12, wherein the common drafting area is rendered within a portion of the user drafting area, where the common drafting area and the user drafting area are presented simultaneously to the user within the interactive environment. 18. The computer program product of claim 12, wherein the method further comprises:

receiving a command from the user to enter a trading area associated with the user;

dynamically presenting, based on receiving the command, the trading area to the user within the interactive environment; and

displaying a set of selectable commands within the user trading area to manage player trades with other users.

19. The computer program product of claim 18, wherein the method further comprises:

receiving a selection from the user of at least one of the selectable commands; analyzing a set of attributes associated with each of a first plurality of players associated with the virtual sports team associated with the user, where each player in the first plurality of players represents a real-world athlete;

analyzing a set of attributes associated with a second plurality of players associated with at least one other user, where each player in the second plurality of players represents a real- world athlete;

identifying, based on the analyzing, a potential trade comprising at least a first player from the first plurality of players and at least a second player from the second plurality of players as a potential trade match;

sending an electronic message to each of the user associated with the first player and the other user associated with the second player, where each electronic message at least identifies each of the first player, the second player, the user, and the other user;

receiving an indication of acceptance for the potential trade from both the user and the other user; and

automatically updating a player roster associated with each of the user and the user in the plurality of users based receiving the indication of acceptance.

20. An information processing system for generating and maintaining an interactive environment for a virtual sports event, the information processing system comprising:

memory;

at least one processor communicatively coupled to the memory; and

a virtual environment manager communicatively coupled to the memory and the at least one processor, the virtual environment manager configured to perform a method comprising: generating at least a first virtual representation of a user for a virtual sports event interactive environment, the virtual representation comprising at least one real facial feature of the user;

generating at least one user drafting area in the virtual sports event interactive environment, the user drafting area being personalized by the user and comprising one or more virtual representations of sponsored products;

notifying the user that a virtual sports event draft is starting;

receiving a result from a game of chance presented to each of the plurality of users within the interactive environment;

determining, based on the result, a draft order for each of the plurality of users;

displaying, based on the notifying, a virtual representation of an event commissioner in the virtual sports event interactive environment; displaying, within the user drafting area, a list of available players, where each player in the list of players represents a real-world athlete;

presenting, based on the draft order, a notification within the interactive environment indicating that the user has a current turn for selecting one of the list of available players;

receiving, from the user, a selection of at least one of the list of available players;

instructing the virtual representation of the event commissioner to walk to a virtual podium and announce the selection;

instructing a visually enhanced avatar to walk to and touch a common draft board viewable by all users associated with the virtual sports event draft;

automatically updating, based on the selection, the common draft board;

automatically updating, based on the selection, the list of available players;

automatically updating, based on the selection, a player roster being displayed in the user draft area;

generating at least one user trading area in the virtual sports event interactive environment, the user trading area being personalized by the user and comprising one or more virtual representations of sponsored products;

displaying a list of potential trades in the user trading area;

receiving, from a user, one or more proposed trades;

generating, based on the receiving, one or more electronic messages;

sending the one or more electronic messages to at least one potential trading partner; receiving a confirmation of at least one trade from the user and the at least one potential trading partner; and

automatically updating a player roster being displayed in the user trading area.

Description:
GENERATING AND MAINTAINING A VIRTUAL ENVIRONMENT FOR VIRTUAL

SPORTS EVENTS

BACKGROUND

The present disclosure generally relates to virtual environments, and more particularly relates to generating and maintaining virtual environments for virtual sports events.

Virtual sport leagues (also referred to as fantasy sport leagues) have become increasingly popular over the years. These virtual leagues allow individuals to act as owners or general managers of a simulated/virtual sports team. Each simulated sporting team is comprised of players that are based on human players from real-life sporting teams. In most virtual leagues, teams participate against each other based on a point system. Points are generally awarded to a virtual team based on the game performance of a simulated player's real-life counterpart. The virtual team with the most points at the end of a season, week, or day is usually designated the league champion.

BRIEF SUMMARY

In one embodiment, a method for generating and maintaining an interactive environment for a virtual sports event is disclosed. The method comprises executing an interactive environment on at least one information processing system. At least one common drafting area associated with at least one of a virtual sports event such as a virtual sports league and/or a virtual sports game is rendered within the interactive environment. The common drafting area presents a common view of the interactive environment to a plurality of users registered with the interactive environment. At least one user drafting area associated with at least one of the plurality of users is rendered within the interactive environment. The user drafting area is rendered based on personalized attributes selected by the user. A list of players available in the virtual sports event is displayed within at least the user drafting area. Each player in the list of players represents a real-world athlete. A draft command originating from the user draft area is received. The draft command is associated with one of the players in the list of players. The player is assigned to a virtual sports team managed by the user in the interactive environment based on receiving the draft command. The common drafting area is dynamically updated based on receiving the draft command. The updating animates a figure to present a notification within the common drafting area indicating that the user has added the player to the virtual sports team associated with the user. The user that makes the selection instructs his/her virtual representation to make certain movements, take certain actions and/or make certain comments about his/her selection. One or more of the other users instructs his/her virtual representation to make certain movements, take certain actions and/or make certain comments about the user' s selection.

In another embodiment, a computer program product for generating and maintaining an interactive environment for a virtual sports event is disclosed. The computer program product comprises a storage medium readable by a processing circuit and stores instructions for execution by the processing circuit for performing a method. The method comprises executing an interactive environment on at least one information processing system. At least one virtual representation of a user in a plurality of users is rendered within the interactive environment. The plurality of users being registered with the interactive environment. At least one common drafting area associated with at least one of a virtual sports event such as a virtual sports game and/or a virtual sports game is rendered within the interactive environment. The common drafting area presents a common view of the interactive environment to a plurality of users registered with the interactive environment. At least one user drafting area associated with the user is rendered within the interactive environment. The user drafting area is rendered based on personalized attributes selected by the user. A list of players available in the virtual sports event is displayed within at least the user drafting area. Each player in the list of players represents a real-world athlete. A draft command originating from the user draft area is received. The draft command is associated with one of the players in the list of players. The player is assigned to a virtual sports team managed by the user in the interactive environment based on receiving the draft command. The common drafting area is dynamically updated based on receiving the draft command. The updating animates a figure to present a notification within the common drafting area indicating that the user has added the player to the virtual sports team associated with the user. The user that makes the selection instructs his/her virtual representation to make certain movements, take certain actions and/or make certain comments about his/her selection. One or more of the other users instructs his/her virtual representation to make certain movements, take certain actions and/or make certain comments about the user' s selection.

In yet another one embodiment, an information processing system for generating and maintaining an interactive environment for a virtual sports event is disclosed. The information processing system comprises memory and at least one processor that is communicatively coupled to the memory. A virtual environment manager is communicatively coupled to the memory and the at least one processor. The virtual environment manager is configured to perform a method. The method comprises generating at least one virtual representation of a user for a virtual sports event interactive environment. A virtual sports event comprises at least one of a virtual sports league and a virtual sports game. The virtual representation comprises at least one real facial feature of the user. At least one user drafting area is generated in the virtual sports event interactive environment. The user drafting area is personalized by the user and comprises one or more virtual representations of sponsored products. The user is notified that a virtual sports event draft is starting. A virtual representation of an event commissioner is displayed in the virtual sports event interactive environment based on such notification. A list of players available in the virtual sports event is displayed within at least the user drafting area. Each player in the list of players represents a real-world athlete. The virtual representation of the event commissioner is automatically instructed to walk to a virtual podium and announce the selection. A visually enhanced avatar is automatically instructed to walk to and touch the common draft board viewable by all users associated within the virtual sports event draft. The common draft board and list of available players is then automatically updated based on the selection. A player roster displayed in the user drafting area is also automatically updated based on the selection. The user that makes the selection instructs his/her virtual representation to make certain movements, take certain actions and/or make certain comments about his/her selection. One or more of the other users instructs his/her virtual representation to make certain movements, take certain actions and/or make certain comments about the user's selection.

At least one user trading area is generated in the virtual sports event interactive environment, and comprises one or more virtual representations of sponsored products. Personalization requests and selections are received from at least one user associated with the user trading area. A list of potential trades is displayed in the user trading area. A request for one or more potential trades of players is received from the user. One or messages are generated and communicated to other users who may be potential trading partners based on the request. A virtual representation of each user associated with a potential trade is instructed to enter the user trading area associated the represented user. One or more messages associated with players trades are received from each of the users. One or more comments associated with potential player trades are received from at least one user that is independent of the potential player trades. A confirmation is received from each of the users involved in a trade. A player roster displayed in each of the user trading areas is automatically updated based on a player trade.

In a further embodiment, rendering the at least one common drafting area comprises at least one of presenting a first selectable icon configured to dynamically display the user drafting area to the user when selected; presenting a second selectable icon configured to dynamically display a list of available players in the virtual sports event to the user when selected, where each player in the list of players represents a real-world athlete; presenting a third selectable icon configured to dynamically display a ranking of each player in the list of available players to the user when selected; and presenting a fourth selectable icon configured to display one or more other user drafting areas to the user when selected.

In yet a further embodiment, rendering the user drafting area comprises retrieving at least one profile associated with the user; obtaining a set of user drafting area characteristics from the profile; and rendering a graphical representation of the user drafting area based on the set of user drafting area characteristics.

In one additional embodiment, rendering the user drafting area comprises presenting at least one graphical representation of a display within the user drafting area; and presenting video of a sporting event within the graphical representation of a display. In one embodiment, adding the players to the virtual sports team managed by the user comprises updating a first profile associated with the user comprising virtual sports team information to include at least an identifier associated with the player; and updating a second profile comprising information associated with all players in the virtual sports event, the updating at least marking the player as currently drafted.

In another embodiment, at least one graphical representation of the user is rendered within the drafting area, the graphical representation being controllable by the user throughout the interactive environment. In a further embodiment, the common drafting area is rendered within a portion of the user drafting area, where the common drafting area and the user drafting area are presented simultaneously to the user within the interactive environment.

In yet a further embodiment, a command from the user to enter a trading area associated with the user is received. The trading area is dynamically presented to the user within the interactive environment based on receiving the command. A set of selectable commands is displayed to the user within the user trading area to manage player trades with other users.

In one additional embodiment, a selection from the user of at least one of the selectable commands is received. A set of attributes associated with each of a first plurality of players associated with the virtual sports team associated with the user is analyzed. A set of attributes associated with a second plurality of players associated with at least one other user is analyzed. A potential trade comprising at least a first player from the first plurality of players and at least a second player from the second plurality of players is identified as a potential trade match based on the analyzing. An electronic message is sent to each of the user associated with the first player and the other user associated with the second player. Each electronic message at least identifies each of the first player, the second player, the user, and the other user. An indication of acceptance for the potential trade is received from both the user and the other user. A player roster associated with each of the user and the user in the plurality of users is automatically updated based receiving the indication of acceptance.

In one embodiment, the user drafting area is sharable with other users of the interactive environment. In another embodiment, a rating for each of a plurality of user drafting areas is received from one or more of the plurality of users. A ranking is calculated for each of the plurality of user drafting areas based on the ratings that have been received. A list of a top N user drafting areas is presented within the interactive environment based on the rankings that have been calculated. In a further embodiment, a result from a game of chance presented to each of the plurality of users within the interactive environment is received. A draft order for each of the plurality of users is determined based on the result that has been received for each user.

BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS

The accompanying figures where like reference numerals refer to identical or functionally similar elements throughout the separate views, and which together with the detailed description below are incorporated in and form part of the specification, serve to further illustrate various embodiments and to explain various principles and advantages all in accordance with the present disclosure, in which:

FIG. 1 is a block diagram illustrating one example of an operating environment according to one embodiment of the present disclosure; FIG. 2 is a block diagram illustrating a detailed view of a virtual environment manager according to one embodiment of the present disclosure;

FIG. 3 shows one example of a user profile according to one embodiment of the present disclosure;

FIG. 4 shows one example of an avatar profile according to one embodiment of the present disclosure; FIG. 5 shows one example of a common area of a virtual environment according to one embodiment of the present disclosure;

FIG. 6 shows one example of a sponsor profile according to one embodiment of the present disclosure;

FIG. 7 shows one example of a user room profile according to one embodiment of the present disclosure;

FIG. 8 shows one example of a user drafting room according to one embodiment of the present disclosure;

FIG. 9 shows one example of a common drafting room according to one embodiment of the present disclosure; FIG. 10 shows various examples of player profiles according to one embodiment of the present disclosure;

FIG. 11 shows various examples of team profiles according to one embodiment of the present disclosure;

FIG. 12 is an operational flow diagram illustrating one example of a process for rendering and populating a virtual environment with an avatar associated with a user according to one embodiment of the present disclosure; FIG. 13 is an operational flow diagram illustrating one example of a process for generating a drafting room associated with a user in a virtual environment according to one embodiment of the present disclosure; FIG. 14 is an operational flow diagram illustrating one example of a process for sharing a user drafting room with other users in a virtual environment according to one embodiment of the present disclosure;

FIGs. 15-16 are operational flow diagrams illustrating one example of a process for drafting players in virtual environment according to one embodiment of the present disclosure;

FIG. 17 is an operational flow diagram illustrating one example of a process for trading players in a virtual environment according to one embodiment of the present disclosure; and FIG. 18 is a block diagram illustrating one example of an information processing system according to one embodiment of the present disclosure.

DETAILED DESCRIPTION FIG. 1 shows one example of an operating environment 100 for generating and managing a virtual environment(s) comprising one or more computer-based or simulated sports events. A sports event, in one embodiment, comprises a sports league and/or a sports game. In particular, FIG. 1 shows a plurality of user systems 102, 104 and server systems 106, 108, 110 communicatively coupled to at least one network 112. The network 112, in one embodiment, comprises at least one of a wide area network, a local area network, a wireless network, a telecommunications network, and/or the like. A user system 102, 104 can include, for example, information processing systems such as desktop computers; portable computing devices such as laptop computers, mobile/smart phones, tablet computing devices, wearable computing devices (e.g., smart watches, bands, etc.), personal digital assistants, etc.; and/or the like. The server systems 106, 108, 110 comprise information processing systems that manage access to one or more centralized and/or distributed resources and/or services.

In one embodiment, at least one of the server systems 108 generates and/or maintains one or more virtual environments (VEM) 114. In this embodiment, a virtual environment 114 comprises a computer-based (virtual/simulated) sports event such as a virtual sports league(s) and/or a virtual sports game(s) in which users compete against each other. One example of a virtual/simulated sports event is a fantasy sports league. The virtual environment can be deployed on a single physical information processing system, virtual machine, and/or or virtual computing container; distributed across multiple information processing systems, virtual machines, and/or virtual computing containers; and/or the like. A virtual machine is an emulation of a given computing system (hardware and software) and operates based on the architecture and functions of the given computing system. A virtual machine comprises its own operating system that is separate from the operating system of the host machine. A container is an operating system level virtualization where the kernel of the operating system allows for multiple isolated user space instances instead of just one. A container does not require a separate operating system from that of its host. Containers utilize the kernel's functionality and resource isolation along with separate namespaces to completely isolate an application's view of the operating system. The virtual environment 114 provides an interactive environment where users create virtual sports teams composed of virtual representations of real-life athletes (also referred to herein as "players"). A user acts as the owner or general manager of his/her virtual team. For example, a user creates his/her team by "drafting" computer generated virtual representations of real-life athletes. A user also managers his/her team throughout the course of a season by selecting starting lineups, trading players, and/or the like. Virtual teams compete against each other based on real-life sporting event data 116 such as (but not limited to) statistics and other metrics associated with each virtual player's real-life counterpart. For example, if Virtual_Team_A comprises Virtual_Player_A representing Real-Life_Player_A, a computer-based component awards points (or any other type of award mechanism) to Virtual_Player_A based on the performance (and other metrics) of Real-Life_Player_A in a real-life game. In this embodiment, a season in a virtual sports league corresponds to the season of the real-life sporting league. In other embodiments, a season corresponds to a week or day of the real-life sporting league. Points can be awarded to a virtual team and its players at different granularities such as on a game-by-game basis, weekly basis, monthly basis, and/or the like. The virtual teams and their players are ranked according to their point totals. Rankings can be determined at different granularities as well. For example, rankings can be determined on a game-by-game basis, weekly basis, monthly basis, and/or the like. In one embodiment, the virtual team with the most points at the end of the season is determined to be the league champion or winner of the game. However, other mechanisms for determining a league champion or game winner are applicable as well. Each of the user systems 102, 104 comprise one or more virtual environment interfaces 118, 120. The virtual environment interfaces 118, 120 allow the user systems 102, 104 to communicate with the virtual environment 114. The interfaces 118, 120 also allow a user associated with each user system 102, 104 to interact with the virtual environment 114. In one embodiment, the interfaces 118, 120 are a tool such as an application(s), an application programming interface, a website, a web application, a mashup, and/or the like. It should be noted that any portion of the virtual environment 114 presented to the user through the user interface can be dynamically rendered (or at least partially dynamically rendered) immediately prior to being presented to the user (e.g. upon receiving a request from the user to interact with the portion of the virtual environment 114); can have been previously rendered; or can have been previously rendered in anticipation of the user requesting to access the portion of the virtual environment 114 (e.g., based on user's previous interaction history, current context of the user's interaction with the environment 114, and/or the like). In one embodiment, a separate virtual machine and/or container can be generated for each user of the virtual environment 114. In another embodiment, each user is allocated a private portion of memory/storage such that all of the user's data associated with the environment is stored within this private area or memory/storage.

FIG. 1 further shows that at least one of the server systems 106 comprises a virtual environment manager 122, user profiles 124, team profiles 126, player profiles 128, sponsor/advertiser profiles 130, user room (e.g., war room and trading room) profiles 132, avatar profiles 134, avatars 136, and user rooms (e.g., war/trading rooms) 138. Each of these components is discussed in greater detail below. It should be noted that each of the profiles and their data can be stored within and/or distributed across one or more databases.

The virtual environment manager 122 provides and manages the virtual environment 114. FIG. 2 shows that the virtual environment manager 122 comprises a rendering engine 202, a draft manager 204, a trade manager 206, a user interaction manager 208, a profile manager 210, a sporting event data monitor 212, and a payment manager 214. Each of these components is discussed in greater detail below. It should be noted that, in at least some embodiments, the virtual environment manager 122 or at least one of its components is distributed across one or more information processing systems. It should also be noted that the virtual environment manager 122 can also be situated on the same system 108 as the virtual environment 114, and/or can be part of the virtual environment 114. As discussed above, users interact with the virtual environment 114 via the interface 118 disposed on their system 102, 104. In one embodiment, users first register with the virtual environment 114. The profile manager 210 of the virtual environment manager 122 receives a computer generated request for registration and creates a user profile record 302, 306, 304, 308 for a given user based on a registration request and information provided by the user. In particular, the virtual environment manager 122 receives electronic data representing user registration information and transforms this electronic data into user profile data shown in FIG. 3. In the example shown in FIG. 3, each row 302, 304, 306 in the table 300 corresponds to a user profile. It should be noted that in other embodiments, each user profile 302, 304, 306 is stored separate from one another. The table 300 comprises a plurality of columns, each storing a different set of information. In this example, the table 300 comprises a first column 308 entitled "Record ID"; a second column 310 entitled "User Credentials"; a third column 312 entitled "User Info"; a fourth column 314 entitled "User Avatar(s)"; a fifth column 316 entitled "User Team"; a sixth column 318 entitled "User Players"; a seventh column 320 entitled "User Rooms"; and an eighth column 322 entitled "Virtual $".

The "Record ID" column 308 comprises entries 324 uniquely identifying each user profile in the table 300. The "User Credentials" column 310 comprises entries 326 with user login credentials for the virtual environment 114. Examples of user login credentials include (but are not limited to) a unique username and a password. The "User Info" 312 column comprises entries 328 including user information such as (but not limited to) user registration information. User registration information includes, for example, the user's name, address, phone number, email address, birthdate, payment information, and/or the like. The "User Avatar(s)" column 314 comprises entries 330 with a pointer to a record in the avatar profiles 134 associated with the user identified by the user profile.

The "User Team" column 316 comprises entries 332 with a pointer to a record in the user team profiles 126 associated with the user identified by the user profile. The "User Players" column 318 comprises entries 334 with a pointer to a record in the player profiles 128 associated with the user identified by the user profile. The "User Rooms" column 320 comprises entries 336 with a pointer to a record in the user rooms profiles 132 associated with the user identified by the user profile. The "Virtual $" column 322 comprises entries 338 identifying a current amount of virtual currency available to the user identified by the user profile. After a user has registered with the virtual environment 114, the user is able to login into and interact with the environment 114. For example, the user initiates his/her virtual environment interface 118, which electronically communicates with the virtual environment manager 122. In this embodiment, the rendering engine 202 of the manager 122 presents a login section of the environment 114 to the user via the interface 118. The user is able to enter and submit his/her login credentials (or create an account for the virtual environment 114). The virtual environment manager 122 receives the login credentials (e.g., username and password) and the user interaction monitor 208 verifies the user's credentials based on the user's profile 124. For example, the user interaction monitor 208 extracts an identifier associated with the user from the credentials and queries the database(s) comprising the user profiles (or queries the profiles directly) to identify the user profile 124 comprising the identifier. Once the user profile 124 associated with the user is identified, the user interaction monitor 208 compares the username and password entered by the user with the username and password information in the user's profile 124. If a match occurs, the user interaction monitor 208 grants access to the virtual environment 114. If a match does not occur, the user is denied access to the user interaction monitor 208.

Once the user has logged in, the rendering engine 202 presents the user with an option for selecting a default virtual representation (avatar) or a personalized virtual representation (avatar) of the user for the environment 114. If the user selects a default avatar, the rendering engine 202 randomly selects (or generates) a default avatar from a plurality of avatars 136. For example, each of a plurality of existing avatars 136 is associated with a unique identifier (ID). The rendering engine 202 utilizes a random number generator to randomly generate a value within a range of values corresponding to the unique identifiers of the avatars 136. The avatar 136 comprising the unique identifier associated with the randomly generated value is selected as the default avatar for the user. If an avatar is randomly generated, each of a plurality of avatar characteristics such as height, body shape, skin color, hair color, eye color, facial expressions, clothing component type (shorts, pants, skirt, etc.), shoe types, clothing component pattern/color, accessories (sunglasses, hats, earrings, etc.), body features (tattoos, piercings, etc.) are each associated with a unique ID. For each characteristic category, the rendering engine 202 utilizes a random number generator to randomly generate a value within a range of values corresponding to the unique identifiers in a characteristic category. The characteristic comprising the unique identifier associated with the randomly generated value is selected as the characteristic for the particular category for the avatar being generated. This process is repeated for each characteristic category. Once all characteristics have been randomly selected, a default avatar has been generated. It should be noted that, in one embodiment, a default avatar is selected with a gender corresponding to the gender of the user, as provided by the user's profile 128.

It should be noted that, in another embodiment, the rendering engine 202 presents the user with a list of default (non-personalized) avatars for selection by the user. The user selects one of these displayed default avatars via the interface 118. The user can also indicate if he/she wants this selected avatar to be the user's default avatar. If so, the user's profile 124 is updated to include a pointer to the record in the avatar profiles 134 associated with the selected avatar. In this embodiment, when a user subsequently logs in to the virtual environment 114 the rendering engine 202 automatically selects and displays this default avatar.

If the user selects the personalized avatar option, the user interaction monitor 208 receives this selection and determines if the user has previously created a personalized avatar. For example, the user interaction monitor 208 analyzes the user profile 124 associated with the user, and identifies the "User Avatar(s)" entry. The user interaction monitor 208 determines if this entry identifies an avatar record associated with a personalized avatar. If so, the user interaction monitor 208 queries the user to determine if he/she would like to use this personalized avatar or create a new one. If the user indicates that he/she wants to use the identified personalized avatar (via an electronic submission), the rendering engine 202 selects and dynamically renders this avatar as the user/s virtual representation within the virtual environment 114.

For example, the rendering engine 202 analyzes the avatar profile 134 associated with the avatar ID identified in the "User Avatar(s)" entry of the user profile 124. The rendering engine identifies the various characteristics of the avatar stored within the corresponding entries of the avatar profiles. Examples of characteristics include (but are not limited to) height, body shape, skin color, hair color, eye color, facial expressions, clothing component type (shorts, pants, skirt, etc.), shoe types, clothing component pattern/color, accessories (sunglasses, hats, earrings, etc.), body features (tattoos, piercings, etc.). The rendering engine 202 takes this data as input and transforms this data into an avatar that is graphically displayed within the virtual environment. A user's avatar (default or personalized) can be rendered prior to the user making an avatar selection (e.g., rendered upon user login) to avoid any delays in presenting the avatar to the user in the environment 114.

If the user indicates that he/she wants to create a new avatar or is not currently associated with a personalized avatar, the rendering engine 202 presents one or more portions of the virtual environment 114, via the interface 118, which allow the user to create a personalized avatar. In one embodiment, the user is able to create an avatar that looks like and comprises similar physical features to the user. In this embodiment, a user can submit a photograph or video of himself/herself to the virtual environment manager 122. The rendering engine 202 analyzes the photograph/video for various physical features of the user including (but not limited to) gender, height, weight, hair color, eye color, skin color, eye shape, jaw shape, distance between eyes, and/or the like. The rendering engine 202 then transforms the electronic data representing each of the separate characteristics identified from the photograph/video into a different form, namely, a graphical avatar that is controllable within the virtual environment 114 by the user through the interface 120. In this embodiment, the avatar comprises the physical features of the user. In another embodiment, the user is presented with an on-screen tool that allows the user to manually select multiple physical features for an avatar. In addition to physical features, users are able to select the type of clothing and accessories worn by an avatar. For example, users can select from various uniforms, sporting equipment, and non-sports related clothing/accessories. The rendering engine 202 receives each of the separate selections submitted by the user and transforms this electronic data into a different form, namely, a graphical avatar that is controllable within the virtual environment 114 by the user through the interface 120.

When an avatar 136 is created for a user the avatar 136 is stored and maintained by the virtual environment manager 122. The avatar 136 can be stored in a memory space on one or more servers 106, 108 that is dedicated and private to the user and/or in a memory space that is shared by other users. In one embodiment, an avatar profile 134 is also created for this avatar. For example, the rendering engine 202 generates avatar profile data based on the avatar feature selections submitted by the user (or randomly selected by the engine 202) and the avatar generated (or selected) by the rendering engine 202. The profile manager 210 stores this data in a corresponding avatar profile 134.

FIG. 4 shows various examples of avatar profiles 134. In the example shown in FIG. 4, each row 402, 404, 406 in the table 400 corresponds to an avatar profile. It should be noted that in other embodiments, each avatar profile 402, 404, 406 is stored separate from one another. The table 400 comprises a plurality of columns, each storing a different set of information. In this example, the table 400 comprises a first column 408 entitled "Record ID"; a second column 410 entitled "Avatar ID"; a third column 412 entitled "User ID"; a fourth column 414 entitled "Type"; a fifth column 416 entitled "Characteristics"; and a sixth column 418 entitled "Accessories". The "Record ID" column 408 comprises entries 420 uniquely identifying each avatar profile in the table 400. The "Avatar ID" column 410 comprises entries 422 uniquely identifying the avatar associated with the avatar profile. The "User ID" 412 column comprises entries 424 identifying the user associated with the avatar. The user ID, in one embodiment, comprises information such as the user login name from the credentials information in the user profile 124, the user profile record ID, and/or the like. The "Type" column 414 comprises entries 426 identifying whether the avatar is a personalized avatar or a default avatar. The "Characteristics" column 416 comprises entries 426 identifying the physical characteristics associated with the avatar. The "Accessories" column 418 comprises entries 428 identifying the accessories associated with the avatar. In one embodiment, the rendering engine 202 utilizes the information from the "Characteristics" and "Accessories" columns 416, 418 to render the avatar within the virtual environment 114.

Once the user selects an avatar, the avatar 136 is rendered in the virtual environment 114 via the rendering engine 202. The user, via the interface 118, submits one or more instructions to the virtual environment 114 to command the avatar 136 to enter an area of the virtual environment 114. The rendering engine 202 receives this instruction(s) and dynamically renders or updates the virtual environment 114 to animate the avatar moving into the selected area. Alternatively, the rendering engine 202 dynamically updates the environment 114 to present the user with the selected area and the avatar therein. In one embodiment, the rendering engine 202 presents a first area/location 502 of the environment 114 such as (but not limited to) a virtual sports book to the user, as shown in FIG. 5. In the example shown in FIG. 5, the virtual sports book comprises an identification 504 of the area/location 500 of the environment 114 in which the user's avatar 502 is currently located. If the virtual sports book is sponsored by a given entity, the virtual sports book comprises virtual representations of actual decorations, furniture, electronics, and/or the like found in the real-life sports book. Data/information associated with a sponsor is retrieved by the rendering engine 202 from the sponsor profiles 130 (and/or associated profiles) and dynamically rendered/transformed into a graphical form within the currently presented area of the environment 114.

FIG. 5 further shows that the virtual sports book further comprises an identification 506 of the user and, optionally, the user' s virtual team. In one embodiment, a virtual currency balance 508 is also displayed. Virtual currency can be awarded to users based on participation in various games hosted by the virtual environment 114, and/or purchased by a user. Virtual currency can be used to buy or obtain coupons for various products and services from sponsors/advertisers in the virtual environment 114. Data/information associated with the user is retrieved by the rendering engine 202 from the user profile 124 (and/or associated profiles) and dynamically rendered/transformed into a graphical form within currently presented area of the environment 114.

A plurality of virtual displays 510, 512, 514 such as televisions are also presented to a user in the virtual sports book. In this embodiment, each display presents various types of information to a user such as real-life sporting event information, real-life athlete information, and/or the like. In one embodiment, actual video of real-life sporting events is presented to a user via one or more of these virtual displays 510, 512, 514. The information presented on a display 510, 512, 514 within the environment 114 is obtained by the virtual environment manager 122 from one or more content servers 110 and presented on the display(s) 510, 512, 514. One portion 516 of the virtual sports book displays information associated with the user's team. For example, FIG. 5 shows that a player roster is displayed to the user. This player roster identifies each player on the user's team, the position of the player, and/or the like. The rendering engine 202, in one embodiment, obtains and graphically renders player roster information based on the user's profile 124, team profiles 126, and/or player profiles 128. The user is able to select at least one of the displayed players to have more detailed information, such as (but not limited to) statistics, associated with the selected player presented to the user. The rendering engine 202 receives this selection made by the user and renders the corresponding information within the environment 114. Another portion 518 of the virtual sports book comprises league ranking information. For example, this portion 518 of the virtual sports book can display current virtual league standings to the user. The rendering engine 202, in one embodiment, obtains the ranking information based on the user's profile 124, team profiles 126, and/or player profiles 128 and graphically renders this information within the environment 114. The virtual sports book, in one embodiment, also comprises an area 520 that displays real-life game highlights to the user. These highlights can be text-based, video-based, and/or the like. The virtual environment manager 122 obtains this data from one or more content servers 110 in real-time or at one or more given intervals. The rendering engine 202 then graphically renders this data within the environment 114. The virtual sports book also comprises the avatar 504 associated with the user and one or more avatars 522, 524 associated with other users that have entered the virtual sports book. The user is able to select one or more of these avatars 522, 524 for communicating with the user. For example, when the user selects on another user's avatar 522 the user interaction monitor 208 receives this selection and notifies the rendering engine 202. The rendering engine 202 renders a messaging window(s) 526 that is displayed to the user within the environment 114. The users are then able to send one or more messages to each other within the messaging windows 526. For example, when User_A sends a message to User_B, the rendering engine 202 displays this message to User_B in his/her messaging window such as a separate area of the environment dedicated for messaging, pop-out displayed near the user's avatar, and/or the like.

In another embodiment, a user is able to communicate with another registered user even though this user is currently not logged into the virtual environment (or does not have an avatar located within the same room as the other user). For example, the virtual environment manager 122 can present the user with a list of names and/or avatars associated with offline users. The user submits his/her selection of an offline user to the virtual environment manager 122. The rendering engine 202 displays a messaging window to the user, as discussed above. The user enters his/her message and selects a send option. The virtual environment manager 122 receives this message and packages it into a different format for delivery to the offline user. For example, the virtual environment manager 122 identifies at least one alternate communication method for the user from his/her user profile 124. Examples of these communication methods are email, text message, social networking message, and/or the like. The virtual environment manager 122 generates a new message comprising the message received from the user within the virtual environment and addresses this message to the recipient user using the alternative contact information from the recipient user's profile. The virtual environment manager 122 then sends this new message to the recipient user via the alternative communication mechanism (e.g., email, text message, social networking message and/or the like). An offline user can also send a message to a user currently logged into the environment 114 by sending a message (e.g., email, text message, social networking message and/or the like) addressed to the messaging address of the virtual environment 114 along with the online user's unique identifier within the environment 114. The virtual environment manager 122 receives the message and identifies the user to which the message is addressed based on the user's unique identifier within the message. The rendering engine 202 then displays the message to the recipient user within the virtual environment 114.

It should be noted that the users can also communicate with each other via video, audio, and/or the like. Sponsored or advertised products 528, 530 products are also presented to the user in the virtual sports book. The user is able to select one or more of these sponsored products. In one embodiment, the user utilizes his/her virtual currency to purchase a sponsored/advertised product. When a user selects a sponsored/advertised product, other users are able to see that the user has selected sponsored/advertised products in their view of the virtual sports book. In another embodiment, the user is able to select a displayed sponsored/advertised product and have its corresponding real-life product delivered to the user.

In one embodiment, the profile manager 210 creates and maintains one or more profiles 130 for each sponsor and/or advertiser associated with the virtual environment. FIG. 6 shows various examples of sponsor/advertiser profiles 130. In the example shown in FIG. 6, each row 602, 604, 606 in the table 600 corresponds to a sponsor profile. It should be noted that in other embodiments, each sponsor profile 602, 604, 606 is stored separate from one another. The table 600 comprises a plurality of columns, each storing a different set of information. In this example, the table 600 comprises a first column 608 entitled "Record ID"; a second column 610 entitled "Sponsor_ID"; a third column 612 entitled "Location"; a fourth column 614 entitled "Products"; and fifth column 616 entitled "Campaign".

The "Record ID" column 608 comprises entries 618 uniquely identifying each sponsor profile in the table 600. The "Sponsor ID" column 610 comprises entries 620 uniquely identifying the sponsor associated with the sponsor profile. The "Location" 612 column comprises entries 622 identifying each location of the virtual environment associated with the sponsor. For example, if a sponsor is sponsoring an entire room of the virtual environment 114 a location entry 622 comprises the identifier of this room such as Room_A or pointer to the record locator in the corresponding user room profiles 132. Location entries 622 can also identify the area of the virtual environment 114 where a sponsor and/or advertiser has their products such as a virtual war room, league drafting center, and/or the like.

The "Products" column 614 comprises entries 624 with identifiers of specific sponsor/advertiser products for each location associated with a sponsor/advertiser. For example, a sponsor/advertiser can have virtual representations of their cigars, beverages, glassware, electronics, appliances, merchandise, and other products displayed and made available within one or more locations of the virtual environment. Pricing information can also be associated with each of these sponsor/advertiser products. For example, a virtual cigar from Entity_A may cost $10 virtual dollars. The "Campaign" column comprises entries 626 including sponsor/advertising campaign information for each sponsor/advertising. Sponsor/advertising campaign information includes, for example, the duration of sponsorship; how often automatic advertisement are to be displayed within the virtual environment; actual advertisements that are to be displayed within the virtual environment; payment/revenue agreements between a sponsor/advertiser and the virtual environment providers; coupons/discounts that are to be provided to users of the virtual environment for virtual and real sponsor/advertiser products and services; and/or the like. The rendering engine 202 renders/presents sponsor information, products, and coupons to users within the virtual environment 114 based on the data within the sponsor profile 130.

In addition to the common area (e.g., virtual sports book) of the virtual environment 114, the users are also provided with a player drafting environment. In this embodiment, a draft day and time is scheduled within the virtual environment 114 by one or more users. When a user logs in to the virtual environment 114 he/she selects their avatar, as discussed above. The user then commands his/her avatar to enter a personalized draft room (also referred to herein as a "war room"). In one embodiment, the user selects a "war room" option presented to the user in the common drafting area. The user interaction monitor 208 detects this selection and the rendering engine 202 dynamically renders a war room. In another embodiment, the rendering engine 202 automatically presents the war room to the user in response to the user logging into the virtual environment and, optionally, selecting his/her avatar. In some embodiments, the war room can be previously rendered and stored, or previously rendered in anticipation of the user requesting to access this portion of the virtual environment 114 (e.g., based on user's previous interaction history, current context of the user's interaction with the environment 114, and/or the like).

In one embodiment, a default war room is presented to a user. Alternatively, a personalized war room is presented to the user. In some embodiments, the war room is a virtual representation of the real-life war room of a professional sports team. The user interaction monitor 208 prompts the user to select a default war room or a personalized war room when the user logs into the virtual environment 114 or selects an "enter war room" option. If the user selects a default war room, the rendering engine 202 randomly selects (or generates) a default war room from a plurality of user rooms 138, similar to the process discussed above with respect to default avatars. In one embodiment, the rendering engine 202 presents the user with a list of default (non-personalized) war rooms for selection by the user. The user selects one of these displayed default war rooms via the interface 118. The user can also indicate if he/she wants this selected war room to be the user's default war room. If so, the user's profile 124 is updated to include a pointer to the record in the war room profiles 132 associated with the selected war room. In this embodiment, when a user subsequently commands his/her avatar to enter into a war room the rendering engine 202 automatically selects and displays this default war room.

If the user selects the personalized war room option, the user interaction monitor 208 receives this selection and determines if the user has previously created a personalized war room. For example, the user interaction monitor 208 analyzes the user profile 124 associated with the user, and identifies the "User Rooms" entry. The user interaction monitor 208 determines if this entry identifies a record associated with a personalized war room. If so, the user interaction monitor 208 queries the user to determine if he/she would like to use this personalized war room, update this personalized war room, or create a new one. If the user indicates that he/she wants to use the identified personalized war room, the rendering engine 202 selects and renders the war room within the virtual environment 114.

If the user indicates that he/she wants to create a new war room or is not currently associated with a personalized war room, the rendering engine 202 presents one or more portions of the virtual environment 114, via the interface 118, which allow the user to create/design a personalized war room. For example, several icons are displayed to the user such as a furniture icon, a memorabilia icon, an appliances icon, and a television icon. The user interaction monitor 208 detects a user's selection of one or more of these icons. If the user selects the furniture icon the rendering engine 202 renders and presents the user with a plurality of virtual furniture (e.g., couches with drink holders) choices to add to his/her war room. If the user selects the memorabilia icon, the rendering engine 202 renders and presents a plurality of memorabilia items (e.g., team helmets, jerseys, etc.) to add to his/ her war room. If the user selects the appliances icon, the rendering engine 202 renders and presents a plurality of appliance items (e.g., different types and models of refrigerators) to add to his/her war room. If the user selects the television icon, the rendering engine 202 renders and presents a plurality of television items to add to his/her war room. Each selection made by the user is identified by the user interaction monitor 208 and recorded in the user profile 124 and/or the user room profile 132 for the room being created.

It should be noted that in one embodiment, the contents of the war room may be sponsored by one or more entities. Sponsors can pay money to promote their name and product(s) and/or enter into a joint marketing agreement where they agree to promote the virtual environment in exchange for the promotion of their name and product(s) in the virtual environment (or the ability to offer discounts or coupons for their product(s)). Sponsorship information is maintained within the user room profile 132 for the room being created and/or the sponsor profile 130 for each of the sponsors.

Once the user is done designing his/her war room, the user selects an option to save the war room. When a war room 138 is created for a user, the war room 138 is stored and maintained by the virtual environment manager 122. In one embodiment, a user room profile 132 is also created by the profile manager 210. FIG. 7 shows various examples of user room profiles 132. In the example shown in FIG. 7, each row 702, 704, 706 in the table 700 corresponds to a user room profile. It should be noted that in other embodiments, each user room profile 702, 704, 706 is stored separate from one another. The table 700 comprises a plurality of columns, each storing a different set of information. In this example, the table 700 comprises a first column 708 entitled "Record ID"; a second column 710 entitled "Room ID"; a third column 712 entitled "User ID"; a fourth column 714 entitled "Type"; and a fifth column 716 entitled "Characteristics".

The "Record ID" column 708 comprises entries 718 uniquely identifying each user room profile in the table 700. The "Room ID" column 710 comprises entries 720 uniquely identifying the user room (e.g., war room, trading room, etc.) associated with the user room profile. The "User ID" 712 column comprises entries 722 identifying the user(s) associated with the user room. The user ID, in one embodiment, comprises information such as the user login name from the credentials information in the user profile 124, the user profile record ID, and/or the like. The user ID entry 718 can also comprise a pointer to the user profile 124 of the associated user(s). The "Type" column 714 comprises entries 724 identifying whether the war room is a personalized room, default room, war room, trading room, etc.. The "Characteristics" column 716 comprises entries 726 identifying characteristics/attributes such as the virtual furniture, memorabilia, appliance, and television items within the user room. In one embodiment, the rendering engine 202 utilizes the information from at least the "Characteristics" columns 716 to render the user room within the virtual environment 114. For example, the rendering engine 202 retrieves each of the separate characteristics and accessory/features from the profile and transforms this electronic data into a different form, namely, a graphical representation of a room presented to the user within the virtual environment 114.

Each user is able to publicly display their war room designs to other users by clicking on a public option icon within the virtual environment 114. This selection is stored within the corresponding user room profile 132. Alternatively, a user is able to make their war room private. Users can send and receive comments to each other about the designs of war rooms for which users have elected the public option similar to the messaging embodiment discussed above. In addition, users can provide a rating for other users' war rooms. These ratings are maintained and compiled by the profile manager 210. The virtual environment manager 122 presents (and updates) a list of the top N war rooms based on the ratings provided by the users. The virtual environment manager 122 also presents a list of the top N most recent war room designs (including enhancements to existing designs) so as to provide an orderly and fair method for users to have their war rooms viewed by other users. Prizes can be awarded for the most highly ranked war room(s). War room ranking information can be stored and maintained by the profile manager 210 within the user profiles 124, the user room profiles 132, and/or the like.

FIG. 8 shows one example of a personalized war room 802 associated with a user. When a user enters his/her war room 802 the rendering engine 202 automatically plays audio and/or video (and/or display text) of a welcome message such as "Welcome to the [year] [sport] Draft". The war room 802 comprises a virtual table 804 comprising the user's team logo. The table 804 also comprises a selection of virtual items 806 such as drinks, cigars, food, and/or glassware. The virtual drinks and cigars may be sponsored in exchange for a fee and/or a joint marketing agreement pursuant to which such sponsor(s) agrees to promote the virtual environment in exchange for the promotion of their name and product(s) in the virtual environment (or the ability to offer discounts or coupons for their product(s)). In one embodiment, the user interaction monitor 208 prompts the user's avatar if it would like a virtual item 806 such as a drink and/or a cigar stating the respective sponsors names (e.g. "Would you like a Brand X Vodka and a Brand Y cigar?"). After the avatar picks up a virtual item 806, the rendering engine 202 animates the avatar to take a seat in a furniture item 808 of the war room 802. The war room 802 also comprises an identification 810 of the user such as the user's display name, and an identification 812 of the user's virtual team. In one embodiment, the user's virtual currency balance 814 is also displayed. This information is retrieved and rendered from, for example, the user profile 124 and/or team profile 126. A plurality of virtual displays/televisions 816 to 824 is also rendered and presented to the user in his/her war room. A draft board 826, with the user's team name displayed thereon, is also rendered and included within the war room 802. The draft board 826 shows the various positions that the user needs to fill during the draft (e.g., if the game is fantasy football, there may be 2 quarterbacks, 3 running backs, 3 wide receivers, etc.). At least one of the displays 816 comprises a running scroll 828 that shows the picks/drafts that each of the users have made prior to the current selection and who is on the clock (i.e., the user whose turn it is to make a selection). Also, as each pick is made, each user's draft board is filled in by position. When it is a user' s time to pick, a running clock with the time remaining for the user to make a selection appears on the display 816. The running scroll, draft board, and running clock can be rendered and/or populated by the rendering engine 202 based on draft data being maintained by the virtual environment manager 122. This draft data can be stored as part of the profiles (e.g., user profiles 124, team profiles 126, player profiles 128, etc.) Draft data can also be stored separate from the profiles as well.

The war room also comprises any memorabilia 830 selected by the users during the room designing/enhancing process (or at later point in time). Examples of memorabilia include (but are not limited to) helmets, jerseys, and/or the like. Users can sell and/or trade memorabilia to other users in the virtual environment 114. In addition, virtual representations of real memorabilia owned by the user can be presented in the war room 802. For example, if the user owns a jersey signed by a specific real-life athlete, an icon (or other widget) can be displayed within the war room 802 that represents this signed jersey. When the user (or another user) selects this icon, a photograph or video of the real-life memorabilia item is displayed to the user. If a user purchases memorabilia offered for sale by another user, the virtual environment manager 122 handles the transaction by accepting payment from a buyer and providing payment to a seller. In one embodiment, once all users in a particular virtual sports draft have entered their war rooms, each user selects an icon indicating they are ready for the draft to begin. Once the user interaction monitor 208 determines that a set of criteria (e.g., all users associated with the draft have indicated they are ready) has been satisfied, the rendering engine 202 notifies each user that the draft is to begin. For example, the rendering engine 202 renders and presents a flashing sign in each user' s war room indicating that the draft is to commence in a specified amount of time with a clock counting down the time being displayed in their war rooms. This notification is initiated based on receiving an indication from all users that they are ready to begin the draft. In another embodiment, this notification is initiated based on stored data such as a scheduled time and date for the draft to begin. The rendering engine 202 can also render and present one or more messages from sponsors during the time prior to the start of the draft. The virtual environment manager 122 determines whether a sponsor message should be displayed (and which message should be displayed) based on the information within the sponsor profiles 130. At the specified time, the rendering engine 202 renders and presents a common drafting room 900 in the virtual environment 114, as shown in FIG. 9. This drafting screen/room 900 can be rendered and displayed in a sub-window of each user's war room, within one or more of the virtual displays 816 to 824 in the users' war rooms, or as a separate room of the virtual environment 114. In one embodiment, the drafting screen 902 comprises an overall draft board 904. The drafting manager 204 of the virtual environment 122 populates this board 904 with all of the player picks/drafts made by each user in the virtual sports event. In this embodiment, the drafting manager 204 populates the board 904 in the order that the player picks are made. The draft board 902 can be color-coded to distinguish and highlight various positions (e.g., quarterbacks could be colored orange; running backs colored blue, etc.).

The common drafting room 900 also comprises a podium 906 standing on a red-carpeted area 908 where an avatar 910 of the league commissioner is animated by the rendering engine 202 to make various announcements as discussed below. A first icon 912 is presented to the user that, when selected, causes the rendering engine 202 to perform an operation that shows all players (real-world athletes) that have not been picked at any given time. The drafting manager 204 obtains this information from the player profiles 128 discussed below. A second icon 914 is presented to the user that, when selected, dynamically updates the environment 114 to present the user' s war room to the user. This allows the users to switch back and forth between their war room and the common drafting room 900. A third icon 916 is presented to the user that, when selected causes the rendering engine 202 to render and display a list of other users' war rooms to the user. The user is able to select one or more of these war rooms and have his/her avatar transported thereto. A fourth icon 918 is presented to the user that, when selected, causes the rendering engine 202 to render and display the rankings of available players by position to the user. In one embodiment, these rankings are performed by one or more draft experts and are stored in the sporting event data 116. The sporting event data monitor 212 of the virtual environment manager 122 obtains this sporting event data 116 and makes it available in the virtual environment 114. In another embodiment, the sporting event data monitor 212 analyzes the statistics of the players from previous seasons and optionally analyzes player projections for the current season. Based on this analysis, the sporting event data monitor 212 generates its own rankings for the players that are displayed to the users. These rankings can be displayed instead of the expert rankings or displayed in conjunction with the expert rankings. The sporting event data monitor 212 obtains statistics and projections from one or more content servers 110.

Shortly after the drafting screen appears 900, the rendering engine 202 renders and presents the avatar 910 of a league commissioner, which is animated to walk out to the podium 906 and announce (via text and/or audio) that the draft is starting. The avatar 910 of the league commissioner announces the name of the first team to select a player. The draft manager 204 identifies this team based on the draft data discussed above, which can be stored separate from the profiles or as part of the profiles. The draft data, in this embodiment, comprises a list of all the teams and their drafting positions. In one embodiment, the avatar 910 of the league commissioner may be a celebrity who agrees to use his/her image and voice for this purpose. There may be different methods to determine the order in which users will make their selections. In one embodiment, prior to the commencement of each round of selections, the rendering engine presents a virtual slot machine within the environment 114. Users pull the arm of the virtual slot machine, which causes the slot machine to display the position that each user will select based on a random determination. Users can also spend virtual currency to improve their chances of obtaining a better draft position. When it is a user's turn to draft a player, the user selects a real-world athlete's name from the list of real- world athletes provided by the first icon 912. It should be noted that the user is not required to select an icon 912 to see the list of available real-world athletes. This information can be automatically displayed in a portion of the common drafting room 902 and/or the user's war room.

Once a particular real-world athlete's name is selected, the draft manager 204 prompts the user to confirm this selection. Once the selection is confirmed one or more of the profiles such as the user's profile 124, team profiles 126, and/or player profiles 128 are updated to reflect the real- world athlete drafted by the user. For example, the team profile 126 of the user and the player profile(s) 128 associated with the player are updated to include the real-world athlete as a member of the user's team. The player profiles 128 are updated to indicate that this particular real-world athlete is no longer available to be drafted.

As each user makes his/her draft pick, the rendering engine animates the avatar 910 of the league commissioner to walk to the podium and announce the draft selection. The draft manager 204 determines the next team that is to make the next selection based on the draft data. Based on this determination, the rendering engine 202 animates the avatar 910 of the league commissioner to announce the name of the team that is to make the next selection. Once this announcement is made, the rendering engine 202 renders and/or animates another avatar to walk to the league draft board 904 and touch the board 904. The rendering engine 202 updates the board 904 with the name of the real-world athlete that was just drafted. At or around the same time, the following is updated by the draft manager 204: the draft board 826 in the war room of the user who just selected; the running scroll 828 in each user's war room; the list of available players; and the rankings of available players by position conducted by one or more draft experts and/or the sports event data monitor 212. As the draft proceeds, users are able to send and receive comments via one or more messaging windows in the common drafting room 902 and/or the war rooms, similar to the other messaging embodiments discussed above. For example, users can comment on each other's draft picks. In addition, users can have their personalized avatars make certain movements and take certain actions after the selections. For example, after a user makes a selection, that user can instruct his/her avatar to dance and then spike a virtual football. After the completion of each draft round (i.e., once each user in the league/game has made a selection), the rendering engine 202 renders and/or animates an avatar 910 to walk to the podium 906 and announce "That completes the end of Round [X]". This process repeats until the draft is completed, at which time the rendering engine 202 renders and/or animates the avatar 910 of the league commissioner to walk to the podium 906 and announces the end of the draft.

As discussed above, the draft manager 204 obtains player information from the player profiles 128. FIG. 10 shows various examples of player profiles. In the example shown in FIG. 10, each row 1002, 1004, 1006 in the table 1000 corresponds to a player profile. It should be noted that in other embodiments, each player profile 1002, 1004, 1006 is stored separate from one another. The table 1000 comprises a plurality of columns, each storing a different set of information. In this example, the table 1000 comprises a first column 1008 entitled "Record ID"; a second column 1010 entitled "Player Name"; a third column 1012 entitled "Team"; a fourth column 1014 entitled "Statistics"; a fifth column 1016 entitled "Ranking"; and a sixth column 1018 entitled "Info".

The "Record ID" column 1008 comprises entries 1020 uniquely identifying each player profile in the table 1000. The "Player Name" column 1010 comprises entries 1022 with the name of the real-life athlete associated with the player profile. The "Team" column 1012 comprises entries 1024 with a pointer to a record in the team profiles 126 associated with the virtual league team (if any) who has drafted the player. The "Statistics" column 1014 comprises entries 1026 with statistics and metrics associated with the player. In one embodiment, the sporting event data monitor 212 obtains sporting event data 116 associated with the player and updates the "Statistics" entry 1026 associated with the user based on the information therein. The "Ranking" column 1016 comprises entries 1028 with the ranking of the player as determined by draft experts and/or the sports event data monitor 212. This information is also obtained from the sporting event data 116 and/or is provided to the virtual environment 114 by one or more draft experts. The "Info" column 320 comprises entries 1030 with various types of information associated with the player such as (but not limited to) position information, physical characteristic information (e.g., height, weight, left-handed, right-handed), and/or the like. It should be noted that the draft manager 204 updates the player profiles 128 based on draft picks during the drafting process discussed above.

In addition to player profiles 128, the profile manager 210 also maintains team profiles 126. FIG. 11 shows various examples of team profiles. In the example shown in FIG. 11, each row 1102, 1104, 1106 in the table 1100 corresponds to a team profile. It should be noted that in other embodiments, each player profile 1102, 1104, 1106 is stored separate from one another. The table 1100 comprises a plurality of columns, each storing a different set of information. In this example, the table 1100 comprises a first column 1108 entitled "Record ID"; a second column 1110 entitled "User ID"; a third column 1112 entitled "Team Name"; a fourth column 1114 entitled "Players"; and a fifth column 1116 entitled "Ranking".

The "Record ID" column 1108 comprises entries 1118 uniquely identifying each team profile in the table 1100. The "User ID" column 1110 comprises entries 1120 with the user ID of the user associated with the team corresponding to the team profile. The user ID, in one embodiment, comprises information such as the user login name from the credentials information in the user profile 124, the user profile record ID, and/or the like. The user ID entry 1120 can also comprise a pointer to the user profile 124 of the associated user(s). The "Team Name" column 1112 comprises entries 1122 with the name of the team associated with the profile. The "Players" column 1114 comprises entries 1124 with the name of each player (e.g., real- world athlete) drafted by the team associated with the profile and/or the record ID of the player profile 128 associated with each player drafted by the team. The "Ranking" column 1116 comprises entries 1126 identifying the ranking of the team associated with the profile with respect to other teams in the virtual league. The rank of a team can be based on various mechanisms such as (but not limited to) point totals at various granularities. It should be noted that the draft manager 204 updates the team profiles 126 based on draft picks during the drafting process discussed above. In one embodiment, users can trade players on their team with other players in the virtual environment 114. In this embodiment, users perform player trades from a trading room. Users are able to select a default trading room or a personalized trading room for the virtual environment 114, similar to that discussed above with respect to the war rooms. Each user is able to publicly display their trading room designs to other users by clicking on a public option icon within the virtual environment 114 similar to the war rooms. Alternatively, a user is able to make their trading room private. Users can send and receive comments to each other about the designs of trading rooms for which users have elected the public option. In addition, users can provide a rating for other users' trading rooms. These ratings are maintained and compiled by the profile manager 210. The virtual environment manager 122 presents (and updates) a list of the top N trading rooms based on the ratings provided by the users. The virtual environment manager 122 also presents a list of the top N most recent trading room designs (including enhancements to existing designs) so as to provide an orderly and fair method for users to have their trading rooms viewed by other users. Prizes can be awarded for the most highly ranked trading room(s). Trading room ranking information can be stored and maintained by the profile manager 210 within the user profiles 124, the user room profiles 132, and/or the like.

In a personalized trading room, the rendering engine 202 renders and presents a roster of players for each user's team selected in the draft. This roster information is obtained by the trade manager 206 of the virtual environment manager 122 based on the user profiles 124, team profiles 126, and/or player profiles 128 and is provided to the rendering engine 202. The roster and profiles 124, 126, 128 are updated based on trades and roster moves. Each user can enter their personalized trading rooms in order to make a trade with another user. The trading room also allows the user to change the players on their active roster whose points will be counted in the virtual sports game they are playing. Once a user enters his/her trading room the user interaction monitor 208 prompts the user' s avatar if it would like a virtual item such as a drink and/or a cigar similar to that discussed above. The trading room also comprises a list of all of the potential trades (i.e., the list of other users who have asked if any other user wants to acquire a specified player or players in a trade). The user is able to list his/her own player or players that he/she would like to trade. The trade manager 206 matches various trading partners based on the characteristics of the various posted trade requests. The trade manager 206 generates one or more messages (e.g., virtual environment messages, instant messages, text messages, emails, social network messages, etc.) to potential trading partners based on the results computed by the trading manager 206. These messages are addressed to the identified trading partners using contact or messaging information in the user profile 124. The trade manager 206 sends this message using an internal and/or external messaging server/service. In one embodiment, the trading manager 206 takes into account various trade or player characteristics such as the rankings of each player made by drafting or virtual league experts and/or the sporting event data monitor 212. For example, consider that Userl wants to trade Player_A (a quarterback) and is looking for a wide receiver. User2 wants to trade Player_B (a wide receiver) and is looking for a quarterback. The trading manager 206 analyzes these trade requests and determines that the "need" (a wide receiver) of Userl matches the "haves" (a wide receiver) of User2 and the "haves" of Userl (a quarterback) matches the "need" (a quarterback) of User2. Therefore, the trading manager 206 generates a message to Userl and User2 and automatically notifies them that there may be a potential trade for each user. In some embodiment, the trading manager 206 also takes into consideration player rankings, statistics, projections, and/or the like to determine the fairness of a trade. For example, consider the quarterback of Userl is a top 5 quarterback projected to score a given number of points in the season (or other granularity), and the wide receiver of User2 is a top 30 receiver projected to score a given number of points in the season (or other granularity). The trading manager 206 compares these rankings and point projections (and optionally any other statistics available for these players) to determine a fairness raking. This fairness ranking is provided to both users in the messages sent to the users for consideration.

The trading message sent to users also notifies these users that they should visit the trading room (if their avatars are not already located therein) to consummate their trades. Users can then select one or more options within the environment 114 to cause their avatars to be transported to their trading rooms and engage in trade discussions. Users can also comment on two other users' proposed trades that they are not involved in. If users agree to a trade after engaging in trade discussions, one user selects an option to perform a trade. The user interaction monitor 208 detects this request and the rendering engine 202 prompts the user to provide details of trade, including the trading partner's username. The trading partner is then prompted to enter his/her trading room to confirm the trade. If the trading partner clicks "confirm trade" icon within a specified time, the trade is consummated, and the roster in each user' s trading room is updated. The user profiles 124, team profiles 126, and player profiles 128 are also updated accordingly. In another embodiment, posted trade requests are not required for the trade manager 206 to suggest potential trades or roster changes. For example, the trade manager 206 analyzes a user's current team and identifies its player/position strength and weaknesses based on player characteristics such as player rankings, statistics, projections, and/or the like. If the trade manager 206 determine that the user's team has a weakness at one or more positions or position category (e.g., the player at a given position is projected to score a given number of points below a point threshold for the current game, week, month, year, etc.), the trade manager 206 sends a message or notification to the user within the virtual environment 114 and/or external to the environment 114 (e.g., text message, email, etc.). This message notifies the user that he/she should consider trading with another user to strengthen his team.

The trade manager 206 can also analyze the other users' players and identify one or more players (based on their attributes/characteristics) to suggest a potential trade to the user. In another embodiment, the trade manager 206 can determine that the user's team has too much depth at one position (e.g., too many players for a given position) and suggest that the user trades one or more of these players with another user. The trade manager 206 can also suggest that the user trade one of his/her players for another user's player that would strengthen his/her team at one of his/her positions. In one embodiment, strengthening the team at one or more positions refers to increasing the likelihood that more points would be scored by the player at a given position. For example, replacing Player_A with a projected point total of X with a Player_B having a projected point total of X+Y, where Y>0, strengthens the user's team since Player_B is projected to score more points than Player_A.

As disclosed above, one or more embodiments provide a virtual environment that enables users to have their own personalized avatars (including the use of representations of users' own faces). In this virtual environment, users conduct drafting and trading of players such as real-world athletes in various fantasy sports games. As part of the drafting process, an avatar of a league commissioner would walk to a virtual podium to announce the beginning of the draft, the various draft picks made by each user, and the end of the draft. A virtual draft board is provided that displays all of the draft picks being made. A visually enhanced avatar manages the draft board such that each draft pick is displayed as it is made. One or more users can instruct their avatars to make comments, move in certain ways and perform certain actions such as spiking a virtual football, and these actions can be performed simultaneously. Users are able to create customized virtual rooms where they conduct the drafting of the players and the trading of the players. Embodiments of the present disclosure are applicable to any sport played throughout the world. Embodiments of the present disclosure can also create fantasy sports games among celebrities and fantasy sports experts. A myriad of different revenue streams can be generated by one or more embodiments, including hosting and league fees (fees charged to users that play fantasy sports games offered by the virtual environment), transaction fees (fees charged to users to trade and activate players), licensing fees (fees charged to other websites that host fantasy sports games in exchange for a license to use all or a portion of the software) and advertising and sponsorship revenues based on activity and the number of users of the virtual environment.

Operational Flow Diagrams

FIG. 12 is an operational flow diagram illustrating one example of a process for rendering and populating a virtual environment 114 with an avatar associated with a user. The operational flow diagram of FIG. 12 begins at step 1202 and flows directly to step 1204. The virtual environment manager 122, at step 1204, prompts a user for login credentials to access the virtual environment 114. The virtual environment manager 122, at step 1206, receives user login credentials transmitted from the virtual environment interface 118. The virtual environment manager 122, at step 1208, compares the user login credentials to stored credentials and determines if the user is authorized to access the environment 114. If the result of this determination is negative, the flow returns to step 1204 (or exits and the user is denied access). If the result of this determination is positive, the virtual environment manager 122, at step 1210, allows the user access to the environment 114.

The virtual environment manager 122, at step 1212, renders and presents a portion of the virtual environment 114 to the user. The virtual environment manager 122, at step 1214, receives input from the user for avatar selection. The virtual environment manager 122, at step 1216, determines if the avatar is currently generated/rendered. If the result of this determination is negative, the virtual environment manager 122, at step 1218, retrieves the avatar from memory/storage. The control then flows to step 1222. If the result of this determination is positive, the virtual environment manager 122, at step 1220, renders/generates the avatar. The virtual environment manager 122, at step 1222, receives input from the user to enter an area of the virtual environment 114 such as a sports book area. The virtual environment manager 122, at step 1224, dynamically updates the virtual environment 114 to present the user's avatar in the selected area of the environment 114. The control flow exits at step 1226.

FIG. 13 is an operational flow diagram illustrating one example of a process for generating a drafting room associated with a user in a virtual environment 114. It should be noted that this process also applies to generating a trading room associated with a user in the environment 114 as well. The operational flow diagram of FIG. 13 begins at step 1302 and flows directly to step 1304. The virtual environment manager 122, at step 1304, receives input from a user to move his/her avatar into a war room area of the virtual environment 114. The virtual environment manager 122, at step 1306, dynamically updates the virtual environment 114 to present the avatar in a war room area of the environment 114 associated with the user.

The virtual environment manager 122, at step 1308, presents the user with options to design, enhance, or keep current the war room. The virtual environment manager 122, at step 1310, determines if input was received to design or enhance the war room. If the result of this determination is negative, the virtual environment manager 122, at step 1312, maintains the room as is and the control flow exits at step 1326. If the result of this determination is positive, the virtual environment manager 122, at step 1314, dynamically renders and presents various design/enhancement options to the user within the virtual environment 114. The virtual environment manager 122, at step 1316, receives a selection from the user of design icon/widget. The virtual environment manager 122, at step 1318, presents the user with various design items associated with the design icon/widget. The virtual environment manager 122, at step 1320, receives a selection from the user of one or more of the design items. The virtual environment manager 122, at step 1322, dynamically renders the design item(s) within the virtual environment 114 at a location selected by the user. The virtual environment manager 122, at step 1324, determines if the user has completed designing/enhancing the room. If the result of this determination is negative, the control flow returns to step 1316. If the result of this determination is positive, the room and its characteristics/features are saved and the control flow exits at step 1326.

FIG. 14 is an operational flow diagram illustrating one example of a process for sharing a user drafting room with other users in a virtual environment 114. It should be noted that this process also applies to sharing a trading room associated with a user in the environment 114 as well The operational flow diagram of FIG. 14 begins at step 1402 and flows directly to step 1404. The virtual environment manager 122, at step 1404, displays within the virtual environment 114 a list of war rooms that have been created. The virtual environment manager 122, at step 1406, receives a selection from a user of at least one war room in the list of war rooms. The virtual environment manager 122, at step 1408, dynamically updates the virtual environment 114 to present the selected war room to the user. The virtual environment manager 122, at step 1410, receives comments from the user regarding the presented war room.

The virtual environment manager 122, at step 1412, dynamically updates the virtual environment 114 to display the comments received from the user. The virtual environment manager 122, at step 1414, receives a rating from the user for the presented war room. The virtual environment manager 122, at step 1416, accumulates ratings for the presented ware room(s) provided by various users. The virtual environment manager 122, at step 1418, calculates a ranking for each of the war rooms in the list of war rooms based on the accumulated ratings. The virtual environment manager 122, at step 1420, generates and displays a list of top N war rooms based on the calculated rankings. The control flow exits at step 1422.

FIGs. 15-16 are operational flow diagrams illustrating one example of a process for drafting players such as real-world athletes in a virtual environment 114. The operational flow diagram of FIG. 15 begins at step 1502 and flows directly to step 1504. The virtual environment manager 122, at step 1504, receives user selection to enter his/her own personalized war room. The virtual environment manager 122, at step 1506, dynamically updates the virtual environment to present the user's avatar in the user's war room. The virtual environment manager 122, at step 1508, receives user selection of a virtual refreshment such as a drink or a cigar. The virtual environment manager 122, at step 1510, dynamically renders/updates the avatar to interact with virtual refreshment.

The virtual environment manager 122, at step 1512, receives the user selection of a "ready to begin draft" option. The virtual environment manager 122, at step 1514, renders and initiates the draft begin countdown clock. The virtual environment manager 122, at step 1516, determines that the draft has started. The virtual environment manager 122, at step 1518, dynamically renders (or obtains a previously rendered) and updates the virtual environment 114 for all users to display a common drafting room. The virtual environment manager 122, at step 1520, dynamically updates the virtual environment to animate a league commissioner avatar to announce the start of the draft. The virtual environment manager 122, at step 1522, dynamically updates the virtual environment to inform users who has the current pick. The control flows to entry point A of FIG. 16.

The virtual environment manager 122, at step 1624, displays a countdown clock in the common drafting room and/or war room of user who has the current pick. The virtual environment manager 122, at step 1626, receives the user selection of an available player. The virtual environment manager 122, at step 1628, dynamically updates the common drafting room and the user's war room to display user's selection. The virtual environment manager 122, at step 1630, dynamically updates a running information scroll item in other users' war rooms to display information regarding the current draft pick. The virtual environment manager 122, at step 1632, dynamically updates the list of available players.

The virtual environment manager 122, at step 1634, dynamically updates expert rankings and/or rankings made by the virtual environment manager 122. The virtual environment manager 122, at step 1636, dynamically updates one or more profiles based on the user's player selection. The virtual environment manager 122, at step 1638, receives and displays user comments regarding the current draft pick. The virtual environment manager 122, at step 1640, determines if the current round has ended (all users had a draft selection turn). If the result of this determination is negative, the control flow returns to entry point B of FIG. 15. If the result of this determination is positive, the virtual environment manager 122, at step 1642, determines if the draft has ended (all rounds have completed). If the result of this determination is negative, the control flow returns to entry point B of FIG. 15. If the result of this determination is positive, the virtual environment manager 122, at step 1644, dynamically updates the virtual environment 114 to animate the commissioner avatar to announce end of the draft. The control flow ends at step 1646.

FIG. 17 is an operational flow diagram illustrating one example of a process for trading players in a virtual environment 114. The operational flow diagram of FIG. 17 begins at step 1702 and flows directly to step 1704. The virtual environment manager 122, at step 1704, receives a user selection of an option to enter his/her personalized trading room. The virtual environment manager 122, at step 1706, dynamically updates the virtual environment 114 to present the user's avatar in the user's trading room. The virtual environment manager 122, at step 1708, renders and displays a list of any trades requested by the user and other users.

The virtual environment manager 122, at step 1710, receives a proposed trade from the user. The virtual environment manager 122, at step 1712, analyzes the proposed trade and other users' trades. The virtual environment manager 122, at step 1714, identifies one or more other users as potential trading partners. The virtual environment manager 122, at step 1716, dynamically generates one or more trading notification messages. The virtual environment manager 122, at step 1718, sends the one or more trading messages to the trading partners. The virtual environment manager 122, at step 1720, determines if a trading partner selected an option to confirm the trade based on sending the message. If the result of this determination is negative, the virtual environment manager 122, at step 1722, does not process the trade. The control flow then exits at step 1728. If the result of this determination is positive, the virtual environment manager 122, at step 1724, processes the trade and updates rosters of the user and trading partner, and any necessary profiles. The control flow exits at step 1926.

FIG. 18 shows a block diagram illustrating an information processing system 1800 that can be utilized in various embodiments of the present disclosure such as the information processing systems 106, 108 shown in FIG. 1. The information processing system 1802 is based upon a suitably configured processing system configured to implement one or more embodiments of the present disclosure. Any suitably configured processing system can be used as the information processing system 1802 in embodiments of the present disclosure. The components of the information processing system 1802 can include, but are not limited to, one or more processors or processing units 1804, a system memory 1806, and a bus 1808 that couples various system components including the system memory 1806 to the processor 1804.

The bus 1808 represents one or more of any of several types of bus structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. By way of example, and not limitation, such architectures include Industry Standard Architecture (ISA) bus, Micro Channel Architecture (MCA) bus, Enhanced ISA (EISA) bus, Video Electronics Standards Association (VESA) local bus, and Peripheral Component Interconnects (PCI) bus.

Although not shown in FIG. 18, the main memory 1806 includes at least the virtual environment manager 122, and its components shown in FIG. 1. Each of these components can reside within the processor 1804, or be a separate hardware component. The user profiles shown in FIG. 1 can also reside within the main memory 1806 (or storage system 1814) as well. The system memory 1806 can also include computer system readable media in the form of volatile memory, such as random access memory (RAM) 1810 and/or cache memory 1812. The information processing system 1802 can further include other removable/non-removable, volatile/non- volatile computer system storage media. By way of example only, a storage system 1814 can be provided for reading from and writing to a non-removable or removable, non-volatile media such as one or more solid state disks and/or magnetic media (typically called a "hard drive"). A magnetic disk drive for reading from and writing to a removable, non- volatile magnetic disk (e.g., a "floppy disk"), and an optical disk drive for reading from or writing to a removable, non-volatile optical disk such as a CD-ROM, DVD-ROM or other optical media can be provided. In such instances, each can be connected to the bus 1808 by one or more data media interfaces. The memory 1806 can include at least one program product having a set of program modules that are configured to carry out the functions of an embodiment of the present disclosure.

Program/utility 1816, having a set of program modules 1818, may be stored in memory 1806 by way of example, and not limitation, as well as an operating system, one or more application programs, other program modules, and program data. Each of the operating system, one or more application programs, other program modules, and program data or some combination thereof, may include an implementation of a networking environment. Program modules 1818 generally carry out the functions and/or methodologies of embodiments of the present disclosure.

The information processing system 1802 can also communicate with one or more external devices 1820 such as a keyboard, a pointing device, a display 1822, etc.; one or more devices that enable a user to interact with the information processing system 1802; and/or any devices (e.g., network card, modem, etc.) that enable computer system/server 1802 to communicate with one or more other computing devices. Such communication can occur via I/O interfaces 1824. Still yet, the information processing system 1802 can communicate with one or more networks such as a local area network (LAN), a general wide area network (WAN), and/or a public network (e.g., the Internet) via network adapter 1826. As depicted, the network adapter 1826 communicates with the other components of information processing system 1802 via the bus 1808. Other hardware and/or software components can also be used in conjunction with the information processing system 1802. Examples include, but are not limited to: microcode, device drivers, redundant processing units, external disk drive arrays, RAID systems, tape drives, and data archival storage systems. As will be appreciated by one skilled in the art, aspects of the present disclosure may be embodied as a system, method, or computer program product. Accordingly, aspects of the present disclosure may take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, micro-code, etc.) or an embodiment combining software and hardware aspects that may all generally be referred to herein as a "circuit"," "module", or "system."

The present invention may be a system, a method, and/or a computer program product. The computer program product may include a computer readable storage medium (or media) having computer readable program instructions thereon for causing a processor to carry out aspects of the present invention. The computer readable storage medium can be a tangible device that can retain and store instructions for use by an instruction execution device. The computer readable storage medium may be, for example, but is not limited to, an electronic storage device, a magnetic storage device, an optical storage device, an electromagnetic storage device, a semiconductor storage device, or any suitable combination of the foregoing. A non-exhaustive list of more specific examples of the computer readable storage medium includes the following: a portable computer diskette, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or Flash memory), a static random access memory (SRAM), a portable compact disc read-only memory (CD-ROM), a digital versatile disk (DVD), a memory stick, a floppy disk, a mechanically encoded device such as punch-cards or raised structures in a groove having instructions recorded thereon, and any suitable combination of the foregoing. A computer readable storage medium, as used herein, is not to be construed as being transitory signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagating through a waveguide or other transmission media (e.g., light pulses passing through a fiber-optic cable), or electrical signals transmitted through a wire.

Computer readable program instructions described herein can be downloaded to respective computing/processing devices from a computer readable storage medium or to an external computer or external storage device via a network, for example, the Internet, a local area network, a wide area network and/or a wireless network. The network may comprise copper transmission cables, optical transmission fibers, wireless transmission, routers, firewalls, switches, gateway computers and/or edge servers. A network adapter card or network interface in each computing/processing device receives computer readable program instructions from the network and forwards the computer readable program instructions for storage in a computer readable storage medium within the respective computing/processing device.

Computer readable program instructions for carrying out operations of the present invention may be assembler instructions, instruction-set-architecture (ISA) instructions, machine instructions, machine dependent instructions, microcode, firmware instructions, state-setting data, or either source code or object code written in any combination of one or more programming languages, including an object oriented programming language such as Java, Smalltalk, C++ or the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages. The computer readable program instructions may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server. In the latter scenario, the remote computer may be connected to the user's computer through any type of network, including a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider). In some embodiments, electronic circuitry including, for example, programmable logic circuitry, field-programmable gate arrays (FPGA), or programmable logic arrays (PLA) may execute the computer readable program instructions by utilizing state information of the computer readable program instructions to personalize the electronic circuitry, in order to perform aspects of the present invention.

Aspects of the present invention are described herein with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer readable program instructions.

These computer readable program instructions may be provided to a processor of a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks. These computer readable program instructions may also be stored in a computer readable storage medium that can direct a computer, a programmable data processing apparatus, and/or other devices to function in a particular manner, such that the computer readable storage medium having instructions stored therein comprises an article of manufacture including instructions which implement aspects of the function/act specified in the flowchart and/or block diagram block or blocks. The computer readable program instructions may also be loaded onto a computer, other programmable data processing apparatus, or other device to cause a series of operational steps to be performed on the computer, other programmable apparatus or other device to produce a computer implemented process, such that the instructions which execute on the computer, other programmable apparatus, or other device implement the functions/acts specified in the flowchart and/or block diagram block or blocks. The flowchart and block diagrams in the Figures illustrate the architecture, functionality, and operation of possible implementations of systems, methods, and computer program products according to various embodiments of the present invention. In this regard, each block in the flowchart or block diagrams may represent a module, segment, or portion of instructions, which comprises one or more executable instructions for implementing the specified logical function(s). In some alternative implementations, the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown in succession may, in fact, be executed substantially concurrently, or the blocks may sometimes be executed in the reverse order, depending upon the functionality involved. It will also be noted that each block of the block diagrams and/or flowchart illustration, and combinations of blocks in the block diagrams and/or flowchart illustration, can be implemented by special purpose hardware-based systems that perform the specified functions or acts or carry out combinations of special purpose hardware and computer instructions.

The terminology used herein is for the purpose of describing particular embodiments only and is not intended to be limiting of the invention. As used herein, the singular forms "a", "an" and "the" are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms "comprises" and/or "comprising," when used in this specification, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.

The description of the present disclosure has been presented for purposes of illustration and description, but is not intended to be exhaustive or limited to the invention in the form disclosed. Many modifications and variations will be apparent to those of ordinary skill in the art without departing from the scope and spirit of the invention. The embodiment was chosen and described in order to best explain the principles of the invention and the practical application, and to enable others of ordinary skill in the art to understand the invention for various embodiments with various modifications as are suited to the particular use contemplated.