DE602004003282T2 - Auswahlverfahren basierend auf Abstandsmessungen zwischen Geräten - Google Patents

Auswahlverfahren basierend auf Abstandsmessungen zwischen Geräten Download PDF

Info

Publication number
DE602004003282T2
DE602004003282T2 DE602004003282T DE602004003282T DE602004003282T2 DE 602004003282 T2 DE602004003282 T2 DE 602004003282T2 DE 602004003282 T DE602004003282 T DE 602004003282T DE 602004003282 T DE602004003282 T DE 602004003282T DE 602004003282 T2 DE602004003282 T2 DE 602004003282T2
Authority
DE
Germany
Prior art keywords
computing device
computer
game
sessions
distance
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE602004003282T
Other languages
English (en)
Other versions
DE602004003282D1 (de
Inventor
Mark D. NE VanAntwerp
Boyd C. Multerer
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Publication of DE602004003282D1 publication Critical patent/DE602004003282D1/de
Application granted granted Critical
Publication of DE602004003282T2 publication Critical patent/DE602004003282T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C44/00Shaping by internal pressure generated in the material, e.g. swelling or foaming ; Producing porous or cellular expanded plastics articles
    • B29C44/34Auxiliary operations
    • B29C44/56After-treatment of articles, e.g. for altering the shape
    • B29C44/5627After-treatment of articles, e.g. for altering the shape by mechanical deformation, e.g. crushing, embossing, stretching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/79Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories
    • A63F13/795Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for finding other players; for building a team; for providing a buddy list
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/21Input arrangements for video game devices characterised by their sensors, purposes or types
    • A63F13/216Input arrangements for video game devices characterised by their sensors, purposes or types using geographical information, e.g. location of the game device or player using GPS
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/20Input arrangements for video game devices
    • A63F13/23Input arrangements for video game devices for interfacing with the game device, e.g. specific interfaces between game controller and console
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/358Adapting the game course according to the network or server load, e.g. for reducing latency due to different connection speeds between clients
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29CSHAPING OR JOINING OF PLASTICS; SHAPING OF MATERIAL IN A PLASTIC STATE, NOT OTHERWISE PROVIDED FOR; AFTER-TREATMENT OF THE SHAPED PRODUCTS, e.g. REPAIRING
    • B29C44/00Shaping by internal pressure generated in the material, e.g. swelling or foaming ; Producing porous or cellular expanded plastics articles
    • B29C44/34Auxiliary operations
    • B29C44/3415Heating or cooling
    • B29C44/3426Heating by introducing steam in the mould
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/33Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections
    • A63F13/335Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using wide area network [WAN] connections using Internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/10Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals
    • A63F2300/1025Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by input arrangements for converting player-generated signals into game device control signals details of the interface with the game device, e.g. USB version detection
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/20Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform
    • A63F2300/205Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of the game platform for detecting the geographical location of the game platform
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/534Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/556Player lists, e.g. online players, buddy list, black list
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5546Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history
    • A63F2300/5566Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history by matching opponents or finding partners to build a team, e.g. by skill level, geographical area, background, play style
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29KINDEXING SCHEME ASSOCIATED WITH SUBCLASSES B29B, B29C OR B29D, RELATING TO MOULDING MATERIALS OR TO MATERIALS FOR MOULDS, REINFORCEMENTS, FILLERS OR PREFORMED PARTS, e.g. INSERTS
    • B29K2025/00Use of polymers of vinyl-aromatic compounds or derivatives thereof as moulding material
    • B29K2025/04Polymers of styrene
    • B29K2025/06PS, i.e. polystyrene
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29KINDEXING SCHEME ASSOCIATED WITH SUBCLASSES B29B, B29C OR B29D, RELATING TO MOULDING MATERIALS OR TO MATERIALS FOR MOULDS, REINFORCEMENTS, FILLERS OR PREFORMED PARTS, e.g. INSERTS
    • B29K2105/00Condition, form or state of moulded material or of the material to be shaped
    • B29K2105/04Condition, form or state of moulded material or of the material to be shaped cellular or porous
    • B29K2105/045Condition, form or state of moulded material or of the material to be shaped cellular or porous with open cells
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B29WORKING OF PLASTICS; WORKING OF SUBSTANCES IN A PLASTIC STATE IN GENERAL
    • B29LINDEXING SCHEME ASSOCIATED WITH SUBCLASS B29C, RELATING TO PARTICULAR ARTICLES
    • B29L2031/00Other particular articles
    • B29L2031/712Containers; Packaging elements or accessories, Packages
    • B29L2031/7138Shock absorbing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Description

  • TECHNISCHES FELD
  • Diese Erfindung bezieht sich auf Online-Spiele, und im Speziellen auf das Durchführen von Wettkämpfen basierend auf Annäherungsmaßen zwischen Geräten.
  • HINTERGRUND
  • Gewöhnlicherweise sind Spielesysteme mit einer eigens hierfür ausgeführten (dedizierten) Konsole Geräte, die für sich allein funktionieren und für eine begrenzte Anzahl von Spielern (z. B. 2 bis 4 Spieler) angepasst sind. Personal Computer-basiertes Spielen erfreut sich wachsender Beliebtheit wegen der Fähigkeit Online-Spiele mit vielen entfernten Spielern über das Internet durchzuführen. Daher ist es ein Trend für Spielekonsolen, Möglichkeiten, das Spielen über ein Netzwerk durchzuführen, wie beispielsweise das Internet-basierte Online-Spielen, zur Verfügung zu stellen.
  • Ein Problem bei dem Onlinespielen ist, bei Personal Computern oder bei Spielekonsolen, die Netzwerklatenz. Wenn die Benutzer von zwei unterschiedlichen Geräten gegeneinander online spielen, treten zahlreiche Verzögerungen aufgrund des Versendens von Daten zwischen den Geräten auf. Diese Verzögerungen können das Spiel beeinflussen, so dass das Spiel langsam oder schleichend für einen oder mehrere Benutzer erscheint. Da die Netzwerklatenz das Spielen beeinflussen kann, wäre es erwünscht, die Netzwerklatenz zwischen den Geräten für das Onlinespielen zu reduzieren.
  • Das Durchführen von Wettkämpfen basierend auf Abstands- oder Annäherungsmaßen zwischen Geräten, wie unten beschrieben, hilft, diese und andere Probleme zu überwinden. [Anm.d.Übers.:Der Begriff Abstandsmaß oder (An)Näherungsmaß bezeichnet im Folgenden ein Maß für die Nähe zweier oder mehrerer Spieler oder Geräte, bzw. ein Maß für deren Abstand.]
  • GB 2375006 bezieht sich auf ein Datenverarbeitungssystem. Ein Verfahren für das Anpassen von Gegnern in einem Spiel, das über Kommunikationsgeräte durchgeführt wird, wird beschrieben. Das Verfahren beinhaltet das Registrieren von geografischen Orten von einer Vielzahl von Spielern, das Anpassen von Gegnern in einem Vorgang, in wel chem besagte Orte berücksichtigt werden und das Ermöglichen, dass die Gegner ein Spiel mittels der mobilen Kommunikationsgeräte durchführen, nachdem die Anpassung durchgeführt wurde. Die geografischen Orte werden registriert durch das Ermitteln der Orte eines mobilen Kommunikationsgerät des Spielers. Jedes mobile Endgerät ist fähig, seinen geografischen Ort zu bestimmen, die Daten des Ortes werden über einen Internet-Orte-Server verfügbar gemacht. Der Internet-Positionierungsserver ist fähig, eine Identität eines mobilen Endgerätes zu empfangen in einer Dienstanfrage und eine http-Antwort zu übertragen, welche die angeforderten Ortsdaten enthält. Wenn ein mobiles Endgerät sich an dem Spieleserver anmeldet, kann der Spieleserver geografische Ortsdaten durch das Übertragen einer solchen Anfrage an den Positionierungsserver erhalten. Die Daten, welche mit ortsbasierten Wettkämpfen verbunden sind, werden in einer Wettkampfdatenbank gespeichert, die Daten beinhalten Spielerprofile, welche den Spielernamen und die derzeit registrierten Orte enthalten, ebenso wie Positionen und Reihenfolgen relativ zu anderen Spielern. Die Gegneranpassungsvorrichtung benutzt die Daten, um einen Gegner anzupassen der Anpassungsprozess hängt von dem Typ des Wettkampfs ab und kann ebenso beinhalten, dass die registrierten Orte der Spieler berücksichtigt werden und kann ebenso die Spielerkategorien eines Spielers in Betracht ziehen. Nationale Wettkämpfe werden durchgeführt, um nationale Sieger zu ermitteln, die nationalen Sieger und andere Spieler auf nationalem Niveau können in internationalen Wettkämpfen spielen, worin die Spieler mit Gegnern aus anderen Ländern angepasst werden. Die nationale Region ist in subnationale Regionen aufgeteilt. Die Regionen sind derart ausgewählt, so dass diese ähnliche Bevölkerungen aufweisen, die Bevölkerungsähnlichkeit wird benutzt, um sicherzustellen, dass lokale Vergleichswettkämpfe innerhalb lokaler Regionen durchgeführt werden, so dass diese eine ausreichende Anzahl von potenziellen Spielern beinhaltet. Eine Datenstruktur zeigt die Einstufung, den Namen, den Heimatstaat und derzeitige Punkte von einzelnen Spielen an.
  • DE 100 35 133 A1 bezieht sich auf ein System und Verfahren zum Teilnehmen in einem Spiel über ein Mobiltelefon. Ein Benutzer eines Mobiltelefons kann an einem Spiel teilnehmen, welches von einem oder mehreren Spielern gespielt wird, der Spieleanbieter ist in einem anderen Ort als der Benutzer. Das System beinhaltet mindestens ein Mobiltelefon, mindestens eine Basisstation für das Mobiltelefon und mindestens eine Spielestation, auf welcher die Spiele verarbeitet werden. Das Verfahren des Spielens eines Spieles beinhaltet, dass Benutzereingaben über die Signalverbindung von dem mobilen Telefon an die Spielestation übertragen werden und dass Informationen über den aktuellen Spielstand des Spieles von der Spielestation an das mobile Telefon über die gleiche Verbindung übertragen werden. Die Verbindung zwischen dem mobilen Telefon und der Spielestation wird durch den Benutzer, welcher das Telefon der Spielestation anruft, eingerichtet. Wenn die Verbindung eingerichtet ist, informiert die Spielestation den Benutzer, welche Spiele verfügbar sind und durch den Benutzer gespielt werden können. Die Art der Benutzereingabe und die Art der Rückkopplung der Spielestation hängt von dem Spiel, welches gespielt wird, ab, ebenso von den technischen Fähigkeiten des Telefonnetzes und von den technischen Fähigkeiten des mobilen Telefons. Eine Alternative ist die Übertragung von SMS-Nachrichten. Die Benutzung des SMS-Dienstes ermöglicht das Spielen von Brettspielen wie Schach oder Dame. Spiele, welche eine kompliziertere Eingabe und Ausgabe benötigen, benötigen die Übertragung von größeren Datenmengen.
  • Es ist die Aufgabe der vorliegenden Erfindung, ein verbessertes Verfahren und System für das Durchführen von Spielen in einem Online-Spiel zur Verfügung zu stellen.
  • Diese Aufgabe ist gelöst durch den Gegenstand der unabhängigen Ansprüche.
  • Bevorzugte Ausführungsformen werden in den abhängigen Ansprüchen beschrieben.
  • Gemäß einem Aspekt wird eine Aufzeichnung von Entfernungen zwischen Gruppen von Netzwerkadressen geführt. Eine Reihenfolge für Online-Spielesitzungen wird ausgewählt, welche an ein Computergerät zurückgegeben werden soll, welches die Information betreffend derzeitige (laufende) Online-Spielesitzungen angefordert hat, wobei die Reihenfolge teilweise basiert auf der Aufzeichnung von Entfernungen. Diese laufenden Online-Spielesitzungen können kurzlebige Spielesitzungen (z. B. enden diese, wenn alle Computergeräte die Sitzung verlassen) oder alternativ können diese längerlebige (dauerhafte/persistente) Sitzungen sein, wie beispielsweise Vergleichswettkämpfe (z. B. dauern diese länger an, obwohl kein Computergerät mehr das Spiel zu bestimmten Zeiten während dieser Zeitdauer spielt).
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Gleiche Nummern werden in dem Dokument benutzt, um sich auf gleiche Komponenten und/oder Merkmale zu beziehen.
  • 1 ist ein Blockdiagramm einer exemplarischen Umgebung, in welcher das Durchführen von Wettkämpfen basierend auf Annäherungsmaßen zwischen Geräten durchgeführt werden kann.
  • 2 ist ein Blockdiagramm, welche ein exemplarisches Wettkampfsystem im Detail illustriert.
  • 3 verbildlicht eine exemplarische Abbildungstabelle.
  • 4 verbildlicht eine exemplarische Annäherungstabelle.
  • 5 ist ein Flussdiagramm, welche einen exemplarischen Prozess für das Speichern von Information für das Erzeugen von Annäherungsmaßen für Geräte illustriert.
  • 6 ist ein Flussdiagramm, welche einen exemplarischen Prozess für das Abgleichen und Sortieren von Spielesitzungen illustriert.
  • 7 illustriert eine allgemeine Computerumgebung, welche benutzt werden kann, um die beschriebenen Techniken zu implementieren.
  • 8 zeigt funktionale Komponenten einer Spielekonsole im Detail.
  • DETAILLIERTE BESCHREIBUNG
  • 1 ist ein Blockdiagramm einer exemplarischen Umgebung 100, in welcher das Durchführen von Wettkämpfen basierend auf Näherungsmaßen (Abstandsmessungen) zwischen Geräten benutzt werden kann. Mehrere Computervorrichtungen 102(1), ... 102(c) sind zu einem Wettkampfsystem 104 gekoppelt. Die Kopplung zwischen den Geräten 102 und dem System 104, sowie zwischen den Geräten 102, kann eine jede aus einer Vielzahl von Kopplungen sein, welche die Kommunikation zwischen dem System 104 und jedem der Geräte 102 und/oder zwischen den Geräten 102 ermöglicht. In einer Implementation beinhaltet die Kopplung das Internet und kann optional ein oder mehrere andere Netzwerke (z. B. ein Local Area Network (LAN) oder ein Wide Area Network (WAN)) beinhalten. Zum Beispiel kann jedes der Computergeräte 102 sich in einem heimbasierten LAN befinden und jedes heimbasierte LAN kann mit dem System 104 über das Internet verbunden sein. Die Verbindungen können unter Benutzung einer Vielzahl von Netzwerktypen und Technologien, beinhaltend Kabelnetze und/oder kabellose Netzwerke, implementiert sein.
  • Die Computergeräte 102 erlauben den jeweiligen Benutzern, miteinander Spiele zu spielen. Typischerweise bezieht sich das Online-Spielen auf zwei oder mehrere Geräte, welche miteinander kommunizieren und es den Benutzern der Geräte ermöglichen, miteinander Spiele zu spielen. Das Kommunizieren wird typischerweise über das Internet ausgeführt, aber könnte alternativ auch über andere Netzwerke stattfinden (ersatzweise oder zusätzlich zu dem Internet).
  • Das Wettkampfsystem 104 pflegt (führt) Informationen über mehrere Spielesitzungen, die durch die Computergeräte 102 gehostet (moderiert) werden, erlaubt Spielern, nach Spielesitzungen zu suchen, neue Sitzungen zu erzeugen, an Sitzungen teilzunehmen, Spielesitzungen zu verlassen, und Informationen, welche von den Computergeräten benutzt werden, um Daten zu kommunizieren, zu erhalten. Das Host-Gerät einer solchen Spielesitzung ist das Gerät, welches verantwortlich ist für das Initiieren einer Spielesitzung, beispielsweise durch Veranlassen, dass das Wettkampfsystem 104 (oder alternativ ein anderes Gerät) eine neue Spielesitzung erzeugt. Alternativ kann das Host-Gerät auf eine andere Weise ausgewählt oder festgelegt werden. Zum Beispiel kann das Host-Gerät zufällig ausgewählt werden oder anhand anderer Kriterien.
  • In manchen Implementierungen bezieht sich eine Spielesitzung auf eine Instanz eines Spiele-Titels, ein oder mehrere Spieler beinhaltend. Solche Spielesitzungen werden auch bezeichnet als kurzlebige Spielesitzungen. Wenn alle Spieler einer Spielesitzung die Sitzung beendet haben (z. B. Verlassen der Spielesitzung, Ausloggen aus dem System 14, Abschalten der Geräte, usw.), dann endet die Spielesitzung. Eine Spielesitzung kann mehrere Runden des Spieles beinhalten, oder es kann alternativ für jede Spielerunde eine neue Spielesitzung erzeugt werden.
  • In anderen Implementierungen können Spielesitzungen über längere Zeiten bestehen, wie beispielsweise Tage, Wochen, Monate oder sogar Jahre. Solche Spielesitzungen werden auch als langlebige Spielesitzungen oder dauerhafte Spielesitzungen bezeichnet. Ein Beispiel einer solchen dauerhaften Spielesitzung ist ein Turnier. In einem Tur nier finden mehrere Wettkämpfe zwischen vielen Spielen, über eine typischerweise lange Zeitdauer, statt. Jeder Wettkampf kann als eine individuelle Spielesitzung gezeigt werden, welche Teil der Turnierspielesitzung ist. Die Tumierspielesitzung ist nicht vorbei bis alle einzelnen Spielesitzungen beendet sind. Daher ist es möglich, dass es Zeiten in der Tumierspielesitzung gibt, in der keine individuellen Spielesitzungen gespielt werden (z. B. keines der Computergeräte in der Turnierspielesitzung könnte das Spiel spielen, oder ist noch nicht einmal eingeschaltet).
  • Der Begriff Spielesitzung bezieht sich sowohl auf kurzlebige Spielesitzungen als auch auf dauerhafte Spielesitzungen und ebenso auf die individuellen Spielesitzungen einer dauerhaften Spielesitzung.
  • Die Informationen bezüglich mehrerer Spielesitzungen für jeden von vielen unterschiedlichen Spiele-Titeln können durch das System 104 gleichzeitig aufrechterhalten werden. Die Spieler können eine Spielesitzung verlassen (ausscheiden) und an einer Spielesitzung teilnehmen. Wenn eine Sitzung einen bestimmten Punkt in dem Spielfluss erreicht, kann das Vermögen, um an der Sitzung teilzunehmen beschränkt sein, oder alternativ hierzu können Spieler vermögen, die Spielesitzung während des Spielflusses zu verlassen oder daran teilzunehmen, so dass die Spieler am Ende der Spielesitzung andere sein können als die Spieler zum Beginn der Spielesitzung. Beschränkungen des Vermögens der Teilnahme oder des Verlassens der Spielesitzung können unter den unterschiedlichen Spiele-Titeln basierend auf den Wünschen der Spiele-Designer variieren.
  • Wenn ein Spieler, der ein Computergerät benutzt, an einer Spielesitzung teilnimmt, wird auch das Computergerät als an der Spielesitzung teilnehmend bezeichnet. Das Gerät, das durch einen jeden Spieler der an der Spielesitzung teilnimmt benutzt wird, wird auch als ein Mitglied oder ein Teil der Spielesitzung bezeichnet.
  • Das Computergerät 102 kann eine zweckbestimmte (dedizierte) Spielekonsole, eine Spielekonsole, welche zusätzliche Funktionalität beinhaltet (z. B. digitale Videoaufnahmefunktionalität, so dass dieser als ein digitaler Videorecorder funktioniert, Kanalempfangsfunktionalität, so dass dieser TV-Signale empfangen und decodieren kann (mögen diese Übertragungssignale, Kabelsignale, Satellitensignale usw. sein) usw.), ein Desktop-PC, eine Workstation, ein tragbarer Computer, ein Mobiltelefon, ein Internetapparat, ein Servercomputer usw. sein. Zusätzlich können unterschiedliche Typen von Geräten 102 das Wettkampfsystem 104 gleichzeitig benutzen. Zum Beispiel kann ein Benutzer einer dedizierten Spielekonsole an einer Spielesitzung teilnehmen und gegen einen anderen Benutzer auf einem tragbaren Computer spielen, oder ein User einer dedizierten Spielekonsole, welche von einem Hersteller hergestellt wurde, kann bei einer Spielesitzung teilnehmen und gegen einen anderen Benutzer spielen, welcher eine dedizierte Spielekonsole benutzt, die von einem anderen Hersteller hergestellt wurde.
  • Eine exemplarische Implementation der Umgebung 100 von 1 kann gefunden werden in EP 1 372 315 A2 .
  • 2 ist ein Blockdiagramm, welches ein exemplarisches Wettkampfsystem 104 in zusätzlichem Detail illustriert. Das Wettkampfsystem 104 beinhaltet ein Steuer- oder Kontrollmodul (Abgleichmodul 122) und Aufzeichnungen 124, welche laufende Online-Spielesitzungen beschreiben. Solche laufenden Online-Spielesitzungen beinhalten kurzlebige und dauerhafte Spielesitzungen. Das Abgleichmodul 122 empfängt Anfragen betreffend das Erzeugen, Teilnehmen, Verlassen, Suchen usw. von Spielesitzungen. Diese Anfragen werden empfangen von den anfragenden Geräten, wie beispielsweise Computergeräte 102 der 1. Wenn eine solche Anfrage empfangen wurde, interagiert das Abgleichmodul 122 mit den anderen Komponenten des Wettkampfsystems 104 in geeigneter Weise, um die empfangene Anfrage auszuführen.
  • Das Wettkampfsystem 104 pflegt/führt mehrere Aufzeichnungen 124, welche Informationen speichern, welche die zahlreichen Spielesitzungen beschreiben, welche derzeitig von dem Wettkampfsystem 104 verwaltet werden. Da dieses typischerweise mehrere Online-Spielesitzungen sind, beinhaltet das Wettkampfsystem 104 typischerweise mehrere Beschreibungen zu einem gegebenen Zeitpunkt. Die von dem Wettkampfsystem 104 verwalteten Spielesitzungen sind typischerweise diejenigen Spielesitzungen, die von dem Wettkampfsystem 104 erzeugt wurden. Manche Spielesitzungen, welche von dem Wettkampfsystem verwaltet werden, können offen sein und daher können zusätzliche Spieler an diesen Sitzungen teilnehmen, während andere Spielesitzungen geschlossen sein können und daher können keine weiteren Spieler bei diesen Sitzungen teilnehmen. Die Aufzeichnungen 124 können unter Benutzung einer Vielzahl von Datenstrukturen geführt werden. In einer exemplarischen Implementation werden die Informationen die Spielesitzungen betreffend als ein Eintrag in einer oder mehrere Tabellen gespeichert.
  • Das Wettkampfsystem 104 ist derart ausgestaltet, um das Errichten von Spielesitzungen zwischen Computergeräten zu ermöglichen. Meist wird in den folgenden Ausführungen das Wettkampfsystem 104 beschrieben als Spielesitzungen verwaltend, aber nicht als die Übertragung von Spieledaten zwischen den teilnehmenden Geräten der Spielesitzungen verwaltend. Stattdessen übertragen die Computergeräte die Spieledaten während des Spieles zwischen sich selbst oder über ein weiteres Servergerät (nicht gezeigt). Alternativ kann eine Spieldatenübertragung über das Wettkampfsystem 104 erfolgen.
  • Wenn mehrere Computergeräte an einer Online-Spielesitzung teilnehmen, wird eines der Geräte bezeichnet als der Host (auch bezeichnet als Leitrechner oder Hauptcomputer) der Spielesitzung (und ebenso als das Hostgerät). In einer Implementation ist der Host einer Spielesitzung das Gerät, welches die Spielesitzung erzeugt hat. In anderen Implementation werden andere Kriterien benutzt, um den Host der Spielesitzung festzulegen. Der Host einer Spielesitzung ist typischerweise das Gerät, welches für das Feststellen der Nähe oder Annäherung eines anderen Gerätes benutzt wird, welches bei der Spielesitzung teilnehmen möchte, wie weiter unten im Detail diskutiert, obwohl andere Geräte, welche Teil der Spielesitzung sind alternativ benutzt werden können.
  • Eine Vielzahl von unterschiedlichen Informationen können in den Aufzeichnungen 124 für jede Spielesitzung gepflegt/geführt werden. In einer Implementation beinhaltet diese Information mindestens eine Beschreibung des Spieles, welches in der Spielesitzung gespielt wird und einen Identifikator (Bezeichner) des Hosts der Spielesitzung.
  • Die Beschreibung des Spieles beinhaltet den Titel des Spieles ebenso wie ein oder mehrere Attribute des Spieles. Ein Attribut ist ein Datenstück, welches mit einer Spielesitzung oder einem Spieler in einer Spielesitzung verbunden ist. Die Attribute eines Spieles können bei jedem Spiel basierend auf den Wünschen des Spiele-Designers variieren. Zum Beispiel können die Attribute die Qualifikationsstufe des Spielers der das Erzeugen der neuen Sitzung initiiert hat, die erwünschte Qualifikationsstufe von anderen Spielern die an der neuen Sitzung teilnehmen können, die Spiel-Location wo das Spiel durchgeführt wird (z. B. während des Tages, nachts, in einem bestimmten Stadium, in einer bestimmten Stadt, an einem bestimmten Weg, Wetterbedingungen usw.), Objekte, die während des Spieles benutzt werden (z. B. Autotypen, Flugzeugtypen oder Raumschiffe usw.), Charakteristiken von verschiedenen Charakteren in dem Spiel (z. B. spezielle Kräfte, welche verfügbar sind, magische Zaubersprüche, welche verfügbar sind usw.) anzeigen. Zusätzlich, anstelle des Einschließens des Spieletitels, kann der Spieletitel immanent in der Anfrage enthalten sein (z. B. eine unterschiedliche Anfrage kann benutzt werden für jeden Spieletitel).
  • Der Bezeichner oder Identifikator des Hosts der Spielesitzung ist eine Adressenstruktur des Host-Computergerätes. Die Adressenstruktur beinhaltend ausreichende Informationen, um es zu ermöglichen, dass Näherungs-Maße erzeugt werden können, wie hier diskutiert. Der Bezeichner kann eine IP-Adresse (beispielsweise gemäß dem Internet-Protokollversion 4 (IPv4) oder Internet-Protokollversion 6 (IPv6)) oder alternativ hierzu Netzwerk-Bezeichner oder Adressen in anderen Formaten sein.
  • In einer Implementierung ist diese Adressenstruktur bezeichnet als eine „fully qualified address" (XNADDR) für das Host-Computergerät. Diese „fully qualified address" des Host-Computergerätes beinhalten ausreichende Informationen, um es zu ermöglichen, dass andere Computergeräte auf das Host-Computergerät zugreifen, obwohl das Host-Computergerät hinter einer „Network Address Translation" (NAT)-Vorrichtung, wie beispielsweise einem Netzwerk-Router, gelegen ist.
  • Ein Beispiel für eine „fully qualified address" eines Computergerätes beinhaltet: die Ethernet MAC-Adresse des Computergerätes; die lokale IP (Internet-Protokoll)-Adresse des Computergerätes (d. h. die IP-Adresse, welche das Computergerät zu besitzen glaubt und kann unterschiedlich sein von der IP-Adresse, von welcher das Wettkampfsystem Datenpakete empfängt von dem Computergerät (z. B. wegen des NAT-Gerätes, wie beispielsweise ein Router, welcher zwischen dem Computergerät und dem Wettkampfsystem (oder einem Vermittler, der im Namen des Wettkampfsystems handelt) gelegen ist); die IP-Adresse und Port, von welchem das Wettkampfsystem (oder der Vermittler) Datenpakete empfängt von dem Computergerät (dieses kann das gleiche sein wie die lokale IP-Adresse des Computergerätes, oder alternativ unterschiedlich (z. B. die Adresse eines NAT-Gerätes)); eine logische Gerätenummer (einen Bezeichner, welcher dem Wettkampfsystem (oder dem Vermittler) zugewiesen ist, um das Wettkampfsystem (oder den Vermittler) eindeutig zu bezeichnen innerhalb eines Clusters von mehreren Wettkampfsystemen (oder Vermittlern)); einen Sicherheitsparameter-Index (SPI)-Wert (z. B. SPI1 und/oder SPI2; und eine Computergeräte-ID. Die Inhalte der „fully qualified address" können basierend auf den Informationen, welche in den Datenpaketen enthalten sind welche von dem Computergerät empfangen wurden, festgelegt sein, e benso wie auf Informationen, welche bei dem Errichten einer sicheren Verbindung zwischen dem Computergerät und dem Wettkampfsystem (oder dem Vermittler) empfangen wurden.
  • Die IP-Adresse, von welcher das Wettkampfsystem (oder der Vermittler, welcher im Auftrag des Wettkampfsystems agiert) Datenpakete von einem Computergerät empfängt wird zum Feststellen von Näherungs-Maßen für das Computergerät, wie weiter unten in größerem Detail diskutiert, benutzt. Die IP-Adresse ist typischerweise durch einen Internet-Serviceprovider (ISP) zugewiesen und kann sich mit der Zeit ändern. Diese IP-Adresse ist, z. B., die IP-Adresse, von welcher Datenpakete durch das Computergerät über das Internet gesendet werden. Zusätzlich können mehrere Geräte die gleiche IP-Adresse teilen (d. h. mehrere Geräte können sich in einem LAN befinden, mit einem Router, welcher zwischen dem Internet und dem LAN angeordnet ist, und die IP-Adresse des Routers im Internet ist die IP-Adresse, von welcher Datenpakete von allen Geräten in dem LAN gesendet werden).
  • Das Wettkampfsystem 104 beinhaltet ebenso ein Filtermodul 126, welches Spielesitzungen herausfiltert, welche nicht den Kriterien, welche durch eine Teilnahme-Anfrage, um an der Spielesitzung teilzunehmen, spezifiziert werden, genügen. Während des Betriebes, wenn ein Gerät an einer Spielesitzung teilnehmen möchte (d. h. in Erwiderung einer Benutzeranfrage, um an der Spielesitzung teilzunehmen), ob an einer kurzlebigen oder dauerhaften Spielesitzung, kommuniziert das Gerät eine Anfrage an das Wettkampfsystem 104 für Beschreibungen und/oder Bezeichnern der laufenden Spielesitzung, welcher beigetreten werden kann. Das Wettkampfsystem 104 sendet Beschreibungen und/oder Bezeichner an das anfragende Gerät für ein oder mehrere der laufenden Spielesitzungen zurück und das Gerät kann eine der Spielesitzungen zum Beitreten aussuchen. Das Gerät kann ein oder mehrere Spielesitzungen automatisch aussuchen (wie durch eine Software, die auf dem Gerät ausgeführt wird, angezeigt wird) oder alternativ kann eine der Spielesitzungen in Erwiderung auf eine Benutzereingabe an dem Gerät (z. B. ein Benutzer wählt eine der Spielesitzungen aus von einer Anzeige, welche die zahlreichen Spielesitzungen anzeigt) ausgewählt werden.
  • Das Wettkampfsystem 104 wählt einen Satz von Beschreibungen 124, um diese an ein anfragendes Gerät zu senden. Das Filtermodul 126 wählt nur Beschreibungen 124 aus für den Satz, welcher an das anfragende Gerät gesendet werden soll, welche die Krite rien erfüllen, welche durch das anfragende Gerät spezifiziert wurden. Zum Beispiel kann das anfragende Gerät spezifizieren, dass die Spielesitzung nur Spieler einer bestimmten Qualifikationsstufe beinhalten soll, oder bestimmte Rennbahnen, oder bestimmte Stadien und so fort. Zusätzlich operiert das Filtermodul 126, um lediglich Beschreibungen 124 auszusuchen für den Satz, welcher an das anfragende Gerät gesendet werden soll, welche derzeitig zur Teilnahme verfügbar sind (z. B. wenn eine Spielesitzung voll ist und keine weiteren Teilnehmer akzeptieren kann, dann wird diese Spielesitzung nicht als ein Teil des Satzes an das anfragende Gerät gesendet).
  • Eine oder mehrere dieser Beschreibung 124, welche die Kriterien erfüllen, welche durch das anfragende Gerät spezifiziert wurden, werden an das anfragende Gerät gesendet. In bestimmten Ausführungsformen beschränkt das Wettkampfsystem die Zahl von Beschreibungen 124, welche an das anfragende Gerät gesendet werden. In einer Implementierung wird das Wettkampfsystem nicht mehr als 50 Beschreibungen 124 an das anfragende Gerät senden, obwohl andere Grenzen in anderen Implementierungen gewählt werden können. Durch das Begrenzen der Anzahl von Beschreibungen 124, welche an das anfragende Gerät gesendet werden, kann die Menge der beanspruchten Netzwerkbandbreite bei dem Senden der Beschreibungen und auch die Menge der Daten, welche bei dem anfragenden Gerät präsentiert (d. h. angezeigt), werden, reduziert werden.
  • Bei einem gegebenen Satz von Beschreibungen 124, welche an das anfragende Gerät gesendet werden, sortiert das Sortiermodul 128 die Beschreibungen in diesem Satz, so dass die Beschreibungen an dem anfragenden Gerät in einer bestimmten (sortierten) Reihenfolge gezeigt werden. Die Beschreibungen können an das anfragende Gerät in der sortierten Ordnung gesendet werden oder alternativ kann eine Angabe der richtigen Ordnung zusammen mit den Beschreibungen gesendet werden und diese können in dem anfragenden Gerät in der sortierten Reihenfolge angeordnet werden.
  • Das Sortiermodul 128 sortiert die Beschreibungen gemäß der Näherungs-Maße, welche für jede der Spielesitzungen erzeugt wurden. Ein Näherungs-Maß für eine Spielesitzung zeigt eine näherungsweise Distanz zwischen dem anfragenden Gerät und dem Hostgerät für diese Spielesitzung. Alternativ kann die Distanz zwischen dem anfragenden Gerät und einem anderen Gerät, welches der Spielesitzung beigetreten ist (z. B. manche Geräte, welche Teil der Spielesitzung sind) betrachtet werden. In bestimmten Ausführungs formen arbeitet das Sortiermodul 128 ausgehend von der Annahme, dass Datenübertragungen zwischen Geräten, welche näher aneinander sind, generell schneller sind als Datenübertragungen zwischen Geräten, welche weiter voneinander entfernt sind. Daher ist die vorhergesagte Latenz oder Wartezeit für Datenübertragungen zwischen Geräten generell niedriger für solche Geräte, welche näher aneinander sind.
  • Durch das Sortieren der Spielebeschreibungen gemäß den Näherungs-Maßen können Spielesitzungen, welche von Geräten gehostet oder ausgerichtet werden, welche näher an dem anfragenden Gerät sind (und daher Spielesitzungen, für welche die vorhergesagte Latenz der Datenübertragung zwischen dem anfragenden Gerät und den anderen Geräten, welche Teil der Spielesitzung sind, geringer ist) die Benutzer des anfragenden Gerätes prominenter präsentiert werden. Zum Beispiel können solche Spielesitzungen am Beginn einer Liste von Beschreibungen von Spielesitzungen angezeigt werden. Der Benutzer wird dann diese Spielesitzungen mit größerer Wahrscheinlichkeit auswählen und dadurch das Benutzererlebnis verbessern.
  • Die Näherungs-Maße können in einer Vielzahl von unterschiedlichen Arten erzeugt werden. Eine Art, bei welcher die Näherungs-Maße für zwei Geräte erzeugt werden, ist durch das Feststellen einer näherungsweisen geografischen Lage (z. B. als Längen- und Breitenangabe) eines jeden Gerätes. Diese Lageinformation kann auf unterschiedliche Weisen erhalten werden. Zum Beispiel kann ein Benutzer eine geografische Lage haben, welche mit ihm oder ihr verbunden ist, welche aufgezeichnet wurde als der Benutzer sich registrierte oder einloggte, um die Dienste des Wettkampfsystems 104 zu benutzen. Als ein anderes Beispiel erzeugen bestimmte Organisationen oder Unternehmen Informationen, welche die IP-Adresse auf geografische Orte abbildet. Die IP-Adresse des Hostgerätes ist bekannt aus der Spielesitzungsbeschreibung (z. B. in der XNADDR, welcher Teil der Beschreibung ist) und die IP-Adresse des anfragenden Gerätes ist ebenso bekannt (z. B. durch Untersuchen einer XNADDR für das anfragende Gerät oder durch Untersuchen der Quell-IP-Adresse für Datenpakete, welche von dem Gerät erhalten wurden. Solche Informationen, welche IP-Adressen geografischen Lagen zuordnen (mappen) können erhalten werden, z. B. von Digital Envoy of Norcross, GA.
  • In bestimmten Ausführungsformen pflegt das Wettkampfsystem 104 eine IP-Zuordungstabelle 130. Die Information, welche IP-Adressen geografischen Lagen zuordnet, ist in einer Zuordnungstabelle 130 gespeichert und ermöglicht es dem Sortiermodul 128 fest zustellen, welche geografische Lage ein Gerät hat, basierend auf dessen IP-Adresse. Angesichts der geografischen Lage von zwei Geräten kann eine Distanz zwischen den Geräten auf eine Vielzahl von Art und Weisen berechnet werden. Zum Beispiel kann angenommen werde, dass die Geräte auf einer Sphäre (die Erde) gelegen sind und daher kann eine sphärische Distanz zwischen den beiden Geräten berechnet werden. In einem anderen Beispiel kann angenommen werden, dass die Geräte sich auf einer Ebene befinden (z. B. eine Karte der Vereinigten Staaten) und daher kann eine direkte Verbindungsliniendistanz zwischen den beiden Geräten berechnet werden. Die berechnete Distanz zwischen den beiden Geräten wird dann benutzt als das Näherungs-Maß für die beiden Geräte.
  • Eine andere Weise, in welcher das Näherungs-Maß für zwei Geräte erzeugt werden kann, basiert auf deren geografischen Lagen, jedoch anstatt die geografische Lage jeder IP-Adresse zu berücksichtigen, werden die IP-Adressen gruppiert in mehrere Bereiche (Buckets) oder Gruppen. Die Zahl der Bereiche, in welche IP-Adressen gruppiert werden, kann variieren und ist ein Gestaltungsmerkmal. In einer Implementierung werden IP-Adressen in den Vereinigten Staaten in ungefähr 150 Bereiche aufgeteilt, obwohl eine andere Zahl von Bereichen (mehr oder weniger als 150) alternativ benutzt werden könnte. Zum Beispiel in einer anderen Implementation werden IP-Adressen in den Vereinigten Staaten in ungefähr 6 Bereiche aufgeteilt.
  • Eine geografische Lage wird ebenso mit jedem dieser Bereiche assoziiert. In einer Implementierung wird die näherungsweise geografische Mitte des Bereiches benutzt als die geografische Lage, welche mit dem Bereich verbunden wird, obwohl andere Lagen alternativ benutzt werden könnten.
  • Die Bereiche für eine bestimmte geografische Region (z. B. die Vereinigten Staaten) können auf eine Vielzahl von unterschiedlichen Weisen erzeugt werden. In einer Implementierung werden die Bereiche erzeugt durch das Aufteilen der geografischen Region in eine Anzahl von Unterregionen. Diese Unterregionen können auf unterschiedlichen Faktoren basiert sein, so wie beispielsweise Bevölkerungszentren oder die physikalische Fläche. Zum Beispiel kann die geografische Region eingeteilt werden in ungefähr 150 separate physikalische Flächen, jede von dieser ist ein Bereich. In einem anderen Beispiel kann jede der größten 150 Bevölkerungszentren in der geografischen Region dienen als ein Bereich.
  • In einer anderen Implementierung werden IP-Adressen Bereichen zugeordnet, welche um "IP-Bevölkerungszentren" zentriert sind, wobei die „IP-Bevölkerung" sich bezieht auf eine Zahl von IP-Adressen. Große Konzentrationen von IP-Adressen werden identifiziert (z. B. die 150 größten Konzentrationen) und diese Konzentrationen werden als Bereiche benutzt. Eine geografische Fläche ist verbunden mit jedem dieser Bereiche und jede geografische Fläche beinhaltet diese physikalischen Lagen, welche IP-Adressen in dem Bereich haben. Die geografische Fläche kann dann definiert sein durch eine bestimmte geometrische Form, wie beispielsweise ein Kreis. Jede IP-Adresse, die nicht anfänglich in einem dieser Bereiche ist wird dann dem nächsten Bereich zugeordnet (z. B. basierend auf den Abständen zu den Zentren der Bereiche). Die geometrische Form kann dann verändert werden, so dass diese zusätzliche IP-Adressen beinhaltet, oder alternativ kann diese auch nicht verändert werden.
  • In einer anderen Implementierung wird die geografische Region, welche in mehrere Bereiche aufgeteilt werden soll, anfänglich mit einem einzelnen Bereich assoziiert. IP-Adressen werden dann zu diesem anfänglichen Bereich hinzugefügt bis dieser Bereich eine Grenzmenge von IP-Adressen beinhaltet. Diese Grenzmenge kann variieren und in einer Implementierung ist die Zahl von Bereichen, welche benutzt werden wollen, geteilt durch die Gesamtzahl von IP-Adressen, welche zu diesen Bereichen zugewiesen werden sollen. Wenn die Grenzmenge von IP-Adressen erreicht ist, wird der Bereich in zwei Bereiche geteilt. Diese Teilung kann durchgeführt werden unter Benutzung einer Vielzahl von Teilungsheuristiken und in einer Implementierung wird dieses erreicht, so dass näherungsweise eine Hälfte der IP-Adressen in dem Bereich vor der Teilung sich in jedem der geteilten Bereiche befindet. Zusätzliche IP-Adressen werden dann zu diesen geteilten Bereichen hinzugefügt durch das Zuweisen von jeder IP-Adresse zu dem nächstgelegenen Bereich (z. B. basierend auf den Distanzen zu den Zentren der Bereiche). Wenn einer dieser geteilten Bereiche die Grenzzahl von IP-Adressen erreicht, wird dieser Bereich erneut geteilt. Das Hinzufügen von IP-Adressen und Teilen von Bereichen wird fortgeführt bis alle IP-Adressen einem Bereich zugewiesen sind.
  • In bestimmten Ausführungsformen führt das Wettkampfsystem 104 die Bereichsinformation in einer IP-Zuordnungstabelle 130. Die IP-Zuordnungstabelle speichert die Zuordnungen von IP-Adressen zu Bereichen, dadurch wird es dem Sortiermodul 128 erlaubt, festzustellen, welchen Bereichen die Geräte zugewiesen sind, basierend auf deren IP- Adressen. Das Wettkampfsystem 104 führt ebenso eine Bereichs-Näherungs-Tabelle 132, welche die Distanz zwischen zwei Bereichen identifiziert. Die Distanz zwischen zwei Bereichen ist basiert auf der geografischen Lage, welche mit den beiden Bereichen assoziiert ist (z. B. deren ungefähre geografischen Zentren) und kann auf eine Vielzahl von Art und Weisen (z. B. analog zu der Diskussion oben betreffend sphärische Distanzen, gerade Linien usw.) berechnet werden.
  • 3 illustriert eine exemplarische IP-Zuordnungstabelle 200. Die IP-Zuordnungstabelle 200 kann z. B. die Tabelle 130 von 2 sein. Wie in Tabelle 200 gezeigt, werden IP-Adressen 202 bestimmten Bereichen 204 zugeordnet. Der Wert X in den IP-Adressen 202 zeigt einen gültigen Ganzzahlwert (z. B. von 0 bis 255). Daher, wie in Tabelle 200 zu sehen, können einzelne IP-Adressen Bereichen zugeordnet werden oder Bereiche von IP-Adressen können Bereichen zugeordnet werden. Alternativ kann die IP-Zuordnungstabelle 200 „Von"- und „Bis"-Spalten beinhalten, um die Bereiche von IP-Adressen zu identifizieren.
  • Die IP-Zuordnungstabelle 200 beinhaltet ebenso eine Internet-Providerspalte 206. In manchen Situationen kann das Wettkampfsystem 104 Wissen über den Internet-Service-Provider ISP haben, der eine bestimmte IP-Adresse oder einen bestimmten Bereich von IP-Adressen vergibt, und in solchen Situationen ist diese Information in der Internet-Providerspalte 206 beinhaltet. Das Sortiermodul 128 kann dann diese Information bei dem Erzeugen von Näherungs-Maßen benutzen. In einer Implementierung nimmt das Sortiermodul 128 an, dass zwei Geräte, die in dem gleichen Bereich sind und deren IP-Adresse von dem gleichen ISP erhalten haben, sich näher sind als zwei Geräte, welche in dem gleichen Bereich sind aber deren IP-Adressen von unterschiedlichen ISPs stammen. Das Sortiermodul 128 passt dann die Näherungs-Maße an, wenn zwei Geräte in dem gleichen Bereich deren IP-Adressen von dem gleichen ISP erhalten haben, um eine größere Nähe zu reflektieren. Diese Anpassung kann ein fester Wert sein (z. B. eine Reduzierung des Näherungs-Maßes um 10) oder ein dynamischer Wert sein (z. B. die Reduktion des Näherungs-Maßes um 90 %).
  • Alternativ, in anderen Implementierungen, nimmt das Sortiermodul 128 an, dass zwei Geräte, welche die IP-Adressen von dem gleichen ISP erhalten haben, einander näher sind als zwei Geräte, welche die IP-Adressen von unterschiedlichen ISPs erhalten haben. Das Sortiermodul 128 passt dann die Näherungs-Maße an, wenn zwei Geräte die IP-Adressen von demselben ISP erhalten haben, um eine größere Annäherung widerzuspiegeln. Dieses Anpassen wird durch das Sortiermodul 128 gemacht, unabhängig, ob die beiden Geräte in dem gleichen Bereich sind und unabhängig davon, ob das Näherungs-Maß für die zwei Geräte unter Benutzung von Bereichen erzeugt wurde.
  • 4 illustriert eine exemplarische Näherungstabelle 250. Die Näherungstabelle 250 kann beispielsweise die Bereichs-Näherungstabelle 132 der 2 sein. Wie in Tabelle 250 gezeigt, werden zwei Bereichsspalten 252 und 254 benutzt und eine Distanzspalte 256, welche einen Wert beinhaltet, welcher die Distanz zwischen zwei Bereichen angibt. Diese Distanzen werden für relative Vergleiche bei dem Durchführen des Sortierens benutzt, wie hier beschrieben, so dass diese Distanzen jede Einheit haben können. Zum Beispiel können die Distanzen in Meilen oder Kilometern gemessen werden oder alternativ in anderen abstrakten oder willkürlichen Einheiten. Es soll angemerkt werden, dass der Speicherplatz reduziert werden kann (z. B. auf ungefähr die Hälfte) durch Ausnutzen des Vorteils der typischerweise symmetrischen Natur der Tabelle 250. Zum Beispiel ist die Distanz zwischen den Bereichen 2 und 3 die gleiche, unabhängig, welcher Bereich in Spalte 252 identifiziert wurde und welcher in Spalte 254 identifiziert wurde. Daher muss diese Differenz nur einmal gespeichert werden. In alternativen Ausführungsformen können unterschiedliche Netzwerk- oder Umgebungsvariablen bewirken, dass die Werte nicht symmetrisch sind. Zum Beispiel kann die Distanz von Bereich 2 zu Bereich 3 unterschiedlich sein von der Distanz von Bereich 3 nach Bereich 2. Wenn die Werte nicht symmetrisch sind, dann würden beide Differenzen (oder eine Indikation der beiden Differenzen) gespeichert.
  • Noch ein weiterer Weg, auf welchem die Näherungs-Maße für zwei Geräte erzeugt werden können, ist ein Hybridmodell, welches teilweise basiert auf geografischen Lagen, aber ebenso unterschiedliche Datentransferraten in Teilen des Netzwerkes mit einbezieht. Manche Netzwerke, das Internet beinhaltend, haben unterschiedliche Teilstücke, welche in der Lage sind, Daten mit unterschiedlichen Geschwindigkeiten zu übertragen. Zum Beispiel handhaben ein oder mehrere Internet-„Backbone"-Netzwerke die Hauptlast auf dem Internet und verwenden Hochgeschwindigkeitsübertragungswege. Daten können typischerweise zwischen zwei geografischen Orten, welche dicht zu einem Internet-„Backbone"-Netzwerk sind, schneller übertragen werden als zwischen geografischen Orten, die weiter entfernt sind von Internet-„Backbone"-Netzwerken.
  • Das Hybridmodell versucht, die Geschwindigkeitsunterschiede durch das Feststellen der Näherungs-Maße für zwei Geräte wie folgt zu berücksichtigen. Die geografische Distanz (z. B. sphärische Distanz oder Gerade-Linien-Distanz, wie zuvor diskutiert) zwischen jedem Gerät und dem nächstgelegenen geografischer Punkt, bei welchem Daten von einem Gerät zu einem Internet-„Backbone" übertragen werden können, werden identifiziert. Eine Backbone-Distanz zwischen diesen Punkten auf den Internet-„Backbone"-Netzwerken wird ebenso identifiziert. Diese beiden geografischen Distanzen (zwischen den Geräten und den Internet-„Backbone"-Netzwerken) werden dann zu der Backbone-Distanz addiert, um die Distanz zwischen den Geräten zu erhalten. In diesem Modell ist die Backbone-Distanz kleiner als die geografische Distanz (z. B. sphärische Distanz und Gerade-Linien-Distanz, wie zuvor diskutiert) zwischen den beiden Punkten wäre. Zum Beispiel kann die Backbone-Distanz zwischen zwei Punkten die Hälfte der geografischen Distanz zwischen den beiden Punkten sein.
  • Es sollte angemerkt werden, dass in Bezug auf all die Art und Weisen, in welchen die Näherungs-Maße für zwei Geräte erzeugt werden können, das Senden von Datenpaketen hin und zurück zwischen den beiden Geräten nicht notwendig ist. Die direkte Kommunikation zwischen den zwei Geräten ist nicht notwendig, um die Näherungs-Maße für zwei Geräte zu erzeugen. Zum Beispiel, weder müssen Testnachrichten zwischen den zwei Geräten gesendet werden noch ist die Benutzung von Protokollen, „Ping" beinhaltend, und Antwortpakete zwischen den beiden Geräten benötigt. Stattdessen wird das Näherungs-Maß von dem Wettkampfsystem erzeugt.
  • Ungeachtet wie das Näherungs-Maß berechnet wird, wird das berechnete Näherungs-Maß benutzt als Basis für das Sortieren des Satzes gefilterter Spielesitzungen (diejenigen Sitzungen, welche den Kriterien entsprechen, welche von dem anfragenden Gerät gegeben werden). Das berechnete Näherungs-Maß ist ein Sortierkriterium, welches benutzt werden kann und zusätzliche Sortierkriterien können bei dem Sortieren des Satzes von Spielesitzungen ebenso angewendet werden. Beispiele für solche zusätzlichen Sortierkriterien beinhalten: Verschieben der Spielesitzungen, welche die meisten Vakanzen (die größte Nummer von Benutzern, die noch teilnehmen können) an den Anfang des Satzes (oder alternativ an das Ende des Satzes), Verschieben dieser Spielesitzungen mit den meisten Spielern zu dem Ende des Satzes (oder alternativ an den Anfang des Satzes), Bevorzugen von älteren Spielesitzungen gegenüber neueren Spielesitzungen, Anordnen von Spielesitzungen basierend darauf, wie gut diese optionalen Suchkriterien, wie beispielsweise bevorzugter Spielstil oder Wettkampfpräferenzen usw, entsprechen.
  • Die zahlreichen Sortierkriterien können auf den Satz von Spielesitzungen auf eine Vielzahl von unterschiedlichen Reihenfolgen angewendet werden. In einer Implementierung, wenn eine kleine Anzahl von Bereichen (z. B. 6 Bereiche) vorhanden ist, wird das berechnete Näherungs-Maß als das erste Sortierkriterium angewendet und wird gefolgt von einem oder mehreren Kriterien. In einer anderen Implementierung, wenn es eine große Anzahl von Bereichen (z. B. 150 Bereiche gibt), wird das berechnete Näherungs-Maß als das letzte Sortierkriterium angewendet.
  • Zusätzlich, in manchen Ausführungsformen, können mehrere Schichten (oder Ebenen) von Bereichen benutzt werden. In solchen Ausführungsformen werden IP-Adressen zu einem bestimmten Bereich zugeordnet in jeder dieser Schichten. Diese unterschiedlichen Bereichsschichten können als unterschiedliche Sortierkriterien benutzt werden. Zum Beispiel, unter der Annahme, dass eine erste Bereichsschicht 6 Bereiche hat und eine zweite Bereichsschicht 150 Bereiche hat, kann die erste Bereichsschicht als ein erstes Sortierkriterium angewendet werden, dann ein oder mehrere andere Sortierkriterien wie zuvor beschrieben, und dann kann die zweite Bereichsschicht als das letzte Sortierkriterium angewendet werden.
  • 5 ist ein Flussdiagramm, welches einen exemplarischen Prozess 300 für das Speichern von Informationen, welche beim Erzeugen von Näherungs-Maßen für die Geräte benutzt wird, illustriert. Der Prozess 300 kann durchgeführt werden in Software, Firmware, Hardware oder aus Kombinationen davon.
  • Anfänglich ist die geografische Fläche, in welcher die Geräte existieren (z. B. die gesamte Welt, ein oder mehrere bestimmte Länder) in die gewünschte Anzahl von Bereichen eingeteilt (Vorgang 302) und jede IP-Adresse ist einem dieser Bereiche zugeordnet (Vorgang 304). Zusätzlich wird jede IP-Adresse, für welche der Provider der IP-Adresse bekannt ist, einem Internet-Providerwert zugewiesen (306). Dieses Zuweisen oder Zuordnen wird gepflegt (Vorgang 308). Zum Beispiel werden diese Zuweisungen oder Zuordnungen in einer Tabelle 200 der 3 geführt.
  • 6 ist ein Flussdiagramm, welche einen exemplarischen Prozess 340 illustriert zum Abgleichen und Sortieren von Spielesitzungen. In einer Implementierung wird der Prozess 340 durchgeführt von dem Wettkampfsystem 104 der 2. Prozess 340 kann in Software, Firmware, Hardware oder Kombinationen hieraus durchgeführt werden.
  • Anfänglich werden die Bereiche, denen Hosts einer Spielesitzung zugewiesen sind, gepflegt (d.h. in einer Liste geführt) (Vorgang 342). Der Bereich, dem das anfordernde Gerät zugewiesen ist, wird identifiziert (Vorgang 344) und die Spielesitzungen, die ein Filterkriterium, geliefert durch das anfordernde Geräte, werden identifiziert (Vorgang 346). Ein Satz von identifizierten Spielesitzungen wird dann sortiert gemäß den Distanzen zwischen den Bereichen, denen der Host und das anfordernde Gerät zugewiesen sind (Vorgang 348). Dieser sortierte Satz von identifizierten Spielesitzungen wird dann an das anfordernde Gerät zurückgesendet (Vorgang 350).
  • Alternativ, anstelle des Sortierens des Satzes von identifizierten Spielesitzungen in dem Wettkampfsystem 104, kann die Information, welche zum Sortieren des Satzes (z. B. die Näherungs-Maße) zu dem anfordernden Gerät übertragen werden. Das anfordernde Gerät kann dann das Sortieren unter Benutzung der Information, welche es von dem Wettkampfsystem 104 empfangen hat, durchführen.
  • Es sollte angemerkt werden, dass die Vorgänge der 5 und 6 zum Zwecke einer leichteren Erklärung in einer bestimmten Reihenfolge illustriert wurden und dass diese Vorgänge in anderen Reihenfolgen durchgeführt werden können. Es sollte ebenso bemerkt werden, dass zwei oder mehrere Vorgänge gleichzeitig durchgeführt werden können. Zum Beispiel können in 5 der Vorgang 306 vor dem Vorgang 304, nach dem Vorgang 304 oder gleichzeitig mit dem Vorgang 304 durchgeführt werden. In einem anderen Beispiel, in 6, kann der Vorgang 346 vor dem Vorgang 344, nach dem Vorgang 344 oder gleichzeitig mit dem Vorgang 344 durchgeführt werden.
  • 7 illustriert eine allgemeine Computerumgebung 500, welche benutzt werden kann, um die zuvor beschriebenen Techniken zu implementieren. Die Computerumgebung 500 ist nur ein Beispiel einer Computerumgebung und es ist nicht beabsichtigt, eine Beschränkung für den Rahmen der Benutzung oder Funktionalität der Computer- und Netzwerkarchitekturen vorzuschlagen. Ebenso sollte die Computerumgebung 500 nicht interpretiert werden als dass dieses eine Abhängigkeit oder eine Erfordernis hätte, wel che mit einer Kombination von den illustrierten Komponenten in der exemplarischen Computerumgebung 500 verbunden wäre.
  • Die Computerumgebung 500 beinhaltet ein Mehrzweck-Computergerät in der Form eines Computers 502. Computer 502 kann z. B. ein Computergerät 102 der 1 sein oder ein Wettkampfsystem 104 der 1 oder 2. Die Komponenten des Computers 502 können beinhalten, sind aber nicht beschränkt auf, ein oder mehrere Prozessoren oder Prozessoreinheiten 504 (optional beinhaltend einen kryptografischen Prozessor oder Co-Prozessor oder einen Sicherheitsprozessor oder Co-Prozessor), ein Systemspeicher 506 und einen Systembus 508, welcher zahlreiche Systemkomponenten beinhaltend den Prozessor 504 an den Systemspeicher 506 koppelt.
  • Der Systembus 508 repräsentiert ein oder mehrere von vielen Typen von Busstrukturen, beinhaltend einen Speicherbus oder eine Speichersteuerung, einen Peripheriebus, einen beschleunigten Grafikport (AGP) und einen Prozessor oder Local Bus, welcher eine von einer Vielzahl von Busarchitekturen benutzt. Als ein Beispiel können solche Architekturen beinhalten einen Industry Standard Architecture (ISA)-Bus, einen Micro Channel Architecture (MCA)-Bus, einen Enhanced ISA (EISA)-Bus, einen Video Electronics Standards Association (VESA)-Lokalbus und einen Peripheral Component Interconnects (OPCI)-Bus, der auch als Mezzanine-Bus bezeichnet wird.
  • Der Computer 502 beinhaltet typischerweise von computerlesbaren Medien. Solche Medien können jegliche verfügbare Medien sein, welche durch einen Computer 502 zugreifbar sind und beinhalten flüchtige und nichtflüchtige Medien, entnehmbare und nicht entnehmbare Medien.
  • Der Systemspeicher 506 beinhaltet computerlesbare Medien in der Form von flüchtigen Speichern, wie beispielsweise Random Access Memory (RAM) 510, und/oder nichtflüchtige Speicher sowie Read Only Memory (ROM) 512. Ein Basic Input/Output-System (BI-OS) 514, beinhaltend die Grundroutinen, die den Übertrag von Informationen zwischen Elementen innerhalb des Computers 502 vereinfachen, wie beispielsweise während der Startphase, ist im ROM 512 gespeichert. Das RAM 510 beinhaltet typischerweise Daten und/oder Programmmodule, auf welche sofort von der Prozessoreinheit 504 zugegriffen werden kann und/oder welche mit der Prozessoreinheit 504 zusammenarbeiten.
  • Der Computer 502 kann ebenso andere entnehmbare/nicht entnehmbare, flüchtige/nichtflüchtige Computerspeichermedien beinhalten. Als ein Beispiel illustriert 7 ein Festplattenlaufwerk 516 zum Lesen und Schreiben auf ein nicht entnehmbares, nichtflüchtiges magnetisches Medium (nicht gezeigt), ein Magnetscheibenlaufwerk 518 für das Lesen und Schreiben einer entnehmbaren, nichtflüchtigen Magnetscheibe 520 (z. B. eine Floppy Disk), und ein optisches Laufwerk 522 für das Lesen und Schreiben einer entnehmbaren, nichtflüchtigen optischen Scheibe 524, wie beispielsweise ein CD-ROM, DVD-ROM oder ein anderes optisches Medium. Das Festplattenlaufwerk 516, Magnetplattenlaufwerk 518 und optisches Laufwerk 522 sind jeweils mit dem Systembus 508 mittels einer oder mehrerer Daten-Medien-Schnittstellen 526 verbunden. Alternativ können das Festplattenlaufwerk 516, Magnetplattenlaufwerk 518 und optisches Laufwerk 522 mit dem Systembus 508 durch ein oder mehrere Schnittstellen verbunden sein (nicht gezeigt).
  • Die Plattenlaufwerke und deren zugehörige computerlesbare Medien bieten die nichtflüchtige Speicherung von computerlesbaren Instruktionen, Datenstrukturen, Programmmodulen und anderen Daten für den Computer 502. Obwohl das Beispiel eine Festplatte 516, eine entnehmbare Magnetplatte 520 und eine entnehmbare optische Platte 524 zeigt, ist klar, dass auch andere Typen von computerlesbaren Medien, welche Daten speichern können, auf welche durch einen Computer zugegriffen werden kann, wie beispielsweise Magnetkassetten oder andere magnetische Speichervorrichtungen, Flash-Speicherkarten, CD-ROM, DVDs oder andere optische Speicher, RAM-Speicher, ROM-Speicher, elektrisch löschbare programmierbare Nur-Lese-Speicher (EEPROM) und Ähnliches ebenso benutzt werden können, um das exemplarische Computersystem und Umgebung zu implementieren.
  • Eine Anzahl von Programmmodulen können auf der Festplatte 516, Magnetplatte 520, optische Platte 524, ROM 512 und/oder RAM 510 gespeichert werden, beinhaltend z. B. ein Betriebssystem 526, ein oder mehrere Anwendungsprogramme 528, andere Programmmodule 530 und Programmdaten 532. Jedes dieser Betriebssysteme 526, ein oder mehrere Anwendungsprogramme 528, andere Programmmodule 530 und Programmdaten 532 (oder auch Kombinationen hiervon) können ein verteiltes Dateisystem unterstützen.
  • Ein Benutzer kann Kommandos und Informationen in den Computer 502 über Eingabegeräte wie beispielsweise eine Tastatur 534 und ein Zeigegerät 536 (z. B. eine Maus) eingeben. Andere Eingabegeräte 538 (nicht im Speziellen gezeigt) können ein Mikrofon, Joystick, Game Pad, Satellitenschüssel, serielle Schnittstelle, Scanner und/oder Ähnliches beinhalten. Diese und andere Eingabegeräte sind mit der Prozessoreinheit 504 über Eingabe-/Ausgabeschnittstellen 540 verbunden, welche an den Systembus 508 gekoppelt sind, können aber auch über andere Schnittstellen und Busstrukturen verbunden sein, wie beispielsweise ein Parallel-Port, Spieleanschluss (Game-Port) oder einen Universal Serial Bus (USB).
  • Ein Monitor 542 oder andere Typen von Anzeigevorrichtungen können ebenso an den Systembus 508 über eine Schnittstelle wie beispielsweise einen Videoadapter 544 verbunden sein. Zusätzlich zu dem Monitor 542 können andere Ausgabeperipheriegeräte Komponenten beinhalten wie z. B. Lautsprecher (nicht gezeigt) und einen Drucker 546, welcher an den Computer 502 über Eingabe-/Ausgabeschnittstellen (E/A-Schnittstellen) 540 angeschlossen ist.
  • Der Computer 502 kann in einer Netzwerkumgebung unter Benutzung von logischen Verbindungen zu einem oder mehreren entfernten Computern, wie beispielsweise ein entferntes Computergerät 548, operieren. Als ein Beispiel kann das entfernte Computergerät 548 ein Personal Computer, tragbarer Computer, ein Server, ein Router, ein Netzwerkcomputer, ein Peer Device oder andere bekannte Netzwerkknoten, Spielekonsolen und Ähnliches sein. Das entfernte Computergerät 548 ist gezeigt als ein tragbarer Computer, welcher viele oder alle der Elemente und Merkmale, die in Bezug auf den Computer 502 beschrieben wurden beinhalten kann.
  • Die logischen Verbindungen zwischen dem Computer 502 und dem entfernten Computer 548 sind als ein Local Area Network (LAN) 550 gezeigt und ein allgemeines Wide Area Network (WAN) 552. Solche Netzwerkumgebungen sind zu finden in Büros, Unternehmenscomputernetzwerken, Intranets und dem Internet.
  • Der Computer 502 ist mit einem lokalen Netzwerk 550 über eine Netzwerkschnittstelle oder Adapter 554 verbunden, wenn dieser in einer LAN-Netzwerkumgebung implementiert ist. Wenn dieser in einer WAN-Netzwerkumgebung implementiert ist, beinhaltet der Computer 502 typischerweise ein Modem 556 und andere Mittel für das Errichten von Kommunikation über das weite Netzwerk 552. Das Modem 556, welches intern oder extern ausgeführt sein kann, kann mit dem Systembus 508 über Eingabe-/Ausgabeschnittstellen oder andere angemessene Mechanismen verbunden sein. Es versteht sich, dass die gezeigten Netzwerkverbindungen exemplarisch sind und dass andere Mittel für das Erstellen von Kommunikationsverbindungen zwischen den Computern 502 und 548 angewendet können.
  • In einer Netzwerkumgebung, wie mit der Computerumgebung 500 illustriert, können Programmmodule, welche relativ zu dem Computer 502 gezeigt wurden, oder Teilen hiervon, in einer entfernten Speichervorrichtung gespeichert werden. Als ein Beispiel befinden sich entfernte Anwendungsprogramme 558 auf einem Speichergerät des entfernten Computers 548. Aus illustrativen Gründen werden Anwendungsprogramme und andere ausführbare Programmkomponenten, die das Betriebssystem als diskrete Blöcke zeigt, obwohl es sich versteht, dass solche Programme und Komponenten sich zu unterschiedlichen Zeiten in unterschiedlichen Speicherkomponenten des Computergerätes 502 befinden und von den Datenprozessoren des Computers ausgeführt werden.
  • Zahlreiche Module und Techniken können hier in dem allgemeinen Kontext von computerausführbaren Instruktionen beschrieben sein, wie beispielsweise Programmmodulen welche durch einen oder mehrere Computer oder andere Geräte ausgeführt werden. Im Allgemeinen beinhalten Programmmodule Routinen, Programme, Objekte, Komponenten, Datenstrukturen usw., welche bestimmte Aufgaben ausführen oder bestimmte abstrakte Datentypen implementieren. Typischerweise kann die Funktionalität des Programmmodules, wie gewünscht in zahlreichen Ausführungsformen, kombiniert oder verteilt werden.
  • Eine Implementation dieser Module und Techniken kann über eine Form von computerlesbaren Medien gespeichert oder übertragen werden. Computerlesbare Medien können jede verfügbare Medien sein, auf welche durch einen Computer zugegriffen werden kann. Als ein Beispiel, nicht als Beschränkung, beinhalten computerlesbare Medien "Computerspeichermedien" und Kommunikationsmedien".
  • Computerspeichermedien beinhalten flüchtige und nichtflüchtige, entnehmbare und nicht entnehmbare Medien, welche implementiert sind in einer Methode oder Technologie für die Speicherung von Informationen wie beispielsweise computerlesbare Instruktionen, Datenstrukturen, Programmmodulen oder anderen Daten. Computerspeichermedien beinhalten, aber sind nicht beschränkt auf, RAM, ROM, EEPROM, Flash-Speicher und andere Speichertechnologien, CD-ROM, Digital Versatile Disks (DVD) oder andere optische Speicher, Magnetkassetten, magnetisches Band, Magnetscheibenspeicher oder andere magnetische Speichervorrichtungen oder jedes andere Medium, welches benutzt werden kann, um gewünschte Informationen zu speichern und auf welche durch einen Computer zugegriffen werden kann.
  • Kommunikationsmedien verkörpern typischerweise computerlesbare Instruktionen, Datenstrukturen, Programmmodule oder andere Daten in einem modulierten Datensignal sowie eine Trägerwelle oder einen anderen Transportmechanismus. Kommunikationsmedien beinhalten ebenso Informationsträgermedien. Der Ausdruck „moduliertes Datensignal" bedeutet ein Signal, bei dem ein oder mehrere seiner Charakteristiken in einer Weise gesetzt oder verändert wird, so dass Informationen in das Signal codiert werden. Als ein Beispiel, aber nicht als Beschränkung, beinhalten Kommunikationsmedien auch Kabelmedien sowie ein Kabelnetzwerk oder eine direkt verkabelte Verbindung oder ein kabelloses Medium sowie ein akustisches, Funk-, infrarotes oder anderes kabelloses Medium. Kombinationen der zuvor erwähnten Medien sind ebenso in den Bereich der computerlesbaren Medien eingeschlossen.
  • 8 zeigt funktionale Komponenten einer Spielekonsole 600 im Detail Die Spielekonsole 600 kann z. B. als ein Computergerät 102 der 1 benutzt werden. Die Spielekonsole 600 hat eine zentrale Prozessoreinheit (CPU) 601 und eine Speichersteuerungsvorrichtung 602, welche den Prozessorzugriff auf zahlreiche Speichertypen beinhaltend ein Flash-ROM (Read Only Memory) 604, ein RAM (Random Access Memory) 606, ein Festplattenlaufwerk 608 und ein tragbares Medienlaufwerk 609 ermöglicht. Die CPU 601 ist ausgestattet mit einem Level 1 Cache 610 und einem Level 2 Cache 612 zum zeitweiligen Speichern von Daten und dadurch zum Reduzieren der Zahl von Speicherzugriffzyklen, hierbei wird die Berechnungsgeschwindigkeit und Durchsatz gesteigert.
  • Die CPU 601, Speichersteuerungsvorrichtung 602 und zahlreiche Speichergeräte sind über einen oder mehrere Busse verbunden, beinhaltend den seriellen oder Parallel-Bus, einen Speicherbus, einen Peripheriebus und einen Prozessor- oder lokalen Bus unter der Benutzung einer Vielzahl von Bus-Architekturen. Als ein Beispiel beinhalten solche Architekturen einen Industry Standard Architecture (ISA)-Bus, einen Micro Channel ARchitecture (MCA)-Bus, einen Enhanced ISA (EISA)-Bus, einen Video Electronics Standards Association (VESA)-Lokalbus und einen Peripheral Component Interconnects (PCI)-Bus, auch bekannt als Mezzanine-Bus.
  • Als eine Implementierung sind CPU 601, Speichersteuerungsvorrichtung 602, ROM 604 und RAM 606 integriert in ein allgemeines Modul 614. In dieser Implementierung ist ROM 604 konfiguriert als ein Flash-ROM, welches mit der Speichersteuerung 602 über einen PCI (Peripheral Component Interconnect)-Bus und einen ROM-Bus (beide nicht gezeigt) verbunden ist. Das RAM 606 ist konfiguriert als ein mehrfaches DDR SDRAM (Double Data Rate Synchronous Dynamic RAM), welche unabhängig über getrennte Busse (nicht gezeigt) durch die Speichersteuerungsvorrichtung 602 gesteuert sind. Das Festplattenlaufwerk 608 und tragbare Medienlaufwerke 609 sind mit der Speichersteuerungsvorrichtung über den PCI-Bus und einen ATA (AT Attachment)-Bus 616 verbunden.
  • Eine 3D-Grafikprozessoreinheit 620 und ein Videocodierer 622 bilden eine Videobearbeitungspipeline für Hochgeschwindigkeits- und hoch auflösende Grafikverarbeitung. Daten werden von der grafischen Prozessoreinheit 620 zu dem Videocodierer 622 über einen digitalen Videobus (nicht gezeigt) transportiert. Eine Audioprozessoreinheit 624 und ein Audiocodec (Coder/Decoder) 626 bilden eine entsprechende Audiobearbeitungspipeline mit High Fidelity- und Stereobearbeitung. Die Audiodaten werden zwischen der Audioprozessoreinheit 624 und dem Audiocodec 626 über eine Kommunikationsverbindung (nicht gezeigt) transportiert. Die Video- und Audiobearbeitungspipelines geben Daten an einen A/V(Audio/Video)Port 628 für das Übertragen an einen Fernseher oder eine andere Anzeigevorrichtung aus. In der gezeigten Implementierung sind die Video- und Audiobearbeitungskomponenten 620 bis 628 auf dem Modul 614 angebracht.
  • Ebenso in dem Modul 614 implementiert ist eine USB-Host-Steuervorrichtung 630 und eine Netzwerkschnittstelle 632. Die USB-Host-Steuervorrichtung 630 ist an die CPU 601 und an die Speichersteuerung 602 über einen Bus (z. B. PCI-Bus) gekoppelt und dient als ein Host für die Peripheriesteuerungseinheiten 636(1) bis 636(4). Die Netzwerkschnittstelle 232 ermöglicht den Zugriff auf ein Netzwerk (z. B. Internet, Heimnetzwerk usw.) und kann eins von einer Vielzahl von kabelgebundenen oder kabellosen Schnitt stellenkomponenten sein beinhaltend eine Ethernet-Karte, ein Modem, ein Bluetooth-Modul, ein Kabelmodem und Ähnliches.
  • Die Spielekonsole 600 hat zwei duale Steuerungsunterstützungsunterbaugruppen 640(1) und 640(2), wobei jede Unterbaugruppe zwei Spielesteuerungen 636(1) bis 636(4) unterstützt. Eine Frontplatten-Eingabe/-Ausgabe-Unterbaugruppe 642 unterstützt die Funktionalität eines Einschaltknopfes 631 und eines Medienauswurfknopfes 633 sowie LEDs (Light Emitting Diodes, Leuchtdioden) oder andere Anzeiger, welche an der äußeren Oberfläche der Spielekonsole zu sehen sind. Die Unterbaugruppen 640(1), 640(2) und 642 sind an das Modul 614 über ein oder mehrere Kabelvorrichtungen 644 gekoppelt.
  • Acht Speichereinheiten 634(1) bis 634(8) sind als verbindbar mit den vier Steuerungen 636(1) bis 636(4) gezeigt, d. h. zwei Speichereinheiten für jede Steuerung. Jede Speichereinheit 634 bietet zusätzliche Speicherkapazität, auf welcher Spiele, Spieleparameter oder andere Daten gespeichert werden können. Wenn diese in eine Steuerungsvorrichtung eingeführt werden, kann auf die Speichereinheit 634 durch die Speichersteuerung 602 zugegriffen werden.
  • Ein System-Stromversorgungsmodul 650 bietet die elektrische Versorgung der Komponenten der Spielekonsole 600. Ein Lüfter 652 kühlt die Schaltkreise innerhalb der Spielekonsole 600.
  • Eine Konsole-Benutzerschnittstellen-(UI)-Applikation 660 ist auf der Festplatte 608 gespeichert. Wenn die Spielekonsole eingeschaltet wird, werden zahlreiche Teile der Konsolenapplikation 660 in das RAM 606 oder andere Speicher 610, 612 geladen und durch die CPU 601 ausgeführt. Die Konsolenanwendungen 660 präsentieren eine grafische Benutzerschnittstelle, die ein konsistentes Benutzererlebnis bietet, wenn zu unterschiedlichen Medientypen, welche auf der Spielekonsole verfügbar sind, navigiert wird.
  • Die Spielekonsole 600 implementiert eine Kryptografievorrichtung, um allgemeine kryptografische Funktionen wie das Verschlüsseln, Entschlüsseln, Authentifizieren, digitales Signieren, Hashing und Ähnliches durchzuführen. Die Kryptografievorrichtung kann als ein Teil der CPU 601 ausgeführt sein oder als Software, welche auf dem Festplattenlaufwerk 608 gespeichert ist, welche auf der CPU ausgeführt wird, so dass die CPU kon figuriert ist, die kryptografischen Funktionen auszuführen. Alternativ kann ein kryptografischer Prozessor oder Co-Prozessor, welcher ausgestaltet ist, um die kryptografischen Funktionen durchzuführen, in der Spielekonsole 600 beinhaltet sein.
  • Die Spielekonsole 600 kann als ein "Stand alone"-System agieren durch das einfache Verbinden des Systems mit einem Fernseher oder einer anderen Anzeige. In diesem "Stand alone"-Modus ermöglicht es die Spielekonsole 600 ein oder mehreren Spielern Spiele zu spielen, Filme zu sehen oder Musik zu hören. Jedoch mit der Integration von Breitbandkonnektivität, welche über die Netzwerkschnittstelle 632 zur Verfügung steht, kann die Spielekonsole 600 des Weiteren als ein Teilnehmer bei einem Online-Spiel, wie zuvor diskutiert, betrieben werden.
  • Obwohl die Beschreibung eine Sprache benutzt, welche für strukturelle Merkmale oder methodologische Vorgänge spezifisch ist, versteht es sich, dass die Erfindung wie in den angefügten Ansprüchen definiert, nicht auf spezifische Merkmale oder Vorgänge, wie zuvor beschrieben, beschränkt ist. Vielmehr sind die spezifischen Merkmale und Vorgänge als exemplarische Formen einer Implementierung der Erfindung offenbart.

Claims (43)

  1. Ein Verfahren, beinhaltend: Empfangen einer Anfrage von einem EDV-Gerät für eine Identifizierung einer oder mehrerer Online-Spielesitzungen, die eine oder mehrere Kriterien erfüllen; Identifizieren (346) einer Vielzahl von Online-Spielesitzungen, die ein oder mehrere Kriterien erfüllen; Bestimmen für jede der Vielzahl der Online-Spielesitzungen, eine Distanz, welche eine geografische Distanz zwischen dem EDV-Gerät und einem anderen EDV-Gerät, welches Teil der Online-Spielsitzung ist; Auswählen einer Reihenfolge, in welcher die Vielzahl von Online-Spielesitzungen an dem EDV-Gerät präsentiert werden sollen, worin die Vielzahl von Online-Spielesitzungen geordnet ist auf mindestens den bestimmten Distanzen; und Zurückgeben (350) von Identifikatoren der Vielzahl von Online-Spielesitzungen an das EDV-Gerät für die Präsentation an dem EDV-Gerät in der gewählten Reihenfolge.
  2. Ein Verfahren wie in Anspruch 1, wobei für jede der Vielzahl von Online-Spielesitzungen der Schritt des Bestimmens einer Distanz unter Benutzung des anderen EDV-Geräts durchgeführt wird und das Benutzen eines Host der Online-Spielsitzung beinhaltet.
  3. Ein Verfahren wie in Anspruch 1, worin das Bestimmen beinhaltet dass die Distanz unabhängig davon, dass eines der EDV-Geräte direkt mit einem anderen kommuniziert, bestimmt wird.
  4. Ein Verfahren wie in Anspruch 1, worin Bestimmen der Distanz zwischen dem EDV-Gerät und einem anderen EDV-Gerät beinhaltet: Identifizieren einer ersten Gruppe, der das EDV-Gerät zugeordnet ist; Identifizieren einer zweiten Gruppe, der das andere EDV-Gerät zugewiesen ist; und Identifizieren einer Distanz zwischen der ersten und der zweiten Gruppe.
  5. Ein Verfahren, wie in Anspruch 4, wobei Identifizieren der Distanz zwischen der ersten und zweiten Gruppe das Nachschlagen der Distanz in einer Tabelle beinhaltet.
  6. Ein Verfahren, wie in Anspruch 1, wobei die Distanz zwischen der ersten Gruppe und der zweiten Gruppe null ist, wenn die erste Gruppe und die zweite Gruppe die gleiche Gruppe ist.
  7. Ein Verfahren wie in Anspruch 4, wobei: das Bestimmen weiterhin das Identifizieren eines Internet-Providers für das EDV-Gerät und eines Internet-Providers für das andere EDV-Gerät beinhaltet; und wenn die erste und zweite Gruppe die gleiche Gruppe ist, dann beinhaltet das Auswählen weiterhin das Auswählen einer Reihenfolge, basierend darauf, ob der Internet-Provider des EDV-Geräts der gleiche ist wie der Internet-Provider des anderen EDV-Geräts.
  8. Ein Verfahren wie in Anspruch 1, wobei: das Bestimmen weiterhin das Identifizieren eines Internet-Providers für das EDV-Gerät und eines Internet-Providers für das andere EDV-Gerät beinhaltet; und das Auswählen weiterhin das Auswählen einer Reihenfolge beinhaltet, basierend darauf, ob der Internet-Provider für das EDV-Gerät der gleiche ist wie der Internet-Provider des anderen EDV-Geräts.
  9. Ein Verfahren wie in Anspruch 1, wobei: Bestimmen der Distanz zwischen dem EDV-Gerät und dem anderen EDV-Gerät beinhaltet: Identifizieren einer ersten Gruppe einer ersten Ebene, der das EDV-Gerät zugeordnet ist, und einer zweiten Gruppe einer zweiten Ebene, der das EDV-Gerät zugewiesen ist; Identifizieren einer dritten Gruppe der ersten Ebene, der das andere EDV-Gerät zugewiesen ist und einer vierten Gruppe der zweiten Ebene, der das andere EDV-Gerät zugewiesen ist; Identifizieren einer ersten Distanz zwischen der ersten und dritten Gruppe; und Identifizieren einer zweiten Distanz zwischen der zweiten und vierten Gruppe; und das Auswählen basiert weiterhin auf der ersten Distanz und der zweiten Distanz.
  10. Ein Verfahren wie in Anspruch 1, wobei das Bestimmen der Distanz zwischen dem EDV-Gerät und dem anderen EDV-Gerät beinhaltet: Identifizieren von Längen- und Breitengraden einer geografischen Lage des EDV-Geräts; Identifizieren von Längen- und Breitengraden einer geografischen Lage des anderen EDV-Geräts; und Bestimmen einer Differenz zwischen den Längen- und Breitengraden einer geografischen Lage des EDV-Gerätes und der Längen- und Breitengrade einer geografischen Lage des andere EDV-Geräts.
  11. Ein Verfahren wie in Anspruch 1, wobei Bestimmen der Distanz zwischen dem EDV-Gerät und dem anderen EDV-Gerät die Berücksichtigung unterschiedlicher Datenübertragungsraten in unterschiedlichen Teilen eines Netzwerkes, über welches die Kommunikation zwischen dem EDV-Gerät und dem anderen EDV-Gerät stattfindet, beinhaltet.
  12. Ein Verfahren wie in Anspruch 1, wobei Bestimmen der Distanz zwischen dem EDV-Gerät und dem anderen EDV-Gerät die Berücksichtigung unterschiedlicher Datenübertragungsraten in unterschiedlichen Teilen eines Netzwerks, beinhaltend das Internet, über welches die Kommunikation zwischen dem EDV-Gerät und dem anderen EDV-Gerät stattfindet, beinhaltet.
  13. Ein Verfahren wie in Anspruch 1, wobei das Verfahren durchgeführt wird unter Benutzung einer ersten Spielkonsole als das EDV-Gerät und unter Benutzung einer zweiten Spielekonsole als das andere EDV-Gerät.
  14. Ein Verfahren wie in Anspruch 1, wobei das Verfahren implementiert ist unter Benutzung eines Wettkampfsystems, welches von dem EDV-Gerät und dem anderen EDV-Gerät getrennt ist.
  15. Ein Verfahren wie in Anspruch 1, wobei die eine oder mehrere Online-Spielesitzungen kurzlebige Spielesitzungen beinhalten.
  16. Ein Verfahren wie in Anspruch 1, wobei die eine oder mehrere Online-Spielesitzungen andauernde Spielesitzungen beinhalten.
  17. Ein Verfahren wie in Anspruch 1, wobei: der Schritt des Identifizierens einer Vielzahl von Online-Spielesitzungen beinhaltet, dass eine der Vielzahl von EDV-Geräten Teil einer jeden Online-Spielesitzung ist.
  18. Ein Verfahren wie in Anspruch 17, wobei die Distanzen weiterhin basieren auf unterschiedlichen Datenübertragungsraten in unterschiedlichen Teilen eines Netz werkes, über welches die Kommunikation zwischen der Spielekonsole und der Vielzahl von EDV-Geräten stattfindet.
  19. Ein Verfahren wie in Anspruch 17, wobei die Distanzen berechnet werden abhängig von Längengrad und Breitengrad von geografischen Lagen der Spielekonsole und der Vielzahl von EDV-Geräten.
  20. Ein Verfahren wie in Anspruch 17, wobei die Distanzen in einer Tabelle geführt werden.
  21. Ein Verfahren wie in Anspruch 17, wobei das Ordnen weiterhin auf einem Internet-Provider der Spielekonsole und Internet-Providern einer jeden der Vielzahl von EDV-Geräten basiert.
  22. Ein Verfahren wie in Anspruch 17, wobei die Vielzahl von Online-Spielesitzungen andauernde Spielesitzungen beinhalten.
  23. Ein Verfahren wie in Anspruch 17, wobei die Vielzahl von Online-Spielesitzungen beinhaltet Spielesitzungen, für welche kein EDV-Gerät derzeitig an einer individuellen Spielteilnahmesitzung der Spielesitzung teilnimmt.
  24. Ein oder mehrere computerlesbare Medien, auf denen eine Vielzahl von Anweisungen gespeichert sind welche, wenn sie durch ein oder mehrere Prozessoren ausgeführt werden, die ein oder mehrere Prozessoren veranlassen zu: Führen einer Aufzeichnung von Distanzen, welche geografische Distanzen zwischen Gruppen von Netzwerkadressen sind; und Auswählen einer Reihenfolge für Online-Spielesitzungen, wobei die Online-Spielesitzungen basierend auf zumindest den Distanzen geordnet sind, welche an ein EDV-Gerät zurückzuführen ist, welches die Information betreffend der derzeitigen Online-Spielesitzungen anfragt.
  25. Ein oder mehrere computerlesbare Medien wie in Anspruch 24, wobei die Distanzen zwischen Gruppen von Netzwerkadressen weiterhin basieren auf unter schiedlichen Datenübertragungsraten in unterschiedlichen Teilen eines Netzwerkes, über welches die Kommunikation zwischen den Geräten stattfindet, denen die Netzwerkadressen zugeordnet sind.
  26. Ein oder mehrere computerlesbare Medien wie in Anspruch 24, wobei die Distanzen zwischen Gruppen von Netzwerkadressen in Abhängigkeit von Längengrad und Breitengrad von geografischen Lagen der Geräte, denen die Netzwerkadressen zugeordnet sind, berechnet werden.
  27. Ein oder mehrere computerlesbare Medien wie in Anspruch 24, wobei die Aufzeichnung eine Tabelle beinhaltet.
  28. Ein oder mehrere computerlesbare Medien wie in Anspruch 24, wobei die Anweisungen die ein oder mehrere Prozessoren weiterhin veranlassen zu: Führen einer Aufzeichnung von Internet-Providern der Netzwerkadressen; und Auswählen der Ordnung weiterhin basiert auf der Aufzeichnung der Distanzen und der Aufzeichnung der Internet-Provider.
  29. Ein oder mehrere computerlesbare Medien wie in Anspruch 24, wobei die Online-Spielesitzungen beinhalten ein oder mehrere kurzlebige Spielesitzungen und andauernde Spielesitzungen.
  30. Ein oder mehrere computerlesbare Medien wie in Anspruch 24, wobei die Anweisungen die ein oder mehrere Prozessoren veranlassen zu: Erhalten, von einem Wettkampfdienst über ein Netzwerk, eine Liste von mehreren Online-Spielesitzungen an denen teilgenommen werden kann; und Präsentieren von Identifikatoren an einen Benutzer, der mehreren Online-Spielesitzungen in einer Reihenfolge, welche auf zumindest der Distanz basiert, welche eine geografische Distanz zwischen den ein oder mehreren Prozessoren und jeder der Vielzahl von EDV-Geräten, die Teil der mehreren Online-Spielesitzungen sind.
  31. Ein oder mehrere computerlesbare Medien wie in Anspruch 30, wobei die Distanzen weiterhin auf unterschiedlichen Datenübertragungsraten in unterschiedlichen Teilen des Netzwerks basieren.
  32. Ein oder mehrere computerlesbare Medien wie in Anspruch 30, worin die Distanzen in Abhängigkeit von Längengrad und Breitengrad von den ein oder mehreren Prozessoren und der Vielzahl von EDV-Geräten berechnet werden.
  33. Ein oder mehrere computerlesbare Medien wie in Anspruch 30, worin die Reihenfolge weiterhin auf den Internet-Providern von jedem der Vielzahl von EDV-Geräten basiert.
  34. Ein oder mehrere computerlesbare Medien wie in Anspruch 30, wobei die mehreren Online-Spielesitzungen ein oder mehrere kurzlebige Spielesitzungen oder andauernde Spielesitzungen beinhalten.
  35. Ein System, beinhaltend: eine Schnittstelle, welche die Kommunikation mit einem Netzwerk ermöglicht; und eine Bearbeitungseinheit für: Anfragen von Information von einem Wettkampfdienst, betreffend derzeitige Online-Spielesitzungen, wobei der Wettkampfdienst gekoppelt ist an das System über das Netzwerk; Empfangen, von dem Wettkampfdienst, eines Hinweises auf eine Vielzahl von derzeitigen Online-Spielesitzungen; und Präsentieren mindestens einer Teilmenge der Vielzahl von derzeitigen Online-Spielesitzungen in einer Reihenfolge, die zumindest auf Distanzen basiert, wobei die Distanzen geografische Distanzen zwischen dem System und anderen Geräten, welche Teil der Vielzahl von derzeitigen Online-Spielesitzungen sind, sind.
  36. Ein System wie in Anspruch 35, wobei das System eine Spielekonsole beinhaltet.
  37. Ein System wie in Anspruch 35, wobei das System eine Anzeige beinhaltet und wobei der Prozessor die Teilmenge über die Anzeige präsentiert.
  38. Ein System wie in Anspruch 35, wobei die Bearbeitungseinheit weiterhin die Reihenfolge der Vielzahl von derzeitigen Online-Spielesitzungen von dem Wettkampfdienst empfängt.
  39. Ein System wie in Anspruch 35, wobei das Netzwerk das Internet beinhaltet.
  40. Ein System wie in Anspruch 35, wobei die Distanzen weiterhin auf unterschiedlichen Datenübertragungsraten in unterschiedlichen Teilen des Netzwerks basieren.
  41. Ein System wie in Anspruch 35, wobei die Distanzen berechnet werden in Abhängigkeit von Längengrad und Breitengrad der geografischen Lagen des Systems und der anderen Geräte.
  42. Ein System wie in Anspruch 35, wobei die Reihenfolge weiterhin auf einem Internet-Provider des Systems und Internet-Providern eines jeden der anderen Geräte basiert.
  43. Ein System wie in Anspruch 35, weiterhin beinhaltend: Mittel zum Führen einer Aufzeichnung von Distanzen zwischen Gruppen von Netzwerkadressen; und Mittel für das Auswählen, gemäß zumindest auf der Aufzeichnung basierend, einer Reihenfolge für Online-Spielesitzungen, die an das EDV-Gerät zurückgegeben werden soll, welches die Information betreffend derzeitiger Online-Spielesitzungen anfragt.
DE602004003282T 2003-04-23 2004-03-23 Auswahlverfahren basierend auf Abstandsmessungen zwischen Geräten Expired - Lifetime DE602004003282T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US421073 2003-04-23
US10/421,073 US7634569B2 (en) 2003-04-23 2003-04-23 Match making based on proximity measures between devices

Publications (2)

Publication Number Publication Date
DE602004003282D1 DE602004003282D1 (de) 2007-01-04
DE602004003282T2 true DE602004003282T2 (de) 2007-03-08

Family

ID=32962424

Family Applications (1)

Application Number Title Priority Date Filing Date
DE602004003282T Expired - Lifetime DE602004003282T2 (de) 2003-04-23 2004-03-23 Auswahlverfahren basierend auf Abstandsmessungen zwischen Geräten

Country Status (6)

Country Link
US (1) US7634569B2 (de)
EP (1) EP1471710B1 (de)
JP (1) JP4459697B2 (de)
KR (1) KR101085684B1 (de)
AT (1) ATE346448T1 (de)
DE (1) DE602004003282T2 (de)

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7695363B2 (en) 2000-06-23 2010-04-13 Igt Gaming device having multiple display interfaces
US7699699B2 (en) 2000-06-23 2010-04-20 Igt Gaming device having multiple selectable display interfaces based on player's wagers
US7720996B2 (en) * 2001-03-27 2010-05-18 Microsoft Corporation Internet protocol (IP) address proximity and application to peer provider location
ATE502496T1 (de) * 2003-06-30 2011-04-15 Nokia Corp Verfahren und vorrichtung zum ermitteln und benachrichtigen von nutzern mit übereinstimmenden präferenzprofilen für den zugriff auf eine online-anwendung mit mehrfachzugriff
KR100568178B1 (ko) * 2003-07-18 2006-04-05 삼성전자주식회사 게이트웨이 장치 및 그 제어방법
US8870639B2 (en) 2004-06-28 2014-10-28 Winview, Inc. Methods and apparatus for distributed gaming over a mobile device
US8376855B2 (en) 2004-06-28 2013-02-19 Winview, Inc. Methods and apparatus for distributed gaming over a mobile device
US10226698B1 (en) 2004-07-14 2019-03-12 Winview, Inc. Game of skill played by remote participants utilizing wireless devices in connection with a common game event
US7963847B2 (en) 2004-08-19 2011-06-21 Igt Gaming system having multiple gaming machines which provide bonus awards
US8021230B2 (en) 2004-08-19 2011-09-20 Igt Gaming system having multiple gaming machines which provide bonus awards
US8251791B2 (en) 2004-08-19 2012-08-28 Igt Gaming system having multiple gaming machines which provide bonus awards
US20060247053A1 (en) * 2005-03-30 2006-11-02 Nokia Corporation System, game server, terminal, and computer program product for link point scaling in a multiplayer location-aware game
WO2006124922A2 (en) 2005-05-17 2006-11-23 Super Computer International Collaborative online gaming system and method
US10721543B2 (en) 2005-06-20 2020-07-21 Winview, Inc. Method of and system for managing client resources and assets for activities on computing devices
US8128491B2 (en) 2005-09-09 2012-03-06 Igt Server based gaming system having multiple progressive awards
US8137188B2 (en) 2005-09-09 2012-03-20 Igt Server based gaming system having multiple progressive awards
US7841939B2 (en) 2005-09-09 2010-11-30 Igt Server based gaming system having multiple progressive awards
US8149530B1 (en) 2006-04-12 2012-04-03 Winview, Inc. Methodology for equalizing systemic latencies in television reception in connection with games of skill played in connection with live television programming
US9511287B2 (en) 2005-10-03 2016-12-06 Winview, Inc. Cellular phone games based upon television archives
US9919210B2 (en) 2005-10-03 2018-03-20 Winview, Inc. Synchronized gaming and programming
US10556183B2 (en) 2006-01-10 2020-02-11 Winview, Inc. Method of and system for conducting multiple contest of skill with a single performance
US8002618B1 (en) 2006-01-10 2011-08-23 Winview, Inc. Method of and system for conducting multiple contests of skill with a single performance
US9056251B2 (en) 2006-01-10 2015-06-16 Winview, Inc. Method of and system for conducting multiple contests of skill with a single performance
US11082746B2 (en) * 2006-04-12 2021-08-03 Winview, Inc. Synchronized gaming and programming
US8512130B2 (en) 2006-07-27 2013-08-20 Igt Gaming system with linked gaming machines that are configurable to have a same probability of winning a designated award
US8616959B2 (en) 2006-09-27 2013-12-31 Igt Server based gaming system having system triggered loyalty award sequences
US7862430B2 (en) 2006-09-27 2011-01-04 Igt Server based gaming system having system triggered loyalty award sequences
US7674180B2 (en) 2006-09-27 2010-03-09 Igt Server based gaming system having system triggered loyalty award sequences
US8135018B1 (en) 2007-03-29 2012-03-13 Qurio Holdings, Inc. Message propagation in a distributed virtual world
US8116323B1 (en) 2007-04-12 2012-02-14 Qurio Holdings, Inc. Methods for providing peer negotiation in a distributed virtual environment and related systems and computer program products
US7861260B2 (en) 2007-04-17 2010-12-28 Almondnet, Inc. Targeted television advertisements based on online behavior
US8000328B1 (en) 2007-05-22 2011-08-16 Qurio Holdings, Inc. Filtering messages in a distributed virtual world based on virtual space properties
US7814154B1 (en) 2007-06-26 2010-10-12 Qurio Holdings, Inc. Message transformations in a distributed virtual world
US7985133B2 (en) 2007-07-30 2011-07-26 Igt Gaming system and method for providing an additional gaming currency
US8900053B2 (en) 2007-08-10 2014-12-02 Igt Gaming system and method for providing different bonus awards based on different types of triggered events
US9142097B2 (en) 2007-10-26 2015-09-22 Igt Gaming system and method for providing play of local first game and remote second game
US20090163272A1 (en) * 2007-12-21 2009-06-25 Microsoft Corporation Connected gaming
US9277004B2 (en) * 2008-02-19 2016-03-01 Microsoft Technology Licensing, Llc Prediction of network path quality among peer networking devices
EP2294756A1 (de) * 2008-06-30 2011-03-16 E-Mmunnizer SA Verfahren und einrichtung zum durchsetzen der geografischen positionsverfolgbarkeit von internetbenutzern
CN101325559B (zh) * 2008-07-28 2010-08-18 腾讯科技(深圳)有限公司 一种推荐游戏房间的方法、系统和游戏服务器
US8260873B1 (en) * 2008-10-22 2012-09-04 Qurio Holdings, Inc. Method and system for grouping user devices based on dual proximity
US9716918B1 (en) 2008-11-10 2017-07-25 Winview, Inc. Interactive advertising system
US9039516B2 (en) 2009-07-30 2015-05-26 Igt Concurrent play on multiple gaming machines
US8380754B2 (en) * 2009-09-14 2013-02-19 Michael Ernst Laude Apparatus and methods for creating, updating, and using learning tools
US20110306426A1 (en) * 2010-06-10 2011-12-15 Microsoft Corporation Activity Participation Based On User Intent
US9331858B2 (en) * 2011-05-03 2016-05-03 Sony Computer Entertainment Inc. Persistent party rooms
US8956232B2 (en) 2011-05-03 2015-02-17 Sony Computer Entertainment America Llc Special regional online video game forum based on location
US9176214B2 (en) * 2011-08-10 2015-11-03 Microsoft Technology Licensing, Llc Proximity detection for shared computing experiences
US9440146B1 (en) 2011-08-23 2016-09-13 Zynga Inc. Managing location-based meta games
US9386085B2 (en) * 2012-04-04 2016-07-05 Radware, Ltd. Techniques for providing scalable application delivery controller services
US10375158B2 (en) 2012-04-04 2019-08-06 Radware, Ltd. Techniques for adaptive traffic direction via scalable application delivery controller services
GB2500936B (en) * 2012-04-05 2014-11-26 Blis Media Ltd Identifying the physical location of an internet service provider
US20140045596A1 (en) * 2012-08-07 2014-02-13 Lawrence Cameron Vaughan Methods and systems for determining the location of online gaming clients
US8998726B1 (en) 2013-04-30 2015-04-07 Kabam, Inc. System and method for associating a user to a shard based on third party latency
US9364754B1 (en) 2013-05-16 2016-06-14 Kabam, Inc. System and method for facilitating communication between affiliated players in an online game via communication mediums external to the online game
US9474967B2 (en) * 2013-08-02 2016-10-25 Activision Publishing, Inc. Internet distance-based matchmaking
US9776091B1 (en) 2014-05-16 2017-10-03 Electronic Arts Inc. Systems and methods for hardware-based matchmaking
US9875618B2 (en) 2014-07-24 2018-01-23 Igt Gaming system and method employing multi-directional interaction between multiple concurrently played games
US9972171B2 (en) 2015-09-24 2018-05-15 Igt Gaming system and method for providing a triggering event based on a collection of units from different games
US9993735B2 (en) 2016-03-08 2018-06-12 Electronic Arts Inc. Multiplayer video game matchmaking optimization
US10729975B1 (en) 2016-03-30 2020-08-04 Electronic Arts Inc. Network connection selection processing system
US11551529B2 (en) 2016-07-20 2023-01-10 Winview, Inc. Method of generating separate contests of skill or chance from two independent events
US10286327B2 (en) 2016-10-21 2019-05-14 Electronic Arts Inc. Multiplayer video game matchmaking system and methods
US10091281B1 (en) 2016-12-01 2018-10-02 Electronics Arts Inc. Multi-user application host-system selection system
US10728701B1 (en) 2017-06-20 2020-07-28 Roblox Corporation Proximity friending
JP7228974B2 (ja) * 2018-08-06 2023-02-27 株式会社 ディー・エヌ・エー 通信ゲームシステム、通信ゲームプログラム、通信ゲームサーバ及び通信ゲームサーバプログラム
US11308765B2 (en) 2018-10-08 2022-04-19 Winview, Inc. Method and systems for reducing risk in setting odds for single fixed in-play propositions utilizing real time input
US10770072B2 (en) 2018-12-10 2020-09-08 International Business Machines Corporation Cognitive triggering of human interaction strategies to facilitate collaboration, productivity, and learning
US11247125B2 (en) * 2020-06-02 2022-02-15 Supercell Oy Apparatus for managing online game, method and system therefor

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3319341B2 (ja) * 1997-06-20 2002-08-26 日本電気株式会社 データ共有システム
JP3665460B2 (ja) * 1997-12-05 2005-06-29 富士通株式会社 分散自律協調型の応答時間チューニングによる経路選択システム、方法、及び記録媒体
US6012096A (en) 1998-04-23 2000-01-04 Microsoft Corporation Method and system for peer-to-peer network latency measurement
JPH11319319A (ja) 1998-05-21 1999-11-24 Sega Enterp Ltd ネットワークゲームシステム
US6599194B1 (en) 1998-09-08 2003-07-29 Darren Smith Home video game system with hard disk drive and internet access capability
US6468160B2 (en) 1999-04-08 2002-10-22 Nintendo Of America, Inc. Security system for video game system with hard disk drive and internet access capability
EP1237089A4 (de) * 1999-10-08 2006-09-06 Eighting Kk Teilnehmersuchverfahren für online-spiele oder online-chat, teilnehmersuchgerät, teilnehmernetzwerksystem, netzwerkterminal und rechnerprogramm
JP3512386B2 (ja) * 2000-01-20 2004-03-29 株式会社スクウェア・エニックス オンライン複合サービス提供処理方法およびオンライン複合サービス提供処理システム
AU2001241605A1 (en) * 2000-02-17 2001-09-12 Acclaim Entertainment, Inc. Multi-player computer game, system and method
US20020002074A1 (en) * 2000-06-30 2002-01-03 Cyop Systems Method for an online player game payment system
DE10035133A1 (de) 2000-07-19 2002-01-31 Nikolaus Von Seemann System und Verfahren zur Teilnahme an einem Spiel mittels eines Mobiltelefons
US7720996B2 (en) * 2001-03-27 2010-05-18 Microsoft Corporation Internet protocol (IP) address proximity and application to peer provider location
GB2375006A (en) 2001-04-24 2002-10-30 Jerome Spaargaren Data processing system
US7416488B2 (en) * 2001-07-18 2008-08-26 Duplicate (2007) Inc. System and method for playing a game of skill
JP3815278B2 (ja) * 2001-08-30 2006-08-30 ソニー株式会社 ネットワークゲームシステム、ネットワークゲームサーバ装置、ネットワークゲーム端末装置、情報処理方法、及び情報処理プログラム
US7107619B2 (en) 2001-08-31 2006-09-12 International Business Machines Corporation System and method for the detection of and reaction to denial of service attacks
JP2005516503A (ja) * 2002-01-24 2005-06-02 ニューポート コースト インヴェストメンツ エルエルシー 無線周波数(rf)通信の動的選択およびスケジューリング
US20030148812A1 (en) * 2002-02-01 2003-08-07 Paulsen Craig A. Gaming system and gaming method
US7421471B2 (en) * 2002-05-17 2008-09-02 Sony Computer Entertainment America Inc. Configuration switching: dynamically changing between network communication architectures
US6939234B2 (en) * 2002-06-10 2005-09-06 Wms Gaming, Inc. Dynamic configuration of gaming system
US20050105513A1 (en) * 2002-10-27 2005-05-19 Alan Sullivan Systems and methods for direction of communication traffic
KR20040052131A (ko) * 2002-12-13 2004-06-19 한국전자통신연구원 거리기반 분산형 온라인 게임 서버 시스템

Also Published As

Publication number Publication date
KR101085684B1 (ko) 2011-11-22
JP4459697B2 (ja) 2010-04-28
JP2004328734A (ja) 2004-11-18
US7634569B2 (en) 2009-12-15
ATE346448T1 (de) 2006-12-15
EP1471710A2 (de) 2004-10-27
DE602004003282D1 (de) 2007-01-04
KR20040093026A (ko) 2004-11-04
EP1471710A3 (de) 2005-05-11
EP1471710B1 (de) 2006-11-22
US20040215756A1 (en) 2004-10-28

Similar Documents

Publication Publication Date Title
DE602004003282T2 (de) Auswahlverfahren basierend auf Abstandsmessungen zwischen Geräten
DE602005005144T2 (de) System und Verfahren zum Konfigurieren von Spielerdaten
CN101180621B (zh) 用于建立游戏上下文外的在线游戏会话的系统和方法
US9375641B2 (en) Social matching of game players on-line
DE60312153T2 (de) Dynamische abspielgeräteverwaltung
AU2006235751B9 (en) Server and method for computer communication for automatically performing and administrating a comparison
US8066568B2 (en) System and method for providing feedback on game players and enhancing social matchmaking
US20070186007A1 (en) Downloadable server-client collaborative mobile social computing application
US8758140B2 (en) Method for viral invites as game and discovery mechanic
JP2004328734A6 (ja) デバイス間の近接性の程度に基づく突き合わせ
CA2621519A1 (en) Systems and methods for providing an online lobby
DE112010005474T5 (de) Vorrichtung und Verfahren zum Zuordnen von Nutzern für Online-Sitzungen
WO2007084226A1 (en) Computer-based gaming groups
DE10392489T5 (de) Initialisieren von Beziehungen zwischen Geräten in einem Netzwerk
Hersman Mobilizing Tech Entrepreneurs in Africa: Innovations Case Narrative: iHub
Rainoldi et al. Video game experiential marketing in tourism: designing for experiences
CN107408164A (zh) 云中内容资产的数字管理
CN105653849A (zh) 一种虚拟用户的方法和系统
IULIIA et al. How Russian teenagers are engaged in the Metaverse games
Franzò STS Invaders: Gaming as an emerging theme for Science and Technology Studies
Vozab Mediatized participation in European media systems.
CN104243431A (zh) 在线交互服务分派方法和装置
Leopoldseder et al. Cyberarts 2001
Jha CONSUMER OPINION ON CLOUD GAMING IN INDIA
Berry Jr et al. Connectivity of Heterogeneous Environments Part 1: Communication

Legal Events

Date Code Title Description
8364 No opposition during term of opposition