KR20090035419A - 끊김 없는 호스트 이동을 위한 시스템들 및 방법들 - Google Patents

끊김 없는 호스트 이동을 위한 시스템들 및 방법들 Download PDF

Info

Publication number
KR20090035419A
KR20090035419A KR1020080087685A KR20080087685A KR20090035419A KR 20090035419 A KR20090035419 A KR 20090035419A KR 1020080087685 A KR1020080087685 A KR 1020080087685A KR 20080087685 A KR20080087685 A KR 20080087685A KR 20090035419 A KR20090035419 A KR 20090035419A
Authority
KR
South Korea
Prior art keywords
client
host
clients
data
backup
Prior art date
Application number
KR1020080087685A
Other languages
English (en)
Other versions
KR101036099B1 (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 KR20090035419A publication Critical patent/KR20090035419A/ko
Application granted granted Critical
Publication of KR101036099B1 publication Critical patent/KR101036099B1/ko

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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • 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
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • 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/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1034Reaction to server failures by a load balancer
    • 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
    • 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/1053Group management mechanisms  with pre-configuration of logical or physical connections with a determined number of other peers
    • 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/1074Peer-to-peer [P2P] networks for supporting data block transmission mechanisms
    • H04L67/1076Resource dissemination mechanisms or network resource keeping policies for optimal resource availability in the overlay network
    • 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/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • 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/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • 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/24Negotiation of communication capabilities
    • 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/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • 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
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • 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/12Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/303Terminal profiles

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명에 따르면, 네트워크 데이터 분배를 유지하기 위한 시스템들 및 방법들이 제공된다. 네트워크 데이터는, 네트워크 세션이 데이터의 상당한 손실 없이 호스트와 클라이언트들 사이의 중단된 통신들을 견디는 것을 가능하게 하는 방식으로 분배될 수 있다. 본 발명이 실시형태들에서, 하나 이상의 클라이언트들이 네트워크 세션에 대한 백업 호스트로서 역할을 한다. 다른 클라이언트들은, 데이터를 호스트로 송신할 때, 중단된 통신의 임의의 표시들이 있는 경우, 데이터를 하나 이상의 백업 호스트들로 송신할 수 있다.
네트워크 세션, 호스트, 클라이언트, 백업 호스트

Description

끊김 없는 호스트 이동을 위한 시스템들 및 방법들{Systems and methods for seamless host migration}
본 출원은 2007년 10월 5일 출원된 미국 가특허출원 제60/997,918호, "끊김 없는 호스트 이동을 위한 시스템들 및 방법들(Systems and methods for seamless host migration)"의 우선권을 주장한다.
본 출원은 2002년 7월 31일에 출원된 미국 특허출원 제10/211,128호, "동적 플레이어 관리(Dynamic Player Management)"와 관련되어 있다. 본 출원은 또한 2003년 2월 4일에 출원된 미국 특허출원 제10/359,359호, "멀티-유저 응용프로그램 인터페이스(Multi-User Application Program Interface)"와 관련되어 있다.
본 발명은 일반적으로 네트워크와 관련되어 있다. 더욱 구체적으로, 본 발명은 네트워크에서의 데이터 분배와 관련되어 있다.
네트워크는 통신 시스템에 의해 서로 연결된 한 그룹의 컴퓨팅 장치들을 포함한다. 네트워크 내의 컴퓨터는, 네트워크 내의 다른 컴퓨터들과 통신하고, 데이터를 교환하며, 자원들을 공유한다. 네트워크의 실시예들은 개인 네트워크(PAN; personal area network), 근거리 네트워크(local area network) 및 원거리 네트워 크(wide area network)를 포함한다.
다양한 네트워크 구성들이 당해 기술분야에서 공지되어 있다. 도 1a에 도시된 종래의 클라이언트-서버 네트워크(client-server network)는 클라이언트들(clients; 120A-D)에 연결된 호스트(110)를 포함한다. 호스트(110)는 네트워크 세션(network session; 130)을 수립하고, 클라이언트들이 네트워크 세션(130)에 참여할 때 어느 클라이언트들, 얼마나 많은 클라이언트들이 네트워크 세션(130)에 참여하는지 및 클라이언트들(120A-D)이 서로 어떻게 상호작용하는지를 제어한다. 호스트(110)는 일반적으로 많은 양의 대역폭과 처리능력을 가지고 있기 때문에, 호스트(110)는 네트워크(130) 내의 모든 클라이언트들(120A-D) 사이에서 데이터를 관리하고 분배할 수 있다. 이러한 구성에서, 특정 클라이언트(예를 들어, 클라이언트(120D))로부터의 데이터는 호스트(110)를 통해 다른 클라이언트들(예를 들어, 클라이언트들(120A-C))로 분배될 수 있다. 예를 들어, 클라이언트(120D)는 데이터를 호스트(110)로 송신할 수 있다. 클라이언트(120A)와 같은 또 다른 클라이언트가 이러한 데이터를 요청할 때, 호스트(110)는 이러한 데이터를 클라이언트(120A)로 송신한다.
클라이언트는, 호스트에 연결되어 있기 때문에 필요로 하는 데이터만을 요청할 수 있고, 필요로 하지 않는 데이터는 관리할 필요가 없다. 이러한 구성은, 네트워크 세션 내에서 교환된 데이터 모두를 효과적으로 관리하는 능력을 가지지 않은 클라이언트들 사이에서 공통적이다. 이러한 클라이언트들은 호스트가 데이터를 관리하고 분배할 것을 요구한다.
호스트가 네트워크 세션에서 데이터를 관리하고 분배하는 단점은, 호스트와 세션 클라이언트들 중 하나 사이의 통신들에 영향을 주는 연결성 문제들이 있을 때 데이터가 손실될 수 있다는 것이다. 이러한 실시예에서, 특정 클라이언트로부터의 데이터는 호스트로 송신될 수 없다. 이러한 데이터는, 네트워크 내의 다른 클라이언트들에 대해서는 이용할 수 없다. 예를 들어, 클라이언트(120D)는 호스트(110)로부터 갑자기 끊어질 수 있다. 클라이언트(120D)가 호스트(110)로 보낸 정보는 호스트(110)에 도달하지 않고, 결국, 정보는 네트워크의 나머지(즉, 클라이언트들(120A-C))에 송신될 수 없다. 분실된 정보는 네트워크 세션(130)에서의 분열을 일으키고, 다른 클라이언트들의 작업들에 영향을 줄 수 있다. 이것은 상호작용 네트워크 게임 플레이에서 특히 들어맞는다.
그러므로, 네트워크 세션 연결성과 관련된 문제점들을 해결하고 세션에서의 데이터의 중단되지 않는 교환을 유지하는 네트워크 데이터 분배를 위한 향상된 시스템들 및 방법들이 당해 분야에서 필요하게 되었다.
본 발명에 따르면, 네트워크 세션이 데이터의 손실 없이 호스트와 클라이언트들 사이의 중단된 통신을 견디어낼 수 있게 하는 네트워크 데이터 분배를 유지하기 위한 시스템들 및 방법들이 제공된다. 호스트 기능들은 끊김 없이 상당한 데이터의 손실 없이 클라이언트로 이동한다. 본 발명의 실시형태들은 네트워크 세션을 위한 백업 호스트(backup host)로서 역할을 하는 하나 이상의 클라이언트들을 제공한다. 다른 클라이언트들은, 데이터를 호스트로 송신할 때 이 데이터를 하나 이상의 백업 호스트들로도 송신한다. 예를 들어, 데이터를 호스트로 송신하는 클라이언트는 특정 주기 내에 데이터의 확인을 수신하지 않는다. 이러한 클라이언트는, 데이터를 백업 호스트로 송신할 뿐만 아니라, 호스트로 재송신할 수 있다.
본 발명의 다양한 실시형태들은 네트워크 데이터 분배를 위한 방법들을 포함한다. 이러한 방법들은 호스트를 클라이언트들에 연결하는 단계, 클라이언트가 백업 호스트로서 역할을 할 수 있는지 여부를 결정하는 단계, 및 클라이언트가 백업 호스트로서 역할을 할 수 있다면 이러한 클라이언트로, 클라이언트가 백업 호스트로서 역할을 할 수 있게 하는 특정 정보를 송신하는 단계를 포함한다. 백업 호스트 들로서 역할을 하는 단계는, 다른 클라이언트들이 호스트와 통신할 수 없을 때 다른 클라이언트들로부터 정보를 수신하는 단계를 포함한다. 본 발명의 일부 실시형태들에서, 본 방법은 호스트와 클라이언트 사이의 통신들이 중단됨을 표시하는 단계 및 호스트와 특정 클라이언트 사이의 연결을 종료하는 단계를 더 제공한다.
본 발명의 다양한 실시형태들은 네트워크 데이터 분배를 위한 시스템들을 포함한다. 이러한 시스템들은 호스트, 백업 호스트로서 역할을 할 수 있는 제 1 클라이언트, 및 호스트와 제 2 클라이언트 사이의 통신이 중단될 때 데이터를 제 1 클라이언트에 송신할 수 있는 제 2 클라이언트를 포함할 수 있다. 본 발명의 일부 실시형태들에서, 제 2 클라이언트는 또한 백업 호스트로서 역할을 할 수 있다. 본 발명의 일부 실시형태들은 백업 호스트들로서 역할을 하도록 구성된 복수의 클라이언트들을 포함할 수 있다.
네트워크 분배 시스템들에서 사용하기 위한 호스트 시스템은 또한 본 발명의 실시형태들에 의해 제공될 수 있다. 이러한 호스트 시스템들은, 수신 시에 클라이언트 통신들을 확인하는 확인 모듈, 특정 클라이언트가 백업 호스트로서 역할을 할 수 있는지 여부를 교섭하는 교섭 모듈, 및 호스트 정보를 제공하는 응용프로그램을 클라이언트로 전달하는 백업 응용프로그램 모듈을 포함할 수 있다. 본 발명의 일부 실시형태들은 호스트 정보 데이터베이스 및 타이머를 더 포함한다.
본 발명의 일부 실시형태들은 컴퓨터 저장 매체 및 네트워크 데이터 분배를 위한 명령들을 포함한다. 이러한 명령들은 호스트를 클라이언트들로 연결하는 단계, 백업 호스트로서 역할을 할 수 있는 클라이언트와 교섭하는 단계, 및 백업 호 스트로서 역할을 하기 시작하도록 호스트 정보를 클라이언트에 송신하는 단계를 제공할 수 있다.
본 발명에 따르면, 네트워크 세션 연결성과 관련된 문제점들을 해결하고 세션에서의 데이터의 중단 없는 교환을 유지하는 네트워크 데이터 분배를 위한 향상된 시스템들 및 방법들이 제공된다.
본 발명은 네트워크 데이터 분배를 위한 시스템들 및 방법들을 포함한다. 본 발명의 실시형태들은 호스트 이동이 끊김 없이 일어날 수 있게 한다. 네트워크 세션은, 호스트와 클라이언트 사이의 중단된 통신의 경우 데이터의 상당한 손실 없이 계속될 수 있다. 네트워크 세션의 호스트는 다수의 클라이언트들에 연결될 수 있다. 이러한 클라이언트들 중 하나는 백업 호스트로서 역할을 할 수 있다. 백업 실행가능성은 클라이언트와 교섭되고, 호스트 정보는 그때 백업 호스트로서 역할을 하는 클라이언트로 송신된다. 그 다음에 백업 호스트는 네트워크 세션의 다른 클라이언트들에 연결되고 데이터를 다른 클라이언트들로부터 수신한다. 그 이후에, 호스트와 특정 클라이언트 사이의 통신이 중단된다면, 이러한 특정 클라이언트는, 네트워크 세션이 데이터의 손실 없이 계속되게 하는 백업 호스트로 데이터를 송신할 수 있다.
이제까지 열거된 구성요소들은 예시적이며, 다양한 대안들, 균등물들을 포함할 수 있다. 하드웨어, 소프트웨어, 및 컴퓨터 실행가능 명령들의 다양한 조합들이 이용될 수 있다. 프로그램 모듈들 및 엔진들은, 범용 또는 특정 용도의 프로세서에 의해 실행될 때 특정 업무들의 수행을 달성하는 루틴들(routines), 프로그램들, 대상들, 구성요소들, 및 데이터 구조들을 포함한다. 컴퓨터 판독가능 매체 내에 저장된 컴퓨터 실행가능 명령들 및 관련 데이터 구조들은, 방법들의 단계들을 실행하고 그리고/또는 본 명세서 내에 개시된 특정 시스템 구성들을 실시하기 위한 프로그래밍 수단의 실시예들을 나타낸다.
도 1a에 도시된 클라이언트-서버 네트워크 구성 및 이상에서 상세히 논의된 것처럼, 각각의 클라이언트는 네트워크 세션 내의 데이터 모두를 처리해야만 하는 것은 아니다. 대신에, 각각의 클라이언트는 네트워크 세션 내에 참여하는 클라이언트에게 필요한 데이터만을 수신하고 처리한다. 일부 클라이언트들은, 예를 들어, 대역폭의 결여 또는 처리 능력의 결여로 인하여 데이터 모두를 효율적으로 관리할 수 있는 것은 아니다. 그러나, 일부 클라이언트들은 네트워크 세션 내의 데이터 모두를 관리할 능력을 가진다. 이러한 특정 클라이언트들은 백업 호스트들로서 동작하고, 네트워크 세션으로부터 데이터의 일부 또는 모두를 저장한다.
도 1a의 시스템 구성과 반대로, 도 1b는 하나의 백업 호스트, 클라이언트(160A)를 가진 예시적인 네트워크 데이터 분배를 위한 시스템을 도시한다. 백업 호스트는 네트워크 세션의 호스트의 기능들의 일부 또는 모두를 수행할 수 있는 임의의 클라이언트이다. 네트워크 세션(150)의 호스트(140)가 수행할 수 없거나 수행하지 않을 때, 호스팅(hosting) 책임들의 일부 또는 모두가 백업 호스트로 이동할 수 있다. 백업 호스트로서 자격을 취득하는 것은 후보 호스트(클라이언트)가 백업 실행가능성을 나타내는 것이 필요하다. 백업 실행가능성은, 대역폭, 처리능력, 메모리, 하드웨어 또는 소프트웨어 구성들, 또는 서비스의 질과 관련된 하나 이상의 요구사항들을 만족시키는 것을 포함할 수 있다. 클라이언트의 백업 실행가능성은 호스트와의 교섭을 통해 결정될 수 있다.
백업 실행가능성과 관련된 교섭들을 완료하고 백업 실행가능성을 확인한 이후에, 호스트 정보는 네트워크 세션(150)을 통하여 호스트(140)와 클라이언트(160A) 사이에서 송신될 수 있다. 호스트 정보는, 네트워크 이름, 네트워크 내의 클라이언트들의 인터넷 프로토콜(Internet protocol; IP) 주소들, 방화벽 정보를 포함할 수 있고, 클라이언트(160A)가 특정 호스트 책임들을 취득할 필요가 있는 경우, 호스트 정보는 특정 책임들과 관련된 정보를 포함할 수 있다. 클라이언트(160A)는, 호스트 정보를 이용하여, 호스트(140)와 다른 클라이언트들(160B-D) 사이의 하나 이상의 연결들이 중단되는 경우 백업 호스트로서 동작할 수 있다. 예를 들어, 클라이언트(160B)가 호스트(140)와 연결이 끊긴다면, 클라이언트(160B)는 도 3a 및 도 3b에 도시된 것처럼 데이터를 클라이언트(160A)에 송신할 수 있다. 호스트 책임들을 호스트(140)로부터 클라이언트(160A)로 이동시킴으로써, 클라이언트(160B)로부터의 정보는 네트워크 세션(150)에서 완전히 손실되지 않는다.
일부 실시형태들에서, 2 이상의 클라이언트들이 백업 호스트들로서 역할을 할 수 있다. 도 1c는 여러 개의 백업 호스트들-클라이언트들(190A-D)을 가진 예시적인 네트워크 데이터 분배를 위한 시스템을 도시한다. 도 1c의 네트워크 세션(180) 내의 각각의 클라이언트는, 본래의 호스트(170)가 이용가능하지 않다면 특 정 백업 호스트 책임들에 책임을 질 수 있다. 예를 들어, 클라이언트(190B)가 게임 환경의 상태 변화들에 책임이 있는 반면에, 클라이언트(190A)는 득점기록에 책임이 있을 수 있다. 클라이언트(190D)가 잡담 기능에 책임이 있는 반면에, 클라이언트(190C)는 승인 기준들(예를 들어, 누가 게임에 참여할 수 있는가)에 책임이 있다. 선택적으로, 클라이언트(190A)는 상술한 작업들 모두에 책임이 있고, 클라이언트(190A)가 연속적으로 실패한다면 클라이언트들(190B-D)은 이러한 작업들을 취득한다.
도 2는, 네트워크 데이터 분배 시스템에서의 끊김 없는 호스트 이동을 제공하는 컴퓨팅 장치를 위한 예시적인 구성(200)을 도시한다. 네트워크 내에서 중앙 통신 허브(hub)로서 동작하는 호스트(200)는 서버와 같은 컴퓨팅 장치일 수 있다. 클라이언트 작업들에 대하여 전형적으로 예약된 컴퓨팅 장치는, 클라이언트가 백업 호스트가 된다는 사실로 인하여 호스트(200)의 구성들 중 일부 또는 모두를 나타낼 수 있다. 호스트(200)는 네트워크 인터페이스(210), 확인 모듈(220), 교섭 모듈(230), 호스트 정보 데이터베이스(240), 백업 응용프로그램 모듈(250), 폴링 모듈(260), 및 타이머(270)를 포함할 수 있다.
본 발명에서 언급된 모듈( 또는 응용 프로그램)은 다양한 시스템-레벨 기능들을 수행하는 루틴들의 집합체이다. 모듈은, 필요한 하드웨어 및 장치 드라이버들에 의해 동적으로 로딩(loading)되고 언로딩(unloading)될 수 있다. 본 명세서에서 기술된 모듈의 소프트웨어 구성요소들은 더 큰 소프트웨어 플랫폼의 일부로서 내장되거나 또는 특정 용도의 구성요소의 일부로서 통합될 수 있다.
네트워크 인터페이스(210)는, 네트워크 내의 호스트 및 다른 컴퓨팅 장치들 사이의 통신을 가능하게 하도록 구성된 다양한 하드웨어 및/또는 소프트웨어 구성요소들 중 하나일 수 있다. 네트워크 인터페이스(210)는 유선, 무선 및/또는 인터넷-기반 통신 네트워크들에 걸쳐서 통신하기 위한 구성요소들을 포함할 수 있다.
확인 모듈(220)은 클라이언트에 의해 송신된 정보가 호스트(200)에 의해 수신되었다는 증명을 가능하게 한다. 호스트(200)가 정보를 클라이언트로부터 네트워크 인터페이스(210)를 통하여 수신할 때, 확인 모듈(220)은 수신 확인(ACK; acknowledgement of receipt)을, 정보를 송신하는 클라이언트에게 송신한다. 예를 들어, 클라이언트가 게임 상태 데이터의 변화와 관련된 정보를 호스트(200)로 송신한다면, 확인 모듈(220)은 ACK 응답을, 정보가 수신되었다는 것을 표시하는 송신 클라이언트에게 송신한다. 확인 모듈(220)에 의해 송신된 ACK 응답은, 어느 정보가 수신되었는지 및 그 정보 중 얼마나 많이 수신되었는지 및/또는 그 정보 중 어느 것이 오염되었는지 또는 불완전한지 여부의 표시를 더 포함한다.
송신 클라이언트에 의한 특정 데이터 송신과 관련된 ACK의 미수신은, 데이터 송신이 호스트(200)에 의해 수신되지 않았음을 표시한다. 호스트(200)에 의한 데이터 송신의 미수신은, 호스트(200)와 데이터 송신을 행한 클라이언트 사이의 연결 또는 호스트(200) 자체와 관련된 문제를 표시한다. 특정 개수의 데이터 송신들이 호스트(200)로부터 ACK 응답을 수신하지 않는다면, 송신 클라이언트는 이동 작업을 요청하고, 이동 작업에 의해 호스트 기능들의 일부 또는 모두가 백업 호스트로 이동된다.
교섭 모듈(230)은 다양한 파라미터들에 근거하여 클라이언트의 백업 실행가능성을 교섭한다. 예를 들어, 실행가능한 백업 호스트/클라이언트 후보는 특정 분량의 이용가능한 대역폭을 가지는 것이 필요하다. 클라이언트가 네트워크 세션 내의 데이터 모두를 관리하기에 충분한 클라이언트의 대역폭이 필요하다. 백업 실행가능성은, 클라이언트가 예를 들어 핑 속도(ping rate), 패킷 손실(packet loss), 이용가능한 메모리, 프로세서 속도 등과 같은 다양한 품질의 서비스 기준들을 따르는 것이 필요하다.
교섭 모듈(230)은, 클라이언트 후보가 네트워크 내의 다른 클라이언트들 각각에 연결될 수 있는지 여부를 더 결정한다. 실행가능한 백업 호스트는 네트워크 내의 다른 클라이언트들 각각에 연결될 수 있고, 다른 클라이언트들 각각으로부터 정보를 수신할 수 있는 것이 필요하다. 백업 실행가능성을 위한 파라미터들은 네트워크 세션의 유형에 의해 결정될 수 있다. 예를 들어, 특정 게이밍(gaming) 네트워크 세션은, 게임 환경에서 일어날 수 있는 다수의 상태 변화들로 인하여 백업 실행가능성을 위한 특정 분량의 대역폭 및 프로세서 속도를 필요로 한다. 단순한 파일 전송들과 같은 덜 복잡한 트랜잭션들(transactions)은 더 작은 대역폭 및/또는 처리 능력을 필요로 한다.
교섭 모듈(230)은 복수의 클라이언트들과 백업 실행가능성을 교섭하도록 구성될 수 있고, 이에 의해 일련의 백업 호스트들이 이루어진다. 선택적으로, 교섭 모듈(230)은 한 그룹의 클라이언트들 사이에서 특정 작업들에 대한 백업 책임들을 할당하도록 구성된다. 일련의 백업 호스트들을 제공함으로써, 호스팅 임무는, 네트 워크 또는 호스트/클라이언트 조건들이 보증됨에 따라 호스트로부터 제 1 백업 호스트, 제 2 백업 호스트 등으로 끊김 없이 이동한다. 백업 호스트 책임들 및/또는 특정 책임들의 순서는 클라이언트들이 호스트에 연결되는 순서에 근거하여 할당된다. 선택적으로, 순서 및/또는 책임들은 대역폭 또는 서비스의 품질과 같은 다른 요소들에 근거할 수 있다.
호스트 정보 데이터베이스(240)는 호스트, 클라이언트들, 또는 네트워크 세션과 관련된 정보를 저장한다. 호스트 정보 데이터베이스(240) 내에 저장된 정보는, 이를테면 네트워크 세션 내의 다른 클라이언트들에 연결되어, 컴퓨팅 장치가 특정 호스팅 임무를 수행하게 할 수 있다. 이러한 호스트 정보는 네트워크 이름, 네트워크 내의 클라이언트들의 인터넷 프로토콜 주소들, 및 방화벽 정보를 포함한다. 호스트 정보 데이터베이스(240)는, 네트워크로부터 연결이 끊긴 클라이언트 또는 네트워크에 참여하는 새로운 클라이언트와 같은 이벤트들이 발생할 때 갱신된다. 새로운 클라이언트들의 IP 주소들은, 예를 들어, 호스트 정보 데이터베이스(240)에 추가되는 것이 필요하다.
백업 응용프로그램 모듈(250)은, 호스트 정보 데이터베이스(240)와 공동으로 동작하며, 클라이언트 상에 다운로드 되고, 설치되며, 실행될 수 있는 응용프로그램을 생성한다. 이러한 응용프로그램은, 기본적인 실행가능성 요건을 만족시키며, 백업 호스트로서 역할을 하기 위해 클라이언트에게 필요한 특정 동작 기능을 클라이언트에게 제공한다. 응용프로그램은, 클라이언트가 네트워크 세션 내의 다른 클라이언트들에 연결되고, 다른 클라이언트들과 데이터를 교환하도록 설정한다.
선택적인 폴링 모듈(260)은 네트워크 세션 내의 클라이언트들 모두를 폴링하도록 설정될 수 있다. 폴링 모듈(260)은 연결성에 대해 클라이언트들을 폴링하도록 사용된다. 연결성에 대한 폴링은, 데이터의 작은 패킷들을 네트워크 세션 내의 각각의 클라이언트로 송신하는 단계, 데이터 패킷들을 수신한 클라이언트들로부터 응답들/확인들을 수신하는 단계, 및 어느 클라이언트들이 호스트(200)와의 통신에서 문제들을 가지는지를 결정하는 단계를 포함할 수 있다.
폴링 모듈(260)은 주기적인 구간들에서 클라이언트들을 자동적으로 폴링할 수 있다. 폴링 모듈(260)은, 새로운 클라이언트가 네트워크 세션 내에 참여하는 것 또는 중단된 통신의 표시(예를 들어, 클라이언트는 호스트(200)에 의해 송신된 데이터를 확인하지 않음)와 같은 특정 이벤트들이 발생할 때 클라이언트들을 폴링하도록 구성될 수 있다. 폴링 모듈(260)의 폴링 동작은, 미국 특허출원 제2003-204566호, "멀티-유저 응용프로그램 인터페이스"에 기술된 것처럼 주기적인 심장박동과 유사하다.
호스트(200)는 또한 타이머(270)를 포함할 수 있다. 타이머(270)는 이벤트 이후에 경과된 시간을 측정하도록 구성될 수 있다. 호스트(200)는, 폴링 모듈(260)에 의해 생성된 것과 같은 데이터 송신과 데이터 송신의 확인 사이의 시간을 결정하기 위해 타이머(270)를 사용할 수 있다. 이러한 정보는 특정 클라이언트로의 연결을 종료시킬지 여부를 결정하는 데에 사용될 수 있다. 호스트(200)가 타이머(270)에 의해 측정된 한 주기의 시간 동안 특정 클라이언트로부터 확인을 수신하지 않거나 또는 폴 응답(poll response)을 수신하지 않는다면, 호스트(200)는 클라 이언트와의 연결을 종료시킬 수 있다.
백업 응용프로그램 모듈(250)에 의해 생성된 응용프로그램은 폴링 모듈(260) 및 타이머(270)의 기능과 유사한 특정 기능을 더 포함한다. 네트워크 세션으로부터 특정 클라이언트를 추방할지 여부를 결정하는 호스트(200)와 달리, 호스트(200)가 특정 호스트 임무를 더 이상 수행할 수 없거나 연속해서 수행하지 않을 때를 결정하기 위해, 이러한 '심장박동' 기능은 백업 호스트로서 고안된 클라이언트에 의해 사용되어질 수 있다. 호스트(200)가 특정 임무를 수행하지 못하거나 수행하지 않는 것은, 확인 모듈(220)에 의해 생성된 것처럼 ACK 또는 심장박동의 수신의 연속적인 결여에 의해 표시될 수 있다.
도 3a는 예시적인 네트워크 데이터 분배를 위한 시스템(300)의 일 실시형태를 도시한다. 호스트(200)는 복수의 클라이언트들(310A-D)에 연결된다. 클라이언트(310A)는 호스트(200)와의 백업 실행가능성을 성공적으로 교섭하고, 연결(320)을 통하여 호스트 정보를 수신한다. 클라이언트(310A)는, 호스트 정보를 이용하여 네트워크 내의 다른 클라이언트들, 즉, 클라이언트들(310B-D)에 연결된다. 연결들(330)은 클라이언트들(310B-D)이 클라이언트(310A)와 직접(즉, 호스트(200)를 통하지 않고) 통신하는 것을 가능하게 한다. 클라이언트들(310B-D)은, 각각의 클라이언트가 데이터를 호스트(200)에 송신하는 어려움을 가진다면 데이터를 클라이언트(310A)와 교환하기 위해 연결들(330)을 사용한다. 클라이언트들(310B-D)은 또한, 호스트(200)로의 데이터 송신들에 대한 어려움과 관계없이, 데이터를 클라이언트(310A)에 자동적으로 송신할 수 있다.
도 3b는, 예시적인 네트워크 데이터 분배를 위한 시스템의 선택적인 실시형태를 도시한다. 구체적으로, 도 3b는 호스트(200)와 클라이언트(310D) 사이의 통신들이 중단되는 예시적인 네트워크 데이터 분배를 위한 시스템을 도시한다. 구체적으로, 호스트(200)와 클라이언트(310D) 사이의 도시된 데이터 송신(340)이 성공적이지 않게 도시된다. 클라이언트(310D)가 데이터 송신(340)을 호스트(200)로 행하기를 시도하는 동안, 불완전한 연결은 송신이 호스트(200)에 의해 수신되는 것을 금지한다.
클라이언트(310A)가 네트워크 세션을 위한 백업 호스트이기 때문에, 클라이언트(310D)는, 클라이언트(310A)로 직접(즉, 호스트(200)를 통하지 않고) 백업 데이터 송신(350)에서 호스트(200)에 대하여 의도된 동일 데이터를 송신할 수 있다. 그 다음에, 클라이언트(310A)는 데이터 송신(360) 내의 데이터를 호스트(200)로 송신한다. 이러한 특정 실시형태에서, 클라이언트(310A)는 클라이언트(310D)와 호스트(200)를 분리하는 불완전한 연결로 인하여 클라이언트(310D)와 호스트(200) 사이의 프록시(proxy)로서 동작한다. 그 다음에, 호스트(200)는, 클라이언트(310A)를 경유하여 수신될지라도, 데이터를 클라이언트(310D)로부터 클라이언트들(310B 및 310C) 분배한다. 선택적으로, 예를 들어, 호스트(200)가, 호스트 임무를 유지할 수 없고 클라이언트(310D)와 호스트(200) 사이의 연결이 결함이 있다면, 클라이언트(310A)는 데이터를 클라이언트들(310B 또는 310C)로 송신한다.
호스트(200)와 클라이언트(310D) 사이의 통신들이 두절되기 때문에, 클라이언트(310D)는 세션 데이터를 클라이언트(310A)를 통하여 취득할 필요가 있다. 클라 이언트(310A)는, 컴퓨팅 장치를 대신하여 데이터에 대한 요청을 행함에 더하여 호스트(200) 및 클라이언트(310D)와 관련하여 데이터의 수신 및 송신에 대한 매개자로서 동작한다.
도 4는 예시적인 네트워크 데이터 분배를 위한 방법(400)을 도시하는 순서도이다. 도 4에서 확인된 단계들은 예시적이고, 다양한 대안들, 균등물들, 또는 이의 변형물들을 포함하지만, 이의 실행 순서에 제한되지 않는다. 도 4의 처리의 단계들은, 프로세서에 의해 실행가능한 명령들을 포함하는 기계-판독가능 또는 컴퓨터-판독가능 저장 매체(예를 들어, 광학 디스크, 메모리 카드, 또는 하드 드라이브(hard drive))를 포함하는 하드웨어 또는 소프트웨어에서 구현될 수 있다.
단계 410에서, 호스트(예를 들어, 호스트(200))는 네트워크 세션을 수립한다. 호스트는, 네트워크 세션이 어떻게 진행될 것인지의 다양한 모습들 뿐만 아니라, 누가 네트워크 세션에 참여할지에 대한 특정 파라미터들을 설정한다. 호스트는, 특정 클라이언트들 또는 초청된 클라이언트들만이 참여하는 개인 네트워크 세션을 수립한다. 선택적으로, 호스트는, 공중에 개방되고 임의의 클라이언트가 참여하는 네트워크 세션을 수립한다.
단계 420에서, 복수의 클라이언트들은 호스트에 연결됨으로써 네트워크 세션에 참여한다. 호스트가, 누가 네트워크 세션에 참여할 지와 관련된 특정 파라미터들을 설정하였다면, 클라이언트들은 호스트를 연결하거나 네트워크 세션 내에 참여하도록 허용되기 전에 이러한 파라미터들을 만족하는 것이 필요하다.
단계 430에서, 백업 실행가능성은 도 2의 교섭 모듈(220)을 경유하여 교섭된 다. 하나 이상의 클라이언트들은, 백업 호스트들로서 역할을 하도록 용량 및 자원들을 실행가능한 백업 호스트들일 수 있다. 클라이언트가 네트워크 세션에 참여하자마자 백업 실행가능성이 교섭될 수 있다. 서비스의 대역폭 및 품질을 포함하는, 백업 실행가능성의 다양한 양상들은, 특정 클라이언트가 백업 호스트로서 역할을 할 수 있는지 여부를 결정하도록 평가될 수 있다. 교섭 모듈(220)의 요건들에 따라서, 네트워크 세션 내의 클라이언트들 중에는 하나, 2 이상의 실행가능 백업 호스트들이 있을 수 있고, 실행가능 백업 호스트가 없을 수도 있다. 백업 책임들은 또한 분배될 수 있다.
단계 440에서, 백업 책임이 할당된다. 실행가능 백업 호스트들인 복수의 클라이언트들이 있는 경우, 백업 책임은, 순서 및/또는 특정 책임들과 관련하여 복수의 클라이언트들 사이에 할당될 필요가 있다. 미국특허공보 제2003-217135호, "동적 플레이어 관리"에 예시된 방송 또는 다른 통신을 통하여 호스트 또는 제 1 백업에 의해 확인되는 것처럼, 네트워크 세션 내의 클라이언트들은 데이터를 제 1 실행가능 백업 호스트로 송신한다. 제 1 실행가능 백업 호스트가 백업 호스트로서 역할을 할 수 없다면, 다른 클라이언트들은 네트워크 세션에 참여하기 위해서 데이터를 제 2 실행가능 백업 호스트로 송신할 수 있다. 제 2 백업 호스트와 통신할 필요성은 본 명세서 및/또는 상술한 "동적 플레이어 관리" 출원에 개시된 수단들을 이용하여 표시될 수 있다.
단계 450에서, 특정 클라이언트가 네트워크 세션 내의 다른 클라이언트들 각각에 연결될 수 있는지 여부가 결정된다. 백업 호스트는 세션 내의 모든 다른 클라 이언트에 연결될 수 있을 필요가 있다. 제 1 클라이언트가 제 2 클라이언트에 연결될 수 없다면, 제 1 클라이언트는 네트워크 세션에 대한 백업 호스트로서 역할을 할 수 없다. 예를 들어, 제 1 클라이언트는, 제 1 클라이언트가 특정 유형들의 연결들을 행하는 것을 금지하는 방화벽 문제들을 가진다. 가능한 백업 호스트가 임의의 이유로 또 다른 클라이언트에 연결될 수 없다면, 본 방법은 단계 440으로 복귀할 수 있고 백업 책임을 재할당할 수 있다.
클라이언트가 실행가능 백업 호스트이고 네트워크 세션 내의 다른 클라이언트들 모두에 연결될 수 있다는 것이 결정되었다면, 본 방법은 단계 460으로 진행한다. 단계 460에서, 백업 정보는 실행가능 백업 호스트로 다운로드 된다. 백업 정보를 백업 호스트로 제공함으로써, 호스트는 네트워크로부터 빠져나올 수 있고, 백업 호스트는 네트워크 세션 내의 다른 클라이언트들에 의해 필요한 임의의 정보를 제공할 수 있다. 백업 정보는, 도 2의 백업 응용프로그램 모듈(250)에서 논의되는 것처럼, 끊김 없는 호스트 전이들을 가능하게 하는 응용프로그램의 다운로드 및 설치의 일부로서 제공될 수 있다.
단계 470에서, 네트워크 데이터 분배가 시작될 수 있다. 도 3a에 도시된 것처럼, 데이터 송신들은 호스트 및 클라이언트 사이에서 발생할 수 있다. 도 3b가 도시하는 것처럼, 2개의 클라이언트들 사이, 즉 호스트 연결성 문제들을 가진 클라이언트로부터 백업 호스트로서 동작할 수 있는 클라이언트로의 데이터 송신이 또한 발생할 수 있다. 게다가, 백업 호스트는, 데이터를 호스트로 전송하고 또는 요청에 따라 다른 클라이언트들로 직접 전송한다. 데이터가 중계되어야 하는 연결을 통하 여, 데이터는, 상기 데이터를 필요로 하는 컴퓨팅 장치들에 제공된다.
본 발명이 예시적인 실시형태들을 참조하여 기술되었을지라도, 본 발명의 사상 및 범위로부터 벗어나지 않으면서, 다양한 변화들이 행해지고 균등물들이 구성요소들을 대체할 수 있다. 게다가, 본 발명의 본질적인 사상들을 벗어나지 않으면서, 변형예들이 이루어질 수 있다. 다양한 선택적인 시스템들이 본 명세서에서 기술된 다양한 방법들을 실시하는 데에 이용될 수 있고, 다양한 방법들이 상술한 시스템들로부터 특정 결과들을 달성하는 데에 이용될 수 있다.
도 1a는 종래 기술에 따른 클라이언트-서버 네트워크 구성을 도시한다.
도 1b는 하나의 백업 호스트를 가진 예시적인 네트워크 데이터 분배를 위한 시스템을 도시한다.
도 1c는 여러 개의 백업 호스트를 가진 예시적인 네트워크 데이터 분배를 위한 시스템을 도시한다.
도 2는 네트워크 데이터 분배 시스템에서의 끊김 없는 호스트 이동을 제공하는 컴퓨팅 장치를 위한 예시적 구성을 도시한다.
도 3a는 예시적인 네트워크 데이터 분배를 위한 시스템의 실시형태를 도시한다.
도 3b는 예시적인 네트워크 데이터 분배를 위한 시스템의 또 다른 실시형태를 도시한다.
도 4는 예시적인 네트워크 데이터 분배를 위한 방법을 도시한다.

Claims (35)

  1. 호스트(host)와 복수의 클라이언트들(clients) 각각의 사이에서 교환된 데이터가 수신 시에 확인되고, 상기 호스트와 상기 복수의 클라이언트들 사이의 연결들을 수립하는 단계;
    상기 복수의 클라이언트들 중 제 1 클라이언트의 백업 실행가능성(backup viability)을 교섭하는 단계; 및
    상기 제 1 클라이언트는 적어도 호스트 정보에 근거하여 상기 복수의 클라이언트들 중 모든 다른 클라이언트들로의 연결들을 수립하며, 상기 제 1 클라이언트는, 상기 호스트와 상기 복수의 클라이언트들 중 제 2 클라이언트 사이의 통신이 중단되면 상기 제 2 클라이언트로부터 데이터를 수신하고, 상기 호스트 정보를 상기 제 1 클라이언트로 송신하는 단계를 포함하는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 방법.
  2. 제 1 항에 있어서, 상기 중단된 통신은, 상기 제 2 클라이언트가 데이터를 상기 호스트에 송신한 이후 일정 시간 이내에 상기 호스트로부터 상기 제 2 클라이언트로의 확인의 결여에 의해 식별되는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 방법.
  3. 제 1 항에 있어서, 상기 호스트와 상기 복수의 클라이언트들 각각의 사이의 연결성을 결정하기 위해 상기 복수의 클라이언트들을 폴링(polling)하는 단계를 더 포함하는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 방법.
  4. 제 3 항에 있어서, 상기 중단된 통신은 상기 폴링의 결과들에 의해 표시되는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 방법.
  5. 제 1 항에 있어서, 상기 중단된 통신과 관련하여 상기 호스트로부터 상기 복수의 클라이언트들 각각으로 표시자(indication)를 송신하는 단계를 더 포함하는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 방법.
  6. 제 1 항에 있어서, 상기 중단된 통신에 근거하여 상기 호스트와 상기 제 2 클라이언트 사이의 연결을 종료하는 단계를 더 포함하는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 방법.
  7. 제 1 항에 있어서, 상기 제 1 클라이언트의 백업 실행가능성을 교섭하는 단계는 상기 제 1 클라이언트의 대역폭을 결정하는 단계를 포함하는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 방법.
  8. 제 1 항에 있어서, 상기 제 1 클라이언트의 백업 실행가능성을 교섭하는 단계는, 상기 제 1 클라이언트가 상기 복수의 클라이언트들 중 다른 클라이언트들 각 각에 연결될 수 있는지 여부를 결정하는 단계를 포함하는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 방법.
  9. 제 1 항에 있어서, 호스트 정보를 상기 제 1 클라이언트에 송신하는 단계는 상기 호스트 정보를 제공하는 응용프로그램(application)을 송신하는 단계를 포함하는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 방법.
  10. 제 1 항에 있어서,
    상기 복수의 클라이언트들 중 제 3 클라이언트의 백업 실행가능성을 교섭하는 단계; 및
    상기 제 3 클라이언트는 적어도 상기 호스트 정보에 근거하여 상기 복수의 클라이언트들 중 모든 다른 클라이언트들에 연결되고, 상기 제 3 클라이언트는, 상기 제 1 클라이언트와 상기 제 2 클라이언트 사이의 통신이 중단된다면 데이터를 상기 제 2 클라이언트로부터 수신하도록 호스트 정보를 상기 제 3 클라이언트에 송신하는 단계를 더 포함하는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 방법.
  11. 제 10 항에 있어서, 상기 제 2 클라이언트는, 적어도, 연결이 상기 호스트와 수립되었던 순서에 근거하여 상기 데이터를 상기 제 3 클라이언트로 송신하기 전에 상기 데이터를 상기 제 1 클라이언트로 송신하도록 더 구성되는 것을 특징으로 하 는, 네트워크 데이터 분배를 유지하기 위한 방법.
  12. 제 10 항에 있어서, 상기 제 2 클라이언트는, 적어도 상기 제 1 클라이언트의 대역폭 및 상기 제 3 클라이언트의 대역폭에 근거하여 상기 데이터를 상기 제 3 클라이언트로 송신하기 전에 상기 데이터를 상기 제 1 클라이언트로 송신하도록 더 구성되는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 방법.
  13. 복수의 클라이언트들 각각으로부터 데이터를 수신하고 데이터의 수신을 확인하며, 상기 복수의 클라이언트들에 연결되도록 구성된 호스트;
    적어도 호스트 정보에 근거하여 상기 복수의 클라이언트들 중 모든 다른 클라이언트들에 연결되며, 상기 호스트 정보를 수신하도록 구성된 제 1 클라이언트; 및
    상기 호스트와 제 2 클라이언트 사이의 통신이 중단된다면, 데이터를 상기 제 1 클라이언트로 송신하도록 구성된 제 2 클라이언트를 포함하는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 시스템.
  14. 제 13 항에 있어서, 상기 중단된 통신은, 상기 제 2 클라이언트가 상기 데이터를 상기 호스트로 송신한 이후 일정 시간 이내에 상기 호스트로부터의 확인의 결여에 의해 표시되는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 시스템.
  15. 제 13 항에 있어서, 상기 제 2 클라이언트는 상기 데이터를 상기 호스트로 재송신하도록 더 구성되는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 시스템.
  16. 제 13 항에 있어서, 상기 제 2 클라이언트는, 상기 호스트와 상기 제 2 클라이언트 사이의 중단된 통신과 관련하여 상기 복수의 클라이언트들 각각에 통지하도록 더 구성되는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 시스템.
  17. 제 13 항에 있어서, 상기 제 2 클라이언트는, 상기 호스트와 상기 제 2 클라이언트 사이의 연결을 종료시키도록 더 구성되는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 시스템.
  18. 제 13 항에 있어서, 상기 호스트는, 연결성과 관련하여 상기 복수의 클라이언트들을 폴링하도록 더 구성되는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 시스템.
  19. 제 13 항에 있어서, 상기 호스트는, 상기 호스트와 상기 제 2 클라이언트 사이의 중단된 통신과 관련하여 상기 복수의 클라이언트들 각각에 통지하도록 더 구 성되는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 시스템.
  20. 제 19 항에 있어서, 상기 호스트는, 상기 호스트와 상기 제 2 클라이언트 사이의 연결을 종료시키도록 더 구성되는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 시스템.
  21. 제 13 항에 있어서, 상기 호스트는, 상기 제 1 클라이언트의 백업 실행가능성을 교섭하도록 더 구성되는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 시스템.
  22. 제 13 항에 있어서, 상기 호스트는 상기 제 1 클라이언트의 대역폭에 근거하여 백업 실행가능성을 교섭하는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 시스템.
  23. 제 13 항에 있어서, 상기 호스트는, 상기 제 1 클라이언트가 상기 복수의 클라이언트들 중 다른 클라이언트들 각각에 연결될 수 있는지 여부에 근거하여 백업 실행가능성을 교섭하는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 시스템.
  24. 제 13 항에 있어서, 상기 호스트는, 상기 호스트 정보를 상기 제 1 클라이언 트에 송신하도록 더 구성되는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 시스템.
  25. 제 24 항에 있어서, 상기 호스트는, 상기 복수의 클라이언트들 중 다른 클라이언트들 각각과 관련된 정보를 제공하도록 구성된 응용프로그램을 송신함으로써 상기 호스트 정보를 송신하는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 시스템.
  26. 제 13 항에 있어서, 상기 복수의 클라이언트들 중 제 3 클라이언트가 적어도 호스트 정보에 근거하여 상기 복수의 클라이언트들 중 모든 다른 클라이언트들에 연결되도록, 상기 제 3 클라이언트는 상기 호스트 정보를 수신하도록 구성되는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 시스템.
  27. 제 26 항에 있어서, 상기 제 2 클라이언트는, 상기 제 1 클라이언트와 상기 제 2 클라이언트 사이의 통신이 중단된다면 데이터를 상기 제 3 클라이언트로 송신하도록 더 구성되는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 시스템.
  28. 제 27 항에 있어서, 상기 제 2 클라이언트는, 상기 호스트와의 연결 순서에 근거하여 상기 데이터를 상기 제 3 클라이언트에 송신하기 전에 상기 데이터를 상 기 제 1 클라이언트에 송신하도록 더 구성되는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 시스템.
  29. 제 27 항에 있어서, 상기 제 2 클라이언트는, 상기 제 1 클라이언트의 대역폭 및 상기 제 3 클라이언트의 대역폭에 근거하여 상기 데이터를 상기 제 3 클라이언트에 송신하기 전에 상기 데이터를 상기 제 1 클라이언트로 송신하도록 더 구성되는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 시스템.
  30. 클라이언트로부터 수신된 데이터를 확인하는 응답을 송신하도록 구성된 확인 모듈;
    제 1 클라이언트의 백업 실행가능성을 교섭하도록 구성된 교섭 모듈; 및
    상기 제 1 클라이언트가 적어도 호스트 정보에 근거하여 상기 복수의 클라이언트들 중 모든 다른 클라이언트들에 연결되고 데이터를 제 2 클라이언트로부터 수신하도록, 상기 호스트 정보를 상기 제 1 클라이언트에 제공하는 응용프로그램을 송신하도록 구성된 백업 응용프로그램 모듈을 포함하는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 컴퓨팅 장치.
  31. 제 30 항에 있어서, 복수의 클라이언트들 중 각각의 클라이언트와 관련된 정보를 저장하도록 구성된 호스트 정보 데이터베이스를 더 포함하는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 컴퓨팅 장치.
  32. 제 31 항에 있어서, 상기 호스트 정보 데이터베이스는, 클라이언트를 상기 복수의 클라이언트들에 추가하거나 또는 상기 복수의 클라이언트들로부터 제거함에 근거하여 갱신된 정보를 저장하도록 더 구성되는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 컴퓨팅 장치.
  33. 제 30 항에 있어서, 이벤트 이후에 경과된 시간을 측정하도록 구성된 타이머를 더 포함하는 것을 특징으로 하는, 네트워크 데이터 분배를 유지하기 위한 컴퓨팅 장치.
  34. 호스트와 복수의 클라이언트들 각각 사이에서 교환된 데이터가 수신 시에 확인되도록 호스트를 상기 복수의 클라이언트들로 연결하는 단계;
    상기 복수의 클라이언트들로부터 제 1 클라이언트의 백업 실행가능성을 교섭하는 단계; 및
    상기 제 1 클라이언트가 적어도 호스트 정보에 근거하여 상기 복수의 클라이언트들로부터 모든 다른 클라이언트들에 연결되고, 상기 제 1 클라이언트가 상기 복수의 클라이언트들 중 제 2 클라이언트로부터 데이터를 수신하도록, 호스트 정보를 상기 제 1 클라이언트로 송신하는 단계를 포함하는 것을 특징으로 하는 그룹 메시징(group messaging) 방법을 수행하는 프로세서에 의해 실행가능한 프로그램을 포함한 컴퓨터판독가능 저장 매체.
  35. 제 34 항에 있어서, 상기 프로그램은, 상기 호스트와 상기 제 2 클라이언트 사이의 연결을 종료시키기 위한 실행가능한 명령을 포함하는 것을 특징으로 하는, 프로그램을 포함한 컴퓨터판독가능 저장 매체.
KR1020080087685A 2007-10-05 2008-09-05 끊김 없는 호스트 이동을 위한 시스템들 및 방법들 KR101036099B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US99791807P 2007-10-05 2007-10-05
US60/997,918 2007-10-05
US12/049,954 US8131802B2 (en) 2007-10-05 2008-03-17 Systems and methods for seamless host migration
US12/049,954 2008-03-17

Publications (2)

Publication Number Publication Date
KR20090035419A true KR20090035419A (ko) 2009-04-09
KR101036099B1 KR101036099B1 (ko) 2011-05-19

Family

ID=40266155

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020080087685A KR101036099B1 (ko) 2007-10-05 2008-09-05 끊김 없는 호스트 이동을 위한 시스템들 및 방법들

Country Status (5)

Country Link
US (6) US8131802B2 (ko)
EP (2) EP2045967B1 (ko)
JP (1) JP5097671B2 (ko)
KR (1) KR101036099B1 (ko)
TW (2) TWI527415B (ko)

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7711847B2 (en) 2002-04-26 2010-05-04 Sony Computer Entertainment America Inc. Managing users in a multi-user network game environment
US20030217135A1 (en) 2002-05-17 2003-11-20 Masayuki Chatani Dynamic player management
US8560707B2 (en) * 2007-10-05 2013-10-15 Sony Computer Entertainment America Llc Seamless host migration based on NAT type
US8131802B2 (en) 2007-10-05 2012-03-06 Sony Computer Entertainment America Llc Systems and methods for seamless host migration
US8521882B2 (en) * 2010-09-15 2013-08-27 International Business Machines Corporation Client/subscriber rotation using select write calls for server resiliency
US8799454B2 (en) 2010-12-15 2014-08-05 International Business Machines Corporation Behavior based client selection for disparate treatment
JP5474899B2 (ja) * 2011-09-14 2014-04-16 株式会社バンダイナムコゲームス プログラム、情報記憶媒体及びゲーム装置
CN104040459B (zh) * 2011-12-22 2017-11-14 施耐德电气It公司 用于降低数据中心的能量存储需求的系统和方法
CN103685388B (zh) * 2012-09-13 2015-01-07 腾讯科技(深圳)有限公司 信息管理的方法和装置
IN2013CH05013A (ko) 2013-11-07 2015-05-08 Schneider Electric It Corp
WO2016003389A1 (en) * 2014-06-30 2016-01-07 Hewlett-Packard Development Company, L.P. Inject probe transmission to determine network address conflict
EP3366024A1 (en) * 2015-10-19 2018-08-29 ZTE (USA) Inc. Methods and system for automating network migration
JP6520744B2 (ja) * 2016-02-04 2019-05-29 トヨタ自動車株式会社 二次電池
US10778585B1 (en) 2016-11-30 2020-09-15 Amazon Technologies, Inc. Connection and application state migration for uninterrupted service availability
JP6760394B2 (ja) 2016-12-02 2020-09-23 ヤマハ株式会社 コンテンツ再生機器、収音機器、及びコンテンツ再生システム
US10960304B1 (en) * 2018-05-21 2021-03-30 Amazon Technologies, Inc. Live migration for hosted sessions
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
US11570504B2 (en) * 2020-11-06 2023-01-31 Universal Electronics Inc. System and method for configuring input elements of a controlling device
US11595278B2 (en) * 2020-12-16 2023-02-28 Rovi Guides, Inc. Systems and methods to automatically perform actions based on media content
US11606465B2 (en) 2020-12-16 2023-03-14 Rovi Guides, Inc. Systems and methods to automatically perform actions based on media content
US11290684B1 (en) 2020-12-16 2022-03-29 Rovi Guides, Inc. Systems and methods to automatically perform actions based on media content
US11749079B2 (en) 2020-12-16 2023-09-05 Rovi Guides, Inc. Systems and methods to automatically perform actions based on media content
EP4268912A1 (en) * 2022-04-26 2023-11-01 Build A Rocket Boy Games Ltd. Dynamic transitioning of a simulating host of a portion or all of a network interactive environment

Family Cites Families (206)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS59198667A (ja) 1983-04-27 1984-11-10 Matsushita Electric Ind Co Ltd 空気電池用触媒
JPS6332725A (ja) 1986-07-26 1988-02-12 Konica Corp 多段分散を行う磁気記録媒体の製造方法
JPS63232725A (ja) 1987-03-20 1988-09-28 Nec Corp メツセ−ジ同報通信方式
JPH0522346A (ja) * 1991-07-15 1993-01-29 Oki Electric Ind Co Ltd 通信システムにおける着信転送方式
CN1110066A (zh) 1993-06-03 1995-10-11 塔里根特公司 位置目标系统
WO1995031061A1 (en) 1994-05-05 1995-11-16 Catapult Entertainment, Inc. Network architecture for real-time video games
US5630757A (en) 1994-11-29 1997-05-20 Net Game Limited Real-time multi-user game communication system using existing cable television infrastructure
US5682139A (en) 1995-06-07 1997-10-28 General Electric Company Railcar location using mutter networks and locomotive transmitter during transit
US5826085A (en) 1995-07-12 1998-10-20 Oracle Corporation Object oriented computer interface supporting interactive networked applications
US5941947A (en) 1995-08-18 1999-08-24 Microsoft Corporation System and method for controlling access to data entities in a computer network
US6219045B1 (en) 1995-11-13 2001-04-17 Worlds, Inc. Scalable virtual world chat client-server system
US5823879A (en) 1996-01-19 1998-10-20 Sheldon F. Goldberg Network gaming system
US5894556A (en) 1996-03-21 1999-04-13 Mpath Interactive, Inc. Network match maker matching requesters based on communication attribute between the requesters
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
US6038599A (en) * 1997-04-23 2000-03-14 Mpath Interactive, Inc. Latency server and matchmaker
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 ネットワークゲームシステム、ネットワークゲームサーバ装置、ネットワークゲームクライアント装置、対局者選定プログラムを記録した媒体及び対局者情報取得プログラムを記録した媒体
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
EP1141857A1 (en) 1998-08-17 2001-10-10 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> マルチメディア通信システム及びこのシステムを構成する装置並びに該装置のプログラムを記録した媒体
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
DE60002202T2 (de) 1999-06-11 2004-02-05 British Telecommunications P.L.C. Kommunikation zwischen softwarekomponenten
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
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
US6352479B1 (en) 1999-08-31 2002-03-05 Nvidia U.S. Investment Company Interactive gaming server and online community forum
US6748420B1 (en) 1999-11-23 2004-06-08 Cisco Technology, Inc. Methods and apparatus for providing shared access to an application
US6755743B1 (en) 1999-12-08 2004-06-29 Kabushiki Kaisha Sega Enterprises Communication game system and processing method thereof
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 株式会社スクウェア・エニックス オンライン複合サービス提供処理方法およびオンライン複合サービス提供処理システム
AU2001241605A1 (en) 2000-02-17 2001-09-12 Acclaim 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
WO2001071512A1 (en) 2000-03-23 2001-09-27 Fraunhofer Center For Research In Computer Graphics, Inc. Extensible information distribution mechanism for session management
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 ネットワーク接続制御方法及び接続制御システム
US7039694B2 (en) 2000-05-02 2006-05-02 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
US7628702B2 (en) 2000-11-02 2009-12-08 Atlantis Cyberspace, Inc. Mission control system for game playing satellites on network
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
US20020075844A1 (en) 2000-12-15 2002-06-20 Hagen W. Alexander Integrating public and private network resources for optimized broadband wireless access and method
US6754250B2 (en) 2000-12-15 2004-06-22 Telefonaktiebolaget Lm Ericsson (Publ) Networking in uncoordinated frequency hopping piconets
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
US7188145B2 (en) 2001-01-12 2007-03-06 Epicrealm Licensing Llc Method and system for dynamic distributed data caching
US7035911B2 (en) 2001-01-12 2006-04-25 Epicrealm, Licensing Llc Method and system for community data caching
US6761636B2 (en) 2001-01-16 2004-07-13 Fucom Company, Ltd. Real time data exchange system
US7165107B2 (en) * 2001-01-22 2007-01-16 Sun Microsystems, Inc. System and method for dynamic, transparent migration of services
US7155515B1 (en) * 2001-02-06 2006-12-26 Microsoft Corporation Distributed load balancing for single entry-point systems
US7107312B2 (en) 2001-02-06 2006-09-12 Lucent Technologies Inc. Apparatus and method for use in a data/conference call system for automatically collecting participant information and providing all participants with that information for use in collaboration services
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
CN1524221A (zh) 2001-07-06 2004-08-25 ���������˼�빫˾ 信息备份系统和方法
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
US6766364B2 (en) * 2002-01-15 2004-07-20 Telcordia Technologies, Inc. Template based configuration and validation of a network for enabling a requested service to be compatible with the previously enabled services
JP3883452B2 (ja) * 2002-03-04 2007-02-21 富士通株式会社 通信システム
JP3625285B2 (ja) * 2002-03-29 2005-03-02 コナミ株式会社 ネットワークゲームシステム、そのゲーム機及びそのコンピュータプログラム
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
US7454458B2 (en) * 2002-06-24 2008-11-18 Ntt Docomo, Inc. Method and system for application load balancing
US20040001476A1 (en) * 2002-06-24 2004-01-01 Nayeem Islam Mobile application environment
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
US8131802B2 (en) 2007-10-05 2012-03-06 Sony Computer Entertainment America Llc Systems and methods for seamless host migration
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
FR2843210B1 (fr) * 2002-08-02 2005-10-14 Meiosys Procede de migration de connexions dans une architecture multi-ordinateurs, procede pour realiser une continuite de fonctionnement mettant en oeuvre ce procede de migration, et systeme multi-ordinateurs ainsi equipe.
US7016942B1 (en) * 2002-08-05 2006-03-21 Gary Odom Dynamic hosting
US20040031052A1 (en) 2002-08-12 2004-02-12 Liberate Technologies Information platform
KR20040042121A (ko) * 2002-11-13 2004-05-20 주식회사 엔씨소프트 온 라인 게임의 제공 방법 및 장치
WO2004063843A2 (en) 2003-01-15 2004-07-29 Matsushita Electric Industrial Co., Ltd. PEER-TO-PEER (P2P) CONNECTION DESPITE NETWORK ADDRESS TRANSLATOR (NATs) AT BOTH ENDS
US7899932B2 (en) 2003-01-15 2011-03-01 Panasonic Corporation Relayed network address translator (NAT) traversal
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
JP3793213B2 (ja) * 2003-09-01 2006-07-05 株式会社ソニー・コンピュータエンタテインメント ネットワークゲーム端末、ゲームサーバ、ネットワークゲーム端末で実行される方法及び記録媒体
GB0322045D0 (en) * 2003-09-20 2003-10-22 Koninkl Philips Electronics Nv A network-based gaming system
US7502322B2 (en) 2003-09-30 2009-03-10 Nokia Corporation System, method and computer program product for increasing throughput in bi-directional communications
US8234383B2 (en) 2003-11-07 2012-07-31 Panasonic Corporation Bubble packet port identification using detection packets
DE10353925B4 (de) 2003-11-18 2009-12-24 Nec Europe Ltd. Verfahren zum Austausch von Daten zwischen zwei Hosts
US7171583B2 (en) 2003-12-10 2007-01-30 International Business Machines Corporation For PPRC backup systems
EP1723533A1 (en) 2004-03-09 2006-11-22 Clique Communications Llc 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
US8050272B2 (en) * 2004-06-29 2011-11-01 Damaka, Inc. System and method for concurrent sessions in a peer-to-peer hybrid communications network
US7778187B2 (en) 2004-06-29 2010-08-17 Damaka, Inc. System and method for dynamic stability in a peer-to-peer hybrid communications network
JP2008510232A (ja) 2004-08-13 2008-04-03 サイトリックス システムズ, インコーポレイテッド 多数のリモートアクセスサーバにわたる処理整合性を維持する方法
CN101189852B (zh) 2004-08-17 2012-10-03 肖分析有限公司 用于上游故障检测和故障恢复的技术
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
JP4782446B2 (ja) * 2005-03-15 2011-09-28 株式会社バンダイナムコゲームス ネットワークゲームシステム及び管理サーバ
US20070061460A1 (en) 2005-03-24 2007-03-15 Jumpnode Systems,Llc Remote access
US20060221856A1 (en) * 2005-03-29 2006-10-05 Nokia Corporation System and method for managing master-slave relationships within a network
WO2006124811A2 (en) * 2005-05-13 2006-11-23 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
JP4850490B2 (ja) * 2005-11-11 2012-01-11 任天堂株式会社 ゲームプログラムおよびゲーム装置
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
JP4705492B2 (ja) * 2006-03-17 2011-06-22 富士通株式会社 リングノード装置及びリングノード冗長方法
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
AU2006343658A1 (en) * 2006-05-12 2007-11-22 Acei Ab Gaming system with failover and takeover capability
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
US8719143B2 (en) * 2006-09-28 2014-05-06 Microsoft Corporation Determination of optimized location for services and data
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
KR20080001298U (ko) * 2006-11-21 2008-05-26 정해란 클라이언트/서버 시스템에서 패킷 통신방법
GB2444995B (en) * 2006-12-21 2011-07-27 Vodafone Plc Peer to peer network
KR100893159B1 (ko) * 2007-01-25 2009-04-16 강릉원주대학교산학협력단 라우팅 방법 및 그에 따른 무선 네트워크 시스템
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
US8549150B1 (en) * 2007-03-30 2013-10-01 Amazon Technologies, Inc. Fractional redundant distribution of media content
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
US7856501B2 (en) 2007-12-04 2010-12-21 Sony Computer Entertainment Inc. Network traffic prioritization
US9473598B2 (en) * 2007-12-18 2016-10-18 International Business Machines Corporation Network connection failover during application service interruption
WO2009134772A2 (en) 2008-04-29 2009-11-05 Maxiscale, 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
US9032248B1 (en) 2012-10-04 2015-05-12 Amazon Technologies, Inc. Memory write tracking for virtual machines

Also Published As

Publication number Publication date
US20200329094A1 (en) 2020-10-15
EP2360875B1 (en) 2017-05-24
US9729621B2 (en) 2017-08-08
US20180337979A1 (en) 2018-11-22
TW200926719A (en) 2009-06-16
EP2360875A1 (en) 2011-08-24
TWI527416B (zh) 2016-03-21
TW201347493A (zh) 2013-11-16
US8131802B2 (en) 2012-03-06
US20180013820A1 (en) 2018-01-11
US10547670B2 (en) 2020-01-28
KR101036099B1 (ko) 2011-05-19
US20150180958A1 (en) 2015-06-25
JP2009093656A (ja) 2009-04-30
US8972548B2 (en) 2015-03-03
TWI527415B (zh) 2016-03-21
US11228638B2 (en) 2022-01-18
US20090113060A1 (en) 2009-04-30
US20120166651A1 (en) 2012-06-28
JP5097671B2 (ja) 2012-12-12
US10063631B2 (en) 2018-08-28
EP2045967A3 (en) 2009-10-14
EP2045967B1 (en) 2018-01-03
EP2045967A2 (en) 2009-04-08

Similar Documents

Publication Publication Date Title
KR101036099B1 (ko) 끊김 없는 호스트 이동을 위한 시스템들 및 방법들
US9516068B2 (en) Seamless host migration based on NAT type
US11272044B2 (en) Concurrent process execution
KR100621092B1 (ko) P2p 프로토콜을 이용하여 어플리케이션을 공유하는 방법및 장치
US20030061356A1 (en) Load balancing in a data delivery system
WO2002054264A1 (en) Distributed network system architecture for collaborative computing
CN111885093B (zh) 事件请求的传输方法和装置、存储介质及电子设备
CN101483586A (zh) 用于无缝主机迁移的系统和方法
CN116302618B (zh) 一种会话信息处理方法及装置
CN115529471A (zh) 一种游戏开发者实时获取玩家反馈的方法及系统
WO2004077251A2 (en) Systems and methods for lightweight conversations
CN117354117A (zh) 一种基于Java和MQ的分布式消息通讯方法及系统
Németh Protocol Operation
Valencia et al. Design of An Applications Programming Interface for Mobile Applications
KR20000054638A (ko) 분산 시스템의 고장 서버 감지 방법

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: 20140425

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20150428

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20160427

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20170428

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20180427

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20190425

Year of fee payment: 9