KR20030079922A - 분산된 멀티-유저 애플리케이션에서 애플리케이션 이름을태그 값으로 맵핑하기 위한 서버 - Google Patents

분산된 멀티-유저 애플리케이션에서 애플리케이션 이름을태그 값으로 맵핑하기 위한 서버 Download PDF

Info

Publication number
KR20030079922A
KR20030079922A KR10-2003-7005683A KR20037005683A KR20030079922A KR 20030079922 A KR20030079922 A KR 20030079922A KR 20037005683 A KR20037005683 A KR 20037005683A KR 20030079922 A KR20030079922 A KR 20030079922A
Authority
KR
South Korea
Prior art keywords
application
name
mapping
names
tag
Prior art date
Application number
KR10-2003-7005683A
Other languages
English (en)
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 KR20030079922A publication Critical patent/KR20030079922A/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/35Network arrangements, protocols or services for addressing or naming involving non-standard use of addresses for implementing network functionalities, e.g. coding subscription information within the address or functional addressing, i.e. assigning an address to a function
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/30Managing network names, e.g. use of aliases or nicknames
    • 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/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • 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/22Parsing or analysis of headers
    • 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/28Timers or timing mechanisms used in protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/30Definitions, standards or architectural aspects of layered protocol stacks
    • H04L69/32Architecture of open systems interconnection [OSI] 7-layer type protocol stacks, e.g. the interfaces between the data link level and the physical level
    • H04L69/322Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions
    • H04L69/329Intralayer communication protocols among peer entities or protocol data unit [PDU] definitions in the application layer [OSI layer 7]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Computer And Data Communications (AREA)
  • Multi Processors (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 통신망내에 분산된 멀티-유저 애플리케이션용 서버 유닛에 관한 것이다. 상기 서버 유닛은, 애플리케이션 세션 동안 애플리케이션 아이템에 대한 애플리케이션 세션에서만 사용되는 애플리케이션 이름을 저장하고, 통신망에서 애플리케이션 데이터를 송신하기 위한 애플리케이션 데이터 유닛에 적합한 태그 값을 저장하는 하나 이상의 저장 수단, 및 하나 이상의 애플리케이션 이름을 하나 이상의 태그 값으로 맵핑하는 맵핑 수단을 포함한다. 본 발명은 또한, 서버 유닛을 포함하는 통신망내의 시스템, 서버 유닛에 대한 방법, 및 상기 서버 유닛에 대한 컴퓨터 프로그램에 관한 것이다.

Description

분산된 멀티-유저 애플리케이션에서 애플리케이션 이름을 태그 값으로 맵핑하기 위한 서버{SERVER FOR MAPPING APPLICATION NAMES TO TAG VALUES IN DISTRIBUTED MULTI-USER APPLICATION}
광범위하게 분산되어 있는 네트워크 가상 환경(networked virtual environment)에서, 다수의 유저는 실시간으로 또는 실시간에 가깝게 상호작용한다. 이러한 애플리케이션은 가상 세계에서의 현실감 및 보다 풍부한 경험을 목적으로 한다. 이것들은 군사 및 산업 팀 훈련, 공동제작 설계 및 공사, 멀티-플레이어 게임, 가상 쇼핑, 가상 회의, 원격 소비자 지원 및 거리 습득에 사용된다. 이하의 상세한 설명과 청구범위에서, 상기 네트워크 가상 환경에서 처리하고 있는 분산 컴퓨터 프로그램을 애플리케이션이라 한다.
PCT 특허 출원 PCT/SE00/00932 는 멀티-유저 애플리케이션에 대한 종래 기술의 해결방안이 가진 문제를 제기함으로써, 이것이 본원에 참조로서 포함되어 있다.예컨대, 인터넷상에서 플레이되는 멀티-유저 게임, 즉 둘 이상의 동시 유저를 지원하는 게임은 일반적으로 속도가 중요하지 않은 게임이다. 예컨대 카 레이싱(car racing) 게임 및 배틀(battle) 게임과 같이 고속 액션 게임의 경우, 유저는 순식간에 발생하고 있는 것에 반응해야 하며, 상기 게임은 일반적으로 클라이언트-서버 동기 모드 또는 동등 계층(peer-to-peer) 동기 모드를 사용하여 허용된 품질로 플레이될 수 없다. 즉, 애플리케이션의 모든 클라이언트는 요청받을 경우 다른 모든 클라이언트에 직접 애플리케이션을 전송한다.
상세한 설명 및 청구범위에서, 애플리케이션 세션은 네트워크 가상 환경을 처리하고 있는 분산 컴퓨터 프로세스로서 정의된다. 이러한 가상 환경은, 인간에 의해 제어되는 아바타(avatar); 인공 지능(Artificial intelligence:AI)으로 제어되는 아바타; 일부는 인간에 의해 제어되고 일부는 AI에 의해 제어되는 아바타; 왕, 전사(warrior), 경기자 및 심판(referee)과 같이 유저들간에 교환될 수 있는 게임에서의 고정된 임무; 가상 환경내의 객체; 객체 및 아바타의 속성; 아바타 그룹 및 팀; 객체 그룹; 그룹의 그룹; 가상 환경에서의 장소; 음성 및 영상과 같은 미디어 스트림(media stream); 그리고 매체 스트림의 수집(collection)과 같이 인간 유저에 의미있는 애플리케이션 아이템을 포함한다. 아바타는 보편적으로 애플리케이션내에서 유저를 표현하는 그림이며, 일반적으로 그래픽 아이콘으로 도시된다. 일반적으로, 클라이언트를 통해 유저가 애플리케이션에 진입하면, 유저는 다수의 가상 아바타로부터 선택할 수 있다. 정교한 3D 아바타는, 이들이 현재 수행하고 있는 것에 따라, 및 이들이 예컨대 게임에서 사용되는지 그리고 인터넷상의 3-D 채팅사이트(chat site)에서 사용되지는지에 따라 형상을 변경할 수도 있다. 애플리케이션 아이템은 애플리케이션내에서의 이름(name)(이하, 애플리케이션 이름이라 함)을 가질 수 있으며, 이 애플리케이션 이름은 유저 및/또는 애플리케이션에 의해 애플리케이션 아이템을 참조하는데 사용된다. 애플리케이션 이름은 종종 꽤 길다. 분산된 애플리케이션에 있어서, 반드시 애플리케이션 이름은 세션내에서 고유한 것이어야 한다. 세션-폭 고유의 애플리케이션 이름을 생성하는 알고리즘이 결국 긴 애플리케이션 이름으로 하는 경우가 종종 있다. 또한, 애플리케이션 이름이 인간에게 의의가 있다는 것이 중요할 수 있다. 일반적으로, 짧은 코드는 긴 애플리케이션 이름보다 덜 의의가 있다.
본 발명은 통신망내에 분산된 적어도 하나의 멀티-유저 애플리케이션(multi-user application)용 시스템에 관한 것이다. 본 발명은 또한 상기 네트워크내에 포함된 서버 유닛(server unit)에 관한 것이다. 또한, 본 발명은 서버 유닛에 대한 방법 및 컴퓨터 프로그램에 관한 것이다.
도 1은 본 발명에 따른 통신망의 실시예.
도 2는 애플리케이션 데이터 유닛을 가진 패킷을 나타내는 도면.
도 3은 본 발명에 따른 서버의 개요도.
도 4는 서버의 데이터베이스내의 레코드를 나타내는 도면.
도 5는 소정의 애플리케이션 태그의 이름을 얻기 위한 동작에 대한 흐름도.
도 6은 본 발명에 의해 가능한 또 다른 동작에 대한 흐름도.
본 발명의 목적은 통신망에서 대역폭을 절약하는 것이다.
또한, 본 발명의 목적은 센트럴 서버가 제공될 필요가 없는 동등 계층 동기 모드에서 세계적인 멀티-유저 세션을 가능하게 하는 것이다.
본 발명은 통신망내에 분산된 적어도 하나의 멀티-유저 애플리케이션용 시스템에 관한 것으로서,
유저 단말기;
애플리케이션 데이터를 저장하고 수신하며 애플리케이션 데이터 유닛(data unit)을 유저 단말기에 분산하는 적어도 하나의 제 1서버 유닛;
애플리케이션 세션 동안 컨텐트(content)를 생성하고 상기 컨텐트의 적어도 일부를 적어도 하나의 유저 단말기에 전송하는 적어도 하나의 제 2서버 유닛; 및
적어도 하나의 제 3서버 유닛으로서, 애플리케이션 세션동안 애플리케이션 아이템에 대한 애플리케이션 세션에서만 사용되는 애플리케이션 이름을 저장하고, 통신망에서 애플리케이션 데이터를 전송하기 위해 애플리케이션 데이터 유닛에 적합한 태그 값을 저장하는 적어도 하나의 저장 수단, 및 적어도 하나의 태그 값을 적어도 하나의 애플리케이션 이름으로 맵핑하는 맵핑 수단을 구비한 적어도 하나의 제 3서버 유닛을 포함한다. 이 결과, 인간 유저에게 의의있는 긴 애플리케이션 이름이, 인간에게 의의없거나 판독될 수 없는 짧은 코드, 즉 태그 값이 애플리케이션 데이터 유닛을, 즉 애플리케이션 세션 동안 사용되는 애플리케이션 정보를 가진 패킷을 참여자 및 상이한 서버로 전송할 때 사용됨과 동시에 애플리케이션 세션 동안 사용될 수 있게 된다. 또한, 애플리케이션은 통신망에서 사용되고 있는 통신 프로토콜의 유형에 의존하지 않고 애플리케이션 아이템을 참조하기 위해 내부 애플리케이션 이름만을 사용하여 기록될 수 있게 된다. 태그 값은 애플리케이션 태그를 표현하는 숫자(digit)이다. 애플리케이션 태그는 송신된 애플리케이션 아이템을 라우팅(routing)하거나 저장된 애플리케이션 아이템을 검색하는데 사용되는 코드이다. 애플리케이션 태그는 애플리케이션 데이터 유닛 헤더내의 필드일 수도 있지만, 임의의 다른 데이터그램 또는 통신 프로토콜 패킷의 헤더내의 필드일 수도 있다. 따라서, 이것은 비트 세트로 구성된다. 애플리케이션 태그는 프로토콜내의 상응하는 필드의 위치 또는 애플리케이션 태그의 유형을 나타내는 프로토콜내의 플래그로 표시되는 유형을 갖는다. 애플리케이션 태그가 일반 통신 프로토콜내의 필드로 되는 대안의 경우, 이것은 네트워크 주소, 멀티캐스트 주소 또는 포트 번호일 수 있다.상기 인용된 참조에 있어서, 애플리케이션 태그는 객체 식별자, 클라이언트 식별자, 그룹 식별자 또는 스트림 객체 키이다. 애플리케이션 태그는 통신망에서 애플리케이션의 필요한 대역폭을 될 수 있는 한 적게 유지하기 위해 가능한 짧지만, 상기 애플리케이션 태그의 길이는 애플리케이션의 유형 및 동시에 애플리케이션의 허용된 유저의 수 등에 의존한다.
시스템은 애플리케이션 데이터 유닛 각각에 의해 운반되는 애플리케이션 태그에 의존하여 애플리케이션 데이터 유닛을 라우팅하기 위한 개별적인 라우터를 포함하는 것이 바람직하다.
시스템은, 애플리케이션 세션을 설정하며 유저가 등록되는 적어도 하나의 제 4서버 유닛과, 애플리케이션 세션을 제어하고 관리하며 애플리케이션 세션 데이터 및/또는 애플리케이션 데이터 유닛에 대한 저장 수단을 예약하는 적어도 하나의 제 5서버 유닛을 포함하는 것이 적합하다.
유저 단말기는 적어도 하나의 애플리케이션 클라이언트를 각각 처리하는 수단을 포함하는 것이 유리한데, 이 경우 적어도 하나의 애플리케이션 클라이언트는 태그된 애플리케이션 데이터 유닛을 예약하고, 수신하고 처리하며, 태그된 애플리케이션 데이터 유닛을 송신하는 수단을 포함한다. 이 결과, 각 시점에서 유저 각각은, 예컨대 최소의 통신 대역폭을 사용하여 가상 환경의 현재 뷰(view)를 디스플레이하는데 필요한 애플리케이션 데이터만을 수신할 수 있게 된다.
각각의 유저 단말기는 유저로부터 입력 엔트리를 수신하는 수단과, 출력 애플리케이션 데이터를 그래픽, 영상, 음성 또는 감각(haptic) 출력으로서 디스플레이하는 수단을 포함하는 것이 적합하다. 이 결과, 시스템은 애플리케이션 세션의 참여자에게 상이한 출력을 가진 다수의 상이한 유형의 멀티-유저 애플리케이션에 사용될 수 있다.
본 발명은 또한 통신망내에 분산된 멀티-유저 애플리케이션용 서버 유닛에 관한 것으로서, 상기 서버 유닛은,
애플리케이션 세션동안 애플리케이션 아이템에 대해 애플리케이션 세션에서만 사용되는 애플리케이션 이름을 저장하고, 통신망에서 애플리케이션 데이터를 송신하기 위해 애플리케이션 데이터 유닛에 적합한 태그 값을 저장하는 적어도 하나의 저장 수단, 및
적어도 하나의 애플리케이션 이름을 적어도 하나의 태그 값으로 맵핑하는 맵핑 수단을 포함한다.
서버 유닛의 제 1실시예에 있어서, 맵핑 수단은 하나의 애플리케이션 이름을 하나의 태그 값에 맵핑한다.
서버 유닛의 제 2실시예에 있어서, 맵핑 수단은 2개 이상의 애플리케이션 이름을 하나의 태그 값에 맵핑한다.
서버 유닛의 제 3실시예에 있어서, 맵핑 수단은 하나의 애플리케이션 이름을 두 개 이상의 태그 값에 맵핑한다.
애플리케이션 아이템이 인간 유저 또는 인공 지능용 아바타이며, 애플리케이션 세션은 멀티-유저 컴퓨터 게임의 게임 세션인 것이 적합하다. 선택적으로, 애플리케이션 세션은 유저 및 가능 AI를 표현하는 아바타를 이용한 멀티파트(multi-part) 영상 회의이다.
서버 유닛은 저장 수단에 저장되어 있으며 태그 값과 애플리케이션 이름을 포함하는 적어도 하나의 데이터베이스를 포함하는 것이 바람직하다. 데이터베이스는 상세한 설명과 청구범위에서, 맵핑 수단으로 하여금 원하는 데이터 부분을 선택할 수 있게 하는 방식으로 구성된 정보의 수집으로 정의된다.
맵핑 수단은 애플리케이션 세션에 대한 데이터베이스 관리 시스템인 것이 유리하다.
적어도 하나의 저장 수단은 적어도 하나의 애플리케이션 이름의 소유자에 대한 적어도 하나의 소유자 이름을 저장하도록 적응되며, 맵핑 수단은 적어도 하나의 소유자 이름을 적어도 하나의 태그 값으로 맵핑하도록 적응되는 것이 적합하다.
더욱이, 본 발명은 또한, 통신망내에 분산된 적어도 하나의 멀티-유저 애플리케이션에 대해 태그 값으로 애플리케이션 이름을 맵핑하기 위한 서버에 대한 방법에 관한 것으로서, 여기서 상기 태그 값은 애플리케이션 데이터를 송신하기 위해 통신망에서 애플리케이션 데이터 유닛을 어드레싱하고 라우팅하는데 사용된다. 상기 방법은:
애플리케이션 세션동안 적어도 하나의 저장 수단에 태그 값을 저장하는 단계,
애플리케이션 세션 동안 애플리케이션 아이템에 사용되도록 예정된 적어도 하나의 애플리케이션 이름을 수신하는 단계,
적어도 하나의 애플리케이션 이름을 적어도 하나의 태그 값으로 맵핑하는 단계,
적어도 하나의 애플리케이션 이름을 적어도 하나의 저장 수단에 저장하는 단계,
적어도 하나의 태그 값을 통신망내의 적어도 하나의 수신 노드로 송신하는 단계를 포함한다.
상기 방법은 또한, 적어도 하나의 유저가 적어도 하나의 애플리케이션 이름을 알고 있을 때 적어도 하나의 애플리케이션 이름을 적어도 하나의 태그 값으로 맵핑하는 것에 대한 적어도 한 유저로부터의 질의, 또는 적어도 한 유저가 적어도 하나의 태그 값을 알고 있을 때 적어도 하나의 태그 값을 적어도 하나의 애플리케이션 이름으로 맵핑하는 것에 대한 적어도 한 유저로부터의 질의에 응답하는 단계를 포함하는 것이 유리하다.
각각의 태그 값을 저장하는 것은 적어도 하나의 저장 수단에 포함된 적어도 하나의 데이터베이스내의 개별적인 레코드내에 하는 것이 바람직하다.
적어도 하나의 애플리케이션 이름을 저장하는 것은 적어도 하나의 애플리케이션 이름이 맵핑되는 적어도 하나의 태그 값과 동일한 레코드내의 필드에서 이루어지는 것이 적합하다.
적어도 하나의 애플리케이션 이름은 애플리케이션 세션에 참여할 수 있는 애플리케이션 클라이언트로부터 수신되는 것이 유리하다. 애플리케이션 클라이언트는 특정 기술에서 정의된다.
또한, 상기 방법은,
적어도 하나의 애플리케이션 이름의 소유자에 대한 소유자 이름을 수신하는 단계,
소유자 이름을 적어도 하나의 태그 값으로 맵핑하는 단계, 및
소유자 이름을 적어도 하나의 저장 수단에 저장하는 단계를 포함할 수 있다.
상기 방법은, 적어도 하나의 유저가 소유자 이름을 알고 있을 때 소유자 이름을 적어도 하나의 태그 값으로 맵핑하는 것에 대한 적어도 한 유저로부터의 질의, 또는 적어도 하나의 유저가 적어도 하나의 태그 값을 알고 있을 때 적어도 하나의 태그 값을 소유자 이름으로 맵핑하는 것에 대한 적어도 한 유저로부터의 질의에 응답하는 단계를 포함하는 것이 적합하다.
더욱이, 본 발명은 통신망내에 분산된 멀티-유저 애플리케이션용 컴퓨터 프로그램에 관한 것으로서, 이것은,
서버 유닛으로 하여금 애플리케이션 세션 동안 애플리케이션 아이템에 사용되도록 예정된 적어도 하나의 애플리케이션 이름을 수신하도록 하는 컴퓨터 판독가능 코드 수단,
서버 유닛으로 하여금, 서버 유닛내의 적어도 하나의 저장 수단에 저장되어 있으며 통신망에서 애플리케이션 데이터를 송신하기 위한 애플리케이션 데이터 유닛에 적합한 복수의 태그 값 중 적어도 하나로 적어도 하나의 애플리케이션 이름을 맵핑하도록 하는 컴퓨터 판독가능 코드 수단, 및
서버 유닛으로 하여금 적어도 하나의 저장 수단에 적어도 하나의 애플리케이션 이름을 저장하도록 하는 컴퓨터 판독가능 코드 수단을 포함한다.
컴퓨터 프로그램은,
서버 유닛으로 하여금 적어도 하나의 태그 값을 통신망내의 적어도 하나의 수신 노드로 송신하도록 하는 컴퓨터 판독가능 코드 수단, 및
서버 유닛으로 하여금 적어도 하나의 저장 수단에 포함된 적어도 하나의 데이터베이스에 적어도 하나의 애플리케이션 이름을 저장하도록하는 컴퓨터 판독가능 코드 수단을 포함하는 것이 바람직하다.
컴퓨터 프로그램은, 서버 유닛으로 하여금 적어도 하나의 데이터베이스의 적어도 한 레코드내의 적어도 하나의 필드에 적어도 하나의 애플리케이션 이름을 저장하도록 하는 컴퓨터 판독가능 코드 수단을 포함하는 것이 적합한데, 여기서 상기 적어도 하나의 레코드는 적어도 하나의 애플리케이션 이름이 맵핑되는 적어도 하나의 태그 값에 대한 필드를 포함한다.
컴퓨터 프로그램은,
서버 유닛으로 하여금, 적어도 한 유저가 적어도 하나의 애플리케이션 이름을 알고 있을 때, 적어도 하나의 애플리케이션 이름을 적어도 하나의 태그 값으로 맵핑하는 것에 대한 적어도 한 유저로부터의 질의에 응답하도록 하는 컴퓨터 판독가능 코드 수단, 및
서버 유닛으로 하여금, 적어도 한 유저가 적어도 하나의 태그 값을 알고 있을 때, 적어도 하나의 태그 값을 적어도 한 애플리케이션 이름으로 맵핑하는 것에 대한 적어도 한 유저로부터의 질의에 응답하도록 하는 컴퓨터 판독가능 코드 수단을 포함하는 것이 바람직하다.
컴퓨터 프로그램은,
서버 유닛으로 하여금 적어도 한 애플리케이션 이름의 소유자에 대한 소유자 이름을 수신하도록 하는 컴퓨터 판독가능 코드 수단,
서버 유닛으로 하여금 소유자 이름을 적어도 하나의 태그 값으로 맵핑하도록 하는 컴퓨터 판독가능 코드 수단, 및
서버 유닛으로 하여금 소유자 이름을 적어도 하나의 저장 수단에 저장하도록 하는 컴퓨터 판독가능 코드 수단을 포함하는 것이 유리하다.
컴퓨터 프로그램은,
서버 유닛으로 하여금, 적어도 한 유저가 소유자 이름을 알고 있을 때 소유자 이름을 적어도 하나의 태그 값으로 맵핑하는 것에 대한 적어도 한 유저로부터의 질의에 응답하도록 하는 컴퓨터 판독가능 코드 수단, 및
서버 유닛으로 하여금, 적어도 한 유저가 적어도 하나의 태그 값을 알고 있을 때 적어도 하나의 태그 값을 소유자 이름으로 맵핑하는 것에 대한 적어도 한 유저로부터의 질의에 응답하도록 하는 컴퓨터 판독가능 코드 수단을 포함하는 것이 적합하다.
본 발명은 또한 컴퓨터 사용가능 매체 및 상기 컴퓨터 사용가능 매체상에 기록되어 있는 컴퓨터 프로그램을 포함하는 컴퓨터 프로그램 제품에 관한 것이다. 컴퓨터 프로그램 제품으로는 하드 디스크, 컴팩트 디스크, 디지털 다기능 디스크(digital versatile disc), 디스켓, 테이프, 플래쉬 메모리 등이 있다.
본 발명의 목적, 이점 및 효과는 물론 그 특징은 도면을 참조로 하여 바람직한 방법에 대한 이하의 상세한 설명과 실시예로부터 더욱 쉽게 이해될 것이다.
본 발명이 다양한 변형 및 선택적인 구성을 포함하는 한편, 본 발명의 바람직한 실시예가 도면에 도시되며 이하에 더 상세히 기술되어 있다. 그러나, 소정의 상세한 설명 및 도면이 본 발명을 개시된 특정 형태로 제한하고자 하는 것이 아님을 알아야 한다. 이와 반대로, 청구된 본 발명의 범위는 첨부된 청구범위에 명시된 본 발명의 의도와 범위내에서 이들의 상응하는 전체 범위로 모든 변형 및 선택적인 방법을 포함하도록 되어 있다.
본 출원에 도시 및 논의되는 어떤 유닛과 요소는 공동 계류중인 출원 SE-... 및 SE-...에 더 상세히 논의되어 있는데, 이들은 모든 및 임의의 목적으로 순전히 참조로서 포함된다.
본 발명의 제 1 실시예에 따라 애플리케이션 네트워크를 제공하는 인터넷과 같은 패킷형 통신망(1)이 도 1에 개략적으로 도시되어 있다. 상기 통신망(1)은 인터넷 프로토콜과 같이 범용 통신 프로토콜용의 통신 링크와 라우터를 포함한다. 본 발명에 수반되지 않는 서버와 함께 상기 링크와 라우터는 본 발명의 보다 나은 이해를 위해 도시되어 있지 않다. 네트워크 멀티-유저 환경에서 애플리케이션 세션을 지원하기 위해, 통신망에 다수의 노드가 포함된다.
제 1노드는 애플리케이션 데이터를 저장하고 수신하는 애플리케이션 서버(AS) 형태의 제 1서버 유닛(2)을 포함한다. AS는 질의, 요청 또는 예약에 따라 애플리케이션 데이터를 애플리케이션 클라이언트에 분배한다. 이러한 질의, 요청 또는 예약은 후에 설명될 애플리케이션 태그를 운반하는 애플리케이션 데이터 유닛에 대한 예약에 대하여 표현될 수 있다.
제 2노드는 애플리케이션 라우터(3)(AR)를 포함한다. AR(3)은 애플리케이션 데이터 유닛을 라우팅하고 있다. 즉, 상기 AR은 애플리케이션 데이터 유닛을 이들의 목적지로 전송하고 있다. 라우팅은 각 애플리케이션 데이터 유닛에 의해 운반되는 애플리케이션 태그에 의존한다. AR(3)은 통신망(1)으로부터 애플리케이션 데이터 유닛을 포함하는 패킷을 수신한다. 또한, AR(3)은 애플리케이션 데이터 유닛의 애플리케이션 태그를 판독하여, 애플리케이션 태그 및 부가적으로 클라이언트 예약에도 의존하는 네트워크 주소를 이용하여 통신망(1)을 통해 애플리케이션 데이터 유닛을 재송신한다.
제 3노드는 애플리케이션 컨텐트 생성 서버(application content generating server:ACGS) 형태의 제 2서버 유닛(4)을 포함한다. ACGS는 애플리케이션 세션동안 컨텐트를 생성한다. 일례로만 이용되는 일 실시예에 있어서, ACGS는 킬(kill), 충돌 및 데미지(damage)에 대한 결정을 행하는 멀티플레이어 게임에서의 게임 서버이다. 이것은 또한 아바타를 운영할 책임이 있다. 애플리케이션용 시스템에 진입하면, 다수의 아바타가 선택될 수 있다. ACGS는 또한 인간-제어되는 것으로 보이지만 AI에 의해 관리되는 아바타를 운영할 책임이 있을 수도 있다. ACGS는 애플리케이션 데이터 유닛을 수신하고 처리하며, 애플리케이션 태그를 운반하는 애플리케이션 데이터 유닛을 송신한다.
게임기(game console) 또는 개인용 컴퓨터(PC)와 같은 유저 단말기 형태의 유저 단말기(5)용 제 4노드가 애플리케이션 클라이언트(6)(AC)를 통해 통신망에 접속된다. AC(6)는 네트워크 가상 환경을 시뮬레이션하는 로컬 인스턴스이며, 이는 예컨대 윈도우/유닉스 프로세스 또는 스레드(thread)등이 가능하다. 하나의 컴퓨터 프로세스는 하나 또는 다수의 AC(6)를 운영할 수 있따. 따라서, AC(6)는 게임 또는 시뮬레이션의 논리 인스턴스이며, 임의의 특정 컴퓨터 프로세스, 스레드, 프로그램 또는 기계와 항상 동일한 것은 아니다. 예컨대, AC(6)를 운영하고 있는 컴퓨터 또는 게임기는 유저로부터 입력을 수신하는 수단을 구비하며, 감각, 즉 촉각; 그래픽; 영상 또는 음성 출력으로서 애플리케이션의 출력을 디스플레이하고 있다. AC(6)는 태그된 애플리케이션 데이터 유닛을 예약하고, 수신하고 처리하며, 태그된 애플리케이션 데이터 유닛을 송신할 수 있다.클라이언트 기계, 즉 유저 단말기내에 포함된 네트워크 인터페이스 소프트웨어는, 애플리케이션 이름과 애플리케이션 태그 간을 변환하는 컴퓨터 판독가능 코드 수단을 구비하며, 상응하는 태그 값을 다른 ACs(6), AS, AR, ACGS 및 이하에 기재된 다른 서버로 송신한다. 또한, 네트워크인터페이스 소프트웨어는, 유저 단말기(5)로 하여금 필요한 경우 제 3서버 유닛(7)(이하에 기술됨)과 통신할 수 있도록 하며, 애플리케이션 태그를 운반하는 애플리케이션 데이터 유닛을 포함하는 패킷을 통신망(1)을 통해 송신하는 컴퓨터 판독가능 코드 수단을 구비한다.
제 5노드는 통신망에 접속된 애플리케이션 세션 이름 서버(application session name server:ASNS) 형태의 제 3서버 유닛(7)을 포함한다. ASNS는 애플리케이션 이름을 애플리케이션 태그에 맵핑하는데, 즉 애플리케이션 이름을 애플리케이션 태그와 관련시키고 그 역도 성립하며, 이름 설정, 이름 제거 및 이름에 대한 문의와 같은 동작에 응답한다. 이것은 이하에서 더 상세히 설명될 것이다. 애플리케이션 데이터베이스 및 처리 자원용 메모리는 세션 프로파일에 따른 애플리케이션 세션 및 클라이언트 프로파일에 따른 AC(6)에 예약된다. 클라이언트 프로파일은 애플리케이션 네트워크 파라미터 세트로 구성되며, 클라이언트 그룹이 애플리케이션 세션에 참여하기 전에 프로그램가능 애플리케이션 네트워크와 유저 단말기를 초기화하고 준비하는데 사용된다. 그러나, 클라이언트 프로파일은 본 발명 부분이 아니며, 공동 계류중인 특허 출원 SE-...에 더 상세히 기재되어 있다. 세션 프로파일은 애플리케이션 세션에 유효한 애플리케이션 네트워크 파라미터 세트로 구성되며, 애플리케이션 세션이 시작되기 전에 프로그램가능 애플리케이션 네트워크를 초기화하고 준비하는데 사용된다. 세션 프로파일은 본 발명 부분이 아니며, 공동 계류중인 특허 출원 SE-...에 더 상세히 기재되어 있다. ASNS는 다수의 상이한 애플리케이션이 지원될 수 있도록 일반적인 인터페이스(generic interface)를 사용한다. 따라서, ASNS 수단을 사용한다는 것은 일반적인 부품을 포함하는 시스템이 구축되는 것이 바람직하다는 것을 의미하며, 이것은 당연히 상이한 애플리케이션에 대해 개별적인 시스템을 구축하는 것보다 경제적이다. 애플리케이션은 통신 프로토콜과 관계없이 임의의 이름 포맷을 사용할 수 있다. 이로써, 새로운 애플리케이션을 개발하는 것이, 특히 기존의 애플리케이션을 새로운 통신 서비스에 이용하는 것이 더 수월해진다. 애플리케이션 통신 프로토콜은 레가시(legacy) 태그 포맷을 사용할 수 있어, 여전히 신세대 애플리케이션에도 유용할 수 있다.
제 6노드는 애플리케이션 세션을 설정하는 애플리케이션 로비 서버(application lobby server:ALS) 형태의 제 4서버 유닛(8)을 포함한다. 참여자는 ALS에 등록하여 애플리케이션 세션을 시작할 것을 협정한다. 서비스 제공자는 ALS를 사용하여 참여자를 인증하고 어카운팅을 처리할 수 있다. ALS는 애플리케이션 세션의 유형에 따라 선택사양(optional)이다.
제 7노드는 선택적 애플리케이션 네트워크 관리 시스템(optional application network management system:ANMS) 형태의 제 5서버 유닛(9)을 포함한다. ANMS는 ALS에서 협정되었을 수 있는 애플리케이션 세션을 제어하고 관리하는데 사용된다. ANMS는 또한, 선택사양으로서 통신망에서 및 AS, AR, ACGS와 ASNS 노드에서 자원을 예약하는데 사용된다. 더욱이, ANMS는 오류 상태를 처리하는데 사용될 수도 있다. ANMS는 통신망(1)의 적어도 일부인 프로그램가능한 애플리케이션 네트워크를 형성하는데 세션 프로파일과 클라이언트 프로파일을 사용하고 있다.
본 발명에 대한 이해를 용이하게 하기 위해 상기 기재된 서버(2, 4, 7, 8,9) 중 하나를 가진 노드의 일례가 도 1에 도시되어 있지만, 노드에 상기 서버 중 두 개 이상이 존재할 수도 있다. 또한, 보다 나은 응답 시간을 제공하고, 하드웨어 또는 소프트웨어의 장애로 인해 노드 중 하나가 작동을 중단할 경우 백업(back-up)하기 위해, 통신망(1)에 상기 기재된 각 서버(2, 4, 7, 8, 9)가 다수 존재할 수도 있다.
통신망(1)은 보편적으로 다수의 패킷형 통신 프로토콜, 예컨대 TCP/IP 및 UDP/IP와 같은 IP 프로토콜을 사용하고 있다. 통신망(1)은 송신자(sender)로부터 수신자(receiver)로 패킷(10)(이 중 하나가 도 2에 도시되어 있음)을 운반한다. 패킷(10)은 보편적으로 헤더(11)와 페이로드(12)를 포함한다. 헤더(11)는 통신망(1)내의 라우터에 의해 수신자로 패킷(10)을 송신하는데 사용되는 하나 또는 다수의 네트워크 주소를 포함할 수 있다. 프로토콜은 한 프로토콜 층의 페이로드가 다음 프로토콜 층의 하나 또는 다수의 패킷을 포함할 수 있도록 계층화된다. 애플리케이션 데이터 유닛(13)은 패킷(10)과 같은 네트워크 프로토콜 패킷에서 페이로드로서 운반된다.
선택적으로, 애플리케이션은 자신의 통신 프로토콜을 포함한다. 애플리케이션 데이터 유닛은 헤더(15)와 페이로드(14)로 구성된다. 헤더는 하나 또는 다수의 애플리케이션 태그를 포함한다. 페이로드(14)는 위치, 아바타 특성, 코딩된 음성 데이터 등과 같은 애플리케이션 고유 데이터로 구성된다.
이제, 도 3을 참조하여 ASNS를 포함하는 노드의 일례가 설명된다. 중앙 처리 장치(CPU)가 통신 포트(17) 및 제 1버스(18)를 통해 통신망(1)에 접속된다.CPU(16)는 또한 제 2버스(20)를 통해 제 1판독 전용 메모리(ROM)(19)로서 구현된 저장 수단에 접속된다. 여기서, ASNS는 두 개의 애플리케이션 세션을 지원하지만, 단 하나 또는 두 개 보다 많은 애플리케이션 세션을 지원할 수 있다. 각 애플리케이션 세션은 본원에서 애플리케이션 세션 데이터베이스(ASDB)(21)라 하는 각자의 데이터베이스를 갖는데, 이것은 하드 디스크로 구현된 제 2저장 수단에 저장된다. 따라서, CPU(16)는 또한 제 3 및 제 4버스(23, 24)를 통해 두 개의 ASBD(21)에 각각 접속되는데, 이것은 각 ASDB(21)가 상이한 하드 디스크에 저장된다는 것을 나타낸다. ASDB(21) 각각은 소프트웨어 형태의 세션 식별 수단, 및 본원에서 애플리케이션 태그 데이터베이스(ATDB)(24)라 하는 두 개의 서브-데이터베이스를 포함한다. 각 ASDB(21)에 대해 단 두 개의 ATDB(24)가 도시되어 있지만, ASDB(24) 각각이 단 하나 또는 두 개 보다 많은 ATDB(24)를 포함할 수도 있다는 것을 알아야 한다. 각 ATDB(24)는 소정의 한 유형의 애플리케이션 태그를 처리하고 있다. 한 ATDB(24)의 테이블내의 레코드가 도 4에 도시되어 있으며, 이것은 다음과 같은 필드를 포함한다:
·태그 값 필드(25). 이것은 상응하는 애플리케이션 태그 필드의 유효 값을 표현하거나 인코딩하는 비트 세트이다.
·애플리케이션 이름 필드(26). 여기에는, 예컨대 애플리케이션이 유효 애플리케이션 이름으로서 해석될 수 있는 바이트 열로서 임의의 애플리케이션 이름이 저장된다. 애플리케이션 이름 필드(26)의 길이는 최대 길이로 설정될 수 있는데, 이 경우 상기 최대 길이보다 더 긴 길이의 입력된 애플리케이션 이름은 무효 애플리케이션 이름으로 간주됨으로써 상기 애플리케이션 이름을 설정하고자 시도할 때 거부된다. 제 1대안은 애플리케이션 이름과 더불어 애플리케이션 이름 필드(26)의 길이에 대한 값을 저장하는 것이다. 이와 같이 함으로써, 클라이언트 유저가 임의의 길이의 애플리케이션 이름을 선택할 수 있다. 제 2대안은 애플리케이션 이름의 끝을 규정된 심볼로 표시하는 것인데, 이는 애플리케이션 이름내의 문자는 허용되지 않는다. 제 3대안은 길이가 각 세션에 대한 초기화 파라미터인 것인데, 이 경우 애플리케이션 이름의 허용된 최대 크기는 예컨대 승인된 클라이언트 또는 애플리케이션 서비스 제공자에 의해 설정된 초기화 파라미터이다.
·레코드 소유자 필드(27). 소유자는 레코드의 선택된 필드내의 컨텐트를 생성한 소정의 유저, 클라이언트 애플리케이션, 애플리케이션 이름 또는 애플리케이션 어카운트를 참조한다. 레코드 소유자 필드는 선택사양이다.
·시간 참조 필드(28). 이것은 레코드가 예컨대 생성 또는 변형된 시간을 설명한다. 시간 참조 필드(28)내의 값은 글로벌 시간 또는 세션 관련 시간에 상응할 수 있다. 이 필드는 선택사양이다.
·레코드가 ATDB(24)내에 얼마나 오래 저장되는가를 설명하는 타임아웃 필드(29). 상기 타임아웃 필드는 어떤 애플리케이션에서 애플리케이션 세션에 참여하는 시간을 나타낼 수 있다. 이 필드 역시 선택사양이다.
상이한 애플리케이션에 적합한 그 밖의 선택적인 필드가 ATDB(21)에 포함될 수 있다.
상기 실시예에 있어서, ROM(19)은, 여기서 데이터베이스 관리 시스템(DBMS),즉 ATDB(24) 및 ASDB(21)내의 데이터의 구성, 저장, 검색 및 선택사양으로 보안과 무결성(integrity)을 제어하는 컴퓨터 프로그램인 매핑 수단(30)에 포함된 코드를 운반한다. ROM(19)상에 또한 설치되는 네트워크 운영 시스템(NOS)(31)과 DBMS(30)를 통해, ATDB(24)는 애플리케이션으로부터 요청을 수용하여, 적절한 애플리케이션 데이터를 전송하도록 NOS(31)에 명령한다. DBMS(30)가 ROM(19)내에 도시되어 있지만, DBMS(30)는 당연히 ASDB(21)를 포함하는 하드 디스크 중 하나에 저장될 수도 있다.
상기 기재된 필드 및 맵핑 수단은 적어도 다음과 같은 동작을 지원할 수 있게 한다: 소정의 태그 값에 대해 애플리케이션 이름 설정, 소정의 애플리케이션 이름에 대해 태그 값 설정, 소정의 태그 값과 관련된 애플리케이션 이름에 대한 질의의 결과를 소정의 수신자에게 송신, 소정의 애플리케이션 이름과 관련된 태그 값에 대한 질의의 결과를 소정의 수신자에게 송신, 및 필드 또는 레코드의 무효화.
ATDB(24)는 또한 다음과 같은 선택적인 동작을 지원한다: 소정의 태그 값의 소유자를 설정; 소정의 애플리케이션 이름의 소유자를 설정; 소정의 애플리케이션 이름의 소유자를 입수(get); 소정의 태그 값의 소유자를 입수; 소정의 소유자에 속하는 레코드를 발견; 소정의 소유자에 속하는 모든 레코드를 제거; 소유자가 없는 태그 값을 발견; 애플리케이션 이름과 소유자를 설정하고 태그 값을 송신자에게 반환(return); 소정의 레코드의 타임아웃 필드를 설정; 소정의 레코드의 시간 기준 필드를 설정; 및 임의의 선택적인 레코드를 갱신.
이제, 상기 개시된 15개의 동작 중 두 개가 더 상세히 설명된다. 이들 두 동작에 대한 설명 및 다음의 텍스트로부터, 상기 언급된 나머지 동작이 당업자에게는 명백하다.
도 5는 소정의 태그 값과 관련된 애플리케이션 이름에 대한 질의의 결과를 수신자에게 송신하는 동작을 도시하는 것이다. 클라이언트는 새로운 애플리케이션 태그를 가진 애플리케이션 데이터 유닛(13)을 AC(6)를 통해 수신하였으며, 상기 새로운 애플리케이션 태그에 속하는 애플리케이션 이름을 원한다. 단계 S100에서, AC(6)는 새로운 애플리케이션 태그용 애플리케이션 이름에 대한 질의를 ASNS에 송신한다. 단계 S101에서, ASNS가 상기 질의를 수신한다. 이제, ASNS는 새로운 애플리케이션 태그에 상응하는 태그 값 필드(25)내의 태그 값을 검색한다. 이것은 단계 S102에서, ATDB(24)를 검색함으로써 수행된다. 태그 값이 발견되면, 동일한 레코드내의 애플리케이션 이름이 복사되어, 단계 S103에서 상기 질의를 송신한 AC(6)로 다시 송신된다. 상기 이름을 수신하는 AC(6)는 유저 단말기(5)에 상기 애플리케이션 이름을 디스플레이할 수 있다.
이제, 소유자가 없는 태그 값을 발견하고, 애플리케이션 이름과 소유자를 설정하여 태그 값을 송신자에게 반환하는 동작의 예가 도 6과 관련하여 설명된다. 단계 S200에서, AC(6)는 소유자가 없는 애플리케이션 태그에 대한 요청을 송신한다. 상기 요청은 애플리케이션 이름과 소유자 식별자를 포함한다. 단계 S201에서, ASNS가 상기 요청을 수신하여, 유저 단말기(5)의 네트워크 주소를 등록한다. 그 다음, 단계 S202에서, ASNS는 ATDB(24)내의 레코드 소유자 필드(27)에서 비어있는(empty) 레코드 소유자 필드를 검색한다. 발견된 비어있는 제 1레코드 소유자 필드(27)의레코드는 상응하는 태그 값 필드(25)내의 태그 값을 얻는데 사용된다. 이것은 단계 S203에서 수행된다. 단계 S204에서, ASNS는 질의로부터 애플리케이션 이름과 소유자 식별자를 검색한다. 애플리케이션 이름과 소유자는 각각 애플리케이션 이름 필드(26)와 레코드 소유자 필드(27)에 저장된다. 단계 S205에서, ASNS가 이용가능한 태그 값을 상기 요청한 AC(6)에 송신한다. 이용가능한 태그 값이 없다면, ASNS는 예컨대 애플리케이션 세션이 더 이상의 참여자를 허용하지 않는다는 등의 메시지를 AC(6)에 송신한다. 상기 동작이 성공적이라면, 소유자가 상기 태그 값을 점유하고, 단계 S206에서 ASNS가 또한 다른 애플리케이션에 사용되는 다른 AC 및 서버에 태그 값을 송신한다.
어떤 애플리케이션에서는, DBMS(30)에 의해 단 하나의 애플리케이션 이름이 자유(free) 태그 값으로 맵핑될 수 있다. 'Black_King'과 같은 원하는 애플리케이션 이름은, 애플리케이션 이름 필드(27)가 '비어있는' 레코드의 애플리케이션 이름 필드(27)에 애플리케이션 이름을 저장함으로써 ATDB(24)에 자유 태그 값으로 맵핑될 수 있다. 이것은 예컨대 다음과 같이 구조화 조회 언어(Structured Query Language:SQL) 코드를 사용함으로써 수행된다:
INSERT INTO TableName (ApplicationName) VALUES ("BLACK-KING") WHERE TagValue = (SELECT TagValue FROM TableName where ApplicationName = "")
ASNS는 선택적으로, 각 태그 값이 각 애플리케이션 태그 유형에 대해 단 하나의 애플리케이션 이름에 접속되도록 한다. 이것을 어기는 동작이 시도된다면, 오류가 예컨대 AC(6)로 보고된다. 대안으로서, ASNS는 소정의 태그 값에 대해 다수의애플리케이션 이름을 허용할 수도 있다. 이와 같이 이루어지면, 클라이언트는 애플리케이션 이름에 별명(aliases)을 할당할 수 있다.
두 개의 원하는 애플리케이션 이름을 자유 태그 값으로 맵핑하기 위한 SQL 코드의 예는 다음과 같다:
INSERT INTO TableName (ApplicationName1) VALUES ("Black_King") WHERE TagValue = (SELECT TagValue FROM TableName where ApplicationName = "")
INSERT INTO TableName(ApplicationName2) VALUES ("The_King") WHERE ApplicationName1 = "Black_King"
제 2대안에 있어서, ASNS는 하나의 애플리케이션 이름에 다수의 애플리케이션 태그가 할당되는 것을 허용한다. 이와 같이 이루어지면, 애플리케이션 이름은 네트워크 자원, 예컨대 통신망(1)에서의 이용가능한 유저 단말기(5) 클러스터(cluster)에 접속된다.
선택적으로, 각 이름은 각각의 애플리케이션 태그 유형에 대해 최대 한번씩 사용될 수 있다. 이것을 어기는 동작이 시도될 경우, 오류가 보고된다.
본 발명의 일 실시예에 있어서, ASNS에 대한 동작을 수행하기 위한 인증이 제어된다. 상이한 클라이언트는 각기 다른 권한을 가지며, 특히 애플리케이션 이름의 소유자는 애플리케이션 이름을 변경하거나 무효화시키는 권리를 부여받는 유일한 것으로 설정될 수 있다.
도 1에서와 같이, 세션내에 단 하나의 ASNS가 수반될 수 있다. 이것이 가진 이점은 갱신하기 위한 수단이 필요하지 않다는 것이다. 대안으로서, 세션내에 다수의 ASNS가 존재할 수 있으며, 이것은 상이한 ASNS 간에 갱신하도록 하는 수단과 방법을 필요로 한다. 분산된 데이터베이스가 갱신되도록 유지하는 일반적인 방법이 사용될 수 있어, 이것은 본 발명에 속하지 않는다. 그러므로, 상기 갱신 방법을 더 이상 설명하지 않는다.
선택적으로, ASNS가 다수의 장소상에 분할될 수 있는데, 이러한 경우 ATDB(24)의 상이한 부분이 각기 다른 서버 유닛 또는 노드내에 위치하게 된다.
또한, 간단한 방법은 애플리케이션 이름이 설정되는 것을 허용하긴 하지만 애플리케이션 이름이 변경되는 것은 허용하지 않는 것이다. 이는, 임의의 설정된 애플리케이션 이름이 ATDB(24)의 모든 인스턴스로 신뢰성있게 전달되어야 한다는 것을 의미한다.
이제, 본 발명의 이점 및 선택사항을 더욱 잘 이해하기 위해 ASNS를 사용할 수 있는 애플리케이션 세션의 예가 설명될 것이다.
제 1애플리케이션 세션의 예는 플레이어 별명을 사용하는 것과 관련된다. 소위 실시간 액션 게임과 같은 멀티플레이어 게임은 플레이어가 애플리케이션 세션동안 게임에 참여하고 게임을 그만하는 것을 허용한다. 각 플레이어는 "Hellfire" 또는 "Evil_Reaper" 와 같은 별명을 갖는다. 플레이어를 표현하는 아바타는 플레이어의 별명으로 표시되며, 별명은 또한 스코어 및 킬의 리스트에 사용된다. 각 별명은 다수의 바이트로 코딩되는 문자열이다. "Hellfire" 및 "Evil_Reaper"는 예컨대 각각 9 바이트 및 12 바이트를 필요로 한다.
애플리케이션 데이터 유닛은 각 아바타의 위치, 군사, 데미지 등을 운반하는사용자 데이터그램 프로토콜(User Datagram Protocol:UDP) 패킷이다. 각 애플리케이션 데이터 유닛(13)은 관련 플레이어를 식별하는 애플리케이션 태그로 표시된다. 최대 256 플레이어를 수반하는 게임에서, 애플리케이션 태그는 1바이트로 형성될 수 있다. 각 플레이어는 고유의 8비트의 조합으로 표현된다.
ASNS는 플레이어 별명을 태그 값에 접속하는데 사용된다. 세션에 참여하는 플레이어는 도 6과 관련하여 상기 기재된 '소유자가 없는 애플리케이션 태그를 발견하고 이름과 소유자를 설정하여 태그 값을 송신자에게 반환'하는 동작을 이용하여 게임 서버 또는 ASNS로부터 사용되지 않은 태그 값을 얻는다. 플레이어는 태그 값에 접속되는 자신의 별명에 상응하는 이름을 설정한다. 그 후, 플레이어는 자신의 아바타의 특성을 다른 플레이어들에게 그들의 AC(6) 및 유저 단말기(5)를 통해 송신한다.
새로운 애플리케이션 태그를 가진 애플리케이션 데이터 유닛(13)을 수신하는 임의의 다른 유저 단말기(5)는 도 5와 관련하여 상기 기재된 '소정의 태그 값과 관련된 애플리케이션 이름에 대한 질의의 결과를 소정의 수신자에게 송신'하는 동작을 사용하여 애플리케이션 태그에 속하는 이름에 대해 ASNS에 질의하게 된다. 그러면, 새로운 아바타가 애플리케이션에 의해 디스플레이될 수 있다. 다른 클라이언트가 또한 애플리케이션 데이터에서 새로운 별명을 발견할 수 있다. 다음으로, 상기 다른 클라이언트는 ASNS를 통해 별명에 상응하는 태그 값을 발견하고 상기 태그 값에 상응하는 통신 채널을 예약할 수 있다.
게임을 빠져나가는 클라이언트는 별명에 상응하는 ASNS 레코드를 무효화함으로써 태그 값을 해제할 수 있다. 상응하는 레코드내에 타임아웃 필드(29)를 포함하는 타임아웃 메커니즘은, 빠져나가는 클라이언트가 레코드를 무효화하는 것에 실패하는 경우라 하더라도 태그 값을 해제하는데 사용될 수 있다. 시간 기준 필드(28)는 예컨대 서비스 제공자에 대한 어카운팅 시스템에 의해 사용될 수 있다.
ASNS로부터 이득을 얻는 제 2애플리케이션 세션의 예는 동등 계층 비행 시뮬레이션 게임이다. 여기서, 유저 단말기(6) 중 하나가 비행 조종(flight control) AI를 운영하고 있다. 비행 조종 명령 및 정보는 태그된 통신 채널을 통해 분배된다. 비행 조종 기능의 코딩에 속하는 애플리케이션 태그는 비행 조종 AI를 현재 운영하고 있는 클라이언트의 소유이다. 이 클라이언트는 예컨대 ASNS의 관련 애플리케이션 태그에 대해 이름 FLIGHT_CONTROL을 정의하였다. 예컨대, 하트 비트(heart beat)를 나타내는 애플리케이션 아이템이 태그된 채널을 사용하여 송신되어 비행 조종이 동작중임을 나타낸다. 새로운 클라이언트는 이름 FLIGHT_CONTROL을 인지하여, 상응하는 애플리케이션 태그를 ASNS에 요청한 다음 그것을 예약하게 된다.
비행 조종을 운영하는 클라이언트가 갑자기 떠난다고 가정하자. FLIGHT_CONTROL에 대한 ATDB(24)내의 레코드는, 상기 떠나는 클라이언트가 이것을 무효화할 때, 또는 ATDB(24)내의 타임아웃 필드(29)에 저장된 설정된 타임아웃이 ATDB(24)로부터 판독되기 때문에 자동으로 제거되게 된다. 클라이언트가 떠난 후, 나머지 클라이언트는 비행 조종으로부터의 하트 비트가 중단되었음을 통지한다. 상기 나머지 클라이언트 각각은 랜덤 시간(random time)을 기다린 다음, ASNS 태그 값 정의를 애플리케이션 이름 FLIGHT_CONTROL로 설정하고자 시도한다. 태그 값은임의적이며, ASNS는 그 이름이 정의되어 있지 않으므로 도달하는 제 1정의를 수용하게 된다. 애플리케이션 이름을 설정하고자 하는 차후의 어떠한 시도도 거부된다. 각 클라이언트는 일정한 시간동안 기다린 다음, 애플리케이션 이름 FLIGHT_CONTROL을 운반하는 태그 값을 ASNS에 요청하게 된다. ASNS는 애플리케이션 이름을 모든 클라이언트에 분배하고, 객체를 소유하는 클라이언트가 비행 조종 프로세스를 시작하여 비행 조종 데이터 전송을 속행한다. 상기와 동일한 기능은, 게임 매니저를 필요로하거나 선택사양으로 포함하는 애플리케이션에서 게임 매니저 역할을 하는 클라이언트를 사용하여 얻어질 수 있다.
본 발명으로부터 이득을 얻는 제 3애플리케이션 세션의 예는 개방 세계를 이용한 동등 계층 게임, 즉 상기 예에서는 공간 전략 게임(space strategy game)과 같이 개방적 지형을 가진 가상 세계를 이용한 동등 계층 컴퓨터 게임이다. 게임에 참여하는 팀은 각자의 플래닛(planet)을 도시하는 맵을 가져온다. 플래닛 및 다른 사이트는 전투에서 파괴될 수 있다. 모든 새로운 지형적인 사이트(플래닛, 도시, 빌딩, 배)는 맵의 설계자에 의해 명명되며, 플레이어보다 더 많은 사이트가 존재한다.
게임 데이터는 채널 세트를 통해 분산된다. 각 채널은 고유의 애플리케이션 태그에 의해 표시된다. 각 애플리케이션 태그는 게임 세계에서 특정 사이트에 상응한다. 소정의 사이트에 위치해있는 아바타를 제어하는 클라이언트는 상응하는 애플리케이션 태그를, 예컨대 그들의 위치를 나타나는 데이터 유닛에 부가한다. 클라이언트는 또한 동일한 애플리케이션 태그를 가진 데이터를 예약한다. 이것은 이들이사이트에서 모든 아바타에 대한 데이터를 선택적으로 수신한다는 것을 의미한다.
제한된 수의 이용가능한 애플리케이션 태그가 존재하며, 애플리케이션 태그의 수가 게임에서의 지형적인 장소 또는 애플리케이션 이름의 수보다 훨씬 더 작다. ASNS는 한정된 수의 애플리케이션 태그를 지형적인 사이트에 동적으로 할당하는데 사용된다. 예컨대 LABAN이라 불리는 비어있는 플래닛에 도달하는 제 1플레이어는 LABAN에 상응하는 태그 값을 ASNS에 요청한다. 플래닛이 제약받지 않으므로, 플레이어는 사용되지 않은 애플리케이션 태그를 선택하여 애플리케이션 이름을 설정한다. LABAN에 도착하는 그 다음 플레이어는 정의된 애플리케이션 이름을 발견하게 되며, 애플리케이션 태그를 가진 애플리케이션 데이터를 예약할 수 있다. LABAN을 떠나는 마지막 플레이어는 애플리케이션 태그를 해제해야한다는 것을 상기 제 1플레이어에게 통지한다. 그 후, 애플리케이션 태그를 포함하는 패킷내에 전송된 애플리케이션 데이터에 대한 모든 예약이 자동으로 취소되게 된다.

Claims (31)

  1. 통신망(1)내에 분산된 하나 이상의 멀티-유저 애플리케이션에 대해 애플리케이션 이름을 태그 값에 맵핑하기 위한 서버(7)에 대한 방법으로서, 상기 태그 값은 통신망(1)에서 애플리케이션 데이터 유닛(13)을 어드레싱하고 라우팅하여 애플리케이션 데이터를 송신하는데 사용되도록 되어 있는, 애플리케이션 이름을 태그 값에 맵핑하기 위한 서버(7)에 대한 방법에 있어서,
    애플리케이션 세션동안 하나 이상의 저장 수단에 태그 값을 저장하는 단계,
    애플리케이션 세션 동안 애플리케이션 아이템에 사용되도록 예정된 하나 이상의 애플리케이션 이름을 수신하는 단계,
    하나 이상의 애플리케이션 이름을 하나 이상의 태그 값으로 맵핑하는 단계,
    하나 이상의 애플리케이션 이름을 하나 이상의 저장 수단에 저장하는 단계,
    하나 이상의 태그 값을 통신망(1)내의 하나 이상의 수신 노드로 송신하는 단계를 포함하는 것을 특징으로 하는, 애플리케이션 이름을 태그 값에 맵핑하기 위한 서버에 대한 방법.
  2. 제 1 항에 있어서,
    상기 태그 값 각각을 하나 이상의 저장 수단에 포함되어 있는 하나 이상의 데이터베이스(24)내의 개별적인 레코드에 저장하는 단계를 포함하는 것을 특징으로 하는 애플리케이션 이름을 태그 값에 맵핑하기 위한 서버에 대한 방법.
  3. 제 2 항에 있어서,
    상기 하나 이상의 애플리케이션 이름을, 하나 이상의 애플리케이션 이름이 맵핑되는 하나 이상의 태그 값과 동일한 레코드내의 애플리케이션 이름 필드(26)에 저장하는 단계를 포함하는 것을 특징으로 하는 애플리케이션 이름을 태그 값에 맵핑하기 위한 서버에 대한 방법.
  4. 제 1 내지 제 3 항 중 어느 한 항에 있어서,
    상기 하나 이상의 애플리케이션 이름은 애플리케이션 세션에 참여할 수 있는 애플리케이션 클라이언트(6)로부터 수신되는 것을 특징으로 하는 애플리케이션 이름을 태그 값에 맵핑하기 위한 서버에 대한 방법.
  5. 상기 항 중 어느 한 항에 있어서,
    하나 이상의 유저가 하나 이상의 애플리케이션 이름을 알고 있을 때 하나 이상의 애플리케이션 이름을 하나 이상의 태그 값으로 맵핑하는 것에 대한 상기 하나 이상의 유저로부터의 질의, 또는 하나 이상의 유저가 하나 이상의 태그 값을 알고 있을 때 하나 이상의 태그 값을 하나 이상의 애플리케이션 이름으로 맵핑하는 것에 대한 상기 하나 이상의 유저로부터의 질의에 응답하는 단계를 포함하는 것을 특징으로 하는 애플리케이션 이름을 태그 값에 맵핑하기 위한 서버에 대한 방법.
  6. 상기 항 중 어느 한 항에 있어서,
    상기 하나 이상의 애플리케이션 이름의 소유자에 대한 소유자 이름을 수신하고,
    상기 소유자 이름을 하나 이상의 태그 값으로 맵핑하며,
    상기 소유자 이름을 하나 이상의 저장 수단에 저장하는 단계를 포함하는 것을 특징으로 하는 애플리케이션 이름을 태그 값에 맵핑하기 위한 서버에 대한 방법.
  7. 제 6 항에 있어서,
    하나 이상의 유저가 소유자 이름을 알고 있을 때 상기 소유자 이름을 하나 이상의 태그 값으로 맵핑하는 것에 대한 하나 이상의 유저로부터의 질의, 또는 하나 이상의 유저가 하나 이상의 태그 값을 알고 있을 때 하나 이상의 태그 값을 상기 소유자 이름으로 맵핑하는 것에 대한 하나 이상의 유저로부터의 질의에 응답하는 단계를 포함하는 것을 특징으로 하는 애플리케이션 이름을 태그 값에 맵핑하기 위한 서버에 대한 방법.
  8. 통신망(1)내에 분산된 하나 이상의 멀티-유저 애플리케이션용 시스템으로서,
    유저 단말기(5),
    애플리케이션 데이터를 저장하고 수신하며, 애플리케이션 데이터 유닛(13)을 유저 단말기(5)에 분배하는 하나 이상의 제 1서버 유닛(2),
    애플리케이션 세션 동안 컨텐트를 생성하고 상기 컨텐트의 적어도 일부를 하나 이상의 유저 단말기로 송신하는 하나 이상의 제 2서버 유닛(4)을 포함하도록 구성된, 하나 이상의 멀티-유저 애플리케이션용 시스템에 있어서,
    하나 이상의 제 3서버 유닛(7)으로서,
    애플리케이션 세션 동안 애플리케이션 아이템에 대한 애플리케이션 세션에 사용되는 애플리케이션 이름을 저장하고, 통신망(1)에서 애플리케이션 데이터를 송신하기 위한 애플리케이션 데이터 유닛(13)에 적합한 태그 값을 저장하는 하나 이상의 저장 수단, 및
    하나 이상의 태그 값을 하나 이상의 애플리케이션 이름으로 맵핑하는 맵핑 수단(30)을 구비한 하나 이상의 제 3서버 유닛(7)을 포함하는 것을 특징으로 하는 하나 이상의 멀티-유저 애플리케이션용 시스템.
  9. 제 8 항에 있어서,
    상기 애플리케이션 데이터 유닛(13) 각각에 의해 운반되는 애플리케이션 태그에 따라 애플리케이션 데이터 유닛(13)을 라우팅하는 라우터(3)를 포함하는 것을 특징으로 하는 하나 이상의 멀티-유저 애플리케이션용 시스템.
  10. 제 8 항 또는 제 9 항에 있어서,
    상기 애플리케이션 세션을 설정하며 유저가 등록되는 하나 이상의 제 4서버 유닛(8)을 포함하는 것을 특징으로 하는 하나 이상의 멀티-유저 애플리케이션용 시스템.
  11. 제 8 항 내지 제 10 항 중 어느 한 항에 있어서,
    상기 애플리케이션 세션을 제어하고 관리하며, 애플리케이션 세션 데이터 및/또는 애플리케이션 데이터 유닛에 대한 저장 수단을 예약하는 하나 이상의 제 5서버 유닛(9)을 포함하는 것을 특징으로 하는 하나 이상의 멀티-유저 애플리케이션용 시스템.
  12. 제 8 항 내지 제 11항 중 어느 한 항에 있어서,
    상기 유저 단말기는 하나 이상의 애플리케이션 클라이언트(6)를 각각 처리하는 수단을 포함하는데, 상기 하나 이상이 애플리케이션 클라이언트(6)는 가입하여, 태그된 애플리케이션 데이터 유닛(13)을 예약하고, 수신하고 처리하며, 태그된 애플리케이션 데이터 유닛(13)을 송신하는 수단을 포함하는 것을 특징으로 하는 하나 이상의 멀티-유저 애플리케이션용 시스템.
  13. 제 8 항 내지 제 12 항 중 어느 한 항에 있어서,
    상기 유저 단말기(5) 각각은 유저로부터 입력 엔트리를 수신하는 수단, 및 그래픽, 영상, 음성 또는 감각 출력과 같은 출력 애플리케이션 데이터를 디스플레이하는 수단을 포함하는 것을 특징으로 하는 하나 이상의 멀티-유저 애플리케이션용 시스템.
  14. 통신망(1)내에 분산된 멀티-유저 애플리케이션용 서버 유닛(7)에 있어서,
    애플리케이션 세션 동안 애플리케이션 아이템에 대한 애플리케이션 세션에서만 사용되는 애플리케이션 이름을 저장하고, 통신망(1)에서 애플리케이션 데이터를 송신하기 위한 애플리케이션 데이터 유닛(13)에 적합한 태그 값을 저장하는 하나 이상의 저장 수단, 및
    하나 이상의 애플리케이션 이름을 하나 이상의 태그 값으로 맵핑하는 맵핑 수단(30)을 포함하는 것을 특징으로 하는 멀티-유저 애플리케이션용 서버 유닛.
  15. 제 14 항에 있어서,
    상기 맵핑 수단(30)은 애플리케이션 이름 중 하나를 태그 값 중 하나에 맵핑하는 것을 특징으로 하는 멀티-유저 애플리케이션용 서버 유닛.
  16. 제 14 항에 있어서,
    상기 맵핑 수단(30)은 두 개 이상의 애플리케이션 이름을 하나의 태그 값으로 맵핑하는 것을 특징으로 하는 멀티-유저 애플리케이션용 서버 유닛.
  17. 제 14 항에 있어서,
    상기 맵핑 수단(30)은 하나의 애플리케이션 이름을 두 개 이상의 태그 값으로 맵핑하는 것을 특징으로 하는 멀티-유저 애플리케이션용 서버 유닛.
  18. 제 14 항 내지 제 17 항 중 어느 한 항에 있어서,
    상기 애플리케이션 아이템은, 인간 유저 또는 인공 지능용 아바타; 일부는 인공 지능으로 제어되고 일부는 인간에 의해 제어되는 아바타; 유저들간에 교환될 수 있는 게임에서의 고정된 임무; 가상 환경에서의 객체; 객체 및 아바타의 속성; 아바타의 그룹 및 팀; 객체 그룹; 그룹의 그룹; 가상 환경에서의 장소; 또는 미디어 스트림이나 미디어 스트림의 수집인 것을 특징으로 하는 멀티-유저 애플리케이션용 서버 유닛.
  19. 제 18 항에 있어서,
    상기 애플리케이션 세션은 멀티-유저 컴퓨터 게임의 게임 세션인 것을 특징으로 하는 멀티-유저 애플리케이션용 서버 유닛.
  20. 제 18 항에 있어서,
    상기 애플리케이션 세션은 멀티-파트 영상 회의인 것을 특징으로 하는 멀티-유저 애플리케이션용 서버 유닛.
  21. 제 14 항 내지 제 20 항 중 어느 한 항에 있어서,
    상기 저장 수단상에 저장되어 있으며 태그 값과 애플리케이션 이름을 포함하는 하나 이상의 데이터베이스(24)를 포함하는 것을 특징으로 하는 멀티-유저 애플리케이션용 서버 유닛.
  22. 제 14 항 내지 제 21 항 중 어느 한 항에 있어서,
    상기 맵핑 수단(30)은 애플리케이션 세션에 대한 데이터베이스 관리 시스템인 것을 특징으로 하는 멀티-유저 애플리케이션용 서버 유닛.
  23. 제 14 항 내지 제 22 항 중 어느 한 항에 있어서,
    상기 하나 이상의 저장 수단은 하나 이상의 애플리케이션 이름의 소유자에 대한 하나 이상의 소유자 이름을 저장하도록 적응되어 있으며, 상기 맵핑 수단(30)은 하나 이상이 소유자 이름을 하나 이상의 태그 값으로 맵핑하도록 적응되어 있는 것을 특징으로 하는 멀티-유저 애플리케이션용 서버 유닛.
  24. 통신망(1)내에 분산된 멀티-유저 애플리케이션용 컴퓨터 프로그램에 있어서,
    서버 유닛(7)으로 하여금, 애플리케이션 세션 동안 애플리케이션 아이템에 사용되도록 예정된 하나 이상의 애플리케이션 이름을 수신하도록 하는 컴퓨터 판독가능 코드 수단,
    서버 유닛(7)으로 하여금 하나 이상의 애플리케이션 이름을, 서버 유닛(7)내의 하나 이상의 저장 수단에 저장되어 있으며 통신망(1)에서 애플리케이션 데이터를 송신하기 위한 애플리케이션 데이터 유닛(13)에 적합한 복수의 태그 값 중 하나 이상으로 맵핑하도록 하는 컴퓨터 판독 가능 코드 수단, 및
    서버 유닛(7)으로 하여금 하나 이상의 애플리케이션 이름을 하나 이상의 저장 수단에 저장하도록 하는 컴퓨터 판독가능 코드 수단을 포함하는 것을 특징으로 하는 멀티-유저 애플리케이션용 컴퓨터 프로그램.
  25. 제 24 항에 있어서,
    상기 서버 유닛(7)으로 하여금 하나 이상의 태그 값을 통신망내의 하나 이상의 수신 노드(5)에 송신하도록 하는 컴퓨터 판독가능 코드 수단을 포함하는 것을 특징으로 하는 멀티-유저 애플리케이션용 컴퓨터 프로그램.
  26. 제 24 항 또는 제 25 항에 있어서,
    상기 서버 유닛(7)으로 하여금 하나 이상의 애플리케이션 이름을 하나 이상의 저장 수단에 포함된 하나 이상의 데이터베이스(24)에 저장하도록 하는 컴퓨터 판독가능 코드 수단을 포함하는 것을 특징으로 하는 멀티-유저 애플리케이션용 컴퓨터 프로그램.
  27. 제 26 항에 있어서,
    상기 서버 유닛(7)으로 하여금 하나 이상의 애플리케이션 이름을 하나 이상의 데이터베이스(24)의 하나 이상의 레코드내의 하나 이상의 애플리케이션 이름 필드(26)에 저장하도록 하는 컴퓨터 판독가능 코드 수단을 포함하는데, 상기 하나 이상의 레코드는 하나 이상의 애플리케이션 이름이 맵핑되는 하나 이상의 태그 값에대한 태그 값 필드(25)를 포함하는 것을 특징으로 하는 멀티-유저 애플리케이션용 컴퓨터 프로그램.
  28. 제 24 항 내지 제 27 항 중 어느 한 항에 있어서,
    상기 서버 유닛(7)으로 하여금, 하나 이상의 유저가 하나 이상의 애플리케이션 이름을 알고 있을 때 하나 이상의 애플리케이션 이름을 하나 이상의 태그 값으로 매핑하는 것에 대한 상기 하나 이상의 유저로부터의 질의에 응답하도록 하는 컴퓨터 판독가능 코드 수단, 및
    상기 서버 유닛(7)으로 하여금, 하나 이상의 유저가 하나 이상의 태그 값을 알고 있을 때 하나 이상의 태그 값을 하나 이상의 애플리케이션 이름으로 맵핑하는 것에 대한 상기 하나 이상의 유저로부터의 질의에 응답하도록 하는 컴퓨터 판독가능 코드 수단을 포함하는 것을 특징으로 하는 멀티-유저 애플리케이션용 컴퓨터 프로그램.
  29. 제 24 항 내지 제 28 항 중 어느 한 항에 있어서,
    상기 서버 유닛(7)으로 하여금 하나 이상의 애플리케이션 이름의 소유자에 대한 소유자 이름을 수신하도록 하는 컴퓨터 판독가능 코드 수단,
    서버 유닛(7)으로 하여금 상기 소유자 이름을 하나 이상의 태그 값으로 맵핑하도록 하는 컴퓨터 판독가능 코드 수단, 및
    서버 유닛(7)으로 하여금 상기 소유자 이름을 하나 이상의 저장 수단에 저장하도록 하는 컴퓨터 판독가능 코드 수단을 포함하는 것을 특징으로 하는 멀티-유저 애플리케이션용 컴퓨터 프로그램.
  30. 제 29 항에 있어서,
    상기 서버 유닛(7)으로 하여금, 하나 이상의 유저가 하나 이상의 소유자 이름을 알고 있을 때 하나 이상의 소유자 이름을 하나 이상의 태그 값으로 맵핑하는 것에 대한 하나 이상의 유저로부터의 질의에 응답하도록 하는 컴퓨터 판독가능 코드 수단, 및
    상기 서버 유닛(7)으로 하여금, 하나 이상의 유저가 하나 이상의 태그 값을 알고 있을 때 하나 이상의 태그 값을 하나 이상의 소유자 이름으로 맵핑하는 것에 대한 하나 이상의 유저로부터의 질의에 응답하도록 하는 컴퓨터 판독가능 코드 수단을 포함하는 것을 특징으로 하는 멀티-유저 애플리케이션용 컴퓨터 프로그램.
  31. 제 24 항에 따른 컴퓨터 프로그램 및 컴퓨터 이용가능 매체를 포함하는 컴퓨터 프로그램 제품(19)으로서, 상기 컴퓨터 프로그램은 컴퓨터 이용가능 매체상에 기록되는 컴퓨터 프로그램 제품.
KR10-2003-7005683A 2000-10-27 2001-10-22 분산된 멀티-유저 애플리케이션에서 애플리케이션 이름을태그 값으로 맵핑하기 위한 서버 KR20030079922A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
SE0003925A SE517816C2 (sv) 2000-10-27 2000-10-27 Metod och anordning för en applikation
SE0003925-5 2000-10-27
PCT/SE2001/002310 WO2002035796A1 (en) 2000-10-27 2001-10-22 Server for mapping application names to tag values in distributed multi-user application

Publications (1)

Publication Number Publication Date
KR20030079922A true KR20030079922A (ko) 2003-10-10

Family

ID=20281604

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2003-7005683A KR20030079922A (ko) 2000-10-27 2001-10-22 분산된 멀티-유저 애플리케이션에서 애플리케이션 이름을태그 값으로 맵핑하기 위한 서버

Country Status (10)

Country Link
US (1) US6935960B2 (ko)
EP (1) EP1334597A1 (ko)
JP (1) JP2004512622A (ko)
KR (1) KR20030079922A (ko)
CN (1) CN1257634C (ko)
AU (2) AU2001296187B2 (ko)
IL (1) IL155316A0 (ko)
NO (1) NO20031868L (ko)
SE (1) SE517816C2 (ko)
WO (1) WO2002035796A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100936886B1 (ko) * 2007-07-16 2010-01-14 에스케이 텔레콤주식회사 단일 rfid 태그에 의한 다중 서비스 제공 시스템 및방법

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7610404B2 (en) * 2002-05-22 2009-10-27 Cast Iron Systems, Inc. Application network communication method and apparatus
US8296433B2 (en) * 2002-05-22 2012-10-23 International Business Machines Corporation Virtualization method and apparatus for integrating enterprise applications
US7574488B2 (en) * 2002-05-31 2009-08-11 Hitachi, Ltd. Method and apparatus for peer-to-peer file sharing
US8321590B2 (en) 2003-05-22 2012-11-27 International Business Machines Corporation Application network communication
US20050256985A1 (en) * 2004-05-13 2005-11-17 Wildtangent, Inc. Sending progress information of other users for transmitted shared content
US20060080702A1 (en) * 2004-05-20 2006-04-13 Turner Broadcasting System, Inc. Systems and methods for delivering content over a network
US7465231B2 (en) * 2004-05-20 2008-12-16 Gametap Llc Systems and methods for delivering content over a network
US7433741B2 (en) * 2005-09-30 2008-10-07 Rockwell Automation Technologies, Inc. Hybrid user interface having base presentation information with variably prominent supplemental information
US20070078535A1 (en) * 2005-09-30 2007-04-05 Rockwell Automation Technologies, Inc. System and method for identifying particularized equipment information of interest to varied users in an industrial automation environment
US7805151B2 (en) * 2005-10-06 2010-09-28 Vergence Entertainment Llc System for substantially simultaneous alerts
US7912933B2 (en) * 2005-11-29 2011-03-22 Microsoft Corporation Tags for management systems
US7617190B2 (en) * 2005-11-29 2009-11-10 Microsoft Corporation Data feeds for management systems
US20080081696A1 (en) * 2006-09-29 2008-04-03 Motorola, Inc. Game for mobile station users
US20090049128A1 (en) * 2007-08-17 2009-02-19 Sony Computer Entertainment America Inc. Schemes for game chat routing and taunt control
US8556713B2 (en) * 2009-10-20 2013-10-15 Michael Pilip Single to multi-user synchronous application conversion
EP2988452B1 (en) 2011-08-30 2017-05-24 Qualcomm Incorporated Topology discovery in a hybrid network
US9495326B2 (en) 2011-09-12 2016-11-15 Qualcomm Incorporated Providing communication path information in a hybrid communication network
KR101982150B1 (ko) * 2012-02-16 2019-05-27 삼성전자주식회사 데이터 전송을 위한 디바이스 검색 시스템 및 방법
US11362889B2 (en) * 2018-10-15 2022-06-14 Cdw Llc System and method for automated information technology services management
US11446567B2 (en) * 2019-06-11 2022-09-20 Universal City Studios Llc Digital character interacting with customer in physical realm

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS61194948A (ja) * 1985-02-22 1986-08-29 Fujitsu Ltd ワ−キングデイレクトリ設定方式
US5557798A (en) * 1989-07-27 1996-09-17 Tibco, Inc. Apparatus and method for providing decoupling of data exchange details for providing high performance communication between software processes
GB9407971D0 (en) * 1994-04-21 1994-06-15 British Telecomm Messaging system
JP3216992B2 (ja) * 1996-06-14 2001-10-09 インターナショナル・ビジネス・マシーンズ・コーポレーション ネットワーク・システムにおける接続方式、及びサーバ・マシン
US6025801A (en) * 1996-10-01 2000-02-15 Philips Electronics North America Corporation Video game with local updates mitigates latency effects in wide area network
US6112024A (en) * 1996-10-02 2000-08-29 Sybase, Inc. Development system providing methods for managing different versions of objects with a meta model
JPH10207684A (ja) * 1996-11-19 1998-08-07 Sony Corp 3次元仮想現実空間共有システムにおける情報処理装置、情報処理方法および媒体
US6094712A (en) * 1996-12-04 2000-07-25 Giganet, Inc. Computer network interface for direct mapping of data transferred between applications on different host computers from virtual addresses to physical memory addresses application data
US5899810A (en) * 1997-01-24 1999-05-04 Kaon Interactive Corporation Distributed game architecture to overcome system latency
US5923842A (en) * 1997-03-06 1999-07-13 Citrix Systems, Inc. Method and apparatus for simultaneously providing anonymous user login for multiple users
JP3575225B2 (ja) 1997-05-19 2004-10-13 株式会社日立製作所 パケット交換機、パケット交換網及びパケット交換方法
EP1005740B1 (en) * 1997-06-27 2006-02-22 Tellabs Denmark A/S A method of transmitting data in a ring-shaped teletransmission network, such as a network and a network element therefor
US6058399A (en) * 1997-08-28 2000-05-02 Colordesk, Ltd. File upload synchronization
DE19747583B4 (de) * 1997-10-28 2006-04-20 Telefonaktiebolaget Lm Ericsson (Publ) Kommunikationssystem und Verfahren
JPH11185053A (ja) * 1997-12-25 1999-07-09 Casio Comput Co Ltd サイバースペースシステムおよびユーザ端末にサイバースペースを提供するプログラムを格納した記録媒体
DE69839087T2 (de) 1998-03-18 2009-03-19 Sony Deutschland Gmbh IRC Namenübersetzungsprotokoll
JPH11316693A (ja) * 1998-05-01 1999-11-16 Nec Software Chugoku Ltd プログラム間データ連携システム及び方法
US6463078B1 (en) * 1998-07-22 2002-10-08 Microsoft Corporation Method for switching protocols transparently in multi-user applications
JP3604915B2 (ja) * 1998-08-27 2004-12-22 富士通株式会社 コミュニケーション方法及びコミュニケーション装置
JP2000112853A (ja) * 1998-10-05 2000-04-21 Fujitsu Ltd 双方向通信方法及び双方向通信システム
US20020010768A1 (en) 1998-12-17 2002-01-24 Joshua K. Marks An entity model that enables privilege tracking across multiple treminals
JP2000215179A (ja) * 1999-01-22 2000-08-04 Mitsubishi Electric Corp オブジェクト名前管理方式

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100936886B1 (ko) * 2007-07-16 2010-01-14 에스케이 텔레콤주식회사 단일 rfid 태그에 의한 다중 서비스 제공 시스템 및방법

Also Published As

Publication number Publication date
US6935960B2 (en) 2005-08-30
SE0003925D0 (sv) 2000-10-27
JP2004512622A (ja) 2004-04-22
EP1334597A1 (en) 2003-08-13
NO20031868L (no) 2003-06-26
SE517816C2 (sv) 2002-07-16
AU9618701A (en) 2002-05-06
NO20031868D0 (no) 2003-04-25
AU2001296187B2 (en) 2006-03-02
CN1471786A (zh) 2004-01-28
IL155316A0 (en) 2003-11-23
US20040023723A1 (en) 2004-02-05
WO2002035796A1 (en) 2002-05-02
CN1257634C (zh) 2006-05-24
SE0003925L (sv) 2002-04-28

Similar Documents

Publication Publication Date Title
KR20030079922A (ko) 분산된 멀티-유저 애플리케이션에서 애플리케이션 이름을태그 값으로 맵핑하기 위한 서버
AU2001296187A1 (en) Server for mapping application names to tag values in distributed multi-user application
US6763371B1 (en) Method and apparatus for collaborative communication in a communication network
AU2001296186B2 (en) Communication infrastructure arrangement for multiuser
AU2001296185B2 (en) Configuration of a flexible infrastructure
US8001254B1 (en) Translating switch and method
US8417822B2 (en) Networked computer system for communicating and operating in a virtual reality environment
JP4463999B2 (ja) 通信ネットワークにおける方法及び装置
AU2001296186A1 (en) Communication infrastructure arrangement for multiuser
AU2001296185A1 (en) Configuration of a flexible infrastructure
JP2002153677A (ja) 情報端末、情報提供サーバ、オンラインゲーム方法および記録媒体
KR100683238B1 (ko) 온라인 게임 제공 방법 및 그 시스템
Huang et al. SharedWeb—a shared virtual environment over the World Wide Web
Chan et al. Strifeshadow Fantasy: a massive multi-player online game
Tri et al. Designing a multi-user 3D environment system

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E601 Decision to refuse application