KR20040095704A - 데이터를 온라인 게임 등급과 연관시키기 위한 방법 및 장치 - Google Patents

데이터를 온라인 게임 등급과 연관시키기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20040095704A
KR20040095704A KR1020040032116A KR20040032116A KR20040095704A KR 20040095704 A KR20040095704 A KR 20040095704A KR 1020040032116 A KR1020040032116 A KR 1020040032116A KR 20040032116 A KR20040032116 A KR 20040032116A KR 20040095704 A KR20040095704 A KR 20040095704A
Authority
KR
South Korea
Prior art keywords
game
data
recorded
rating
related data
Prior art date
Application number
KR1020040032116A
Other languages
English (en)
Other versions
KR101130488B1 (ko
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 KR20040095704A publication Critical patent/KR20040095704A/ko
Application granted granted Critical
Publication of KR101130488B1 publication Critical patent/KR101130488B1/ko

Links

Classifications

    • BPERFORMING OPERATIONS; TRANSPORTING
    • B09DISPOSAL OF SOLID WASTE; RECLAMATION OF CONTAMINATED SOIL
    • B09BDISPOSAL OF SOLID WASTE NOT OTHERWISE PROVIDED FOR
    • B09B3/00Destroying solid waste or transforming solid waste into something useful or harmless
    • 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/71Game security or game management aspects using secure communication between game devices and game servers, e.g. by encrypting game data or authenticating players
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • A63F13/352Details of game servers involving special game server arrangements, e.g. regional servers connected to a national server or a plurality of servers managing partitions of the game world
    • 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
    • A63F13/46Computing the game score
    • 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
    • A63F13/49Saving the game status; Pausing or ending the 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
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • 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/798Game security or game management aspects involving player-related data, e.g. identities, accounts, preferences or play histories for assessing skills or for ranking players, e.g. for generating a hall of fame
    • 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/90Constructional details or arrangements of video game devices not provided for in groups A63F13/20 or A63F13/25, e.g. housing, wiring, connections or cabinets
    • A63F13/95Storage media specially adapted for storing game information, e.g. video game cartridges
    • BPERFORMING OPERATIONS; TRANSPORTING
    • B01PHYSICAL OR CHEMICAL PROCESSES OR APPARATUS IN GENERAL
    • B01FMIXING, e.g. DISSOLVING, EMULSIFYING OR DISPERSING
    • B01F27/00Mixers with rotary stirring devices in fixed receptacles; Kneaders
    • B01F27/05Stirrers
    • 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/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
    • 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/401Secure communication, e.g. using encryption or authentication
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/51Server architecture
    • A63F2300/513Server architecture server hierarchy, e.g. local, regional, national or dedicated for different tasks, e.g. authenticating, billing
    • 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/532Features 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 using secure communication, e.g. by encryption, authentication
    • 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/552Details of game data or player data management for downloading to client devices, e.g. using OS version, hardware or software profile of the client device
    • 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/554Game data structure by saving game or status data
    • 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
    • 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/558Details of game data or player data management using player registration data, e.g. identification, account, preferences, game history by assessing the players' skills or ranking
    • 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/60Methods for processing data by generating or executing the game program
    • A63F2300/61Score computation

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Chemical & Material Sciences (AREA)
  • Chemical Kinetics & Catalysis (AREA)
  • Pinball Game Machines (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명에서 개시된 프로시져(procedure)는 게임 콘솔로부터 게임 결과(game result)를 수신한다. 그 게임 결과에 대하여 등급(rating)이 결정된다. 게임 결과에 대한 등급이 미리 설정된 기준(predetermined criteria)을 충족하는 경우, 그 게임 결과와 연관된 기록된 게임(recorded game)이 게임 콘솔로부터 수신된다. 다른 플레이어들이 온라인 게이밍 서비스를 통해 그 기록된 게임에 접근(access)할 수 있도록, 그 기록된 게임은 게임 결과의 등급에 첨부된다.

Description

데이터를 온라인 게임 등급과 연관시키기 위한 방법 및 장치{METHOD AND APPARATUS FOR ASSOCIATING DATA WITH ONLINE GAME RATINGS}
본 명세서에서 설명된 시스템들 및 방법들은 게이밍 시스템들(gaming systems)에 관한 것이고, 보다 구체적으로는, 다양한 데이터를 게임 플레이어의 온라인 등급(online rating)과 연관시키는 것에 관한 것이다.
전통적으로, 게이밍 시스템들은 제한된 수의 플레이어들(players), 이를테면 1명 내지 4명의 플레이어들을 수용했다. 게이밍 시스템들에 있어 최근의 경향은, 네트워크를 통한 복수의 플레이어들 간의 게이밍, 이를테면 인터넷-기반 온라인 게이밍(Internet-based online gaming)을 용이하게 하는 능력을 제공하는 것이다. 이러한 온라인 게이밍 시스템들은 플레이어들로 하여금 그들의 지리적 위치에 상관없이 다른 플레이어들과 경합할 수 있도록 한다.
게임 개발자들 및 게임 발행자들(game publishers)이 직면한 중요한 과제는 상당 기간동안 플레이를 즐길 수 있고 도전할 수 있는 게임들을 만드는 것이다. 베스트 셀러인 게임들은 종종 플레이어들에게 한 번에 수개월 동안 계속해서 그 게임을 플레이하게 하는 동기(incentives)를 제공하는 것들이다. 온라인 특징들(online features)은 플레이어들로 하여금 특정한 게임을 계속적으로 플레이하도록 하는 동기를 제공할 수 있다. 예를 들어, 특정한 게임에 대한 최고 점수들(top scores)과 같은 온라인 통계는 플레이어들로 하여금 전 세계의 최고 플레이어들 사이에서 또는 그들의 친구들 사이에서 "자랑할 권리(bagging right)"를 위해 경합할 수 있도록 한다.
따라서 게이머들(gamers)이 계속해서 특정한 게임을 플레이하도록 장려하는 부가적인 온라인 특징들을 제공하는 것이 바람직하다.
본 명세서에서 설명된 시스템들 및 방법들은, 데이터, 이를테면 기록된 게임들(recorded games) 또는 게임의 하이라이트들이 온라인 게이밍 시스템에서의 플레이어의 등급에 첨부될 수 있게 한다. 예를 들어, 온라인 통계 서비스(online statistics service)는 하나 이상의 서버들 또는 다른 데이터 저장 장치들에 저장되는 첨부된 데이터에 대한 레퍼런스를 보유(keep a reference)한다.
특정 실시예에서, 게임 콘솔로부터 게임 결과가 수신되고 그 게임 결과에 대한 등급이 결정된다. 게임 결과에 대한 등급이 미리 결정된 기준을 충족하면, 그 등급과 연관된 기록된 게임이 게임 콘솔로부터 수신된다. 다른 플레이어들이 온라인 게이밍 서비스를 통해 상기 기록된 게임에 접근할 수 있도록, 기록된 게임이 그 등급에 첨부된다.
도 1은 예시적인 온라인 게이밍 환경의 블록도.
도 2는 데이터를 온라인 게임 등급과 연관시키기 위한 시스템의 구체적인 컴포넌트들을 나타내는 블록도.
도 3a 및 도3b는 데이터를 온라인 게임 등급과 연관시키기 위한 프로시져의 일 실시예를 나타내는 흐름도.
도 4는 접근 토큰(access token)에 포함된 데이터의 일례를 나타내는 도면이다.
도 5는 특정한 게임과 연관된 리더보드(leaderboard)에 포함된 데이터의 일례를 나타내는 도면.
도 6은 게임 콘솔이 플레이어의 등급과 연관된 데이터를 검색(retrieve)하는 프로시져의 일 실시예를 나타내는 흐름도.
도 7은 본 명세서에서 설명된 기법들을 구현하는데 사용될 수 있는 일반적인 컴퓨터 환경을 나타내는 도면.
도 8은 게임 콘솔의 기능적인 컴포넌트들을 보다 상세하게 도시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
102 : 게임 콘솔
104 : 보안 게이트웨이
106 : 네트워크
108 : 사설망
110 : 데이터 센터(안전 지대)
112 : 모니터링 서버(들)
114 : 프레즌스 및 노티피케이션 프론트 도어
116 : 프레즌스 서버(들)
118 : 노티피케이션 서버(들)
120 : 매치 프론트 도어
122 : 매치 서버(들)
124 : 통계 프론트 도어
126 : 통계 서버(들)
128 : 키 분배 센터
동일한 컴포넌트들 및/또는 특징들을 참조하기 위해 도면 전체에 걸쳐 동일한 참조 번호가 사용된다.
이하의 논의는 데이터를 사용자의 온라인 게임 등급과 연관시키기 위한 시스템 및 방법에 대한 것이다. 이러한 논의는 독자가 암호화(encryption), 복호화(decryption), 인증(authentication), 해싱(hashing) 및 디지털 서명(digital signature)과 같은 기초적인 암호 기법 원리들(cryptography principles)에 대해 잘 알고 있다고 가정한다. 암호 기법에 대한 기초적인 개론서로서, Bruce Schneier에 의해 쓰여지고 John Wiley & Sons에서 발행되어 1994년 저작권(1996년 제2판 발행)을 가지며 제목이 "Applied Cryptography: Protocols, Algorithms, and Source Code in C"인 책(text)을 독자에게 안내하는데, 이 책은 본 명세서에 참조로서 편입된다.
본 명세서의 논의들은 "등급(rating)", "리더보드(leaderboard)", 및 "첨부물(attachment)"을 언급한다. 등급(rating)은 게임플레이의 소정의 측면의 결과로서 플레이어 또는 팀에 배정된 점수이다. 리더보드(leaderboard)는 통계 서비스에 저장된 게임플레이의 소정의 측면의 결과로서 발생한 등급들의 정렬된 집합이다. 첨부물(attachment)은 통계 리더보드 상의 등급과 연관된 임의의 데이터이다. 예를 들어, 첨부물은 기록된 게임("저장된 게임(saved game)"이라고도 함), 게임에서 저장된 액션 또는 동작(movement), 어떻게 고득점을 달성했는지를 설명하는 플레이어의 음성을 포함하는 오디오 파일 등이 될 수 있다. 첨부물은 여러 아이템들, 이를테면 플레이어의 해설(commentary)을 포함하는 오디오 파일 및 기록된 게임 등이 모인 집합일 수도 있다. 또한 첨부물을 "첨부된 데이터" 또는 "연관된 데이터(associated data)"라고 할 수도 있다.
도 1은 예시적인 온라인 게이밍 환경(100)의 블록도이다. 복수의 게임 콘솔들(102(1), 102(2), ..., 102(N))은 네트워크(106)를 통해 보안 게이트웨이(104)에 연결된다. 네트워크(106)는 임의의 하나 이상의 통상적인 다양한 데이터 통신 네트워크들을 나타낸다. 네트워크(106)는 전형적으로 패킷 교환망들(packet switched networks)을 포함하나, 회선 교환망들(circuit switched networks)을 포함할 수도 있다. 네트워크(106)는 유선 및/또는 무선 부분들을 포함할 수 있다. 예시적인 일 구현예에서, 네트워크(106)는 인터넷을 포함하고, 선택적으로 하나 이상의 근거리 통신망들(local area networks; LANs) 및/또는 광역 통신망들(wide area networks; WANs)을 포함한다. 네트워크(106)의 적어도 일부는 공개적으로 접근 가능한 네트워크를 지칭하는 공중망(public network)이다. 실질적으로 누구든지 공중망에 접근할 수 있다.
어떤 경우에는, 네트워크(106)는 게임 콘솔(102)과 보안 게이트웨이(104) 사이에 위치한 라우팅 장치(routing device)를 갖는 LAN(예컨대 홈 네트워크)을 포함한다. 이러한 라우팅 장치는 네트워크 주소 변환(network address translation)을 수행할 수 있고, 사설망(private network; 108) 또는 LAN 상의 복수의 장치들로 하여금 인터넷 상에서 동일한 IP 주소를 공유할 수 있도록 하며, 악의적(malicious)이거나 해로운(mischievous) 사용자들이 인터넷을 통해 접근하는 것으로부터 상기 장치(들)를 보호하기 위한 방화벽으로서 동작하기도 한다.
보안 게이트웨이(104)는 공중망(106)과 사설망(108) 사이의 게이트웨이로서 동작한다. 사설망(108)은 근거리 통신망과 같은 다양한 유형의 통상적인 네트워크들 중 어떤 것이어도 무방하다. 사설망(108)뿐만 아니라, 이하에서 더욱 상세하게 논의되는 다른 장치들도 안전 지대(secure zone)로서 동작하는 데이터 센터(data center; 110) 내에 존재한다. 데이터 센터(110)는 신뢰된 통신(trusted communications)을 통해 통신하는 신뢰된 장치들(trusted devices)로 이루어진다. 따라서, 안전 지대(110) 내에서는 암호화 및 인증이 불필요하다. 네트워크(108)의 사적인 본질(private nature)은 네트워크(108)에의 제한된 접근 가능성(accessibility)을 나타내는데, 즉 네트워크(108)에의 접근은 소정의 개인들로만 제한된다(예컨대, 데이터 센터(110)의 소유자 또는 오퍼레이터에 의해 제한된다).
보안 게이트웨이(104)는 하나 이상의 보안 게이트웨이 컴퓨팅 장치들의 클러스터(cluster)이다. 이러한 보안 게이트웨이 컴퓨팅 장치들은 집합적으로 보안 게이트웨이(104)를 구현한다. 보안 게이트웨이(104)는 하나 이상의 통상적인 로드 밸런싱 장치들(load balancing devices)을 선택적으로 포함할 수 있다. 로드 밸런싱 장치들은 보안 게이트웨이 컴퓨팅 장치들에 의해 취급될 요청들을 그러한 컴퓨팅 장치들 중에서 적절한 것들로 향하게 하도록 동작한다. 이러한 방향 지시(directing) 또는 로드 밸런싱은 다양한 보안 게이트웨이 컴퓨팅 장치들 상의 로드를 거의 균등하게(또는 대안적으로 소정의 다른 기준에 따라) 밸런싱하도록 시도하는 방식으로 수행된다.
또한 데이터 센터(110) 내부에는, 하나 이상의 모니터링 서버들(112); (집합적으로 프레즌스 및 노티피케이션 서비스(presence and notification service)를 구현하는) 하나 이상의 프레즌스 및 노티피케이션 프론트 도어들(presence and notification front door; 114), 하나 이상의 프레즌스 서버들(116), 및 하나 이상의 노티피케이션 서버들(118); (집합적으로 매치 서비스(match service)를 구현하는) 하나 이상의 매치 프론트 도어들(match front doors; 120) 및 하나 이상의 매치 서버들(122) ; 그리고 (집합적으로 통계 서비스를 구현하는) 하나 이상의 통계 프론트 도어들(124) 및 하나 이상의 통계 서버들(126) 이 있다. 상기 서버들(116, 118, 122 및 126)은 게임 콘솔들(102)에게 서비스들을 제공하므로 서비스 장치들이라고 할 수 있다. 다른 서비스 장치들이 서버들(116, 118, 122, 및 126) 중의 하나 이상의 서버에 추가적으로 그리고/또는 그 대신에 포함될 수 있다. 또한, 하나의 데이터 센터만이 도 1에 도시되어 있지만, 대안적으로 게임 콘솔들(102)이 통신할 수 있는 복수의 데이터 센터들이 존재할 수 있다. 이러한 데이터 센터들은 독립적으로 동작할 수 있거나, 대안적으로, (예컨대 게임 콘솔들(102)이 이용 가능한 하나의 큰 데이터 센터를 만들기 위해) 집합적으로 동작할 수도 있다.
게임 콘솔들(102)은 데이터 센터(110)로부터 원격에(remotely) 위치하고, 네트워크(106)를 통해 데이터 센터(110)에 접근한다. 데이터 센터(110) 내의 하나 이상의 장치들과 통신하고자 하는 게임 콘솔(102)은 콘솔(102)과 보안 게이트웨이(104) 간의 안전한 통신 채널을 설정한다. 게임 콘솔(102) 및 보안 게이트웨이(104)는 앞뒤로 전달되는 데이터 패킷들을 암호화하고 인증하는데, 이를 통해 그 데이터 패킷들을 캡쳐하거나 복사할 수 있는 임의의 다른 장치들이 상기 암호화를 해독하지 않고는 그것들을 이해하지 못하게 하면서 데이터 패킷들이 게임 콘솔(102)과 보안 게이트웨이(104) 간에 안전하게 전송될 수 있게 한다. 게임 콘솔(102)로부터 보안 게이트웨이(104)로, 또는 보안 게이트웨이(104)로부터 게임 콘솔(102)로 통신되는 각각의 데이터 패킷은 그 안에 삽입된(embedded) 데이터를 가질 수 있다. 이 삽입된 데이터는 패킷의 콘텐트(content) 또는 패킷의 데이터 콘텐트(data content)라고 불린다. 또한 상기 패킷의 유형(예를 들어, 이하에서 더욱 상세하게 논의되는 하트비트 패킷(heartbeat packet) 또는 순회 패킷( traversal packet))을 기반으로 하여 추가적인 정보가 패킷 내에 고유하게(inherently) 포함될 수도 있다.
콘솔(102) 및 보안 게이트웨이(104) 간의 안전한 통신 채널은 보안티켓(security ticket)을 기반으로 한다. 콘솔(102)은 그 자체 및 콘솔(102)의 현재 사용자(들)를 키 분배 센터(key distribution center; 128)에게 인증하고, 키 분배 센터(128)로부터 보안 티켓을 얻는다. 콘솔(102)은 그 후 이 보안 티켓을 사용하여 보안 게이트웨이(104)와의 안전한 통신 채널을 설정한다. 보안 게이트웨이(104)와의 안전한 통신 채널을 설정하는데 있어서, 게임 콘솔(102) 및 보안 게이트웨이(104)는 그들 자신들을 서로에게 인증하고, 그러한 특정 게임 콘솔(102) 및 보안 게이트웨이(104)에게만 알려지는 세션 보안키(session security key)를 설정한다. 이 세션 보안키는 게임 콘솔(102)과 보안 게이트웨이 클러스터(104) 간에 전송되는 데이터를 암호화하기 위한 기초(basis)로서 사용되며, 따라서 다른 장치들(다른 게임 콘솔들(102) 포함)은 데이터를 판독할 수 없다. 세션 보안키는 또한, 데이터 패킷이 그 데이터 패킷의 출처라고 주장하는, 보안 게이트웨이(104) 또는 게임 콘솔(102)로부터 온 것으로서 상기 데이터 패킷을 인증하기 위한 기초로서 사용된다. 따라서, 이러한 세션 보안키를 기초로서 사용함으로써 보안 게이트웨이(104)와 다양한 게임 콘솔들(102) 간에 안전한 통신 채널들이 설정될 수 있다.
일단 게임 콘솔(102) 및 보안 게이트웨이(104) 간에 안전한 통신 채널이 설정되면, 암호화된 데이터 패킷들이 안전하게 그 양자 간에 전송될 수 있다. 게임 콘솔(102)이 데이터 센터(110) 내의 특정한 서비스 장치로 데이터를 송신하고자 하는 경우, 게임 콘솔(102)은 그 데이터를 암호화하고, 그것을 보안 게이트웨이(104)로 보내면서, 그것이 상기 데이터 패킷에 의해 표적(target)이 되는 특정한 서비스장치(들)로 전달되도록 요청한다. 보안 게이트웨이(104)는 데이터 패킷을 수신하고, 그 데이터 패킷을 인증하고 복호화한 후에, 그 패킷의 데이터 콘텐트를 사설망(108)을 통해 적합한 서비스로 송신될 다른 메시지로 캡슐화한다(encapsulate). 보안 게이트웨이(104)는 그 데이터 패킷에 의해 표적이 된 요청된 서비스(requested service)(들)를 기반으로 하여 메시지에 대한 적절한 서비스를 결정한다.
이와 유사하게, 데이터 센터(110)의 서비스 장치가 게임 콘솔(102)로 데이터를 통신하기를 원하는 경우, 그 데이터 센터는 사설망(108)을 통해 보안 게이트웨이(104)로 메시지를 송신하는데, 그 메시지는 게임 콘솔(102)로 송신될 데이터 콘텐트뿐만 아니라, 그 데이터 콘텐트가 송신될 특정한 게임 콘솔(102)의 지시자(indication)를 포함한다. 보안 게이트웨이(104)는 데이터 패킷 내에 데이터 콘텐트를 삽입한 후 그 데이터 패킷을 암호화하여 그것이 특정한 게임 콘솔(102)에 의해서만 복호화될 수 있도록 하며, 또한 그 데이터 패킷을 보안 게이트웨이(104)로부터 온 것으로서 인증한다.
본 명세서에서는 주로 보안 게이트웨이(104)와 게임 콘솔(102) 간에 암호화된 데이터 패킷들을 통신하는 것으로서 논의되지만, 대안적으로 소정의 데이터 패킷들은 부분적으로 암호화될 수 있다(데이터 패킷들의 어떤 부분들이 암호화되는 반면 다른 부분들은 암호화되지 않는다). 데이터 패킷들의 어떤 부분들이 암호화되고 어떤 부분들이 암호화되지 않을지는 여부는 데이터 센터(110) 및/또는 게임 콘솔들(102)의 설계자들이 원하는 바에 따라 달라질 수 있다. 예를 들어, 설계자들은 콘솔(102)의 사용자들이 서로 대화할 수 있도록 음성 데이터가 콘솔들(102) 사이에서 통신되는 것을 허용하기로 선택할 수 있고, 나아가 설계자들은 패킷 내의 임의의 다른 데이터가 암호화되더라도 음성 데이터는 암호화되지 않도록 허용하기로 선택할 수 있다. 또한, 다른 대안으로, 어떤 데이터 패킷들은 암호화된 부분들을 가지지 않을 수도 있다(즉, 데이터 패킷 전체가 암호화되지 않는다). 데이터 패킷이 암호화되지 않거나, 단지 부분적으로 암호화되더라도 그 데이터 패킷은 여전히 인증된다는 점에 유의해야 할 것이다.
보안 게이트웨이(104) 내의 각각의 보안 게이트웨이 장치는 통상적으로 하나 이상의 게임 콘솔들(102)과의 안전한 통신 채널에 대하여 책임을 지며, 따라서 각각의 보안 게이트웨이 장치는 하나 이상의 게임 콘솔들의 관리 및 취급(handling)에 대한 책임을 지는 것으로 볼 수 있다. 다양한 보안 게이트웨이 장치들이 서로 통신할 수 있고, 서로에게 메시지들을 통신할 수 있다. 예를 들어, 자신이 관리에 대한 책임을 지지 않는 게임 콘솔로 데이터 패킷을 송신해야 할 필요가 있는 보안 게이트웨이 장치는, 그 게임 콘솔로 송신될 데이터와 함께, 다른 모든 보안 게이트웨이 장치들에게 메시지를 송신할 수 있다. 이 메시지는, 그 게임 콘솔의 관리에 대한 책임을 지며 그 게임 콘솔로 적합한 데이터를 송신하는, 보안 게이트웨이 장치에 의해 수신된다. 대안적으로, 보안 게이트웨이 장치들은 어느 보안 게이트웨이 장치들이 어느 게임 콘솔들을 취급하는지를 인식할 수도 있는데, 이는 각각의 보안 게이트웨이 장치가 다른 보안 게이트웨이 장치들에 의해 취급되는 게임 콘솔들의 테이블(table)을 유지하는 것과 같이 명시적(explicit)이거나, 또는 대안적으로, 게임 콘솔의 식별자(identifier)를 기반으로 하여 어느 보안 게이트웨이 장치가 특정한 게임 콘솔에 대하여 책임을 지는지를 결정하는 것과 같이 암시적(implicit)일 수도 있다.
모니터링 서버(들)(monitoring server; 112)는 이용할 수 없는 게임 콘솔(102) 또는 보안 게이트웨이(104)의 이용할 수 없는 게이트웨이 장치를 데이터 센터(110) 내의 장치들에게 알려주도록 동작한다. 게임 콘솔들(102)은 다양한 상이한 원인들, 이를테면 하드웨어나 소프트웨어 장애(failure), 데이터 센터(110)에서 로그 아웃하지 않은 채 전원이 꺼진 콘솔, 콘솔(102)로부터 접속되지 않은(disconnected) 콘솔(102)로의 네트워크 접속 케이블(network connection cable), 다른 네트워크 문제들(예컨대 콘솔(102)이 있는 LAN의 고장(malfunctioning)) 등으로 인해 이용할 수 없게 될 수 있다. 이와 유사하게, 보안 게이트웨이(104)의 보안 게이트웨이 장치는 다양한 상이한 원인들, 이를테면 하드웨어나 소프트웨어 장애, 전원이 꺼진 장치, 장치로부터 접속되지 않은 그 장치로의 네트워크 접속 케이블, 다른 네트워크 문제들 등으로 인해 이용할 수 없게 될 수 있다.
보안 게이트웨이(104) 내의 각각의 보안 게이트웨이 장치들은 하나 이상의 모니터링 서버들(112)에 의해 모니터링되는데, 이 모니터링 서버들(112)은 보안 게이트웨이 장치들 중에서 어느 하나를 이용할 수 없게 되는 때를 검출한다. 어느 보안 게이트웨이 장치를 이용할 수 없게 된 경우, 모니터링 서버(112)는, 그 보안 게이트웨이 장치를 더 이상 이용할 수 없다는 메시지를 데이터 센터(110) 내의 각각의 다른 장치들(서버들, 프론트 도어들, 기타)로 송신한다. 각각의 다른 장치들은 이 정보를 기반으로 하여 그것이 적절하다고 생각하는 방식대로 동작할 수 있다(예를 들어, 각각의 다른 장치들은 그 보안 게이트웨이 장치에 의해 관리되고 있는 특정한 게임 콘솔들이 데이터 센터(110)와 더 이상 통신하지 않는다고 가정하고 그에 따라 다양한 종결처리 동작들(clean-up operations)을 수행할 수 있다). 대안적으로, 소정의 장치들(예를 들어, 보안 게이트웨이 장치들을 이용할 수 있는지 여부에 관심이 있는 장치들)만이 모니터링 서버(112)로부터 그러한 메시지를 수신할 수 있다.
보안 게이트웨이(104)는 개별적인 게임 콘솔들(102)을 모니터링하며 게임 콘솔들(102) 중에서 어느 하나를 이용할 수 없게 되는 때를 검출한다. 보안 게이트웨이(104)가 하나의 게임 콘솔을 더 이상 이용할 수 없다는 것을 검출한 때에, 보안 게이트웨이(104)는 그 이용할 수 없는 게임 콘솔을 식별하는 메시지를 모니터링 서버(112)로 송신한다. 이의 응답으로, 모니터링 서버(112)는 데이터 센터(110) 내의 각각의 다른 장치들로(또는 대안적으로 선택된 장치들로만) 그 게임 콘솔을 더 이상 이용할 수 없다는 메시지를 송신한다. 그 후 각각의 다른 장치들은 이 정보를 기반으로 하여 그것이 적절하다고 생각하는 방식대로 동작할 수 있다.
프레즌스 서버(들)(116)는 온라인 게이밍을 위해 데이터 센터(110)에 로그인된 지정된 사용자의 상태 또는 존재(presence)와 관련된 데이터를 보유하고 처리한다. 노티피케이션 서버(들)(118)는 데이터 센터(110)에 로그인된 플레이어를 향해 나가는 메시지들(outgoing messages)의 복수의 대기열들(queues)을 유지한다. 프레즌스 및 노티피케이션 프론트 도어(114)는 보안 게이트웨이(104)와 서버들(116 및 118) 간의 중개자(intermediary)로서 동작하는 하나 이상의 서버 장치들이다. 프론트 도어(114)로서 동작하는 복수의 서버 장치들 간의 로드를 밸런싱하기 위해 하나 이상의 로드 밸런싱 장치들(도시되지 않음)이 프레즌스 및 노티피케이션 프론트 도어(114)에 포함될 수 있다. 보안 게이트웨이(104)는 서버들(116 및 118)에 대한 메시지를 프론트 도어(114)에게 통신하며, 프론트 도어(114)는 특정한 서버(116) 또는 특정한 서버(118) 중 어느 서버로 메시지가 통신되어야 하는지를 식별한다. 프론트 도어(114)를 사용함으로써, 서버들(116 및 118)의 실제 구현, 이를테면 어떤 사용자들에 관한 데이터의 관리를 어떤 서버들이 책임지는지에 대한 것이 보안 게이트웨이(104)로부터 추상화된다(abstracted). 보안 게이트웨이(104)는 프레즌스 및 노티피케이션 서비스를 표적(target)으로 하는 메시지들을 단순히 프레즌스 및 노티피케이션 프론트 도어(114)로 전달하며, 프론트 도어(114)에 의존하여 그 메시지들을 서버(116) 및 서버(118) 중에서 적합한 것으로 라우팅할 수 있다.
매치 서버(들)(match server; 122)는 온라인 플레이어들을 서로 매칭하는 것과 관련된 데이터를 보유하고 처리한다. 온라인 사용자는 플레이할 수 있는 게임을, 그 게임의 다양한 특성들(예를 들어, 풋볼 게임이 플레이될 위치(location), 게임이 낮 동안 또는 밤에 플레이될 것인지 여부, 및 사용자의 기술 레벨(skill level) 등)과 함께 광고할 수 있다. 그 후, 이러한 다양한 특성들은 상이한 온라인 사용자들이 게임을 함께 플레이하도록 그들을 매치-업(match-up)하기 위한 기초로서 사용될 수 있다. 매치 프론트 도어(120)는 하나 이상의 서비스 장치들 (및 선택적으로 로드 밸런싱 장치(들))을 포함하며, 서버(들)(116) 및 서버(들)(118)를 추상화하는 프론트 도어(114)와 유사한 방식으로 보안 게이트웨이(104)로부터 매치 서버(들)(122)를 추상화하도록 동작한다.
통계 서버(들)(126)는 온라인 게임들에 대한 다양한 통계들과 관련된 데이터를 보유하고 처리한다. 사용되는 특정한 통계는 게임 설계자가 원하는 바에 따라 달라질 수 있다(예들 들어, 상위 10위까지의(top ten) 점수 또는 시간, 게임의 모든 온라인 플레이어들에 대한 세계 랭킹, 최다 아이템들을 발견했거나 플레이하는데 최장 시간을 들인 사용자들의 목록 등). 통계 프론트 도어(124)는 하나 이상의 서비스 장치들 (및 선택적으로 로드 밸런싱 장치(들))을 포함하고, 서버(들)(116) 및 서버(들)(118)를 추상화하는 프론트 도어(114)와 유사한 방식으로 보안 게이트웨이(104)로부터 통계 서버(들)(126)를 추상화하도록 동작한다.
이와 같이, 보안 게이트웨이(104)는 신뢰되지 않는 공중망(106)으로부터 데이터 센터(110)의 안전 지대 내의 장치들을 보호하도록 동작한다는 것을 알 수 있다. 데이터 센터(110) 내의 모든 장치들이 신뢰되기 때문에, 데이터 센터(110)의 안전 지대 내의 통신들은 암호화될 필요가 없다. 그러나, 데이터 센터(110) 내의 장치로부터 게임 콘솔(102)로 통신되는 임의의 정보는 보안 게이트웨이 클러스터(104)를 통과하는데, 이때 그 정보는 그것이 표적으로 하는 게임 콘솔(102)에 의해서만 복호화될 수 있는 방식으로 암호화된다.
도 2는 데이터를 온라인 게임 등급들과 연관시키기 위한 시스템의 특정한 컴포넌트들을 나타내는 블록도이다. (도 1의 컴포넌트들과 같은) 소정의 컴포넌트들은 설명상의 목적으로 도 2에서 생략된다. 특정한 일 실시예에서, 도 2에 도시된 컴포넌트들은 완전히 갖추어진(full-featured) 온라인 게이밍 환경을 제공하기 위해 도 1의 컴포넌트들과 함께 사용될 수 있다. 도 1과 공통되는 도 2의 컴포넌트들은 동일한 참조 번호들을 공유한다.
도 2의 시스템은, 도 1과 관련해 앞서 논의된 바와 같이, 두 개의 게임 콘솔(102(1) 및 102(2)), 보안 게이트웨이(104) 및 통계 프론트 도어(124)를 도시한다. 통계 프론트 도어(124)는 저장 서버(202), 통계 데이터베이스(206) 및 서명 서버(signature server; 210)에 연결된다. 저장 서버(202)는 하나 이상의 저장 데이터베이스(204) 내의 데이터, 이를테면 게임 등급들과 연관된 첨부물들의 저장 및 검색을 제어한다. 저장 서버(202)는 보안 게이트웨이(104)를 통해 서명 서버(210) 및 게임 콘솔들(102)과 통신한다.
통계 프론트 도어(124)는, 게임 플레이와 관련된 통계들, 이를테면 다양한 게임 프로그램들과 연관된 리더보드들을 유지하는 것과 관련된 다양한 기능들(functions)을 제어한다. 통계 프론트 도어(124)에 연결된 통계 데이터베이스(206)는 통계 프론트 도어(124) 및 다른 컴포넌트들에 의해 사용되는 다양한 통계들 및 다른 정보를 저장한다. 예를 들어, 통계 데이터베이스(206)는 복수의 리더보드들과 연관된 데이터, 이를테면 플레이어 등급들, 플레이어의 등급과 연관된 데이터(예를 들면, 저장된 게임들(saved games) 또는 하이라이트들)에 대한 레퍼런스들(references) 등을 유지한다.
네임 리졸버(name resolver; 208)는 데이터가 복수의 저장 장치들에 걸쳐 저장될 때 사용된다. 게임 콘솔(102)로부터의 데이터 요청은 통상적으로 온라인 게이밍 시스템에 의해 사용되는 저장 설비들(storage facilities)을 인식하지 못한다. 따라서, 네임 리졸버(208)는 게임 콘솔(102)에 의해 사용되는 일반적인 식별자(generic identifier)를 데이터의 실제 저장 위치로 매핑한다. 네임 리졸버(208)에 관한 부가적인 설명은 차후에 제공된다. 서명 서버(210)는 게임 콘솔(102)과 시스템의 다른 컴포넌트들 간의 통신을 안전하게 하는데 사용되는 일련의 키들을 포함한다. 일 실시예에서, 통계 서버(124)는 네임 리졸버(208)에 의해 취급되는 네임 레졸루션 문제들(name resolution issues)을 인식하지 못한다. 통계 서버(124)는 네임 리졸버(208)가 적합한 저장 서버의 위치를 알아내는데 사용했을 모든 메타데이터를 포함하는 레퍼런스들을 구축하지만, 그 통계 서버는 데이터가 상이한 위치들 또는 상이한 저장 장치들 사이에서 어떻게 분할(partition)되어 있는지 알지 못한다. 게임 콘솔(102)이 통계 서버(124)에 의해 생성되는 첨부물들을 실제로 업로딩 또는 다운로딩하는 경우, 네임 리졸버(208)가 접속(contact)될 것이다.
온라인 게임 등급들과 연관된 데이터가 반드시 통계 서비스 그 자체에 저장되어야 하는 것은 아니다. 그 대신, 통계 서비스는 분리된 저장 서비스에 저장된 데이터에 대한 레퍼런스를 보유할 수 있다. 저장 서비스는 온라인 게임 등급들과 연관된 데이터뿐 아니라 다른 데이터도 저장할 수 있다.
도 3a 및 3b는 데이터를 온라인 게임 등급과 연관시키기 위한 프로시져(300)의 일 실시예를 나타내는 흐름도이다. 처음에, 게임 콘솔은 온라인 게이밍 서비스와의 접속을 설정한다(블록(302)). 그 후 게임 콘솔은 (게임 점수와 같은) 게임 결과 또는 플레이어의 게임수행에 등급을 매기기 위해 사용되는 다른 정보를 통계 프론트 도어나 통계 서버로 포스팅(post)한다(블록(304)). 통계 서버는 플레이어에게 그 플레이어의 등급과 연관될 기록된 게임(즉, 포스팅된 게임 점수와 연관된 기록된 게임)을 업로딩할 기회를 제공할지 여부를 결정한다(블록(306)). 기록된 게임을 "고스트 레이스(ghost race)", "하이라이트(highlight)", "하이라이트 레이스(highlight race)", 또는 "저장된 게임(saved game)"이라고 할 수도 있다. 통계 서버는 특정한 게임과 연관될 수 있는 기록된 게임들의 수를 제한해서 그러한 기록된 게임들을 위해 필요한 저장 공간의 양(amount)을 제어할 수 있다. 예를 들어, 통계 서버는 기록된 게임들로 하여금 특정한 게임에 대해 상위 10위 또는 20위까지의 (또는 모든 등급들의 상위 5% 내의) 등급들과 연관되도록 할 수 있다. 특정한 게임과 함께 저장될 수 있는 기록된 게임들의 수는 점수를 제출하는 플레이어들의 수 및/또는 기록된 게임 데이터의 통상적인 크기에 따라 달라질 수 있다.
통계 서버가 플레이어에게 기록된 게임을 업로딩할 기회를 제공하기로 결정한 경우(블록(308)), 프로시져는 통계 서버가 플레이어에게 기록된 게임의 제출에 사용될 접근 토큰(access token)을 송신하는 블록(314)으로 진행한다. 통계 서버가 플레이어에게 기록된 게임을 업로딩할 기회를 제공하지 않기로 결정한 경우, 그 플레이어는 기록된 게임의 업로딩에 대한 요청을 입력할 수 있다(블록(310)). 통계 서버는 소정의 수의 기록된 게임들이 플레이어들에 의해 업로딩되도록 허용할수 있는데, 상기 플레이어들은 그렇게 되지 않으면 기록된 게임을 업로딩할 권한이 없는 자들이다. 플레이어가 위와 같은 요청을 입력하면, 프로시져는 플레이어가 기록된 게임을 업로딩하도록(예를 들어, 통계 서버에 의해) 허용될 것인지 여부를 결정한다(블록(312)). 허용되는 경우, 프로시져는 통계 서버가 플레이어에게 기록된 게임의 제출에 사용될 접근 토큰을 송신하는 블록(314)으로 진행한다. 그렇지 않은 경우, 프로시져는 종료된다.
블록(314)으로부터, 게임 콘솔은 플레이어가 기록된 게임의 업로딩을 선택했는지 여부를 결정한다(블록(316)). 그렇지 않은 경우, 프로시져는 종료된다. 플레이어가 블록(316)에서 기록된 게임의 업로딩을 선택한 경우, 게임 콘솔은 접근 토큰 및 기록된 게임을 저장 서버로 반환한다(블록(318)). 저장 서버는 접근 토큰 및 기록된 게임을 수신하고 그 접근 토큰이 유효한지 확인(validate)한다(블록(320)). 이 확인은 게임 콘솔에 의해 송신된 기록된 게임이 적절한 기록된 게임(즉, 그 접근 토큰을 "획득한" 기록된 게임)이라는 점을 확실히 하기 위해 행해진다. 접근 토큰이 유효한 경우, 기록된 게임은 저장 장치에 저장된다(블록(322)). 접근 토큰이 유효하지 않은 경우, 기록된 게임은 저장 서버에 의해 버려진다(블록(324)).
업로딩되고 있는 기록된 게임 데이터의 무결성(integrity)을 보호하기 위해, 첨부물이 될 가능성이 있는 임의의 게임 데이터는 게임 콘솔 플레이어에 의해 서명 서버(210)를 사용하여 디지털 방식으로 서명된다. 이러한 서명은 저장 서비스에서 첨부 데이터와 함께 추적된다. 게임 콘솔의 사용자가 저장 서비스로부터 첨부물을다운로딩할 때마다, 그 게임 콘솔은 저장 서비스를 사용하여 그 서명을 검증한다. 이러한 접근 방식은 차후에 악의적인 첨부물이 업로딩되어 발견되는 경우에 서명들이 폐기(revoke)될 수 있게 한다. 첨부물의 악의적인 성질이 발견되는 때에 이미 어떤 게임 콘솔 사용자들이 그 첨부물을 다운로딩했을 수도 있기 때문에, 게임 콘솔 사용자들로 하여금 첨부물이 사용되기 전에 서명을 확인하도록 요구함으로써, 게임 콘솔 사용자들이 합법적인 사본(legitimate copy)을 가지고 있는 경우에도 적절하지 않은 콘텐트가 무력화(disable)될 수 있게 한다.
도 3a 및 3b의 예에서, 통계 서버는 플레이어에게 기록된 게임을 업로딩할 기회를 제공한다. 대안적인 실시예들에서, 통계 서버가 기록된 게임을 다른 플레이어들에게 제공하고자 하는 경우(예를 들어, 기록된 게임이 최고 점수인 경우), 게임 콘솔은 자동적으로 그 기록된 게임을 저장 서버로 업로딩한다.
기록된 게임들 및 다른 저장된 데이터는, 예를 들어, 게임 콘솔, 퍼스널 컴퓨터, 또는 다른 장치로부터, 온라인 게이밍 서비스를 통해 다수의 플레이어들에 의해 검색되고, 다운로딩되며, 사용될 수 있다. 플레이어들은 최고의 플레이어들이 어떻게 그들의 상위 점수들(top scores)을 얻는지 배우기 위해 기록된 게임들을 보거나 그 기록된 게임의 리플레이(replay) 동안 "따라가 볼(ride along)" 수 있다. 또한, 소정을 기록된 게임들을 가지고, 플레이어들은 그들 자신의 기술들(skills)을 시험하거나 향상하기 위해 그 기록된 게임과 경합할 수도 있다.
본 명세서에서 논의된 특정한 예들은 플레이어 등급들과 연관된 저장된 게임 데이터(saved game data)를 저장(storing)하는 것과 관련된다. 한편, 대안적인 실시예에서는 임의의 유형의 데이터, 이를테면 기록된 게임의 일부들, 풋볼 게임에서의 최장 런(longest run), 최대 폭발(biggest explosion), 뛰어난 골프 샷(clever golf shot), 최고의 블루퍼들(bloopers; 즉, 실수들) 등이 플레이어 등급들과 연관될 수 있다. 또한, 게임들은 특히 흥미 있는 아이템들의 "하이라이트" 영상을 기록하여 그것들을 리더보드들 상에서 이용 가능하게 만들 수 있다. 스포츠 게임들은 플레이어들이 최장 인터셉션(longest interception), 최장 홈런 등과 같은 최고의 플레이들들 볼 수 있는 하이라이트 쇼를 제공함으로써 플레이어들로 하여금 자주 플레이하도록 조장할 수 있다. 이와 유사하게, 액션 게임들은 흥미 있는 이벤트들, 이를테면 최대 폭발, 주어진 시간 내의 최다 파괴(most crashes) 등에 대한 영상들을 기록할 수 있다.
도 4는 접근 토큰(402)에 포함된 데이터의 일례를 나타낸다. 접근 토큰(402)은 사용자에게 데이터의, 예컨대 저장 서버로의, 업로딩에 대한 "허가(permission)"를 제공한다. 접근 토큰(402)은 통계 서버가 업로딩을 허가했음을 저장 서버에게 보장하도록 고안되며 플레이어에 의한 훼손(tampering)을 방지하도록 고안된다. 접근 토큰(402)은, 플레이어가 업로딩하도록 허가 받은 첨부된 데이터 파일의 이름, 데이터 업로딩의 수행을 허가 받은 플레이어의 이름, 업로딩되는 데이터를 생성한 기기와 연관된 식별자, 및 게임 콘솔로부터 업로딩될 수 있는 데이터의 최대 크기를 포함한다. 또한 접근 토큰(402)은 허가를 해주는 통계 서버가 서명 서버로부터 얻은 디지털 서명을 포함한다. 이 디지털 서명은 사용자가 접근 토큰에 포함된 데이터를 훼손하는 것을 방지한다. 다른 접근 토큰들은 다른 유형의 데이터, 이를테면 허용된 동작(permitted operation), 업로딩되는 파일의 위치 등을 포함할 수 있다.
도 5는 특정한 게임과 연관된 리더보드(500)에 포함된 데이터의 일례를 나타낸다. 이 예에서, 리더보드(500)는 자동차 레이싱 게임과 연관되며 최고 랩 타임들(best lap times)의 목록을 유지한다. 다른 실시예들에서는, 다른 유형들의 게임들이 상이한 유형들의 정보를 캡쳐(capture)할 수 있다. 또한 리더보드는 최단 시간 랩, 최단 시간 세 바퀴 레이스(fastest three-lap race), 최소 충돌 등과 같은 여러 유형의 정보를 캡쳐할 수 있다. 리더보드 정보는 통상적으로 온라인 게이밍 서비스와 연관된 모든 플레이어들이 이용할 수 있다.
리더보드(500)의 제1열(502)은 특정한 랭킹(예를 들어, 1위 내지 10위)을 식별한다. 제2열(504)은 그 랭킹과 연관된 플레이어 이름을 식별한다. 플레이어 이름은 실제 이름(예컨대 Bob Smith)이거나 닉네임(예컨대, Master Gamer)일 수 있다. 제3열(506)은 적어도 부분적으로 플레이어의 랭킹의 원인이 되는 플레이어의 최고 랩 타임을 식별한다. 제4열(508)은 플레이어의 랭킹과 연관된 (기록된 게임 또는 최고 샷(best shot)과 같은) 데이터를 식별하는 레퍼런스 식별자(reference identifier)를 포함한다. 예를 들어, 레퍼런스 식별자(줄여서 Ref. ID)는 열(506)에서 식별된 랩 타임이 생성된 기록된 게임을 식별할 수 있다. 다른 플레이어들은 레퍼런스 식별자를 사용하여 기록된 게임 또는 다른 연관된 데이터를 선택할 수 있다. 어떤 경우에는, 레퍼런스 식별자가 없을 수도 있고, 이는 특정한 랭킹과 연관된 부가적인 데이터가 없다는 것을 의미한다. 대안적인 실시예에서, 레퍼런스 식별자는 URL(uniform resource locator)이다.
제5열(510)은, 제4열(508)에서 식별된 데이터가 다운로딩 및/또는 보기(viewing)를 위해 이용 가능한지 여부를 식별한다. 레퍼런스 식별자에 의해 식별된 데이터가, 예를 들어, 저장 서버 상에서 이용 가능한 경우, 제5열(510)은 그 데이터의 이용 가능성을 "예(Yes)" 또는 "Y"로 표시할 것이다. 한편, 데이터가 삭제되었거나, 저장 서버로 업로딩된 적이 없거나, 또는 저장 서버로 업로딩이 진행 중인 경우라면, 제5열(510)은 그 데이터의 이용 가능성을 "아니오(No)" 또는 "N"으로 표시할 것이다. 따라서, 플레이어는 리더보드를 보고 어떤 첨부물들이 다운로딩 가능한지를 식별할 수 있다.
제6열(512)은 제2열(504)에서 식별된 플레이어가 리더보드(500)와 연관된 게임을 최종적으로 플레이한 시간을 표시하는 타임스탬프를 식별한다. 타임 스탬프 정보는 플레이어가 게임 결과를 통계 서버로 보고할 때마다 업데이트된다. 이 타임 스탬프 정보는 통계적인 데이터의 경과시간(age)을 결정하는데 사용된다. 또한, 통계 서버는 오래된 엔트리들을 "경과시간 제한 초과(age out)"시킬 수도 있다. 한 실시예에서, 30일 또는 60일 동안 게임을 플레이하지 않은 플레이어에 의해 생성된 엔트리들은, 게임을 활발히 플레이하고 있는 플레이어들에게 공간을 제공하도록 리더보드로부터 삭제될 수 있다. 다른 실시예에서, 이하의 식이 타임 스탬프에 기초하여 리더보드(500)의 엔트리들의 경과시간을 계산한다.
예시적인 감쇠 공식(decay formula)이 아래에서 주어진다(m은 플레이어의 최종 게임 세션으로부터 몇 개월이 경과했는지를 나타내는 수이다).
이 공식은 플레이어가 활동하지 않는 기간이 12달이 될 때까지 시간이 경과함에 따라 플레이어의 등급을 선형적으로(linearly) 낮출 것이다. 플레이어가 활동하지 않은 채 12달이 지나면, 등급은 0으로 설정되고 이어서 리더보드로부터 삭제된다. 대안적인 실시예들은 시간에 따라 등급을 내리는 다른 유형의 감쇠 공식들을 사용할 수 있다.
리더보드(500)가 특정한 게임에 대한 상위 10위까지의 플레이어들을 나타내더라도, 다른 리더보드들은 임의의 수의 플레이어들, 이를테면 상위 5위, 상위 20위, 또는 상위 100위까지의 플레이어들을 나타낼 수 있다.
리더보드(500)의 각각의 행(즉, 등급)은 연관된 복수의 데이터 첨부물들을 가질 수 있다. 예를 들어, 리더보드(500)의 특정한 등급은 연관된 기록된 게임과, 그들이 어떻게 고득점을 달성했는지 설명하는 플레이어의 음성인 연관된 오디오 파일을 가질 수 있다.
대안적인 실시예에서, 온라인 게이밍 서비스와 관련된 플레이어들의 서브세트(subset), 이를테면 친구들의 무리 또는 클럽은 첨부물들을 교환할 수 있다. 따라서, 친구들의 무리는 다른 친구들이 다운로딩 및 보기(download and view) 또는 대항하여 경합하도록, 기록된 게임들을 특정한 저장 영역(예컨대 친구들의 리더보드)에 포스팅할 수 있다. 이는 둘 이상의 친구들이 동시에 플레이할 수 없는 경우에도 서로 대항하여 플레이할 수 있게 한다.
도 6은 게임 콘솔이 플레이어의 등급과 연관된 데이터를 검색하는 프로시져(600)의 일 실시예를 나타내는 흐름도이다. 처음에, 게임 콘솔은 온라인 게이밍 서비스와의 접속을 설정한다(블록(602)). 게임 콘솔 사용자(또는 플레이어)는 특정한 게임과 연관된 리더보드의 표시(display)를 요청한다(블록(604)). 대안적인 실시예에서, 게임 콘솔 사용자(또는 플레이어)는 역시 온라인 게이밍 시스템을 사용하는 다양한 친구들의 등급들의 표시를 요청한다. 친구들의 등급들의 이러한 표시는 도 5의 리더보드(500)에 관해 앞서 설명된 것과 유사한 정보를 포함할 수 있다.
블록(606)에서 온라인 게이밍 서비스는 게임콘솔로 리더보드 데이터를 제공한다. 게임 콘솔은 그 후 게임 콘솔 사용자에게 수신된 리더보드 데이터를 표시한다(블록(608)). 게임 콘솔 사용자는 리더보드의 엔트리에 첨부된(또는 그 엔트리와 연관된) 데이터를 선택한다(블록(610)). 선택된 데이터는 기록된 게임, 선호하는 샷(favorite shot) 등이 될 수 있다. 온라인 게이밍 서비스는 그 선택된 데이터를 게임 콘솔로 다운로딩한다(블록(612)). 게임 콘솔은 그 후 다운로딩된 데이터를 표시하거나 또는 다르게 이용한다(블록(604)). 앞서 언급한 바와 같이, 게임 콘솔 사용자는 다른 플레이어들의 기술을 익히기 위해 기록된 게임 데이터 또는 게임 하이라이트들을 볼 수 있다.
앞서 언급한 바와 같이, 네임 리졸버(208; 도 2)는 게임 콘솔에 의해 사용되는 일반적인 식별자를 원하는 데이터의 실제 저장 위치로 매핑한다. 온라인 게이밍 시스템에 의해 저장된 데이터는 상이한 지리적 지역에 있는 다양한 상이한 저장 시스템들 상에 저장될 수 있다. 첨부 데이터는 게임 프로그램들, 플레이어의 지리적 지역 등을 기반으로 서브세트로 분할될 수 있다. 이러한 상이한 저장 장치들 및 저장 위치들은 사용자가 그 데이터 저장 아키텍처의 배치(layout)를 이해할 것을 요구하지 않아도 게임 콘솔 사용자에게 이용 가능하게 될 필요가 있다. 게임 프로그램 그 자체뿐만 아니라 다른 다양한 데이터-관련 기능들, 이를테면 새로운 데이터의 추가, 저장 장치들 및/또는 저장 위치들 간의 데이터의 이동, 및 저장 설비들의 재배치(reallocation)가 게임 콘솔 사용자에게 투명해야 한다. 게임 프로그램이 (예를 들어, 네임 리졸버(208)에 의해) 리다이렉트(redirect)될 수 있기 때문에, 앞서 언급한 다양한 기능들은 게임 코드를 수정하지 않아도 발생할 수 있다.
복수의 데이터 저장 위치들에 걸쳐 데이터를 저장함으로써, 게임 콘솔 사용자에게 가까운 저장 위치로부터 데이터를 다운로딩하는 것에 의해 데이터 다운로딩 시간이 향상될 수 있다. 또한 게임 콘솔 사용자를 혼동(disruption)시키거나, 예를 들어, 통계 데이터베이스에 저장된 데이터를 식별하는 레퍼런스들의 업데이트를 필요로 하지 않고도, 데이터는 하나의 위치에서 다른 위치로 옮겨질 수 있다. 통계 서비스가 새로운 데이터 첨부물에 대한 레퍼런스를 생성할 때 서비스는 그 레퍼런스에 정보를 삽입하며, 그 정보는 사용된 특정한 게임 제목을 식별하고 그 데이터 첨부물에 대한 책임을 지는 사용자를 식별한다. 이 정보는 복수의 데이터 저장 위치들에 걸쳐 첨부물들을 분할하도록 사용될 수 있다.
저장 서비스가 시작되면, 그 서비스는 그가 책임을 지는 첨부물들의 그룹들을 발견하기 위해 중앙 구성 데이터베이스(central configuration database)를 쿼리(query)한다. 저장 서버는, 예컨대 레퍼런스 식별자로부터, 그 첨부물이 그가 책임을 지는 그룹 사이에 있는지 여부 또는 사용자가 상이한 저장 서버로 향해질(directed) 필요가 있는 경우인지를 결정한다.
일 실시예에서, 하나의 데이터 저장 위치가 주요 데이터 저장 위치(primary data storage location)로 지정된다. 데이터에 대한 모든 사용자 요청들은 먼저 주요 데이터 저장 위치로 보내진다. 주요 데이터 저장 위치에서 저장 서비스가 레퍼런스 식별자에 기초하여 사용자를 리다이렉트하는 경우, 사용자는 이 정보를 저장(cache)할 것이고, 뒤이은 데이터 요청들을 적절한 데이터 저장 위치로 향하게 할 것이다. 데이터 그룹이 하나의 데이터 저장 위치로부터 다른 위치로 옮겨질 필요가 있는 경우에는, 그 데이터를 복사한 후, 네임 리졸버에 의해 사용되는 구성 데이터(configuration data)가 업데이트되며, 그 후 저장 서비스들은 요청들을 새로운 데이터 저장 위치로 리다이렉트할 것이다.
주기적으로, 온라인 게이밍 서비스는 통계 데이터베이스에 있는 데이터를 분석하고 모든 유효한 첨부물들(valid attachments)을 식별한다. 이 유효한 첨부물들의 목록은 저장 서버로 전송되고, 저장 서버는 유효한 첨부물들의 목록 상에 있지 않은 저장된 첨부물들을 삭제한다. 또한, 저장 서버는 저장 시스템에 저장되지 않은 목록 상의 첨부물들을 식별할 수 있고, 그에 의해 통계 서버로 하여금 그 데이터를 업데이트하도록 할 수 있다. 대안적인 실시예에서, 통계 서버는 삭제되어야 할 첨부물들의 목록을 생성한다. 그 후 저장 서버는 저장 시스템으로부터 그목록 상의 첨부물들을 삭제한다.
본 명세서에서 논의된 다양한 설정들(settings) 및 파라미터들은, 예를 들어, 통계 서버 및/또는 저장 서버에서 수정될 수 있다. 이러한 파라미터들 및 설정들은 기록된 게임을 업로딩할 기회, 리더보드 상에서 표시된 등급들의 수 등을 플레이어에게 제공할지 여부를 결정하기 위한 기준을 포함한다. 따라서, 파라미터들 및 설정들은 게임 제작자에 의해 특정한 게임 프로그램이 출하된 후에 수정될 수 있다. 이러한 파라미터들 및 설정들은 게임의 인기도(popularity) 또는 다른 요인들에 기초하여 수정될 수 있다. 예를 들어, 특정한 게임이 매우 인기가 있는 경우, 온라인 게이밍 서비스의 관리자는 첨부된 데이터를 가질 수 있는 등급들의 수를 증가시킬 수 있다.
도 7은 본 명세서에서 설명된 기법들을 구현하도록 사용될 수 있는 일반적인 컴퓨터 환경(700)을 나타낸다. 컴퓨터 환경(700)은 컴퓨팅 환경의 하나의 예일 뿐이며 컴퓨터 및 네트워크 아키텍처들의 사용 또는 기능의 범위에 관하여 임의의 제한을 제시하고자 의도되지 않는다. 예시적인 컴퓨터 환경(700)에서 도시된 컴포넌트들 중 임의의 하나 또는 임의의 조합과 관련해 컴퓨터 환경(700)이 종속성(dependancy) 또는 요구사항(requirement)을 갖는 것으로 해석되어서는 안 된다.
컴퓨터 환경(700)은 컴퓨터(702)의 형태로 범용 컴퓨팅 장치를 포함한다. 컴퓨터(702)는, 예를 들어, 도 1의 통계 프론트 도어(124) 또는 보안 게이트웨이(104), 또는 도 2의 저장 서버(202) 또는 네임 리졸버(208), 또는 도 2의 서명 서버(210)가 될 수 있다. 컴퓨터(702)의 컴포넌트들은 (암호 프로세서(cryptographic processor)나 보조 프로세서(co-processor)를 선택적으로 포함하는) 하나 이상의 프로세서들이나 처리 장치들(704), 시스템 메모리(706), 및 프로세서(704)를 포함하는 다양한 시스템 컴포넌트들을 시스템 메모리(706)에 연결하는 시스템 버스(708)를 포함할 수 있으나, 이들에 한정되지는 않는다.
시스템 버스(708)는, 메모리 버스나 메모리 컨트롤러, 주변장치 버스, 가속 그래픽 포트(accelerated graphics port), 및 다양한 버스 아키텍처들 중 임의의 것을 사용하는 프로세서 버스나 로컬 버스를 포함하여, 임의의 몇몇 유형의 버스 구조들(bus structures) 중에서 하나 이상의 버스 구조들를 나타낸다. 예를 들어, 그러한 아키텍처는 산업 표준 아키텍처(Industry Standard Architecture; ISA) 버스, 마이크로 채널 아키텍처(Micro Channel Architecture; MCA) 버스, 확장 ISA(Enhanced ISA; EISA) 버스, 비디오 전자 공학 표준 협회(Video Electronics Standards Association; VESA) 로컬 버스, 및 메자닌(Mezzanine) 버스로도 알려진 주변 컴포넌트 상호 접속(Peripheral Component Interconnect; PCI) 버스를 포함할 수 있다.
컴퓨터(702)는 통상적으로 다양한 컴퓨터 판독가능 매체(computer readable media)를 포함한다. 그러한 매체는 컴퓨터(702)에 의해 접근될 수 있는 임의의 이용 가능 매체가 될 수 있고, 휘발성 및 비휘발성 매체, 착탈식(removable) 및 고정식(non-removable) 매체 모두를 포함한다.
시스템 메모리(706)는 랜덤 액세스 메모리(RAM; 710)와 같은 휘발성 메모리,및/또는 판독 전용 메모리(ROM; 712)와 같은 비휘발성 메모리의 형태로 컴퓨터 판독가능 매체를 포함한다. 이를테면 초기 시동(start-up) 중에, 컴퓨터(702)의 구성 요소들 간에 정보를 전송하는데 도움이 되는 기본 루틴을 포함하는 기본 입출력 시스템(basic input/output system; BIOS)(714)은 ROM(712)에 저장된다. RAM(710)은 통상적으로 처리 장치(704)에 의해 즉시 접근 가능하거나 그리고/또는 현재 실행되고 있는 데이터 및/또는 프로그램 모듈을 포함한다.
컴퓨터(702)는 다른 착탈식/고정식, 휘발성/비휘발성 컴퓨터 저장 매체를 포함할 수도 있다. 예을 들어, 도 7은 고정식, 비휘발성 자기 매체(도시되지 않음)로부터 판독하고 그에 기록하기 위한 하드디스크 드라이브(716), 착탈식, 비휘발성 자기 디스크(720; 예컨대 플로피 디스크)로부터 판독하고 그에 기록하기 위한 자기 디스크 드라이브(718), 및 CD-ROM, DVD-ROM 또는 다른 광 매체와 같은 착탈식, 비휘발성 광 디스크(724)로부터 판독하고 그에 기록하기 위한 광 디스크 드라이브(722)를 나타낸다. 하드디스크 드라이브(716), 자기 디스크 드라이브(718), 및 광 디스크 드라이브(722)는 하나 이상의 데이터 매체 인터페이스들(data media interfaces; 726)에 의해 각각 시스템 버스(708)에 접속된다. 대안적으로, 하드디스크 드라이브(716), 자기 디스크 드라이브(718), 및 광 디스크 드라이브(722)가 하나 이상의 인터페이스들(도시되지 않음)에 의해 시스템 버스(708)에 접속될 수 있다.
디스크 드라이브들 및 이들과 관련된 컴퓨터 판독가능 매체는 컴퓨터(702)에 대해 컴퓨터 판독가능 명령문(computer readable instructions), 데이터 구조, 프로그램 모듈 및 다른 데이터의 비휘발성 저장을 제공한다. 상기 예가 하드디스크(716), 착탈식 자기 디스크(720), 및 착탈식 광 디스크(724)를 도시하고 있지만, 컴퓨터에 의해 접근 가능한 데이터를 저장할 수 있는 다른 유형들의 컴퓨터 판독가능 매체, 이를테면 자기 카세트 또는 다른 자기 저장 장치들, 플래시 메모리 카드, CD-ROM, 디지털 다용도 디스크(digital versatile disks; DVD) 또는 다른 광 저장 장치, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 전기식 소거식 프로그램 가능 판독 전용 메모리(electrically-erasable programmable read-only memories; EEPROM) 등이 상기 예시적인 컴퓨팅 시스템 및 환경을 구현하는데 이용될 수 있음이 인식될 것이다.
예를 들어, 운영 체계(726), 하나 이상의 응용 프로그램들(application programs; 728), 다른 프로그램 모듈들(730), 및 프로그램 데이터(732)를 포함하는 다수의 프로그램 모듈들은 하드디스크(716), 자기 디스크(720), 광 디스크(724), ROM(712), 및/또는 RAM(710)에 저장될 수 있다. 각각의 그러한 운영 체계(726), 하나 이상의 응용 프로그램들(728), 다른 프로그램 모듈들(730), 및 프로그램 데이터(732)는 (또는 그들의 소정의 조합은) 분산 파일 시스템을 지원하는 상주 컴포넌트들의 일부 또는 전부를 구현할 수 있다.
사용자는 키보드(734)와 위치 지정 도구(pointing device; 736; 예컨대 마우스)와 같은 입력 장치들을 통해 컴퓨터(702)로 명령들 및 정보를 입력할 수 있다. 다른 입력 장치들(738; 구체적으로 도시되지 않음)은 마이크, 조이스틱, 게임 패드, 직렬 포트, 위성 접시, 스캐너 등을 포함할 수 있다. 이러한 것들 및 다른 입력 장치들은 시스템 버스(708)에 연결된 입출력 인터페이스들(740)을 통해 처리 장치(704)에 접속되나, 병렬 포트, 게임 포트, 또는 범용 직렬 버스(universal serial bus; USB)와 같은 다른 인터페이스 및 버스 구조에 의해 접속될 수 있다.
모니터(742) 또는 다른 유형의 디스플레이 장치가 비디오 어댑터(744)와 같은 인터페이스를 통해 시스템 버스(708)에 접속될 수도 있다. 모니터(742) 외에도, 다른 주변 출력 장치들이 입출력 인터페이스들(740)을 통해 컴퓨터(702)에 접속될 수 있는 스피커(도시되지 않음) 및 프린터(746)와 같은 컴포넌트들을 포함할 수 있다.
컴퓨터(702)는 하나 이상의 원격 컴퓨터들, 이를테면 원격 컴퓨팅 장치(748)에의 논리적 접속들(logical connections)을 사용하는 네트워크 환경(networked environment)에서 동작할 수 있다. 예를 들어, 원격 컴퓨팅 장치(748)는 퍼스널 컴퓨터, 휴대용 컴퓨터, 서버, 라우터, 네트워크 컴퓨터, 피어 장치(peer device) 또는 다른 공동 네트워크 노드(common network node), 게임 콘솔 등이 될 수 있다. 원격 컴퓨팅 장치(748)는 컴퓨터(702)에 관하여 본 명세서에서 설명된 구성요소들 및 특징들 중에서 다수 또는 전부를 포함할 수 있는 휴대용 컴퓨터로서 예시되어 있다.
컴퓨터(702)와 원격 컴퓨터(748) 간의 논리적 접속은 근거리 통신망(LAN; 750) 및 일반적인 광역 통신망(WAN; 752)으로서 기술된다. 이러한 네트워킹 환경들은 사무소, 기업 광역 컴퓨터 네트워크(enterprise-wide computer networks), 인트라넷, 및 인터넷에서는 흔한 것이다.
LAN 네트워킹 환경에서 구현되는 경우, 컴퓨터(702)는 네트워크 인터페이스 또는 네트워크 어댑터(754)를 통해 LAN(750)에 접속된다. WAN 네트워킹 환경에서 구현되는 경우, 컴퓨터(702)는 통상적으로 모뎀(756) 또는 WAN(752)을 통해 통신을 설정하기 위한 다른 수단들을 포함할 수 있다. 컴퓨터(702)에 대해 내장형이거나 외장형일 수 있는 모뎀(756)은 입출력 인터페이스들(740) 또는 다른 적절한 메커니즘들을 통해 시스템 버스(708)에 접속될 수 있다. 도시된 네트워크 접속들은 예시적인 것이며, 컴퓨터들(702 및 748) 간의 통신 링크(들)를 설정하는 다른 수단들이 채용될 수 있음이 이해될 것이다.
컴퓨팅 환경(700)으로 도시된 것과 같은 네트워크 환경에서는, 컴퓨터(702)에 관하여 기술된 프로그램 모듈들 또는 그 일부들이 원격 메모리 저장 장치에 저장될 수 있다. 예를 들어, 원격 응용 프로그램들(758)은 원격 컴퓨터(748)의 메모리 장치 상에 상주한다. 예시의 목적으로, 본 명세서에서 응용 프로그램들 및 운영 체계와 같은 다른 실행 가능 프로그램 컴포넌트들이 분리된 블록으로서 도시되더라도, 그러한 프로그램들 및 컴포넌트들이 다양한 시간에 컴퓨팅 장치(702)의 상이한 저장 컴포넌트들에 상주하여 컴퓨터의 데이터 프로세서(들)에 의해 실행되는 것으로 인식된다.
본 명세서에서, 다양한 모듈들 및 기법들은 하나 이상의 컴퓨터들 또는 다른 장치들에 의해 실행되는, 프로그램 모듈들과 같은 컴퓨터 실행가능 명령문들(computer-executable instructions)의 일반적인 문맥(context)으로 설명될 수 있다. 일반적으로, 프로그램 모듈들은 특정한 작업들을 수행하거나 특정한추상 데이터 타입들(abstract data types)을 구현하는 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함한다. 통상적으로, 프로그램 모듈들의 기능은 다양한 실시예들에서 원하는 대로 결합하거나 분산될 수 있다.
이러한 모듈들 및 기법들의 구현은 소정의 형태의 컴퓨터 판독가능 매체 상에 저장되거나 그 매체를 거쳐 전송될 수 있다. 컴퓨터 판독가능 매체는 컴퓨터에 의해 접근될 수 있는 임의의 이용 가능한 매체가 될 수 있다. 예를 들어, 컴퓨터 판독가능 매체는 "컴퓨터 저장 매체" 및 "통신 매체"를 포함할 수 있으나 이에 한정되지는 않는다.
"컴퓨터 저장 매체"는 컴퓨터 판독가능 명령문, 데이터 구조, 프로그램 모듈, 및 다른 데이터와 같은 정보의 저장을 위한 임의의 방법이나 기법에서 구현되는 휘발성 및 비휘발성, 착탈식 및 고정식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기법, CD-ROM, 디지털 다용도 디스크(DVD) 또는 다른 광 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 다른 자기 저장 장치들, 또는 컴퓨터에 의해 접근 가능하며 원하는 정보를 저장하는데 사용될 수 있는 임의의 다른 매체를 포함할 수 있으나, 이에 한정되는 것은 아니다.
"통신 매체"는 통상적으로, 반송파(carrier wave) 또는 다른 전송 메커니즘(transport mechanism)과 같은, 변조 데이터 신호(modulated data signal) 내의 컴퓨터 판독가능 인스트럭션, 데이터 구조, 프로그램 모듈 또는 다른 데이터를 구현한다. 통신 매체는 또한 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 그 신호의 특성 세트(characteristics set) 중에서 하나 또는 그 이상을 갖거나, 그 신호 내의 정보를 인코딩하기 위한 방식으로 변경된 신호를 의미한다. 예를 들어, 통신 매체는 유선 네트워크(wired network) 또는 직접-유선 접속(direct-wired connection)과 같은 유선 매체를 포함하고, 음향(acoustic), RF, 적외선 및 그 밖의 무선 매체와 같은 무선 매체를 포함하나, 이에 한정되는 것은 아니다. 앞의 것들의 임의의 조합들이 컴퓨터 판독가능 매체의 범위 내에 포함되기도 한다.
도 8은 게임 콘솔(102)의 기능적인 컴포넌트들을 보다 상세하게 도시한다. 게임 콘솔(102)은 중앙 처리 장치(CPU; 800) 및 메모리 컨트롤러(802)를 가지며, 메모리 컨트롤러(802)는 플래시 ROM(804), RAM(806), 하드디스크 드라이브(808), 및 휴대용 매체 드라이브(809)를 포함한 다양한 유형들의 메모리에 프로세서가 접근하는 것을 용이하게 한다. CPU(800)는, 임시로 데이터를 저장함으로써 메모리 접근 사이클(memory access cycles)의 수를 감소시키기 위해 레벨1 캐시(cache; 810) 및 레벨2 캐시(812)를 구비하며, 이를 통해 처리 속도 및 처리량(throughput)을 향상시킨다.
CPU(800), 메모리 컨트롤러(802), 및 다양한 메모리 장치들은, 임의의 다양한 버스 아키텍처들을 사용하는 프로세서 또는 로컬 버스, 직렬 및 병렬 버스, 메모리 버스, 및 주변장치 버스를 포함한, 하나 이상의 버스들을 통해 상호 연결된다. 예를 들어, 그러한 아키텍처는 ISA 버스, MCA 버스, EISA 버스, VESA 로컬 버스, 및 메자닌(Mezzanine) 버스로도 알려진 PCI 버스를 포함할 수 있다.
하나의 적합한 구현예로서, CPU(800), 메모리 컨트롤러(802), ROM(804), 및 RAM(806)은 공통 모듈(common module; 814) 상에서 통합된다. 이러한 구현예에서, ROM(804)은 PCI 버스 및 ROM 버스(둘 중 어느 것도 도시되지 않음)를 통해 메모리 컨트롤러(802)에 접속되는 플래시 ROM으로서 구성된다. RAM(806)은 별개의 버스들(도시되지 않음)을 통해 메모리 컨트롤러(802)에 의해 독립적으로 제어되는 복수의 DDR SDRAM(Double Data Rate Synchronous Dynamic Ram)으로서 구성된다. 하드디스크 드라이브(808) 및 휴대용 매체 드라이브(portable media drive; 809)는 PCI 버스 및 ATA(AT Attachment) 버스(816)를 통해 메모리 컨트롤러로 연결된다.
3D 그래픽 처리 장치(3D graphics processing unit; 820) 및 비디오 인코더(822)는 고속 및 고해상도 그래픽 처리를 위한 비디오 처리 파이프라인(video processing pipeline)을 형성한다. 데이터는 디지털 비디오 버스(도시되지 않음)를 통해 그래픽 처리 장치(820)로부터 비디오 인코더(822)로 전달된다. 오디오 처리 장치(824) 및 오디오 코덱(코더/디코더; 826)은, 고성능(high fidelity) 및 스테레오 처리(stereo processing)를 갖는, 대응 오디오 처리 파이프라인을 형성한다. 오디오 데이터는 통신 링크(도시되지 않음)를 통해 오디오 처리 장치(824)와 오디오 코덱(826) 사이에서 전달된다. 비디오 및 오디오 처리 파이프라인들은 텔레비전 또는 다른 디스플레이 장치로의 전송을 위해 A/V(오디오/비디오) 포트(828)로 데이터를 출력한다. 도시된 구현예에서, 비디오 및 오디오 처리 컴포넌트들(820 내지 828)은 모듈(814) 상에 장착된다.
USB 호스트 컨트롤러(830) 및 네트워크 인터페이스(832)도 모듈(814) 상에서구현된다. USB 호스트 컨트롤러(830)는 버스(예컨대, PCI 버스)를 통해 CPU(800) 및 메모리 컨트롤러(802)로 연결되며, 주변장치 컨트롤러들(836(1) 내지 836(4))에 대한 호스트로서 기능한다. 네트워크 인터페이스(832)는 네트워크(예컨대, 인터넷, 홈 네트워크 등)에의 접근을 제공하며, 이더넷 카드(Ethernet card), 모뎀, 블루투스 모듈(Bluetooth module), 케이블 모뎀 등을 포함한 임의의 광범위한 다양한 유선 또는 무선 인터페이스 컴포넌트들이 될 수 있다.
게임 콘솔(102)은 두 개의 듀얼 컨트롤러 지원 서브어셈블리들(dual controller support subassemblies; 840(1) 및 840(2))을 가지며, 각각의 서브어셈블리는 두 개의 게임 컨트롤러들(836(1) 내지 836(4))을 지원한다. 프론트 패널 I/O 서브어셈블리(842)는 전원 버튼(831) 및 매체 드라이브 꺼냄 버튼(media drive eject button; 833)의 기능뿐 아니라, 임의의 LED들(발광 소자들)이나 게임 콘솔의 외부 표면상에 노출된 다른 지시자들(indicators)의 기능을 지원한다. 서브어셈블리들(840(1), 840(2), 및 842)은 하나 이상의 케이블 어셈블리들(844)을 통해 모듈(814)에 연결된다.
여덟 개의 메모리 유닛들(834(1) 내지 834(8))은 네 개의 컨트롤러들(836(1) 내지 836(4))에 접속 가능한 것으로서 도시된다. 즉, 각각의 컨트롤러에 대하여 두 개의 메모리 유닛들이 연결된다. 각각의 메모리 유닛(834)은 게임들, 게임 파라미터들, 및 다른 데이터가 저장될 수 있는 추가적인 저장 장소(storage)를 제공한다. 메모리 유닛(834)이 컨트롤러에 삽입되는 경우, 메모리 컨트롤러(802)는 그 메모리 유닛에 접근할 수 있다.
시스템 전원 공급 모듈(system power supply module; 850)은 게임 콘솔(102)의 컴포넌트들에 전원을 공급한다. 팬(852)은 게임 콘솔(102) 내부의 회로를 냉각시킨다.
콘솔 사용자 인터페이스(user interface; UI) 애플리케이션(860)은 하드디스크 드라이브(808)에 저장된다. 게임 콘솔의 전원이 켜지면, 콘솔 애플리케이션(860)의 여러 부분들이 RAM(806) 및/또는 캐시들(810, 812)에 로딩되어 CPU(800) 상에서 실행된다. 콘솔 애플리케이션(860)은 게임 콘솔 상에서 이용 가능한 상이한 유형의 매체들로 이동(navigating)할 때 일관된 사용자 경험을 제공하는 그래픽 사용자 인터페이스(graphical user interface)를 제공한다.
게임 콘솔(102)은 일반적인 암호 기법의 기능들(cryptographic functions), 이를테면 암호화, 복호화, 인증, 디지털 서명, 해싱 등을 수행할 암호화 엔진을 구현한다. CPU가 그 암호 기법의 기능들을 수행하기 위해 구성되도록, 암호화 엔진은 CPU(800)의 일부로서 또는 CPU 상에서 실행되며 하드디스크 드라이브(808) 상에 저장되는 소프트웨어로 구현될 수 있다. 대안적으로, 암호 기법의 기능들을 수행하도록 설계된 암호 프로세서 또는 보조 프로세서가 게임 콘솔(102)에 포함될 수 있다.
게임 콘솔(102)은 단지 그 시스템을 텔레비전 또는 다른 디스플레이 장치에 접속함으로써 자립형 시스템(standalone system)으로서 동작할 수 있다. 이러한 자립형 모드(standalone mode)에서, 게임 콘솔(102)은 한 명 이상의 플레이어들로 하여금 게임을 플레이하거나, 영화를 보거나, 또는 음악을 들을 수 있도록 한다.한편, 앞서 언급한 바와 같이, 네트워크 인터페이스(832)를 통해 이용 가능하게 된 광대역 접속(broadband connectivity)의 통합에 의해, 게임 콘솔(102)은 나아가 온라인 게이밍에서 참가자로서 동작할 수도 있다.
본 명세서에서 논의된 게임 콘솔이 (컴퓨터 게임들을 실행하는 범용 PC가 아닌) 전용 게임 콘솔(dedicated game console)로서 설명되었지만, 게임 콘솔이 또한 부가적인 기능을 통합할 수도 있다는 점에 유의해야 한다. 예를 들어, 게임 콘솔은 디지털 비디오 레코딩 기능을 포함하여 디지털 VCR로서 동작할 수 있거나, 채널 튜닝 기능 등을 포함하여 텔레비전 신호들(방송 신호, 케이블 신호, 위성 신호 등인지의 여부와 관계없음)을 튜닝하고 디코딩할 수 있는 등 여러 가지가 가능하다. 나아가, 대안적인 실시예들에서, 게임 콘솔은 셋톱박스(set top box) 또는 다른 컴퓨팅 장치로 대체된다.
앞의 설명이 구조적인 특징들 및/또는 방법론적인 동작들에 대해 특정한 언어를 사용하지만, 첨부된 특허청구범위에서 정의된 본 발명이 설명된 특정한 특징들 또는 동작들에 한정되지 않는다는 점이 이해되어야 한다. 오히려, 특정한 특징들 및 동작들은 본 발명을 구현하는 예시적인 형태들로서 개시된다.
본 명세서에서 설명된 시스템 및 방법은, 기록된 게임들(recorded games) 또는 게임의 하이라이트들과 같은 데이터가 온라인 게이밍 시스템에서의 플레이어의 등급에 첨부될 수 있게 한다. 이러한 온라인 특징은 플레이어들로 하여금 계속적으로 특정 게임을 플레이하도록 하는 동기를 제공할 수 있다.

Claims (42)

  1. 게임 콘솔로부터 게임 결과(game result)를 수신하는 단계;
    게임 점수에 대한 등급(rating)을 결정하는 단계; 및
    상기 게임 결과에 대한 등급이 미리 결정된 기준(predetermined criteria)을 충족하는 경우, 상기 게임 콘솔로부터 상기 게임 결과와 연관된 기록된 게임(recorded game)을 수신하는 단계 및 상기 기록된 게임을 상기 등급에 첨부하는 단계 - 다른 플레이어들은 온라인 게이밍 서비스를 통해 상기 기록된 게임에 접근할 수 있음 -;
    를 포함하는 방법.
  2. 제1항에 있어서, 상기 게임 결과는 게임 점수인 방법.
  3. 제1항에 있어서, 상기 미리 결정된 기준은 상위 n위까지의 점수들 내의 등급인 방법.
  4. 제1항에 있어서, 상기 기록된 게임을 수신하는 단계는 상기 게임 콘솔로 송신된 요청에 대한 응답인 방법.
  5. 제1항에 있어서, 요청을 하는 플레이어에게 다운로딩할 수 있는 기록된 게임들의 목록을 제공하는 단계를 더 포함하는 방법.
  6. 제1항에 있어서, 요청을 하는 게임 콘솔에게 다운로딩할 수 있는 기록된 게임들의 목록을 제공하는 단계를 더 포함하는 방법.
  7. 제1항에 있어서, 상기 미리 결정된 기준을 수정하는 단계를 더 포함하는 방법.
  8. 제1항에 있어서, 부가적인 게임-관련 데이터(game-related data)를 상기 등급에 첨부하는 단계를 더 포함하는 방법.
  9. 제1항에 있어서, 상기 게임 결과 및 상기 첨부된 기록된 게임을 저장 장치(storage device)에 저장(save)하는 단계를 더 포함하는 방법.
  10. 제1항에 있어서, 상기 게임 콘솔 사용자가 활동하지 않은 채로 미리 결정된 기간이 경과한 후, 상기 게임 결과 및 상기 첨부된 기록된 게임을 삭제하는 단계를 더 포함하는 방법.
  11. 제1항에 있어서, 소정 기간이 경과함에 따라 상기 게임 결과의 등급을 낮추는 단계를 더 포함하는 방법.
  12. 제1항에 있어서, 상기 게임 결과 및 상기 기록된 게임과 연관된 식별자(identifier)를 리더보드에 저장하는 단계를 더 포함하는 방법.
  13. 제1항에서 인용된 상기 방법을 수행하기 위한 프로세서에 의해 실행 가능한 컴퓨터 프로그램을 포함하는 하나 이상의 컴퓨터-판독가능 메모리들(computer-readable memories).
  14. 게임 콘솔로부터 게임 결과를 수신하는 단계;
    사용자가 상기 게임 결과와 연관된 게임-관련 데이터를 업로딩하는 것을 허용할지 여부를 결정하는 단계;
    게임 콘솔 사용자가 상기 게임-관련 데이터를 업로딩하는 것이 허용되는 경우에,
    접근 토큰(access token)을 상기 게임 콘솔로 송신하는 단계;
    상기 접근 토큰 및 상기 게임 결과와 연관된 상기 게임-관련 데이터를
    수신하는 단계; 및
    상기 게임-관련 데이터를 상기 게임 결과와 연관시키는 단계 - 다른
    사용자들은 온라인 게이밍 서비스를 통해 상기 게임-관련 데이터에 접근할
    수 있음 -
    를 포함하는 방법.
  15. 제14항에 있어서, 상기 게임 결과에 대한 등급을 결정하는 단계를 더 포함하는 방법.
  16. 제15항에 있어서, 상기 게임-관련 데이터를 상기 등급과 연관시키는 단계를 더 포함하는 방법.
  17. 제14항에 있어서, 상기 게임 결과는 게임 점수인 방법.
  18. 제14항에 있어서, 상기 수신된 접근 토큰이 유효한지 확인(validate)하는 단계를 더 포함하는 방법.
  19. 제14항에 있어서, 상기 접근 토큰은 상기 게임-관련 데이터의 이름을 포함하는 방법.
  20. 제14항에 있어서, 상기 접근 토큰은 상기 게임 콘솔 사용자의 식별(identity)을 포함하는 방법.
  21. 제14항에 있어서, 상기 접근 토큰은 게임 콘솔 식별자(game console identifier)를 포함하는 방법.
  22. 제14항에 있어서, 상기 접근 토큰은 상기 게임-관련 데이터의 최대 크기를 포함하는 방법.
  23. 제14항에 있어서, 상기 게임-관련 데이터는 기록된 게임인 방법.
  24. 제14항에 있어서, 상기 게임-관련 데이터는 상기 게임 콘솔 사용자의 음성(voice)을 포함하는 오디오 파일인 방법.
  25. 제14항에 있어서, 상기 게임-관련 데이터는 게임으로부터의 적어도 하나의 하이라이트인 방법.
  26. 제14항에서 인용된 상기 방법을 수행하기 위한 프로세서에 의해 실행 가능한 컴퓨터 프로그램을 포함하는 하나 이상의 컴퓨터-판독가능 메모리들.
  27. 게임 콘솔로부터 게임 점수를 수신하는 단계;
    상기 게임 점수에 대한 등급을 결정하는 단계;
    리더보드에 상기 등급을 입력(enter)하는 단계; 및
    상기 등급이 미리 결정된 기준을 충족하는 경우에,
    상기 게임 점수와 연관된 상기 게임-관련 데이터를 수신하는 단계;
    레퍼런스 식별자(reference identifier)를 상기 리더보드에 입력하는
    단계 - 상기 레퍼런스 식별자는 상기 게임-관련 데이터와 연관됨 -; 및
    지시자(indicator)를 상기 리더보드에 입력하는 단계 - 상기 지시자는
    상기 게임-관련 데이터와 연관되며 상기 게임-관련 데이터를 다운로딩할 수
    있는지 여부를 표시함 -
    를 포함하는 방법.
  28. 제27항에 있어서, 온라인 게이밍 서비스의 사용자들이 상기 리더보드를 통해 상기 게임-관련 데이터에 접근할 수 있는 방법.
  29. 제27항에 있어서, 상기 게임 점수에 대한 등급을 결정하는 상기 단계는 상기 게임 점수를 상기 리더보드의 다른 게임 점수들과 비교하는 단계를 포함하는 방법.
  30. 제27항에 있어서, 상기 리더보드는 특정한 게임 프로그램과 연관된 방법.
  31. 제27항에 있어서, 상기 미리 결정된 기준은 모든 등급들 중에서 상위 n 퍼센트 내의 등급인 방법.
  32. 데이터를 저장하도록 구성된 저장 서버(storage server); 및
    상기 저장 서버와 연결되며 특정한 게임 프로그램과 연관된 플레이어 등급들을 유지하도록 구성되는 통계 서버(statistics server) - 상기 플레이어 등급들은 리더보드에서 유지되고, 상기 통계 서버는 상기 플레이어 등급들이 미리 결정된 임계값(threshold)을 초과하는 경우 기록된 게임들을 특정한 플레이어 등급들과 연관시키도록 더 구성되며, 다른 플레이어들은 상기 리더보드로부터 상기 기록된 게임들을 식별하여 다운로딩할 수 있음 -
    를 포함하는 장치.
  33. 제32항에 있어서, 상기 통계 서버는 게임 콘솔들로부터 수신된 기록된 게임들이 유효한지 확인하기 위해 접근 토큰을 사용하는 장치.
  34. 제32항에 있어서, 상기 저장 서버에 연결되며 기록된 게임 데이터를 저장하도록 구성된 저장 데이터베이스(storage database)를 더 포함하는 장치.
  35. 제32항에 있어서, 상기 통계 서버에 연결되며 리더보드에 포함된 데이터를 저장하도록 구성된 통계 데이터베이스를 더 포함하는 장치.
  36. 제32항에 있어서, 상기 리더보드는 특정한 게임 프로그램과 연관된 장치.
  37. 게임 콘솔로부터 게임 결과를 수신하기 위한 수단;
    상기 게임 결과와 연관된 등급을 결정하기 위한 수단;
    상기 게임 결과와 연관된 상기 등급이 미리 결정된 기준을 충족하는 경우 상기 게임 결과와 연관된 기록된 게임을 수신하기 위한 수단; 및
    상기 기록된 게임을 상기 등급에 첨부하기 위한 수단 - 다른 플레이어들은 온라인 게이밍 서비스를 통해 상기 기록된 게임에 접근할 수 있음 -
    을 포함하는 장치.
  38. 제37항에 있어서, 부가적인 게임-관련 데이터를 상기 등급에 첨부하게 위한 수단을 더 포함하는 장치.
  39. 제37항에 있어서, 상기 기록된 게임 및 상기 기록된 게임과 연관된 식별자를 저장하기 위한 수단을 더 포함하는 장치.
  40. 하나 이상의 컴퓨터-판독가능 매체로서,
    상기 하나 이상의 컴퓨터-판독가능 매체 상에 컴퓨터 프로그램이 저장되어 있고, 상기 컴퓨터 프로그램은 하나 이상의 프로세서들에 의해 실행될 때 상기 하나 이상의 프로세서들로 하여금:
    게임 콘솔로부터 게임 결과들을 수신하는 동작;
    상기 게임 결과들과 연관된 등급을 결정하는 동작; 및
    상기 등급이 미리 결정된 임계값을 초과하는 경우에,
    접근 토큰을 상기 게임 콘솔로 송신하는 동작;
    상기 접근 토큰 및 상기 등급과 연관된 게임-관련 데이터를 수신하는
    동작; 및
    상기 게임-관련 데이터를 상기 등급와 연관시키는 동작 - 온라인 게이
    밍 서비스의 다른 사용자들은 상기 게임-관련 데이터를 다운로딩할 수 있음-
    을 수행하도록 하는 하나 이상의 컴퓨터-판독가능 매체.
  41. 제40항에 있어서, 상기 하나 이상의 프로세서들이 상기 수신된 접근 토큰이 유효한지 확인하는 동작을 더 수행하는 하나 이상의 컴퓨터-판독가능 매체.
  42. 제40항에 있어서, 상기 게임 관련-데이터는 기록된 게임인 하나 이상의 컴퓨터-판독가능 매체.
KR1020040032116A 2003-05-09 2004-05-07 데이터를 온라인 게임 등급과 연관시키기 위한 방법 및 장치 KR101130488B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/435,532 US7798905B2 (en) 2003-05-09 2003-05-09 Method and apparatus for associating data with online game ratings
US10/435,532 2003-05-09

Publications (2)

Publication Number Publication Date
KR20040095704A true KR20040095704A (ko) 2004-11-15
KR101130488B1 KR101130488B1 (ko) 2012-03-27

Family

ID=33097926

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020040032116A KR101130488B1 (ko) 2003-05-09 2004-05-07 데이터를 온라인 게임 등급과 연관시키기 위한 방법 및 장치

Country Status (5)

Country Link
US (2) US7798905B2 (ko)
EP (1) EP1479422A3 (ko)
JP (1) JP2004329949A (ko)
KR (1) KR101130488B1 (ko)
AU (1) AU2004201602B2 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101031136B1 (ko) * 2005-09-05 2011-04-27 가부시키가이샤 코나미 데지타루 엔타테인멘토 게임 시스템, 서버 장치, 단말 장치 및 기록 매체
US8409007B2 (en) 2005-09-05 2013-04-02 Konami Digital Entertainment Co., Ltd. Server apparatus and game system
CN113440861A (zh) * 2021-07-02 2021-09-28 珠海金山网络游戏科技有限公司 数据管理系统、方法及装置

Families Citing this family (73)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060055113A1 (en) * 2004-09-14 2006-03-16 Zone4Play, Inc. Multiplayer card tournaments and methods
JP2006149577A (ja) 2004-11-26 2006-06-15 Sega Corp 画像処理装置、画像処理方法及び画像処理行程を実行させるプログラム、並びにそのプログラムを記憶する記憶媒体
US8876606B2 (en) 2004-12-07 2014-11-04 Microsoft Corporation User-centric method of aggregating information sources to reinforce digital identity
US8425331B2 (en) * 2004-12-07 2013-04-23 Microsoft Corporation User interface for viewing aggregated game, system and personal information
US7621813B2 (en) * 2004-12-07 2009-11-24 Microsoft Corporation Ubiquitous unified player tracking system
US7887419B2 (en) 2004-12-07 2011-02-15 Microsoft Corporation Game achievements system
US8175726B2 (en) 2005-01-24 2012-05-08 Microsoft Corporation Seeding in a skill scoring framework
JP4781743B2 (ja) 2005-05-06 2011-09-28 任天堂株式会社 通信ゲームシステム
JP4849829B2 (ja) 2005-05-15 2012-01-11 株式会社ソニー・コンピュータエンタテインメント センタ装置
US8133106B2 (en) * 2005-07-06 2012-03-13 Wms Gaming Inc. Wagering game system with networked gaming devices
US8696464B2 (en) * 2005-08-19 2014-04-15 Nintendo Co., Ltd. Enhanced method and apparatus for selecting and rendering performance data
US8678928B2 (en) * 2005-10-31 2014-03-25 At&T Intellectual Property I, L.P. System and method to deliver video games
US7618454B2 (en) * 2005-12-07 2009-11-17 Zimmer Spine, Inc. Transforaminal lumbar interbody fusion spacers
US20070173324A1 (en) * 2006-01-20 2007-07-26 Microsoft Corporation Computer-based gaming groups
US7997987B2 (en) 2006-01-20 2011-08-16 Microsoft Corporation Computer-based gaming teams
EP1862955A1 (en) * 2006-02-10 2007-12-05 Microsoft Corporation Determining relative skills of players
US9931571B2 (en) * 2006-03-17 2018-04-03 Nintendo Co., Ltd. Systems, methods and techniques for safely and effectively coordinating video game play and other activities among multiple remote networked friends and rivals
US8888592B1 (en) 2009-06-01 2014-11-18 Sony Computer Entertainment America Llc Voice overlay
US20080098417A1 (en) * 2006-10-19 2008-04-24 Mehdi Hatamian Viewer participatory television shows in conjuction with a system and method for real-time data collection and statistical assessment
US20080113805A1 (en) * 2006-11-15 2008-05-15 Microsoft Corporation Console based leaderboard rendering
US9522332B2 (en) * 2006-12-13 2016-12-20 Voodoo Gaming Llc Video games including real-life attributes and/or fantasy team settings
JP5122824B2 (ja) * 2007-01-09 2013-01-16 株式会社バンダイナムコゲームス ゲーム装置、サーバ装置及びプログラム
JP5068080B2 (ja) * 2007-01-09 2012-11-07 株式会社バンダイナムコゲームス ゲーム装置、プログラム及び情報記憶媒体
WO2009026379A1 (en) * 2007-08-20 2009-02-26 Garagegames, Inc. System and method for hybridizing browser and game views
US9177445B2 (en) * 2007-11-10 2015-11-03 Bally Gaming, Inc. Tournament gaming systems and administration server
US8051455B2 (en) 2007-12-12 2011-11-01 Backchannelmedia Inc. Systems and methods for providing a token registry and encoder
US8147339B1 (en) 2007-12-15 2012-04-03 Gaikai Inc. Systems and methods of serving game video
US8613673B2 (en) 2008-12-15 2013-12-24 Sony Computer Entertainment America Llc Intelligent game loading
US8968087B1 (en) 2009-06-01 2015-03-03 Sony Computer Entertainment America Llc Video game overlay
JP4610647B2 (ja) * 2008-02-28 2011-01-12 株式会社コナミデジタルエンタテインメント ネットワーク用のゲームシステム、ネットワーク用のゲームプログラム、ネットワーク用のゲーム装置、およびネットワーク用のゲーム制御方法
US9094721B2 (en) 2008-10-22 2015-07-28 Rakuten, Inc. Systems and methods for providing a network link between broadcast content and content located on a computer network
US8160064B2 (en) 2008-10-22 2012-04-17 Backchannelmedia Inc. Systems and methods for providing a network link between broadcast content and content located on a computer network
US8926435B2 (en) 2008-12-15 2015-01-06 Sony Computer Entertainment America Llc Dual-mode program execution
US9723319B1 (en) 2009-06-01 2017-08-01 Sony Interactive Entertainment America Llc Differentiation for achieving buffered decoding and bufferless decoding
US8676591B1 (en) 2010-08-02 2014-03-18 Sony Computer Entertainment America Llc Audio deceleration
KR20170129967A (ko) 2010-09-13 2017-11-27 소니 인터랙티브 엔터테인먼트 아메리카 엘엘씨 게임 서버를 포함하는 컴퓨터 게임 시스템에서 통신 네트워크를 통해 클라이언트들 간에 게임 세션을 이송하는 방법
US9878240B2 (en) 2010-09-13 2018-01-30 Sony Interactive Entertainment America Llc Add-on management methods
US9566526B2 (en) 2010-12-31 2017-02-14 Dazzletag Entertainment Limited Methods and apparatus for gaming
US8827791B2 (en) * 2010-12-31 2014-09-09 Dazzletag Entertainment Limited Methods and apparatus for gaming
US8562434B2 (en) 2011-01-16 2013-10-22 Google Inc. Method and system for sharing speech recognition program profiles for an application
US8696468B2 (en) 2011-08-04 2014-04-15 Ami Entertainment Network, Llc Amusement device including provision for tracking a player's top score
WO2013036944A1 (en) 2011-09-09 2013-03-14 Backchannelmedia, Inc. Systems and methods for consumer control over interactive television exposure
US8734221B2 (en) 2011-09-30 2014-05-27 Igt Wager gaming voting leaderboard
US8734257B2 (en) 2011-09-30 2014-05-27 Igt Wager gaming voting leaderboard
US8727857B2 (en) 2011-09-30 2014-05-20 Igt Wager gaming voting leaderboard
US8727858B2 (en) 2011-09-30 2014-05-20 Igt Wager gaming voting leaderboard
US8734220B2 (en) 2011-09-30 2014-05-27 Igt Wager gaming voting leaderboard
US8560099B2 (en) 2011-11-10 2013-10-15 Cbs Interactive, Inc. Information types for an app rating system
US8554345B2 (en) * 2011-11-10 2013-10-08 Cbs Interactive, Inc. APP rating system
US9345966B2 (en) 2012-03-13 2016-05-24 Sony Interactive Entertainment America Llc Sharing recorded gameplay to a social graph
US11406906B2 (en) 2012-03-13 2022-08-09 Sony Interactive Entertainment LLC Network connected controller for direct to cloud gaming
US10913003B2 (en) 2012-03-13 2021-02-09 Sony Interactive Entertainment LLC Mini-games accessed through a sharing interface
JP5670965B2 (ja) * 2012-06-27 2015-02-18 株式会社コナミデジタルエンタテインメント 対比装置、プログラム、ならびに、システム
US9364743B2 (en) 2012-12-21 2016-06-14 Sony Interactive Entertainment America Llc Generation of a multi-part mini-game for cloud-gaming based on recorded gameplay
US9352226B2 (en) 2012-12-21 2016-05-31 Sony Interactive Entertainment America Llc Automatic generation of suggested mini-games for cloud-gaming based on recorded gameplay
US9233309B2 (en) * 2012-12-27 2016-01-12 Sony Computer Entertainment America Llc Systems and methods for enabling shadow play for video games based on prior user plays
JP2014161352A (ja) * 2013-02-21 2014-09-08 Gree Inc ゲームシステムにおけるランキングリスト表示方法及びゲームシステム、ランキングリスト表示方法プログラム
JP6244127B2 (ja) * 2013-07-10 2017-12-06 株式会社ソニー・インタラクティブエンタテインメント コンテンツ提供方法、コンテンツ提供サーバ、およびコンテンツ提供システム
US20150065251A1 (en) * 2013-09-03 2015-03-05 International Business Machines Corporation Player generated content management
WO2015074056A1 (en) * 2013-11-18 2015-05-21 Joseph Schuman Media distribution network, associated program products, and methods of using the same
JP6348726B2 (ja) 2014-02-13 2018-06-27 任天堂株式会社 情報共有システム、情報処理装置、プログラム及び情報共有方法
JP2015150172A (ja) * 2014-02-13 2015-08-24 任天堂株式会社 情報共有システム、情報処理装置、プログラム及び情報共有方法
JP6649709B2 (ja) 2015-06-29 2020-02-19 任天堂株式会社 情報処理システム、情報処理システムの制御方法および情報処理システムの制御プログラム
US9330726B1 (en) 2015-10-09 2016-05-03 Sports Logic Group, LLC System capable of integrating user-entered game event data with corresponding video data
US9454993B1 (en) 2015-10-09 2016-09-27 Sports Logic Group, LLC System capable of integrating user-entered game event data with corresponding video data
US10537809B2 (en) * 2017-12-06 2020-01-21 Activision Publishing, Inc. System and method for validating video gaming data
US11148062B2 (en) * 2018-05-18 2021-10-19 Sony Interactive Entertainment LLC Scene tagging
CN109308347A (zh) * 2018-08-22 2019-02-05 深圳点猫科技有限公司 一种教育平台的排行榜数据的高亮显示方法及电子设备
US10943125B1 (en) * 2018-12-13 2021-03-09 Facebook, Inc. Predicting highlights for media content
US11020657B1 (en) * 2019-11-27 2021-06-01 UGC Holdings LLC Systems and methods for identification and automation of gaming competition reporting and integrity
CN111389022B (zh) * 2020-03-08 2023-08-15 北京智明星通科技股份有限公司 一种游戏录像的分享方法、系统及移动终端
US11517826B2 (en) * 2020-06-10 2022-12-06 Snap Inc. Game result overlay system
CN112190953B (zh) * 2020-10-23 2024-06-25 网易(杭州)网络有限公司 游戏排行榜生成方法、装置、电子设备和存储介质

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5269687A (en) * 1990-08-01 1993-12-14 Atari Games Corporation System and method for recursive driver training
US5354202A (en) * 1990-08-01 1994-10-11 Atari Games Corporation System and method for driver training with multiple driver competition
WO1997019537A1 (en) 1995-11-22 1997-05-29 Walker Asset Management L.P. Remote-auditing of computer generated outcomes using cryptographic and other protocols
US5791992A (en) * 1996-07-31 1998-08-11 International Business Machines Corporation Video game system with internet cartridge
US6010403A (en) * 1997-12-05 2000-01-04 Lbe Technologies, Inc. System and method for displaying an interactive event
JPH11319312A (ja) * 1998-05-18 1999-11-24 Sega Enterp Ltd 電子遊戯装置
JP2000000376A (ja) 1998-06-12 2000-01-07 Namco Ltd ゲーム装置のランキング表示方法
JP3942278B2 (ja) 1998-08-06 2007-07-11 株式会社バンダイナムコゲームス 通信ゲームシステム
US6599194B1 (en) * 1998-09-08 2003-07-29 Darren Smith Home video game system with hard disk drive and internet access capability
US6386979B1 (en) * 1998-11-04 2002-05-14 Std Manufacturing Ltd. Methods and systems for transferring game saves between a game system memory card and a computer
JP2000157724A (ja) * 1998-11-24 2000-06-13 Sega Enterp Ltd ネットワークを利用したゲームシステム、ネットワークに接続可能なゲーム機及びこのゲーム機のためのプログラムが記録された媒体
US6468160B2 (en) * 1999-04-08 2002-10-22 Nintendo Of America, Inc. Security system for video game system with hard disk drive and internet access capability
ES2257304T3 (es) * 1999-07-15 2006-08-01 Midway Games West Inc. Sistema y procedimiento de competicion entre vehiculos con caracteristicas mejoradas de generacion de imagenes fantasma.
US7051079B2 (en) * 2000-05-16 2006-05-23 Fuji Photo Film Co., Ltd. Information intermediary apparatus, information management apparatus, and information communication system
US6699127B1 (en) 2000-06-20 2004-03-02 Nintendo Of America Inc. Real-time replay system for video game
US20020068629A1 (en) * 2000-12-01 2002-06-06 International Business Machines Corporation Off-line gaming
US6716102B2 (en) * 2001-03-09 2004-04-06 Microsoft Corporation Method and apparatus for displaying information regarding stored data in a gaming system
JP4889070B2 (ja) 2001-06-07 2012-02-29 株式会社バンダイナムコゲームス ゲームシステム
US7266840B2 (en) * 2001-07-12 2007-09-04 Vignette Corporation Method and system for secure, authorized e-mail based transactions
US6899127B1 (en) * 2001-08-09 2005-05-31 Spears Manufacturing Co. Non-vibrating ball check valve
JP2003093746A (ja) 2001-09-20 2003-04-02 Namco Ltd ランキングサービス提供システム及びプログラム
US20040097287A1 (en) 2002-11-14 2004-05-20 Richard Postrel Method and system for gaming over a computer network
US20050277472A1 (en) 2003-03-26 2005-12-15 William Gillan Game server system and method for generating revenue therewith
US7214133B2 (en) * 2003-05-09 2007-05-08 Microsoft Corporation Method and apparatus for retrieving recorded races for use in a game

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101031136B1 (ko) * 2005-09-05 2011-04-27 가부시키가이샤 코나미 데지타루 엔타테인멘토 게임 시스템, 서버 장치, 단말 장치 및 기록 매체
US8409007B2 (en) 2005-09-05 2013-04-02 Konami Digital Entertainment Co., Ltd. Server apparatus and game system
CN113440861A (zh) * 2021-07-02 2021-09-28 珠海金山网络游戏科技有限公司 数据管理系统、方法及装置

Also Published As

Publication number Publication date
US7798905B2 (en) 2010-09-21
KR101130488B1 (ko) 2012-03-27
AU2004201602B2 (en) 2009-10-22
US20040225386A1 (en) 2004-11-11
US20100331078A1 (en) 2010-12-30
AU2004201602A1 (en) 2004-11-25
JP2004329949A (ja) 2004-11-25
EP1479422A2 (en) 2004-11-24
EP1479422A3 (en) 2005-06-01

Similar Documents

Publication Publication Date Title
KR101130488B1 (ko) 데이터를 온라인 게임 등급과 연관시키기 위한 방법 및 장치
US7288027B2 (en) Cheater detection in a multi-player gaming environment
US7214133B2 (en) Method and apparatus for retrieving recorded races for use in a game
JP4309180B2 (ja) ゲームシステムのランキング決定方法、ゲームシステムの統計システムおよび記録媒体
US8719168B2 (en) Silent sign-in for offline games
US7794315B2 (en) Role play system
US7803052B2 (en) Discovery and distribution of game session information
US7512235B2 (en) Multiple user authentication for online console-based gaming
US7496202B2 (en) Architecture for manufacturing authenticatable gaming systems
JP4708688B2 (ja) コンテンツに対するアクセスを管理する方法及びシステム
US20050256845A1 (en) Data management for a networked multimedia console
US7428638B1 (en) Architecture for manufacturing authenticatable gaming systems
US20050251531A1 (en) Data management for a networked multimedia console

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20150217

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20160218

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20170220

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20180219

Year of fee payment: 7