JP3964905B2 - オンラインセッションにおける参加者装置を管理する方法及びシステム - Google Patents

オンラインセッションにおける参加者装置を管理する方法及びシステム Download PDF

Info

Publication number
JP3964905B2
JP3964905B2 JP2004508027A JP2004508027A JP3964905B2 JP 3964905 B2 JP3964905 B2 JP 3964905B2 JP 2004508027 A JP2004508027 A JP 2004508027A JP 2004508027 A JP2004508027 A JP 2004508027A JP 3964905 B2 JP3964905 B2 JP 3964905B2
Authority
JP
Japan
Prior art keywords
session
participant
participant device
computer
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
JP2004508027A
Other languages
English (en)
Other versions
JP2005520265A (ja
JP2005520265A5 (ja
Inventor
公之 茶谷
グレン・バン・ダッタ
Original Assignee
ソニー・コンピュータ・エンタテインメント・アメリカ・インク
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 ソニー・コンピュータ・エンタテインメント・アメリカ・インク filed Critical ソニー・コンピュータ・エンタテインメント・アメリカ・インク
Publication of JP2005520265A publication Critical patent/JP2005520265A/ja
Publication of JP2005520265A5 publication Critical patent/JP2005520265A5/ja
Application granted granted Critical
Publication of JP3964905B2 publication Critical patent/JP3964905B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

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

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Child & Adolescent Psychology (AREA)
  • Health & Medical Sciences (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Description

本発明は、一般に、コンピュータネットワークに関し、特に、コンピュータネットワーク上で複数のユーザによって実行されるアプリケーションに関する。
ローカルエリアネットワーク及びインターネットのようなコンピュータネットワークはますます、当事者間の様々なトランザクション及びインタラクションのバックボーンとして使用されるようになってきている。サービスプロバイダはますます、銀行の顧客らがコンピュータネットワーク上で金融取引を開始できるオンラインバンキング(オンラインの銀行取引)から、ゲームをする人がインターネットを介した様々なゲームに参加できるオンラインゲームにいたるまで、様々なサービスをコンピュータネットワークを介して提供している。現時点では、実行されるトランザクション及びインタラクション(対話)を促進する様々な異なるコンピュータネットワークの構成が存在する。
構成の1つのタイプは、図1に示されたような古典的なクライアント−サーバ型の構成である。この構成では、専用サーバコンピュータ110が、ネットワークを介して、例えばインターネットを介して、1つ又は複数のクライアントコンピュータ120に対して通信可能であるようにリンクされている。クライアントコンピュータ120は、サーバコンピュータ110にサービス要求を行い、サーバコンピュータ110は、要求側のクライアントコンピュータ120へネットワークを介してデータを送信することによってその要求に応える。サーバコンピュータ110は、データ記憶装置へ、又はクライアントコンピュータとサーバコンピュータとの間のトランザクションを促進する他のコンピュータ装置へ接続されることが可能である。クライアント−サーバ型の構成の1つの特徴は、クライアントコンピュータはサーバコンピュータとの間で通信するように制限されているので、複数のクライアントコンピュータが互いに直接的に通信できないということにある。
例えば、クライアント−サーバ型の構成が、オンラインゲームを行う環境において動作される場合、サーバコンピュータ110はオンラインゲームに関連付けられた様々な状態を保持することの責務を有する可能性がある。サーバコンピュータは、ゲームの1つ又は複数のインスタンスを保持するメモリエンジン140のような他のコンピュータに接続されることが可能であるとともに、サーバコンピュータ110は、プレーヤ(遊技者)のマッチング及びアカウント管理等の、運営又は管理上の事柄を管理する。クライアントコンピュータ120上のゲームプレーヤはサーバコンピュータ110にログオンし、利用可能なゲーム及び参加しているプレーヤのリストを受信することができる。プレーヤは、開始するか又は参加するゲームを選択し、これにより、当該プレーヤのコンピュータがクライアント−サーバ型の接続を確立する際に使用するメモリエンジンを識別する。このようにして、サーバコンピュータ110及びメモリエンジン140はともに、1つ又は複数のクライアントコンピュータ120のためにゲームを行う環境を運営し、又は管理する。
もう1つのタイプの構成は、図2に示されたような統合化されたサーバの構成と呼ばれるものである。この構成は、専用サーバコンピュータ110と、コンピュータネットワークを介してそれぞれサーバコンピュータ110に接続されている1つ又は複数のクライアントコンピュータ120とを含む。先に説明した構成の場合と同様に、サーバコンピュータ110はクライアントコンピュータ120へデータを供給する。しかしながら、クライアントコンピュータ120の1つ、例えばクライアントコンピュータ120aは、他のクライアントコンピュータ120へデータを供給可能な統合型のサーバとして機能する。オンラインゲームを行う環境においては、サーバコンピュータ110は、プレーヤのマッチング、アカウントの管理及びチャットルームの管理といった運営機能を実行可能である一方、クライアントコンピュータ/統合型サーバ120aは、先に説明したメモリエンジンの機能を実行することができる。
さらにもう1つのタイプの通信構成では、図3に示されたように、様々なコンピュータがピア・ツー・ピア構成で配置される。ピア・ツー・ピア構成では、各々のコンピュータが他のコンピュータと通信できるので、すべてのコンピュータが「ピア」として機能する。ピア・ツー・ピア構成の一形態においては、専用サーバ110が、ネットワークを介して複数のクライアントコンピュータ120に通信可能であるように接続される。オンラインセッションはまず、クライアントコンピュータ120のそれぞれがサーバコンピュータ110等の運営コンピュータに接続することによって確立される。次いで、複数のクライアントコンピュータ120は、クライアントコンピュータ120の各々が、他の任意のクライアントコンピュータ120にデータを供給することと、他の任意のクライアントコンピュータ120からデータを受信することとの両方の能力を有するように、互いに通信可能であるように接続される。さらに、各クライアントコンピュータ120は、専用サーバ110との間で、クライアント−サーバの関係で動作することができる。当業者には、上述の構成に加えて他の通信構成も存在するということが理解されるであろう。
上述の様々な構成は、複数のゲームプレーヤがコンピュータネットワーク上でコンピュータゲームをすることができるオンラインゲーム環境等において、コンピュータのユーザらがコンピュータネットワークを介して対話できるようにする。このようなシナリオでは、典型的には、コンピュータのうちの少なくとも1つは、プレーヤの人数を調整すること、ゲームの状態を追跡すること、及びゲームの状態に関する更新情報をユーザに送信すること等の、ゲームの様々な側面を管理するゲームマネージャとして機能する。ゲームプレイの継続は、ゲーム内の全ユーザがゲーム期間全体にわたってプレイを継続することに大きく依存する場合があるという点が理解されうる。ゲームの半ばでゲームのプレーヤのうちの1人が終了して退出する場合、特にその終了して退出したプレーヤがゲームの一部を管理していた場合、ゲームプレイは中断される可能性があり、中止される場合すらある。
例えば、スポーツゲームは、典型的には、当該ゲームに関して一定の開始及び一定の終了を有し、少なくとも2名のプレーヤがゲームにおいて競い合っている。現行の構成では、オンラインのスポーツ競技に参加する数人のプレーヤが存在して、プレーヤの各々があるスポーツチームに属する選手の役を担当しているという場合が多い。例えば、オンラインのフットボールゲームでは、プレーヤはクォーターバック、レシーバ、ディフェンスバック、ランニングバックなどの役を担当することができる。プレーヤのうちの1人がゲームの途中で急に退出すれば、そのゲームプレイは中断されるか又は中止されることになる。これは、ゲーム環境におけるプレーヤの各々が特定のシナリオにわたってプレイし続けるということにゲームプレイの継続が依存する他のタイプのゲームにもあてはまる場合がある。
残念ながら、現行のマルチユーザアプリケーションは、オンラインセッションにおける1つの参加者装置が突然又は思いがけなくオンラインセッションから退出する場合に責任を負うようには構成されていない。あるプレーヤがオンラインセッションから退出すると、そのセッションは不正に中断されるか又は中止される。これまでに述べたことに鑑みて、上述の欠点を克服するマルチユーザアプリケーションに対する必要性が存在する。
本発明は、コンピュータネットワーク上の多数の参加者装置が存在する環境において動作されるように構成されるアプリケーションに関する。本アプリケーションは、参加者装置の1つがセッションを終了して退出してもセッションが中断されることなく継続することができるように、マルチユーザアプリケーションのオンラインセッションにおいて複数の参加者装置を管理する。本発明のある態様によれば、本アプリケーションはマルチユーザアプリケーションのオンラインセッションを開始し、ここで、オンラインセッションは、コンピュータネットワークに対して通信可能であるようにリンクされた複数のネットワークコンピュータで構成される2つ以上の参加者装置を含む。マルチユーザアプリケーションの実行に関連付けられた所定の管理者機能を管理することに責務を有する第1の参加者装置がオンラインセッションとの接続を断ったことを本アプリケーションが検出する場合には、本アプリケーションは、オンラインセッションに存在する参加者装置に通信ネットワークを介して通知をブロードキャストし(同報送信し)、これにより、存在する参加者装置に、第1の参加者装置がオンラインセッションとの接続を断ったことを通知する。次いで、開始するアプリケーションは、第1の参加者装置に関連付けられた機能を、オンラインセッションに存在する1つの参加者装置へ再割り当てする。複数の参加者装置は、ピア・ツー・ピア型の配置で通信している状態となることが可能であり、もしくはクライアント−サーバ型の配置でサーバの役目を実行している状態となることが可能である。
本発明の他の特徴及び優位点は、本発明の原理を例示によって示す、好適な実施形態に関する以下の説明から明らかとなるであろう。
本発明の目的、優位点及び特徴は、以下の詳細な説明を添付の図面に関連して読むときに、以下の詳細な説明からさらに容易に理解されるであろう。
図4は、1つ又は複数のクライアントコンピュータ410,412と、1つ又は複数の専用サーバコンピュータ420,422とを含む1つ又は複数のネットワーク装置で構成される、コンピュータネットワークシステム400のブロック図である。上記ネットワーク装置は、コンピュータネットワーク430のノードである。従って、ネットワークコンピュータのいくつかはサーバとして構成され、いくつかはクライアントとして構成される。コンピュータネットワーク430は、インターネットのような相互に接続された複数のネットワークの集合体を含んでもよく、ノード410,412,420,422の各々において1つ又は複数のローカルエリアネットワークを含んでもよい。ここで使用しているように、「インターネット」という用語は、標準的な通信プロトコルのセットにより互いにリンクされてグローバルな分散型ネットワークを形成する、相互に接続された(公衆の、及び/又は専用の)複数のネットワークの集合体を示す。
クライアントコンピュータ410,412は、ネットワーク430を介してクライアントコンピュータへ公知の方法でデータを供給するように構成されたサーバコンピュータ420,422の一方へ、ネットワーク430を介してデータ要求を送信することが可能である。サーバコンピュータ420,422は、当業者には認識されるように、データベースサーバ及び/又はアプリケーションサーバのような他のサーバを含む場合もあり、あるいは、互いに通信可能な方式でリンクされかつ上記他のサーバに通信可能な方式でリンクされる場合もある。図4は2つのクライアントコンピュータ410,412及び2つのサーバコンピュータ420,422のみを示しているが、ネットワークシステム400は任意の数のクライアントコンピュータ410,412及びサーバコンピュータ420,422を含みうるということは理解される必要がある。ここでは、サーバコンピュータ420,422及びクライアントコンピュータ410,412を時として集合的にネットワークコンピュータと呼んでいる。
ネットワークシステム400は、所定のコンピュータプログラムで構成されるマルチユーザアプリケーション440をサポートし、上記マルチユーザアプリケーション220により、複数のユーザは、コンピュータネットワーク430にリンクされた複数のネットワーク装置(クライアントコンピュータ410,412等)を使用してオンラインセッションで対話することができる。アプリケーション440はクライアントコンピュータの各々にインストールされるが、このことは、このアプリケーションの動作上のインスタンスが、アプリケーション440を走らせる(実行する)クライアントコンピュータ410,412の各々のメモリに格納されるということを意味する。マルチユーザアプリケーションのオンラインセッションに参加しようとしている各サーバコンピュータもまた、アプリケーション440のインスタンスを格納する。これを説明するために、サーバ420,422の両方を、インストールされたアプリケーション440とともに図示しているが、第1のサーバコンピュータ420は、クライアントマシン410,412によって実行されているマルチユーザアプリケーションのためのサーバであるということを仮定している。データの交換は、実行中にアプリケーション440のインスタンス間で発生し、ネットワークコンピュータのそれぞれにおけるネットワークソケット445の確立によって有効化される(イネーブルにされる)。ソケットは、図4では個々のネットワークコンピュータにおけるボックスとして表示されている。当業者は、ネットワークソケットが、ネットワークシステム400上で実行される2つ以上のプログラム間の多元(マルチウェイ)通信リンクの一方の端末であるということを理解するであろう。
アプリケーション440は、様々な通信構成に従うネットワークシステム400のネットワーク装置上で実行されることが可能であり、様々なアプリケーションに関連した処理に対する責務は、詳細後述するように、ネットワーク430の異なる複数の計算装置に割り当てられることが可能である。アプリケーション440を開発するためには、同じく詳細後述するように、好適にはアプリケーション開発インターフェースが使用される。アプリケーションは、関連付けられたネットワークコンピュータが、図1、図2及び図3に示された通信モードのうちの任意のものを実装する通信構成を使用できるように動作されることが可能である。
マルチユーザアプリケーション440は、コンピュータネットワーク430にリンクされたネットワークコンピュータ上でユーザが実行できる、任意のタイプのアプリケーションであることが可能である。アプリケーション440がクライアントコンピュータ410,412上で実行されると、ユーザは、同じくアプリケーション440を実行している他のネットワークコンピュータを介して他のユーザと対話することができる。サーバコンピュータ420は、中央ネットワークの「ミーティングポイント」として機能することが可能であり、ユーザらは、この「集合地点」により、コンタクトを確立し、データを保持し、アプリケーション440のオンラインセッションを開始することができる、典型的には、アプリケーション440は、当該アプリケーション440が内部で動作しているネットワーク装置に、装置410,412,420等の他のネットワーク装置との通信を確立させ、これによりオンラインセッションを開始する。オンラインセッションの間、複数のネットワークコンピュータは、アプリケーション440のプログラミングされた機能に従って対話しかつデータを交換する。
アプリケーション440が起動され、適切に構成されたコンピュータ間にオンラインセッションが確立されるとき、本アプリケーションは、これらのコンピュータが様々な構成で対話できるようにする。この説明を通じていくつかの場合に、複数のユーザがクライアントコンピュータ410,412を使用してアクセスしかつ実行することのできるコンピュータゲームをアプリケーション440が備えた、オンラインゲームを行うシナリオにおいてアプリケーション440を説明する。このような場合、アプリケーション440は、ネットワークコンピュータが参加するゲームで構成されるオンラインセッションを確立する。しかしながら、アプリケーション440は、コンピュータネットワーク上の複数のコンピュータ間のインタラクションを伴う、例えばオンラインバンキング又はオンラインの旅行計画立案のようなゲーム以外の他のシナリオに関連していてもよいということは理解される必要がある。
アプリケーション440が実行されると、これは、オンラインセッションの間に発生するコンピュータ間のインタラクションに関して本アプリケーションのための様々な管理者及び運営機能を実行するネットワークコンピュータであるセッションマスタを識別する。本アプリケーションのオンラインセッションは、ユーザ識別等の情報を含むデータ記憶装置に対する登録又はログオン処理を使用する。ログオン処理は、アプリケーションのネットワーク環境におけるさらなる参加を認証する。好適には、セッションマスタのこの機能は、アプリケーション440を実行するクライアントコンピュータ410等のクライアントコンピュータがサーバコンピュータ420にログオンしてオンラインセッションを開始するときに割り当てられる。しかしながら、このような割り当てが行われる場合と方法に関する詳細はアプリケーション自体によって決定されるので、本発明が教示する内容を逸脱することなく、様々なセッションマスタ割り当て方式を実装することができる。
本アプリケーションのオンラインセッションを開始するクライアントコンピュータ410上で動作するアプリケーションのインスタンスは、ホストコンピュータと呼ばれる。ホストコンピュータにおけるアプリケーションは、セッションマスタの機能をサーバコンピュータ420又はホストコンピュータ410のいずれかに割り当てる。新しいクライアントコンピュータがサーバコンピュータ420にログオンして(登録して)オンラインセッションに参加すると、サーバコンピュータ420は、既に割り当てられているセッションマスタコンピュータの識別情報をこの新しいクライアントに通知する。
詳細後述するように、セッションマスタの機能は、アプリケーション440が動作可能である様々なネットワークの通信構成間での、滑らかな遷移を可能にする。セッションマスタの機能はまた、アプリケーション440が、アプリケーションに関連したタスクに対する責務をある特定のネットワークコンピュータに集中させたり、又は、このような責務を2つ以上のネットワークコンピュータの間で分散させたりすることを可能にする。タスクの割り当ては、ネットワークコンピュータのうちの1つの上におけるアプリケーション440のインスタンスにより、セッションマスタの機能の割り当てと同時に実行されることが可能であり、かつセッションマスタのタスクは、必須の機能を提供するためにネットワーク430上のコンピュータのうちの1つ又は複数に対して割り当てられることが可能である。ここでは、セッションマスタの責務を割り当てられる1つ又は複数のコンピュータを、個々のセッションマスタの機能の「所有者」と呼ぶ。複数のコンピュータが集合的にセッションマスタの機能を実行している場合には、単独のセッションマスタに言及している場合であっても、上記複数のコンピュータからなるグループに適用されるものとして理解されるであろう。従って、セッションマスタのタスクの割り当ては、アプリケーションの開発者の命令に従い、アプリケーションによって指定される方法で実行される。
セッションマスタに割り当てられる責務に係る1つのカテゴリーは、実行されている特定のタイプのアプリケーション440に特有の機能である、アプリケーション特定的な機能に関連している。例えば、アプリケーション440がゲームタイプのアプリケーションであれば、セッションマスタ、又はセッションマスタのグループは、ゲームのスコア及びゲームの残り時間等のゲームタイプのデータを追跡することが可能であり、かつ、ゲームが終了したときにオンラインセッションを終了させること等のゲーム機能を実行することができる。また、セッションマスタコンピュータには、フットボール、飛行機、海、樹木、等々のゲーム環境におけるオブジェクトの状態のような、特定のゲームデータを追跡する責務を割り当てることもできる。これらの責務のそれぞれは、アプリケーションの動作に従って、単一のセッションマスタコンピュータに集中されてもよく、又は、いくつかのセッションマスタコンピュータ間で分割されてもよい。
ホストコンピュータは、オンラインセッションに参加しているコンピュータに関する管理者機能を実行する。例えば、あるネットワークコンピュータがアプリケーション440のオンラインセッションに参加するときはいつでも、ホストコンピュータはセッションに参加するコンピュータに識別インデックス番号を割り当てる。ホストコンピュータは、識別インデックス番号と、これらに関連付けられたネットワークコンピュータとのリストを保持する。インデックス番号はメッセージを送信する際に使用され、かつセッションマスタの機能に関する所有権の記録を保持するためにも使用される。
上述のように、オンラインセッションには複数のセッションマスタが存在する可能性がある。セッションマスタを割り当てる方法は、アプリケーションによって、アプリケーションの動作に従って決定されることが可能である。アプリケーション440はまた、オンラインセッションに参加しているすべてのネットワークコンピュータの状態に関してネットワークコンピュータを更新するための更新メッセージを送り出すことに関する責務を、セッションマスタに割り当てることもできる。この責務に伴ってセッションマスタは、詳細後述するように、新しいネットワークコンピュータがオンラインセッションにいつ参加するかということ、又は現在の参加者装置がアプリケーション440のオンラインセッションをいつ終了して退出するかということを、参加しているネットワークコンピュータに通知する。
また、上述のインデックス番号を各コンピュータに割り当てるホストコンピュータは、オンラインセッションに参加しているすべてのネットワークコンピュータのリストを保持する。よって、アプリケーション440は、コンピュータに割り当てられたインデックス番号に従ってセッションマスタの所有権を追跡する。インデックス番号及び責務の割り当てを追跡するために、アプリケーション440は、ネットワークコンピュータのインデックスリストで構成された、図5に示されたテーブル500のようなテーブルの形式等で、データ構造を保持することができる。テーブル500は、オンラインセッションに参加している各ネットワークコンピュータに関連付けられたインデックス番号を含み、かつまた当該ネットワークコンピュータがセッションマスタの機能を所有するか否かについての表示を含む。また、テーブル500を備えたインデックスリストのデータ構造は、好適には、各ネットワークコンピュータに使用されている通信プロトコルを指定する。図5は、異なるセッションマスタのタスク(C1,C2,C3)が異なるネットワークコンピュータによって所有され得ることを示している。
通信プロトコルを指定することに加えて、データ構造は、各ネットワークコンピュータについて通信プロトコルが関連付けられるポートをも指定する。アプリケーション440の各インスタンスは、オンラインセッションに参加している関連付けられたネットワークコンピュータが、各ポートが特定の通信プロトコルに関連付けられている状態で複数の通信ポートを開くことを可能にする。ネットワークコンピュータは、図5に示されたテーブル500で構成されるデータ構造において指定された特定のポート及び特定のプロトコルを使用して、他のネットワークコンピュータと通信する。ポートは、アプリケーション440のインスタンスがネットワークを介して通信する際に使用するネットワークソケットを備えることができる。ネットワークコンピュータは、好適には、ネットワークを介して互いに通信メッセージを周期的に送信することにより、ポート/プロトコル情報を伝送するとともに、インデックスリストに含まれる他の情報を伝送する。
好適には、オンラインセッションに参加しているすべてのコンピュータは、テーブル500インデックスリストの、当該コンピュータのものであるコピーを保持する。テーブル500は単に例示的なものであり、開始するホストのアプリケーション440は、様々なデータ構造フォーマットを使用してクライアントのインデックス番号及びセッションマスタの所有権を他の方法で追跡できるということは理解される必要がある。それに代わって、複数のセッションコンピュータがテーブルの1つ又は複数のコピーを共用することもできる。
開始するアプリケーション440は、アプリケーション440がセッションマスタの所有権を割り当てる方法に依存して、様々な通信構成で動作することができる。図6に示された第1の構成では、開始するアプリケーション440は、セッションマスタ600の所有権を、専用サーバコンピュータ420等の単一のコンピュータに割り当てている。従って、このコンピュータ420は、開始するアプリケーション440に命じられるセッションマスタの機能に関連付けられたすべてのタスクに対して責務を有する。このように、アプリケーション440は、セッションマスタの機能に関してクライアント−サーバ型の通信構成で動作し、サーバコンピュータ420は、クライアントコンピュータ410へセッションマスタの責務に関するデータを供給する。
アプリケーション440のオンラインセッションに参加しているコンピュータはいずれも、クライアントコンピュータ410の1つがセッションマスタ600aを所有して示されている場合のように、セッションマスタのタスクのうちの1つ又は複数のタスクの所有権を有することも可能であるということが理解される必要がある。図6では、セッションマスタ600aが点線を用いて示されている。このことは、クライアントコンピュータに1つ又は複数のセッションマスタのタスクが割り当てられていて、当該クライアントコンピュータが、名目上のセッションマスタのサーバコンピュータ420と共に、もしくはこれの代わりに、上記1つ又は複数のセッションマスタのタスクを実行していることを示す。すなわち、オンラインセッションに参加している複数のコンピュータの間にはセッションマスタのいくつかのインスタンスが存在する可能性があり、セッションマスタの各インスタンスには特定の責務が割り当てられ、各セッションマスタのタスクは異なるネットワークコンピュータに割り当てられるか又は複数のタスクが同一のコンピュータに割り当てられる。例えば図6は、2つのセッションマスタ600及び600aが存在し、その各々にアプリケーション440のオンラインセッションに関する所定の機能に対する責務が割り当てられているという状況を示している。アプリケーションによる決定に従って、サーバコンピュータ420は所定の責務を有し、クライアントコンピュータ410もまた所定の責務を有する。これは、統合化されたサーバの構成であり、この場合、セッションマスタ600aを所有するクライアントコンピュータ410が統合化されたサーバとして機能する。「統合化されたサーバ」とは、すべてのクライアントが、統合化されたサーバとして指定された1つのクライアントに情報を送信し、統合化されたサーバはその情報を他のクライアントへ伝搬させるという状況をいう。統合化されたサーバとして動作するクライアントもまた、1つ又は複数のセッションマスタのタスクを所有することができる。
図7に示されたもう1つの方式では、アプリケーション440は、セッションマスタ600の所有権をいくつかのコンピュータの間に分散させている。図示された例では、クライアントコンピュータ410の両方がセッションマスタ600の所有権を共有している。このような場合では、両方のコンピュータが、セッションマスタに関連付けられた機能を実行することが可能であり、そのため、図7における複数のネットワークコンピュータはピア・ツー・ピア型の構成になる。アプリケーション440が動作する特定の通信構成に関わらず、アプリケーションのオンラインセッションは、アプリケーションを実行しかつオンラインセッションに従って対話しているネットワークコンピュータで構成される様々なネットワーク参加者装置を含む。オンラインセッションにおける参加者装置の1つがセッションを終了した場合、セッションに残って継続したままの他の参加者装置を中断させる結果をもたらす場合がある。本発明のある態様によれば、アプリケーション440は、ある参加者装置がオンラインセッションを終了するという状況に対処して、残って継続している複数の参加者装置に対する中断を最小化するように構成される。
このことについて、マルチユーザアプリケーション440のオンラインセッションにおける参加者装置の終了を管理する処理について記述した図8に示されたフロー図を参照して、より詳細に説明する。810の番号を有するフロー図ボックスによって表された第1の動作では、アプリケーションのオンラインセッションに係る1つの参加者装置がオンラインセッションを終了したということを確定する。参加者装置がオンラインセッションを終了したということについて確定することは、様々な方法で行うことができる。ある実施形態では、オンラインセッションに参加するあるネットワークコンピュータ上におけるアプリケーション440のインスタンスは、オンラインセッションにおける当該ネットワークコンピュータの存在を他のネットワークコンピュータに通知する更新メッセージを、当該ネットワークコンピュータに、周期的にブロードキャストさせる(同報送信させる)。予め決められた時間内に特定のネットワークコンピュータから更新メッセージが受信されなければ、そのネットワークコンピュータはオンラインセッションを終了したものとみなされる。オンラインセッションを確立する間、そのオンラインセッションを開始するコンピュータ上のアプリケーション440のインスタンスは、セッションマスタコンピュータ等の特定のコンピュータに、ある参加者装置がオンラインセッションを終了したということについて確定することの責務を割り当てることができる。
820の番号を有するフロー図ボックスによって表された次の動作では、コンピュータのうちの1つにおけるアプリケーション440のインスタンスによって、オンラインセッションにおけるすべての参加者装置に通知メッセージがブロードキャストされ、これらの参加者装置に、ある参加者装置(「終了した参加者装置」)がセッションを終了したことが通知される。ネットワークコンピュータのうちのただ1つのみが、例えばセッションマスタコンピュータのみが、すべての参加者装置に通知メッセージをブロードキャストする。セッションマスタコンピュータが当の終了したコンピュータであれば、このセッションマスタコンピュータの後に続く次のインデックスを有するコンピュータ等の他のネットワークコンピュータの1つが、本メッセージをブロードキャストする。通知メッセージは、好適には、終了した参加者のネットワークコンピュータに対して以前に割り当てられていたインデックスを含む。このようにして、他の参加者装置は、図5を参照して先に論じたインデックステーブルを調べることにより、終了した参加者装置を識別することができる。
次の動作は、830の番号を有する決定ボックスによって表されたように、セッションを終了した参加者装置が、オンラインセッションの他の参加者装置に影響するであろう任意のセッション管理者機能を実行することに責務を有していたか否か、に基づいて異なる。管理者機能は、通信メッセージのフィルタリング、識別インデックスの割り当て、スコアの保持、セッション回数の追跡、オンラインの世界に位置したアイテムの追跡、オンラインび世界における参加者の位置の追跡などのような機能を含む。セッションを終了した参加者装置がこのようないずれかの機能を実行することに責務を有していた場合、決定ボックス830の結果は「YES」となり、処理は、840の番号を有するフロー図ボックスによって表された動作へ進む。この動作において、アプリケーション440は、終了した参加者装置の管理者の責務を、オンラインセッションにまだ存在しているもう1つの参加者のネットワークコンピュータに再割り当てする。管理者の責務の再割り当ては、好適には、オンラインセッションを終了したコンピュータのインデックスの後に続く次のインデックスを有するコンピュータ等の、特定のコンピュータ上のアプリケーション440のインスタンスによって実行される。例えば、第1のインデックスを有するコンピュータがセッションを終了する場合がある。そのとき、(図5に示されたテーブル500において特定されるような)連続する次のインデックスを有するコンピュータ上のアプリケーションのインスタンスが、終了したコンピュータの任務の再割り当てを実行する。
アプリケーション440が責務を再割り当てする方法は、変化する場合がある。ある実施形態において、アプリケーション440は、責務が再割り当てされる参加者装置を、所定のファクタに基づいて自動的に選択する。上記ファクタのうちのいくつかは、参加者のネットワークコンピュータの状態に関連している。上記状態は、例えば、通信環境、地理的な場所、及びネットワークコンピュータのハードウェア仕様を含むとともに、各ユーザに固有の選好情報を含むことが可能である。
通信環境は、参加者のネットワークコンピュータが、ケーブルモデム又はDSLを用いる等によって大きな帯域幅性能を有するか否かということに関係する。好適には、より大きな帯域幅性能を有する参加者装置に、終了した参加者装置の責務を引き受けるためのより高い優先度が与えられる。参加者装置の地理的な場所もまた、終了した参加者装置の責務がどの参加者装置に再割り当てされるかを決定する際の1つのファクタであり得る。例えば、通信の待ち時間を最小化するために、他の参加者装置らに対して中心的な位置関係にある参加者装置には、より高い優先順位が与えられてもよい。また、オンラインセッションに参加しているネットワークコンピュータのハードウェア仕様も1つのファクタである。アプリケーション440は、強力なデータ処理能力を有するコンピュータのように、再割り当てされている責務に最も適合するハードウェア能力を有するネットワークコンピュータに、より高い優先順位を与えてもよい。
フロー図ボックス840の動作に係るもう1つの実施形態では、アプリケーション440は、終了した参加者装置の責務を、オンラインセッションの参加者装置のうちの他の1つに対して単にランダムに再割り当てする。アプリケーション440はまた、各ユーザに固有の選好情報を考慮することもできる。いく人かのユーザは、いかなるアプリケーション機能を管理する責務を割り当てられることも彼らが希望していないと、アプリケーション440に指定してもよい。ユーザらはまた、他の参加者装置がオンラインセッションを終了した場合には、ある特定の参加者装置に責務が再割り当てされるべきであると指定してもよい。それに代わって、アプリケーション440は、終了した参加者装置に対して以前に割り当てられていた責務を引き継ぐことを望む参加者装置がいるか否かを訊ねるメッセージが、オンラインセッションのすべての参加者装置にブロードキャストされるようにしてもよい。
次の動作は、850の番号を有するフロー図ボックスによって表されている。この動作は、アプリケーション440が、終了した参加者装置の責務を再割り当てした後に発生する。フロー図ボックス850の動作はまた、終了した参加者装置が、再割り当てを必要とするいかなる責務も持たず、830の番号を有する決定ボックスで「NO」の結果がもたらされた場合にも発生する。この動作において、アプリケーション440は、終了した参加者装置に代わる新しい参加者装置を獲得しようと試みる。この試みは、好適には、セッションマスタコンピュータのような特定のコンピュータ上のアプリケーション440のインスタンスによって実行される。この動作が、終了した参加者装置の管理者機能を再割り当てすることではなく、オンラインセッションのための交代となる参加者装置を獲得して、終了した参加者装置の代わりをさせることに関連するという点で、この動作がフロー図ボックス840の動作と相違するということは、理解される必要がある。
例えば、オンラインセッションはオンラインのフットボールゲームであってもよく、この場合、複数の参加者装置はそれぞれ、共通のチームの選手である。参加者装置の1つには、スコア及びゲーム時間を追跡することを含む、管理者機能が割り当てられていてもよい。その同じ参加者装置は、ゲーム中でクォーターバックの役割を担っていた可能性もある。ゲームの間にその参加者装置がオンラインゲームを終了して退出するとき、アプリケーション440は、動作840において、終了して退出した参加者装置の管理者機能(すなわちスコア及びゲーム時間を記録する責務)をもう1つの参加者装置に再割り当てし、次いで、動作850において、終了した参加者装置のクォーターバックとしての役割を交代する新しい参加者装置を獲得しようとする。
アプリケーション440がオンラインセッションのために交代の参加者装置を獲得しようとする方法は、変化してもよい。ある実施形態では、アプリケーション440は、終了した参加者装置の交代として、人ではなくネットワークコンピュータを自動的に割り当てる。これにより、ネットワークコンピュータは、終了した参加者装置の機能を実行することになる。もう1つの実施形態では、アプリケーション440は、オンラインセッションに参加できる可能性があるネットワークコンピュータのリストを保持し、次いで、これらのコンピュータに、セッションへの参加を勧誘するメッセージを送信する。交代の参加者装置が獲得される間、アプリケーション440はオンラインセッションを一時停止モードにしておいてもよい。
アプリケーション440は、好適には、アプリケーション440で使用されるオブジェクト及び通信メッセージの定義のライブラリを提供するソフトウェア開発キット(SDK)を使用して開発される。ソフトウェア開発キットは所定のアプリケーションインターフェースを含み、SDKを使用して開発されるアプリケーションは、このアプリケーションインターフェースを介して、ネットワークシステム400等のネットワークシステム上で動作可能になる。アプリケーションインターフェースは、サーバ420等の中央のネットワークサーバ内に存在することが可能であり、アプリケーション440を有するネットワークコンピュータは、アプリケーションのオンラインセッションを動作させるために、この中央のネットワークサーバにログオンすることができる。SDKによって提供されるオブジェクト及びメッセージのタイプを使用することにより、アプリケーション440は、上述の機能を包含するように開発されることが可能である。SDKは、好適には、アプリケーション440によって利用されるオブジェクトの、クライアントに基づく定義を提供する、オブジェクト定義の構造を含む。オブジェクト定義は、各オブジェクトに関連付けられかつコンピュータネットワークを介してクライアントとのインタラクションを実行するためにアプリケーションによって利用される、複数の特性を含む。
SDKを使用してアプリケーション440が開発されると、アプリケーション440は1つ又は複数のネットワークコンピュータへロードされることが可能になり、オンラインセッションは図9のフロー図ボックスに示された動作に従って確立できるようになる。910の番号を有するフロー図ボックスによって表された第1の動作では、アプリケーション440がその上にロードされるネットワークコンピュータが、そのアプリケーションインターフェースソフトウェアをメモリに含むネットワークコンピュータに接続する。例えば、図4に示されたネットワークシステム400のうちの1つ又は複数のクライアントコンピュータ410が、メモリにロードされたアプリケーション440を有していてもよく、サーバコンピュータ420がアプリケーションインターフェースを含んでいてもよい。このような場合、クライアントコンピュータ410は、ネットワーク430を介してサーバコンピュータ410との通信接続を確立する。
920の番号を有するフロー図ボックスによって表された次の動作では、アプリケーション440は、アプリケーションインターフェースのライブラリにおいて利用可能なオブジェクト定義に従って、オブジェクトを登録する。アプリケーション440はまた、930の番号を有するフロー図ボックスによって表されたように、オンラインセッションの間に利用される任意のメッセージフィルタも登録する。
940の番号を有するフロー図ボックスによって表された次の動作では、アプリケーション440はセッションマスタを定義し、セッションマスタの所有権をネットワークコンピュータの1つに割り当てる。セッションマスタの所有権は、1つのコンピュータに割り当てられることも可能であり、あるいは、複数のコンピュータに割り当てられることも可能である。アプリケーション440はまた、セッションマスタの所有権が特定のコンピュータに専用のものとなるのか否か、又は所有権が他のコンピュータに対して移動される(マイグレーションされる)場合があるか否かも指定する。
この動作の間、アプリケーション440は、オンラインセッションに参加するネットワークコンピュータの各々にクライアントインデックスを割り当て、また上述されたインデックステーブルも確立する。アプリケーション440は、サーバコンピュータへログオンする第1のネットワークコンピュータがセッションマスタとなりかつまた1又はゼロのインデックスのようなインデックスの初期値を受け取るように構成されることが可能である。インデックスの初期値が変化しうることは、理解される必要がある。その後で、ログオンする後続のネットワークコンピュータは、利用可能な次のインデックスを受け取る。1つ又は複数のセッションマスタの所有権が確立された後で、950の番号を有するフロー図ボックスによって表されたように、アプリケーション440のオンラインセッションが開始される。
先に述べた通り、図4のブロック図に示されたネットワークコンピュータは、コンピュータネットワークシステム400のノードを構成する。図10は、図のシステム400における1つのコンピュータのブロック図であり、コンピュータの1つに含まれるハードウェア構成要素を示している。当業者は、装置410及び420がすべて同様のコンピュータの構造を有してもよいか、あるいはここに記述された能力と整合性のある代替の構造を有してもよいということを理解するであろう。
図10は、ネットワークコンピュータのうちの任意のものを構成することも可能な、例示的なコンピュータ1000を示している。各コンピュータ1000は、米国カリフォルニア州サンタクララのインテル コーポレーション(Intel Corporation)から入手可能な「ペンティアム(Pentium)(登録商標)」マイクロプロセッサと関連付けられた集積回路チップとのような、中央処理装置(CPU)1002の制御下で動作する。コンピュータのユーザは、キーボード及びコンピュータマウス1004からコマンド及びデータを入力することができ、ディスプレイ1006において入力及びコンピュータの出力を見ることができる。ディスプレイは、典型的にはビデオモニタ又はフラットパネルディスプレイである。コンピュータ1000はまた、ハードディスクドライブ等の直接アクセス記憶装置(DASD)1008を含む。メモリ1010は、典型的には揮発性半導体ランダムアクセスメモリ(RAM)を備える。各コンピュータは、好適には、プログラム製品記憶装置1014を受容するプログラム製品読取装置1012を含み、プログラム製品読取装置1012はこのプログラム製品記憶装置1014からデータを読み取ることができる(また、オプションで、プログラム製品読取装置1012はこのプログラム製品記憶装置1014にデータを書き込むことができる)。プログラム製品読取装置は、例えばディスクドライブを備えることが可能であり、プログラム製品記憶装置は、磁気フロッピーディスク、CD−Rディスク、CD−RWディスク又はDVDディスク等の、着脱可能な記憶媒体を備えることが可能である。
各コンピュータ1000は、ネットワーク1020とコンピュータとの間の接続1022を介した通信を可能にするネットワークインターフェース1018を用いて、(インターネット又はイントラネットのような)コンピュータネットワーク1020を介して他のコンピュータと通信することができる。ネットワークインターフェース1018は、典型的には、例えばネットワークインターフェースカード(NIC)を備えるか、あるいは様々なネットワークを介した通信を可能にするモデムを備えている。
CPU1002は、コンピュータ1000のメモリ1010に一時的に記憶されるプログラミングステップの制御下で動作する。上記プログラミングステップが実行されると、コンピュータはその機能を実行する。このように、プログラミングステップは、アプリケーション440の機能を実施する。プログラミングステップは、DASD1008から受信されること、プログラム製品記憶装置1014を介して受信されること、又はネットワーク接続1022を介して受信されることが可能である。プログラム製品記憶装置ドライブ1012はプログラム製品1014を収容し、そこに記録されたプログラミングステップを読み取り、そのプログラミングステップをCPU1002による実行のためにメモリ1010へ転送することができる。先に述べた通り、プログラム製品記憶装置は、磁気フロッピーディスク及びCD−ROM記憶ディスクを含む、コンピュータが読み取り可能な命令を記憶している複数の着脱可能な媒体のうちの任意の1つを備えることが可能である。他の適切なプログラム製品記憶装置は、磁気テープ及び半導体メモリチップを含むことが可能である。このようにして、本発明による動作に必要な処理ステップは、プログラム製品上に具現されることが可能である。
それに代わって、プログラムステップは、ネットワーク1020を介して受信され、動作メモリ1010の中に格納されることが可能である。このネットワークの方法では、コンピュータは、当業者にはさらなる説明なしに理解されるであろう公知の方法によってネットワーク接続1022を介してネットワーク通信が確立された後に、ネットワークインターフェース1018を介して、プログラムステップを含むデータを受信してメモリ1010の中に格納する。次いで、このプログラムステップはCPU1002によって実行され、これにより、コンピュータ処理が構成される。
図4に示されたネットワークシステム400のうちのネットワークコンピュータはすべて、図10に示されたものと同様の構造を有してもよく、よって、図10のコンピュータ1000に関して説明された詳細事項が、システム400のすべてのコンピュータに当てはまるように解釈されるものであるということは、理解される必要がある。コンピュータが図4に示されるようにネットワークを介して他のコンピュータと通信することが可能でありかつここに記述された機能をサポートすることが可能である限り、ネットワークコンピュータはいずれも代替の構造を有する可能性があるということは理解される必要がある。
例えば、図11を参照すると、クライアントコンピュータ420は、ビデオゲームシステム1100のようなコンピュータエンターテイメントシステムを備えることが可能である。図11は、ビデオゲームシステム1100の例示的なハードウェア構成のブロック図である。
ビデオゲームシステム1100は、メインメモリ1105に関連付けられた中央処理装置(CPU)1100を含む。CPU1100は、OS−ROM1160に記憶されたプログラミングステップ、又はゲームプログラム記憶媒体からメインメモリ1105へ転送されたプログラミングステップの制御下で動作する。CPU1100は、このプログラミングステップに従って情報を処理しかつ命令を実行するように構成される。
CPU1100は、専用バス1125を介して入力/出力プロセッサ(IOP)1120と通信可能であるように接続される。IOP1120は、オペレーティングシステム等のプログラム命令を記憶する不揮発性メモリで構成されたOS ROM1160に、CPU1100を接続する。命令は、好適には、メインユニット110の起動時にIOP1120を介してCPUに転送される。
CPU1100は、専用バス1115を介してグラフィックス処理装置(GPU)1110と通信可能であるように接続される。GPU1110は、CPU1100から受信される命令に従って描画処理を実行しかつ画像を形成する(定式化する)ように構成された描画プロセッサである。例えば、GPU1110は、CPU1100によって生成されかつCPU1100から受信されるディスプレイリストに基づいてグラフィックス画像をレンダリングすることができる。GPUは、グラフィックスデータを記憶するためのバッファを含んでもよい。GPU1110は、画像をAV出力装置へ出力する。
IOP1120は、IOPメモリ1130に記憶された命令に従って、CPU1100と複数の周辺の構成要素との間におけるデータの交換を制御する。周辺の構成要素は、1つ又は複数の入力コントローラ1122、メモリカード1140、USB1145、及びIEEE1394シリアルバス1150を含んでもよい。さらに、バス1155が、IOP1120と通信可能であるように接続される。バス1155は、OS ROM1160、サウンドプロセッサ装置(SPU)1165、光ディスク制御装置1175、及びハードディスクドライブ(HDD)1180を含む、いくつかの追加の構成要素にリンクされる。
SPU1165は、CPU1100及びIOP1120から受信されるコマンドに従って、音楽、音響効果及び音声等のサウンドを生成するように構成される。SPU1165は、波形データを記憶するサウンドバッファを含んでいてもよい。SPU1165はサウンド信号を生成し、かつ当該信号をスピーカに送信する。
ディスク制御ユニット1175は、例えば、磁気フロッピーディスク、光CD−ROMディスク、CD−Rディスク、CD−RWディスク、DVDディスク又はこれらに類似するもの等の、着脱可能な記憶媒体を受容する光ディスクドライブを備えることが可能なプログラム読取装置を制御するように構成される。
メモリカード1140は、CPU1100がデータを書き込んで記憶することのできる記憶媒体を備えることが可能である。好適には、メモリカード1140はIOP1120に対して抜き差しされることが可能である。ユーザは、メモリカード1140を使用してデータを記憶するか又は保存することができる。さらに、ビデオゲームシステム1100には、好適には、データを書き込んで記憶することのできる少なくとも1つのハードディスクドライブ(HDD)1180が装備される。
IEEE1394シリアルバス1150又はユニバーサルシリアルバス(USB)1145インターフェース等のデータI/Oインターフェースは、好適には、IOP1120と通信可能であるように接続され、そのため、図4のネットワーク430に対するようなビデオゲームシステム1100へデータが転送されかつこのビデオゲームシステム1100からデータが転送されることを可能にする。
上述のシステム及び方法は、ゲームのプレーヤのような、アプリケーションのネットワークユーザが、アプリケーションのための統合化されたサーバ(IS)として動作する状況を改善し、これにより、当該アプリケーションの従来の実装ではこのISユーザがログオフを希望するときにアプリケーションは終了するようなアプリケーション環境を保持する。上述のように、代替として、(マルチユーザでゲームを行うアプリケーションのような)いくつかのアプリケーションは、退出するユーザの機能(及びデータ)が当該退出するユーザから異なるユーザへ移動されて、上記異なるユーザがオンラインセッションを継続してISの任務を受け継ぐことを許容する。このタイプのハンドオフは、典型的にはいく分か扱いにくく、円滑には達成されない可能性もある。ゲームを行う環境の場合では、例えば、退出するプレーヤがゲーム環境から突然いなくなり、これにより、他のプレーヤが行っているゲームの体験を中断する可能性もある。本発明によるマルチユーザアプリケーションは、すべてのユーザマシンに対して他のユーザがセッションから退出したときに通知することにより、退出しまた加入するユーザが存在する場合であっても、アプリケーションの継続使用を許容する。さらに快適なアプリケーション環境のために、適切な調整が行われることも可能である。この通知は、適正なIS動作及び通信を保証する切断機能を用いて発生する。すなわち、本アプリケーションのアプリケーションサーバ又はISは、アプリケーション環境におけるすべてのクライアントに対して、あるユーザが退出したか又は加入したことをこれらのクライアントに通知するメッセージをブロードキャストすることが可能であり、必要であればこれらのユーザの適切な機能を保証することができる。
上述された統合化されたサーバ(IS)として動作し、アプリケーションデータを他のユーザに供給するネットワーク装置を有するシステムの場合、アプリケーション環境からのISの障害又は退出は、異なるユーザを新しいISとして割り当てることによって応答される。アプリケーションは、自動的に交代処理を実行することによって、又はすべてのユーザへブロードキャストメッセージを送信して応答を待つことによって、新しいISを割り当てることができる。自動選択の場合、アプリケーションは、ユーザが利用可能な帯域幅と、潜在的な新しいISの地理的な場所と、ISとして考慮されることに対してユーザが示した選好と、技術的な仕様と、ユーザのマシンにおいて利用可能なリソースとを含む考慮事項に従って新しいISを割り当てることができ、又はランダムな選択処理を用いて新しいISを割り当てることができる。アプリケーションがブロードキャストメッセージを送信するように設計されれば、当該メッセージは、典型的には、新しいISとして動作することへの自発的な同意を請う。
さらに、ISに障害が発生した後にシステムにログインする新しいユーザと、そうでなければ障害が発生したISに登録していた可能性もある新しいユーザとは、代わりに異なるISに転換されることが可能であり、今や利用不可能となったISによってサービスされているグループの作業負荷が低減される。この方法では、あるISのアプリケーション環境への加入を希望する新しい参加者は、代わりに、異なるIS及び異なるユーザグループへと移動されることが可能である。代替として、アプリケーションは、利用不可能なISによって運営されるグループのオンラインセッションを解消又は解散しかつ新しいISを有する新しいオンライングループを形成することにより、障害が発生したISに応じることができる。これらの代替例は、本発明による動作のためのアプリケーションを構成しているアプリケーション開発者によって選択されることが可能である。
オンラインセッションの間に個々のユーザが退出すれば、いく分かさらに問題を含む結果をもたらす可能性がある。オンラインゲームを行うコンテキストにおいては、例えば、ゲームを進めるために所定の最少人数のユーザ(プレーヤ)が必要とされる。本発明によれば、アプリケーションは、ネットワーク上の他のユーザにメッセージを送り、他のユーザを、オンラインセッションに参加してマルチユーザアプリケーション(ゲーム等)に参加するように勧誘することによって、応答することができる。それに代わって、アプリケーションは、統合化されたサーバの任務を実行するために人工知能モジュールを呼び出すように構成されることも可能である。
以上、本発明の意味するところが伝えられるように、本発明を現時点での好適な実施形態に関して説明した。しかしながら、本システム及びアプリケーションには、ここには特に記述されていないが本発明を適用できる多数の構成が存在する。従って、本発明はここに記述された特定の実施形態に限定して理解されるべきものではなく、一般にマルチユーザアプリケーションに関する広範な適用可能性を有することは理解される必要がある。よって、添付の請求の範囲内にあるすべての変更例、変形例、又は等価な配置及び実装は、本発明の範囲内にあるものとされるべきである。
クライアント−サーバ型ネットワークの通信構成で配置されたコンピュータネットワークを示す図である。 統合化されたネットワーク通信サーバの構成で配置されたコンピュータネットワークを示す図である。 ピア・ツー・ピア型ネットワークの通信構成で配置されたコンピュータネットワークを示す図である。 本発明に従って構成されたマルチユーザアプリケーションが実行されるコンピュータネットワークシステムを示す図である。 マルチユーザアプリケーション用のコンピュータのインデックス及びセッションマスタ情報を含むデータ構造を示す図である。 マルチユーザアプリケーションが第1のタイプの通信構成で配置されるコンピュータネットワークシステムを示す図である。 マルチユーザアプリケーションがもう1つのタイプの通信構成で配置されるコンピュータネットワークシステムを示す図である。 マルチユーザアプリケーションのオンラインセッションにおいて1つの参加者装置の終了を管理する処理を表すフロー図である。 マルチユーザアプリケーションがオンラインセッションを確立することに関連付けられた動作ステップを示すフロー図である。 図4に示されたネットワークにおけるコンピュータのブロック図であって、ハードウェア構成要素を示すブロック図である。 図4に示されたネットワークにおけるコンピュータエンタテインメントシステムのブロック図であり、ハードウェア構成要素を示すブロック図である。
符号の説明
400…コンピュータネットワークシステム、
410,412…、クライアントコンピュータ
420,422…専用サーバコンピュータ、
430,1020…コンピュータネットワーク、
440…マルチユーザアプリケーション、
445…ネットワークソケット、
500…テーブル、
600,600a…セッションマスタ、
1000…コンピュータ、
1002…中央処理装置(CPU)、
1004…キーボード及びコンピュータマウス、
1006…ディスプレイ、
1008…直接アクセス記憶装置(DASD)、
1010…メモリ、
1012…プログラム製品読取装置、
1014…プログラム製品記憶装置、
1018…ネットワークインターフェース、
1022…接続、
1100…ビデオゲームシステム、
1105…メインメモリ、
1110…グラフィックス処理装置(GPU)、
1115,1125…専用バス、
1120…入力/出力プロセッサ(IOP)、
1122…入力コントローラ、
1130…IOPメモリ、
1140…メモリカード、
1145…ユニバーサルシリアルバス(USB)、
1150…IEEE1394シリアルバス、
1155…バス、
1160…OS ROM、
1165…サウンドプロセッサ装置(SPU)、
1175…ディスク制御装置、
1180…ハードディスクドライブ(HDD)。

Claims (22)

  1. マルチユーザアプリケーションのオンラインセッションにおける参加者装置を管理する方法であって、上記方法は、
    上記マルチユーザアプリケーションのオンラインセッションを開始することを含み、上記オンラインセッションは、コンピュータネットワークに対して通信可能であるようにリンクされたネットワークコンピュータでそれぞれ構成される2つ又はそれよりも多くの参加者装置を含み、
    上記方法は、
    1の参加者装置が上記オンラインセッションから切断したことを検出することを含み、上記第1の参加者装置は、上記マルチユーザアプリケーションの実行に関連付けられた所定の管理者機能を管理することに責務を有するセッションマスタであり、
    上記方法は、
    上記オンラインセッションに存在する参加者装置に上記コンピュータネットワークを介して通知メッセージをブロードキャストし、これにより、上記第1の参加者装置が上記オンラインセッションから切断したことを上記存在する参加者装置に通知することと、
    上記セッションマスタに関連付けられた上記管理者機能を上記オンラインセッションに存在する1つの参加者装置に再割り当てすることとを含み、
    上記第1の参加者装置の切断を検出することは、1つの既存の参加者装置が更新メッセージをブロードキャストし、予め決められた時間内に上記第1の参加者装置から応答が受信されない場合に、上記第1の参加者装置が切断したと決定するステップを含む方法。
  2. 上記オンラインセッションから切断した上記第1の参加者装置の代替となる新規な参加者装置を非セッションマスタとして補充することをさらに含む請求項1記載の方法。
  3. 上記新規な参加者装置は人間によって制御されるネットワークコンピュータである請求項記載の方法。
  4. 上記新規な参加者装置はネットワークコンピュータであり、当該ネットワークコンピュータ自体によって制御される請求項記載の方法。
  5. 上記マルチユーザアプリケーションはゲームを行うアプリケーションであり、上記管理者機能はスコアの保持を含む請求項1記載の方法。
  6. ンラインセッションにおける参加者装置を管理する方法であって、上記方法は、
    インデックス識別番号によって識別されるネットワークコンピュータでそれぞれ構成される2つ又はそれよりも多くの参加者装置を含むオンラインセッションを開始することを含み、上記各ネットワークコンピュータはコンピュータネットワークに対して通信可能であるようにリンクされ、上記2つ又はそれよりも多くの参加者装置のそれぞれは、上記各ネットワークコンピュータにインストールされたマルチユーザアプリケーションを実行するように構成され、
    上記方法は、
    第1の参加者装置が上記オンラインセッションから切断したことを検出することを含み、上記第1の参加者装置は、上記マルチユーザアプリケーションの実行に関連付けられた所定の管理者機能を管理することに責務を有するセッションマスタであり、上記第1の参加者装置の切断を検出することは、第2の参加者装置が更新メッセージをブロードキャストし、予め決められた時間内に上記第1の参加者装置から応答が受信されない場合に、上記第1の参加者装置が切断したと決定するステップを含み、
    上記方法は、
    上記オンラインセッションに存在する他の参加者装置に上記コンピュータネットワークを介して参加者装置切断通知メッセージをブロードキャストし、これにより、上記第1の参加者装置が上記オンラインセッションから切断したことを上記存在する他の参加者装置に通知することを含み、上記ブロードキャストは、上記第1の参加者装置の後に連続する次のインデックス識別番号を有するネットワークコンピュータによって開始され、
    上記方法は、
    上記第1の参加者装置に関連付けられた上記管理者機能を上記オンラインセッションのもう1つの参加者装置に再割り当てすることと、
    上記オンラインセッションから切断した上記第1の参加者装置の代替となる新規な参加者装置を非セッションマスタとして補充することとを含む方法。
  7. 上記新規な参加者装置は人間によって制御されるネットワークコンピュータである請求項6記載の方法。
  8. 上記新規な参加者装置はネットワークコンピュータであり、当該ネットワークコンピュータ自体によって制御される請求項6記載の方法。
  9. 上記第1の参加者装置に関連付けられた上記管理者機能を上記オンラインセッションのもう1つの参加者装置に再割り当てすることは、上記存在する参加者装置の帯域幅性能に基づく請求項記載の方法。
  10. 上記第1の参加者装置に関連付けられかつ上記オンラインセッションのもう1つの参加者装置に再割り当てされる上記管理者機能は、ランダムに上記もう1つの参加者装置に再割り当てされる請求項記載の方法。
  11. ンラインセッションにおける参加者装置を管理するシステムであって、上記システムは
    マルチユーザアプリケーションを備えた1つ又はそれよりも多くのネットワークコンピュータを備え、上記マルチユーザアプリケーションはオンラインセッションを開始するように構成され、上記オンラインセッションは、コンピュータネットワークに対して通信可能であるようにリンクされたネットワークコンピュータで構成される2つ又はそれよりも多くの参加者装置を含み、上記2つ又はそれよりも多くの参加者装置のうちの少なくとも1つは、上記マルチユーザアプリケーションの実行に関連付けられた所定の管理者機能を管理するように構成されたセッションマスタであり、
    上記システムは、
    上記セッションマスタによって生成された更新メッセージを備え、上記オンラインセッションにおいて上記更新メッセージを受信しなかった参加者装置は、上記セッションマスタが上記オンラインセッションから切断したことを検出し、
    上記システムは、
    上記オンラインセッションに存在する参加者装置のうちの1つによって上記オンラインセッションに存在する他の参加者装置に上記コンピュータネットワークを介してブロードキャストされる通知メッセージを備え、上記ブロードキャストされる通知メッセージは、上記セッションマスタが上記オンラインセッションから切断したことを上記存在する他の参加者装置に通知し、
    上記1つ又はそれよりも多くのネットワークコンピュータにおけるマルチユーザアプリケーションは、上記セッションマスタに関連付けられた上記管理者機能を上記オンラインセッションに存在する1つの参加者装置に再割り当てするシステム。
  12. 上記マルチユーザアプリケーションは、上記オンラインセッションから切断したセッションマスタの代替となる新規な参加者装置を非セッションマスタとして補充するようにさらに構成された請求項11記載のシステム。
  13. 上記新規な参加者装置は人間によって制御されるネットワークコンピュータである請求項12記載のシステム。
  14. 上記新規な参加者装置はネットワークコンピュータであり、当該ネットワークコンピュータ自体によって制御される請求項12記載のシステム。
  15. 上記マルチユーザアプリケーションはゲームを行うアプリケーションであり、上記管理者機能はスコアの保持を含む請求項11記載のシステム。
  16. コンピュータ可読媒体に記録されたプログラムステップを計算機に実行させることにより、オンラインセッションにおける参加者装置を管理する方法であって、上記プログラムステップは、
    インデックス識別番号によって識別されるネットワークコンピュータでそれぞれ構成さ れる2つ又はそれよりも多くの参加者装置を含むオンラインセッションを開始することを含み、上記各ネットワークコンピュータはコンピュータネットワークに対して通信可能であるようにリンクされ、上記2つ又はそれよりも多くの参加者装置のそれぞれは、上記各ネットワークコンピュータにインストールされたマルチユーザアプリケーションを実行するように構成され、
    上記プログラムステップは、
    1の参加者装置が上記オンラインセッションから切断したことを検出することを含み、上記第1の参加者装置は、上記マルチユーザアプリケーションの実行に関連付けられた所定の管理者機能を管理することに責務を有するセッションマスタであり、上記第1の参加者装置の切断を検出することは、存在する1つの参加者装置が更新メッセージをブロードキャストし、予め決められた時間内に上記第1の参加者装置から応答が受信されない場合に、上記第1の参加者装置が切断したと決定するステップを含み、
    上記プログラムステップは、
    上記オンラインセッションに存在する参加者装置に上記コンピュータネットワークを介して通知メッセージをブロードキャストし、これにより、上記第1の参加者装置が上記オンラインセッションから切断したことを上記存在する参加者装置に通知することを含み、上記ブロードキャストは、上記第1の参加者装置の後に連続する次のインデックス識別番号を有するネットワークコンピュータによって開始され、
    上記プログラムステップは、
    上記セッションマスタに関連付けられた上記管理者機能を上記オンラインセッションに存在する1つの参加者装置に再割り当てすることを含み、上記存在する参加者装置のうちの1つにおける上記マルチユーザアプリケーションが上記管理者機能の再割り当てを行う方法
  17. 上記プログラムステップは、上記オンラインセッションから切断した上記第1の参加者装置の代替となる新規な参加者装置を非セッションマスタとして補充することをさらに含む請求項16記載の方法
  18. 上記新規な参加者装置は人間によって制御されるネットワークコンピュータである請求項17記載の方法
  19. 上記新規な参加者装置はネットワークコンピュータであり、当該ネットワークコンピュータ自体によって制御される請求項17記載の方法
  20. 上記マルチユーザアプリケーションはゲームを行うアプリケーションであり、上記管理者機能はスコアの保持を含む請求項16記載の方法
  21. ンラインセッションにおける参加者装置を管理するシステムであって、上記システムは
    マルチユーザアプリケーションを備えた1つ又はそれよりも多くのネットワークコンピュータを備え、上記マルチユーザアプリケーションはオンラインセッションを開始するように構成され、上記オンラインセッションは、コンピュータネットワークに対して通信可能であるようにリンクされたネットワークコンピュータで構成される2つ又はそれよりも多くの参加者装置を含み、上記2つ又はそれよりも多くの参加者装置のうちの少なくとも1つは、上記マルチユーザアプリケーションに関連付けられた所定の管理者機能を管理するように構成されたセッションマスタであり、
    上記システムは、
    上記セッションマスタによって生成された更新メッセージを備え、上記オンラインセッションにおいて上記更新メッセージを受信しなかった参加者装置は、上記セッションマスタが上記オンラインセッションから切断したことを検出し、
    上記システムは、
    上記オンラインセッションに存在する参加者装置のうちの1つによって上記オンラインセッションに存在する他の参加者装置に上記コンピュータネットワークを介してブロードキャストされる通知メッセージを備え、上記ブロードキャストされる通知メッセージは、上記セッションマスタが上記オンラインセッションから切断したことを上記存在する他の参加者装置に通知し、
    上記存在する参加者装置のうちの1つにおける上記マルチユーザアプリケーションはさらに、上記セッションマスタに関連付けられた上記管理者機能を上記オンラインセッションに存在する他の1つの参加者装置に再割り当てし、上記オンラインセッションから切断したセッションマスタの代替となる新規な参加者装置を非セッションマスタとして補充するように構成されたシステム。
  22. コンピュータ可読媒体に記録されたプログラムステップを計算機に実行させることにより、オンラインセッションにおける参加者装置を管理する方法であって、上記プログラムステップは、
    インデックス識別番号によって識別されるネットワークコンピュータでそれぞれ構成される2つ又はそれよりも多くの参加者装置を含むオンラインセッションを開始することを含み、上記各ネットワークコンピュータはコンピュータネットワークに対して通信可能であるようにリンクされ、上記2つ又はそれよりも多くの参加者装置のそれぞれは、上記各ネットワークコンピュータにインストールされたマルチユーザアプリケーションを実行するように構成され、
    上記プログラムステップは、
    1の参加者装置が上記オンラインセッションから切断したことを検出することを含み、上記第1の参加者装置は、上記マルチユーザアプリケーションの実行に関連付けられた所定の管理者機能を管理することに責務を有するセッションマスタであり、上記第1の参加者装置の切断を検出することは、存在する1つの参加者装置が更新メッセージをブロードキャストし、予め決められた時間内に上記第1の参加者装置から応答が受信されない場合に、上記第1の参加者装置が切断したと決定するステップを含み、
    上記プログラムステップは、
    上記オンラインセッションに存在する参加者装置に上記コンピュータネットワークを介して参加者装置切断通知メッセージをブロードキャストし、これにより、上記第1の参加者装置が上記オンラインセッションから切断したことを上記存在する参加者装置に通知することを含み、上記ブロードキャストは、上記第1の参加者装置の後に連続する次のインデックス識別番号を有するネットワークコンピュータによって開始され、
    上記プログラムステップは、
    上記セッションマスタに関連付けられた上記管理者機能を上記オンラインセッションのもう1つの参加者装置に再割り当てすることと、
    上記オンラインセッションから切断した上記第1の参加者装置の代替となる新規な参加者装置を非セッションマスタとして補充することとを含む方法。
JP2004508027A 2002-05-17 2003-03-18 オンラインセッションにおける参加者装置を管理する方法及びシステム Expired - Lifetime JP3964905B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US38173602P 2002-05-17 2002-05-17
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 (3)

Publication Number Publication Date
JP2005520265A JP2005520265A (ja) 2005-07-07
JP2005520265A5 JP2005520265A5 (ja) 2005-12-22
JP3964905B2 true JP3964905B2 (ja) 2007-08-22

Family

ID=29423165

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004508027A Expired - Lifetime JP3964905B2 (ja) 2002-05-17 2003-03-18 オンラインセッションにおける参加者装置を管理する方法及びシステム

Country Status (11)

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

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
US8560707B2 (en) 2007-10-05 2013-10-15 Sony Computer Entertainment America Llc Seamless host migration based on NAT type
US8224985B2 (en) 2005-10-04 2012-07-17 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
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
EP1668520A4 (en) * 2003-09-19 2007-01-31 Wildtangent Inc COMPOSITE CONSUMPTION OF CONTENT INVENTING METHOD AND DEVICES
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
CN101119782B (zh) 2004-09-21 2010-11-17 时间游戏Ip公司 多玩家游戏的系统
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
EP1821454B1 (en) * 2006-02-17 2008-12-10 Mitel Networks Corporation Method, network and IP device for accelerating the propagation of an information concerning a detected server failure
EP1953655A3 (en) * 2007-02-01 2008-12-31 Acei Ab Transaction processing system and method
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
US8171123B2 (en) 2007-12-04 2012-05-01 Sony Computer Entertainment Inc. Network bandwidth detection and distribution
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
CN101918935B (zh) * 2007-12-05 2014-05-14 欧乐2号公司 用于减少通信信道上的分组丢失的效果的视频压缩系统及方法
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
WO2011041516A1 (en) * 2009-09-30 2011-04-07 Zynga Game Network 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
CN107016885B (zh) 2011-02-01 2022-02-08 时间游戏公司 用于交互式体验的系统和方法及其控制器
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 株式会社スクウェア・エニックス 通信ゲームシステム、通信ゲーム装置及びプログラム
WO2013076920A1 (ja) * 2011-11-25 2013-05-30 パナソニック株式会社 マスター機器、連携サービス管理システム、及び連携サービス管理方法
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
JP6760394B2 (ja) 2016-12-02 2020-09-23 ヤマハ株式会社 コンテンツ再生機器、収音機器、及びコンテンツ再生システム
GB201702386D0 (en) 2017-02-14 2017-03-29 Bluejay Tech Ltd System for streaming
US20200045094A1 (en) * 2017-02-14 2020-02-06 Bluejay Technologies 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 通信システムにおける着信転送方式
DE69406277D1 (de) * 1993-06-03 1997-11-20 Taligent Inc Raumobjekt-system
AU2471995A (en) * 1994-05-05 1995-11-29 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
WO1997035258A1 (en) * 1996-03-21 1997-09-25 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
WO2000010099A1 (en) 1998-08-17 2000-02-24 Net Talk, Inc. Computer architecture and process for audio conferencing over local and global networks including internets and intranets
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
IL146348A0 (en) 1999-05-10 2002-07-25 Ericsson Telefon Ab L M Method and apparatus in a communication network
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
JP4546009B2 (ja) * 1999-06-11 2010-09-15 ブリティッシュ・テレコミュニケーションズ・パブリック・リミテッド・カンパニー ソフトウエア要素間の通信
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 株式会社スクウェア・エニックス オンライン複合サービス提供処理方法およびオンライン複合サービス提供処理システム
WO2001065358A2 (en) * 2000-02-17 2001-09-07 Acclim Entertainment, Inc. 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
US7203755B2 (en) * 2000-12-29 2007-04-10 Webex—Communications, Inc. System and method for application sharing in collaborative setting
US7130883B2 (en) * 2000-12-29 2006-10-31 Webex Communications, Inc. Distributed network system architecture for collaborative computing
US7685224B2 (en) * 2001-01-11 2010-03-23 Truelocal Inc. Method for providing an attribute bounded network of computers
US7035911B2 (en) * 2001-01-12 2006-04-25 Epicrealm, Licensing Llc Method and system for community data caching
US7188145B2 (en) * 2001-01-12 2007-03-06 Epicrealm Licensing Llc Method and system for dynamic distributed 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
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
US7155515B1 (en) * 2001-02-06 2006-12-26 Microsoft Corporation Distributed load balancing for single entry-point systems
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
KR20040010838A (ko) 2001-07-06 2004-01-31 컴퓨터 어소시에이츠 싱크, 인코포레이티드 정보 백업 시스템 및 방법
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 富士通株式会社 通信システム
US20030190960A1 (en) * 2002-04-04 2003-10-09 Eron Jokipii Method and system for providing access to and administering online gaming leagues and tournaments
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
US8224985B2 (en) * 2005-10-04 2012-07-17 Sony Computer Entertainment Inc. Peer-to-peer communication traversing symmetric network address translators
US8131802B2 (en) 2007-10-05 2012-03-06 Sony Computer Entertainment America Llc Systems and methods for seamless host migration
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 주식회사 엔씨소프트 온 라인 게임의 제공 방법 및 장치
US7899932B2 (en) * 2003-01-15 2011-03-01 Panasonic Corporation Relayed network address translator (NAT) traversal
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
US7366185B2 (en) 2003-02-07 2008-04-29 Lockheed Martin Corporation System for evolutionary service migration
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
US20080215669A1 (en) 2004-03-09 2008-09-04 William Gaddy System and Method for Peer-to-Peer Connection of Clients Behind Symmetric 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
US7778187B2 (en) * 2004-06-29 2010-08-17 Damaka, Inc. System and method for dynamic stability in a peer-to-peer hybrid communications network
US8050272B2 (en) 2004-06-29 2011-11-01 Damaka, Inc. System and method for concurrent sessions in a peer-to-peer hybrid communications network
WO2006020823A1 (en) 2004-08-13 2006-02-23 Citrix Systems, Inc. A method for maintaining transaction integrity across multiple remote access servers
CN101057476B (zh) 2004-08-17 2014-01-08 肖分析有限公司 用实时路由网络递送个人化内容的方法和装置
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
US8171123B2 (en) * 2007-12-04 2012-05-01 Sony Computer Entertainment Inc. Network bandwidth detection and distribution
US9473598B2 (en) 2007-12-18 2016-10-18 International Business Machines Corporation Network connection failover during application service interruption
US8296398B2 (en) 2008-04-29 2012-10-23 Overland Storage, Inc. Peer-to-peer redundant file server system and methods
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
WO2003100643A1 (en) 2003-12-04
US20030217135A1 (en) 2003-11-20
US20180013802A1 (en) 2018-01-11
DE60312153D1 (de) 2007-04-12
US7831666B2 (en) 2010-11-09
JP2005520265A (ja) 2005-07-07
ES2282619T3 (es) 2007-10-16
CN1592899A (zh) 2005-03-09
EP1506491B1 (en) 2007-02-28
US9762631B2 (en) 2017-09-12
AU2003224728A1 (en) 2003-12-12
US8793315B2 (en) 2014-07-29
US10659500B2 (en) 2020-05-19
US20100287239A1 (en) 2010-11-11
EP1506491A1 (en) 2005-02-16
DE60312153T2 (de) 2007-11-15
CN100583078C (zh) 2010-01-20
ATE355561T1 (de) 2006-03-15
TWI311265B (en) 2009-06-21
US20060190540A1 (en) 2006-08-24
EP1506491A4 (en) 2005-08-17
US20060173958A1 (en) 2006-08-03
US20140256449A1 (en) 2014-09-11
KR100638073B1 (ko) 2006-10-26
KR20040099256A (ko) 2004-11-26
US7792902B2 (en) 2010-09-07
TW200307212A (en) 2003-12-01

Similar Documents

Publication Publication Date Title
JP3964905B2 (ja) オンラインセッションにおける参加者装置を管理する方法及びシステム
JP3990400B2 (ja) ネットワーク通信アーキテクチャ間の構成の動的な切り換え
US7606920B2 (en) 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
AU2003218310B2 (en) Dynamically switching configuration between network communication architectures

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060926

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20061226

RD03 Notification of appointment of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7423

Effective date: 20061226

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20070118

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20070326

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20070424

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20070524

R150 Certificate of patent or registration of utility model

Ref document number: 3964905

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100601

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110601

Year of fee payment: 4

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110601

Year of fee payment: 4

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110601

Year of fee payment: 4

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120601

Year of fee payment: 5

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120601

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130601

Year of fee payment: 6

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

EXPY Cancellation because of completion of term