in various embodiments described in enabling detail herein , the inventor provides a unique system recommending friendships to targeted online game players based in part on shared attributes and in part on geo - proximity between the targeted and recommended players during incidents of game play . the present invention is described using the following examples , which may describe more than one relevant embodiment falling within the scope of the invention . fig1 is an architectural overview of a gaming network 100 supporting notification of friend suggestions to targeted players based in part on geographic proximity between the players and in part on common attributes shared between the players . gaming network 100 includes the well known internet network illustrated by a network backbone 101 . backbone 101 represents all of the lines equipment and access points that make up the internet as a whole including any connected sub - networks . therefore , there are no geographic limitations to the practice of the present invention . backbone 101 supports a gaming service provider domain 102 . provider domain 102 includes the equipment and software required to provide online gaming services to consumers who subscribe to such services , typically through a website . providing organization 102 may maintain a website ( ws ) 112 hosted on a web server 113 supported by backbone 101 in this example . server 113 may be a third - party web hosting service or an in - house web hosting service without departing from the spirit and scope of the present invention . website 112 is a contact point between gaming service subscribers and provider 102 . website 112 enables search and browse of available games and may advertise featured or highly popular games . website 112 enables secure access and connection to at least one game server . in this example , service provider domain 102 includes game servers 115 ( 1 - n ). game servers 115 ( 1 - n ) may be maintained within a physical location of the service provider or they may be cloud - based and distributed over a larger geographic region . in a preferred implementation they are distributed and players connect to the server that is open and closest to the accessing player &# 39 ; s geographic position in the network , partly for latency reduction purposes . backbone 101 supports at least one data router 111 that may bridge a wireless data network to the wired internet network 101 through a wireless service provider and a wireless carrier network . in this implementation , connection to game server ( s ) 115 ( 1 n ) in domain 102 may be through router 111 from a wireless network , such as a wireless cellular network , enabling players using gaming devices depicted herein as devices 107 , 108 , and 109 to engage in online game play . devices 107 , 108 , and 109 may be any wirelessly - capable computing appliance or phone having browser - based capability of accessing ws 112 to be redirected to one or more of gaming servers 115 ( 1 n ). gaming device 109 has a mobile software ( sw ) application 110 executable for the purpose of simplifying and specializing gaming experience according to an embodiment of the invention . it may be assumed in this example that gaming devices 107 and 108 also include an instance of sw 110 executable therefrom . application 110 may be acquired by download from ws 112 hosted on web server 113 , or in other ways . application 110 , among other tasks , is capable of periodically reporting global positioning satellite ( gps ) coordinates of the host device ( 109 ) during active play of an online game selected through mobile application 110 while connected to ws 112 . mobile application 110 is capable of site navigation on the internet network . backbone 101 supports a data back - end processing server within domain 102 of the service provider . data processing sever 103 records play history of subscribing players such as those operating devices 107 , 108 , and 109 . data processing server 103 hosts a software application 104 that may be a parent or sister application to mobile application 110 on device 109 . application 104 enables server 103 to receive reported information about the gaming activity and certain other attributes of players operating devices 107 , 108 , and 109 through one or more gaming servers 115 ( 1 n ), and from connected devices such as device 109 executing their versions of mobile application 110 . player attributes may include but are not limited to player age , gender , and name . other more detailed attributes might also be available under player profile information , for example , clubs the player belongs to , school affiliation , and so on . processing server 103 may receive game server feeds of data , including games being played , identities of players playing the games and times and durations of playing games . this player profile information is part of each player &# 39 ; s game - site profile that may be created during registration at website 112 for game play . such player attributes may be stored on web server 112 and on associated local gaming devices of those players . in one implementation the player attribute information is held in a cloud database service and is available to authorized entities such as the service providing entity ( 102 ). in one implementation processing server 103 receives and stores data in connected data repositories . game use data may be retrieved ( pulled ) from or fed to ( push ) one or more game servers 115 ( 1 n ) and stored in a connected data repository 105 , labeled use data . use data in repository 105 may be purged from the repository after a specified period of time or at a specified maximum load of data . in specific implementations game use data includes gps coordinates for the device used by each player engaging in game play at any time . for example , if a player billy is playing a game , billy &# 39 ; s gps coordinates are reported by the device billy uses at the time billy engages a game . these gps coordinates may be updated if billy changes his location while gaming . this is particularly important in the circumstance where billy may be using a mobile device , and may be changing locations with the device . backbone 101 supports a gps server 117 adapted to provide general gps services for any players having electronic devices connected online . in order to practice the invention , players must have gps tracking on their devices turned on in order to report location of those players when operating their devices online or on a network . gps data from game players is used by sw 104 to help identify clusters of players that are in relatively close proximity to on another when they are playing . for example , by “ targeting ” one player with known gps , the system may “ look for ” other players currently playing a game or that have recently played a game in close proximity to the targeted player . gaming use data may include actions by players that are not directly related to game play , such as befriending other players , messaging other players , and chatting with other players during game play , among other possible actions . in one implementation this data may be part of the data received from one or more game servers 115 ( 1 n ) if the communication functionality is supported by a game played . in one implementation a player may request to be friends with another player directly through a game that both players are playing . such activity may be contained in the game activity feed available from the one or more of the game servers . processing server 103 has a data repository 106 connected thereto and labeled profile data . profile data 106 may include profile information about players that are subscribers to the gaming service . such profile data may include name , gender , age , and club or group membership indication for groups supported within the gaming community . it is noted herein that profile information for younger persons may be restricted to certain tuples like name , age , and gender . however , school affiliations and indication of clubs or groups a player belongs to may also be included if that information is known and protected by the service provider . like use data repository 107 , profile data in repository 106 may be limited to profile data for players currently actively playing a game . the profile information may be forwarded to server 103 whenever such players engage in game play at one of servers 115 ( 1 n ). profile information from repository 106 is used to determine profile commonalities between players that are determined to have the same or geographically close gps coordinates as plotted on a mapping of an area . backbone 101 further supports a mapping server 116 . mapping server 116 may be a third - party service provider that may be capable to serve a geographic rendering of a locality based on submission of a range of two or more gps coordinates . sw 104 is adapted in one implementation to discern , against certain constraints , whether one targeted game player and another player having similar gps coordinates should be friends . gps coordinates and common attributes may be shared between the game players . in general practice of the present invention and in one implementation , a mobile game player such as one operating device 109 aided by a version of mobile application 110 may connect over the network to server 113 and authenticate at ws 112 to play a game . the player may select a game to play after logging in through mobile application 110 . once the player selects a game to play and enters the game , the player &# 39 ; s device reports gps coordinates from tracking server 117 to server 103 and sw 104 . in one implementation the gps coordinates are made part of the server gaming feed or “ use data ” that the server may temporarily store in repository 107 . sw 104 may be adapted to target a player , such as a player operating through device 109 , aided by mobile application 110 . a player may be targeted to determine if there are other players within a pre - programmed “ local proximity ” to the targeted player . if so , the sw may run a comparison of attributes shared between the targeted player and any players found within the proximity range programmed . the constraint of proximity may be preset such that a “ cluster ” of player gps coordinates may be associated with a “ locality ” such as a school campus , a park , a sports stadium , a city square , a mall , or other recognizable locality that may be rendered geographically be mapping server 116 . in this implementation a locality 118 is depicted from within which players are operating devices 107 , 108 , and 109 aided by versions of mobile application 110 . device 109 is the current targeted device . each of devices 107 and 108 are also assumed playing or have recently played a game from within the same locality as defined by a gps coordinate range as the targeted player . each of devices 107 and 108 have reported gps at the time of game selection and play . it is noted herein that gps reporting may be adapted to occur periodically via application 110 . thus when sw 104 targets device 109 , it obtains access to the player identity , the identity of the game the player is engaged in or has recently been engaged in , the gps coordinates of the device , and at least the age and gender of the player as reported in profile data available to server 103 . in one implementation , sw 104 may launch a search of data repository 105 containing “ use data ” using the targeted player &# 39 ; s gps coordinates as a search criterion and using the preset range ( gps boundary ) around the targeted player &# 39 ; s gps coordinates . use data from repository 105 may have gps coordinate data associated with “ other ” players operating devices 107 and 108 . thus in a search of use data sw 104 may identify players operating devices 107 and 108 in this example . in one implementation profile data includes “ friends ” lists for each player . next , sw 104 may search profile data contained in repository 106 by player identification to access the attributes and current “ friends “ status of each player relative to the other players . if the targeted player using device 109 in this example is not already friends with players operating devices 107 or 108 , sw 104 may take a comparison of attributes between the targeted player and the “ found ” players and weigh against certain constraints whether there are enough commonalities between the targeted player and one or more of the other players to recommend to the targeted player to “ friend ” one or more of the other players . a recommendation may be generated at server 103 aided by sw 104 in the form of a notification and sent to device 109 aided by application 110 , the notification including identification of one or more other players that the gaming service provider recommends the player to friend . interactive links to request friendship over the network may be accessed through the list of one or more players . the player receiving the recommendation may opt to friend or not to friend any other player . in one implementation a “ locality ” having a healthy appearance of players may be saved by sw 104 as a potential target or hot spot to start gps searching for new players or players previously not discovered there . such newly discovered players may be “ targeted ” by sw 104 for the purpose of suggesting friendships citing other local players . locality information may reveal place names of where players are regularly gathering and recommending friendships helps to keep players motivated in play and helps attract more potential players to engage the service from a logical marketing standpoint , although it is important that the suggested friendships contain the correct shared attributes to a degree the friendship is appropriate and comfortable for the players enriching their experience with the service . fig2 is a screen view of an example mobile application screen 200 of gaming application 110 of fig1 . application screen 200 represents a mobile - friendly platform for players to connect to a gaming service and play games from a wireless network - capable mobile device such as devices 107 through 109 of fig1 . screen 200 may be one of more than one navigable screens a mobile player may access through application ( 110 ). screen 200 includes a navigation bar including navigation options of home , friends , and profile representing just a few of possible options for navigation in the mobile application . the friends option allows a player to see a list of gaming friends the player has made through friend request sending and through acceptance of incoming friend requests . the profile option allows the player to create and update profile information and to set permissions on who may see or access that information . screen 200 may be customized according to player preferences . a player interacting in screen 200 , which may be a “ home ” screen or page of the mobile application , may select a navigation option games 201 and bring up a subsequent screen depicting a list of games to which the player has access . in one embodiment the player may see most recent games played , games played most often , and games suggested to the player by the service provider . the player may search for games in the gaming system using a search option 202 , which upon selection may bring up a search field for entering game search criteria . a player may see and select game play options for a particular game through selection of game play options 203 . some options may be preselected while some are selectable after a game has been selected for play . in one implementation , a player may view game play gps history by selecting gps game history 204 . game play history 204 may depict a gps - tracked history including the time , date , and game title , and the “ locality ” ( named location ) based on the gps signature of the player while the game was being played . in one implementation one or more featured games 205 may be presented to a player through screen 200 . a player may select and initiate play of a featured game by clicking on a play or enter option 207 , or the display portion 205 may be a link . application ( 110 ) may include a transparent gps reporting module 206 that may be adapted to work in the background to report gps position of a mobile game player . in one implementation module 206 reports gps of an active player to the service provider periodically wherein those gps coordinates are associated with a particular game being played and that may be appended to the gaming use or activity data . in one implementation gps reporting occurs periodically beginning from the time a player has entered a game until the player has logged off from the server . in this implementation the player may switch games ( play more than one ) while logged onto the server while gps is continually reported on a periodic basis . in one implementation , gps may be reported when the player first enters a game and may not be updated unless the coordinates change during the time the player is logged onto the system . in one implementation gps reporting is continual , such as when a player is mobile and moving while playing a game . there may be other options depicted in and available through screen 200 than are illustrated in this example without departing from the spirit and scope of the present invention such as a log in and log out option , a chat button to enable messaging or chat with other online players , etc . profile information about a player may be stored locally on the player &# 39 ; s device and or at a ws database such as ws 112 of fig1 . the profile information may be made available to the back - end data processing system of the service provider ( server ( 103 ) whenever the player is logged in to play a game . attributes in the profile section of a player are compared to those of other players the system may be considering as potential acceptable gaming friends for a targeted player . for example , if a targeted player and another player have the same or very close gps coordinates and the gender , age , education level , and game types being played are similar , the system might send a notification to the targeted player recommending that the player friend the suggested player . there may be referenced , in a single friending notification , a list of players that could potentially be friended that are recommended to the targeted player as potential good gaming friends . it is noted herein that certain attributes about the games being played such as levels attained , skill levels of the players , language ( english or other ) used in the game may also be considered in a comparison algorithm executed to compare the attributes between players and a targeted player to recommend friending of other players to the targeted player . in one implementation notification sent by the service provider to a player may appear as pop - up notification 208 in screen 200 . a player may select the pop - up to see a list of one or more potential friends the system has found and has qualified as a potential good gaming friend for the player . such notification may contain one or more friend request links enabling the targeted player to request friendship immediately through the notification window , such requests sent from mobile application to mobile applications used by the potential friends . it is noted herein that practice of the invention is not strictly limited to friend notifications being sent only via the mobile gaming applications . notifications may also be sent through other channels that may exist between the mobile device and the service provided such as a messaging channel or an email channel , among others . in one implementation where a notification may contain a list of more than one potential friend , an option to friend all of the suggested friends may be presented so that the targeted player may request friendship of all of the friends using one click . in another implementation each listed potential friend may have a check box adjacent to the tuple to allow the targeted player to select a number of potential players before clicking on a “ send requests ” button that generates a requests for friendship to each selected player . in one implementation , a player may call up a potential friend &# 39 ; s profile for quick review before deciding to select the potential friend for request . in the same fashion the targeted player may receive friendship requests from other targeted players . it is noted herein that one commonality for all of the players that may be included in a “ friending search ” result is that they all are playing or have recently played games in close proximity to one another at a defined locality such as a park , a cinema , a school , or other type of venue , as determined by a service that may relate gps coordinates to localities and structures . fig3 is a process flow chart 300 depicting steps for suggesting friendships for online players according to an embodiment of the present invention . at step 300 a player may launch a mobile gaming application from a wireless network - capable device such as a gaming box , an iphone , an android device , or some other wireless device that is capable of online navigation and gaming . the device makes connection through the mobile application to an access point server such as a website analogous to website 112 of fig1 running on server 113 at step 302 . the player may be authenticated at the server by general player name and password regime at step 303 . once authenticated , the player may select a game to play through the mobile application in step 304 . in one aspect the player may also , in step 304 , invoke preset play options for any game or , may select from presented play options for a particular game selected . at step 305 the player may click play to enter a selected game . clicking play may , in one implementation , cause redirection of the player to a “ geographically close ” gaming server to begin playing the game . it is assumed herein that the player subject to this flow is “ targeted ” by the system for recommending friends once he or she has connected to the gaming server to play a game . at step 306 , the mobile application reports gps coordinates of the player to the gaming server . these coordinates may be made part of the player &# 39 ; s activity or “ use ” data that may be subscribed to by a back end data processing server similar to server 103 of fig1 . step 306 may be practiced in a periodic manner , once and then again if coordinates change , or continually while the player engages in active game play . at step 307 , the service provider may take the targeted players gps data and use it to search for other players having the same or proximal gps coordinates as the targeted player . the search may be conducted through a sw application running on a back end data server such as sw 104 running on server 103 . the search may be conducted in feed data coming into the back end server from the gaming server . in one implementation , other players that are currently playing games and have reported gps coordinates are searched based on the original gps report of the targeted player at step 307 . in one implementation the considered players for friendship may also include players that have recently played near the original gps coordinates of the targeted player but are not playing at the same time as the targeted player . the use data or activity data containing the player &# 39 ; s identities , gps data , game played , etc . may span over a period of time such as , perhaps 24 hours , or some other set period for purging the history . in a preferred implementation a player is targeted when online and playing a game . at step 308 , it is determined whether there is one or more other players discovered in the use data that have gps data matching that of the targeted player . in one implementation there may be a gps radius or buffer set by the system for quantifying “ proximity ” wherein gps coordinates falling outside of the gps “ perimeter ” are not considered a match in search results . if there are no players having gps match to the targeted player at step 308 , the process may move to step 309 for a delay period or “ wait ” period before the process resolves back to step 307 for another search . the period may be arbitrary or preset . it is possible that the targeted player may drop off the grid between searches causing the system to abandon the process for that player . in another implementation , the system may still process for the targeted player after the player has logged off of the system owing to the fact that the player &# 39 ; s data is recovered in the “ use ” or activity data . if there are found to be one or more than one player having matching gps to the targeted player , at step 308 , the system may determine at step 310 , the friendship status that might exist between the targeted players and any one of the matching players . this may be achieved by accessing the targeted player &# 39 ; s current friends &# 39 ; data from the mobile application or from the website , or from a database containing profile data that may also include friend data for all players currently or recently active in game play . if at step 310 the player or players found is or are already friends of the targeted player , the process may abandon them in the search results and the process may resolve back to step 307 , perhaps after a waiting period . if it is determined at step 310 that one or more of the gps matching players are not already friends of the targeted player , the processing entity may search through the common profile data of those players for attributes that are similar to or shared by the targeted player . attributes may include , but are not specifically limited to age , gender , online service affiliations , school , club membership , etc . at step 312 it may be determined whether or not the player or players information and the targeted player &# 39 ; s information are compatible to a point where friendship may be recommended . in one implementation an attribute model maybe used to determine from a number of available attributes for comparison between two players , the number of those that may be considered a match or “ compatible ” by a search algorithm . if determined at step 312 that there are no gps matching players having a sufficient number of compatible attributes when compared with those of the targeted player , the process may move to wait at step 313 for a predetermined amount of time before launching another search at step 307 . if it is determined that one or more of the gps matching players have sufficient shared attributes to be deemed compatible with the targeted player at step 312 the process may be moved to wait at step 314 for a predetermined period . this wait period may be initiated while the targeted player is online and playing a game and may be intended as a buffer period within which the system gives time for the targeted player to initiate any friend requests to any of the “ found ” players . after wait period 314 , it may be determined at step 315 whether the targeted player has friended any of the “ found ” candidates . if at step 315 the player has not friended the one or more players deemed compatible for befriending at step 312 , the system may recommend that the targeted player friends the gps and attribute matching player or players . the recommendation may appear as a pop up notification in the targeted player &# 39 ; s mobile application . if the player has requested friendship from one of one or all found candidates , the process moves to wait back at step 313 before resuming a new search at step 307 . a new search may or may not be initiated for the same targeted player . in one implementation a different player may be targeted . in one implementation multiple players may be targeted for friendship recommendations from the system during a same period of time . in one implementation if a targeted player does not friend a recommended player after getting a notification to do so , the targeted player may be notified once again at some future date and time wherein the recommended player will again be presented to the targeted player . in one implementation a targeted player may be offline before the system makes a friendship commendation . if so the recommendation may appear the next time the targeted player syncs with the server , the notification appearing in the mobile application . fig4 is a process flow chart 400 depicting steps of identifying locations associated with gaming clusters and incorporation of those locations identified into the searchable data for finding like gps coordinates of a targeted player . at step 401 the system aided by sw 104 may record into history any identified player clusters . a cluster may be interpreted as a number of game players having similar or proximal gps coordinates that are currently active or have recently been active relative to game play at those coordinates . at step 402 , the service provider , more particularly , server 103 aided by sw 104 may submit the gps coordinates of the cluster to a third - party mapping service analogous to mapping server 116 of fig1 . the map server may serve a geographic rendering ( map ) of the area containing the coordinates submitted with the identity of the local area , including place names of buildings , streets etc . revealed on the served map . at step 403 each of the submitted gps coordinates may be overlaid on the mapping documentation in association with player identity for each mapped gps coordinate . at step 404 the system may define a gps window based on the existing coordinate range and store the information as a geographic “ hot spot ” ( where multiple players conjugate ) in a history file or database at step 405 . at step 406 , it may be determined whether to render the stored location or cluster as searchable when new players are targeted that report like gps coordinates . if at step 406 it is determined not to make the location searchable , the process may end for that created location at step 410 . if it is determined to make the location searchable at step 406 , the location including the multiple players associated therewith may come up in a later search for gps coordinates on behalf of a new targeted player having like gps coordinates at step 407 ( step 307 fig3 ). it may be determined at step 408 if the location identifying a hot spot comes up in search results . if the location is not served as a search result because the targeted player did not have a gps signature within the range of that hot spot , the process may end for that location at step 410 . if at step 408 , the location was served in the search results of the search in step 407 , then the location may be updated with the new targeted player &# 39 ; s gps coordinates in step 409 . the process may ten end for that location at step 410 . the process of finding potential friends for the new targeted player may resume normally as described further above referring to step 310 of fig3 through step 316 . in one implementation the system may arbitrarily target a player having gps previously reported in history and perform a search in the same history location to find gps signatures from other players that are also recorded in the history without requiring any of the players to be currently online and playing a game . in another implementation friending recommendations might be limited to those who are currently online and actively playing . in still another implementation active players may be targeted for gps search and other active and recently active players that are not currently active may be included in the search . if a targeted player goes offline before a friend recommendation is sent , it may appear at the next time the player logs in with the mobile application . it will be apparent to one with skill in the art that the friend recommendation system of the invention may be provided using some or all of the mentioned features and components without departing from the spirit and scope of the present invention . it will also be apparent to the skilled artisan that the embodiments described above are specific examples of a single broader invention that may have greater scope than any of the singular descriptions taught . there may be many alterations made in the descriptions without departing from the spirit and scope of the present invention . it will further be apparent to the skilled person that the arrangement of elements and functionality for the invention is described in different embodiments in which each is exemplary of an implementation of the invention . these exemplary descriptions do not preclude other implementations and use cases not described in detail . the elements and functions may vary , as there are a variety of ways the hardware may be implemented and in which the software may be provided within the scope of the invention . the invention is limited only by the breadth of the claims below .
a game system has one or more network - connected servers executing system software on one or more processors from a non - transitory medium , providing virtual reality games for players logged in to the system to select and play , and a plurality of mobile digital devices in use by players logged in to the system , associated by the system with individual player identity , executing a mobile application enabled to interact with the ssw , and equipped with gps tracking . the ma reports gps coordinates for individual ones of the plurality of players to the ssw periodically , and the ssw identifies clusters of players based on pre - programmed geography limitations , and uses cluster data for various interactions between players and the system , and between players and other players .