User interface for dynamic generation of tournament brackets

The present disclosure describes an administration system which facilitates efficient setup, organization, and maintenance of tournaments, including league games. In particular, the administration system provides a user-friendly, intuitive and efficient-to-use interface for organizing tournaments and tournament brackets. The user interfaces and methods described provide tournament organizers and administrators with the ability to quickly and dynamically build custom tournament brackets of virtually any desired depth and configuration. The administration system, and in particular the tournament bracket management user interfaces, enable tournament administrators to focus on the task of building a custom tournament bracket structure quickly, while also automatically handling the minute logistics underlying the tournament such as when and where games are to be played.

BACKGROUND

Tournament organization and administration can often be a time-consuming and manual task, involving considerable management and overhead. The logistics of managing who (from individual players, teams, and divisions to other groupings), what, where, when, and how can be exponentially complex as the number of these variables increases. One area that can be particularly cumbersome for league and tournament organizers and administrators is in managing schedules. The typical administrator faces considerable challenges to managing games quickly and efficiently, from setting up regular season games in a manner that fairly balances age levels, skill sets, and other factors for hundreds of players and teams, to organizing balanced tournaments.

SUMMARY

The present disclosure describes a bracket administration system which facilitates efficient setup, organization, and maintenance of league games and tournaments. The bracket administration system provides a user-friendly, intuitive and efficient-to-use interface for organizing brackets for regular season or league play, and for tournaments which may be stand-alone or be based in part on regular season or league play standings. The user interfaces and methods described provide organizers and administrators with the ability to quickly and dynamically build custom tournament brackets of virtually any desired depth and configuration. The bracket administration system, and in particular the bracket management user interfaces, enable league and tournament administrators to focus on the task of building a custom tournament bracket structure quickly, while also automatically handling the minute logistics underlying the tournament such as when and where games are to be played. In some cases the bracket administration system may automatically determine which teams (or individuals, depending upon the sport) will play in a given game or match of a tournament based on the team or individual's placement or standing at the end of a season (or at the point in time just before the tournament is scheduled to begin).

The bracket management user interface gives administrators the option to configure specific teams (e.g., Team A plays Team B in the first round of a tournament, and the winner plays Team C in the second round) or placements (e.g., the #1 team in a grouping, such as a Division or Flight, based on standings before the tournament begins, plays the #2 team in the grouping; the actual teams playing may be unknown or “to be determined” when the tournament begins). Traditional approaches to bracket management often include manual data entry in a spreadsheet or table, a process that is time-consuming and more difficult to adjust or update. One benefit of the bracket management user interface described herein is that once a bracket hierarchy has been constructed by an administrator, the administration system can automatically populate, generate or update a tournament schedule with minimal or no further input by the user.

Neither this summary nor the following detailed description purports to define the scope of protection. The scope of protection is defined by the claims.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

Overview

The bracket management features described herein may be part of a stand-alone tournament management application, or integrated as part of a larger league administration system. For ease of explanation, the bracket management features and user interfaces are illustrated and described herein in the context of a league administration system that includes other league administration features. As will be recognized, the disclosed features are also applicable to bracket creation and management for non-league tournaments and brackets. Further, the disclosed features are also applicable to tournaments and competitions involving non-sports activities such as chess, spelling competitions, etc.

The term “tournament,” as used herein, is intended to encompass both league-based and non-league-based competitive events. For example, a tournament may consist of (1) regular season games played within a league, (2) league playoff games, or (3) a competitive event that is not part of a league.

In one embodiment a tournament bracket management user interface (“UI”) provides a user, such as a league organizer or administrator, with a menu of placements or standings based on or generated from games played during a regular season. During the regular season, players may be placed on teams according to a variety of criteria (e.g., age, skill level, sex, physical attributes, and so on); teams may be placed in groups such as Divisions, also according to the same or other criteria; and within Divisions, teams may further be placed into sub-groups such as Flights, also according to the same or other criteria. Flight organization may be beneficial to encourage participation and balance competition, particularly for large Divisions in which skill levels vary widely within the same age group. Thus, during the regular season, as teams play games within their Division and/or Flights, they may accumulate placement standings. These placement standings may then be accessed by or provided to the tournament bracket management system or module, although the actual placement standings may not be displayed in the bracket manager user interface.

The tournament bracket management user interface provided by the league administration system described herein enables the user to, for example, begin by selecting a league division for which a tournament is to be created, edited, or managed. The system enables the user to add as many tournament brackets to the tournament as desired. For each tournament bracket, the tournament bracket management user interface provides controls for the user to quickly and easily add games to a bracket hierarchy (e.g., a tree diagram), for example by selecting a plus icon user interface element, symbol or other similar indicator associated with games in the bracket. In response to selection of the “plus” user interface element coupled to a selected game, the tournament bracket management user interface automatically adds a new game in a tournament round preceding the tournament round of the selected game. The winner of the newly added game would then be placed in the selected game to proceed through the tournament. The user can continue to branch games in this way to build out the tournament bracket to as many levels, or rounds, as desired.

Similarly, for each tournament bracket, the tournament bracket management system and user interface provides controls for the user to quickly and easily remove games from a bracket hierarchy (e.g., a tree diagram), for example by selecting a cross or “X” icon user interface element, symbol or other similar indicator associated with games in the bracket. In response to selection of the “X” user interface element coupled to a selected game, the tournament bracket management user interface automatically removes the branch game (or an entire branch of games if there are multiple levels games preceding the branch game) of the bracket hierarchy preceding or leading into the selected game. The winner of the newly added game would then be placed in the selected game to proceed through the tournament. The user can continue to branch games in this way to build out the tournament bracket to as many levels, or rounds, as desired.

The tournament bracket management system and user interface may also include a bracket/division management menu for the user to further customize the tournament bracket(s). This menu may include, for example, the ability to select a division for tournament editing, the ability to add additional brackets to a tournament, and the ability to select teams and/or placements for games in the tournament bracket(s). For example, in one embodiment, the user may configure the teams to play in a selected game by a drag-and-drop user interaction of “dragging” a team or placement from the menu and “dropping” the selected team or placement onto the selected game. The user can continue to add teams to games in this way to configure the tournament bracket until teams or placements have been assigned to each of the entry point games (e.g., games which have at least one competing team that is not a winning team from another game in the bracket).

The tournament bracket management system and user interface may provide other features and functionality, including, for example, functionality for moving games from one round to another round (e.g., to create or eliminate a bye game or round), and zoom controls to enable zooming in or out of the tournament bracket view (a feature of particular benefit if the tournament bracket has multiple levels and/or a large number of games).

Once the league organizer has built and configured the tournament brackets, the sport league administration system can then automatically generate a tournament schedule for each bracket. The schedule generation process may include automatically determining a field or venue for the game, and dates and times, and may be based in part on other league data available to the sport league administration system. In some embodiments, the field and date/time attributes may also be manually configurable by the user via the tournament bracket management user interface.

The features and user interfaces described herein may be applicable to any type of competitive sport which may be organized into a league, conference, tournament, or similar organization. For simplicity, the examples of games described herein may only include two teams. However, in some embodiments there may be games which involve more than two teams (e.g., a game of paintball may involve three or more teams, with one or more “winning” teams eligible to advance to the next round). In these cases there may be additional placement teams added to each game in a tournament bracket. For each additional team, the user would have an additional option to create a branch leading into that game to determine the winner(s) from previous rounds to play in the game of more than two teams. It may also be possible that in some embodiments and/or depending on the sport, instead of teams the games may only involve a single player (e.g., tennis, wrestling, chess, single player card games such as poker, etc.). All of the examples shown and described herein are applicable to such “single player” sports or scenarios, as well as sports in which games may involve more than two teams competing for one or more winning placements to advance to the next round. As used herein the terms league administration system and sport league administration system may be used interchangeably.

Example System Architecture

FIG. 1is a general architecture diagram schematically illustrating an example of a sport league administration (“SLA”) system100that performs and provides the tournament bracket generation services described herein. The SLA system100can include any system capable of performing the processes described herein. For example, in the illustrated embodiment ofFIG. 1, the SLA system100communicates with one or more user computing devices105over a network160. InFIG. 1, the SLA system100includes several components such as a league management module110, user interface module130and a schedule management module120. The schedule management module120may also include, for example, a tournament/bracket management module125. These components may also include further components that may not be depicted inFIG. 1. For example, SLA system100can also include one or more servers, e.g., a web server, configured to receive and respond to requests from the user computing devices105.

The league management module110may be configured to, for example, manage various aspects of a sports league including, but not limited to, registration of participants or players, managing seasons, teams, divisions, flights, uniforms, accounts/finances, and other such administrative matters related to running a sports league. The schedule management module120may be configured to execute various processes and methods for managing different schedules for a league including viewing or editing a games calendar, scheduling games, organizing flights or divisions, setting up tournament brackets and managing fields, among other things. In particular, the tournament bracket management module125may be configured to execute various processes, such as the process900described with reference toFIG. 9) and the process1000described with reference toFIG. 10.

Also shown inFIG. 1, the SLA system100may include and/or have access to one or more data stores or data sources including, for example, a league data store140and a game/scheduling data store150. The league data store140may include data for the league administration system, such as information or data about leagues, conferences, teams and players/athletes, coaches, divisions, flights, venues or fields, placements, standings, win/loss records, various statistics about the teams and games, season standings, historical tournament results, and so forth. The game schedule data150may include data related to schedules, calendars, matchups or games, tournaments and other similar data related to the actual scheduling of games.

Also shown inFIG. 1, a sample user computing device105may include a user interface module107which may be configured to execute some or all of the processes described herein. This may, for example, enable the user computing device105to provide the tournament bracket creation features to the user of the device, even when the device may be not connected to the SLA system100over the network160. This may be the case, for example, if the user computing device105does not have wireless access, may not be connected to a cellular network, and so forth. In some embodiments, the SLA system100may be a web-based system that may be accessed by users using an ordinary web browser. The SLA system100may be accessible by a league organizer or administrator to perform the bracket management functions described herein. In other embodiments, the SLA system100may also be accessible by a non-administrative users (e.g., players, coaches, etc.) who may have permission to view tournaments, brackets, game results, and so on, but may not have access to the bracket management functions provided by the league administration system.

The user interface module107may be configured to, for example, generate one or more user interfaces, such as the user interfaces described herein (e.g.,FIGS. 2,3A,3B,4A,4B,5A,5B,6A,6B,7, and8), to provide the tournament bracket features to the user of the device. In one embodiment, some or all of the user interfaces and/or UI elements may be generated either by the SLA system100and provided to the user computing device105, or they may be generated on the user computing device105via the user interface module107, or in some combination thereof.

Example User Interfaces for Generating Tournament Brackets

FIGS. 2,3A,3B,4A,4B,5A,5B,6A,6B,7, and8illustrate example user interfaces related to dynamic generation of tournament brackets, as used in one or more embodiments of the SLA system100. The sample user interfaces may be displayed, for example, via a web browser (e.g., as a web page), a mobile application, or a standalone application. However, in some embodiments, the sample user interfaces shown inFIGS. 2,3A,3B,4A,4B,5A,5B,6A,6B,7, and8may also be displayed on any suitable computer device, such as a cell/smart phone, tablet, portable/mobile computing device, desktop, laptop, or personal computer, and are not limited to the samples as described herein. The user interfaces include examples of only certain features that a SLA system100may provide. In other embodiments, additional features may be provided, and they may be provided using various different user interfaces and software code. Depending on the embodiment, the user interfaces and functionality described with reference toFIGS. 2,3A,3B,4A,4B,5A,5B,6A,6B,7, and8may be provided by software executing on the individual's computing device (e.g., via user interface module107), by a SLA system100located remotely that is in communication with the computing device via one or more networks, and/or some combination of software executing on the computing device and the SLA system100. In other embodiments, analogous interfaces may be presented using audio or other forms of communication. In an embodiment, the interfaces shown inFIGS. 2,3A,3B,4A,4B,5A,5B,6A,6B,7, and8are configured to be interactive and respond to various user interactions. Such user interactions may include clicks with a mouse, typing with a keyboard, touches and/or gestures on a touch screen, voice commands, and/or the like.

FIG. 2illustrates an example user interface200for dynamically generating tournament brackets in one embodiment of the SLA system100ofFIG. 1. As shown inFIG. 2, the bracket manager interface presents the user with a view of one or more tournaments and various games that are organized within the tournament. The user may be able to edit the tournament name for example, via the UI element201. In this example, the tournament is named “Gold Level Tournament.” Via selection of UI element202, the user can also delete the current bracket.

The user interface shown inFIG. 2includes a menu on the right for managing brackets for a particular league division (e.g., youth female, ages 6-7, as shown as selected at UI element204). At UI element205, the user may have the option to add an additional bracket to the tournament. The user interface for the bracket manager can support as many brackets as the user would like to add. An example of multiple brackets shown in the bracket manager is illustrated with reference toFIG. 7. Also shown in the bracket manager menu on the right, UI element206presents the user with a list of division placements, UI element207presents a list of flight placements, UI element208presents a list of bracket placements for the tournament bracket(s), UI element209presents a list of teams, and UI element210presents a list of placements.

As shown inFIG. 2, the division placements UI element206is expanded to display a list of division placements which are eligible for inclusion in this tournament. As will be further described herein, the user can select a division placement for inclusion in the tournament by, for example, clicking on/selecting, dragging and dropping one of the division placements from the list onto a game in the tournament bracket. Thus, for example, as shown inFIG. 2, the user has selected “#3 in division” and “#4 in division” for Game 001 in Round 1. In other embodiments, the user may also be able to add flight placements, bracket placements or specific teams. Division placements may correspond to the rankings for this particular division at the end of a season or at the time the tournament is scheduled to begin. Similarly, the league administrator may have organized various flights as another way of grouping the teams for play during a regular season. Thus, the user may want to configure the tournament based on the placement within various flights as opposed to placement within certain divisions. This might be particularly beneficial where a flight is organized or grouped for players of similar skill level or age, which may not be reflected at the division level.

The bracket placements include, for example, a list of placements that are generated as the tournament bracket is built out. So, for example, the bracket placements list may include a Loser of Game 001, a Loser of Game 002, a Loser of Game 003, and so forth for each game currently in the tournament bracket. Then the user may use these bracket placements to further develop the tournament bracket, for example, by creating runner-up matches, games for third place or consolidation games, and similar variations on having the loser of the game play the loser of another game to further develop the tournament bracket.

A list of teams in the selected division may also be presented so that the user may build the tournament bracket directly by matching certain teams against each other. This may be desirable in some circumstances where the division/placements and/or the flight placements may not be readily available, or in some instances in which the user may wish to override the default behavior of the SLA system100. For example, if the user knows that the no. 1 division team has been disqualified for various reasons or is no longer eligible to play, then the user may wish to select an alternate team from the teams list to fill in that spot. Finally, the placements selection list may include points that may be associated with the winner of a given game or tournament bracket. These placement points may be tracked over time by the SLA system100, such that during the course of league play, a tournament, or multiple tournaments, the teams/players carry their placement points with them.

Also shown inFIG. 2, the user can build the tournament bracket dynamically and quickly by using the various expansion buttons such as the one shown at UI element211. These indicators may be displayed, for example, to the left of a game and enable the user to create a new branch off of the preceding game or the base game. As shown inFIG. 2, the user can select any of the plus indicators as appended to the end of Game 001, Game 002 or Game 003 in order to add an additional game that would lead into each of these games. Thus, for example, in response to the user clicking on UI element211, the user interface would automatically update and refresh to add an additional game to the left of Game 003 and introduce an additional round into the tournament bracket. Thus, the new Game 009, for example, would then become the only game in Round 1 while the other games in Round 1 would become Round 2, the games in Round 2 would now be Round 3 and so forth. Thus, the user can quickly add games and develop as many rounds as desired for the current tournament bracket. Also shown inFIG. 2is UI element212which shows an X indicator connecting Game 003 to Game 004 between Round 1 and Round 2. By selecting or clicking on or otherwise interacting with this UI element212, the user can effectively remove Game 003 and any games that lead into Game 003 from the tournament bracket. Thus, for example, if the user were to select the X indicator similar to UI element212at the branch leading off of Game 008 in Round 4, then this would also remove, for example, Game 007 which leads into Game 008 and Game 005 which leads into Game 007. Thus, the user has the option or the ability to quickly remove entire sub-tournaments from the tournament bracket and manage the tournament bracket in this way.

As will be described further with reference toFIGS. 5A and 5B, the user may also be able to move games from one round to another round, such that the winner of a game might receive a bye from one round, skipping the next round, and going onto the subsequent directly. This is illustrated inFIG. 2, for example, as the winner of Game 001 skips Round 2 and goes straight to Round 3 to play in Game 006 against the winner from Game 004 in Round 2. The user may be able to move these games from one round to another by, for example, clicking and dragging on a game to move it from one portion of the user interface to another, or in some instances, by touching and dragging an element from one round to another round (e.g., when the user interface is displayed on a touch screen device).

Each game in the tournament bracket may have associated with it various attributes of the game, which inform the user about who is going to be playing when and where. Further details about what each game shown in the brackets may include is illustrated and described, for example, with reference toFIG. 8.

Also shown inFIG. 2is UI element203, which is a zoom level selector which may be provided to enable the user to zoom in or out of the tournament bracket to view more or less detail about the tournament. This zoom feature may, for example, zoom out to show more games in one view at a time so that the user can quickly scan the entire tournament and figure out where teams will be progressing through the tournament brackets or to quickly jump from one section of the tournament to another by zooming out and then zooming in on a different section of the tournament bracket. Although the example shown inFIG. 2shows a zoom element with a plus and minus icon and a sliding scale between, other variations may also be used including a percentage number, a sliding scale bar and other similar type mechanisms which may be used to zoom in or out of the user interface.

FIGS. 3A and 3Billustrate an example of using the tournament bracket management user interface to add a game or branch to a tournament bracket in the SLA system100ofFIG. 1. For example, the user may dynamically build a bracket by selecting the plus icons adjacent to games in the tournament bracket. The hand cursor pointing at UI element301indicates that the user is selecting this UI element to add an additional game off of this game in Round 1. The result of this interaction is shown inFIG. 3B. InFIG. 3B, the user interface has been updated to add Game 002 to the left and adjacent to the Game 001 originally shown inFIG. 3A. The position of Game 002 in the user interface may be relative to Game 001 such that there is still room to branch off of Game 001 in another direction. Thus, for example, since Game 001 includes two different teams, the user may wish to branch off of Game 001 in two different directions, thus creating an additional round before the Game 001 round. As shown inFIG. 3B, once the user has selected the option to add an additional game, the user interface element changes from the plus symbol to an X symbol as shown at UI element302. As discussed previously, this X symbol indicates that the user may click on the X to remove the added game and return the user interface to the view shown inFIG. 3A. Also shown inFIG. 3B, the new game that has been added, Game 002, automatically adds the plus indicators to the left as shown at UI element303to enable the user to add further games and additional rounds, preceding Game 002 in Round 1 and Game 001 in Round 2. Thus, the user can continue to branch out the games to as many levels as desired to fully develop or generate the tournament bracket.

FIGS. 4A and 4Billustrate an example of using the tournament bracket management user interface to remove a game or branch from a tournament bracket. Thus, for example, inFIG. 4A, UI element401is presented as an X symbol because there are games leading into the Round 3 of Game 008 which may be removed by the user by selecting UI element401. The result of selecting UI element401is shown inFIG. 4B.FIG. 4Billustrates that the entire branch of the tournament bracket which comprised Game 007 and Game 005 has now been removed in its entirety. In some embodiments, the user interface may present a confirmation dialog to the user to confirm the desire to remove an entire branch or a game before removing the game. This may prevent the user from inadvertently removing either a single game or a complicated branch of the tournament bracket accidentally. As shown inFIG. 4B, the UI element401has been replaced with UI element402which is the now familiar plus icon or symbol indicating that the user has the option to add an additional branch game off of Game 008 and build out a new branch if desired. Although not shown inFIGS. 4A and 4B, if a user removes a game or branch which includes one or more games in earlier rounds where there is only one game in the round, then removal of the branch or game will result in removal of the round as well. Thus, for example, if there were initially four rounds and the removal of the branch inFIG. 4Awere to remove the only game from Round 1, then the resulting display inFIG. 4Bwould only show three rounds.

FIGS. 5A and 5Billustrate an example of using the tournament bracket management user interface to move a game or branch in a tournament bracket in the SLA system100ofFIG. 1. Thus, as shown inFIG. 5A, the user element501A corresponding to the Game 006 is being selected by the user to move from Round 2 to Round 1. This will have the practical effect of granting the winner of game 6 a bye from Round 1 straight to Round 3, to play the winner of Game 007 from Round 2. The result of this user interaction is shown inFIG. 5B, wherein the user has completed the action to move the game element501A to Round 1, and the tournament bracket user interface has been updated to reflect this move.

FIGS. 6A and 6Billustrate an example of using the tournament bracket management user interface to add a team or placement to a game in a tournament bracket. Thus, for example, starting withFIG. 6Athe tournament bracket shown has already been configured to have the no. 1 team in the division play the no. 2 team in the division in Game 001, and the no. 3 team in the division is going to play in Game 002 against a team yet to be placed. Thus, the user may wish to add an additional division placement team to Game 002 to play against the no. 3 team. In this example, the user is in the process of selecting the no. 6 team in the division as shown at UI element601A.FIG. 6Billustrates the result of the user interaction started inFIG. 6A. Thus, at UI element601B, the diagram shows that the user has selected the no. 6 team in the division and moved the selection over to Game 002. The user interaction may be, for example, clicking on that element and dragging it into Game 002 and releasing to end the drag operation. The drag and drop may be performed, for example, by using a mouse on a computer or by a touch and drag interaction supported on a touch-screen device or a similar user interaction. Thus, by the examples shown inFIGS. 6A and 6B, the user can quickly select division placements for the tournament bracket and build the tournament quickly. In other embodiments, the user may be selecting from the other placement menus, such as the flight placements, the bracket placements, the list of teams or the placement standings overall as discussed herein.

FIG. 7illustrates an example user interface for dynamically generating two or more tournament brackets. This figure shows multiple brackets being added for the division, youth female age 6 through 7. Thus, as shown inFIG. 7, there is a first tournament701which is the “Gold Level Tournament” and the second tournament bracket702which is named the “Silver Level Tournament.” Also shown inFIG. 7is UI element704, which is a horizontal variation on the zoom level selector203illustrated and described with reference toFIG. 2. Also, as shown in the “Brackets for Division” menu on the right, the bracket placements list has been selected for expansion instead of the division placements list. For each of the games presented in the two tournament brackets, the loser of each game is added to the list of potential bracket placements that may be used to further generate or build the tournament bracket.

In the example shown inFIG. 7, a silver level tournament has been constructed to have the losers of various games in the gold level tournament play each other, presumably to play for a silver medal or a silver level ranking or placement score or similar consolation prize. Thus, for example, Game 004 has been set up to have the loser of Game 001 from the gold level tournament bracket play the loser from Game 002, also from the gold level tournament bracket. In another embodiment not shown inFIG. 7, the user may also have the option to add a consolation game to a tournament bracket which may enable the user to add another stand-alone game to a round and then have bracket placements placed into that consolation game. Thus, for example, instead of having a silver level tournament bracket, as shown inFIG. 7, the user may simply have a gold level tournament bracket and have the option to add a consolation game, which may be, for example, a silver medal game where the losers of Game 001 and Game 002 may play each other for the bronze medal.

FIG. 8illustrates a detail view of a user interface element for a game in a tournament which may be displayed as part of a tournament bracket management user interface, involving a sport league administration system, such as the sport league administration system ofFIG. 1. The game UI element displays several attributes associated with the game. Thus, for example, UI element801indicates the name of the tournament and/or game, as well as an identifier for the tournament game which may be used for the bracket placements as described herein. A UI element802provides an indicator of the first team that is going to play in this game. This may be a placement which may be an undetermined team at the present time, or it may be a particular team that the user has selected for this game. In some embodiments, the tournament game in a tournament bracket will consist of two placement teams which will be determined as the result of prior games played in preceding rounds (e.g., teams playing in a final round may be determined by the winners of games played in a semi-final round). But in some instances, the first round games may consist of placement teams which will not be known until the time that the tournament is going to begin, since these placements might be, for example, based on division standings, flight standings or other placement standings which will be undetermined until the end of a season. In one embodiment, the SLA system100may later populate these generic team placement identifiers with the specific team names as game scores and/or results are entered into the system and winning teams are determined.

Also shown inFIG. 8at UI element803, the game may include, for example, information about the field or a particular venue that the game is to be played. This may be shown by, for example, a drop-down list or menu which might be user-selectable to change the field or it may be a read-only value which the user cannot change. This may be useful in the context of an automated scheduling system which automatically assigns fields to the games based on availability and based on timing. Thus, in some embodiments, the user may be able to override the field selection or they may not.

FIG. 8also includes UI element804which may illustrate to the user the date and time that the tournament game is to be played. This may also be either a read-only field or a user selectable and editable field depending on the embodiment. However, it should be clear that in most instances a tournament game in a later round should be played, or will be played, at a date and time later than a game in a prior round. Thus, for example, if the winner of tournament Game 004 is to play in Game 005, then it would make sense that Game 005 will have a date and time later than the date and time of Game 004. However, in some instances games in earlier rounds may overlap with games in later rounds. Such might be the case if, for example, the game is a bye game.

Finally, inFIG. 8, UI element805indicates the other placement team which is to be playing against the first placement team as indicated at UI element802.

Examples of Methods for Generating Tournament Brackets

FIG. 9schematically illustrates a logical flow diagram of an embodiment of a process900for building one or more tournament brackets and generating a tournament schedule in the SLA system100ofFIG. 1. The process900may be executed, for example, by the league management module110, the user interface module130, the schedule management module120, and/or the tournament/bracket management module125of the SLA system100ofFIG. 1. In one embodiment, the process900may also be executed in whole or in part by the user interface module107on a user computing device105, in communication with the SLA system100. In various embodiments, fewer blocks or additional blocks may be included in the process, or various blocks may be performed in an order different from that shown inFIG. 9. For ease of illustration, the process900will be described as being executed by the SLA system100.

Beginning at block905, the SLA system100may access league and/or team division data and game schedule data for a league division. For example, the league/team division data may be accessed from league data source140and the game schedule data may be accessed from the game schedule data store150. The data may be used as part of the tournament bracket generation process, for example, by presenting a list of teams and/or a list of leagues in the user interface for selection to create a tournament bracket. Similarly, the game schedule data may be used to determine, in part, tournament bracket scheduling such as dates and times of the tournament bracket games as well as the fields and/or venues that will be used for the various games in a tournament bracket.

At block910, the SLA system100generates a tournament bracket management user interface to display user configurable tournament brackets for the league division. An example of this user interface is shown, for example, inFIG. 2. The user interface may present various options for the user to configure the tournament bracket including, but not limited to, adding one or more brackets to a tournament, adding one or more games to a tournament bracket including branching games off of base games in the tournament bracket and so forth, as discussed herein.

At block915, the SLA system100receives user interaction input data indicating a request to add, remove and/or move an expansion game relative to a base game. For example, a tournament bracket may begin with a single game indicating the final round and the user may wish to add additional rounds to the tournament bracket by adding one or more expansion games relative to the base game in the final round. The user may do this, for example, by selecting the plus symbol or icon adjacent to the base game or by other interactions that may be supported by the tournament bracket management user interface. For example, in some embodiments, the tournament bracket user interface may support touch inputs or voice inputs and other types of user interaction inputs to facilitate adding of brackets that may not necessitate clicking on an icon in the user interface.

At block920, the tournament bracket interface is updated to add, remove or move the expansion game at a bracket branch position relative to the base game. Thus, for example, in response to the user selecting to add an expansion game in a semi-final round, for example, the user interface configuration will update to add the additional round game such as the example shown inFIGS. 3A and 3B. Also, in response to the user selecting the option to remove a game from the tournament bracket, the user interface will update to remove that bracket, such as the example shown inFIGS. 4A and 4B. In another example, in response to the user selecting the option to move a game from one round to another round, the user interface will update in response to the user interaction by updating a display to show the relocated game in its new bracket round. This may be seen, for example inFIGS. 5A and 5B.

At block925, the SLA system100checks to see if the user is still configuring the tournament brackets. For example, the user interface may provide a user-selectable element, such as a button or link, which the user may select to save the tournament bracket or otherwise end a configuration session. In another embodiment, the SLA system100may determine the user has finished configuring the tournament brackets in response to the user navigating away from the tournament bracket management user interface or similar action such as logging out of the SLA system100or otherwise ending a user session. If the user is still configuring the tournament brackets, the process may return to block915and receive additional user interaction input data indicating further requests to update the tournament bracket by adding, removing or moving games. Thus, the process for blocks915,920and925may continue to repeat an indeterminate or iterative number of times as the user continues to build the tournament bracket. Once the user is finished configuring the tournament brackets, the process can proceed to block930.

At block930, the SLA system100constructs or updates the bracket game configuration based on the tournament bracket user interface configuration. Thus, for example, if the user has built a tournament bracket consisting of three rounds and eight games, then the bracket game configuration will be constructed to match the user interface settings as constructed by the user. This would include which winner of each game plays the next winner of the next game, which teams or placements play in the first round of games and against who, as well as configuration data for the field and/or venue, the date and time and other such information as needed to set up each game in the tournament bracket.

At block935, the SLA system100generates the tournament bracket for the selected league division based on the constructed bracket configuration. This tournament bracket may be stored in, for example, the game and schedule data store150for later use and access in either generating a user interface view of the tournament bracket for an end user who wishes to view the tournament schedule or for later use by the league administrator to continue editing or working on the tournament bracket. In some embodiments, the generated tournament brackets may also be saved by the administrator or user for later use as a template. Thus, a tournament bracket template library may be built up or accumulated over time which may include a library of commonly used tournament brackets or tournament configurations. These may be quickly accessed by the administrator for re-use in another tournament bracket, in a different division, and so on. Such saved templates or libraries may be stored, for example, in the league data store140and/or the game/schedule data store150.

FIG. 10schematically illustrates a logical flow diagram of an embodiment of a process1000for configuring one or more tournament brackets and generating a tournament schedule in SLA system100ofFIG. 1. The process1000may be executed, for example, by the league management module110, the user interface module130, the schedule management module120, and/or the tournament/bracket management module125of the SLA system100ofFIG. 1. In one embodiment, the process1000may also be executed in whole or in part by the user interface module107on a user computing device105, in communication with the SLA system100. In various embodiments, fewer blocks or additional blocks may be included in the process, or various blocks may be performed in an order different from that shown inFIG. 10. For ease of illustration, the process1000will be described as being executed by the SLA system100.

Beginning at block1005, the SLA system100accesses the league/team division data and game schedule data for a league division. For example, the league/team division data may be accessed from league data source140and the game schedule data may be accessed from the game schedule data store150. The data may be used as part of the tournament bracket generation process, for example, by presenting a list of teams and/or a list of leagues in a user interface for selection to create a tournament bracket. Similarly, the game schedule data may be used to determine, in part, tournament bracket scheduling such as dates and times of the tournament bracket games as well as the fields and/or venues that will be used for the various games in a tournament bracket.

At block1010, the SLA system100can generate the tournament bracket management user interface to display user configurable tournament brackets for the league division. An example of this user interface is shown, for example, inFIG. 2. The user interface may present various options for the user to configure the tournament bracket including, but not limited to, adding one or more brackets to a tournament, adding one or more games to a tournament bracket, branching games off of base games in the tournament bracket, and so forth, as discussed herein.

At block1015, the SLA system100receives user interaction input data, such as a drag and drop operation, indicative of a request to add a team placement to a select game. For example, the process is similar to the one shown inFIG. 6A,6B. Thus, the user may drag and drop a division placement, a flight placement, a bracket placement, a specific team or a placement by overall score into the games in the tournament bracket.

At block1020, the SLA system100updates the tournament bracket user interface to add the team placement to the selected game. For example, the selected game would be updated to show the placement or team added to the game, either on the top or the bottom of the game.

At block1025, the SLA system100detects or determines whether the user is still configuring the tournament brackets (e.g., similar to the description of block925ofFIG. 9), and if so, the process may return to block1015to receive additional user interaction input as described above. Thus, the process may repeat blocks1015,1020and1025an indeterminate number of times as the user continues to build the team placements for the tournament bracket.

Once the user has completed or has finished configuring a tournament bracket, then at block1030the SLA system100can construct or update the bracket game configuration based on the team placements in the user interface. The process at block1030is similar to the one described with reference block930ofFIG. 9.

At block1035, the SLA system100generates the tournament bracket for the selected league division based on the constructed bracket hierarchy. The process at block1035is similar to the one described with reference block935ofFIG. 9.

Additional Embodiments

In general, any of the routines, processes, methods or criteria disclosed herein for dynamic generation of tournament brackets can be used individually or in combination with any of the other routines, processes, methods or criteria disclosed herein.

In some embodiments, the SLA system100may be configured differently, include different components or modules, and/or omit some components or modules shown inFIG. 1. For example, in one embodiment, SLA system100includes one or more hardware processors in communication with a computer readable medium storing software modules including instructions that are executable by the one or more hardware processors, and one or more software modules. The one or more hardware processors may include, for example, digital logic circuitry. The one or more software modules may instruct a computing system to execute the various methods, approaches, and/or techniques as described herein.

As described above, the SLA system100can be implemented by a computing system that includes one or more physical servers or other computing machines, such as several computing machines interconnected via a network. Thus, each of the components depicted in the SLA system100can include hardware and/or software for performing various features. In one embodiment, the SLA system100is implemented in association with a web site or collection of web sites. Various disclosed features can be incorporated into a mobile device operating system, a mobile application, a sport league administration site or service, a social networking service, or any combination of these.

The SLA system100can include one or more servers for receiving and responding to network requests from the user computing device(s)105. The one or more servers can include web servers, application servers, database servers, combinations of the same, or the like. In some embodiments, the network160is a publicly accessible network of linked networks, possibly operated by various distinct parties, such as the Internet. In other embodiments, the network160may be a private network, such as, for example, a corporate or university network that is wholly or partially inaccessible to non-privileged users. In still other embodiments, the network160may include one or more private networks with access to and/or from the Internet. User computing devices105may be any type of personal computer or mobile computing device (such as a smart phone, tablet, electronic book reader, or any other type of portable computing device).

The processing of the various components of the SLA system100can be distributed across multiple machines, networks, and other computing resources. The various components of the SLA system100can also be implemented in one or more virtual machines, rather than in dedicated servers. Likewise, the data repositories shown can represent physical and/or logical data storage, including, for example, storage area networks or other distributed storage systems. Moreover, in some embodiments the connections between the components shown represent possible paths of data flow, rather than actual connections between hardware. While some examples of possible connections are shown, any of the subset of the components shown can communicate with any other subset of components in various implementations.

In some embodiments, the SLA system100may be configured differently than illustrated in the figures above. For example, various functionalities provided by the illustrated modules can be combined, rearranged, added, or deleted. In some embodiments, additional or different processors or modules may perform some or all of the functionalities described with reference to the example embodiment illustrated in the figures above. Many implementation variations are possible.

In some embodiments, the SLA system100may be implemented on, or in communication with, one or more hosted computing environments. The hosted computing environments may include a collection of rapidly provisioned and released computing resources hosted in connection with the SLA system100. Such computing resources may be referred to, individually, as host computing devices. The computing resources may further include a number of computing, networking and storage devices in communication with one another. In some embodiments, the computing devices may correspond to physical computing devices. In other embodiments, the computing devices may correspond to virtual machine instances implemented by one or more physical computing devices. In still other embodiments, computing devices may correspond to both virtual computing devices and physical computing devices. A hosted computing environment may also be referred to as a cloud computing environment.

CONCLUSION