KR101565665B1 - 네트워크 통신 환경에서 커뮤니컨트 상호작용을 촉진하는 방법 - Google Patents

네트워크 통신 환경에서 커뮤니컨트 상호작용을 촉진하는 방법 Download PDF

Info

Publication number
KR101565665B1
KR101565665B1 KR1020137006722A KR20137006722A KR101565665B1 KR 101565665 B1 KR101565665 B1 KR 101565665B1 KR 1020137006722 A KR1020137006722 A KR 1020137006722A KR 20137006722 A KR20137006722 A KR 20137006722A KR 101565665 B1 KR101565665 B1 KR 101565665B1
Authority
KR
South Korea
Prior art keywords
delete delete
communicators
communicator
identified
communication
Prior art date
Application number
KR1020137006722A
Other languages
English (en)
Other versions
KR20130064105A (ko
Inventor
매튜 리콕
위 데이비드 반
폴 브로디
Original Assignee
소우셜 커뮤니케이션즈 컴퍼니
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 소우셜 커뮤니케이션즈 컴퍼니 filed Critical 소우셜 커뮤니케이션즈 컴퍼니
Publication of KR20130064105A publication Critical patent/KR20130064105A/ko
Application granted granted Critical
Publication of KR101565665B1 publication Critical patent/KR101565665B1/ko

Links

Images

Classifications

    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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]
    • H04L51/043Real-time or near real-time messaging, e.g. instant messaging [IM] using or handling presence information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/142Managing session states for stateless protocols; Signalling session states; State transitions; Keeping-state mechanisms
    • 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/06Message adaptation to terminal or network requirements
    • H04L51/066Format adaptation, e.g. format conversion or compression

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Data Mining & Analysis (AREA)
  • Multimedia (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)

Abstract

각 클라이언트 네트워크 노드(12, 14)로부터 동작하는 커뮤니컨트가 상이한 서버 애플리케이션(44)에 접속하는 네트워크 통신 환경(10)에서, 타겟 커뮤니컨트에 관련되는 커뮤니컨트가 확인되고, 상이한 서버 애플리케이션(44)에 대한 관련된 커뮤니컨트의 상태가 결정되며, 관련된 커뮤니컨트의 표시 및 관련된 커뮤니컨트의 결정된 상태가 타겟 커뮤니컨트에 전달된다. 관련된 커뮤니컨트의 그래픽 표현 및 상이한 서버 애플리케이션(44)으로의 접속과 관련하여 관련된 커뮤니컨트의 상태의 그래픽 표시가 디스플레이상에 디스플레이된다. 또한, 커뮤니컨트 중 하나 이상의 각각의 개별적인 그래픽 표현을 포함하는 콘택트 리스트가 하나 이상의 커뮤니컨트에 의해 개별적으로 연결되는 확인된 종류의 현재 상호작용 활동을 나타내는 시각적 큐와 연관하여 디스플레이될 수 있다. 하나의 범용 사용자 식별자가 각 커뮤니컨트를 식별하기 위해 사용될 수 있다.

Description

네트워크 통신 환경에서 커뮤니컨트 상호작용을 촉진하는 방법{PROMOTING COMMUNICANT INTERACTIONS IN A NETWORK COMMUNICATIONS ENVIRONMENT}
대면하는 통신이 실용적이지 못한 경우, 사람들은 통신 필요를 충족시키기 위해 하나 이상의 기술적 해결책에 의존하는 경우가 종종 있다. 전형적으로 이들 해결책은 대면하는 통신의 하나 이상의 양태를 시뮬레이션하도록 설계된다. 전형적인 전화 시스템은 전화를 건 사람들 사이의 음성 통신을 가능하게 한다. 인스턴트 메시지("채팅"이라고도 함) 통신 시스템은 인스턴트 메시지 서버에 의해 상호접속되는 인스턴트 메시지 컴퓨터 클라이언트를 통해 사용자가 실시간으로 텍스트 메시지를 통신할 수 있게 한다. 어떤 인스턴트 메시징 시스템은 또한 사용자 제어가능한 그래픽 객체("아바타"라고도 함)에 의해 사용자가 가상 환경에 표현될 수 있게 한다. 상호작용형 가상 현실 통신 시스템은 원격 위치의 사용자가 다수의 실시간 채널을 통해 통신하고 3차원 가상 공간에서 제각기의 아바타를 조작하여 서로 상호작용할 수 있게 한다. 실시간 네트워크 통신을 위한 향상된 인터페이스가 요구된다.
본 발명과 관련된 배경기술로는 미국 특허 출원 제11/923,629호 및 미국 특허 출원 제12/694,126호를 참조할 수 있다.
도 1은 제 1 클라이언트 네트워크 노드, 제 2 클라이언트 네트워크 노드 및 서버 노드를 포함하는 네트워크 통신 환경의 실시예의 도면이다.
도 2는 콘택트가 개별적으로 접속되는 서버 애플리케이션에 의해 정의되는 개별적인 통신 콘텍스트의 커뮤니컨트의 콘택트를 도시하는 그래픽 사용자 인터페이스의 도면이다.
도 3은 그래픽 사용자 인터페이스의 실시예의 도면이다.
도 4은 그래픽 사용자 인터페이스의 실시예의 도면이다.
도 5은 그래픽 사용자 인터페이스의 실시예의 도면이다.
도 6은 그래픽 사용자 인터페이스의 실시예의 도면이다.
도 7a는 그래픽 사용자 인터페이스의 실시예의 도면이다.
도 7b는 그래픽 사용자 인터페이스의 실시예의 도면이다.
도 7c는 그래픽 사용자 인터페이스의 실시예의 도면이다.
도 8은 네트워크 통신 환경에서의 커뮤니컨트 상호작용을 촉구하는 방법의 실시예의 흐름도이다.
도 9은 네트워크 통신 환경에서의 커뮤니컨트 상호작용을 촉구하는 방법의 실시예의 흐름도이다.
도 10은 소셜 그래프의 실시예의 도면이다.
도 11은 네트워크 통신 환경에서의 커뮤니컨트 상호작용을 촉구하는 방법의 실시예의 흐름도이다.
도 12는 도 1에 도시된 네트워크 통신 환경의 실시예의 도면이다.
도 13은 클라이언트 노드의 실시예의 도면이다.
도 14a는 컴퓨터 데이터 파일의 실시예의 블록도이다.
도 14b는 도 14a의 컴퓨터 데이터 파일의 섹션을 정의하는 기록을 저장하는 컴퓨터 데이터 파일 섹션 정의 데이터 베이스의 실시예의 도면이다.
도 15a는 소프트웨어 애플리케이션 파일의 실시예의 블록도이다.
도 15b는 도 15a의 소프트웨어 애플리케이션의 섹션을 정의하는 기록을 저장하는 소프트웨어 애플리케이션 섹션 정의 데이터 베이스의 실시예의 도면이다.
도 16a는 도 15a의 소프트웨어 애플리케이션의 섹션으로 맵핑되는 존을 갖는 추상적 가상 공간의 실시예를 도시하는 도면이다.
도 16b는 도 15a의 소프트웨어 애플리케이션의 섹션으로 맵핑되는 존을 갖는 2개의 가상 공간의 실시예를 도시하는 도면이다.
도 17은 그래픽 사용자 인터페이스의 실시예의 도면이다.
도 18은 그래픽 사용자 인터페이스의 실시예의 도면이다.
도 19은 그래픽 사용자 인터페이스의 실시예의 도면이다.
도 20은 그래픽 사용자 인터페이스의 실시예의 도면이다.
도 21는 도 1에 도시된 네트워크 통신 환경의 실시예의 도면이다.
도 22는 네트워크 통신 환경에서의 커뮤니컨트 상호작용을 촉구하는 방법의 실시예의 흐름도이다.
도 23은 그래픽 사용자 인터페이스의 실시예의 도면이다.
이하의 설명에서, 동일한 참조번호는 동일한 요소를 식별하도록 사용된다. 또한, 도면은 도식적인 방식으로 실시예의 주요 특징을 설명하도록 의도된다. 도면은 실제 실시예의 모든 특징을 도시하거나 도시된 요소의 상대적 크기를 도시하도록 의도된 것이 아니며, 실제 규격대로 도시된 것이 아니다.
I. 용어의 정의
"커뮤니컨트""는 하나 이상의 네트워크 접속을 통해 다른 사람들과 통신하거나 상호작용하는 사람이며, 통신 또는 상호작용은 가상 영역의 콘텍스트에서 발생할 수도 있고 아닐 수도 있다. "사용자"는 설명을 위해 특정 관점을 정의하는 특정 네트워크 노드를 운영하는 커뮤니컨트다.
사용자의 "콘택트"는, 사용자와 콘택트 중 적어도 하나에 의해 선언되는( 및 선택적으로 다른 이에 의해 확정되는) 명시적 소셜 네트워크 묶음(tie)에 의해 또는 사용자와 사람 사이의 상호작용으로부터 추론되는 소셜 네트워크 묶음에 의해 사용자에 접속되는 커뮤니컨트 또는 다른 사람이다.
"커뮤니컨트 상호작용"은 커뮤니컨트와 다른 네트워크 개체 사이의 직접 또는 간접 동작 또는 영향의 일종이며, 이는 예를 들어 다른 커뮤니컨트, 가상 영역 또는 네트워크 서비스를 포함할 수 있다. 커뮤니컨트 상호작용의 예시적 종류는 실시간으로 서로 통신하는 커뮤니컨트와, 가상 영역으로 진입하는 커뮤니컨트와, 네트워크 서비스로부터 리소스로의 액세스를 요청하는 커뮤니컨트를 포함한다.
"소셜 네트워크"는 사회적 구조 또는 하나 이상의 종류의 상호의존성에 의해 연결되는 노드의 맵이다. "노드"는 네트워크의 개별적인 개체(가령, 개별적인 커뮤니컨트, 커뮤니컨트 그룹 또는 단체)를 나타낸다. 소셜 네트워크 "묶음(tie)"은 소셜 네트워크에서 한 쌍의 개체 사이의 관계를 나타낸다. 노드는 다양한 상이한 종류의 묶음에 의해 상호접속될 수 있다. 소셜 네트워크 "프로파일"은 한 명의 사용자와 연관되는 데이터 세트이다. 이들 데이터는 사용자를 식별하는 속성(가령, 사용자 이름, 나이, 성별, 지리적 위치)과, 사용자의 친구 및 아는 이들을 식별하는 속성과, 사용자의 관심대상을 식별하는 속성(가령, 좋아하는 음악, 책, 영화, 스포츠, 음식)과, 사용자의 선호도를 식별하는 속성(가령, 사용자와 연관되는 리소스로의 액세스를 시스템이 어떻게 제어할지에 관한 제한)을 포함할 수 있다.
"컴퓨터"는 컴퓨터 판독 가능한 매체에 임시로 또는 영구적으로 저장되는 컴퓨터 판독 가능한 인스트럭션에 따라 데이터를 처리하는 임의의 머신, 디바이스 또는 장치이다. "컴퓨터 운영 시스템"은 작업의 성능과, 연산 리소스 및 하드웨어 리소스의 공유를 관리하고 조정하는 컴퓨터 시스템의 소프트웨어 구성요소이다. "소프트웨어 애플리케이션"(소프트웨어, 애플리케이션, 컴퓨터 소프트웨어, 컴퓨터 애플리케이션, 프로그램 및 컴퓨터 프로그램)은 컴퓨터가 하나 이상의 특정 작업을 수행하기 위해 해석하고 실행하는 인스트럭션 세트이다. "컴퓨터 데이터 파일"은 소프트웨어 애플리케이션에 의한 사용을 위해 데이터를 저장하는 정보 블록이다.
"윈도우"는 통상적으로 사용자 인터페이스를 포함하는 디스플레이의 가상 영역이다. 윈도우는 전형적으로 소프트웨어 프로세스의 출력을 디스플레이하고, 전형적으로 사용자가 소프트웨어 프로세스에 대한 명령 또는 데이터를 입력할 수 있게 한다. 부모를 갖는 윈도우를 "자식 윈도우"라고 한다. 부모를 갖지 않거나 부모가 데스크톱 윈도우는 "상위 레벨 윈도우"라고 한다. "데스크톱"은 GUI(graphical user interface)의 배경을 칠하고 모든 소프트웨어 프로세스에 의해 디스플레이되는 모든 윈도우에 대한 베이스로서 기능하는 시스템 정의 윈도우이다.
"데이터베이스"는 컴퓨터에 의해 검색될 수 있는 표준화 양식으로 제공되는 기록의 체계적인 수집이다. 데이터베이스는 하나의 컴퓨터 상의 하나의 컴퓨터 판독가능한 데이터 저장 매체에 저장될 수 있거나 하나 이상의 컴퓨터상의 다수의 컴퓨터 판독 가능한 데이터 저장 매체에 걸쳐 분배될 수 있다.
"데이터 싱크"(이하 간단히 "싱크"라고 함)는 데이터를 수신하는 임의의 디바이스(가령, 컴퓨터), 디바이스의 일부 또는 소프트웨어이다.
"데이터 소스"(이하 간단히 "소스"라고 함)는 데이터를 발신하는 임의의 디바이스(가령, 컴퓨터), 디바이스의 일부 또는 소프트웨어이다.
"네트워크 노드"(간단히 "노드"라고도 함)는 통신 네트워크의 접합 또는 접속점이다. 예시적 네트워크 노드는, 단말, 컴퓨터 및 네트워크 스위치를 포함하지만 이에 한정되는 것은 아니다. "서버" 네트워크 노드는 정보 또는 서비스에 대한 요청에 응답하는 네트워크상의 호스트 컴퓨터이다. "클라이언트" 네트워크 노드는 서버로부터 정보 또는 서비스를 요청하는 네트워크상의 컴퓨터이다. "네트워크 접속"은 2개의 통신 네트워크 노드들 사이의 링크이다. "근거리 네트워크 노드"라는 용어는 현재 상호작용의 주요 주체인 네트워크 노드를 지칭한다. "원거리 네트워크 노드"라는 용어는 네트워크 통신 링크에 의해 근거리 네트워크 노드에 접속되는 네트워크 노드를 지칭한다. "접속 핸들"은 네트워크 노드의 커뮤니컨트, 리소스 또는 서비스와의 네트워크 접속을 수립하기 위해 사용될 수 있는 포인터 또는 식별자(가령, URI(uniform resource identifier))이다. "네트워크 통신"은 네트워크 접속을 통해 한 네트워크 노드로부터 다른 네트워크 노드로 전송 또는 전달되는 임의의 종류의 정보(가령, 텍스트, 음성, 오디오, 비디오, 전자 메일 메시지, 데이터 파일, 모션 데이터 스트림 및 데이터 패킷)를 포함할 수 있다.
"리소스"는 네트워크를 통해 액세스 가능한 임의의 종류의 정보(가령, 웹 페이지, 파일, 스트리밍 데이터 및 프레즌스 데이터) 또는 서비스(가령, 다른 사용자와의 통신 링크를 수립하는 서비스)를 지칭한다. 리소스는 URI(uniform resource identifier)에 의해 식별될 수 있다.
동기식 회의는 커뮤니컨트가 동시에 참석하는 통신을 지칭한다. 동기식 회의는 인스턴트 메시징(가령, 텍스트 채팅), 오디오 회의, 비디오 회의, 애플리케이션 공유 및 파일 공유 기술을 포함하는 모든 종류의 네트워크형 협동 기술을 포함한다.
"커뮤니컨트 상호작용"은 커뮤니컨트와 다른 네트워크 개체 사이의 직접 또는 간접 동작 또는 영향의 일종이며, 이는 예를 들어 다른 커뮤니컨트, 가상 영역 또는 네트워크 서비스를 포함할 수 있다. 커뮤니컨트 통신의 예시적 종류는 실시간으로 서로 통신하는 커뮤니컨트와, 가상 영역으로 진입하는 커뮤니컨트와, 네트워크 서비스로부터 리소스로의 액세스를 요청하는 커뮤니컨트를 포함한다.
"프레즌스(presence)"는 통신하고자 하는 네트워킹된 개체(가령, 커뮤니컨트, 서비스 또는 디바이스)의 능력 및 의사를 지칭하는데, 이러한 의사는 네트워크상의 개체의 상태에 관한 정보를 검출하고 획득하는 능력 및 개체에 접속하는 능력에 영향을 준다.
"실시간 데이터 스트림"은 연속적인 흐름으로 구조화되고 처리되는 데이터이며, 지연이 없거나 감지하지 못할 정도의 지연으로 수신되도록 설계된다. 실시간 데이터 스트림은 음성, 비디오, 사용자 움직임의 디지털 표현과, 얼굴 표정 및 기타 물리적 현상과, 신속한 전송, 신속한 실행 또는 신속한 전송 및 실행 양자로부터 이점을 얻을 수 있는 연산 환경을 포함하며, 예를 들어, 아바타 움직임 인스트럭션, 텍스트 채팅, 실시간 데이터 피드(가령, 센서 데이터, 머신 제어 인스트럭션, 트랜잭션 스트림 및 주식 시세 정보 피드) 및 파일 전송을 포함한다.
"링크"는 2개의 네트워크 노드들 사이의 접속이며 실시간 통신을 위해 2개의 노드에 의해 할당되는 전체 대역폭을 나타낸다. 각 링크는 제각기의 실시간 데이터 스트림을 전송하는 채널로 분할된다. 채널은 링크로 할당된 전체 대역폭 내의 특정 스트림으로 할당된다.
"가상 영역"("영역" 또는 "장소"로서도 지칭됨)은 컴퓨터 관리 공간 또는 장면의 표현이다. 가상 영역은 통상적으로 1차원, 2차원 또는 3차원 표현이지만, 일부 실시예에서는 가상 공간은 하나의 점에 대응할 수 있다. 종종, 가상 영역은 물리적, 현실 공간을 시뮬레이션하도록 설계된다. 예를 들어, 전형적인 컴퓨터 모니터를 사용하여, 가상 영역은 3차원 컴퓨터 생성 공간의 2차원 그래픽으로서 시각화될 수 있다. 그러나, 가상 영역은 스위칭 룰을 구현하기 위해 연관 시각화를 요구하지 않는다. 가상 영역은 전형적으로 가상 영역 개요의 인스턴스를 지칭하는데, 이 개요는 변수와 관련하여 가상 영역의 구조 및 콘텐츠를 정의하고, 인스턴스는 특정 콘텍스트로부터 해결된 값과 관련하여 가상 영역의 구조 및 콘텐츠를 정의한다.
"가상 영역 애플리케이션"("가상 영역 지정"이라고도 함)은 가상 환경을 생성하는 데에 사용되는 가상 영역의 기술(description)이다. 가상 영역 애플리케이션은 통상적으로 기하학, 물리학적 정의 및 가상 영역의 하나 이상의 존(zone)과 연관되는 실시간 스위칭 룰을 포함한다.
"가상 환경"은 적어도 하나의 가상 영역을 포함하고 커뮤니컨트들 사이의 실시간 통신을 지원하는 컴퓨터 관리 공간의 표현이다.
"존(zone)"은 적어도 하나의 스위칭 룰 또는 통치 규칙과 연관되는 가상 영역의 지역이다. "스위칭 룰"은 하나 이상의 실시간 데이터 소스의 접속 또는 접속 해제를 지정하고 하나 이상의 선행 조건을 겪는 하나 이상의 실시간 데이터 싱크를 지정하는 인스트럭션이다. 스위칭 룰은 가상 영역의 콘텍스트에서 통신하는 네트워크 노드들 사이에서 실시간 데이터 스트림의 스위칭(가령, 라우팅, 접속 및 접속 해제)을 제어한다. 통치 규칙은, 리소스로의 커뮤니컨트의 액세스(가령, 영역, 영역의 지역 또는 영역 또는 지역의 콘텐츠), 액세스 범위 및 액세스에 수반되는 결과(가령, 그 액세스에 관련되는 청각적 기록이 저장되어야 하는 요구조건)를 제어한다. "렌더링 가능한 존(renderable zone)"은 각각의 시각화와 연관되는 존이다.
가상 영역의 "위치"는 가상 영역의 한 지점 또는 영역의 위치 또는 볼륨을 지칭한다. 전형적으로, 지점은 가상 영역 내의 한 스폿을 정의하는 1차원, 2차원 또는 3차원 좌표(가령, x,y,z)의 하나의 세트로 표현된다. 전형적으로, 영역은 가상 영역의 폐쇄된 2차원 형상의 경계를 정의하는 3개 이상의 동일평면상의 꼭지점들의 3차원 좌표에 의해 표현된다. 전형적으로, 볼륨은 가상 영역의 폐쇄된 3차원 형상의 경계를 정의하는 4개 이상의 비동일평면상의 꼭지점들의 3차원 좌표에 의해 표현된다.
"공간적 상태"는 가상 영역에서 사용자가 프레즌스(presence)를 갖는 위치를 기술한다. 전형적으로, 공간적 상태 속성은 사용자가 프레즌스를 갖는 존의 각각에 대해 각각의 값(가령, zone_ID 값)을 갖는다.
"통신 상태"는 커뮤니컨트 각각이 통신하도록 구성되는 각 통신 채널의 상태를 기술하는 속성이다.
가상 영역의 콘텍스트에서, "객체(object)"(간혹 "프롭(prop)"이라고도 함)는 가상 영역의 기하구조와는 별도로 유용하게 취급될 수 있는 가상 영역의 구분된 요소의 일종이다. 예시적 객체는 문, 포탈, 윈도우, 뷰 스크린 및 스피커폰을 포함한다. 전형적으로, 객체는 가상 영역의 속성 및 특성과 별도이며 구분되는 속성 또는 특성을 갖는다. "아바타"는 가상 영역에서의 커뮤니컨트를 나타내는 객체이다.
"통계적 분석"이라는 용어는 일반화 또는 추론을 위해 데이터를 분석하거나, 예측 모델의 변수의 값을 결정하거나, 데이터를 요약하는 하나 이상의 메트릭을 결정하거나, 데이터의 하나 이상의 양태 또는 대상을 분류하는 프로세스를 지칭한다.
본 명세서에서 사용되는 바와 같이, "포함한다"는 용어는 포함한다는 의미를 갖지만 이에 한정되지 않으며, "포함하는"이라는 용어는 포함하는의 의미를 갖지만 이에 한정되지 않는다. "기초하는"이라는 용어는 적어도 부분적으로 기초한다는 것을 의미한다.
II. 네트워크 통신 환경에서 커뮤니컨트 상호작용 촉진
A. 서론
본 명세서에서 설명되는 실시예는 네트워크 통신 환경에서 커뮤니컨트 상호작용을 촉진하는 향상된 시스템 및 방법을 제공한다. 특히, 이들 실시예는 상이한 통신 콘텍스트에 걸쳐 커뮤니컨트의 콘택트의 실시간 이용 가능성 및 활동의 실시간 시각화를 제공한다. 이 시각화는 전형적으로 커뮤니컨트의 콘택트에 의해 수행되고 있는 실시간 활동을 표시하는 시각적 큐(cue)를 포함한다. 실시간 시각화에 의해 제공되는 정보는 커뮤니컨트에게 더 많은 네트워크 상호작용 결정(가령, 언제 콘택트와 상호작용할지)이 통보될 수 있게 하고, 커뮤니컨트가 다른 커뮤니컨트와 상호작용을 개시하고 커뮤니컨트가 알지 못했을 수 있는 커뮤니컨트의 콘텍스트(가령, 커뮤니컨트들 사이에서 진행 중인 상호작용)에 합류하도록 권장한다. 일부 실시예는 커뮤니컨트의 콘택트를 상이한 서버 애플리케이션에 관한 각각의 상태에 따라 그룹으로 분류되는 도상학적 아바타로서 도시하고 있다. 예를 들어, 커뮤니컨트의 콘택트는 상이한 서버 애플리케이션에 대해 각 멤버쉽 상태 및/또는 프레즌스 상태에 따라 그룹화될 수 있다. 또한 일부 실시예는 실시간 네트워크된 통신의 상부에 공간적 메타포(metaphor)를 적용할 수 있다. 공간적 메타포는, 실시간 네트워크된 통신에 포함되는 커뮤니컨트의 현재 통신 상태의 콘텍스트의 추가적인 가상 큐를 제공한다. 또한, 공간적 메타포는, 실시간 네트워크된 통신에 참가하는 커뮤니컨트들에 의해 사용되는 다양한 인터페이스 요소의 표현을 체계화하는 콘텍스트를 제공한다.
도 1은, 네트워크(20)에 의해 상호접속되는 제 1 클라이언트 네트워크 노드(12)(Client Node A)와, 제 2 클라이언트 네트워크 노드(14)(Client Network Node B)와, 가상 환경 생성자(18)를 포함하는 예시적 네트워크 통신 환경(10)의 실시예를 도시하고 있다. 네트워크(20)는 근거리 네트워크(LAN)와, 도시지역 통신망(MAN)과, 광대역 네트워크(WAN)(가령, 인터넷) 중 하나를 포함할 수 있다. 전형적으로, 네트워크(20)는 네트워크 노드들 사이의 다양한 상이한 매체 종류(가령, 텍스트, 음성, 오디오 및 비디오)의 전송을 지원하는 다수의 상이한 연산 플랫폼 및 전송 시설을 포함한다.
제 1 클라이언트 네트워크 노드(12)는 유형의 컴퓨터 판독 가능한 메모리(22), 프로세서(24) 및 (디스플레이를 포함하는) 입력/출력(I/O) 하드웨어(26)를 포함한다. 프로세서(24)는 메모리(22)에 저장되는 적어도 하나의 통신 애플리케이션(28)을 실행한다. 전형적으로 제 2 클라이언트 네트워크 노드(14)는 제 1 클라이언트 네트워크 노드(12)와 실질적으로 동일한 전반적인 방식으로 구성되는데, 적어도 하나의 통신 애플리케이션(32)을 저장하는 유형의 컴퓨터 판독 가능한 메모리(30)와, 프로세서(34)와, (디스플레이를 포함하는) 입력/출력(I/O) 하드웨어(36)를 구비한다.
네트워크 노드(12, 14) 각각은 하나 이상의 소스 세트 및 하나 이상의 예시적 싱크 세트를 갖는다. 각 소스는 특정 데이터 스트림 콘텐츠 종류의 데이터를 발신하는 디바이스 또는 구성요소이며, 각 싱크는 특정 데이터 스트림 콘텐츠 종류의 데이터를 수신하는 디바이스 또는 구성요소이다. 동일한 데이터 스트림 콘텐츠 종류의 소스 및 싱크는 "상보적(complementary)"인 것으로 본 명세서에서 지칭된다. 예시적 소스는 오디오 소스(가령, 마이크로폰과 같은 오디오 캡처 디바이스), 비디오 소스(가령, 비디오 카메라와 같은 비디오 캡처 디바이스), 채팅 소스(가령, 키보드와 같은 텍스트 캡처 디바이스), 모션 데이터 소스(가령, 컴퓨터 마우스와 같은 포인팅 디바이스) 및 기타 소스(가령, 파일 공유 소스 또는 맞춤형 실시간 데이터 스트림의 소스)를 포함한다. 예시적 싱크는 오디오 싱크(가령, 스피커 또는 헤드폰과 같은 오디오 렌더링 디바이스), 비디오 싱크(가령, 디스플레이 모니터와 같은 비디오 렌더링 디바이스), 채팅 싱크(가령, 디스플레이 모니터와 같은 텍스트 렌더링 디바이스), 모션 데이터 싱크(가령, 디스플레이 모니터와 같은 움직임 렌더링 디바이스) 및 기타 싱크(가령, 공유 파일을 프린팅하기 위한 프린터, 전술한 것과는 상이한 실시간 데이터 스트림을 렌더링하는 장치 또는 분석 또는 맞춤형 디스플레이를 위한 실시간 스트림을 처리하는 소프트웨어)를 포함한다.
각 소스는 소스가 데이터를 발신하기 위해 이용 가능한 활동 상태와, 소스가 데이터를 발신하기 위해 이용 가능하지 않은 비활동 상태를 갖는다. 유사하게, 각 싱크는 싱크가 데이터를 수신하기 위해 이용 가능한 활동 상태와, 싱크가 데이터를 수신하기 위해 이용 가능하지 않은 비활동 상태를 갖는다. 전형적으로, 소스 및 싱크의 상태는 통신 애플리케이션(28, 32)에 의해 제공되는 제어를 통해 클라이언트 노드(12, 14)를 동작시키는 커뮤니컨트에 의해 제어될 수 있다. 예를 들어, 일부 실시예에서, 통신 애플리케이션(28, 32)는 클라이언트 네트워크 노드(12, 14)상에 로컬 마이크로폰 및 로컬 스피커(가령, 헤드셋)를 온/오프하기 위한 사용자 콘트롤을 제공한다.
가상 환경 생성자(18)는 네트워크 인프라스트럭쳐 서비스 환경(42)을 제공하고 상이한 서버 애플리케이션(44)을 호스팅하는 적어도 하나의 서버 네트워크 노드(40)를 포함한다. 클라이언트 노드(12, 14)로부터 제각기 동작하는 커뮤니컨트들은 통신 애플리케이션(28, 32)을 통해 서버 애플리케이션(44)에 접속한다. 서버 애플리케이션(44)의 하나 이상은, 클라이언트 노드(12, 14) 사이의 통신 중 하나 이상의 종류를 지원하는 동기식 회의 서버 애플리케이션(가령, 인스턴트 메시징, 텍스트 채팅, 오디오 회의, 비디오 회의, 애플리케이션 공유 및 파일 공유)이다. 네트워크 인프라스트럭쳐 서비스 환경(42)은 전형적으로 커뮤니컨트들 사이의 상호작용의 기록(48)을 포함하는 관계 데이터베이스(46) 및 각 커뮤니컨트들과 연관되는 소셜 네트워크 프로파일(50)을 유지한다. 각 상호작용 기록(48)은 한 쌍의 커뮤니컨트들 사이의 상호작용 콘텍스트를 기술한다.
각 소셜 네트워크 프로파일(50)은 전형적으로 각 커뮤니컨트를 기술하거나 커뮤니컨트에 의해 가정되는 모습을 기술하는 신원 특징(가령, 이름, 연령, 성별 및 우편 주소와 같은 지리적 위치 정보)와, 커뮤니컨트에 의해 선언되는 명시적 관계 정보, 네트워크 통신 환경(10)에서 커뮤니컨트의 상호작용으로부터 추론되는 관계 정보를 포함한다.
클라이언트 노드(12, 14)상에서 제각기 동작하는 통신 애플리케이션(28, 32)은 전형적으로 소프트웨어 및 하드웨어 리소스를 포함하는데, 이는, 관리 정책, (사용자의 프레즌스의 익스포테이션에 관한 선호도 및 서버 애플리케이션 및 다른 사용자로의 사용자 접속을 포함하는) 사용자 선호도 및 다른 설정과 함께, 다른 네트워크 노드와의 실시간 접속의 관리에 영향을 주는 로컬 구성을 정의한다.
네트워크 노드들 사이의 네트워크 접속은 다양한 상이한 스트림 처리 토폴로지로 배열될 수 있는데, 피어 투 피어 아키텍처, 서버 중재 아키텍처 및 피어 투 피어 아키텍처와 서버 중재 아키텍처의 양태를 조합하는 하이브리드 아키텍처를 포함한다. 이러한 종류의 예시적 토폴로지는 2007년 10월 24일에 출원된 미국 특허 출원 제 11/923,629 호에 개시되어 있다.
2007년 10월 24일에 출원된 미국 특허 출원 11/923,634 및 2009년 12월 4일에 출원된 미국 특허 출원 12/630,973에 개시되어 있다.
일부 실시예에서, 2010년 6월 29일에 출원된 미국 특허 출원 12/825,512에 개시된 스트림 전송 프로토콜에 따라, 서버 네트워크 노드(40)는 클라이언트 통신 세션을 원격으로 관리하고 클라이언트 네트워크 노드(12, 14)상에 오디오 및 그래픽 렌더링 엔진을 구성할 뿐만 아니라, 원격으로 호스팅되는 서버 애플리케이션(44)으로부터 클라이언트 네트워크 노드로 인스트럭션(정의라고도 함)을 송신하여 데이터 스트림을 스위칭한다. 이들 실시예 중 일부에서, 서버 애플리케이션(44)에서 지정되는 스위칭 룰에 따라, 서버 노드(40)는 상보적 소스 및 싱크들 중 활동하는 것들 사이에서 각 데이터 스트림을 상호접속시키기 위해 클라이언트 노드(12, 14)를 구성하는 제공 메시지를 클라이언트 노드(12, 14) 각각에 송신한다.
통신 애플리케이션(28, 32), 서버 애플리케이션(44) 및 네트워크 인프라스트럭쳐 서비스 환경(42)은 함께 네트워크 노드(12, 14)상에서 동작하는 커뮤니컨트들 사이의 통신을 관리하는 플랫폼(이하, 플랫폼)을 제공한다. 플랫폼은 서버 애플리케이션(44)에 의해 정의되는 상이한 통신 콘텍스트에 걸친 커뮤니컨트들의 실시간 이용 가능성 및 활동을 추적한다. 실시간 시각화의 형태로 커뮤니컨트들에 제공되는 정보는 커뮤니컨트에게 더 많은 네트워크 상호작용 결정(가령, 언제 콘택트와 상호작용할지)이 통보될 수 있게 하고, 커뮤니컨트가 다른 커뮤니컨트와 상호작용을 개시하고 커뮤니컨트가 알지 못했을 수 있는 커뮤니컨트의 콘텍스트(가령, 커뮤니컨트들 사이에서 진행 중인 상호작용)에 합류하도록 권장한다. 일부 실시예에서, 실시간 시각화는 서버 애플리케이션의 콘텍스트에서 커뮤니컨트의 프레즌스 및 활동에 관한 시각적인 큐를 포함한다. 이들 시각적 큐의 표현은 전형적으로 서버 애플리케이션에 의해 설정되는 통치 규칙, 관리 정책 및 (사용자의 프레즌스의 익스포테이션에 관한 선호도 및 영역 및 다른 사용자로의 사용자의 접속을 포함하는) 사용자 선호도 중 하나 이상에 의존한다. 또한, 사용자의 세부사항 및 상호활동의 레벨은 사용자가 특정 서버 애플리케이션 또는 서버 애플리케이션의 특정 존의 멤버인지 또는 프레즌스를 갖는지에 의존할 수 있다.
B. 콘택트 이용 가능성 및 활동의 실시간 시각화
도 2는 네트워크 통신 환경(10)의 예시적 실시예(52)를 도시하고 있는데, 여기서 가상 환경 생성자는 커뮤니컨트들 (C1A, C2A, C3A, C1B, C2B, C1C, C2C 및 C3C) 세트가 제각기 접속되는 3개의 서버 애플리케이션(54, 56, 58)을 포함한다. 이 예에서, (색칠된 원으로 표시되는) 커뮤니컨트들 C2A, C1B, C1C 및 C3C는 커뮤니컨트(C3A)의 콘택트이다. 플랫폼은, C3A에 대한, 서버 애플리케이션(54 내지 58)에 의해 정의되는 상이한 통신 콘텍스트에 걸친 콘택트의 실시간 이용 가능성 및 동작의 시각화를 생성한다. 특히, 플랫폼은 각 통신 콘텍스트에서 C3A의 콘택트를 도시하는 그래픽 사용자 인터페이스(60)를 생성하는데, 여기서 커뮤니컨트는 제각기의 그래픽 표현(즉, 아바타)에 의해 표현된다. 따라서, 콘택트(C2A)는 커뮤니컨트(C1A 및 C3A)와 함께 애플리케이션(A)의 콘텍스트로 도시되는데, 이는 또한 애플리케이션 A에 접속되고; 콘택트 C1B는 커뮤니컨트(C2B)와 함께 애플리케이션(?)의 콘텍스트로 도시되는데, 이는 또한 애플리케이션(B)에 접속되며, 콘택트(C1C 및 C3C)는 커뮤니컨트(C2C)와 함께 애플리케이션(C)의 콘텍스트로 도시되고, 이 또한 애플리케이션(C)에 접속된다. 이 방식으로, 커뮤니컨트(C3A)는 자신의 콘택트 중 어느 것이 통신 및 기타 상호작용을 위해 이용 가능한지를 확인하고, 자신의 콘택트의 이용 가능성의 현재 콘텍스트로 확인하며, 자신의 콘택트가 접속되는 서버 애플리케이션 및 자신의 콘택트가 현재 다른 커뮤니컨트와 상호작용하고 있는지 및 이들 커뮤니컨트의 신원을 포함한다.
또한, 그래픽 사용자 인터페이스(60)는 커뮤니컨트가 통신하도록 구성되는 다양한 통신 채널의 상태를 보여준다.
예를 들어, 커뮤니컨트의 로컬 스피커 채널의 "온" 또는 "오프" 상태는 커뮤니컨트의 그래픽 표현(66)상에 헤드폰 그래픽(64)의 존재 여부로 도시된다. 커뮤니컨트의 스피커가 온 상태이면, 헤드폰 그래픽(64)이 존재하며, 커뮤니컨트의 스피커가 오프 상태이면, 헤드폰 그래픽(64)이 존재하지 않는다. 커뮤니컨트의 마이크로폰의 "온" 또는 "오프" 상태는 커뮤니컨트의 그래픽 표현상에 마이크로폰 그래픽(67)의 존재 여부 및 일련의 확장하는 파장으로 커뮤니컨트의 그래픽 표현으로부터 동적으로 퍼져나가는 일련의 동심원들(68)로 표시된다. 마이크로폰이 온 상태이면 마이크로폰 그래픽(67) 및 퍼져나가는 동심원들(68)이 존재하며, 마이크로폰이 오프 상태이면, 마이크로폰 그래픽(67) 및 퍼져나가는 동심원들(68)이 존재하지 않는다. 헤드폰 그래픽(64), 마이크로폰 그래픽(67) 및 퍼져나가는 동심원들(68)은 커뮤니컨트의 사운드 플래이백 및 마이크로폰 디바이스의 상태의 시각적 큐로서 기능한다. 커뮤니컨트의 텍스트 채팅 채널의 "온" 또는 "오프" 상태는 커뮤니컨트의 그래픽 표현에 인접하는 손 그래픽(69)의 존재 여부로 도시된다. 커뮤니컨트가 다른 네트워크 노드로 텍스트 채팅 데이터를 전송하면 손 그래픽(69)이 나타나고, 커뮤니컨트가 텍스트 채팅 데이터를 전송하지 않으면 손 그래픽(69)은 나타나지 않는다. 일부 실시예에서, 텍스트 채팅 데이터는 키보드 키가 눌려질 때에만 전송되는데, 이 경우 커뮤니컨트의 텍스트 채널의 시각화는 손 그래픽(69)의 온 및 오프 플래싱으로서 보여진다. People Pane(62)에 도시된 시각적 큐로부터, 커뮤니컨트는 커뮤니컨트가 통신을 위해 이용 가능한지 및 커뮤니컨트가 현재 다른 커뮤니컨트와 통신하고 있는지를 추론할 수 있다.
도 3은 그래픽 사용자 인터페이스의 다른 실시예(70)를 도시하고 있는데, 상이한 통신 콘텍스트에 걸쳐 타겟 커뮤니컨트(이 예에서는 "Art") 의 콘택트 일부 또는 전부의 실시간 이용 가능성 및 활동을 도시하고 있다. 그래픽 유저 인터페이스(70)는 Art가 동작하고 있는 클라이언트 네트워크 노드의 디스플레이상에서 생성된다. 그래픽 유저 인터페이스(70)는 Art의 커뮤니컨트가 2개의 서버 애플리케이션 그룹(72, 74) 및 콘택트 그룹(76)으로 분할되는 것을 도시하고 있다. 서버 애플리케이션 그룹(72, 74)은 Art가 멤버인 서버 애플리케이션 각각에 대응하며 Art 및 Art의 콘택트 중 적어도 하나가 존재하는지에 관련된다. 콘택트 그룹(76)은 서버 애플리케이션 그룹 어디에도 표현되지 않는 Art의 콘택트의 전부 또는 선택된 부분을 포함한다. 커뮤니컨트의 제 1 서버 애플리케이션 그룹(72)은 "Application 1"이라는 헤더 바(header bar)로 라벨링된 섹션(78) 내에 포함되며, 이는 서버 애플리케이션 "Application 1"에 프레즌스를 갖는 커뮤니컨트 전부를 식별한다. 통신의 제 2 서버 애플리케이션 그룹(74)은 "Application 2" 헤더 바로 라벨링된 섹션(80) 내에 포함되며, 이는 서버 애플리케이션 "Application 2" 프레즌스를 갖는 커뮤니컨트 전부를 식별한다. 통신의 콘택트 그룹(76)은 "Contact" 헤더 바로 라벨링된 섹션(82) 내에 포함되며, 제 1 및 제 2 서버 애플리케이션 그룹(72, 74) 어디에도 도시되지 않은(즉, 애플리케이션 1 및 애플리케이션 2 어디의 멤버도 아니고 존재하지 않는) Art의 콘택트 모두를 식별한다. 헤더 바 각각은, 선택적으로 접히도록 토글될 수 있으며 연관 섹션(78, 80, 82)을 확장시킬 수 있는 제각기의 토글 콘트롤(84, 86, 88)을 포함한다.
도 3에 도시된 실시예에서, 서버 애플리케이션 섹션(78, 80)은 각 서버 애플리케이션에서 현재 프레즌스를 갖는 (Art 또는 Art의 콘택트 중 적어도 하나를 포함하는) 커뮤니컨트의 그래픽 표현(아바타)을 포함하고, 콘택트 섹션(82)은 애플리케이션 1 및 애플리케이션 2 어디에도 존재하지 않고 어디의 멤버도 아닌 Art의 콘택트 중 나머지의 전부의 그래픽 표현(즉, 아바타)을 포함한다. 도시된 예에서, Art 및 Beth는 서버 애플리케이션 1의 멤버이고, Art, Carl 및 Dan은 서버 애플리케이션 2의 멤버이며 Ed는 서버 애플리케이션 2의 게스트이고, Fran, Garth, Helen, Jack 및 Kim은 서버 애플리케이션 1의 멤버도 서버 애플리케이션 2의 멤버도 아니다. 이 예에서, Dan, Fran, Garth, Helen, Jack 및 Kim은 Art의 콘택트이고, Beth, Carl, 및 Ed은 Art의 콘택트가 아니다.
각 커뮤니컨트는 커뮤니컨트(즉, "Art," "Beth," "Carl," "Dan," "Ed," "Fran," "Garth," "Helen," "Jack," 및 "Kim")의 사용자 이름으로 라벨링되는 원형의 요정(circular sprite)로 시각적으로 표현된다. 또한, 각 요정은 커뮤니컨트에 관한 추가적인 정보를 포함하는 각 상태와 연관될 수 있다. 일부 실시예에서, 각 상태 라인은 다음의 정보, 프레즌스(가령, 서버 애플리케이션 또는 그 서버 애플리케이션의 존), 이용 가능성(가령, 바쁨, 한가함), 상태 메시지(Out of the office next Wednesday) 및 커뮤니컨트가 동작하는 클라이언트 노드의 이름(가령, "워크스테이션 1" 또는 "모바일 폰") 중 적어도 하나를 포함할 수 있다. 일부 실시예에서, 섹션(78, 80, 82) 각각의 커뮤니컨트 아바타의 공간적 위치는 사용자 이름을 알파벳 순으로 정렬하여 배치된다. 다른 실시예에서, 서버 애플리케이션(78, 80) 각각의 커뮤니컨트 아바타의 공간적 위치는, 커뮤니컨트가 서버 애플리케이션과의 제각기의 프레즌스를 수립했을 때의 관점에서 커뮤니컨트의 시간적 순서에 따라 정렬되어 배치된다. 콘택트 섹션(82)의 커뮤니컨트 아바타의 공간적 위치는 사용자 이름을 알파벳 순으로 정렬하여, 콘택트 빈도에 따라, 최신 콘택트 순으로, 또는 다른 분류 또는 필터링 기준에 따라 분류될 수 있다.
서버 애플리케이션의 콘텍스트에서 커뮤니컨트의 활동은, 각 커뮤니컨트가 통신하도록 구성되는 다양한 통신 채널의 상태로부터 추론될 수 있다. 통신 채널의 상태는, 섹션(78, 80, 82)의 커뮤니컨트의 그래픽 표현과 연관되어 도시되는 시각적 큐에 의해 그래픽 사용자 인터페이스(70)에 도시된다. 도 2에 도시된 실시예에서와 같이, 커뮤니컨트의 로컬 스피커 채널의 "온" 또는 "오프" 상태는 커뮤니컨트의 요정에 헤드폰 그래픽(90)의 존재 여부로 도시된다. 요정으로 표현된 커뮤니컨트의 스피커가 온 상태이면 헤드폰 그래픽(90)이 존재하며(요정Art, Carl 및 Dan 참조), 커뮤니컨트의 스피커가 오프 상태이면 헤드폰 그래픽(90)이 존재하지 않는다(요청 Beth 및 Ed 참조). 커뮤니컨트의 마이크로폰의 "온" 또는 "오프" 상태는 커뮤니컨트의 요정의 마이크로폰 그래픽(90)의 존재 여부로 도시된다. 마이크로폰이 온 상태이면 마이크로폰 그래픽(90)이 존재하며(요정Dan 참조), 마이크로폰이 오프 상태이면 마이크로폰 그래픽(90)이 존재하지 않는다(요정 Art, Beth, Carl, 및 Ed 참조). 헤드폰 그래픽(90) 및 마이크로폰 그래픽(92)은 커뮤니컨트의 사운드 플레이 백 및 마이크로폰 디바이스의 활동 상태의 시각적 큐를 제공한다. 커뮤니컨트의 텍스트 채팅 채널의 활동 상태는 커뮤니컨트의 요정에 인접하는 손 그래픽(94)의 존재 여부로 도시된다(요정 Beth 참조). 따라서, 커뮤니컨트가 다른 네트워크 노드로 텍스트 채팅 데이터를 전송하면 손 그래픽(94)이 나타나고, 커뮤니컨터가 텍스트 채팅 데이터를 전송하지 않으면 손 그래픽(94)은 나타나지 않는다. 일부 실시예에서, 텍스트 채팅 데이터는 키보드 키가 눌려질 때에만 전송되는데, 이 경우 커뮤니컨트의 텍스트 채널의 시각화는 손 그래픽(94)의 온 및 오프 플래싱으로서 보여진다.
도 3에 도시된 예에서, 서버 애플리케이션의 멤버는, 멤버의 존재 여부에 관한, 그 서버 애플리케이션의 콘텍스트에서 발생하는 커뮤니컨트의 활동의 시각적 큐를 수신할 수 있다. 따라서, Art에게 표현되는 그래픽 사용자 인터페이스(70)는 (Art가 존재하는) 애플리케이션 1에 존재하는 커뮤니컨트의 통신 채널 상태 및 (Art가 존재하지 않는) 애플리케이션 2에 존재하는 커뮤니컨트의 통신 채널 상태를 표시하는 시각적 큐를 보여준다.
그래픽 사용자 인터페이스(70)에서, Art의 콘택트는 서버 애플리케이션 및 콘택트 그룹(72 내지 76)에 걸쳐 중복되지 않는다. 다른 실시예에서, 콘택트 그룹(76)은 Art의 콘택트가 서버 애플리케이션 그룹(72, 74)의 어디에 포함되는지에 무관하게 Art의 콘택트 전부를 포함할 수 있다. 예를 들어, 도 4는 콘택트 섹션(82)이 Art의 콘택트의 전부 또는 선택된 부분을 포함하는 콘택트 그룹을 포함하는, 그래픽 사용자 인터페이스(70)의 실시예를 도시하고 있다. 도시된 예에서, Dan은 서버 애플리케이션 2 그룹(74) 및 콘택트 그룹(108) 모두에서 나타난다.
도 5는 그래픽 사용자 인터페이스(70)의 다른 실시예(110)를 도시하고 있는데, 상이한 통신 콘텍스트에 걸쳐 타겟 커뮤니컨트(이 예에서는 "Art"의 콘택트의 일부 또는 전부의 실시간 이용 가능성 및 활동을 도시하고 있다. 일 실시예에서, Art가 멤버인 각 서버 애플리케이션마다 그리고 Art와 Art의 콘택트 중 적어도 하나에 관해, 서버 애플리케이션의 멤버는 서버 애플리케이션에 대해 그 프레즌스의 상태에 의해 분할된다. 따라서, 1의 멤버는 그룹(112) 및 그루(114)로 분류되며, 2의 멤버는 Present 그룹(116) 및 Not Present 그룹(118)로 분류된다. 이 방식으로, Art는 각 서버 애플리케이션에 누가 존재하며 어느 멤버가 존재하지 않는지를 쉽게 시각화할 수 있다. 그룹(112 내지 118)의 각각은 제각기의 토글 콘트를(120, 122, 124, 126)과 연관되는 "Present" 또는 "Not present" 라벨로 각각 라벨링되며, 선택적으로 접히고 연관 그룹(112 내지 114)을 확장시키도록 토글링될 수 있다.
도 6은 그래픽 사용자 인터페이스(100)의 다른 실시예(128)를 도시하고 있는데, 상이한 통신 콘텍스트에 걸쳐 타겟 커뮤니컨트(이 예에서는 Art의 콘택트의 일부 또는 전부의 실시간 이용 가능성 및 활동을 도시하고 있다. 이 그래픽 사용자 인터페이스 실시예는 추가 "Zone of Co-Presence" 서버 애플리케이션 필터링 기준을 포함하고 Contact 그룹에서 나열되는 커뮤니컨트를 필터링하기 위한 추가 필터링 기준을 포함한다는 점을 제외하고는 그래픽 사용자 인터페이스(110)에 대응한다.
Zone of Co-Presence 필터링 기준은 서버 애플리케이션의 특정 존 내에서 함께 존재하는 커뮤니컨트를 식별한다.
따라서, 각 서버 애플리케이션에 대해, 서버 애플리케이션의 동일한 존 내에 존재하는 2명 이상의 커뮤니컨트의 각 그룹은 그래픽 사용자 인터페이스(128)의 개별적이고 선택적으로 확장 가능하고 접힐 수 있는 Zone of Co-Presence 영역(130)에 나열된다. Art의 콘택트의 일부 또는 전부를 포함하는 Zone of Co-Presence의 도시는, Art가 멤버인 서버 애플리케이션에 의해 정의되는 통신 콘텍스트의 모두에 걸쳐 발생하는 상호작용의 모두를 Art가 쉽게 시각화할 수 있게 한다. 이 방식으로, Art는 참가하기를 원하는 어떤 진행 중인 상호작용이 있는지를 판단할 수 있다.
추가적인 필터링 기준은 Art의 콘택트가 Art와의 상호작용 빈도에 의해 분류되는 Frequent 콘택트 그룹(132)과, Art의 콘택트가 최근 Art와의 상호작용순으로 분류되는 Recent 콘택트 그룹(134)과, Art의 콘택트가 제 3의 서비스(가령, 인스턴트 메시징 애플리케이션 또는 소셜 네트워크 등)에 의해 정의되는 상이한 카테고리에 따라 필터링되는 한 쌍의 Third-Party Categories (136, 138)와, 현재 온라인 상태인 Art의 콘택트의 전부를 나열하는 Online 콘택트 그룹(140)과, 현재 오프라인 상태인 Art의 콘택트의 전부를 나열하는 Offline(즉, 네트워크(20)로부터 접속 해제된) 콘택트 그룹(142)를 포함한다.
그래픽 사용자 인터페이스 실시예(70, 106, 110 및 128) 각각(도 3 내지 도 6 참조)은 Chat 버튼(98), Get 버튼(100), Invite 버튼(102) 및 Accounts 버튼(104)을 포함하는 제각기의 툴바(96)를 포함한다. 이들 제어 버튼의 선택에 의해 호출될 수 있는 기능은 도 7a 내지 7c와 관련하여 후술할 것이다.
Chat 버튼(98)(도 7a)을 선택하면, Art가 존재하는 서버 애플리케이션(즉, 도시된 예에서는 Application 1)에 존재하는 다른 커뮤니컨트들과의 채팅을 Art가 개시할 수 있게 하는 Chat 윈도우(150)(도 7b)가 열린다. Chat 버튼(98)을 선택하면 별도의 Chat 윈도우(150)가 열린다. Chat 윈도우(150)는 툴바(152), 채팅 로그 영역(154), 텍스트 박스(156) 및 Send 버튼(158)을 포함한다. Chat 윈도우(150)는 또한 통합형 People Pane(159)을 포함한다. Chat 버튼(98)에 의해 호출되는 방법 및 기능의 실시예에 관한 추가적인 세부사항은 2009년 1월 15일에 출원된 미국 특허 출원 12/354,709의 § IV.B.2에 개시되어 있다.
Get 버튼(100)(도 7a)을 선택하면 선택된 Location(161)(가령, 서버 애플리케이션 또는 서버 애플리케이션 내의 존)으로 하나 이상의 커뮤니컨트를 Art가 초대할 수 있게 하는 Get 윈도우(160)가 열린다. Art가 현재 주목하고 있는 서버 애플리케이션 외의 서버 애플리케이션마다 Get 윈도우(160)는, Get 버튼을 클릭하면 Contact List(110)에서 선택된 사람을 나열하는 수신자 필드(162)를 포함한다. 또한, Art는 이메일 주소, 이름 또는 다른 핸들(handle)을 수신자 필드로 타이핑할 수 있다. 이 시스템은 이메일 주소, 이름 또는 다른 핸들을 참조할 것이며, (이 시스템이 이메일 주소, 이름 또는 다른 핸들을 인식하면) 수신자 필드의 수신자의 아바타에게 색을 칠할 것이다. Send 버튼(166)을 선택하면, 플랫폼은 선택된 Location(161)에서 Art에게 합류하라는 초대를 선택된 커뮤니컨트들에게 전송한다. 이 메시지는 그 시점에서 수신자의 이용 가능성에 의존하여 채팅 메시지 또는 이메일 메시지를 통해 수신자에게 송신된다. Art는 초대에 Message(168)(가령, "Application 1에서 나에게 합류하세요")를 포함하는 옵션을 갖는다.
Invite 버튼(102)을 선택하면, Art가 현재 서버 애플리케이션에 존재하지 않는 커뮤니컨트를 현재 서버 애플리케이션으로 초대할 수 있게 하는 Invite 열린다. Art가 이용 가능한 커뮤니컨트 리스트에서 하나 이상의 커뮤니컨트를 선택하면, 플랫폼은 각 서버 애플리케이션 또는 존에서 Art로 합류하라는 초대를 선택된 커뮤니컨트에게 전송한다. Invite 버튼(102)에 의해 호출되는 방법 및 기능의 실시예에 관한 추가적인 세부사항은 2009년 1월 15일에 출원된 미국 특허 출원 12/354,709의 § IV.B.4에 개시되어 있으며, Contact 윈도의 Get 버튼과 연관된다.
버튼(104)을 선택하면, Art가 자신의 계정 정보를 관리할 수 있게 하는 윈도구가 열린다.
또한, Art는 그래픽 사용자 인터페이스(70, 106, 110 및 128)에 나열되는 커뮤니컨트의 그래픽 표현 중 하나에 마우스오버(mouseover)하여 각 커뮤니컨트에 관한 추가적인 정보가 나타나게 할 수 있다. 예를 들어, 도 7a에 도시된 바와 같이, Kim의 요정(170)에 마우스오버하면, Kim에 관한 정보를 보여주는 정보 윈도우(172)가 나타난다. 이 예에서, 정보 윈도우(172)는 Kim으로부터의 메시지(즉, "Out of the office next Wednesday") 지역 시간 정보, 위치 정보 및 하이퍼텍스트 링크를 보여준다. 정보 윈도우(172)는 Kim과 채팅을 개시하기 위한 Chat 버튼 및 Kim을 선택된 위치로 초대하기 위한 Get 버튼을 갖는 툴바를 포함한다. Chat 버튼 및 Get 버튼에 의해 호출되는 방법 및 기능의 실시예에 관한 추가적인 세부사항은 2009년 1월 15일에 출원된 미국 특허 출원 12/354,709의 §IV.B.2 및 §IV.B.4에 각각 개시되어 있다.
C. 네트워크 통신 환경으로 커뮤니컨트를 인터페이싱
1. 개요
도 8은, 플랫폼이 클라이언트 노드(12, 14) 중 하나를 운영하는 타겟 커뮤니컨트와 네트워크 통신 환경의 다른 커뮤니컨트 사이의 상호작용을 촉진시키는 방법의 실시예를 도시하고 있다. 이 방법에 따르면, 타겟 커뮤니컨트는 클라이언트 노드를 서버 애플리케이션(44) 중 타겟에 접속하도록 유도한다(도 8, 블록(174)). 타겟 서버 애플리케이션을 호스팅하는 서버 노드는 타겟 커뮤니컨트에 관련되는 커뮤니컨트들 중 하나를 확인한다(도 8, 블록(176)). 서버 노드는 상이한 서버 애플리케이션(44)에 대해 관련된 커뮤니컨트의 상태를 결정한다(도 8, 블록(178)). 서버 노드는 타겟 커뮤니컨트에 관련 커뮤니컨트들의 표시 및 관련 커뮤니컨트들의 결정된 상태를 전송한다(도 8, 블록(180)). 디스플레이상에, 클라이언트 노드는 관련된 커뮤니컨트의 그래픽 표현 및 상이한 서버 애플리케이션으로의 접속과 관련하여 관련된 커뮤니컨트의 상태의 그래픽 표시를 디스플레이한다(도 8, 블록(184)).
전술한 바와 같이, 일부 실시예에서, 다수의 상이한 서버 애플리케이션은 커뮤니컨트들 사이의 동기식 회의를 가능하게 한다.
서버 애플리케이션 중 특정한 하나는 커뮤니컨트들 각각이 연관될 수 있는 다수의 존을 가질 수 있다. 이들 실시예에서, 서버 노드는 전형적으로 관련 커뮤니컨트들 각각이 특정 서버 애플리케이션의 존 중 어느 것에 연관되는지의 표시를 타겟 커뮤니컨트로 전송한다. 관련 커뮤니컨트 각각에 대해, 서버 노드는 관련 커뮤니컨트가 적어도 하나의 다른 커뮤니컨트와 함께 존재하는 존 각각을 결정할 수 있고, 서버 노드는 타겟 커뮤니컨트에 관련 커뮤니컨트의 결정된 멤버쉽의 표시를 전송한다. (후술할) 일부 실시예에서, 특정 서버 애플리케이션의 존 각각은 물리적 환경의 요소의 각 그래픽 표현과 연관된다. 예를 들어, 특정 서버 애플리케이션의 존 각각은 오피스 환경의 물리적 공간의 각 그래픽 표현과 연관될 수 있다.
일부 실시예에서 서버 노드는 관련 커뮤니컨트 각각에 대해 관련 커뮤니컨트가 멤버쉽을 갖는 서버 애플리케이션 각각을 결정할 수 있고, 서버 노드는 관련 커뮤니컨트의 결정된 멤버쉽의 표시를 타겟 커뮤니컨트에 전송한다.
관련 커뮤니컨트를 확인하는 데에 있어서(도 8, 블록(176)), 서버 노드는 타겟 커뮤니컨트가 서버 애플리케이션과 제각기 연관되어 상호작용한 커뮤니컨트들을 관련 커뮤니컨트로서 식별할 수 있다. 이 프로세스에서, 서버 노드는 타겟 커뮤니컨트가 서버 애플리케이션과 제각기 연관되어 제공되는 실시간 통신 시설을 통해 통신한 커뮤니컨트를 관련 커뮤니컨트로서 식별할 수 있다. 실시간 통신 시설은 오디오 통신 시설, 비디오 통신 시설, 실시간 텍스트 채팅 시설 및 파일 공유 통신 시설 중 적어도 하나를 포함할 수 있다.
관련 커뮤니컨트를 확인하는 데에 있어서, 서버 노드는 타겟이 콘택트로서 주장한 커뮤니컨트들을 "관련 커뮤니컨트"로서 식별할 수 있다.
서버 노드는 타겟 커뮤니컨트에게 네트워크 통신 환경에 현재 접속되어 있는 관련 커뮤니컨트의 표시 및 네트워크 통신 환경에 현재 접속되어 있지 않은 관련 커뮤니컨트의 표시를 전송할 수 있다.
일부 실시예에서, 관련 커뮤니컨트의 상태를 결정하는 프로세스(도 8, 블록(178))는 관련 커뮤니컨트 각각에 대해 관련 커뮤니컨트가 프레즌스를 갖는 서버 애플리케이션 각각을 결정하는 것을 포함한다. 전형적으로 서버 노드는 관련 커뮤니컨트가 어느 서버 애플리케이션에 대해 각각 프레즌스를 갖는지의 표시를 타겟 커뮤니컨트에 전송한다. 일부 실시예에서, 서버 애플리케이션 중 특정 서버 애플리케이션은 커뮤니컨트들이 각자의 프레즌스를 수립할 수 있는 다수의 존 중 하나를 가지며, 관련 커뮤니컨트 각각에 대해 서버 노드는 관련 커뮤니컨트가 프레즌스를 갖는 특정 서버 애플리케이션의 존 각각을 결정하고, 특정 서버 애플리케이션의 존 중 어느 것이 관련 커뮤니컨트가 각자의 프레즌스를 갖는지의 표시를 타겟 커뮤니컨트에 전송한다.
일부 실시예에서, 서버 노드는 관련 커뮤니컨트를 분류하고 분류 표시를 타겟 커뮤니컨트에 전송한다. 일부 실시예에서, 분류는 관련 커뮤니컨트가 제각기 연관되는 서버 애플리케이션에 따라 관련 커뮤니컨트를 서버 애플리케이션 그룹으로 그룹화하는 것을 포함한다. 각 서버 애플리케이션 그룹 내에서, 서버 노드는 관련 커뮤니컨트 각각을 각 서버 애플리케이션으로의 접속 상태에 의해, 네트워크 통신 환경의 타겟 커뮤니컨트와의 상호작용 빈도에 의해, 또는 네트워크 통신 환경의 타겟 커뮤니컨트와의 최근 상호작용순으로 관련 커뮤니컨트들을 각각 분류할 수 있다. 일부 실시예에서, 서버 애플리케이션 중 특정한 하나는 커뮤니컨트들 각각이 프레즌스를 수립할 수 있는 다수의 존을 가질 수 있다. 이들 실시예에서, 그룹화는 관련 커뮤니컨트들이 제각기 연관되는 특정 서버 애플리케이션의 존 중 하나에 따라 특정 서버 애플리케이션과 연관되는 관련 커뮤니컨트들 각각을 존 그룹으로 그룹화하는 것을 포함할 수 있다. 그룹화는, 관련 커뮤니컨트들 중 적어도 둘이 공존하는 존들에 따라 특정 서버 애플리케이션과 연관되는 관련 커뮤니컨트들 각각을 그룹화하는 것을 포함할 수 있다. 일부 실시예에서, 분류는, 특정 서버 애플리케이션의 존들 중 어느 것에서 타겟 커뮤니컨트가 프레즌스를 갖는지에 따라 존 그룹을 분류하는 것을 포함한다. 일부 실시예에서, 분류는, 서버 애플리케이션 각각과의 접속 상태에 따라 관련 커뮤니컨트를 그룹화하는 것을 포함한다. 분류는, 서버 애플리케이션 전부와 접속되지 않은 관련 커뮤니컨트들을 함께 그룹화하는 것을 포함할 수 있다.
일부 실시예에서, 서버 노드는 관련 커뮤니컨트들 각각의 실시간 활동 상태를 결정하며, 결정된 실시간 활동 상태의 표시를 타겟 커뮤니컨트에 전송한다. 결정은, 관련 커뮤니컨트들 각각의 실시간 통신 활동(가령, 오디오 통신 활동, 비디오 통신 활동, 실시간 텍스트 채팅 활동 및 파일 공유 활동)을 결정하는 것을 포함한다.
일부 실시예에서, 서버 노드는 서버 애플리케이션 각각과 관련하여 관련 커뮤니컨트들 각각과 통신하기 위해 이용 가능한 통신 채널을 결정한다. 이들 실시예에서, 서버 노드는 관련 커뮤니컨트들 각각 및 서버 애플리케이션 각각과 관련하여 결정된 통신 채널의 표시를 타겟 커뮤니컨트로 전송한다. 이용 가능한 통신 채널의 결정은, 관련 커뮤니컨트들 각각의 실시간 통신 기능과 서버 애플리케이션 각각에 의해 인에이블되는 실시간 통신 시설을 비교하는 것을 포함할 수 있다. 일부 실시예에서, 실시간 통신 채널은 오디오 통신 채널, 비디오 통신 채널, 실시간 텍스트 채팅 채널 및 파일 공유 채널 중 적어도 하나를 포함할 수 있다.
일부 실시예에서, 클라이언트 노드에 의해 수신되는 표시(도 8, 블록(182))는 관련 커뮤니컨트가 어느 서버 애플리케이션에서 각각 프레즌스를 갖는지에 대한 표시를 포함한다. 이들 실시예에서, 클라이언트 노드는 전형적으로 관련 커뮤니컨트가 프레즌스를 갖는 서버 애플리케이션 각각과 관련하여 관련 커뮤니컨트의 그래픽 표현을 디스플레이한다. 일부 실시예에서, 서버 애플리케이션 중 특정한 하나는 커뮤니컨트들 각각이 프레즌스를 수립할 수 있는 다수의 존을 가질 수 있다. 이들 실시예에서, 클라이언트 노드는 전형적으로 관련 커뮤니컨트들 각각에 대해 관련 커뮤니컨트가 프레즌스를 갖는 특정 서버 애플리케이션의 존 각각의 표시를 포함한다. 이 경우, 클라이언트 노드는 전형적으로 관련 커뮤니컨트가 프레즌스를 갖는 특정 서버 애플리케이션의 존의 각각과 관련하여 관련 커뮤니컨트의 그래픽 표현을 디스플레이한다. 일부 실시예에서, 클라이언트 노드는 물리적 환경(가령, 오피스 환경)의 그래픽 표현 요소로서 존을 디스플레이한다.
클라이언트 노드에 의해 수신되는 표시는 전형적으로 관련 커뮤니컨트들 각각이 연관되는 서버 애플리케이션의 표시를 포함한다. 일부 실시예에서, 클라이언트 노드는 관련 커뮤니컨트가 제각기 연관되는 서버 애플리케이션에 따라 서버 애플리케이션 그룹으로 그룹화된 그래픽 표현을 디스플레이하는 것을 포함한다. 각 서버 애플리케이션 그룹 내에서, 클라이언트 노드는 각 서버 애플리케이션으로의 접속 상태에 의해, 네트워크 통신 환경의 타겟 커뮤니컨트와의 상호작용 빈도에 의해, 또는 네트워크 통신 환경의 타겟 커뮤니컨트와의 최근 상호작용순으로 분류된 관련 커뮤니컨트 각각의 그래픽 표현을 디스플레이할 수 있다.
일부 실시예에서, 서버 애플리케이션 중 특정한 하나는 커뮤니컨트들 각각이 프레즌스를 수립할 수 있는 다수의 존을 가질 수 있다. 이들 실시예에서, 클라이언트 노드는 관련 커뮤니컨트들이 제각기 연관되는 특정 서버 애플리케이션의 존 중 하나에 따라 존 그룹으로 그룹화된 특정 서버 애플리케이션과 연관되는 관련 커뮤니컨트들 각각의 그래픽 표현을 디스플레이할 수 있다. 이 프로세서에서, 클라이언트 노드는, 관련 커뮤니컨트들 중 적어도 둘이 공존하는 존들에 따라 그룹화된 특정 서버 애플리케이션과 연관되는 관련 커뮤니컨트들 각각의 그래픽 표현을 디스플레이하는 것을 포함할 수 있다. 클라이언트 노드는, 특정 서버 애플리케이션의 존들 중 어느 것에서 특정 타겟 커뮤니컨트가 프레즌스를 갖는지에 따라 분류된 존 그룹을 디스플레이하는 것을 포함할 수 있다. 클라이언트 노드는, 서버 애플리케이션 각각과의 접속 상태에 따라 그룹화된 관련 커뮤니컨트의 그래픽 표현을 디스플레이하는 것을 포함한다. 이 프로세스에서, 클라이언트 노드는 서버 애플리케이션 모두에 접속되지 않은 관련 커뮤니컨트들의 함께 그룹화된 그래픽 표현을 디스플레이할 수 있다.
일부 실시예에서, 클라이언트 노드에 의해 수신되는 표시는 관련 커뮤니컨트들 각각의 실시간 활동 상태의 표시를 포함한다. 이들 실시예에서, 클라이언트 노드는 관련 커뮤니컨트의 그래픽 표현 각각과 관련되는 실시간 활동 상태의 그래픽 표현을 디스플레이할 수 있다. 실시간 통신 활동은 전형적으로 오디오 통신 활동, 비디오 통신 활동, 실시간 텍스트 채팅 활동 및 파일 공유 활동 중 적어도 하나를 포함한다.
일부 실시예에서, 클라이언트 노드에 의해 수신되는 표시는, 서버 애플리케이션 각각과 관련하여 관련 커뮤니컨트들 각각과 통신하기 위해 이용 가능한 통신 채널의 표시를 포함한다. 이들 실시예에서, 클라이언트 노드는 관련 커뮤니컨트의 그래픽 표현 각각과 관련되는 통신 채널의 그래픽 표현을 디스플레이할 수 있다. 실시간 통신 채널은 전형적으로 오디오 통신 채널, 비디오 통신 채널, 실시간 텍스트 채팅 채널 및 파일 공유 채널 중 적어도 하나를 포함할 수 있다.
클라이언트 노드에 의해 수신되는 표시는, 네트워크 통신 환경에 접속되는 관련 커뮤니컨트의 표시 및 네트워크 통신 환경에 접속되지 않는 관련 커뮤니컨트의 표시를 포함할 수 있다. 이들 실시예에서, 클라이언트 노드는 네트워크 통신 환경에 접속되는 관련 커뮤니컨트들의 그래픽 표현과 관련되는 온라인 접속 상태 표시자를 디스플레이할 수 있고, 클라이언트 노드는 네트워크 통신 환경에 접속되지 않는 관련 커뮤니컨트들의 그래픽 표현와 연관되는 오프라인 접속 상태 표시자를 디스플레이할 수 있다.
도 9는, 플랫폼이 클라이언트 노드(12, 14) 중 하나를 운영하는 특정 커뮤니컨트와 네트워크 통신 환경의 다른 커뮤니컨트 사이의 상호작용을 촉진시키는 방법의 실시예를 도시하고 있다. 이 방법에 따르면, 클라이언트 노드는, 네트워크 통신 환경에서 커뮤니컨트들 각각에 의해 각각 연결되는 상이한 종류의 실시간 통신 활동의 표시를 수신한다(도 9, 블록(183)). 디스플레이상에서, 클라이언트 노드는 커뮤니컨트들 중 하나 이상의 각각의 그래픽 표현을 포함하는 콘택트 리스트를 디스플레이하는데, 디스플레이하는 것은 하나 이상의 그래픽 표현과 관련하여 하나 이상의 커뮤니컨트에 의해 개별적으로 연결되는 현재 상호작용 활동의 확인된 종류를 나타내는 시각적 큐를 도시하는 것을 포함한다.
일부 실시예에서, 클라이언트 노드는 커뮤니컨트들 각각의 통신 활동으로부터 유도되는 콘텐츠를 포함하는 실시간 데이터 스트림과, 수신된 실시간 데이터 스트림의 종류를 식별하는 콘텐츠 유형 식별자의 형태인 각 표시를 포함한다. 이들 실시예에서, 클라이언트 노드는 각 콘텐츠 유형 식별자로부터 실시간 통신 활동의 각 종류를 결정한다. 또한, 이 클라이언트 노드는 전형적으로 수신된 실시간 데이터 스트림으로부터 사람이 감지할 수 있는 출력을 생성한다.
일부 실시예에서, 클라이언트 노드는 네트워크 통신 환경에서 커뮤니컨트들 중 특정 커뮤니컨트에 의해 연결되는 실시간 채팅 동작의 표시를 수신하고, 특정 커뮤니컨트의 그래픽 표현과 관련하여 실시간 채팅 동작을 표시하는 시각적 큐를 디스플레이한다.
일부 실시예에서, 클라이언트 노드는 네트워크 통신 환경에서 커뮤니컨트들 중 특정 커뮤니컨트에 의해 연결되는 실시간 파일 공유 동작의 표시를 수신하고, 특정 커뮤니컨트의 그래픽 표현과 관련하여 실시간 파일 공유 동작을 표시하는 시각적 큐를 디스플레이한다.
일부 실시예에서, 클라이언트 노드는 네트워크 통신 환경에서 커뮤니컨트들 중 특정 커뮤니컨트에 의해 연결되는 실시간 애플리케이션 공유 동작의 표시를 수신하고, 특정 커뮤니컨트의 그래픽 표현과 관련하여 실시간 애플리케이션 공유 동작을 표시하는 시각적 큐를 디스플레이한다.
일부 실시예에서, 클라이언트 노드는 네트워크 통신 환경에서 커뮤니컨트들 중 특정 커뮤니컨트에 의해 연결되는 실시간 음성 동작의 표시를 수신하고, 특정 커뮤니컨트의 그래픽 표현과 관련하여 실시간 음성 동작을 표시하는 시각적 큐를 디스플레이한다.
2. 커뮤니컨트들간의 연관 및 커뮤니컨트와 서버 애플리케이션과의 연관
커뮤니컨트는 전형적으로 다른 커뮤니컨트의 "콘택트"가 되어 다른 커뮤니컨트에 관련되는데, 커뮤니컨트는, 커뮤니컨트들 중 적어도 하나에 의해 선언되는( 및 선택적으로 다른 이에 의해 확정되는) 명시적 소셜 네트워크 묶음(tie)에 의해 또는 커뮤니컨트들 사이의 상호작용으로부터 추론되는 소셜 네트워크 묶음에 의해 다른 커뮤니컨트에 연결된다. 일부 실시예에서, 네트워크 인프라스트럭쳐 서비스 환경(42)은, 커뮤니컨트들에 의해 선언되는 명시적 속성값 및 관계 데이터베이스(46)에 대한 질의 결과의 통계적 분석으로부터 유도되는 추론된 속성값에 기초하여 커뮤니컨트 상호작용을 촉진한다. 각 관계 종류 속성값은 전형적으로 소셜 네트워크 묶음의 일종을 지정한다. 예시적 관계 유형은 친족 유형(가령, 아버지, 사촌), 정서적 유형(가령, 존경함, 좋아함), 인지적 유형(가령, 아는 사이, 친구, 지인), 사회적 역할 유형(가령, 선생님, 직장동료)을 포함한다. 이러한 속성값을 추론하는 방법의 실시예는 2009년 12월 4일자로 출원된 공동 계류 중인 미국 특허 출원 12/631,026의 섹션 IV에 개시되어 있다.
예시적 유형의 연관 중에서 커뮤니컨트가 상이한 서버 애플리케이션과 가질 수 있는 것은 멤버쉽과 프레즌스이다. 전형적으로, 커뮤니컨트는 서버 애플리케이션에 등록함으로써 서버 애플리케이션의 멤버가 된다. 커뮤니컨트는 서버 애플리케이션에 대해 현재 프레즌스를 갖지 않는 서버 애플리케이션의 멤버일 수 있다. 전형적으로, 커뮤니컨트는 서버 애플리케이션에 접속함으로써 서버 애플리케이션에 대한 프레즌스를 획득한다. 커뮤니컨트는 서버 애플리케이션의 멤버가 되지 않고 그 서버에 대한 프레즌스를 가질 수 있다. 이 경우, 커뮤니컨트는 전형적으로 "게스트"로 지칭된다. 일부 실시예에서, 일부 게스트 커뮤니컨트는 2010년 1월 26일자로 출원된 미국 특허 출원 12/694,126에 개시된 하나 이상의 방법에 따라 서버 애플리케이션과 인터페이싱될 수 있다.
도 10은 5명의 커뮤니컨트들(Sally, Tom, Collin, Cary, 및 Gus)과 2개의 서버 애플리케이션(Lansing Aviation 및 Engineering)과의 제각기의 연관 사이의 예시적 관계 세트를 도시하는 소셜 그래프(190)의 일례를 도시하고 있다. 서버 애플리케이션은 커뮤니컨트가 각자의 프레즌스를 수립할 수 있는 임의의 종류의 서버 애플리케이션일 수 있으며, 동기식 회의 서버 애플리케이션을 포함할 수 있다. 도시된 예에서, Lansing Aviation 및 Engineering 서버 애플리케이션은 Sococo 영역 애플리케이션(Social Communications Company, Inc., www.sococo.com로부터 이용 가능함)이며, 네트워크 통신 환경에서 커뮤니컨트들이 체험하는 몰입 레벨을 증가시키는 공간적 콘텍스트에서 커뮤니컨트 상호작용을 위한 공간적 시각화 및 스위칭 룰을 정의한다. 소셜 그래프(190)에 도시된 바와 같이, Sally 및 Cary는 Engineering 영역 애플리케이션의 멤버이고, Gus는 Engineering 영역 애플리케이션의 게스트이다. 또한, Sally는 Collin과 Lansing Aviation 영역 애플리케이션의 공동 멤버인데, 이는 Sally의 상호 Sococo 콘택트이다. Sally는 Tom의 상호 Sococo 콘택트이고, 이는 Lansing Aviation 및 Engineering 영역 애플리케이션 중 어디의 멤버도 아니다. 또한, Sally는 Yolanda의 상호 Yahoo 콘택트이고 Gary의 상호 Google 콘택트이다.
3. 커뮤니컨트 아이덴티티
각 서버 애플리케이션에 있어서, 커뮤니컨트는 서버 애플리케이션에 대한 커뮤니컨트를 고유하게 식별하는 하나 이상의 식별자를 가질 수 있다. 예를 들어, 도 10의 소셜 그래프는, Sococo 식별자(SUID1 및 SUID2)에 의해 고유하게 식별되는 각 Sococo 식별자를 갖는 것 외에도, Sally 및 Tom은 이들이 제 3의 서버 제공자(즉, Yahoo, Gmail, Hotmail, AIM 및 Facebook 서비스 제공자)와 수립한 식별자의 세트(192, 194)를 주장한다. 특히, Sally는 다음의 아이덴티티 식별자 sally@yahoo.com, sally@gmail.com, sally@hotmail.com, sally@aim.com, 및 sally@source.com를 주장하였고, Tom은 다음의 아이덴티티 식별자tom@yahoo.com, tom@gmail.com, tom@hotmail.com, tom@aim.com, 및 tom@target.com를 주장하였다. 또한, Sally 및 Tom은 상호 Yahoo 콘택트 및 상호 Facebook 콘택트("친구"라고도 함)이다. 이 예에서, Sally 및 Tom에 의해 주장되는 식별자는 각 네트워크 서비스(Yahoo, Gmail, Hotmail, AIM 및 Facebook 서버 애플리케이션)와 연결되어 통신하기 위한 통신 핸들이다.
일부 실시예에서, 각 커뮤니컨트에 대해, 네트워크 인프라스트럭쳐 서버 환경(42)은 커뮤니컨트에 의해 주장되는 식별자 전부를 네트워크 통신 환경에서 커뮤니컨트를 식별하는 하나의 범용 사용자 식별자(가령, 도 10에 도시된 Sococo 식별자(SUID1 및 SUID2))와 연관시킨다. 이 방식으로, 각 커뮤니컨트는 상이한 서버 애플리케이션(44)에 의해 정의되는 상이한 통신 콘텍스트 전부에 걸쳐서 동일한 식별자로써 지속적으로 식별된다.
도 11은, 네트워크 인프라스트럭쳐 서버 환경(42)이 커뮤니컨트 중 하나 이상의 각각을 하나의 아이덴티티로 네트워크 통신 환경에서 상호작용하는 다른 커뮤니컨트에게 나타내는 방법의 실시예를 도시하고 있다.
도 11의 방법에 따르면, 커뮤니컨트들 중 하나 이상의 각각에 대해, 네트워크 인프라스트럭쳐 서버 환경(42)은 커뮤니컨트에 의해 주장되는 다수의 아이덴티티 세트(도 11, 블록(195))를 결정하는데, 여기서 아이덴티티 각각은 각 네트워크 서비스와 접속하여 커뮤니컨트와 통신하기 위한 통신 핸들과 연관되며, 네트워크 인프라스트럭쳐 서버 환경(42)은 다수의 아이덴티티 세트 각각과 네트워크 통신 환경에서 커뮤니컨트를 식별하는 하나의 각자의 범용 사용자 식별자를 연관시키며(도 11, 블록(196)), 네트워크 인프라스트럭쳐 서버 환경(42)은 사용자 계정 각각과 연관되는 커뮤니컨트의 하나 이상의 콘택트의 세트를 식별한다(도 11, 블록(197)).
네트워크 인프라스트럭쳐 서버 환경(42)은 커뮤니컨트 중 타겟 커뮤니컨트에 관련되는 커뮤니컨트들을 확인한다(도 11, 블록(198)). 이 프로세스에서, 커뮤니컨트 각각은 커뮤니컨트가 주장하는 아이덴티티와 연관되는 통신 핸들에 기초하여 타겟 커뮤니컨트의 콘택트 각각에 일치된다.
네트워크 인프라스트럭쳐 서버 환경(42)은 범용 아이덴티티에 의해 식별되는 관련 커뮤니컨트의 표시를 타겟 커뮤니컨트에 전송한다(도 11, 블록(199)).
일부 실시예에서, 접속 핸들은 실시간 통신 서비스(가령, 인스턴트 메시징 서비스, 오디오 회의 서비스, 비디오 회의 서비스 및 파일 공유 서비스)를 통해, 전자 메일 서비스를 통해, 또는 소셜 네트워킹 서비스를 통해 커뮤니컨트들 각각과 통신하기 위한 핸들이다. 일부 실시예에서, 각 커뮤니컨트는 서버 애플리케이션(44) 중 상이한 것들에 대한 상이한 통신 핸들을 지정하여 커뮤니컨트가 메시지가 유도되는 통신 핸들로부터의 다른 커뮤니컨트로부터 수신되는 메시지의 통신 콘텍스트(가령, Meet, Get 및 초대 메시지)를 추론할 수 있다.
일부 실시예에서, 네트워크 인프라스트럭쳐 서비스 환경(42)은 서버 애플리케이션으로의 접속에 대해 관련된 커뮤니컨트의 접속 상태를 결정하고, 관련된 커뮤니컨트의 사양 및 관련된 커뮤니컨트의 결정된 접속 상태를 타겟 커뮤니컨트로 전송한다. 관련 커뮤니컨트 중 특정 커뮤니컨트가 서버 애플리케이션 중 특정 서버 애플리케이션으로부터 접속 해제되었다고 판단하면, 네트워크 인프라스트럭쳐 서비스 환경(42)은 특정 관련 커뮤니컨트가 접속된 네트워크 서비스를 결정하고, 특정 관련 커뮤니컨트가 특정 서버 애플리케이션으로부터 접속 해제된다는 표시 및 특정 관련 커뮤니컨트가 특정 관련 커뮤니컨트가 접속된다고 결정된 네트워크 서비스 중 하나 이상을 통한 통신을 위해 이용 가능하다는 표시를 타겟 커뮤니컨트에게 전송한다.
4. 커뮤니컨트 상태
상이한 서버 애플리케이션(44)과의 연관에 대해 커뮤니컨트에 대해 확인될 수 있는 상태 중에서 서버 애플리케이션(44)에 대해 커뮤니컨트의 상태 및 활동의 상태가 있다.
[00120] 예시적 커뮤니컨트 상태는 다음을 포함한다.
Figure 112013022679161-pct00001
온라인/오프라인 상태는 커뮤니컨트가 현재 통신을 위해 이용 가능한지를 표시한다. 도시된 실시예에서, 커뮤니컨트는 (가령, 서버 애플리케이션(44)의 하나 이상에 대해 프레즌스를 수립하여) 네트워크 통신 환경에 접속될 때 온라인 상태이고, 커뮤니컨트는 (가령, 서버 애플리케이션(44) 중 어느 것과도 프레즌스를 갖지 않음으로써) 네트워크 통신 환경에 접속되지 않은 때에 오프라인 상태이다.
Location of Presence 상태는 커뮤니컨트가 네트워크 통신 환경에서 프레즌스를 수립한 것을 표시한다. 전형적으로, Location of Presence는 서버 애플리케이션(44) 및/또는 사용자가 프레즌스를 갖는 서버 애플리케이션(44)의 존 각각에 대한 속성 값(가령, application_ID 및/또는 zone_ID 값)을 갖는다.
Appliction-Specific 아이덴티티 정보는 커뮤니컨트가 연관되는 특정 서버 애플리케이션의 콘텍스트에서 커뮤니컨트에 관한 정보를 표시하도록 다른 커뮤니컨트에 전달된다. Application-Specific 아이덴티티 정보는 다음을 포함한다.
ㆍ 서버 애플리케이션의 콘텍스트에서 다른 커뮤니컨트에 대한 커뮤니컨트를 식별하는 데에 사용되는 애플리케이션 특정 Name 속성
ㆍ 서버 애플리케이션의 콘텍스트에서 커뮤니컨트의 도식적 표현의 컬러를 설정하는 데에 사용되는 애플리케이션 특정 Avatar Color 속성
ㆍ 서버 애플리케이션의 콘텍스트에서 커뮤니컨트의 표현과 관련되는 사용자 선택 이미지를 참조하는 애플리케이션 특정 Photo 속성
ㆍ 서버 애플리케이션의 콘텍스트에서 커뮤니컨트의 표현과 관련되는 메시지를 참조하는 애플리케이션 특정 Status Message 속성
ㆍ 서버 애플리케이션의 콘텍스트에서 데이터 스트림을 커뮤니컨트로 스위칭하기 위해 사용될 수 있는 커뮤니컨트의 역할(가령, 게스트, 멤버, 중재자, 소유자)을 표시하는 애플리케이션 특정 Role 속성
Application-Specific Availibility 상태는 서버 애플리케이션의 콘텍스트에서 커뮤니컨트의 이용 가능성을 표시한다. Application-Specific Availability 상태는 커뮤니컨트가 한가하거나 수면 상태일 때를 표시하는 속성 값 및 커뮤니컨트가 바쁠 대를 표시하는 속성값을 포함한다.
Station of Focus 상태는 커뮤니컨트가 동작하고 있는 클라이언트 네트워크 노드를 특징 짓는다. 전형적으로, Station of Focus 상태는 클라이언트 네트워크 노드의 Device Type, 클라이언트 네트워크 노드상에서 실행되는 Operating System(OS) 및 운영 시스템의 OS 버전을 식별하는 속성을 포함한다. Client of Focus 상태는 커뮤니컨트가 현재 주목하고 있는 서버 애플리케이션을 표시한다. 전형적으로, Client of Focus상태는 커뮤니컨트가 서버 애플리케이션과 통신하고 있는 클라이언트 통신 애플리케이션을 식별하는 Client Name 속성과, 클라이언트 통신 애플리케이션의 버전을 식별하는 Client Version 속성을 포함한다.
Channels Supported by Client of Focus상태는 사용자의 클라이언트 애플리케이션의 콘텍스트에서 커뮤니컨트와 통신하기 위해 이용 가능한 통신 채널을 표시한다. 전형적으로, Channels Supported by Client Focus 상태는 사용자의 클라이언트 애플리케이션이 커뮤니컨트와의 채팅 통신을 지원하는지를 표시하는 Chat 속성과, 사용자의 클라이언트 애플리케이션이 오디오 싱크 및 커뮤니컨트와의 오디오 소스 통신을 각각 지원하는지를 표시하는 Audio Sink 속성 및 Audio Source 속성과, 사용자 클라이언트의 애플리케이션이 비디오 싱크 및 커뮤니컨트와의 비디오 소스 통신을 지원하는지를 각각 표시하는 Video Source 속성 및 Video Sink 속성과, 사용자의 클라이언트 애플리케이션이 커뮤니컨트와의 파일 전송 통신을 지원하는지를 표시하는 File Transfer 속성을 포함한다.
예시적 커뮤니컨트 활동은 통신을 위해 커뮤니컨트가 현재 개방한 채널을 포함하는데, 이는 커뮤니컨트가 현재 다른 커뮤니컨트와 어떻게 상호작용하고 있는지를 표시한다. 일부 실시예에서, Open Channels 활동은 다음 속성을 포함한다.
ㆍ 커뮤니컨트의 오디오 싱크 채널(가령, 스피커)이 개방되는 때를 표시하는 IsListening 속성
ㆍ 커뮤니컨트의 오디오 소스 채널(가령, 마이크로폰)이 개방되는 때를 표시하는 HasMicOpen 속성
ㆍ 커뮤니컨트의 오디오 소스 채널상에서 오디오 진폭이 전송되는 때를 표시하는 IsSpeaking 속성
ㆍ 커뮤니컨트의 비디오 싱크 채널로 스트리밍되고 있는 비디오 데이터가 스크린상에서 디스플레이되는 때를 표시하는 IsWatching 속성
ㆍ 커뮤니컨트의 채팅 채널에 대한 입력 박스로 사용자가 능동적으로 타이핑하는 때를 표시하는 IsTyping 속성
ㆍ 애플리케이션 공유 데이터가 커뮤니컨트의 애플리케이션 공유 비디오 싱크 채널상에서 커뮤니컨트로 스트리밍되고 있는 때를 표시하는 HasApplicationShareFocus 속성
ㆍ 커뮤니컨트의 웹캠 비디오 소스 채널이 개방되는 때를 표시하는 HasWebCamOn 속성
ㆍ 커뮤니컨트의 클라이언트 네트워크 노드가 커뮤니컨트가 커뮤니컨트의 채팅 채널을 주목한다고 표시하는 때를 표시하는 HasChatInputFocus 속성
ㆍ Viewer 패인(pane)에서 커뮤니컨트가 어떤 객체를 보고 있는지를 표시하는 ObjectOfFocus 속성
5. 가상 영역
일부 실시예에서, 플랫폼은 가상 영역의 인스턴스에 의해 정의되는 통신 콘텍스트에서 네트워크 노드와의 실시간 접속을 관리한다. 가상 영역 인스턴스는 추상적 좌표(가령, 관련 컴퓨터 데이터 파일 또는 소프트웨어 애플리케이션에서 또는 고객 서비스 데이터베이스가 영역인 실시예에서, 위치에 의해 정의되는 좌표, 데이터베이스의 각 기록이 존을 구성함)에 대해 정의되는 추상적 가상 공간에 대응할 수 있다. 이와 달리, 가상 영역 인스턴스는 특정 시각화와 연관되는 1차, 2차 또는 3차원 기하구조적 좌표에 대해 정의되는 시각적 가상 공간에 대응할 수 있다. 추상적 가상 영역은 각 시각화와 연관될 수도 있고 아닐 수도 있는데, 시각적 가상 영역은 각 시각화와 연관된다.
도 12는 영역 기반 서버 애플리케이션(310)(이하 "가상 영역 애플리케이션")에 따른 가상 영역(308)에서 제 1 및 제 2 클라이언트 노드(12, 14)의 세션을 관리하는 네트워크 인프라스트럭쳐 서비스 환경(306)을 포함하는 네트워크 통신 환경(10)(도 1 참조)의 실시예(300)의 도면이다. 가상 영역 애플리케이션(310)은 가상 영역(308)에 의해 호스팅되며 가상 영역(308)의 기술(description)을 포함한다. 제 1 및 제 2 클라이언트 네트워크 노드(12, 14)에서 동작하는 통신 애플리케이션(26, 32)는 네트워크 인프라스트럭쳐 서비스 환경(306)으로부터 수신되는 데이터에 따라 가상 영역(308)의 개별적인 시야을 제공하며, 커뮤니컨트로부터 명령을 수신하고 커뮤니컨트들 사이에서 실시간 통신을 향상시키는 공간 인터페이스를 제공하기 위한 각자의 인터페이스를 제공한다. 전형적으로, 커뮤니컨트는 아바타에 의해 가상 영역(308)에서 표현되는데, 이는 전형적으로 각자의 네트워크 노드에서 커뮤니컨트에 의해 입력되는 명령에 응답하여 가상 영역(308) 주위를 이동한다. 전형적으로, 가상 영역(308)의 각 커뮤니컨트의 시야는 커뮤니컨트의 아바타의 관점으로부터 제공되어, 커뮤니컨트가 체험하는 몰입 레벨을 증가시킨다. 전형적으로, 각 커뮤니컨트는 자신의 아바타 주위의 가상 영역(308)의 어떤 부분을 볼 수 있다. 일부 실시예에서, 통신 애플리케이션(26, 32)은, 가상 영역(308)의 커뮤니컨트의 아바타의 위치에 기초하여, 제 1 및 제 2 클라이언트 네트워크 노드(12, 14)와, 가상 영역(308)을 공유하는 다른 네트워크 노드 사이에 실시간 데이터 스트림 접속을 수립한다.
전형적으로, 네트워크 인프라스트럭쳐 서비스 환경(306)은, 클라이언트 노드(12, 14)와 다른 네트워크 노드 사이의 네트워크 접속을 수립하고 관리하는 과정에서, 통신 애플리케이션(26, 32)과 함께 동작하는 하나 이상의 네트워크 인프라스트럭쳐 서비스를 포함한다(도 1 및 18 참조). 네트워크 인프라스트럭쳐 서비스는 하나의 네트워크 노드상에서 실행될 수도 있고 다수의 네트워크 노드에 걸쳐 분배될 수도 있다. 전형적으로, 네트워크 인프라스트럭쳐 서비스는 하나 이상의 전용 네트워크 노드(가령, 라우팅 및 스위칭과 같은 하나 이상의 에지 서비스를 수행하는 서버 컴퓨터 또는 네트워크 디바이스)상에서 실행된다. 그러나, 일부 실시예에서, 네트워크 인프라스트럭쳐 서비스 중 하나 이상은 커뮤니컨트의 네트워크 노드 중 적어도 하나에서 실행된다. 네트워크 인프라스트럭쳐 서비스 환경(306)의 실시예에 포함되는 네트워크 인프라스트럭쳐 서비스 중에는 계정 서비스, 보안 서비스, 영역 서비스, 만남 서비스(rendezvous service) 및 상호작용 서비스가 있다.
계정 서비스
계정 서비스는 가상 환경에 대한 커뮤니컨트 계정을 관리한다. 또한, 계정 서비스는 클라이언트 네트워크 노드가 네트워크 인프라스트럭쳐 서비스 중 하나에 자신들을 인증하기 위해 사용하는 인증 토큰의 생성 및 발행을 관리한다.
보안 서비스
보안 서비스는 가상 환경의 자산 및 기타 리소스로의 커뮤니컨트의 액세스를 제어한다. 전형적으로, 보안 서비스에 의해 구현되는 액세스 제어 방법은 (올바른 기능 또는 허가를 갖는 개체로 액세스가 승인되는) 기능 및 (리스트상에 존재하는 아이덴티티를 갖는 개체로 액세스가 승인되는) 액세스 제어 리스트 중 하나 이상에 기초한다. 특정 커뮤니컨트가 리소스로의 액세스를 승인받은 후, 이 커뮤니컨트는 전형적으로 다른 네트워크 인프라스트럭쳐 서비스에 의해 제공되는 기능을 사용하여 네트워크 통신 환경(300)에서 상호작용한다.
영역 서비스
영역 서비스는 가상 영역을 관리한다. 일부 실시예에서, 영역 서비스는 제한 세트(312)를 겪게 되는 가상 영역 애플리케이션(308)에 따라서 제 1 및 제 2 클라이언트 네트워크 노드(12, 14)에서 동작하는 통신 애플리케이션(26, 32)를 원격으로 구성한다(도 12 참조). 전형적으로, 제한(312)은 가상 영역으로의 액세스에 대한 제어를 포함한다. 전형적으로, 액세스 제어는 (올바른 기능 또는 허가를 갖는 커뮤니컨트 또는 클라이언트 노드로 액세스가 승인되는) 기능 및 (리스트상에 존재하는 아이덴티티를 갖는 커뮤니컨트 또는 클라이언트 노드로 액세스가 승인되는) 액세스 제어 리스트 중 하나 이상에 기초한다.
또한, 영역 서비스는 개체를 요청하는 기능을 겪는 가상 영역과 연관되는 네트워크 접속을 관리하고, 가상 영역에 대한 전체적 상태 정보를 관리하며, 가상 영역(308)에 의해 정의되는 콘텍스트에서 공유되는 통신 세션에 참가하는 클라이언트 네트워크 노드에 대한 데이터 서버로서 기능한다. 전체적 상태 정보는 가상 영역 및 가상 영역에서 각 위치에 존재하는 모든 객체의 리스트를 포함한다. 영역 서비스는 클라이언트 네트워크 노드를 구성하는 인스트럭션을 송신한다. 또한, 영역 서비스는 통신 세션에 합류하려고 요청하는 다른 클라이언트 네트워크 노드에 초기화 정보를 등록하고 전송한다. 이 프로세스에서, 영역 서비스는 가상 영역 애플리케이션(310)에 따라 각 합류하는 클라이언트 네크워크 노드에 클라이언트 네트워크 노드상에 가상 영역(308)을 렌더링하기 위해 필요한 구성요소(가령, 플러그인) 리스트를 전송할 수 있다. 또한, 영역 서비스는 통신 장애가 발생하면 클라이언트 네트워크 노드가 전체적 상태와 동기화할 수 있음을 보장한다. 전형적으로, 영역 서비스는 가상 영역과 연관되는 통치 규칙을 통해 가상 영역과의 커뮤니컨트 상호작용을 관리한다.
만남 서비스
만남 서비스는 (가령, 접속 핸들의 분배를 관리함으로써) 프레즌스 정보의 수집, 저장 및 분배를 관리하고, 요청하는 개체의 기능을 겪게 되는 서로와의 통신을 위한 네트워크 노드에 대한 메커니즘을 제공한다. 전형적으로, 만남 서비스는 프레즌스 데이터베이스에 프레즌스 정보를 저장한다. 전형적으로, 만남 서비스는 커뮤니컨트 프라이버시 선호도를 통해 서로와의 커뮤니컨트 상호작용을 관리한다.
상호작용 서비스
상호작용 서비스는 커뮤니컨트들 사이의 상호작용의 기록(48)을 포함하는 관계 데이터베이스(46)를 관리한다. 커뮤니컨트들 사이의 모든 상호작용에 대해, 네트워크 인프라스트럭쳐 서비스 환경(306)의 하나 이상의 서비스(가령, 영역 서비스)는 상호작용 서비스에 상호작용 데이터를 전송한다. 이에 응답하여, 상호작용 서비스는 하나 이상의 각 상호작용 기록을 생성하고 이를 관계 데이터베이스에 저장한다. 각 상호작용 기록은 한 쌍의 커뮤니컨트들 사이의 상호작용 콘텍스트를 기술한다. 예를 들어, 일부 실시예에서, 상호작용 기록은 커뮤니컨트마다에 대한 식별자, 상호작용 장소에 대한 식별자(가령, 가상 영역 인스턴스), 상호작용 장소의 계층에 대한 기술(가령, 상호작용 공간이 더 큰 영역에 어떻게 관련되는지에 대한 설명), 상호작용의 시작 및 종료 시점, 상호작용 동안에 공유되거나 기록되는 모든 파일 및 기타 데이터 스트림 리스트를 포함한다. 따라서, 각 실시간 상호작용마다, 상호작용 서비스는 상호작용이 언제 발생했는지, 어디서 발생했는지, 커뮤니컨트가 연관된 관점에서 상호작용 동안에 무엇(가령, 입장 및 퇴장)이 발생했는지, 활성화/비활성화되는 객체, 및 공유된 파일을 추적한다.
또한, 상호작용 서비스는 요청하는 개체의 기능을 겪는 관계 데이터베이스(46)에 대한 질의를 지원한다. 상호작용 서비스는 가상 영역에 기초하여 분류된 순서대로 상호작용 데이터베이스 기록에 대한 질의 결과를 제공한다. 질의 결과는 커뮤니컨트가 어느 가상 영역에서 누구를 만났는지의 콘택트의 빈도 분류 외에도, 가상 영역에 상관없이 커뮤니컨트가 누구를 만났는지에 대한 분류 및 커뮤니컨트가 가장 자주 방문하는 가상 영역을 드라이브하기 위해 사용될 수 있다. 또한, 질의 결과는, 관계에 기초하여 소정 작업을 자동화하는 발견적 시스템의 일부로서 애플리케이션 개발자에 의해 사용될 수 있다. 이러한 종류의 발견적 시스템의 예로서, 특정 가상 영역을 5회 이상 방문한 커뮤니컨트가 디폴트로 노크 없이 입장할 수 있게 하는 시스템, 또는 특정 시점에 한 영역에 존재했던 커뮤니컨트가 동일한 시점에 동일한 영역에 존재했던 다른 커뮤니컨트에 의해 생성된 파일을 수정하고 삭제할 수 있게 허용하는 시스템이 있다. 관계 데이터베이스(36)에 대한 질의는 다른 검색과 조합될 수 있다. 관계 데이터베이스에 대한 질의는, 예를 들어, 네트워크 인프라스트럭쳐 서비스 환경(306)의 도메인 외부인 통신 시스템(가령, Skype, Facebook 및 Flickr)을 사용하는 콘택트와의 상호작용을 위해 생성되는 콘택트 이력 데이터에 대한 질의와 조합될 수 있다.
전형적으로, 통신 애플리케이션(26) 및 네트워크 인프라스트럭쳐 서비스 환경(306)은 가상 영역의 인스턴스에 의해 정의되는 통신 콘텍스트에서 네트워크 노드와의 실시간 접속을 관리한다. 가상 영역 인스턴스는 추상적 좌표에 대해 정의되는 추상적(비 기하학적) 가상 공간에 대응할 수 있다. 이와 달리, 가상 영역 인스턴스는 특정 시각화와 연관되는 1차, 2차 또는 3차원 기하구조적 좌표에 대해 정의되는 시각적 가상 공간에 대응할 수 있다. 추상적 가상 영역은 각 시각화와 연관될 수도 있고 아닐 수도 있는데, 시각적 가상 영역은 각 시각화와 연관된다.
전술한 바와 같이, 전형적으로 커뮤니컨트는 연관된 시각화를 갖는 가상 영역에서 각 아바타(가령, 요정)로 표현된다. 아바타는 각 네트워크 노드의 커뮤니컨트에 의해 입력되는 명령에 응답하여 가상 영역 주위에서 이동한다. 일부 실시예에서, 전형적으로 가상 영역 인스턴스의 커뮤니컨트의 시야는 커뮤니컨트의 아바타의 관점으로부터 제공되며, 각 커뮤니컨트는 전형적으로 자신의 아바타 주위의 시각적 가상 영역의 일부를 볼 수 있어서, 커뮤니컨트가 체험하는 몰입의 레벨을 증가시킨다.
전형적으로, 가상 영역은 가상 영역에서 아바타에 의해 표현되는 네트워크 노드들 사이의 실시간 데이터 스트림의 스위칭을 통치하는 각 규칙과 연관되는 하나 이상의 존을 포함한다. 스위칭 규칙은, 가상 영역의 존 내의 커뮤니컨트의 아바타의 위치에 기초하여, 네트워크 노드 각각에서 실행되는 로컬 접속 프로세스가 다른 네트워크와의 통신을 어떻게 수립하는지를 지시한다. 가상 영역은 전형적으로 가상 영역의 기하구조적 요소의 기술 및 하나 이상의 규칙을 포함하는 사양에 의해 정의되어, 스위칭 룰 및 통치 규칙을 포함한다. 스위칭 룰은 네트워크 노드들 사이의 실시간 스트림 접속을 통제한다. 통치 규칙은 가상 영역 자체, 가상 영역 내의 지역 및 가상 영역 내의 객체와 같은 리소스로의 커뮤니컨트의 액세스를 제어한다. 일부 실시예에서, 가상 영역의 기하구조적 요소는 COLLADA - Digital Asset Schema Release 1 .4.1, 2006년 4월 사양(http://www.khronos.org/collada/로부터 이용 가능)에 따라 설명되며, 스위칭 룰은 미국 특허 출원 11/923,629 및 11/923,634에 개시된 COLLADA Streams Reference 사양에 따라 XML(extensible markup language) 텍스트 포맷(이하 VSDL(virtual space description format))을 사용하여 설명된다.
시각적 가상 영역의 기하구조적 요소는 전형적으로 물리적 기하구조 및 가상 영역의 충돌 기하구조를 포함한다. 물리적 기하구조는 가상 영역의 형상을 기술한다. 물리적 기하구조는 전형적으로 삼각형, 사각형 또는 다각형의 표면으로부터 형성된다. 컬러 및 텍스쳐는 물리적 기하구조로 맵핑되어 가상 영역에 대한 보다 현실적인 모습을 생성한다.
조명 효과가 제공될 수 있는데, 예를 들어, 시각적 기하구조상으로 빛을 칠하고 빛 주위의 텍스쳐, 컬러 또는 강도를 수정하여 제공될 수 있다. 충돌 기하구조는 물체가 가상 영역에서 이동할 수 있는 방식을 결정하는 비가시적인 표면을 기술한다. 충돌 기하구조는 시각적 기하구조와 일치하거나, 시각적 기하구조의 보다 간단한 추정에 대응하건, 가상 영역 설계자의 맞춤 요구조건에 관련될 수 있다.
전형적으로, 스위칭 룰은 가상 영역의 위치의 관점에서 실시간 데이터 스트림의 소스 및 싱크를 접속하는 조건의 기술을 포함한다. 각 룰은 전형적으로 룰이 적용되는 실시간 데이터 스트림 종류 및 룰이 적용되는 가상 영역의 위치를 정의하는 속성을 포함한다. 일부 실시예에서, 선택적으로 룰의 각각은 요구되는 소스의 역할, 요구되는 싱크의 역할, 스트림의 우선순위 레벨 및 요구되는 스트림 핸들링 토폴로지를 지정하는 하나 이상의 속성을 포함할 수 있다. 일부 실시예에서, 가상 영역의 특정 부분에 대해 정의되는 명시적 스위칭 룰이 존재하지 않는 경우, 하나 이상의 암시적 또는 디폴트 스위칭 룰이 그 가상 영역의 그 일부에 적용될 수 있다. 하나의 예시적인 디폴트 스위칭 룰은 한 영역 내의 모든 소스를 모든 호환 가능한 싱크로 접속시켜서 정책 룰을 겪게 하는 것이다. 정책 룰은 클라이언트 노드들 사이의 모든 접속에 대해 전체적으로 적용되거나, 개별적인 클라이언트 노드와의 접속에만 적용될 수 있다. 정책 룰의 예는 가상 영역에서 서로의 사전 정의된 거리(또는 반경) 내에 존재하는 각 물체와 연관되는 호환 가능한 싱크와의 소스의 접속만을 허용하는 근접성 정책 룰이다.
일부 실시예에서, 통치 규칙은 누가 가상 영역으로의 액세스를 갖는지, 누가 콘텐츠로의 액세스를 갖는지, 가상 영역의 콘텐츠로의 액세스의 범위는 무엇인지(가령, 사용자가 콘텐츠로 무엇을 할 수 있는지), 이들 콘텐츠에 액세스하는 후속 결과(가령, 청각 로그와 같은 기록 유지 및 지불 요구조건)는 무엇인지를 제어하는 가상 영역에 연관된다. 일부 실시예에서, 전체 가상 영역 또는 가상 영역의 존은 "통치 그물"과 연관된다. 일부 실시예에서, 통치 그물은 미국 특허 출원 11/923,629 및 11/923,634에 개시된 존 그물의 구현과 유사한 방식으로 구현된다. 통치 그물은 소프트웨어 애플리케이션 개발자가 가상 영역 또는 가상 영역의 존과 통치 규칙을 연관시킬 수 있게 한다. 이는 가상 영역에서 모든 파일에 대한 개별적인 허가를 생성할 필요를 없애고, 동일한 도큐먼트를 콘텍스트에 따라 상이하게 처리할 필요성이 있을 때 발생할 수 있는 복잡성을 처리할 필요를 없앤다.
일부 실시예에서, 가상 영역은 디지털 권한 관리(DRM) 기능과 가상 영역의 하나 이상의 존을 연관시키는 통치 그물(governance mesh)과 연관된다. DRM 기능은 가상 영역 내의 하나 이상의 가상 존 또는 가상 영역 내의 객체 중 하나 이상으로의 액세스를 제어한다. DRM 기능은 커뮤니컨트가 가상 영역 내의 통치 그물 경계를 지날 때마다 트리거된다. DRM 기능은 트리거링 동작이 허용되는지를 판단하고, 허용되는 경우에는 허용되는 동작의 범위가 무엇인지. 요금이 필요한지 및 청각 기록이 생성될 필요가 있는지를 판단한다. 가상 영역의 예시적 구현에서, 연관된 통치 그물은, 커뮤니컨트가 가상 영역에 입장할 수 있는 경우에 가상 영역과 연관되는 도큐먼트 전부에 대한 동작을 수행할 수 있도록 구성되는데, 도큐먼트를 조작하는 동작, 도큐먼트를 보는 동작, 도큐먼트를 다운로드하는 동작, 도큐먼트를 삭제하는 동작, 도큐먼트를 수정하는 동작 및 도큐먼트를 다시 업로드하는 동작을 포함한다. 이 방식에서, 가상 영역은 가상 영역에 의해 정의된 콘텍스트에서 공유되고 논의된 정보에 대한 저장소가 될 수 있다.
가상 영역의 사양에 관한 추가적인 세부사항은, 미국 특허 출원 12/418,243(2009년 4월 3일 출원), 11/923,629(2007년 10월 24일 출원) 및 11/923,634(2007년 10월 24일 출원)에 개시되어 있다.
도 13은 컴퓨터 시스템(360)에 의해 구현되는 예시적 네트워크 노드의 실시예를 도시하고 있다. 컴퓨터 시스템(360)은 디스플레이 모니터(362), 컴퓨터 마우스(364), 키보드(366), 스피커(368, 370) 및 마이크로폰(372)을 포함한다. 디스플레이 모니터(362)는 그래픽 사용자 인터페이스(374)를 디스플레이한다. 그래픽 사용자 인터페이스(374)는 다수의 윈도우, 아이콘 및 포인터(376)를 포함할 수 있는 윈도우 기반 그래픽 사용자 인터페이스이다. 도시된 실시예에서, 그래픽 사용자 인터페이스(374)는 미술관을 나타내는 3차원 시각화와 연관되는 공유되는 가상 영역(378)의 2차원적 도시를 나타낸다. 커뮤니컨트는 각자의 아바타(380, 382, 384)에 의해 가상 영역(378)에 표현되는데, 이들 각각은 가상 영역(378)의 콘텍스트에서 각자의 역할(가령, 큐레이터, 아티스트 및 방문객)을 가질 수 있다.
전형적으로, 가상 영역(378)은 가상 영역(378)에서 아바타(380 내지 384)에 의해 표현되는 네트워크 노드들 사이의 실시간 데이터 스트림의 스위칭을 통치하는 각 규칙과 연관되는 존(386, 388, 390, 392, 394)을 포함한다. (전형적인 통신 세션 동안, 도 13에 도시된 존(386 내지 394)의 경계를 구분하는 점선 라인은 커뮤니컨트에게 가시적이지 않지만, 이러한 존 경계와 연관되는 시각적 큐가 존재할 수 있다.) 스위칭 규칙은, 가상 영역(378)의 존(386 내지 394) 내의 커뮤니컨트의 아바타(380 내지 384)의 위치에 기초하여, 네트워크 노드 각각에서 실행되는 로컬 접속 프로세스가 다른 네트워크와의 통신을 어떻게 수립하는지를 지시한다.
플랫폼의 일부 실시예는 소프트웨어 애플리케이션 설계자가 소프트웨어 애플리케이션 또는 컴퓨터 데이터 파일의 위치의 의미론을 정의할 수 있게 한다. 각각의 접속 규칙과의 연관을 통하여, 이들 위치 정의는, 예를 들어, 가상 영역으로의 접속, 가상 영역으로의 진입, 커뮤니컨트 및 실시간 데이터 스트림의 소스 또는 싱크로의 접속 및 커뮤니컨트, 네트워크 리소스 및 네트워크 서비스에 관련되는 프레즌스 데이터의 결정을 구동하는 데에 사용될 수 있다.
"접속 규칙"은 가상 영역 및 접속 타겟 중 적어도 하나를 지정하며, 네트워크 접속 초기화에서 적합하게 구성되는 소프트웨어 애플리케이션 또는 서비스의 동작을 안내하는 하나 이상의 선택적 접속 조건 세트를 포함한다. "접속 타겟"은 네트워크 노드의 커뮤니컨트, 리소스 또는 서비스와의 네트워크 접속을 수립하기 위해 사용될 수 있는 식별자 또는 접속 핸들(가령, URI(uniform resource identifier))이다. "접속 조건"은 네트워크 접속의 수립, 네트워크 접속의 관리 또는 네트워크 접속을 거쳐 전달되는 데이터의 처리에 영향을 주는 하나 이상의 파라미터를 지정한다. 예를 들어, 접속 조건은 네트워크 접속이 시도되거나 수립되기 전에 만족되어야 하는 동작 환경에 대한 예측을 기술할 수 있다.
컴퓨터 데이터 파일은 소프트웨어 애플리케이션에 의한 사용을 위한 데이터(가령, 소프트웨어 애플리케이션에 대한 입력으로 사용되는 정보 및/또는 출력으로 기록되는 정보)를 내구성 있게 저장하는 임의의 정보 블록이다. 컴퓨터 데이터 파일은 임의의 종류의 소프트웨어 애플리케이션과 사용하기 위해 설계될 수 있는데, 고객 및 비즈니스 소프트웨어 애플리케이션을 포함하며, 임의의 종류의 개방 또는 폐쇄 데이터 파일 포맷에 저장될 수 있다. 컴퓨터 데이터 파일은, 컴퓨터 데이터 파일에 저장되는 데이터의 종류 및 목적과, 이를 생성하는 데에 사용되는 소프트웨어에 콘텐츠 및 구조가 적어도 부분적으로 기초하는 하나 이상의 구성요소로 이루어진다. 예를 들어, 소프트웨어 애플리케이션을 공개하는 데스크톱과 사용하기 위한 컴퓨터 데이터 파일은 전형적으로, 문장 내에 배열되는 텍스트, 단락, 제목 및 블록, 그림, 테이블, 행/열, 페이지, 드로잉 시트(drawing sheet), 프리젠테이션 슬라이드 및 스프레드시트와 같은 사전 정의된 섹션 또는 데이터 카테고리와, 보안 특징 또는 인증 특징과 같은 기능 특징에 대응하는 구성요소를 갖는다. 소프트웨어 애플리케이션 개발자 또는 최종 사용자는 컴퓨터 데이터 파일의 하나 이상의 구성요소로 구성되는 컴퓨터 데이터 파일의 하나 이상의 섹션을 정의할 수 있다. 섹션은 전체 컴퓨터 데이터 파일 또는 컴퓨터 데이터 파일의 일부를 포함할 수 있고, 전체적으로 또는 부분적으로 다른 섹션에 중복될 수 있다.
도 14a는 데이터 파일 콘테이너(597)를 포함하는 예시적 컴퓨터 데이터 파일(596)을 도시하고 있는데, 구성요소(A, B, C, D)와, 구성요소 B의 세부구성요소(B(1)), B(2) 및 B(3))와, 구성요소 C의 세부구성요소(C(1), C(2) 및 C(3))의 계층적 배열을 유지한다. 컴퓨터 데이터 파일(596)은 3개의 섹션(S1, S2, S3)로 구분되는데, 이들 각각은 컴퓨터 데이터 파일(596)의 구성요소 및 세부구성요소 중 하나 이상과 관련된다. 예를 들어, 섹션(S1)은 세부구성요소(B(1))과 연관되고, 섹션(S2)은 구성요소(C)과 연관되고, 섹션(S3)은 세부구성요소(B(3)) 및 구성요소(C)와 연관된다.
컴퓨터 데이터 파일의 구성요소와 섹션 사이의 연관은 다양한 상이한 데이터 구조 포맷으로 저장될 수 있다. 예를 들어, 도 14b는 컴퓨터 데이터 파일(596)의 섹션을 정의하는 기록을 포함하는 예시적 컴퓨터 데이터 파일 섹션 정의 데이터베이스(598)을 도시하고 있다. 섹션 정의 기록은 기록 식별자 및 컴퓨터 데이터 파일(596)의 식별자에 의해 인덱싱된다. 일부 실시예에서, 플랫폼은, 소프트웨어 애플리케이션 개발자가 컴퓨터 데이터 파일 섹션 정의 데이터베이스(598)에 기록을 생성하기 위해 최종 사용자에 의해 사용될 수 있는 하나 이상의 다이얼로그 박스를 갖는 소프트웨어 애플리케이션을 설계하도록 하는 기능을 제공한다.
소프트웨어 애플리케이션은 인스트럭션이 저장 매체(가령, 하드드라이브, 메모리 또는 RAM)에 로딩된 후에 컴퓨터가 해석하고 실행할 수 있는 인스트럭션 세트이다. 소프트웨어 애플리케이션은, 콘텐츠 및 구조가 소프트웨어 애플리케이션의 기능 및 설계 아키텍쳐에 적어도 부분적으로 의존하는, 하나 이상의 논리 구성요소(가령, 하드와이어드, 시간적, 콘텍스츄얼, 테이블 룩업 구성요소) 또는 기능 구성요소(가령, 기능 또는 진입 지점)로 이루어진다. 예를 들어, 일부 소프트웨어 애플리케이션은 다수의 구성요소로 구성되는 구성요소로 나뉜 아키텍처를 사용하는데, 이들 각각은 별도의 라이브러리에 포함될 수 있으며, 메인 실행(executable)에 의해 호스팅될 수 있게 하는 인터페이스 세트를 노출할 수 있다. 소프트웨어 애플리케이션 개발자는 소프트웨어 애플리케이션의 하나 이상의 구성요소로 이루어지는 소프트웨어 애플리케이션의 하나 이상의 섹션을 정의할 수 있다. 섹션은 전체 소프트웨어 애플리케이션 또는 소프트웨어 애플리케이션의 일부를 포함할 수 있고, 전체적으로 또는 부분적으로 다른 섹션에 중복될 수 있다.
도 15a는 애플리케이션 콘테이너(600)를 포함하는 예시적 소프트웨어 애플리케이션(599)을 도시하고 있는데, 구성요소(E, F)와, 구성요소 E의 세부구성요소(E(1)), E(2) 및 E(3))와, 구성요소 F의 세부구성요소(F(1), F(2))와, 세부구성요소(F(1))의 세부구성요소(F(i) 및 F(ii))와, 세부구성요소(F(2))의 세부구성요소(F(iii))의 계층적 배열을 유지한다 소프트웨어 애플리케이션(600)는 6개의 섹션(S4, S5, S6, S7, S8, S9)로 분할되며, 이들 각각은 소프트웨어 애플리케이션(599)의 구성요소 및 세부구성요소 중 하나 이상과 연관된다. 예를 들어, 섹션(S4)은 세부구성요소(B(1))과 연관되고, 섹션(S5)은 구성요소(F)과 연관되고, 섹션(S6)은 세부구성요소(F(1))과 연관되고, 섹션(S7)은 세부구성요소(F(2))와 연관되며, 섹션(S8)은 세부구성요소(F(ii) 및 F(iii))과 연관되고, 섹션(S9)는 세부구성요소(E(3) 및 F(i))과 연관된다.
소프트웨어 애플리케이션의 구성요소와 섹션 사이의 연관은 다양한 상이한 데이터 구조 포맷으로 저장될 수 있다. 예를 들어, 도 15b는 소프트웨어 애플리케이션(599)의 섹션을 정의하는 기록을 포함하는 예시적 소프트웨어 애플리케이션 섹션 정의 데이터베이스(602)를 도시하고 있다. 섹션 정의 기록은 기록 식별자 및 소프트웨어 애플리케이션(599)의 식별자에 의해 인덱싱된다. 일부 실시예에서, 플랫폼은, 소프트웨어 애플리케이션 개발자가 소프트웨어 애플리케이션 섹션 정의 데이터베이스(602)에 데이터베이스 기록을 생성할 수 있게 하는 하나 이상의 다이얼로그 박스를 제공한다.
도 16a 및 16b를 참조하면, 일부 실시예에서, 컴퓨터 데이터 파일 또는 소프트웨어 애플리케이션의 하나 이상의 섹션이 가상 영역의 각 존과 연관된다.
예를 들어, 일부 실시예에서, 컴퓨터 데이터 파일 또는 소프트웨어 애플리케이션의 하나 이상의 섹션은 1차원 또는 다차원 추상 토폴로지 공간의 좌표에 대해 정의되는 추상적 가상 영역의 각 존과 연관되는데, 토폴로지 공간은 연관된 컴퓨터 데이터 파일 또는 소프트웨어 애플리케이션에서의 위치에 일 대 일 맵핑을 갖는다. 예를 들어, 도 16a는 2차원 토폴로지 공간의 각 좌표로의 소프트웨어 애플리케이션(599)의 섹션(S4 내지 S9)의 예시적 맵핑을 도시하고 있는데, 이 토폴로지 공간은 소프트웨어 애플리케이션(599)의 각 구성요소 및 세부구성요소에 직접적으로 맵핑하는 좌표를 갖는다.
다른 실시예에서, 컴퓨터 데이터 파일 또는 소프트웨어 애플리케이션의 하나 이상의 섹션은 하나 이상의 시각적 가상 영역의 각 존과 관련되며, 이들 각각은 각 시각화와 연관되는 1차원, 2차원 또는 3차원 기하학적 좌표에 대해 정의될 수 있다. 예를 들어, 도 7b는 소프트웨어 애플리케이션(599)의 섹션(S4 내지 S9)의 2개의 시각적 가상 영역(104 및 78)의 각 좌표로의 예시적 맵핑을 도시하고 있다. 이 예에서, 섹션(S4)는 회의실의 3차원 시각화와 연관되는 시각적 가상 영역(604)과 연관되며, 섹션(S5 내지 S9)는 미술관의 3차원 시각화와 연관되는 시각적 가상 영역(378)의 각 존과 연관된다.
소프트웨어 애플리케이션 또는 컴퓨터 데이터 파일에서의 위치의 의미론을 정의하는 시스템 및 방법에 관한 추가적인 세부사항은 2009년 12월 4일자로 출원된 미국 특허 출원 12/631,008에 개시되어 있다.
도 17은 그래픽 사용자 인터페이스(610)의 실시예를 도시하고 있는데, 데이터 파일(A) 및 소프트웨어 애플리케이션(B)에 의해 정의되는 상이한 통신 콘텍스트에 걸쳐 타겟 커뮤니컨트(이 예에서는 "Art")의 콘택트 일부 또는 전부의 실시간 이용 가능성 및 활동을 도시하고 있다. 소프트웨어 애플리케이션(B)는 고객 및 비즈니스 소프트웨어 애플리케이션을 포함하는 임의의 종류의 소프트웨어 애플리케이션(가령, Microsoft®Outlook®같은 개인 정보 관리자 소프트웨어 애플리케이션, Microsoft® Word®소프트웨어 애플리케이션과 같은 도큐먼트 프로세싱 소프트웨어 애플리케이션과, Microsoft®Excel®소프트웨어 애플리케이션과 같은 스프레드시트 소프트웨어 애플리케이션과, Microsoft®Internet Explorer®소프트웨어 애플리케이션과 같은 웹 브라우저 소프트웨어 애플리케이션)일 수 있다. 일 실시예에서, Art가 멤버인 각 데이터 파일 및 소프트웨어 애플리케이션(B)에 대해 그리고 Art와 Art의 콘택트 중 적어도 하나가 존재하는 것에 관해, 서버 애플리케이션의 멤버는 데이터 파일 또는 소프트웨어 애플리케이션에 대해 그 프레즌스의 상태에 의해 분할된다. 이 예에서, Art는 Data File(A) 및 Software Application(B)의 멤버이다. 따라서, Data File(A)의 멤버는 Present 그룹(612) 및 Not Present 그룹(614)로 분류되며, Software Application(B)의 멤버는 "Zone of Co-Presence" 그룹(616), Present 그룹(618) 및 Not Present 그룹(620)으로 분류되며, 존은 Data File(A) 및 Software Application(B)의 각 섹션에 대응한다. 이 방식으로, Art는 자신이 멤버인 데이터 파일 및 소프트웨어 애플리케이션 각각에 누가 존재하며 어느 멤버가 존재하지 않는지를 쉽게 시각화할 수 있다.
일부 실시예에서, 통신 애플리케이션(26, 32)의 각각은 또한 공간적 가상 통신 환경과 사용자를 인터페이싱하는 그래픽 내비게이션 및 상호작용 인터페이스(이하 "시커 인터페이스(seeker interface)"를 포함한다. 시커 인터페이스는 가상 환경에서 사용자가 내비게이팅할 수 있게 하는 내비게이션 콘트롤과, 가상 통신 환경에서 사용자가 다른 커뮤니컨트들과의 자신의 상호작용을 제어할 수 있게 하는 상호작용 콘트롤을 포함한다. 내비게이션 및 상호작용 콘트롤은 전형적으로 임의의 종류의 입력 디바이스를 사용하여 구성되는 사용자 선택에 응답하며, 입력 디바이스는 컴퓨터 마우스, 터치 패드, 터치 스크린 디스플레이, 키보드 및 비디오 게임 콘트롤러를 포함한다. 시커 인터페이스는 각 클라이언트 네트워크 노드에서 동작하는 애플리케이션이다. 시커 인터페이스는 사용자가 계속 들고 있을 수 있는 소형이며 경량의 인터페이스이고 사용자의 데스크톱에서 항상 실행된다. 시커 인터페이스는 사용자가 가상 영역 애플리케이션을 론칭하게 하며 사용자에게 실시간 콘택트 및 실시간 협력 장소( 또는 영역)으로의 즉각적인 액세스를 제공한다. 시커 인터페이스는 하위 운영 시스템의 실시간 통신 애플리케이션 및/또는 실시간 통신 구성요소와 통합되어 시커 인터페이스가 다른 네트워크 노드와의 실시간 통신을 개시하고 수신할 수 있다. 가상 영역은 시커 인터페이스를 통해 사용자의 데스크톱과 통합되어, 사용자는 가상 환경 생성자(302)에 의해 생성되는 가상 환경으로 파일을 업로드할 수 있고, 가상 영역에 여전히 존재하면서 가상 환경과 무관하게 네이티브 클라이언트 소프트웨어 애플리케이션을 사용하여 가상 영역과 연관되는 저장된 파일을 사용할 수 있고, 보다 일반적으로 여러 애플리케이션 중 단 하나보다 다른 운영 시스템 기능과 유사한 동작 환경의 양태로서 가상 영역 내의 프레즌스 및 위치를 처리할 수 있다.
공간적 가상 통신 환경은 전형적으로 장소의 공간적 계층(이하 "위치") 및 객체로서 모델링될 수 있다. 공간적 계층은 상부 레벨로부터 하부 레벨에 이르는 정렬된 레벨 시퀀스를 포함한다. 공간 계층의 레벨 중 연속하는 레벨의 장소들 각각은 이전 레벨의 장소 각각에 포함된다. 공간 계층의 객체 각각은 장소 각각에 포함된다. 공간적 계층의 레벨은 전형적으로 지리적, 구조적 또는 도시적 메타포(urban metaphor)와 일치하는 각 시각화와 연관되며, 이에 대응되게 명명된다. 각 가상 영역의 존은 각 그물에 의해 정의되는데, 그 일부는 객체(가령, 뷰 스크린 객체 및 회의 객체와 같은 아바타 및 프롭)를 포함할 수 있는 물리적 환경의 요소(가령, 건물과 관련되는 방 및 마당과 같은 공간)를 정의한다.
시커 인터페이스의 내비게이션 콘트롤은 장소 및 객체의 하위 공간 계층에 묶이는 내비게이션 모델에 따라 사용자가 가상 환경을 통한 경로를 지날 수 있게 한다. 네트워크 인프라스트럭쳐 서비스 환경(306)은 사용자가 지나가는 경로를 기록한다. 일부 실시예에서, 네트워크 인프라스트럭쳐 서비스 환경(306)은 사용자가 가상 영역을 통해 내비게이팅함에 따라 사용자에게 제공되는 가상 영역의 시간상으로 정렬된 리스트를 포함하는 이력을 기록한다. 각 시야는 전형적으로 가상 영역의 각 렌더링 가능한 존의 시야에 대응한다. 이들 실시예에서, 내비게이션 콘트롤은 사용자가 이력의 선택된 존으로 이동할 수 있게 한다. 또한, 내비게이션 콘트롤은 가상 영역의 사용자의 현재 시야에 대응하는 공간적 계층에서의 위치를 보여주는 깊이 경로의 그래픽 표현을 포함한다. 일부 실시예에서, 깊이 경로의 그래픽 표현은 현재 시야 위의 가상 영역의 공간 계층적 모델에서 이전 레벨 각각의 시야로의 사용자 선택 가능한 링크를 포함한다. 시커 인터페이스의 상호작용 콘트롤은 사용자가 다른 커뮤니컨트와의 상호작용을 관리할 수 있게 한다. 사용자에 대해 이용 가능한 상호작용 옵션은 전형적으로 사용자가 프레즌스를 갖는 존에 의존한다. 일부 실시예에서, 특정 존에서 프레즌스를 갖는 커뮤니컨트에 대해 이용 가능한 상호작용 옵션은 그 존에서 프레즌스를 갖지 않는 다른 커뮤니컨트에 대해 이용 가능한 옵션과 상이하다. 세부사항의 레벨 및 사용자의 상호활동은 전형적으로 사용자가 특정 존에서 프레즌스를 갖는지 여부에 의존한다. 일 실시예에서, 사용자가 가상 영역 외부에 존재하면, 사용자에게는 가상 영역 내에서 발생하는 상호작용의 최소 세부사항 레벨(가령, 사용자는 평면도 개요, 배경 텍스쳐 및 그 영역의 시설을 볼 수 있지만 다른 커뮤니컨트가 그 영역에 존재하는지는 볼 수 없음)이 제공되고, 사용자가 가상 영역 내에 존재하지만 그 영역의 특정 존의 외부인 경우, 사용자에게는 그 특정 존 내에서 발생하는 상호작용의 중간 세부사항 레벨(가령, 사용자는 그 영역에 존재하는 다른 커뮤니컨트를 볼 수 있으며, 현재 상태의 시각화 - 말하기, 채팅 메시지 타이핑, 헤드폰 및 마이크로폰이 온 상태인지 - 를 볼 수 있고, 뷰 스크린 중 어느 것이 액티브인지를 볼 수 있음)이 제공되며, 사용자가 그 영역의 특정 존 내에 존재하면, 사용자에게는 특정 존과 관련하여 발생하는 상호작용의 전체 세부사항 레벨(가령, 사용자는 뷰 스크린상에서 공유되는 파일의 썸네일을 볼 수 있고, 그 영역의 다른 커뮤니컨트와 말하고 들을 수 있으며, 그 존의 커뮤니컨트에 의해 생성된 채팅 메시지의 로그의 요소를 볼 수 있음)이 제공된다. 일부 실시예에서, 가상 영역의 존과 연관되는 스위칭 룰 및 통치 규칙은 특정 존에서 프레즌스를 갖는 자와 갖지 않는 자를 네트워크 인프라스트럭쳐가 어떻게 구분할지를 제어한다.
도 18은 Viewer Pane(402)에서 Acme 가상 영역의 상부 또는 평면도를 제공하고 상호작용 옵션의 디폴트 세트를 사용자에게 제공하는 시커 인터페이스(400)의 실시예를 도시하고 있다. 도시된 실시예에서, 프레즌스는 가상 영역의 마당 존(404)에서 자동으로 수립되고, 사용자의 마이크로폰 및 디폴트 스피커(가령, 헤드폰)이 온 상태로 된다. 도 14에 도시된 평면도에서, 사용자는 원형 요정(406)에 의해 표현되며, Acme 가상 영역의 다른 사용자도 각각 원형 요정에 의해 표현된다. 사용자의 스피커의 상태는 사용자의 요정(406)상의 헤드폰 그래픽의 존재 여부에 의해 도시되는데, 스피커가 온 상태이면 헤드폰 그래픽이 존재하고, 스피커가 오프 상태이면 헤드폰 그래픽이 존재하지 않는다. 사용자의 마이크로폰의 상태는 사용자의 요정(406)의 마이크로폰 그래픽 및 사용자의 요정(406) 주위의 일련의 동심원의 존재 여부에 의해 표시되는데, 마이크로폰이 온 상태이면 마이크로폰 그래픽 및 동심원이 표시되고, 마이크로폰이 오프 상태이면 마이크로폰 그래픽 및 동심원이 표시되지 않는다. 헤드폰 그래픽, 동심원 및 마이크로폰 그래픽은 사용자의 사운드 플래이백 및 마이크로폰 디바이스의 상태의 시각적 알림(reminder)로서 기능한다.
시커 인터페이스는, 백워드 버튼(410), 포워드 버튼(412), 플레이스마크 버튼(placemark button, 414), 홈 버튼(416) 및 MySite 링크(419)부터 유래되며 이를 포함하는 하나 이상의 브래드크럼 링크(breadcrumb link, 418) 시리즈를 포함하는 툴바(480)를 포함한다. 브래드크럼 링크(418)는 연속적이며 사용자 선택 가능한 링크의 계층적 시퀀스에 대응한다. 연속적인 링크 각각은 각 연속적 레벨이 이전 레벨에 의해 포함되는 가상 영역의 계층적 모델의 각 레벨의 뷰에 대응한다. 도시된 실시예에서, 브래드크럼 링크(418)은 도 14에 도시된 West Conference 가상 영역의 현재 뷰에 대응하는 West Conference 링크(417)를 포함한다. 브래드크럼 링크(418)는 가상 환경의 상이한 레벨의 각 뷰로의 단일 링크 선택 액세스를 사용자에게 제공한다. 또한, 툴바(408)는 People Pane 버튼(420), Chat Pane 버튼(421), View Pane 버튼(423) 및 설정 버튼(422)를 포함한다.
My Site 버튼(425)은 View Pane(402)에서 사용자가 멤버인 영역의 리스트를 디스플레이한다. My Site 뷰의 사이트를 클릭하면 사용자가 타겟 영역을 내비게이팅하고 그곳에 이들이 존재하게 한다.
한 영역이 선택되거나 주목되면, People Pane 버튼(420)이 두 사람의 도식적 표현으로서 나타나고 "사람"으로 명명되며, 맴버 및 중재자들이 현재 영역에 관련된 사람들의 리스트, 멤버쉽의 다른 영역 및 이들의 콘택트를 볼 수 있게 한다. People Pane 버튼(420)을 사용자가 선택하면, Acme 가상 영역의 모든 멤버의 리스트, 멤버쉽의 다른 영역 및 모든 사용자의 콘택트가 People Pane(427)에 디스플레이된다. 사용자는 리스트의 커뮤니컨트 중 하나를 선택하고 사용자 인터페이스에 제공되는 Get 버튼을 클릭한다. 이에 응답하여, 플랫폼은 지정된 존의 사용자에게 합류하는 초대를 선택된 커뮤니컨트에게 전송한다. Chat Pane 버튼은 현재 프레즌스의 존과 연관되는 채팅 로그를 포함하는 Chat Pane(429)을 표시하고 감춘다.
Viewer Pane 버튼(423)은 Viewer상의 이미지에 색을 칠할 수 있는 Map 또는 임의의 프롭의 뷰를 디스플레이하는 View Pane(402)을 표시하고 감춘다. 예는 (스크린 공유를 위한) 뷰 스크린 및 Message Board 객체를 포함한다.
설정 버튼(422)은 현재 영역과 연관되는 디폴트 설정을 지정하기 위한 콘트롤 세트로의 액세스를 사용자에게 제공한다.
사용자는 돌아가기 버튼(410)을 클릭함으로써 도 14에 도시된 Acme 가상 영역의 뷰로부터 이전 뷰로 내비게이팅할 수 있다.
사용자는 Acme 가상 영역의 존 중 하나로 내비게이팅할 수 있다. 일부 실시예에서, 존으로 이동하기 위해, 타겟 존에 대한 라벨을 클릭함으로써 또는 보다 간단한 방법으로 더블 클릭함으로써 사용자는 모니터에 디스플레이되는 존 중 하나를 실행하기 위한 명령을 전송한다. 이에 응답하여, 플랫폼은 존 객체에 대응하는 존의 사용자의 아바타를 도시한다. 존 실행 명령에 응답하여, 시커 인터페이스는 브래드크럼 버튼(418)을 업데이트하여 계층의 현재 프레즌스의 존을 도시한다. 프레즌스의 존에 특정되는 툴바 버튼 또한 브래드크럼 링크(418) 아래에 나타날 것이다.
또한, 사용자는 존에 존재하는 임의의 객체(가령, 스크린, 테이블 또는 파일)와 상호작용할 수 있다. 일부 실시예에서, 객체와 상호작용하기 위해, 사용자는 객체를 클릭하고, 이에 응답하여 플랫폼은 객체에 대한 동작(가령, 객체의 줌 인 뷰를 제공하고, 상호작용 인터페이스 윈도우를 여는 등)을 수행한다 객체 실행 명령에 응답하여, 시커 인터페이스는 (선택되는 사용자를 표시하는) 프롭을 아웃라인하거나 하이라이트하고, 브래드크럼 버튼(418) 및 툴바를 업데이트하여 계층에 현재 보이는 객체를 보여준다.
도 19를 참조하면, 일부 실시예에서, West Conference 존(430)에 사용자가 입장하면, 플랫폼은 사용자와 선택된 존을 차지하는 다른 커뮤니컨트 각각과의 네트워크 접속을 자동으로 수립한다. 또한, 사용자는 맵상의 존의 이름을 클릭함으로써 존에 입장할 수 있다( 또한 존에서 프레즌스를 수립할 수 있다). 이는 플랫폼으로 하여금 사용자의 요정이 현재 위치(가령, 마당)로부터 선택된 존(가령, West Conference)으로 이동시키게 한다. 사용자의 스피커 및 마이크로폰의 상태는 상호작용 콘트롤(432, 434)에 의해 설정될 수 있는데, 상태는 전형적으로 사용자가 한 위치로부터 다른 위치로 이동할 때 변경되지 않는다. 시커 인터페이스(400)에 관한 추가적인 세부사항은 2009년 1월 15일자로 출원된 미국 특허 출원 12/354,709로부터 얻어질 수 있다.
도 20은 서버 애플리케이션 공간(78, 80)이 가상 영역(452, 454)에 대응하는 그래픽 사용자 인터페이스(110)(도 5 참조)의 실시예(450)를 도시하고 있다. 이 실시예에서, 사용자는 커뮤니컨트의 아바타를 선택함으로써 한 영역에 존재하는 커뮤니컨트 중 하나의 상호작용의 콘텍스트를 시각화할 수 있다. 도시된 예에서, 사용자는 Dan의 아바타(456)를 선택하였으며, 이에 응답하여 플랫폼은 Dan이 두 명의 다른 커뮤니컨트(즉, Carl 및 Ed)와 상호작용하는 가상 영역(즉, Acme)의 존(즉, Main)의 2차원 미니맵(458)을 생성하였다. Main 존에 존재하는 커뮤니컨트는 각 요정(460, 462, 464)에 의해 표현된다. 커뮤니컨트 각각은 요정(460 내지 464)상의 헤드폰의 존재에 의해 표시되는 자신의 스피커 채널을 갖는다. 또한, Dan은 자신의 요정(460)상의 마이크로폰 그래픽의 존재 및 자신의 요정(460)으로부터 퍼져나가는 동심원의 존재에 의해 표시되는 마이크로폰 채널을 갖는다. 미니맵(458)에 도시된 바와 같이, Main 존은 파일 객체(468) 및 회의 객체(470)를 지원하는 테이블 객체(466) 및 4개의 뷰 스크린 객체(472, 474, 476, 478)를 포함한다. 또한, 미니맵(458)은 Dan으로부터의 상태 메시지(466)(즉, "Out of the office next Wednesday")과 연관된다. 사용자(이 예에서는 Art)는 미니맵의 존에 대한 라벨(즉, "Main")을 클릭하거나 미니맵(458)의 플로어의 이미지를 더블 클릭함으로써 Main 존에서 발생하는 상호작용에 합류할 수 있는데, 이는 Main 존에서 Art에 대한 프레즌스를 수립하도록 플랫폼에 지시한다. 객체(466 내지 470)의 기능 및 동작을 포함하는 Main 존과의 내비게이션 및 상호작용에 관한 추가적인 세부사항은 2009년 1월 15일에 출원된 미국 특허 출원 12/354,709에 개시되어 있다
도 21은 2개의 상이한 영역 기반 서버 애플리케이션(502, 504)(Area Application 1 및 Area Application 2)를 포함하는 가상 환경 생성자(302)의 실시예(500)를 도시하고 있다. 각 영역 애플리케이션(502 및 504)는 각 멤버 리스트(510, 512)와 연관된다. 영역 기반 서버 애플리케이션(502, 504)는 영역 서비스의 각 인스턴스(506, 508)에 의해 관리된다. 영역 서비스 인스턴스(506, 508)는 만남 서비스(514)와 함께 동작하여 커뮤니컨트들 사이의 실시간 통신에 대한 상이한 가상 영역을 생성한다. 만남 서비스(514)는 관계 데이터베이스(46) 및 멤버 리스트(510, 512)를 유지하고, (가령, 접속 핸들(516)의 분배를 관리함으로써) 프레즌스 정보의 수집, 저장 및 분배를 관리하고, 요청하는 개체의 기능을 겪게 되는 서로와의 통신을 위한 네트워크 노드에 대한 메커니즘을 제공한다. 전형적으로, 만남 서비스는 프레즌스 데이터베이스(518)에 프레즌스 정보를 저장한다. 전형적으로, 만남 서비스는 커뮤니컨트 프라이버시 선호도(520)를 통해 서로와의 커뮤니컨트 상호작용을 관리한다.
도시된 실시예에서, 커뮤니컨트(C1A, C1B, C1C, C1D 및 C2A)는 Area Application 1의 멤버이고, 커뮤니컨트(C2A, C2B, C2C, C2D 및 C1A)는 Area Application 2의 멤버이다. 커뮤니컨트(C1A 및 C1B)는 현재 Area Application 1에 접속되고, 커뮤니컨트(C2A, C2B 및 C2C)는 현재 Area Application 2에 접속된다. 이 예에서, 커뮤니컨트들(C1B, C1C, C1D, C2A, C2B, C2C 및 C2D) 모두가 커뮤니컨트(C1A)의 콘택트이다.
도 22는 네트워크 통신 환경으로 커뮤니컨트(C1A)를 인터페이싱하는 프로세스에서 가상 환경 생성자(500)에 의해 구현되는 방법의 실시예를 도시하고 있다. 도 22의 방법에 따르면, Area Application 1로의 커뮤니컨트(C1A)의 접속에 응답하여, Area Service 1은 만남 서비스(514)에 커뮤니컨트(C1A)가 멤버인 모든 영역에 대한 질의를 송신하고, 영역, 공존 및 프레즌스에 의해 분류된다(도 22, 블록(530)). Area Service 1으로부터 질의를 수신하면, 만남 서비스(514)는 커뮤니컨트(C1A)가 멤버인 모든 영역을 결정한다(도 22, 블록(532)). 만남 서비스(514)는 멤버 리스트에 기초하여 결정된 영역의 모든 멤버를 결정한다(도 22, 블록(534)). 전형적으로, 만남 서비스(514)는 접속 상태(즉, 온 라인 또는 오프라인)와 무관하게 결정된 영역의 모든 멤버 리스트를 획득한다. 만남 서비스(514)는 모든 결정된 멤버의 프레즌스 상태를 결정한다(도 22, 블록(536)). 만남 서비스(514)는 Area Service 1에 커뮤니컨트(C1A)가 멤버인 모든 영역에 대한 질의를 송신하고, 영역, 공존 및 프레즌스에 의해 분류된다(도 22, 블록(538)). Area Service 1은 커뮤니컨트(C1A)가 Area Application 1에 접속하는 클라이언트 노드 상에서 실행되는 통신 애플리케이션에 질의 결과를 송신한다(도 22, 블록(540)).
도 23은 커뮤니컨트(C1A)가 Area Application 1에 접속하는 클라이언트 노드상에서 실행되는 통신 애플리케이션의 실시예에 의해 생성되는 그래픽 사용자 인터페이스(128)(도 6 참조)의 실시예(550)를 도시하고 있다. 이 예에서, 그래픽 사용자 인터페이스(550)는 Area Application 1 및 Area Application 2에 의해 정의되는 상이한 통신 콘텍스트에 걸쳐 타겟 커뮤니컨트(C1A)의 콘택트의 실시간 이용 가능성 및 활동을 도시한다. 특히, Area Application 1에 의해 정의되는 Area 1과 관련하여, 그래픽 사용자 인터페이스(550)는 타겟 커뮤니컨트(C1A)가 Area1의 프레즌스의 Current Zone에 존재하고, 커뮤니컨트(C1B)가 Area1에 존재하고, 커뮤니컨트(C1C, C1D 및 C2A)가 Area1에 존재하지 않는다는 것을 보여준다. Area Application 2에 의해 정의되는 Area 2과 관련하여, 그래픽 사용자 인터페이스(550)는 커뮤니컨트(C2A 및 C2B)가 Area2의 공존의 Current Zone에 존재하고, 커뮤니컨트(C2C)가 Area2에 존재하고, 커뮤니컨트(C2D 및 C1A)가 Area2에 존재하지 않는다는 것을 보여준다
그래픽 사용자 인터페이스(550)의 Contact 섹션(552)을 파퓰레이팅하는 데에 있어서, 만남 서비스는 전형적으로 타겟 커뮤니컨트가 상호작용한 모든 커뮤니컨트 리스트를 관계 데이터베이스(46)로부터 획득한다. 관계 데이터베이스(46)는 전형적으로 타겟 커뮤니컨트는 가상 환경의 임의의 가상 영역 및 모든 가상 영역에서 가진 모든 상호작용의 기록(가령, 음성, 채팅 및 스크린 공유 상호작용)을 그 지속기간 및 장소와 함께 포함한다. 일부 실시예에서, Contact 섹션(552)은 타겟 커뮤니컨트가 어떤 레벨로 상호작용한 모든 커뮤니컨트를 포함한다. 일부 실시예에서, 콘택트는 커뮤니컨트에 할당되는 관계 가중치 스코어에 기초하여 그룹화된다. 경우에 따라, 관계 가중치 스코어는 특정 기간(가령, 지난 15일 동안 8시간 간격으로) 동안에 발생한 상호작용의 분석으로부터 결정된다. 각 콘택트에 대해, 각 관계 가중치 스코어는 콘택트가 타겟 커뮤니컨트와 상호작용한 모든 간격마다 증분되는데, 관계 가중치 스코어가 높을수록 가장 최근의 기간 동안에 타겟 커뮤니컨트와의 콘택트의 상호작용이 잦았음을 표시한다. 콘택트는 관계 가중치 스코어에 기초하여 다수의 카테고리(가령, "자주", "정기적", "잦지 않게")그룹화될 수 있다.
III. 결론
본 명세서에서 설명되는 실시예는 네트워크 통신 환경에서 커뮤니컨트 상호작용을 촉진하는 향상된 시스템 및 방법을 제공한다. 특히, 이들 실시예는 상이한 통신 콘텍스트에 걸쳐 커뮤니컨트의 콘택트의 실시간 이용 가능성 및 활동의 실시간 시각화를 제공한다. 이 실시간 시각화에 의해 제공되는 정보는 커뮤니컨트에게 더 많은 네트워크 상호작용 결정(가령, 언제 콘택트와 상호작용할지)이 통보될 수 있게 하고, 커뮤니컨트가 다른 커뮤니컨트와 상호작용을 개시하고 커뮤니컨트가 알지 못했을 수 있는 커뮤니컨트의 콘텍스트(가령, 커뮤니컨트들 사이에서 진행 중인 상호작용)에 합류하도록 권장한다.
다른 실시예는 청구범위 내에 존재한다.

Claims (69)

  1. 네트워크 통신 환경에서 커뮤니컨트(communicant) 상호작용을 촉진하는 방법 - 상기 네트워크 통신 환경에서 각각의 클라이언트 네트워크 노드를 운영하는 사용자 및 다른 커뮤니컨트는 하나 이상의 서버 네트워크 노드에 의해 호스팅되고 커뮤니컨트간의 실시간 통신을 지원하는 통신 서비스에 접속함 - 으로서,
    상기 사용자에 의해 운영되는 클라이언트 네트워크 노드(12)에 의해,
    상기 통신 서비스에 접속하는 단계와,
    상기 커뮤니컨트의 세트의 분류된 리스트를 포함하는 콘택트 리스트를 상기 통신 서비스로부터 수신하는 단계 - 상기 세트 내의 커뮤니컨트의 서브세트 각각의 클라이언트 네트워크 노드 간의 진행 중인 통신 세션 각각에 대하여, 상기 콘택트 리스트는 상기 서브세트 내의 커뮤니컨트를 상기 세트 내의 다른 커뮤니컨트와 분리된 개별적인 각각의 그룹으로 그룹화함 - 와,
    디스플레이 상에 상기 콘택트 리스트를 상기 세트 내의 커뮤니컨트의 그래픽 표현의 어레이로 디스플레이하는 단계 - 각각의 서브세트 내의 커뮤니컨트의 그래픽 표현은 상기 세트 내의 다른 커뮤니컨트의 그래픽 표현과 분리된 개별적인 각각의 그룹으로 표시됨 - 를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 디스플레이하는 단계는, 진행 중인 통신 세션 각각에 대하여, 상기 진행 중인 통신 세션에 포함된 커뮤니컨트의 그룹 각각을 시각적으로 구분하는 각각의 경계를 디스플레이하는 단계를 포함하는
    방법.
  3. 제 1 항 또는 제 2 항에 있어서,
    각각의 확인된(ascertained) 커뮤니컨트의 실시간 활동 상태의 표시를 수신하는 단계를 더 포함하되,
    상기 디스플레이하는 단계는, 상기 커뮤니컨트의 그래픽 표현을 상기 커뮤니컨트 각각의 실시간 활동 상태의 표시와 관련하여 상기 콘택트 리스트에 디스플레이하는 단계를 포함하는
    방법.
  4. 제 1 항 또는 제 2 항에 있어서,
    상기 콘택트 리스트는 하나 이상의 진행 중인 통신 세션 중 특정 하나에 포함된 커뮤니컨트의 그룹을 나열 - 상기 사용자는 상기 세트 내의 상기 특정 진행 중인 통신 세션에 포함되지 않은 다른 모든 커뮤니컨트 보다 앞에 있음 - 하는
    방법.
  5. 네트워크 통신 환경에서 커뮤니컨트 상호작용을 촉진하는 방법 - 상기 네트워크 통신 환경에서 각각의 클라이언트 네트워크 노드를 운영하는 사용자 및 다른 커뮤니컨트는 하나 이상의 서버 네트워크 노드에 의해 호스팅되고 커뮤니컨트간의 실시간 통신을 지원하는 통신 서비스에 접속함 - 으로서,
    상기 다른 커뮤니컨트를 확인(ascertain)하는 단계와,
    상기 확인된 커뮤니컨트 각각의 클라이언트 노드 간의, 상기 통신 서비스에 의해 관리되는 하나 이상의 진행 중인 통신 세션을 식별하는 단계 - 각각의 통신 세션은 상기 통신 세션 내의 커뮤니컨트 간의 실시간 통신을 지원함 - 와,
    상기 확인된 커뮤니컨트의 분류된 리스트를 포함하는 콘택트 리스트를 생성하는 단계 - 상기 생성하는 단계는 각각의 진행 중인 통신 세션 내의 상기 확인된 커뮤니컨트를, 상기 콘택트 리스트의 다른 확인된 커뮤니컨트와 분리된 개별적인 각각의 그룹으로 그룹화하는 단계를 포함함 - 와,
    상기 사용자의 클라이언트 네트워크 노드로 상기 콘택트 리스트를 전송하는 단계를 포함하는
    방법.
  6. 제 5 항에 있어서,
    상기 생성하는 단계는, 상기 콘택트 리스트에서,
    식별된 진행 중인 통신 세션에 포함된 확인된 커뮤니컨트의 각각의 그룹을 어떤 진행 중인 통신 세션에도 포함되지 않은 다른 확인된 커뮤니컨트의 그룹보다 앞에 나열하는 단계를 포함하는
    방법.
  7. 제 5 항에 있어서,
    상기 전송하는 단계는,
    상기 콘택트 리스트의 그래픽 표현의 사양(specification)을 상기 사용자의 네트워크 노드로 전송하는 단계를 더 포함하는
    방법.
  8. 제 7 항에 있어서,
    상기 콘택트 리스트의 상기 그래픽 표현은,
    상기 하나 이상의 식별된 진행 중인 통신 세션 각각에 포함된 상기 확인된 커뮤니컨트의 그룹 각각을 시각적으로 구분하는 각각의 경계를 포함하는
    방법.
  9. 제 7 항에 있어서,
    상기 전송하는 단계는 상기 사용자의 네트워크 노드로 상기 확인된 커뮤니컨트 각각의 실시간 활동 상태의 표시를 전송하여, 상기 확인된 커뮤니컨트의 그래픽 표현을 상기 확인된 커뮤니컨트의 각각의 실시간 활동 상태의 표시와 관련하여 상기 콘택트 리스트의 그래픽 표현에 디스플레이하는 단계를 더 포함하는
    방법.
  10. 제 7 항에 있어서,
    식별된 진행 중인 통신 세션에 포함된 상기 확인된 커뮤니컨트의 그룹 각각에 대하여,
    상기 콘택트 리스트의 상기 그래픽 표현은 상기 그룹의 상기 확인된 커뮤니컨트 각각의 그래픽 표현의 개별적인 그룹화 각각을 도시하여 함께 존재하는(co-present) 커뮤니컨트 간의 진행 중인 통신 세션이 상기 그룹의 상기 확인된 커뮤니컨트 간에 이루어지고 있음을 보여주는
    방법.
  11. 제 5 항에 있어서,
    상기 생성하는 단계는,
    상기 콘택트 리스트에서 상기 하나 이상의 진행 중인 통신 세션 중 특정 하나에 포함된 커뮤니컨트의 그룹을 나열하는 단계 - 상기 사용자는 상기 특정 진행 중인 통신 세션에 포함되지 않은 다른 모든 확인된 커뮤니컨트 보다 앞에 있음 - 를 포함하는
    방법.
  12. 네트워크 통신 환경에서 커뮤니컨트 상호작용을 촉진하는 장치 - 상기 네트워크 통신 환경에서 각각의 클라이언트 네트워크 노드를 운영하는 사용자 및 다른 커뮤니컨트는 하나 이상의 서버 네트워크 노드에 의해 호스팅되고 커뮤니컨트간의 실시간 통신을 지원하는 통신 서비스에 접속함 - 로서,
    컴퓨터 판독 가능한 명령을 저장하는 컴퓨터 판독 가능한 메모리와,
    상기 메모리와 연결되고, 상기 명령을 실행할 수 있는 데이터 프로세서를 포함하되,
    상기 데이터 프로세서는 상기 명령의 실행에 적어도 부분적으로 기초하여,
    상기 다른 커뮤니컨트를 확인하는 것과,
    상기 확인된 커뮤니컨트 각각의 클라이언트 노드 간의, 상기 통신 서비스에 의해 관리되는 하나 이상의 진행 중인 통신 세션을 식별하는 것 - 각각의 통신 세션은 상기 통신 세션 내의 커뮤니컨트 간의 실시간 통신을 지원함 - 과,
    상기 확인된 커뮤니컨트의 분류된 리스트를 포함하는 콘택트 리스트를 생성하는 것 - 상기 생성하는 단계는 각각의 진행 중인 통신 세션 내의 상기 확인된 커뮤니컨트를, 상기 콘택트 리스트의 다른 확인된 커뮤니컨트와 분리된 개별적인 각각의 그룹으로 그룹화하는 단계를 포함함 - 과,
    상기 사용자의 클라이언트 네트워크 노드로 상기 콘택트 리스트를 전송하는 것을 포함하는 동작을 수행할 수 있는
    장치.
  13. 삭제
  14. 삭제
  15. 삭제
  16. 제 5 항에 있어서,
    상기 생성하는 단계는
    커뮤니컨트 간의 진행 중인 통신 세션의 변화에 대응하여, 상기 콘택트 리스트의 상기 확인된 커뮤니컨트 각각을 동적으로 재그룹화하는
    방법.
  17. 제 5 항에 있어서,
    상기 확인된 커뮤니컨트의 각각 사이에 진행 중인 통신 세션의 현재 상태를 반영하기 위하여 상기 콘택트 리스트를 동적으로 재분류하는 단계를 더 포함하는
    방법.
  18. 제 5 항에 있어서,
    상기 통신 서비스는 가상 영역 존(zone)을 제공하고,
    상기 가상 영역 존의 각각은 커뮤니컨트 프레즌스(presence) 및 상기 존 내에 공존(co-present)하는 커뮤니컨트 간의 실시간 통신을 개별적으로 지원하는
    방법.
  19. 제 5 항에 있어서,
    상기 식별하는 단계는 하나 이상의 공존(co-presence)의 존(zone)을 식별하는 단계를 포함하되,
    상기 하나 이상의 공존의 존(zone)의 각각은 둘 이상의 상기 확인된 커뮤니컨트가 공존하는 각각의 존에 대응하고, 상기 식별된 하나 이상의 공존의 존(zone)의 각각은 상기 식별된 하나 이상의 진행 중인 통신 세션 중 각각에 대응하는
    방법.
  20. 제 5 항에 있어서,
    상기 생성하는 단계는,
    상기 식별된 하나 이상의 공존의 존 내의 커뮤니컨트를 상기 콘택트 리스트에서 상기 존의 각각 내의 적어도 하나의 다른 커뮤니컨트와 공존하지 않는 커뮤니컨트보다 앞에 나열하는 단계를 포함하는
    방법.
  21. 제 5 항에 있어서,
    상기 생성하는 단계는,
    상기 콘택트 리스트에서 사용자의 현재 존재하는 존(zone)을 다른 모든 존보다 앞에 나열하는 단계를 포함하는
    방법.
  22. 제 5 항에 있어서,
    상기 확인하는 단계는,
    상기 사용자의 콘택트인 다른 커뮤니컨트의 각각을 상기 확인된 커뮤니컨트로 선택하는 단계를 포함하는
    방법.
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
  66. 삭제
  67. 삭제
  68. 삭제
  69. 삭제
KR1020137006722A 2010-08-16 2011-08-15 네트워크 통신 환경에서 커뮤니컨트 상호작용을 촉진하는 방법 KR101565665B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US37391410P 2010-08-16 2010-08-16
US61/373,914 2010-08-16
PCT/US2011/047724 WO2012024205A2 (en) 2010-08-16 2011-08-15 Promoting communicant interactions in a network communications environment

Publications (2)

Publication Number Publication Date
KR20130064105A KR20130064105A (ko) 2013-06-17
KR101565665B1 true KR101565665B1 (ko) 2015-11-04

Family

ID=45605619

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137006722A KR101565665B1 (ko) 2010-08-16 2011-08-15 네트워크 통신 환경에서 커뮤니컨트 상호작용을 촉진하는 방법

Country Status (6)

Country Link
US (2) US8930472B2 (ko)
EP (1) EP2606466A4 (ko)
JP (1) JP5969476B2 (ko)
KR (1) KR101565665B1 (ko)
CN (1) CN103154982A (ko)
WO (1) WO2012024205A2 (ko)

Families Citing this family (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8600343B2 (en) 2007-07-25 2013-12-03 Yahoo! Inc. Method and system for collecting and presenting historical communication data for a mobile device
US7769806B2 (en) 2007-10-24 2010-08-03 Social Communications Company Automated real-time data stream switching in a shared virtual area communication environment
US8578000B2 (en) 2008-12-05 2013-11-05 Social Communications Company Realtime kernel
US8407605B2 (en) 2009-04-03 2013-03-26 Social Communications Company Application sharing
US8397168B2 (en) 2008-04-05 2013-03-12 Social Communications Company Interfacing with a spatial virtual communication environment
US9514444B2 (en) 2009-01-15 2016-12-06 Sococo, Inc. Encapsulating virtual area based communicant assemblies
EP2279472A4 (en) 2008-04-05 2013-11-20 Social Communications Co APPARATUS AND METHODS BASED ON A SHARED VIRTUAL SPACE COMMUNICATION ENVIRONMENT
US9002820B2 (en) * 2008-06-05 2015-04-07 Gary Stephen Shuster Forum search with time-dependent activity weighting
CN102150470B (zh) * 2008-06-09 2013-10-16 Sk普兰尼特有限公司 用于在空闲屏幕上显示缩略图组的方法和移动通信终端
US9853922B2 (en) 2012-02-24 2017-12-26 Sococo, Inc. Virtual area communications
US20130283169A1 (en) 2012-04-24 2013-10-24 Social Communications Company Voice-based virtual area navigation
US9325661B2 (en) 2009-03-30 2016-04-26 Avaya Inc. System and method for managing a contact center with a graphical call connection metaphor
US20100306672A1 (en) * 2009-06-01 2010-12-02 Sony Computer Entertainment America Inc. Method and apparatus for matching users in multi-user computer simulations
US9721228B2 (en) 2009-07-08 2017-08-01 Yahoo! Inc. Locally hosting a social network using social data stored on a user's computer
US8793319B2 (en) * 2009-07-13 2014-07-29 Microsoft Corporation Electronic message organization via social groups
US9189143B2 (en) * 2010-04-30 2015-11-17 American Teleconferencing Services, Ltd. Sharing social networking content in a conference user interface
US8620935B2 (en) * 2011-06-24 2013-12-31 Yahoo! Inc. Personalizing an online service based on data collected for a user of a computing device
US8453212B2 (en) * 2010-07-27 2013-05-28 Raytheon Company Accessing resources of a secure computing network
US8917855B1 (en) 2010-08-17 2014-12-23 8X8, Inc. Systems, methods, devices and arrangements for unified messaging
WO2012118917A2 (en) 2011-03-03 2012-09-07 Social Communications Company Realtime communications and network browsing client
US9747583B2 (en) 2011-06-30 2017-08-29 Yahoo Holdings, Inc. Presenting entity profile information to a user of a computing device
US20130055099A1 (en) * 2011-08-22 2013-02-28 Rose Yao Unified Messaging System with Integration of Call Log Data
WO2013039748A2 (en) * 2011-09-16 2013-03-21 Social Communications Company Capabilities based management of virtual areas
US20130145293A1 (en) * 2011-12-01 2013-06-06 Avaya Inc. Methods, apparatuses, and computer-readable media for providing availability metaphor(s) representing communications availability in an interactive map
WO2013119802A1 (en) 2012-02-11 2013-08-15 Social Communications Company Routing virtual area based communications
US20130218978A1 (en) * 2012-02-17 2013-08-22 Numira Biosciences Systems and Methods for Project Collaboration in a Cloud Computing Environment
US20130219280A1 (en) * 2012-02-17 2013-08-22 Numira Biosciences Systems and Methods for Software Evaluation in a Cloud Computing Environment
US9489657B2 (en) * 2012-02-21 2016-11-08 Microsoft Technology Licensing, Llc Aggregation and visualization of multiple chat room information
US20130227445A1 (en) * 2012-02-24 2013-08-29 Maria Christina Nathalie Freyhult Method and apparatus for operation of a computing device
US10186002B2 (en) 2012-03-21 2019-01-22 Sony Interactive Entertainment LLC Apparatus and method for matching users to groups for online communities and computer simulations
US10130872B2 (en) 2012-03-21 2018-11-20 Sony Interactive Entertainment LLC Apparatus and method for matching groups to users for online communities and computer simulations
US9503683B2 (en) * 2012-03-27 2016-11-22 Google Inc. Providing users access to applications during video communications
WO2013181026A1 (en) 2012-06-02 2013-12-05 Social Communications Company Interfacing with a spatial virtual communications environment
US9619037B2 (en) * 2012-07-25 2017-04-11 Facebook, Inc. Custom gestures
US9071956B2 (en) * 2012-12-03 2015-06-30 Qualcomm Incorporated Systems and methods for dynamic enablement of wireless communication device functionalities
US20140257892A1 (en) * 2013-03-07 2014-09-11 International Business Machines Corporation Social project collaboration through self-organizing teams
US9401952B1 (en) * 2013-03-13 2016-07-26 Shortel, Inc. Managing presence state
KR102056080B1 (ko) 2013-03-19 2019-12-16 삼성전자주식회사 상태 정보 제공 방법 및 장치
US8984080B1 (en) 2013-04-09 2015-03-17 Kabam, Inc. Facilitating user configured assistance requests through a chat in a virtual space
US9332043B1 (en) 2013-04-12 2016-05-03 Kabam, Inc. System and method for facilitating user interaction with a virtual space through a graphical chat interface
USD737847S1 (en) * 2013-06-10 2015-09-01 Apple Inc. Display screen or portion thereof with graphical user interface
US9817559B2 (en) * 2014-07-11 2017-11-14 Noom, Inc. Predictive food logging
EP3206341B1 (en) * 2014-11-04 2021-03-17 Huawei Technologies Co., Ltd. Method, apparatus and device for displaying message
CN104580194B (zh) * 2014-12-31 2017-11-24 北京四达时代软件技术股份有限公司 面向视频应用的虚拟化资源管理方法及装置
CN105991411B (zh) * 2015-02-13 2021-11-02 北京创新方舟科技有限公司 一种社交的方法及一种社交网络系统
CN107408354B (zh) * 2015-03-05 2019-12-20 日本电气方案创新株式会社 动作评估装置、动作评估方法和计算机可读存储介质
USD777749S1 (en) * 2015-04-06 2017-01-31 Domo, Inc. Display screen or portion thereof with a graphical user interface for analytics
US10003563B2 (en) 2015-05-26 2018-06-19 Facebook, Inc. Integrated telephone applications on online social networks
US11361092B2 (en) * 2015-09-25 2022-06-14 Intel Corporation Contextual access of data
CN105323308B (zh) * 2015-09-29 2019-01-29 惠州Tcl移动通信有限公司 一种基于地理位置信息的社群互联方法和系统
FR3049732B1 (fr) * 2016-03-29 2023-04-21 Duc Long Banh Systeme de mise en contact de personnes disposant chacune d'un terminal telephonique tactile
US10434418B2 (en) * 2016-06-03 2019-10-08 Microsoft Technology Licensing, Llc Navigation and interaction controls for three-dimensional environments
US11843570B2 (en) * 2016-07-28 2023-12-12 International Business Machines Corporation Security and prevention of information harvesting from user interfaces
JP2018173829A (ja) * 2017-03-31 2018-11-08 株式会社ルクレ 仮想会議プログラム
US11765114B2 (en) 2017-05-16 2023-09-19 Apple Inc. Voice communication method
US10511707B2 (en) 2017-05-16 2019-12-17 Apple Inc. Voice communication method
CN107147494B (zh) * 2017-06-19 2019-08-06 中南大学 一种基于链式相控加密操作的量子双重签名的方法
US11122094B2 (en) 2017-07-28 2021-09-14 Snap Inc. Software application manager for messaging applications
JP6955164B2 (ja) * 2017-12-27 2021-10-27 富士通株式会社 カウンセリング支援装置、カウンセリング支援システム、カウンセリング支援プログラムおよびカウンセリング支援方法
US11103795B1 (en) 2018-10-31 2021-08-31 Snap Inc. Game drawer
CN110417845B (zh) * 2018-11-30 2021-08-03 腾讯科技(深圳)有限公司 一种数据同步方法、装置和存储介质
US11128725B2 (en) * 2019-05-05 2021-09-21 Microsoft Technology Licensing, Llc. Multistate presence and responsiveness tracking and indication
US11102153B2 (en) 2019-05-05 2021-08-24 Microsoft Technology Licensing, Llc Multistate presence and responsiveness tracking and indication
US11144176B2 (en) * 2019-06-01 2021-10-12 Apple Inc. User interfaces for electronic voice communications
US11194447B2 (en) 2019-10-31 2021-12-07 Slack Technologies, Llc Apparatuses, computer program products, and methods for group-based communication channel organization
US11356392B2 (en) * 2020-06-10 2022-06-07 Snap Inc. Messaging system including an external-resource dock and drawer
US11507424B2 (en) * 2020-07-15 2022-11-22 At&T Intellectual Property I, L.P. Optimization of resource usage in cross-reality sessions
CN111884914B (zh) * 2020-07-24 2021-07-06 腾讯科技(深圳)有限公司 基于虚拟角色交互界面的通信方法、装置和计算机设备
US11232393B1 (en) * 2020-12-08 2022-01-25 Project Noa, Inc. Relationship based fulfillment systems and methods
US11288669B1 (en) 2020-12-08 2022-03-29 Project Noa, Inc. Frictionless token based blockchain
US20230101151A1 (en) * 2021-09-30 2023-03-30 Ringcentral, Inc. Systems and methods for providing aggregate group presence state identifier

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050215252A1 (en) 2004-03-26 2005-09-29 Samsung Electronics Co., Ltd. System and method for providing a messenger service capable of changing messenger status information based on a schedule
US20060041684A1 (en) * 2002-09-17 2006-02-23 Bellsouth Intellectual Property Corporation Server-based message protocol translation
US20080101561A1 (en) * 2005-07-08 2008-05-01 Nhn Corporation Messenger notification system and method using synchronization server
US20090247196A1 (en) 2008-03-31 2009-10-01 Lg Electronic Inc. Mobile terminal for performing instant messaging service

Family Cites Families (187)

* 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
EP0622930A3 (en) 1993-03-19 1996-06-05 At & T Global Inf Solution Division of applications for computer arrangement with collaboration.
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
DE69523593T2 (de) 1994-06-17 2002-09-26 Intel Corp Vorrichtung und verfahren zur aufteilung der anwendung in einer graphischen benutzerschnittstelle
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
US6304283B1 (en) 1995-01-31 2001-10-16 Canon Kabushiki Kaisha Conference apparatus and method for realistically reproducing image data and shared board data
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
US6785708B1 (en) 1996-10-30 2004-08-31 Avaya Inc. Method and apparatus for synchronizing browse and chat functions on a computer network
US7263526B1 (en) 1996-10-30 2007-08-28 Avaya Technology Corp. Method and apparatus for embedding chat functions in a web page
JP3679526B2 (ja) 1996-10-31 2005-08-03 キヤノン株式会社 画像共有装置、画面制御方法及びコンピュータ可読メモリ
US5982372A (en) 1996-11-14 1999-11-09 International Business Machines Corp. Visual metaphor for shortcut navigation in a virtual world
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
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
JP3846666B2 (ja) 1998-09-24 2006-11-15 富士通株式会社 共有画面制御装置
US7168048B1 (en) 1999-03-24 2007-01-23 Microsoft Corporation Method and structure for implementing a layered object windows
US6909443B1 (en) 1999-04-06 2005-06-21 Microsoft Corporation Method and apparatus for providing a three-dimensional task gallery computer interface
US6388688B1 (en) 1999-04-06 2002-05-14 Vergics Corporation Graph-based visual navigation through spatial environments
GB2349055B (en) 1999-04-16 2004-03-24 Mitel Corp Virtual meeting rooms with spatial audio
JP4425407B2 (ja) 1999-05-13 2010-03-03 富士通株式会社 会話送出方法及び会話システム
US7222309B2 (en) 1999-06-02 2007-05-22 Earthlink, Inc. System and method of a web browser with integrated features and controls
US6400381B1 (en) 1999-06-11 2002-06-04 International Business Machines Corporation Web places
US6292188B1 (en) 1999-07-28 2001-09-18 Alltrue Networks, Inc. System and method for navigating in a digital information environment
KR19990078775A (ko) 1999-08-06 1999-11-05 신유진 3차원 가상 현실 공간에서의 전자 상거래 시스템 및 그 방법
US7630986B1 (en) 1999-10-27 2009-12-08 Pinpoint, Incorporated Secure data interchange
US6671818B1 (en) 1999-11-22 2003-12-30 Accenture Llp Problem isolation through translating and filtering events into a standard object format in a network based supply chain
JP2001154966A (ja) 1999-11-29 2001-06-08 Sony Corp コンピュータ・ネットワーク上で構築・提供される共有仮想空間上で複数ユーザが参加可能な仮想会話を支援する会話支援システム及び会話支援方法、並びに、プログラム記憶媒体
US20060184886A1 (en) 1999-12-22 2006-08-17 Urbanpixel Inc. Spatial chat in a multiple browser environment
US6708172B1 (en) 1999-12-22 2004-03-16 Urbanpixel, Inc. Community-based shared multiple browser environment
US7054928B2 (en) 1999-12-23 2006-05-30 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
JP2003529825A (ja) 2000-02-14 2003-10-07 ジオフェニックス, インコーポレイテッド グラフィカルプログラミングのための方法およびシステム
US20020085035A1 (en) 2000-02-14 2002-07-04 Julian Orbanes Method and apparatus for creating custom formats for viewing information in virtual space
KR100369640B1 (ko) 2000-03-03 2003-01-29 신유진 3차원 가상 현실 공간에서의 박람회 개최 시스템 및 그방법
US7111060B2 (en) 2000-03-14 2006-09-19 Aep Networks, Inc. Apparatus and accompanying methods for providing, through a centralized server site, a secure, cost-effective, web-enabled, integrated virtual office environment remotely accessible through a network-connected web browser
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 コナミ株式会社 ゲームシステムおよびコンピュータ読取可能な記憶媒体
KR100382854B1 (ko) 2000-05-04 2003-05-09 주식회사 쿼터뷰 아바타행위 기록/재생을 이용한 메시지전달 시스템 및 방법
IL136408A0 (en) 2000-05-28 2001-06-14 Kaufman Yosef A jigsaw puzzle system
US6714222B1 (en) 2000-06-21 2004-03-30 E2 Home Ab Graphical user interface for communications
KR20020017558A (ko) 2000-08-31 2002-03-07 김종민 가상 공간 상에서의 북마킹 시스템 및 방법
US7036082B1 (en) 2000-09-21 2006-04-25 Nortel Networks Limited Controlling communications through a virtual reality 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
US7168051B2 (en) 2000-10-10 2007-01-23 Addnclick, Inc. System and method to configure and provide a network-enabled three-dimensional computing environment
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
US20040030741A1 (en) 2001-04-02 2004-02-12 Wolton Richard Ernest Method and apparatus for search, visual navigation, analysis and retrieval of information from networks with remote notification and content delivery
US20020165922A1 (en) 2001-04-13 2002-11-07 Songxiang Wei Application based screen sampling
US20060161624A1 (en) 2001-04-13 2006-07-20 Elaine Montgomery Methods and apparatuses for dynamically sharing a portion of a display for application based screen sampling
US7188317B1 (en) 2001-06-13 2007-03-06 Microsoft Corporation Dynamic multiple window display having independently linked windows
US7133900B1 (en) 2001-07-06 2006-11-07 Yahoo! Inc. Sharing and implementing instant messaging environments
US20030043200A1 (en) 2001-08-09 2003-03-06 Urbanpixel Inc Interactive multi-level mapping in a multiple browser environment
US7266583B2 (en) 2001-08-20 2007-09-04 International Business Machines Corporation Method and system for providing contact management to chat session participants
US7660875B2 (en) 2001-08-31 2010-02-09 Sony Corporation Bidirectional remote communication via browser plug-in
US20030077561A1 (en) 2001-10-18 2003-04-24 Abraham Alsop Web server for printable whiteboards
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
KR100453225B1 (ko) 2001-12-26 2004-10-15 한국전자통신연구원 3차원 가상 현실 구현을 위한 클라이언트 시스템과 이를이용한 가상 현실 구현 방법
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
US7730063B2 (en) 2002-12-10 2010-06-01 Asset Trust, Inc. Personalized medicine service
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
US20040128350A1 (en) 2002-03-25 2004-07-01 Lou Topfl Methods and systems for real-time virtual conferencing
US7418664B2 (en) 2002-04-03 2008-08-26 Microsoft Corporation Application sharing single document sharing
US7036089B2 (en) 2002-04-23 2006-04-25 Hewlett-Packard Development Company, L.P. Distribution of application windows in a computing device display
US7016978B2 (en) 2002-04-29 2006-03-21 Bellsouth Intellectual Property Corporation Instant messaging architecture and system for interoperability and presence management
US7039677B2 (en) 2002-05-07 2006-05-02 International Business Machines Corporation Threaded text-based chat collaboration
US7293243B1 (en) 2002-05-22 2007-11-06 Microsoft Corporation Application sharing viewer presentation
US7356563B1 (en) 2002-06-06 2008-04-08 Microsoft Corporation Methods of annotating a collaborative application display
US7769606B2 (en) 2002-07-01 2010-08-03 Boone H Keith Interactive health insurance system
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
KR20040011825A (ko) 2002-07-30 2004-02-11 김동현 인터넷 망을 기반으로 한 가상백화점 관리 시스템 및 그관리 방법
US7234117B2 (en) 2002-08-28 2007-06-19 Microsoft Corporation System and method for shared integrated online social interaction
US7844662B2 (en) 2002-10-17 2010-11-30 At&T Intellectual Property Ii, L.P. Merging instant messaging (IM) chat sessions
JP2004135051A (ja) 2002-10-10 2004-04-30 Sony Corp 情報処理システム、サービス提供装置および方法、情報処理装置および方法、記録媒体、並びにプログラム
US20060100881A1 (en) * 2002-11-13 2006-05-11 Intel Corporation Multi-modal web interaction over wireless network
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
US7484176B2 (en) 2003-03-03 2009-01-27 Aol Llc, A Delaware Limited Liability Company Reactive avatars
US8484576B2 (en) 2003-04-17 2013-07-09 Supersonic Aerospace International, Llc System and method for customizing multiple windows of information on a display
CN102158431B (zh) 2003-05-16 2015-03-25 谷歌公司 提供和进行即时消息方法、机器可读介质及图形用户界面
US8347313B2 (en) 2003-05-21 2013-01-01 Resilient Networks, Inc. Method and apparatus for automating organization of processes
US7236472B2 (en) * 2003-09-16 2007-06-26 Research In Motion Limited Method for creating a peer-to-peer immediate messaging solution without using an instant messaging server
US7752268B2 (en) 2003-09-25 2010-07-06 Oracle America, Inc. Method and system for presence state assignment based on schedule information in an instant messaging system
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
US20050080866A1 (en) 2003-10-14 2005-04-14 Kent Larry G. Selectively displaying time indications for instant messaging (IM) messages
US8528003B2 (en) 2003-10-27 2013-09-03 Yahoo! Inc. Communication among browser windows
US7606772B2 (en) 2003-11-28 2009-10-20 Manyworlds, Inc. Adaptive social computing methods
ITPI20030101A1 (it) 2003-12-05 2005-06-06 Cdc Srl Metodo ed apparato per la gestione della globalita'
US10152190B2 (en) 2003-12-15 2018-12-11 Open Invention Network, Llc Systems and methods for improved application sharing in a multimedia collaboration session
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
JP3626491B1 (ja) * 2003-12-26 2005-03-09 株式会社ドワンゴ メッセンジャーサービスシステムおよびその制御方法、ならびにメッセンジャーサーバおよびその制御プログラム
US7852997B2 (en) 2004-01-28 2010-12-14 Managed Inventions, Llc Internet telephony communications adapter for web browsers
US20050210008A1 (en) 2004-03-18 2005-09-22 Bao Tran Systems and methods for analyzing documents over a network
US7680885B2 (en) 2004-04-15 2010-03-16 Citrix Systems, Inc. Methods and apparatus for synchronization of data set representations in a bandwidth-adaptive manner
US7856469B2 (en) 2004-04-15 2010-12-21 International Business Machines Corporation Searchable instant messaging chat repositories using topic and identifier metadata
US20060031779A1 (en) 2004-04-15 2006-02-09 Citrix Systems, Inc. Selectively sharing screen data
US7996785B2 (en) 2004-06-30 2011-08-09 Microsoft Corporation Systems and methods for integrating application windows in a virtual machine environment
CN1977252B (zh) * 2004-07-02 2010-11-03 富士通株式会社 通信控制方法及计算机系统
US7412657B2 (en) 2004-08-26 2008-08-12 International Business Machines Corporation Systems, methods, and media for updating an instant messaging system
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
US20060167996A1 (en) 2005-01-13 2006-07-27 Orsolini Garry S System and method for enabling electronic presentations
US7240826B2 (en) 2005-01-25 2007-07-10 Seriosity, Inc. Attention economy for attention to messages, tasks and resources
US7506264B2 (en) 2005-04-28 2009-03-17 International Business Machines Corporation Method and apparatus for presenting navigable data center information in virtual reality using leading edge rendering engines
US20070011232A1 (en) * 2005-07-06 2007-01-11 Microsoft Corporation User interface for starting presentations in a meeting
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
US7765483B2 (en) 2005-09-12 2010-07-27 Microsoft Corporation Filtering obscured data from a remote client display
US20080214204A1 (en) 2005-11-01 2008-09-04 Jorey Ramer Similarity based location mapping of mobile comm facility users
US9454735B2 (en) * 2005-09-26 2016-09-27 Nokia Corporation Integrating data with a contact
US7827288B2 (en) 2005-12-08 2010-11-02 International Business Machines Corporation Model autocompletion for composite services synchronization
US8146002B2 (en) 2005-12-08 2012-03-27 International Business Machines Corporation Screen sharing session with selective pop-ups
WO2007110703A2 (en) 2005-12-09 2007-10-04 Ebuddy Holding B.V. Picture provisioning 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
KR100632955B1 (ko) 2006-02-07 2006-10-11 (주)심비오 전시회의 멀티운영 및 정보의 누적관리가 가능한사이버전시회 시스템 및 그 운영방법
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
US20070286366A1 (en) 2006-03-17 2007-12-13 Scott Deboy Chat presence system
US20070233785A1 (en) 2006-03-30 2007-10-04 International Business Machines Corporation Communicating using collaboration spaces
US7689926B2 (en) 2006-03-31 2010-03-30 Microsoft Corporation Selective window exclusion for captured content
KR20070105088A (ko) 2006-04-25 2007-10-30 함현주 캐릭터를 기반으로 하는 쇼핑몰 시스템 및 운영방법
US20080052373A1 (en) 2006-05-01 2008-02-28 Sms.Ac Systems and methods for a community-based user interface
US8223186B2 (en) 2006-05-31 2012-07-17 Hewlett-Packard Development Company, L.P. User interface for a video teleconference
US20070291034A1 (en) 2006-06-20 2007-12-20 Dones Nelson C System for presenting a navigable virtual subway system, and method for operating and using the same
US7680098B2 (en) 2006-07-20 2010-03-16 Avaya Inc. Determining group availability on different communication media
US7616624B2 (en) 2006-07-20 2009-11-10 Avaya Inc. Determining user availability based on the expected duration of a new event
US7680480B2 (en) 2006-07-20 2010-03-16 Avaya Inc. Determining user availability based on a past event
US8295206B2 (en) 2006-07-20 2012-10-23 Avaya Inc. Rule-based system for determining user availability
US8726195B2 (en) 2006-09-05 2014-05-13 Aol Inc. Enabling an IM user to navigate a virtual world
US7958453B1 (en) 2006-09-29 2011-06-07 Len Bou Taing System and method for real-time, multi-user, interactive and collaborative environments on the web
US7805406B2 (en) 2006-10-27 2010-09-28 Xystar Technologies, Inc. Cross-population of virtual communities
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
US20080215974A1 (en) 2007-03-01 2008-09-04 Phil Harrison Interactive user controlled avatar animations
GB0703974D0 (en) 2007-03-01 2007-04-11 Sony Comp Entertainment Europe Entertainment device
US8108799B2 (en) 2007-03-30 2012-01-31 Microsoft Corporation Remoting of windows presentation framework based applications in a non-composed desktop
US7840668B1 (en) 2007-05-24 2010-11-23 Avaya Inc. Method and apparatus for managing communication between participants in a virtual environment
US20090096810A1 (en) 2007-10-11 2009-04-16 Green Brian D Method for selectively remoting windows
US8209384B2 (en) 2007-10-23 2012-06-26 Yahoo! Inc. Persistent group-based instant messaging
US20090288007A1 (en) 2008-04-05 2009-11-19 Social Communications Company Spatial interfaces for realtime networked communications
US7499926B1 (en) 2007-11-16 2009-03-03 International Business Machines Corporation Maintaining and replicating chat histories
US8584024B2 (en) 2008-02-01 2013-11-12 International Business Machines Corporation Avatar cloning in a virtual world
CN101499080A (zh) * 2008-02-01 2009-08-05 网秦无限(北京)科技有限公司 在移动终端上快捷获取信息服务的方法和系统
US20090199275A1 (en) 2008-02-06 2009-08-06 David Brock Web-browser based three-dimensional media aggregation social networking application
US7895208B2 (en) 2008-02-26 2011-02-22 International Business Machines Corporation Device, system, and method of creating virtual social networks based on web-extracted features
US20090222742A1 (en) 2008-03-03 2009-09-03 Cisco Technology, Inc. Context sensitive collaboration environment
US9258337B2 (en) 2008-03-18 2016-02-09 Avaya Inc. Inclusion of web content in a virtual environment
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
US8042051B2 (en) * 2008-05-30 2011-10-18 International Business Machines Corporation Apparatus for navigation and interaction in a virtual meeting place
US20090307189A1 (en) 2008-06-04 2009-12-10 Cisco Technology, Inc. Asynchronous workflow participation within an immersive collaboration environment
US8384738B2 (en) 2008-09-02 2013-02-26 Hewlett-Packard Development Company, L.P. Compositing windowing system
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
US20100169796A1 (en) 2008-12-28 2010-07-01 Nortel Networks Limited Visual Indication of Audio Context in a Computer-Generated Virtual Environment
US8542232B2 (en) 2008-12-28 2013-09-24 Avaya Inc. Method and apparatus for monitoring user attention with a computer-generated virtual environment
US9064023B2 (en) 2008-12-29 2015-06-23 Avaya Inc. Providing web content in the context of a virtual environment
US20100169799A1 (en) 2008-12-30 2010-07-01 Nortel Networks Limited Method and Apparatus for Enabling Presentations to Large Numbers of Users in a Virtual Environment
US8516396B2 (en) 2009-01-30 2013-08-20 International Business Machines Corporation Object organization based on user interactions within a virtual environment
US8425326B2 (en) 2009-02-20 2013-04-23 Activision Publishing, Inc. Social network system and method for use with and integration into a video game
US20100228560A1 (en) 2009-03-04 2010-09-09 Avaya Inc. Predictive buddy list-reorganization based on call history information
US8499085B2 (en) 2009-03-16 2013-07-30 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
US9325661B2 (en) 2009-03-30 2016-04-26 Avaya Inc. System and method for managing a contact center with a graphical call connection metaphor
US20100262550A1 (en) 2009-04-08 2010-10-14 Avaya Inc. Inter-corporate collaboration overlay solution for professional social networks
US8442189B2 (en) 2009-06-22 2013-05-14 Avaya Inc. Unified communications appliance
US20100332998A1 (en) 2009-06-26 2010-12-30 Xerox Corporation Collaborative document environments in three-dimensional virtual worlds
US9378296B2 (en) 2010-08-24 2016-06-28 International Business Machines Corporation Virtual world construction
US20120268468A1 (en) 2011-04-20 2012-10-25 Idle Games System and method for stochastically generating maps of places in a virtual space

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060041684A1 (en) * 2002-09-17 2006-02-23 Bellsouth Intellectual Property Corporation Server-based message protocol translation
US20050215252A1 (en) 2004-03-26 2005-09-29 Samsung Electronics Co., Ltd. System and method for providing a messenger service capable of changing messenger status information based on a schedule
US20080101561A1 (en) * 2005-07-08 2008-05-01 Nhn Corporation Messenger notification system and method using synchronization server
US20090247196A1 (en) 2008-03-31 2009-10-01 Lg Electronic Inc. Mobile terminal for performing instant messaging service

Also Published As

Publication number Publication date
KR20130064105A (ko) 2013-06-17
WO2012024205A2 (en) 2012-02-23
US8930472B2 (en) 2015-01-06
WO2012024205A3 (en) 2012-04-26
US20150127741A1 (en) 2015-05-07
US20110302509A1 (en) 2011-12-08
EP2606466A2 (en) 2013-06-26
EP2606466A4 (en) 2014-03-05
JP5969476B2 (ja) 2016-08-17
JP2013541075A (ja) 2013-11-07
CN103154982A (zh) 2013-06-12

Similar Documents

Publication Publication Date Title
KR101565665B1 (ko) 네트워크 통신 환경에서 커뮤니컨트 상호작용을 촉진하는 방법
US11088971B2 (en) Virtual area communications
USRE46309E1 (en) Application sharing
US8756304B2 (en) Relationship based presence indicating in virtual area contexts
US9411489B2 (en) Interfacing with a spatial virtual communication environment
US9077549B2 (en) Creating virtual areas for realtime communications
US9065874B2 (en) Persistent network resource and virtual area associations for realtime collaboration
US10366514B2 (en) Locating communicants in a multi-location virtual communications environment
US20090288007A1 (en) Spatial interfaces for realtime networked communications
US20090222742A1 (en) Context sensitive collaboration environment
KR20120118019A (ko) 공간 통신 환경을 위한 웹 브라우저 인터페이스
US20120246582A1 (en) Interfacing with a spatial virtual communications environment

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee