DE60312153T2 - Dynamische abspielgeräteverwaltung - Google Patents

Dynamische abspielgeräteverwaltung Download PDF

Info

Publication number
DE60312153T2
DE60312153T2 DE60312153T DE60312153T DE60312153T2 DE 60312153 T2 DE60312153 T2 DE 60312153T2 DE 60312153 T DE60312153 T DE 60312153T DE 60312153 T DE60312153 T DE 60312153T DE 60312153 T2 DE60312153 T2 DE 60312153T2
Authority
DE
Germany
Prior art keywords
application
participant
computer
online session
network
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
DE60312153T
Other languages
English (en)
Other versions
DE60312153D1 (de
Inventor
Masayuki Foster City Chatani
Glen Foster City VAN DATTA
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.)
Sony Interactive Entertainment America LLC
Original Assignee
Sony Computer Entertainment America LLC
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 Sony Computer Entertainment America LLC filed Critical Sony Computer Entertainment America LLC
Application granted granted Critical
Publication of DE60312153D1 publication Critical patent/DE60312153D1/de
Publication of DE60312153T2 publication Critical patent/DE60312153T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • 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/34Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers using peer-to-peer connections
    • 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/45Controlling the progress of the video game
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1048Departure or maintenance mechanisms
    • 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/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • H04L67/1051Group master selection mechanisms
    • 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
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • 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/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
    • 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]
    • 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
    • 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
    • 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
    • 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
    • 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/206Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards
    • A63F2300/208Game information storage, e.g. cartridges, CD ROM's, DVD's, smart cards for storing personal settings or data of the player
    • 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/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/408Peer to peer connection
    • 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/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/535Features 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 monitoring, e.g. of user parameters, terminal parameters, application parameters, network parameters
    • 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/5526Game data structure
    • A63F2300/5533Game data structure using program state or machine event data, e.g. server keeps track of the state of multiple players on in a multiple player game
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/185Arrangements for providing special services to substations for broadcast or conference, e.g. multicast with management of multicast group membership

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Anmeldung betrifft allgemein Computernetzwerke und betrifft spezieller eine Anwendung, die von einer Vielzahl von Anwendern auf einem Computernetzwerk verwendet werden kann.
  • STAND DER TECHNIK
  • Computernetzwerke wie beispielsweise Ortsbereichsnetzwerke und das Internet werden zunehmend als Fernnetz für verschiedene Transaktionen und Interaktionen zwischen Parteien verwendet. Angefangen von einem Online-Banking, bei dem Bankkunden finanzielle Transaktionen über ein Computernetzwerk initiieren können oder auch ein Online-Spielvorgang ausgeführt werden kann, bei dem die Spieler an vielfältigen Spielen über das Internet teilnehmen können, liefern Serviceprovider zunehmend eine Vielfalt von Diensten über die Computernetzwerke. Es gibt gegenwärtig eine Vielfalt an unterschiedlichen Computernetzwerkkonfigurationen, welche die Transaktionen und Interaktionen vereinfachen, die stattfinden.
  • Ein Konfigurationstyp ist eine klassische Client-Server-Konfiguration, wie diese in 1 veranschaulicht ist. Bei dieser Konfiguration ist ein ausgewählter Server-Computer 110 kommunikativ mit einem oder mehreren Client-Computern 120 über ein Netzwerk verkettet wie beispielsweise über das Internet. Der Client-Computer 120 führt Serviceanfragen zu dem Server-Computer 110 durch und der Server-Computer 110 erfüllt die Anfrage, indem er Daten zu dem anfragenden Client-Computer 120 über das Netzwerk sendet. Der Server-Computer 110 kann mit einer Datenspeichervorrichtung oder mit anderen Computervorrichtungen verbunden werden, welche die Transaktionen zwischen dem Client- und Server-Computer vereinfachen. Eine Eigenschaft der Client-Server-Konfiguration besteht darin, dass die Client-Computer nicht direkt untereinander kommunizieren können, da die Client-Computer auf eine Kommunikation mit dem Server-Computer beschränkt sind.
  • Dort, wo beispielsweise die Client-Server-Konfiguration in einer Online-Spiele-Umgebung betrieben wird, kann der Server-Computer 110 zum aufrechterhalten vielfältiger Zustände verantwortlich sein, die dem Online-Spiel zugeordnet sind. Der Server-Computer kann mit anderen Computer verbunden werden, wie beispielsweise einer Speichermaschine 140, die mehrere Ereignisse oder Momente eines Spieles aufrechterhält, während der Server-Computer 110 administrative Angelegenheiten managt wie beispielsweise eine Spieler-Anpassung und ein Konto-Management. Der Spiele-Spieler auf dem Client-Computer 120 kann sich auf den Server-Computer 110 einloggen und empfängt eine Liste von verfügbaren Spielen und teilnehmenden Spielern. Der Spieler wählt ein Spiel, um dieses zu starten oder an diesem teilzunehmen, wodurch eine Speicher-Maschine identifiziert wird, mit welcher der Computer des Spielers eine Client-Server-Verbindung herstellt. Auf diese Weise kann der Server-Computer 110 und die Speicher-Maschine 140 kollektiv die Spiele-Umgebung für einen oder für mehrere Client-Computer 120 administrieren.
  • Ein anderer Konfigurationstyp wird als integrierte Serverkonfiguration bezeichnet, wie sie beispielsweise in 2 gezeigt ist. Diese Konfiguration enthält einen ausgewählten Server-Computer 110 und einen oder mehrere Client-Computer 120, die jeweils mit dem Server-Computer 110 über ein Computernetzwerk verbunden sind. Wie bei der früher beschriebenen Konfiguration liefert der Server-Computer 110 Daten zu den Client-Computern 120. Jedoch funktioniert einer der Client-Computer 120 wie beispielsweise der Client-Computer 120a als ein integrierter Server insofern als der Client-Computer 120a Daten für andere Client-Computer 120 liefern kann. In einer Online-Spiele-Umgebung kann der Server-Computer 110 administrative Funktionen durchführen wie beispielsweise einer Spieler-Anpassung, Konto-Management und ein Chat-Room-Management, während jedoch der Client-Computer/integrierte Server 120a eine Funktion der früher beschriebenen Speichermaschine durchführen kann.
  • Bei einem noch anderen Typ einer Kommunikations-Konfiguration sind verschiedene Computer in einer Peer-to-Peer-Konfiguration angeordnet, wie dies in 3 gezeigt ist. Bei einer Peer-to-Peer-Konfiguration kann jeder der Computer mit anderen Computern kommunizieren, so dass alle Computer als "Peers" funktionieren können. Bei einer Form der Peer-to-Peer-Konfiguration ist ein ausgewählter Server 110 kommunikativ mit einer Vielzahl von Client-Computern 120 über ein Netzwerk verbunden. Eine Online-Session wird zu Beginn von jedem der Client-Computer 120 erstellt, der mit dem administrativen Computer verbunden ist wie beispielsweise dem Server-Computer 110. Die Client-Computer 120 werden dann kommunikativ miteinander verbunden, so dass jeder der Client-Computer 120 die Fähigkeit hat sowohl Daten zu als auch von irgendeinem anderen der Client-Computer 120 zu senden und zu empfangen. Zusätzlich kann jeder Client-Computer 120 in einer Client-Server-Beziehung mit dem ausgewählten Server 110 arbeiten. Für Fachleute ist zu erkennen, dass auch andere Kommunikationskonfigurationen zusätzlich zu den oben beschriebenen Konfigurationen möglich sind.
  • Die vielfältigen Konfigurationen, die oben beschrieben sind, ermöglichen es den Computeranwendern über ein Computernetzwerk zu interagieren, beispielsweise in einer Online-Game-Umgebung, bei dem die Game-Spieler Computerspiele auf einem Computernetzwerk spielen können. Bei solch einem Szenario funktioniert wenigstens einer der Computer in typischer Weise als Game-Manager, der verschiedene Aspekte des Spieles managet, wie beispielsweise die Koordination der Zahl der Spieler, Spurhalten des Spiele-Zustandes und Aussenden von Updates zu den Anwendern, welche den Game-Zustand betreffen. Es kann ersehen werden, dass die Kontinuität des Game-Spiels stark von allen den Anwendern abhängig sein kann, die an einem Spiel teilnehmen und die ein Spiel fortsetzen und zwar über die gesamte Game-Periode hinweg. Das Game-Spiel kann unterbrochen werden oder selbst angehalten werden, wenn einer der Game-Spieler während der Mitte eines Spiels ausscheidet, speziell dann, wenn der ausgeschiedene Spieler einen Abschnitt des Spiels gemanaget hat.
  • Beispielsweise haben Sport-Spiele in typischer Weise einen fixen Start und ein fixes Ende für das Spiel, wobei wenigstens zwei Spieler an einem Spiel teilnehmen. Bei momentanen Konfigurationen gibt es häufig mehrere Spieler, die an einem Online-Sportkontest teilnehmen, wobei jeder der Spiele die Rolle eines Spielers bei einem Sportteam annehmen kann. Beispielsweise können in einem Online-Fußballspiel die Spieler die Rollen eines Abwehrspielers, eines Empfängers, eines hinteren Verteidigers, eines Rückwärtsläufers und so weiter einnehmen. Wenn einer der Spieler plötzlich in der Mitte des Spiels dieses verlässt, wird folglich das Spiel unterbrochen oder angehalten. Dies kann auch der Fall bei anderen Typen von Spielen sein, bei dem die Kontinuität des Game-Spiels von jedem der Spieler in der Spiele-Umgebung abhängig ist, um das Spiel über ein spezielles Szenario hinaus fortzusetzen.
  • Unglücklicherweise sind momentane Vielfach-Anwender-Anwendungn nicht für eine Berechnung oder Rechnungsstellung konfiguriert und zwar für den Fall, dass ein Teilnehmer in einer Online-Session plötzlich und unerwartet die Online-Session verlässt. Wenn ein Spieler eine Online-Session verlässt, wird die Session in unerwünschter Weise unterbrochen oder beendet. Es ergibt sich somit aus dem vorangegangenen ein Bedarf nach einer Vielfach-Anwender-Anwendung, welche die zuvor erläuterten Nachteile überwinden kann.
  • Die US 2002 03 56 04 offenbart ein Verfahren zur Durchführung von Client-hosted Anwendungs-Sessions in verteilten Verarbeitungssystemen. Die Anwendungs-Sessions involvieren ein Netzwerk, mit Anwendungs-Clients, die gemeinsame Daten und Zustandsinformationen gemeinsam teilen. Ein Anwendugngs-Client, der als ein Host-Client bezeichnet wird, erlaubt es selektiv anderen Clients an der Anwendungs-Session teilzunehmen und verteilt einen gemeinsamen Satz von Anwendungsdaten an jeden neu hinzugekommenen Anwendungs-Client. Die Anwendungsdaten enthalten einen einzigartigen Identifizierer, der dem Host-Client zugeordnet ist und zwar für jeden Amwendungs-Client in der Anwendungs-Session. Wenn ein neuer Client in einer Anwendungs-Session zugelassen wird, werden Anwendungsdaten zu dieser in einer solchen Weise gesendet, dass der neue Client Daten empfängt, die mit den Daten synchronisiert sind, welche durch die anderen Anwendungs-Clients in der Session in Besitz sind. Änderungen in den Anwendungsdaten, die durch den Anwendungs-Client vorgenommen werden, werden kommunikativ direkt von dem Anwendungs-Client zu anderen Anwendungs-Clients übertragen, so dass jeder Client einen gemeinsamen Satz an Anwendungsdaten halten kann. Wenn der Host-Client bei einer Anwendungs-Session vorhanden ist, werden die Host-Leistungen automatisch zu einem neuen Host-Client nach dem Migrationsverfahren übertragen, der unter den verbleibenden Anwendungs-Clients ausgewählt wird.
  • Die WO 0235769 betrifft eine Kommunikations-Infrastrukturanwendung in einem Computerprogramm und betrifft auch ein Computer-lesbares Programprodukt für ein Datenverarbeitungssystem für Vielfach-Anwender-Anwendungen.
  • Die WO 0182678 beschreibt ein System und ein Verfahren innerhalb eines Hochverfügbarkeitsnetzwerks zum Überwachen und zum Managen von Cluster-Teilnehmern. Der Cluster-Teilnehmer-Monitor hat die Fähigkeit eine Liste von momentanen Cluster-Gliedern zu halten, den Status von jedem Peer-Knotenpunkt zu dem Cluster zu überwachen, über jede Knotenpunkt-Lebensfähigkeit benachrichtigt zu bleiben, einen Master-Knotenpunkt für das Cluster auszuwählen, wenn dies erforderlich ist, und die Reformation zu koordinieren, wenn Mitglieder teilnehmen oder sich anschließen und das Cluster verlassen.
  • Die WO 0005854 offenbart ein Anwendungs-Programmier-Interface, welches ein Verfahren zum transparenten Schalten von einem Kommunikationsprotokoll zu einem anderen implementiert, und um den Zustand einer früheren Verbindung wiederherzustellen.
  • OFFENBARUNG DER ERFINDUNG
  • Die vorliegende Erfindung betrifft eine Anwendung, die dafür konfiguriert ist, um in einer Vielfachteilnehmer-Umgebung auf einem Computernetzwerk betrieben zu werden. Die Anwendung managt Teilnehmer bei einer Online-Session einer Vielfachteilnehmer-Anwendung, so dass dann, wenn einer der Teilnehmer die Session verlässt, die Session fortgesetzt werden kann und zwar ohne Unterbrechung. Gemäß einem Aspekt der Erfindung initiiert die Anwendung eine Online-Session einer Vielfach-Anwender-Anwendung, wobei die Online-Session zwei oder mehrere Teilnehmer umfasst, die aus Netzwerk-Computer gebildet sind, die kommunikativ mit einem Computernetzwerk verbunden oder verkettet sind. Wenn die Anwendung detektiert, dass ein erster Teilnehmer sich von der Online-Session abgetrennt hat, wobei der erste Teilnehmer für das Managen von bestimmter Manage-Funktionalität verantwortlich ist, die mit dem Verlauf der Vielfach-Anwender-Anwendung verbunden ist, sendet die Anwendung eine Nachricht zu den vorhandenen Teilnehmern der Online-Session über das Kommunikationsnetzwerk, wodurch dann die vorhandenen Teilnehmer darüber unterrichtet werden, dass der erste Teilnehmer von der Online-Session abgetrennt wurde. Die initialisierende Anwendung führt dann eine erneute Zuweisung der Funktionalität durch, die dem ersten Teilnehmer zugeordnet war und zwar zu einem bestehenden Teilnehmer der Online-Session. Die Teilnehmer können in einer Peer-to-Peer-Anordnung kommunizieren oder können Server-Leistungen in einer Client-Server-Anordnung ausführen.
  • Weitere Merkmale und Vorteile der vorliegenden Erfindung ergeben sich aus der folgenden Beschreibung von bevorzugten Ausführungsformen, die anhand eines Beispiels die Prinzipien der Erfindung veranschaulichen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • Die Ziele, Vorteile und Merkmale der vorliegenden Erfindung ergeben sich klarer aus der folgenden detaillierten Beschreibung in Verbindung mit den anhängenden Zeichnungen, in denen zeigen:
  • 1 eine Darstellung eines Computernetzwerks, welches in einer Client-Server-Netzwerk-Kommunikationskonfiguration angeordnet ist;
  • 2 eine Darstellung eines Computernetzwerks, welches in einer integrierten Netzwerk-Kommunikations-Server-Konfiguration angeordnet ist;
  • 3 eine Darstellung eines Computernetzwerks, welches in einer Peer-to-Peer-Netzwerk-Kommunikationskonfiguration angeordnet ist;
  • 4 eine Darstellung eines Computernetzwerksystems, auf welchem eine Vielfach-Anwender-Anwendung läuft, die gemäß der vorliegenden Erfindung konfiguriert ist;
  • 5 eine Darstellung einer Datenstruktur, die einen Computer-Index und Session-Master-Informationen für die Vielfach-Anwender-Anwendung enthält;
  • 6 eine Darstellung eines Computernetzwerksystems, wobei die Vielfach-Anwender-Anwendung gemäß einem ersten Typ einer Kommunikationskonfiguration angeordnet ist;
  • 7 eine Darstellung eines Computernetzwerksystems, bei dem die Vielfach-Anwender-Anwendung in einem anderen Typ einer Kommunikationskonfiguration angeordnet ist;
  • 8 eine Flussdiagramm, welches einem Prozess gemäß einem Manage-Vorgang des Ausscheidens eines Teilnehmers in einer Online-Session einer Vielfach-Anwender-Anwendung wiedergibt;
  • 9 eine Flussdiagramm, welches die Betriebsschritte veranschaulicht, die der Vielfach-Anwender-Anwendung zugeordnet sind, welche eine Online-Session erstellt;
  • 10 ein Blockschaltbild eines Computers in dem Netzwerk, welches in 4 veranschaulicht ist, wobei die Hardware-Komponenten veranschaulicht sind;
  • 11 ein Blockschaltbild eines Computer-Entertainment-Systems bei dem Netzwerk, welches in 4 veranschaulicht ist, wobei die Hardware-Komponenten wiedergegeben sind.
  • DIE BESTE ART, UM DIE ERFINDUNG AUSZUFÜHREN
  • 4 ist ein Blockschaltbild eines Computernetzwerksystems 400, bestehend aus einer oder mehreren Netzwerk-Vorrichtungen, die einen oder mehrere Client-Computer 410, 412 und einen oder mehrere ausgewählte Server-Computer 420, 422 umfassen, die Knotenpunkte eines Computernetzwerks 430 bilden. Somit sind einige der Netzwerk-Computer als Server und einige als Clients konfiguriert. Das Computernetzwerk 430 kann eine Ansammlung von miteinander verbundenen Netzwerken umfassen, wie beispielsweise das Internet, und kann ein oder mehrere Local Area-Netzwerke bei jedem der Knotenpunkte 410, 412, 420, 422 enthalten. Der hier verwendete Ausdruck "Internet" bezeichnet eine Ansammlung von miteinander verbundenen Netzwerken (öffentliche und/oder private Netzwerke), die miteinander über einen Satz von Standard-Kommunikationsprotokollen verbunden oder verkettet sind, um ein globales verteiltes Netzwerk zu bilden.
  • Die Client-Computer 410, 412 können Anfragen nach Daten über das Netzwerk 430 zu einem der Server-Computer 420, 422 senden, die dafür konfiguriert sind, um Daten über das Netzwerk 430 zu den Client-Computern in einer gut bekannten Weise zu liefern. Die Server-Computer 420, 422 können enthalten oder können kommunikativ miteinander verbunden sein und auch mit anderen Servern verbunden sein wie beispielsweise einem Datenbank-Server und/oder einem Anwendungs-Server, wie dies für Fachleute gut bekannt ist. Obwohl 4 lediglich zwei Client-Computer 410, 412 zeigt, und auch nur zwei Server-Computer 420, 422 zeigt, sei darauf hingewiesen, dass das Netzwerk-System 400 auch irgendeine Anzahl von Client-Computern 410, 412 und Server-Computern 420, 422 enthalten kann. Die Server-Computer 420, 422 und die Client-Computer 410, 412 werden manchmal auch im Folgenden kollektiv als Netzwerk-Computer bezeichnet.
  • Das Netzwerk-System 400 unterstützt eine Vielfach-Anwender-Anwendung 440, bestehend aus einem Computerprogramm, mit welchem eine Vielzahl an Anwendern in Online-Sessions interagieren können unter Verwendung der Netzwerk-Vorrichtungen (wie beispielsweise den Client-Computern 410, 412), die mit dem Computernetzwerk 430 verbunden sind. Die Anwendung 440 ist in jedem der Client-Computer installiert, was bedeutet, dass ein Betriebsereignis der Anwendung in dem Speicher von jedem der Client-Computer 410, 412 gespeichert ist, auf den die Anwendung 440 läuft (ausgeführt wird). Jeder Server-Computer, der an einer Online-Session der Vielfach-Anwender-Anwendung teilnehmen will, speichert auch ein Ereignis der Anwendung 440. Zum Zwecke der vorliegenden Beschreibung sei angenommen, dass der erste Server-Computer 420 aus einem Server für die Vielfach-Anwender-Anwendung besteht, die auf den Client-Maschinen 410, 412 ausgeführt wird, obwohl beide Server 420, 422 mit den installierten Anwendungen 440 gezeigt sind. Ein Datenaustausch erfolgt zwischen den Ereignissen der Anwendung 440 während der Ausführung und wird durch das Erstellen von Netzwerk-Sockeln 445 bei jedem der Netzwerk-Computer in Bereitschaft gesetzt. Die Sockel (sockets) sind in 4 durch Boxen repräsentiert, und zwar bei jedem jeweiligen Netzwerk-Computer. Für Fachleute ist es offensichtlich, dass ein Netzwerk-Sockel ein Ende eines Vielweg-Kommunikationslinks ist und zwar zwischen zwei oder mehreren Programmen, die auf dem Netzwerk-System 400 laufen.
  • Die Anwendung 440 kann auf den Netzwerk-Vorrichtungen des Netzwerk-Systems 400 gemäß einer Vielfalt von Kommunikations-Konfigurationen laufen und es können die Verantwortlichkeiten für vielfältige anwendungsbezogene Prozesse unterschiedlichen Computervorrichtungen des Netzwerks 430 zugeordnet werden, was weiter unten noch näher in Einzelheiten beschrieben wird. Eine Anwendung-Entwicklungs-Schnittstelle wird in bevorzugter Weise dafür verwendet, um die Anwendung 440 zu entwickeln, was ebenfalls weiter unten noch näher in Einzelheiten beschrieben wird. Die Anwendung kann in solcher Weise betrieben werden, dass der zugeordnete Netzwerk-Computer eine Kommunikations-Konfiguration verwendet, um irgendeinen der Kommunikations-Modi zu implementieren, wie sie in 1, 2 und 3 gezeigt sind.
  • Die Vielfach-Anwender-Anwendung 440 kann aus irgendeinem Typ einer Anwendung bestehen, die ein Anwender auf einem Netzwerk-Computer laufen lassen kann, der mit dem Computernetzwerk 430 verkettet oder verbunden ist. Wenn die Anwendung 440 auf einem Client-Computer 410, 412 läuft, kann der Anwender mit anderen Anwendern über die anderen Netzwerk-Computer interagieren, auf denen ebenfalls die Anwendung 440 läuft. Der Server-Computer 420 kann als ein zentraler Netzwerk-"Treffpunkt" funktionieren, über den die Anwender Kontakt herstellen können, Daten aufrechterhalten können und eine Online-Session der Anwendung 440 initiieren können. In typischer Weise bewirkt die Anwendung 440, dass die Netzwerk-Vorrichtung, in welcher diese in Betrieb ist, Kommunikationen mit anderen Netzwerk-Vorrichtungen erstellt wie beispielsweise den Vorrichtungen 410, 412, 420, wodurch eine Online-Session initialisiert wird. Während der Online-Session interagieren die Netzwerk-Computer und tauschen Daten aus, welche die programmierten Merkmale der Anwendung 440 betreffen.
  • Wenn die Anwendung 440 gestartet wird und eine Online-Session unter geeignet konfigurierten Computern erstellt wird, ermöglicht es die Anwendung den Computern in einer Vielfalt an Konfigurationen zu interagieren. Bei der vorliegenden Beschreibung wird die Anwendung 440 manchmal als ein Online-Spiele-Szenario beschrieben, wobei die Anwendung 440 ein Computerspiel umfasst, auf welches viele Anwender zugreifen können und welches diese laufen lassen können und zwar unter Verwendung der Client-Computer 410, 412. In einem solchen Fall erstellt die Anwendung 440 eine Online-Session bestehend aus einem Spiel, bei dem die Netzwerk-Computer teilnehmen. Es sei jedoch darauf hingewiesen, dass die Anwendung 440 auch andere Szenarien betreffen kann und zwar neben einem Spielvorgang auch beispielsweise einem Online-Banking- Vorgang oder Online-Reiseplanungs-Vorgang, der Interaktionen zwischen vielen Computern auf dem Computernetzwerk involviert.
  • Wenn eine Anwendung 440 ausgeführt wird, identifiziert diese einen Session-Master, der aus einem Netzwerk-Computer besteht, der eine Vielfalt an Management und administrativen Funktionen für die Anwendung durchführt und zwar in Bezug auf die Interaktionen zwischen den Computern, die während der Online-Session auftreten bzw. beteiligt sind. Eine Online-Session der Anwendung verwendet einen Registrierungs- oder Logon-Prozess mit einem Datenspeicher, der Informationen wie beispielsweise die Anwender-Identifikation enthält. Der Logon-Prozess autorisiert ferner einen Teilnehmer in der Netzwerkumgebung der Anwendung. In bevorzugter Weise wird die Session-Master-Funktion zugewiesen, wenn ein Client-Computer die Anwendung 440 laufen lässt wie beispielsweise der Client-Computer 410, es erfolgt ein Einloggen in den Server-Computer 420, um eine Online-Session zu initialisieren. Die Anwendung selbst bestimmt jedoch Einzelheiten dahingehend wann und auf welche Weise solche Zuweisungen durchgeführt werden, so dass eine Vielfalt an Session-Master-Zuordnungsschemata implementiert werden können, ohne die Leere der vorliegenden Erfindung dabei zu verlassen.
  • Ein Betriebselement oder Betriebseinrichtung der Anwendung auf dem Client-Computer 410, die die Online-Session der Anwendung initialisiert, wird auch als Host-Computer bezeichnet. Die Anwendung auf dem Host-Computer weist die Session-Master-Funktion entweder dem Server-Computer 420 oder dem Host-Computer 410 zu. Wenn sich neue Client-Computer auf den Server-Computer 420 einloggen (bei diesem registrieren), um an der Online-Session teilzunehmen, unterrichtet der Server-Computer 420 die neuen Clients über die bereits zugeordnete Identität des Session-Master-Computers.
  • Wie nun weiter unten vollständig beschrieben wird, ermöglicht die Session-Master-Funktionalität einen weichen oder glatten Übergang zwischen verschiedenen Netzwerk-Kommunikationskonfigurationen, bei denen die Anwendung 440 betrieben werden kann. Die Session-Master-Funktion ermöglicht es auch der Anwendung 440 die Verantwortlichkeit für anwendungsbezogene Aufgaben in einem spezifischen Netzwerk-Computer zu konzentrieren oder solche Verantwortlichkeit unter zwei oder mehreren Netzwerk-Computern zu verteilen. Die Zuordnung der Aufgaben kann durch eine Einrichtung der Anwendung 440 auf einem der Netzwerk-Computer durchgeführt werden und zwar zu dem Zeitpunkt, wenn die Session-Master-Funktion zugeordnet wird und es können die Session-Master-Aufgaben einem oder mehreren der Computer auf dem Netzwerk 430 zugeordnet werden, um die Requisiten-Funktionalität vorzusehen. Der Computer oder die Computer, denen die Verantwortlichkeit des Session-Masters zugeordnet wird bzw. werden, werden im Folgenden als "Besitzer" der jeweiligen Session-Master-Funktionen bezeichnet. Ein Hinweis auf einen Solitary-Session-Master wird dabei als eine Anwendung auf eine Gruppe von Computern verstanden, wenn solche Computer kollektiv die Session-Master-Funktionen durchführen. Somit wird die Zuordnung der Sesison-Master-Aufgaben in einer Weise durchgeführt, die durch die Anwendung selbst spezifiziert wird und zwar auch in Einklang mit den Diktaten des Anwendungs-Entwicklers.
  • Eine Kategorie der Verantwortlichkeiten, die dem Session-Master zugewiesen wird, betrifft die anwendungsspezifischen Funktionen, die aus Funktionen bestehen, die speziell oder spezifisch für den speziellen Typ der Anwendung 440 sind, die ausgeführt wird. Wenn beispielsweise die Anwendung 440 aus einer Anwendung vom Spiele-Typ besteht, kann der Session-Master oder eine Gruppe von Session-Mastern Spur mit den Spiele-Typ-Daten halten wie beispielsweise dem Game-Score und der Zeit, die in dem Spiel verbleibt, und kann Spiele-Funktionen durchführen, wie beispielsweise das Beenden der Online-Session, wenn ein Spiel endet. Einem Session-Master-Computer kann auch die Verantwortlichkeit hinsichtlich eines Spurhaltens von spezifischen Spiele-Daten zugewiesen werden wie beispielsweise der Zustand eines Objektes in einer Spiele-Umgebung, also einem Fußball, Flugzeug, Ozean, Baum und so weiter. Jede dieser Verantwortlichkeiten kann in einem einzigen Session-Master-Computer konzentriert sein oder kann auch unter mehreren Session-Master-Computern aufgeteilt sein und zwar in Einklang mit dem Betrieb der Anwendung.
  • Der Host-Computer führt Manage-Funktionen durch, welche die Computer betreffen, die an der Online-Session teilnehmen. Beispielsweise immer dann, wenn ein Netzwerk-Computer sich einer Online-Session der Anwendung 440 anschließt, weist der Host-Computer eine Identifikations-Indexnummer oder Indexzahl dem Computer zu, der sich der Session anschließt. Der Host-Computer hält eine Liste der Identifikations-Indexnummern bereit und auch deren zugeordnete Netzwerk-Computer. Die Indexnummer oder Indexzahl wird verwendet, wenn Nachrichten gesendet werden und wird auch zum Aufrechterhalten der Besitzer-Aufzeichnungen verwendet in Bezug auf die Session-Master-Funktionalität.
  • Wie oben dargelegt wurde, kann mehr als nur ein Session-Master in einer Online-Session vorhanden sein oder an dieser teilnehmen. Der Weg, gemäß welchem ein Session-Master zugewiesen wird, kann durch die Anwendung in Einklang mit dem Betrieb der Anwendung bestimmt werden. Die Anwendung 440 kann auch dem Session-Master Verantwortlichkeit dahingehend zuweisen, um Update-Nachrichten zu versenden, um die Netzwerk-Computer auf den neuesten Stand zu bringen und zwar in Bezug auf den Status von allen Netzwerk-Computern, die an der Online-Session teilnehmen. Diese Verantwortlichkeit veranlasst den Session-Master die teilnehmenden Netzwerk-Computer zu unterrichten, wenn sich ein neuer Netzwerk-Computer der Online-Session anschließt oder wenn ein momentaner Teilnehmer die Online-Session der Anwendung 440 verlässt, wie dies noch weiter unten vollständiger beschrieben wird.
  • Der Host-Computer, der die zuvor erwähnte Indexnummer jedem der Computer zuweist, erhält auch eine Liste von allen Netzwerk-Computern, die an der Online-Session teilnehmen. Die Anwendung 440 hält dann Spur mit dem Session-Master-Besitzer oder Besitz entsprechend der Indexnummer, die dem Computer zugeordnet wurde. Um Spur mit der Indexnummer und den Verantwortlichkeits-Zuweisungen zu halten, kann die Anwendung 440 eine Datenstruktur aufweisen wie beispielsweise in der Form einer Tabelle, bestehend aus einer Netzwerk-Computer-Indexliste, das heißt einer Tabelle 500, die in 5 gezeigt ist. Die Tabelle 500 enthält eine Indexnummer oder Indexzahl, die jedem Netzwerk-Computer zugeordnet ist, der an der Online-Session teilnimmt, und enthält auch eine Anzeige darüber, ob der Netzwerk-Computer die Session-Master-Funktion besitzt. Die Indexlisten-Datenstruktur, welche die Tabelle 500 aufweist, spezifiziert in bevorzugter Weise auch das Kommunikationsprotokoll, welches für jeden Netzwerk-Computer verwendet werden soll. 5 zeigt unterschiedliche Session-Master-Aufgaben (C1, C2, C3), die von unterschiedlichen Netzwerk-Computern erworben werden können.
  • Zusätzlich zu der Spezifizierung des Kommunikationsprotokolls spezifiziert die Datenstruktur auch für jeden Netzwerk-Computer den Port, welchem das Kommunikationsprotokoll zugeordnet ist. Jedes Ereignis oder Moment der Anwendung 440 ermöglicht es dem zugeordneten Netzwerk-Computer, der an der Online-Session teilnimmt, vielfache Kommunikations-Ports zu öffnen, wobei jedem Port ein spezielles Kommunikationsprotokoll zugeordnet wird. Die Netzwerk-Computer kommunizieren mit anderen Netzwerk-Computern unter Verwendung eines speziellen Ports und eines speziellen Protokolls, welches in der Datenstruktur spezifiziert ist, die aus der Tabelle 500 besteht, die in 5 gezeigt ist. Die Ports können Netzwerk-Sockel umfassen, über die die Einrichtungen in Verbindung mit der Anwendung 440 über das Netzwerk kommunizieren können. Die Netzwerk-Computer übertragen in bevorzugter Weise Port-/Protokoll-Informationen als auch andere Informationen, die in der Indexliste enthalten sind, indem sie periodisch Kommunikationsnachrichten untereinander austauschen und zwar über das Netzwerk.
  • In bevorzugter Weise erhalten alle Computer, die an der Online-Session teilnehmen, ihre eigene Kopie der Indexliste gemäß der Tabelle 500. Es sei darauf hingewiesen, dass die Tabelle 500 lediglich ein Beispiel darstellt, und dass die initiierende Host-Anwendung 440 Spur mit den Client-Indexzahlen und dem Session-Master-Besitztum in anderer Weise halten kann und zwar unter Verwendung einer Vielfalt an Datenstrukturformaten. Alternativ können die Session-Computer eine oder mehrere Kopien der Tabelle gemeinsam benutzen.
  • Die initialisierende Anwendung 440 kann in vielfältigen Kommunikationskonfigurationen betrieben werden, abhängig davon auf welche Weise die Anwendung 440 den Besitz des Session-Masters zuordnet. Bei einer ersten Konfiguration, die in 6 gezeigt ist, ist der initialisierenden Anwendung 440 der Besitz eines Session-Masters 600 zugeordnet und zwar zu einem einzelnen Computer wie beispielsweise dem ausgewählten Server-Computer 420. Daher besitzt der Computer 420 die Verantwortlichkeit für alle die Aufgaben, die der Session-Master-Funktion zugeordnet sind, wie dies durch die initialisierende Anwendung 440 diktiert wird. Daher arbeitet die Anwendung 440 in einer Client-Server-Kommunikationskonfiguration in Bezug auf die Funktionen des Session-Masters, wobei der Server-Computer 420 Daten zu den Client-Servern 410 liefert, welche die Session-Master-Verantwortlichkeiten betreffen.
  • Es sei darauf hingewiesen, dass irgendeine der Computer, der in der Online-Session der Anwendung 440 teilnimmt, den Besitz von einer oder mehreren der Session-Master-Aufgaben aufweisen kann und zwar dort, wo einer der Client-Computer 410 so gezeigt ist, dass er ein Session-Master 600a erwirbt, was in 6 durch Phantom-Linien gezeigt ist. Dies zeigt an, dass der Client-Computer zugeordnet wurde und eine oder mehrere Session-Master-Aufgaben ausführt und zwar zusammen mit oder anstelle von dem Nenn-Session-Master-Server-Computer 420. Das heißt, es kann mehrere Instanzen eines Session-Masters unter den Computern geben, die an der Online-Session teilnehmen, wobei jeder Einrichtung eines Session-Masters spezifische Verantwortlichkeiten zugeordnet werden und jede Session-Master-Aufgabe einem unterschiedlichen Netzwerk-Computer zugeordnet wird oder viele Aufgaben dem gleichen Computer zugeordnet werden. Beispielsweise zeigt 6 eine Situation, bei der zwei Session-Master 600 und 600a vorhanden sind, wobei jedem die Verantwortlichkeit für eine bestimmte Funktionalität zugewiesen ist, welche die Online-Session der Anwendung 440 betrifft. Der Server-Computer 420 besitzt bestimmte Verantwortlichkeiten, und der Client-Computer 410 besitzt bestimmte Verantwortlichkeiten, wie diese durch die Anwendung bestimmt werden. Dies ist eine integrierte Server-Konfiguration, bei der der Client-Computer 410, der den Session-Master 600a erwirbt, als integrierter Server funktioniert. Ein "integrierter Server" bezeichnet hier eine Situation, bei der alle Clients Informationen zu einem Client senden, der als integrierter Server bezeichnet ist und wobei dieser integrierte Server Informationen zu anderen Clients aussendet oder verteilt. Der als integrierter Server agierende Client kann ebenfalls eine oder mehrere Session-Master-Aufgaben erwerben.
  • Bei einem anderen Schema, welches in 7 gezeigt ist, enthält die Anwendung 440 einen verteilten Besitz des Session-Masters 600 unter mehreren Computern. Bei dem veranschaulichten Beispiel sind beide Client-Computer 410 mit dem Besitz des Session-Masters 600 versehen. In einem solchen Fall können beide Computer die Funktionen ausführen, die dem Session-Master zugeordnet sind, so dass die Netzwerk-Computer in 7 in einer Peer-to-Peer-Konfiguration vorliegen. Ungeachtet der speziellen Kommunikations-Konfiguration, in welcher die Anwendung 440 arbeitet, enthält die Online-Session der Anwendung verschiedene Netzwerk-Teilnehmer, bestehend aus den Netzwerk-Computern, auf denen die Anwendung läuft und die interagieren und zwar entsprechend der Online-Session. Wenn einer der Teilnehmer in der Online-Session die Session verlässt, kann dies zu einer Unterbrechung für die anderen Teilnehmer führen, die in der Session verbleiben. In Einklang mit einem Aspekt der Erfindung ist die Anwendung 440 so konfiguriert, um Situationen zu handhaben, bei denen ein Teilnehmer eine Online-Session verlässt, um dabei die Unterbrechung für die verbleibenden Teilnehmer minimal zu halten.
  • Dies wird mehr in Einzelheiten unter Hinweis auf das Flussdiagramm beschrieben, welches in 8 gezeigt ist, welches einen Prozess gemäß einem Manage-Vorgang beim Verlassen eines Teilnehmers einer Online-Session der Vielfach-Anwender-Anwendung 440 beschreibt. Bei der ersten Operation, die durch das Flussdiagrammbox mit der Nummer 810 wiedergegeben ist, wird bestimmt, dass ein Teilnehmer der Online-Session der Anwendung die Online-Session verlassen hat. Die Bestimmung, dass ein Teilnehmer die Online-Session verlassen hat, kann auf sehr verschiedene Weise durchgeführt werden. Bei einer Ausführungsform bewirkt die Einrichtung für die Anwendung 440 auf einem Netzwerk-Computer, der an der Online-Session teilnimmt, periodisch, dass der Netzwerk-Computer eine Update-Nachricht aussendet, um dabei andere Netzwerk-Computer über sein Vorhandensein in der Online-Session zu unterrichten. Wenn keine Update-Nachricht von einem speziellen oder bestimmten Netzwerk-Computer empfangen wird, und zwar innerhalb eines vorbestimmten Zeitbetrages, wird angenommen, dass der Netzwerk-Computer aus der Online-Session ausgetreten ist. Während der Erstellung der Online-Session, kann die Einrichtung für die Anwendung 440 auf dem Computer, die die Online-Session startet, einen bestimmten Computer wie beispielsweise einen Session-Master-Computer eine Zuweisung geben und zwar mit der Verantwortlichkeit die Bestimmung durchzuführen, dass ein Teilnehmer die Online-Session verlassen hat.
  • Bei der nächsten Operation, die durch die Flussdiagrammbox mit der Nummer 820 wiedergegeben ist, bewirkt die Einrichtung der Anwendung 440 in einem der Computer das Aussenden einer Benachrichtigungs-Nachricht zu allen den Teilnehmern der Online-Session, wobei diese darüber unterrichtet werden, dass ein Teilnehmer (der "ausgeschiedene Teilnehmer") die Session verlassen hat. Lediglich einer der Netzwerk-Computer wie beispielsweise der Session-Master-Computer sendet die Unterrichtungs-Nachricht an alle die Teilnehmer aus. Wenn der Session-Master-Computer der ausscheidende oder austretende Computer ist, sendet einer der anderen Netzwerk-Computer die Nachricht aus wie beispielsweise der Computer mit der nächstfolgenden Indexzahl nach dem Session-Master-Computer. Die Unterrichtungsnachricht enthält in bevorzugter Weise den Index, der an früherer Stelle dem Netzwerk-Computer für den ausgeschiedenen Teilnehmer zugeordnet wurde. Auf diese Weise können die anderen Teilnehmer den ausgeschiedenen Teilnehmer identifizieren, indem sie die Index-Tabelle konsultieren, die weiter oben in Bezug auf 5 erläutert wurde.
  • Die nächste Operation ist unterschiedlich und zwar basierend und abhängig davon, ob der Teilnehmer, der die Session verlassen hat, für die Ausführung von irgendwelchen Session-Management-Funktionen verantwortlich war, die die anderen Teilnehmer der Online-Session beeinflussen können, wie dies durch die Entscheidungsbox Nummer 830 wiedergegeben ist. Die Management-Funktionen enthalten Funktionen wie beispielsweise das Filtern von Kommunikationsnachrichten, Zuweisen von Identifikations-Indizes, Score-Keeping, Spurhalten der Session-Zeiten, Spurhalten der Datenelemente, die in einer Online-Welt lokalisiert sind, Spurhalten mit Teilnehmer-Orten in einer Online-Welt und so weiter. Wenn der Teilnehmer, der die Session verlassen hat, für das Ausführen von irgendwelchen solchen Funktionen verantwortlich war und ein "JA" aus der Entscheidungsbox 830 erhalten wird, verläuft der Prozess zu der Operation, die durch die Flussdiagrammbox mit der Nummer 840 wiedergegeben ist. Bei dieser Operation führt die Anwendung 440 eine erneute Zuweisung der Mangement-Verantwortlichkeiten des ausgeschiedenen Teilnehmers zu einem Netzwerk-Computer durch und zwar eines anderen Teilnehmers, der noch in der Online-Session vorhanden ist. Das Wiederzuordnen oder Zuweisen der Management-Verantwortlichkeiten wird in bevorzugter Weise durch eine Einrichtung der Anwendung 440 auf einem spezifischen Computer durchgeführt wie beispielsweise einem Computer, der die nächste folgende Indexzahl nach der Indexzahl des Computers besitzt, der die Online-Session verlassen hat. Beispielsweise kann ein Computer mit einer ersten Indexzahl die Session verlassen. Die Einrichtung der Anwendung auf dem Computer mit der nächstfolgenden Indexzahl (in der Tabelle 500 spezifiziert, die in 5 gezeigt ist), führt dann die erneute Zuweisung der Leistungen des ausgeschiedenen Computers durch.
  • Die Art, in welcher die Anwendung 440 die Verantwortlichkeiten erneut zuweist, kann variieren. Bei einer Ausführungsform wählt die Anwendung 440 automatisch den Teilnehmer, dem die Verantwortlichkeiten basierend auf bestimmten Faktoren neu zugeordnet werden, von denen einige die Bedingungen oder Zustände der Netzwerk-Computer der Teilnehmer betreffen. Die Bedingungen oder Zustände können beispielsweise die Kommunikationsumgebung, geographische Örtlichkeit, und die Hardware-Spezifikation der Netzwerk-Computer enthalten, ebenso anwenderspezifische Bevorzugungen.
  • Die Kommunikationsumgebung bedeutet hier, ob der Netzwerk-Computer des Teilnehmers große Bandbreiten-Fähigkeiten besitzt wie beispielsweise ein Kabel-Modem oder DSL. In bevorzugter Weise werden Teilnehmer mit hohen Bandbreiten-Fähigkeiten stärker bevorzugt, um die Verantwortlichkeiten des ausgeschiedenen Teilnehmers zu übernehmen oder anzunehmen. Die geographische Örtlichkeit der Teilnehmer kann auch einen Faktor darstellen, um zu entscheiden, welchem Teilnehmer die Verantwortlichkeiten des ausgeschiedenen Teilnehmers zugeordnet werden. Beispielsweise kann einem Teilnehmer, der zentral bei den anderen Teilnehmern gelegen ist, eine höhere Priorität zugewiesen werden, um die Latenz für die Kommunikationen minimal zu halten. Die Hardware-Spezifikationen der Netzwerk-Computer, die an der Online-Session teilnehmen, bilden ebenfalls einen Faktor. Die Anwendung 440 kann den Netzwerk-Computern eine höhere Priorität zuweisen, welche Hardware-Fähigkeiten besitzen, die äußerst geeignet für die Verantwortlichkeiten sind, die erneut zugewiesen werden, also Computern mit starken Datenverarbeitungsfähigkeiten.
  • Bei einer anderen Ausführungsform der Operationen der Flussdiagrammbox 840 kann die Anwendung 440 einfach willkürlich die Verantwortlichkeiten des ausgeschiedenen Teilnehmers zu anderen Teilnehmern der Online-Session erneut zuweisen. Die Anwendung 440 kann auch anwenderspezifische Bevorzugungen in Betracht ziehen. Einige Anwender können in Bezug auf die Anwendung 440 eine Spezifizierung vornehmen, gemäß welcher sie nicht wünschen, eine Verantwortlichkeit zum Managen irgendwelcher Anwendungs-Funktionalität zugewiesen zu erhalten. Die Anwender können auch spezifizieren, dass einem bestimmten Teilnehmer die Verantwortlichkeiten zugewiesen werden, wenn ein anderer Teilnehmer die Online-Session verlässt. Alternativ kann die Anwendung 440 auch bewirken, dass eine Nachricht zu allen Teilnehmern der Online-Session gesendet wird mit der Anfrage, ob irgendein Teilnehmer die Verantwortlichkeiten übernehmen möchte, die an früherer Stelle dem ausgeschiedenen Teilnehmer zugeordnet waren.
  • Die nächste Operation ist durch die Flussdiagrammbox mit der Nummer 850 wiedergegeben. Diese Operation tritt auf, nachdem die Anwendung 440 die Verantwortlichkeiten des ausgeschiedenen Teilnehmers wieder zugewiesen hat. Die Operation der Flussdiagrammbox 850 tritt auch auf, wenn der ausgeschiedene Teilnehmer keinerlei Verantwortlichkeiten besessen hat, die eine neue Zuweisung oder Zuordnung erfordern würden, was zu dem Ergebnis von "Nein" führt, welche aus der Entscheidungsbox herausgelangt, die die Nummer 830 hat. Bei dieser Operation versucht die Anwendung 440 einen neuen Teilnehmer zu erreichen, um den ausgeschiedenen Teilnehmer zu ersetzen. Der Versuch wird in bevorzugter Weise durch ein Moment der Anwendung 440 auf einem spezifischen Computer durchgeführt wie beispielsweise dem Session-Master-Computer. Es sei darauf hingewiesen, dass sich diese Operation von der Operation der Flussdiagrammbox 840 dadurch unterscheidet, dass diese Operation darauf abzielt, einen Teilnehmerersatz für die Online-Session zu gewinnen, der an die Stelle des ausgeschiedenen Teilnehmers tritt, und nicht eine Wiederzuordnung der Manage-Funktionen des ausgeschiedenen Teilnehmers.
  • Beispielsweise kann die Online-Session aus einem Online-Fußballspiel bestehen, bei dem die Teilnehmer aus jeweils einem Spieler eines gemeinsamen Teams bestehen. Einem der Teilnehmer können Management-Funktionen zugeordnet sein, gemäß einem Spurhalten der Auswertung der Spiele-Zeit. Dieser gleiche Teilnehmer kann die Rolle eines Abwehrspielers in dem Spiel haben. Wenn der Teilnehmer das Online-Spiel während des Spieles verlässt, führt die Anwendung 440 eine Wiederzuordnung der Management-Funktionen (das heißt Aufrechterhalten der Auswertung und der Spiele-Zeit-Verantwortlichkeiten) des ausgeschiedenen Teilnehmers zu einem anderen Teilnehmer bei der Operation 840 durch und versucht dann bei der Operation 850 einen neuen Teilnehmer zu gewinnen, um die Rolle des ausgeschiedenen Teilnehmers als Abwehrspieler zu ersetzen.
  • Die Art, in welcher die Anwendung 440 versucht einen Ersatzteilnehmer für die Online-Session zu gewinnen, kann variieren. Bei einer Ausführungsform weist die Anwendung 440 automatisch einen Netzwerk-Computer als einen Ersatz für den ausgeschiedenen Teilnehmer zu, anstelle eines Menschen. Der Netzwerk-Computer führt dann die Funktionen des ausgeschiedenen Teilnehmers durch. Bei einer anderen Ausführungsform hält die Anwendung 440 eine Liste des Netzwerk-Computers, die dazu imstande ist an der Online-Session teilzunehmen und sendet dann eine Nachricht zu solchen Computern, um diese zur Teilnahme an der Session einzuladen. Die Anwendung 440 kann dabei die Online-Session in einen Pause-Modus versetzen während der Ersatzteilnehmer gewonnen wird.
  • Die Anwendung 440 wird in bevorzugter Weise unter Verwendung eines Software-Entwicklungskits (SDK) gewonnen, welches eine Bibliothek des Objektes liefert und Kommunikationsnachrichten-Definitionen, die in der Anwendung 440 verwendet werden. Das Software-Entwicklungskit enthält ein Anwendungs-Interface, über welches Anwendungen, die unter Verwendung des SDK erzielt werden, auf einem Netzwerk-System laufen können wie beispielsweise dem Netzwerk-System 400. Das Anwendungs-Interface kann in einem zentralen Netzwerk-Server wie beispielsweise dem Server 420 vorhanden sein, auf den sich Netzwerk-Computer, welche die Anwendung 440 besitzen, einloggen können, um bei der Online-Session der Anwendung in Betrieb zu kommen. Unter Verwendung des Objektes und der Nachrichtentypen, die durch den SDK geliefert werden, kann die Anwendung 440 so entwickelt werden, dass sie Merkmale enthält, wie sie oben beschrieben wurden. Das SDK enthält in bevorzugter Weise eine Objekt-Definitionsstruktur, die eine Client-gestützte Definition von Objekten liefert, die durch die Anwendung 440 verwendet werden. Die Objekt-Definition enthält eine Vielzahl von Charakteristika, die jedem Objekt zugeordnet sind, und durch die Anwendung verwendet werden, um eine Interaktion mit Clients über das Computernetzwerk zu bewirken.
  • Wenn die Anwendung 440 unter Verwendung des SDKs einmal entwickelt worden ist, kann die Anwendung 440 auf einen oder auf mehrere Netzwerk-Computer geladen werden und es kann dann die Online-Session gemäß den Operationen erstellt werden, die in der Flussdiagrammbox von 9 gezeigt sind. Bei der ersten Operation, die durch die Flussdiagrammbox mit der Nummer 910 wiedergegeben ist, verbindet sich ein Netzwerk-Computer, auf welchen die Anwendung 440 geladen worden ist, mit einem Netzwerk-Computer, der einen Speicher mit der Anwendungs-Interface-Software gespeichert enthält. Beispielsweise kann einer oder können mehrere der Client-Computer 410 des Netzwerk-Systems 400, welches in 4 gezeigt ist, die Anwendung 440 in einem Speicher geladen enthalten und der Server-Computer 420 kann dann das Anwendungs-Interface enthalten. In einem solchen Fall erstellen die Client-Computer 410 eine Kommunikationsverbindung mit dem Server-Computer 410 und zwar über das Netzwerk 430.
  • Bei der nächsten Operation, die durch die Flussdiagrammbox mit der Nummer 920 wiedergegeben ist, registriert die Anwendung 440 Objekte gemäß den Objekt-Definitionen, die in der Bibliothek des Anwendungs-Interface verfügbar sind. Die Anwendung 440 registriert auch jegliche Nachrichtenfilter, die während der Online-Session verwendet werden, wie dies durch die Flussdiagrammbox mit der Nummer 930 wiedergegeben ist.
  • Bei der nächsten Operation, die durch die Flussdiagrammbox mit der Nummer 940 wiedergegeben ist, definiert die Anwendung 440 den Session-Master und ordnet den Besitz des Session-Masters einem der Netzwerk-Computer zu. Der Besitz des Session-Masters kann einem Computer zugeordnet werden oder zugewiesen werden und kann auch einer Vielzahl von Computern zugewiesen werden. Die Anwendung 440 spezifiziert auch, ob der Besitz des Session-Masters für einen bestimmten Computer bestimmt ist oder ob der Besitz auch zu anderen Computern wandern kann.
  • Während dieser Operation weist die Anwendung 440 Client-Indizes zu jedem der Netzwerk-Computer zu, die an der Online-Session teilnehmen und erstellt auch die Index-Tabelle, die oben beschrieben wurde. Die Anwendung 440 kann so konfiguriert werden, dass der erste Netzwerk-Computer sich auf dem Server-Computer einloggt und der Session-Master wird und auch einen Anfangs-Index empfängt wie beispielsweise einen Index von Eins oder von Null. Es sei darauf hingewiesen, dass auch der Anfangs-Index variieren kann. Nachfolgende Netzwerk-Computer, die sich einloggen, empfangen dann den nächsten verfügbaren Index. Nachdem der Besitz oder das Besitztum des Session-Masters oder der Session-Master erstellt worden ist, wird die Online-Session der Anwendung 440 eingeleitet, wie dies durch die Flussdiagrammbox mit der Nummer 950 wiedergegeben ist.
  • Wie oben dargelegt wurde, enthalten die Netzwerk-Computer, die in dem Blockdiagramm von 4 gezeigt sind, Knotenpunkte eines Computernetzwerksystems 400. 10 zeigt ein Blockdiagramm eines Computers in dem System 400 von 4, wobei die Hardware-Komponenten, die in einem der Computer enthalten sind, veranschaulicht sind. Fachleute erkennen hierbei, dass die Vorrichtungen 410 und 420 alle eine ähnliche Computerkonstruktion aufweisen können oder auch alternative Konstruktionen aufweisen können, die mit den hier beschriebenen Fähigkeiten in Übereinstimmung sind.
  • 10 zeigt einen beispielhaften Computer 1000, der beispielsweise aus irgendeinem der Netzwerk-Computer bestehen kann. Jeder Computer 1000 arbeitet unter der Steuerung einer zentralen Prozessoreinheit (CPU) 1002, wie beispielsweise einem "Pentium"-Mikroprozessor und zugeordnete integrierte Schaltungschips, die von der Firma Intel Corporation von Santa Clara, Kalifornien, USA verfügbar sind. Ein Computeranwender kann Befehle und Daten von einem Keyboard und einer Computermaus 1004 eingeben und kann die Eingaben betrachten und auch die Computerausgabe betrachten und zwar an einer Anzeige 1006. Die Anzeige besteht in typischer Weise aus einem Video-Monitor oder einem Flachbildschirm. Der Computer 1000 enthält auch eine Speichervorrichtung (DASD) 1008 mit direktem Zugriff wie beispielsweise ein Festplattenlaufwerk. Der Speicher 1010 umfasst in typischer Weise einen flüchtigen Halbleiterspeicher (RAM) mit wahlfreiem Zugriff. Jeder Computer enthält in bevorzugter Weise eine Programmprodukt-Lesevorrichtung 1012, die eine Programmprodukt-Speichervorrichtung 1014 aufweist, aus welcher die Programmprodukt-Lesevorrichtung Daten lesen kann (und in welche diese optional Daten einschreiben kann). Die Programmprodukt-Lesevorrichtung kann beispielsweise ein Plattenlaufwerk aufweisen und die Programmprodukt-Speichervorrichtung kann aus einem entfernbaren Speichermedium bestehen wie beispielsweise einer Magnet-Diskette, einer CD-R-Platte, einer CD-RW-Platte oder einer DVD-Platte.
  • Jeder Computer 1000 kann mit anderen über ein Computernetzwerk 1020 kommunizieren (wie beispielsweise über das Internet oder ein Intranet) und zwar über ein Netzwerk-Interface 1018, welches eine Kommunikation über eine Verbindung 1022 zwischen dem Netzwerk 1020 und dem Computer ermöglicht. Das Netzwerk-Interface 1018 besteht in typischer Weise beispielsweise aus einer Netzwerk-Interface-Karte (Network Interface Card; NIC) oder einem Modem, welche oder welches Kommunikationen über eine Vielfalt von Netzwerken zulässt.
  • Die CPU 1002 arbeitet unter der Steuerung von Programmierschritten, die zeitweilig in dem Speicher 1010 des Computers 1000 gespeichert werden. Wenn die Programmierschritte ausgeführt werden, führt der Computer seine Funktionen aus. Somit implementieren die Programmierschritte die Funktionalität der Anwendung 440.

Claims (15)

  1. Verfahren zum Managen von Teilnehmern (120) in einer Online-Sitzung einer Vielfachanwender-Anwendung, mit den folgenden Schritten: Initiieren einer Online-Sitzung der Vielfachanwender-Anwendung, wobei die Online-Sitzung zwei oder mehrere Teilnehmer umfasst, die aus Netzwerkcomputern gebildet sind, die mit einem Computernetzwerk kommunikativ verbunden sind; wobei das Verfahren ferner umfasst: Detektieren (810), das ein erster Teilnehmer sich von der Online-Sitzung abgetrennt hat, wobei der erste Teilnehmer für den Managevorgang einer bestimmten Management-Funktionalität verantwortlich ist, die dem Verlauf der Vielfachanwender-Anwendung zugeordnet ist; Senden (829) einer Benachrichtigung an die vorhandenen Teilnehmer der Online-Sitzung über das Kommunikationsnetzwerk, wobei die vorhandenen Teilnehmer darüber unterrichtet werden, dass der erste Teilnehmer sich von der Online-Sitzung abgetrennt hat; erneut Zuordnen (840) der Funktionalität, die dem ersten Teilnehmer zugeordnet war, zu einem vorhandenen Teilnehmer der Online-Sitzung, dadurch gekennzeichnet, dass das Detektieren, dass ein Teilnehmer sich abgetrennt hat, den Schritt der Aussendung einer Update-Nachricht umfasst und, wenn eine Antwort innerhalb einer vorbestimmten Zeitdauer nicht empfangen wird, bestimmen, dass der Teilnehmer sich abgetrennt hat.
  2. Verfahren nach Anspruch 1, bei dem zusätzlich ein neuer Teilnehmer aufgenommen (850) wird, um den abgetrennten ersten Teilnehmer zu ersetzen.
  3. Verfahren nach Anspruch 1, bei dem die Vielfachanwender-Anwendung aus einer Spiele-Anwendung besteht und bei dem die managebare Funktionalität eine Auswertungs-Aufrechterhaltung (score-keeping) umfasst.
  4. Verfahren nach Anspruch 2, bei dem die Funktionalität, die dem ersten Teilnehmer zugeordnet war und einem anderen Teilnehmer der Online-Sitzung zugeordnet wird, dem neuen Teilnehmer erneut zugeordnet wird.
  5. Verfahren nach Anspruch 2, bei dem der neue Teilnehmer von einem Menschen gesteuert wird.
  6. Verfahren nach Anspruch 2, bei welchem der neue Teilnehmer Netzwerkcomputer gesteuert wird.
  7. Verfahren nach Anspruch 2, welches zusätzlich ein erneutes Zuordnen der Funktionalität, die dem ersten Teilnehmer zugeordnet war, zu einem anderen Teilnehmer der Online-Sitzung umfasst, basierend auf der Kommunikationsumgebung der vorhandenen Teilnehmer.
  8. Verfahren nach Anspruch 7, bei dem die dem ersten Teilnehmer zugeordnete Funktionalität, die dem anderen Teilnehmer der Online-Sitzung zugeordnet wird, zufallsmäßig dem anderen Teilnehmer erneut zugeordnet wird.
  9. System (400), welches Teilnehmer in einer Online-Sitzung einer Vielfachanwender-Anwendung managet, welches System eine Einrichtung umfasst, die dafür ausgelegt ist, um eine Online-Sitziung der Vielfachteilnehmer-Anwendung zu initialisieren, wobei die Online-Sitzung zwei oder mehrere Teilnehmer (410, 412) umfasst, die aus Netzwerkcomputer gebildet sind, die kommunikativ mit einem Computernetzwerk (430) verbunden sind; welches System folgendes aufweist: eine Einrichtung, die dafür ausgelegt ist, um zu detektieren (810), dass ein erster Teilnehmer sich von der Online-Sitzung abgetrennt oder abgekoppelt hat, wobei der erste Teilnehmer für das Management einer bestimmten managefähigen Funktionalität verantwortlich ist, die dem Verlauf der Vielfachanwender-Anwendung zugeordnet ist; eine Einrichtung, die dafür ausgelegt ist, um eine Benachrichtigung zu den vorhanden Teilnehmern der Online-Sitzung über das Kommunikationsnetzwerk zu senden (820), um dadurch die vorhandenen Teilnehmer darüber zu unterrichten, dass der erste Teilnehmer sich von der Online-Sitzung abgetrennt oder abgekoppelt hat; und eine Einrichtung, die dafür ausgelegt ist, um die Funktionalität, die dem ersten Teilnehmer zugeordnet war, einem vorhandenen Teilnehmer der Online-Sitzung erneut zuzuordnen (840), dadurch gekennzeichnet, dass die Einrichtung, die dafür ausgelegt ist, um zu detektieren (810), dass ein erster Teilnehmer sich von der Online-Sitzung abgetrennt oder abgekoppelt hat, dafür ausgelegt ist, eine Update-Nachricht auszusenden und, wenn keine Antwort innerhalb einer vorbestimmten Zeitdauer empfangen wird, den Teilnehmer als abgetrennt oder abgekoppelt anzunehmen.
  10. System nach Anspruch 9, ferner mit einer Einrichtung, die dafür ausgebildet ist, um einen neuen Teilnehmer (850) zum Ersetzen des abgetrennten ersten Teilnehmers zu gewinnen.
  11. System nach Anspruch 10, bei dem der neue Teilnehmer durch einen Menschen gesteuert ist.
  12. System nach Anspruch 10, bei dem der neue Teilnehmer Netzwerkcomputergesteuert ist.
  13. System nach Anspruch 9, bei dem die Vielfachanwender-Anwendung aus einer Spiele-Anwendung besteht und bei dem die managebare Funktionalität die Aufrechterhaltung einer Auswertung umfasst (score-keeping)
  14. System nach Anspruch 9, bei dem die Einrichtung zum Detektieren, dass ein Teilnehmer sich abgetrennt oder abgekoppelt hat, eine Einrichtung umfasst, um eine Update-Nachricht auszusenden, und eine Einrichtung umfasst, um eine Bestimmung durchzuführen, um dann, wenn keine Antwort innerhalb einer vorbestimmten Zeitdauer empfangen wird, den Teilnehmer als abgetrennt oder abgekoppelt anzunehmen.
  15. Programmprodukt für die Verwendung in einem Computersystem, welches Programmschritte durchführt, die in einem computerlesbaren Medium aufgezeichnet sind, um ein Verfahren gemäß einem der Ansprüche 1 bis 8 zum Managen von Teilnehmern in einer Online-Sitzung einer Vielfachanwender-Anwendung durchzuführen.
DE60312153T 2002-05-17 2003-03-18 Dynamische abspielgeräteverwaltung Expired - Lifetime DE60312153T2 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US38173602P 2002-05-17 2002-05-17
US381736P 2002-05-17
US211128 2002-07-31
US10/211,128 US20030217135A1 (en) 2002-05-17 2002-07-31 Dynamic player management
PCT/US2003/008682 WO2003100643A1 (en) 2002-05-17 2003-03-18 Dynamic player management

Publications (2)

Publication Number Publication Date
DE60312153D1 DE60312153D1 (de) 2007-04-12
DE60312153T2 true DE60312153T2 (de) 2007-11-15

Family

ID=29423165

Family Applications (1)

Application Number Title Priority Date Filing Date
DE60312153T Expired - Lifetime DE60312153T2 (de) 2002-05-17 2003-03-18 Dynamische abspielgeräteverwaltung

Country Status (11)

Country Link
US (6) US20030217135A1 (de)
EP (1) EP1506491B1 (de)
JP (1) JP3964905B2 (de)
KR (1) KR100638073B1 (de)
CN (1) CN100583078C (de)
AT (1) ATE355561T1 (de)
AU (1) AU2003224728A1 (de)
DE (1) DE60312153T2 (de)
ES (1) ES2282619T3 (de)
TW (1) TWI311265B (de)
WO (1) WO2003100643A1 (de)

Families Citing this family (68)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8458754B2 (en) 2001-01-22 2013-06-04 Sony Computer Entertainment Inc. Method and system for providing instant start multimedia content
US7711847B2 (en) 2002-04-26 2010-05-04 Sony Computer Entertainment America Inc. Managing users in a multi-user network game environment
US7606920B2 (en) * 2002-05-17 2009-10-20 Sony Computer Entertainment America Inc. Method and apparatus for controlling communication ports for an online session of a multi-user application by associating each of the ports with a protocol and designating an active port
US20030217135A1 (en) * 2002-05-17 2003-11-20 Masayuki Chatani Dynamic player management
US7421471B2 (en) * 2002-05-17 2008-09-02 Sony Computer Entertainment America Inc. Configuration switching: dynamically changing between network communication architectures
US8224985B2 (en) 2005-10-04 2012-07-17 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
US8560707B2 (en) 2007-10-05 2013-10-15 Sony Computer Entertainment America Llc Seamless host migration based on NAT type
US8131802B2 (en) 2007-10-05 2012-03-06 Sony Computer Entertainment America Llc Systems and methods for seamless host migration
US8060626B2 (en) 2008-09-22 2011-11-15 Sony Computer Entertainment America Llc. Method for host selection based on discovered NAT type
US7097562B2 (en) * 2003-06-03 2006-08-29 Wms Gaming Inc. Peer-to-peer distributed gaming application network
US7603464B2 (en) * 2003-06-04 2009-10-13 Sony Computer Entertainment Inc. Method and system for identifying available resources in a peer-to-peer network
US7401150B2 (en) * 2003-09-19 2008-07-15 Wildtangent, Inc. Joint consumption of content invitation methods and apparatus
US8010633B2 (en) * 2003-10-20 2011-08-30 Sony Computer Entertainment America Llc Multiple peer-to-peer relay networks
US7269590B2 (en) * 2004-01-29 2007-09-11 Yahoo! Inc. Method and system for customizing views of information associated with a social network user
CA2580239C (en) * 2004-09-21 2016-04-26 Timeplay Entertainment Corporation System, method and handheld controller for multi-player gaming
JP4782446B2 (ja) * 2005-03-15 2011-09-28 株式会社バンダイナムコゲームス ネットワークゲームシステム及び管理サーバ
DE102005034694A1 (de) * 2005-07-25 2007-02-01 Siemens Ag Verfahren zur Einrichtung von Dienstbeziehungen in einem dezentralen Netzwerk
CN100377530C (zh) * 2005-09-28 2008-03-26 华为技术有限公司 移动终端在联网游戏中断时自动恢复的方法及其系统
JP5501546B2 (ja) * 2005-10-04 2014-05-21 任天堂株式会社 ゲームシステム、ゲーム装置およびゲームプログラム
JP5005210B2 (ja) * 2005-11-11 2012-08-22 任天堂株式会社 ネットワークゲームシステム、ネットワークゲームプログラムおよびネットワーク構築方法
JP4001896B2 (ja) * 2005-11-30 2007-10-31 株式会社コナミデジタルエンタテインメント ゲームシステム、サーバ及び端末機
US20070136476A1 (en) * 2005-12-12 2007-06-14 Isaac Rubinstein Controlled peer-to-peer network
CN1852295B (zh) * 2005-12-30 2010-06-09 华为技术有限公司 一种网络游戏系统及其实现网络游戏的方法
US9604146B2 (en) * 2006-01-06 2017-03-28 International Business Machines Corporation Apparatus and method to play a multiplayer, online game
DE602006004157D1 (de) * 2006-02-17 2009-01-22 Mitel Networks Corp Verfahren, Netzwerk und IP Gerät zur beschleunigten Bekanntgabe eines defekten Servers
EP1953655A3 (de) * 2007-02-01 2008-12-31 Acei Ab System und Verfahren zur Transaktionsverarbeitung
US20080207315A1 (en) * 2007-02-27 2008-08-28 Sony Ericsson Mobile Communications Ab System and Method for Initiating a Gaming Session Using Event-Based Exchange of Information Between Communication Devices
US20080220870A1 (en) * 2007-03-02 2008-09-11 Emmanuel Zavolas Method and system for providing a seamless tournament system for multiplayer games
US7995478B2 (en) 2007-05-30 2011-08-09 Sony Computer Entertainment Inc. Network communication with path MTU size discovery
JP4933381B2 (ja) * 2007-08-23 2012-05-16 株式会社コナミデジタルエンタテインメント ネットワークゲームシステム、ネットワークゲームシステムの制御方法、ゲーム装置、ゲーム装置の制御方法及びプログラム
WO2009033507A1 (en) * 2007-09-14 2009-03-19 Telefonaktiebolaget Lm Ericsson (Publ) User data notification in a mobile communications system
US9483405B2 (en) 2007-09-20 2016-11-01 Sony Interactive Entertainment Inc. Simplified run-time program translation for emulating complex processor pipelines
US7908393B2 (en) 2007-12-04 2011-03-15 Sony Computer Entertainment Inc. Network bandwidth detection, distribution and traffic prioritization
US10058778B2 (en) 2007-12-05 2018-08-28 Sony Interactive Entertainment America Llc Video compression system and method for reducing the effects of packet loss over a communication channel
KR20100121598A (ko) * 2007-12-05 2010-11-18 온라이브, 인크. 통신 채널을 통한 패킷 손실의 초래를 감소시키기 위한 비디오 압축 시스템 및 방법
US7856506B2 (en) 2008-03-05 2010-12-21 Sony Computer Entertainment Inc. Traversal of symmetric network address translator for multiple simultaneous connections
US8495699B2 (en) * 2008-12-23 2013-07-23 At&T Intellectual Property I, L.P. Distributed content analysis network
JP5460145B2 (ja) * 2009-07-01 2014-04-02 キヤノン株式会社 データ処理装置、データ処理装置の制御方法、及びプログラム
US20110055315A1 (en) * 2009-09-03 2011-03-03 Flipside5, Inc. System and Method for Providing Connections Between Devices on a Network
US8556724B2 (en) * 2009-09-30 2013-10-15 Zynga Inc. Apparatuses, methods and systems for an online game manager
US8556713B2 (en) * 2009-10-20 2013-10-15 Michael Pilip Single to multi-user synchronous application conversion
US9457270B2 (en) * 2009-11-09 2016-10-04 Sony Interactive Entertainment America Llc Level server system for peer-to-peer cooperative games
US8126987B2 (en) 2009-11-16 2012-02-28 Sony Computer Entertainment Inc. Mediation of content-related services
US8433759B2 (en) 2010-05-24 2013-04-30 Sony Computer Entertainment America Llc Direction-conscious information sharing
US8814643B2 (en) * 2010-10-27 2014-08-26 Microsoft Corporation Challenge search query game
AU2012212356B2 (en) 2011-02-01 2016-10-06 Timeplay Inc. Systems and methods for interactive experiences and controllers therefor
US9270784B2 (en) 2011-02-16 2016-02-23 Masque Publishing, Inc. Peer-to-peer communications
US8838722B2 (en) 2011-02-16 2014-09-16 Masque Publishing, Inc. Communications adaptable to mobile devices
US20120246294A1 (en) * 2011-03-23 2012-09-27 Eric Thomas Eaton System and method of selecting devices to communicate with a node in a communication network
JP5743807B2 (ja) 2011-07-14 2015-07-01 株式会社スクウェア・エニックス 通信ゲームシステム、通信ゲーム装置及びプログラム
CN103229522A (zh) * 2011-11-25 2013-07-31 松下电器产业株式会社 主机设备、协作服务管理系统以及协作服务管理方法
US8882588B2 (en) * 2012-03-21 2014-11-11 Sony Computer Entertainment America Llc Method and apparatus for use in reserving a position within a simulation for another user
FI124994B (fi) * 2012-06-29 2015-04-15 Tribe Studios Oy Epälineaarisen tietokonepelin parannettu rakenne
US20140024461A1 (en) * 2012-07-23 2014-01-23 Zynga Inc. Replacing Players on a Collaborative Game Task in an Online Game
US9674267B2 (en) 2013-01-29 2017-06-06 Sony Interactive Entertainment America, LLC Methods and apparatus for hiding latency in network multiplayer games
US10491458B2 (en) * 2013-01-31 2019-11-26 Dell Products L.P. System and method for reporting peer-to-peer transfer events
CN104935450B (zh) * 2014-03-19 2018-12-25 新华三技术有限公司 一种访问会话管理方法及其装置
US10110683B2 (en) * 2015-08-11 2018-10-23 Unisys Corporation Systems and methods for maintaining ownership of and avoiding orphaning of communication sessions
WO2018101459A1 (ja) 2016-12-02 2018-06-07 ヤマハ株式会社 コンテンツ再生機器、収音機器、及びコンテンツ再生システム
US20200045094A1 (en) * 2017-02-14 2020-02-06 Bluejay Technologies Ltd. System for Streaming
GB201702386D0 (en) 2017-02-14 2017-03-29 Bluejay Tech Ltd System for streaming
US10512846B2 (en) * 2017-03-07 2019-12-24 Sony Interactive Entertainment LLC Emulating player behavior after player departure
US20190363940A1 (en) * 2018-05-23 2019-11-28 Nokia Solutions And Networks Oy Methods, apparatuses and computer-readable mediums for group-based scalable network resource controller clusters
US10938591B2 (en) * 2018-08-02 2021-03-02 Dell Products L.P. Multicast system
US10765952B2 (en) 2018-09-21 2020-09-08 Sony Interactive Entertainment LLC System-level multiplayer matchmaking
US10695671B2 (en) 2018-09-28 2020-06-30 Sony Interactive Entertainment LLC Establishing and managing multiplayer sessions
US20220051679A1 (en) * 2019-03-05 2022-02-17 Sony Group Corporation Information processing apparatus, information processing method, and program
US10985933B1 (en) * 2020-01-24 2021-04-20 Vmware, Inc. Distributed push notifications for devices in a subnet

Family Cites Families (194)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2002A (en) * 1841-03-12 Tor and planter for plowing
JPS6332725A (ja) 1986-07-26 1988-02-12 Konica Corp 多段分散を行う磁気記録媒体の製造方法
JPH0522346A (ja) 1991-07-15 1993-01-29 Oki Electric Ind Co Ltd 通信システムにおける着信転送方式
WO1994029803A1 (en) 1993-06-03 1994-12-22 Taligent, Inc. Place object system
WO1995031061A1 (en) * 1994-05-05 1995-11-16 Catapult Entertainment, Inc. Network architecture for real-time video games
US5630757A (en) * 1994-11-29 1997-05-20 Net Game Limited Real-time multi-user game communication system using existing cable television infrastructure
US5682139A (en) * 1995-06-07 1997-10-28 General Electric Company Railcar location using mutter networks and locomotive transmitter during transit
US5826085A (en) 1995-07-12 1998-10-20 Oracle Corporation Object oriented computer interface supporting interactive networked applications
US5941947A (en) 1995-08-18 1999-08-24 Microsoft Corporation System and method for controlling access to data entities in a computer network
US6219045B1 (en) 1995-11-13 2001-04-17 Worlds, Inc. Scalable virtual world chat client-server system
US5823879A (en) 1996-01-19 1998-10-20 Sheldon F. Goldberg Network gaming system
AU2343097A (en) 1996-03-21 1997-10-10 Mpath Interactive, Inc. Network match maker for selecting clients based on attributes of servers and communication links
US5704032A (en) 1996-04-30 1997-12-30 International Business Machines Corporation Method for group leader recovery in a distributed computing environment
US5841980A (en) 1996-05-15 1998-11-24 Rtime, Inc. Distributed system for communication networks in multi-user applications
US6050898A (en) 1996-05-15 2000-04-18 Vr-1, Inc. Initiating and scaling massive concurrent data transaction
US5838909A (en) * 1996-05-23 1998-11-17 Sandcastle, Inc. Reducing latency when synchronizing access to a multi-user database over a network
US5862339A (en) 1996-07-09 1999-01-19 Webtv Networks, Inc. Client connects to an internet access provider using algorithm downloaded from a central server based upon client's desired criteria after disconnected from the server
US6098091A (en) * 1996-12-30 2000-08-01 Intel Corporation Method and system including a central computer that assigns tasks to idle workstations using availability schedules and computational capabilities
US6152824A (en) 1997-03-06 2000-11-28 Mpath Interactive, Inc. Online gaming architecture
US6151632A (en) 1997-03-14 2000-11-21 Microsoft Corporation Method and apparatus for distributed transmission of real-time multimedia information
US6041312A (en) 1997-03-28 2000-03-21 International Business Machines Corporation Object oriented technology framework for accounts receivable and accounts payable
US6530840B1 (en) 1997-04-02 2003-03-11 International Business Machines Corporation Method and system for an object architecture for a multi-user game lobby and game session
US5984787A (en) * 1997-06-17 1999-11-16 International Business Machines Corp. Method and system for multi-user game recovery
US5893106A (en) 1997-07-11 1999-04-06 International Business Machines Corporation Object oriented server process framework with interdependent-object creation
US5987376A (en) * 1997-07-16 1999-11-16 Microsoft Corporation System and method for the distribution and synchronization of data and state information between clients in a distributed processing system
US6106569A (en) 1997-08-14 2000-08-22 International Business Machines Corporation Method of developing a software system using object oriented technology
JPH1157215A (ja) 1997-08-20 1999-03-02 Fuji Xerox Co Ltd ネットワークゲームシステム、ネットワークゲームサーバ装置、ネットワークゲームクライアント装置、対局者選定プログラムを記録した媒体及び対局者情報取得プログラムを記録した媒体
US6154463A (en) * 1997-08-26 2000-11-28 Lucent Technologies, Inc. System and method for multicast conferencing and online discussion groups
JP3831092B2 (ja) 1997-09-19 2006-10-11 富士通株式会社 サーバ
US6769990B2 (en) 1998-02-06 2004-08-03 Robert Cohen Networked search and tracking games
JPH11234326A (ja) 1998-02-12 1999-08-27 Nippon Telegr & Teleph Corp <Ntt> 情報流通システム
US6844893B1 (en) 1998-03-09 2005-01-18 Looking Glass, Inc. Restaurant video conferencing system and method
US6247017B1 (en) 1998-03-20 2001-06-12 Sun Microsystems, Inc. Server-client communication over a network
US6108569A (en) 1998-05-15 2000-08-22 E. I. Du Pont De Nemours And Company High temperature superconductor mini-filters and mini-multiplexers with self-resonant spiral resonators
US6549946B1 (en) 1998-05-21 2003-04-15 International Business Machines Corporation Apparatus and method for telecommunication routing and parameter negotiation
JP2000000376A (ja) 1998-06-12 2000-01-07 Namco Ltd ゲーム装置のランキング表示方法
US6260120B1 (en) 1998-06-29 2001-07-10 Emc Corporation Storage mapping and partitioning among multiple host processors in the presence of login state changes and host controller replacement
US6463078B1 (en) * 1998-07-22 2002-10-08 Microsoft Corporation Method for switching protocols transparently in multi-user applications
JP2002522998A (ja) 1998-08-17 2002-07-23 ネット トーク、インク. インターネットおよびイントラネットを含むローカルおよびグローバルネットワークによるオーディオ会議用のコンピューター・アーキテクチャーおよびプロセス
US6363416B1 (en) * 1998-08-28 2002-03-26 3Com Corporation System and method for automatic election of a representative node within a communications network with built-in redundancy
US6487583B1 (en) 1998-09-15 2002-11-26 Ikimbo, Inc. System and method for information and application distribution
JP2000124939A (ja) 1998-10-13 2000-04-28 Nippon Telegr & Teleph Corp <Ntt> マルチメディア通信システム及びこのシステムを構成する装置並びに該装置のプログラムを記録した媒体
JP2000148753A (ja) * 1998-11-05 2000-05-30 Sharp Corp 電子メール作成方法および電子メール作成方法をコンピュータに実行させるための電子メール作成プログラムを記録したコンピュータで読取り可能な記録媒体
JP2000157724A (ja) 1998-11-24 2000-06-13 Sega Enterp Ltd ネットワークを利用したゲームシステム、ネットワークに接続可能なゲーム機及びこのゲーム機のためのプログラムが記録された媒体
US6931446B1 (en) 1998-12-14 2005-08-16 International Business Machines Corporation Methods, systems and computer program products for policy based network control of characteristics of user sessions
JP2001187273A (ja) 1999-01-28 2001-07-10 Sega Corp ネットワークゲームシステム、これに使用されるゲーム装置端末及び記憶媒体
US6142472A (en) 1999-03-02 2000-11-07 Kliebisch; Henry Corporate ladder game
KR100741463B1 (ko) 1999-05-10 2007-07-20 텔레폰악티에볼라겟엘엠에릭슨(펍) 통신 네트워크에서의 방법 및 장치
US6763371B1 (en) 1999-05-10 2004-07-13 Telefonaktiebolaget Lm Ericsson (Publ) Method and apparatus for collaborative communication in a communication network
US6470022B1 (en) * 1999-05-19 2002-10-22 3Com Corporation Method of distributing network resources fairly between users in an asynchronous transfer mode network
WO2000077630A1 (en) * 1999-06-11 2000-12-21 British Telecommunications Public Limited Company Communication between software elements
US6539494B1 (en) 1999-06-17 2003-03-25 Art Technology Group, Inc. Internet server session backup apparatus
US6587874B1 (en) 1999-06-29 2003-07-01 Cisco Technology, Inc. Directory assisted autoinstall of network devices
US6577628B1 (en) 1999-06-30 2003-06-10 Sun Microsystems, Inc. Providing quality of service (QoS) in a network environment in which client connections are maintained for limited periods of time
US6446113B1 (en) * 1999-07-19 2002-09-03 Groove Networks, Inc. Method and apparatus for activity-based collaboration by a computer system equipped with a dynamics manager
US6519639B1 (en) * 1999-07-21 2003-02-11 Microsoft Corporation System and method for activity monitoring and reporting in a computer network
US6561811B2 (en) * 1999-08-09 2003-05-13 Entertainment Science, Inc. Drug abuse prevention computer game
US6352479B1 (en) 1999-08-31 2002-03-05 Nvidia U.S. Investment Company Interactive gaming server and online community forum
US6487678B1 (en) 1999-08-31 2002-11-26 International Business Machines Corporation Recovery procedure for a dynamically reconfigured quorum group of processors in a distributed computing system
JP4240695B2 (ja) * 1999-11-12 2009-03-18 株式会社日立製作所 機器間協調制御方法及びシステム
US6748420B1 (en) 1999-11-23 2004-06-08 Cisco Technology, Inc. Methods and apparatus for providing shared access to an application
US7337210B2 (en) * 2000-01-13 2008-02-26 International Business Machines Corporation Method and apparatus for determining availability of a user of an instant messaging application
JP3512386B2 (ja) * 2000-01-20 2004-03-29 株式会社スクウェア・エニックス オンライン複合サービス提供処理方法およびオンライン複合サービス提供処理システム
US20010044339A1 (en) * 2000-02-17 2001-11-22 Angel Cordero Multi-player computer game, system and method
KR100505281B1 (ko) * 2000-02-18 2005-08-04 (주)아이콤 소프트 비디오게임 론칭 서버와 이를 이용한 네트워크를 통한비디오게임 시스템 및 방법
US7240093B1 (en) * 2000-02-29 2007-07-03 Microsoft Corporation Use of online messaging to facilitate selection of participants in game play
US7720908B1 (en) * 2000-03-07 2010-05-18 Microsoft Corporation System and method for multi-layered network communications
US6654831B1 (en) 2000-03-07 2003-11-25 International Business Machine Corporation Using multiple controllers together to create data spans
US20020042830A1 (en) * 2000-03-31 2002-04-11 Subhra Bose System, method and applications real-time messaging over HTTP-based protocols
JP2001312468A (ja) 2000-04-28 2001-11-09 Konami Co Ltd ネットワーク接続制御方法及び接続制御システム
WO2001082678A2 (en) * 2000-05-02 2001-11-08 Sun Microsystems, Inc. Cluster membership monitor
JP2001314657A (ja) 2000-05-08 2001-11-13 Sega Corp ネットワークシステム及び記憶媒体
US20020023117A1 (en) * 2000-05-31 2002-02-21 James Bernardin Redundancy-based methods, apparatus and articles-of-manufacture for providing improved quality-of-service in an always-live distributed computing environment
US7056217B1 (en) 2000-05-31 2006-06-06 Nintendo Co., Ltd. Messaging service for video game systems with buddy list that displays game being played
JP4408534B2 (ja) 2000-06-27 2010-02-03 株式会社バンダイナムコゲームス マルチプレイヤーゲーム用の情報提供システムおよび情報記憶媒体
US6699125B2 (en) * 2000-07-03 2004-03-02 Yahoo! Inc. Game server for use in connection with a messenger server
US6704885B1 (en) 2000-07-28 2004-03-09 Oracle International Corporation Performing data backups with a stochastic scheduler in a distributed computing environment
US7089301B1 (en) 2000-08-11 2006-08-08 Napster, Inc. System and method for searching peer-to-peer computer networks by selecting a computer based on at least a number of files shared by the computer
US6676521B1 (en) * 2000-08-18 2004-01-13 Cariocas, Inc. Enhanced online game mechanisms
US7299403B1 (en) * 2000-10-11 2007-11-20 Cisco Technology, Inc. Methods and apparatus for obtaining a state of a browser
JP3646983B2 (ja) * 2000-10-19 2005-05-11 株式会社ソニー・コンピュータエンタテインメント 待ち順番表示方法、待ち順番表示方法のプログラム、待ち順番表示方法のプログラムが記録された記録媒体、及びコンテンツ配信システム
SE517815C2 (sv) 2000-10-27 2002-07-16 Terraplay Systems Ab Konfigurering av en flexibel infrastruktur
SE520129C2 (sv) 2000-10-27 2003-05-27 Terraplay Systems Ab Kommunikationsinfrastrukturanordning i och en datorläsbar programprodukt för ett databearbetningssystem för fleranvändarapplikationer
US8402124B1 (en) 2000-11-16 2013-03-19 International Business Machines Corporation Method and system for automatic load balancing of advertised services by service information propagation based on user on-demand requests
JP2002157206A (ja) * 2000-11-17 2002-05-31 Square Co Ltd 電子会議参加方法およびそのシステム
GB0028474D0 (en) * 2000-11-22 2001-01-10 Raekanet Ltd Improved computer network architecture and associated method and system
US7409061B2 (en) * 2000-11-29 2008-08-05 Noatak Software Llc Method and system for secure distribution of subscription-based game software
US6754250B2 (en) * 2000-12-15 2004-06-22 Telefonaktiebolaget Lm Ericsson (Publ) Networking in uncoordinated frequency hopping piconets
US20020075844A1 (en) 2000-12-15 2002-06-20 Hagen W. Alexander Integrating public and private network resources for optimized broadband wireless access and method
US20020116397A1 (en) 2000-12-21 2002-08-22 Berg Mitchell T. Method and system for communicating an information packet through multiple router devices
US20020082065A1 (en) 2000-12-26 2002-06-27 Fogel David B. Video game characters having evolving traits
US20020082077A1 (en) 2000-12-26 2002-06-27 Johnson Douglas R. Interactive video game system with characters that evolve physical and cognitive traits
US20030018719A1 (en) * 2000-12-27 2003-01-23 Ruths Derek Augustus Samuel Data-centric collaborative computing platform
WO2002054264A1 (en) 2000-12-29 2002-07-11 Webex Communications, Inc. Distributed network system architecture for collaborative computing
US7203755B2 (en) 2000-12-29 2007-04-10 Webex—Communications, Inc. System and method for application sharing in collaborative setting
US7685224B2 (en) * 2001-01-11 2010-03-23 Truelocal Inc. Method for providing an attribute bounded network of computers
US7188145B2 (en) * 2001-01-12 2007-03-06 Epicrealm Licensing Llc Method and system for dynamic distributed data caching
US7035911B2 (en) * 2001-01-12 2006-04-25 Epicrealm, Licensing Llc Method and system for community data caching
US6761636B2 (en) * 2001-01-16 2004-07-13 Fucom Company, Ltd. Real time data exchange system
US7165107B2 (en) 2001-01-22 2007-01-16 Sun Microsystems, Inc. System and method for dynamic, transparent migration of services
US7155515B1 (en) * 2001-02-06 2006-12-26 Microsoft Corporation Distributed load balancing for single entry-point systems
US7107312B2 (en) * 2001-02-06 2006-09-12 Lucent Technologies Inc. Apparatus and method for use in a data/conference call system for automatically collecting participant information and providing all participants with that information for use in collaboration services
US7228342B2 (en) 2001-02-20 2007-06-05 Sony Computer Entertainment America Inc. System for utilizing an incentive point system based on disc and user identification
US20020115488A1 (en) 2001-02-22 2002-08-22 Nicholas Berry System and method for conducting an online competition
US7035919B1 (en) 2001-03-21 2006-04-25 Unisys Corporation Method for calculating user weights for thin client sizing tool
US20020142842A1 (en) 2001-03-29 2002-10-03 Easley Gregory W. Console-based system and method for providing multi-player interactive game functionality for use with interactive games
US7236939B2 (en) * 2001-03-31 2007-06-26 Hewlett-Packard Development Company, L.P. Peer-to-peer inter-enterprise collaborative process management method and system
TWI220821B (en) 2001-04-26 2004-09-01 Accton Technology Corp Zero-loss web service system and method
US7177950B2 (en) * 2001-04-26 2007-02-13 Microsoft Corporation Synchronization and recovery of peers in a peer to peer environment
US20020178260A1 (en) * 2001-05-23 2002-11-28 Chang Hsin-Wang Wayne Distributed computer resource bartering system
JP3429286B2 (ja) * 2001-05-29 2003-07-22 株式会社コナミコンピュータエンタテインメント大阪 ネットゲームシステム及びネットゲーム管理方法
US7269632B2 (en) 2001-06-05 2007-09-11 Xdyne, Inc. Networked computer system for communicating and operating in a virtual reality environment
IL159587A0 (en) 2001-07-06 2004-06-01 Computer Ass Think Inc Systems and methods of information backup
US8065394B2 (en) 2001-08-20 2011-11-22 Bally Gaming, Inc. Local game-area network method
JP4658412B2 (ja) 2001-09-20 2011-03-23 富士通株式会社 データ共有装置
US20030073494A1 (en) * 2001-10-15 2003-04-17 Kalpakian Jacob H. Gaming methods, apparatus, media and signals
US7031473B2 (en) * 2001-11-13 2006-04-18 Microsoft Corporation Network architecture for secure communications between two console-based gaming systems
JP3883452B2 (ja) 2002-03-04 2007-02-21 富士通株式会社 通信システム
EP1493133A4 (de) 2002-04-04 2006-09-27 Yahoo Inc Online-liga- und turniersystem
US7587465B1 (en) * 2002-04-22 2009-09-08 Cisco Technology, Inc. Method and apparatus for configuring nodes as masters or slaves
US20030204593A1 (en) 2002-04-25 2003-10-30 International Business Machines Corporation System and method for dynamically altering connections in a data processing network
US7711847B2 (en) 2002-04-26 2010-05-04 Sony Computer Entertainment America Inc. Managing users in a multi-user network game environment
US6935959B2 (en) 2002-05-16 2005-08-30 Microsoft Corporation Use of multiple player real-time voice communications on a gaming device
US7421471B2 (en) 2002-05-17 2008-09-02 Sony Computer Entertainment America Inc. Configuration switching: dynamically changing between network communication architectures
US20030217135A1 (en) 2002-05-17 2003-11-20 Masayuki Chatani Dynamic player management
US7640300B2 (en) * 2002-06-10 2009-12-29 Microsoft Corporation Presence and notification system for maintaining and communicating information
US20040001476A1 (en) 2002-06-24 2004-01-01 Nayeem Islam Mobile application environment
US7454458B2 (en) 2002-06-24 2008-11-18 Ntt Docomo, Inc. Method and system for application load balancing
US7803052B2 (en) * 2002-06-28 2010-09-28 Microsoft Corporation Discovery and distribution of game session information
US9497168B2 (en) 2002-07-30 2016-11-15 Avaya Inc. Method and apparatus for supporting communications between a computing device within a network and an external computing device
US8560707B2 (en) 2007-10-05 2013-10-15 Sony Computer Entertainment America Llc Seamless host migration based on NAT type
US8131802B2 (en) 2007-10-05 2012-03-06 Sony Computer Entertainment America Llc Systems and methods for seamless host migration
US8224985B2 (en) 2005-10-04 2012-07-17 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
FR2843210B1 (fr) 2002-08-02 2005-10-14 Meiosys Procede de migration de connexions dans une architecture multi-ordinateurs, procede pour realiser une continuite de fonctionnement mettant en oeuvre ce procede de migration, et systeme multi-ordinateurs ainsi equipe.
US7016942B1 (en) 2002-08-05 2006-03-21 Gary Odom Dynamic hosting
US20040031052A1 (en) 2002-08-12 2004-02-12 Liberate Technologies Information platform
KR20040042121A (ko) 2002-11-13 2004-05-20 주식회사 엔씨소프트 온 라인 게임의 제공 방법 및 장치
WO2004063843A2 (en) 2003-01-15 2004-07-29 Matsushita Electric Industrial Co., Ltd. PEER-TO-PEER (P2P) CONNECTION DESPITE NETWORK ADDRESS TRANSLATOR (NATs) AT BOTH ENDS
US7899932B2 (en) 2003-01-15 2011-03-01 Panasonic Corporation Relayed network address translator (NAT) traversal
US20040156388A1 (en) 2003-02-07 2004-08-12 Lockheed Martin Corporation System for maintaining quality of service
US8032619B2 (en) 2003-04-16 2011-10-04 Sony Computer Entertainment America Llc Environment information server
US7097562B2 (en) 2003-06-03 2006-08-29 Wms Gaming Inc. Peer-to-peer distributed gaming application network
GB0322045D0 (en) 2003-09-20 2003-10-22 Koninkl Philips Electronics Nv A network-based gaming system
US7502322B2 (en) 2003-09-30 2009-03-10 Nokia Corporation System, method and computer program product for increasing throughput in bi-directional communications
US8234383B2 (en) 2003-11-07 2012-07-31 Panasonic Corporation Bubble packet port identification using detection packets
DE10353925B4 (de) 2003-11-18 2009-12-24 Nec Europe Ltd. Verfahren zum Austausch von Daten zwischen zwei Hosts
US7171583B2 (en) 2003-12-10 2007-01-30 International Business Machines Corporation For PPRC backup systems
EP1723533A1 (de) 2004-03-09 2006-11-22 Clique Communications Llc System und verfahren zur peer-to-peer-verbindung von clients hinter symmetrischen firewalls
US20060168107A1 (en) 2004-03-16 2006-07-27 Balan Rajesh K Generalized on-demand service architecture for interactive applications
US7536467B2 (en) 2004-04-20 2009-05-19 Microsoft Corporation Peer-to-peer (P2P) mobility system, and method
US20050245317A1 (en) 2004-04-30 2005-11-03 Microsoft Corporation Voice chat in game console application
US20060015560A1 (en) 2004-05-11 2006-01-19 Microsoft Corporation Multi-sensory emoticons in a communication system
US7620033B2 (en) 2004-05-21 2009-11-17 Alcatel-Lucent Usa Inc. Method for optimal path selection in traversal of packets through network address translators
US8050272B2 (en) 2004-06-29 2011-11-01 Damaka, Inc. System and method for concurrent sessions in a peer-to-peer hybrid communications network
US7778187B2 (en) 2004-06-29 2010-08-17 Damaka, Inc. System and method for dynamic stability in a peer-to-peer hybrid communications network
JP2008510232A (ja) 2004-08-13 2008-04-03 サイトリックス システムズ, インコーポレイテッド 多数のリモートアクセスサーバにわたる処理整合性を維持する方法
US9043635B2 (en) 2004-08-17 2015-05-26 Shaw Parsing, Llc Techniques for upstream failure detection and failure recovery
US7543064B2 (en) 2004-09-30 2009-06-02 Logitech Europe S.A. Multiplayer peer-to-peer connection across firewalls and network address translators using a single local port on the local host
US7840963B2 (en) 2004-10-15 2010-11-23 Microsoft Corporation Marking and utilizing portions of memory state information during a switch between virtual machines to minimize software service interruption
JP4625968B2 (ja) * 2004-11-10 2011-02-02 株式会社セガ ネットワークゲームシステム、及びゲーム装置
CN100477851C (zh) 2005-01-05 2009-04-08 国际商业机器公司 在无线局域网的两种通信模式之间进行切换的方法和系统
US7929422B2 (en) 2005-01-06 2011-04-19 Cisco Technology, Inc. Method of moving a transport connection among network hosts
US7787383B2 (en) 2005-03-04 2010-08-31 Network Appliance, Inc. Method and apparatus for monitoring a connection in a peer-to-peer network
US20070061460A1 (en) 2005-03-24 2007-03-15 Jumpnode Systems,Llc Remote access
US20060258463A1 (en) 2005-05-13 2006-11-16 Professional Interactive Entertainment, Inc. System and method for network interactive game match-up and server selection
US8019986B2 (en) 2005-08-12 2011-09-13 Comcast Cable Holdings, Llc Method and system for booting, provisioning and activating hardware and software clients
JP4331154B2 (ja) 2005-09-29 2009-09-16 パナソニック株式会社 情報処理システム、トンネル通信装置、及びトンネル通信方法
US20070094325A1 (en) 2005-10-21 2007-04-26 Nucleoid Corp. Hybrid peer-to-peer data communication and management
US7539216B2 (en) 2005-11-16 2009-05-26 Cable Television Laboratories, Inc. Method and system of determining last hop device addresses
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US8676899B2 (en) 2006-01-26 2014-03-18 International Business Machines Corporation Offline IM chat to avoid server connections
US9047310B2 (en) 2006-02-22 2015-06-02 Microsoft Technology Licensing, Llc Reliable, efficient peer-to-peer storage
US8347341B2 (en) 2006-03-16 2013-01-01 Time Warner Cable Inc. Methods and apparatus for centralized content and data delivery
US20070233865A1 (en) 2006-03-30 2007-10-04 Garbow Zachary A Dynamically Adjusting Operating Level of Server Processing Responsive to Detection of Failure at a Server
US8965978B2 (en) 2006-03-31 2015-02-24 Alcatel Lucent Methods and devices for maintaining sessions based on presence status information
US7643459B2 (en) 2006-06-16 2010-01-05 Alcatel-Lucent Usa Inc. Methods, devices and architectures for establishing peer-to-peer sessions
US20080049755A1 (en) 2006-08-25 2008-02-28 Motorola, Inc. Method and system for optimizing resource allocations based on quality of service needs of one or more applications
US7680908B2 (en) 2006-09-28 2010-03-16 Microsoft Corporation State replication
US8990305B2 (en) 2006-10-18 2015-03-24 Microsoft Corporation Techniques for virtual conferencing servers
GB2444995B (en) 2006-12-21 2011-07-27 Vodafone Plc Peer to peer network
CN101232413B (zh) 2007-01-25 2012-11-21 华为技术有限公司 一种转移会话控制权的方法、系统和服务器
US7747688B2 (en) 2007-02-07 2010-06-29 International Business Machines Corporation System and method for managing group interaction session states
US8719375B2 (en) 2007-03-22 2014-05-06 Microsoft Corporation Remote data access techniques for portable devices
US8489830B2 (en) 2007-03-30 2013-07-16 Symantec Corporation Implementing read/write, multi-versioned file system on top of backup data
US8335813B2 (en) 2007-05-01 2012-12-18 Illinois Institute Of Technology Systems, methods, and protocols for process migration and group membership management
US7881329B2 (en) 2007-05-25 2011-02-01 Sharp Laboratories Of America, Inc. Method and system for maintaining high reliability logical connection
US7996543B2 (en) 2007-08-16 2011-08-09 Xcastlabs Client-to-client direct RTP exchange in a managed client-server network
US8725874B2 (en) 2007-09-27 2014-05-13 International Business Machines Corporation Dynamic determination of an ideal client-server for a collaborative application network
US7908393B2 (en) 2007-12-04 2011-03-15 Sony Computer Entertainment Inc. Network bandwidth detection, distribution and traffic prioritization
US9473598B2 (en) 2007-12-18 2016-10-18 International Business Machines Corporation Network connection failover during application service interruption
TWI476610B (zh) 2008-04-29 2015-03-11 Maxiscale Inc 同級間冗餘檔案伺服器系統及方法
US9197678B2 (en) 2008-12-11 2015-11-24 Skype Method and system for data transmission
US7953865B1 (en) * 2009-12-28 2011-05-31 Amazon Technologies, Inc. Using virtual networking devices to manage routing communications between connected computer networks
US9032248B1 (en) 2012-10-04 2015-05-12 Amazon Technologies, Inc. Memory write tracking for virtual machines

Also Published As

Publication number Publication date
CN1592899A (zh) 2005-03-09
US10659500B2 (en) 2020-05-19
KR100638073B1 (ko) 2006-10-26
US9762631B2 (en) 2017-09-12
US7831666B2 (en) 2010-11-09
JP2005520265A (ja) 2005-07-07
US20060173958A1 (en) 2006-08-03
WO2003100643A1 (en) 2003-12-04
US20100287239A1 (en) 2010-11-11
TW200307212A (en) 2003-12-01
EP1506491B1 (de) 2007-02-28
ES2282619T3 (es) 2007-10-16
US7792902B2 (en) 2010-09-07
EP1506491A4 (de) 2005-08-17
US20140256449A1 (en) 2014-09-11
ATE355561T1 (de) 2006-03-15
TWI311265B (en) 2009-06-21
JP3964905B2 (ja) 2007-08-22
EP1506491A1 (de) 2005-02-16
KR20040099256A (ko) 2004-11-26
US8793315B2 (en) 2014-07-29
AU2003224728A1 (en) 2003-12-12
CN100583078C (zh) 2010-01-20
US20030217135A1 (en) 2003-11-20
DE60312153D1 (de) 2007-04-12
US20180013802A1 (en) 2018-01-11
US20060190540A1 (en) 2006-08-24

Similar Documents

Publication Publication Date Title
DE60312153T2 (de) Dynamische abspielgeräteverwaltung
USRE48802E1 (en) Method for ladder ranking in a game
DE60120084T2 (de) Methode und Gerät zur Teilnahme an einer elektronischen Konferenz
DE602005005144T2 (de) System und Verfahren zum Konfigurieren von Spielerdaten
DE69433643T2 (de) Multimedien-kommunikationsnetzwerk
DE60119670T2 (de) Spielgerät, Serversystem, Informationsdienstverfahren und Aufzeichnungsmedium
DE69728979T2 (de) Vernetztes computerspielsystem mit bleibenden spielobjekten
DE60034915T2 (de) Synchrones Datenverarbeitungsverfahren
DE60110727T2 (de) Verfahren und Vorrichtung zum Eröffnen einer elektronischen Konferenz
DE602005000635T2 (de) Verfahren und Netzknoten zum Konfigurieren der Topologie eines Netzwerks
DE60222832T2 (de) Verfahren und Vorrichtung zur gemeinsamen Informationsbenutzung durch objektorientierte Technologie
DE60121701T2 (de) Verfahren und Vorrichtung zum Nachrichtendienst
DE60120620T2 (de) Netzwerkspielsystem und Verfahren zur Bereitstellung von Netzwerkspiel
DE602004007064T2 (de) Verfahren zur Zuteilung von einem Identifikator zu einer Gruppe von gleichrangigen Knoten in einem gleichrangigen Netz
DE60217907T2 (de) Lokale cache-speicherung von bildern für online-konferenzprogramme
WO2001063399A2 (de) Verfahren und anordnung zur synchronisation eines auf einem ersten rechner ablaufenden programms mit einem auf einem server ablaufenden programm, computerlesbares speichermedium und computerprogramm-element
DE112008002354T5 (de) Virtuelles Haustier Gesprächssystem, Methode und Virtuelles Haustier Frage- und Antwortserver
EP1184800A1 (de) Brainstorming-Plattform
AU2006297649A1 (en) Systems and methods for providing an online lobby
JP2005531048A5 (de)
DE60217238T2 (de) Internet-Endgerät und Verbraucherverwaltungssystem/program
DE602005003845T2 (de) Dynamische umkonfiguration verteilter zusammengesetzter automaten
DE102008036453A1 (de) Verfahren zum Versenden von Daten und Kommunikationseinrichtung
US7237006B1 (en) Method for managing the simultaneous utilization of diverse real-time collaborative software applications
DE60315645T2 (de) Verfahren zum Steuern eines Spiels

Legal Events

Date Code Title Description
8364 No opposition during term of opposition