KR20120118019A - 공간 통신 환경을 위한 웹 브라우저 인터페이스 - Google Patents

공간 통신 환경을 위한 웹 브라우저 인터페이스 Download PDF

Info

Publication number
KR20120118019A
KR20120118019A KR1020127019632A KR20127019632A KR20120118019A KR 20120118019 A KR20120118019 A KR 20120118019A KR 1020127019632 A KR1020127019632 A KR 1020127019632A KR 20127019632 A KR20127019632 A KR 20127019632A KR 20120118019 A KR20120118019 A KR 20120118019A
Authority
KR
South Korea
Prior art keywords
communicator
guest
network node
client
web browser
Prior art date
Application number
KR1020127019632A
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 KR20120118019A publication Critical patent/KR20120118019A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • H04L12/1827Network arrangements for conference optimisation or adaptation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M3/00Automatic or semi-automatic exchanges
    • H04M3/42Systems providing special services or facilities to subscribers
    • H04M3/56Arrangements for connecting several subscribers to a common circuit, i.e. affording conference facilities
    • H04M3/563User guidance or feature selection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/222Monitoring or handling of messages using geographical location information, e.g. messages transmitted or received in proximity of a certain spot or area

Abstract

공간 통신 환경에서 실시간 네트워크 통신을 시각화하기 위한 웹 브라우저 인터페이스는 통신자가 몰입형 공간 통신 환경에서 다른 통신자와 상호 작용할 수 있게 한다.

Description

공간 통신 환경을 위한 웹 브라우저 인터페이스{WEB BROWSER INTERFACE FOR SPATIAL COMMUNICATION ENVIRONMENTS}
대면 통신(face-to-face communication)이 실용적이지 않을 때, 사람들은 종종 이들의 통신 요구에 부합하기 위해 하나 이상의 기술적인 해결책에 의존한다. 이들 해결책은 통상적으로 대면 통신의 하나 이상의 양태를 시뮬레이션하도록 설계된다. 전통적인 전화 시스템은 발신자들 사이의 음성 통신을 가능화한다. 인스턴트 메시징(또한 "채팅"이라 칭함) 통신 시스템은 사용자가 인스턴트 메시지 서버에 의해 상호 접속된 인스턴트 메시지 컴퓨터 클라이언트를 통해 실시간으로 텍스트 메시지를 통신할 수 있게 한다. 몇몇 인스턴트 메시징 시스템은 부가적으로 사용자가 사용자 제어 가능한 그래픽 객체("아바타"라 칭함)에 의해 가상 환경에서 표현될 수 있게 한다. 대화식 가상 현실 통신 시스템은 원격 위치에서 사용자가 다수의 실시간 채널을 통해 통신할 수 있고 3차원 가상 공간에서 이들의 각각의 아바타를 조작함으로써 서로 상호 작용할 수 있다. 실시간 네트워크 통신을 위한 개량된 인터페이스가 요구된다.
도 1은 제 1 클라이언트 네트워크 노드, 제 2 클라이언트 네트워크 노드, 게스트 네트워크 노드(16) 및 가상 환경 크리에이터를 포함하는 네트워크 통신 환경의 실시예의 블록 다이어그램.
도 2는 도 1의 가상 환경 크리에이터의 실시예에 의해 구현되는 방법의 실시예의 흐름도.
도 3은 게스트 통신 네트워크 노드가 공간 통신 세션을 시각화하도록 구성되는 방법의 실시예의 흐름도.
도 4는 가상 영역의 계층적 표현의 실시예를 도시하는 도면.
도 5는 XML 인터페이스 사양을 HTML 문서로 변환하는 렌더링 엔진의 실시예의 블록 다이어그램.
도 6은 네트워크 통신 환경의 실시예의 블록 다이어그램.
도 7은 실시간 오디오 통신 채널이 스폰서링 클라이언트 네트워크 노드와 게스트 통신자(communicant) 사이에 설정되는 방법의 실시예의 흐름도.
도 8은 스폰서링 클라이언트 네트워크 노드 상에서 실행되는 가상 영역 가능화 통신 애플리케이션이 게스트 통신자로부터 수신된 오디오 통신을 공간 통신 세션 내에 통합하는 방법의 실시예의 흐름도.
도 9는 스폰서링 클라이언트 네트워크 노드가 가상 영역 가능화 및 비가상 영역 가능화 네트워크 노드와 통신하는 방법의 실시예의 흐름도.
도 10은 가상 영역 가능화 통신 애플리케이션을 오퍼레이팅하는 통신자가 비영역 가능화 통신 디바이스와 통신할 수 있게 하는 통신 인프라구조의 실시예의 블록 다이어그램.
도 11은 네트워크 통신 환경의 실시예의 블록 다이어그램.
도 12는 공간 통신 인터페이스의 실시예의 개략도.
도 13은 공간 통신 인터페이스의 개략도.
도 14는 도 13의 공간 통신 인터페이스와 연관된 팝업 브라우저 윈도우의 실시예의 개략도.
도 15는 네트워크 노드의 실시예의 블록 다이어그램.
이하의 설명에서, 유사한 도면 부호가 유사한 요소를 식별하는데 사용된다. 더욱이, 도면은 개략적인 방식으로 예시적인 실시예의 주요 특징을 도시하도록 의도된다. 도면은 실제 실시예의 모든 특징을 도시하도록 의도된 것은 아니고 또한 도시된 요소의 상대 치수를 도시하도록 의도된 것도 아니고, 실제 축적대로 도시되어 있지 않다.
1. 용어의 정의
"통신자"는 하나 이상의 네트워크 접속을 통해 다른 사람과 통신하거나 다른 방식으로 상호 작용하는 사람이고, 여기서 통신 또는 상호 작용은 가상 영역(virtual area)의 환경에서 발생할 수도 있거나 발생하지 않을 수도 있다. "사용자"는 설명의 목적으로 특정 관점을 규정하는 특정 네트워크 노드를 오퍼레이팅(operating)하는 통신자이다. "게스트 통신자"는 웹 브라우저 애플리케이션을 통해 공간 통신 환경과 인터페이스(interfacing)하는 통신자이다.
사용자의 "실시간 콘택트"는 실리간 통신 플랫폼을 경유하여 사용자와 통신하는 통신자 또는 다른 사람이다.
"컴퓨터"는 일시적으로 또는 영구적으로 컴퓨터 판독 가능 매체 상에 저장되는 컴퓨터 판독 가능 명령에 따라 데이터를 프로세싱하는 임의의 머신, 디바이스 또는 장치이다. "컴퓨터 운영 체제"는 컴퓨팅 및 하드웨어 리소스의 공유 및 작업의 성능을 관리하고 조정하는 컴퓨터 시스템의 소프트웨어 구성 요소이다. "소프트웨어 애플리케이션"(또한 소프트웨어, 애플리케이션, 컴퓨터 소프트웨어, 컴퓨터 애플리케이션, 프로그램 및 컴퓨터 프로그램이라 칭함)은 컴퓨터가 하나 이상의 특정 작업을 수행하도록 해석하고 실행할 수 있는 명령의 세트이다. "컴퓨터 데이터 파일"은 소프트웨어 애플리케이션에 의해 사용을 위해 데이터를 영속적으로 저장하는 정보의 블록이다.
"웹 브라우저"는 디스플레이 상에 웹 페이지를 표시하는 소프트웨어 애플리케이션이다. "웹 페이지"는 통상적으로 텍스트, 이미지 및 멀티미디어 파일을 포함하는 다양한 유형의 웹 페이지 요소의 배열 및 포맷을 지정하는 하이퍼텍스트 마크업 언어(HTML)로 포맷된다.
"윈도우"는 통상적으로 사용자 인터페이스를 포함하는 디스플레이의 시각적 영역이다. 윈도우는 통상적으로 소프트웨어 프로세스의 출력을 표시하고, 통상적으로 사용자가 소프트웨어 프로세스를 위한 명령 또는 데이터를 입력할 수 있게 한다. 부모(parent)를 갖는 윈도우를 "자식 윈도우(child window)"라 칭한다. 부모를 갖지 않는 또는 그 부모가 데스크탑 윈도우인 윈도우는 "최상위 윈도우(top-level window)"라 칭한다. "데스크탑"은 그래픽 사용자 인터페이스(GUI)의 배경을 페인팅하고 모든 소프트웨어 프로세스에 의해 표시된 모든 윈도우에 대한 베이스로서 기능하는 시스템 정의 윈도우이다.
"데이터베이스"는 컴퓨터에 의해 탐색될 수 있는 표준화된 포맷으로 제시되는 기록의 편성된 집합이다. 데이터베이스는 단일 컴퓨터 상의 단일 컴퓨터 판독 가능 데이터 저장 매체 상에 저장될 수 있고 또는 하나 이상의 컴퓨터 상에 다중 컴퓨터 판독 가능 데이터 저장 매체를 가로질러 분배될 수 있다.
"데이터 싱크"(또한 본 명세서에서 간단히 "싱크"라 칭함)는 데이터를 수신하는 임의의 디바이스(예를 들어, 컴퓨터), 디바이스의 부분 또는 소프트웨어이다.
"데이터 소스"(또한 본 명세서에서 간단히 "소스"라 칭함)는 데이터가 기원하는 임의의 디바이스(예를 들어, 컴퓨터), 디바이스의 부분 또는 소프트웨어이다.
"네트워크 노드"(또한 간단히 "노드"라 칭함)는 통신 네트워크 내의 접합부 또는 접속점이다. 예시적인 네트워크 노드는 이들에 한정되는 것은 아니지만, 단말, 컴퓨터 및 네트워크 스위치를 포함한다. "서버" 네트워크 노드는 정보 또는 서비스를 위한 요구에 응답하는 네트워크 상의 호스트 컴퓨터이다. "클라이언트 네트워크 노드"는 서버로부터 정보 또는 서비스를 요구하는 네트워크 상의 컴퓨터이다. "게스트 네트워크 노드"는 웹 브라우저 애플리케이션을 통해 공간 통신 환경과 인터페이스하는 게스트 통신자에 의해 오퍼레이팅되는 클라이언트 노드이다.
"네트워크 접속"은 2개의 통신 네트워크 노드 사이의 링크이다. "접속 핸들"은 네트워크 노드 상의 통신자, 리소스 또는 서비스와의 네트워크 접속을 설정하는데 사용될 수 있는 포인터 또는 식별자[예를 들어, 유니폼 리소스 식별자(URI)]이다. "네트워크 통신"은 네트워크 접속을 통해 하나의 네트워크 노드로부터 다른 네트워크 노드로 전송되거나 다른 방식으로 전달되는 임의의 유형의 정보(예를 들어, 텍스트, 음성, 오디오, 비디오, 전자 메일 메시지, 데이터 파일, 모션 데이터 스트림 및 데이터 패킷)를 포함할 수 있다.
동기 회의(synchronous conferencing)는 통신자들이 동시에 참여하는 통신을 칭한다. 동기 회의는 인스턴트 메시징(예를 들어, 텍스트 채팅), 오디오 회의, 비디오 회의, 애플리케이션 공유 및 파일 공유 기술을 포함하는 모든 유형의 네트워킹된 협업 기술을 포함한다.
"통신자 상호 작용"은 통신자와 예를 들어 다른 통신자, 가상 영역 또는 네트워크 서비스를 포함할 수 있는 다른 네트워크 엔티티 사이의 임의의 유형의 직접 또는 간접 작용이다. 예시적인 유형의 통신자 통신은 실시간으로 서로 통신하는 통신자, 가상 영역에 진입하는 통신자 및 네트워크 서비스로부터 리소스로의 액세스를 요청하는 통신자를 포함한다.
"프레즌스(presence)"는 이러한 의향(willingness)이 네트워크 상의 엔티티의 상태에 대한 정보를 검출하고 얻는 능력 및 엔티티에 접속하는 능력에 영향을 미치는 경우에, 네트워킹된 엔티티(예를 들어, 통신자, 서비스 또는 디바이스)의 통신의 능력 및 의향을 칭한다.
"실시간 데이터 스트림"은 연속적인 흐름에서 구조화되고 프로세싱되고 지연을 갖지 않거나 단지 인식 불가능한 지연만을 갖고 수신되도록 설계된 데이터이다. 실시간 데이터 스트림은 음성, 비디오, 사용자 움직임, 안면 인식 및 다른 물리적 현상의 디지털 표현, 뿐만 아니라 예를 들어 아바타 움직임 명령, 텍스트 채팅, 실시간 데이터 피드(예를 들어, 센서 데이터, 머신 제어 명령, 트랜잭션 스트림 및 스톡 인용 정보 피드) 및 파일 전송을 포함하는 급속 전송, 급속 실행 또는 급속 전송 및 급속 실행의 모두로부터 이득을 얻을 수 있는 컴퓨팅 환경 내의 데이터를 포함한다.
"링크"는 2개의 네트워크 노드 사이의 접속이고, 실시간 통신을 위해 2개의 노드에 의해 할당된 전체 대역폭을 표현한다. 각각의 링크는 각각의 실시간 데이터 스트림을 전달하는 채널로 분할된다. 채널은 링크에 할당되어 있는 전체 대역폭 내의 특정 스트림에 할당된다.
"가상 영역"(또한 "영역" 또는 "장소"라 칭함)은 컴퓨터 관리된 공간 또는 장면의 표현이다. 가상 영역은 통상적으로 1차원, 2차원 또는 3차원 표현이지만, 몇몇 실시예에서 가상 영역은 단일 점에 대응할 수도 있다. 종종, 가상 영역은 물리적 실제 공간을 시뮬레이션하도록 설계된다. 예를 들어, 전통적인 컴퓨터 모니터를 사용하여, 가상 영역은 3차원 컴퓨터 생성 공간의 2차원 그래픽으로서 시각화될 수 있다. 그러나, 가상 영역은 스위칭 규칙을 구현하기 위해 연관 시각화를 필요로 하지 않는다. 가상 영역은 통상적으로 가상 영역 스키마(schema)의 인스턴스(instance)를 칭하고, 스키마는 변수의 견지에서 가상 영역의 구조 및 콘텐트를 정의하고, 인스턴스는 특정 콘텍스트로부터 해결되어 있는 값의 견지에서 가상 영역의 구조 및 콘텐트를 정의한다.
"가상 영역 애플리케이션"(또한 "가상 영역 사양"이라 칭함)은 가상 환경을 생성하는데 사용되는 가상 영역의 서술이다. 가상 영역 애플리케이션은 통상적으로 가상 영역의 하나 이상의 구역과 연관된 기하학 구조, 물리학 및 실시간 스위칭 규칙의 정의를 포함한다.
"가상 영역 통신 애플리케이션"은 가상 영역에서 상호 작용의 시각적 제시와 실시간 오디오 통신(및 잠재적으로 예를 들어, 비디오, 채팅 및 실시간 다른 데이터 스트림과 같은 다른 실시간 통신)을 통합하는 클라이언트 통신 애플리케이션이다.
"가상 환경"은 적어도 하나의 가상 영역을 포함하고 통신자들 사이에 실시간 통신을 지원하는 컴퓨터 관리된 공간의 표현이다.
"구역"은 적어도 하나의 스위칭 규칙 또는 지배 규칙과 연관된 가상 영역의 구역이다. "스위칭 규칙"은 하나 이상의 선행 조건을 받게 되는 하나 이상의 실시간 데이터 싱크 및 하나 이상의 실시간 데이터 리소스의 접속 또는 분리를 지정하는 명령이다. 스위칭 규칙은 가상 영역의 콘텍스트에서 통신하는 네트워크 노드들 사이의 실시간 데이터 스트림의 스위칭(예를 들어, 라우팅, 접속 및 분리)을 제어한다. 지배 규칙은 리소스(예를 들어, 영역, 영역의 구역 또는 그 영역 또는 구역)의 콘텐트로의 통신자의 액세스, 그 액세스의 범주 및 그 액세스의 후속 결과(예를 들어, 그 액세스에 관한 기록을 감사하는 요구가 기록되어야 함)를 제어한다. "렌더링 가능 구역"은 각각의 시각화와 연관된 구역이다.
가상 영역의 "위치"는 가상 영역의 점 또는 면적 또는 체적의 위치를 칭한다. 점은 통상적으로 가상 영역의 스폿을 정의하는 1차원, 2차원 또는 3차원 좌표(예를 들어, x, y, z)의 단일 세트에 의해 표현된다. 면적은 통상적으로 가상 영역 내의 폐쇄된 2차원 형상의 경계를 정의하는 3개 이상의 동일 평면 상의 정점의 3차원 좌표에 의해 표현된다. 체적은 통상적으로 가상 영역에서 3차원 형상의 폐쇄된 경계를 정의하는 4개 이상의 비동일 평면 상의 정점의 3차원 좌표에 의해 표현된다.
"공간 상태"는 사용자가 가상 영역 내에 존재하는 것을 설명하는 속성이다. 공간 상태 속성은 통상적으로 사용자가 존재하는 구역의 각각에 대한 각각의 값(예를 들어, 구역_ID 값)을 갖는다.
"통신 상태"는 통신자의 각각이 통신하도록 구성되는 각각의 통신 채널의 상태를 설명하는 속성이다.
가상 영역의 콘텍스트에서, "객체"[또한 때때로, "프롭(prop)"이라 칭함]는 가상 영역의 기하학 구조로부터 별도로 유용하게 처리될 수 있는 가상 영역 내의 임의의 유형의 개별 요소이다. 예시적인 객체는 도어, 포탈, 윈도우, 뷰 스크린 및 스피커폰을 포함한다. 객체는 통상적으로 가상 영역의 속성 및 특성과는 개별적이고 별개인 속성 또는 특성을 갖는다. "아바타"[또한 본 명세서에서 "스프라이트(sprite)"라 칭함]는 가상 영역 내의 통신자를 표현하는 객체이다.
본 명세서에 사용될 때, 용어 "포함한다"는 '이에 한정되지는 않지만 포함한다'를 의미하고, 용어 "포함하는"은 '이에 한정되지는 않지만 포함하는'을 의미한다. 용어 "기초한다"는 '적어도 부분적으로 기초한다'를 의미한다.
II. 서론
본 명세서에 설명된 실시예는 실시간 네트워크 통신을 시각화하기 위한 개량된 시스템 및 방법을 제공한다. 특히, 이들 실시예는 공간 통신 환경을 위한 웹 브라우저 인터페이스를 제공한다. 이 특징은 임의의 특정화된 통신 소프트웨어를 설치할 필요 없이 그리고 특정 프록시 또는 방화벽 추가 또는 예외를 필요로 하지 않고 통신자가 몰입형 공간 통신 환경에서 다른 통신자와 상호 작용할 수 있게 한다.
도 1은 네트워크(도시 생략)에 의해 상호 접속된 제 1 클라이언트 네트워크 노드(12), 제 2 클라이언트 네트워크 노드(14), 게스트 네트워크 노드(16) 및 가상 환경 크리에이터(18)를 포함하는 예시적인 네트워크 통신 환경(10)의 실시예를 도시한다. 제 1 클라이언트 네트워크 노드(12) 및 제 2 클라이언트 네트워크 노드(14)의 각각은 입력/출력(I/O) 하드웨어, 프로세서 및 프로세서에 의해 실행 가능한 적어도 하나의 가상 영역 가능화 통신 애플리케이션의 각각의 인스턴스(20, 22)를 저장하는 컴퓨터 판독 가능 메모리를 포함한다. 게스트 네트워크 노드(16)는 입력/출력(I/O) 하드웨어, 프로세서 및 렌더링 엔진(26)을 포함하는 웹 브라우저 애플리케이션(24)의 인스턴스를 저장하는 컴퓨터 판독 가능 메모리를 포함한다. 가상 환경 크리에이터(18)는 네트워크 인프라구조 서비스 환경(30)을 제공하는 적어도 하나의 서버 네트워크 노드(28)를 포함한다. 가상 영역 가능화 통신 애플리케이션(20, 22) 및 네트워크 인프라구조 서비스 환경(30)은 함께 공간 통신 환경(또한, 본 명세서에서 간단히 "가상 환경"이라 칭함)을 생성하기 위한 플랫폼(본 명세서에서 "플랫폼"이라 칭함)을 제공한다. 가상 환경 크리에이터(18)는 공간 통신 환경을 게스트 네트워크 노드(16)를 오퍼레이팅하는 게스트 통신자로 확장하기 위해 게스트 네트워크 노드(16) 상에서 실행되는 웹 브라우저 애플리케이션(24)과 통신하는 웹 서버(31)를 또한 포함한다.
이하에 설명되는 바와 같이, 가상 영역 가능화 통신 애플리케이션(20, 22)은 네이티브 포맷에 따라 네트워크 인프라구조 서비스 환경(30)과 통신하는 특정화된 통신 애플리케이션 및 실시간 통신 성능을 용이하게 하는 통신 프로토콜이다. 가상 영역 가능화 통신 애플리케이션의 예시적인 실시예는 2009년 12월 4일 출원되고 그 전체가 본 명세서에 참조로서 포함되어 있는 계류중인 미국 출원 제 12/630,973호에 설명되어 있다. 가상 영역 가능화 통신 애플리케이션(20, 22)은 또한 클라이언트 노드(12, 14)를 오퍼레이팅하는 클라이언트 통신자가 서로 실시간 피어-투-피어(peer-to-peer) 통신을 설정할 수 있게 한다. 웹 브라우저 애플리케이션(24)은 다른 한편으로, 제한된 기능성을 갖는다. 몇몇 실시예에서, 웹 브라우저 애플리케이션(24)은 HTML 코드(예를 들어, 텍스트, 이미지, 하이퍼텍스트 링크, 자바스크립트 및 자바 애플릿)를 해석하고 디스플레이 상의 웹 페이지의 제시를 생성하기 위해 HTML 코드를 렌더링한다. 웹 브라우저 애플리케이션(24)은 통상적으로 HTTP에 따라 웹 서버(31)와 통신한다. 통상의 통신 세션에서, 웹 브라우저 애플리케이션(24)은 HTTP 요청(또한 본 명세서에서 "메시지"라 칭함)을 웹 서버(31)에 송신하여 파일[유니폼 리소스 로케이터(universal resource locator: URL)에 의해 액세스 가능한 웹 페이지 또는 다른 파일]을 여는 클라이언트로서 작용하고, 웹 서버(31) 상에서 실행되는 HTTP 데몬(daemon) 또는 다른 컴퓨터 소프트웨어는 HTTP 요청을 프로세싱하고 웹 브라우저 애플리케이션(24)에 요청된 파일을 리턴한다.
몇몇 실시예에서, 네트워크 인프라구조 서비스 환경(30)은 가상 영역 애플리케이션(34)에 따라 가상 영역(32) 내의 제 1 및 제 2 클라이언트 노드(12, 14) 및 게스트 네트워크 노드(16)를 오퍼레이팅하는 통신자 사이의 통신 세션을 관리한다. 가상 영역 애플리케이션(34)은 가상 영역(32)에 의해 호스팅되고 가상 영역(32)의 서술을 포함한다. 제 1 및 제 2 클라이언트 네트워크 노드(12, 14) 상에서 오퍼레이팅하는 가상 영역 가능화 통신 애플리케이션(20, 22) 및 게스트 네트워크 노드(16) 상에서 오퍼레이팅하는 웹 브라우저 애플리케이션(24)은 네트워크 인프라구조 서비스 환경(30)으로부터 수신된 데이터에 따라 가상 영역(32)의 각각의 뷰(36, 38, 40)를 제시하고, 클라이언트 노드(12, 14) 및 게스트 네트워크 노드(16)를 오퍼레이팅하는 클라이언트 통신자로부터 명령을 수신하기 위한 각각의 인터페이스를 제공한다. 클라이언트 노드(12, 14) 상의 뷰(36, 38)는 가상 영역 가능화 통신 애플리케이션(20, 22)에 의해 생성된 각각의 윈도우(42, 44)에 제시된다. 게스트 네트워크 노드(16) 상의 뷰(40)는 웹 브라우저 애플리케이션(24)에 의해 생성되는 각각의 브라우저 윈도우(46)에 제시된다. 통신 애플리케이션 윈도우(42, 44) 및 브라우저 윈도우(46)는 통상적으로 클라이언트 노드(12, 14) 및 게스트 네트워크 노드(16)의 디스플레이 하드웨어 상의 각각의 "데스크탑" 또는 다른 시스템 정의 베이스 윈도우(48, 50, 52) 상에 표시된다.
렌더링 엔진(26)은 웹 서버(31)로부터 수신된 실시간 통신 세션(realtime communication session)의 시각화의 사양을 웹 브라우저 애플리케이션(24)에 의해 렌더링될 수 있는 포맷으로 렌더링하기 위해 웹 브라우저 애플리케이션(24)에 의해 실행될 수 있는 임의의 유형의 프로그램 코드(예를 들어, 브라우저 스크립트, 플러그인 또는 애플릿)일 수 있다. 몇몇 실시예에서, 렌더링 엔진(26)은 게스트 사용자가 가상 영역에 진입할 때마다 "온 더 플라이(on the fly)" 상태로 게스트 네트워크 노드(16)에 다운로딩되는 자바스크립트 코드로 구체화된다. 자바스크립트 코드는 가상 환경 크리에이터(18)로부터 수신된 인터페이스 사양(interface specification)을 웹 브라우저 애플리케이션(24)에 의해 렌더링되는 HTML로 렌더링하여 가상 영역 가능화 통신 애플리케이션(20, 22)에 의해 생성된 사용자 인터페이스의 외관 및 감각에 정합하는 사용자 인터페이스를 생성하기 위한 모든 로직을 포함한다.
통신자는 통상적으로 이들의 각각의 네트워크 노드(12 내지 16)에서 통신자에 의해 입력된 명령에 응답하여 가상 영역(32)에 대해 이동할 수 있는 각각의 아바타(62, 64, 70)에 의해 가상 영역(32) 내에 표현된다. 몇몇 실시예에서, 가상 영역(32)의 각각의 통신자의 뷰는 통신자에 의해 경험되는 몰입의 레벨을 증가시키는 통신자의 아바타의 관점으로부터 제시된다. 각각의 통신자는 통상적으로 그 또는 그녀의 아바타 주위에 가상 영역(32)의 임의의 부분을 뷰잉할 수 있다. 몇몇 실시예에서, 가상 환경 크리에이터(18)는 가상 영역(32) 내의 통신자의 아바타의 각각의 위치에 기초하여 가상 영역(32)을 공유하는 다른 네트워크 노드와 네트워크 노드(12, 14, 16) 사이에 실시간 데이터 스트림을 설정한다.
III. 통신 세션 관리
A. 서론
도 2는 가상 환경 크리에이터(18)의 실시예에 의해 구현되는 방법의 실시예를 도시한다.
도 2의 방법에 따르면, 가상 환경 크리에이터(18)는 통신 세션의 공간 시각화(spatial visualization)와 연관하여 피어-투-피어 실시간 데이터 스트림(54)을 교환하는 클라이언트 네트워크 노드(20, 22)를 오퍼레이팅하는 클라이언트 통신자 사이의 실시간 통신 세션을 관리한다. 공간 시각화는 가상 영역(66)(도 1)의 그래픽 표현(graphical representation)에 공간적으로 관련하여 각각의 클라이언트 통신자의 각각의 그래픽 표현(62, 64)을 포함한다. 통신 세션의 관리의 프로세스에서, 가상 환경 크리에이터(18)는 가상 영역(66)에서 클라이언트 통신자의 그래픽 표현(62, 64)의 각각의 위치를 결정한다. 가상 환경 크리에이터(18)는 또한 실시간 통신 세션과 게스트 통신자를 인터페이스하고, 여기서 게스트 통신자는 게스트 네트워크 노드(16) 상의 웹 브라우저 애플리케이션(24)을 오퍼레이팅한다(도 2, 블록 68). 이 프로세스에서, 가상 환경 크리에이터(18)는 가상 영역(32)의 그래픽 표현의 사양 및 가상 영역(32)의 그래픽 표현 및 가상 영역(32) 내의 클라이언트 통신자 및 이들의 각각의 현재 위치의 그래픽 표현의 사양을 포함하는 인터페이스 사양을 게스트 네트워크 노드(16)에 전송한다. 가상 환경 크리에이터(18)는 또한 인터페이스 사양의 각각의 요소와 연계하여 웹 브라우저 애플리케이션(24)으로부터 수신된 요청에 응답한다. 예시적인 요청은 가상 영역(32) 내의 선택된 위치로 네비게이팅하기 위한 요청, 가상 영역(32) 내의 각각의 아바타에 의해 표현된 선택된 통신과 상호 작용하기 위한 요청 및 가상 영역(32) 내의 선택된 프롭을 경유하여 다른 통신자와 통신하는 요청을 포함한다.
B. 클라이언트 네트워크 노드들 사이의 통신
1. 네트워크 환경
클라이언트 및 게스트 네트워크 노드(12 내지 16)가 통신하는 네트워크는 근거리 네트워크(LAN), 도시 영역 네트워크(MAN) 및 원거리 네트워크(WAN)(예를 들어, 인터넷) 중 임의의 것을 포함할 수 있다. 네트워크는 통상적으로 네트워크 노드들 사이의 광범위한 상이한 미디어 유형(예를 들어, 텍스트, 음성, 오디오 및 비디오)의 전송을 지원하는 다수의 상이한 컴퓨팅 플랫폼 및 전송 설비를 포함한다.
가상 영역 가능화 통신 애플리케이션(20, 22)(도 1 참조)은 통상적으로 관리 정책, 사용자 선호도(사용자의 존재의 전송 및 영역 및 다른 사용자로의 사용자의 접속에 관한 선호도) 및 다른 세팅과 함께 다른 네트워크 노드와의 실시간 접속의 관리에 영향을 미치는 로컬 구성을 규정하는 소프트웨어 및 하드웨어 리소스를 포함하는 클라이언트 네트워크 노드 상에서 오퍼레이팅한다. 네트워크 노드들 사이의 네트워크 접속은 피어-투-피어 아키텍처, 서버-중재 아키텍처 및 피어-투-피어 및 서버-중재 아키텍처의 양태를 조합하는 하이브리드 아키텍처를 포함하는 다양한 상이한 스트림 취급 토폴로지로 배열될 수 있다. 이들 유형의 예시적인 토폴로지는 2007년 10월 24일 모두 출원된 미국 출원 제 11/923,629호 및 제 11/923,634호에 설명되어 있다.
2. 네트워크 인프라구조 서비스
네트워크 인프라구조 서비스 환경(30)은 통상적으로 클라이언트 노드(12, 14)와 다른 네트워크 노드(도 1 참조) 사이의 네트워크 접속을 설정하고 관리하는 프로세스에서 가상 영역 가능화 통신 애플리케이션(20, 22)과 협동하는 하나 이상의 네트워크 인프라구조를 포함한다. 네트워크 인프라구조 서비스는 단일 네트워크 노드 상에서 실행될 수 있고 또는 다수의 네트워크 노드를 가로질러 분배될 수 있다. 네트워크 인프라구조 서비스는 통상적으로 하나 이상의 전용 네트워크 노드(예를 들어, 서버 컴퓨터 또는 라우팅 및 스위칭과 같은 하나 이상의 에지 서비스를 수행하는 네트워크 디바이스) 상에서 실행된다. 그러나, 몇몇 실시예에서, 네트워크 인프라구조 서비스 중 하나 이상은 통신자의 네트워크 노드 중 적어도 하나 상에서 실행된다. 네트워크 인프라구조 서비스 환경(30)의 예시적인 실시예에 포함되는 네트워크 인프라구조 서비스 중에는 계정 서비스, 보안 서비스, 영역 서비스, 회합 서비스 및 상호 작용 서비스가 있다.
계정 서비스
계정 서비스는 가상 환경에 대한 통신자 계정을 관리한다. 계정 서비스는 또한 임의의 네트워크 인프라구조 서비스에 그 자신들을 인증하기 위해 클라이언트 네트워크 노드에 의해 사용될 수 있는 인증 토큰의 생성 및 발행을 관리한다.
보안 서비스
보안 서비스는 가상 환경의 자산 및 다른 리소스로의 통신자의 액세스를 제어한다. 보안 서비스에 의해 구현된 액세스 제어 방법은 통상적으로 능력(액세스가 적절한 능력 또는 허가를 갖는 엔티티에 허여됨) 및 액세스 제어 리스트(액세스가 리스트 상에 있는 아이덴티티를 갖는 엔티티에 허여됨) 중 하나 이상에 기초한다. 특정 통신자가 리소스로의 액세스가 허여된 후에, 이 통신자는 통상적으로 네트워크 통신 환경(10)에서 상호 작용하기 위해 다른 네트워크 인프라구조 서비스에 의해 제공된 기능성을 사용한다.
영역 서비스
영역 서비스는 가상 영역을 관리한다. 몇몇 실시예에서, 영역 서비스는 제약의 세트를 받게 되는 가상 영역 애플리케이션(34)에 따라 제 1 및 제 2 클라이언트 네트워크 노드(12, 14) 상에서 오퍼레이팅하는 가상 영역 가능화 통신 애플리케이션(20, 22)을 원격으로 구성한다. 제약은 통상적으로 가상 영역(32)으로의 액세스의 제어를 포함한다. 액세스 제어는 통상적으로 능력(액세스가 적절한 능력 또는 허가를 갖는 통신자 또는 클라이언트 노드에 허여됨) 및 액세스 제어 리스트(액세스가 리스트 상에 있는 아이덴티티를 갖는 통신자 또는 클라이언트 노드에 허여됨) 중 하나 이상에 기초한다.
영역 서비스는 요청 엔티티의 능력을 받게 되는 가상 영역(32)과 연관되는 네트워크 접속을 관리하고, 가상 영역을 위한 포괄적 상태 정보를 유지하고, 가상 영역(32)에 의해 규정된 콘텍스트 내의 공유된 통신 세션에 참여하는 클라이언트 네트워크 노드를 위한 데이터 서버로서 기능한다. 포괄적 상태 정보는 가상 영역(32) 내에 있는 모든 객체의 리스트 및 가상 영역 내의 이들의 각각의 위치를 포함한다. 영역 서비스는 클라이언트 네트워크 노드를 구성하는 명령을 송신한다. 영역 서비스는 또한 통신 세션에 참여하도록 요청하는 다른 클라이언트 네트워크 노드에 초기화 정보를 레지스터하고 전송한다. 이 프로세스에서, 영역 서비스는 가상 영역 애플리케이션(34)에 따라 클라이언트 네트워크 노드 상에 가상 영역(32)을 렌더링하는데 요구되는 구성 요소(예를 들어, 플러그인)의 리스트를 각각의 참여 클라이언트 네트워크 노드에 전송할 수 있다. 영역 서비스는 또한 통신 장애가 발생하면 클라이언트 네트워크 노드가 포괄적 상태로 동기화할 수 있는 것을 보장한다. 영역 서비스는 통상적으로 가상 영역과 연관된 지배 규칙을 경유하여 가상 영역과의 통신자 상호 w가용을 관리한다.
회합 서비스
회합 서비스는 존재 정보의 수집, 저장 및 분배를 관리하고 요청 엔티티의 능력을 받게 되는 서로 통신하기 위한 네트워크 노드를 위한 메커니즘을 제공한다(예를 들어, 접속 핸들의 분배를 관리함으로써). 회합 서비스는 통상적으로 존재 데이터베이스 내에 존재 정보를 저장한다. 회합 서비스는 통상적으로 통신자 프라이버시 선호도를 경유하여 서로의 통신자 상호 작용을 관리한다.
상호 작용 서비스
상호 작용 서비스는 통신자들 사이의 상호 작용의 기록을 포함하는 관계 데이터베이스를 유지한다. 통신자들 사이의 모든 상호 작용에 대해, 네트워크 인프라구조 서비스 환경(30)(예를 들어, 영역 서비스)의 하나 이상의 서비스는 상호 작용 서비스에 상호 작용 데이터를 전송한다. 이에 응답하여, 상호 작용 서비스는 하나 이상의 각각의 상호 작용 기록을 생성하고 관계 데이터베이스에 이들을 저장한다. 각각의 상호 작용 기록은 한 쌍의 통신자 사이의 상호 작용의 콘텍스트를 설명한다. 예를 들어, 몇몇 실시예에서, 상호 작용 기록은 각각의 통신자를 위한 식별자, 상호 작용의 장소를 위한 식별자(예를 들어, 가상 영역 인스턴스), 상호 작용 장소의 계층의 설명(예를 들어, 어떻게 상호 작용 룸이 더 큰 영역에 관련하는지의 설명), 상호 작용의 시작 및 종료 시간 및 상호 작용 중에 공유되거나 기록된 모든 파일 및 다른 데이터 스트림의 리스트를 포함한다. 따라서, 각각의 실시간 상호 작용에 대해, 상호 작용 서비스는 이것이 발생될 때, 이것이 발생되는 장소 및 수반된 통신자의 견지에서 상호 작용 중에 무엇이 발생하였는가(예를 들어, 진입 및 진출), 활성화/비활성화되는 객체 및 공유되는 파일을 추적한다.
상호 작용 서비스는 또한 요청 엔티티의 능력을 받게 되는 관계 데이터베이스에 대한 질의를 지원한다. 상호 작용 서비스는 가상 영역에 기초하여 분류된 순서로(예를 들어, 가장 빈번히 또는 가장 최근에) 상호 작용 데이터베이스 기록에 대한 질의의 결과를 제시한다. 질의 결과는 어느 통신자가 어느 가상 영역에서 만나야 하는지의 콘택트의 빈도 분류, 뿐만 아니라 어느 통신자가 가상 영역에 무관하게 만나야 하는지의 분류 및 통신자가 가장 종종 자주 가는 가상 영역의 분류를 구동하는데 사용될 수 있다. 질의 결과는 또한 관계에 기초하여 특정 작업을 자동화하는 휴리스틱 시스템의 부분으로서 애플리케이션 개발자에 의해 사용될 수 있다. 이 유형의 휴리스틱의 예는 5회 초과 특정 가상 영역에 방문한 통신자가 디폴트에 의한 노킹 없이 진입하도록 허용하는 휴리스틱 또는 특정 시간에 영역에 존재하였던 통신자가 동시에 동일한 영역에 존재하였던 다른 통신자에 의해 생성된 파일을 수정하고 삭제하는 것을 허용하는 휴리스틱이다. 관계 데이터베이스에 대한 질의는 다른 탐색과 조합될 수 있다. 예를 들어, 관계 데이터베이스에 대한 질의는 네트워크 인프라구조 서비스 환경(30)의 도메인의 외부에 있는 통신 시스템(예를 들어, 스카이페, 페이스북 및 플릭커)을 사용하여 콘택트와 상호 작용을 위해 생성된 콘택트 이력 데이터에 대한 질의와 조합될 수 있다.
3. 가상 영역
가상 영역 가능화 통신 애플리케이션(20, 22) 및 네트워크 인프라구조 서비스 환경(30)은 통상적으로 가상 영역의 인스턴스에 의해 규정된 통신 콘텍스트에서 네트워크 노드와 실시간 접속을 관리한다. 가상 영역 인스턴스는 추상 좌표에 대해 규정되는 추상(비기하학) 가상 공간에 대응할 수 있다. 대안적으로, 가상 영역 인스턴스는 특정 시각화와 연관되는 1차원, 2차원 또는 3차원 기하학 좌표에 대해 규정되는 시각적 가상 공간에 대응할 수 있다. 추상적 가상 영역은 각각의 시각화와 연관될 수 있거나 연관되지 않을 수도 있고, 반면에 시각적 가상 영역은 각각의 시각화와 연관된다.
전술된 바와 같이, 통신은 통상적으로 연관 시각화를 갖는 가상 영역 내의 각각의 아바타에 의해 표현된다. 아바타는 이들의 각각의 네트워크 노드에 통신자에 의해 입력되는 명령에 응답하여 가상 영역에 대해 이동한다. 몇몇 실시예에서, 가상 영역 인스턴스의 통신자의 뷰는 통상적으로 통신자의 아바타의 관점으로부터 제시되고, 각각의 통신자는 통상적으로 그 또는 그녀의 아바타 주위의 시각적 가상 영역의 임의의 부분을 뷰잉할 수 있어, 통신자에 의해 경험되는 몰입의 레벨을 증가시킨다.
가상 영역은 통상적으로 가상 영역 내의 아바타에 의해 표현되는 네트워크 노드들 사이의 실시간 데이터 스트림의 스위칭을 지배하는 각각의 규칙과 연관된 구역을 포함한다. 스위칭 규칙은 가상 영역의 구역에서 통신자의 아바타의 위치에 기초하여 다른 네트워크 노드와의 통신을 설정하는 네트워크 노드의 각각에서 실행되는 로컬 접속이 어떻게 프로세싱되는지를 지시한다.
가상 영역은 스위칭 규칙 및 지배 규칙을 포함하는 하나 이상의 규칙 및 가상 영역의 기하학 요소의 서술을 포함하는 사양에 의해 규정된다. 스위칭 규칙은 네트워크 노드들 사이의 실시간 스트림 접속을 지배한다. 지배 규칙은 가상 영역 자체, 가상 영역을 갖는 구역 및 가상 영역 내의 객체와 같은 리소스로의 통신자의 액세스를 제어한다. 몇몇 실시예에서, 가상 영역의 기하학 요소는 COLLADA - 디지털 자산 스키마 릴리즈 1.4.1 2006년 4월 사양(http://www.khronos.org/collada/로부터 입수 가능함) - 에 따라 설명되고, 스위칭 규칙은 미국 출원 제 11/923,629호 및 제 11/923,634호에 설명된 COLLADA 스트림 참조 사양에 따라 확장 마크업 언어(XML) 텍스트 포맷[본 명세서에서 가상 공간 서술 포맷(VSDL)이라 칭함]을 사용하여 설명된다.
가상 영역의 기하학 요소는 통상적으로 가상 영역의 물리적 기하학 구조 및 충돌 기하학 구조를 포함한다. 물리적 기하학 구조는 가상 영역의 형상을 설명한다. 물리적 기하학 구조는 통상적으로 삼각형, 사변형 또는 다각형의 표면으로부터 형성된다. 컬러 및 텍스처가 가상 영역을 위한 더 현실적인 외관을 생성하기 위해 물리적 기하학 구조 상에 맵핑된다. 조명 효과가 예를 들어 시각적 기하학 구조 상에 라이트를 페인팅하고 라이트 부근의 텍스처, 컬러 또는 강도를 수정함으로써 제공될 수 있다. 충돌 기하학 구조는 객체가 가상 영역에서 이동할 수 있는 방법을 결정하는 비가시적 표면을 설명한다. 충돌 기하학 구조는 시각적 기하학 구조와 일치하고, 시각적 기하학 구조의 더 간단한 근사에 대응하고 또는 시각적 영역 설계자의 애플리케이션 특정화 요구에 관련될 수 있다.
스위칭 규칙은 통상적으로 가상 영역에서의 위치의 견지에서 실시간 데이터 스트림의 소스와 싱크를 접속하기 위한 조건의 서술을 포함한다. 각각의 규칙은 통상적으로 규칙이 적용되는 실시간 데이터 스트림 유형 및 규칙이 적용될 때 가상 영역 내의 위치 또는 위치들을 규정하는 속성을 포함한다. 몇몇 실시예에서, 각각의 규칙은 선택적으로 소스의 요구된 역할, 싱크의 요구된 역할, 스트림의 우선순위 레벨 및 요청된 스트림 취급 토폴로지를 지정하는 하나 이상의 속성을 포함할 수 있다. 몇몇 실시예에서, 가상 영역의 특정 부분에 대해 규정된 어떠한 명시적인 스위칭 규칙도 존재하지 않으면, 하나 이상의 암시적 또는 디폴트 스위칭 규칙이 가상 영역의 그 부분에 적용될 수 있다. 일 예시적인 디폴트 스위칭 규칙은 정책 규칙을 받게 되는 영역 내의 모든 호환성 싱크에 모든 소스를 접속하는 규칙이다. 정책 규칙은 클라이언트 노드들 사이의 모든 접속 또는 단지 개별 클라이언트 노드와의 각각의 접속에만 포괄적으로 적용될 수 있다. 정책 규칙의 예는 가상 영역에서 서로의 지정된 거리(또는 반경) 내에 있는 각각의 객체와 연관된 호환성 싱크와의 소스의 접속만을 허용하는 근접도 정책이다.
몇몇 실시예에서, 지배 규칙은 누가 가상 영역에 액세스하는지, 누가 그 콘텐트에 액세스하는지, 가상 영역의 콘텐트에 액세스하는 범주는 무엇인지(예를 들어, 사용자가 콘텐트로 무엇을 할 수 있는지) 및 이들 콘텐트에 액세스하는 후속 결과는 무엇인지(예를 들어, 감사 로그와 같은 기록 보관 및 지불 요구)를 제어하기 위해 가상 영역과 연관된다. 몇몇 실시예에서, 가상 영역의 전체 가상 영역 또는 구역은 "지배 메시"와 연관된다. 몇몇 실시예에서, 지배 메시는 미국 출원 제 11/923,629호 및 제 11/923,634호에 설명된 구역 메시의 구현과 유사한 방식으로 구현된다. 지배 메시는 소프트웨어 애플리케이션 개발자가 가상 영역 또는 가상 영역의 구역과 지배 규칙을 연관시키는 것을 가능하게 한다. 이는 가상 영역 내의 모든 파일에 대한 개별 허가의 생성의 필요성을 회피하고, 콘텍스트에 따라 동일한 문서를 상이하게 처리해야할 필요성이 있을 때 잠재적으로 발생할 수 있는 복잡성을 처리할 필요성을 회피한다.
몇몇 실시예에서, 가상 영역은 디지털 권리 관리(DRM) 기능을 가상 영역의 하나 이상의 구역과 연관시키는 지배 메시와 연관된다. DRM 기능은 가상 영역 중 하나 이상 또는 가상 영역 내의 하나 이상의 구역 또는 가상 영역 내의 객체로의 액세스를 제어한다. DRM 기능은 통신자가 가상 영역 내의 지배 메시 경계를 교차할 때마다 트리거링된다. DRM 기능은 트리거링 동작이 허용될 때마다 판정하고, 만일 그러하면 허용된 동작의 범주가 무엇인지, 지불이 요구되는지 및 감사 기록이 발생되도록 요구되는지를 판정한다. 가상 영역의 예시적인 구현예에서, 연관된 지배 메시는 통신자가 가상 영역에 진입하는 것이 가능하면 그 또는 그녀는 문서를 조작하는 것과, 문서를 뷰잉하는 것과, 문서를 다운로드하는 것과, 문서를 삭제하는 것과, 문서를 수정하는 것과, 문서를 재업로드하는 것을 포함하여, 가상 영역과 연관된 모든 문서 상에 동작을 수행하는 것이 가능하다. 이 방식으로, 가상 영역은 가상 영역에 의해 규정된 콘텍스트에서 공유되고 논의되었던 정보에 대한 저장소가 될 수 있다.
가상 영역의 사양에 관한 부가의 상세는 미국 출원 제 12/418,243호(2009년 4월 3일 출원), 제 11/923,629호(2007년 10월 24일 출원) 및 제 11/923,634호(2007년 10월 24일 출원)에 설명되어 있다.
공간 통신 환경은 통상적으로 장소(또한 본 명세서에서 "위치"라 칭함) 및 객체의 공간적 계층으로서 모델링될 수 있다. 공간적 계층은 상위 레벨로부터 하위 레벨의 범위의 순서화된 레벨의 시퀀스를 포함한다. 공간적 계층의 레벨 중 연속적인 것 내의 각각의 장소는 레벨의 선행하는 것에서 장소의 각각의 것 내에 포함된다. 공간적 계층 내의 각각의 객체는 장소의 각각의 것 내에 포함된다. 공간적 계층의 레벨은 통상적으로 지리학적, 건축학적 또는 도시 은유와 일치하고 이에 따라 라벨 표기되는 각각의 시각화와 연관된다. 각각의 가상 영역의 구역은 그 일부가 객체(예를 들어, 스크린 객체, 테이블 객체 및 회의 객체와 같은 아바타 및 프롭)를 포함할 수 있는 물리적 환경(예를 들어, 빌딩과 연관된 룸 및 마당과 같은 공간)의 요소를 규정하는 각각의 메시에 의해 규정된다.
4. 가상 영역 가능화 통신 애플리케이션 리소스
몇몇 실시예에서, 각각의 가상 영역 가능화 통신 애플리케이션(20, 22)은 이하의 리소스에 대한 인터페이스를 포함한다.
a) 로컬 인간 인터페이스 디바이스(HID) 및 오디오 재생 디바이스,
b) So3D 그래픽 디스플레이, 아바타 및 물리적 엔진,
c) 시스템 데이터베이스 및 저장 설비.
a. 로컬 인간 인터페이스 디바이스(HID) 및 오디오 재생 디바이스
로컬 HID는 통신자가 가상 영역 통신 세션에 참여하는 동안 클라이언트 네트워크 노드 내에 명령 및 다른 신호를 입력할 수 있게 한다. 예시적인 HID는 컴퓨터 키보드, 컴퓨터 마우스, 터치스크린 디스플레이 및 마이크로폰을 포함한다.
오디오 재생 디바이스는 통신자가 가상 영역 통신 세션 중에 수신되는 오디오 신호를 재생할 수 있게 한다. 예시적인 오디오 재생 디바이스는 오디오 신호를 조작(예를 들어 특정 효과를 믹싱하고 적용함)하기 위한 오디오 프로세싱 하드웨어(예를 들어, 사운드 카드) 및 소리를 출력하기 위한 스피커를 포함한다.
b. So3D 그래픽 디스플레이, 아바타 및 물리적 엔진
So3D 엔진은 클라이언트 네트워크 노드의 디스플레이 모니터 상의 가상 영역 내의 객체 및 가상 영역의 각각의 뷰의 제시를 제어하는 시각화 엔진이다. So3D 엔진은 통상적으로 그래픽 사용자 인터페이스 드라이버 및 HID 디바이스 디바이스와 인터페이스하여 가상 영역의 뷰를 제시하고 통신자가 가상 영역 가능화 통신 애플리케이션(20, 22)의 동작을 제어할 수 있게 한다.
몇몇 실시예에서, So3D 엔진은 영역 서비스로부터 그래픽 렌더링 명령을 수신한다. So3D 엔진은 또한 가상 영역 내에 통신자의 아바타를 렌더링하기 위해 요구되는 이미지를 포함하는 로컬 통신자 아바타 데이터베이스를 판독할 수 있다. 이 정보에 기초하여, So3D 엔진은 가상 영역 내의 통신자의 아바타의 관점(위치 및 배향)으로부터 가상 영역 내의 객체 및 가상 영역의 시각적 표현(즉, 이미지)을 생성한다. 이 시각적 표현은 통상적으로 클라이언트 네트워크 노드 상에 가상 영역의 시각적 표현을 렌더링하기 위한 그래픽 렌더링 하드웨어를 구동하는 운영 체제의 그래픽 렌더링 구성 요소로 통과된다.
통신자는 HID 디바이스(예를 들어, 컴퓨터 마우스)를 경유하여 뷰 제어 명령을 입력함으로써 가상 영역의 제시된 뷰를 제어할 수 있다. So3D 엔진은 뷰 제어 명령에 따라 가상 영역의 뷰를 업데이트한다. So3D 엔진은 또한 영역 서비스로부터 수신된 업데이트된 객체 위치 정보에 따라 디스플레이 모니터 상의 가상 영역의 그래픽 표현을 업데이트한다.
c. 시스템 데이터베이스 및 저장 설비
시스템 데이터베이스 및 저장 설비는 플랫폼에 의해 사용된 다양한 종류의 정보를 저장한다. 통상적으로 저장 설비에 의해 저장되는 예시적인 정보는 존재 데이터베이스, 관계 데이터베이스, 아바타 데이터베이스, 실제 사용자 id(RUID) 데이터베이스, 아트 캐시 데이터베이스 및 영역 애플리케이션 데이터베이스를 포함한다. 이 정보는 단일 네트워크 노드 상에 저장될 수 있고 또는 이는 다중 네트워크 노드를 가로질러 분배될 수 있다.
5. 예시적인 통신 세션
통신 세션 중에, 각각의 클라이언트 네트워크 노드(12, 14)는 각각의 세트의 실시간 데이터 스트림(예를 들어, 모션 데이터 스트림, 오디오 데이터 스트림, 채팅 데이터 스트림, 파일 전송 데이터 스트림 및 비디오 데이터 스트림)을 생성한다. 예를 들어, 각각의 통신자는 가상 영역(32) 내의 그 또는 그녀의 아바타의 이동을 제어하는 모션 데이터 스트림을 생성하는 하나 이상의 입력 디바이스(예를 들어, 컴퓨터 마우스 및 키보드)를 조작한다. 게다가, 컴퓨터 시스템 부근에 국부적으로 생성된 통신자의 음성 및 다른 소리는 통상적으로 마이크로폰에 의해 캡처된다. 마이크로폰은 실시간 오디오 스트림으로 변환되는 오디오 신호를 생성한다. 오디오 스트림의 각각의 사본은 가상 영역(32) 내의 아바타에 의해 표현되는 다른 네트워크 노드에 전송된다. 이들 다른 네트워크 노드에 국부적으로 생성되는 소리는 실시간 오디오 신호로 변환되어 컴퓨터 시스템에 전송된다. 컴퓨터 시스템은 다른 네트워크 노드에 의해 생성된 오디오 스트림을 스피커에 의해 렌더링된 오디오 신호로 변환한다. 모션 데이터 스트림 및 오디오 스트림은 각각의 통신자 노드로부터 다른 클라이언트 네트워크 노드로 직접적으로 또는 간접적으로 전송될 수 있다. 몇몇 스트림 취급 토폴로지에서, 각각의 클라이언트 네트워크 노드는 다른 클라이언트 네트워크 노드에 의해 전송된 실시간 데이터 스트림의 사본을 수신한다. 다른 스트림 취급 토폴로지에서, 클라이언트 네트워크 노드의 하나 이상은 네트워크 노드의 다른 것들로부터 소싱된(또는 기원된) 실시간 데이터 스트림으로부터 도출되는 하나 이상의 스트림 믹스를 수신한다.
몇몇 실시예에서, 영역 서비스는 가상 영역의 현재 사양, 가상 영역 내에 있는 객체의 현재 레지스터 및 영역 서비스를 호스팅하는 네트워크 노드에 의해 현재 생성되는 임의의 스트림 믹스의 리스트를 포함하는 포괄 상태 정보를 유지한다. 객체 레지스터는 일반적으로 각각의 객체 식별자(예를 들어, 그 객체를 고유하게 식별하는 라벨), 네트워크 접속이 객체와 연관되는 네트워크 노드로 설정될 수 있게 하는 접속 핸들(예를 들어, IP 어드레스와 같은 URI) 및 객체와 연관된 실시간 데이터 소스 및 싱크(예를 들어, 객체와 연관된 네트워크 노드의 소스 및 싱크)를 식별하는 인터페이스 데이터를 가상 영역의 각각의 객체에 대해 포함한다. 객체 레지스터는 또한 통상적으로 각각의 객체에 대한 하나 이상의 선택적 역할 식별자를 포함하고, 역할 식별자는 통신자 또는 영역 서비스에 의해 객체에 명시적으로 할당될 수 있고, 또는 객체 또는 사용자의 다른 속성으로부터 추론될 수 있다. 몇몇 실시예에서, 객체 레지스터는 가상 영역 내의 객체와 연관된 네트워크 노드로부터 수신된 실시간 모션 데이터 스트림의 분석으로부터 영역 서비스에 의해 결정된 바와 같은 가상 영역 내의 각각의 객체의 현재 위치를 또한 포함한다. 이와 관련하여, 영역 서비스는 가상 영역 내의 객체와 연관된 네트워크 노드로부터 실시간 모션 데이터 스트림을 수신하고, 모션 데이터에 기초하여 가상 영역 내에 진입하고, 진출하고, 돌아다니는 통신자의 아바타 및 다른 객체를 추적한다. 영역 서비스는 추적된 객체의 현재 위치에 따라 객체 레지스터를 업데이트한다.
다른 네트워크 노드와의 실시간 데이터 스트림 접속을 관리하는 프로세스에서, 영역 서비스는 각각의 클라이언트 네트워크 노드에 대해, 인터페이스 데이터, 구역 리스트 및 현재 가상 영역 내에 있는 객체의 위치를 포함하는 구성 데이터의 세트를 유지한다. 인터페이스 데이터는 클라이언트 네트워크 노드의 각각과 연관된 각각의 객체에 대해, 객체와 연관된 실시간 데이터 스트림 유형의 모든 소스 및 싱크의 각각의 리스트를 포함한다. 구역 리스트는 대응 클라이언트 네트워크 노드와 연관된 아바타에 의해 현재 점유되는 가상 영역 내의 모든 구역의 레지스터이다. 통신자가 먼저 가상 영역에 진입할 때, 영역 서비스는 통상적으로 위치 초기화 정보로 현재 객체 위치 데이터베이스를 초기화한다. 그 후에, 영역 서비스는 가상 영역을 공유하는 다른 클라이언트 네트워크 노드로부터 수신된 실시간 모션 데이터 스트림의 분석으로부터 결정된 바와 같이 가상 영역 내의 객체의 현재 위치로 현재 객체 위치 데이터베이스를 업데이트한다.
가상 영역 가능화 통신 애플리케이션의 실시예에 의해 생성된 예시적인 공간 통신 인터페이스는 2009년 1월 15일 출원된 미국 특허 출원 제 12/354,709호 및 2009년 7월 27일 출원된 미국 특허 출원 제 12/509,658호에 설명되어 있고, 이들 출원 모두는 본 명세서에 참조로서 포함되어 있다.
C. 공간 통신 세션과 웹 브라우저의 인터페이싱
1. 공간 통신 세션을 시각화하기 위한 게스트 통신자의 구성
도 3은 게스트 통신자 네트워크 노드가 공간 통신 세션을 시각화하도록 구성되는 방법의 실시예를 도시한다.
클라이언트 통신자 중 스폰서링 통신자[예를 들어, 클라이언트 네트워크 노드(12)를 오퍼레이팅하는 스폰서링 통신자]는 게스트 통신자를 위한 초대장을 준비함으로써 프로세스를 개시한다(도 3, 프로세스 70). 몇몇 실시예에서, 스폰서링 클라이언트 통신자는 스폰서링 클라이언트 네트워크 노드(12) 상에서 실행되는 가상 영역 가능화 통신 애플리케이션(20)에 의해 제공되는 "게스트 초대장 송신" 프로세스를 호출함으로써 게스트 초대 프로세스를 시작한다. 이 프로세스는 스폰서링 클라이언트 통신자가 게스트 통신자에 대한 정보를 지정할 수 있는 다양한 필드 및 게스트 통신자가 초대될 수 있는 통신 세션을 포함하는 초대장 폼을 포함하는 사용자 인터페이스를 생성한다. 지정될 수 있는 예시적인 유형의 정보 중에는, (i) 게스트 통신자에 대한 정보(예를 들어, 성명, 업무 제휴 및 이메일 어드레스 및 전화 번호와 같은 콘택트 정보), (ii) 통신 세션에 대한 정보(예를 들어, 시작 일시 및 시간, 기간, 통신 세션이 발생할 수 있는 가상 영역 위치 및 통신 세션의 성질 또는 주제의 서술) 및 (iii) 공간 통신 세션 중의 게스트 통신자의 능력이 있다. 예시적인 능력의 유형은 가상 영역 내에서 네비게이팅하는 게스트 통신자의 능력의 범주, 파일 공유 및 애플리케이션 공유에 참여하는 게스트 통신자의 능력의 범주 및 가상 영역 내의 파일을 다운로드하고, 업로드하거나 삭제하는 게스트 통신자의 능력의 범주를 규정하는 지배 규칙을 포함한다.
스폰서링 클라이언트는 가상 환경 크리에이터(18)에 완성된 초대장 폼을 송신한다(도 3, 프로세스 72). 이에 응답하여, 가상 환경 크리에이터(18)는 게스트 통신자를 위한 포괄적 고유 게스트 식별자를 생성하고 완성된 초대장 폼으로 스폰서링 클라이언트에 의해 지정된 통신 세션의 위치에 대응하는 URL을 포함하는 초대장을 게스트 통신자에 송신한다(도 3, 프로세스 73). 몇몇 실시예에서, 게스트 식별자는 완성된 초대장 폼으로 스폰서링 클라이언트에 의해 제공되는 콘택트 정보(예를 들어, 이메일 어드레스 또는 전화 번호)로부터 구성된다. 초대장은 통상적으로 통신 세션이 발생하는 공간 통신 환경 내의 정밀한 위치를 지정한다. 가상 환경 크리에이터(18)는 스폰서링 클라이언트에 의해 지정된 위치에 기초하여 지정된 통신 세선 위치에 대한 고유 어드레스를 결정한다. 몇몇 실시예에서, 정밀한 미팅 위치가 URL과 같은 고유 식별자에 의해 어드레스된다.
도 4는 "장소" 또는 "위치"의 공간적 계층(즉, 룸 1, 룸 2, 룸 3,...) 및 객체 또는 프롭(즉, 테이블, 뷰스크린)으로서 가상 영역(72)의 예시적인 모델을 도시한다. 공간적 계층은 상위 레벨[예를 들어, 영역(72)]로부터 하위 레벨의 범위의 레벨의 순서화된 시퀀스를 포함한다. 공간 계층의 레벨의 연속적인 것 내의 각각의 장소는 레벨의 선행하는 것 내의 장소의 각각의 장소 내에 포함된다. 공간적 계층 내의 각각의 객체는 장소의 각각의 것에 포함된다. 이들 실시예에서, 장소 및 장소 내의 객체는 장소 및 객체에 대한 고유 어드레스로서 기능하는 각각의 URL과 연관된다. 이 어드레싱 방안은 스폰서링 통신자가 가상 영역에서 게스트 통신자가 그 또는 그녀가 시스템에 로그인할 때 취해야 하는 가상 환경 크리에이터(18)에 정밀하게 지정할 수 있게 한다. 예를 들어, 스폰서링 클라이언트 통신자는 그 또는 그녀가 먼저 시스템에 액세스할 때 게스트 통신자가 룸 1의 뷰(71)(즉, http://*/area/room1)를 제시받는 것을 지정할 수 있다. 대안적으로, 스폰서링 클라이언트 통신자는 게스트 통신자가 뷰스크린 객체(즉, http://*/area/room1/ViewScreen) 상에 공유되는 App_I 애플리케이션(73)(즉, http://*/area/room1/ViewScreen/App_I)의 뷰를 제시받아야 하는 것을 지정할 수 있다.
도 3을 재차 참조하면, 게스트 통신자가 게스트 네트워크 노드(16)로부터 초대장에서 URL에 의해 지정된 웹 페이지를 위한 웹 브라우저 게스트를 가상 환경 크리에이터(18)에 송신한다(도 3, 프로세스 74). 가상 환경 크리에이터(18)는 게스트 네트워크 노드(16)가 설치된 가상 영역 가능화 통신 애플리케이션(20, 22)의 버전을 갖는지 여부를 판정한다(도 3, 프로세스 76, 78).
가상 영역 가능화 통신 애플리케이션이 게스트 네트워크 노드(16) 상에 설치되면, 가상 환경 크리에이터(18)는 게스트 네트워크 노드 상의 가상 영역 가능화 통신 애플리케이션의 인스턴스를 시작하고, 통신 애플리케이션 인스턴스는 인터페이스 윈도우 내의 지정된 통신 세션 위치의 뷰를 게스트 통신자에게 제시한다. 몇몇 실시예에서, 지정된 URI에 의해 검색된 문서 내에 포함된 정보는 운영 체제와 애플리케이션 프로토콜 또는 MIME 유형을 레지스터하는 수단에 의해 가상 영역 가능화 통신 애플리케이션 내로 통과된다. 이 방식으로, 가상 영역 가능화 통신 애플리케이션이 URL을 간단히 클릭함으로써 사용자가 수동으로 이와 같이 행할 필요 없이(몇몇 경우에) 시작되고, 로그인되고, 잠재적으로 원본 초대장 내에 지정된 미팅 위치로 직접 송신될 수 있다. 예를 들어, 몇몇 실시예에서, 가상 영역 가능화 통신 애플리케이션은 URI로 서빙된다(예를 들어, sococo://information-to-pass-in-to-the-virtual-area-enabled communication-appliation). 다른 실시예에서, 브라우저 애플리케이션은 가상 영역 가능화 통신 애플리케이션(예를 들어, 콘텐트 유형, sococo/appliation, 이어서 구역 x로 진행하는 XML 명령)과 연관된 MIME 유형 헤더로 서빙된다. 브라우저 애플리케이션은 일단 문서가 클라이언트 노드(12, 14) 상에서 오퍼레이팅하는 통신 애플리케이션(20, 22)과 상호 작용하도록 요청하면 확인 다이얼로그 박스를 게스트 사용자에 제시하도록 구성될 수 있다. 이 방식으로, 게스트 사용자는 가상 영역(32) 내의 적절한 위치 내로 고유하게 온-램프(on-ramp)될 수 있다. 이 경험은 다양한 플랫폼 상에 적절하게 라우팅될 수 있다. 예를 들어, 스마트폰은 이 스마트폰 상에 네이티브 애플리케이션을 런칭하고 전술된 동일한 정보 세트 내에 통과함으로써 URL에 기초하여 인터넷을 통해 가상 영역(32) 내의 미팅 경험을 액세스하도록 구성될 수 있다.
가상 영역 가능화 통신 애플리케이션이 게스트 네트워크 노드(16) 상에 설치되지 않았다는 판정에 응답하여, 가상 환경 크리에이터(18)는 로그인 폼을 포함하는 로그인 페이지를 웹 브라우저 애플리케이션(24)에 송신한다(도 3, 프로세스 80). 게스트 통신자는 로그인 폼을 완료하고, 웹 브라우저 애플리케이션(24)은 가상 환경 크리에이터(18)로 완성된 로그인 폼을 송신한다(도 3, 프로세스 82). 가상 환경 크리에이터(18)가 완성된 로그인 폼으로 포함된 데이터에 기초하여 게스트 통신자를 인증한 후에, 가상 환경 크리에이터(18)는 게스트 통신자가 초대되어 있는 가상 영역의 시각화를 포함하는 인터페이스 사양과 함께 렌더링 엔진(26)의 인스턴스를 웹 브라우저 애플리케이션(24)에 송신한다(도 3, 프로세스 84). 웹 브라우저 애플리케이션(24)은 렌더링 엔진(26)을 설치하고, 렌더링 엔진(26)은 브라우저 윈도우(52) 내에 시각화를 렌더링한다.
몇몇 실시예에서, 가상 환경 크리에이터(18)는 가상 영역의 그래픽 표현 및 가상 영역 내의 클라이언트 통신자 및 이들의 각각의 현재의 위치의 그래픽 표현의 사양을 포함하는 인터페이스 사양을 게스트 통신자의 웹 브라우저 애플리케이션(24)에 송신한다. 인터페이스 사양은 통상적으로 확장성 마크업 언어(XML) 포맷으로 게스트 네트워크 노드(16)에 송신된다. 인터페이스 사양의 요소는 XML 스키마(XSD)에 따라 태그 기반 계층 언어를 사용하여 표현된다. 이하의 XML 사양은 4개의 시트, 테이블 및 2개의 뷰스크린 프롭을 포함하는 예시적인 가상 영역 룸(즉, "오피스 A")을 표현한다.
Figure pct00001
가상 영역 내의 통신자의 그래픽 표현(즉, 아바타)의 위치는 통상적으로 가상 영역의 기하학적 요소의 사양으로부터 별도의 XML 사양으로 표현된다. 아바타의 위치를 지시하는 예시적인 메시지는 이하의 XML 사양을 가질 수 있다.
Figure pct00002
여기서, "SodaZonePositionData"는 규칙적인 데스크탑 통신 애플리케이션에 프로토콜에서 송신된 메시지이다. 필드는 아바타[범용 고유 식별자(UUID)에 의한], 이들이 존재하는 구역(UUID에 의해 재차 식별됨) 및 구역 내의 아바타 위치에 대응하는 x, y 및 z 좌표를 식별한다. 이 정보는 상태 정보의 스트림으로서 통신 애플리케이션으로 패킷화되어 송신되고, 모든 방식의 특성(프로파일, 컬러, 아트워크, 마이크로폰 온, 마이크로폰 오프 등)과 연관된 메시지가 존재한다.
몇몇 실시예에서, 웹 브라우저 내의 아바타의 위치는 쉘프 데이터(shelf data) 프로세싱 라이브러리로부터 사용하는 약간 상이한 포맷으로 실시될 수 있다. 예를 들어, 아바타 위치 사양은 XML, JSON 또는 다른 데이터 캡슐화 기술의 형태를 취할 수 있다. XML에서, 아바타 위치 사양은 이하와 같이 보일 수 있다.
Figure pct00003
웹 브라우저 애플리케이션은 XML 아바타 위치 사양을 취하고, 필드를 분석하고, 일치하는 ID를 갖는 아바타에 위치 및 구역 정보를 적용한다. 동일한 개념이 임의의 다른 요소(예를 들어, 프롭, 아바타 및 기하학 구조)에 대한 상태 정보의 나머지에 적용될 수 있다.
도 5를 참조하면, 이들 실시예에서, 렌더링 엔진(26)은 웹 브라우저 애플리케이션(24)에 의해 브라우저 윈도우 내에 렌더링될 수 있는 HTML 문서(79)[예를 들어, 동적 HTML(DHTML) 문서]로 XML 인터페이스 사양(77)을 변환하기 위해 하나 이상의 템플레이트(75)를 사용하는 확장성 스타일 시트 언어 변환(XSLT) 엔진이다. 이 프로세스에서, XSLT 렌더링 엔진(26)은 하나 이상의 템플레이트에 XML 인터페이스 사양의 노드를 일치시키고, 이는 어떻게 XML 노드를 HTML 문서(79)의 요소로 변환하는지를 지정한다. HTML 문서(79)는 실시간 통신 세션의 공간 시각화를 포함하는 인터페이스를 표시하기 위한 제시 포맷을 설명한다.
렌더링 엔진(26) 또는 개별 플러그인의 부분일 수 있는 브라우저 인터페이스 스크립트(예를 들어, 자바스크립트)는 렌더링 인터페이스 사양과의 사용자 상호 작용을 검출하기 위해 하나 이상의 이벤트 핸들러를 사용한다. 예시적인 상호 작용은 컴퓨터 마우스 작용(예를 들어, 마우스 포인터 이동 및 버튼 클릭), 키보드 작용 및 조이스틱 작용을 포함한다. 브라우저 인터페이스 스크립트는 통상적으로 게스트 통신자의 단말 상에 제시되는 공간 인터페이스와의 특정 사용자 상호 작용을 보고하는 XML 문서를 가상 환경 크리에이터(18)에 송신한다. 예를 들어, 브라우저 인터페이스 스크립트는 통상적으로 가상 영역 내의 게스트 통신자의 상태(예를 들어, 위치 또는 존재)를 제어하는 사용자 상호 작용 및 다른 통신자와의 상호 작용(예를 들어, 다른 통신자와의 피어-투-피어 채팅을 개시하거나 가상 영역 내에 게스트 통신자를 참여하도록 다른 통신자를 초대하는 것)을 수반하는 사용자 상호 작용을 보고한다. 몇몇 실시예에서, 브라우저 인터페이스 스크립트는 게스트 통신자의 단말 상의 로컬 파라미터(예를 들어, 로컬 스피커 및 로컬 마이크로폰 볼륨)를 제어하기 위해 검출된 사용자 상호 작용을 해석한다.
몇몇 실시예에서, 공유된 통신 세션 중에, 웹 브라우저 애플리케이션(24)은 가상 영역(32)의 그래픽 표현 내의 위치를 참조하는 메시지를 가상 환경 크리에이터(18)에 송신한다. 예를 들어, 이들 실시예의 몇몇에서, 게스트 통신자는 특정 위치를 선택함으로써(예를 들어, 특정 위치에 위치된 포인터로 컴퓨터 마우스를 클릭하거나 더블 클릭함으로써) 가상 영역 내의 특정 위치로 네비게이팅하는 것이 가능하다. 이벤트 핸들러는 선택을 검출하고 브라우저 스크립트는 예를 들어 가상 영역의 시각화 내의 선택된 위치의 좌표 또는 고유 식별자(예를 들어, URL)를 포함하는 HTTP 메시지를 발행함으로써 가상 환경 크리에이터에 선택을 보고한다. HTTP 메시지에 응답하여, 가상 환경 크리에이터(18)는 공유된 통신 세션의 그래픽 시각화로의 업데이트를 생성하고 가상 영역(32) 내의 각각의 클라이언트 및 게스트 네트워크 노드에 업데이트의 각각의 인터페이스 사양을 전송한다. 업데이트는 예를 들어, 선택된 위치로 이동된 게스트 통신자의 아바타를 갖는 가상 영역의 시각화의 사양을 포함할 수 있다.
몇몇 실시예에서, 가상 영역의 공간 시각화는 그 각각이 공간 시각화의 각각의 분할에 대응하는 비중첩 그래픽 블록의 어레이로 분할된다. 웹 브라우저 애플리케이션(24)으로부터 수신된 업데이트 요청에 응답하여, 가상 환경 크리에이터(18)는 선행 업데이트 요청에 대한 가장 최근의 응답이 송신된 이래로 변경되어 있는 이들 그래픽 블록만을 웹 브라우저 애플리케이션(24)에 송신한다.
몇몇 실시예에서, 공유된 통신 세션 중에, 웹 브라우저 애플리케이션(24)은 공유된 통신 세션과 연관하여 메시지를 가상 환경 크리에이터(18)에 송신한다. 메시지는 통상적으로 공유된 통신 세션의 그래픽 시각화를 참조한다. 예를 들어, 몇몇 메시지는 가상 영역의 그래픽 시각화 내의 선택된 위치를 참조하고, 몇몇 메시지는 가상 영역 내의 객체(예를 들어, 통신자 아바타 및 프롭)를 참조하고, 다른 메시지는 네비게이션 및 상호 작용 제어부를 포함하는 툴바의 그래픽 표현 내의 선택된 버튼을 참조한다. 네비게이션 제어부는 통신자가 가상 영역 내의 존재를 어디에 설정하는지를 지정하는 것을 가능하게 하고, 상호 작용 제어부는 통신자가 네트워크 통신 환경에서 클라이언트 통신자의 하나 이상과의 상호 작용을 관리하는 것을 가능하게 한다.
몇몇 실시예에서, 게스트 통신자는 게스트 노드(16)로부터의 HTTP/웹 요청을 취급하는 서버 노드를 경유하여 가상 환경 크리에이터(18)와 직접 접속한다. 이들 실시예에서, 스폰서링 클라이언트 네트워크 노드는 가상 영역과 게스트 통신자를 상호 작용하는데 사용되지 않는다. 대신에, 서버 노드는 모든 실시간 데이터 스트림(RDS) 상태 액티비티, 채팅 및 지연을 갖고 서빙될 수 있고 신뢰적인 채널을 통한 전송에 적합한 다른 것(대역폭 제한에 기인하는 신뢰적인 채널 상에서 통상적으로 서빙되지 않는 음성/비디오 스트림에 반대로)을 큐잉한다. 이 방식으로, 아바타 위치, 헤드셋/마이크로폰 상태, 헤드 플래싱 큐, 아이 큐 및 채팅과 같은 데이터가 스폰서링 클라이언트 네트워크 노드와 게스트 노드 사이의 피어-투-피어 접속을 통하는 것과 대조적으로 직접 통신될 수 있다. 이들 실시예의 몇몇에서, 게스트 노드 브라우저 애플리케이션은 큐잉된 상태/다른 정보에 대한 규칙적인 간격으로 서버 노드에 폴링하고, 가상 영역 렌더링 엔진을 통해 모든 변화를 전파하도록 구성된다. 다른 실시예에서, 서버 노드는 게스트 노드(16)와의 장시간 HTTP 접속을 셋업하고, XML 또는 다른 데이터 캡슐화 포맷으로 큐잉된 상태/다른 정보를 포맷하고, 웹 브라우저 애플리케이션(24)으로 포맷된 데이터를 하향 스트리밍하도록 구성된다.
2. 공간 통신 세션 내의 실시간 오디오 통신을 위한 게스트 통신자 구성
a. 스폰서링 클라이언트 네트워크 노드에 의해 중재된 게스트 통신자의 오디오 통합
도 6은 게스트 통신자가 가상 영역 가능화 통신 애플리케이션(20, 22)의 인스턴스를 실행하도록 요구하지 않고 클라이언트 네트워크 노드(12)가 웹 브라우저 애플리케이션(24)의 도메인 외부의 게스트 통신자와의 오디오 통신 채널(90)을 설정하도록 구성된 네트워크 통신 환경의 실시예(88)를 도시한다.
몇몇 실시예에서, 스폰서링 클라이언트 네트워크 노드(12) 상에서 실행되는 가상 영역 가능화 통신 애플리케이션의 인스턴스(20)는 웹 브라우저 애플리케이션(24)의 도메인 외부의 게스트 통신자에 의해 오퍼레이팅되는 전화기(92)(예를 들어, 이동 전화 또는 유선 전화)와의 오디오 통신 채널을 설정하도록 동작 가능하다. 이들 실시예에서, 통신 애플리케이션(20)은 통합형 보이스 오버 인터넷 프로토콜(VOIP) 구성 요소를 갖거나 또는 클라이언트 네트워크 노드(12) 상에서 오퍼레이팅되는 개별 VOIP 애플리케이션의 프로그램 인터페이스와 통신한다. VOIP 구성 요소 또는 VOIP 애플리케이션은 세션 제어 프로토콜에 따라 호의 셋업 및 해체를 제어한다. VOIP 구성 요소 또는 VOIP 애플리케이션은 클라이언트 네트워크 노드(12) 상의 사운드 카드로부터 수신된 발신 음성 신호를 오디오 스트림을 경유하여 디지털 오디오로서 IP 네트워크를 통해 전송될 수 있는 IP 패킷으로 인코딩하기 위해 오디오 코덱을 사용한다. 게스트 통신자의 전화기로부터 수신 호는 로컬 PSTN 네트워크를 통해 가장 가까운 게이트웨이 서버로 송신된다. 게이트웨이 서버는 아날로그 음성 신호를 디지털화하고, 이를 IP 패킷으로 압축하고, 수신 종단에서 다른 게이트웨이로 네트워크(예를 들어, 인터넷)를 통해 IP 패킷을 송신한다. 수신 게이트웨이는 스폰서링 클라이언트 네트워크 노드(12) 상의 VOIP 구성 요소 또는 VOIP 애플리케이션으로 수신 호 패킷을 송신한다. VOIP 구성 요소 또는 VOIP 애플리케이션은 수신 IP 패킷을 스폰서링 클라이언트 네트워크 노드(12) 상의 사운드 카드에 의해 소리로 변환될 수 있는 음성 신호로 디코딩하기 위해 오디오 코덱을 사용한다.
다른 실시예에서, 클라이언트 네트워크 노드(12) 상에서 실행되는 가상 영역 가능화 통신 애플리케이션의 인스턴스(20)는 게스트 네트워크 노드(16) 상에서 실행되는 비가상 영역 가능화 통신 애플리케이션(94)과의 오디오 통신 채널을 설정하도록 동작 가능하다. 이들 실시예에서, 가상 영역 가능화 통신 애플리케이션(20)은 통합형 VOIP 구성 요소를 갖거나 또는 클라이언트 네트워크 노드(12) 상에서 오퍼레이팅하는 개별 VOIP 애플리케이션의 프로그램 인터페이스와 통신한다. 스폰서링 클라이언트 네트워크 노드(12) 상의 VOIP 구성 요소 또는 VOIP 애플리케이션은 세션 제어 프로토콜에 따라 호의 셋업 및 해체를 제어한다. 게스트 네트워크 노드(16) 상에서 오퍼레이팅하는 비가상 영역 가능화 통신 애플리케이션(94)은 스폰서링 클라이언트 네트워크 노드(12) 상에서 오퍼레이팅하는 VOIP 구성 요소 또는 VOIP 애플리케이션과 실시간 오디오 데이터 스트림(잠재적으로, 예를 들어 비디오 및 채팅 실시간 데이터 스트림과 같은 다른 실시간 데이터 스트림)을 통신할 수 있는 VOIP 통신 애플리케이션이다. 게스트 네트워크 노드(16) 상에서 오퍼레이팅하는 스폰서링 클라이언트 네트워크 노드(12)와 비가상 영역 가능화 통신 애플리케이션 사이의 VOIP 통신은 클라이언트 서버 모델 또는 피어-투-피어 모델에 기초할 수 있다.
몇몇 실시예에서, 스폰서링 클라이언트 네트워크 노드(12)는 각각의 피어-투-피어 접속을 통해 통신하는 하나 이상의 다른 클라이언트 네트워크 노드와 게스트 통신자를 인터페이스한다. 다른 실시예에서, 프록시/송수신기/스트림 멀티플라이어 서버 노드는 클라이언트 네트워크 노드와 게스트 통신자를 인터페이스한다. 이들 실시예에서, 프록시/송수신기/스트림 멀티플라이어 서버 노드의 사용은 컴퓨팅 전력 관점 및 네트워크 대역폭 관점의 모두로부터 스폰서링 클라이언트 네트워크 노드(12) 상의 부하를 감소시킨다.
도 7은 실시간 오디오 통신 채널이 스폰서링 클라이언트 네트워크 노드(12)와 게스트 통신자 사이에 설정되는 방법의 실시예를 도시한다. 이 방법에 따르면, 가상 환경 크리에이터(18)는 게스트 통신자로부터 수신된 완성된 로그인 폼으로 포함된 콘택트 정보를 스폰서링 클라이언트 네트워크 노드(12)에 송신한다(도 7, 프로세스 94). 콘택트 정보는 예를 들어 전화 번호(예를 들어, 이동, 지상 또는 VOIP 전화 번호) 또는 게스트 통신자와의 오디오 통신 채널을 설정하는데 사용될 수 있는 임의의 다른 유형의 수신 식별자 또는 어드레스(예를 들어, 고유 VOIP 명칭 또는 어드레스)일 수 있다. 스폰서링 클라이언트 네트워크 노드(12)는 게스트 통신자와의 실시간 오디오 접속을 개시하기 위해 가상 영역 가능화 통신 애플리케이션(20)을 사용한다(도 7, 프로세스 96). 오디오 접속은 예를 들어 가상 영역 가능화 통신 애플리케이션(20)의 VOIP 구성 요소 또는 스폰서링 클라이언트 네트워크 노드(12) 상에서 오퍼레이팅하는 개별 VOIP 애플리케이션과 게스트 통신자의 전화기(92) 또는 비가상 영역 가능화 통신 애플리케이션(94) 사이에 설정될 수 있다. 오디오 통신 채널이 설정된 후에, 스폰서링 클라이언트 네트워크 노드(12) 및 게스트 통신자는 오디오 통신 채널을 통해 실시간 오디오 데이터 스트림을 교환한다(도 7, 프로세스 98).
도 8은 스폰서링 클라이언트 네트워크 노드(12) 상에서 실행되는 가상 영역 가능화 통신 애플리케이션(20)이 게스트 통신자로부터 수신된 오디오 통신자를 공간 통신 세션 내에 통합하는 방법의 실시예를 도시한다. 이 실시예에 따르면, 가상 영역 가능화 통신 애플리케이션(20)이 각각의 클라이언트 통신자에 의해 오퍼레이팅되는 하나 이상의 다른 클라이언트 네트워크 노드와의 실시간 통신 세션을 설정한다(도 8, 블록 100). 실시간 통신 세션 중에, 가상 영역 가능화 통신 애플리케이션(20)은 가상 영역의 그래픽 표현에 공간적으로 관련하여 각각의 클라이언트 통신자의 각각의 그래픽 표현을 포함하는 공간 시각화와 연관하여 클라이언트 네트워크 노드와 피어-투-피어 실시간 데이터 스트림을 교환한다(도 8, 블록 102). 가상 영역 가능화 통신 애플리케이션(20)은 게스트 통신자로부터 게스트 실시간 데이터 스트림을 수신한다(도 8, 블록 104). 가상 영역 가능화 통신 애플리케이션(20)은 게스트 통신자로부터 수신된 게스트 실시간 데이터 스트림으로부터 도출되는 각각의 실시간 데이터 스트림을 각각의 다른 클라이언트 네트워크 노드에 송신한다(도 8, 블록 106). 가상 영역 가능화 통신 애플리케이션(20)은 스폰서링 클라이언트 네트워크에 의해 소싱된 피어-투-피어 실시간 데이터 스트림으로부터 도출되는 하나 이상의 실시간 데이터 스트림 및 다른 클라이언트 네트워크 노드로부터 스폰서링 클라이언트 네트워크 노드에 의해 수신된 피어-투-피어 실시간 데이터 스트림을 게스트 통신자에 전송한다(도 8, 블록 108).
도 9는 스폰서링 클라이언트 네트워크 노드(12)가 가상 영역 가능화 통신 애플리케이션(20)을 경유하여 다른 클라이언트 네트워크 노드(14)와 통신하고 개별 VOIP 애플리케이션을 경유하여 게스트 통신자와 통신하는 도 8의 방법의 실시예를 도시한다. 이 방법에 따르면, 가상 영역 가능화 통신 애플리케이션(20)은 스폰서링 클라이언트 네트워크 노드(12) 상에서 실행된다(도 9, 블록 110). 가상 영역 가능화 통신 애플리케이션(20)은 스폰서링 클라이언트 네트워크 노드(12)와 적어도 하나의 다른 클라이언트 네트워크 노드(14) 사이에 제 1 실시간 데이터 스트림 접속을 설정하고, 여기서 제 1 실시간 데이터 스트림 접속은 가상 영역(32)에 대한 참조와 연관된다. 가상 영역 가능화 통신 애플리케이션(20)의 실행과 동시에, VOIP 애플리케이션은 스폰서링 클라이언트 네트워크 노드(12) 상에서 실행된다(도 9, 블록 112). VOIP 애플리케이션은 스폰서링 클라이언트 네트워크 노드(12)와 게스트 통신자 사이에 제 2 실시간 데이터 스트림 접속을 설정하고, 여기서 제 2 실시간 데이터 스트림 접속은 가상 영역(32)으로의 임의의 참조가 없다. 스폰서링 클라이언트 네트워크 노드(12) 상에서, 하나 이상의 통합된 실시간 데이터 스트림은 제 1 및 제 2 실시간 데이터 스트림 접속부를 통해 교환된 실시간 데이터 스트림으로부터 생성된다(도 8, 블록 114).
하나 이상의 통합된 실시간 데이터 스트림 중 적어도 하나는 통상적으로 스폰서링 클라이언트 네트워크 노드(12) 상에 렌더링된다. 가상 영역 가능화 통신 애플리케이션(20)은 통상적으로 하나 이상의 통합된 실시간 데이터 스트림의 각각의 것들을 다른 클라이언트 네트워크 노드(14)에 전송한다.
몇몇 실시예에서, 가상 영역 가능화 통신 애플리케이션920)은 제 1 실시간 데이터 오디오 스트림을 생성하고, 가상 영역 가능화 통신 애플리케이션(20)은 다른 클라이언트 네트워크 노드(14)로부터 제 2 실시간 오디오 데이터 스트림을 수신하고, 가상 영역 가능화 통신 애플리케이션(20)은 게스트 통신자로부터 제 3 실시간 오디오 데이터 스트림을 수신한다. 이들 실시예에서, 통합된 실시간 데이터 스트림을 생성하는 프로세스는 제 2 및 제 3 실시간 데이터 스트림을 믹싱하여 제 1 통합된 실시간 데이터 스트림을 생성하고, 제 1 및 제 3 실시간 데이터 스트림을 믹싱하여 제 2 통합된 실시간 데이터 스트림을 생성하고, 제 1 및 제 2 실시간 데이터 스트림을 믹싱하여 제 3 통합된 실시간 데이터 스트림을 생성하는 것을 수반한다. 가상 영역 가능화 통신 애플리케이션(20)은 스폰서링 클라이언트 네트워크 노드(12) 상에 제 1 통합된 실시간 데이터 스트림을 렌더링하고, 스폰서링 클라이언트 네트워크 노드(12)로부터 다른 클라이언트 네트워크 노드(14)로 제 2 통합된 실시간 데이터 스트림을 전송하고, 스폰서링 클라이언트 네트워크 노드(12)로부터 게스트 통신자로 제 3 통합된 실시간 데이터 스트림을 송신한다. 몇몇 실시예에서, 가상 영역 가능화 통신 애플리케이션(20)은 다른 클라이언트 네트워크 노드(14) 상에서 오퍼레이팅하는 가상 영역 가능화 통신 애플리케이션(22)에 제 3 통합된 실시간 데이터 스트림을 통과시킨다. 몇몇 실시예에서, 제 1 및 제 2 실시간 데이터 스트림 각각은 클라이언트 네트워크 노드(12, 14) 상에서 각각 실행되는 가상 영역 가능화 통신 애플리케이션의 제 1 및 제 2 인스턴스(20, 22)에 의해 생성되고, 스폰서링 클라이언트 네트워크 노드(12) 상의 가상 영역 가능화 통신 애플리케이션(20)은 영역 가능화 통신 애플리케이션(20)으로부터 영역 가능화 통신 애플리케이션(22)의 제 2 인스턴스로 제 2 통합된 실시간 데이터 스트림을 통과시킨다.
일 예시적인 실시예에서, 게스트 통신자는 스폰서링 클라이언트 통신자의 VOIP 콘택트이지만, 게스트 통신자는 가상 영역 가능화 통신 애플리케이션(20, 22)의 사용자는 아니다. VOIP 애플리케이션의 프로그램 인터페이스와 통합함으로써, 가상 영역 가능화 통신 애플리케이션(20)은 스폰서링 클라이언트 네트워크 노드(12) 상에 제시된 통신 인터페이스에서 직접적으로 스폰서링 클라이언트 통신자의 VOIP 콘택트를 얻고 표시한다. VOIP 애플리케이션의 콘택트 인터페이스 내의 사용자 인터페이스 제어부(예를 들어, "호 콘택트")를 클릭하는 것은 VOIP 애플리케이션을 사용하여 게스트 통신자에 호를 개시한다. 통신 애플리케이션(20)은 게스트 통신자로부터 수신된 오디오 스트림을 취하고 가상 영역(32) 내의 다른 클라이언트 통신자의 오디오 스트림 내로 이를 멀티플렉싱한다. 이 방식으로, 게스트 통신자는 특히 VOIP 애플리케이션에 의해 제공된 바와 같은 오디오 경험만을 갖고 공간 가상 대화에 참여할 수 있다.
몇몇 실시예에서, 일방향 오디오 스트림이 개시되고 외부 플러그인을 필요로 하지 않고 브라우저 애플리케이션에 다운로드된다. 이들 실시예에서, 소정의 구역에서 대화의 믹스는 게스트 통신자가 대화를 청취할 수 있도록 브라우저 애플리케이션에 송신된다. 게스트 통신자는 웹 브라우저 애플리케이션으로부터 실시간 오디오 스트림을 소싱함으로서 대화에 참여할 수 없지만, 게스트 통신자는 웹 브라우저 애플리케이션의 콘텍스트에서 구현되는 것이 더 용이한 더 많은 비동기적 채널(예를 들어, 텍스트 채팅)을 경유하여 참여할 수 있다. 이들 실시예는 게스트 통신자가 미팅(예를 들어, 다수의 관찰자, 그러나 시사회 또는 스피커 패널과 같은 소수의 주요 참여자가 존재하는 미팅)의 주요 포커스에 있지 않은 미팅에서 특정 유틸리티를 제공할 수 있다.
도 10은 가상 영역 가능화 통신 애플리케이션을 오퍼레이팅하는 통신자가 비영역 가능화 통신 디바이스와 통신하는 것을 가능하게 하는 통신 인프라구조의 실시예의 블록 다이어그램이다. 도 9는 가상 영역을 공유하는 4개의 네트워크 노드(즉, 비영역 가능화 게스트 통신자 디바이스 1, 스폰서링 클라이언트 네트워크 노드 2, 클라이언트 네트워크 노드 3 및 클라이언트 네트워크 노드 4) 사이에 설정된 오디오 통신 채널을 도시한다. 게스트 통신자 디바이스 1은 가상 영역 가능화 통신 애플리케이션을 실행하도록 구성되지 않은 클라이언트 단말을 표현하고, 대신에 게스트 통신자 디바이스 1은 대안적인 통신 시스템을 동작하도록 구성된다(예를 들어, VOIP 애플리케이션과 같은 비영역 가능화 통신 애플리케이션을 오퍼레이팅하는 네트워크 노드 또는 전화기와 같은 다른 비영역 가능화 통신 디바이스). 스폰서링 클라이언트 네트워크 노드 2는 게스트 통신자의 통신 시스템의 재생 및 오디오 캡처 스트림을 시각화하는 통합 구성 요소를 부가적으로 포함하는 가상 영역 가능화 통신 애플리케이션(20)을 실행하는 스폰서링 클라이언트 통신자의 단말을 표현한다. 클라이언트 네트워크 노드 3 및 4는 가상 영역 가능화 통신 애플리케이션의 각각의 인스턴스를 실행하는 2개의 다른 클라이언트 단말을 표현한다. 도 10에 도시된 시스템의 요약은 이하의 텍스트 블록에 제공된다.
Figure pct00004
동작시에, I/O 멀티플렉서 디멀티플렉서는 스폰서링 클라이언트 네트워크 노드 1 및 게스트 통신자 디바이스 2로부터 수신된 오디오 신호 1 및 2를 클라이언트 네트워크 노드 3 및 클라이언트 네트워크 노드 4의 모두에 송신한다. I/O 멀티플렉스 디멀티플렉서는 또한 클라이언트 네트워크 노드 3 및 4로부터 수신된 오디오 신호 3 및 4를 스폰서링 클라이언트 네트워크 노드 2의 P 루트 구성 요소에 송신한다. P 루트 구성 요소는 오디오 신호 1, 3 및 4를 스폰서링 클라이언트 네트워크 노드 2의 재생 구성 요소에 송신하고 스폰서링 클라이언트 네트워크 노드 2의 P 믹스 구성 요소에 오디오 신호 3 및 4를 통과시킨다. 스폰서링 클라이언트 네트워크 노드 2의 P 믹스 구성 요소는 오디오 신호 2, 3, 4를 믹싱하고 스폰서링 클라이언트 네트워크 노드 2의 통합 구성 요소에 믹싱된 신호를 통과시킨다. 통합 구성 요소는 스폰서링 클라이언트 네트워크 노드 2 상에서 실행되는 대안 통신 애플리케이션(예를 들어, VOIP 애플리케이션)의 오디오 캡처 구성 요소에 믹싱된 신호를 통과시킨다. 몇몇 실시예에서, 이 대안적인 통신 애플리케이션은 게스트 통신자의 디바이스 1에 의해 사용되는 동일한 유형의 통신 애플리케이션(예를 들어, VOIP 애플리케이션)에 대응한다. 대안적인 오디오 캡처 시스템(CA)은 게스트 통신자의 디바이스 1 상에서 실행되는 대안적인 통신 애플리케이션의 재생 구성 요소에 캡처된 믹싱된 신호 2+3+4를 통과시킨다.
도 10에 도시된 시스템의 몇몇 구현예에서, P 믹스는 또한 I/O 멀티플렉서/디멀티플렉서에 직접 가입할 수 있어, 시스템이 더 대칭적이게 한다. P 루트는 P 믹스 1이 되고, I/O로부터 3, 4를, C 스플리트 1로부터 1을 수신한다. 이들은 독립적인 채널로서 송신되기 때문에, C 스플리트 1의 출력은 재생 구성 요소에 직접 송신될 수 있지만, 매우 탄력적인 것은 아니다(P 믹스가 독립적인 채널의 통과 대신에 실제 믹스를 수행할 수 있기 때문에, 이하 참조). 이 경우에, P 믹스는 P 믹스 2가 되고, I/O로부터 3, 4를, C 스플리트 2로부터 2를 수신한다. 대안 오디오 시스템이 단일 채널 통신 시스템이기 때문에(채널이 스테레오이더라도, 통상적으로 다중 소스로부터 신호를 조합하기 위해 다른 종단에 멀티-트랙 믹서가 존재하지 않음), 이 믹서의 출력은 진정한 믹스이다.
도 10은 이제 상이한 네트워크 노드 3 및 4 사이의 서로의 상호 작용을 도시하지 않고, 단지 스폰서링 클라이언트 네트워크 노드 2 및 확장에 의해 게스트 통신자의 디바이스 1과의 상호 작용을 도시한다. 클라이언트 네트워크 노드 3 및 4 사이의 상호 작용은 전술된 바와 같이 피어-투-피어이거나 서버-중재될 수 있다.
도 10에서, 2개의 스트림은 콤마로 경계가 정해지는 임의의 시간에(다채널 루트라는 것을 의미함), 시스템은 또한 내부 통신 리소스(예를 들어, I/O 멀티플렉서/디멀티플렉서로부터)를 보존하기 위해 믹싱된 스트림을 또한 송신할 수 있다. 믹싱되어야 하는 스트림은 플러스 사인으로 지시된다[즉, 통합 구성 요소에 의해 대안 캡처 구성 요소(CA)에 송신된 시각화된 마이크로폰 신호].
몇몇 실시예에서, 통신 애플리케이션(20)은 클라이언트 네트워크 노드(12)와 게스트 네트워크 노드(16) 사이에 설정되는 오디오 통신 채널의 상태에 기초하여 게스트 통신자의 통신 상태를 판정하는 것이 가능하다. 실시간 통신 세션 중에, 통신 애플리케이션(20)은 게스트 접속자와의 실시간 데이터 스트림 접속을 설정하고, 실시간 데이터 스트림 접속으로부터 게스트 통신자의 현재 통신 상태를 판정하고, 게스트 통신자의 판정된 현재 통신 상태를 나타내는 공간 시각화 시각적 큐(visual cues)에 묘사한다. 몇몇 실시예에서, 가상 환경 크리에이터(18)는 스폰서링 클라이언트 네트워크 노드(12) 및 게스트 네트워크 노드(16)가 웹 브라우저 애플리케이션(14)의 도메인의 외부에서 통신하는 실시간 통신 채널의 통신 상태를 서술하는 데이터를 수신한다. 이에 응답하여, 가상 환경 크리에이터(18)는 스폰서링 클라이언트 네트워크 노드(12)를 오퍼레이팅하는 통신자의 통신 상태를 묘사하기 위해 공유된 통신 세션의 그래픽 시각화와 연관하여 렌더링 가능한 시각적 큐브의 사양을 포함하는 제 2 네트워크 통신을 웹 브라우저 애플리케이션(24)에 송신한다.
몇몇 실시예에서, 통신 애플리케이션(20)은 실시간 데이터 스트림 접속의 접속 상태를 판정하고, 실시간 데이터 스트림 접속의 판정된 접속 상태에 기초하여 접속 상태 및 비접속 상태 중 하나로 게스트 통신자를 분류한다. 통신 애플리케이션(20)은 접속 상태 및 비접속 상태 중 어느 것이 게스트 통신자가 현재 분류되는지를 지시하는 각각의 시각적 큐를 묘사한다.
몇몇 실시예에서, 통신 애플리케이션(20)은 실시간 데이터 스트림 접속을 통해 현재 실시간 데이터 스트림의 검출에 응답하여 활발하게 통신하는 상태로 게스트 통신자를 분류하고, 실시간 데이터 스트림 접속을 통해 현재 실시간 데이터 스트림을 검출하는 것을 실패하는 것에 응답하여 비통신 상태로 게스트 통신자를 분류한다. 통신 애플리케이션(20)은 활발하게 통신하는 상태 및 비통신 상태 중 어느 것이 게스트 통신자가 현재 분류되는지를 지시하는 각각의 시각적 큐를 묘사한다.
실시간 통신 세션 중에, 통신 애플리케이션(20)은 통상적으로 가상 환경 크리에이터(18)로부터 가상 영역 내의 게스트 통신자의 그래픽 표현의 현재 위치의 사양을 수신한다. 이들 실시예에서, 개별(비믹싱) 실시간 오디오 데이터 스트림은 통상적으로 실시간 데이터 스트림에 소싱되는 통신자에 할당된 포괄적 고유 식별자로 각각 라벨 표기된다. 게스트 실시간 데이터 스트림 및 게스트 통신자의 그래픽 표현 각각은 게스트 통신자에 할당되는 동일한 고유 게스트 식별자와 연관되기 때문에, 통신자 애플리케이션은 고유 게스트 식별자에 기초하여 가상 영역 내의 게스트 통신자의 그래픽 표현의 현재 위치와 연관하여 시각적 큐를 묘사하는 것이 가능하다.
b. 가상 환경 크리에이터에 의해 중재된 게스트 통신자의 오디오 통합
도 11은 게스트 통신자가 가상 영역 가능화 통신 애플리케이션(20, 22)의 인스턴스를 실행하도록 요구하지 않고 가상 환경 크리에이터(18)의 실시예(122)가 웹 브라우저 애플리케이션(24)의 도메인의 외부의 게스트 통신자와의 오디오 통신 채널(124)을 설정하도록 구성되는 네트워크 통신 환경(10)의 실시예(120)를 도시한다. 가상 환경 크리에이터(122)는 송수신기가 클라이언트 네트워크 노드(12, 14) 중 하나 이상으로부터 수신된 오디오 데이터 스트림으로부터 도출되는 실시간 오디오 데이터 스트림(130)을 게스트 통신자의 디바이스에 송신하고, 게스트 통신자의 디바이스로부터 수신된 오디오 데이터 스트림으로부터 도출되는 실시간 오디오 데이터 스트림을 클라이언트 네트워크 노드(12, 14) 중 하나 이상에 송신할 수 있게 하는 통신 애플리케이션(예를 들어, VOIP 통신 애플리케이션)의 하나 이상의 인스턴스(128)를 실행하는 송수신기(126)를 포함한다.
몇몇 실시예에서, 송수신기(126)는 클라이언트 네트워크 노드(12, 14) 및 게스트 통신자의 디바이스의 각각으로부터 실시간 오디오 스트림을 수신하고, 수신된 오디오 스트림의 각각의 것들의 각각의 믹스를 생성하고, 클라이언트 네트워크 노드(12, 14) 및 게스트 통신자의 디바이스에 각각의 믹스를 전송한다.
다른 실시예에서, 송수신기(126)는 게스트 통신자의 디바이스로부터 수신된 실시간 오디오 스트림(124)을 스폰서링 클라이언트 네트워크 노드(12)로 릴레이한다. 스폰서링 클라이언트 네트워크 노드(12)는 그 자신의 국부적으로 생성된 실시간 오디오 스트림과 게스트 통신자의 실시간 오디오 스트림의 믹스를 생성하고 이 믹스를 가상 영역 피어-투-피어로 다른 클라이언트 네트워크 노드(14)로 전송한다. 스폰서링 클라이언트 네트워크 노드(12)는 또한 가상 영역에서 다른 클라이언트 네트워크 노드(14)로부터 수신된 피어-투-피어 실시간 오디오 스트림과 그 자신의 국부적으로 생성된 실시간 오디오 스트림의 믹스를 생성하고 게스트 통신자의 디바이스에 믹스를 릴레이하는 송수신기(126)에 믹스를 전송한다.
몇몇 실시예에서, 송수신기(126) 상에서 실행되는 통신 애플리케이션(128)은 웹 브라우저 애플리케이션(24)의 도메인의 외부의 게스트 통신자에 의해 동작되는 전화기(92)(예를 들어, 이동 전화 또는 유선 전화)와의 오디오 통신 채널을 설정하도록 동작 가능하다. 이들 실시예에서, 통신 애플리케이션(128)은 통합형 보이스 오버 인터넷 프로토콜(VOIP) 구성 요소를 갖거나 또는 송수신기(126) 상에서 오퍼레이팅하는 개별 VOIP 애플리케이션의 프로그램 인터페이스와 통신한다. VOIP 구성 요소 또는 VOIP 애플리케이션은 세션 제어 프로토콜에 따라 게스트 통신자의 전화기(92)로 호의 셋업 및 해체를 제어한다. 게스트 통신자의 전화기(92)로부터의 발신 호는 가장 가까운 게이트웨이 서버로 로컬 PSTN 네트워크를 통해 송신된다. 게이트웨이 서버는 아날로그 음성 신호를 디지털화하고, 이를 IP 패킷 내로 압축하고, 수신 종단에서 다른 게이트웨이로 네트워크(예를 들어, 인터넷)를 통해 IP 패킷을 송신한다. 송수신기(126) 상의 VOIP 구성 요소 또는 VOIP 애플리케이션은 클라이언트 네트워크 노드 상에서 오퍼레이팅하는 통신 애플리케이션의 인스턴스(20, 22)에 의해 해석될 수 있는 포맷으로 다른 게이트웨이로부터 수신된 IP 패킷을 인코딩하고 클라이언트 네트워크 노드(12, 14) 중 하나 이상에 인코딩된 IP 패킷을 전송한다. 송수신기(126) 상의 VOIP 구성 요소 또는 VOIP 애플리케이션은 또한 클라이언트 네트워크 노드의 하나 이상으로부터 수신된 발신 음성 신호를 오디오 스트림을 경유하여 디지털 오디오로서 IP 네트워크를 통해 전송될 수 있는 IP 패킷으로 인코딩하기 위해 오디오 코덱을 또한 사용한다. 수신 게이트웨이는 IP 패킷을 압축 해제하고 압축 해제된 IP 패킷을 로컬 PSTN 네트워크를 통해 게스트 통신자의 전화기(92)로 송신된 아날로그 신호로 변환한다.
다른 실시예에서, 송수신기(126) 상의 통신 애플리케이션(128)은 게스트 네트워크 노드(16) 상에서 실행되는 비가상 영역 가능화 통신 애플리케이션(94)을 갖는 오디오 통신 채널을 설정한다. 이들 실시예에서, 통신 애플리케이션(128)은 통합형 VOIP 구성 요소를 갖거나 또는 송수신기(126) 상에서 오퍼레이팅하는 개별 VOIP 애플리케이션의 프로그램 인터페이스와 통신한다. 송수신기(126) 상의 VOIP 구성 요소 또는 VOIP 애플리케이션은 세션 제어 프로토콜에 따라 비가상 영역 가능화 통신 애플리케이션(94)을 갖는 호의 셋업 및 해체를 제어한다. 게스트 네트워크 노드(16) 상에서 오퍼레이팅하는 비가상 영역 가능화 통신 애플리케이션(94)은 통상적으로 송수신기(126) 상에서 오퍼레이팅하는 VOIP 구성 요소 또는 VOIP 애플리케이션과 실시간 오디오 데이터 스트림(잠재적으로 예를 들어, 비디오 및 채팅 실시간 데이터 스트림과 같은 다른 실시간 데이터 스트림)과 통신할 수 있는 VOIP 통신 애플리케이션이다.
몇몇 실시예에서, 게스트 노드(16)는 오디오/비디오 스트림을 위한 양방향 UDP 스타일 포트 트래픽을 허용하는 플러그인 다른 브라우저 통신 플랫폼(예를 들어, 자바 플랫폼, 플래시 플랫폼, 실버라이트 플랫폼 또는 HTML 5 플랫폼)을 포함하는 웹 브라우저 애플리케이션을 포함한다. 이들 실시예에서, 브라우저 통신 플랫폼은 통신 애플리케이션(20, 22) 내에 사용된 프로토콜 스택과 유사한 프로토콜 스택을 구현하여 실시간 통신 성능을 용이하게 하는 네이티브 포맷 및 통신 프로토콜에 따라 네트워크 인프라구조 서비스 환경(30)과 통신하기 위해 통신 애플리케이션(20, 22)에 사용된 프로토콜 스택과 유사한 프로토콜 스택을 구현한다.
3. 웹 브라우저 윈도우 내의 공간 통신 세션의 게스트 통신자 시각화
도 12는 게스트 네트워크 노드(16) 상의 웹 브라우저 윈도우(210) 내의 웹 브라우저 애플리케이션에 의해 생성되는 가상 영역 내의 통신자의 그룹 사이의 실시간 채팅 상호 작용을 위한 공간 인터페이스(192)의 예시적인 실시예를 도시한다. 각각의 통신자는 각각의 스프라이트(194, 196, 198, 200, 202)에 의해 그래픽적으로 표현되고, 가상 영역은 직사각형 공간(201)(즉, "웨스트 컨퍼런스" 공간)의 2차원 평면도로 그래픽적으로 표현된다. 통신자가 초기에 가상 영역에 진입할 때, 이들의 스프라이트는 자동으로 가상 영역 내의 사전 결정된 위치(또는 "시트")에 위치된다. 가상 영역은 2개의 뷰스크린 프롭(204, 206) 및 테이블 프롭(208)을 포함한다. 게스트 통신자는 입력 디바이스로 이들을 선택함으로써(예를 들어, 컴퓨터 마우스, 터치 패드, 터치스크린 등으로 프롭을 더블 클릭함으로써) 프롭과 상호 작용한다.
웹 브라우저 윈도우(210)는 역방향 및 정방향 버튼(152, 154), 정지 버튼(156), 홈 버튼(158), 어드레스 바아(160) 및 탐색 박스(162)를 포함하는 브라우저 툴바(150)를 포함한다.
웹 브라우저 윈도우(210)는 또한 공간 통신 툴바(212), 채팅 로그 영역(214), 텍스트 박스(216) 및 송신 버튼(218)과 공간 인터페이스(192)를 통합한다. 게스트 통신자는 텍스트 박스(216) 내에 텍스트 메시지를 입력하고, 송신 버튼(218)을 선택함으로써 현재 웨스트 컨퍼런스 공간(201) 내의 다른 통신자에 텍스트 메시지를 전송할 수 있다. 게스트 네트워크 노드와 다른 클라이언트 네트워크 노드 사이의 채팅 통신은 피어-투-피어일 수 있고 또는 이들은 가상 환경 크리에이터(18)의 동기 회의 서버에 의해 중재될 수 있다. 공간 인터페이스(192) 및 채팅 로그 영역(214)은 몇몇 실시예에서 공간 인터페이스(192)를 은폐하거나 드러내도록 게스트 통신자에 의해 슬라이드 업 및 다운될 수 있는 스플리터(217)에 의해 시각적으로 분리된다.
채팅 로그 영역(214)은 웨스트 컨퍼런스 공간(210)과 연관된 현재의 로그 및 선택적으로 이전의 이벤트를 표시한다. 채팅 로그 영역(214) 내에 표시된 이벤트의 예시적인 세트는 게스트 통신자가 웨스트 컨퍼런스 공간(201) 내의 다른 통신자와 교환하는 텍스트 메시지, 웨스트 컨퍼런스 공간(201) 내의 통신자의 존재 상태의 변화, 웨스트 컨퍼런스 공간(201) 내의 통신자의 스피커 및 마이크로폰 세팅의 변화 및 프롭과 연계하여 공유된 임의의 애플리케이션 및 데이터 파일로의 참조를 포함하는 프롭(204 내지 208)의 상태를 포함한다. 도시된 실시예에서, 이벤트는 이벤트와 연관된 콘텐트(예를 들어, 텍스트 메시지) 또는 이벤트의 서술로 이어지는 통신자의 성명에 의해 라벨 표기된다. 예를 들어, 도 12에 도시된 예에서, 상태 관련 이벤트는 이하와 같이 라벨 표기되는데,
Figure pct00005
여기서, "$"와 "$" 사이의 태그는 통신자, 공유된 애플리케이션 또는 프롭을 식별한다. 게다가, 각각의 이벤트는 연관 이벤트가 개시될 때 일시 및 시간을 식별하는 각각의 타임스탬프(219)와 연관된다.
통상의 인스턴트 메시징 플랫폼(예를 들어, AOL 인스턴트 메신저, MSN 메신저, 야후 메신저, 구글 토크 및 스카이페)과 통합된 실시예에서, 채팅 로그 영역(214)은 통상적으로 엔트리가 타이핑되어 있는 순서로 인터리빙된 2개 이상의 네트워킹된 통신자에 의해 원격으로 타이핑된 엔트리를 포함하는 표준 "채팅 이력"(또한 "인스턴트 메시지 이력"이라 칭함)을 포함한다. 채팅 이력은 통상적으로 다른 통신자의 입력에 대한 어느 시간에 어느 사용자가 특정 입력을 행하는지의 지시와 함께 각각의 통신자의 단말 디스플레이에 표시된다. 이는 통신자가 입력 및 각각의 입력이 이루어져 있는 시간을 독립적으로 뷰잉할 수 있게 함으로써 채팅을 위한 세션 이력을 제공한다.
공간 시각화(192)는 채팅 로그 영역(214) 내에 표시되는 이벤트의 제시를 편성하기 위한 콘텍스트를 제공한다. 예를 들어, 도시된 실시예에서, 각각의 표시된 이벤트는 표시된 이벤트를 소싱하는 통신자의 스프라이트의 외관과 시각적으로 상관하는 각각의 태그로 라벨 표기된다. 특히, 통신자 중 특정 통신자에 의해 소싱된 각각의 이벤트는 그 통신자의 스프라이트의 시각적 외관에 일치하는 그 통신자의 외관(예를 들어, 컬러-코드)을 갖는 각각의 아이콘(230, 232, 234, 236)으로 라벨 표기된다. 이 예에서, 아이콘(230, 234)의 컬러는 Dave의 스프라이트(200)의 바디의 컬러에 일치하고, 아이콘(232)의 컬러는 Camilla의 스프라이트(198)의 바디의 컬러에 일치하고, 아이콘(236)의 컬러는 Josh의 스프라이트(196)의 바디의 컬러에 일치한다.
공간 통신 툴바(212)는 게스트 통신자의 스피커를 토글링 온 및 오프하기 위한 헤드폰 버튼(220), 게스트 통신자의 마이크로폰을 토글링 온 및 오프하기 위한 마이크로폰 버튼(222), 사람을 획득하기 위한 획득 버튼(124), 공간(201)을 포함하는 더 큰 가상 영역의 맵 뷰(map view)를 열기 위한 맵 버튼(226) 및 가상 영역으로의 접속을 재설정하기 위한 재접속 버튼(228)을 포함한다.
사용자가 웨스트 컨퍼런스 공간(201)으로 이동한 후에, 게스트 통신자는 가상 영역 주위로 네비게이팅하고 스폰서링 클라이언트 네트워크 노드(12)에 의해 지정된 능력을 받게 되는 가상 영역 내의 객체와 상호 작용하는 것이 가능하다. 게스트 통신자는 통상적으로 가상 영역 내의 통신자 및 다른 객체와 상호 작용하고 네비게이팅하기 위해 컴퓨터 마우스를 사용한다. 예를 들어, 게스트 통신자는 가상 영역의 시각화에 있어서 특정 위치를 선택함으로써(예를 들어, 더블 클릭) 위치로 네비게이팅할 수 있다. 유사하게, 게스트 통신자는 가상 영역의 시각화에 있어서 객체의 특정 위치를 선택함으로써(예를 들어, 더블 클릭) 가상 영역 내의 객체(예를 들어, 다른 통신자 및 프롭)와 상호 작용할 수 있다.
가상 영역 내의 현재 위치로부터 게스트 통신자의 그래픽 표현을 가상 영역 내의 새로운 현재 위치로 이동시키기 위한 특정 요청의 수신에 응답하여, 가상 영역 크리에이터(18)는 특정 요청에 기초하여 가상 영역 내의 게스트 통신자의 그래픽 표현의 새로운 현재 위치를 판정한다. 인터페이스 사양은 통상적으로 가상 영역의 하나 이상의 구역의 각각의 사양을 포함한다. 전술된 바와 같이, 몇몇 실시예에서, 각각의 구역은 상이한 각각의 유니버설 리소스 로케이터(URL)에 의해 어드레스된다. 이들 실시예에서, 가상 영역 내의 특정 구역의 선택은 선택된 구역의 URL을 포함하는 메시지 내의 가상 환경 크리에이터(18)에 보고된다. 가상 환경 크리에이터는 게스트 통신자가 메시지 내의 URL에 의해 어드레스되는 구역에 진입하는 것을 원한다고 판정한다. 가상 환경 크리에이터(18)는 메시지에 의해 참조된 각각의 URL에 의해 어드레스되는 구역의 특성에 기초하여 메시지에 응답한다. 예를 들어, 가상 환경 크리에이터(18)는 게스트 통신자의 능력이 이러한 영화를 허용하면 선택된 구역 내로 게스트 통신자를 이동시킬 수 있고, 그렇지 않으면 가상 환경 크리에이터(18)는 게스트 통신자가 선택된 구역 내로 이동하는 것을 허용하지 않을 수 있다. 게스트 통신자가 이동하도록 허용되면, 가상 환경 크리에이터(18)는 새로운 현재 위치로 이동된 게스트 통신자의 그래픽 표현을 포함하도록 인터페이스 사양을 업데이트하고 브라우저 애플리케이션(24)에 업데이트된 인터페이스 사양을 송신한다. 가상 환경 크리에이터(18)는 또한 게스트 통신자의 고유 게스트 식별자와 연관하여 가상 영역 내의 그 각각의 현재 위치 및 게스트 통신자의 그래픽 표현의 각각의 사양을 각각의 클라이언트 네트워크 노드에 전송한다. 게스트 식별자는 게스트 네트워크와 클라이언트 네트워크 노드의 하나 이상 사이에 설정된 실시간 통신 채널과 연관된다. 이는 각각의 클라이언트 네트워크 노드(12, 14)가 동일하게 라벨 표기된 실시간 통신 채널로부터 통신 애플리케이션(20, 22)에 의해 추론된 통신자의 상태에 게스트 통신자의 아바타를 일치시키는 것을 허용한다.
게스트 통신자는 게스트 통신자의 스피커 및 마이크로폰 중 하나 또는 모두를 선택적으로 턴온하고 턴오프하기 위해 헤드폰 버튼(220)과 마이크로폰 버튼(222) 중 하나 또는 모두를 토글링할 수 있다. 몇몇 실시예에서, 툴바 버튼(220, 222)이 게스트 네트워크 노드(16) 상의 로컬 오디오 세팅을 제어하여 로컬 사운드 카드로 그리고 그로부터 송신된 오디오 신호가 가능화 또는 불능화되게 된다. 이 방식으로, 비가상 영역 가능화 통신 애플리케이션[예를 들어, 도 4 및 도 6에 도시된 애플리케이션(94)]을 통한 게스트 통신자의 오디오 통신은 웹 브라우저 애플리케이션 내의 클라이언트측 스크립트를 통해 제어될 수 있다. 다른 실시예에서, 툴바 버튼(220, 222)의 상태의 변화는 이벤트 핸들러에 의해 검출되고, 이는 가상 환경 크리에이터(18)에 변화를 보고하기 위해 브라우저 스크립트를 트리거링한다. 이에 응답하여, 가상 환경 크리에이터(18)는 클라이언트 네트워크 노드(12, 14) 상에서 오퍼레이팅하는 가상 영역 가능화 통신 애플리케이션(20, 22)의 인스턴스로 오디오 제어 메시지를 전송한다. 오디오 제어 메시지는 가상 영역 가능화 통신 애플리케이션(20, 22)이 게스트 통신자의 스피커 및 마이크로폰 채널의 상태를 변화시켜 대응 툴바 버튼(220, 222)의 상태에 합치할 수 있게 한다.
도 13을 참조하면, 획득 버튼(224)의 게스트 통신자의 선택에 응답하여, 통신자의 리스트가 개별 프레임(238)에 표시된다. 통신자는 2개의 그룹, 즉 현재 영역(즉, 웨스트 컨퍼런스)에 있는 모든 통신자를 식별하는 "웨스트 컨퍼런스 내의 사람"이라 라벨 표기된 그룹 및 현재 영역에 존재하지 않는 더 큰 영역(현재 영역을 포함하는 랜싱 에이비에이션) 내에 존재하는 모든 통신자를 식별하는 "랜싱 에이비에이션"으로 라벨 표기된 제 2 그룹으로 분할된다. 각각의 가상 영역은 현재 공간 내에 존재하는 통신자의 그래픽 표현을 포함하는 각각의 1차원 공간(242, 244)에 의해 표현된다. 몇몇 실시예에서, 각각의 가상 영역(242, 244) 내의 통신자의 그래픽 표현의 공간 위치의 순서화(예를 들어, 상부로부터 저부)는 이들이 가상 영역의 각각의 존재를 설정할 때 시간의 견지에서 통신자의 일시적 순서화의 공간적 가시화에 대응한다. 도시된 실시예에서, 각각의 통신자는 통신자의 각각의 사용자 성명(즉, "Josh", "Dave", "Camilla", "Karou", "Arkadi", "Yuka", "Teca", "Yoshi" 및 "Adam")으로 라벨 표기된 각각의 원형 스프라이트에 의해 표현된다.
각각의 통신자가 통신하도록 구성된 다양한 통신 채널의 상태는 가상 영역(242, 244) 내의 통신자의 공간적 시각화에 나타내 있는 시각적 큐에 의해 드러난다.
예를 들어, 가상 환경 크리에이터(18)는 가상 영역 내의 통신자의 현재 오디오 상태를 반영하기 위해 통신 세션의 시각화를 업데이트한다. 오디오 싱크 통신 채널을 활성화하기 위해 클라이언트 통신자의 소정의 하나로부터 명령에 응답하여, 가상 영역 크리에이터(18)는 소정의 통신자가 오디오 싱크로서 구성되는 시각적 지시를 갖는 소정의 통신자의 그래픽 표현을 묘사하기 위한 사양을 인터페이스 사양에 포함시킨다. 오디오 소스 통신 채널을 활성화하기 위해 클라이언트 통신자 중 소정의 하나로부터의 명령에 응답하여, 가상 영역 크리에이터(18)는 소정의 통신자가 오디오 소스로서 구성되는 시각적 지시를 갖는 가상 영역 내의 소정의 클라이언트 통신자의 그래픽 표현을 묘사하기 위한 사양을 인터페이스 사양에 포함시킨다. 게스트 통신자가 통신하도록 레지스터되는 게스트 오디오 통신 채널의 상태를 변경하기 위한 특정 요청의 수신에 응답하여, 가상 환경 크리에이터는 게스트 오디오 통신 채널의 변경된 상태의 시각적 지시를 갖는 가상 영역 내의 게스트 통신자의 그래픽 표현을 묘사하기 위한 각각의 사양을 클라이언트 네트워크 노드의 각각에 전송한다.
몇몇 실시예에서, 통신자의 로컬 스피커 채널의 온 또는 오프 상태는 통신자의 스프라이트 상의 헤드폰 그래픽(245)의 존재 또는 부재에 의해 묘사된다. 따라서, 스프라이트에 의해 표현되는 통신자의 스피커가 온일 때, 헤드폰 그래픽(245)이 존재하고(스프라이트 Josh, Dave, Camilla, Karou, Arkadi 및 Teca), 통신자의 스피커가 오프일 때 전화기 그래픽(245)은 부재이다(스프라이트, Yuka, Yoshi 및 Adam 참조). 통신자의 마이크로폰의 온 또는 오프 상태는 통신자의 스프라이트 상의 마이크로폰 그래픽(247)의 존재 또는 부재에 의해 묘사된다. 따라서, 마이크로폰이 온될 때, 마이크로폰 그래픽(247)이 존재하고(스프라이트 Karou 및 Teca 참조), 마이크로폰이 오프될 때, 마이크로폰 그래픽(247)이 부재이다(스프라이트, Josh, Dave, Camilla, Arkadi, Yuka, Yoshi 및 Adam 참조). 헤드폰 그래픽(245) 및 마이크로폰 그래픽(247)은 통신자의 소리 재생 및 마이크포론 디바이스의 상태의 시각적 큐를 제공한다. 통신자의 오디오 통신 상태를 나타내는 부가의 시각적 큐가 제공될 수 있다. 예를 들어, 몇몇 실시예에서, 방사원은 통신자가 통신자의 마이크로폰 그래픽의 상태를 지시하기 위해 이야기할 때 통신자의 스프라이트 주위에 묘사된다.
통신자의 텍스트 채팅 채널의 액티비티 상태는 통신자의 스프라이트(스프라이트 아담 참조)에 인접한 핸드 그래픽(249)의 존재 또는 부재에 의해 묘사된다. 따라서, 통신자가 다른 네트워크 노드에 텍스트 채팅 데이터를 전송할 때 핸드 그래픽(249)이 존재하고, 통신자가 텍스트 채팅 데이터를 전송하지 않을 때 핸드 그래픽(249)이 존재하지 않는다. 몇몇 실시예에서, 텍스트 채팅 데이터는 단지 키보드 키가 눌러질 때에만 전송되는데, 이 경우에 통신자의 텍스트 채널의 시각화는 핸드 그래픽(249)의 플래시 온 및 오프로서 나타난다.
브라우저 프레임(238)(도 13 참조) 내의 이용 가능한 통신자의 리스트 내의 통신자 중 하나의 게스트 통신자 선택에 응답하여, 플랫폼은 각각의 구역 내에 게스트 통신자를 참여시키기 위해 선택된 통신자에 초대장을 전송한다. 예를 들어, 도 14는 게스트 통신자가 프레임(283) 내에 표시된 이용 가능한 통신자의 리스트 내의 "Arkadi"를 선택하는 상황에서 플랫폼에 의해 생성되는 팝업 브라우저 윈도우(241)를 도시한다. 송신 버튼(143)의 선택에 응답하여, 플랫폼은 웨스트 컨퍼런스 공간(201)에 게스트 통신자를 참여하도록 이름 Arkadi와 연관된 통신자에 초대장을 전송한다(예를 들어, "Please join me in West Conference-Josh")
몇몇 실시예에서, 인터페이스 사양은 하나 이상의 프롭을 포함한다. 각각의 프롭은 통상적으로 클라이언트와 게스트 네트워크 노드 사이의 통신을 위한 각각의 통신 채널을 표현한다. 각각의 프롭은 통상적으로 상이한 각각의 범용 리소스 로케이터(URL)에 의해 어드레스 가능하다. URL의 각각의 것을 참조하는 웹 브라우저 애플리케이션(24)으로부터 특정 메시지의 수신에 응답하여, 가상 환경 크리에이터(18)는 특정 명령에 의해 참조되는 각각의 URL에 의해 어드레스 가능한 프롭의 특성에 기초하여 특정 메시지에 응답한다.
예를 들어, 가상 영역 내의 뷰스크린 프롭의 선택에 대응하는 특정 메시지를 웹 브라우저 애플리케이션으로부터 수신하는 것에 응답하여, 가상 환경 크리에이터(18)는 가상 영역에 존재하는 클라이언트 네트워크 노드의 각각과 게스트 네트워크 노드 사이의 애플리케이션 공유 세션을 개시할 수 있다. 몇몇 실시예에서, 가상 환경 크리에이터(18)는 통상적으로 송수신기 또는 다른 중앙 노드에 의해 캡처되는 애플리케이션 공유 세션에 대응하는 개별 비디오 스트림의 URL을 웹 브라우저 애플리케이션에 서빙한다. 비디오 스트림은 통상적으로 인코딩되어 HTTP 스트리밍을 경유하여 웹 브라우저 애플리케이션에 서빙된다. 웹 브라우저 애플리케이션은 가상 영역을 나타내는 HTML 문서 내에 비디오 스트림을 매립할 수 있고 예를 들어 비디오 플러그인, HTML5 비디오 태그 또는 플래시 플레이어와 같은 표준 비디오 디스플레이 기술을 사용하여 비디오 스트림을 렌더링할 수 있다.
몇몇 실시예에서, 뷰스크린 프롭은 통신자가 애플리케이션 공유 채널을 통해 애플리케이션을 공유하는지 여부를 지시하는 시각적 큐를 제공한다. 뷰스크린 프롭의 게스트 통신자의 선택에 응답하여, 게스트 통신자의 스프라이트는 자동으로 뷰스크린 프롭에 인접한 가상 영역의 그래픽 표현 내의 위치로 이동된다. 뷰스크린 프롭에 인접한 게스트 통신자의 스프라이트의 위치는 통신자가 가상 영역 내의 다른 통신자와 애플리케이션을 현재 공유하는지 또는 공유하려고 하는지를 지시한다. 뷰스크린 프롭의 그래픽 설명은 활성 애플리케이션 공유 세션이 발생하는지 여부에 따라 변경된다. 예를 들어, 뷰스크린의 도시된 컬러는 활성 애플리케이션 공유 세션 중에 밝은색으로부터 어떠한 애플리케이션 공유도 발생하지 않을 때 어두운색으로 변경될 수 있다. 애플리케이션 공유 프로세스에 관한 부가의 상세는 2009년 1월 15일 출원된 미국 특허 출원 제 12/354,709호 및 2009년 4월 3일 출원된 미국 특허 출원 제 12/418,270호의 도 26 내지 도 28과 연계하여 설명되어 있다.
가상 영역 내의 테이블 프롭의 선택에 대응하는 특정 요청을 웹 브라우저 애플리케이션으로부터 수신하는 것에 응답하여, 가상 환경 크리에이터(18)는 가상 영역 내에 존재하는 클라이언트 네트워크 노드의 각각과 게스트 네트워크 노드 사이의 파일 공유 세션을 개시할 수 있다. 몇몇 실시예에서, 테이블 프롭은 통신자가 데이터 파일 공유 채널을 통해 데이터 파일을 공유하는지 공유하고 있는지 여부를 지시하는 시각적 큐를 제공한다. 예를 들어, 테이블 프롭의 게스트 통신자의 선택에 응답하여, 게스트 통신자의 스프라이트는 자동적으로 테이블에 인접한 가상 영역의 그래픽 표현 내의 위치로 이동된다. 테이블 프롭에 인접한 게스트 통신자의 스프라이트의 위치는 게스트 통신자가 가상 영역에서 다른 통신자와 데이터 파일을 현재 공유하는지 또는 공유하려고 하는지를 지시한다. 이 프로세스에서, 게스트 통신자는 게스트 네트워크 노드(16)로부터 가상 환경 크리에이터(18)에 의해 유지되는 저장소로 데이터 파일을 업로드한다. 업로드를 위한 데이터 파일의 게스트 통신자의 선택에 응답하여, 가상 환경 크리에이터(18)는 저장소 내에 업로드된 파일을 저장하고 테이블 프롭과 데이터 파일을 연관시키는 데이터베이스 기록을 생성한다. 데이터 파일이 게스트 통신자에 의해 공유된 후에, 테이블 프롭의 상태는 깨끗한 테이블 표면을 갖는 것으로부터 테이블 표면 상에 데이터 파일의 그래픽 표현을 갖는 것으로 변경된다. 가상 영역 내의 다른 통신자는 데이터 파일의 그래픽 표현을 선택함으로써 업로드된 데이터 파일의 콘텐트를 뷰잉하는 것이 가능하고, 가상 영역과 연관된 지배 규칙을 받아 선택적으로 데이터 파일을 수정하거나 삭제하는 것이 가능할 수 있다. 파일 공유 프로세스에 관한 부가의 상세는 2009년 1월 15일 출원된 미국 특허 출원 제 12/354,709호의 도 22 및 도 23과 연계하여 설명되어 있다.
몇몇 실시예에서, 게스트 통신자가 오디오 구역/채널 내로 직접 VOIP 호를 개시할 수 있게 하는 발신 번호(예를 들어, 전화 번호 또는 스카이페 ID와 같은 고유 VOIP ID)는 영역, 룸 또는 영역 또는 룸 내의 프롭과 연관될 수 있다. 접속될 때, 게스트 통신자는 영역, 룸 또는 프롭 내에 존재하는 아바타에 의해 또는 접속의 유형에 일치하는 다른 표현(예를 들어, 게스트 통신자가 그 또는 그녀의 이동 전화를 사용하여 발신할 때 이동 전화)에 의해 그래픽적으로 표현될 수 있다. 몇몇 실시예에서, 허가 검사는 호를 개시하는 게스트 노드가 발신 번호와 연관된 구역 내부의 리소스로의 액세스를 갖는지를 판정하도록 단언한다. 이들 실시예는 게스트 통신자가 가상 영역 내부의 누군가와 직접 통신을 개시할 수 있게 하고 또는 통신 애플리케이션(20, 22)의 각각의 것을 사용하여 통신자가 영역에 액세스할 수 있게 한다. 이들 실시예는 발신 구역 내의 저장된 정보, 파일 또는 오디오의 검색 및 청각 소비를 가능하게 할 뿐만 아니라, 구역 내의 다른 클라이언트 구역과 통신하기 위한 액세스를 가능하게 하기 위한 특정 유틸리티를 제공할 수 있다.
IV. 예시적인 운영 환경
통신자는 통상적으로 각각의 네트워크 노드로부터 공유된 가상 영역 통신 환경에 액세스한다. 이들 네트워크 노드의 각각은 통상적으로 범용 컴퓨터 시스템 또는 전용 통신 컴퓨터 시스템(또는 "콘솔")에 의해 구현된다. 각각의 네트워크 노드는 각각의 네트워크에서 가상 영역의 각각의 뷰를 제시하고 다른 네트워크 노드와의 실시간 데이터 스트림 접속을 설정하는 통신 프로세스를 실행한다.
도 15는 컴퓨터 시스템(320)에 의해 구현되는 클라이언트 네트워크 노드의 예시적인 실시예를 도시한다. 컴퓨터 시스템(320)은 프로세싱 유닛(322), 시스템 메모리(324) 및 프로세싱 유닛(322)을 컴퓨터 시스템(320)의 다양한 구성 요소에 결합하는 시스템 버스(326)를 포함한다. 프로세싱 유닛(322)은 그 각각이 다양한 상업적으로 입수 가능한 컴퓨터 프로세서 중 임의의 하나의 형태일 수 있는 하나 이상의 데이터 프로세서를 포함할 수 있다. 시스템 메모리(324)는 소프트웨어 애플리케이션에 이용 가능한 어드레스를 규정하는 소프트웨어 애플리케이션 어드레싱 공간과 통상적으로 연관되는 하나 이상의 컴퓨터 판독 가능 매체를 포함한다. 시스템 메모리(324)는 컴퓨터 시스템(320) 및 랜덤 액세스 메모리(RAM)를 위한 시동 루틴을 포함하는 기본 입력/출력 시스템(BIOS)을 저장하는 판독 전용 메모리(ROM)를 포함할 수 있다. 시스템 버스(326)는 메모리 버스, 주변 버스 또는 로컬 버스일 수 있고, PCI, VESA, 마이크로채널 ISA 및 EISA를 포함하는 임의의 다양한 버스 프로토콜과 호환성이 있을 수 있다. 컴퓨터 시스템(320)은 시스템 버스(326)에 접속되는 지속적인 저장 메모리(328)(예를 들어, 하드 드라이브, 플로피 드라이버, CD ROM 드라이브, 자기 테이프 드라이브, 플래시 메모리 디바이스 및 디지털 비디오 디스크)를 또한 포함하고, 데이터, 데이터 구조 및 컴퓨터 실행 가능 명령을 위한 비휘발성 또는 지속적인 저장 장치를 제공하는 하나 이상의 컴퓨터 판독 가능 매체 디스크를 포함한다.
통신자는 하나 이상의 입력 디바이스(330)(예를 들어, 하나 이상의 키보드, 컴퓨터 마우스, 마이크로폰, 카메라, 조이스틱, Wii 입력 디바이스와 같은 물리적 모션 센서 및 터치패드)를 사용하여 컴퓨터 시스템(320)과 상호 작용(예를 들어, 명령 또는 데이터 입력)할 수 있다. 정보는 디스플레이 제어기(334)에 의해 제어되는 디스플레이 모니터(332) 상에서 통신자에 제시되는 그래픽 사용자 인터페이스(GUI)를 통해 제시될 수 있다. 컴퓨터 시스템(320)은 다른 입력/출력 하드웨어(예를 들어, 스피커 및 프린터와 같은 주변 출력 디바이스)를 또한 포함할 수 있다. 컴퓨터 시스템(320)은 네트워크 어댑터(336)(또한 "네트워크 인터페이스 카드" 또는 NIC라 칭함)를 통해 다른 네트워크 노드에 접속된다.
애플리케이션 프로그래밍 인터페이스(338)(API), 운영 체제(OS)(340)(예를 들어, 미국 워싱턴주 레드몬드 소재의 마이크로소프트 코포레이션으로부터 입수 가능한 Windows XP
Figure pct00006
운영 체제), 통신 애플리케이션(26), 드라이버(342)(예를 들어, GUI 드라이버), 네트워크 전송 프로토콜(344) 및 데이터(예를 들어, 입력 데이터, 출력 데이터, 프로그램 데이터, 레지스트리 및 구성 세팅)를 포함하는 다수의 프로그램 모듈이 시스템 메모리(324)에 저장될 수 있다.
몇몇 실시예에서, 가상 환경 크리에이터(18)의 하나 이상의 서버 네트워크 노드는 각각의 서버 네트워크 노드가 통상적으로 하나 이상의 서버 소프트웨어 애플리케이션을 포함하는 것을 제외하고는, 클라이언트 네트워크 노드(320)와 동일한 유형의 각각의 범용 컴퓨터 시스템에 의해 구현된다.
다른 실시예에서, 가상 환경 크리에이터(18)의 하나 이상의 서버 네트워크 노드가 에지 서비스(예를 들어, 라우팅 및 스위칭)를 수행하는 각각의 네트워크 디바이스에 의해 구현된다.
V. 결론
본 명세서에 설명된 실시예는 실시간 네트워크 통신을 시각화하기 위한 개량된 시스템 및 방법을 제공한다. 특히, 이들 실시예는 공간 통신 환경을 위한 웹 브라우저 인터페이스를 제공한다. 이 특징은 임의의 특정화된 통신 소프트웨어를 설치할 필요 없이 그리고 특정 프록시 또는 방화벽 추가 또는 예외를 필요로 하지 않고 통신자가 몰입형 공간 통신 환경에서 다른 통신자와 상호 작용할 수 있게 한다.
다른 실시예가 청구범위의 범주 내에 있다.

Claims (56)

  1. 방법에 있어서,
    각각의 네트워크 노드(12)로부터의 가상 영역(virtual area)(32) 내에서 오퍼레이팅(operating)하는 요청 통신자로부터 수신된 요청에 응답하여, 가상 영역(32)을 어드레스(addressing)하는 유니버설 리소스 로케이터(universal resource locator: URL)를 생성하는 단계와,
    소정의 통신자에 의해 오퍼레이팅되는 소정의 네트워크 노드(16) 상에서 실행되는 웹 브라우저 애플리케이션(24)에 의해 URL에 어드레스되는 요청에 응답하여, 가상 영역(32) 내의 실시간 통신 세션(relative communication session) 내의 요청 통신자와 소정의 통신자를 인터페이스(interfacing)하는 단계를 포함하고,
    상기 인터페이스 단계는
    가상 영역(32)의 그래픽 표현(graphical representation)(66) 및 상기 가상 영역(32)의 그래픽 표현(66)과 공간적으로 관련하여 가상 영역(32) 내에 존재하는 각각의 통신자의 각각의 그래픽 표현(62, 64, 70)의 사양(interface specification)을 포함하는 인터페이스 사양을 웹 브라우저 애플리케이션(24)에 전송하는 단계, 및
    인터페이스 사양의 각각의 요소와 연계하여 웹 브라우저 애플리케이션(24)으로부터 수신된 메시지에 응답하는 단계를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 인터페이스 단계는 웹 브라우저 애플리케이션(24)에 의해 실행 가능하고 웹 브라우저 애플리케이션(24)에 의해 해석 가능한 포맷으로 인터페이스 사양을 변환하도록 동작 가능한 렌더링 엔진을 소정의 네트워크 노드에 송신하는 단계를 포함하는
    방법.
  3. 제 2 항에 있어서,
    상기 전송 단계는 확장 마크업 언어(XML) 포맷으로 웹 브라우저 애플리케이션(24)에 인터페이스 사양을 전송하는 단계를 포함하고, 렌더링 엔진은 XML 포맷으로부터 하이퍼 텍스트 마크업 언어(HTML) 인터페이스 사양으로 인터페이스 사양을 변환하고 웹 브라우저 프레임 내에 HTML 사양을 렌더링하도록 동작 가능한
    방법.
  4. 제 1 항에 있어서,
    상기 인터페이스 사양은 가상 영역(32)의 다중 구역의 각각의 사양을 포함하고, 각각의 구역은 상이한 각각의 유니버설 리소스 로케이터(URL)에 의해 어드레스되는
    방법.
  5. 제 4 항에 있어서,
    상기 인터페이스 단계는
    가상 영역(32)의 구역 중 특정의 구역을 어드레스하는 URL에 어드레스되는 웹 브라우저 애플리케이션(24)으로부터의 요청에 응답하여, 가상 영역(32)의 특정 구역에 소정의 통신자를 인터페이스하는 단계를 포함하는
    방법.
  6. 제 4 항에 있어서,
    상기 인터페이스 단계는 특정 메시지에 의해 참조된 각각의 URL에 의해 어드레스되는 구역의 특성에 기초하여 URL의 각각의 것을 참조하는 웹 브라우저 애플리케이션(24)으로부터의 특정 메시지에 응답하는 단계를 포함하는
    방법.
  7. 제 1 항에 있어서,
    상기 요청 통신자로부터 수신된 요청은 웹 브라우저 애플리케이션(24)으로부터 URL에 어드레스되는 요청에 응답하여 소정의 통신자에 제시되어야 하는 가상 영역(32)의 콘텍스트의 사양을 포함하는
    방법.
  8. 제 7 항에 있어서,
    상기 가상 영역(32)은 다중 구역을 포함하고, 상기 요청 통신자로부터 수신된 요청은 웹 브라우저 애플리케이션(24)으로부터 URL에 어드레스되는 요청에 응답하여 소정의 통신자에 제시되어야 하는 구역 중 특정의 구역을 지정하는
    방법.
  9. 제 7 항에 있어서,
    상기 요청 통신자로부터 수신된 요청은 웹 브라우저 애플리케이션(24)으로부터 URL에 어드레스되는 요청에 응답하여 소정의 통신자에 제시되어야 하는 가상 영역(32) 내의 프롭(prop)(204, 208)을 지정하는
    방법.
  10. 제 9 항에 있어서,
    상기 요청 통신자로부터 수신된 요청은 웹 브라우저 애플리케이션(24)으로부터 URL에 어드레스되는 요청에 응답하여 소정의 통신자에 제시되어야 하는 프롭(204, 208)과 연계하여 공유되는 특정 문서를 지정하는
    방법.
  11. 제 1 항에 있어서,
    상기 인터페이스 사양은 통신자의 각각의 현재 통신 상태를 지시하는 시각적 큐(visual cues)를 묘사하기 위한 사양을 포함하고, 각각의 통신 상태는 네트워크 노드(12, 16)의 각각의 것이 통신하도록 구성되는 각각의 통신 채널의 상태에 대응하는
    방법.
  12. 제 1 항에 있어서,
    상기 인터페이스 사양은 하나 이상의 프롭(204, 208)을 포함하고, 각각의 프롭은 네트워크 노드(12, 16) 사이의 통신을 위한 각각의 통신 채널을 표현하고, 각각의 프롭은 상이한 각각의 유니버설 리소스 로케이터(URL)에 의해 어드레스 가능하고, URL의 각각의 것을 참조하는 웹 브라우저 애플리케이션(24)으로부터의 특정 메시지의 수신에 응답하여, 인터페이스 단계는 특정 메시지에 의해 참조된 각각의 URL에 의해 어드레스 가능한 프롭의 특성에 기초하여 특정 메시지에 응답하는 단계를 포함하는
    방법.
  13. 제 1 항에 있어서,
    가상 영역(32) 내의 뷰스크린 프롭의 선택에 대응하는 특정 메시지를 웹 브라우저 애플리케이션(24)으로부터 수신하는 것에 응답하여, 소정의 네트워크 노드와 적어도 하나의 다른 네트워크 노드 사이에 애플리케이션 공유 세션을 개시하는 단계를 추가로 포함하는
    방법.
  14. 제 1 항에 있어서,
    가상 영역(32) 내의 테이블 프롭의 선택에 대응하는 특정 메시지를 웹 브라우저 애플리케이션(24)으로부터 수신하는 것에 응답하여, 소정의 네트워크 노드와 요청 통신자의 각각의 네트워크 노드 사이의 파일 공유 세션을 개시하는 단계를 추가로 포함하는
    방법.
  15. 제 1 항에 있어서,
    상기 인터페이스 사양은 소정의 통신자가 가상 영역(32) 내의 프레즌스(presence)를 어디에 설정할지 지정하는 것을 가능하게 하는 네비게이션 제어부(126)의 제시(presentation)의 사양을 포함하는
    방법.
  16. 제 15 항에 있어서,
    상기 네비게이션 제어부(126)의 제시의 사양은 가상 영역(32)의 맵 뷰(map view)의 사양을 포함하는
    방법.
  17. 제 1 항에 있어서,
    상기 인터페이스 사양은 소정의 통신자가 적어도 하나의 다른 통신자와의 상호 작용을 관리하는 것을 가능하게 하는 상호 작용 제어부(220, 222, 124)의 제시의 사양을 포함하는
    방법.
  18. 제 17 항에 있어서,
    상기 상호 작용 제어부(220, 222, 124)의 제시의 사양은 소정 통신자가 실시간 통신 세션 내의 요청 통신자와 인터페이스하는 소정의 네트워크 노드(16)의 오디오 디바이스의 상태의 시각적 지시의 사양을 포함하는
    방법.
  19. 제 1 항에 있어서,
    상기 인터페이스 사양은 가상 영역(32)의 통신자의 상호 작용을 수반하는 각각의 이벤트를 서술하는 이벤트 서술의 로그의 제시의 사양을 포함하는
    방법.
  20. 제 19 항에 있어서,
    상기 이벤트 서술의 로그의 제시의 사양은 이벤트의 로그가 소정의 통신자에 제시되는 채팅 로그 영역(214)의 사양을 포함하는
    방법.
  21. 방법에 있어서,
    가상 영역(32)의 그래픽 표현에 공간적으로 관련하여 각각의 클라이언트 통신자의 각각의 그래픽 표현을 포함하는 공간 시각화(spatial visualization)와 연관하여 피어-투-피어(peer-to-peer) 실시간 데이터 스트림을 교환하는 각각의 클라이언트 네트워크 노드(12, 14)를 오퍼레이팅하는 클라이언트 통신자들 사이의 실시간 통신 세션을 관리하는 단계 - 상기 관리 단계는 가상 영역(32) 내의 클라이언트 통신자의 그래픽 표현의 각각의 위치를 판정하는 단계를 포함함 - 와,
    실시간 통신 세션과 게스트 통신자를 인터페이스하는 단계를 포함하고,
    상기 게스트 통신자는 게스트 네트워크 노드(16) 상의 웹 브라우저 애플리케이션(24)을 오퍼레이팅하고, 상기 인터페이스 단계는 가상 영역(32)의 그래픽 표현(66) 및 가상 영역(32) 내의 클라이언트 통신자 및 이들의 각각의 현재 위치의 그래픽 표현의 사양을 포함하는 인터페이스 사양을 게스트 네트워크 노드(16)에 전송하는 단계를 포함하고, 상기 인터페이스 단계는 인터페이스 사양의 각각의 요소와 연계하여 웹 브라우저 애플리케이션(24)으로부터 수신된 메시지에 응답하는 단계를 추가로 포함하는
    방법.
  22. 제 21 항에 있어서,
    상기 인터페이스 단계는 웹 브라우저 애플리케이션(24)에 의해 실행 가능하고 웹 브라우저 애플리케이션(24)에 의해 해석 가능한 포맷으로 인터페이스 사양을 변환하도록 동작 가능한 렌더링 엔진을 게스트 네트워크 노드(16)에 송신하는 단계를 포함하는
    방법.
  23. 제 22 항에 있어서,
    상기 전송 단계는 확장 마크업 언어(XML) 포맷으로 웹 브라우저 애플리케이션(24)에 인터페이스 사양을 전송하는 단계를 포함하고, 렌더링 엔진은 XML 포맷으로부터 하이퍼 텍스트 마크업 언어(HTML) 인터페이스 사양으로 인터페이스 사양을 변환하고 웹 브라우저 프레임 내에 HTML 사양을 렌더링하도록 동작 가능한
    방법.
  24. 제 21 항에 있어서,
    상기 인터페이스 사양은 가상 영역(32)의 하나 이상의 구역의 각각의 사양을 포함하고, 각각의 구역은 상이한 각각의 유니버설 리소스 로케이터(URL)에 의해 어드레스되고, 상기 응답 단계는 특정 메시지에 의해 참조된 각각의 URL에 의해 어드레스되는 구역의 특성에 기초하여 URL의 각각의 것들을 참조하는 웹 브라우저 애플리케이션(24)으로부터 특정 메시지에 응답하는 단계를 포함하는
    방법.
  25. 제 21 항에 있어서,
    상기 인터페이스 사양은 클라이언트 통신자의 각각의 현재 통신 상태를 지시하는 시각적 큐를 묘사하기 위한 사양을 포함하고, 각각의 통신 상태는 클라이언트 네트워크 노드(12, 14)의 각각의 것이 통신하도록 구성되는 각각의 통신 채널의 상태에 대응하는
    방법.
  26. 제 25 항에 있어서,
    오디오 싱크 통신 채널을 활성화하기 위해 클라이언트 통신자 중 소정의 통신자로부터 메시지에 응답하여, 소정의 통신자가 오디오 싱크로서 구성되는 시각적 지시를 갖는 소정의 통신자의 그래픽 표현을 묘사하기 위한 사양을 인터페이스 사양에 포함시키는 단계를 추가로 포함하는
    방법.
  27. 제 25 항에 있어서,
    오디오 소스 통신 채널을 활성화하기 위해 클라이언트 통신자 중 소정의 통신자로부터 메시지에 응답하여, 소정의 통신자가 오디오 소스로서 구성되는 시각적 지시를 갖는 가상 영역(32) 내의 소정의 클라이언트 통신자의 그래픽 표현을 묘사하기 위한 사양을 인터페이스 사양에 포함시키는 단계를 추가로 포함하는
    방법.
  28. 제 25 항에 있어서,
    게스트 통신자가 통신하도록 레지스터되는 게스트 오디오 통신 채널의 상태를 변경하도록 특정 메시지를 웹 브라우저 애플리케이션(24)으로부터 수신하는 단계, 및
    특정 메시지에 응답하여, 게스트 오디오 통신 채널의 변경된 상태의 시각적 지시를 갖는 가상 영역(32) 내의 게스트 통신자의 그래픽 표현을 묘사하기 위한 각각의 사양을 각각의 클라이언트 네트워크 노드(12, 14)에 전송하는 단계를 추가로 포함하는
    방법.
  29. 제 21 항에 있어서,
    가상 영역(32) 내의 각각의 위치에 게스트 통신자의 그래픽 표현의 사양을 인터페이스 사양에 포함시키는 단계를 추가로 포함하는
    방법.
  30. 제 29 항에 있어서,
    가상 영역(32) 내의 현재 위치로부터 가상 영역(32) 내의 새로운 현재 위치로 게스트 통신자의 그래픽 표현을 이동시키기 위해 특정 메시지를 웹 브라우저 애플리케이션(24)으로부터 수신하는 단계,
    특정 메시지에 기초하여 가상 영역(32) 내의 게스트 통신자의 그래픽 표현의 새로운 현재 위치를 판정하는 단계, 및
    브라우저 애플리케이션에 업데이트를 송신하는 단계를 추가로 포함하고,
    상기 업데이트는 새로운 현재 위치로 이동된 게스트 통신자의 그래픽 표현을 반영하는 인터페이스 사양에 대한 수정을 포함하는
    방법.
  31. 제 30 항에 있어서,
    게스트 통신자의 고유 게스트 식별자와 연계하여 가상 영역(32) 내의 그 각각의 현재 위치 및 게스트 통신자의 그래픽 표현의 각각의 사양을 각각의 클라이언트 네트워크 노드(12, 14)에 전송하는 단계를 추가로 포함하고, 게스트 식별자는 게스트 네트워크 노드(16)와 하나 이상의 클라이언트 네트워크 노드(12, 14) 사이에 설정된 실시간 통신 채널과 연관되는
    방법.
  32. 제 21 항에 있어서,
    상기 인터페이스 사양은 하나 이상의 프롭을 포함하고, 각각의 프롭은 클라이언트와 게스트 네트워크 노드(16) 사이의 통신을 위한 각각의 통신 채널을 표현하고, 각각의 프롭은 상이한 각각의 유니버설 리소스 로케이터(URL)에 의해 어드레스 가능하고, URL 중 각각의 것을 참조하는 웹 브라우저 애플리케이션(24)으로부터 특정 메시지의 수신에 응답하여, 상기 응답 단계는 특정 메시지에 의해 참조된 각각의 URL에 의해 어드레스 가능한 프롭의 특정에 기초하여 특정 메시지에 응답하는 단계를 포함하는
    방법.
  33. 제 21 항에 있어서,
    웹 브라우저 애플리케이션(24)으로부터 가상 영역(32) 내의 뷰스크린 프롭의 선택에 대응하는 특정 메시지를 수신하는 것에 응답하여, 가상 영역(32) 내에 존재하는 각각의 클라이언트 네트워크 노드(12, 14)와 게스트 네트워크 노드(16) 사이에 애플리케이션 공유 세션을 개시하는 단계를 추가로 포함하는
    방법.
  34. 제 21 항에 있어서,
    웹 브라우저 애플리케이션(24)으로부터 가상 영역(32) 내의 테이블 프롭의 선택에 대응하는 특정 메시지를 수신하는 것에 응답하여, 가상 영역(32) 내에 존재하는 각각의 클라이언트 네트워크 노드(12, 14)와 게스트 네트워크 노드(16) 사이에 파일 공유 세션을 개시하는 단계를 추가로 포함하는
    방법.
  35. 제 21 항에 있어서,
    게스트 네트워크 노드(16)와 클라이언트 네트워크 노드(12, 14) 중 하나 이상 사이의 실시간 통신 채널과 연관된 고유 게스트 식별자와 게스트 통신자를 레지스터하는 단계를 추가로 포함하고, 상기 관리 단계는 게스트 식별자와 연관하여 가상 영역(32) 내의 그 각각의 현재 위치 및 게스트 식별자의 그래픽 표현의 각각의 사양을 클라이언트 네트워크 노드(12, 14)의 각각에 전송하는 단계를 포함하는
    방법.
  36. 제 21 항에 있어서,
    상기 인터페이스 사양은 게스트 통신자가 가상 영역(32) 내의 존재를 어디에 설정할지 지정하는 것을 가능하게 하는 네비게이션 제어부(126)의 제시의 사양을 포함하는
    방법.
  37. 제 21 항에 있어서,
    상기 인터페이스 사양은 게스트 통신자가 네트워크 통신 환경에서 클라이언트 통신자 중 하나 이상과의 상호 작용을 관리하는 것을 가능하게 하는 상호 작용 제어부(220, 222, 124)의제시의 사양을 포함하는
    방법.
  38. 제 21 항에 있어서,
    상기 인터페이스 사양은 가상 영역(32) 내의 통신자의 상호 작용을 수반하는 각각의 이벤트를 서술하는 이벤트 서술의 로그의 제시의 사양을 포함하는
    방법.
  39. 제 21 항에 있어서,
    상기 인터페이스 사양은 공간 시각화의 각각의 분할에 대응하는 그래픽 블록의 어레이를 포함하고, 웹 브라우저 애플리케이션(24)으로부터 수신된 업데이트 메시지에 응답하여, 선행의 업데이트 메시지에 대한 가장 최근의 응답이 송신된 이래로 변경되어 있는 이들 그래픽 블록만을 웹 브라우저 애플리케이션(24)에 송신하는 단계를 추가로 포함하는
    방법.
  40. 제 21 항에 있어서,
    상기 메시지는 웹 브라우저 애플리케이션(24)으로부터 수신되고 하이퍼텍스트 전송 프로토콜에 따라 웹 브라우저 애플리케이션(24)에 송신되는
    방법.
  41. 장치에 있어서,
    컴퓨터 판독 가능 명령을 저장하는 컴퓨터 판독 가능 매체(324, 328)와,
    상기 컴퓨터 판독 가능 매체(324, 328)에 결합되고, 명령을 실행하도록 동작 가능하고, 명령의 실행에 적어도 부분적으로 기초하여,
    가상 영역(32)의 그래픽 표현에 공간적으로 관련하여 각각의 클라이언트 통신자의 각각의 그래픽 표현을 포함하는 공간 시각화와 연관하여 피어-투-피어 실시간 데이터 스트림을 교환하는 각각의 클라이언트 네트워크 노드(12, 14)를 오퍼레이팅하는 클라이언트 통신자들 사이의 실시간 통신 세션을 관리하는 동작 - 상기 관리 동작은 가상 영역(32) 내의 클라이언트 통신자의 그래픽 표현의 각각의 위치를 판정하는 동작을 포함함 - 과,
    실시간 통신 세션과 게스트 통신자를 인터페이스하는 동작 - 상기 게스트 통신자는 게스트 네트워크 노드(16) 상의 웹 브라우저 애플리케이션(24)을 오퍼레이팅하고, 상기 인터페이스 동작은 가상 영역(32)의 그래픽 표현(66) 및 가상 영역(32) 내의 클라이언트 통신자 및 이들의 각각의 현재 위치의 그래픽 표현의 사양을 포함하는 인터페이스 사양을 게스트 네트워크 노드(16)에 전송하는 동작을 포함하고, 상기 인터페이스 동작은 인터페이스 사양의 각각의 요소와 연계하여 웹 브라우저 애플리케이션(24)으로부터 수신된 메시지에 응답하는 동작을 추가로 포함함 -
    을 포함하는 동작을 수행하도록 동작 가능한 프로세서(322)를 포함하는
    장치.
  42. 방법에 있어서,
    제 1 클라이언트 네트워크 노드(16) 상에서 오퍼레이팅하는 웹 브라우저 애플리케이션(24)에 제 1 네트워크 통신을 전송하는 단계 - 상기 제 1 네트워크 통신은 제 1 클라이언트 네트워크 노드(16)와 제 2 클라이언트 네트워크 노드(12) 사이의 공유된 통신 세션의 그래픽 시각화의 인터페이스 사양을 포함하고, 그래픽 시각화는 가상 영역(32)의 그래픽 표현에 공간적으로 관련하여 제 1 및 제 2 네트워크 노드(12, 16)를 오퍼레이팅하는 통신자의 각각의 그래픽 표현을 포함함 - 와,
    공유된 통신 세션 중에, 가상 영역(32)의 그래픽 표현(66) 내의 위치를 참조하는 메시지를 웹 브라우저 애플리케이션(24)으로부터 수신하는 단계와,
    메시지에 응답하여 공유된 통신 세션의 그래픽 시각화에 대한 업데이트를 생성하는 단계와,
    각각의 제 1 및 제 2 네트워크 노드(12, 16)에 업데이트의 각각의 인터페이스 사양을 전송하는 단계를 포함하는
    방법.
  43. 장치에 있어서,
    컴퓨터 판독 가능 명령을 저장하는 컴퓨터 판독 가능 매체(324, 328)와,
    상기 컴퓨터 판독 가능 매체(324, 328)에 결합되고, 명령을 실행하도록 동작 가능하고, 명령의 실행에 적어도 부분적으로 기초하여,
    제 1 클라이언트 네트워크 노드 상에서 오퍼레이팅하는 웹 브라우저 애플리케이션(24)에 제 1 네트워크 통신을 전송하는 동작 - 상기 제 1 네트워크 통신은 제 1 클라이언트 네트워크 노드와 제 2 클라이언트 네트워크 노드 사이의 공유된 통신 세션의 그래픽 시각화의 인터페이스 사양을 포함하고, 그래픽 시각화는 가상 영역(32)의 그래픽 표현에 공간적으로 관련하여 제 1 및 제 2 네트워크 노드를 오퍼레이팅하는 통신자의 각각의 그래픽 표현을 포함함 - 과,
    공유된 통신 세션 중에, 가상 영역(32)의 그래픽 표현(66) 내의 위치를 참조하는 메시지를 웹 브라우저 애플리케이션(24)으로부터 수신하는 동작과,
    메시지에 응답하여 공유된 통신 세션의 그래픽 시각화에 대한 업데이트를 생성하는 동작과,
    각각의 제 1 및 제 2 네트워크 노드에 업데이트의 각각의 인터페이스 사양을 전송하는 동작
    을 포함하는 동작을 수행하도록 동작 가능한 프로세서(322)를 포함하는
    장치.
  44. 방법에 있어서,
    제 1 클라이언트 네트워크 노드(16) 상에서 오퍼레이팅하는 웹 브라우저 애플리케이션(24)에 제 1 네트워크 통신을 전송하는 단계 - 상기 제 1 네트워크 통신은 제 1 클라이언트 네트워크 노드(16)와 제 2 클라이언트 네트워크 노드(12) 사이의 공유된 통신 세션의 그래픽 시각화(66)의 인터페이스 사양을 포함함 - 와,
    공유된 통신 세션 중에, 공유된 통신 세션과 연관하여 웹 브라우저 애플리케이션(24)을 수신하는 단계와,
    공유된 통신 세션 중에, 제 1 클라이언트 네트워크 노드(16) 및 제 2 클라이언트 네트워크 노드(12)가 웹 브라우저 애플리케이션(24)의 도메인의 외부에서 통신하는 실시간 통신 채널의 통신 상태를 서술하는 데이터를 수신하는 단계와,
    공유된 통신 세션 중에, 제 1 클라이언트 네트워크 노드(16)를 오퍼레이팅하는 통신자의 통신 상태를 묘사하기 위해 공유된 통신 세션의 그래픽 시각화와 연관하여 렌더링 가능한 시각적 큐의 사양을 포함하는 제 2 네트워크 통신을 웹 브라우저 애플리케이션(24)에 송신하는 단계를 포함하는
    방법.
  45. 제 44 항에 있어서,
    상기 메시지는 공유된 통신 세션의 그래픽 시각화(66)를 참조하는
    방법.
  46. 장치에 있어서,
    컴퓨터 판독 가능 명령을 저장하는 컴퓨터 판독 가능 매체(324, 328)와,
    상기 컴퓨터 판독 가능 매체(324, 328)에 결합되고, 명령을 실행하도록 동작 가능하고, 명령의 실행에 적어도 부분적으로 기초하여, 이하의 동작
    제 1 클라이언트 네트워크 노드(16) 상에서 오퍼레이팅하는 웹 브라우저 애플리케이션(24)에 제 1 네트워크 통신을 전송하는 동작 - 상기 제 1 네트워크 통신은 제 1 클라이언트 네트워크 노드(16)와 제 2 클라이언트 네트워크 노드(12) 사이의 공유된 통신 세션의 그래픽 시각화(66)의 인터페이스 사양을 포함함 - 과,
    공유된 통신 세션 중에, 공유된 통신 세션과 연관하여 웹 브라우저 애플리케이션(24)을 수신하는 동작과,
    공유된 통신 세션 중에, 제 1 클라이언트 네트워크 노드(16) 및 제 2 클라이언트 네트워크 노드(12)가 웹 브라우저 애플리케이션(24)의 도메인의 외부에서 통신하는 실시간 통신 채널의 통신 상태를 서술하는 데이터를 수신하는 동작과,
    공유된 통신 세션 중에, 제 1 클라이언트 네트워크 노드(16)를 오퍼레이팅하는 통신자의 통신 상태를 묘사하기 위해 공유된 통신 세션의 그래픽 시각화와 연관하여 렌더링 가능한 시각적 큐의 사양을 포함하는 제 2 네트워크 통신을 웹 브라우저 애플리케이션(24)에 송신하는 동작
    을 포함하는 동작을 수행하도록 동작 가능한 프로세서(322)를 포함하는
    장치.
  47. 방법에 있어서,
    클라이언트 네트워크 노드 상에서,
    클라이언트 네트워크 노드(12)를 오퍼레이팅하는 클라이언트 통신자와 게스트 네트워크 노드(16)를 오퍼레이팅하는 게스트 통신자 사이에 실시간 통신 세션을 설정하는 단계와,
    클라이언트 네트워크 노드(12)의 디스플레이 상에, 실시간 통신 세션의 공간 시각화를 표시하는 단계 - 상기 공간 시각화는 가상 영역(32)의 그래픽 표현에 공간적으로 관련하여 각각의 클라이언트 통신자 및 게스트 통신자의 각 그래픽 표현을 포함함 - 와,
    실시간 통신 세션 중에,
    게스트 통신자와의 실시간 데이터 스트림 접속을 설정하는 단계,
    실시간 데이터 스트림 접속으로부터 게스트 통신자의 현재 통신 상태를 판정하는 단계, 및
    게스트 통신자의 판정된 현재 통신 상태를 표시하는 공간 시각화 시각적 큐를 묘사하는 단계를 포함하는
    방법.
  48. 제 47 항에 있어서,
    상기 판정 단계는 실시간 데이터 스트림 접속의 접속 상태를 판정하고, 실시간 데이터 스트림 접속의 판정된 접속 상태에 기초하여 접속 상태 또는 비접속 상태 중 하나로 게스트 통신자를 분류하는 단계를 포함하고,
    상기 묘사 단계는 접속 상태와 비접속 상태 중에서 어느 것에 게스트 통신자가 현재 분류되는지를 지시하는 각각의 시각적 큐를 묘사하는 단계를 포함하는
    방법.
  49. 제 47 항에 있어서,
    상기 판정 단계는 실시간 데이터 스트림 접속을 통해 현재 실시간 데이터 스트림의 검출에 응답하여 활성적 통신 상태(actively communicating state)로 게스트 통신자를 분류하고, 실시간 데이터 스트림 접속을 통해 현재 실시간 데이터 스트림을 검출하는 것의 실패에 응답하여 비통신 상태(non-communicating state)로 게스트 통신자를 분류하는 단계를 포함하고,
    상기 묘사 단계는 활성적 통신 상태와 비통신 상태 중에서 어느 것에 게스트 통신자가 현재 분류되는지를 지시하는 각각의 시각적 큐를 묘사하는 단계를 포함하는
    방법.
  50. 제 47 항에 있어서,
    실시간 통신 세션 중에, 가상 영역(32) 내의 게스트 통신자의 그래픽 표현의 현재 위치의 노드 사양을 서버 네트워크로부터 수신하는 단계를 추가로 포함하고,
    게스트 실시간 데이터 스트림 및 게스트 통신자의 그래픽 표현 각각은 게스트 통신자에 할당된 고유 게스트 식별자와 연관되고, 상기 묘사 단계는 고유 게스트 식별자에 기초하여 가상 영역(32) 내의 게스트 통신자의 그래픽 표현의 현재 위치와 연관하여 시각적 큐를 묘사하는 단계를 포함하는
    방법.
  51. 그 내부에 구체화된 컴퓨터 판독 가능 프로그램 코드를 갖는 적어도 하나의 컴퓨터 판독 가능 매체(324, 328)에 있어서,
    상기 컴퓨터 판독 가능 프로그램 코드는 이하의 동작
    클라이언트 네트워크 노드(12)를 오퍼레이팅하는 클라이언트 통신자와 게스트 네트워크 노드(16)를 오퍼레이팅하는 게스트 통신자 사이에 실시간 통신 세션을 설정하는 동작과,
    클라이언트 네트워크 노드(12)의 디스플레이 상에, 실시간 통신 세션의 공간 시각화를 표시하는 동작 - 상기 공간 시각화는 가상 영역(32)의 그래픽 표현에 공간적으로 관련하여 각각의 클라이언트 통신자 및 게스트 통신자의 각 그래픽 표현을 포함함 - 과,
    실시간 통신 세션 중에,
    게스트 통신자와의 실시간 데이터 스트림 접속을 설정하는 동작,
    실시간 데이터 스트림 접속으로부터 게스트 통신자의 현재 통신 상태를 판정하는 동작, 및
    게스트 통신자의 판정된 현재 통신 상태를 표시하는 공간 시각화 시각적 큐를 묘사하는 동작을 포함하는 동작을 수행하도록 클라이언트 네트워크 노드에 의해 실행되도록 적용되는
    적어도 하나의 컴퓨터 판독 가능 매체.
  52. 방법에 있어서,
    스폰서링 클라이언트 네트워크 노드(12) 상에서,
    스폰서링 클라이언트 네트워크 노드(12) 및 다른 클라이언트 네트워크 노드(14)를 각각 오퍼레이팅하는 클라이언트 통신자 사이에 하나 이상의 다른 클라이언트 네트워크 노드(14)와 실시간 통신 세션을 설정하는 단계와,
    실시간 통신 세션 중에, 가상 영역(32)의 그래픽 표현에 공간적으로 관련하여 각각의 클라이언트 통신자의 각각의 그래픽 표현을 포함하는 공간적 시각화(66)와 연관하여, 클라이언트 네트워크 노드(12, 14)와 피어-투-피어 실시간 데이터 스트림을 교환하는 단계와,
    게스트 통신자로부터 게스트 실시간 데이터 스트림을 수신하는 단계와,
    게스트 실시간 데이터 스트림으로부터 도출되는 각각의 실시간 데이터 스트림을 각각의 다른 클라이언트 네트워크 노드(14)에 송신하는 단계와,
    스폰서링 클라이언트 네트워크 노드(12)에 의해 소싱된(sourced) 피어-투-피어 실시간 데이터 스트림 및 다른 클라이언트 네트워크 노드(14)로부터 스폰서링 클라이언트 네트워크 노드(12)에 의해 수신된 피어-투-피어 실시간 데이터 스트림으로부터 도출되는 하나 이상의 실시간 데이터 스트림을 게스트 통신자에 전송하는 단계를 포함하는
    방법.
  53. 제 52 항에 있어서,
    상기 송신 단계는 게스트 통신자의 각각의 고유 식별자와 연관된 게스트 실시간 데이터 스트림의 각각의 사본을 각각의 다른 클라이언트 네트워크 노드(14)에 송신하는 단계를 포함하는
    방법.
  54. 제 52 항에 있어서,
    상기 전송 단계는 스폰서링 클라이언트 네트워크 노드에 의해 소싱된 피어-투-피어 실시간 데이터 스트림과 다른 클라이언트 네트워크 노드(14)로부터 스폰서링 클라이언트 네트워크 노드(12)에 의해 수신된 피어-투-피어 실시간 데이터 스트림을 믹싱하여 출력 실시간 데이터 스트림을 생성하고, 출력 실시간 데이터 스트림을 게스트 통신자에 전송하는 단계를 포함하는
    방법.
  55. 제 52 항에 있어서,
    상기 수신 단계는 게스트 통신자에 의해 오퍼레이팅되는 전화기로부터 게스트 실시간 데이터 스트림을 수신하는 단계를 포함하고, 상기 전송 단계는 피어-투-피어 실시간 데이터 스트림으로부터 도출되는 하나 이상의 실시간 데이터 스트림을 전화기에 전송하는 단계를 포함하는
    방법.
  56. 그 내부에 구체화된 컴퓨터 판독 가능 프로그램 코드를 갖는 적어도 하나의 컴퓨터 판독 가능 매체(324, 328)에 있어서,
    상기 컴퓨터 판독 가능 프로그램 코드는 이하의 동작
    스폰서링 클라이언트 네트워크 노드(12) 및 다른 클라이언트 네트워크 노드(14)를 각각 오퍼레이팅하는 클라이언트 통신자 사이에 하나 이상의 다른 클라이언트 네트워크 노드(14)와 실시간 통신 세션을 설정하는 동작과,
    실시간 통신 세션 중에, 가상 영역(32)의 그래픽 표현에 공간적으로 관련하여 각각의 클라이언트 통신자의 각각의 그래픽 표현을 포함하는 공간적 시각화(66)와 연관하여, 클라이언트 네트워크 노드(14)와 피어-투-피어 실시간 데이터 스트림을 교환하는 동작과,
    게스트 통신자로부터 게스트 실시간 데이터 스트림을 수신하는 동작과,
    게스트 실시간 데이터 스트림으로부터 도출되는 각각의 실시간 데이터 스트림을 각각의 다른 클라이언트 네트워크 노드(14)에 송신하는 동작과,
    스폰서링 클라이언트 네트워크 노드(12)에 의해 소싱된 피어-투-피어 실시간 데이터 스트림 및 다른 클라이언트 네트워크 노드(14)로부터 스폰서링 클라이언트 네트워크 노드에 의해 수신된 피어-투-피어 실시간 데이터 스트림으로부터 도출되는 하나 이상의 실시간 데이터 스트림을 게스트 통신자에 전송하는 동작을 포함하는 동작을 수행하도록 스폰서링 클라이언트 네트워크 노드(12)에 의해 실행되도록 적용되는
    적어도 하나의 컴퓨터 판독 가능 매체.
KR1020127019632A 2010-01-26 2011-01-26 공간 통신 환경을 위한 웹 브라우저 인터페이스 KR20120118019A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/694,126 US9009603B2 (en) 2007-10-24 2010-01-26 Web browser interface for spatial communication environments
US12/694,126 2010-01-26

Publications (1)

Publication Number Publication Date
KR20120118019A true KR20120118019A (ko) 2012-10-25

Family

ID=44309918

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127019632A KR20120118019A (ko) 2010-01-26 2011-01-26 공간 통신 환경을 위한 웹 브라우저 인터페이스

Country Status (6)

Country Link
US (3) US9009603B2 (ko)
EP (1) EP2529316A2 (ko)
JP (1) JP2013518351A (ko)
KR (1) KR20120118019A (ko)
CN (1) CN102725748A (ko)
WO (1) WO2011094354A2 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013111549A1 (de) 2012-10-23 2014-04-24 Samsung Electronics Co., Ltd. Kodierung von Programmdaten basierend auf in zu programmierenden Speicherzellen gespeicherten Daten
KR20180041604A (ko) * 2016-10-14 2018-04-24 (주)에피 업무 관리 시스템 및 방법

Families Citing this family (99)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11106425B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US8290603B1 (en) 2004-06-05 2012-10-16 Sonos, Inc. User interfaces for controlling and manipulating groupings in a multi-zone media system
US8234395B2 (en) 2003-07-28 2012-07-31 Sonos, Inc. System and method for synchronizing operations among a plurality of independently clocked digital data processing devices
US11650784B2 (en) 2003-07-28 2023-05-16 Sonos, Inc. Adjusting volume levels
US10613817B2 (en) 2003-07-28 2020-04-07 Sonos, Inc. Method and apparatus for displaying a list of tracks scheduled for playback by a synchrony group
US8086752B2 (en) 2006-11-22 2011-12-27 Sonos, Inc. Systems and methods for synchronizing operations among a plurality of independently clocked digital data processing devices that independently source digital data
US11106424B2 (en) 2003-07-28 2021-08-31 Sonos, Inc. Synchronizing operations among a plurality of independently clocked digital data processing devices
US11294618B2 (en) 2003-07-28 2022-04-05 Sonos, Inc. Media player system
US9374607B2 (en) * 2012-06-26 2016-06-21 Sonos, Inc. Media playback system with guest access
US9977561B2 (en) 2004-04-01 2018-05-22 Sonos, Inc. Systems, methods, apparatus, and articles of manufacture to provide guest access
US8868698B2 (en) 2004-06-05 2014-10-21 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US8326951B1 (en) 2004-06-05 2012-12-04 Sonos, Inc. Establishing a secure wireless network with minimum human intervention
US8788080B1 (en) 2006-09-12 2014-07-22 Sonos, Inc. Multi-channel pairing in a media system
US9202509B2 (en) 2006-09-12 2015-12-01 Sonos, Inc. Controlling and grouping in a multi-zone media system
US8483853B1 (en) 2006-09-12 2013-07-09 Sonos, Inc. Controlling and manipulating groupings in a multi-zone media system
US11876707B2 (en) * 2007-10-24 2024-01-16 Sococo, Inc. Routing virtual area based communications
US8902272B1 (en) 2008-11-24 2014-12-02 Shindig, Inc. Multiparty communications systems and methods that employ composite communications
US9401937B1 (en) 2008-11-24 2016-07-26 Shindig, Inc. Systems and methods for facilitating communications amongst multiple users
US9853922B2 (en) * 2012-02-24 2017-12-26 Sococo, Inc. Virtual area communications
US9344745B2 (en) 2009-04-01 2016-05-17 Shindig, Inc. Group portraits composed using video chat systems
US8779265B1 (en) 2009-04-24 2014-07-15 Shindig, Inc. Networks of portable electronic devices that collectively generate sound
US8244754B2 (en) 2010-02-01 2012-08-14 International Business Machines Corporation System and method for object searching in virtual worlds
US20110231794A1 (en) * 2010-03-19 2011-09-22 Yury Alexandrovich Gubanov Method and System for Retrieval of Instant Messenger History
US20110249667A1 (en) * 2010-04-13 2011-10-13 Rebelvox, Llc Apparatus and method for transmitting media using either network efficient protocol or a loss tolerant transmission protocol
JP2012014676A (ja) * 2010-05-31 2012-01-19 Sony Computer Entertainment Inc 仮想現実空間提供システム、仮想現実空間提供方法およびそのプログラム
US20110314103A1 (en) * 2010-06-18 2011-12-22 Georges Harik Synchronized processes communicating over a wide area network and method
US8453212B2 (en) * 2010-07-27 2013-05-28 Raytheon Company Accessing resources of a secure computing network
US20120124471A1 (en) * 2010-09-23 2012-05-17 Gusky Jeffrey S Virtual tour, display and commerce
FR2968494B1 (fr) * 2010-12-03 2012-12-28 Oberthur Technologies Procede de communication entre un serveur embarque et un serveur distant
US8966376B2 (en) 2010-12-10 2015-02-24 Wyse Technology L.L.C. Methods and systems for remote desktop session redrawing via HTTP headers
US9430036B1 (en) 2010-12-10 2016-08-30 Wyse Technology L.L.C. Methods and systems for facilitating accessing and controlling a remote desktop of a remote machine in real time by a windows web browser utilizing HTTP
US9244912B1 (en) * 2010-12-10 2016-01-26 Wyse Technology L.L.C. Methods and systems for facilitating a remote desktop redrawing session utilizing HTML
US9245047B2 (en) 2010-12-10 2016-01-26 Wyse Technology L.L.C. Methods and systems for facilitating a remote desktop session utilizing a remote desktop client common interface
US9395885B1 (en) 2010-12-10 2016-07-19 Wyse Technology L.L.C. Methods and systems for a remote desktop session utilizing HTTP header
US9535560B1 (en) 2010-12-10 2017-01-03 Wyse Technology L.L.C. Methods and systems for facilitating a remote desktop session for a web browser and a remote desktop server
US8949726B2 (en) * 2010-12-10 2015-02-03 Wyse Technology L.L.C. Methods and systems for conducting a remote desktop session via HTML that supports a 2D canvas and dynamic drawing
US11265652B2 (en) 2011-01-25 2022-03-01 Sonos, Inc. Playback device pairing
US11429343B2 (en) 2011-01-25 2022-08-30 Sonos, Inc. Stereo playback configuration and control
JP5857443B2 (ja) * 2011-05-12 2016-02-10 ソニー株式会社 コンテンツ共有システム
US9053750B2 (en) * 2011-06-17 2015-06-09 At&T Intellectual Property I, L.P. Speaker association with a visual representation of spoken content
US8719031B2 (en) 2011-06-17 2014-05-06 At&T Intellectual Property I, L.P. Dynamic access to external media content based on speaker content
US8825748B2 (en) * 2011-07-06 2014-09-02 Sharp Laboratories Of America, Inc. Sandboxed daemon process invocation through HTTP
WO2013059199A1 (en) 2011-10-17 2013-04-25 Disintermediation Services, Inc. Two-way real time communication allowing asymmetric participation across multiple electronic platforms
US9529900B2 (en) 2011-12-06 2016-12-27 At&T Intellectual Property I, L.P. Visual interface browser
WO2013119802A1 (en) * 2012-02-11 2013-08-15 Social Communications Company Routing virtual area based communications
US9729115B2 (en) 2012-04-27 2017-08-08 Sonos, Inc. Intelligently increasing the sound level of player
TWI494856B (zh) * 2012-05-21 2015-08-01 Irene Tsai Program call method and mobile device
US8370529B1 (en) * 2012-07-10 2013-02-05 Robert Hansen Trusted zone protection
GB2506102A (en) * 2012-07-25 2014-03-26 Nowhere Digital Ltd Meeting management system
US9363133B2 (en) 2012-09-28 2016-06-07 Avaya Inc. Distributed application of enterprise policies to Web Real-Time Communications (WebRTC) interactive sessions, and related methods, systems, and computer-readable media
US10164929B2 (en) 2012-09-28 2018-12-25 Avaya Inc. Intelligent notification of requests for real-time online interaction via real-time communications and/or markup protocols, and related methods, systems, and computer-readable media
US9008330B2 (en) 2012-09-28 2015-04-14 Sonos, Inc. Crossover frequency adjustments for audio speakers
US9542665B2 (en) * 2012-10-25 2017-01-10 Interactive Intelligence Group, Inc. Methods for creating, arranging, and leveraging an ad-hoc collection of heterogeneous organization components
US9507480B1 (en) * 2013-01-28 2016-11-29 Amazon Technologies, Inc. Interface optimization application
KR101720940B1 (ko) * 2013-01-28 2017-04-10 네이버 주식회사 메신저 채팅창을 통한 실시간 영상 공유 장치, 방법 및 컴퓨터 판독 가능한 기록 매체
US9294458B2 (en) 2013-03-14 2016-03-22 Avaya Inc. Managing identity provider (IdP) identifiers for web real-time communications (WebRTC) interactive flows, and related methods, systems, and computer-readable media
FR3005822A1 (fr) * 2013-05-17 2014-11-21 France Telecom Procede de communication en temps reel entre navigateurs web
US10205624B2 (en) 2013-06-07 2019-02-12 Avaya Inc. Bandwidth-efficient archiving of real-time interactive flows, and related methods, systems, and computer-readable media
US9525718B2 (en) 2013-06-30 2016-12-20 Avaya Inc. Back-to-back virtual web real-time communications (WebRTC) agents, and related methods, systems, and computer-readable media
KR20150008688A (ko) * 2013-07-15 2015-01-23 삼성전자주식회사 디스플레이장치 및 그 제어방법
US9112840B2 (en) 2013-07-17 2015-08-18 Avaya Inc. Verifying privacy of web real-time communications (WebRTC) media channels via corresponding WebRTC data channels, and related methods, systems, and computer-readable media
US9614890B2 (en) 2013-07-31 2017-04-04 Avaya Inc. Acquiring and correlating web real-time communications (WEBRTC) interactive flow characteristics, and related methods, systems, and computer-readable media
WO2015026329A1 (en) * 2013-08-20 2015-02-26 Intel Corporation Collaborative audio conversation attestation
US9531808B2 (en) 2013-08-22 2016-12-27 Avaya Inc. Providing data resource services within enterprise systems for resource level sharing among multiple applications, and related methods, systems, and computer-readable media
US10225212B2 (en) 2013-09-26 2019-03-05 Avaya Inc. Providing network management based on monitoring quality of service (QOS) characteristics of web real-time communications (WEBRTC) interactive flows, and related methods, systems, and computer-readable media
US9679331B2 (en) * 2013-10-10 2017-06-13 Shindig, Inc. Systems and methods for dynamically controlling visual effects associated with online presentations
US10271010B2 (en) 2013-10-31 2019-04-23 Shindig, Inc. Systems and methods for controlling the display of content
US10263952B2 (en) 2013-10-31 2019-04-16 Avaya Inc. Providing origin insight for web applications via session traversal utilities for network address translation (STUN) messages, and related methods, systems, and computer-readable media
US20150121250A1 (en) * 2013-10-31 2015-04-30 Avaya Inc. PROVIDING INTELLIGENT MANAGEMENT FOR WEB REAL-TIME COMMUNICATIONS (WebRTC) INTERACTIVE FLOWS, AND RELATED METHODS, SYSTEMS, AND COMPUTER-READABLE MEDIA
US9769214B2 (en) 2013-11-05 2017-09-19 Avaya Inc. Providing reliable session initiation protocol (SIP) signaling for web real-time communications (WEBRTC) interactive flows, and related methods, systems, and computer-readable media
US10129243B2 (en) 2013-12-27 2018-11-13 Avaya Inc. Controlling access to traversal using relays around network address translation (TURN) servers using trusted single-use credentials
US9226087B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US9226073B2 (en) 2014-02-06 2015-12-29 Sonos, Inc. Audio output balancing during synchronized playback
US20150288927A1 (en) * 2014-04-07 2015-10-08 LI3 Technology Inc. Interactive Two-Way Live Video Communication Platform and Systems and Methods Thereof
US9749363B2 (en) 2014-04-17 2017-08-29 Avaya Inc. Application of enterprise policies to web real-time communications (WebRTC) interactive sessions using an enterprise session initiation protocol (SIP) engine, and related methods, systems, and computer-readable media
US10581927B2 (en) 2014-04-17 2020-03-03 Avaya Inc. Providing web real-time communications (WebRTC) media services via WebRTC-enabled media servers, and related methods, systems, and computer-readable media
US9733333B2 (en) 2014-05-08 2017-08-15 Shindig, Inc. Systems and methods for monitoring participant attentiveness within events and group assortments
US9912705B2 (en) 2014-06-24 2018-03-06 Avaya Inc. Enhancing media characteristics during web real-time communications (WebRTC) interactive sessions by using session initiation protocol (SIP) endpoints, and related methods, systems, and computer-readable media
US9626157B2 (en) * 2014-07-03 2017-04-18 Able World International Limited Method of projecting a workspace and system using the same
US9894689B2 (en) * 2014-09-30 2018-02-13 Cisco Technology, Inc. System, method, and logic for identifying devices for a virtual meeting session
WO2016130935A1 (en) 2015-02-13 2016-08-18 Harvey Gregory Lawrence System and method to integrate content in real time into a dynamic 3-dimensional scene
CN104883395B (zh) * 2015-04-30 2019-01-15 华讯方舟科技有限公司 一种web网管系统自动锁屏的方法及装置
US10248376B2 (en) 2015-06-11 2019-04-02 Sonos, Inc. Multiple groupings in a playback system
US10359988B2 (en) * 2016-04-06 2019-07-23 Tmrwland Hongkong Limited Shared experience of virtual environments
US10133916B2 (en) 2016-09-07 2018-11-20 Steven M. Gottlieb Image and identity validation in video chat events
US10712997B2 (en) 2016-10-17 2020-07-14 Sonos, Inc. Room association based on name
JP6250779B1 (ja) * 2016-12-26 2017-12-20 株式会社コロプラ 仮想空間を介して通信するためにコンピュータで実行される方法、当該方法をコンピュータに実行させるプログラム、および、情報処理装置
US11461070B2 (en) 2017-05-15 2022-10-04 MIXHalo Corp. Systems and methods for providing real-time audio and data
US10225360B1 (en) * 2018-01-24 2019-03-05 Veeva Systems Inc. System and method for distributing AR content
WO2020081614A1 (en) * 2018-10-14 2020-04-23 Heap Richard Laurence Systems and method for control of telephone calls over cellular networks
US11381413B2 (en) * 2020-01-08 2022-07-05 Disney Enterprises, Inc. Audio-orientated immersive experience of an event
US11012482B1 (en) * 2020-08-28 2021-05-18 Tmrw Foundation Ip S. À R.L. Spatially aware multimedia router system and method
CN113157784B (zh) * 2020-12-30 2023-02-21 浪潮云信息技术股份公司 一种数据库数据导出工具的插件化实现方法
CN112738114B (zh) * 2020-12-31 2023-04-07 四川新网银行股份有限公司 一种网络安全策略的配置方法
US20220256028A1 (en) * 2021-02-08 2022-08-11 Samsung Electronics Co., Ltd. System and method for simultaneous multi-call support capability on compatible audio devices
GB2606131A (en) * 2021-03-12 2022-11-02 Palringo Ltd Communication platform
CN113038590B (zh) * 2021-05-25 2021-08-10 深圳艾灵网络有限公司 时间同步方法、电子设备及存储介质
US11700266B2 (en) * 2021-06-01 2023-07-11 Mirrortab Corp. Virtual browser application systems and methods
CN117294745B (zh) * 2023-11-24 2024-02-02 中关村科学城城市大脑股份有限公司 网络连接状态信息发送方法、装置、电子设备和介质

Family Cites Families (137)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5471318A (en) 1993-04-22 1995-11-28 At&T Corp. Multimedia communications network
US5491743A (en) * 1994-05-24 1996-02-13 International Business Machines Corporation Virtual conference system and terminal apparatus therefor
US5627978A (en) 1994-12-16 1997-05-06 Lucent Technologies Inc. Graphical user interface for multimedia call set-up and call handling in a virtual conference on a desktop computer conferencing system
US5880731A (en) * 1995-12-14 1999-03-09 Microsoft Corporation Use of avatars with automatic gesturing and bounded interaction in on-line chat session
US6167432A (en) 1996-02-29 2000-12-26 Webex Communications, Inc., Method for creating peer-to-peer connections over an interconnected network to facilitate conferencing among users
US5764916A (en) 1996-09-27 1998-06-09 Ichat, Inc. Method and apparatus for real time communication over a computer network
US6862625B1 (en) 1996-09-27 2005-03-01 Avaya Technology Corp. Method and apparatus for real time network communication
US5944791A (en) 1996-10-04 1999-08-31 Contigo Software Llc Collaborative web browser
US7263526B1 (en) 1996-10-30 2007-08-28 Avaya Technology Corp. Method and apparatus for embedding chat functions in a web page
US6785708B1 (en) 1996-10-30 2004-08-31 Avaya Inc. Method and apparatus for synchronizing browse and chat functions on a computer network
US6366285B1 (en) * 1997-11-21 2002-04-02 International Business Machines Corporation Selection by proximity with inner and outer sensitivity ranges
EP0950956A1 (en) * 1998-04-17 1999-10-20 BRITISH TELECOMMUNICATIONS public limited company Computer network
US5999208A (en) 1998-07-15 1999-12-07 Lucent Technologies Inc. System for implementing multiple simultaneous meetings in a virtual reality mixed media meeting room
US6119147A (en) 1998-07-28 2000-09-12 Fuji Xerox Co., Ltd. Method and system for computer-mediated, multi-modal, asynchronous meetings in a virtual space
US20020066071A1 (en) * 1999-02-25 2002-05-30 Sing-Ban Robert Tien Local environment for integrated multiple-tier client-server concurrent program developement
US6442590B1 (en) * 1999-05-27 2002-08-27 Yodlee.Com, Inc. Method and apparatus for a site-sensitive interactive chat network
KR100644579B1 (ko) 1999-10-26 2006-11-13 삼성전자주식회사 인터넷에서 실시간 음성 및 영상 통신방법 및 그 통신장치
US6772195B1 (en) * 1999-10-29 2004-08-03 Electronic Arts, Inc. Chat clusters for a virtual world application
US6789119B1 (en) 1999-11-24 2004-09-07 Webex Communication, Inc. Emulating a persistent connection using http
JP2001154966A (ja) 1999-11-29 2001-06-08 Sony Corp コンピュータ・ネットワーク上で構築・提供される共有仮想空間上で複数ユーザが参加可能な仮想会話を支援する会話支援システム及び会話支援方法、並びに、プログラム記憶媒体
US20060184886A1 (en) 1999-12-22 2006-08-17 Urbanpixel Inc. Spatial chat in a multiple browser environment
US8527345B2 (en) * 2000-01-06 2013-09-03 Anthony Richard Rothschild System and method for adding an advertisement to a personal communication
CA2299150A1 (en) 2000-02-23 2001-08-23 Hummingbird Communications Ltd A system and method for providing real-time information to a web browser
US7111060B2 (en) 2000-03-14 2006-09-19 Aep Networks, Inc. Apparatus and accompanying methods for providing, through a centralized server site, a secure, cost-effective, web-enabled, integrated virtual office environment remotely accessible through a network-connected web browser
EP1266280B1 (en) * 2000-03-20 2006-08-16 BRITISH TELECOMMUNICATIONS public limited company Data entry
US6784901B1 (en) 2000-05-09 2004-08-31 There Method, system and computer program product for the delivery of a chat message in a 3D multi-user environment
US7191394B1 (en) 2000-06-21 2007-03-13 Microsoft Corporation Authoring arbitrary XML documents using DHTML and XSLT
US20070136445A1 (en) * 2001-08-08 2007-06-14 Digital Networks North America, Inc. Method and system for remote television replay control
EP1314301B1 (en) * 2000-08-22 2007-12-26 Symbian Limited Method of and apparatus for communicating user related information using a wireless information device
US6938079B1 (en) * 2000-09-19 2005-08-30 3Com Corporation System and method for automatically configuring a client device
US7036082B1 (en) * 2000-09-21 2006-04-25 Nortel Networks Limited Controlling communications through a virtual reality environment
US7168051B2 (en) * 2000-10-10 2007-01-23 Addnclick, Inc. System and method to configure and provide a network-enabled three-dimensional computing environment
US8117281B2 (en) * 2006-11-02 2012-02-14 Addnclick, Inc. Using internet content as a means to establish live social networks by linking internet users to each other who are simultaneously engaged in the same and/or similar content
US8516047B2 (en) * 2000-11-06 2013-08-20 Rick Castanho System and method for service specific notification
US20020073197A1 (en) * 2000-12-11 2002-06-13 Ibm Corporation Method and apparatus for customizing performance of a browser for a given network connection
US20020075305A1 (en) 2000-12-18 2002-06-20 Beaton Brian F. Graphical user interface for a virtual team environment
US7925703B2 (en) 2000-12-26 2011-04-12 Numedeon, Inc. Graphical interactive interface for immersive online communities
US7130883B2 (en) 2000-12-29 2006-10-31 Webex Communications, Inc. Distributed network system architecture for collaborative computing
EP1371019A2 (en) 2001-01-26 2003-12-17 Zaxel Systems, Inc. Real-time virtual viewpoint in simulated reality environment
US20020112002A1 (en) * 2001-02-15 2002-08-15 Abato Michael R. System and process for creating a virtual stage and presenting enhanced content via the virtual stage
EA008675B1 (ru) * 2001-06-22 2007-06-29 Нервана, Инк. Система и способ поиска, управления, доставки и представления знаний
NO315679B1 (no) * 2001-10-19 2003-10-06 Dmates As Rik kommunikasjon over internett
US7336779B2 (en) 2002-03-15 2008-02-26 Avaya Technology Corp. Topical dynamic chat
US7167899B2 (en) 2002-03-26 2007-01-23 Matsushita Electric Industrial Co., Ltd. Web-content aware automatic call transfer system and process for mobile users and operators
US7685237B1 (en) 2002-05-31 2010-03-23 Aol Inc. Multiple personalities in chat communications
US7568004B2 (en) * 2002-06-20 2009-07-28 Linda Gottfried Method and system for sharing brand information
US6839417B2 (en) * 2002-09-10 2005-01-04 Myriad Entertainment, Inc. Method and apparatus for improved conference call management
US7386799B1 (en) * 2002-11-21 2008-06-10 Forterra Systems, Inc. Cinematic techniques in avatar-centric communication during a multi-user online simulation
US7474741B2 (en) 2003-01-20 2009-01-06 Avaya Inc. Messaging advise in presence-aware networks
US20040158610A1 (en) * 2003-02-10 2004-08-12 Davis Joel A. Client proxying for instant messaging
US20040179037A1 (en) 2003-03-03 2004-09-16 Blattner Patrick D. Using avatars to communicate context out-of-band
US20070113181A1 (en) * 2003-03-03 2007-05-17 Blattner Patrick D Using avatars to communicate real-time information
US7317716B1 (en) 2003-07-25 2008-01-08 Verizon Laboratories Inc. Methods and systems for presence-based telephony communications
GB2404546B (en) * 2003-07-25 2005-12-14 Purple Interactive Ltd A method of organising and displaying material content on a display to a viewer
CN1977258A (zh) 2003-08-07 2007-06-06 简易通信工具有限公司 实时电子通信系统和方法
US7813488B2 (en) * 2003-09-29 2010-10-12 Siemens Enterprise Communications, Inc. System and method for providing information regarding an identity's media availability
US7506072B2 (en) 2003-10-14 2009-03-17 Sun Microsystems, Inc. Web browser as web service server in interaction with business process engine
US20050134682A1 (en) * 2003-12-22 2005-06-23 Epiphan Consulting Inc. Network based conference system
US7171511B2 (en) 2004-03-24 2007-01-30 Hitachi, Ltd. WORM proving storage system
US8589787B2 (en) * 2004-04-20 2013-11-19 American Express Travel Related Services Company, Inc. Centralized field rendering system and method
US7707249B2 (en) * 2004-09-03 2010-04-27 Open Text Corporation Systems and methods for collaboration
US7925000B2 (en) 2005-08-29 2011-04-12 Avaya Inc. Managing held telephone calls from a remote telecommunications terminal
US20070074114A1 (en) 2005-09-29 2007-03-29 Conopco, Inc., D/B/A Unilever Automated dialogue interface
US7921153B2 (en) 2005-12-29 2011-04-05 Webex Communications, Inc. Methods and apparatuses for selectively displaying information to an invited participant
US7489772B2 (en) 2005-12-30 2009-02-10 Nokia Corporation Network entity, method and computer program product for effectuating a conference session
US20070233785A1 (en) 2006-03-30 2007-10-04 International Business Machines Corporation Communicating using collaboration spaces
US20070243915A1 (en) * 2006-04-14 2007-10-18 Eran Egozy A Method and Apparatus For Providing A Simulated Band Experience Including Online Interaction and Downloaded Content
US8843560B2 (en) * 2006-04-28 2014-09-23 Yahoo! Inc. Social networking for mobile devices
US20070271301A1 (en) * 2006-05-03 2007-11-22 Affinity Media Uk Limited Method and system for presenting virtual world environment
WO2008005149A2 (en) * 2006-06-09 2008-01-10 Brilig Llc Information collection in multi-participant online communities
US7639672B2 (en) * 2006-07-18 2009-12-29 David Foote System and method for peer-to-peer internet communication
US7680480B2 (en) 2006-07-20 2010-03-16 Avaya Inc. Determining user availability based on a past event
US7616624B2 (en) 2006-07-20 2009-11-10 Avaya Inc. Determining user availability based on the expected duration of a new event
US7680098B2 (en) 2006-07-20 2010-03-16 Avaya Inc. Determining group availability on different communication media
US8295206B2 (en) 2006-07-20 2012-10-23 Avaya Inc. Rule-based system for determining user availability
WO2008017001A2 (en) 2006-08-02 2008-02-07 Moka5, Inc. Sharing live appliances
US20080034040A1 (en) * 2006-08-04 2008-02-07 Meebo, Inc. Method and system for embedded group communication
US9654589B2 (en) * 2006-08-24 2017-05-16 Bby Solutions, Inc. Configurable personal audiovisual device for use in application-sharing system
US8645463B2 (en) 2006-09-25 2014-02-04 Cisco Technology, Inc. Methods and apparatuses for managing resources within a virtual room
US8554827B2 (en) * 2006-09-29 2013-10-08 Qurio Holdings, Inc. Virtual peer for a content sharing system
US7765259B2 (en) 2006-12-05 2010-07-27 Avaya Inc. System and method for aggregation of user conversations and visualizing personal communications map
US9020963B2 (en) * 2007-01-10 2015-04-28 International Business Machines Corporation Providing relevant assets in collaboration mediums
US20080215974A1 (en) * 2007-03-01 2008-09-04 Phil Harrison Interactive user controlled avatar animations
GB2447096B (en) * 2007-03-01 2011-10-12 Sony Comp Entertainment Europe Entertainment device and method
US20080252637A1 (en) 2007-04-14 2008-10-16 Philipp Christian Berndt Virtual reality-based teleconferencing
US20080263459A1 (en) 2007-04-20 2008-10-23 Utbk, Inc. Methods and Systems to Determine Availability for Real Time Communications via Virtual Reality
US20080263446A1 (en) 2007-04-20 2008-10-23 Utbk, Inc. Methods and Systems to Connect People to Services via Virtual Reality
US8601386B2 (en) 2007-04-20 2013-12-03 Ingenio Llc Methods and systems to facilitate real time communications in virtual reality
US20080263460A1 (en) * 2007-04-20 2008-10-23 Utbk, Inc. Methods and Systems to Connect People for Virtual Meeting in Virtual Reality
US20080262910A1 (en) 2007-04-20 2008-10-23 Utbk, Inc. Methods and Systems to Connect People via Virtual Reality for Real Time Communications
US8918717B2 (en) * 2007-05-07 2014-12-23 International Business Machines Corporation Method and sytem for providing collaborative tag sets to assist in the use and navigation of a folksonomy
US7840668B1 (en) 2007-05-24 2010-11-23 Avaya Inc. Method and apparatus for managing communication between participants in a virtual environment
US7772480B2 (en) * 2007-08-10 2010-08-10 Sonicjam, Inc. Interactive music training and entertainment system and multimedia role playing game platform
US20090063995A1 (en) * 2007-08-27 2009-03-05 Samuel Pierce Baron Real Time Online Interaction Platform
US20090093300A1 (en) * 2007-10-05 2009-04-09 Lutnick Howard W Game of chance processing apparatus
US20090089685A1 (en) 2007-09-28 2009-04-02 Mordecai Nicole Y System and Method of Communicating Between A Virtual World and Real World
US20090089293A1 (en) 2007-09-28 2009-04-02 Bccg Ventures, Llc Selfish data browsing
US8156146B2 (en) * 2007-09-28 2012-04-10 Xcerion Aktiebolag Network file system
US7917584B2 (en) * 2007-10-22 2011-03-29 Xcerion Aktiebolag Gesture-based collaboration
US8209384B2 (en) 2007-10-23 2012-06-26 Yahoo! Inc. Persistent group-based instant messaging
US20090288007A1 (en) * 2008-04-05 2009-11-19 Social Communications Company Spatial interfaces for realtime networked communications
US9357025B2 (en) * 2007-10-24 2016-05-31 Social Communications Company Virtual area based telephony communications
US8397168B2 (en) * 2008-04-05 2013-03-12 Social Communications Company Interfacing with a spatial virtual communication environment
US7844724B2 (en) 2007-10-24 2010-11-30 Social Communications Company Automated real-time data stream switching in a shared virtual area communication environment
US7769806B2 (en) * 2007-10-24 2010-08-03 Social Communications Company Automated real-time data stream switching in a shared virtual area communication environment
US20090113314A1 (en) * 2007-10-30 2009-04-30 Dawson Christopher J Location and placement of avatars in virtual worlds
US8145725B2 (en) * 2007-10-31 2012-03-27 International Business Machines Corporation Updating data stores of virtual worlds based on data stores external to the virtual worlds
CN101179470A (zh) * 2007-12-12 2008-05-14 胡祥义 一种基于双协议vpn的实现方法
US20090157813A1 (en) * 2007-12-17 2009-06-18 Searete Llc, A Limited Liability Corporation Of The State Of Delaware Methods and systems for identifying an avatar-linked population cohort
US20090172565A1 (en) * 2007-12-26 2009-07-02 John Clarke Jackson Systems, Devices, and Methods for Sharing Content
US20090170479A1 (en) 2007-12-31 2009-07-02 Sony Ericsson Mobile Communications Ab Virtual rooms for portable communication device and method
US8910043B2 (en) * 2008-01-07 2014-12-09 International Business Machines Corporation Modifying spaces in virtual universes
US20090222742A1 (en) 2008-03-03 2009-09-03 Cisco Technology, Inc. Context sensitive collaboration environment
US8539364B2 (en) * 2008-03-12 2013-09-17 International Business Machines Corporation Attaching external virtual universes to an existing virtual universe
US8605863B1 (en) * 2008-03-18 2013-12-10 Avaya Inc. Method and apparatus for providing state indication on a telephone call
CA2659698C (en) 2008-03-21 2020-06-16 Dressbot Inc. System and method for collaborative shopping, business and entertainment
US8531447B2 (en) 2008-04-03 2013-09-10 Cisco Technology, Inc. Reactive virtual environment
US8312380B2 (en) * 2008-04-04 2012-11-13 Yahoo! Inc. Local map chat
EP2279472A4 (en) * 2008-04-05 2013-11-20 Social Communications Co APPARATUS AND METHODS BASED ON A SHARED VIRTUAL SPACE COMMUNICATION ENVIRONMENT
US20090307189A1 (en) * 2008-06-04 2009-12-10 Cisco Technology, Inc. Asynchronous workflow participation within an immersive collaboration environment
US20090319946A1 (en) * 2008-06-20 2009-12-24 International Business Machines Corporation System and method for selective and dynamic elaboration of secure form content
US20100037153A1 (en) * 2008-08-06 2010-02-11 Rogers Jarrod C Chat and web page integration method and system
US8142283B2 (en) * 2008-08-20 2012-03-27 Cfph, Llc Game of chance processing apparatus
US20100162121A1 (en) 2008-12-22 2010-06-24 Nortel Networks Limited Dynamic customization of a virtual world
US20100169796A1 (en) 2008-12-28 2010-07-01 Nortel Networks Limited Visual Indication of Audio Context in a Computer-Generated Virtual Environment
US8542232B2 (en) 2008-12-28 2013-09-24 Avaya Inc. Method and apparatus for monitoring user attention with a computer-generated virtual environment
US9064023B2 (en) 2008-12-29 2015-06-23 Avaya Inc. Providing web content in the context of a virtual environment
US20100169799A1 (en) 2008-12-30 2010-07-01 Nortel Networks Limited Method and Apparatus for Enabling Presentations to Large Numbers of Users in a Virtual Environment
US20100228560A1 (en) 2009-03-04 2010-09-09 Avaya Inc. Predictive buddy list-reorganization based on call history information
US9092389B2 (en) 2009-03-16 2015-07-28 Avaya Inc. Advanced availability detection
US8386255B2 (en) 2009-03-17 2013-02-26 Avaya Inc. Providing descriptions of visually presented information to video teleconference participants who are not video-enabled
US20100246570A1 (en) 2009-03-24 2010-09-30 Avaya Inc. Communications session preparation method and apparatus
US20100246571A1 (en) 2009-03-30 2010-09-30 Avaya Inc. System and method for managing multiple concurrent communication sessions using a graphical call connection metaphor
US20100262550A1 (en) 2009-04-08 2010-10-14 Avaya Inc. Inter-corporate collaboration overlay solution for professional social networks
US8442189B2 (en) 2009-06-22 2013-05-14 Avaya Inc. Unified communications appliance
US8751587B2 (en) * 2009-11-25 2014-06-10 Red Hat, Inc. Real-time web applications
US9183560B2 (en) 2010-05-28 2015-11-10 Daniel H. Abelow Reality alternate

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102013111549A1 (de) 2012-10-23 2014-04-24 Samsung Electronics Co., Ltd. Kodierung von Programmdaten basierend auf in zu programmierenden Speicherzellen gespeicherten Daten
KR20180041604A (ko) * 2016-10-14 2018-04-24 (주)에피 업무 관리 시스템 및 방법

Also Published As

Publication number Publication date
US20150215355A1 (en) 2015-07-30
US20110185286A1 (en) 2011-07-28
US9009603B2 (en) 2015-04-14
US9813463B2 (en) 2017-11-07
CN102725748A (zh) 2012-10-10
US20120207290A1 (en) 2012-08-16
EP2529316A2 (en) 2012-12-05
US8831196B2 (en) 2014-09-09
WO2011094354A3 (en) 2011-12-29
JP2013518351A (ja) 2013-05-20
WO2011094354A2 (en) 2011-08-04

Similar Documents

Publication Publication Date Title
US11785056B2 (en) Web browser interface for spatial communication environments
US9813463B2 (en) Phoning into virtual communication environments
US20210349604A1 (en) Shared Virtual Area Communication Environment Based Apparatus and Methods
US20210055850A1 (en) Communicating between a Virtual Area and a Physical Space
US8930472B2 (en) Promoting communicant interactions in a network communications environment
US9077549B2 (en) Creating virtual areas for realtime communications
US20090288007A1 (en) Spatial interfaces for realtime networked communications
JP2012515398A (ja) 空間的仮想通信環境とのインタフェイス
US20230339816A1 (en) Visual Communications

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid