KR20120050980A - 실시간 네트워크 통신을 위한 공간 인터페이스 - Google Patents

실시간 네트워크 통신을 위한 공간 인터페이스 Download PDF

Info

Publication number
KR20120050980A
KR20120050980A KR1020127002141A KR20127002141A KR20120050980A KR 20120050980 A KR20120050980 A KR 20120050980A KR 1020127002141 A KR1020127002141 A KR 1020127002141A KR 20127002141 A KR20127002141 A KR 20127002141A KR 20120050980 A KR20120050980 A KR 20120050980A
Authority
KR
South Korea
Prior art keywords
communicators
communicator
computer
communication session
real time
Prior art date
Application number
KR1020127002141A
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 KR20120050980A publication Critical patent/KR20120050980A/ko

Links

Images

Classifications

    • G06Q50/40
    • 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/1822Conducting the conference, e.g. admission, detection, selection or grouping of participants, correlating users to one or more conference sessions, prioritising transmission
    • 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
    • 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
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/54Presence management, e.g. monitoring or registration for receipt of user log-on information, or the connection status of the users
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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
    • 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/1831Tracking arrangements for later retrieval, e.g. recording contents, participants activities or behavior, network status

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • General Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)
  • User Interface Of Digital Computer (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Telephonic Communication Services (AREA)

Abstract

현재 실시간 통신 세션은 각각의 네트워크 노드들(12, 14) 상에서 동작하는 통신자들 사이에서 수립된다. 현재 실시간 통신 세션의 공간 시각화(70, 92, 188, 220)가 디스플레이된다. 공간 시각화(70, 92, 188, 220)는 가상 영역의 그래픽 표현(50)에 대해 공간적으로 관련하여 통신자들 각각의 그래픽 표현들(46, 48)을 포함한다. 현재 통신 세션 동안에, 통신자들의 현재 통신 상태들을 도시하는 시각 큐들이 공간 시각화(70, 92, 188, 220)에 도시되고, 통신 상태들 각각은 통신자들 각각이 통신하도록 구성된 각각의 통신 채널의 상태에 대응한다.

Description

실시간 네트워크 통신을 위한 공간 인터페이스{SPATIAL INTERFACES FOR REALTIME NETWORKED COMMUNICATIONS}
본 발명은 실시간 네트워크 통신을 위한 공간 인터페이스에 관한 것이다.
페이스-투-페이스 통신이 실현 가능하지 않을 때, 사람들은 그들의 통신 요구를 만족시키기 위해 하나 이상의 기술적 해결책에 종종 의존한다. 이러한 해결책은 통상적으로 페이스-투-페이스 통신의 하나 이상의 양상들을 시뮬레이팅하도록 설계된다. 통상적인 텔레폰 시스템은 호출자들 사이의 음성 통신을 가능하게 한다. 인스턴트 메시징(또한 "채트(chat)"로서 지칭됨) 통신 시스템은 사용자가 인스턴트 메시지 서버에 의해 상호 접속된 인스턴트 메시지 컴퓨터 클라이언트를 통해 실시간으로 텍스트 메시지를 통신하도록 한다. 일부 인스턴트 메시징 시스템은 부가적으로 사용자가 사용자-제어 가능한 그래픽 물체("아바타"로서 지칭됨)에 의해 가상 환경에 표현되도록 허용한다. 상호 작용 가상 현실 통신 시스템은 원격 위치의 사용자가 다중 실시간 채널들을 통해 통신하게 하고, 3차원 가상 공간에서 사용자들 각각의 아바타들을 조정함으로써 서로와 상호 작용하도록 한다. 요구되는 것은 실시간 네트워크 통신을 위한 개선된 인터페이스이다.
하나의 양상에서, 본 발명은 현재 실시간 통신 세션이 각각의 네트워크 노드들 상에서 동작하는 통신자들 사이에 수립되는 방법을 특징으로 한다. 현재 실시간 통신 세션의 공간 시각화가 디스플레이된다. 공간 시각화(spatial visualization)는 가상 영역의 그래픽 표현에 대해 공간적으로 관련하여 통신자들 각각의 그래픽 표현을 포함한다. 현재 통신 세션 동안에, 통신자의 현재 통신 상태를 도시하는 시각 큐가 공간 시각화에 도시되고, 통신 상태들 각각은 통신자들 각각이 통신하도록 구성되는 각각의 통신 채널의 상태에 대응한다.
또 다른 양상에서, 본 발명은 각각의 네트워크 노드들 상에서 동작하는 통신자들 사이에서 현재 실시간 통신 세션이 설정되는 방법을 특징으로 한다. 현재 실시간 통신 세션의 공간 시각화가 디스플레이된다. 공간 시각화는 가상 영역의 그래픽 표현에 공간 상으로 관련하여 통신자들 각각의 그래픽 표현을 포함한다. 현재 통신 세션 동안에, 이벤트 디스크립션들의 로그가 제시된다. 이벤트 디스크립션은 가상 영역 내의 통신자들의 상호 작용(interaction)을 수반하는 각각의 이벤트들을 기술한다. 이벤트 디스크립션은 현재 실시간 통신 세션의 공간 시각화의 엘리먼트와 컨텍스트 상으로 연관하여 제시된다.
또 다른 양상에서, 본 발명은 제 2 네트워크 노드 상에서 동작하는 제 2 통신자와 개인 통신을 개시하기 위한, 제 1 네트워크 노드 상에서 동작하는 제 1 통신자로부터의 명령의 수신이 다음을 포함하는 응답을 유발하는 방법을 특징으로 한다. 현재 실시간 통신 세션은 제 1 및 제 2 네트워크 노드들 사이에 수립된다. 제 1 및 제 2 통신자들과 연관된 개인 가상 영역이 식별된다. 개인 가상 영역과 연관되고, 개인 가상 영역 내의 제 1 및 제 2 통신자들의 상호 작용에 응답하여 생성되는 컨텍스트 구성 데이터가 검색된다. 현재 실시간 통신 세션의 공간 시각화가 디스플레이된다. 공간 시각화는 컨텍스트 구성 데이터에 따라 구성된 가상 영역의 그래픽 표현에 공간 상으로 관련된 제 1 및 제 2 통신자들의 그래픽 표현들을 포함한다.
본 발명은 또한 상술된 방법을 구현하도록 동작 가능한 장치 및 컴퓨터로 하여금 상술된 방법을 구현하게 하는 컴퓨터-판독 가능 인스트럭션을 저장하는 컴퓨터-판독 가능 매체를 특징으로 한다.
본 발명은 실시간 네트워크 통신을 시각화하기 위한 개선된 시스템 및 방법을 제공한다. 특히, 본 발명은 실시간 네트워크 통신의 위에 공간 메타포어를 적용한다. 공간 메타포어는 실시간 네트워크 통신에 수반된 통신자의 현재 통신 상태를 도시하기 위한 컨텍스트를 제공한다. 공간 메타포어는 실시간 네트워크 통신에 참여하기 위해 통신자에 의해 사용되는 다양한 인터페이스 엘리먼트의 프리젠테이션을 조직화하기 위한 컨텍스트를 또한 제공한다.
도 1은 제 1 클라이언트 네트워크 노드, 제 2 클라이언트 네트워크 노드, 및 동기식 회의 서버 노드를 포함하는 네트워크 통신 환경의 실시예의 개략도.
도 2는 클라이언트 네트워크 노드 상에서 실시간 네트워크 통신을 시각화하는 방법의 실시예의 흐름도.
도 3a 내지 도 3d, 도 4 및 도 5는 실시간 네트워크 통신을 위한 공간 인터페이스들의 간략도들.
도 6은 실시간 네트워크 통신을 위한 공간 인터페이스의 실시예의 간략도.
도 7은 실시간 네트워크 통신을 관리하는 방법의 실시예의 흐름도.
도 8은 실시간 네트워크 통신과 통합된 공간 인터페이스의 실시예의 간략도.
도 9는 부가적인 공간 인터페이스와 통합된 도 8에 도시된 공간 인터페이스의 실시예의 간략도.
도 10은 그래픽 사용자 인터페이스의 실시예의 간략도.
도 11은 개인 가상 영역 내의 네트워크 통신자들 사이의 실시간 네트워크 통신을 관리하는 방법의 실시예의 흐름도.
도 12는 현재 실시간 통신 세션의 공간 시각화를 생성하는 프로세스의 실시예의 간략도.
도 13은 통신자, 템플릿 사양, 및 컨텍스트 데이터에 관련된 영역 식별자의 데이터 모델의 실시예의 개략도.
도 14는 영역 식별자들을 갖는 상호 작용 기록 식별자 및 상호 작용 기록들에 관련된 데이터 모델의 실시예의 간략도.
도 15는 개인 가상 영역에서 실시간 네트워크 통신을 위한 실시간 통신 인터페이스와 통합된 공간 인터페이스의 실시예의 간략도.
도 16은 도 15에 도시된 공간 인터페이스의 실시예의 간략도.
도 17은 개인 가상 영역에서 실시간 네트워크 통신에 대한 실시간 통신 인터페이스와 통합된 공간 인터페이스의 실시예의 간략도.
도 18은 제 1 클라이언트 네트워크 노드, 제 2 클라이언트 네트워크 노드, 및 가상 환경 생성기를 포함하는 네트워크 통신 환경의 실시예의 간략도.
도 19는 클라이언트 네트워크 노드의 실시예의 컴포넌트들을 도시하는 도 1의 네트워크 통신 환경의 블록도.
다음의 설명에서, 동일한 참조 번호들은 동일한 엘리먼트들을 식별하는데 사용된다. 또한, 도면들은 예시적인 실시예들의 주요 특징들을 도식적인 방식으로 예시하도록 의도된다. 도면들은 실제 실시예들의 모든 특징을 도시된 엘리먼트들의 상대적인 크기로 도시하도록 의도되지 않고, 일정한 비율로 도시되지 않는다.
I. 용어의 정의
"통신자(communicant)"는 하나 이상의 네트워크 접속들을 통해 다른 사람과 통신하거나 그렇지 않다면 상호 작용하는 사람이고, 통신 또는 상호 작용은 가상 영역과 관련하여 발생하거나 발생하지 않을 수 있다. "사용자"는 설명을 위해 특정 관점을 규정하는 특정 네트워크 노드를 동작시키는 통신자이다.
사용자의 "실시간 접촉"은 실시간 통신 플랫폼을 통해 사용자와 통신하는 통신자 또는 다른 사람이다.
"컴퓨터"는 컴퓨터-판독 가능 매체 상에 일시적으로 또는 영구적으로 저장된 컴퓨터-판독 가능 인스트럭션들에 따라 데이터를 프로세싱하는 임의의 머신, 디바이스, 또는 장치이다. "컴퓨터 운영 시스템"은 태스크의 성능 및 컴퓨팅 및 하드웨어 리소스의 공유를 관리 및 조정하는 컴퓨터 시스템의 소프트웨어 컴포넌트이다. "소프트웨어 애플리케이션(또한 소프트웨어, 애플리케이션, 컴퓨터 소프트웨어, 컴퓨터 애플리케이션, 프로그램, 및 컴퓨터 프로그램으로서 지칭됨)"은 컴퓨터가 하나 이상의 특정 태스크들을 수행하도록 번역 및 실행할 수 있는 인스트럭션들의 세트이다. "컴퓨터 데이터 파일"은 소프트웨어 애플리케이션의 사용을 위해 데이터를 내구적으로 저장하는 정보의 블록이다.
"윈도우"는 통상적으로 사용자 인터페이스를 포함하는 디스플레이의 시각 영역이다. 윈도우는 통상적으로 소프트웨어 프로세스의 출력을 디스플레이하고, 통상적으로 사용자가 소프트웨어 프로세스를 위해 명령 또는 데이터를 입력하게 한다. 패런트(parent)를 갖는 윈도우는 "차일드 윈도우(child window)"라 불린다. 패런트가 없거나 패런트가 데스크톱 윈도우인 윈도우는 "상위-레벨 윈도우"라 불린다. "데스크톱"은 그래픽 사용자 인터페이스(GUI)의 배경을 페인팅(paint)하는 시스템-규정 윈도우이고, 모든 소프트웨어 프로세스들에 의해 디스플레이되는 모든 윈도우들에 대한 베이스(base)로서 기능을 한다.
"데이터베이스"는 컴퓨터에 의해 탐색될 수 있는 표준화된 포맷으로 제시되는 조직화된 기록들의 콜렉션이다. 데이터베이스는 단일 컴퓨터 상의 단일 컴퓨터-판독 가능한 데이터 저장 매체 상에 저장될 수 있거나, 데이터베이스는 하나 이상의 컴퓨터들 상의 다수의 컴퓨터-판독 가능한 데이터 저장 매체를 통해 분배될 수 있다.
"데이터 싱크(data sink)(본원에서 간단히 "싱크"로서 지칭됨)"는 데이터를 수신하는 장치(예를 들면, 컴퓨터), 장치의 일부분, 또는 소프트웨어 중 어느 하나이다.
"데이터 소스(본원에서 간단히 "소스"로서 지칭됨)"는 데이터를 발신하는 장치(예를 들면, 컴퓨터), 장치의 일부분, 또는 소프트웨어 중 어느 하나이다.
"네트워크 노드(또한 간단히 "노드"로서 지칭됨)"는 통신 네트워크 내의 접합(junction) 또는 접속 포인트이다. 예시적인 네트워크 노드들은, 이에 제한되지 않지만, 단말기, 컴퓨터, 및 네트워크 스위치를 포함한다. "서버" 네트워크 노드는 정보 또는 서비스에 대한 요청들에 응답하는 네트워크 상의 호스트 컴퓨터이다. "클라이언트" 네트워크 노드는 서버로부터 정보 또는 서비스를 요청하는 네트워크 상의 컴퓨터이다. "네트워크 접속"은 2 개의 통신 네트워크 노드들 간의 링크이다. 용어, "로컬 네트워크 노드"는 현재 논의의 주요 주제인 네트워크 노드를 지칭한다. 용어, "원격 네트워크 노드"는 네트워크 통신 링크에 의해 로컬 네트워크 노드에 접속된 네트워크 노드를 지칭한다. "접속 핸들(connection handle)"은 통신자, 리소스, 또는 네트워크 노드 상의 서비스와 네트워크 접속을 수립하는데 사용될 수 있는 포인터 또는 식별자(예를 들면, URI(uniform resource identifier))이다. "네트워크 통신"은 네트워크 접속을 통해 하나의 네트워크 노드로부터 또 다른 네트워크 노드로 전송 또는 그렇지 않다면 전달되는 임의의 형태의 정보(예를 들면, 텍스트, 음성, 오디오, 비디오, 전자 메일 메시지, 데이터 파일, 모션 데이터 스트림, 및 데이터 패킷)를 포함할 수 있다.
동기식 회의(synchronous conferencing)는 통신자들이 동시에 참여하는 통신을 지칭한다. 동기식 회의는 인스턴트 메시징(예를 들면, 텍스트, 채트), 오디오 회의, 비디오 회의, 애플리케이션 공유, 및 파일 공유 기술들을 포함하여 모든 형태의 네트워크 조정 기술들을 포함한다.
"통신자 상호 작용"은 통신자 및 또 다른 네트워크 엔티티 사이의 임의의 형태의 직접 또는 간접 동작 또는 영향이고, 또 다른 네트워크 엔티티는, 예를 들면, 또 다른 통신자, 가상 영역, 또는 네트워크 서비스를 포함할 수 있다. 예시적인 형태의 통신자 통신은 실시간으로 서로와 통신하는 통신자들, 가상 영역에 입장한 통신자, 및 네트워크 서비스로부터 리소스에 대한 액세스를 요청하는 통신자를 포함한다.
"존재(presence)"는 통신하기 위한 네트워크 엔티티(예를 들면, 통신자, 서비스, 또는 장치)의 능력 및 의지(willingness)를 지칭하고, 그러한 의지는 네트워크 상의 엔티티의 상태에 관한 정보를 검출 및 획득하기 위한 능력 및 엔티티에 접속하기 위한 능력에 영향을 준다.
"실시간 데이터 스트림"은 연속적인 흐름으로 구성 및 프로세싱되고 어떠한 지연도 없거나 단지 지각할 수 없는 지연으로 수신되도록 설계된 데이터이다. 실시간 데이터 스트림은, 예를 들면, 아바타 움직임 인스트럭션, 텍스트 채트, 실시간 데이터 피드(예를 들면, 센서 데이터, 머신 제어 인스트럭션, 트랜잭션 스트림 및 주식 시세 정보 피드), 및 파일 전송을 포함하여, 음성, 비디오, 사용자 움직임, 안면 표정 및 다른 물리적 현상의 디지털 표현뿐만 아니라 고속 전송, 고속 실행, 또는 고속 전송 및 고속 실행 양자로부터 이득을 얻을 수 있는 컴퓨팅 환경 내의 데이터를 포함한다.
"링크"는 2 개의 네트워크 노드들 사이의 접속이고, 실시간 통신을 위해 2 개의 노드들에 의해 할당된 완전한 대역폭을 나타낸다. 각각의 링크는 각각의 실시간 데이터 스트림들을 반송하는 채널들로 분할된다. 채널들은 링크에 할당된 전체 대역폭 내의 특정 스트림들에 할당된다.
"가상 영역(또한 "영역" 또는 "장소"로서 지칭됨)"은 컴퓨터-관리 공간 또는 장면의 표현이다. 일부 실시예에서, 가상 영역이 단일 포인트에 대응할 수 있지만, 가상 영역들은 통상적으로 1 차원, 2 차원, 또는 3 차원 표현들이다. 때때로, 가상 영역은 물리적, 현실-세계 공간을 시뮬레이팅하도록 설계된다. 예를 들면, 종래의 컴퓨터 모니터를 사용하여, 가상 영역은 3 차원 컴퓨터-생성 공간의 2 차원 그래픽으로서 시각화될 수 있다. 그러나, 가상 영역은 스위칭 규칙들을 구현하기 위해 연관된 시각화를 요구하지 않는다. 가상 영역은 통상적으로 가상 영역 방식의 인스턴스(instance)를 지칭하고, 상기 방식은 변수에 관련하여 가상 영역의 구조 및 콘텐츠를 규정하고, 인스턴스는 특정 컨텍스트로부터 분해된 값들에 관련하여 가상 영역의 구조 및 콘텐츠를 규정한다.
"가상 영역 애플리케이션(또한 "가상 영역 사양"으로서 지칭됨)"은 가상 환경을 생성하는데 사용되는 가상 영역의 디스크립션이다. 가상 영역 애플리케이션은 통상적으로 가상 영역의 하나 이상의 구역들과 연관된 지리적, 물리적 및 실시간 스위칭 규칙들의 규정들을 포함한다.
"가상 환경"은 적어도 하나의 가상 영역을 포함하고 통신자들 사이의 실시간 통신을 지원하는 컴퓨터-관리 공간의 표현이다.
"구역(zone)"은 적어도 하나의 스위칭 규칙 또는 통치 규칙(governance rule)과 연관된 가상 영역의 부분이다. "스위칭 규칙"은 하나 이상의 실시간 데이터 소스들 및 선례의 하나 이상의 조건들에 지배를 받는 하나 이상의 실시간 데이터 싱크의 접속 또는 접속 해제를 지정하는 인스트럭션이다. 스위칭 규칙은 가상 영역에 관련하여 통신하는 네트워크 노드들 사이의 실시간 데이트 스트림들의 스위칭(예를 들면, 라우팅, 접속, 및 접속 해제)을 제어한다. 통치 규칙은 리소스(예를 들면, 영역, 영역의 부분, 또는 영역 또는 부분의 콘텐츠)에 대한 통신자의 액세스, 액세스의 범위, 및 액세스의 후속 결과(예를 들면, 액세스가 기록되어야 하는 것과 관련된 기록들을 감사하는 요건)를 제어한다. "렌더링 가능 구역(renderable zone)"은 각각의 시각화와 연관된 구역이다.
가상 영역 내의 "위치"는 가상 영역 내의 포인트 또는 영역 또는 체적(volume)의 장소를 지칭한다. 포인트는 통상적으로 가상 영역 내의 지점을 규정하는 1 차원, 2 차원, 또는 3 차원 좌표들(예를 들면, x, y, z)의 단일 세트에 의해 표현된다. 영역은 통상적으로 가상 영역 내의 폐쇄된 2 차원 형상의 경계를 규정하는 3 개 이상의 동일 평면 상의 꼭짓점들의 3 차원 좌표들에 의해 표현된다. 체적은 통상적으로 가상 영역 내의 3 차원 형상의 폐쇄 공간을 규정하는 4 개 이상의 비동일 평면 상의 꼭짓점들의 3 차원 좌표들에 의해 표현된다.
"공간 상태"는 사용자가 가상 영역 내에 존재하는 곳을 기술하는 속성이다. 공간 상태 속성은 통상적으로 사용자가 존재하는 구역들 각각에 대한 각각의 값(예를 들면, 구역_ID 값)을 갖는다.
"통신 상태"는 통신자들 각각이 통신하도록 구성되는 각각의 통신 채널의 상태를 기술하는 속성이다.
가상 영역에 관련하여, "물체(또한 때때로 "프롭(prop)"으로서 지칭됨)"는 가상 영역의 기하학 구조로부터 개별적으로 유용하게 취급될 수 있는 가상 영역 내의 임의의 형태의 이산 엘리먼트(discrete element)이다. 예시적인 물체는 문, 포털, 창문, 뷰 스크린, 및 스피커폰을 포함한다. 물체는 통상적으로 가상 영역의 속성들 및 특성들로부터 개별적이고 구별되는 속성들 또는 특성들을 갖는다. "아바타"는 가상 영역 내의 통신자를 나타내는 물체이다.
본원에 사용된 용어, "포함하다"는 비제한적인 포함을 의미하고, 용어, "포함"은 비제한적인 포함을 의미한다. 용어 "에 기초하는"은 적어도 부분으로 기초한다는 것을 의미한다.
II. 개관
A. 서론
본원에 기재된 실시예는 실시간 네트워크 통신을 시각화하는 개선된 시스템 및 방법을 제공한다. 특히, 이러한 실시예들은 실시간 네트워크 통신 위에 공간 메타포어(spatial metaphor)를 적용한다. 공간 메타포어는 실시간 네트워크 통신에 수반된 통신자들의 현재 통신 상태들을 도시하는 컨텍스트를 제공한다. 공간 메타포어는 또한 실시간 네트워크 통신에 참여하기 위해 통신자들에 의해 사용되는 다양한 인터페이스 엘리먼트들의 표현을 조직화하기 위한 컨텍스트를 제공한다.
도 1은, 네트워크(18)에 의해 상호 접속된 제 1 클라이언트 네트워크 노드(12)(클라이언트 노드 A), 제 2 클라이언트 네트워크 노드(14)(클라이언트 네트워크 노드 B), 및 동기식 회의 서버(16)를 포함하는 예시적인 네트워크 통신 환경(10)의 실시예를 도시한다. 제 1 클라이언트 네트워크 노드(12)는 컴퓨터-판독 가능한 메모리(20), 프로세서(22), 및 입력/출력(I/O) 하드웨어(24)(디스플레이를 포함함)를 포함한다. 프로세서(22)는 메모리(20)에 저장된 적어도 하나의 통신 애플리케이션(26)을 실행한다. 제 2 클라이언트 네트워크 노드(14)는 통상적으로 제 1 클라이언트 네트워크 노드(12)와 실질적으로 동일한 방식으로 구성된다. 일부 실시예에서, 동기식 회의 서버(16)는 제 1 및 제 2 클라이언트 노드들(12, 14) 사이의 실시간 통신 세션을 관리한다. 네트워크 인프라구조 서비스 환경(30)은 또한 통신자들 사이의 상호 작용들의 기록들(38)을 포함하는 관계 데이터베이스(36)를 유지한다. 각각의 상호 작용 기록(38)은 한 쌍의 통신자들 사이의 상호 작용의 컨텍스트를 기술한다. 아래에 상세히 설명되는 바와 같이, 통신 애플리케이션(26) 및 동기식 회의 서버(16)는 네트워크 노드들(12, 14) 상에서 동작하는 통신자들 사이의 실시간 통신들을 개선하는 공간 시각화 컨텍스트를 생성하기 위한 플랫폼(본원에서 "플랫폼"으로서 지칭됨)을 함께 제공한다.
도 2는 제 1 및 제 2 네트워크 노드들(12, 14) 중 하나 또는 양자 상에서 동작하는 통신 애플리케이션(26)에 의해 구현되는 방법의 실시예를 도시한다. 이러한 프로세스는 통상적으로 다른 네트워크 노드 상에서 동작하는 또 다른 통신자와의 실시간 통신 세션을 개시하기 위한 네트워크 노드들(12, 14) 중 하나의 네트워크 노드 상의 통신자로부터의 요청에 응답하여 수행된다. 통신 애플리케이션(26)은 각각의 네트워크 노드들 상에서 동작하는 통신자들 사이에서 현재 실시간 통신 세션을 수립한다(도 2, 블록 40). 디스플레이 상에서, 통신 애플리케이션(26)은 현재 실시간 통신 세션의 공간 시각화를 디스플레이한다(도 2, 블록 40). 공간 시각화는 가상 영역의 그래픽 표현에 대해 공간적으로 관련하여 통신자들 각각의 그래픽 표현을 포함한다. 가상 공간은, 통신자들의 그래픽 표현들을 시각 공간 내의 각각의 위치들에 위치시키는 임의의 형태의 1 차원, 2 차원, 또는 3 차원 뷰에 의해 그래픽으로 표현될 수 있다. 현재 통신 세션 동안에, 통신 애플리케이션(26)은 통신자들의 현재 통신 상태들을 도시하는 시각 큐들(visual cues)을 공간 시각화에 도시한다(도 2, 블록 44). 통신 상태들 각각은 통상적으로 통신자들 각각이 통신하도록 구성되는 각각의 통신 채널(예를 들면, 텍스트 채트, 오디오, 비디오, 애플리케이션 공유, 및 파일 공유 채널)의 상태에 대응한다.
일부 실시예에서, 가상 영역 내의 통신자들의 상호 작용들을 수반하는 각각의 이벤트들을 기술하는 이벤트 디스크립션들의 로그는 현재 실시간 통신 세션의 공간 시각화의 엘리먼트들과 컨텍스트 상으로 연관하여 디스플레이 상에 제시된다. 이벤트 디스크립션들의 로그 및 가상 영역의 그래픽 표현은 통상적으로 단일의 그래픽 사용자 인터페이스 윈도우에 디스플레이된다. 이벤트 디스크립션들의 로그는, 예를 들면, 가상 영역 내의 통신자들 사이의 채트 대화의 텍스트; 가상 영역 내의 통신자들 각각에 의해 공유되는 데이터 파일의 디스크립션; 및 가상 영역 내의 통신자들 각각에 의해 공유되는 애플리케이션의 디스크립션 중 적어도 하나를 포함할 수 있다. 로그 내의 이벤트 디스크립션들은 통상적으로 각각의 이벤트 디스크립션들에 의해 기술된 이벤트들에 수반되는 통신자들의 그래픽 표현들 각각과 시각적으로 연관된다. 예를 들면, 일부 실시예에서, 각각의 라벨은 이벤트 디스크립션들 각각과 연관되고, 각각의 라벨은 각각의 이벤트 디스크립션에 의해 기술된 이벤트에 수반되는 통신자의 그래픽 표현의 시각 엘리먼트와 매칭하는 각각의 시각적 외관(visual appearance)을 갖는다. 이벤트 디스크립션들의 로그는 통상적으로 가상 영역의 식별자에 의해 인덱싱되는 하나 이상의 데이터 기록들에 저장된다.
일부 실시예에서, 하나 이상의 프롭들이 가상 영역에 디스플레이되고, 각각의 프롭은 통신 세션 동안에 통신자들 사이의 실시간 통신을 위한 각각의 통신 채널을 나타낸다. 예를 들면, 통신자-선택 가능한 테이블 프롭이 가상 영역에 디스플레이될 수 있고, 통신자들 중 하나의 통신자에 의한 테이블 프롭의 선택에 응답하여 통신자들 간의 파일 공유 세션이 개시될 수 있거나, 통신자-선택 가능한 뷰스크린 프롭이 가상 영역에 디스플레이될 수 있고, 통신자들 중 하나의 통신자에 의한 뷰스크린 프롭의 선택에 응답하여 애플리케이션 공유 세션이 통신자들 사이에서 개시될 수 있다. 일부 실시예에서, 프롭들 각각에 관련하여 통신자들 각각의 그래픽 표현의 공간 속성은 각각의 통신자에 의한 각각의 프롭의 선택에 응답하여 변경된다. 예를 들면, 각각의 통신자의 그래픽 표현이 선택된 프롭에 인접하여 도시될 수 있고, 이는 선택된 프롭을 대면하도록 재지향될 수 있고, 및/또는 통신자의 그래픽 표현이 변경될 수 있다(예를 들면, 도 15 및 도 16에 도시된 바와 같이, 통신자의 스프라이트(sprite)가 뷰스크린 프롭에 인접하여 위치될 때, 한 쌍의 눈들이 통신자의 스프라이트의 본체에 부가될 수 있음).
일부 실시예에서, 실시간 인스턴트 메시징 통신 채널은 현재 통신 세션 동안에 통신자들 사이에서 수립된다. 이러한 실시예들에서, 현재 통신 세션 동안에 발생하는 통신자들 사이의 현재 채트 대화의 현재 채트 로그는 통상적으로 가상 영역의 그래픽 표현과 연관하여 디스플레이된다. 가상 영역 내의 통신자들 사이의 이전 통신 세션 동안에 발생한 이전 채트 대화의 각각의 이전 채트 로그는 통상적으로 현재 채트 로그와 연관하여 디스플레이된다. 통신자들 중 정해진 하나의 통신자의 그래픽 표현은, 정해진 통신자의 현재 통신 상태가 정해진 통신자의 그래픽 표현의 동적인 변조에 반영되도록 실시간 인스턴트 메시징 통신 채널을 통한 정해진 통신자로부터의 각각의 실시간 채트 스트림의 수신에 응답하여 동적으로 변조될 수 있다.
일부 실시예에서, 파일 공유 프롭의 그래픽 표현이 가상 영역에 디스플레이된다. 통신자들 각각에 의한 파일 공유 프롭의 선택에 응답하여, 각각의 통신자의 그래픽 표현은 통상적으로 파일 공유 프롭에 인접하여 도시되고, 실시간 파일 공유 세션은 통상적으로 가상 영역에서 개시된다. 실시간 파일 공유 세션 동안의 각각의 통신자에 의해 공유된 데이터 파일은 통상적으로 가상 영역의 식별자를 포함하는 인덱스와 함께 데이터 저장 장치에 저장되고, 데이터 파일의 통신자-선택 가능한 그래픽 표현은 통상적으로 파일 공유 프롭 상에 디스플레이된다. 통신자들 중 정해진 하나의 통신자가 동작하는 네트워크 노드로의 데이터 파일의 다운로드는 통상적으로 정해진 통신자에 의한 파일의 그래픽 표현의 선택에 응답하여 개시된다.
일부 실시예에서, 애플리케이션 공유 프롭의 그래픽 표현은 가상 영역에 디스플레이된다. 통신자들 각각에 의한 애플리케이션 공유 프롭의 선택에 응답하여, 각각의 통신자의 그래픽 표현은 통상적으로 애플리케이션 공유 프롭에 인접하여 도시되고, 실시간 애플리케이션 공유 세션은 통상적으로 가상 영역에서 개시된다. 각각의 통신자가 동작하는 네트워크 노드로부터의 스크린 샷들(screen shots)은 통상적으로 실시간 애플리케이션 공유 세션 동안에 다른 통신자들 중 하나 이상의 통신자들과 공유된다. 공유되는 애플리케이션을 나타내는 그래픽 표시는 애플리케이션 공유 프롭과 관련하여 디스플레이된다. 일부 실시예에서, 애플리케이션 공유 프롭의 제 1 그래픽 표현은 가상 영역 내의 통신자들 사이의 애플리케이션 공유 기간 동안에 디스플레이되고, 제 1 그래픽 표현과 상이한 애플리케이션 공유 프롭의 제 2 그래픽 표현은 통신자들 사이의 애플리케이션 공유의 기간 이외의 기간 동안에 디스플레이된다.
일부 실시예에서, 오디오 싱크 통신 채널을 활성화하기 위한, 통신자들 중 정해진 하나의 통신자로부터의 명령에 응답하여, 정해진 통신자 및 오디오 소스로서 구성된 다른 통신자들 중 하나 이상의 통신자 사이에 실시간 오디오 통신 채널이 수립되고, 정해진 통신자의 그래픽 표현을 도시하는 것은 정해진 통신자가 오디오 싱크로서 구성된다는 것을 도시하도록 수정된다. 유사하게, 오디오 소스 통신 채널을 활성화하기 위한 통신자들 중 정해진 하나의 통신자로부터의 명령에 응답하여, 정해진 통신자 및 오디오 싱크로서 구성된 다른 통신자들 중 하나 이상의 통신자들 사이에서 실시간 오디오 통신 채널이 수립되고, 정해진 통신자의 그래픽 표현은 정해진 통신자가 오디오 소스로서 구성된다는 것을 도시하도록 수정된다.
일부 실시예에서, 가상 영역의 그래픽 표현의 정적인 뷰는 현재 통신 세션에 걸쳐 디스플레이되고, 통신자들은 가상 영역의 정적인 뷰 외부의 통신자들의 그래픽 표현들을 내비게이팅(navigate)할 수 없다.
일부 실시예에서, 통신자들 중 제 2 통신자와 개인 통신을 개시하기 위한 통신자들 중 제 1 통신자로부터의 명령의 수신에 응답하여, 제 1 및 제 2 통신자들 사이의 현재 실시간 통신 세션이 수립되고, 제 1 및 제 2 통신자들의 그래픽 표현들은 제 1 및 제 2 통신자들의 식별자들에 의해 인덱싱된 가상 영역의 그래픽 표현에 공간 상으로 관련하여 디스플레이된다.
일부 실시예에서, 통신자들 사이의 이전 실시간 통신 세션의 종료 상태는, 가상 영역의 식별자에 의해 인덱싱되고 통신자들 사이의 이전 통신 세션 동안에 발생한 이벤트들을 기술하는 데이터로부터 결정되고, 가상 영역의 그래픽 표현은 통신자들 사이의 이전 통신 세션의 결정된 종료 상태에 대응하는 상태에서 디스플레이된다.
B. 실시간 통신 세션을 위한 예시적인 공간 인터페이스
도 3a 내지 도 3d는 실시간 통신 세션에 수반되는 2 개의 네트워크 통신자들의 현재 통신 상태들을 드러내는 시각 큐들을 포함하는 실시간 통신 세션의 공간 시각화들의 실시예들을 각각 도시한다. 이러한 실시예들에서, 공간 시각화는 가상 영역의 그래픽 표현(50)에 공간 상으로 관련하여 통신자들 각각의 그래픽 표현(46, 48)을 포함한다. 특히, 가상 영역은, 통신자들의 그래픽 표현들(46, 48)이 상이한 각각의 위치들을 가질 수 있는 3 차원 시각 공간의 사시도로 표현된다. 예시된 실시예들에서, 각각의 통신자는 각각의 원형 스프라이트(46, 48)로 표현된다. 각각의 통신자가 통신하도록 구성된 다양한 통신 채널들의 상태들은 공간 시각화에 도시된 시각 큐들에 의해 드러난다. 예를 들면, 통신자의 로컬 스피커 채널의 온(on) 또는 오프(off) 상태는 통신자의 스프라이트(46) 상의 헤드폰 그래픽(52)의 존재 또는 부재에 의해 도시된다. 따라서, 스프라이트(46)에 의해 표현된 통신자의 스피커들이 온일 때, 헤드폰 그래픽(52)이 존재하고(도 3b에 도시된 바와 같이), 통신자의 스피커들이 오프일 때, 헤드폰 그래픽(52)이 부재한다(도 3a에 도시된 바와 같이). 통신자의 마이크로폰의 온 또는 오프 상태는 통신자의 스프라이트(46) 상의 마이크로폰 그래픽(54)의 존재 또는 부재 및 통신자의 스프라이트(46)로부터 일련의 확장파들(expanding waves)로 방사하는 일련의 동심원들(56)에 의해 도시된다. 따라서, 마이크로폰이 온일 때, 마이크로폰 그래픽(54) 및 방사하는 동심원들(56)이 존재하고(도 3c에 도시된 바와 같이), 마이크로폰이 오프일 때, 마이크로폰이 오프일 때, 마이크로폰 그래픽(54) 및 방사하는 동심원들(56)이 부재한다(도 3a, 도 3b, 및 도 3d에 도시된 바와 같이). 헤드폰 그래픽(52), 마이크로폰 그래픽(54), 및 방사하는 동심원들(56)은 통신자의 사운드 재생 및 마이크로폰 장치의 상태들의 시각 큐들로서 기능한다. 통신자의 텍스트 채트 채널의 온 또는 오프 상태는 통신자의 스프라이트에 인접한 손 그래픽(57)의 존재 또는 부재에 의해 도시된다(도 3d에 도시된 바와 같이). 통신자가 텍스트 채트 데이터를 또 다른 네트워크 노드에 전송할 때, 손 그래픽(57)이 존재하고, 통신자가 텍스트 채트 데이터를 전송하지 않을 때, 손 그래픽(57)이 존재하지 않는다. 일부 실시예에서, 텍스트 채트 데이터는 키보드 키들이 눌려질 때에만 전송되고, 이러한 경우에, 통신자의 텍스트 채널의 시각화는 손 그래픽(57)의 온 및 오프를 플래싱하는 것처럼 보인다.
도 4 및 도 5는, 가상 영역의 그래픽 표현 내의 프롭들(또한 물체들로서 지칭됨)에 관련하여 실시간 통신 세션에 수반되는 2 개의 네트워크 통신자들의 현재 통신 상태들을 드러내는 시각 큐들을 포함하는 실시간 통신 세션의 공간 시각화들의 실시예들을 각각 도시한다. 이러한 실시예들에서, 공간 시각화는 가상 영역의 그래픽 표현(58)에 공간 상으로 관련하여 통신자들 각각의 그래픽 표현(46, 48)을 포함한다. 특히, 가상 영역은 통신자들의 그래픽 표현들(46, 48)이 상이한 각각의 위치들을 가질 수 있는 3 차원 시각 공간의 사시도로 표현된다. 도 4 및 도 5에 도시된 시각화들은 통신자들이 통신하도록 구성된 다양한 통신 채널들의 상태들을 드러내는 시각 큐들을 제공하는 프롭들을 또한 포함한다. 특히, 이러한 시각화들은 애플리케이션 공유 통신 세션들의 상태를 도시하는 뷰스크린(60), 및 파일 공유 통신 세션들의 상태를 도시하는 테이블(62)을 포함한다.
뷰스크린(60)은 통신자가 애플리케이션 공유 채널을 통해 애플리케이션을 공유하는지 여부를 나타내는 시각 큐들을 제공한다. 도 4에 도시된 바와 같이, 뷰스크린(60)의 통신자의 선택에 응답하여, 통신자의 스프라이트(48)는 뷰스크린(60)에 인접한 가상 영역의 그래픽 표현의 위치로 자동으로 이동된다. 뷰스크린(60)에 인접한 통신자의 스프라이트(48)의 위치는 통신자가 가상 영역 내의 다른 통신자들과 애플리케이션을 현재 공유하거나 공유하려고 한다는 것을 나타낸다. 뷰스크린(60)의 그래픽 도시는 활성 애플리케이션 공유 세션이 발생하는지 여부에 의존하여 변경된다. 예시된 실시예에서, 뷰스크린(60)의 도시된 컬러는 활성 애플리케이션 공유 세션 동안의 밝은 것으로부터(도 4에 도시된 바와 같이) 어떠한 애플리케이션 공유도 발생하지 않을 때에 어둡게(도 5에 도시된 바와 같이) 변한다. 애플리케이션 공유 프로세스에 관한 부가적인 세부 사항들은 2009년 1월 15일자에 제출된 미국 특허 출원 제 12/354,709 호의 도 26 내지 도 28 및 2009년 4월 3일자에 제출된 미국 특허 출원 제 12/418,270 호와 관련하여 기재되어 있다.
테이블(62)은 통신자가 데이터 파일 공유 채널을 통해 데이터 파일을 공유하고 있거나 공유해왔는지 여부를 나타내는 시각 큐들을 제공한다. 도 5에 도시된 바와 같이, 테이블(62)의 통신자의 선택에 응답하여, 통신자의 스프라이트(48)는 테이블(62)에 인접한 가상 영역의 그래픽 표현(58)의 위치로 자동으로 이동된다. 뷰스크린(60)에 인접한 통신자의 스프라이트(48)의 위치는 통신자가 가상 영역 내의 다른 통신자들과 데이터 파일을 현재 공유하거나 공유하려고 한다는 것을 나타낸다. 이러한 프로세스에서, 통신자는 클라이언트 노드(12)로부터 동기식 회의 서버 노드(30)에 의해 유지되는 저장소(repository)로 데이터 파일을 업로딩한다. 업로딩할 데이터 파일의 통신자의 선택에 응답하여, 동기식 회의 서버 노드(30)는 업로딩된 파일을 저장소에 저장하고, 데이터 파일을 테이블(62)과 연관시키는 데이터베이스 기록을 생성한다. 데이터 파일이 통신자에 의해 공유된 후에, 테이블(62)의 상태는 깨끗한 테이블 표면을 갖는 것(도 4에 도시된 바와 같이)으로부터 테이블 표면 상에 데이터 파일의 그래픽 표현을 갖는 것(도 5에 도시된 바와 같이)으로 변경된다. 가상 영역(58) 내의 다른 통신자들은 그래픽 표현(64)을 선택함으로써 업로딩된 데이터 파일의 콘텐츠를 볼 수 있고, 가상 영역(58)과 연관된 통치 규칙들의 지배를 받고, 선택적으로 데이터 파일을 수정 또는 삭제할 수 있다. 파일 공유 프로세스에 관한 세부 사항들은 2009년 1월 15일자에 제출된 미국 특허 출원 제 12/354,709 호의 도 22 및 도 23과 관련하여 기재되어 있다.
도 6은 2 개의 상이한 가상 영역들(즉, "가상 영역 I" 및 "가상 영역 II") 내의 2 개의 실시간 통신 세션들의 공간 시각화(70)의 실시예를 도시한다. 가상 영역들 각각은, 현재 1 차원 공간 내에 존재하는 통신자들의 그래픽 표현들을 포함하는 1 차원 공간에 의해 표현된다. 일부 실시예에서, 각각의 가상 영역들 내의 통신자들의 그래픽 표현들의 공간 위치들의 정렬(예를 들면, 좌로부터 우로)은, 통신자들이 가상 영역들 내에 각각의 존재들을 수립한 시간들에 관련하여 통신자들의 시간적 정렬(temporal ordering)의 공간 시각화에 대응한다. 예시된 실시예들에서, 각각의 통신자는 각각의 원형 스프라이트(46, 48, 72, 74, 76, 78)에 의해 표현된다. "데이브"란 이름의 통신자는, 그가 양자의 가상 영역들 내에 존재한다는 사실을 반영하여 각각의 가상 영역들 내의 각각의 스프라이트(48, 78)에 의해 표현된다. 각각의 통신자가 통신하도록 구성된 다양한 통신 채널들의 상태들은 공간 시각화(70)에 도시된 시각 큐들에 의해 드러난다. 예를 들면, 통신자의 로컬 스피커 채널의 온 또는 오프 상태는 통신자의 스프라이트 사의 헤드폰 그래픽(52)의 존재 또는 부재에 의해 도시된다. 따라서, 스프라이트에 의해 표현되는 통신자의 스피커들이 온일 때, 헤드폰 그래픽(52)이 존재하고(스프라이트들(46, 48, 72, 76, 및 78)을 참조), 통신자의 스피커들이 오프일 때, 헤드폰 그래픽(52)이 부재한다(스프라이트(74)를 참조). 통신자의 마이크로폰의 온 또는 오프 상태는 통신자의 스프라이트 상의 마이크로폰 그래픽(54)의 존재 또는 부재에 의해 도시된다. 따라서, 마이크로폰이 온일 때, 마이크로폰 그래픽(54)이 존재하고(스프라이트들(46 및 72)을 참조), 마이크로폰이 오프일 때, 마이크로폰 그래픽(54)이 부재한다(스프라이트들(48, 74, 76, 및 78)을 참조). 이러한 방법으로, 헤드폰 그래픽(52) 및 마이크로폰 그래픽(54)은 통신자의 사운드 재생 및 마이크로폰 장치들의 상태들의 시각 큐들을 제공한다.
III. 공간 시각화들과 가상 영역 내의 실시간 네트워크 상호 작용들의 로그들을 통합하기
A. 서론
플랫폼의 실시예들은 가상 영역 내의 실시간 네트워크 통신의 공간 시각화 및 가상 영역과 연관된 상호 작용들의 로그들과 통합할 수 있다. 이러한 방법으로, 통신자 상호 작용들의 현재 및 이전 로그들은 그러한 상호 작용들의 공간 시각화를 참조하여 개선되고, 참조는 상호 작용들의 컨텍스트들의 이해 및 더 큰 리콜(recall)을 가능하게 하기 위해 상호 작용들의 통신자의 공간 메모리들을 개입시킨다.
일부 실시예에서, 현재 실시간 통신 세션은 각각의 네트워크 노드들 상에서 동작하는 통신자들 사이에서 수립된다. 현재 실시간 통신 세션의 공간 시각화는 디스플레이 상에 디스플레이된다. 공간 시각화는 가상 영역의 그래픽 표현에 공간 상으로 관련하여 통신자들 각각의 그래픽 표현을 포함한다. 현재 통신 세션 동안에, 가상 영역 내의 통신자들의 상호 작용들을 수반하는 각각의 이벤트들을 기술하는 이벤트 디스크립션들의 로그는 현재 실시간 통신 세션의 공간 시각화의 엘리먼트와 컨텍스트 상으로 연관하여 디스플레이 상에 제시된다.
일부 실시예에서, 로그 내의 이벤트 디스크립션 각각과 현재 실시간 통신 세션의 공간 시각화의 엘리먼트들 사이의 시각적 연관성이 디스플레이 상에 도시된다. 예를 들면, 시각적 연관성은 로그 내의 이벤트 디스크립션 각각과 각각의 이벤트 디스크립션들 의해 기술된 이벤트들에 수반된 통신자들의 그래픽 표현들 각각의 사이에서 도시된다. 이러한 예에서, 각각의 라벨은 하나 이상의 이벤트 디스크립션들 각각과 연관될 수 있고, 여기서 라벨은 이벤트 디스크립션에 의해 기술된 이벤트에 수반된 통신자의 그래픽 표현의 시각 엘리먼트와 매칭하는 각각의 시각적 외관을 갖는다. 이러한 방법으로, 로그 내의 이벤트들은 디스플레이 도시된 공간 시각화의 통신자들의 상태와 공통 시각적 어휘를 공유한다.
일부 실시예에서, 가상 영역으로의 통신자들 각각의 입장에 응답하여, 각각의 통신자의 그래픽 표현이 공간 시각화에 부가되고, 가상 영역으로의 각각의 통신자의 입장을 기술하는 이벤트 디스크립션들 각각이 디스플레이 상에 제시된다. 일부 실시예에서, 가상 영역으로부터 통신자들 각각의 일탈에 응답하여, 각각의 통신자의 그래픽 표현은 공간 시각화로부터 제거되고, 가상 영역으로부터 각각의 통신자의 일탈을 기술하는 이벤트 디스크립션들 각각은 디스플레이 상에 제시된다. 일부 실시예에서, 통신자들 중 다른 통신자들과 통신자들 각각에 의한 데이터 파일의 공유에 응답하여, 데이터 파일의 통신자-선택 가능한 그래픽 표현은 가상 영역의 그래픽 표현에 공간 상으로 관련하여 디스플레이되고, 각각의 통신자에 의한 데이터 파일의 공유를 기술하는 이벤트 디스크립션들 각각이 디스플레이 상에 제시된다. 일부 실시예에서, 통신자들 중 다른 통신자들과 통신자들 각각에 의한 애플리케이션의 공유에 응답하여, 가상 영역의 그래픽 표현에 공간 상으로 관련하여 애플리케이션의 공유의 그래픽 표시가 디스플레이 상에 디스플레이되고, 각각의 통신자에 의한 애플리케이션의 공유를 기술하는 이벤트 디스크립션들 각각이 디스플레이 상에 디스플레이된다.
도 7은, 플랫폼이 가상 영역과 연관된 상호 작용들의 이력 기록들(historical records)과 가상 영역 내의 실시간 네트워크 상호 작용들의 공간 시각화들을 통합하는 방법의 실시예를 도시한다.
가상 영역에서 현재 실시간 통신 세션의 개시(도 7, 블록 80)에 응답하여, 플랫폼은 가상 영역과 연관된 상호 작용들의 로그를 포함하는 컨텍스트 구성 데이터를 검색한다(도 7, 블록 82). 로그는 통상적으로 상호 작용 기록들(38)로부터 추출된 데이터를 포함하고, 상호 작용 기록들(38)은 가상 영역 내의 통신자들 사이의 상호 작용들의 컨텍스트들을 기술한다. 추출된 데이터는, 예를 들면, 데이터 스트림 데이터(예를 들면, 텍스트 채트 엔트리들) 및 가상 영역에서 하나 이상의 이전 통신 세션들 동안에 공유되거나 기록된 파일들 및 데이터 스트림들(예를 들면, 오디오 및 비디오 데이터 스트림들)에 대한 참조들(예를 들면, 하이퍼링크들)을 포함할 수 있다.
플랫폼은 이력 로그와 연관하여 가상 영역 내의 현재 실시간 통신 세션의 시각화를 생성한다(도 7, 블록 84). 이러한 프로세스에서, 플랫폼은 통상적으로 가상 영역 내의 프롭들의 위치들 및 상태들을 포함하여, 가상 영역 내의 이전 통신 세션의 종료 상태를 기술하는 컨텍스트 데이터를 검색한다. 생성된 공간 시각화는 가상 영역의 그래픽 표현에 공간 상으로 관련하여 통신자들 각각의 그래픽 표현을 포함한다. 가상 영역은, 통신자들의 그래픽 표현들을 시각 공간 내의 각각의 위치들에 위치시키는 임의의 형태의 1 차원, 2 차원, 또는 3 차원 뷰에 의해 그래픽으로 표현될 수 있다. 현재 통신 세션 동안에, 플랫폼은 통신자들의 현재 통신 상태들을 도시하는 시각 큐들을 공간 시각화에 도시한다. 통신 상태들 각각은 통상적으로 통신자들이 통신하도록 구성된 각각의 통신 채널(예를 들면, 텍스트 채트, 오디오, 비디오, 애플리케이션 공유, 및 파일 공유 채널)의 상태에 대응한다.
현재 실시간 통신 세션 동안에, 플랫폼은 가상 영역에서 발생하는 통신자들 사이의 상호 작용들의 기록들을 포함하는 컨텍스트 구성 데이터를 저장하고, 여기서 기록들은 가상 영역의 식별자에 의해 인덱싱된다(도 7, 블록 86). 각각의 상호 작용 기록은 가상 영역 내의 한 쌍의 통신자들 사이의 상호 작용의 컨텍스트를 기술한다. 예를 들면, 일부 실시예에서, 상호 작용 기록은 통신자들 각각에 대한 식별자, 상호 작용의 장소에 대한 식별자(예를 들면, 가상 영역 인스턴스), 상호 작용 장소의 계층의 디스크립션(예를 들면, 상호 작용 영역이 더 큰 영역에 관련되는 방법의 디스크립션), 상호 작용의 시작 및 종료 시간들, 및 상호 작용 동안에 공유되거나 기록된 모든 파일들 및 다른 데이터 스트림들의 리스트를 포함한다. 따라서, 각각의 실시간 상호 작용에 대해, 상호 작용 플랫폼은 상호 작용이 발생한 때, 상호 작용이 발생하는 곳, 및 수반되는 통신자들(예를 들면, 입장 또는 기존)에 관련하여 상호 작용 동안에 발생된 것, 활성화/비활성화되는 물체들, 및 공유된 파일들을 추적한다.
현재 통신 세션의 종료에 응답하여(도 7, 블록 88), 플랫폼은 현재 통신 세션의 종료 상태를 기술하는 컨텍스트 구성 데이터를 저장한다(도 7, 블록 90). 종료 상태 컨텍스트 구성 데이터는 통상적으로, 프롭들의 위치들 및 그들 각각의 상태들의 디스크립션(예를 들면, 가상 영역에서 공유되는 데이터 파일들 및 테이블 프롭 사이의 연관성들)을 포함하여, 현재 통신 세션이 종료된 시간에서 가상 영역에 존재하는 모든 프롭들(예를 들면, 뷰스크린 및 테이블 프롭들)의 디스크립션을 포함한다. 종료 상태 컨텍스트 구성 데이터는 통상적으로 가상 영역 내에서 발생하는 다음 실시간 통신 세션에 대한 가상 영역의 종료 상태를 재생성하기 위해 플랫폼에 의해 사용된다.
B. 실시간 채트 상호 작용을 위한 예시적인 공간 인터페이스
일부 실시예들은 실시간 채트 상호 작용들 위에 상술된 하나 이상의 공간 메타포어 시각화들을 적용한다. 이러한 시각화들은 실시간 채트 상호 작용들에 수반된 통신자들의 현재 통신 상태들을 도시하기 위한 컨텍스트를 제공한다. 공간 메타포어는 또한 실시간 채트 상호 작용들에 참여하기 위해 통신자들에 의해 사용되는 다양한 인터페이스 엘리먼트들의 프리젠테이션을 조직화하기 위한 컨텍스트를 제공한다. 공간 메타포어 시각화들은, 인터넷 또는 일부 형태의 내부 네트워크/인트라넷을 통해, 선택적으로 오디오, 비디오, 파일 공유, 및 애플리케이션 공유 채널들과 같은 실시간 통신 채널들을 사용하여 2 개 이상의 통신자들 사이의 실시간 텍스트-기반 통신을 제공하는 임의의 형태의 인스턴트 메시징 플랫폼에 적용될 수 있다. 예를 들면, 실시예들은, 예를 들면, AOL 인스턴트 메신저, MSN 메신저, 야후! 메신저, 구글 토크(Google Talk), 및 스카이프(Skype)를 포함하는 현재 이용 가능한 인스턴트 메시징 플랫폼들 중 임의의 플랫폼과 통합될 수 있다.
도 8은 가상 영역 내의 통신자들의 그룹 사이의 실시간 채트 상호 작용을 위한 공간 인터페이스(92)의 예시적인 실시예를 도시한다. 통신자들 각각은 각각의 스프라이트(94, 96, 98, 100, 102)에 의해 그래픽으로 표현되고, 가상 영역은 직사각형 공간(101)(즉, "웨스트 회의" 공간)의 2 차원 상부 뷰에 의해 그래픽으로 표현된다. 통신자들이 초기에 가상 영역에 입장할 때, 그들의 스프라이트들은 가상 영역 내의 미리 결정된 위치들(또는 "좌석들")에 자동으로 위치된다. 가상 영역은 2 개의 뷰스크린 프롭들(104, 106) 및 테이블 프롭(108)을 포함한다. 통신자들은 입력 장치로 프롭들을 선택함으로써(예를 들면, 컴퓨터 마우스, 터치 패드, 터치 스크린, 등으로 프롭들 상을 더블-클릭함으로써) 프롭들과 상호 작용한다.
공간 인터페이스(92)는 툴바(112), 채트 로그 영역(114), 텍스트 상자(116), 및 전송 버튼(118)을 또한 포함하는 실시간 통신 인터페이스 윈도우(110)와 통합된다. 사용자는 텍스트 상자(116)에 텍스트 메시지들을 입력하고, 전송 버튼(118)을 선택함으로써 텍스트 메시지를 현재 웨스트 회의 공간(101) 내의 다른 통신자들에게 전송할 수 있다. 공간 인터페이스(92) 및 채트 로그 영역(114)은, 일부 실시예에서, 공간 인터페이스(92)를 은닉 또는 드러내기 위해 사용자에 의해 슬라이딩 업 및 다운될 수 있는 분할기(117)에 의해 분리된다.
채트 로그 영역(114)은 웨스트 회의 공간(101)과 연관된 현재 및 선택적으로 이전 이벤트들의 로그를 디스플레이한다. 채트 로그 영역(114)에 디스플레이되는 예시적인 세트의 이벤트들은, 프롭들과 관련하여 공유되는 임의의 애플리케이션들 및 데이터 파일들에 대한 참조들을 포함하여: 사용자가 웨스트 회의 공간(101) 내의 다른 통신자들과 교환하는 텍스트 메시지들; 웨스트 회의 공간(101) 내의 통신자들의 존재 상태의 변화들; 웨스트 회의 공간(101) 내의 통신자들의 스피커 및 마이크로폰 설정의 변화들; 및 프롭들(104-108)의 상태를 포함한다. 예시된 실시예들에서, 이벤트들은 통신자의 이름 다음에 오는 이벤트와 연관된 콘텐츠(예를 들면, 텍스트 메시지) 또는 이벤트의 디스크립션에 의해 라벨링된다. 예를 들면, 도 8에 도시된 예들에서, 상태 관련 이벤트들은 다음과 같이 라벨링된다.
ㆍ$UserName$ 룸에 입장
ㆍ$UserName$ 룸을 퇴장
ㆍ$UserName$ $ViewScreenName$ 상의 $ProcessName$를 공유
ㆍ$UserName$ $ViewScreenName$을 클리어
여기서, "$"와 "$" 사이의 태그들은 통신자들, 공유된 애플리케이션들, 또는 프롭들을 식별한다. 또한, 이벤트들 각각은, 연관된 이벤트가 개시되는 날짜 및 시간을 식별하는 각각의 타임스탬프(119)와 연관된다.
종래의 인스턴트 메시징 플랫폼들(예를 들면, AOL 인스턴트 메신저, MSN 메신저, 야후! 메신저, 구글 토크, 및 스카이프)과 통합되는 실시예들에서, 채트 로그 영역(114)은, 2 명 이상의 네트워크 통신자들에 의해 원격으로 타이핑되고 입장이 타이핑되는 순서로 개재되는 입장들의 리스트를 포함하는 표준 "채트 이력(또한 "인스턴트 메시지 이력"으로서 지칭됨)"을 통상적으로 포함한다. 채트 이력은, 어떠한 사용자가 입장하는지 및 다른 통신자의 입장에 대해 상대적인 시간을 나타내는 표시와 함께, 각각의 통신자의 단말기 디스플레이 상에 디스플레이된다. 이것은 통신자들로 하여금 입장 및 각각의 입장이 이루어진 시간을 독립적으로 볼 수 있게 함으로써 채트에 대한 세션 이력을 제공한다.
공간 시각화(92)는 채트 로그 영역(114)에 디스플레이되는 이벤트들의 프리젠테이션을 조직화하기 위한 컨텍스트를 제공한다. 예를 들면, 예시된 실시예에서, 디스플레이된 이벤트들 각각은 디스플레이된 이벤트를 소싱(source)한 통신자의 스프라이트의 외관과 시각적으로 상관시키는 각각의 태그로 라벨링된다. 특히, 통신자들 중 특정 통신자에 의해 소싱되는 이벤트들 각각은, 통신자의 스프라이트의 시각적 외관과 매칭하는 시각적 외관(예를 들면, 컬러-코드)을 갖는 각각의 아이콘(130, 132, 134, 136)으로 라벨링된다. 이러한 예에서, 아이콘들(130, 134)의 컬러는 데이브의 스프라이트(100)의 본체의 컬러와 매칭하고, 아이콘(132)의 컬러는 카밀라의 스프라이트(98)의 본체의 컬러와 매칭하고, 아이콘(136)의 아이콘은 잭의 스프라이트(96)의 본체의 컬러와 매칭한다.
툴바(112)는, 사용자의 스피커들을 온 및 오프로 토글링하기 위한 헤드폰 버튼(120), 사용자의 마이크로폰을 온 및 오프로 토글링하기 위한 마이크로폰 버튼(122), 사람들을 불러오기 위한 불러오기 버튼(get button)(124), 공간(101)을 포함하는 더 큰 가상 영역의 맵 뷰를 개방하기 위한 맵 버튼(126), 및 가상 영역에 대한 접속을 재수립하기 위한 재접속 버튼(128)을 포함하여, 내비게이션 및 상호 작용 제어 버튼들의 세트를 포함한다.
사용자가 웨스트 회의 공간(101)으로 이동한 후에, 사용자는 사용자의 스피커들 및 마이크로폰 중 하나 또는 양자를 선택적으로 턴-온 및 턴-오프하기 위해 헤드폰 버튼(120) 및 마이크로폰 버튼(122) 중 하나 또는 양자를 토글링할 수 있다. 상술된 바와 같이, 헤드폰 그래픽, 사용자의 스프라이트 주변의 방사하는 동심원들, 및 사용자의 스프라이트 상의 마이크로폰 그래픽은, 사용자의 스피커들 및 마이크로폰 양자가 턴 오프될 때 생략된다.
도 9를 참조하면, 불러오기 버튼(124)의 사용자 선택에 응답하여, 통신자들의 리스트가 개별적인 프레임(138)에 디스플레이된다. 통신자들은 2 개의 그룹들, 즉, 현재 영역(즉, 웨스트 회의) 내에 있는 모든 통신자들을 식별하는 "웨스트 회의 내의 사람들"로 라벨링된 제 1 그룹, 및 더 큰 영역(즉, 현재 영역을 포함하는 랜싱 항공(Lansing aviation)) 내에 존재하지만 현재 영역 내에 존재하지 않는 모든 통신자들을 식별하는 "랜싱 항공"으로 라벨링된 제 2 그룹으로 분할된다. 가상 영역들 각각은 공간 내에 현재 존재하는 통신자들의 그래픽 표현들을 포함하는 각각의 1 차원 공간(142, 144)에 의해 표현된다. 일부 실시예에서, 각각의 가상 영역들(142, 144) 내의 통신자들의 그래픽 표현들의 공간 위치들의 정렬(예를 들면, 상부로부터 하부로)은, 통신자들이 가상 영역들 내에 각각의 존재를 수립하는 시간들에 관련하여 통신자들의 시간적인 정렬의 공간 시각화에 대응한다. 예시된 실시예들에서, 각각의 통신자는 통신자의 각각의 사용자 이름(즉, "잭", "데이브", "카밀라", "카로", "알카디", "유카", "티크", "요시", 및 "아담")으로 라벨링된 각각의 원형 스프라이트에 의해 표현된다.
각각의 통신자가 통신하도록 구성된 다양한 통신 채널들의 상태들은 가상 영역들(142, 144) 내의 통신자들의 공간 시각화에 도시된 시각 큐들에 의해 드러난다. 예를 들면, 통신자의 로컬 스피커 채널의 온 또는 오프 상태는 통신자의 스프라이트 상의 헤드폰 그래픽(52)의 존재 또는 부재에 의해 도시된다. 따라서, 스프라이트에 의해 표현된 통신자의 스피커들이 온일 때, 헤드폰 그래픽(52)이 존재하고(스프라이트들, 잭, 데이브, 카밀라, 카로, 알카디, 및 티크를 참조), 통신자의 스피커들이 오프일 때, 헤드폰 그래픽(52)은 부재한다(스프라이트, 유카, 요시, 및 아담을 참조). 통신자의 마이크로폰의 온 또는 오프 상태는 통신자의 스프라이트 상의 마이크로폰 그래픽(54)의 존재 또는 부재에 의해 도시된다. 따라서, 마이크로폰이 온일 때, 마이크로폰 그래픽(54)이 존재하고(스프라이트들 카로 및 티크를 참조), 마이크로폰이 오프일 때, 마이크로폰 그래픽(54)이 부재한다(스프라이트들, 잭, 데이브, 카밀라, 알카디, 유카, 요시 및 아담). (통신자의 마이크로폰 그래픽의 온 상태를 나타내는 방사하는 원들은 통상적으로 이러한 시각화에서 생략됨.) 헤드폰 그래픽(52) 및 마이크로폰 그래픽(54)은 통신자의 사운드 재생 및 마이크로폰 장치들의 상태들의 시각 큐들을 제공한다. 통신자의 텍스트 채트 채널의 활성 상태는 통신자의 스프라이트(스프라이트, 아담을 참조)에 인접한 손 그래픽(57)의 존재 또는 부재에 의해 도시된다. 따라서, 통신자가 텍스트 채트 데이터를 또 다른 네트워크 노드에 전송할 때, 손 그래픽(57)이 존재하고, 통신자가 텍스트 채트 데이터를 전송하지 않을 때, 손 그래픽(57)은 존재하지 않는다. 일부 실시예에서, 텍스트 채트 데이터는 키보드 키들이 눌려질 때에만 전송되고, 이러한 경우에, 통신자의 텍스트 채널의 시각화는 손 그래픽(57)의 온 및 오프를 플래싱하는 것처럼 보인다.
프레임(138) 내의 이용 가능한 통신자들의 리스트 내의 통신자들 중 하나의 사용자 선택에 응답하여, 플랫폼은 각각의 구역 내의 사용자를 참여시키기 위해 초대장을 선택된 통신자에게 전송한다. 예를 들면, 도 10은, 사용자가 프레임(138)에 디스플레이된 이용 가능한 통신자들의 리스트 내의 "알카디"를 선택한 상황에서 플랫폼에 의해 생성되는 팝-업 윈도우(141)를 도시한다. 전송 버튼(143)의 선택에 응답하여, 플랫폼은 웨스트 회의 공간(101)에 사용자를 참여시키기 위해 이름, 알카디와 연관된 통신자에게 초대장을 전송한다(예를 들면, "제발 웨스트 회의에 나를 참여시키줘-잭").
C. 개인 실시간 네트워크 상호 작용을 위한 예시적인 공간 인터페이스
일부 실시예들은 (통상적으로 단지 2 명의) 네트워크 통신자들 사이의 실시간 개인 상호 작용들 위에 상술된 하나 이상의 공간 메타포어 시각화들을 적용한다. 이러한 공간 시각화들은 통신자들의 이전 개인 관계 이력에 관련하여 통신자들 사이의 현재 개인 실시간 통신 세션의 도시를 가능하게 한다. 다시 말해서, 가상 영역의 의미론(semantics)은 통신자들 사이의 관계 이력이다. 공간 시각화는, 통신자의 이전 관계 이력에 관련하여 개인 실시간 네트워크 통신들에 참여하도록 통신자들에 의해 사용되는 다양한 인터페이스 엘리먼트들의 프리젠테이션을 조직화하기 위한 프레임워크를 또한 제공한다.
통신자들 사이의 현재 개인 실시간 통신 세션은 통상적으로, 개인 가상 영역에서 발생하는 개인 상호 작용들의 기록, 개인 가상 영역과 연관하여 관계 데이터베이스(36)에 지속적으로 저장된 기록들에 대한 참조를 제공하는 개인 가상 영역으로서 시각화된다. 가상 영역은 통상적으로 제 1 통신 세션 동안에 자동으로 생성되고, 통신자들 중 하나 또는 전부가 가상 영역을 삭제하도록 선택할 때까지 지속된다. 기본적으로, 개인 가상 영역은 통상적으로 모든 참여 통신자들에 의해 공동으로 소유된다. 이것은, 임의의 통신자들이 개인 가상 영역 및 연관된 개인 상호 작용 기록들을 자유롭게 액세스할 수 있고, 개인 가상 영역 및 연관된 개인 상호 작용 기록들을 일반적으로 부가, 복제, 또는 삭제할 수 있다는 것을 의미한다.
각각의 통신자는 통상적으로 그 또는 그녀가 또 다른 통신자와 공유하는 개인 가상 영역을 명시적으로 내비게이팅해야 한다. 일부 실시예에서, 이것은 다른 통신자와의 개인 통신을 개시하는 인터페이스 제어를 선택함으로써 성취된다. 예를 들면, 일부 실시예에서, 또 다른 통신자와의 개인 인스턴트 메시징 통신(예를 들면, 텍스트, 오디오, 또는 비디오 채트)의 개시에 응답하여, 플랫폼은 통신자들이 개인 가상 영역에서 최종 통신한 때 개인 가상 영역의 이전 상태를 기술하는 구성 데이터에 따라 통상적으로 구성되는 개인 가상 영역에 개인 통신을 자동으로 위치시킨다.
일부 실시예에서, 플랫폼은 다음과 같이 제 2 네트워크 노드 상에서 동작하는 제 2 통신자와의 개인 통신을 개시하기 위해, 제 1 네트워크 노드 상에서 동작하는 제 1 통신자로부터의 명령의 수신에 응답한다. 플랫폼은 제 1 및 제 2 네트워크 노드들 사이에 현재 실시간 통신 세션을 수립한다. 플랫폼은 제 1 및 제 2 통신자들과 연관된 개인 가상 영역을 식별한다. 플랫폼은 개인 가상 영역과 연관되고 개인 가상 영역에서 제 1 및 제 2 통신자들의 상호 작용들에 응답하여 생성된 컨텍스트 구성 데이터를 검색한다. 디스플레이 상에서, 플랫폼은 현재 실시간 통신 세션의 공간 시각화를 디스플레이하고, 여기서 공간 시각화는 컨텍스트 구성 데이터에 따라 구성된 가상 영역의 그래픽 표현에 공간 상으로 관련하여 제 1 및 제 2 통신자들의 그래픽 표현들을 포함한다.
일부 실시예에서, 현재 실시간 통신 세션 동안에, 플랫폼은 가상 영역 내의 제 1 및 제 2 통신자들의 상호 작용들을 수반하는 각각의 이벤트들을 기술하는 이벤트 디스크립션들의 로그를 생성한다. 현재 실시간 통신 세션 동안에, 플랫폼은 통상적으로 가상 영역의 식별자를 포함하는 인덱스를 갖는 이벤트 디스크립션을 데이터 저장 장치에 저장한다. 이벤트 디스크립션의 로그는, 예를 들면, 가상 영역 내의 제 1 및 제 2 통신자들 사이의 채트 대화의 텍스트, 가상 영역 내의 제 1 및 제 2 통신자들 각각에 의해 공유되는 데이터 파일의 디스크립션, 및 가상 영역 내의 제 1 및 제 2 통신자들 각각에 의해 공유되는 애플리케이션의 디스크립션 중 적어도 하나를 포함할 수 있다. 현재 실시간 통신 세션 동안에, 통상적으로 이벤트 디스크립션들의 로그가 디스플레이 상에 제시된다. 이벤트 디스크립션들의 로그는 통상적으로 현재 실시간 통신 세션의 공간 시각화의 엘리먼트와 컨텍스트 상으로 연관되어 제시된다.
일부 실시예에서, 플랫폼은 현재 통신 세션 전에 하나 이상의 이전 통신 세션들 동안에 가상 영역 내의 제 1 및 제 2 통신자들의 상호 작용을 수반하는 각각의 이벤트들을 기술하는 이벤트 디스크립션들의 로그를 포함하는 컨텍스트 구성 데이터를 검색한다. 플랫폼은 통상적으로 이벤트 디스크립션의 로그를 포함하는 검색된 컨텍스트 구성 데이터와 함께, 현재 실시간 통신 세션 동안에 생성된 이벤트 디스크립션들의 로그를 제시한다.
일부 실시예에서, 플랫폼은 통신자들 사이의 이전 실시간 통신 세션의 종료 상태의 디스크립션을 포함하는 컨텍스트 구성 데이터를 검색하고, 통신자들 사이의 이전 통신 세션의 종료 상태에 대응하는 상태에서 가상 영역의 그래픽 표현을 디스플레이한다.
도 11은 개인 가상 영역 내의 네트워크 통신자들 사이의 실시간 네트워크 통신들을 관리하는 방법의 실시예를 도시한다. 통신자들 사이의 개인 실시간 통신이 개시되었다는 결정에 응답하여(도 11, 블록 150), 플랫폼은 모든 통신자들의 식별자들에 의해 인덱싱된 개인 가상 영역이 이미 생성되었는지 여부를 결정한다(도 11, 블록 152). 그러한 개인 가상 영역이 이미 생성되었다면, 플랫폼은 개인 가상 영역의 사양을 검색하고(도 11, 블록 154), 플랫폼은 또한 개인 가상 영역과 연관된 컨텍스트 구성 데이터를 검색한다(도 11, 블록 156). 모든 통신자들의 식별자들에 의해 인덱싱된 개인 가상 영역이 이미 생성되지 않았다면, 플랫폼은 모든 통신자들의 식별자들에 의해 인덱싱된 새로운 가상 영역을 생성한다(도 11, 블록 158). 개인 가상 영역의 사양이 검색되거나 새롭게 생성된 후에, 플랫폼은 그의 현재 컨텍스트로(즉, 그의 이전 구성 또는 그의 새로운 디폴트 구성으로) 구성된 개인 가상 영역에서 현재 실시간 통신 세션의 시각화를 생성한다(도 11, 블록 160). 현재 개인 실시간 통신 세션 동안에, 플랫폼은 개인 가상 영역의 상태를 기술하는 컨텍스트 구성 데이터를 저장하고, 개인 가상 영역에서의 상호 작용들의 기록을 포함하고, 기록들은 개인 가상 영역의 식별자에 의해 인덱싱된다(도 11, 블록 162).
도 12는 현재 실시간 통신 세션의 공간 시각화를 생성하는 프로세스(168)의 실시예를 도시한다. 이러한 프로세스에서, 통신자들(A 및 B) 각각은 각각의 노드(170, 172)에 의해 표현되고, 그들의 개인 쌍방의 관계는 노드들(170, 172)에 상호 접속하는 그래프의 에지(174)에 의해 표현된다. 통신자들 사이의 쌍방의 관계는 개인 가상 영역에서의 그들의 상호 작용 이력에 의해 규정된다. 상호 작용 이력은, 개인 가상 영역에서의 통신자들의 상호 작용들을 기술하는 상호 작용 기록들의 형태로 상호 작용 데이터베이스(36)에 저장된다. 이러한 상호 작용들은, 예를 들면, 채트, 오디오, 비디오, 구성 인스트럭션들, 3D 렌더링 파라미터들, 및 데이터베이스 질의 결과들(예를 들면, 위젯(widget) 상태 변화에 관련된 스트림들 키보드 이벤트 스트림들, 아바타 모션에 관련된 마우스 이벤트 스트림들, 및 접속 이벤트 스트림들)을 포함하는 태깅된 기록들의 실시간 차동 스트림들, 애플리케이션 공유, 파일 공유, 및 개인 가상 영역에 대한 맞춤화(customization)를 포함하여, 통신자들이 통신하도록 구성된 임의의 통신 채널들을 수반하는 임의의 상호 작용들을 포함할 수 있다. 예시된 실시예에서, 통신자들 사이의 상호 작용 이력은 현재 실시간 통신 세션의 공간 시각화(180)를 생성하기 위해 개인 가상 영역의 그래픽 표현을 기술하는 템플릿(template)(178)과 통합된다. 이러한 프로세스에서, 개인 가상 영역은 상호 작용 이력 내의 맞춤화 기록들에 따라 구성된다. 개인 가상 영역은 또한 템플릿(178)에 의해 제공된 사양에 따라 상호 작용 이력의 다른 엘리먼트들로 파퓰레이팅(populated)된다.
도 13은 개인 가상 영역 식별자들을 통신자들, 템플릿 사양들, 및 컨텍스트 데이터에 관련시키는 데이터 모델(180)의 실시예를 도시한다. 이러한 데이터 모델(180)에 따라, 각각의 개인 가상 영역은 각각의 고유한 식별자(예를 들면, Area_ID1 및 Area_ID2)와 연관되고, 개인 가상 영역을 소유한 모든 통신자들의 각각의 식별자들(예를 들면, Comm_IDA, Comm_IDB, Comm_IDX, 및 Comm_IDY)에 의해 인덱싱된다. 도 13에 도시된 예들에서, 개인 가상 영역들 각각은 각각의 한 쌍의 통신자들에 의해 공동으로 소유된다. 각각의 영역 식별자는 특정 영역 사양을 고유하게 식별하는 각각의 템플릿 사양 식별자와 연관된다. 각각의 영역 식별자는 또한 개인 가상 영역을 구성하기 위해 플랫폼에 의해 사용되는 특정 세트의 데이터(예를 들면, 맞춤화 데이터)를 고유하게 식별하는 각각의 구성 데이터 식별자와 연관된다.
도 14는 관계 데이터베이스(36) 내의 상호 작용 기록들(38)과 개인 가상 영역들 각각과 관련시키는 데이터 모델(182)의 실시예를 도시한다. 이러한 관계는 연관된 템플릿 사양에 따라 개인 가상 영역을 상호 작용 이력의 엘리먼트들로 파퓰레이팅하는 프로세스에서 플랫폼에 의해 사용된다.
도 15 및 도 16은 사용자(즉, 잭) 및 또 다른 통신자(즉, 데이브) 사이의 개인 쌍방의 상호 작용들에 대한 플랫폼에 의해 생성된 개인 가상 통신 영역("데이브와의 채트"로 라벨링됨)에서 통신자들 사이의 실시간 네트워크 통신을 위한 공간 인터페이스(188)의 실시예를 도시한다. 도 15는, 개인 가상 영역 내에 여전히 존재하는 잭과 상호 작용한 후에 데이브가 퇴장한 개인 가상 영역의 예시적인 상태를 도시한다. 도 16은, 데이브에 의해 이미 차지된 영역에 잭이 입장하는 개인 가상 영역의 상태를 도시한다.
공간 인터페이스(188)는 개인 가상 영역의 공간 시각화를 제공한다. 이러한 시각화에서, 통신자들 각각은 각각의 스프라이트(196, 198)에 의해 그래픽으로 표현되고, 개인 가상 영역은 구름의 2.5 차원 도상학적 뷰(iconographic view)에 의해 그래픽으로 표현된다. 도상학적 구름 뷰는, 개인 가상 영역의 포커스가 무엇보다도 상기 영역과는 반대로 통신자들 사이의 관계라는 개념을 강화하는 방법으로 다른 형태의 가상 영역들로부터 개인 가상 영역을 구별한다. 반대로, 다른 형태의 가상 영역들(예를 들면, 웨스트 회의)에서, 중심 포커스는 통상적으로 현실-세계 물리적 공간(예를 들면, 직장, 가정, 회의, 클럽 등)과 연관되는 사안들에 통상적으로 관한 것이다.
통신자들이 초기에 개인 가상 영역에 입장할 때, 통신자들의 스프라이트들은 개인 가상 영역 내의 미리 결정된 위치들(또는 "좌석들")에 자동으로 위치된다. 예시된 실시예에서, 개인 가상 영역은 뷰스크린 프롭(200)을 포함한다. 이러한 실시예에서, 뷰스크린 물체(200)의 선택에 응답하여, 통신자의 그래픽 표현은 뷰스크린 물체에 인접하게 재위치되고, 한 쌍의 눈은 연관된 통신자가 뷰스크린 물체(200)와 관련하여 애플리케이션을 보고 있다는 부가적인 시각 표시를 제공하기 위해 그래픽 표현에 부가된다.
개인 가상 영역과 연관된 통신자들은, 예를 들면, 부가적인 프롭들(예를 들면, 또 다른 뷰스크린 프롭 또는 테이블 프롭)을 부가하고, 컬러 방식을 변경함으로써 개인 가상 영역을 맞춤화할 수 있다. 통신자들은 입력 장치로 프롭들을 선택함으로써(예를 들면, 컴퓨터 마우스, 터치 패드, 터치 스크린 등으로 프롭들을 더블 클릭함으로써) 프롭들과 상호 작용한다. 특정 프롭의 통신자의 선택에 응답하여, 통신자의 스프라이트는 선택된 프롭에 인접하게 재위치되거나, 통신자의 스프라이트가 복제되고, 복제된 스프라이트는 선택된 프롭에 인접하게 위치되고, 원래 스프라이트는 그가 착석된 곳에 머문다.
공간 인터페이스(188)는 도 8에 도시된 공간 인터페이스(110)의 툴바(112), 채트 로그 영역(114), 텍스트 상자(116), 및 전송 버튼(118)과 동일한 방법으로 기능하는 툴바(192), 채트 로그 영역(194), 텍스트 상자(206), 및 전송 버튼(208)을 부가적으로 포함하는 실시간 통신 인터페이스 윈도우(190)와 통합된다.
채트 로그 영역(194)은 사용자(즉, 잭) 및 통신자들 중 또 다른 통신자(즉, 데이브) 사이의 개인 쌍방의 상호 작용들과 연관된 이벤트들의 로그를 디스플레이한다. 이벤트들의 로그는 사용자가 연관된 개인 가상 영역 내의 다른 통신자와 교환하는 텍스트 메시지들을 포함한다. 사용자는 텍스트 메시지들을 텍스트 상사(206)에 입력하고, 전송 버튼(208)을 선택함으로써 개인 가상 영역 내의 다른 통신자에게 텍스트 메시지를 전송할 수 있다. 채트 로그 영역(204)에 기록될 수 있는 예시적인 세트의 이벤트들은, 프롭들과 관련하여 공유되는 임의의 애플리케이션들 및 데이터 파일들에 대한 참조들을 포함하여, 텍스트 메시지 엔트리들, 개인 가상 영역 내의 통신자들의 존재 상태, 개인 가상 영역 내의 통신자들의 스피커 및 마이크로폰 설정에서의 변화들, 및 임의의 프롭들(예를 들면, 뷰스크린(200))의 상태를 포함한다.
예시된 실시예들에서, 이벤트들은 통신자의 이름들 다음에 오는 이벤트와 연관된 콘텐츠(예를 들면, 텍스트 메시지) 또는 이벤트의 디스크립션에 의해 라벨링된다. 예를 들면, 도 15 및 도 16에서, 상태 관련 이벤트들은 다음과 같이 라벨링된다.
ㆍ$UserName$ 룸에 입장
ㆍ$UserName$ 룸을 퇴장
ㆍ$UserName$ $ViewScreenName$ 상의 $ProcessName$를 공유
ㆍ$UserName$ $ViewScreenName$을 클리어
여기서, "$"와 "$" 사이의 태그들은 통신자들, 공유된 애플리케이션들, 또는 프롭들을 식별한다. 또한, 이벤트들 각각은, 연관된 이벤트의 날짜 및 시간을 식별하는 각각의 타임스탬프(209)와 연관된다. 또 다른 예에서, 애플리케이션 공유 이벤트 디스크립션(214)은 이벤트 클래스(공유)의 디스크립션, 공유자(데이브)의 아이덴티티, 공유 타겟(스크린 1)의 라벨, 공유 타겟의 URL(공유 타겟 라벨의 밑줄로 표현됨), 이벤트와 연관된 타임스탬프, 및 공유된 애플리케이션의 디스크립션을 갖는다.
도 16에 도시된 바와 같이, 괘선(rule line)과 같은 그래픽 분리기는 하나의 통신 세션의 이벤트들(또한, "대화"로서 지칭됨) 및 또 다른 통신 세션의 이벤트들 사이에서 채트 로그 영역(194)에 부가된다. 일부 실시예에서, 이전 통신 세션의 텍스트 디스크립션들은, 현재 통신 세션과 연관된 이벤트들이 시각적으로 두드러지도록 (예를 들면, 회색과 같이 더 밝은 폰트 컬러를 사용함으로써) 덜 강조된다.
일부 실시예에서, 이전 대화들이 "종료(collapsed)"되고, 대화에서의 참여자들의 리스트뿐만 아니라 가장 최근 이벤트의 타임스탬프 또는 대화 내의 메시지로 라벨링된다. 대화 라벨의 좌측에 대한 "토글"을 클릭하는 것은 대화를 시작하고, 채트 로그 영역(194)에 대화의 완전한 콘텐츠를 디스플레이한다.
종래의 인스턴트 메시징 플랫폼들(예를 들면, AOL 인스턴트 메신저, MSN 메신저, 야후! 메신저, 구글 토크, 및 스카이프)과 통합되는 실시예들에서, 채트 로그 영역(194)은, 2 명 이상의 네트워크 통신자들에 의해 원격으로 타이핑되고 입장이 타이핑되는 순서로 개재되는 입장의 리스트를 포함하는 표준 "채트 이력(또한 "인스턴트 메시지 이력"으로서 지칭됨)"을 포함한다. 채트 이력은 통상적으로, 어떠한 사용자가 입장하는지 및 다른 통신자의 입장에 대해 상대적인 시간을 나타내는 표시와 함께, 각각의 통신자의 단말기 디스플레이 상에 디스플레이된다. 이것은 통신자들로 하여금 입장 및 각각의 입장이 이루어진 시간을 독립적으로 볼 수 있게 함으로써 채트에 대한 세션 이력을 제공한다.
공간 인터페이스(188)는 채트 로그 영역(194)에 디스플레이되는 이벤트들의 프리젠테이션을 조직화하기 위한 컨텍스트를 제공한다. 예를 들면, 예시된 실시예에서, 디스플레이된 이벤트들 각각은 디스플레이된 이벤트를 소싱한 통신자의 스프라이트의 외관과 시각적으로 상관시키는 각각의 태그로 라벨링된다. 특히, 통신자들 중 특정 통신자에 의해 소싱되는 이벤트들 각각은, 통신자의 스프라이트의 시각적 외관과 매칭하는 시각적 외관(예를 들면, 컬러-코드)을 갖는 각각의 아이콘(210, 212)으로 라벨링된다. 이러한 예시된 실시예에서, 아이콘들(212)의 컬러는 데이브의 스프라이트(198)의 본체의 컬러와 매칭하고, 아이콘(210)의 컬러는 잭의 스프라이트(196)의 본체의 컬러와 매칭한다.
도 17은, 사용자(즉, 알카디) 및 또 다른 통신자(즉, 유카) 사이의 개인 쌍방의 상호 작용들을 위한 플랫폼에 의해 생성된 개인 가상 영역("유카와의 채트"로 라벨링됨)에서 통신자들 사이의 실시간 네트워크 통신을 위한 공간 인터페이스(220)의 실시예를 도시한다. 공간 인터페이스(220)는 개인 가상 영역의 공간 시각화를 제공한다. 이러한 시각화에서, 통신자들 각각은 각각의 스프라이트(222, 224)에 의해 그래픽으로 표현되고, 가상 영역은 구름의 2.5 차원 도상학적 뷰에 의해 그래픽으로 표현된다. 공간 인터페이스(220)는, 툴바(192), 채트 로그 영역(194), 텍스트 상자(206), 및 전송 버튼(208)을 포함하여 도 15 및 도 16에 도시된 인터페이스 윈도우(190)와 동일한 인터페이스 엘리먼트들을 부가적으로 갖는 실시간 통신 인터페이스 윈도우(218)와 통합된다.
통신자들이 그들의 개인 가상 영역에 초기에 입장할 때, 그들의 스프라이트들은 개인 가상 영역 내의 미리 결정된 위치들(또는 "좌석들")에 자동으로 위치된다. 예시된 실시예에서, 개인 가상 영역은 2 개의 뷰스크린 프롭들(226, 228) 및 테이블 프롭(230)을 포함하고, 테이블 프롭(230)의 상부 상에 통신자들 각각에 의해 공유되는 데이터 파일(즉, "DE Expense Report_ml.doc")의 그래픽 표현(231)이 도시된다. 개인 가상 영역과 연관된 통신자들은, 예를 들면, 부가적인 프롭들(예를 들면, 또 다른 뷰스크린 프롭 또는 테이블 프롭)을 부가하고, 컬러 방식 등을 변경함으로써 개인 가상 영역을 맞춤화할 수 있다. 통신자들은 입력 장치로 프롭들을 선택함으로써(예를 들면, 컴퓨터 마우스, 터치 패드, 터치 스크린 등으로 프롭들을 더블 클릭함으로써) 프롭들과 상호 작용한다. 특정 프롭의 통신자의 선택에 응답하여, 통신자의 스프라이트는 선택된 프롭에 인접하게 재위치되거나, 통신자의 스프라이트가 복제되고, 복제된 스프라이트는 선택된 프롭에 인접하게 위치되고, 원래 스프라이트는 그가 착석된 곳에 머문다. 도 17에 도시된 예에서, 유카는 뷰스크린(228)을 선택하고, 이에 응답하여, 플랫폼은 선택된 뷰스크린(228)에 인접한 위치에 그녀의 원래 스프라이트(224)의 복제품(232)을 생성한다. 애플리케이션(또는 프로세스)이 공유되는 동안에, 뷰스크린(228)은 활성 상태에 있는 것으로 도시되고, 이는 비활성 뷰스크린(226)의 도시와 시각적으로 구별 가능하다.
IV. 예시적인 시스템 아키텍처
A. 서론
도 18은, 동기식 회의 서버 노드(30)가 가상 환경 생성기(302)에 의해 구현되는 네트워크 통신 환경(10)(도 1 참조)의 실시예(300)의 간략도이다. 가상 환경 생성기(302)는 네트워크 인프라구조 서비스 환경(306)을 제공하는 적어도 하나의 서버 네트워크 노드(304)를 포함한다. 통신 애플리케이션(26) 및 네트워크 인프라구조 서비스 환경(306)은 함께, 상술된 하나 이상의 공간 메타포어 시각화들을 포함하는 공간 가상 통신 환경(또한, 본원에서 간단히 "가상 환경"으로 지칭됨)을 생성하기 위한 플랫폼을 제공한다.
네트워크 인프라구조 서비스 환경(306)은 가상 영역 애플리케이션(310)에 따라 가상 영역(308) 내의 제 1 및 제 2 클라이언트 노드들(12, 14)의 세션들을 관리한다. 가상 영역 애플리케이션(310)은 가상 영역(308)에 의해 호스팅되고, 가상 영역(308)의 디스크립션을 포함한다. 제 1 및 제 2 클라이언트 네트워크 노드들(12, 14) 상에서 동작하는 통신 애플리케이션(26)은 네트워크 인프라구조 서비스 환경(306)으로부터 수신된 데이터에 따라 가상 영역(308)의 각각의 뷰들을 제시하고, 통신자들로부터 명령들을 수신하고 상술된 통신자들 사이의 실시간 통신을 개선하는 공간 인터페이스를 제공하기 위한 각각의 인터페이스들을 제공한다. 통신자들은 통상적으로 각각의 아바타들에 의해 가상 영역(308)에 표현되고, 아바타는 통신자의 각각의 네트워크 노드들에서 통신자에 의해 입력되는 명령들에 응답하여 가상 영역(308) 주위를 움직인다. 가상 영역(308)의 각각의 통신자의 뷰는 통상적으로 통신자의 아바타의 관점으로부터 제시되고, 이는 통신자에 의해 경험되는 몰입(immersion) 레벨을 증가시킨다. 각각의 통신자는 통상적으로 그 또는 그녀의 아바타 주변의 가상 영역(308)의 임의의 부분을 볼 수 있다. 일부 실시예에서, 통신 애플리케이션들(26)은 가상 영역(308) 내의 통신자의 아바타의 위치들에 기초하여 제 1 및 제 2 클라이언트 네트워크 노드들(12, 14) 및 가상 영역(308)을 공유하는 다른 네트워크 노드들 사이에 실시간 데이터 스트림 접속을 수립한다.
네트워크 인프라구조 서비스 환경(306)은 또한 통신자들 사이의 상호 작용의 기록들(38)을 포함하는 관계 데이터베이스(36)를 유지한다. 각각의 상호 작용 기록(38)은 한 쌍의 통신자들 사이의 상호 작용의 컨텍스트를 기술한다.
B. 네트워크 환경
네트워크(18)는 로컬 영역 네트워크(LAN), 도시권 네트워크(MAN), 및 광역 네트워크(WAN)(예를 들면, 인터넷) 중 임의의 네트워크를 포함할 수 있다. 네트워크(18)는 통상적으로 네트워크 노드들 사이에서 매우 다양한 상이한 매체 형태들(예를 들면, 텍스트, 음성, 오디오, 및 비디오)의 전송을 지원하는 전송 설비 및 다수의 상이한 컴퓨팅 플랫폼들을 포함한다.
통신 애플리케이션(26)(도 1 및 도 18 참조)은 통상적으로 소프트웨어 및 하드웨어 리소스들을 포함하는 클라이언트 네트워크 노드 상에서 동작하고, 관리 정책과 함께, 사용자 선호도(사용자의 존재의 전파 및 영역들 및 다른 사용자에 대한 사용자의 접속에 관한 선호도를 포함함), 및 다른 설정은 다른 네트워크 노드와의 실시간 접속의 관리에 영향을 주는 로컬 구성을 규정한다. 네트워크 노드들 사이의 네트워크 접속은, 피어-투-피어 아키텍처, 서버-중개 아키텍처, 및 피어-투-피어 및 서버-중개 아키텍처들의 양상들을 조합한 하이브리드 아키텍처를 포함하여, 다양한 상이한 스트림 처리 토폴로지들로 구성될 수 있다. 이러한 형태의 예시적인 토폴로지는 미국 특허 제 11/923,629 호 및 제 11/923,634 호에 기재되어 있으며, 이들 양자는 2007년 10월 24일자로 제출되었다.
C. 네트워크 인프라구조 서비스
네트워크 인프라구조 서비스 환경(30)은, 클라이언트 노드들(12, 14) 및 다른 네트워크 노드들 사이의 네트워크 접속을 수립 및 관리하는 프로세스에서 통신 애플리케이션(26)과 협력하는 하나 이상의 네트워크 인프라구조 서비스들을 통상적으로 포함한다(도 1 및 도 18 참조). 네트워크 인프라구조 서비스는 단일 네트워크 노드 상에서 실행될 수 있거나, 다수의 네트워크 노드들에 걸쳐 분배될 수 있다. 네트워크 인프라구조 서비스는 통상적으로 하나 이상의 전용 네트워크 노드들(예를 들면, 라우팅 및 스위칭과 같은 하나 이상의 에지 서비스들을 수행하는 서버 컴퓨터 또는 네트워크 장치) 상에서 실행된다. 그러나, 일부 실시예에서, 하나 이상의 네트워크 인프라구조 서비스들은 통신자의 네트워크 노드들 중 적어도 하나에서 실행된다. 네트워크 인프라구조 서비스 환경(30)의 예시적인 실시예에 포함되는 네트워크 인프라구조 서비스 중에서는 계정 서비스, 보안 서비스, 영역 서비스, 랑데뷰 서비스, 및 상호 작용 서비스가 있다.
계정 서비스
계정 서비스는 가상 환경에 대한 통신자 계정을 관리한다. 계정 서비스는 또한 임의의 네트워크 인프라구조 서비스에 대해 클라이언트 네트워크 노드들을 인증하기 위해 클라이언트 네트워크 노드들에 의해 사용될 수 있는 인증 토큰(authentication token)의 생성 및 발행을 관리한다.
보안 서비스
보안 서비스는 가상 환경의 자산 및 다른 리소스에 대한 통신자의 액세스를 제어한다. 보안 서비스에 의해 구현되는 액세스 제어 방법은 통상적으로 하나 이상의 능력들(여기서 액세스는 적절한 능력 또는 허가를 갖는 엔티티에 대해 승인됨) 및 액세스 제어 리스트(여기서 액세스는 리스트 상에 있는 아이덴티티를 갖는 엔티티에 대해 승인됨)에 기초한다. 특정 통신자가 리소스에 대한 액세스가 승인된 후에, 통신자는 통상적으로 네트워크 통신 환경(300)에서 상호 작용하기 위해 다른 네트워크 인프라구조 서비스에 의해 제공된 기능을 사용한다.
영역 서비스
영역 서비스는 가상 영역을 관리한다. 일부 실시예에서, 영역 서비스는 제약들(312)의 세트에 지배를 받는 가상 영역 애플리케이션(308)에 따라 제 1 및 제 2 클라이언트 네트워크 노드들(12, 14) 상에서 동작하는 통신 애플리케이션(26)을 원격으로 구성한다. 제약들(312)은 통상적으로 가상 영역에 대한 액세스 상의 제어를 포함한다. 액세스 제어는 통상적으로 하나 이상의 능력들(여기서 액세스는 적절한 능력 또는 허가를 갖는 통신자에게 승인됨) 및 액세스 제어 리스트(여기서 액세스는 리스트 상에 있는 아이덴티티를 갖는 통신자 또는 클라이언트 노드에 대해 승인됨)에 기초한다.
영역 서비스는 또한 요청 엔티티의 능력에 지배를 받는 가상 영역과 연관된 네트워크 접속을 관리하고, 가상 영역에 대한 글로벌 상태 정보를 유지하고, 가상 영역(308)에 의해 규정된 컨텍스트에서 공유된 통신 세션에 참여하는 클라이언트 네트워크 노드에 대한 데이터 서버로서 기능을 한다. 글로벌 상태 정보는 가상 영역 내에 있는 모든 물체들의 리스트 및 가상 영역 내의 그들 각각의 위치들을 포함한다. 영역 서비스는 클라이언트 네트워크 노드를 구성하는 인스트럭션을 전송한다. 영역 서비스는 또한 초기화 정보를 등록하고, 통신 세션에 참여하기 위해 요청하는 다른 클라이언트 네트워크 노드로 초기화 정보를 전송한다. 이러한 프로세스에서, 영역 서비스는 가상 영역 애플리케이션(310)에 따라 클라이언트 네트워크 노드 상에서 가상 영역(308)을 렌더링하는데 요구되는 컴포넌트들(예를 들면, 플러그인)의 리스트를 각각의 참여 클라이언트 네트워크 노드로 전송할 수 있다. 영역 서비스는 또한, 통신 결함이 발생하는 경우에 클라이언트 네트워크 노드가 글로벌 상태로 동기화할 수 있다는 것을 보장한다. 영역 서비스는 통상적으로 가상 영역과 연관된 통치 규칙을 통해 가상 영역과의 통신자 상호 작용을 관리한다.
랑데뷰 서비스
랑데뷰 서비스는 존재 정보의 수집, 저장, 및 분배를 관리하고, (예를 들면, 접속 핸들의 분배를 관리함으로써) 요청 엔티티의 능력에 지배를 받는 네트워크 노드 서로와 통신하기 위한 네트워크에 대한 메커니즘을 제공한다. 랑데뷰 서비스는 통상적으로 존재 데이터베이스 내의 존재 정보를 저장한다. 랑데뷰 서비스는 통상적으로 통신자 개인 선호도를 통해 서로와의 통신자 상호 작용을 관리한다.
상호 작용 서비스
상호 작용 서비스는 통신자들 사이의 상호 작용의 기록(38)을 유지하는 관계 데이터베이스(306)를 유지한다. 통신자들 사이의 상호 작용마다, 네트워크 인프라구조 서비스 환경(306)의 하나 이상의 서비스들(예를 들면, 영역 서비스)은 상호 작용 데이터를 상호 작용 서비스로 전송한다. 응답하여, 상호 작용 서비스는 하나 이상의 각각의 상호 작용 기록들을 생성하고, 이를 관계 데이터베이스에 저장한다. 각각의 상호 작용 기록은 한 쌍의 통신자들 사이의 상호 작용의 컨텍스트를 기술한다. 예를 들면, 일부 실시예에서, 상호 작용 기록은 통신자들 각각에 대한 식별자, 상호 작용의 장소에 대한 식별자(예를 들면, 가상 영역 인스턴스), 상호 작용 장소의 계층의 디스크립션(예를 들면, 상호 작용 룸이 더 큰 영역에 관련하는 방법의 디스크립션), 상호 작용의 시작 및 종료 시간, 및 상호 작용 동안에 공유 또는 기록된 모든 파일들 및 다른 데이터 스트림들의 리스트를 포함한다. 따라서, 실시간 상호 작용마다, 상호 작용 서비스는 상호 작용이 발생하는 때, 상호 작용이 발생하는 곳, 및 수반되는 통신자(예를 들면, 입장 및 기존)에 관련하여 상호 작용 동안에 발생한 것, 활성화/비활성화되는 물체들, 및 공유된 파일들을 추적한다.
상호 작용 서비스는 또한 요청 엔티티의 능력에 지배를 받는 관계 데이터베이스(36)에 대한 질의를 지원한다. 상호 작용 서비스는 가상 영역에 기초한 분류 순서(예를 들면, 가장 자주 또는 가장 최근)로 상호 작용 데이터베이스 기록들에 대한 질의들의 결과들을 제시한다. 질의 결과들은 가상 영역에서 통신자가 만나는 접촉의 빈도 분류뿐만 아니라, 통신자가 가상 영역에 상관없이 만나는 사람의 분류 및 통신자가 가장 자주 다니는 가상 영역의 분류를 유도하는데 사용될 수 있다. 질의 결과는 또한 관계에 기초하여 특정 태스크를 자동화하는 휴리스틱 시스템(heuristic system)의 일부로서 애플리케이션 개발자에 의해 사용될 수 있다. 이러한 형태의 휴리스틱의 예는 특정 가상 영역을 5 번 이상 방문한 통신자에게 자동으로 노크 없이 입장하도록 허용하는 휴리스틱, 또는 영역에서 특정 시간에 존재한 통신자가 동일한 영역에서 동일한 시간에 존재하는 또 다른 통신자에 의해 생성된 파일을 수정 및 삭제하도록 허용하는 휴리스틱이 있다. 관계 데이터베이스(36)에 대한 질의는 다른 검색과 조합될 수 있다. 예를 들면, 관계 데이터베이스 상의 질의는, 네트워크 인프라구조 서비스 환경(306)의 도메인 외부에 있는 통신 시스템(예를 들면, 스카이프, 페이스북 및 플리커(flickr))을 사용하여 접촉과의 상호 작용에 대해 생성된 접촉 이력 데이터에 대한 질의들과 조합될 수 있다.
D. 가상 영역
통신 애플리케이션(26) 및 네트워크 인프라구조 서비스 환경(306)은 통상적으로 가상 영역의 인스턴스에 의해 규정된 통신 컨텍스트로 네트워크 노드들과의 실시간 접속들을 관리한다. 가상 영역 인스턴스는 추상 좌표에 관련하여 규정된 추상(비-기하학) 가상 공간에 대응할 수 있다. 대안적으로, 가상 영역 인스턴스는 특정 시각화와 연관된 1, 2 또는 3 차원 기하학 좌표에 관련하여 규정되는 시각 가상 공간에 대응할 수 있다. 추상적 가상 영역은 각각의 시각화에 연관되거나 연관될 수 없고, 시각 가상 영역은 각각의 시각화와 연관된다.
상술된 바와 같이, 통신자들은 통상적으로 연관된 시각화를 갖는 가상 영역 내의 각각의 아바타들(예를 들면, 스프라이트)에 의해 표현된다. 아바타는 통신자의 각각의 네트워크 노드들에서 통신자에 의해 입력되는 명령들에 응답하여 가상 영역 주위를 움직인다. 일부 실시예에서, 가상 영역 인스턴스의 통신자의 뷰는 통상적으로 통신자의 아바타의 관점으로부터 제시되고, 각각의 통신자는 통상적으로 그 또는 그녀의 아바타 주변의 시각 가상 영역의 임의의 부분을 볼 수 있어서, 통신자에 의해 경험되는 몰입 레벨을 증가시킨다.
가상 영역은 통상적으로 가상 영역 내의 아바타들에 의해 표현된 네트워크 노드들 사이에서 실시간 데이터 스트림들의 스위칭을 통치하는 각각의 규칙들과 연관된 하나 이상의 구역들을 포함한다. 스위칭 규칙은 가상 영역의 구역들 내의 통신자의 아바타들의 위치들에 기초하여 네트워크 노드들 각각에서 실행하는 로컬 접속 프로세스가 다른 네트워크 노드들과의 통신들을 수립하는 방법을 지시한다. 가상 영역은 통상적으로, 스위칭 규칙 및 통치 규칙을 포함하여, 가상 영역의 기하학적 엘리먼트들의 디스크립션 및 하나 이상의 규칙들을 포함하는 사양에 의해 규정된다. 스위칭 규칙들은 네트워크 노드들 사이의 실시간 스트림 접속들을 지배한다. 통치 규칙은 가상 영역 자체, 가상 영역 내의 구역들, 및 가상 영역 내의 물체들과 같은 리소스들에 대한 통신자의 액세스를 제어한다. 일부 실시예에서, 가상 영역의 기하학적 엘리먼트들은 2006년 4월, COLLADA - Digital Asset Schema Release 1.4.1 사양(http://www.khronos.org/collada/로부터 이용 가능함)에 따라 기재되어 있고, 스위칭 규칙은 미국 특허 제 11/923,629 호 및 제 11/923,634 호에 기재된 COLLADA Streams Reference 사양에 따라 XML(extensible markup language) 텍스트 포맷(본원에서 가상 공간 디스크립션 포맷(VSDL)으로서 지칭됨)을 사용하여 기재되어 있다.
가상 영역 내의 기하학적 엘리먼트는 통상적으로 가상 영역의 물리적 기하학적 구조 및 충돌 기하학 구조를 포함한다. 물리적 기하학적 구조는 가상 영역의 형태를 기술한다. 물리적 기하학적 구조는 통상적으로 삼각형, 사각형, 또는 다각형의 표면으로부터 형성된다. 컬러 및 텍스쳐는 가상 영역에 대한 더 현실적인 외관을 생성하기 위해 물리적 기하학적 구조에 맵핑된다. 예를 들면, 광을 시각 기하학적 구조에 페인팅하고, 광 주변의 텍스쳐, 컬러, 또는 강도를 수정함으로써 조명 효과가 제공될 수 있다. 충돌 기하학적 구조는 물체가 가상 영역에서 움직일 수 있는 방법을 결정하는 무형의 표면들을 기술한다. 충돌 기하학적 구조는 시각 기하학적 구조와 일치하고, 시각 기하학적 구조의 더 간단한 근사치에 대응하거나, 가상 영역 설계자의 애플리케이션-특정 요건에 관련할 수 있다.
스위칭 규칙들은 통상적으로 접속 소스들에 대한 조건들의 디스크립션 및 가상 영역 내의 위치들에 관련한 실시간 데이터 스트림들의 싱크들을 포함한다. 각각의 규칙은 통상적으로 상기 규칙이 적용되는 실시간 데이터 스트림 형태 및 상기 규칙이 적용되는 가상 영역 내의 위치 또는 위치들을 규정하는 속성들을 포함한다. 일부 실시예에서, 규칙들 각각은 선택적으로 소스의 요구된 역할, 싱크의 요구된 역할, 스트림의 우선 순위 레벨, 및 요청된 스트림 처리 토폴로지를 지정하는 하나 이상의 속성들을 포함할 수 있다. 일부 실시예에서, 가상 영역의 특정 부분에 대해 규정된 명시적인 스위칭 규칙이 존재하지 않는다면, 하나 이상의 암시적 또는 디폴트 스위칭 규칙들이 가상 영역의 특정 부분에 적용될 수 있다. 하나의 예시적인 디폴트 스위칭 규칙은, 모든 소스를 영역 내의 모든 호환 가능한 싱크에 접속하고, 정책 규칙들에 지배받는 규칙이다. 정책 규칙은 클라이언트 노드들 사이의 모든 접속들에 글로벌적으로 적용되거나 또는 개별적인 클라이언트 노드들과의 각각의 접속들에만 적용될 수 있다. 정책 규칙의 예는, 가상 영역 내의 서로의 규정된 거리(또는 반경) 내에 있는 각각의 물체들과 연관된 호환 가능한 싱크들과 소스들의 접속들만을 허용하는 근접 정책 규칙이다.
일부 실시예에서, 통치 규칙은 누가 가상 영역에 액세스하는가, 누가 가상 영역의 콘텐츠를 액세스하는가, 가상 영역의 콘텐츠에 대한 액세스 범위는 무엇인가(예를 들면, 사용자가 콘텐츠로 무엇을 할 수 있는가), 및 그러한 콘텐츠를 액세스한 후속 결과는 무엇인가(예를 들면, 감사 로그(audit log)와 같은 기록 유지, 및 지불 요건)를 제어하기 위해 가상 영역과 연관된다. 일부 실시예에서, 전체의 가상 영역 또는 가상 영역의 구역은 "통치 메시(governance mesh)"와 연관된다. 일부 실시예에서, 통치 메시는 US 특허 제 11/923,629 호 및 제 11/923,634 호에 기재된 구역 메시의 구현과 유사한 방법으로 구현된다. 통치 메시는 소프트웨어 애플리케이션 개발자가 통치 규칙과 가상 영역 또는 가상 영역의 구역을 연관시키는 것을 가능하게 한다. 이것은 가상 영역 내의 모든 파일에 대한 개별적인 허가 생성에 대한 필요성을 회피하고, 컨텍스트에 의존하여 동일한 문서를 상이하게 처리할 필요가 있을 때 잠재적으로 발생할 수 있는 복잡성을 처리할 필요성을 회피한다.
일부 실시예에서, 가상 영역은 가상 영역의 하나 이상의 구역들과 디지털 저작권 관리(DRM) 기능을 연관시키는 통치 메시와 연관된다. DRM 기능은 하나 이상의 가상 영역 또는 가상 영역 내의 하나 이상의 구역들 또는 가상 영역 내의 물체들에 대한 액세스를 제어한다. DRM 기능은 통신자가 가상 영역 내의 통치 메시 경계를 넘어설 때마다 트리거링된다. DRM 기능은 트리거링 동작이 승인되는지를 결정하고, 그렇다면, 허가된 동작의 범위가 무엇인지, 지불이 요구되는지, 및 감사 기록이 생성될 필요가 있는지를 결정한다. 가상 영역의 예시적인 구현에서, 연관된 통치 메시는, 통신자가 가상 영역에 입장할 수 있다면, 문서 조작, 문서 보기, 문서 다운로딩, 문서 삭제, 문서 수정 및 문서 재업로딩을 포함하여, 그 또는 그녀가 가상 영역과 연관된 모든 문서들에 대해 동작들을 수행할 수 있도록 구성된다. 이러한 방법에서, 가상 영역은 가상 영역에 의해 규정된 컨텍스트에서 공유 및 논의된 정보에 대한 저장소가 될 수 있다.
가상 영역의 사양에 관한 부가적인 세부 사항들은 미국 출원 제 61/042,714 호(2008년 4월 4일자에 제출됨), 제 11/923,629 호(2007년 10월 24일자에 제출됨), 및 제 11/923,634 호(2007년 10월 24일자에 제출됨)에 기재되어 있다.
E. 통신 애플리케이션
일부 실시예에서, 통신 애플리케이션(26)은,
a. 로컬 HID(Human Interface Device) 및 오디오 재생 장치,
b. So3D 그래픽 디스플레이, 아바타, 및 물리적 엔진,
c. 시스템 데이터베이스 및 저장 설비를 포함한다.
1. 로컬 HID(Human Interface Device) 및 오디오 재생 장치
로컬 HID는 통신자가 가상 영역 통신 세션에 참여하면서 명령 및 다른 신호를 클라이언트 네트워크 노드에 입력하는 것을 가능하게 한다. 예시적인 HID는 컴퓨터 키보드, 컴퓨터 마우스, 터치 스크린 디스플레이, 및 마이크로폰을 포함한다.
오디오 재생 장치는 통신자가 가상 영역 통신 세션 동안에 수신된 오디오 신호를 재생하는 것을 가능하게 한다. 예시적인 오디오 재생 장치는 오디오 신호를 조작(예를 들면, 믹싱 및 특수 효과 적용)하기 위한 오디오 프로세싱 하드웨어(예를 들면, 사운드 카드), 및 사운드를 출력하기 위한 스피커를 포함한다.
2. SO3D 그래픽 디스플레이, 아바타, 및 물리적 엔진
So3D 엔진은 디스플레이 모니터 상의 가상 영역 및 가상 영역 내의 물체의 각각의 뷰의 프리젠테이션을 제어하는 3 차원 시각화 엔진이다. So3D 엔진은, 가상 영역의 뷰들을 제시하고 통신자가 통신 애플리케이션(26)의 동작을 제어하도록 허용하기 위해 그래픽 사용자 인터페이스 드라이버 및 HID 장치와 통상적으로 인터페이싱한다.
일부 실시예에서, So3D 엔진은 영역 서비스로부터 그래픽 렌더링 인스트럭션을 수신한다. So3D 엔진은 또한 가상 영역 내의 통신자의 아바타를 렌더링하기 위해 요구된 이미지들을 포함하는 로컬 통신자 아바타 데이터베이스를 판독할 수 있다. 이러한 정보에 기초하여, So3D 엔진은 가상 영역 내의 통신자의 아바타의 시점(위치 및 지향)으로부터 가상 영역 및 가상 영역 내의 물체의 시각 표현(즉, 이미지)을 생성한다. 시각 표현은 통상적으로 운영 시스템의 그래픽 렌더링 컴포넌트로 전달되고, 운영 시스템은 클라이언트 네트워크 노드 상에 가상 영역의 시각 표현을 렌더링하기 위해 그래픽 렌더링 하드웨어를 구동한다.
통신자는 HID 장치(예를 들면, 컴퓨터 마우스)를 통해 뷰 제어 명령을 입력함으로써 가상 영역의 제시된 뷰를 제어할 수 있다. So3D 엔진은 뷰 제어 명령에 따라 가상 영역의 뷰를 업데이트한다. So3D 엔진은 또한 영역 서비스로부터 수신된 업데이트된 물체 위치 정보에 따라 디스플레이 모니터 상의 가상 영역의 그래픽 표현을 업데이트한다.
3. 시스템 데이터베이스 및 저장 설비
시스템 데이터베이스 및 저장 설비는 플랫폼에 의해 사용되는 다양한 종류의 정보를 저장한다. 저장 설비에 의해 통상적으로 저장되는 예시적인 정보는 존재 데이터베이스, 관계 데이터베이스, 실제 사용자 id(RUID) 데이터베이스, 아트 캐시 데이터베이스, 및 영역 애플리케이션 데이터베이스를 포함한다. 이러한 정보는 단일 네트워크 노드 상에 저장될 수 있거나, 이러한 정보는 다수의 네트워크 노드들을 통해 분배될 수 있다.
F. 클라이언트 노드 아키텍처
통신자는 통상적으로 클라이언트 네트워크 노드로부터 네트워크(18)에 접속한다. 클라이언트 네트워크 노드는 통상적으로 범용 컴퓨터 시스템 또는 전용 통신 컴퓨터 시스템(또는 네트워크-인에이블 비디오 게임 콘솔과 같은 "콘솔")에 의해 구현된다. 클라이언트 네트워크 노드는 다른 네트워크 노드들과의 실시간 데이터 스트림 접속들을 수립하는 통신 프로세스를 실행하고, 통상적으로 통신자에 의해 입장된 각각의 가상 영역의 뷰를 제시하는 시각화 렌더링 프로세스를 실행한다.
도 19는 컴퓨터 시스템(320)에 의해 구현되는 클라이언트 네트워크 노드의 실시예를 도시한다. 컴퓨터 시스템(320)은 프로세싱 유닛(322), 시스템 메모리(324), 및 프로세싱 유닛을 컴퓨터 시스템(320)의 다양한 컴포넌트들에 연결하는 시스템 버스(326)를 포함한다. 프로세싱 유닛(322)은 하나 이상의 데이터 프로세서들을 포함할 수 있고, 이들 각각은 다양한 상업적으로 이용 가능한 컴퓨터 프로세서들 중 임의의 하나의 형태일 수 있다. 시스템 메모리(324)는, 소프트웨어 애플리케이션에서 이용 가능한 어드레스들을 규정하는 소프트웨어 애플리케이션 어드레싱 공간과 통상적으로 연관되는 하나 이상의 컴퓨터-판독 가능 매체를 포함한다. 시스템 메모리(324)는 컴퓨터 시스템(320)에 대한 시동 루틴(start-up routine)을 포함하는 기본 입력/출력 시스템(BIOS)을 저장하는 판독 전용 메모리(ROM), 및 랜덤 액세스 메모리(RAM)를 포함할 수 있다. 시스템 버스(326)는 메모리 버스, 주변 장치 버스 또는 로컬 버스일 수 있고, PCI, VESA, 마이크로채널, ISA, 및 EISA를 포함하여 다양한 버스 프로토콜들 중 임의의 프로토콜과 호환 가능할 수 있다. 컴퓨터 시스템(320)은, 시스템 버스(326)에 접속되고 데이터, 데이터 구조 및 컴퓨터-실행 가능 인스트럭션에 대한 비휘발성 또는 영구 저장소를 제공하는 하나 이상의 컴퓨터-판독 가능 매체 디스크들을 포함하는 영구 저장 메모리(328)(예를 들면, 하드 드라이브, 플로피 드라이브, CD ROM 드라이브, 자기 테이프 드라이브, 플래시 메모리 장치, 및 디지털 비디오 디스크)를 또한 포함한다.
통신자는 하나 이상의 입력 장치들(330)(예를 들면, 하나 이상의 키보드들, 컴퓨터 마우스, 마이크로폰, 카메라, 조이스틱, Wii 입력 장치와 같은 물리적 모션 센서, 및 터치 패드)을 사용하여 컴퓨터 시스템(320)과 상호 작용(예를 들면, 명령 또는 데이터 입력)할 수 있다. 정보는, 디스플레이 모니터(332) 상으로 통신자에게 제공되는 그래픽 사용자 인터페이스(GUI)를 통해 제시될 수 있고, 디스플레이 모니터(322)는 디스플레이 제어기(334)에 의해 제어된다. 컴퓨터 시스템(320)은 또한 다른 입력/출력 하드웨어(예를 들면, 스피커 및 프린터와 같은 주변 출력 장치)를 포함할 수 있다. 컴퓨터 시스템(320)은 네트워크 어댑터(336)(또한 "네트워크 인터페이스 카드" 또는 NIC로서 지칭됨)를 통해 다른 네트워크 노드들에 접속한다.
다수의 프로그램 모듈들은, 애플리케이션 프로그래밍 인터페이스(338)(API), 운영 시스템(OS)(340)(예를 들면, U.S.A 워싱턴, 레드몬드 소재의 마이크로소프트 코포레이션으로부터 이용 가능한 윈도우 XP? 운영 시스템), 통신 애플리케이션(26), 드라이버(342)(예를 들면, GUI 드라이버), 네트워크 수송 프로토콜(344), 및 데이터(346)(예를 들면, 입력 데이터, 출력 데이터, 프로그램 데이터, 레지스트리, 및 구성 설정)를 포함하는 시스템 메모리(342)에 저장될 수 있다.
G. 서비스 노드 아키텍처
일부 실시예에서, 가상 환경 생성기(16)의 하나 이상의 서버 네트워크 노드들은, 각각의 서버 네트워크 노드가 통상적으로 하나 이상의 서버 소프트웨어 애플리케이션들을 포함하는 것을 제외하고, 클라이언트 네트워크 노드(120)와 동일한 형태의 각각의 범용 컴퓨터 시스템들에 의해 구현된다.
다른 실시예에서, 가상 환경 생성기(16)의 하나 이상의 서버 네트워크 노드들은 에지 서비스(예를 들면, 라우팅 및 스위칭)를 수행하는 각각의 네트워크 장치들에 의해 구현된다.
H. 예시적인 통신 세션
다시 도 17을 참조하면, 통신 세션 동안에, 클라이언트 네트워크 노드들 각각은 실시간 데이터 스트림들(예를 들면, 모션 데이터 스트림, 오디오 데이터 스트림, 채트 데이터 스트림, 파일 전송 데이터 스트림, 및 비디오 데이터 스트림)의 각각의 세트를 생성한다. 예를 들면, 각각의 통신자는 모션 데이터 스트림을 생성하는 하나 이상의 입력 장치들(예를 들면, 컴퓨터 마우스(52) 및 키보드(54))을 조작하고, 입력 장치는 가상 영역(66) 내의 그 또는 그녀의 아바타의 움직임을 제어한다. 또한, 컴퓨터 시스템(48)의 부근에서 로컬적으로 생성되는 통신자의 음성 및 다른 사운드는 마이크로폰(60)에 의해 포착된다. 마이크로폰(60)은 실시간 오디오 스트림으로 변환되는 오디오 신호를 생성한다. 오디오 스트림들의 각각의 사본은 가상 영역(66) 내의 아바타들에 의해 표현되는 다른 네트워크 노드들로 전송된다. 이러한 다른 네트워크 노드들에서 로컬적으로 생성되는 사운드는 실시간 오디오 신호로 변환되고, 컴퓨터 시스템(48)으로 전송된다. 컴퓨터 시스템(48)은 다른 네트워크 노드들에 의해 생성된 오디오 스트림을 스피커들(56, 58)에 의해 렌더링되는 오디오 신호들로 변환한다. 모션 데이터 스트림 및 오디오 스트림은 통신 노드들 각각으로부터 다른 클라이언트 네트워크 노드들로 직접적으로 또는 간접적으로 전송될 수 있다. 일부 스트림 처리 토폴로지에서, 클라이언트 네트워크 노드들 각각은 다른 클라이언트 네트워크 노드들에 의해 전송되는 실시간 데이터 스트림들의 사본을 수신한다. 다른 스트림 처리 토폴로지에서, 하나 이상의 클라이언트 네트워크 노드들은, 네트워크 노드들 중 다른 네트워크 노드로부터 소싱(또는 발신)되는 실시간 데이터 스트림으로부터 유도되는 하나 이상의 스트림 믹스들을 수신한다.
일부 실시예에서, 영역 서비스는 가상 영역의 현재 사양을 포함하는 글로벌 상태 정보, 가상 영역 내에 있는 물체의 현재 레지스터, 및 영역 서비스를 호스팅하는 네트워크 노드에 의해 현재 생성되는 임의의 스트림 믹스들의 리스트를 유지한다. 물체 레지스터는 통상적으로, 가상 영역 내의 각각의 물체에 대해, 각각의 물체 식별자(예를 들면, 물체를 고유하게 식별하는 라벨), 물체와 연관된 네트워크 노드와 네트워크 접속이 수립되도록 하는 접속 핸들(예를 들면, IP 어드레스와 같은 URI), 및 물체와 연관된 싱크들 및 실시간 데이터 소스들(예를 들면, 물체와 연관된 네트워크 노드의 소스 및 싱크)을 식별하는 인터페이스 데이터를 포함한다. 물체 레지스터는 또한 각각의 물체에 대한 하나 이상의 선택적인 역할 식별자들을 통상적으로 포함하고, 역할 식별자는 통신자 또는 영역 서비스에 의해 물체에 명시적으로 할당될 수 있거나, 물체 또는 사용자의 다른 속성들로부터 추론될 수 있다. 일부 실시예에서, 물체 레지스터는, 가상 영역 내의 물체와 연관된 네트워크 노드로부터 수신된 실시간 모션 데이터 스트림의 분석으로부터 영역 서비스에 의해 결정된, 가상 영역 내의 물체들 각각의 현재 위치를 또한 포함한다. 이와 관련하여, 영역 서비스는 가상 영역 내의 물체들과 연관된 네트워크 노드로부터 실시간 모션 데이터 스트림을 수신하고, 모션 데이터에 기초하여 가상 영역에 입장하고, 퇴장하고, 및 주변을 움직이는 통신자의 아바타 및 다른 물체를 추정한다. 영역 서비스는 추적된 물체의 현재 위치에 따라 물체 레지스터를 업데이트한다.
다른 네트워크 노드와의 실시간 데이트 스트림 접속을 관리하는 프로세스에서, 영역 서비스는, 클라이언트 네트워크 노드에 대해, 인터페이스 데이터, 구역 리스트, 가상 영역 내에 현재 존재하는 물체의 위치를 포함하는 구성 데이터의 세트를 유지한다. 인터페이스 데이터는, 클라이언트 네트워크 노드들 각각과 연관된 각각의 물체에 대해, 물체와 연관된 실시간 데이터 스트림 형태의 싱크 및 모든 소스의 각각의 리스트를 포함한다. 구역 리스트는 대응하는 클라이언트 네트워크 노드와 연관된 아바타에 의해 현재 차지되는 가상 영역 내의 모든 구역들의 레지스터이다. 통신자가 우선 가상 영역에 입장할 때, 영역 서비스는 통상적으로 위치 초기화 정보로 현재 물체 위치 데이터베이스를 초기화한다. 이후에, 영역 서비스는, 가상 영역을 공유하는 다른 클라이언트 노드들로부터 수신된 실시간 모션 데이터 스트림의 분석으로 결정된 가상 영역 내의 물체의 현재 위치로 현재 물체 위치 데이터베이스를 업데이트한다.
I. 공간 가상 통신 환경과의 인터페이싱
로컬 HID(Human Interface Device) 및 오디오 재생 장치, So3D 그래픽 디스플레이, 아바타, 및 물리적 엔진, 및 시스템 데이터베이스 및 저장 설비에 부가하여, 통신 애플리케이션(26)은 사용자와 공간 가상 통신 환경을 인터페이싱하는 그래픽 내비게이션 및 상호 작용 인터페이스(본원에서 "시커 인터페이스(seeker interface)"로서 지칭됨)를 또한 포함한다. 시커 인터페이스는 사용자가 가상 환경을 내비게이팅하는 것을 가능하게 하는 내비게이션 제어 및 사용자가 가상 통신 환경에서 다른 통신자와 그 또는 그녀의 상호 작용을 제어하는 것을 가능하게 하는 상호 작용 제어를 포함한다. 내비게이션 및 상호 작용 제어는 통상적으로, 컴퓨터 마우스, 터치 패드, 터치 스크린 디스플레이, 키보드, 및 비디오 게임 제어기를 포함하는 임의의 형태의 입력 장치를 사용하여 이루어지는 사용자 선택에 응답한다. 시커 인터페이스는 각각의 클라이언트 네트워크 노드 상에서 동작하는 애플리케이션이다. 시커 인터페이스는 사용자가 그 또는 그녀의 데스크톱 상에서 항상 계속하고 실행할 수 있는 소형, 경량의 인터페이스이다. 시커 인터페이스는 사용자가 가상 영역 애플리케이션을 런칭하도록 허용하고, 시간 접촉 및 실시간 공동 장소(또는 영역)에 대한 즉각적인 액세스를 사용자에게 제공한다. 시커 인터페이스는, 시커 인터페이스가 다른 네트워크 노드와의 실시간 통신을 개시 및 수신할 수 있도록 기본 운영 시스템의 실시간 통신 애플리케이션 및/또는 실시간 통신 컴포넌트와 통합된다. 가상 영역은 시커 인터페이스를 통해 사용자의 데스크톱과 통합되어, 사용자는 가상 환경 생성기(16)에 의해 생성된 가상 환경에 파일을 업로딩하고, 가상 영역 내에 여전히 존재하면서, 가사 환경과 독립적으로 네이티브 클라이언트 소프트웨어 애플리케이션을 사용하여 가상 영역과 연관하여 저장된 파일을 사용하고, 더욱 일반적으로 몇몇의 애플리케이션들 중 단지 하나라기보다 다른 운영 시스템과 유사한 그들의 운영 환경의 양상으로서 가상 영역 내의 존재 및 위치를 처리한다.
시커 인터페이스의 실시예의 구조 및 동작에 관한 부가적인 세부 사항은 2009년 1월 15일자에 제출된 공동 계류중인 US 특허 출원 제 12/354,709 호에 기재되어 있다.
본원에 기재된 공간 인터페이스의 실시예들 중 임의의 실시예는, 실시간 네트워크 통신에 수반되는 통신자의 현재 통신을 도시하기 위한 컨텍스트를 제공하기 위해 시커 인터페이스에 통합될 수 있다. 이러한 공간 인터페이스의 실시예는, 상술된 바와 같이, 실시간 네트워크 통신에 참여하기 위해 통신자에 의해 사용되는 다양한 인터페이스 엘리먼트의 프리젠테이션을 조직화하기 위한 컨텍스트를 또한 제공한다.
V. 결론
본원에 기재된 실시예는 실시간 네트워크 통신을 시각화하기 위한 개선된 시스템 및 방법을 제공한다. 특히, 이러한 실시예는 실시간 네트워크 통신의 위에 공간 메타포어를 적용한다. 공간 메타포어는 실시간 네트워크 통신에 수반된 통신자의 현재 통신 상태를 도시하기 위한 컨텍스트를 제공한다. 공간 메타포어는 실시간 네트워크 통신에 참여하기 위해 통신자에 의해 사용되는 다양한 인터페이스 엘리먼트의 프리젠테이션을 조직화하기 위한 컨텍스트를 또한 제공한다.
다른 실시예는 청구항의 범위 내에 있다.

Claims (51)

  1. 각각의 네트워크 노드(12, 14)에서 동작하는 통신자들(communicants) 사이에 현재 실시간 통신 세션을 수립하는 단계와,
    상기 현재 실시간 통신 세션의 공간 시각화(spatial visualization)(70, 92, 188, 220)를 디스플레이(322) 상에 디스플레이하는 단계 ? 상기 공간 시각화(70, 92, 188, 220)는 가상 영역의 그래픽 표현(graphical representation)(50)에 대해 공간적으로 관련하여 상기 통신자들 각각의 그래픽 표현(46, 48)을 포함함 ? 와,
    상기 현재 통신 세션 동안에, 상기 통신자들의 현재 통신 상태들을 도시하는 시각 큐들(visual cues)을 상기 공간 시각화(70, 92, 188, 220)에 도시하는 단계 ? 상기 통신 상태들 각각은 상기 통신자들 각각이 통신하도록 구성된 각각의 통신 채널의 상태에 대응함 ? 를 포함하는
    컴퓨터로 구현된 방법.
  2. 제 1 항에 있어서,
    상기 현재 통신 세션 동안에, 상기 현재 실시간 통신 세션의 공간 시각화(70, 92, 188, 220)의 엘리먼트들과 컨텍스트 상으로 연관하여, 상기 가상 영역 내의 상기 통신자들의 상호 작용들(interactions)을 수반하는 각각의 이벤트들을 기술하는 이벤트 디스크립션들(event descriptions)의 로그(114)를 상기 디스플레이(332) 상에 제시하는 단계를 더 포함하는
    컴퓨터로 구현된 방법.
  3. 제 2 항에 있어서,
    상기 이벤트 디스크립션들의 로그(114) 및 상기 가상 영역의 그래픽 표현은 단일 그래픽 사용자 인터페이스 윈도우(92)에 디스플레이되는
    컴퓨터로 구현된 방법.
  4. 제 2 항에 있어서,
    상기 이벤트 디스크립션들의 로그(114)는, 상기 가상 영역 내의 상기 통신자들 사이의 채트 대화(chat conversation)의 텍스트; 상기 가상 영역 내의 상기 통신자들 각각에 의해 공유되는 데이터 파일의 디스크립션; 및 상기 가상 영역 내의 상기 통신자들 각각에 의해 공유되는 애플리케이션의 디스크립션 중 적어도 하나를 포함하는
    컴퓨터로 구현된 방법.
  5. 제 2 항에 있어서,
    상기 제시하는 단계는, 상기 로그(114) 내의 이벤트 디스크립션들과, 각각의 이벤트 디스크립션들에 의해 기술된 이벤트들에 수반된 상기 통신자들의 그래픽 표현들 각각을 시각적으로 연관시키는 단계를 포함하는
    컴퓨터로 구현된 방법.
  6. 제 5 항에 있어서,
    상기 시각적으로 연관시키는 단계는, 각각의 이벤트 디스크립션에 의해 기술된 이벤트에 수반된 상기 통신자들의 그래픽 표현(46, 48)의 시각 엘리먼트와 매칭하는 각각의 시각적 외관(visual appearance)을 갖는 각각의 라벨과 상기 이벤트 디스크립션들의 각각을 연관시키는 단계를 포함하는
    컴퓨터로 구현된 방법.
  7. 제 2 항에 있어서,
    상기 가상 영역의 식별자에 의해 인덱싱된 하나 이상의 데이터베이스 기록들에 상기 이벤트 디스크립션들의 로그(114)를 저장하는 단계를 더 포함하는
    컴퓨터로 구현된 방법.
  8. 제 1 항에 있어서,
    상기 디스플레이하는 단계는 상기 통신 세션 동안에 상기 통신자들 사이의 실시간 통신들을 위한 각각의 통신 채널을 각각 표현하는 하나 이상의 프롭들(props)(104-108)을 상기 가상 영역에 디스플레이하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  9. 제 8 항에 있어서,
    상기 디스플레이하는 단계는 통신자-선택 가능한 테이블 프롭(108)을 상기 가상 영역에 디스플레이하는 단계를 포함하고,
    상기 방법은,
    상기 통신자들 중 하나의 통신자에 의한 상기 테이블 프롭(108)의 선택에 응답하여 상기 통신자들 사이에서 파일 공유 세션을 개시하는 단계를 더 포함하는
    컴퓨터로 구현된 방법.
  10. 제 8 항에 있어서,
    상기 디스플레이하는 단계는 통신자-선택 가능한 뷰스크린 프롭(104, 106)을 상기 가상 영역에 디스플레이하는 단계를 포함하고,
    상기 방법은,
    상기 통신자들 중 하나의 통신자에 의한 상기 뷰스크린 프롭(104, 106)의 선택에 응답하여 상기 통신자 사이에 애플리케이션 공유 세션을 개시하는 단계를 더 포함하는
    컴퓨터로 구현된 방법.
  11. 제 8 항에 있어서,
    각각의 통신자에 의한 각각의 프롭의 선택에 응답하여, 상기 프롭들(104-108) 각각에 관련하여 상기 통신자들 각각의 그래픽 표현의 공간 속성(spatial property)을 변경하는 단계를 더 포함하는
    컴퓨터로 구현된 방법.
  12. 제 11 항에 있어서,
    상기 변경하는 단계는 상기 선택된 프롭(104-108)에 인접한 각각의 통신자의 그래픽 표현(46, 49)을 도시하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  13. 제 11 항에 있어서,
    상기 변경하는 단계는 상기 선택된 프롭(104-108)을 대면하도록 각각의 통신자의 그래픽 표현(46, 48)을 재지향(reorienting)하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  14. 제 11 항에 있어서,
    상기 변경하는 단계는 각각의 통신자의 그래픽 표현(46, 48)을 변경하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  15. 제 1 항에 있어서,
    상기 수립하는 단계는 상기 현재 통신 세션 동안에 상기 통신자들 사이에 실시간 인스턴트 메시징 통신 채널을 수립하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  16. 제 15 항에 있어서,
    상기 디스플레이하는 단계는, 상기 가상 영역의 그래픽 표현과 연관하여, 상기 현재 통신 세션 동안에 발생하는 상기 통신자들 사이의 현재 채트 대화의 현재 채트 로그(114)를 디스플레이하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  17. 제 16 항에 있어서,
    상기 도시하는 단계는, 정해진 통신자의 현재 통신 상태가 상기 정해진 통신자의 그래픽 표현(46, 48)의 동적인 변조에서 반영되도록, 상기 실시간 인스턴트 메시징 통신 채널을 통한 상기 정해진 통신자로부터의 각각의 실시간 채트 스트림의 수신에 응답하여 상기 통신자들 중 정해진 통신자의 그래픽 표현(46, 48)을 동적으로 변조하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  18. 제 16 항에 있어서,
    상기 디스플레이하는 단계는, 상기 현재 채트 로그(114)와 연관하여, 상기 가상 영역에서 상기 통신자들 사이의 이전 통신 세션 동안에 발생한 이전 채트 대화의 각각의 이전 채트 로그(114)를 디스플레이하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  19. 제 1 항에 있어서,
    상기 디스플레이하는 단계는 상기 가상 영역에서 파일 공유 프롭(108, 230)의 그래픽 표현을 디스플레이하는 단계를 포함하고,
    상기 방법은,
    상기 통신자들 각각에 의한 상기 파일 공유 프롭의 선택에 응답하여, 상기 파일 공유 프롭(108, 230)에 인접한 각각의 통신자의 그래픽 표현을 도시하는 단계와, 상기 가상 영역에서 실시간 파일 공유 세션을 개시하는 단계를 더 포함하는
    컴퓨터로 구현된 방법.
  20. 제 19 항에 있어서,
    상기 실시간 파일 공유 세션 동안에, 상기 가상 영역의 식별자를 포함하는 인덱스로, 각각의 통신자에 의해 공유된 데이터 파일을 데이터 저장 장치에 저장하는 단계를 더 포함하고,
    상기 디스플레이하는 단계는 상기 데이터 파일의 통신자-선택 가능한 그래픽 표현(231)을 상기 파일 공유 프롭(230) 상에 디스플레이하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  21. 제 20 항에 있어서,
    상기 정해진 통신자에 의한 상기 데이터 파일의 그래픽 표현(231)의 선택에 응답하여, 상기 통신자들 중 정해진 통신자가 동작하는 네트워크 노드로의 데이터 파일의 다운로드를 개시하는 단계를 더 포함하는
    컴퓨터로 구현된 방법.
  22. 제 1 항에 있어서,
    상기 디스플레이하는 단계는 상기 가상 영역에서 애플리케이션 공유 프롭(226, 228)의 그래픽 표현을 디스플레이하는 단계를 포함하고,
    상기 방법은,
    상기 통신자들 각각에 의한 상기 애플리케이션 공유 프롭의 선택에 응답하여, 상기 애플리케이션 공유 프롭에 인접한 각각의 통신자의 그래픽 표현을 도시하는 단계와, 상기 가상 영역에서 실시간 애플리케이션 공유 세션을 개시하는 단계를 더 포함하는
    컴퓨터로 구현된 방법.
  23. 제 22 항에 있어서,
    상기 실시간 애플리케이션 공유 세션 동안에, 각각의 통신자가 동작하는 네트워크 노드로부터의 스크린 샷들(screen shots)을 다른 통신자들 중 하나 이상의 통신자들과 공유하는 단계를 더 포함하고,
    상기 디스플레이 단계는 애플리케이션이 상기 애플리케이션 공유 프롭(226, 228)과 관련하여 공유된다는 것을 나타내는 그래픽 표시를 디스플레이하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  24. 제 22 항에 있어서,
    상기 디스플레이하는 단계는, 상기 가상 영역에서 상기 통신자들 사이의 애플리케이션 공유의 기간들 동안에 상기 애플리케이션 공유 프롭(226, 228)의 제 1 그래픽 표현을 디스플레이하는 단계와, 상기 통신자들 사이에서 공유하는 애플리케이션이 없는 기간들 동안에 상기 제 1 그래픽 표현과 상이한 상기 애플리케이션 공유 프롭의 제 2 그래픽 표현을 디스플레이하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  25. 제 1 항에 있어서,
    오디오 싱크 통신 채널을 활성화하기 위한 상기 통신자들 중 정해진 통신자로부터의 명령에 응답하여, 상기 수립하는 단계는 상기 정해진 통신자 및 오디오 소스들로서 구성된 다른 통신자들 중 하나 이상의 통신자들 사이에 실시간 오디오 통신 채널을 수립하는 단계를 포함하고,
    상기 도시하는 단계는 상기 정해진 통신자가 오디오 싱크로서 구성된다는 것을 도시하기 위해 상기 정해진 통신자의 그래픽 표현(46, 48)을 수정하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  26. 제 1 항에 있어서,
    오디오 소스 통신 채널을 활성화하기 위한 상기 통신자들 중 정해진 통신자로부터의 명령에 응답하여, 상기 수립하는 단계는 상기 정해진 통신자 및 오디오 싱크들로서 구성된 다른 통신자들 중 하나 이상의 통신자들 사이에 실시간 오디오 통신 채널을 수립하는 단계를 포함하고,
    상기 도시하는 단계는 상기 정해진 통신자가 오디오 소스로서 구성된다는 것을 도시하기 위해 상기 정해진 통신자의 그래픽 표현(46, 48)을 수정하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  27. 제 1 항에 있어서,
    상기 디스플레이하는 단계는 상기 현재 통신 세션에 걸쳐 상기 가상 영역의 그래픽 표현의 정적인 뷰(static view)를 디스플레이하는 단계를 포함하고,
    상기 통신자들은 상기 가상 영역의 정적인 뷰 외부의 상기 통신자들의 그래픽 표현들(46, 48)을 내비게이팅할 수 없는
    컴퓨터로 구현된 방법.
  28. 제 1 항에 있어서,
    상기 통신자들 중 제 2 통신자와의 개인 통신을 개시하기 위한 상기 통신자들 중 제 1 통신자로부터의 명령의 수신에 응답하여, 상기 수립하는 단계는 상기 제 1 통신자 및 제 2 통신자 사이에 상기 현재 실시간 통신 세션을 수립하는 단계를 포함하고,
    상기 디스플레이하는 단계는, 상기 제 1 통신자 및 제 2 통신자의 식별자들에 의해 인덱싱된 가상 영역의 그래픽 표현(50)에 대해 공간 상으로 관련하여 상기 제 1 통신자 및 제 2 통신자의 그래픽 표현들(46, 48)을 디스플레이하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  29. 제 1 항에 있어서,
    상기 가상 영역의 식별자에 의해 인덱싱되고 상기 통신자들 사이의 이전 통신 세션 동안에 발생한 이벤트들을 기술하는 데이터로부터 상기 통신자들 사이의 이전 실시간 통신 세션의 종료 상태를 결정하는 단계를 더 포함하고,
    상기 디스플레이하는 단계는, 상기 통신자들 사이의 이전 통신 세션의 결정된 종료 상태에 대응하는 상태에서 가상 영역의 그래픽 표현(50)을 디스플레이하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  30. 컴퓨터-판독 가능 인스트럭션들을 저장하는 컴퓨터-판독 가능 매체(324, 328)와,
    상기 컴퓨터-판독 가능 매체에 연결되고, 상기 인스트럭션들을 실행하도록 동작 가능하고, 상기 인스트럭션들의 실행에 적어도 부분적으로 기초하는 데이터 프로세서(322)를 포함하고,
    상기 인스트럭션들은,
    각각의 네트워크 노드(12, 14)에서 동작하는 통신자들 사이에 현재 실시간 통신 세션을 수립하는 동작과,
    상기 현재 실시간 통신 세션의 공간 시각화(70, 92, 188, 220)를 디스플레이(322) 상에 디스플레이하는 동작 ? 상기 공간 시각화(70, 92, 188, 220)는 가상 영역의 그래픽 표현(50)에 대해 공간적으로 관련하여 상기 통신자들 각각의 그래픽 표현(46, 48)을 포함함 ? 과,
    상기 현재 통신 세션 동안에, 상기 통신자들의 현재 통신 상태들을 도시하는 시각 큐들을 상기 공간 시각화(70, 92, 188, 220)에 도시하는 동작 ? 상기 통신 상태들 각각은 상기 통신자들 각각이 통신하도록 구성된 각각의 통신 채널의 상태에 대응함 ? 을 수행하도록 동작 가능한
    장치.
  31. 컴퓨터-판독 가능 프로그램 코드를 포함하는 적어도 하나의 컴퓨터-판독 가능 매체(324, 328)로서, 상기 컴퓨터-판독 가능 프로그램 코드는,
    각각의 네트워크 노드(12, 14)에서 동작하는 통신자들 사이에 현재 실시간 통신 세션을 수립하는 단계와,
    상기 현재 실시간 통신 세션의 공간 시각화(70, 92, 188, 220)를 디스플레이(322) 상에 디스플레이하는 단계 ? 상기 공간 시각화(70, 92, 188, 220)는 가상 영역의 그래픽 표현(50)에 대해 공간적으로 관련하여 상기 통신자들 각각의 그래픽 표현(46, 48)을 포함함 ? 와,
    상기 현재 통신 세션 동안에, 상기 통신자들의 현재 통신 상태들을 도시하는 시각 큐들(visual cues)을 상기 공간 시각화(70, 92, 188, 220)에 도시하는 단계 ? 상기 통신 상태들 각각은 상기 통신자들 각각이 통신하도록 구성된 각각의 통신 채널의 상태에 대응함 ? 를 포함하는 방법을 구현하기 위해 컴퓨터(320)에 의해 실행되도록 적응되는
    컴퓨터-판독 가능 매체.
  32. 각각의 네트워크 노드(12, 14)에서 동작하는 통신자들 사이에 현재 실시간 통신 세션을 수립하는 단계와,
    상기 현재 실시간 통신 세션의 공간 시각화(70, 92, 188, 220)를 디스플레이(322) 상에 디스플레이하는 단계 ? 상기 공간 시각화(70, 92, 188, 220)는 가상 영역의 그래픽 표현(50)에 대해 공간적으로 관련하여 상기 통신자들 각각의 그래픽 표현(46, 48)을 포함함 ? 와,
    상기 현재 통신 세션 동안에, 상기 가상 영역에서 상기 통신자들의 상호 작용들을 수반하는 각각의 이벤트들을 기술하는 이벤트 디스크립션들의 로그(114)를 상기 디스플레이(322) 상에 제시하는 단계 ? 상기 이벤트 디스크립션들은 상기 현재 실시간 통신 세션의 공간 시각화(70, 92, 188, 220)의 엘리먼트들과 컨텍스트 상으로 연관하여 제시됨 ? 를 포함하는
    컴퓨터로 구현된 방법.
  33. 제 32 항에 있어서,
    상기 제시하는 단계는, 상기 로그(114) 내의 이벤트 디스크립션 각각과 상기 현재 실시간 통신 세션의 공간 시각화(702, 92, 188, 220)의 엘리먼트들 사이의 시각적 연관성(visual association)을 도시하는 단계를 도시하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  34. 제 33 항에 있어서,
    상기 도시하는 단계는, 상기 로그(114) 내의 이벤트 디스크립션들 각각과 각각의 이벤트 디스크립션들에 의해 기술된 이벤트들에 수반된 상기 통신자들의 그래픽 표현들 각각 간의 시각적 연관성을 도시하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  35. 제 34 항에 있어서,
    상기 도시하는 단계는, 상기 이벤트 디스크립션에 의해 기술된 이벤트에 수반된 통신자의 그래픽 표현(46, 48)의 시각 엘리먼트와 매칭하는 각각의 시각적 외관(visual appearance)을 갖는 각각의 라벨과 하나 이상의 이벤트 디스크립션들 각각을 연관시키는 단계를 포함하는
    컴퓨터로 구현된 방법.
  36. 제 32 항에 있어서,
    상기 가상 영역으로의 상기 통신자들 각각의 입장에 응답하여, 상기 디스플레이 단계는 각각의 통신자의 그래픽 표현을 상기 공간 시각화(70, 92, 188, 220)에 부가하는 단계를 포함하고,
    상기 제시하는 단계는 상기 가상 영역으로의 각각의 통신자의 입장을 기술하는 이벤트 디스크립션들 각각을 제시하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  37. 제 32 항에 있어서,
    상기 가상 영역으로부터 상기 통신자들 각각의 일탈(departure)에 응답하여, 상기 디스플레이 단계는 상기 공간 시각화(70, 92, 188, 220)로부터 각각의 통신자의 그래픽 표현(46, 48)을 제거하는 단계를 포함하고,
    상기 제시하는 단계는 상기 가상 영역으로부터의 각각의 통신자의 일탈을 기술하는 이벤트 디스크립션들 각각을 제시하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  38. 제 32 항에 있어서,
    상기 통신자들 중 다른 통신자들과의 상기 통신자들 각각에 의한 데이터 파일의 공유에 응답하여, 상기 디스플레이하는 단계는 상기 가상 영역의 그래픽 표현에 대해 공간적으로 관련하여 상기 데이터 파일의 통신자-선택 가능한 그래픽 표현(231)을 디스플레이하는 단계를 포함하고,
    상기 제시하는 단계는 각각의 통신자에 의한 상기 데이터 파일의 공유를 기술하는 상기 이벤트 디스크립션들 각각을 제시하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  39. 제 32 항에 있어서,
    상기 통신자들 중 다른 통신자들과의 상기 통신자들 각각에 의한 애플리케이션의 공유에 응답하여, 상기 디스플레이하는 단계는 상기 가상 영역의 그래픽 표현에 대해 공간적으로 관련하여 상기 애플리케이션의 공유의 그래픽 표시를 디스플레이하는 단계를 포함하고,
    상기 제시하는 단계는 각각의 통신자에 의한 상기 애플리케이션의 공유를 기술하는 상기 이벤트 디스크립션들 각각을 제시하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  40. 컴퓨터-판독 가능 인스트럭션들을 저장하는 컴퓨터-판독 가능 매체(324, 328)와,
    상기 컴퓨터-판독 가능 매체에 연결되고, 상기 인스트럭션들을 실행하도록 동작 가능하고, 상기 인스트럭션들의 실행에 적어도 부분적으로 기초하는 데이터 프로세서(322)를 포함하고,
    상기 인스트럭션들은,
    각각의 네트워크 노드(12, 14)에서 동작하는 통신자들 사이에 현재 실시간 통신 세션을 수립하는 동작과,
    상기 현재 실시간 통신 세션의 공간 시각화(70, 92, 188, 220)를 디스플레이(322) 상에 디스플레이하는 동작 ? 상기 공간 시각화(70, 92, 188, 220)는 가상 영역의 그래픽 표현(50)에 대해 공간적으로 관련하여 상기 통신자들 각각의 그래픽 표현(46, 48)을 포함함 ? 과,
    상기 현재 통신 세션 동안에, 상기 가상 영역에서 상기 통신자들의 상호 작용들을 수반하는 각각의 이벤트들을 기술하는 이벤트 디스크립션들의 로그(114)를 상기 디스플레이(322) 상에 제시하는 동작 ? 상기 이벤트 디스크립션들은 상기 현재 실시간 통신 세션의 공간 시각화(70, 92, 188, 220)의 엘리먼트들과 컨텍스트 상으로 연관하여 제시됨 ? 을 수행하도록 동작 가능한
    장치.
  41. 컴퓨터-판독 가능 프로그램 코드를 포함하는 적어도 하나의 컴퓨터-판독 가능 매체(324, 328)로서, 상기 컴퓨터-판독 가능 프로그램 코드는,
    각각의 네트워크 노드(12, 14)에서 동작하는 통신자들 사이에 현재 실시간 통신 세션을 수립하는 단계와,
    상기 현재 실시간 통신 세션의 공간 시각화(70, 92, 188, 220)를 디스플레이(322) 상에 디스플레이하는 단계 ? 상기 공간 시각화(70, 92, 188, 220)는 가상 영역의 그래픽 표현(50)에 대해 공간적으로 관련하여 상기 통신자들 각각의 그래픽 표현(46, 48)을 포함함 ? 와,
    상기 현재 통신 세션 동안에, 상기 가상 영역에서 상기 통신자들의 상호 작용들을 수반하는 각각의 이벤트들을 기술하는 이벤트 디스크립션들의 로그(114)를 상기 디스플레이(322) 상에 제시하는 단계 ? 상기 이벤트 디스크립션들은 상기 현재 실시간 통신 세션의 공간 시각화(70, 92, 188, 220)의 엘리먼트들과 컨텍스트 상으로 연관하여 제시됨 ? 를 포함하는 방법을 구현하기 위해 컴퓨터(320)에 의해 실행되도록 적응되는
    컴퓨터-판독 가능 매체.
  42. 제 2 네트워크 노드(14) 상에서 동작하는 제 2 통신자와의 개인 통신(private communication)을 개시하기 위한, 제 1 네트워크 노드(12) 상에서 동작하는 제 1 통신자로부터의 명령의 수신에 응답하여,
    상기 제 1 네트워크 노드(12)와 상기 제 2 네트워크 노드(14) 사이에 현재 실시간 통신 세션을 수립하는 단계와,
    상기 제 1 통신자 및 상기 제 2 통신자와 연관된 개인 가상 영역을 식별하는 단계와,
    상기 개인 가상 영역과 연관되고, 상기 개인 가상 영역 내의 상기 제 1 통신자 및 상기 제 2 통신자의 상호 작용들에 응답하여 생성된 컨텍스트 구성 데이터(context configuration data)를 검색하는 단계와,
    상기 현재 실시간 통신 세션의 공간 시각화(188, 220)를 디스플레이(332) 상에 디스플레이하는 단계 ? 상기 공간 시각화(188, 220)는 상기 컨텍스트 구성 데이터에 따라 구성된 상기 가상 영역의 그래픽 표현에 대해 공간적으로 관련하여 상기 제 1 통신자 및 상기 제 2 통신자의 그래픽 표현들을 포함함 ? 를 포함하는
    컴퓨터로 구현된 방법.
  43. 제 42 항에 있어서,
    상기 현재 실시간 통신 세션 동안에, 상기 가상 영역 내의 상기 제 1 통신자 및 상기 제 2 통신자의 상호 작용들을 수반하는 각각의 이벤트들을 기술하는 이벤트 디스크립션들의 로그(114)를 생성하는 단계를 더 포함하는
    컴퓨터로 구현된 방법.
  44. 제 43 항에 있어서,
    상기 현재 실시간 통신 세션 동안에, 상기 가상 영역의 식별자를 포함하는 인덱스로 상기 이벤트 디스크립션들을 데이터 저장 장치에 저장하는 단계를 더 포함하는
    컴퓨터로 구현된 방법.
  45. 제 44 항에 있어서,
    상기 이벤트 디스크립션들의 로그(114)는, 상기 가상 영역 내의 상기 제 1 통신자와 상기 제 2 통신자 사이의 채트 대화의 텍스트; 상기 가상 영역 내의 상기 제 1 통신자 및 상기 제 2 통신자 각각에 의해 공유된 데이터 파일의 디스크립션; 및 상기 가상 영역 내의 상기 제 1 통신자 및 상기 제 2 통신자 각각에 의해 공유된 애플리케이션의 디스크립션 중 적어도 하나를 포함하는
    컴퓨터로 구현된 방법.
  46. 제 43 항에 있어서,
    상기 현재 실시간 통신 세션 동안에, 상기 이벤트 디스크립션들의 로그(114)를 상기 디스플레이(332) 상에 제시하는 단계를 더 포함하는
    컴퓨터로 구현된 방법.
  47. 제 46 항에 있어서,
    상기 제시하는 단계는 상기 현재 실시간 통신 세션의 공간 시각화(188, 220)의 엘리먼트들과 컨텍스트 상으로 연관하여 상기 이벤트 디스크립션들의 로그(114)를 제시하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  48. 제 46 항에 있어서,
    상기 검색하는 단계는, 상기 현재 통신 세션 전에 하나 이상의 이전 통신 세션들 동안에 상기 가상 영역 내의 상기 제 1 통신자 및 상기 제 2 통신자의 상호 작용들을 수반하는 각각의 이벤트들을 기술하는 이벤트 디스크립션들의 로그(114)를 포함하는 컨텍스트 구성 데이터를 검색하는 단계를 포함하고,
    상기 제시하는 단계는 상기 이벤트 디스크립션들의 로그(114)를 포함하는 상기 검색된 컨텍스트 구성 데이터와 함께 상기 현재 실시간 통신 세션 동안에 생성된 이벤트 디스크립션들의 로그(114)를 제시하는 단계를 포함하는
    컴퓨터로 구현된 방법.
  49. 제 42 항에 있어서,
    상기 검색하는 단계는 상기 통신자들 사이의 이전 실시간 통신 세션의 종료 상태의 디스크립션을 포함하는 컨텍스트 구성 데이터를 검색하는 단계를 포함하고,
    상기 디스플레이 단계는 상기 통신자들 사이의 상기 이전 통신 세션의 종료 상태에 대응하는 상태에서 가상 영역의 그래픽 표현(50)을 디스플레이하는 단계를 포함하는,
    컴퓨터로 구현된 방법.
  50. 컴퓨터-판독 가능 인스트럭션들을 저장하는 컴퓨터-판독 가능 매체(324, 328)와,
    상기 컴퓨터-판독 가능 매체에 연결되고, 상기 인스트럭션들을 실행하도록 동작 가능하고, 상기 인스트럭션들의 실행에 적어도 부분적으로 기초하는 데이터 프로세서(322)를 포함하고,
    상기 인스트럭션들은, 제 2 네트워크 노드 상에서 동작하는 제 2 통신자와의 개인 통신을 개시하기 위한, 제 1 네트워크 노드 상에서 동작하는 제 1 통신자로부터의 명령의 수신에 응답하여,
    상기 제 1 네트워크 노드(12) 및 상기 제 2 네트워크 노드(14) 사이에 현재 실시간 통신 세션을 수립하는 동작과,
    상기 제 1 통신자 및 상기 제 2 통신자와 연관된 개인 가상 영역을 식별하는 동작과,
    상기 개인 가상 영역과 연관되고, 상기 개인 가상 영역 내의 상기 제 1 통신자 및 상기 제 2 통신자의 상호 작용들에 응답하여 생성된 컨텍스트 구성 데이터를 검색하는 동작과,
    상기 현재 실시간 통신 세션의 공간 시각화(188, 220)를 디스플레이(332) 상에 디스플레이하는 동작 ? 상기 공간 시각화(188, 220)는 상기 컨텍스트 구성 데이터에 따라 구성된 상기 가상 영역의 그래픽 표현에 대해 공간적으로 관련하여 상기 제 1 통신자 및 상기 제 2 통신자의 그래픽 표현들을 포함함 ? 을 수행하도록 동작 가능한
    장치.
  51. 컴퓨터-판독 가능 프로그램 코드를 포함하는 적어도 하나의 컴퓨터-판독 가능 매체(324, 328)로서, 상기 컴퓨터-판독 가능 프로그램 코드는, 제 2 네트워크 노드 상에서 동작하는 제 2 통신자와의 개인 통신을 개시하기 위한, 제 1 네트워크 노드 상에서 동작하는 제 1 통신자로부터의 명령의 수신에 응답하여,
    상기 제 1 네트워크 노드(12)와 상기 제 2 네트워크 노드(14) 사이에 현재 실시간 통신 세션을 수립하는 단계와,
    상기 제 1 통신자 및 상기 제 2 통신자와 연관된 개인 가상 영역을 식별하는 단계와,
    상기 개인 가상 영역과 연관되고, 상기 개인 가상 영역 내의 상기 제 1 통신자 및 상기 제 2 통신자의 상호 작용들에 응답하여 생성된 컨텍스트 구성 데이터를 검색하는 단계와,
    상기 현재 실시간 통신 세션의 공간 시각화(188, 220)를 디스플레이(332) 상에 디스플레이하는 단계 ? 상기 공간 시각화(188, 220)는 상기 컨텍스트 구성 데이터에 따라 구성된 상기 가상 영역의 그래픽 표현에 대해 공간적으로 관련하여 상기 제 1 통신자 및 상기 제 2 통신자의 그래픽 표현들을 포함함 ? 를 포함하는 방법을 구현하기 위해 컴퓨터(320)에 의해 실행되도록 적응되는
    컴퓨터-판독 가능 매체.
KR1020127002141A 2009-07-27 2010-07-15 실시간 네트워크 통신을 위한 공간 인터페이스 KR20120050980A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/509,658 2009-07-27
US12/509,658 US20090288007A1 (en) 2008-04-05 2009-07-27 Spatial interfaces for realtime networked communications

Publications (1)

Publication Number Publication Date
KR20120050980A true KR20120050980A (ko) 2012-05-21

Family

ID=43544836

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020127002141A KR20120050980A (ko) 2009-07-27 2010-07-15 실시간 네트워크 통신을 위한 공간 인터페이스

Country Status (6)

Country Link
US (1) US20090288007A1 (ko)
EP (1) EP2460138A2 (ko)
KR (1) KR20120050980A (ko)
CN (1) CN102483819A (ko)
IL (1) IL217290A0 (ko)
WO (1) WO2011016967A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014003510A1 (ko) * 2012-06-29 2014-01-03 인텔렉추얼디스커버리 주식회사 토폴로지를 이용하여 데이터를 공유하는 장치 및 방법

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4697953B2 (ja) * 2005-09-12 2011-06-08 キヤノン株式会社 画像表示装置及び画像表示方法
US8407605B2 (en) 2009-04-03 2013-03-26 Social Communications Company Application sharing
US8930472B2 (en) 2007-10-24 2015-01-06 Social Communications Company Promoting communicant interactions in a network communications 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
US9009603B2 (en) 2007-10-24 2015-04-14 Social Communications Company Web browser interface for spatial communication environments
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
US8191001B2 (en) 2008-04-05 2012-05-29 Social Communications Company Shared virtual area communication environment based apparatus and methods
US9514444B2 (en) 2009-01-15 2016-12-06 Sococo, Inc. Encapsulating virtual area based communicant assemblies
US9401937B1 (en) 2008-11-24 2016-07-26 Shindig, Inc. Systems and methods for facilitating communications amongst multiple users
US8902272B1 (en) 2008-11-24 2014-12-02 Shindig, Inc. Multiparty communications systems and methods that employ composite communications
EP2377032A4 (en) * 2008-12-05 2012-11-07 Social Communications Co CADISM IN REAL INVISIBLE TIME
US10356136B2 (en) * 2012-10-19 2019-07-16 Sococo, Inc. Bridging physical and virtual spaces
US20130283169A1 (en) 2012-04-24 2013-10-24 Social Communications Company Voice-based virtual area navigation
US9319357B2 (en) 2009-01-15 2016-04-19 Social Communications Company Context based virtual area creation
US9853922B2 (en) * 2012-02-24 2017-12-26 Sococo, Inc. Virtual area communications
US9065874B2 (en) 2009-01-15 2015-06-23 Social Communications Company Persistent network resource and virtual area associations for realtime collaboration
US8938677B2 (en) * 2009-03-30 2015-01-20 Avaya Inc. System and method for mode-neutral communications with a widget-based communications metaphor
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
US8639756B2 (en) * 2010-02-19 2014-01-28 Nokia Corporation Method and apparatus for generating a relevant social graph
US8572177B2 (en) 2010-03-10 2013-10-29 Xmobb, Inc. 3D social platform for sharing videos and webpages
US20110225498A1 (en) * 2010-03-10 2011-09-15 Oddmobb, Inc. Personalized avatars in a virtual social venue
US8667402B2 (en) * 2010-03-10 2014-03-04 Onset Vi, L.P. Visualizing communications within a social setting
US20110225039A1 (en) * 2010-03-10 2011-09-15 Oddmobb, Inc. Virtual social venue feeding multiple video streams
US20110225517A1 (en) * 2010-03-10 2011-09-15 Oddmobb, Inc Pointer tools for a virtual social venue
US20110225519A1 (en) * 2010-03-10 2011-09-15 Oddmobb, Inc. Social media platform for simulating a live experience
US20110225516A1 (en) * 2010-03-10 2011-09-15 Oddmobb, Inc. Instantiating browser media into a virtual social venue
US20110225518A1 (en) * 2010-03-10 2011-09-15 Oddmobb, Inc. Friends toolbar for a virtual social venue
US20110225515A1 (en) * 2010-03-10 2011-09-15 Oddmobb, Inc. Sharing emotional reactions to social media
US20110239136A1 (en) * 2010-03-10 2011-09-29 Oddmobb, Inc. Instantiating widgets into a virtual social venue
US9955209B2 (en) 2010-04-14 2018-04-24 Alcatel-Lucent Usa Inc. Immersive viewer, a method of providing scenes on a display and an immersive viewing system
ES2790827T3 (es) * 2010-04-30 2020-10-29 American Teleconferencing Serv Grabación y reproducción en una conferencia
US9501802B2 (en) 2010-05-04 2016-11-22 Qwest Communications International Inc. Conversation capture
US9003306B2 (en) 2010-05-04 2015-04-07 Qwest Communications International Inc. Doodle-in-chat-context
US20110276901A1 (en) * 2010-05-04 2011-11-10 Qwest Communications International Inc. Family chat
US8819566B2 (en) 2010-05-04 2014-08-26 Qwest Communications International Inc. Integrated multi-modal chat
US9559869B2 (en) 2010-05-04 2017-01-31 Qwest Communications International Inc. Video call handling
US9356790B2 (en) 2010-05-04 2016-05-31 Qwest Communications International Inc. Multi-user integrated task list
KR20120055371A (ko) * 2010-11-23 2012-05-31 한국전자통신연구원 디지털 공간정보의 보호 방법 및 장치
US9276972B2 (en) 2010-12-14 2016-03-01 Microsoft Technology Licensing, Llc Real-time media optimization over remoted sessions
US20120216129A1 (en) * 2011-02-17 2012-08-23 Ng Hock M Method and apparatus for providing an immersive meeting experience for remote meeting participants
WO2012135231A2 (en) 2011-04-01 2012-10-04 Social Communications Company Creating virtual areas for realtime communications
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
US9411506B1 (en) * 2011-06-28 2016-08-09 Google Inc. Providing additional functionality for a group messaging application
IL214855A0 (en) * 2011-08-28 2011-10-31 Arnon Joseph A method and device for carrying out a computerized group session
CN102413140A (zh) * 2011-11-30 2012-04-11 江苏奇异点网络有限公司 支持语音交互的网络教学方法
US9563902B2 (en) * 2012-04-11 2017-02-07 Myriata, Inc. System and method for transporting a virtual avatar within multiple virtual environments
WO2013181026A1 (en) * 2012-06-02 2013-12-05 Social Communications Company Interfacing with a spatial virtual communications environment
GB2506102A (en) * 2012-07-25 2014-03-26 Nowhere Digital Ltd Meeting management system
US20140173466A1 (en) * 2012-12-14 2014-06-19 Microsoft Corporation Transitions within views of conversation environments
US9679331B2 (en) * 2013-10-10 2017-06-13 Shindig, Inc. Systems and methods for dynamically controlling visual effects associated with online presentations
US20150120840A1 (en) * 2013-10-29 2015-04-30 International Business Machines Corporation Resource referencing in a collaboration application system and method
US10271010B2 (en) 2013-10-31 2019-04-23 Shindig, Inc. Systems and methods for controlling the display of content
CN103744592B (zh) * 2013-12-26 2017-11-21 华为技术有限公司 一种信息处理的方法及终端
US9733333B2 (en) 2014-05-08 2017-08-15 Shindig, Inc. Systems and methods for monitoring participant attentiveness within events and group assortments
US11328264B2 (en) * 2015-04-10 2022-05-10 Juggle, Inc. System and method for visually facilitated contact interaction management
US10235366B2 (en) 2016-08-16 2019-03-19 Microsoft Technology Licensing, Llc Activity gallery view in communication platforms
US10133916B2 (en) 2016-09-07 2018-11-20 Steven M. Gottlieb Image and identity validation in video chat events
US10452410B2 (en) * 2016-10-25 2019-10-22 International Business Machines Corporation Context aware user interface
CN106453602B (zh) * 2016-10-28 2019-10-29 深圳多哚新技术有限责任公司 一种基于vr眼镜的数据处理方法及装置
CN108573519B (zh) 2017-03-14 2022-02-11 阿里巴巴集团控股有限公司 三维图形文件生成和在客户端展示三维图形的方法及装置
CN107688418B (zh) * 2017-05-05 2019-02-26 平安科技(深圳)有限公司 网络指示控件的展示方法及系统
US11381413B2 (en) * 2020-01-08 2022-07-05 Disney Enterprises, Inc. Audio-orientated immersive experience of an event
US20220070235A1 (en) 2020-08-28 2022-03-03 Tmrw Foundation Ip S.Àr.L. System and method enabling interactions in virtual environments with virtual presence
US20220070239A1 (en) * 2020-08-28 2022-03-03 Tmrw Foundation Ip S. À R.L. System and method to provision cloud computing-based virtual computing resources within a virtual environment
EP4334802A1 (en) * 2021-05-07 2024-03-13 Telefonaktiebolaget LM Ericsson (publ) Method and arrangements for graphically visualizing data transfer in a 3d virtual environment
US11831814B2 (en) * 2021-09-03 2023-11-28 Meta Platforms Technologies, Llc Parallel video call and artificial reality spaces
US11921970B1 (en) 2021-10-11 2024-03-05 Meta Platforms Technologies, Llc Coordinating virtual interactions with a mini-map

Family Cites Families (102)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5745711A (en) * 1991-10-23 1998-04-28 Hitachi, Ltd. Display control method and apparatus for an electronic conference
US5471318A (en) * 1993-04-22 1995-11-28 At&T Corp. Multimedia communications network
US5689641A (en) * 1993-10-01 1997-11-18 Vicor, Inc. Multimedia collaboration system arrangement for routing compressed AV signal through a participant site without decompressing the AV signal
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
US6219045B1 (en) * 1995-11-13 2001-04-17 Worlds, Inc. Scalable virtual world chat client-server system
US5793365A (en) * 1996-01-02 1998-08-11 Sun Microsystems, Inc. System and method providing a computer user interface enabling access to distributed workgroup members
US6275490B1 (en) * 1996-08-21 2001-08-14 Netspeak Corporation Method and apparatus for establishing communications from browser application
US6862625B1 (en) * 1996-09-27 2005-03-01 Avaya Technology Corp. Method and apparatus for real time network communication
US5764916A (en) * 1996-09-27 1998-06-09 Ichat, Inc. Method and apparatus for real time communication over a computer network
US6057856A (en) * 1996-09-30 2000-05-02 Sony Corporation 3D virtual reality multi-user interaction with superimposed positional information display for each user
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
US6119166A (en) * 1997-03-28 2000-09-12 International Business Machines Corporation Controlling communications with local applications using a browser application
GB9721667D0 (en) * 1997-10-14 1997-12-10 Philips Electronics Nv Virtual environment navigation aid
US6396509B1 (en) * 1998-02-21 2002-05-28 Koninklijke Philips Electronics N.V. Attention-based interaction in a virtual environment
US6380952B1 (en) * 1998-04-07 2002-04-30 International Business Machines Corporation System for continuous display and navigation in a virtual-reality world
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
US6731314B1 (en) * 1998-08-17 2004-05-04 Muse Corporation Network-based three-dimensional multiple-user shared environment apparatus and method
US6388688B1 (en) * 1999-04-06 2002-05-14 Vergics Corporation Graph-based visual navigation through spatial environments
AU5012300A (en) * 1999-05-14 2000-12-05 Graphic Gems Method and apparatus for registering lots in a shared virtual world
US6292188B1 (en) * 1999-07-28 2001-09-18 Alltrue Networks, Inc. System and method for navigating in a digital information environment
US6772195B1 (en) * 1999-10-29 2004-08-03 Electronic Arts, Inc. Chat clusters for a virtual world application
JP2001154966A (ja) * 1999-11-29 2001-06-08 Sony Corp コンピュータ・ネットワーク上で構築・提供される共有仮想空間上で複数ユーザが参加可能な仮想会話を支援する会話支援システム及び会話支援方法、並びに、プログラム記憶媒体
US6396609B1 (en) * 1999-12-20 2002-05-28 Chorum Technologies, Lp Dispersion compensation for optical systems
US20060184886A1 (en) * 1999-12-22 2006-08-17 Urbanpixel Inc. Spatial chat in a multiple browser environment
US6708172B1 (en) * 1999-12-22 2004-03-16 Urbanpixel, Inc. Community-based shared multiple browser environment
AU2451301A (en) * 1999-12-23 2001-07-03 M.H. Segan Limited Partnership System for viewing content over a network and method therefor
US7689696B2 (en) * 2000-01-31 2010-03-30 Telecommunication Systems, Inc. System and method for re-directing requests from browsers for communications over non-IP based networks
US7392306B1 (en) * 2000-04-07 2008-06-24 Aol Llc Instant messaging client having an embedded browser
JP3345600B2 (ja) * 2000-04-10 2002-11-18 コナミ株式会社 ゲームシステムおよびコンピュータ読取可能な記憶媒体
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
US6714222B1 (en) * 2000-06-21 2004-03-30 E2 Home Ab Graphical user interface for communications
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
US8234218B2 (en) * 2000-10-10 2012-07-31 AddnClick, Inc Method of inserting/overlaying markers, data packets and objects relative to viewable content and enabling live social networking, N-dimensional virtual environments and/or other value derivable from the content
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
US20030043200A1 (en) * 2001-08-09 2003-03-06 Urbanpixel Inc Interactive multi-level mapping in a multiple browser environment
US7660875B2 (en) * 2001-08-31 2010-02-09 Sony Corporation Bidirectional remote communication via browser plug-in
US7644144B1 (en) * 2001-12-21 2010-01-05 Microsoft Corporation Methods, tools, and interfaces for the dynamic assignment of people to groups to enable enhanced communication and collaboration
AUPR989802A0 (en) * 2002-01-09 2002-01-31 Lake Technology Limited Interactive spatialized audiovisual system
US7058896B2 (en) * 2002-01-16 2006-06-06 Silicon Graphics, Inc. System, method and computer program product for intuitive interactive navigation control in virtual environments
US7051049B2 (en) * 2002-02-21 2006-05-23 International Business Machines Corporation Real-time chat and conference contact information manager
US7336779B2 (en) * 2002-03-15 2008-02-26 Avaya Technology Corp. Topical dynamic chat
US7016978B2 (en) * 2002-04-29 2006-03-21 Bellsouth Intellectual Property Corporation Instant messaging architecture and system for interoperability and presence management
GB2391420A (en) * 2002-07-25 2004-02-04 Samsung Electronics Co Ltd Method for serving audio and image communication in web browser using session initiation protocol
US7234117B2 (en) * 2002-08-28 2007-06-19 Microsoft Corporation System and method for shared integrated online social interaction
US7676542B2 (en) * 2002-12-02 2010-03-09 Sap Ag Establishing a collaboration environment
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
US20040179039A1 (en) * 2003-03-03 2004-09-16 Blattner Patrick D. Using avatars to communicate
BRPI0410362B1 (pt) * 2003-05-16 2017-06-20 Google Inc. Systems and methods of sharing network and network media
US8347313B2 (en) * 2003-05-21 2013-01-01 Resilient Networks, Inc. Method and apparatus for automating organization of processes
US7503006B2 (en) * 2003-09-25 2009-03-10 Microsoft Corporation Visual indication of current voice speaker
US7813488B2 (en) * 2003-09-29 2010-10-12 Siemens Enterprise Communications, Inc. System and method for providing information regarding an identity's media availability
US8528003B2 (en) * 2003-10-27 2013-09-03 Yahoo! Inc. Communication among browser windows
US7734691B2 (en) * 2003-12-18 2010-06-08 International Business Machines Corporation Providing collaboration services to a wireless device
US7707503B2 (en) * 2003-12-22 2010-04-27 Palo Alto Research Center Incorporated Methods and systems for supporting presentation tools using zoomable user interface
US7852997B2 (en) * 2004-01-28 2010-12-14 Managed Inventions, Llc Internet telephony communications adapter for web browsers
US7707249B2 (en) * 2004-09-03 2010-04-27 Open Text Corporation Systems and methods for collaboration
US7342587B2 (en) * 2004-10-12 2008-03-11 Imvu, Inc. Computer-implemented system and method for home page customization and e-commerce support
US7734692B1 (en) * 2005-07-22 2010-06-08 Oracle America, Inc. Network collaboration system with private voice chat
US7925000B2 (en) * 2005-08-29 2011-04-12 Avaya Inc. Managing held telephone calls from a remote telecommunications terminal
CA2632706C (en) * 2005-12-09 2016-05-24 Ebuddy Holding B.V. High level network layer system and method
US7489772B2 (en) * 2005-12-30 2009-02-10 Nokia Corporation Network entity, method and computer program product for effectuating a conference session
US8266214B2 (en) * 2006-01-24 2012-09-11 Simulat, Inc. System and method for collaborative web-based multimedia layered platform with recording and selective playback of content
US20070198645A1 (en) * 2006-02-21 2007-08-23 Yen-Fu Chen Method for providing in-context responses to instant messaging conversations
US20070214424A1 (en) * 2006-03-13 2007-09-13 International Business Machines Corporation Networked chat technique
US20070220111A1 (en) * 2006-03-15 2007-09-20 Andrew Lin Personal communications browser client for remote use in enterprise communications
US20070233785A1 (en) * 2006-03-30 2007-10-04 International Business Machines Corporation Communicating using collaboration spaces
US20080052373A1 (en) * 2006-05-01 2008-02-28 Sms.Ac Systems and methods for a community-based user interface
US8295206B2 (en) * 2006-07-20 2012-10-23 Avaya Inc. Rule-based system for determining user availability
US7680480B2 (en) * 2006-07-20 2010-03-16 Avaya Inc. Determining user availability based on a past event
US7680098B2 (en) * 2006-07-20 2010-03-16 Avaya Inc. Determining group availability on different communication media
US8726195B2 (en) * 2006-09-05 2014-05-13 Aol Inc. Enabling an IM user to navigate a virtual world
US7698660B2 (en) * 2006-11-13 2010-04-13 Microsoft Corporation Shared space for communicating information
US7765259B2 (en) * 2006-12-05 2010-07-27 Avaya Inc. System and method for aggregation of user conversations and visualizing personal communications map
US8706169B2 (en) * 2006-12-28 2014-04-22 Yahoo! Inc. Interface overlay
US8554868B2 (en) * 2007-01-05 2013-10-08 Yahoo! Inc. Simultaneous sharing communication interface
GB0703974D0 (en) * 2007-03-01 2007-04-11 Sony Comp Entertainment Europe Entertainment device
US20080263460A1 (en) * 2007-04-20 2008-10-23 Utbk, Inc. Methods and Systems to Connect People for Virtual Meeting in Virtual Reality
US7840668B1 (en) * 2007-05-24 2010-11-23 Avaya Inc. Method and apparatus for managing communication between participants in a virtual environment
US8209384B2 (en) * 2007-10-23 2012-06-26 Yahoo! Inc. Persistent group-based instant messaging
US7499926B1 (en) * 2007-11-16 2009-03-03 International Business Machines Corporation Maintaining and replicating chat histories
US20090222742A1 (en) * 2008-03-03 2009-09-03 Cisco Technology, Inc. Context sensitive collaboration environment
US8605863B1 (en) * 2008-03-18 2013-12-10 Avaya Inc. Method and apparatus for providing state indication on a telephone call
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
US20090307189A1 (en) * 2008-06-04 2009-12-10 Cisco Technology, Inc. Asynchronous workflow participation within an immersive collaboration environment
US8468253B2 (en) * 2008-12-02 2013-06-18 At&T Intellectual Property I, L.P. Method and apparatus for multimedia collaboration using a social network system
US20100162121A1 (en) * 2008-12-22 2010-06-24 Nortel Networks Limited Dynamic customization of a virtual world
US8542232B2 (en) * 2008-12-28 2013-09-24 Avaya Inc. Method and apparatus for monitoring user attention with a computer-generated virtual environment
US20100169796A1 (en) * 2008-12-28 2010-07-01 Nortel Networks Limited Visual Indication of Audio Context in 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
US8938677B2 (en) * 2009-03-30 2015-01-20 Avaya Inc. System and method for mode-neutral communications with a widget-based communications metaphor

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2014003510A1 (ko) * 2012-06-29 2014-01-03 인텔렉추얼디스커버리 주식회사 토폴로지를 이용하여 데이터를 공유하는 장치 및 방법
KR101426994B1 (ko) * 2012-06-29 2014-08-05 인텔렉추얼디스커버리 주식회사 토폴로지를 이용하여 데이터를 공유하는 장치 및 방법

Also Published As

Publication number Publication date
CN102483819A (zh) 2012-05-30
WO2011016967A2 (en) 2011-02-10
EP2460138A2 (en) 2012-06-06
US20090288007A1 (en) 2009-11-19
WO2011016967A3 (en) 2011-04-14
IL217290A0 (en) 2012-02-29

Similar Documents

Publication Publication Date Title
US11785056B2 (en) Web browser interface for spatial communication environments
US20210349604A1 (en) Shared Virtual Area Communication Environment Based Apparatus and Methods
KR20120050980A (ko) 실시간 네트워크 통신을 위한 공간 인터페이스
US9813463B2 (en) Phoning into virtual communication environments
JP5969476B2 (ja) ネットワーク通信環境における通信者対話の促進
USRE46309E1 (en) Application sharing
US9483157B2 (en) Interfacing with a spatial virtual communication environment
US20120254858A1 (en) Creating virtual areas for realtime communications
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