KR20140043090A - 다중 데이터 타입 커뮤니케이션 시스템 - Google Patents

다중 데이터 타입 커뮤니케이션 시스템 Download PDF

Info

Publication number
KR20140043090A
KR20140043090A KR1020137033395A KR20137033395A KR20140043090A KR 20140043090 A KR20140043090 A KR 20140043090A KR 1020137033395 A KR1020137033395 A KR 1020137033395A KR 20137033395 A KR20137033395 A KR 20137033395A KR 20140043090 A KR20140043090 A KR 20140043090A
Authority
KR
South Korea
Prior art keywords
call
series
communications
communication
channel
Prior art date
Application number
KR1020137033395A
Other languages
English (en)
Other versions
KR101954468B1 (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 KR20140043090A publication Critical patent/KR20140043090A/ko
Application granted granted Critical
Publication of KR101954468B1 publication Critical patent/KR101954468B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0884Network architectures or network communication protocols for network security for authentication of entities by delegation of authentication, e.g. a proxy authenticates an entity to be authenticated on behalf of this entity vis-à-vis an authentication entity
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs

Abstract

통합된 커뮤니케이션을 위한 방법 및 시스템이 제공된다. 일 실시예에서, 채널을 통해 콜(call)을 개시하기 위한 요청이 수신된다. 상기 채널과 연관된 콜 참가자(call participant) 세트가 식별된다. 상기 콜과 연관된 일련의 커뮤니케이션이 수신된다. 상기 일련의 커뮤니케이션은 실시간 미디어 데이터 타입 및 포스트 데이터 타입(posted data type)을 포함한다. 상기 일련의 커뮤니케이션은 상기 콜에 전송된다. 다른 방법 및 시스템이 설명되어 있다.

Description

다중 데이터 타입 커뮤니케이션 시스템{MULTI-DATA TYPE COMMUNICATIONS SYSTEM}
본 출원은 2011년 5월 16일에 출원된 "COMMUNICATIONS SYSTEM"이라는 명칭의 미국 가출원 제61/486,531호에 대한 우선권을 주장하며, 그 내용 전부는 참조에 의해 본 명세서에 포함된다.
본 발명은 커뮤니케이션 시스템, 특히 다중 데이터 타입 커뮤니케이션 시스템에 관한 것이다.
다양한 커뮤니케이션 시스템 및 메커니즘은 비즈니스에 관련되거나 개인적인 상호소통 모두에서 빈번히 사용된다. 사람들이 서로 소통하는 방식은 종종 사용 가능한 커뮤니케이션 시스템에 의해 영향을 받을 수 있다. 종종, 커뮤니케이션과 표현은 비효율적인 통신 매체를 통해 이루어질 수밖에 없을 수도 있다. 때로는, 통신의 양상, 예컨대, 오디오 전용, 텍스트 전용, 두 당사자 전용, 동기식 전용 또는 비동기식 전용 등에 의한 제한은 생각의 표현을 한정하고 제한한다. 이것은 개인들이 표현, 의사소통 또는 상호소통을 불완전하거나 불충분하게 하도록 만들 수 있다.
본 발명은 다중 데이터 타입 커뮤니케이션 시스템 및 그 방법을 제공하기 위한 것이다.
제1 실시예에 따르면, 방법은 사용자의 인증 요청을 수신하는 단계를 포함할 수 있다. 인증 커뮤니케이션은 사용자와 연관된 제3자 어플리케이션(third party application)을 통해 생성될 수 있다. 또한, 상기 방법은 인증 커뮤니케이션을 인증 시스템에 전송하는 단계를 포함할 수 있다.
하나 이상의 다음 특징이 포함될 수 있다. 인증 요청은 제3자 어플리케이션과 연관된 인증 요청을 포함할 수 있다. 제3자 어플리케이션은 하나 이상의 이메일 커뮤니케이션 어플리케이션, SMS 커뮤니케이션 어플리케이션, 인스턴트 메시지 어플리케이션 및 소셜 네트워킹 어플리케이션을 포함할 수 있다.
인증 커뮤니케이션을 생성하는 단계는 인증 요청을 제3자 어플리케이션에 전송하는 단계를 포함할 수 있다. 인증 커뮤니케이션을 생성하는 단계는 사용자 ID(identification)를 포함하는 커뮤니케이션 컨텐트(content)를 미리 제공하는(pre-populating) 단계를 포함할 수 있다. 인증 커뮤니케이션을 생성하는 단계는 인증 코드를 포함하는 커뮤니케이션 컨텐트를 미리 제공하는 단계를 포함할 수 있다. 인증 커뮤니케이션을 생성하는 단계는 커뮤니케이션 수신자를 미리 제공하는 단계를 포함할 수 있다. 인증 커뮤니케이션을 생성하는 단계는 커뮤니케이션 어플리케이션과 연관된 사용자 자격 증명을 수신하는 단계를 포함할 수 있다. 상기 방법은 사용자를 인증하는 단계를 더 포함할 수 있다.
다른 실시예에 따르면, 컴퓨터 프로그램 제품은 복수의 명령을 저장하는 컴퓨터로 판독 가능한 매체를 포함한다. 프로세서에 의해 실행되었을 때, 명령은 프로세서가 사용자의 인증 요청을 수신하는 단계를 포함하는 작업을 수행하도록 할 수 있다. 또한, 사용자와 연관된 제3자 어플리케이션을 통해 인증 커뮤니케이션을 생성하기 위한 단계를 위한 명령이 포함될 수 있다. 인증 커뮤니케이션을 인증 시스템에 전송하는 단계를 위한 명령이 더 포함될 수 있다.
다른 실시예에 따르면, 방법은 제3자와의 커뮤니케이션을 개시하기 위한 요청을 수신하는 단계를 포함한다. 복수의 알림 옵션이 제공될 수 있다. 복수의 알림 옵션 중 선택된 알림 옵션이 수신될 수 있다. 적어도 일부는, 복수의 알림 옵션 중 선택된 알림 옵션에 기초하여 알림은 제3자에게 전송될 수 있다.
하나 이상의 다음 특징이 포함될 수 있다. 상기 방법은 제3자와 연관된 컨텍스트 정보를 수신하는 단계를 또한 포함할 수 있다. 복수의 알림 옵션을 제공하는 단계는 제3자와 연관된 컨텍스트 정보를 제공하는 단계를 더 포함할 수 있다. 컨텍스트 정보는 하나 이상의 위치 및 궤적(trajectory) 정보를 포함할 수 있다. 컨텍스트 정보는 상기 제3자와 연관된 커뮤니케이션 디바이스와 연관된 활동(activity) 정보를 포함할 수 있다.
복수의 알림 옵션은 하나 이상의 미리 정의된 다이얼로그(dialog) 옵션을 포함할 수 있다. 하나 이상의 미리 정의된 다이얼로그 옵션은 제안된 커뮤니케이션 형식(suggested communication modality)을 포함할 수 있다. 하나 이상의 미리 정의된 다이얼로그 옵션은 상태 요청을 포함할 수 있다.
또한, 상기 방법은 제3자로부터 상기 알림에 대한 답변을 수신하는 단계를 포함할 수 있다. 또한, 상기 방법은, 적어도 일부는, 알림에 대한 답변에 기초하여 제3자와의 커뮤니케이션을 개시하는 단계를 포함할 수 있다.
다른 실시예에 따르면, 컴퓨터 프로그램 제품은 복수의 명령을 저장하는 컴퓨터로 판독 가능한 매체를 포함한다. 프로세서에 의해 실행되었을 때, 명령은 프로세서가 제3자와의 커뮤니케이션을 개시하는 요청을 수신하는 단계를 포함할 수 있다. 복수의 알림 옵션이 제공될 수 있다. 복수의 알림 옵션 중 선택된 알림 옵션이 수신될 수 있다. 적어도 일부는, 복수의 알림 옵션 중 선택된 알림 옵션에 기초하여 알림은 제3자에게 전송될 수 있다.
다른 실시예에 따르면, 방법은 채널을 통해 콜(call)을 개시하기 위한 요청을 수신하는 단계를 포함할 수 있다. 채널과 연관된 콜 참가자(call participant) 세트가 식별될 수 있다. 콜과 연관된 일련의 커뮤니케이션이 전송될 수 있다. 일련의 커뮤니케이션은 적어도 실시간 미디어 데이터 타입 및 포스트 데이터 타입(posted data type)을 포함할 수 있다. 일련의 커뮤니케이션은 콜에 전송될 수 있다.
하나 이상의 다음 특징이 포함될 수 있다. 채널과 연관된 콜 참가자 세트를 식별하는 단계는 채널과 연관되고 미리 정의된 채널 참가자 세트에 접근하는 단계를 포함할 수 있다. 채널과 연관된 상기 콜 참가자 세트를 식별하는 단계는, 적어도 일부는, 개체들의 암시적인 연관관계에 기초하여 채널 참가자 세트를 정하는 단계를 포함할 수 있다.
일련의 커뮤니케이션을 수신하는 단계는 일련의 커뮤니케이션을 실시간의 패킷화된 데이터 전송으로서 수신하는 단계를 포함할 수 있다. 실시간 미디어 데이터 타입은 실시간 오디오 데이터를 포함할 수 있다. 실시간 오디오 데이터는 VoIP(Voice over IP) 데이터를 포함할 수 있다. 실시간 오디오 데이터는 버스트(burst) 오디오 전송을 포함할 수 있다. 상기 포스트 미디어 데이터 타입은 하나 이상의 비디오, 이미지, 텍스트, 웹 데이터, 위치 데이터를 포함할 수 있다.
일련의 커뮤니케이션을 콜에 전송하는 단계는 일련의 커뮤니케이션을 콜 참가자 세트의 각각의 구성원에게 전송하는 단계를 포함할 수 있다. 일련의 커뮤니케이션을 콜 참가자 세트의 각각의 구성원에게 전송하는 단계는 일련의 커뮤니케이션을 콜 참가자 세트의 적어도 일부에게 동기식으로(synchronously) 전송하는 단계를 포함할 수 있다. 일련의 커뮤니케이션을 콜 참가자 세트의 각각의 구성원에게 전송하는 단계는 일련의 커뮤니케이션을 콜 참가자 세트의 적어도 일부에게 비동기식으로(asynchronously) 전송하는 단계를 포함할 수 있다.
또한, 상기 방법은 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계를 포함할 수 있다. 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 콜과 일련의 커뮤니케이션의 각각의 커뮤니케이션 사이의 연관관계를 정하는 단계를 포함할 수 있다. 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 콜과 상기 채널 사이의 연관관계를 정하는 단계를 포함할 수 있다. 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 채널과 콜 참가자의 각각의 구성원 사이의 연관관계를 정하는 단계를 포함할 수 있다. 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 콜과 연관된 접근 제어를 정하는 단계를 포함할 수 있다.
다른 실시예에 따르면, 컴퓨터 프로그램 제품은 복수의 명령을 저장하는 컴퓨터로 판독 가능한 매체를 포함한다. 프로세서에 의해 실행되었을 때, 명령은 프로세서가 채널을 통해 콜을 개시하기 위한 요청을 수신하는 단계를 포함할 수 있다. 또한, 명령은 프로세서가 채널과 연관된 콜 참가자 세트를 식별하도록 할 수 있다. 또한, 명령은 프로세서가 콜과 연관된 일련의 커뮤니케이션을 수신하도록 할 수 있다. 일련의 커뮤니케이션은 실시간 미디어 데이터 타입 및 포스트 데이터 타입을 포함할 수 있다. 또한, 명령은 프로세서가 일련의 커뮤니케이션을 콜에 전송하도록 할 수 있다.
하나 이상의 다음 특징이 포함될 수 있다. 채널과 연관된 콜 참가자 세트를 식별하는 단계는 채널과 연관되고 미리 정의된 채널 참가자 세트에 접근하는 단계를 포함할 수 있다. 채널과 연관된 상기 콜 참가자 세트를 식별하는 단계는, 적어도 일부는, 개체들의 암시적인 연관관계에 기초하여 채널 참가자 세트를 정하는 단계를 포함할 수 있다.
일련의 커뮤니케이션을 수신하는 단계는 일련의 커뮤니케이션을 실시간의 패킷화된 데이터 전송으로서 수신하는 단계를 포함할 수 있다. 실시간 미디어 데이터 타입은 실시간 오디오 데이터를 포함할 수 있다. 실시간 오디오 데이터는 VoIP 데이터를 포함할 수 있다. 실시간 오디오 데이터는 버스트 오디오 전송을 포함할 수 있다. 포스트 미디어 데이터 타입은 하나 이상의 비디오, 이미지, 텍스트, 웹 데이터, 위치 데이터를 포함할 수 있다.
일련의 커뮤니케이션을 콜에 전송하는 단계는 일련의 커뮤니케이션을 콜 참가자 세트의 각각의 구성원에게 전송하는 단계를 포함할 수 있다. 일련의 커뮤니케이션을 상기 콜 참가자 세트의 각각의 구성원에게 전송하는 단계는 일련의 커뮤니케이션을 콜 참가자 세트의 적어도 일부에게 동기식으로 전송하는 단계를 포함할 수 있다. 일련의 커뮤니케이션을 콜 참가자 세트의 각각의 구성원에게 전송하는 단계는 일련의 커뮤니케이션을 콜 참가자 세트의 적어도 일부에게 비동기식으로 전송하는 단계를 포함할 수 있다.
또한, 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계를 위한 명령을 더 포함할 수 있다. 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 콜과 일련의 커뮤니케이션의 각각의 커뮤니케이션 사이의 연관관계를 정하는 단계를 포함할 수 있다. 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 콜과 채널 사이의 연관관계를 정하는 단계를 포함할 수 있다. 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 채널과 콜 참가자의 각각의 구성원 사이의 연관관계를 정하는 단계를 포함할 수 있다. 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 콜과 연관된 접근 제어를 정하는 단계를 포함할 수 있다.
다른 실시예에 따르면, 컴퓨터 시스템은 프로세서 및 상기 프로세서에 연결된 메모리를 포함한다. 프로세서 및 메모리는 채널을 통해 콜을 개시하기 위한 요청을 수신하는 것을 포함하는 적업을 수행하도록 구성될 수 있다. 프로세서 및 메모리는 채널과 연관된 콜 참가자 세트를 식별하도록 구성될 수 있다. 또한, 프로세서 및 메모리는 콜과 연관된 일련의 커뮤니케이션을 수신하도록 구성될 수 있다. 일련의 커뮤니케이션은 실시간 미디어 데이터 타입 및 포스트 데이터 타입을 포함할 수 있다. 또한, 프로세서 및 메모리는 일련의 커뮤니케이션을 콜에 전송하도록 구성될 수 있다.
하나 이상의 다음 특징이 포함될 수 있다. 채널과 연관된 콜 참가자 세트를 식별하는 단계는 채널과 연관되고 미리 정의된 채널 참가자 세트에 접근하는 단계를 포함할 수 있다. 채널과 연관된 상기 콜 참가자 세트를 식별하는 단계는, 적어도 일부는, 개체들의 암시적인 연관관계에 기초하여 채널 참가자 세트를 정하는 단계를 포함할 수 있다.
일련의 커뮤니케이션을 수신하는 단계는 일련의 커뮤니케이션을 실시간의 패킷화된 데이터 전송으로서 수신하는 단계를 포함할 수 있다. 실시간 미디어 데이터 타입은 실시간 오디오 데이터를 포함할 수 있다. 실시간 오디오 데이터는 VoIP 데이터를 포함할 수 있다. 실시간 오디오 데이터는 버스트 오디오 전송을 포함할 수 있다. 포스트 미디어 데이터 타입은 하나 이상의 비디오, 이미지, 텍스트, 웹 데이터, 위치 데이터를 포함할 수 있다.
일련의 커뮤니케이션을 콜에 전송하는 단계는 일련의 커뮤니케이션을 콜 참가자 세트의 각각의 구성원에게 전송하는 단계를 포함할 수 있다. 일련의 커뮤니케이션을 상기 콜 참가자 세트의 각각의 구성원에게 전송하는 단계는 일련의 커뮤니케이션을 콜 참가자 세트의 적어도 일부에게 동기식으로 전송하는 단계를 포함할 수 있다. 일련의 커뮤니케이션을 콜 참가자 세트의 각각의 구성원에게 전송하는 단계는 일련의 커뮤니케이션을 콜 참가자 세트의 적어도 일부에게 비동기식으로 전송하는 단계를 포함할 수 있다.
또한, 프로세서 및 메모리는 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계를 위해 구성될 수 있다. 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 콜과 일련의 커뮤니케이션의 각각의 커뮤니케이션 사이의 연관관계를 정하는 단계를 포함할 수 있다. 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 콜과 채널 사이의 연관관계를 정하는 단계를 포함할 수 있다. 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 채널과 콜 참가자의 각각의 구성원 사이의 연관관계를 정하는 단계를 포함할 수 있다. 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 콜과 연관된 접근 제어를 정하는 단계를 포함할 수 있다.
하나 이상의 실시예의 상세한 내용은 첨부된 도면 및 이하 상세한 설명에서 설명된다. 다른 특징들은 상세한 설명, 도면 및 청구범위로부터 명백해질 것이다.
도 1은 분산 컴퓨팅 네트워크에 연결된 커뮤니케이션 프로세스를 나타낸 다이어그램도이다.
도 2는 도 1의 커뮤니케이션 프로세스에 의해 실행될 수 있는 프로세스의 흐름도이다.
도 3은, 적어도 일부는, 도 1의 커뮤니케이션 프로세스에 의해 생성될 수 있는 사용자 인터페이스를 나타낸 도면이다.
도 4는, 적어도 일부는, 도 1의 커뮤니케이션 프로세스에 의해 생성될 수 있는 사용자 인터페이스를 나타낸 도면이다.
도 5는 도 1의 커뮤니케이션 프로세스에 의해 실행될 수 있는 프로세스의 흐름도이다.
도 6은, 적어도 일부는, 도 1의 커뮤니케이션 프로세스에 의해 생성될 수 있는 사용자 인터페이스를 나타낸 도면이다.
도 7은, 적어도 일부는, 도 1의 커뮤니케이션 프로세스에 의해 생성될 수 있는 사용자 인터페이스를 나타낸 도면이다.
도 8은, 적어도 일부는, 도 1의 커뮤니케이션 프로세스에 의해 생성될 수 있는 사용자 인터페이스를 나타낸 도면이다.
도 9는, 적어도 일부는, 도 1의 커뮤니케이션 프로세스에 의해 생성될 수 있는 사용자 인터페이스를 나타낸 도면이다.
도 10은 도 1의 커뮤니케이션 프로세스에 의해 실행될 수 있는 프로세스의 흐름도이다.
도 11은, 적어도 일부는, 도 1의 커뮤니케이션 프로세스에 의해 생성될 수 있는 사용자 인터페이스를 나타낸 도면이다.
통상의 기술자에 의해 이해될 것과 같이, 본 발명은 방법, 시스템 또는 컴퓨터 프로그램 제품으로서 포함될 수 있다. 따라서, 본 발명은 본 명세서에서 모두 "회로", "모듈" 또는 "시스템"이라는 용어로 참조될 수 있는 하드웨어 구현예, (펌웨어, 상주 소프트웨어, 마이크로 코드 등을 포함하는) 소프트웨어 구현예 또는 소프트웨어와 하드웨어 양상을 결합한 구현예의 형태를 취할 수 있다. 또한, 본 발명은 컴퓨터에서 사용 가능한 저장 매체 상의 컴퓨터 프로그램 제품의 형태를 취할 수 있고, 상기 매체는 컴퓨터에서 사용 가능한 프로그램 코드를 포함할 수 있다.
임의의 적절한 컴퓨터에서 사용 가능하거나 컴퓨터로 판독 가능한 매체(또한, 본 명세서에서 컴퓨팅 디바이스 또는 클라이언트 전자 디바이스와 연관된 스토리지 디바이스 및/또는 컴퓨터로 판독 가능한 매체로서 참조될 수도 있음)가 이용될 수 있다. 컴퓨터에서 사용 가능하거나 컴퓨터로 판독 가능한 매체는, 예를 들면, 전자, 자기, 광학, 전자기, 적외선, 또는 반도체 시스템, 장치, 또는 디바이스일 수 있으나, 이에 한정되는 것은 아니다. 컴퓨터로 판독 가능한 매체의 더욱 구체적인 예들(완전하지 않은 리스트)은 다음을 포함할 수 있다: 하나 이상의 와이어를 포함하는 전기적 연결, 휴대용 컴퓨터 디스켓, 하드 디스크, RAM(random access memory), ROM(read-only memory), EPROM(erasable programmable read-only memory) 또는 플래시 메모리, 광학 섬유, 휴대용 CD-ROM(compact disc read-only memory), 광학 스토리지 디바이스. 본 명세서에서, 컴퓨터에서 사용 가능하거나 컴퓨터로 판독 가능한 매체는 명령 실행 시스템, 장치 또는 디바이스와 관련되거나, 이들에 의해 사용되기 위한 프로그램을 포함하거나, 저장하거나, 통신하거나 전송하는 임의의 비일시성 매체(non-transitory medium)일 수 있다.
본 발명의 작업을 수행하는 컴퓨터 프로그램 코드는 Java, Smalltalk, C++ 등의 객체 지향 프로그래밍 언어로 작성될 수 있다. 그러나, 본 발명의 작업을 수행하는 컴퓨터 프로그램 코드는 또한, "C" 프로그래밍 언어 또는 유사 프로그래밍 언어와 같은 종래의 절차적 프로그래밍 언어, 및/또는 JavaScript 프로그래밍 언어 또는 Groovy 프로그래밍 언어와 같은 스트립트 언어로 작성될 수 있다. 또한, 컴퓨터 프로그램을 작성하기 위해 다양한 API(application programming interfaces) 및/또는 Dojo 또는 Grails 개발 프레임워크와 같은 응용 개발 프레임워크가 사용될 수 있다. 프로그램 코드는 스탠드얼론(stand-alone) 소프트웨어 패키지로서, 전부가 사용자의 컴퓨터 상에서 실행되거나, 일부만이 사용자의 컴퓨터 상에서 실행되거나, 일부는 사용자의 컴퓨터 상에서 실행되고 다른 일부는 원격 컴퓨터 상에서 실행되거나, 또는 전부가 원격 컴퓨터 또는 서버 상에서 실행될 수 있다. 후자의 경우, 원격 컴퓨터는 LAN(Local Area Network) 또는 WAN(Wide Area Network)를 통해 사용자의 컴퓨터에 접속되거나, (예를 들어, 인터넷 서비스 제공자를 사용하는 인터넷을 통해) 외부 컴퓨터에 대한 접속이 형성될 수 있다.
본 발명은 본 발명의 실시예에 따른 방법, 장치(시스템) 및 컴퓨터의 흐름도 및/또는 블록도를 참조하여 아래에서 설명된다. 흐름도 및/또는 블록도의 각각의 블록과 흐름도 및/또는 블록도의 블록들의 조합은 컴퓨터 프로그램 명령에 의해 구현될 수 있다. 이러한 컴퓨터 프로그램 명령은 범용 컴퓨터, 특수 목적용 컴퓨터 또는 기계를 생산하기 위한 기타 프로그램 가능한 데이터 처리 장치의 프로세서에 제공되어, 컴퓨터 또는 기타 프로그램 가능한 데이터 처리 장치의 프로세서를 통해 실행되는 명령은 흐름도 및/또는 블록도의 블록 또는 블록들에 명세된 기능/동작을 구현하기 위한 수단을 생성할 수 있다.
이러한 컴퓨터 프로그램 명령은 또한, 컴퓨터 또는 기타 프로그램 가능한 데이터 처리 장치가 특정 방식으로 기능하도록 할 수 있는 컴퓨터로 판독 가능한 메모리에 저장될 수 있고, 컴퓨터로 판독 가능한 메모리에 저장된 명령은 흐름도 및/또는 블록도의 블록 또는 블록들에 명세된 기능/동작을 구현하는 명령을 포함하는 제조품을 생산한다.
컴퓨터 프로그램 명령은 또한 컴퓨터 또는 기타 프로그램 가능한 데이터 처리 장치 상에 로딩되어, 일련의 작업 단계가 컴퓨터 또는 기타 프로그램 가능한 장치 상에서 수행되도록 하여, 컴퓨터로 구현된 프로세스를 생성할 수 있고, 컴퓨터 또는 기타 프로그램 가능한 장치 상에서 실행되는 명령은 흐름도 및/또는 블록도의 블록 또는 블록들에 명세된 기능/동작을 구현하기 위한 단계들을 제공한다.
도 1을 참조하면, 하나 이상의 클라이언트 전자 디바이스(예컨대, 클라이언트 전자 디바이스(12, 14, 16 등)) 및/또는 서버 컴퓨터(18)에 상주하거나, 이들에 의해 실행될 수 있는 커뮤니케이션 프로세스(10a 내지 10d)(총괄하여 및/또는 일반화하여 커뮤티케이션 프로세스(10)으로서 참조될 수 있음)가 도시되어 있다. 하나 이상의 클라이어트 전자 디바이스(12, 14, 16) 및/또는 서버(18)는 네트워크(20)(예컨대, 인터넷, LAN, 비공개 정부 네트워크 또는 기타 네트워크)에 접속될 수 있다. 클라이언트 전자 디바이스의 예로서 모바일 컴퓨팅 디바이스(예컨대, 스마트폰(12, 14), 태블릿 컴퓨팅 디바이스, 데이터 인에이블드(data enabled) 셀룰러 폰, 네트워크 접속된 PDA(personal digital assistants) 등), 개인용 컴퓨팅 장치(예컨대, 노트북 컴퓨터(16), 데스크탑 컴퓨터, 게이밍 콘솔 등), 네트워크 접속된 텔레비전 디바이스 및/또는 셋탑 박스, 네트워크 접속된 카메라 디바이스, 네트워크 접속된 임베디드 컴퓨팅 디바이스뿐 아니라 다양한 부가적/대체적 네트워크 접속 가능한 컴퓨팅 디바이스를 들 수 있다. 서버 컴퓨터(18)의 예로서 개인용 컴퓨터, 서버 컴퓨터, 일련의 서버 컴퓨터들, 미니 컴퓨터, 메인프레임 컴퓨터, 서버 컴퓨터의 가상화된 인스턴스를 포함할 수 있는 클라우드 컴퓨팅 서비스 등을 들 수 있으나, 이에 한정되는 것은 아니다.
이하에서 더욱 상세하게 설명되는 바와 같이, 커뮤니케이션 프로세스(10)는 일반적으로 다중의 서로 다른 데이터 및/또는 매체 타입을 통해 소규모 및/또는 대규모의 사용자 그룹 사이의 상호작용이 동시에 가능하도록 하는 통합된 커뮤니케이션 시스템을 제공한다. 다양한 유형의 정보, 생각 및 사상이 서로 다른 양상에서 가장 잘 커뮤니케이션 되고 공유될 수 있다. 이와 같이, 커뮤니케이션 프로세스(10)는 오디오 메시지 및 대화, 비디오 컨텐트, 텍스트 기반의 정보, 그림 등의 동시 교환, 공유 및/또는 소비를 통해 사용자 사이의 풍부한(rich) 상호작용이 가능하도록 할 수 있다. 커뮤니케이션 프로세스(10)는 다중의 서로 다른 데이터 및 매체 타입이 사용자 사이에 교환되고, 통합된 사용자 경험을 제공함으로써 사용자에 의해 소비되도록 할 수 있다.
하나 이상의 소프트웨어 모듈을 포함할 수 있고, 하나 이상의 클라이언트 전자 디바이스(12, 14, 16) 및/또는 서버 컴퓨터(18)에 연결된 스토리지 디바이스(예컨대, 하나 이상의 스토리지 디바이스(22, 24, 26, 28)에 저장될 수 있는 개념적 개발 프로세스(10)의 명령 세트 및 서브루틴은 클라이언트 전자 디바이스(12, 14, 16) 및/또는 서버 컴퓨터(18)에 포함된 하나 이상의 프로세서(도시되지 않음) 및 하나 이상의 메모리 모듈(도시되지 않음)에 의해 실행될 수 있다. 스토리지 디바이스(22, 24, 26, 28)는 하드 디스크 드라이브, 솔리드 스테이트 드라이브, 테입 드라이브, 광학 드라이브, RAID 어레이, RAM(random access memory), ROM(read-only memory), 플래시 메모리 디바이스 등을 포함할 수 있으나, 이에 한정되는 것은 아니다.
각각의 클라이언트 전자 디바이스(12, 14, 16)은 적절한 운영 체제, 예컨대, 맥 OS(Mac OS), 안드로이드 OS(Android OS), 윈도우즈(Windows) 또는 기타 적합한 운영 체제를 실행할 수 있다(맥 OS는 미국 및 기타 국가의 Apple 사의 상표; iOS는 Cisco Systems의 상표; 안드로이드는 미국 및 기타 국가의 Google사의 상표; 윈도우는 미국 및 기타 국가의 Microsoft 사의 상표다). 또한, 클라이언트 전자 디바이스(12, 14, 16)는, 오디오 캡처(capture), 오디오 스트리밍, 오디오 재생, 비디오 캡처, 비디오 스트리밍, 비디오 재생, 텍스트 입력, 텍스트 표시, 이미지 캡처, 이미지 표시와 같은 다양한 데이터 캡처(capture) 및 렌더링(rendering) 기능을 허용한다. 다양한 서로 다른 클라이언트 전자 디바이스는, (예컨대, GPS 데이터 수집 등을 통한) 위치를 포함하는 센서 기능을 포함하는 부가적/대체적인 기능을 더 제공할 수 있으나, 이에 한정되는 것은 아니다.
또한, 도시되지는 않았지만, 클라이언트 전자 디바이스(12, 14, 16)는, 웹 브라우저 어플리케이션(예컨대, 사파리(Safari)®, 크롬(Chrome)®, 인터넷 익스플로어(Internet Explorer)®; 사파리는 미국 및 기타 국가의 Apple 사의 상표; 크롬은 미국 및 기타 국가의 Google사의 상표; 인터넷 익스플로어는 미국 및 기타 국가의 Microsoft 사의 상표다), 텍스트 메시징 어플리케이션, 인스턴트 메시징 어플리케이션, 오디오, 비디오 및/또는 이미지 캡처 및 편집 어플리케이션, 소셜 네트워킹 어플리케이션(예컨대, 페이스북(Facebook) 어플리케이션, 링크드인(LinkedIn) 어플리케이션 등)을 포함하는 다양한 어플리케이션을 실행할 수 있으나, 이에 한정되는 것은 아니다. 다양한 부가적/대체적 어플리케이션이 하나 이상의 클라이언트 디바이스(12, 14, 16)에 의해 마찬가지로 실행될 수 있다. 커뮤니케이션 프로세스(10a, 10b, 10c)는 스탠드얼론 어플리케이션이거나, 및/또는 클라이언트 전자 디바이스(12, 14, 16)에 의해 실행되는 하나 이상의 부가적인 어플리케이션의 모듈 및/또는 컴포넌트일 수 있다. 부가적으로/대체적으로, 커뮤니케이션 프로세스(10a, 10b, 10c)는 클라이언트 전자 디바이스(12, 14, 16)에 의해 실행되는 하나 이상의 어플리케이션과 상호작용할 수 있다.
일부 실시예에서, 서버 컴퓨터(18)는, 네트워크 운영 체제를 실행시키는 인터넷에 접속된 서버(또는 일련의 서버)일 수 있고, 네트워크 운영 체제의 예로서 마이크로소프트® 윈도우® 서버(Microsoft® Windows® Server); 노벨®넷웨어®(Novell®NetWare®; 레드 햇®리눅스®(Red Hat®Linux®)를 들 수 있으나, 이에 한정되는 것은 아니다(마이크로소프트와 윈도우즈는 미국 및 기타 국가의 Microsoft사의 등록상표; 노벨 및 넷웨어는 미국 및 기타 국가의 Novell 사의 등록 상표; 레드햇은 미국 및 기타 국가의 Red Hat사의 등록상표; 리눅스는 미국 및 기타 국가의 Linus Torvalds의 등록상표이다). 일부 실시예에서, 서버 컴퓨터(18)는 웹 서버 어플리케이션을 실행할 수 있고, 웹 서버 어플리케이션은 네트워크(20)를 통해 서버 컴퓨터(18)로의 HTTP(HyperText Transfer Protocol) 접근을 허용하는 마이크로소프트 IIS, 노벨 웹서버(TM) 또는 아파치(Apache)® HTTP 서버, 아파치®톰캣®(Apache® Tomcat®)어플리케이션 서버를 포함할 수 있으나, 이에 한정되는 것은 아니다(웹서버는 미국 및 기타 국가의 Novell 사의 상표; 아파치 및 톰캣은 미국 및 기타 국가의 Apache Software Foundation의 등록상표이다). 일부 실시예에서, 서버 컴퓨터는 아마존 웹 서비스(Amazon Web Services) 및/또는 마이크로소프트 윈도우즈 애져(Microsoft Windows Azure)와 같은 클라우드 서비스로 구현된다. 네트워크(20)는 하나 이상의 이차 네트워크(예컨대, 네트워크(30))에 접속될 수 있고, 예를 들어, LAN(local area network), WAN(wide area network) 또는 인트라넷(intranet)을 포함할 수 있으나, 이에 한정되는 것은 아니다.
일부 실시예에서, 서버 컴퓨터(18)는 커뮤니케이션 프로세스(10d)뿐 아니라 다양한 어플리케이션을 실행시킬 수 있다. 예를 들면, 서버 컴퓨터(18)는 데이터 스토리지 시스템을 실행시킬 수 있고, 데이터 스토리지 시스템은 데이터베이스 시스템을 포함할 수 있으나, 이에 한정되는 것은 아니다. 또한, 서버 컴퓨터(18)는, 예를 들어, (예컨대, Digium 사에 의해 스폰서되는 아스터리스크(Asterisk) 오픈 소스 플랫폼, FreeSWITCH 오픈 소스 텔레포니(telephony) 플랫폼 또는 기타 적합한 커뮤니케이션 어플리케이션 및/또는 플랫폼에 의해 공급될 수 있는) 통합 텔레포니 시스템 및/또는 VoIP(Voice over IP) 시스템을 실행시킬 수 있다. 다양한 부가적인/대체적인 어플리케이션이 서버 컴퓨터(18)에 의해 실행될 수 있다.
다양한 실시예에 부합하도록, 커뮤니케이션 프로세스(10)는 하나 이상의 클라이언트 전자 디바이스(12, 14, 16)에 의해 실행되는 클라이언트측 프로세스를 포함할 수 있다. 또한, 일부 실시예에서, 커뮤니케이션 프로세스(10)는 서버 컴퓨터(18)에 의해 실행되는 서버측 프로세스를 포함할 수 있다. 예를 들면, 서버측 프로세스로서, 하나 이상의 사용자(예컨대, 사용자(32, 34, 36))는 (예컨대, 서버측 커뮤니케이션 프로세스(10d)를 접근하는 것에 더해 기능성을 제공할 수 있는 어플리케이션을 포함할 수 있는) 웹 브라우저 또는 기타 적절한 어플리케이션을 통해 서버측 프로세스(예컨대, 커뮤니케이션 프로세스(10d))에 접근할 수 있다. 또한, 일부 실시예에서, 커뮤니케이션 프로세스(10)는 하나 이상의 클라이언트 전자 디바이스(12, 14, 16)에 의해 실행되는 커뮤니케이션 프로세스(10)의 일부 기능성 및 서버 컴퓨터(18)에 의해 실행되는 커뮤니케이션 프로세스(10)의 일부 기능성을 포함하는 하이브리드 서버-클라이언트 프로세스를 포함할 수 있다. 다양한 하이브리드 실시예에서, 하나 이상의 클라이언트측 커뮤니케이션 프로세스(10a, 10b, 10c)는 스탠드얼론 커뮤니케이션 어플리케이션을 포함할 수 있고, 및/또는 기타 어플리케이션의 모듈 또는 특징을 포함할 수 있고, 및/또는 (예컨대, 하나 이상의 커뮤니케이션 어플리케이션(10a, 10b 및/또는 10c)에 의해 제공되는 기능성에 더해 기능성을 제공할 수 있는) 하나 이상의 다른 어플리케이션과 통합되거나 및/또는 상호작용할 수 있다.
사용자(32, 34, 36)는 커뮤니케이션 프로세스(10)를 실행시키는 클라이언트 전자 디바이스(예컨대, 커뮤니케이션 프로세스(10a)를 실행시키는 스마트폰(12), 커뮤니케이션 프로세스(10b)를 실행시키는 스마트폰(14), 커뮤니케이션 프로세스(10c)를 실행시키는 노트북 컴퓨터(16))를 통해 커뮤니케이션 프로세스(10)에 접근할 수 있다. 커뮤니케이션 프로세스(10)를 사용함으로써, 하나 이상의 사용자(32, 34, 36)는 동시적 방식(contemporaneous manner)으로 다양한 데이터 타입을 이용하여 서로 상호작용하여, 사용자들 사이에 생각과 정보를 풍부하고 동적으로 교환하도록 할 수 있다.
다양한 클라이언트 전자 디바이스는 직접적으로 또는 간접적으로 네트워크(20)(또는 네트워크(30))에 연결될 수 있다. 예를 들면, 스마트폰(12)은 스마트폰(12)과, 네트워크(14)에 직접적으로 연결된 것으로 나타낸 무선 액세스 포인트(즉, WAP)(40) 사이에 형성된 무선 커뮤니케이션 채널(38)을 통해 무선으로 네트워크(20)에 연결된 것으로 나타나 있다. WAP(40)는, 예를 들어, 스마트폰(12)과 WAP(40) 사이에 무선 커뮤니케이션 채널(38)을 형성할 수 있는 IEEE 802.11a, 802.11b, 802.11g, Wi-Fi 및/또는 블루투스 디바이스일 수 있다. 스마트폰(14)은 스마트폰(14)과, 네트워크(14)에 직접적으로 연결된 것으로 나타낸 셀룰러 네트워크/브리지(44) 사이에 형성된 무선 커뮤니케이션 채널(42)을 통해 무선으로 네트워크(14)에 연결된 것으로 나타나 있다. 노트북 컴퓨터(16)는 (예컨대, 커넥션(46)을 통해 서버 컴퓨터(18) 및/또는 네트워크(20)에 추가적으로 연결될 수 있는) 네트워크(30)에 하드와이어드(hardwired) 커넥션을 통해 연결된 것으로 나타나 있다.
해당 기술 분야에서 알려진 바와 같이, 모든 IEEE 802.11x 명세는 이더넷 프로토콜 및 경로 공유를 위한 CSMA/CA(carrier sense multiple access with collision avoidance)를 사용할 수 있다. 다양한 802.11x 명세는 예를 들어 PSK(phase-shift keying) 변조 또는 CCK(complementary code keying) 변조를 사용할 수 있다. 해당 기술 분야에서 알려진 바와 같이, 블루투스는 예컨대, 모바일 폰, 컴퓨터 및 PDA(personal digital assistants)가 단거리 무선 연결을 사용하여 상호 연결될 수 있도록 하는 통신 산업 규격이다.
하나 이상의 실시예는 본 발명의 특정 특징 및/또는 측면을 나타낼 수 있도록 설명될 수 있다. 설명을 위해, 스마트폰(12)에 의해 실행되고, 및/또는 사용자(32)와 관련된 커뮤니케이션 프로세스(10a)를 참조할 수 있다. 그러나, 이러한 참조는 오로지 설명을 위한 목적으로 의도된 것이지, 본 발명을 한정하는 것으로 이해되지 않아야 함을 이해할 것이다. 커뮤니케이션 프로세스, 클라이언트 전자 디바이스 및/또는 사용자의 의 다른 예들이 동일하게 이용될 수 있다.
또한, 도 2를 참조하면, 일 측면에 따라, 커뮤니케이션 프로세스(10)는 사용자 신분(identity)의 인증 및/또는 검증을 이용할 수 있는 시스템 또는 어플리케이션과 함께 사용자 등록 또는 가입을 용이하게 할 수 있다. 일부 실시예에서, 커뮤니케이션 프로세스(10)는 사용자로 하여금, 사용자가 가입 사용자 인터페이스를 벗어나지 않고 사용자의 신분을 인증 및/또는 검증하기 위한 사용자와 연관된 기존의 제3자 어플리케이션을 사용하는 어플리케이션을 사용하여 등록하거나 가입하도록 할 수 있다. 예를 들면, 일반적으로, 커뮤니케이션 프로세스(10)는 사용자의 인증을 위한 요청을 수신할 수 있다(단계 100). 커뮤니케이션 프로세스(10)는 사용자와 연관된 제3자 어플리케이션을 통해 인증 커뮤니케이션을 생성할 수 있다. 또한, 커뮤니케이션 프로세스(10)는 인증 커뮤니케이션을 인증 시스템으로 전송할 수 있다(단계 104).
예를 들면, 도 3을 또한 참조하면, 사용자(32)는 (예컨대, 일부 실시예에서, 적어도 일부가, 커뮤니케이션 프로세스(10)와 관련되거나, 및/또는 커뮤니케이션 프로세스(10)에 의해 제공될 수 있는) 제3자 커뮤니케이션 시스템으로 가입하거나 등록하기를 원할 수 있다. 커뮤니케이션 프로세스(100)는 단독으로, 및/또는 하나 이상의 부가적인 어플리케이션과 함께 등록 사용자 인터페이스(150)를 제공할 수 있다. 등록 사용자 인터페이스(150)는, 예를 들면, 사용자(32)가 커뮤니케이션 프로세스(10)에 의해 제공되는 제3자 시스템을 통해 등록하거나, 및/또는 가입하도록 할 수 있다. 커뮤니케이션 프로세스(10)에 의해 제공되는 등록 및 인증 기능성은, 사용자가 이미 그들의 신분을 인증했을 수 있는, 예컨대, 그로인해 용이한 인증 프로세스를 제공할 수 있는, 어플리케이션 및/또는 시스템과 함께 구현될 수 있음을 이해할 것이다.
상술한 바와 같이, 커뮤니케이션 프로세스(10)는 사용자의 인증 요청을 수신할 수 있다(단계 100). 인증 요청은 사용자와 연관된 제3자 어플리케이션과 연관된 인증 요청을 포함할 수 있다(즉, 사용자는 인증을 위해 사용자가 식별되기 위한 원하는 방식을 식별할 수 있다). 예를 들면, 사용자(32)는 커뮤니케이션 시스템의 새로운 사용자로 등록하기를 원할 수 있다. 도시된 바와 같이, 등록 사용자 인터페이스(150)는 사용자(32)가 어플리케이션에 대한 등록 목적 또는 사용자의 신분을 인증하거나 및/또는 검증하기 위한 목적으로 사용될 인증 모드를 선택하도록 할 수 있다. 예를 들면, 사용자(32)는 커뮤니케이션 시스템에 대한 그의 신분을 인증하기 위한 목적으로 기존의 전화 번호, 이메일 주소, 소셜 네트워킹 ID(identification) 등을 이용할 수 있다.
도시된 바와 같이, 일 실시예에서, 등록 사용자 인터페이스(150)는 사용자(32)가, 사용자(32)가 그의 신분을 인증하기 위해 시스템과 함께 사용하기를 원하는 제3자 어플리케이션을 선택할 수 있도록 하는 선택 옵션(예컨대, 버튼(152, 154, 156)을 포함할 수 있다. 도시된 바와 같이, 버튼(152, 154, 156)은 사용자(32)를 인증하기 위해 이용될 수 있는 다양한 제3자 어플리케이션(즉, 이메일, sms 및 소셜 네트워크)을 식별할 수 있다. 사용자 인터페이스(150)는 세 가지 옵션(즉, "email", "sms" 및 "social network")를 포함하도록 도시되었지만, 이러한 옵션은 설명을 위해 의도된 것일 뿐이고, (예컨대, 연관된 제3자 어플리케이션을 포함하는) 다른 옵션이 다른 인증 시스템, (인스턴트 메시지 시스템과 같은) 메시지 시스템 등에 동일하게 이용될 수 있을을 제한하려는 것이 아니다. 일 실시예에서, (예컨대, 스마트폰(12)과 연관된 터치 스크린을 통해 커뮤니케이션 프로세스(10)에 의해 수신될 수 있는 터치 입력을 통해) 버튼을 선택하는 사용자(32)에 대한 응답으로, 커뮤니케이션 프로세스(10)는 사용자의 인증 요청을 수신할 수 있다(단계 100). 사용자의 인증 요청은 사용자(32)와 연관된 제3자 어플리케이션과 연관된 인증 요청(예컨대, 도시된 실시예에서 "email")을 포함할 수 있다.
(예컨대, 적어도 일부가, 사용자와 연관된 제3자 어플리케이션의 선택에 기초하여) 사용자의 인증 요청을 수신한 후(단계 100), 커뮤니케이션 프로세스(10)는 사용자와 연관된 선택된 제3자 어플리케이션을 통해 인증 커뮤니케이션을 생성할 수 있다(단계 102). 일 실시예에서, 커뮤니케이션 프로세스(10)는 인증 요청을 생성(단계 102)하기 위한 목적으로 사용자와 연관된 선택된 제3자 어플리케이션과 (직접적으로 및/또는 간접적으로) 상호작용할 수 있다.
또한, 도 4를 참조하면, 커뮤니케이션 프로세스(10)는, 커뮤니케이션 어플리케이션에 대한 내장된 전송 양식(158)을 사용하여, 사용자와 연관된 제3자 어플리케이션(예컨대, 앞선 실시예에서 이메일 어플리케이션)을 통해 인증 커뮤니케이션을 생성할 수 있다(단계 102). 커뮤니케이션 프로세스(10)는, 예를 들어, 사용자와 연관된 커뮤니케이션 어플리케이션을 실행시키기 위한 요청을 발행함으로써 등록 사용자 인터페이스(150)와 팝업 윈도우(pop-up window)로서 내장된 전송 양식을 사용하는 인증 커뮤니케이션을 생성한다(단계 102).
도 4에 도시된 바와 같이, 일부 실시예에서, 인증 커뮤니케이션을 생성하는 단계(단계 102)는 목적지 주소 및 인증 코드를 포함하는 커뮤니케이션 컨텐트를 미리 제공하는 단계(단계 110)를 포함할 수 있다. 예를 들면, 커뮤니케이션 프로세스(10)는 전송 양식(158) 내에 하나 이상의 커뮤니케이션 필드를 미리 제공할 수 있다(단계 110). 도시된 실시예에서, 커뮤니케이션 프로세스(100)는 전송 양식(158)의 "to" 필드(160) 및 "subject" 필드(162)를 미리 제공할 수 있다(단계 110). 다양한 실시예에서, "to" 필드(160)는, 예를 들어, 커뮤니케이션 프로세스(10)와 연관된 인증 시스템과 연관된 주소와 연관된 SMS 전화 번호 또는 이메일 주소를 미리 정해진 주소값으로 가질 수 있다. 예를 들어, "to" 필드의 미리 정해진 주소값을 사용하여, 제3자 커뮤니케이션 어플리케이션과 연관된 제3자 커뮤니케이션 서비스는 메시지를 커뮤니케이션 프로세스(10)에 전송(예컨대, 궁극적으로 전달)할 수 있다.
다양한 실시예에서, "from" 필드(164)는 사용자와 연관된 커뮤니케이션 어플리케이션(즉, 상기 실시예에서, 이메일 어플리케이션)의 하나 이상의 계정 설정에 기초하여 제공될 수 있다. 일부 실시예에서, 선택된 사용자와 연관된 제3자 어플리케이션은 하나 이상의 사용자 계정을 포함할 수 있다. 예를 들어, 스마트폰(12)과 연관된 이메일 어플리케이션은, 이메일 어플리케이션을 통해 접근될 수 있는 둘 이상의 이메일 계정을 포함할 수 있다. 일 실시예에 따르면, "form" 필드(164)는, 예컨대, 스마트폰(12)에 의해 실행되는 이메일 어플리케이션 및/또는 스마트폰(12)과 연관된 하나 이상의 환경설정에 정의될 수 있는, 디폴트(default) 계정에 기초하여 (예컨대, 운영 체제 또는 이메일 어플리케이션 등에 의해) 미리 제공될 수 있다. 이러한 실시예에서, 커뮤니케이션 어플리케이션은 식별된 디폴트 계정에 기초하여, 선택된 제3자 어플리케이션을 통해 인증 커뮤니케이션을 생성할 수 있다(단계 102)(예컨대, "from" 필드(164)는 디폴트 계정 정보에 기초하여, 예컨대, 운영체제 등으로부터, 미리 제공될 수 있다(단계 110)). 일부 실시예에서, 커뮤니케이션 프로세스(10)는, 인증 커뮤니케이션을 생성(단계 102)하기 위한 목적으로 사용자(32)가 원하는 계정을 선택하도록 할 수 있다. 도시되지는 않았지만, 일부 실시예에서, 사용자(32)는, 예를 들면, 미리 제공된 "from" 필드(164)를 선택하여, 커뮤니케이션 프로세스(10)가 (단독으로 및/또는 이메일 어플리케이션 또는 제3자 어플리케이션과 함께) 사용자(32)가 인증을 위해 원하는 계정을 선택하도록 하는 다양한 사용자 인터페이스(예컨대, 팝업 메뉴 등)를 제공하도록 할 수 있다.
또한, 커뮤니케이션 프로세스(10)는 전송 양식(158) 내에 포함된 커뮤니케이션의 본문부(166)를 미리 제공(단계 110)할 수 있다. 일부 실시예에서, 본문부(166)를 미리 제공(단계 110)하는 것은, 예컨대, 사용자(32)를 인증하기 위한 인증 시스템에 의해 사용될 수 있는 인증 코드를 생성하는 것을 포함할 수 있다. 일부 실시예에서, "subject" 필드(162)를 미리 제공하는 것은 이러한 인증 코드를 생성하는 것을 포함할 수 있다. 앞선 실시예와 일관성을 유지하면서, 커뮤니케이션 프로세스(10)는, 어떤 인증을 원하는지를 통해 커뮤니케이션 어플리케이션을 선택하는 사용자(32)에 기초하여, 커뮤니케이션 시스템 (또는 사용자(32) 등록을 위해 사용되는 기타 시스템)으로 사용자(32)를 인증하기 위해 필요한 정보를 포함하는 인증 커뮤니케이션을 생성(단계 102)할 수 있다. 또한, 사용자(32)는 커뮤니케이션 프로세스(10)에 의해 제공되는 사용자 인터페이스(150)로부터 벗어날 필요가 없을 수 있다. 따라서, 일부 실시예에서, 어플리케이션 및/또는 시스템에 대한 등록을 위한 어플리케이션 프로세스 및/또는 등록은 간소화될 수 있고 보다 "사용자 친화적"이 될 수 있다.
또한, 커뮤니케이션 프로세스(10)는 인증 커뮤니케이션을 인증 시스템으로 전송(단계 104)할 수 있다. 예를 들면, (예컨대, 전송 양식(158) 내에 포함될 수 있는) 생성된 인증 커뮤니케이션(단계 102)과 관련하여, 커뮤니케이션 프로세스(10)는 사용자(예컨대, 상술한 실시예의 사용자(32))가, 예컨대, 지금 등록(register now) 버튼(168)을 선택함으로써, 등록하려는 사용자의 의도를 확인하도록 할 수 있다. 지금 등록 버튼(168)을 선택하는 사용자(32)에 대한 응답으로, 커뮤니케이션 프로세스(10)는 상호 신뢰관계의 제3자 커뮤니케이션 시스템에게 인증 커뮤니케이션을 전달하기 위한 시도를 하고, 자신에게 전송하도록 지시할 수 있다. "to" 필드(160)에 주소값을 미리 정하는 것(예컨대, "to" 필드(160)를 미리 제공하는 것)은 메시지가, 예컨대, 네트워크에 접속된 서버(18)를 통해, 커뮤니케이션 프로세스(10d)로 궁극적으로 전달되도록 할 수 있다. 이 메시지를 수신하면, 이 수신된 인증 메시지를 검증하고 관련시키기 위해 인증 코드(168)가 사용될 수 있다. 따라서, 메시지 수신 및 메시지 내에 포함된 수신된 인증 코드의 관련성에 대한 응답으로, 커뮤니케이션 프로세스(10)(예컨대, 서버 컴퓨터(18)에 의해 실행되는 커뮤니케이션 프로세스(10d))는 사용자를 인증(단계 114)할 수 있다. 해당 기술 분야에서 알려진 바와 같이, (예컨대, 커뮤니케이션 프로세스(10d), 및/또는 다른 인증 시스템 및/또는 프로세스를 포함할 수 있는) 인증 시스템은 그 후 인입되는 (예컨대, 적어도 일부가, 커뮤니케이션 프로세스(10)에 의해 생성(단계 102)된) 커뮤니케이션이 인증된 것이고 위조된 커뮤니케이션 및/또는 주소가 아님을 검증할 수 있는 다양한 표준 기술들을 이용할 수 있다.
일부 실시예에서, 인증 커뮤니케이션을 생성(단계 102)하는 것은 제3자 어플리케이션과 연관된 사용자 자격 증명을 수신(단계 112)하는 것을 포함할 수 있다. 예를 들어, 도시되지는 않았지만, 일부 실시예에서 사용자는 등록 및/또는 인증 목적으로 제3자 인증 어플리케이션을 사용하기를 원할 수 있다. 예를 들면, 사용자는 등록 및/또는 인증의 목적으로 제3자 소셜 네트워킹 시스템과 연관된 인증 시스템을 사용하기를 원할 수 있다. 이러한 실시예에서, 커뮤니케이션 프로세스(10)는, 사용자가 등록 및/인증을 위해 사용하기를 원하는 제3자 인증 시스템의 세트 중 하나에 대해 사용자에게 질의한 후, 사용자가 상기 소셜 네트워킹 시스템에 연관된 로그인(login) 자격 증명(예컨대, 사용자명 및 암호)을 입력하도록 요청할 수 있다. 커뮤니케이션 프로세스(10)는, (예컨대, 적절한 사용자 인터페이스를 통해 입력될 수 있는) 사용자 자격 증명을 자체적으로 수신할 소셜 네트워킹 시스템을 (예컨대, 소셜 네트워킹 시스템에 인증 요청을 전송(단계 108)함으로써) 콜하고, 상기 제3자 시스템으로 인증된 성공적인 인증에 기초하여 인증을 제공(단계 116)할 수 있다.
일부 실시예에 따르면, 본 발명에 부합하는 커뮤니케이션 시스템 및 방법은, 실시간 및 비동기식 양상을 완벽하게 통합하고 용이하게 할 수 있는 다중동기식(polysynchronous) 커뮤니케이션 시스템 및 다자간 커뮤니케이션 시스템의 방법으로 풍부하고 다방면인 상호 작용을 가능하게 할 수 있는 플랫폼을 제공할 수 있다. 상호 작용은 음성 또는 이미지에 한정되지 않을 수 있고, 스마트폰 등과 같은, 현대의 컴퓨팅 디바이스의 다양한 성능 및 기능을 모두 사용할 수 있는 방식으로 공유하고 관찰할 수 있는 사용자 경험을 제공할 수 있는 다수의 데이터 타입 및 양상의 통합된 형태를 포함할 수 있다. 서로 다른 데이터 타입 및 양상은 서로 다른 컨텍스트에 교차하여 이용되어, 의미가 크고 상호 작용적인 경험을 제공한다.
본 발명의 일 측면에서, 커뮤니케이션 시스템은 서로 접속하는 개체(individual)들과 연관되는 트랜잭션 비용을 감소시킬 수 있는 시그널링(signaling) 기능성 및 특징을 제공할 수 있다. 여기서 사용된 바와 같이, 시그널링은 커뮤니케이션의 실체에 대한 선행자(precursor)로서 일어날 수 있는 상호 작용을 일반적으로 포함할 수 있다. 일부 실시예에서, 시그널링은 커뮤니케이션을 개체들 사이에 형성하거나, 및/또는 개시할 수 있는 커뮤니케이션 상호 작용 및 활동을 포함할 수 있다. 일 실시예에 따르면, 커뮤니케이션 프로세스(10)는, 제3자(즉, 하나 이상의 수신자)와의 커뮤니케이션을 개시하기 위해 사용자(즉, 콜이자)로부터 요청을 수신(단계 500)할 수 있다. 커뮤니케이션 프로세스(10)는 복수의 알림 옵션을 제공(단계 502)할 수 있다. 커뮤니케이션 프로세스(10)는 복수의 알림 옵션 중 선택된 하나의 알림 옵션을 수신(단계 504)할 수 있다. 또한, 커뮤니케이션 프로세스(10)는, 적어도 일부가, 복수의 알림 옵션 중 선택된 알림 옵션에 기초하여 제3자에게 알림을 전송(단계 506)할 수 있다.
예를 들어, 일 실시예에서, 커뮤니케이션 프로세스(10)는 커뮤니케이션을 개시하기 위한 요청을 수신(단계 500)할 수 있다. 일부 실시예에서, 하나 이상의 수신자와의 커뮤니케이션을 개시하기 위한 호출자에 의한 요청은, 적어도 하나의 레벨에서, 개체 또는 호출자가 통신하기를 원할 수 있는 개체의 ID와, 호출자가 커뮤니케이션을 개시하기 원할 수 있다는 표시를 포함할 수 있다. 예를 들어, 그리고 도 6을 참조하면, 일부 실시예에 따라, 커뮤니케이션 프로세스(예컨대, 사용자(32)와 연관된 스마트폰(12)에 의해 실행되는 연관된 커뮤니케이션 프로세스(10a))은 단독으로, 및/또는 하나 이상의 부가적인 어플리케이션과 함께, 주소록 사용자 인터페이스(600)를 제공할 수 있다. 주소록 사용자 인터페이스(600)는, 협력 커뮤니케이션 시스템을 이용할 수 있는 (예컨대, 협력 커뮤니케이션 시스템에 등록될 수 있는) 하나 이상의 개체의 목록을 포함할 수 있다. 이러한 실시예에서, 커뮤니케이션 프로세스(10)는, 주소록 사용자 인터페이스(600) 내로부터 개체(예컨대, 수신자가 될 수 있는 사용자(34))를 선택하는 콜이자(예컨대, 사용자(32))에 대한 응답으로 커뮤니케이션을 개시하기 위한 요청을 수신(단계 500)할 수 있다. 다양한 실시예에서, 사용자(32)는 단순히 (호출자로서) 사용자(32)가 커뮤니케이션을 개시하기를 원하는 대상이 되는 개체를 (예컨대, 터치 스크린 인터페이스 또는 기타 적절한 선택 디바이스를 통해) 선택할 수 있다.
다양한 부가적/대체적인 실시예에 따르면, 커뮤니케이션 프로세스(10)는, 커뮤니케이션 프로세스(10)가 커뮤니케이션을 개시하기 위한 요청을 수신(단계 500)할 수 있는 하나 이상의 부가적/대체적인 인터페이스 및/또는 하나 이상의 부가적인 어플리케이션와 상호 작용을 할 수 있다. 예를 들면, 일 실시예에서 커뮤니케이션 프로세스(10)는 커뮤니케이션 프로세스(10)를 실행시키는 컴퓨팅 디바이스에 의해 실행되는 캘린더 어플리케이션(예컨대, 커뮤니케이션 프로세스(10a)를 실행시킬 수 있는 스마트폰(12)에 의해 실행되는 캘린더 어플리케이션)과 상호 작용을 할 수 있다. 일 실시예에서, 콜이자(예컨대, 사용자(32))는, 캘린더 어플리케이션 내에 포함된 미팅에 초대받은 자로서 목록에 포함될 수 있는 개체를 선택할 수 있다. 적절한 사용자 입력(예컨대, 터치 및 스와이프 입력, 긴 터치 입력 또는 기타 적절한 사용자 입력)에 대한 응답으로, 커뮤니케이션 프로세스(10)는 단독으로, 및/또는 캘린더 어플리케이션과 함께, 선택된 개체와의 커뮤니케이션을 개시하기 위한 메뉴 옵션을 제공할 수 있다. 사용자(32)가 선택된 개체와의 커뮤니케이션을 개시하기 위한 메뉴 옵션을 선택하면, 커뮤니케이션 프로세스(10)는 선택된 개체와의 커뮤니케이션을 개시하기 위한 요청을 수신(단계 500)할 수 있다. 커뮤니케이션 프로세스(10)는, 소셜 네트워킹 어플리케이션, 이메일 어플리케이션, (예컨대, 다양한 개체의 위치 정보를 포함할 수 있는) 지도 어플리케이션 또는 기타 적절한 어플리케이션과 같은 다양한 부가적 및/또는 대체적인 어플리케이션과의 사용자 상호작용에 대한 응답으로, 유사한 방식으로 선택된 개체와의 커뮤니케이션을 개시하기 위한 요청을 수신(단계 500)할 수 있다.
일부 실시예에서, 개체와의 커뮤니케이션을 개시하기 위한 요청을 수신(단계 500)하는 것에 대한 응답으로, 커뮤니케이션 프로세스(10)는 사용자가 커뮤니케이션 하기를 의도하는 개체와 연관된 컨텍스트 정보를 수신(단계 508)할 수 있다. 일부 실시예에서, 커뮤니케이션 프로세스(10)는, 예컨대, 콜된 주소록 사용자 인터페이스(600)(또는 수신자가 선택될 수 있는 다른 인터페이스)에 대한 응답으로 컨텍스트 정보를 수신(단계 508)할 수 있다. 즉, 일 실시예에서, 커뮤니케이션 프로세스(10)는, 수신자가 선택될 수 있는 콜된 인터페이스에 기초하여 하나 이상의 수신자(및/또는 잠재적인 수신자)와 연관된 컨텍스트 정보를 수신할 수 있다. 다양한 실시예에 따르면, 컨텍스트 정보는, 다양한 정도로, 수신자(즉, 커뮤니케이션을 원하는 의도를 수신(단계 500)한 개체)에 관련된 상태 인식 정보 및/또는 신호(cue)를 제공할 수 있다. 예를 들어, 컨텍스트 정보는, 개체의 가용성(availability) 상태 및 유사한 용량 및/또는 커뮤니케이션에 참여하려는 의지, 및/또는 개체가 참여할 수 있는 커뮤니케이션의 포맷에 관한 지시자(indicator) 및/또는 신호를 제공할 수 있는 정보를 포함할 수 있다. 이러한 컨텍스트 신호는 (예컨대, 수신자와 연관된 클라이언트 디바이스에 의해 실행되는 연관된 커뮤니케이션 어플리케이션의) 수신자에 의해 명시적으로 설정되거나, 및/또는 클라이언트 디바이스의 운영 체제, 클라이언트 디바이스의 하드웨어 센서 및/또는 수신자와 연관된 클라이언트 디바이스와 연관된 어플리케이션 프로그램, 서비스 등으로부터 커뮤니케이션 어플리케이션에 의해 자동적으로 도출될 수 있다. 컨텍스트 신호는 수신자의 일반적 혹은 특정의 현재 또는 최근 위치, 방향 및 속도 또는 수신자의 클라이언트 디바이스의 일반적 혹은 특정의 현재 또는 최근 위치, 방향 및 속도를 포함할 수 있다.
예를 들면, 컨텍스트 정보는, 예컨대, 셀룰러 송수신기 또는 WiFi AP(WiFi access point) 등에 근접한, 개체와 연관된 디바이스(예컨대, 사용자(34)와 연관된 스마트폰(14))와 연관된 GPS 수신기, 나침반 및 가속도계에 의해 제공될 수 있는, 개체(즉, 수신자)의 하나 이상의 위치 및 개체와 연관된 궤적 정보를 포함할 수 있다. 위치 정보는 절대 및/또는 상대 위치 정보(예컨대, 개체가 상기 개체의 집에 존재한다, 개체가 당신과 가까이 있다 등)를 포함할 수 있다. 이와 유사하게, 궤적 정보는, 예를 들어, 특정 또는 일반적인 이동 속도 및 방향과 같은 개체의 이동 및 정보를 나타낼 수 있다. 위치 및/또는 궤적 컨텍스트 정보는, 예컨대, 개체가 현재 일반적으로 북동 방향으로 운전 속도로 여행을 하고 있다는 것 등을 나타낼 수 있다. 현재 운전 속도로 여행 중인 개체의 컨텍스트는, 예를 들어, 개체와의 커뮤니케이션을 위해 사용될 수 있는 데이터 타입에 관해 영향 받을 수 있다. 예를 들어, 텍스트 기반의 커뮤니케이션은 운전을 하고 있는 개체에 대해 바람직한 커뮤니케이션 포맷이 아닐 수 있다.
일부 실시예에서, 컨텍스트 정보는 제3자 수신자와 연관된 클라이언트 디바이스(예컨대, 사용자(34)와 연관된 스마트폰(14))와 연관된 센서 정보를 포함할 수 있다. 예를 들면, 센서 정보는 디바이스가 암흑 속에 있거나, 플러그 연결이 되었거나, 또는 (예컨대, 디바이스와 연관된 가속도계 또는 기타 센서에 기초하여) 지난 7 시간 동안 움직임이 없는 상태에 있음을 나타낼 수 있다. 시간 정보 등과 같은 부가적인 정보와 함께, 활동 정보는 개체가 커뮤니케이션 디바이스를 사용하지 않거나, 취침 중이라는 것 등을 암시하는 컨텍스트 정보를 제공할 수 있다.
일부 실시예에서, 컨텍스트 정보는 개체의 다른 어플리케이션과 연관된 정보에 기초하여 수신(단계 508)될 수 있다. 예를 들면, 개체와 연관된 전화 어플리케이션(예컨대, 사용자(34)가 이용하는 스마트폰(14)과 연관된 전화 기능)은, 개체가 현재 PSTN 통화에서 디바이스의 마이크 및 스피커를 사용하여 통화 중이라는 컨텍스트 정보를 제공할 수 있다. 개체와 연관된 캘린더 어플리케이션에 스케줄링 된 미팅은 개체가 현재 미팅 중이라는 것과 같은 컨텍스트 정보를 제공할 수 있다(예컨대, 또한, 전화 상 회의 및/또는 웹 상 회의 등의 미팅과 같은 미팅과 관련된 컨텍스트 정보를 제공할 수도 있다). 또한, 개체와 연관된 다양한 부가적 및/또는 대체적 어플리케이션은 개체와 연관된 컨텍스트 정보를 제공할 수도 있다.
다양한 실시예에서, 컨텍스트 정보는 통합된 방식으로 처리되거나, 및/또는 이해될 수 있다. 예를 들면, 다양한 컨텍스트 정보는, 개별의 분리된 정보로서 존재하기 보다는, 함께 해석되어 개체와 연관된 보다 풍부한 컨텍스트를 제공할 수 있다. 예를 들면, 개체가 운전 속도로 여행 중이고, 전화 통화중이고, 현재 미팅이 스케줄링 되어있다는 것을 나타내는 컨텍스트 정보는, 개체가 차량으로 이동을 하는 중에 전화 상 회의를 하고 있는 것으로 해석될 수 있다. 이러한 컨텍스트 정보는 개체와의 커뮤니케이션을 개시하기를 원하는 사용자가, 개체가 커뮤니케이션에 의해 방해받게 할 것인지 여부 및/또는 개체가 커뮤니케이션에 의해 방해받도록 하기 위한 방법을 가늠할 수 있다(예컨대, 사용자는 커뮤니케이션의 긴급 정도를 가늠할 수 있다).
다양한 실시예에 따르면, 컨텍스트 정보는, 컨텍스트 정보가 연관된 개체의 프라이버시(privacy)에 민감할 수 있는 방법 및/또는 포맷으로 수신(단계 508)될 수 있다. 예를 들어, 컨텍스트 정보는 프라이버시에 민감할 수 있는 세분화 및 구체화 정도를 고려하여 수신(단계 508)될 수 있다. 예를 들면, 위치 및/또는 궤적 정보는, 개체의 정확한 속도와 위치를 식별하지 않고, 개체가 운전 속도로 이동 중임을 나타낼 수 있다. 다양한 다른 타입의 컨텍스트 정보는 프라이버시에 민감한 포맷으로 수신(단계 508)될 수 있다.
다양한 실시예에 따르면, 컨텍스트 정보의 프라이버시 민감도는, 예컨대, 시스템 수준 및/또는 개별 사용자 수준의 설정에 따라 다양할 수 있다. 예를 들어, 사용자는 다양한 다른 사용자들과 연관된 프라이버시 민감도 수준을 다양하게 형성할 수 있다. 예를 들면, 개체는 조금 아는 사용자들에 의해 수신될 수 있는 그들의 컨텍스트 정보에서 높은 정도의 프라이버시를 원할 수 있다. 그러나, 상기 개체는 친밀하게 가까운 친구 및 가족에 의해 수신될 수 있는 그들의 컨텍스트 정보에서 낮은 정도의 프라이버시를 원할 수 있다. 따라서, 일부 실시예에서, 개체는 컨텍스트 정보를 수신할 수 있는 사용자와, 컨텍스트 정보와 연관되는 프라이버시 설정을 할 수 있다. 일부 실시예에서, 고수준의 디폴트 프라이버시 민감도는 컨텍스트 정보와 연관될 수 있다. 디폴트 프라이버시 민감도는 다양한 개체 및/또는 사용자 그룹에 대해 개체에 의해 변경될 수 있다. 컨텍스트 정보와 연관된 프라이버시 민감도를 관리하기 위한 다양한 부가적 및/또는 대체적 메커니즘이 이와 유사하게 구현될 수 있다.
일 실시예에서, 커뮤니케이션 프로세스(10)는 개체와 연관된 디바이스(예컨대, 사용자(34)와 연관된 스마트폰(14))로부터 직접 컨텍스트 정보를 수신(단계 508)할 수 있다. 일부 실시예에서, 커뮤니케이션 프로세스(10)는, 커뮤니케이션 프로세스(10)에 의해 개체와 연관된 디바이스로 전송된 컨텍스트 정보에 대한 요청에 대한 응답으로, 개체에 관련된 컨텍스트 정보를 수신(단계 508)할 수 있다. 일부 실시예에서, 개체와 연관된 디바이스는 컨텍스트 정보를, 컨텍스트 정보를 유지할 수 있는 서버(예컨대, 서버(18))에 간헐적으로 전송할 수 있다. 예를 들어, 개체와 연관된 디바이스는 컨텍스트 정보를 서버 컴퓨터(18)에 간헐적으로(예컨대, 미리 정해진 간격으로) 전송할 수 있다. 일부 실시예에서, 개체와 연관된 디바이스는, 예컨대, 개체와 연관된 컨텍스트의 변경(예컨대, 움직임 상태의 변경, 개체와 연관된 캘린더 어플리케이션의 현재 미팅의 표시 변경 등)에 대한 응답으로 컨텍스트 정보를 서버 컴퓨터(18)에 전송할 수 있다. 이러한 실시예와 일관성을 유지하면서, 커뮤니케이션 프로세스(10)는 서버(18)로부터 컨텍스트 정보를 수신(단계 508)할 수 있다. 일부 실시예에서, 예컨대, 에너지 절약이 바람직한 경우, 디바이스는 컨텍스트 프로세스(100)가 그러한 정보가 정말로 필요하다는 것을 (예컨대, 실시간 및/또는 준 실시간으로) 표시하기 전까지 컨텍스트 정보를 커뮤니케이션 프로세스(10)에 전송하지 않을 수 있다. 예를 들면, 커뮤니케이션 프로세스(10)는, 특정 수신자와의 커뮤니케이션을 개시하기 위한 요청을 수신(단계 500)하는 커뮤니케이션 프로세스(10)에 대한 응답으로 수신자 컨텍스트(?) 수신(단계 508)될 수 있다. 다양한 부가적/대체적 실시예가 이와 유사하게 구현될 수 있다.
커뮤니케이션 프로세스(10)는 복수의 수신자 알림 옵션을 제공(502)할 수 있다. 일부 실시예에서, 복수의 알림 옵션은, 예를 들어, 호출자에게 (예컨대, 주소록 사용자 인터페이스(600) 내로부터 "alert" 버튼(602)을 선택함으로써) 무음으로 또는 조용하게 수신자에게 알리는 옵션을 주거나, 이와 다르게 호출자에게 (예컨대, 주소록 사용자 인터페이스(600) 내로부터 "ring" 버튼(604)을 선택함으로써) 특정 소리를 연주하거나 수신자의 폰의 벨소리를 크게 하는 옵션을 줄 수 있다. 일부 실시예에서, 복수의 커뮤니케이션 옵션을 제공(단계 502)하는 것은 수신자(즉, 사용자가 커뮤니케이션 하기를 원하는 제3자 또는 개체)와 연관된 컨텍스트 정보를 제공(단계 510)하는 것을 포함할 수 있다. 커뮤니케이션 프로세슴(10)는 다양한 적절한 방식에 따라 개체와 연관된 컨텍스트 정보를 제공(단계 510)할 수 있다. 예를 들어, 일부 실시예에서, 커뮤니케이션 프로세스(10)는, 주소록 사용자 인터페이스(600)의 각각의 수신자와 연관된 하나 이상의 아이콘(예컨대, 운전 아이콘(606) 및/또는 보행 아이콘(608))의 형태로 하나 이상의 수신자 및/또는 잠재적인 수신자(본 명세서에서 총괄하여 "수신자"라고 함)와 연관된 컨텍스트 정보를 제공(단계 510)할 수 있다. 다른 실시예에서, 커뮤니케이션 프로세스(100)는 단순히 컨텍스트 정보(예컨대, "사용자(34)가 운전 속도로 여행 중")를 스마트폰(12)과 연관된 디스플레이 상에 표시할 수 있고, 예컨대, TTS(text to speech) 엔진을 통해 정보를 전달할 수 있다. 또한 다양한 타입의 컨텍스트 정보는 다르게 제공(단계 510)될 수 있다. 예를 들어, 위치 컨텍스트 정보는 지도 표시 인터페이스를 통해 제공(단계 510)될 수 있다. 예를 들면, 사용자(34)(사용자(32)가 커뮤니케이션을 개시하기를 원하는 개체)가 운전 속도로 여행하는 실시예에서, 커뮤니케이션 프로세스(100)는 (단독으로 및/또는 지도 어플리케이션과 같은 다른 어플리케이션과 함께) 사용자(34)의 현재 및/또는 최근 위치를 나타내는 지도를 생성하고, 사용자(34)가 운전하는 것을 더 표시할 수 있다. 컨텍스트 정보를 제공(단계 510)하기 위한 다양한 부가적 및/또는 대체적 메커니즘이 이와 유사하게 이용될 수 있다. 상술한 바와 같이, 일부 실시예에서, 커뮤니케이션 프로세스(10)는 복수의 알림 옵션을 제공하기 전에 컨텍스트 정보를 제공할 수 있다.
일 실시예에 따르면, 복수의 알림 옵션은, 경량화된 프리-콜(pre-call) 다이얼로그가 호출자와 수신자 사이에서 수행되도록 할 수 있는 하나 이상의 미리 정해지거나 사용자화된 다이얼로그 옵션을 포함할 수 있다. 예를 들면, 다이얼로그 옵션은, 예컨대, 개체의 컨텍스트 또는 상황에 기초하여, 개체가 선호하는 커뮤니케이션 양식 또는 포맷이 있는지 여부를 결정하거나, 및/또는 개체가 호출자와의 통신이 가능한지 여부(예컨대, 상태 요청)를 결정하기 위해 사용될 수 있는 기본 교환을 포함할 수 있다. 예를 들어, 커뮤니케이션 프로세스(10)는 하나 이상의 다이얼로그 옵션을 포함하는 복수의 알림 옵션을 호출자가 선택 가능한 아이템으로서 제공(단계 502)할 수 있다. 예를 들어, 도 6에 도시된 바와 같이, 커뮤니케이션 프로세스(10)는 "join me in this call" 버튼(610)을 제공할 수 있다. 버튼(610)을 선택하는 호출자에 대한 응답으로, 커뮤니케이션 프로세스(10a)는 (단독으로 및/또는 다른 어플리케이션과 함께) 도 7에 도시된 다이얼로그 사용자 인터페이스(700)를 생성할 수 있다. 다이얼로그 사용자 인터페이스(700)는, 예컨대, 다이얼로그 사용자 인터페이스(700) 내에서 선택 가능한 옵션(예컨대, "just saying hi" 옵션(702), "you available?" 옵션(704) 및 "need to talk now" 옵션(706))일 수 있는, 하나 이상의 미리 정의된 다이얼로그 옵션을 포함할 수 있다. 다이얼로그 메뉴는 세 가지의 다이얼로그 옵션을 포함하도록 도시되었지만, 이것은 설명을 위한 것일 뿐, 다이얼로그 옵션의 개수와 특성은 설계 기준 및 사용자 필요에 따라 다양할 수 있다. 또한, 다이얼로그 사용자 인터페이스는, 예컨대, 사용자(32)가 빈 양식 다이얼로그를 입력할 수 있도록 할 수 있는 입력 필드(708)를 포함할 수 있다. 또한, 일부 실시예에서, 다이얼로그 메뉴(602) 내에 포함된 다이얼로그 옵션은, 예컨대, 사용자에 의해, 어플리케이션 개발자, 시스템 관리자, 또는 기타 개인에 의해, 사용자화될 수 있다. 또한, 도 7은 오로지 하나의 다이얼로그 메뉴만을 포함하도록 도시되었지만, 둘 이상의 다이얼로그 메뉴가 포함될 수 있다. 일부 실시예에서, 다양한 신호 측면(예컨대, 개체의 상태 및/또는 가용성, 선호되는 커뮤니케이션 양식, 중요도 등)에 관련된 다이얼로그 옵션을 포함하는 다양한 다이얼로그 메뉴가 포함될 수 있다.
커뮤니케이션 프로세스(10)는 복수의 커뮤니케이션 옵션 중 선택된 하나의 옵션을 수신(단계 504)할 수 있다. 예를 들면, 콜이자(예컨대, 사용자(32))는, 예컨대, 터치 선택 제스처 또는 기타 적절한 선택 메커니즘을 사용하여 하나 이상의 알림 옵션(예컨대, 다이얼로그 사용자 인터페이스(700) 내에 포함된 하나 이상의 다이얼로그 옵션)을 선택할 수 있다. 또한, 커뮤니케이션 프로세스(10)는, 복수의 알림 옵션 중 선택된 알림 옵션에 적어도 일부 기초하여 알림을 제3자(즉, 사용자가 커뮤니케이션 하기를 원하는 수신자 또는 개체)에게 전송(단계 506)할 수 있다.
또한, 커뮤니케이션 프로세스(10)는 제3자로부터 알림에 대한 답변을 수신(단계 512)할 수 있다. 예를 들어, 다이얼로그 사용자 인터페이스(700) 내에서 다이얼로그 옵션(예컨대, "you available?"(704))을 선택하는 사용자(32)에 대한 응답으로, 커뮤니케이션 프로세스(10)(예컨대, 커뮤니케이션 프로세스(10a) 및/또는 커뮤니케이션 프로세스(10d))는 알림을 수신자(예컨대, 사용자(34))에게 전송(단계 506)할 수 있다. 도 8을 참조하면, 알림은 수신자와 연관된 디바이스(예컨대, 사용자(34)와 연관된 스마트폰(14))에 의해 수신될 수 있다. 다이얼로그 옵션은, 예컨대, 대응하는 커뮤니케이션(예컨대, 스마트폰(14)에 의해 실행되는 커뮤니케이션 프로세스(10b)) 프로세스 및/또는 기타 적절한 어플리케이션에 의해, 개체(예컨대, 스마트폰(14))와 연관된 디바이스 상에 (예컨대, 사용자 인터페이스(750)에) 표시될 수 있다. 일 실시예에서, 사용자 인터페이스(750)는, 하나 이상의 선택 가능한 답변 옵션(예컨대, "can't talk now"(752), "give me a minute"(754), "I'll call you right back"(756) 및 "text me"(758))을 포함할 수 있는 하나 이상의 답변 다이얼로그 옵션을 포함할 수 있다. 사용자(34)는, 예컨대, 원하는 답변을 터치함으로써, 답변 사용자 인터페이스(750)내로부터 적절한 답변을 선택할 수 있다. 답변 사용자 인터페이스(750)는 네 가지 옵션을 포함하는 것으로 도시되었지만, 답변 사용자 인터페이스(750) 내에 포함된 옵션의 개수와 특성은 설명을 위한 것일 뿐이다. 답변 메뉴 내에 포함된 답변의 개수와 특성은 설계 기준 및/또는 사용자 필요에 따라 다양할 수 있고, (예컨대, 사용자에 의해, 시스템 관리자에 의해, 어플리케이션 개발자에 의해, 또는 다른 개인에 의해) 부가적/대체적으로 사용자화될 수 있다. 또한, 일부 실시예에서, 개체는 (예컨대, 입력 필드(760)를 통해) 빈 양식 답변에 입력할 수 있도록 될 수 있거나, 및/또는 사용자로부터 수신된 다이얼로그 옵션에 답변할 수 있다.
알림의 일부로서 커뮤니케이션 프로세스(10)에 의해 전송(단계 506)되는 다이얼로그 옵션에 대한 답변을 선택하거나 및/또는 입력하는 수신자(예컨대, 사용자(34))에 대한 응답으로, 커뮤니케이션 프로세스(10)는 개체로부터 답변을 수신(512)할 수 있다. 예를 들어, 도 9에 도시된 바와 같이, 사용자(34)는 답변 사용자 인터페이스(750) 내로부터 "text me" 답변 옵션을 선택했을 수 있다. 따라서, (예컨대, 적어도 일부는 커뮤니케이션 프로세스(10a)에 의해 스마트폰(12) 상에 형성될 수 있는) 사용자 인터페이스(800)는 개체로부터 수신(단계 512)된 답변을 표시할 수 있다.
커뮤니케이션 프로세스(10)는 개체와의 커뮤니케이션을 개시(514)할 수 있다. 예를 들어, 사용자(32)는 개체(예컨대, 본 실시예의 사용자(34))로부터 답변을 선택하거나, 및/또는 개시 옵션(예컨대, 경고 버튼(802) 및/또는 링 버튼(804))을 선택할 수 있다. (예컨대, 터치 선택 입력 등을 통해) 사용자 인터페이스(800) 내의 답변 및/또는 개시 옵션을 선택하는 사용자(32)에 대한 응답으로, 커뮤니케이션 프로세스(10)는 커뮤니케이션을 개시(단계 514)할 수 있다. 답변이 개체가 텍스트 기반의 커뮤니케이션을 원함을 나타내는 도시된 실시예에서, 커뮤니케이션 프로세스(10)는, 적어도 개시 커뮤니케이션 양식으로서 텍스트 기반의 커뮤니케이션을 선호하도록 구성된 사용자 인터페이스 디폴트로 사용자(34)와의 커뮤니케이션을 개시(514)할 수 있다. 물론, 다른 실시예는, 예컨대, 적어도 일부가, 제3자, 사용자 설정 등에 대한 응답에 기초한 다른 양식의 커뮤니케이션을 포함할 수 있다.
상술한 실시예는 사용자로부터 상기 사용자가 커뮤니케이션 하기를 원하는 개체로의 단일의 다이얼로그 교환과, 상기 개체로부터의 단일의 답변만을 포함하였지만, 이러한 교환의 예는 설명을 위한 것에 불과하고 한정하려는 것이 아니다. 다양한 실시예에서, 커뮤니케이션이 개시되기 전에 다수의 다이얼로그를 주고 받는 교환이 일어날 수 있다. 또한, 일반적으로 제시된 바와 같이, 다이얼로그 및/또는 답변의 하나 이상의 일련의 세트는, 적어도 일부가, 이전의 다이얼로그 및/또는 답변을 기초로 할 수 있다. 예를 들면, 답변 다이얼로그는, 적어도 일부가, 수신된 다이얼로그에 기초할 수 있어, 답변 다이얼로그 옵션은 수신된 다이얼로그에 답변하기에 적절할 수 있다.
일반적으로 상술한 바와 같이, 일부 양상에 따르면, 본 명세서에서 커뮤니케이션 프로세스는 사람들 사이의 커뮤니케이션을 가능하도록 하는 플랫폼 또는 시스템을 제공할 수 있다. 일반적으로, 커뮤니케이션 프로세스는, 일부 실시예에서, 단일의 콜에서 폭넓은 다양한 데이터 타입 및/또는 미디어 타입의 통합되고 동시적인 교환을 할 수 있도록 하는 단일의 어플리케이션을 제공할 수 있다. 본 명세서에서 사용된 바와 같이, 콜은 일반적으로, 예컨대, 임시적으로 순서가 정해지고 관련되고, 단일의 대화 또는 관련된 상호 작용의 그룹을 구성할 수 있는 상호 작용으로 일반적으로 공통되는 시간에 관한 속성에 의해 서로 함께 링크된 일련의 상호 작용을 나타낼 수 있다. 또한, 콜을 이루는 일련의 상호 작용은 콜의 참가자의 면에서 일반적으로 관련될 수 있다. 예를 들어, 참가자의 일부는 (예컨대, 콜을 나가거나 및/또는 참여하는 참가자에 의해) 콜 동안에 변경할 수 있지만, 콜은 참가자 속성을 포함할 수 있다. 즉, 콜은, 적어도 일부가, 콜에 참여하는 자에 기초하여 식별될 수 있다. 따라서, 참가자는 콜의 속성일 수 있다. 일부 실시예에서, 본 명세서에서의 커뮤니케이션 프로세스는, 단일 콜 동안 다수의 상이한 데이터 타입 및/또는 미디어 타입을 동시에 사용하거나, 매끄럽게 변환시킬 수 있는 콜 참가자의 세트 사이에 실시간 미디어 채널을 제공할 수 있는 어플리케이션 및/또는 시스템을 제공할 수 있다.
도 9를 참조하면, 일 실시예에서, 커뮤니케이션 프로세스(10)는 채널을 통해 콜을 개시하기 위한 요청을 수신(단계 900)할 수 있다. 또한, 커뮤니케이션 프로세스(10)는 채널과 연관된 콜 참가자 세트를 식별(단계 902)할 수 있다. 커뮤니케이션 프로세스(10)는 콜과 연관된 일련의 커뮤니케이션을 수신(904)할 수 있다. 일련의 커뮤니케이션은 실시간 미디어 데이터 타입(예컨대, 동기식 데이터 타입)과 비동기식 포스트 데이터 타입을 포함할 수 있다. 또한, 커뮤니케이션 프로세스(10)는 일련의 커뮤니케이션을 콜에 전송(단계 906)할 수 있다.
커뮤니케이션 프로세스(10)는 채널을 통해 콜을 개시하기 위한 요청을 수신(단계 900)할 수 있고, 채널과 연관된 콜 참가자 세트를 식별(단계 902)할 수 있다. 본 발명과 일관성을 유지하면서, 일반적으로 콜은, 커뮤니케이션 프로세스(10)에 의해 가능하게 되는 커뮤니케이션 시스템의 구성원들 사이에 상호 작용의 세트를 포함할 수 있다. 콜을 발생시키는 상호 작용의 세트는 채널의 컨텍스트에서 개시되는 콜을 포함할 수 있다. 채널은, 채널 내에서 개시되는 모든 콜에 자동적으로 참여가 제안될 수 있는 공통의 디폴트 참가자 세트를 포함하는 하나 이상의 콜의 세트를 포함할 수 있다. 따라서, 상호 작용에 참여하는 구성원의 참가자 세트는 콜의 속성일 수 있다. 커뮤니케이션 프로세스(10)는 디폴트 콜 참가자 세트를 채널과 연관된 참가자 세트를 포함하는 것으로서 식별(단계 902)할 수 있다. 즉, 디폴트로, 콜 참가자 세트는 채널 참가자 세트를 포함할 수 있다. 일부 실시예에서, 그리고 아래에서 상세하게 설명되는 것과 같이, 채널 참가자 세트는 소정의 콜을 위해, 콜에 개체를 추가하거나 콜에서 개체를 제거함으로써, 수정될 수 있다. 콜 참가자 세트는 콜에서 실제 참가자일 수 있는 개체를 포함할 수 있다.
일 실시예에서, 커뮤니케이션 프로세스는, 사용자(예컨대, 스마트폰(12)을 사용하는 사용자(32))의 입력에 대한 응답으로 콜을 개시하기 위한 요청을 수신(단계 900)할 수 있다. 사용자(32)의 입력은, 예를 들어, 커뮤니케이션 프로세스(10)와 연관된 주소록(예컨대, 네크워크(20)와 같은 네트워크를 통하거나, 로컬에서 스마트폰(12) 상에서 실행되는 커뮤니케이션 프로세스(10a)와 상호 작용할 수 있는 주소록) 내로부터의 선택된 채널을 포함할 수 있다. 일부 실시예에서, 채널은, 콜이 개시되는 채널의 종류에 의해, 그리고 상기 채널에 대한 가입자 또는 구성원의 리스트에 의해 암시적으로 선택될 수 있다. 예를 들면, 커뮤니케이션 프로세스(10)는 채널의 구성원십이 사용자에 의해 수동적으로 구성되도록 하거나, 페이스북(Facebook) 그룹과 같이 외부에서 관리될 수 있는 개체, (예컨대, 캘린더 어플리케이션 등을 통해 관리될 수 있는) 공통되는 미팅에의 참가자, 온라인 작업 공간 또는 폴더에 접근 권한이 있는 개체 등의 세트와 자동적으로 동기화하도록 구성될 수 있다.
채널과 연관된 콜 참가자 세트를 식별(단계 902)하는 것은 콜에 초대될 수 있는 개체를 식별하는 것뿐 아니라, 기존의 채널과 연관된 콜 참가자 세트를 식별(단계 902)하는 것을 포함할 수 있다. 일반적으로 상술한 바와 같이, 일 실시예에서, 채널과 연관된 콜 참가자 세트를 식별(단계 902)하는 것은 채널과 연관되고 미리 정의된 채널 참가자를 접근(단계 908)하는 것을 포함할 수 있다. 채널과 연관된 미리 정의된 채널 참가자 세트는, 예를 들어, 지난 콜 또는 이전에 존재하는 채널(예컨대, 과거의 미리 정의된 개체 그룹 사이의 하나 이상의 콜에 대해 사용될 수 있는 채널)과 연관될 수 있는 개체의 리스트를 포함할 수 있다. 따라서, 이러한 실시예에서, 커뮤니케이션 프로세스(10)는, 사전에 존재하는 채널 및 이전 콜과 연관된 참가자 세트에 접근(단계 908)함으로써, 콜 참가자 세트를 식별(단계 902)할 수 있다. 즉, 채널 참가자 세트는, 적어도 일부가, 콜 참가자 세트의 기초를 형성(예컨대, 콜을 목적으로 하는 채널 참가자 세트로부터 개체의 추가 및/또는 삭제와 같은, 모든 수정)할 수 있다.
다른 실시예에서, 채널과 연관된 미리 정의된 채널 참가자에 접근(단계 908)하는 것은, 커뮤니케이션 프로세스(10)와 통합되거나, 및/또는 커뮤니케이션 프로세스(10)에 의해 접근 가능한 주소록을 접근하는 것을 포함할 수 있다. 예를 들어, 일 실시예에서, 사용자(예컨대, 사용자(32))는 커뮤니케이션 프로세스(10)와 연관된 주소록을 정의할 수 있다. 커뮤니케이션 프로세스와 연관된 주소록은 사용자(32)와 연관된 하나 이상의 채널을 표시하는 것을 포함할 수 있고, 각각의 하나 이상의 채널은 채널의 하나, 또는 둘 이상의 참가자를 포함할 수 있다. 예를 들어, 주소록의 각각의 개체 주소는 쌍 채널(pair-wise channel)(예컨대, 사용자(32) 및 주소록에 기재된 개체를 포함하는 채널 참가자 세트)을 만들 수 있다. 마찬가지로, 둘 이상의 개체를 포함할 수 있는, 주소록에 기재된 각각의 컨택 그룹은 그룹 채널(group-wise channel)(예컨대, 사용자(32) 및 개체의 세트를 포함하는 채널 참가자 세트)을 만들 수 있다. 채널을 통해 콜을 개시하기 위한 요청을 수신(단계 900)하는 것에 대한 응답으로, 커뮤니케이션 프로세스(10)는 또한 채널과 연관된 콜 참가자 세트(예컨대, 콜에 대한 의도된 참가자)를 식별(단계 902)할 수 있고, 그것은, 예컨대, 주소록에서 정의된, 채널과 연관된 미리 정의된 채널 참가자 세트를 접근(단계 908)하는 것을 포함할 수 있다. 미리 정의된 참가자 세트를 포함하는 채널은 명시적인 채널을 포함할 수 있다.
일 실시예에서, 채널과 연관된 콜 참가자 세트를 식별(단계 902)하는 것은 개체의 암시적인 연관관계에 적어도 일부 기초하여 채널을 정의(단계 910)하는 것을 포함할 수 있다. 예를 들어, 또한 일반적으로 상술한 바와 같이, 채널은, 예를 들어, 서로에 대한 연관관계가 공통의 상호 작용 또는 교차점에 의해 암시되는 개체의 그룹을 포함할 수 있는 개체의 암시적 그룹과 연관될 수 있다. 예를 들면, 개체의 그룹은 공통의 소셜 네트워킹 그룹(예컨대, 페이스북 그룹, 또는 기타 유사 그룹)의 구성원일 수 있다. 다른 실시예에서, 개체의 그룹은, 캘린더 시스템 또는 어플리케이션을 사용하여 스케줄링 될 수 있는 활동 또는 미팅에 초대된 자 및/또는 참가자로서 표시될 수 있다. 이와 유사한 개체의 암시적 연관관계는 공유된 온라인 공간 또는 폴더에 대한 접근 권한을 가지는 개체에 적어도 일부 기초할 수 있다. 따라서, 커뮤니케이션 프로세스(10)는 개체의 암시적 연관관계에 기초하여 채널을 정의하는 것을 포함하는 콜에 대한 디폴트 참가자 세트를 식별(단계 902)하는 것을 포함할 수 있다. 이러한 실시예와 일관성이 유지되도록, 커뮤니케이션 프로세스(10)는, (예컨대, 소셜 네트워킹 그룹, 캘린더 이벤트 등을 선택함으로써) 암시적으로 연관된 개체들의 교차점과 연관된 사용자 입력에 기초한 채널을 통해 콜을 개시하는 요청을 수신(단계 900)할 수 있다. 상술한 것과 유사한 방식으로, 그리고 아래에서 상세히 설명되는 바와 같이, 콜 참가자 세트는, 예컨대, 채널 참가자 세트에 개체를 추가하거나 채널 참가자 세트로부터 개체를 삭제함으로써, 수정된 채널 참가자 세트에 기초할 수 있다.
다양한 실시예에 따르면, 콜 참여는 연장되거나 및/또는 제한될 수 있다. 예를 들어, 커뮤니케이션 프로세스(10)는 (암시적으로 또는 명시적으로) 정의된 참가자 세트를 포함하는 채널이 콜을 위한 하나 이상의 부가적인 참가자를 포함하도록 확장될 수 있도록 한다. 콜 참가자 세트의 확장은 (예컨대, 단일의 콜 및/또는 단일의 콜의 일부를 위해) 임시적일 수 있다. 일부 실시예에서, 콜 참가자 세트의 확장은 (예컨대, 채널과 연관된 모든 콜을 위해, 그렇게 함으로써 기본적인 채널 참가자 세트를 명시적으로 수정할 수 있는) 영속적일 수 있다. 일부 실시예에서, 채널 참가자 세트의 영속적인 확장은, 확장된 참가자 세트를 포함할 수 있는 새로운 채널이 생성되도록 한다. 일반적으로 상응하는 방식에서, 커뮤니케이션 프로세스(10)는 (암시적으로 또는 명시적으로) 정의된 참가자 세트를 포함하는 채널이, 콜을 위한 참가자 세트로부터 하나 또는 둘 이상의 참가자를 삭제함으로써 제한될 수 있도록 하고, 이렇게 함으로써 채널 참가자 세트의 서브세트인 콜 참가자 세트를 생성한다. 콜과 연관된 참가자 세트로부터 구성원을 제한하는 것은 (예컨대, 단일의 콜을 위해) 임시적일 수 있거나, 및/또는 영속적일 수 있고, 이렇게 함으로써 기본 채널 참가자 세트를 수정할 수 있다. 일부 실시예에서, 채널과 연관된 참가자 세트의 영속적인 제한은, (예컨대, 단순히 기존에 존재하는 채널을 수정하는 것과 반대로) 원래의 참가자 세트를 포함하는 원래의 채널을 유지하면서 제한된 참가자 세트를 포함하는 새로운 채널을 생성하는 결과를 가져올 수 있다.
다양한 실시예에 따르면, 콜을 개시하기 위한 요청과 관련하여 적절한 사용자 인터페이스가 사용될 수 있다. 예를 들면, 개체와 암시적으로 연관된 교차점, 또는 주소록 내의 주소 및/또는 주소 그룹을 사용자가 길게 터치하거나 다중 탭을 하는 것에 대한 응답으로, 커뮤니케이션 프로세스(10)는 (단독으로 및/또는 하나 이상의 부가적인 어플리케이션과 함께) 메뉴 등과 같은 사용자 인터페이스를 생성할 수 있다. 커뮤니케이션 프로세스(10)에 의해 생성된 사용자 인터페이스는 콜을 개시되도록 요청하기 위해 사용자(예컨대, 상술한 실시예의 사용자(32))에 대한 옵션을 제공할 수 있다.
콜을 개시하는 것은, 예를 들어, 콜 참가자 세트의 구성원에게 시그널링을 하여, 채널을 통해 콜을 수행하기 위한 구성권의 의도의 구성원들에게 알리는 것을 포함할 수 있다. 시그널링은 콜 참여 세트의 구성원과 연관된 하나 이상의 디바이스에 알림을 전송하는 것을 포함하는 종래의 알림 구성을 포함할 수 있다. 부가적/대체적으로, 본 명세서에서 일반적으로 설명된 바와 같은 진보된 형태의 시그널링 또한 구현될 수 있다. 이러한 시그널링은, 예컨대, 가용성 및 바람직한 콜 양식을 확인할 수 있는 미리 콜된 다이얼로그를 이용할 수 있다. 콜의 개시와 연관된 다른 시그널링은 이와 유사하세 이용될 수 있다.
커뮤니케이션 프로세스(10)는 콜과 연관된 일련의 커뮤니케이션을 수신(단계 904)할 수 있다. 일련의 커뮤니케이션은 적어도 실시간 데이터 타입 및 비동기식 포스트 데이터 타입을 포함할 수 있다. 예를 들어, 일반적으로 상술한 바와 같이, 일 양상에 따라, 커뮤니케이션 프로세스(10)는 커뮤니케이션이 다수의 상이한 데이터 타입을 포함하거나 및/또는 다수의 상이한 미디어 타입을 포함하도록 할 수 있다. 일 실시예에서, 일련의 커뮤니케이션을 수신(단계 904)하는 것은 일련의 커뮤니케이션을 실시간의 패킷화된 데이터 전송으로서 수신하는 것을 포함할 수 있다.
다양한 실시예에 따르면, 실시간 미디어 데이터는 실시간으로 데이터 전송되고 소비되는 것뿐 아니라, 예컨대, 실시간으로 소비되거나 소비되지 않을 수 있는 실시간 스트리밍 데이터를 포함하는 미디어 데이터 타입을 스트리밍하는 것을 포함할 수 있다. 본 명세서에서 사용된 바와 같이, 실시간이라는 용어는 미디어 데이터가 일반적으로 하나 이상의 콜 참가자에 의해 일반적으로 데이터의 전송과 동시에 전송된 데이터가 수신될 수 있는 것일 수 있다. 일 실시예에서, 실시간 미디어 데이터 타입은 음성 데이터와 같은 실시간 오디오 데이터를 포함하거나, 및/또는 비디오 데이터와 같은 실시간 데이터를 포함할 수 있다. 일 실시예에서, 실시간 오디오 데이터는 VoIP 데이터 및/또는 VoIP 데이터를 포함할 수 있는 실시간 비디오 데이터를 포함할 수 있고, 다른 형태의 실시간 오디오 데이터도 마찬가지로 이용될 수 있다. 이러한 양상에 일관적으로, 콜 내에 포함된 일련의 커뮤니케이션의 적어도 일부분은 음성 커뮤니케이션을 포함할 수 있다. 음성 커뮤니케이션은, 예컨대, 표준 전화 또는 VoIP 콜의 음성 커뮤니케이션과 유사할 수 있는 실시간 음성 커뮤니케이션을 포함할 수 있다. 일 실시예에서, 콜과 연관된 음성 커뮤니케이션의 스위칭 및 라우팅은 PBX, VoIP 또는, 커뮤니케이션 어플리케이션(10)(예컨대, 서버 컴퓨터(18)에 의해 실행되는 커뮤니케이션 어플리케이션(10d))과 상호 작용할 수 있는 통합된 텔레포니 시스템에 의해 용이하게 될 수 있다. 일 실시예에서, PBX, VoIP 또는 통합된 텔레포니 시스템은 공용 스위치 전화 네트워크와 상호 접속될 수 있다.
일 실시예에서, 실시간 오디오 데이터는 연속적으로 스트리밍되는 음성 데이터를 포함할 수 있다. 일부 실시예에서, 연속적으로 스트리밍되는 보이스 데이터는 대칭적인 방식(symmetrical manner)으로 구현될 수 있어, 예컨대, 콜 참가자 세트에 포함된 모든 구성원은 연속적으로 스트리밍되는 음성 데이터를 콜 참가자 세트에 포함된 다른 멤버에게 생성하고 소비할 수 있다. 일부 실시예에서, 실시간 오디오 데이터는, 버스트 음성 전송과 같은 버스트 오디오 전송을 포함할 수 있다. 예를 들어, 도 10을 또한 참조하면, 커뮤니케이션 프로세스(10)는, 예컨대, 터치 스크린 인터페이스를 통해 제공되는 사용자 인터페이스(1002)에 가상의 버튼을 포함할 수 있는 말하기 버튼(1000)을 제공할 수 있다. 말하기 버튼(1000)을 활성화시키는 사용자에 대한 응답으로, 커뮤니케이션 프로세스(10)는 음성 데이터(예컨대, 컴퓨팅 디바이스와 연관된 마이크를 통해 수신될 수 있는 임의의 오디오 데이터)를 수신(단계 904)할 수 있다. 말하기 버튼(1000)을 릴리즈(release)하면, 커뮤니케이션 프로세스(10)는 음성 데이터를 수신(단계 904)하는 것을 중단할 수 있다. 일 실시예에서, 커뮤니케이션 프로세스(10)는 사용자가 버스트 음성 데이터를 제공하는 것과 연속적인 음성 데이터를 제공하는 것 사이에서 변환할 수 있도록 한다. 예를 들면, 설명된 바와 같이, 말하기 버튼(1000)을 누르는 사용자에 대한 응답으로, 커뮤니케이션 프로세스(10)는 말하기 버튼(1000)이 활성화된 동안에 버스트 음성 데이터를 수신(단계 904)할 수 있다. 일 실시예에서, 커뮤니케이션 프로세스(10)는 사용자가 연속적인 음성 데이터를 제공하는 것으로 변환할 수 있도록 한다. 예를 들어, 사용자는 가상의 버튼을 누름으로써 말하기 버튼(1000)을 활성화시킬 수 있다. 그 후 사용자는 잠그는 제스처(예컨대, 말하기 버튼(1000)을 측방향으로 슬라이딩 하는 제스처 또는 기타 적절한 제스처)를 발생시킬 수 있다. 사용자가 잠그는 제스처를 발생시키면, 커뮤니케이션 프로세스(10)는 연속적인 음성 데이터를 수신(단계 904)할 수 있다.
동기식이고 실시간이거나, 거의 실시간이거나, 스트리밍되는 (음성 데이터 및/또는 비디오 데이터와 같은) 오디오 데이터뿐 아니라, 커뮤니케이션 프로세스(10)는 다양한 타입의 동기식으로 스트리밍되고 비동기식으로 포스트되는 미디어 데이터 타입을 수신(단계 904)할 수 있다. 커뮤니케이션 프로세스(10)에 의해 수신되는 미디어 데이터 타입은 동기식 및/또는 비동기식으로 전송(단계 906)될 수 있다. 또한, 미디어 데이터 타입은, 예컨대, 미디어 데이터가 포스트되면 소비될 수 있거나, 미디어가 전송되는 동안 실시간으로 동기식으로 소비되고 처리될 수 있는 정의된 컨텐트로서 수신(단계 904)되거나 전송(단계 906)될 수 있다. 일 실시예에서, 포스트 미디어 데이터 타입은 하나 이상의 비디오 데이터(예컨대, 비디오 클립), 이미지, 텍스트, 웹 데이터, 위치 데이터 등을 포함할 수 있다.
예시적인 데이터 타입 및 미디어 타입이 위에서 설명되었지만, 이러한 예들은 설명을 위한 목적일 뿐이고, 한정하려는 목적이 아님이 이해되어야 한다. 또한, 다양한 부가적 및/또는 대체적인 데이터 타입 및 미디어 타입이 이용될 수 있다. 콜과 연관된 커뮤니케이션의 일부로서 포함될 수 있는 데이터의 예들은, 예컨대, 컴퓨팅 디바이스에 의해 제공되는 네비게이션 또는 지도 어플리케이션 및 GPS 또는 기타 기능으로부터 제공될 수 있는 위치, 여행 경로, 속도, 방향 등과 같은 컴퓨팅 디바이스에 의해 제공되는 센서 기능으로부터 도출되는 데이터를 포함할 수 있다. 컴퓨팅 디바이스에 연관된 마이크 및 카메라 기능은 실시간 오디오(예컨대, 음성) 및/또는 비디오 데이터뿐 아니라, 오디오 클립, 비디오 클립, 사진 등을 생성하기 위해 사용될 수 있다. 터치 스크린 인터페이스와 같은 입력 디바이스는 스타일러스 또는 핑거 스케치를 생성하기 위해 이용될 수 있다. 웹 브라우저 어플리케이션은 웹 컨텐트, 웹 링크 등을 생성 및/또는 캡처하기 위해 이용될 수 있다. 텍스트 데이터, 문서 등은 컴퓨팅 디바이스를 통해 생성되고, 및/또는 접근되고, 및/또는 컴퓨팅 디바이스와 연관된 스토리지 기능 및/또는 입력을 통해 커뮤니케이션에서 구현될 수 있다. 따라서, 다양한 실시예에서, 커뮤니케이션되는 동기식 및 비동기식 데이터 타입은 하나 이상의 비디오, 정지 또는 에니메이션 이미지, 텍스트, 웹 링크, 위치 및 경로 데이터, 제스처, 스케치, 파일 및 폴더 및 문서, 음성 및 음악 및 오디오, 소프트웨어 코드 및 스크립트, QR 및 NFC 및 바코드, 신호 세기 및 지연시간 및 성능을 포함하는 서비스품질(quality of service) 데이터, 센서 및 디바이스, 디바이스의 운영 체제, 애드온(add-on) 또는 어플리케이션 또는 인터넷 서비스, 유선 또는 무선을 통해 접속될 수 있는 디바이스 주변장치로부터 획득한 기타 데이터를 포함할 수 있다. 상술한 내용은, 콜 내의 커뮤니케이션으로서 수신(단계 904)되거나 전송(단계 906)될 수 있는 데이터의 다수의 예를 제공했지만, 상리 리스트는 완전한 것을 의도하는 것은 아니고, 다른 데이터 타입 및/또는 미디어 타입이 또한 이용될 수 있다.
커뮤니케이션 프로세스(10)는 일련의 커뮤니케이션을 콜에 전송(단계 906)할 수 있다. 예를 들면, 커뮤니케이션 프로세스(10)는 콜 참가자 세트의 모든 구성원들에게 수신(단계 904)된 커뮤니케이션을 전송(단계 906)할 수 있다. 일부 실시예에서, 콜 참가자 세트의 하나 이상의 구성원은 콜에 참여 중이 아닐 수 있다(예컨대, 콜에 조인하지 않았을 수 있다). 일 실시예에서, 일련의 커뮤니케이션을 콜 참가자 세트의 각각의 구성원에게 전송(단계 906)하는 것은 일련의 커뮤니케이션을 콜 참가자 세트의 적어도 일부에게 동기식으로 전송하는 것을 포함할 수 있다. 일 실시예에서, 일련의 커뮤니케이션이 동기식으로 전공되는 콜 참가자 세트의 일부는 콜에 참여 중일 수 있는 콜 참가자 세트의 구성원을 포함할 수 있다. 일련의 커뮤니케이션을 동기식으로 전송하는 것은 일련의 커뮤니케이션을 콜 참가자 세트의 일부에게 실시간 또는 거의 실시간으로 전송하는 것을 포함할 수 있다.
일부 실시예에서, 콜 참가자 세트의 적어도 일부는 콜에 참여하지 않을 수 있거나, 및/또는 콜의 실시간 참여를 방해할 수 있는 열악한 데이터 접속을 경험할 수 있다. 그러한 경우, 일련의 커뮤니케이션을 콜 참가자 세트의 각각의 구성원에게 전송(단계 906)하는 것은 일련의 커뮤니케이션을 콜 참가자 세트의 적어도 일부에게 비동기식으로 전송하는 것을 포함할 수 있다. 일련의 커뮤니케이션을 비동기식으로 전송하는 것은, 예를 들어, 콜 참가자 세트의 하나 이상의 구성원에 의한 추후 인출을 위해, 및/또는, 예컨대, 적어도 일부가 참가자 세트의 하나 이상의 구성원과 연관된 데이터 접속성에 의해 영향받을 수 있는 가용성 있는 기초 상의 인출을 위해 일련의 커뮤니케이션을 포스팅하는 것을 포함할 수 있다.
다양한 적절한 사용자 인터페이스는 콜과 연관된 다양한 개체의 커뮤니케이션을 수신하고 이와 상호 작용할 수 있도록 구현될 수 있다. 일부 실시예에서, 예컨대, 특정 데이터 타입의 특정 커뮤니케이션을 처리할 수 있는 다른 사용자 인터페이스가 구현될 수 있다. 일부 실시예에 따르면, 다수의 사용자 인터페이스가 동시에 접근 가능할 수 있고, 예컨대, 서로 다른 데이터 타입이 생성되거나 및/또는 상호 작용하도록 할 수 있다. 예를 들어, 뷰 파인더 사용자 인터페이스는 (예컨대, 컴퓨팅 디바이스와 연관된 카메라 기능을 통해) 비디오 데이터 또는 이미지의 캡처와 관련하여 구현될 수 있고, 웹 브라우저 사용자 인터페이스는 웹 사이트 내에 포함된 웹 링크 또는 데이터의 캡처와 관련하여 구현될 수 있다. 커뮤니케이션 프로세스(10)는 다양한 적절한 사용자 인터페이스를 통해 캡처된 데이터를 수신(단계 904)할 수 있다. 이와 유사한 방식으로 사용자 인터페이스는 커뮤니케이션 프로세스(10)에 의해 전송되는 커뮤니케이션의 소비와 관련하여 이용될 수 있다. 커뮤니케이션 프로세스(10)와 관련되어 구현된 사용자 인터페이스는, 다른 사용자들로부터의 커뮤니케이션의 소비 및 커뮤니케이션의 캡처를 허용하지 않을 수 있지만, 커뮤니케이션을 조작, 포워딩 및 전송하는 것과 같은 커뮤니케이션과의 상호 작용을 허용할 수도 있다. 일부 실시예에서, 다양한 사용자 인터페이스는 서로 다른 사용자 인터페이스 스크린 또는 창 사이를 횡방향 또는 수직방향으로 (예컨대, 터치 스크린 인터페이스 등을 통한 스와이프 입력 제스처를 기초로) 스크롤링하여 접근될 수 있다. 다양한 부가적 및/또는 대체적 사용자 인터페이스는, 다수의 서로 다른 데이터 타입 및/또는 다수의 서로 다른 미디어 타입을 포함할 수 있는 일련의 커뮤니케이션을 포함하는 콜과 관련하여 이와 유사하게 구현될 수 있음이 이해되어야 한다.
일 실시예에서, 커뮤니케이션 프로세스(10)는 콜과 연관된 일련의 커뮤니케이션을 기록(단계 912)할 수 있다. 예를 들어, 콜을 기록하는 것은, 예컨대, 서버 컴퓨터(18) 및/또는 다른 컴퓨팅 디바이스와 연관될 수 있는 적절한 데이터 저장에 상호 작용을 저장하는 것을 포함할 수 있다. 일 실시예에서, 콜과 연관된 기록된(단계 912) 일련의 커뮤니케이션은, 예컨대, 채널과 연관된 참가자 세트에 포함된 하나 이상의 개체에 접근 가능할 수 있다. 일 실시예에서, 기록된 콜은, 예컨대, 웹 브라우저를 통해, 및/또는 사용자화된 어플리케이션을 사용하여 접근될 수 있다.
일 실시예에서, 콜을 기록(단계 912)하는 것은 일련의 커뮤니케이션과 연관된 메타 데이터 및 태그를 사용하는 것을 포함할 수 있다. 예를 들어, 콜과 연관된 일련의 커뮤니케이션을 기록하는 것은 콜과 일련의 커뮤니케이션의 각각의 커뮤니케이션 사이의 연관관계를 정의(단계 914)하는 것을 포함할 수 있다. 예를 들어, 커뮤니케이션 프로세스(10)는 콜의 일련의 커뮤니케이션의 각각의 커뮤니케이션과 연관된 태그를 정의(단계 914)할 수 있다. 정의(단계 914)된 태그는 각각의 커뮤니케이션을 (예컨대, 개별적으로 및/또는 종합적으로) 콜에 연관된 것으로서 식별할 수 있다. 따라서, 콜의 기록은, 적어도 일부가, 특정 콜에 속하는 것으로 태그되는 커뮤니케이션에 기초할 수 있다. 일 실시예에서, 각각의 커뮤니케이션은, 예컨대, 콜 내에서의 커뮤니케이션의 시간적 위치를 나타낼 수 있는 타임 스탬프 및/또는 순서 태그를 더 포함할 수 있다.
또한, 일 실시예에서 콜에 연관된 일련의 커뮤니케이션을 기록(단계 912)하는 것은 콜과 채널 사이의 연관관계를 정의(단계 916)하는 것을 포함할 수 있다. 예를 들면, 콜과 채널 사이의 연관관계는 콜(및/또는 콜과 연관된 것으로 태그된 각각의 커뮤니케이션)을 소정의 채널과 연관된 것으로 식별할 수 있는 각각의 콜에 연관된 (및/또는 소정의 콜과 연관된 것으로 태그된 각각의 커뮤니케이션과 연관된) 태그를 포함할 수 있다. 이에 따라, 커뮤니케이션 프로세스(10)는 각각의 콜을 특정 채널과 연관된 것으로서 태그할 수 있다.
또한, 일 실시예에서, 콜과 연관된 일련의 커뮤니케이션을 기록(단계 912)하는 것은 채널과 콜 참가자 세트의 각각의 멤버 사이의 연관관계를 정의(단계 918)하는 것을 포함할 수 있다. 예를 들어, 커뮤니케이션 프로세스(10)는 커뮤니케이션 시스템의 모든 구성원의 리스트를 포함할 수 있다. 커뮤니케이션 프로세스(10)는 채널 자체와 채널의 참가자 세트 내에 포함된 각각의 구성원 사이의 연관관계를 정의(단계 918)할 수 있다. 예를 들어, 커뮤니케이션 프로세스(10)는, 커뮤니케이션 프로세스(10)에 의해 가능한 커뮤니케이션 시스템의 각각의 구성원과 연관된 태그를 정의(단계 918)할 수 있고, 태그는 구성원이 채널의 참가자 세트 내에 포함되는 채널을 식별할 수 있다. 커뮤니케이션 시스템의 구성원이 둘 이상의 채널의 참가자 세트에 포함될 수 있는 경우에, 커뮤니케이션 프로세스(10)는, 구성원이 참가자 세트에 포함된 각각의 채널에 대한 구성원과 연관된 태그를 정의(단계 918)할 수 있다.
일 실시예에서, 콜 애의 커뮤니케이션 및/또는 채널 내의 콜은 타임라인 방식으로 표시될 수 있다. 예를 들어, 커뮤니케이션 프로세스(10)에 의해 가능한 커뮤니케이션 시스템의 구성원과 연관된 사용자 인터페이스를 통해, 커뮤니케이션 프로세스(10)는 구성원이, 상기 구성원이 연관된 것으로 태그된 하나 이상의 채널로 식별되도록 할 수 있다. 또한, 개별 채널은 각각의 채널과 연관된 콜의 시간적 표현을 포함할 수 있다. 일 실시예에서, 채널과 연관된 콜을 선택한 것은, 콜과 연관된 것으로 태그된 커뮤니케이션의 시간적 표현을 포함하는 사용자 인터페이스를 생성할 수 있다. 일 실시예에서, 콜과 연관된 것으로 태그된 커뮤니케이션의 표현은 (예컨대, 텍스트, 그림 등과 같은 그래픽 커뮤니케이션에 대한) 커뮤니케이션 자체, 및/또는 커뮤니케이션을 소비하기 위해 선택될 수 있는 (예컨대, 오디오 기록물 또는 비디오 기록물 등을 재생하기 위한) 커뮤니케이션의 표현을 포함할 수 있다. 커뮤니케이션 및/또는 콜을 접근 및/또는 제공하기 위한 다양한 부가적 및/또는 대체적 구성이 마찬가지로 구현될 수 있다.
일부 실시예에서, 콜의 컨텐트는 시간이 지남에 따라 붕괴할 수 있다. 예를 들어, 디폴트 및/또는 사용자 설정에 의해, 콜의 컨텐트(예컨대, 콜을 이루는 개별 커뮤니케이션)는 컨텐트가 더 이상 가용적이지 않을 수 있는 정해진 시간이 경과되면 만료할 수 있다. 일 실시예에서, 콜의 컨텐트의 붕괴는 컨텐트의 해상력 또는 품질의 점진적인 감소를 포함할 수 있다. 예를 들어, (예컨대, 디폴트 및/또는 사용자 설정에 기초한) 시간에 따라 커뮤니케이션의 품질 및/또는 해상력은 감소할 수 있다. 품질 및/또는 해상력이 감소하는 예는 이미지와 연관된 이미지 해상도의 감소, 오디오 컴포넌트와 연관된 비트 레이트의 감소 등을 포함할 수 있다. 일 실시예에서, 사용자는 특정 콜이 무한정으로 유지되도록 명시적으로 선택하여 붕괴되거나 저하되거나 접근 불가능하게 되지 않도록 할 수 있다.
일 실시예에서, 커뮤니케이션 프로세스(10)는 콜 및/또는 콜(예컨대, 콜의 일부)과 연관된 하나 이상의 커뮤니케이션이 발행되도록 할 수 있다. 예를 들면, 콜 및/또는 콜의 일부를 발행하는 것은 콜 및/또는 콜의 일부를 커뮤니케이션 프로세스(10)에 의해 가능한 커뮤니케이션 시스템의 외부 위치로 내보내는 것(예컨대, 컨텐츠를 저장하는 것, 컨텐츠를 복사하는 것 등)을 포함한다. 일부 실시예에서, 콜 및/또는 콜의 일부를 발행하는 것은 링크가 콜 및/또는 콜의 일부에 형성되도록 한다. 예를 들어, 콜 및/또는 콜의 일부에 대한 링크는, 콜 및/또는 콜의 일부가 커뮤니케이션 프로세스(10)에 의해 가능한 커뮤니케이션 시스템 외부의 위치로부터 접근되도록 할 수 있다. 예를 들어, 일 실시예에서, 소셜 네트워킹 그룹을 포함할 수 있는 교차점을 포함하는 개체의 암시적 연관관계를 포함하는 채널을 통한 콜은, 예컨대 소셜 네트워킹 웹사이트를 통해 소셜 네트워킹 그룹에 발행될 수 있다.
일 실시예에서, 콜과 연관된 일련의 커뮤니케이션을 기록(단계 912)하는 것은 콜과 연관된 접근 제어를 정의(단계 920)하는 것을 포함할 수 있다. 예를 들어, 커뮤니케이션 프로세스(10)는 콜의 참가자 세트에 포함된 하나, 또는 둘 이상의 구성원이, 예컨대, 콜과 연관된 커뮤니케이션의 발행 및/또는 전파를 제한할 수 있는 접근 제어를 구현하도록 할 수 있다. 일부 실시예에서, 하나 이상의 디폴트 접근 제어는 연관될 수 있다.
또한, 본 명세서에서 다양한 실시예 및 특징이 설명되었지만, 다양한 실시예 및 특징은 서로의 조합 및/또는 다양한 부가적/대체적 조합이 가능할 수 있음은 해당 기술 분야의 통상의 기술자에게 명백할 것이다. 본 명세서에 개시된 기술적 사상의 모든 이러한 조합은 본 발명에 의해 고려될 수 있도록 의도된 것이다.
도면의 흐름도 및 블록도는 본 발명의 다양한 실시에예 따른 시스템, 방법 및 컴퓨터 프로그램 제품의 가능한 구현의 아키텍처, 기능 및 동작을 도시한다. 이에 관해, 흐름도 및 블록도의 각각의 블록은 명세된 논리 기능(들)을 구현하기 위한 하나 이상의 실행 가능한 명령을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또한, 일부 다른 구현에서, 블록에 표시된 기능은 도면에 도시된 순서와 다르게 일어날 수 있음을 주목해야 한다. 예를 들어, 차례로 도시된 두 개의 블록은, 사실, 수행되는 기능에 따라, 실질적으로 동시에 수행될 수 있고, 또는, 블록들은 어떤 경우에 반대의 순서로 실행될 수 있다. 또한, 블록도 및/또는 흐름도의 각각의 블록과 블록도 및/또는 흐름도의 블록들의 조합은, 특수 목적용 하드웨어 및 컴퓨터 명령의 조합 또는 명세된 기능 또는 동작을 수행하는 특수 목적용 하드웨어 기반 시스템에 의해 구현될 수 있다.
본 명세서에서 사용된 용어는 특정 실시예를 설명하고는 있지만, 본 발명을 한정하려는 의도는 아니다. 본 명세서에서 사용된 바와 같이, 내용에서 명확하게 달리 표현하지 않았다면 단수 형태는 복수 형태를 또한 포함하는 것으로 의도된 것이다. 또한, "포함하는"이라는 용어는 본 명세서에 사용될 때, 기재된 특징, 정수, 단계, 동작, 요소 및/또는 컴포넌트가 존재함을 말하는 것이고, 하나 이상의 다른 특징, 정수, 단계, 동작, 요소, 컴포넌트 및/또는 그 그룹이 존재하거나 더 추가하는 것을 불가능하게 하지 않는다.
상응하는 구조, 물질, 동작 및 청구항의 모든 수단 또는 단계 플러스 기능 요소의 균등물은 임의의 구조, 물질, 또는 구체적으로 청구항에 기재된 것과 같은 다른 청구항에 기재된 요소와 함께 기능을 수행하는 동작을 포함하도록 의도된 것이다. 본 발명의 성명은 설명을 목적으로 제시된 것이지, 본 발명을 제한하기 위한 것이 아니다. 본 발명의 범위 및 사상을 벗어나지 않고 다수의 수정 및 변형은 해당 기술 분야의 통상의 기술자에게 자명하다. 실시예는 본 발명의 원리와 실제 응용을 가장 잘 설명하기 위해 선택되어 설명된 것이고, 해당 기술 분야의 통상의 기술자는 특정 용도에 적합하도록 고려된 다양한 수정이 가해진 다양한 실시예에 대한 발명을 이해할 수 있다.
따라서, 본 출원의 발명은 그 실시예를 참조하여 상세하게 설명되었으며, 청구범위에 기재된 본 발명의 범위를 벗어나지 않고 수정과 변형이 가능함이 명백하다.
10a, 10b, 10c, 10d: 커뮤니케이션 프로세스
12, 14, 16: 클라이언트 전자 디바이스
18: 서버 컴퓨터 20: 네트워크
22, 24, 26, 28: 스토리지 디바이스
30: 네트워크 40: WAP
44: 셀룰러 네트워크/브리지

Claims (68)

  1. 프로세서에서 사용자의 인증 요청을 수신하는 단계;
    상기 프로세서에서 상기 사용자와 연관된 제3자 어플리케이션(third party application)을 통해 인증 커뮤니케이션을 생성하는 단계; 및
    상기 프로세서에서 상기 인증 커뮤니케이션을 인증 시스템에 전송하는 단계를 포함하는 커뮤니케이션 방법.
  2. 제1항에 있어서,
    상기 인증 요청은 상기 제3자 어플리케이션과 연관된 인증 요청을 포함하는 커뮤니케이션 방법.
  3. 제2항에 있어서,
    상기 제3자 어플리케이션은 하나 이상의 이메일 커뮤니케이션 어플리케이션, SMS 커뮤니케이션 어플리케이션, 인스턴트 메시지 어플리케이션 및 소셜 네트워킹 어플리케이션을 포함하는 커뮤니케이션 방법.
  4. 제1항에 있어서,
    상기 인증 커뮤니케이션을 생성하는 단계는 인증 요청을 상기 제3자 어플리케이션에 전송하는 단계를 포함하는 커뮤니케이션 방법.
  5. 제1항에 있어서,
    상기 인증 커뮤니케이션을 생성하는 단계는 사용자 ID(identification)를 포함하는 커뮤니케이션 컨텐트(content)를 미리 제공하는(pre-populating) 단계를 포함하는 커뮤니케이션 방법.
  6. 제1항에 있어서,
    상기 인증 커뮤니케이션을 생성하는 단계는 인증 코드를 포함하는 커뮤니케이션 컨텐트를 미리 제공하는 단계를 포함하는 커뮤니케이션 방법.
  7. 제1항에 있어서,
    상기 인증 커뮤니케이션을 생성하는 단계는 커뮤니케이션 어플리케이션과 연관된 사용자 자격 증명을 수신하는 단계를 포함하는 커뮤니케이션 방법.
  8. 제1항에 있어서,
    상기 인증 커뮤니케이션을 생성하는 단계는 커뮤니케이션 수신자를 미리 제공하는 단계를 포함하는 커뮤니케이션 방법.
  9. 제1항에 있어서,
    상기 사용자를 인증하는 단계를 더 포함하는 커뮤니케이션 방법.
  10. 프로세서에 의해 실행되었을 때 상기 프로세서로 하여금 작업을 수행하도록 하는 복수의 명령을 저장하는 컴퓨터로 판독 가능한 매체를 포함하는 컴퓨터 프로그램 제품으로서, 상기 작업은,
    사용자의 인증 요청을 수신하는 단계;
    상기 사용자와 연관된 제3자 어플리케이션(third party application)을 통해 인증 커뮤니케이션을 생성하는 단계; 및
    상기 인증 커뮤니케이션을 인증 시스템에 전송하는 단계를 포함하는 컴퓨터 프로그램 제품.
  11. 프로세서에서 제3자(third party)와의 커뮤니케이션을 개시하기 위한 요청을 수신하는 단계;
    상기 프로세서에서 복수의 알림 옵션을 제공하는 단계;
    상기 프로세서에서 상기 복수의 알림 옵션 중 선택된 알림 옵션을 수신하는 단계;
    상기 프로세서에서, 적어도 일부는, 상기 복수의 알림 옵션 중 선택된 알림 옵션에 기초하여 상기 제3자에게 알림을 전송하는 단계를 포함하는 커뮤니케이션 방법.
  12. 제11항에 있어서,
    상기 제3자와 연관된 컨텍스트 정보를 수신하는 단계를 더 포함하고,
    상기 복수의 알림 옵션을 제공하는 단계는 상기 제3자와 연관된 상기 컨텍스트 정보를 제공하는 단계를 더 포함하는 커뮤니케이션 방법.
  13. 제12항에 있어서,
    상기 컨텍스트 정보는 하나 이상의 위치 및 궤적(trajectory) 정보를 포함하는 커뮤니케이션 방법.
  14. 제12항에 있어서,
    상기 컨텍스트 정보는 상기 제3자와 연관된 커뮤니케이션 디바이스와 연관된 활동(activity) 정보를 포함하는 커뮤니케이션 방법.
  15. 제11항에 있어서,
    상기 복수의 알림 옵션은 하나 이상의 미리 정의된 다이얼로그(dialog) 옵션을 포함하는 커뮤니케이션 방법.
  16. 제15항에 있어서,
    상기 하나 이상의 미리 정의된 다이얼로그 옵션은 제안된 커뮤니케이션 형식(suggested communication modality)을 포함하는 커뮤니케이션 방법.
  17. 제15항에 있어서,
    상기 하나 이상의 미리 정의된 다이얼로그 옵션은 상태 요청을 포함하는 커뮤니케이션 방법.
  18. 제11항에 있어서,
    상기 제3자로부터 상기 알림에 대한 답변을 수신하는 단계를 더 포함하는 커뮤니케이션 방법.
  19. 제11항에 있어서,
    적어도 일부는, 상기 알림에 대한 답변에 기초하여 상기 제3자와의 커뮤니케이션을 개시하는 단계를 더 포함하는 커뮤니케이션 방법.
  20. 프로세서에 의해 실행되었을 때 상기 프로세서로 하여금 작업을 수행하도록 하는 복수의 명령을 저장하는 컴퓨터로 판독 가능한 매체를 포함하는 컴퓨터 프로그램 제품으로서, 상기 작업은,
    제3자(third party)와의 커뮤니케이션을 개시하기 위한 요청을 수신하는 단계;
    복수의 알림 옵션을 제공하는 단계;
    상기 복수의 알림 옵션 중 선택된 알림 옵션을 수신하는 단계; 및
    적어도 일부는, 상기 복수의 알림 옵션 중 선택된 알림 옵션에 기초하여 상기 제3자에게 알림을 전송하는 단계를 포함하는 컴퓨터 프로그램 제품.
  21. 프로세서에서 채널을 통해 콜(call)을 개시하기 위한 요청을 수신하는 단계;
    상기 프로세서에서 상기 채널과 연관된 콜 참가자(call participant) 세트를 식별하는 단계;
    상기 프로세서에서 상기 콜과 연관되고, 실시간 미디어 데이터 타입 및 포스트 데이터 타입(posted data type)을 포함하는 일련의 커뮤니케이션을 수신하는 단계; 및
    상기 프로세서에서 상기 일련의 커뮤니케이션을 상기 콜에 전송하는 단계를 포함하는 커뮤니케이션 방법.
  22. 제21항에 있어서,
    상기 채널과 연관된 상기 콜 참가자 세트를 식별하는 단계는 상기 채널과 연관되고 미리 정의된 채널 참가자 세트에 접근하는 단계를 포함하는 커뮤니케이션 방법.
  23. 제21항에 있어서,
    상기 채널과 연관된 상기 콜 참가자 세트를 식별하는 단계는, 적어도 일부는, 개체들의 암시적인 연관관계에 기초하여 채널 참가자 세트를 정하는 단계를 포함하는 커뮤니케이션 방법.
  24. 제21항에 있어서,
    상기 일련의 커뮤니케이션을 수신하는 단계는 상기 일련의 커뮤니케이션을 실시간의 패킷화된 데이터 전송으로서 수신하는 단계를 포함하는 커뮤니케이션 방법.
  25. 제21항에 있어서,
    상기 실시간 미디어 데이터 타입은 실시간 오디오 데이터를 포함하는 커뮤니케이션 방법.
  26. 제25항에 있어서,
    상기 실시간 오디오 데이터는 VoIP(Voice over IP) 데이터를 포함하는 커뮤니케이션 방법.
  27. 제25항에 있어서,
    상기 실시간 오디오 데이터는 버스트(burst) 오디오 전송을 포함하는 커뮤니케이션 방법.
  28. 제21항에 있어서,
    상기 포스트 미디어 데이터 타입은 하나 이상의 비디오, 이미지, 텍스트, 웹 데이터, 위치 데이터를 포함하는 커뮤니케이션 방법.
  29. 제21항에 있어서,
    상기 일련의 커뮤니케이션을 상기 콜에 전송하는 단계는 상기 일련의 커뮤니케이션을 상기 콜 참가자 세트의 각각의 구성원에게 전송하는 단계를 포함하는 커뮤니케이션 방법.
  30. 제29항에 있어서,
    상기 일련의 커뮤니케이션을 상기 콜 참가자 세트의 각각의 구성원에게 전송하는 단계는 상기 일련의 커뮤니케이션을 상기 콜 참가자 세트의 적어도 일부에게 동기식으로(synchronously) 전송하는 단계를 포함하는 커뮤니케이션 방법.
  31. 제29항에 있어서,
    상기 일련의 커뮤니케이션을 상기 콜 참가자 세트의 각각의 구성원에게 전송하는 단계는 상기 일련의 커뮤니케이션을 상기 콜 참가자 세트의 적어도 일부에게 비동기식으로(asynchronously) 전송하는 단계를 포함하는 커뮤니케이션 방법.
  32. 제21항에 있어서,
    상기 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계를 더 포함하는 커뮤니케이션 방법.
  33. 제32항에 있어서,
    상기 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 상기 콜과 상기 일련의 커뮤니케이션의 커뮤니케이션 사이의 연관관계를 정하는 단계를 포함하는 커뮤니케이션 방법.
  34. 제32항에 있어서,
    상기 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 상기 콜과 상기 채널 사이의 연관관계를 정하는 단계를 포함하는 커뮤니케이션 방법.
  35. 제32항에 있어서,
    상기 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 상기 채널과 상기 콜 참가자의 각각의 구성원 사이의 연관관계를 정하는 단계를 포함하는 커뮤니케이션 방법.
  36. 제32항에 있어서,
    상기 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 상기 콜과 연관된 접근 제어를 정하는 단계를 포함하는 커뮤니케이션 방법.
  37. 프로세서에 의해 실행되었을 때 상기 프로세서로 하여금 작업을 수행하도록 하는 복수의 명령을 저장하는 컴퓨터로 판독 가능한 매체를 포함하는 컴퓨터 프로그램 제품으로서, 상기 작업은,
    채널을 통해 콜(call)을 개시하기 위한 요청을 수신하는 단계;
    상기 채널과 연관된 콜 참가자(call participant) 세트를 식별하는 단계;
    상기 콜과 연관되고, 실시간 미디어 데이터 타입 및 포스트 데이터 타입(posted data type)을 포함하는 일련의 커뮤니케이션을 수신하는 단계; 및
    상기 일련의 커뮤니케이션을 상기 콜에 전송하는 단계를 포함하는 컴퓨터 프로그램 제품.
  38. 제37항에 있어서,
    상기 채널과 연관된 상기 콜 참가자 세트를 식별하는 단계는 상기 채널과 연관되고 미리 정의된 채널 참가자 세트에 접근하는 단계를 포함하는 컴퓨터 프로그램 제품.
  39. 제37항에 있어서,
    상기 채널과 연관된 상기 콜 참가자 세트를 식별하는 단계는, 적어도 일부는, 개체들의 암시적인 연관관계에 기초하여 채널 참가자 세트를 정하는 단계를 포함하는 컴퓨터 프로그램 제품.
  40. 제37항에 있어서,
    상기 일련의 커뮤니케이션을 수신하는 단계는 상기 일련의 커뮤니케이션을 실시간의 패킷화된 데이터 전송으로서 수신하는 단계를 포함하는 컴퓨터 프로그램 제품.
  41. 제37항에 있어서,
    상기 실시간 미디어 데이터 타입은 실시간 오디오 데이터를 포함하는 컴퓨터 프로그램 제품.
  42. 제41항에 있어서,
    상기 실시간 오디오 데이터는 VoIP(Voice over IP) 데이터를 포함하는 컴퓨터 프로그램 제품.
  43. 제41항에 있어서,
    상기 실시간 오디오 데이터는 버스트(burst) 오디오 전송을 포함하는 컴퓨터 프로그램 제품.
  44. 제37항에 있어서,
    상기 포스트 미디어 데이터 타입은 하나 이상의 비디오, 이미지, 텍스트, 웹 데이터, 위치 데이터를 포함하는 컴퓨터 프로그램 제품.
  45. 제37항에 있어서,
    상기 일련의 커뮤니케이션을 상기 콜에 전송하는 단계는 상기 일련의 커뮤니케이션을 상기 콜 참가자 세트의 각각의 구성원에게 전송하는 단계를 포함하는 컴퓨터 프로그램 제품.
  46. 제45항에 있어서,
    상기 일련의 커뮤니케이션을 상기 콜 참가자 세트의 각각의 구성원에게 전송하는 단계는 상기 일련의 커뮤니케이션을 상기 콜 참가자 세트의 적어도 일부에게 동기식으로(synchronously) 전송하는 단계를 포함하는 컴퓨터 프로그램 제품.
  47. 제45항에 있어서,
    상기 일련의 커뮤니케이션을 상기 콜 참가자 세트의 각각의 구성원에게 전송하는 단계는 상기 일련의 커뮤니케이션을 상기 콜 참가자 세트의 적어도 일부에게 비동기식으로(asynchronously) 전송하는 단계를 포함하는 컴퓨터 프로그램 제품.
  48. 제37항에 있어서,
    상기 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계를 위한 명령을 더 포함하는 컴퓨터 프로그램 제품.
  49. 제48항에 있어서,
    상기 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 상기 콜과 상기 일련의 커뮤니케이션의 각각의 커뮤니케이션 사이의 연관관계를 정하는 단계를 포함하는 컴퓨터 프로그램 제품.
  50. 제48항에 있어서,
    상기 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 상기 콜과 상기 채널 사이의 연관관계를 정하는 단계를 포함하는 컴퓨터 프로그램 제품.
  51. 제48항에 있어서,
    상기 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 상기 채널과 상기 콜 참가자의 각각의 구성원 사이의 연관관계를 정하는 단계를 포함하는 컴퓨터 프로그램 제품.
  52. 제48항에 있어서,
    상기 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 상기 콜과 연관된 접근 제어를 정하는 단계를 포함하는 컴퓨터 프로그램 제품.
  53. 프로세서 및 상기 프로세서에 연결된 메모리를 포함하는 컴퓨팅 시스템으로서, 상기 프로세서 및 상기 메모리는 작업을 수행하도록 구성되고, 상기 작업은,
    채널을 통해 콜(call)을 개시하기 위한 요청을 수신하는 단계;
    상기 채널과 연관된 콜 참가자(call participant) 세트를 식별하는 단계;
    상기 콜과 연관되고, 실시간 미디어 데이터 타입 및 포스트 데이터 타입(posted data type)을 포함하는 일련의 커뮤니케이션을 수신하는 단계; 및
    상기 일련의 커뮤니케이션을 상기 콜에 전송하는 단계를 포함하는 컴퓨팅 시스템.
  54. 제53항에 있어서,
    상기 채널과 연관된 상기 콜 참가자 세트를 식별하는 단계는 상기 채널과 연관되고 미리 정의된 채널 참가자 세트에 접근하는 단계를 포함하는 컴퓨팅 시스템.
  55. 제53항에 있어서,
    상기 채널과 연관된 상기 콜 참가자 세트를 식별하는 단계는, 적어도 일부는, 개체들의 암시적인 연관관계에 기초하여 채널 참가자 세트를 정하는 단계를 포함하는 컴퓨팅 시스템.
  56. 제53항에 있어서,
    상기 일련의 커뮤니케이션을 수신하는 단계는 상기 일련의 커뮤니케이션을 실시간의 패킷화된 데이터 전송으로서 수신하는 단계를 포함하는 컴퓨팅 시스템.
  57. 제53항에 있어서,
    상기 실시간 미디어 데이터 타입은 실시간 오디오 데이터를 포함하는 컴퓨팅 시스템.
  58. 제57항에 있어서,
    상기 실시간 오디오 데이터는 VoIP(Voice over IP) 데이터를 포함하는 컴퓨팅 시스템.
  59. 제57항에 있어서,
    상기 실시간 오디오 데이터는 버스트(burst) 오디오 전송을 포함하는 컴퓨팅 시스템.
  60. 제53항에 있어서,
    상기 포스트 미디어 데이터 타입은 하나 이상의 비디오, 이미지, 텍스트, 웹 데이터, 위치 데이터를 포함하는 컴퓨팅 시스템.
  61. 제53항에 있어서,
    상기 일련의 커뮤니케이션을 상기 콜에 전송하는 단계는 상기 일련의 커뮤니케이션을 상기 콜 참가자 세트의 각각의 구성원에게 전송하는 단계를 포함하는 컴퓨팅 시스템.
  62. 제61항에 있어서,
    상기 일련의 커뮤니케이션을 상기 콜 참가자 세트의 각각의 구성원에게 전송하는 단계는 상기 일련의 커뮤니케이션을 상기 콜 참가자 세트의 적어도 일부에게 동기식으로(synchronously) 전송하는 단계를 포함하는 컴퓨팅 시스템.
  63. 제61항에 있어서,
    상기 일련의 커뮤니케이션을 상기 콜 참가자 세트의 각각의 구성원에게 전송하는 단계는 상기 일련의 커뮤니케이션을 상기 콜 참가자 세트의 적어도 일부에게 비동기식으로(asynchronously) 전송하는 단계를 포함하는 컴퓨팅 시스템.
  64. 제53항에 있어서,
    상기 프로세서 및 상기 메모리는 상기 일련의 커뮤니케이션을 상기 콜과 함께 기록하도록 구성된 컴퓨팅 시스템.
  65. 제64항에 있어서,
    상기 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 상기 콜과 상기 일련의 커뮤니케이션의 각각의 커뮤니케이션 사이의 연관관계를 정하는 단계를 포함하는 컴퓨팅 시스템.
  66. 제64항에 있어서,
    상기 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 상기 콜과 상기 채널 사이의 연관관계를 정하는 단계를 포함하는 컴퓨팅 시스템.
  67. 제64항에 있어서,
    상기 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 상기 채널과 상기 콜 참가자의 각각의 구성원 사이의 연관관계를 정하는 단계를 포함하는 컴퓨팅 시스템.
  68. 제64항에 있어서,
    상기 콜과 연관된 일련의 커뮤니케이션을 기록하는 단계는 상기 콜과 연관된 접근 제어를 정하는 단계를 포함하는 컴퓨팅 시스템.
KR1020137033395A 2011-05-16 2012-05-16 다중 데이터 타입 커뮤니케이션 시스템 KR101954468B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201161486531P 2011-05-16 2011-05-16
US61/486,531 2011-05-16
PCT/US2012/038054 WO2012158750A1 (en) 2011-05-16 2012-05-16 Multi-data type communications system

Publications (2)

Publication Number Publication Date
KR20140043090A true KR20140043090A (ko) 2014-04-08
KR101954468B1 KR101954468B1 (ko) 2019-03-05

Family

ID=47175992

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137033395A KR101954468B1 (ko) 2011-05-16 2012-05-16 다중 데이터 타입 커뮤니케이션 시스템

Country Status (12)

Country Link
US (2) US9210143B2 (ko)
EP (1) EP2710483B1 (ko)
JP (2) JP6149857B2 (ko)
KR (1) KR101954468B1 (ko)
CN (1) CN103733185B (ko)
AU (1) AU2012255846B2 (ko)
BR (1) BR112013029438B1 (ko)
IL (1) IL229344A (ko)
RU (1) RU2613030C2 (ko)
SG (1) SG194693A1 (ko)
TW (1) TWI590628B (ko)
WO (1) WO2012158750A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8625805B1 (en) 2012-07-16 2014-01-07 Wickr Inc. Digital security bubble
US20140115683A1 (en) * 2012-10-18 2014-04-24 Adam Stass Systems and methods for peer-to-peer online verification using third party authentication
US9830089B1 (en) 2013-06-25 2017-11-28 Wickr Inc. Digital data sanitization
US10129260B1 (en) 2013-06-25 2018-11-13 Wickr Inc. Mutual privacy management
US10567349B2 (en) 2013-06-25 2020-02-18 Wickr Inc. Secure time-to-live
US9866591B1 (en) 2013-06-25 2018-01-09 Wickr Inc. Enterprise messaging platform
US9602949B2 (en) * 2013-12-11 2017-03-21 Capital One Financial Corporation Systems and methods for populating online applications using third party platforms
US9698976B1 (en) 2014-02-24 2017-07-04 Wickr Inc. Key management and dynamic perfect forward secrecy
US9929995B2 (en) * 2014-05-21 2018-03-27 Go Daddy Operating Company, LLC Third party messaging system for monitoring and managing domain names and websites
US10623468B1 (en) * 2014-05-30 2020-04-14 Mbr Innovations Llc Systems and methods for simultaneous electronic file exchange
US9584530B1 (en) 2014-06-27 2017-02-28 Wickr Inc. In-band identity verification and man-in-the-middle defense
CN105527884B (zh) * 2014-10-22 2018-07-31 中国科学院沈阳自动化研究所 支持多通信序列自动构建的wia-pa通信序列控制器
US9654288B1 (en) 2014-12-11 2017-05-16 Wickr Inc. Securing group communications
US9652896B1 (en) 2015-10-30 2017-05-16 Snap Inc. Image based tracking in augmented reality systems
US9584493B1 (en) 2015-12-18 2017-02-28 Wickr Inc. Decentralized authoritative messaging
US10291607B1 (en) 2016-02-02 2019-05-14 Wickr Inc. Providing real-time events to applications
US9591479B1 (en) 2016-04-14 2017-03-07 Wickr Inc. Secure telecommunications
US9602477B1 (en) 2016-04-14 2017-03-21 Wickr Inc. Secure file transfer
US11768583B2 (en) * 2016-06-12 2023-09-26 Apple Inc. Integration of third party application as quick actions
US11055744B2 (en) * 2016-08-23 2021-07-06 Jay Conrad System and method for generating a tracked message
CN108076205B (zh) * 2016-11-14 2020-06-05 展讯通信(上海)有限公司 一种多通路终端的来电录音方法及装置
US10074381B1 (en) * 2017-02-20 2018-09-11 Snap Inc. Augmented reality speech balloon system
US10353956B2 (en) 2017-10-19 2019-07-16 Capital One Services, Llc Identifying merchant data associated with multiple data structures
US11062320B2 (en) 2017-10-19 2021-07-13 Capital One Services, Llc User account controls for online transactions
US11546498B2 (en) * 2018-08-24 2023-01-03 Panavision International, L.P. System for extended wireless use of cameras and ancillary devices
US11315565B2 (en) * 2020-04-03 2022-04-26 Disney Enterprises, Inc. Multi-party conversational agent

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050094646A1 (en) * 2003-10-30 2005-05-05 C And S Technology Co., Ltd. IP video terminal with function for controlling video transmission/reception bandwidth and image quality and control method thereof
US20110033035A1 (en) * 2003-12-22 2011-02-10 Turner Tod C System and method for initiating a conference call

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH07200481A (ja) * 1993-12-29 1995-08-04 Toshiba Corp Icカードシステム
US5553071A (en) * 1994-10-14 1996-09-03 Lucent Technologies Inc. Communication system topology providing dynamic allocation of B-channels
JPH10334050A (ja) * 1997-05-30 1998-12-18 Fujitsu Ltd 通信システム
KR20010021111A (ko) * 1999-07-23 2001-03-15 스테븐 디.피터스 무선 통신장치에 대한 메시징 및 상태 표시
JP2001094678A (ja) * 1999-09-22 2001-04-06 Toshiba Corp 通信端末
JP2001282742A (ja) * 2000-04-03 2001-10-12 Ntt Communications Kk 認証サービス方法及びシステム
JP4402805B2 (ja) * 2000-04-26 2010-01-20 エヌ・ティ・ティ・コミュニケーションズ株式会社 網内配備画像表示方法
US7698276B2 (en) * 2002-06-26 2010-04-13 Microsoft Corporation Framework for providing a subscription based notification system
US7058034B2 (en) * 2002-09-09 2006-06-06 Nokia Corporation Phase shifted time slice transmission to improve handover
JP2004110083A (ja) * 2002-09-13 2004-04-08 Nippon Telegr & Teleph Corp <Ntt> コンテンツ配信装置、コンテンツ配信方法およびプログラム
US7376228B2 (en) 2002-12-18 2008-05-20 Castel, Inc. Call center management systems
JP2004363874A (ja) * 2003-06-04 2004-12-24 Nippon Telegr & Teleph Corp <Ntt> Ipネットワークにおける通信端末登録方法、通信セッション確立方法、および端末
JP4352138B2 (ja) * 2003-09-26 2009-10-28 日本電気株式会社 携帯電話での同報通話システム
US20060033809A1 (en) * 2004-08-10 2006-02-16 Mr. Jim Robinson Picture transmission and display between wireless and wireline telephone systems
CN100407710C (zh) * 2004-08-31 2008-07-30 华为技术有限公司 一种网络即时通讯系统及提供即时消息订阅的方法
US7707292B2 (en) * 2005-03-18 2010-04-27 Yahoo! Inc. Method for signing into a mobile device over a network
ATE430438T1 (de) * 2005-03-29 2009-05-15 Sony Ericsson Mobile Comm Ab Verfahren zur gemeinsamen benutzung von information zwischen tragbaren kommunikationsendgeräten und kommunikationsendgerät dafür
JP2008242641A (ja) * 2007-03-26 2008-10-09 Nec Corp 認証認可システム
KR101394515B1 (ko) * 2007-04-26 2014-05-13 엘지전자 주식회사 화상채팅 기록을 저장할 수 있는 이동통신 단말기 및 그동작방법
US8194657B2 (en) * 2007-05-22 2012-06-05 Actiontec Electronics, Inc. Systems and methods for dynamic quality of service
US20110074909A1 (en) * 2008-05-16 2011-03-31 Nxp B.V. Video telephony
JP2009301253A (ja) * 2008-06-12 2009-12-24 Ntt Docomo Inc 携帯端末装置及びメーラ起動方法
US20100251127A1 (en) * 2009-03-30 2010-09-30 Avaya Inc. System and method for managing trusted relationships in communication sessions using a graphical metaphor
US20100325040A1 (en) * 2009-06-23 2010-12-23 Craig Stephen Etchegoyen Device Authority for Authenticating a User of an Online Service
WO2011052316A1 (ja) * 2009-10-28 2011-05-05 日本電気株式会社 通信装置、通信方法および通信プログラム
US10264029B2 (en) * 2009-10-30 2019-04-16 Time Warner Cable Enterprises Llc Methods and apparatus for packetized content delivery over a content delivery network
US8750291B2 (en) * 2009-11-22 2014-06-10 Avaya Inc. Enhanced call preservation techniques for SIP-based communication networks
US9553974B2 (en) * 2010-08-11 2017-01-24 Apple Inc. Media/voice binding protocol and related user interfaces

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050094646A1 (en) * 2003-10-30 2005-05-05 C And S Technology Co., Ltd. IP video terminal with function for controlling video transmission/reception bandwidth and image quality and control method thereof
US20110033035A1 (en) * 2003-12-22 2011-02-10 Turner Tod C System and method for initiating a conference call

Also Published As

Publication number Publication date
RU2013155598A (ru) 2015-06-27
CN103733185A (zh) 2014-04-16
BR112013029438A2 (pt) 2017-01-31
JP6149857B2 (ja) 2017-06-21
WO2012158750A1 (en) 2012-11-22
AU2012255846A1 (en) 2013-11-14
JP2014523555A (ja) 2014-09-11
RU2613030C2 (ru) 2017-03-14
SG194693A1 (en) 2013-12-30
JP2017153141A (ja) 2017-08-31
US20160055325A1 (en) 2016-02-25
US9210143B2 (en) 2015-12-08
CN103733185B (zh) 2019-09-17
KR101954468B1 (ko) 2019-03-05
BR112013029438B1 (pt) 2021-08-03
TW201301828A (zh) 2013-01-01
AU2012255846B2 (en) 2016-05-05
US20120297451A1 (en) 2012-11-22
EP2710483B1 (en) 2020-11-18
EP2710483A1 (en) 2014-03-26
IL229344A (en) 2016-12-29
TWI590628B (zh) 2017-07-01
EP2710483A4 (en) 2015-02-25
IL229344A0 (en) 2014-01-30

Similar Documents

Publication Publication Date Title
KR101954468B1 (ko) 다중 데이터 타입 커뮤니케이션 시스템
KR101951975B1 (ko) 통신 시스템
US9819902B2 (en) Proximate resource pooling in video/audio telecommunications
KR102145089B1 (ko) 사전 에스컬레이션 참여 확인을 이용한 심리스 통화 전환
JP5828565B2 (ja) メディア/音声バインディングプロトコル及び関連するユーザインターフェイス
US11861153B2 (en) Simplified sharing of content among computing devices
US9215286B1 (en) Creating a social network based on an activity
CN112395509A (zh) 信息显示方法、信息提供方法、设备和计算机可读介质
JP2016507798A (ja) リアルタイム通信システムを用いたグループ・ナッジ
CN112968826A (zh) 语音交互方法、装置和电子设备
US9301110B1 (en) Multimodal communication system and method
CN109120500A (zh) 一种信息处理方法及输入法系统

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant