KR20180118732A - 비동기 메시징 시스템에서의 단일 계정에 대한 다수 프로파일의 관리 - Google Patents

비동기 메시징 시스템에서의 단일 계정에 대한 다수 프로파일의 관리 Download PDF

Info

Publication number
KR20180118732A
KR20180118732A KR1020187028221A KR20187028221A KR20180118732A KR 20180118732 A KR20180118732 A KR 20180118732A KR 1020187028221 A KR1020187028221 A KR 1020187028221A KR 20187028221 A KR20187028221 A KR 20187028221A KR 20180118732 A KR20180118732 A KR 20180118732A
Authority
KR
South Korea
Prior art keywords
user
profile
account
server
user account
Prior art date
Application number
KR1020187028221A
Other languages
English (en)
Other versions
KR102079892B1 (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 KR20180118732A publication Critical patent/KR20180118732A/ko
Application granted granted Critical
Publication of KR102079892B1 publication Critical patent/KR102079892B1/ko

Links

Images

Classifications

    • 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/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • H04L51/22
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • H04L67/306User profiles
    • H04L51/28
    • 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/48Message addressing, e.g. address format or anonymous messages, aliases
    • 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/52User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail for supporting social networking services
    • 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/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/10Multimedia information
    • 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

Abstract

비동기 메시징 시스템에서 제1 사용자 계정과 관련하여 다수의 프로파일이 수신된다. 프로파일 중의 하나 이상은 다른 사용자 계정과 연관된다. 연관된 프로파일은 로컬 카피로서의 저장을 위해 다른 사용자 계정과 연관된 사용자 클라이언트로 전송된다. 연관은 제1 사용자의 연락망 리스트 또는 다른 사용자의 연락망 리스트에서의 포함을 포함할 수 있다. 제1 계정으로부터 다른 사용자 계정으로 메시지가 전송될 때 연관된 프로파일이 전송될 수 있다. 공공 프로파일은, 공공 프로파일이 업데이트될 때 업데이트되는 버전 식별자를 포함할 수 있다. 다른 사용자 클라이언트에서의 공공 프로파일의 로컬 카피에 대한 업데이트는 연관된 버전 식별자의 로컬 카피가 로컬 프로파일이 구식이라는 것을 나타낼 때에만 발생하여 네트워크 트래픽을 감소시킨다.

Description

비동기 메시징 시스템에서의 단일 계정에 대한 다수 프로파일의 관리
본 개시물은 일반적으로 컴퓨터 네트워크를 통한 비동기 메시징에 관한 것이다.
비동기 통신은, 송신자와 수신자에 대하여 동기된 어떤 클록에 따르기보다는 오히려 자신들의 스케줄이 허용하는 대로 읽기와 응답을 함으로써 통신 네트워크 내의 장치들 간의 메시지의 교환이다. 비동기 메시징 환경에서, 2이상의 애플리케이션, 장치들 또는 시스템들 간의 통신이 발생하고, 시스템은 메시지를 메시지 큐(queue)에 배치하여 계속 프로세싱하기 위하여 응답을 기다릴 필요 없고, 송신자와 수신자 모두가 동시에 이용가능하거나 온라인일 필요 없고, 오히려, 자신들의 스케줄 및 욕구가 허용하는 대로 읽고 응답한다. 예로는 이메일, 디스커션 챗 (discussion chats), 및 포럼, 셀 폰을 통한 문자 메시징을 포함한다. 메시지 전달 및 응답은 수신자가 온라인이되는 시간에 기초하여 초, 분 일(day)의 단위일 수 있다. 이것은 송신자와 수신자가 동시에 온라인일 필요가 없기 때문에 더 편리하다.
셀 폰을 위한 현대의 메시징 애플리케이션에서, 비동기 통신 방법은, 종종 텍스트 데이터를 전송하고 고속으로 멀티미디어를 업로드 및 다운로드하고, 더 많은 수의 동시 발생 사용자 액세스를 지원하기 위하여 적응되었다. 현대의 비동기 메시징 애플리케이션은 통상 웹소켓 프로토콜, 요청/응답 등의 미리 정의된 메시지 패턴이 없는 양방향 프로토콜 등의 비동기 통신 프로토콜을 채용한다. 웹소켓 프로토콜은 클라이언트와 서버가 서로를 기다리지 않고 메시지를 보대도록 하고, 따라서, 풀-듀플렉스의 진짜 비동기 통신을 지원하여, 확장성(scalability)을 증가시키고 근실시간 대화형 애플리케이션(near real time interactive application)을 형성한다. 본 기술에 기지의 비동기 메시징 애플리케이션의 예는 WHATsApp 메신저, Telegram 메신저, Line 메신저, WeChat 메신저, Facebook 메신저, Google Hangouts 메신저를 포함한다. WHATsApp 메신저는 미국 캘리포니아 마운틴 뷰의 왓츠앱 인코오포레이티드(WhatsApp Inc.)의 상표이며, Telegram 메신저는 미국 델라웨어 윌밍톤의 텔레그램 엘엘씨의 상표이고, Line 메신저는 일본 도쿄 라인 코오포레이션의 상표이고, Google Hangouts 메신저는 미국 캘리포니아 마운틴 뷰의 구글 인코오포레이티드에 의해 개발되었다.
현대의 메시징 애플리케이션은, 또한 때때로 메시징 애플리케이션이 보이스콜 또는 비디오 콜을 제공할 때 동기 통신 방법을 지원하며, 동기 통신은 보이스 또는 비디오 데이터를 전송하는데 사용된다. 동기 메시징 또는 직접 통신은 2개 이상의 애플리케이션, 장치 또는 애플리케이션 사이에서 통신이 발생하는 경우이며, 시스템은 메시지를 메시지 큐에 배치하고 프로세싱이 계속되기 전에 프로세싱을 메시지 응답을 기다린다. 정보는 클록 신호를 이용하여 동기화되고 통신에 참여하는 모든 당사자는 동시에 존재해야 한다. 전화 통화, 비디오 컨퍼런스, 인스턴트 메시징은, 데이터 송신이 실시간으로 발생하고 데이터 송신이 발생하는 동안 송신자과 수신자 모두가 동시에 이용가능하고 온라인이어야 하는 동기 메시징의 사용예이다. 동기 컴퍼런스의 임의의 실시예는 온라인 채팅이라는 불리는 것을 포함하는데, 이는 때때로 다수 사용자 온라인 채팅을 위한 텍스트 기반 메시징을 제공하는 인스턴트 메시지 또는 오디오/비디오 컨퍼런스를 포함하도록 확장된다. 동기 컨퍼런스 프로토콜의 예는 IRC(Internet Relay Chat), PSYC(Protocol for Synchronous Conferencing), SILC(Secure Ineternet Live Conferencing), XMPP(Extensible Messaging Presence Protocol) 및 SIMPLE(SIP for Instant Messaging and Presence Leveraging Extensions Protocol)를 포함한다.
전형적인 비동기 메시징 애플리케이션에서, 송신 사용자는 사용자 또는 복수의 수신 사용자에게 메시지를 보내고, 메시지 요청은 메시지 바디 및 수신 사용자 식별 또는 복수의 사용자 식별을 포함한다. 메시지는, 메시지를 저장하고 수신 사용자가 이용가능해질 때 수신 사용자에게 메시지를 전달하는 서버 컴퓨터로 전송된다. 메시지는 텍스트 데이터, 이미지, 오디오 및/또는 비디오 등의 멀티미디어일 수 있다. 각 사용자가 사용자에 대한 아이덴티티 정보를 포함하는 프로파일을 갖는 것은 일반적이다. 프로파일은 이름, 짧은 설명, 및 아바타로 알려진 이미지를 포함할 수 있다. 프로파일은 메시지 전송 전 또는 그 부근에서 비동기 메시징 시스템의 다른 사용자에게 전송될 수 있다. 다른 사용자들은 때때로 사용자 프로파일을 볼 수 있다.
비동기 메시징 시스템에서 공통적으로, 사용자는 등록시 프로파일을 등록 및 생성하고, 시스템은 모든 사용자 연락망(contact)를 읽어 사용자 프로파일을 등록된 사용자 연락망으로 전달한다. 등록된 사용자 연락망은 사용자 프로파일을 수신하여 국부적으로 메모리 또는 사용자 장치의 저장장치 또는 사용자와 연관된 컴퓨터에 저장한다. 사용자가 다른 사용자에게 메시지를 보내면, 다른 사용자는 메시지를 수신하고 비동기 메시징 클라이언트는 메시지의 내용과 함께 수신 사용자 로컬 장치 또는 컴퓨터 메모리에 저장된 송신 사용자 프로파일을 디스플레이한다. 시스템의 본질은 비동기이기 때문에, 메시지 송신 내용의 전에 사용자 프로파일이 수신 사용자의 장치에서 전송되고 이용가능하다는 보장이 없다. 그러므로, 송신 사용자 프로파일의 서브세트는 송신 사용자 프로파일이 완전히 전송될 때까지 메시지와 함께 전송될 수 있다.
비동기 메시징 시스템에서, 일반적으로, 사용자가 개인 연락망, 직업상 연락망 및 다른 분류되지 않은 연락망에 대하여 상이한 분류를 지정할 수 있다. 그러나, 기지의 비동기 메시징 시스템은 일반적으로 사용자가 단일 프로파일만을 생성하게 하고, 이는 궁극적으로 사용자의 모든 연락망에 전달된다.
이러한 시스템에서, 사용자는 때때로 프로파일을 업데이트할 수 있다. 업데이트가 완료되자 마자, 비동기 메시징 클라이언트는 업데이트된 프로파일을 서버로 전송하고, 서버는 업데이트된 프로파일을 저장하고 다른 사용자들이 이용가능해지면 다른 사용자들에게 전달한다.
기지의 비동기 메시징 시스템에서의 사용자 프로파일의 구현에서 발생하는 하나의 어려움은, 사용자가 자신의 프로파일에 포함하고 싶어할 수 있는 내용이 자신의 연락망의 임의의 분류, 예를 들어, 연락망이 친구 또는 가족 구성원으로서 분류되는 개인 정보 내의 다른 사용자에 의해 보여지기에 적합할 수 있지만 자신의 연락망의 다른 분류, 예를 들어, 고용주, 고용인 또는 고객 등의 직업상 연락망 내의 다른 사용자에게는 보여지기를 원하지 않을 수 있는 것이다. 그러므로, 사용자는 내용을 포함하기 위하여 자신의 사생활 선호도를 타협하거나 자신의 프로파일을 검열(censor)하는 것을 선택해야 한다.
프로파일 업데이트에 기인하는 다른 어려움은 사용자 그룹의 사용에 관한 것이다. 많은 비동기 메시징 시스템은 사용자가 메시지를 복수의 사용자에게 전송하도록 한다. 전형적으로, 복수의 사용자가 할당되거나 초대되어 그룹에 합류할 수 있고, 그 그룹의 식별은 서버 컴퓨터에서 할당된 사용자 식별과 함께 저장된다. 메시지가 특정 그룹 식별에 전송될 때, 메시지는 서버 컴퓨터에 의해 수신되고, 서버 컴퓨터는 메시지를 저장하고 그 사용자들이 이용가능해질 때 그룹의 할당된 사용자에게 전달한다. 미동기 메시징 애플리케이션의 광범위한 사용은 시스템이 프로파일 업데이트가 도전이 되는 더 큰 그룹 사이즈(약 수천명의 사용자)에 적응하도록 한다.
어떤 동기 컨퍼런스 시스템은 다수의 프로파일을 채택 또는 채용한다. 예를 들어, 참고로 여기에 포함되는 미국 특허 8,332,771는 다수의 프로파일을 관리하는 동기 컨퍼런스 시스템을 개시하며, 여기서, 송신 및 수신 당사자는 동기 컨퍼런스 서버에 로그인하여 접속 정보를 얻고 송신 및 수신 당사자의 각각이 메시지 및 프로파일을 직접 교환할 수 있고 온라인이어야 한다. 이러한 구성의 문제점은 송신 및 수신 사용자 모두가 온라인이어야 할 필요가 없고 독립적으로 소통하는 비동기 메시징 시스템에 대한 솔루션을 제공하지 않는다는 것이다.
그러므로, 기지의 기술의 상술한 한계를 극복하고 비동기 메시징 환경에서 다수의 사용자 프로파일을 제공하고 가능하게 하는 솔루션이 가치가 있을 수 있다.
본 발명의 목적은, 비동기 메시징 시스템의 사용자에게 비동기 메시징 시스템의 다른 사용자 및 상이한 카테고리의 연락망에 사용되도록 다수의 상이한 프로파일을 생성하고 저장하는 능력을 제공할 수 있는 컴퓨터 구현 방법을 제공하는 것이다.
본 발명의 형태에 따르면, 비동기 메시징 시스템에서 제1 사용자 계정과 연관된 복수의 사용자 프로파일을 관리하는 컴퓨터 구현 방법으로서, a) 상기 비동기 메시징 시스템의 서버에서 상기 제1 사용자 계정에 대한 인증과 관련하여 상기 제1 사용자 계정과 연관된 상기 복수의 제1 사용자 프로파일에 대한 각각의 프로파일 사양을 수신하고 저장하는 단계 - 상기 복수의 사용자 프로파일은 제1 사용자 프로파일 및 상기 제1 사용자 프로파일과 다른 제2 사용자 프로파일임 -; b) 상기 제1 사용자 프로파일의 로컬 카피로서 제2 사용자 클라이언트에서의 저장을 위해 상기 서버에 의해 상기 비동기 메시징 시스템 내의 제2 사용자 계정과 연관된 제2 사용자 클라이언트로 상기 제1 사용자 프로파일을 전송하는 단계; 및 c) 제2 사용자 프로파일의 로컬 카피로서 제3 사용자 클라이언트에서의 저장을 위해 상기 서버에 의해 상기 비동기 메시징 시스템 내의 제3 사용자 계정과 연관된 제3 사용자 클라이언트로 상기 제2 사용자 프로파일을 전송하는 단계를 포함하는 방법을 제공한다.
본 발명은 비동기 메시징 시스템의 사용자에게 비동기 메시징 시스템의 다른 사용자 및 상이한 카테고리의 연락망에 사용되도록 다수의 상이한 프로파일을 생성하고 저장하는 능력을 제공한다. 이 방식에서, 사용자는 다른 특정 카테고리의 사용자들 또는 개별 사용자들이 메시징 시스템의 사용과 관련하여 수신하고 볼 수 있는 정보를 선택할 수 있고, 이 방식으로, 사용자는 다른 사용자에게 적절한 정보를 선택할 수 있다. 이 능력은 사용자가 자신의 프라이버시를, 예를 들어, 직업 카테고리 내의 사람으로부터 보호하도록 하고, 동시에, 다른 카테고리 내의 다른 사용자, 예를 들어, 가족이나 친구 카테고리에게는 적절한 정보를 자유롭게 공유할 수 있게 한다. 많은 수의 사용자를 포함하는 그룹의 사용 및 프로파일의 추가, 업데이트 및 전파와 연관된 네트워크 트래픽 증가 문제는 다른 사용자의 프로파일의 수령 로컬 카피가 구식일 때에만 업데이트 되는 버전 식별자의 사용에 의해 처리될 수 있고, 따라서, 그룹의 모든 멤버들에게 즉시 모든 프로파일을 푸쉬함으로써 발생되는 네트워크 트래픽을 감소시킨다.
실시예는 첨부된 도면을 참조하여 단지 예로서 설명한다.
도 1은 시스템이 사용될 수 있는 환경을 포함하는 비동기 메시징 시스템을 위한 시스템의 블록도.
도 2는 비동기 메시징 시스템을 위한 비동기 메시징 서버의 블록도.
도 3은 비동기 메시징 서버의 데이터 구조의 예시적인 데이터 관계를 개략적으로 나타내는 블록도.
도 4는 상이한 수신 사용자 클라이언트에게 상이한 프로파일을 전송하는 일반적으로 프로세스의 플로우챠트.
도 5는 메시지가 클라이언트에게 전송될 때 상이한 수신 사용자 클라이언트에게 상이한 프로파일을 전송하는 프로세스의 플로우챠트.
도 6은 다수의 프로파일을 갖는 새로운 비동기 계정 등록의 프로세스의 플로우챠트.
도 7은 비동기 계정이 자신의 프로파일을 업데이트하는 프로세스의 플로우챠트.
도 8은 연락망 리스트 검색 및 리버스(reverse) 연락망 리스트 검색에 기초하여 상이한 수신 사용자 클라이언트에rp 상이한 프로파일을 전송하는 프로세스의 플로우챠트.
도 9는 구식이 될 때에만 사용자 클라이언트에게 업데이트된 공공 프로파일을 전송하는 프로세스의 플로우챠트.
도면에서, 특징 또는 요소들은 일반적으로 참조번호(예를 들어, 10)를 포함하는 참조 문자를 이용하여 식별된다. 숫자와 뒤따르는 하나 이상의 문자를 포함하는 참조 문자(예를 들어, 10A 또는 10B)는 숫자만에 의해 더 넓게 지정된 특징 또는 요소의 특정 인스턴스를 지정(예를 들어, 10A 또는 10B는 특징 또는 요소(10)의 특정 인스턴스를 지정한다)하도록 의도되고, 따라서, 특정 인스턴스에 속하는 임의의 특성들은 그렇게 참조될 때 좀 더 일반적인 특징 또는 요소의 모든 인스턴스에 반드시 포함되는 것은 아니다.
비동기 메시징 환경에서 단일 계정 내의 다수의 프로파일을 관리하는 기술이 개시된다. 본 기술은 사용자에게 다수의 프로파일의 내용 및 그들의 의도된 수령인에 대한 제어를 제공한다. 본 기술은, 사용자 그룹 내의 매우 많은 수의 사용자를 포함하여, 매우 많은 수의 사용자를 가질 수 있는 비동기 메시징 시스템에서 프로파일에 대한 업데이트의 전파와 연관된 기술적 어려움을 처리하고, 또한, 시스템은 지리학적으로 분산된 다수의 서버를 통해 서비스의 분배를 수반한다. 본 기술은 많은 방식과 많은 형태로 구현될 수 있다.
도 1은 시스템이 이용될 수 있는 환경을 포함하는 비동기 메시징 시스템(10)의 개략적인 표시이다. 시스템(10)은 비동기 메시징 서버(20)(또는 단순히 서버), 하나 이상의 비동기 메시징 클라이언트(30)(또는 단순히 클라이언트), 하나 이상의 컴퓨터 네트워크(40)를 포함하며, 이들 중의 임의의 것은 인터넷을 포함할 수 있고, 메시지 및 메시지 명령은 통신 링크를 통해 전송될 수 있고, 통신 링크는 광 또는 전자 통신 링크 등의 유선 링크 또는 무선 링크일 수 있다. 시스템은 하나 이상의 비동기 메시징 클라이언트(30)를 포함할 수 있고, 비동기 메시징 클라이언트는, 이동형이든 고정형이든, 하드웨어 프로세서 및 메모리 및 통신 네트워크를 인터페이스하는 통신 인터페이스를 갖는 사용자 장치의 임의의 적절현 타입 및 형태를 포함할 수 있고, 메모리는 여기에 기재된 기능을 수행하는 프로세서에 의해 실행가능한 명령을 저장한다. 비동기 메시징 클라이언트(30)는 예를 들어 컴퓨터 비동기 메시징 클라이언트(30A), 셀룰러 폰 또는 스마트폰 메시징 클라이언트(30B, 30C, 30D), 및 장치 태블릿 비동기 메시징 클라이언트(30E)를 포함할 수 있다. 그러나, 다른 타입 또는 다른 수의 비동기 메시징 클라이언트 및 다른 구성도 가능함을 이해할 것이다.
비동기 메시징 서버(20)는 네트워크(40)를 통한 유선 또는 무선 링크를 통해 비동기 메시징 클라이언트(30)로부터/로 비동기 메시지 및 메시지 명령을 수신, 저장 및 전달하는 등의 중앙집중형 비동기 기능을 수행하도록 구성된다. 비동기 메시징 서버(20)는, 논리적, 물리적 -지리적 포함 -으로 같은 장소에 배치되거나 분산되고 네트워크(40)를 통한 링크를 통해 통신하도록 구성되어 여기에 기재된 기능을 제공하는 단일 서버 또는 복수의 서버를 포함할 수 있다. 하나 이상의 서버의 각각은 하나 이상의 통신 인터페이스를 이용하여 메모리에 저장된 비동기 메시징 및 메시지 명령을 실행하는 하드웨어 프로세서를 포함할 수 있고, 직접 또는 네트워크(40)를 통해 서버(20)에 접속될 수 있는 데이터베이스(85) 등의 하나 이상의 컴퓨터 판독가능 저장 매체를 직접 또는 간접 인터페이싱할 수 있고, 하나 이상의 컴퓨터 판독가능 저장 매체는 비동기 계정을 위한 다양한 데이터 및 정보를 포함하는 데이터베이스 구조를 저장할 수 있다. 비동기 메시징 서버는, 일대일 또는 다대일 대응할 수 있는 각각의 비동기 메시징 클라이언트(30) 및 해당 비동기 사용자 계정 간의 연관성을 데이터베이스(85)에 저장할 수 있다.
각각의 비동기 메시징 클라이언트(30)는, 연락망 디스플레이, 비동기 메시징 서버(20)로의 통신 세션 확립, 비동기 메시징 서버(20)와의 메시징 및 메시징 명령의 교환 등의 비동기 메시징 기능을 수행하도록 구성될 수 있다. 비동기 메시징 클라이언트(30)는 연락망 리스트로/로부터 메시지를 송수신하는 사용자 인터페이스를 제공할 수 있다. 비동기 메시징 클라이언트(30)의 사용자는 연락망 리스트(수신 클라이언트)로부터 비동기 메시징 계정을 선택하여 메시징 채팅을 시작할 수 있다. 비동기 메시징 클라이언트(30)는 메시지 및 메시지 명령을 비동기 메시징 서버(20)로 전송할 수 있다. 비동기 메시징 서버(20)는 수신 클라이언트의 이용가능성을 평가하여 메시지를 전달할 수 있다. 수신 클라이언트가 온라인으로 연결되어 있으면, 비동기 메시징 서버(20)는 메시지를 수신 클라이언트에게 푸쉬할 수 있고, 그렇지 않으면, 비동기 메시징 서버(20)는 수신 클라이언트(30)가 이용가능해지면 메시지가 수신 클라이언트(30)에게 전달될 때까지 컴퓨터 판독가능 저장 매체에 저장할 수 있다. 특히, 수신 클라이언트(30)가 기간 내에 이용가능하게 되지 않으면, 비동기 메시지 서버(20)는 만료되어 메시지를 드롭(drop)할 수 있다.
도 2는 비동기 메시징 시스템(10) 내에서 다수의 프로파일을 구현하는데 사용되는 비동기 메시징 서버(20)의 개략적인 구성을 나타내는 블록도이다. 서버(20)는 통신 계층(90), 인증 계층(100), 저장 및 전달 계층(110), 데이터 구조(120)를 포함한다. 이들 컴포넌트의 각각은 애플리케이션의 컨텍스트에 적용가능한 하드웨어 및 소프트웨어의 임의의 적절한 조합을 이용하여 임의의 적절한 방식으로 구현될 수 있다. 일반적으로, 통신 계층(90), 인증 계층(100) 및 저장 및 전달 계층(110)의 각각은 서버(20)의 상술한 하드웨어 프로세서, 메모리 및/또는 하나 이상의 통신 인터페이스를 포함하거나 그와 인터페이싱하는 하드웨어 및/또는 소프트웨어를 포함할 것이다. 다양한 기술들이 데이터베이스, 데이터 저장장치, 저장소, 및 다른 타입의 데이터 구조를 포함하는 데이터 구조(120)를 구현하는데 사용될 수 있다. 상술한 바와 같이, 데이터 구조(120)는 서버에 국부적인 컴퓨터 판독가능 저장 매체 내의 서버(20)에서 또는 서버(20)에 의해 액세스가능한 하나 이상의 데이터베이스(85)에서 구현될 수 있다.
데이터 구조(120)는 시스템(10) 내의 각각의 비동기 사용자 계정에 대한 다수의 프로파일에 대한 다양한 데이터 및 정보를 포함할 수 있다. 데이터 구조(120)는 데이터를 식별하고 분할(segment)하는 칼럼을 포함할 수 있다. 각각의 비동기 계정은 사용자 프로파일 데이터 정보의 구성과 관련된 식별 설정 및 데이터를 보유할 수 있다. 프로파일 정보는 아바타 등의 이미지, 애니메이션 이미지, 설명 텍스트, 자유 텍스트, 사운드, 오디오, 비디오 및/또는 다른 타입의 미디어를 포함할 수 있다. 데이터 구조(120)는 계정 데이터베이스에 저장될 수 있는 복수의 비동기 계정(120), 프로파일 데이터베이스에 저장될 수 있는 복수의 사용자 프로파일(140), 연락망 데이터베이스에 저장될 수 있는 복수의 사용자 연락망 리스트(150) 및 그룹 데이터베이스에 저장될 수 있는 복수의 사용자 계정 그룹 정의(160) 중의 하나 이상을 포함할 수 있다. 사용자 계정 그룹은 공통 관심을 갖는 그룹 토론에 합류한 복수의 사용자 계정으로 구성된 리스트일 수 있다. 사용자 계정 그룹 리스트 정의는 그룹 리스트 데이터베이스에 저장될 수 있다.
비동기 메시징 클라이언트(30)는 통신 계층(90)에서 비동기 메시징 서버(20)와 통신을 확립하고 자신의 인증 자격을 제공할 수 있다. 클라이언트(30)와 서버(20)간의 통신은 비동기 프로토콜을 이용할 수 있다. 통신을 확립할 때, 비동기 메시징 서버(20)는 데이터 구조(120)의 비동기 계정(130) 내의 사용자 계정 정보를 검색하고 인증 계층(100)에서 사용자 비동기 메시징 클라이언트 자격에 매칭시킬 수 있다. 비동기 메시징 클라이언트(30)가 비동기 메시징 서버(20)에 의해 인증되자마자, 비동기 메시징 클라이언트(30)는 저장 및 전달 계층(110)에서 핸들링되는 메시지 및 메시지 명령을 송수신하기 시작할 수 있다. 저장 및 전달 계층(110) 및 인증 계층(100)은 문의 및 업데이트를 위해 데이터베이스 구조(120)에 액세스할 수 있다.
계정 데이터베이스(130)는 시크릿 PIN, MSISDN, 푸쉬 알림 식별자 및 클라이언트 장치를 식별할 수 있는 장치 식별자 등의 다른 사용자 데이터 뿐만 아니라 프라이머리 키로서 비동기 계정 식별자를 가질 수 있다. 프로파일 데이터베이스(140)는 프로파일 이름, 짧은 설명 및 아바타로 알려진 이미지 등의 다른 정보 뿐만 아니라 복수의 프로파일이 각각의 사용자 계정을 위해 정의되도록 하는 컴포지트 프라이머리 키로서의 계정 식별자 및 프로파일 식별자를 포함할 수 있다. 연락망 데이터베이스(150)는 2개의 사용자 계정 간의 관계를 정의할 수 있고, 2개의 사용자 계정 식별자의 컴포지트 키 및 제1 사용자 계정에 대한 프로파일 식별자를 포함할 수 있다. 그룹 데이터베이스(160)는 프라이머리 키로서의 그룹 식별자, 그룹 이름, 짧은 설명 및 그룹 아바타로서 알려진 이미지를 가질 수 있다. 그룹 데이터베이스(160)는 제1 외래키로서의 그룹 식별자 및 제2 외래키로서의 계정 식별자를 가질 수 있다.
도 3은 데이터 구조(120)에 저장된 정보의 개략적인 관계의 비제한 예인 데이터 구조(170)의 블록도를 나타낸다. 본 기술에 숙련된 자에 의해 인식되는 바와 같이, 이러한 개략적인 관계는 데이터 구조(120)에서 많은 상이한 방식으로 달성될 수 있다. 예를 들어, 계정 데이터베이스(130)는, 비제한 예로서, 계정 A(180), 계정 B(182), 계정 C(184), 계정 D(186) 및 계정 E(188)을 포함하는 다수의 사용자 계정(131)을 정의하고 그와 연관된 엔트리를 저장할 수 있다. 각각의 계정(131)은 클라이언트(30A, 30B, 30C, 30D, 30E) 등의 각각의 해당 클라이언트(30)와 연관되고 그를 식별하는 정보를 포함할 수 있다. 사용자 프로파일(140) 데이터베이스는 해당 계정과 연관되고 그를 식별하는 프로파일 사양(specification)을 포함하는 프로파일 정보를 저장할 수 있다. 예를 들어, 계정 A(180)는 4개의 상이한 프로파일(190), 즉, 프로파일 I(191), 프로파일 II(192), 프로파일 III(193), 및 공공 프로파일(194)을 포함할 수 있고, 공공 프로파일은 이하에서 설명하는 버전 번호(195)를 포함할 수 있다. 상이한 프로파일(191, 192, 193, 194)은 각각 서로 다를 수 있고, 특히, 각각의 프로파일 사양은 다를 수 있다. 예를 들어, 프로파일 I(191)은 가족 연락망 구성에 적합한 아이덴티티 정보를 포함할 수 있는 가족 프로파일일 수 있고, 프로파일 II(192)는 친구 연락망 구성에 적합한 아이덴티티 정보를 포함할 수 있는 친구 프로파일일 수 있고, 프로파일 III(193)는 비즈니스 및 동료 연락망 구성에 적합한 아이덴티티 정보를 포함할 수 있는 직장 프로파일일 수 있고, 공공 프로파일(194)는 다른 구성 하에 있지 않거나 사용자 계정과 사전 관계가 없는 다른 구성에 적합한 아이덴티티 정보를 포함할 수 있다. 이 방식으로, 상이한 프로파일(190)은 프로파일에 존재하거나 액세스가능한 정보의 본질과 관련된 상이한 카테고리(예를 들어, 가족, 친구, 직장, 공공)와 연관될 수 있다.
따라서, 도 4에 도시된 바와 같이, 본 기술을 채용하는 일반적인 방법(700)에서, 서버(20)는 상이한 사용자 프로파일에 대하여 특정 사용자 계정에 대한 인증과 관련될 수 있는 프로파일 사양을 수신하고 저장하고 (단계 710), 상이한 사용자 프로파일을 상이한 사용자 프로파일의 로컬 카피로서 사용자 클라이언트(30)에서의 저장을 위해 비동기 메시징 시스템 내의 연관된 상이한 사용자 계정의 해당하는 상이한 사용자 클라이언트(30)로 전송할 수 있다(단계 720). 도 3에 도시된 바와 같이, 본 방법에 의해, 계정 B(182), 계정 C(184), 계정 D(186) 및 계정 E(188)을 포함하는 다른 계정은, 비동기 메시징 시스템의 사용의 일부로서 그 클라이언트에서의 디스플레이를 위해 프로파일의 로컬 카피로서 그 클라이언트에서의 저장을 위해 이들 계정과 연관된 각각의 상이한 사용자 클라이언트(30B, 30C, 30D, 30E)에서 계정 A(180)의 복수의 프로파일(190) 중 상이한 것을 수신할 수 있다. 예를 들어, 클라이언트 B(30B)는 프로파일 I(191)의 로컬 카피를 수신하고 저장할 수 있고, 클라이언트 C(30C)는 프로파일 II(192)의 로컬 카피(197)를 수신하고 저장할 수 있고, 클라이언트 D(30D)는 공공 프로파일(194)의 로컬 카피(198)를 수신하고 저장할 수 있고, 클라이언트 E(30E)는 공공 프로파일(194)의 로컬 카피(199)를 수신하고 저장할 수 있다. 각각의 비동기 메시징 클라이언트(30)는 해당 계정 A 프로파일의 각각의 로컬 카피를 오프라인으로 보기 위한 사용자 인터페이스를 제공하고 계정 A를 수신된 프로파일 정보로 식별할 수 있다. 그러므로, 계정 B(182)의 클라이언트(30B)의 사용자는 수신된 프로파일 I(191) 정보(예를 들어, 가족 프로파일)를 갖는 계정 A(180)를 보고 식별할 수 있고, 계정 C(184)의 클라이언트(30C)의 사용자는 수신된 프로파일 II(192) 정보(예를 들어, 친구 프로파일)를 갖는 계정 A(180)를 보고 식별할 수 있고, 계정 D(184)의 클라이언트(30D) 및 계정 E(188)의 클라이언트(30E)의 사용자는 수신된 공공 프로파일 (194) 정보(예를 들어, 가족 프로파일)를 갖는 계정 A(180)를 보고 식별할 수 있다. 각각의 비동기 메시징 클라이언트(30)는, 계정 A(180)의 프로파일 정보를 업데이트하거나 변경하는 다른 메시지 명령을 수신할 때까지 수신된 프로파일 정보를 갖는 계정 A(180)를 계속 보고 식별한다.
본 기술은, 특정 사용자 계정과 관련하여 수신되고 저장된 다수의 상이한 프로파일이 각각 다른 사용자 계정과 연관되고 및/또는 이러한 다수의 상이한 프로파일의 로컬 카피로서의 저장을 위해 다른 사용자 계정과 연관된 클라이언트로 전송되는 다수의 상이한 방법을 포함할 수 있다.
예를 들어, 도 5의 방법(800)에 도시된 바와 같이, 일단 서버(20)가 사용자 계정과 관련하여 각각의 상이한 사용자 프로파일에 대한 상이한 프로파일 사양을 수신하고 저장했으면, 메시지가 제1 사용자에 의해 해당하는 다른 사용자 계정으로 전송될 때 상이한 프로파일이 상이한 다른 사용자 클라이언트에게 전송되거나 그에 의해 이용가능해질 수 있다. 예를 들어, 서버(20)는 도 3에 도시된 바와 같이 사용자 계정(A)과 관련하여 프로파일 I(191) 및 프로파일 II(192) 등의 상이한 사용자 프로파일에 대한 상이한 프로파일 사양을 수신 및 저장할 수 있다(단계 810). 서버(20)는 계정 A(180)에 대한 인증과 관련하여 메시지를 계정 B(182)로 전송하라는 입력을 수신할 수 있다 (단계 820). 서버(20)는 프로파일 I(191)의 로컬 카피로서 클라이언트 B에서의 저장을 위해 프로파일 I(191)을 시스템(10) 내의 계정 B(182)와 연관된 클라이언트 B(30B)로 전송할 수 있다 (단계 830). 마찬가지로, 서버(20)는 계정 A(180)에 대한 인증과 관련하여 메시지를 계정 C(184)로 전송하라는 입력을 수신한다 (단계 840). 서버(20)는 프로파일 II(192)의 로컬 카피(197)로서 클라이언트 C에서의 저장을 위해 프로파일 II(192)을 시스템(10) 내의 계정 C(184)와 연관된 클라이언트 C(30C)로 전송할 수 있다 (단계 850). 클라이언트 B(30B)로의 송신을 위한 서버(20)에 의한 프로파일 I(191)의 선택은, 프로파일 I(191)의 카피가 계정 B(182)과 연관된 클라이언트 B(30B)로 전송되도록 메시지와 관련하여 프로파일 I(191)의 식별을 포함하는 계정 A(180)의 사용자(예를 들어, 클라이언트 A(30A)를 사용)에 의한 수동 선택에 대한 응답일 수 있다. 대안으로, 서버(30)에 의한 프로파일 I(191)의 선택은, 데이터 구조(170)가 계정 A의 연락망 리스트(240)에 계정 B(182)을 식별하고 계정 B(182)와 관련하여 프로파일 I(191)의 식별(243)을 포함하는 엔트리(241)를 포함한다는 서버(20)에 의한 결정에 대한 응답일 수 있다. 클라이언트 C(30C)로의 송신을 위한 서버(20)에 의한 프로파일 II(192)의 선택은, 메시지와 관련하여 프로파일 II(192)의 식별을 포함하여 프로파일 II(192)의 카피가 계정 C(184)의 클라이언트 C(30C)로 전송되도록 하는 계정 A(180)의 사용자(예를 들어, 클라이언트 A(30A)를 사용)에 의한 수동 선택에 대한 응답일 수 있다. 대안으로, 서버(20)에 의한 프로파일 II(192)의 선택은, 데이터 구조(170)가 계정 A(180)의 연락망 리스트(240)에 계정 C(184)을 식별하고 계정 C(184)와 관련하여 프로파일 II(192)의 식별(244)을 포함하는 엔트리(242)를 포함한다는 서버(20)에 의한 결정에 대한 응답일 수 있다.
시스템(20)은 임의의 다른 적절한 방법에 의해 수신 클라이언트(30)로 전송될 프로파일을 선택하도록 구성될 수 있다. 예를 들어, 데이터 구조(170)는 특정 계정의 각각의 프로파일과 관련하여 가중치를 저장할 수 있고, 서버가 그 계정과 연관된 클라이언트 등의 계정의 사용자로부터 다른 클라이언트로 메시지를 전송하라는 입력을 수신하면, 서버(20)는 송신자의 계정과 관련하여 저장된 프로파일 중의 하나를 랜덤하게 선택할 수 있고, 이러한 랜덤 선택은 저장된 가중치에 의해 가중될 수 있다.
비동기 메시징 클라이언트(30)의 사용자는 비동기 메시징 서버(20)로의 접속을 확립하기 전에 등록이 요구될 수 있다. 비동기 메시징 클라이언트(30)의 사용자는 등록을 위해 비동기 메시징 서버(20)로의 접속을 확립할 수 있다. 비동기 메시징 클라이언트(30)의 사용자는 MSISDN, 고유 장치 ID(UDID) 및/또는 푸쉬 알림 식별 등의 등록 식별을 전송할 수 있다. 일단 등록 식별이 수신되면, 동기 메시징 서버(20)는 비동기 메시징 계정을 생성하고, 비동기 메시징 클라이언트 자격이라 할 수 있는 시크릿 PIN 및 계정 식별자를 비동기 메시징 클라이언트(30)로 반환할 수 있고, 이는 비동기 메시징 클라이언트(30)에서 컴퓨터 판독가능 저장 매체에 저장될 수 있다. 등록 프로세스를 완료하기 위하여, 비동기 메시징 클라이언트(30)는 계정과 연관된 다수의 프로파일을 비동기 메시징 서버(20)로 전송할 수 있다. 비동기 메시징 클라이언트(30)는 또한 연락망 MSISDN의 리스트를 비동기 메시징 서버(20)로 전송할 수 있다. 비동기 메시징 서버(20)는 연락망 MSISDN리스트를 검증하고 이용가능하고 연관되고 등록된 비동기 계정의 식별 및 그들의 프로파일을 비동기 메시징 클라이언트(30)로 반환한다. 비동기 메시징 클라이언트(30)는, 총괄하여 연락망 리스트로서 알려진 MSISDN 및 그와 연관된 비동기 계정 및 그 프로파일 데이터 정보를 저장할 수 있다. 비동기 메시징 클라이언트(30)는 컴퓨터 판독가능 저장 매체 상에 연락망 리스트를 저장할 수 있다.
따라서, 도 6은 다수의 프로파일을 갖는 새로운 비동기 계정 등록의 프로세스(300)를 나타낸다. 특히, 임의의 실시예에서, 복수의 사용자 프로파일은 새로운 수신 계정 식별 리스트를 추가할 때 전송되거나 복수의 사용자 프로파일은 복수의 수신 계정 식별 리스트에 대한 사용자 프로파일 할당이 변경할 때 전송된다. 도시된 예에서, 사용자는 비동기 메시징 클라이언트(30)를 사용하여 등록 요청을 전송한다 (단계 310). 비동기 메시징 서버(20)는 비동기 계정을 생성하고 비동기 메시징 클라이언트 자격 데이터 정보로 알려진 시크릿 PIN과 함께 비동기 계정 식별자를 비동기 메시징 클라이언트(30)로 반환한다 (단계 320). 비동기 메시징 클라이언트(30)는 후속 인증을 위해 비동기 메시징 클라이언트 자격 데이터 정보를 저장할 수 있다. 비동기 메시징 클라이언트(30)는 비동기 메시징 서버(20)에 접속하고 인증하고 다수의 프로파일 정보를 전송하여 등록을 완료한다 (단계 330). 비동기 메시징 서버(20)는 사용자 프로파일을 저장하고 이들을 인증된 사용자 비동기 계정에 링크한다 (단계 340). 비동기 메시징 클라이언트(30)는 사용자 클라이언트(30)를 이용하여 연락망 식별자, 예를 들어, MSISDN 또는 다른 모바일 연락 번호의 리스트를 비동기 메시징 서버(20)로 전송할 수 있다 (단계 350). 비동기 메시징 서버(20)는 수신된 MSISDN을 저장하고 이들을 인증된 사용자 비동기 계정 식별자로 링크한다 (단계 360). 비동기 메시징 서버(20)는 수신된 MSISDN을 체크하고 자신의 비동기 계정 식별자를 검색하고 그들의 연관된 비동기 계정 식별자와 함께 수신되고 그들의 공공 프로파일 데이터 정보와 연관된 MSISDN를 비동기 메시징 클라이언트(20)로 반환할 수 있다 (단계 370). 비동기 메시징 클라이언트(30)는, 총괄적으로 연락망 리스트로서 알려진 MSISDN 및 그 연관된 비동기 계정 식별자 및 그 프로파일 데이터 정보를 저장할 수 있다. 비동기 메시징 서버(20)는 그들의 연락망 리스트 내에서 새롭게 등록된 비동기 계정을 선언하는 모든 비동기 계정의 리스트를 체크하고 획득할 수 있다. 비동기 메시징 서버는 새로운 비동기 계정 식별자 및 그 공공 프로파일을 갖는 메시지 명령을 획득한 비동기 계정 리스트로 푸쉬한다. 이 동작은 리버스(reverse) 연락망 리스트 검색으로 알려져 있다. 메시지 명령은 온라인이되지 마자 리버스 연락망 비동기 계정을 위해 저장되고 전달될 수 있다. 이 동작 프로세스의 끝에서, 비동기 메시징 서버는 새로운 비동기 사용자 프로파일을 자신의 연락망 리스트로 전송하고 연락망 리스트 프로파일을 새로운 비동기 계정으로 전송한다 (단계 380). 도시된 예는 다수의 프로파일이 비동기 메시징 시스템 내에서 어떻게 분배되고 관리될 수 있는지를 나타낸다.
상술한 바와 같이, 사용자 연락망 리스트(150) 데이터베이스는 각 사용자 계정의 연락망을 식별하는 정보, 즉, 다른 사용자 계정을 식별하는 정보를 포함할 수 있다. 도 3에 도시된 바와 같이, 예로서, 데이터 구조(170)는 계정 B(182) 및 계정 C(184)를 각각 식별하는 정보를 포함하는 연락망 엔트리(241, 242)를 포함하는 계정 A(180)에 대한 연락망 리스트(240)를 저장할 수 있다. 계정 B(182)를 식별하는 연락망 엔트리(241)는, 계정 B(182)와의 연관을 위해 프로파일, 즉, 프로파일 I(191)의 식별(243)을 포함하고, 계정 C(184)와의 연관을 위해 상이한 프로파일, 즉, 프로파일 II(192)의 식별(244)을 포함할 수 있다. 대안으로, 데이터 구조(170)는 상이한 다른 계정을 대응하는 상이한 프로파일과 간접적으로 연관시킬 수 있다. 예를 들어, 계정 A(180)의 연락망 리스트는 연락망 엔트리 중의 하나 이상과 카테고리를 연관시키거나 식별할 수 있고, 데이터 구조(170)는 이러한 각각의 카테고리와 연결하여 해당 프로파일 식별을 저장할 수 있다. 따라서, 예를 들어, 계정 A(180)의 연락망 엔트리의 각각은 카테고리 가족, 친구, 직장 및 공공 중의 하나의 식별을 포함하거나 그와 연관될 수 있다. 이러한 경우, 데이터 구조(170)는 이러한 각각의 카테고리에 대하여 해당 프로파일, 예를 들어, 상술한 바와 같이 가족 프로파일, 친구 프로파일, 직장 프로파일, 공공 프로파일일 수 있는 프로파일 I(191), 프로파일 II(192), 프로파일 III(193) 및 공공 프로파일(194)의 식별을 포함하거나 그와 연관될 수 있다. 다른 조합 및 대안도 가능하다.
계정 A(180)의 사용자의 비동기 메시징 클라이언트(30A)는 비동기 메시징 서버(20)에 맵핑되는 연관된 프로파일과 함께 연락망 리스트(240)를 전송할 수 있다. 비동기 메시징 서버(20)는 계정 A(180)의 연락망 리스트(240) 내의 모든 비동기 계정으로 메시지 명령을 전송하여 해당 프로파일 정보를 갖는 계정 A의 해당 프로파일의 로컬 저장 카피를 업데이트할 수 있다. 비동기 메시징 서버(20)는 수신 비동기 계정이 온라인되자 마자 메시지 명령을 저장하고 전달할 수 있다. 예를 들어, 계정 B(182)는 계정 A(180)의 프로파일 I(191)을 수신하고 계정 C(184)는 계정 A(180)의 프로파일 II(192)를 수신할 수 있다. 계정 B(182) 및 계정 C(184)의 비동기 메시징 클라이언트(30B, 30C)는 각각 그들의 계정과 각각 연관된 클라이언트(30B, 30C) 내에 포함되는 사용자 장치의 컴퓨터 판독가능 저장 매체 상에 계정 A(180)의 수신된 프로파일 정보를 저장할 수 있다.
도 7은 비동기 계정이 자신의 프로파일을 업데이트하는 프로세스(400)를 나타낸다. 도시된 예에서, 사용자는 비동기 메시징 클라이언트(30)를 이용하여 자신의 프로파일을 업데이트한다. 비동기 메시징 클라이언트(30)는 비동기 메시징 서버(20)에 인증할 수 있다(단계 410). 비동기 메시징 클라이언트(30)는 사용자 인터페이스를 제공하여 자신의 다수 프로파일을 업데이트할 수 있다. 비동기 메시징 클라이언트(30)는 업데이트된 프로파일을 비동기 메시징 서버(20)로 전송할 수 있다(단계 420). 비동기 메시징 서버(20)는 업데이트된 프로파일을 저장할 수 있다(단계 430). 비동기 메시징 서버(20)는 연락망 리스트 내의 업데이트된 프로파일에 링크된 계정 리스트를 검색하고 획득하고(단계 440) 비동기 계정 식별자 및 그 업데이트된 프로파일을 갖는 획득된 비동기 계정에 메시지 명령을 푸쉬한다(단계 450). 이 동작은 연락망 리스트 검색으로 알려져 있다. 메시지 명령은 온라인이 되자 마자 각 계정에 대하여 연락망 리스트 계정에 저장되고 전달된다. 업데이트된 프로파일이 공공 프로파일이면(결정 460), 비동기 메시징 서버(20)는 업데이트된 공공 프로파일에 대한 트래킹 버전 번호를 생성하고, 비동기 메시징 서버(20)는 공공 프로파일 버전 번호를 저장할 비동기 메시징 클라이언트(30)에 반환하고, 비동기 메시징 서버(20)는 비동기 메시징 클라이언트(30)로부터 전송된 모든 메시지를 갖는 저장된 공공 프로파일 버전 번호를 수신 계정으로 전송할 수 있다(단계 470). 수신기가 메시지를 수신하자 마자, 송신 당사자의 연관된 공공 프로파일 버전 번호를 이용하여 저장된 값과 비교할 수 있다. 공공 프로파일이 구식(outdated)이면, 수신기는 송신 당사자의 업데이트된 공공 프로파일을 요청하여 수신할 수 있다.
이 프로세스의 결과로서, 비동기 메시징 서버(20)가 업데이트된 비동기 계정 프로파일을 자신의 연락망 리스트에 전송하는 반면, 비동기 계정과 관계가 없는 다른 계정은 비동기 계정으로부터 새로운 메시지를 수신할 때 업데이트된다. 도시된 예는 비동기 메시징 서비스에서 업데이트된 다수의 프로파일이 어떻게 분배되고 관리될 수 있는지를 나타낸다.
따라서, 도 8의 방법(900)에 도시된 바와 같이, 일단 서버(20)가 사용자 계정과 관련하여 각각의 상이한 계정 프로파일에 대한 상이한 프로파일 사양을 수신하고 저장하면, 제1 사용자 연락망 리스트가 다른 사용자들을 식별할 때 상이한 프로파일은 전송되거나 상이한 다른 사용자 클라이언트들에게 이용가능해질 수 있거나, 그 반대일 수 있다. 예를 들어, 서버(20)는 도 3에 도시된 바와 같이 사용자 계정 A(180)와 관련하여 프로파일 I(191) 및 프로파일 II(192) 등의 상이한 계정 프로파일에 대한 상이한 프로파일 사양을 수신하고 저장할 수 있다 (단계 905). 시스템(20)은, 그 본래의 생성을 포함할 수 있는 프로파일 I(191)의 업데이트를 수신하고, 업데이트된 프로파일 사양을 생성하고 저장할 수 있다 (단계 910). 서버(20)는, 계정 B(182)을 식별하고 계정 B(182)와의 연관성을 위해 프로파일 I(191)의 식별(243)을 포함하는 연락망 리스트 엔트리(241)를 계정 A(180)의 연락망 리스트(240)가 포함하는 것으로 결정할 수 있다 (단계 915). 이러한 결정에 응답하여, 서버(20)는 프로파일 I(191)의 로컬 카피(196)로서 클라이언트 B(30B)에서의 저장을 위해 계정 B(182)와 연관된 클라이언트 B(30B)로 업데이트된 프로파일 I(191)를 전송할 수 있다 (단계 920). 별도로 또는 동일한 시스템(10)의 구현 및 동작에서, 서버(20)는 그 본래의 생성을 포함할 수 있는 프로파일 II(192)의 업데이트를 수신하고 업데이트된 프로파일 사양을 생성하고 저장할 수 있다 (단계 925). 서버(20)는, 계정 C(184)를 식별하고 계정 C(184)와의 연관성을 위해 프로파일 II(192)의 식별(244)을 포함하는 연락망 리스트 엔트리(242)를 계정 A(180)의 연락망 리스트(240)가 포함하는 것으로 결정할 수 있다 (단계 930). 이러한 결정에 응답하여, 서버(20)는 프로파일 II(192)의 로컬 카피(197)로서 클라이언트 C(30C)에서의 저장을 위해 계정 C(184)와 연관된 클라이언트 C(30C)로 업데이트된 프로파일 II(192)를 전송할 수 있다 (단계 935). 개별적으로 또는 동일한 시스템(10)의 구현 및 동작에서, 서버(20)는 그 본래의 생성을 포함할 수 있는 공공 프로파일의 업데이트를 수신하고 업데이트된 프로파일 사양을 생성하고 저장할 수 있다 (단계 940). 서버(20)는 계정 D(186)의 연락망 리스트(260)가 계정 A(180)를 식별하는 연락망 리스트 엔트리(261)를 포함하는 것으로 결정할 수 있다 (단계 945). 선택적으로, 서버(20)는 먼저 계정 A(180)의 연락망 리스트가 계정 D(186)을 식별하는 임의의 엔트리가 없는 것으로 결정할 수 있다. 이러한 결정 또는, 경우에 따라, 결정들에 응답하여, 서버(20)는 공공 프로파일(194)의 로컬 카피(198)로서 클라이언트 D(30D)에서의 저장을 위해 계정 D(186)와 연관된 클라이언트 D(30D)로 업데이트된 공공 프로파일(194)을 전송할 수 있다 (단계 950). 즉, 또다른 계정의 연락망 리스트가 계정 A(180)를 식별하면, 시스템은 공공 프로파일(194)의 로컬 카피로서 그 클라이언트에서의 저장을 위해 계정 A(180)의 공공 프로파일(194)의 카피를 그 다른 계정과 연관된 클라이언트로 전송할 수 있다. 이 방식으로, 계정 A(180)가 자신의 연락망 리스트에서 그러한 다른 계정을 식별하지 않거나 그 다른 계정과의 연관성 및 그에 의한 수신을 위해 자신의 프로파일 중의 하나를 식별하지 않을 때, 계정 A(180)의 공공 프로파일(194)은 다른 계정의 클라이언트에게 전송될 디폴트 프로파일로서의 역할을 수행할 수 있다.
2개의 상이한 계정의 연락망 리스트 중 어느 것도 다른 계정을 식별하는 엔트리를 포함하지 않으면, 2개의 계정은 관련없다고 할 수 있다. 도 3을 참조하여, 비제한 예로서, 계정 E(188)가 계정(180)을 식별하는 연락망 리스트 엔트리를 포함하지 않거나 계정 A(180)의 연락망 리스트(240)가 계정 E(188)를 식별하는 엔트리를 포함하지 않고, 따라서, 이들 2개의 계정은 관련되지 않는다. 이러한 경우, 제1 계정의 프로파일의 카피는 메시지가 제1 계정으로부터 제2 계정으로 전송될 때에만 제2 계정과 연관된 클라이언트로 전송될 수 있다. 이러한 경우, 프로파일은 공공 프로파일 등의 디폴트 프로파일일 수 있다.
임의의 경우, 제1 계정로부터의 메시지는 직접이 아니라 간접적으로 제2 계정에 어드레싱될 수 있다. 즉, 임의의 경우, 제1 계정의 사용자는 명시적으로 메시지를 제2 계정에 어드레싱하지 않는다. 이것이 발생할 수 있는 하나의 상황은 시스템(10)이 계정 그룹을 정의하고 동작하는 것이며, 여기서, 시스템(10)의 다수의 계정은 특정 그룹에 속하는 것으로 식별될 수 있고, 그 그룹에 전송되는 메시지들은 송신자를 제외하고 그룹의 모든 멤버들에게 전파된다. 따라서, 도 3에 도시된 바와 같이, 데이터 구조(170)는 그룹(270)을 정의할 수 있고, 특히, 해당 그룹 정의는 상술한 바와 같이 그룹 데이터베이스(160)에 저장될 수 있다. 비제한적인 예로서, 그룹 리스트(270)는 계정 A(180) 및 계정 E(188)를 그룹 1(271)에 속하는 것으로서 식별하는 식별자(274)를 포함하는 그룹 1(271)을 정의할 수 있다. 데이터 구조(170)는 추가의 계정이 그룹 1에 속하는 것으로 식별할 수 있고, 또한, 그룹 2(272) 및 그룹 3(273) 등의 추가의 그룹을 정의할 수 있다. 도 3에 도시된 바와 같이, 계정 A(180) 또는 계정 E(188) 중 어느 것도 다른 계정을 식별하는 연락망 리스트 엔트리를 포함하지 않고, 따라서, 2개의 계정은 그룹 1(217) 내의 2개의 계정의 공통 멤버십을 제외하고 관련되지 않은 것으로 간주될 수 있다.
서버(20)는 또한 계정 A(180)의 공공 프로파일(194) 또는 또다른 디폴트 프로파일이 생성되거나 업데이트될 때, 계정 A(180)이 속하는 임의의 그룹(270)의 모든 멤버에게 푸쉬되도록 구성될 수 있지만, 이러한 구성은 이러한 그룹의 멤버의 수가 크고 결과적인 네트워크 트래픽이 마찬가지로 클 때 바람직하지 않을 수 있다. 이러한 경우, 공공 프로파일(194)의 로컬 카피를 업데이트하는 상이한 메카니즘이 바람직할 수 있다.
따라서, 도 9의 방법(600)에 도시된 바와 같이, 서버(20)는 제1 사용자 계정, 예를 들어, 계정 A(180)과 연관하여 상이한 계정 프로파일(190)에 대한 상이한 프로파일 사양을 수신하고 저장할 수 있다 (단계 605). 예를 들어, 상이한 계정 프로파일은 공공 프로파일(194)을 포함할 수 있다. 시스템(20)은 그 본래의 생성을 포함할 수 있는 공공 프로파일(194)의 업데이트를 수신할 수 있고, 업데이트된 프로파일 사양을 생성하고 저장할 수 있다 (단계 610). 시스템(20)은 업데이트된 공공 프로파일 사양 버전 식별자(195)를 생성하고 저장할 수 있다 (단계 615). 시스템(20)은 계정 A(180)로부터 계정 E(188)일 수 있는 다른 사용자 계정으로 메시지를 전송하라는 입력을 수신할 수 있다 (단계 620). 도 3에 도시된 바와 같이, 계정(180) 및 계정 E(188)은, 어떤 계정도 다른 계정을 식별하는 엔트리를 포함하지 않는다는 점에서, 관련되지 않을 수 있다. 그러나, 도 3에 도시된 바와 같이, 데이터 구조(170)는 계정 A(180) 및 계정 E(188)이 그룹 1(271)에 속하는 것으로 식별하는 식별자를 포함하는 그룹 1(271)을 정의할 수 있다. 이러한 경우, 메시지를 계정 E(188)로 전송하라는 계정 A(18)로부터의 입력은 그룹 1(271)의 멤버인 모든 계정에 메시지를 전송하는 그룹(271)을 식별하여, 메시지를 수신하는 계정 E(188)를 간접적으로 식별할 수 있다. 서버(20)는 계정 E(188)와 연관된 클라이언트 E(30E)에 업데이트된 공공 프로파일 사양 버전 식별자(195)를 전송할 수 있다 (단계 625). 클라이언트 E(30E)는 클라이언트 E(30E)에서 국부적으로 저장된 공공 프로파일 카피(299)에 대한 임의의 로컬 공공 프로파일 사양 버전 식별자(280)가 수신된 업데이트된 공공 프로파일 사양 버전 프로파일 식별자(195)와 매칭하는지를 결정할 수 있다. 매칭하지 않으면, 클라이언트(30E)는 클라이언트(30E)에 저장된 로컬 버전 식별자(280)가 구식이라는 것을 나타내는 서버가 수신한 신호를 서버(20)로 전송할 수 있다 (단계 630). 이러한 경우, 서버(20)는 공공 프로파일(194)의 로컬 카피(199)로서 클라이언트 E(30E)에서의 저장을 위해 계정 E(186)와 연관된 클라이언트 E(30E)로 업데이트된 공공 프로파일(194)을 전송할 수 있다. 클라이언트 E(30E)는 또한 이러한 로컬 카피(199)와 연관된 로컬 사양 버전 식별자(280)를 업데이트할 수 있다. 그렇지 않으면, 공공 프로파일(194)의 로컬 카피(199)가 구식인 것을 로컬 버전 식별자(280)가 나타내면, 서버(20)는 공공 프로파일(194)을 송신하는 것을 삼가할 수 있다. 선택적으로, 업데이트된 프로파일이 상술한 방법(900)에 의해 자동으로 클라이언트 E(30E)에 푸쉬될 수 있기 때문에, 서버(20)는 먼저 계정(180)의 연락망 리스트(240)가 계정 E(188)을 식별하는 엔트르가 없는 것으로 결정하고, 계정 E(188)의 연락망 리스트가 계정 A(180)를 식별하는 임의의 엔트리가 없는 것으로 결정할 수 있다.
상기 방법(600)은 공공 프로파일의 사용, 특히, 관련된 계정 및 수령 계정이 관련되지 않은 디폴트 프로파일로서 공공 프로파일이 사용되는 경우에 대하여 설명하였지만, 기술은 여기에 기재된 상이한 방법 중의 하나와 연결하여 사용될 수 있음을 이해할 것이다. 예를 들어, 계정 연락망 리스트가 다른 계정을 식별하는 엔트리 뿐만 아니라 그 다른 계정과 관련하여 제1 계정의 프로파일을 포함하는 경우, 서버(20)는 다른 계정과 연관된 클라이언트에서 프로파일의 로컬 카피를 제공하거나 업데이트할 때 실질적으로 방법(600)을 수행할 수 있다. 즉, 서버는 프로파일과 연관된 버전 식별자를 유지하고, 수령 클라이언트에 버전 식별자를 보내고, 프로파일의 로컬 카피가 구식이거나 다르다는 것을 로컬 버전 식별자가 나타내는 신호가 수령 클라이언트로부터 수신되는 경우에만 프로파일을 전송할 수 있다. 상술한 바와 같이 역 검색에 응답하여 프로파일을 전송하는 유사한 방법이 적용될 수 있다.
상술한 기술은 비동기 메시징 시스템의 사용자에게 비동기 메시징 시스템의 다른 사용자 및 상이한 카테고리의 연락망에 사용되도록 다수의 상이한 프로파일을 생성하고 저장하는 능력을 제공한다. 이 방식에서, 사용자는 다른 특정 카테고리의 사용자들 또는 개별 사용자들이 메시징 시스템의 사용과 관련하여 수신하고 볼 수 있는 정보를 선택할 수 있고, 이 방식으로, 사용자는 다른 사용자에게 적절한 정보를 선택할 수 있다. 이 능력은 사용자가 자신의 프라이버시를, 예를 들어, 직업 카테고리 내의 사람으로부터 보호하도록 하고, 동시에, 다른 카테고리 내의 다른 사용자, 예를 들어, 가족이나 친구 카테고리에게는 적절한 정보를 자유롭게 공유할 수 있게 한다. 많은 수의 사용자를 포함하는 그룹의 사용 및 프로파일의 추가, 업데이트 및 전파와 연관된 네트워크 트래픽 증가 문제는 다른 사용자의 프로파일의 수령 로컬 카피가 구식일 때에만 업데이트 되는 버전 식별자의 사용에 의해 처리될 수 있고, 따라서, 그룹의 모든 멤버들에게 즉시 모든 프로파일을 푸쉬함으로써 발생되는 네트워크 트래픽을 감소시킨다.
상기 설명에서, 설명의 목적으로, 실시예의 철저한 이해를 제공하기 위하여 많은 세부사항이 기재되었다. 그러나, 이 특정한 세부사항이 요구되지 않을 수 있음은 당업자에게 자명한 것이다. 특히, 도명에 도시된 다양한 추가의 특징은 일반적으로 특별히 요구된대로 식별되지 않으면 선택적일 수 있다. 상술한 실시예는 단계 예시적인 것으로 의도된다. 당업자에 의해 특정 실시예에 대한 변형, 변경 및 변동이 수행될 수 있다.
임의의 예에서, 기지의 하드웨어 및 소프트웨어 컴포넌트, 모듈 및 기능은 본 발명을 모호하지 않게 하기 위하여 블록도로 도시된다. 예를 들어, 기재된 실시예가 소프트웨어 루틴, 하드웨어 회로, 펌웨어 또는 그 조합으로 구현되는지에 대한 세부 사항은 제공되지 않는다.
실시예는 머신 판독가능 매체(컴퓨터 판독가능 매체, 프로세서 판독가능 매체 또는 컴퓨터 판독가능 프로그램 코드가 구현되는 컴퓨터 이용가능 매체라 할 수 있다)에 저장된 소프트웨어 제품으로서 구현될 수 있다. 머신 판독가능 매체는, 디스켓, CD-ROM, 메모리 장치(휘발성 또는 불휘발성), 또는 유사한 저장 메카니즘 등을 포함하는 자기, 광, 전기 저장 매체를 포함하는 임의의 적절한 유형 매체일 수 있다. 머신 판독가능 매체는, 실행될 때, 프로세서가 본 발명의 실시예에 따른 방법의 단계들을 수행하도록 하는 다양한 세트의 명령, 코드 시퀀스, 구성 정보 또는 다른 데이터를 포함할 수 있다. 기재된 실시예를 구현하는데 필요한 다른 명령 및 동작이 머신 판독가능 매체 상에 저장될 수 있다는 것을 당업자는 인식할 것이다. 머신 판독가능 매체로부터 실행되는 소프트웨어는 기재된 태스크를 수행하는 회로와 인터페이싱할 수 있다.
청구범위는 여기에 기재된 특정한 실시예로 제한되지 않고 명세서와 전반적으로 일치하는 방식으로 해석되어야 한다.

Claims (22)

  1. 비동기 메시징 시스템에서 제1 사용자 계정과 연관된 복수의 사용자 프로파일을 관리하는 컴퓨터 구현 방법으로서,
    a) 상기 비동기 메시징 시스템의 서버에서 상기 제1 사용자 계정에 대한 인증과 관련하여 상기 제1 사용자 계정과 연관된 상기 복수의 제1 사용자 프로파일에 대한 각각의 프로파일 사양을 수신하고 저장하는 단계 - 상기 복수의 사용자 프로파일은 제1 사용자 프로파일 및 상기 제1 사용자 프로파일과 다른 제2 사용자 프로파일임 -;
    b) 상기 제1 사용자 프로파일의 로컬 카피로서 제2 사용자 클라이언트에서의 저장을 위해 상기 서버에 의해 상기 비동기 메시징 시스템 내의 제2 사용자 계정과 연관된 제2 사용자 클라이언트로 상기 제1 사용자 프로파일을 전송하는 단계; 및
    c) 제2 사용자 프로파일의 로컬 카피로서 제3 사용자 클라이언트에서의 저장을 위해 상기 서버에 의해 상기 비동기 메시징 시스템 내의 제3 사용자 계정과 연관된 제3 사용자 클라이언트로 상기 제2 사용자 프로파일을 전송하는 단계
    를 포함하는 방법.
  2. 제1항에 있어서,
    a.1) 상기 서버에서 상기 제1 사용자 계정으로부터 상기 제2 사용자 계정으로 메시지를 전송하라는 입력을 수신하는 단계를 더 포함하고,
    상기 b) 단계는 상기 a.1) 단계에 응답하여 수행되는 방법.
  3. 제2항에 있어서,
    a.2) 상기 서버에서 상기 제1 사용자 계정으로부터 상기 제3 사용자 계정으로 메시지를 전송하라는 입력을 수신하는 단계를 더 포함하고,
    상기 c) 단계는 상기 a.2) 단계에 응답하여 수행되는 방법.
  4. 제2항에 있어서,
    a.2) 상기 a.1) 단계에 응답하여, 상기 b) 단계에서의 상기 제2 사용자 계정과 연관된 상기 제2 사용자 클라이언트로의 송신을 위한 제1 사용자 프로파일을 랜덤하게 선택하는 단계를 더 포함하는 방법.
  5. 제1항에 있어서,
    a.1) 상기 서버에서 상기 제1 사용자 계정에 대한 인증과 관련하여 상기 비동기 메시징 시스템 내의 상기 제1 사용자 프로파일 및 상기 제2 사용자 계정을 식별하는 입력을 수신하고, 응답하여, 상기 서버에서 상기 제1 사용자 계정과 연관된 제1 사용자 연락망 리스트에 상기 제1 사용자 프로파일과 관련하여 상기 제2 사용자 계정을 식별하는 제2 사용자 계정 엔트리를 생성하고 저장하는 단계를 더 포함하고,
    상기 b) 단계는 상기 a.1) 단계에 응답하여 수행되는 방법.
  6. 제1항에 있어서,
    a.1) 서버에서 상기 제1 사용자 계정에 대한 인증과 관련하여 상기 제1 사용자 프로파일의 프로파일 사양의 업데이트를 수신하고, 응답하여, 서버에서 상기 제1 사용자 프로파일의 업데이트된 프로파일 사양을 생성하고 저장하는 단계;
    a.2) 상기 서버에 의해 상기 제1 사용자 계정과 연관된 제1 사용자 연락망 리스트가 상기 제1 사용자 프로파일과 관련하여 상기 제2 사용자 계정을 식별하는 제2 사용자 계정 엔트리를 포함하는 것으로 결정하는 단계
    를 더 포함하고,
    상기 b) 단계는 상기 a.1) 단계 및 상기 a.2) 단계에 응답하여 수행되고, 상기 제2 사용자 클라이언트로 전송된 상기 제1 사용자 프로파일은 상기 제1 사용자 프로파일의 업데이트된 프로파일 사양을 포함하는 방법.
  7. 제1항에 있어서,
    a.1) 서버에서 상기 제1 사용자 계정에 대한 인증과 관련하여 상기 제1 사용자 프로파일의 프로파일 사양의 업데이트를 수신하고, 응답하여, 서버에서 상기 제1 사용자 프로파일의 업데이트된 프로파일 사양을 생성하고 저장하는 단계;
    a.2) 상기 서버에 의해 상기 제2 사용자 계정과 연관된 제2 사용자 연락망 리스트가 상기 제1 사용자 계정을 식별하는 제1 사용자 계정 엔트리를 포함하는 것으로 결정하는 단계
    를 더 포함하고,
    상기 b) 단계는 상기 a.1) 단계 및 상기 a.2) 단계에 응답하여 수행되고, 상기 제2 사용자 클라이언트로 전송된 상기 제1 사용자 프로파일은 상기 제1 사용자 프로파일의 업데이트된 프로파일 사양을 포함하는 방법.
  8. 제7항에 있어서, 상기 제1 사용자 계정과 연관된 제1 사용자 연락망 리스트는 상기 제2 사용자 계정을 식별하는 임의의 엔트리가 없는 방법.
  9. 제7항에 있어서, 상기 제1 사용자 계정의 제1 사용자 연락망 리스트는 상기 제1 사용자 프로파일을 식별하는 임의의 엔트리가 없는 방법.
  10. 제1항에 있어서,
    b.1) 상기 서버에서 상기 제1 사용자 계정에 대한 인증과 관련하여 상기 제2 사용자 프로파일의 프로파일 사양의 업데이트를 수신하고, 응답하여, 상기 제2 사용자 프로파일의 업데이트된 프로파일 사양을 생성하고 저장하고, 응답하여 서버에서 상기 제2 사용자 프로파일과 관련하여 상기 제2 사용자 프로파일의 업데이트된 프로파일 사양 버전 식별자를 생성하고 저장하는 단계;
    b.2) 상기 서버에서 상기 제1 사용자 계정으로부터 상기 제3 사용자 계정으로 메시지를 전송하라는 입력을 수신하는 단계;
    b.3) 상기 서버에 의해 상기 업데이트된 프로파일 사양 버전 식별자를 상기 제3 사용자 계정과 연관된 제3 사용자 클라이언트로 전송하는 단계; 및
    b.4) 상기 서버에서 상기 제3 사용자 클라이언트에서 저장된 상기 제2 사용자 프로파일의 로컬 카피와 연관된 로컬 프로파일 사양 버전 식별자가 상기 업데이트된 프로파일 사양 버전 식별자와 다르다는 것을 나타내는 신호를 상기 제3 사용자 클라이언트로부터 수신하는 단계
    를 더 포함하고,
    상기 c) 단계는 상기 b.4) 단계에 응답하여 수행되고, 상기 제3 사용자 클라이언트로 전송된 상기 제2 사용자 프로파일은 상기 제2 사용자 프로파일의 업데이트된 프로파일 사양을 포함하는 방법.
  11. 제10항에 있어서,
    b.1.1) 상기 서버에 의해 상기 제1 사용자 계정과 관련된 제1 사용자 연락망 리스트는 상기 제3 사용자 계정을 식별하는 임의의 엔트리가 없는 것으로 결정하는 단계를 더 포함하고,
    상기 b.3) 단계 및 상기 b.4) 단계는 상기 b.1.1) 단계에 응답하여 수행되는 방법.
  12. 제11항에 있어서,
    b.1.2) 상기 서버에 의해 상기 제3 사용자 계정과 연관된 제3 사용자 연락망 리스트는 상기 제1 사용자 계정을 식별하는 임의의 엔트리가 없는 것으로 결정하는 단계를 더 포함하고,
    상기 b.3) 단계 및 상기 b.4) 단계는 상기 b.1.1) 단계 및 상기 b.1.2) 단계에 응답하여 수행되는 방법.
  13. 제12항에 있어서, 상기 b.1.2) 단계는 상기 b.1.1) 단계에 응답하여 수행되는 방법.
  14. 제11항에 있어서, 상기 제1 사용자 계정의 상기 제1 사용자 연락망 리스트는 상기 제2 사용자 프로파일을 식별하는 임의의 엔트리가 없는 방법.
  15. 제6항에 있어서,
    b.1) 상기 서버에서 상기 제1 사용자 계정에 대한 인증과 관련하여 상기 제2 사용자 프로파일의 프로파일 사양의 업데이트를 수신하고, 응답하여, 상기 서버에 의해 상기 제2 사용자 프로파일의 업데이트된 프로파일 사양을 생성하고 저장하는 단계; 및
    b.2) 상기 서버에 의해 상기 제1 사용자 계정과 연관된 상기 제1 사용자 연락망 리스트가 상기 제2 사용자 프로파일과 관련하여 상기 제3 사용자 계정을 식별하는 제3 사용자 계정 엔트리를 포함하는 것으로 결정하는 단계
    를 더 포함하고,
    상기 c) 단계는 상기 b.1) 단계 및 상기 b.2) 단계에 응답하여 수행되고, 상기 제3 사용자 클라이언트로 전송된 상기 제2 사용자 프로파일은 상기 제2 사용자 프로파일의 업데이트된 프로파일 사양을 포함하는 방법.
  16. 제6항에 있어서,
    b.1) 상기 서버에서 상기 제1 사용자 계정에 대한 인증과 관련하여 상기 제2 사용자 프로파일의 프로파일 사양의 업데이트를 수신하고, 응답하여, 상기 서버에 의해 상기 제2 사용자 프로파일의 업데이트된 프로파일 사양을 생성하고 저장하는 단계; 및
    b.2) 상기 서버에 의해 상기 제3 사용자 계정과 연관된 상기 제3 사용자 연락망 리스트가 상기 제1 사용자 계정을 식별하는 제1 사용자 계정 엔트리를 포함하는 것으로 결정하는 단계
    를 더 포함하고,
    상기 c) 단계는 상기 b.1) 단계 및 상기 b.2) 단계에 응답하여 수행되고, 상기 제3 사용자 클라이언트로 전송된 상기 제2 사용자 프로파일은 상기 제2 사용자 프로파일의 상기 업데이트된 프로파일 사양을 포함하는 방법.
  17. 제16항에 있어서,
    d) 상기 서버에서 상기 제1 사용자 계정에 대한 인증과 관련하여 상기 제1 사용자 프로파일 및 상기 제2 사용자 프로파일과 다른 제3 사용자 프로파일의 프로파일 사양의 업데이트를 수신하고, 응답하여, 상기 서버에 의해 상기 제3 사용자 프로파일의 업데이트된 프로파일 사양을 생성하고 저장하고, 응답하여, 서버에 의해 상기 제3 사용자 프로파일과 관련하여 상기 제3 사용자 프로파일의 업데이트된 프로파일 사양 버전 식별자를 생성하고 저장하는 단계;
    e) 상기 서버에서 상기 비동기 메시징 시스템 내의 상기 제1 사용자 계정으로부터 제4 사용자 계정으로 메시지를 전송하라는 입력을 수신하는 단계 - 상기 제4 사용자 계정은 상기 제2 사용자 계정 및 상기 제3 사용자 계정과 다름 -;
    f) 상기 서버에 의해 상기 제3 사용자 계정과 연관된 제4 사용자 클라이언트로 상기 업데이트된 프로파일 사양 버전 식별자를 전송하는 단계;
    g) 상기 서버에서 상기 제4 사용자 클라이언트에 저장된 상기 제3 사용자 프로파일의 로컬 카피와 연관된 로컬 프로파일 사양 버전 식별자가 상기 업데이트된 프로파일 사양 버전 식별자와 다르다는 것을 나타내는 신호를 상기 제4 사용자 클라이언트로부터 수신하는 단계; 및
    h) 상기 서버에 의해 상기 제3 사용자 프로파일의 로컬 카피로서 상기 제4 사용자 클라이언트에서의 저장을 위해 상기 제4 사용자 계정과 연관된 상기 제4 사용자 클라이언트로 상기 제3 사용자 프로파일을 전송하는 단계 - 상기 제4 사용자 클라이언트로 전송된 상기 제3 사용자 프로파일은 상기 제3 사용자 프로파일의 업데이트된 프로파일 사양을 포함함 -
    를 더 포함하는 방법.
  18. 제17항에 있어서,
    e.1) 상기 서버에 의해 상기 제1 사용자 계정과 연관된 제1 사용자 연락망 리스트는 상기 제4 사용자 계정을 식별하는 임의의 엔트리가 없는 것으로 결정하고 상기 제4 사용자 계정과 연관된 제4 사용자 연락망 리스트는 상기 제1 사용자 계정을 식별하는 임의의 엔트리가 없는 것으로 결정하는 단계를 더 포함하고,
    상기 f), g) 및 h) 단계는 상기 e.1) 단계에 응답하여 수행되는 방법.
  19. 제1항 내지 제18항 중 어느 한 항에 있어서, 각각의 사용자 프로파일은 이미지, 애니메이션 이미지, 비디오, 텍스트 또는 그 조합을 포함하는 방법.
  20. 비동기 메시징 시스템에서 제1 사용자 계정과 연관된 복수의 사용자 프로파일을 관리하는 시스템으로서, 프로세서, 통신 인터페이스 및 상기 통신 인터페이스를 통해 제1항 내지 제19항 중 어느 한 항에 따른 방법을 수행하는 프로세서에 의해 실행가능한 컴퓨터 실행가능 명령을 인코딩하는 메모리를 포함하는 시스템.
  21. 통신 인터페이스를 이용하여 제1항 내지 19항 중 어느 한 항에 따른 방법을 수행하는 프로세서에 의해 실행가능한 컴퓨터 실행가능 명령을 인코딩한 비일시적 컴퓨터 판독가능 매체.
  22. 제2항에 있어서,
    a.0.1) 상기 서버에서 상기 제2 사용자 계정을 식별하는 그룹 정의를 수신하는 단계를 더 포함하고,
    상기 a.1) 단계에서, 상기 서버에서 상기 제1 사용자 계정으로부터 수신된 입력은 상기 그룹을 식별하고, 상기 a.1) 단계는 상기 그룹 정의가 상기 제2 사용자 계정을 식별하는 것으로 결정하는 단계를 포함하는 방법.
KR1020187028221A 2016-03-01 2016-08-31 비동기 메시징 시스템에서의 단일 계정에 대한 다수 프로파일의 관리 KR102079892B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201662301685P 2016-03-01 2016-03-01
US62/301,685 2016-03-01
PCT/CA2016/051028 WO2017147683A1 (en) 2016-03-01 2016-08-31 Managing multiple profiles for a single account in an asynchronous messaging system

Publications (2)

Publication Number Publication Date
KR20180118732A true KR20180118732A (ko) 2018-10-31
KR102079892B1 KR102079892B1 (ko) 2020-02-20

Family

ID=59742336

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187028221A KR102079892B1 (ko) 2016-03-01 2016-08-31 비동기 메시징 시스템에서의 단일 계정에 대한 다수 프로파일의 관리

Country Status (7)

Country Link
US (2) US10419577B2 (ko)
EP (1) EP3424186A4 (ko)
JP (2) JP6968097B2 (ko)
KR (1) KR102079892B1 (ko)
CN (1) CN109076007B (ko)
CA (2) CA3009851C (ko)
WO (1) WO2017147683A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA3009851C (en) 2016-03-01 2019-04-09 Nandbox Inc. Managing multiple profiles for a single account in an asynchronous messaging system
US20180032960A1 (en) * 2016-08-01 2018-02-01 IS&T Consulting Group LLC Methods, Systems, and Computer-Readable Medium Having Computer Program Products Stored Thereon For a Proactive, Bi-Directional Professional Networking Application
WO2020018108A1 (en) * 2018-07-20 2020-01-23 Hewlett-Packard Development Company, L.P. Authentication profiles for users
US11115479B2 (en) * 2019-01-10 2021-09-07 Google Llc Enhanced online privacy
KR102371568B1 (ko) * 2019-10-18 2022-03-07 주식회사 카카오 인스턴트 메시징 서비스에서 프로필 뷰를 표시하는 방법
US11294979B2 (en) * 2020-01-17 2022-04-05 Match Group, Llc System and method for matching users based on selections made by third parties
US11563638B1 (en) * 2021-08-27 2023-01-24 Oracle International Corporation Methods, systems, and computer readable media for optimizing network bandwidth utilization through intelligent updating of network function (NF) profiles with NF repository function
WO2023107701A1 (en) * 2021-12-09 2023-06-15 Lync Sync, LLC Systems and methods for updating and distributing information associated with an individual
US20230244859A1 (en) * 2022-02-02 2023-08-03 Bank Of America Corporation System and method for automatically sharing verified user information across remote systems

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060027648A1 (en) * 1998-10-13 2006-02-09 Chris Cheah Method and system for controlled distribution of information over a network
US20120254774A1 (en) * 2011-03-30 2012-10-04 Banjo, Inc. Method for managing a local messaging platform
US20130185285A1 (en) * 2011-07-22 2013-07-18 Qualcomm Incorporated Method and apparatus for multiple personality support and dynamic personality selection

Family Cites Families (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7890581B2 (en) * 1996-12-16 2011-02-15 Ip Holdings, Inc. Matching network system for mobile devices
US6883000B1 (en) * 1999-02-12 2005-04-19 Robert L. Gropper Business card and contact management system
US6820204B1 (en) * 1999-03-31 2004-11-16 Nimesh Desai System and method for selective information exchange
DE60020518T2 (de) * 2000-03-01 2006-06-29 Sony International (Europe) Gmbh Verwaltung von Benutzerprofilen
US7725525B2 (en) * 2000-05-09 2010-05-25 James Duncan Work Method and apparatus for internet-based human network brokering
JP2002082990A (ja) * 2000-07-07 2002-03-22 Kaiin Chin 名刺情報管理装置及び名刺情報管理方法及びプログラムを記録したコンピュータ読み取り可能な記録媒体及び名刺情報管理システム及び端末
US20060074727A1 (en) * 2000-09-07 2006-04-06 Briere Daniel D Method and apparatus for collection and dissemination of information over a computer network
JP2002108904A (ja) 2000-09-27 2002-04-12 Sony Corp 情報処理装置および方法、情報処理システム、並びにプログラム格納媒体
US7725405B2 (en) * 2000-11-03 2010-05-25 Yahoo! Inc. System and method for agency based posting and searching for job openings via a computer system and network
US7493368B2 (en) * 2000-12-01 2009-02-17 Sony Corporation System and method for effectively providing user information from a user device
US7302634B2 (en) * 2001-03-14 2007-11-27 Microsoft Corporation Schema-based services for identity-based data access
JP2003006204A (ja) 2001-06-26 2003-01-10 Nisshin Seifun Group Inc 電子名刺システム
JP2004164166A (ja) * 2002-11-12 2004-06-10 Seiko Epson Corp 電子名刺配信装置
US7885901B2 (en) * 2004-01-29 2011-02-08 Yahoo! Inc. Method and system for seeding online social network contacts
US9542076B1 (en) * 2004-05-12 2017-01-10 Synchronoss Technologies, Inc. System for and method of updating a personal profile
US20080082421A1 (en) * 2004-05-12 2008-04-03 Richard Onyon Monetization of an advanced contact identification system
US7958543B2 (en) * 2005-07-12 2011-06-07 Microsoft Corporation Account synchronization for common identity in an unmanaged network
US7873610B2 (en) * 2006-05-26 2011-01-18 Andrew S Poulsen Meta-configuration of profiles
US7657639B2 (en) * 2006-07-21 2010-02-02 International Business Machines Corporation Method and system for identity provider migration using federated single-sign-on operation
EP2156401A4 (en) * 2007-05-18 2013-04-17 Shorthand Mobile Inc SYSTEM AND METHOD FOR ADVANCED COMMUNICATION VIA COMMUNICATION SYSTEMS AT SMALL DATA RATE
US20080294655A1 (en) 2007-05-25 2008-11-27 Motorola, Inc. Method and apparatus for generation of a user profile
US20090125321A1 (en) * 2007-11-14 2009-05-14 Qualcomm Incorporated Methods and systems for determining a geographic user profile to determine suitability of targeted content messages based on the profile
US20100269158A1 (en) * 2007-12-17 2010-10-21 Ramius Corporation Social networking site and system
US8838803B2 (en) * 2007-12-20 2014-09-16 At&T Intellectual Property I, L.P. Methods and apparatus for management of user presence in communication activities
US8332761B2 (en) 2008-01-08 2012-12-11 International Business Machines Corporation Multiple profiles for a user in a synchronous conferencing environment
US8914024B2 (en) * 2008-01-10 2014-12-16 Ximoxi, Inc. Discovery of network members by personal attributes
US9264875B2 (en) * 2008-01-10 2016-02-16 Wireless Discovery Llc Location-based discovery of network members by personal attributes for alternate channel communication
WO2010008542A2 (en) * 2008-07-15 2010-01-21 Manoj Ramnani Automatic profile update in a mobile device
US20100144318A1 (en) * 2008-12-10 2010-06-10 Sony Ericsson Mobile Communications Ab Automatic user profile exchange device and method
US20100250592A1 (en) * 2009-03-31 2010-09-30 Paquet Vincent F Unifying Web And Phone Presence
US20120046995A1 (en) * 2009-04-29 2012-02-23 Waldeck Technology, Llc Anonymous crowd comparison
US20120084348A1 (en) * 2009-12-30 2012-04-05 Wei-Yeh Lee Facilitation of user management of unsolicited server operations
US20120084349A1 (en) * 2009-12-30 2012-04-05 Wei-Yeh Lee User interface for user management and control of unsolicited server operations
US20110208822A1 (en) * 2010-02-22 2011-08-25 Yogesh Chunilal Rathod Method and system for customized, contextual, dynamic and unified communication, zero click advertisement and prospective customers search engine
US10074094B2 (en) * 2010-03-09 2018-09-11 Excalibur Ip, Llc Generating a user profile based on self disclosed public status information
US20130318199A1 (en) * 2012-04-27 2013-11-28 Hervé LE JOUAN Managing data on computer and telecommunications networks
US20120079045A1 (en) * 2010-09-24 2012-03-29 Robert Plotkin Profile-Based Message Control
US20120117169A1 (en) * 2010-11-08 2012-05-10 Robert Plotkin Time-Based Computer Control
US20120095846A1 (en) 2010-10-13 2012-04-19 Derek John Leverant Systems and methods for providing social networking, wherein a user can create multiple profiles within a single account
US8484241B2 (en) * 2010-10-29 2013-07-09 Russell Kent Bouse Systems and methods to consolidate and communicate user profiles and modality preferences information for content delivery or interaction experiences
US20120150960A1 (en) * 2010-12-13 2012-06-14 Gargi Nalawade Social Networking
US9582139B1 (en) * 2011-05-26 2017-02-28 Google Inc. Multi-level mobile device profiles
KR101630505B1 (ko) * 2011-05-27 2016-06-14 노키아 테크놀로지스 오와이 소셜 네트워크를 통해 접속 설정을 공유하는 방법 및 장치
JP5710401B2 (ja) * 2011-06-30 2015-04-30 株式会社Nttドコモ 管理装置、管理システム、管理方法及びプログラム
US9965133B1 (en) * 2011-07-22 2018-05-08 Ntrepid Corporation Application for assisting in conducting covert cyber operations
US8375331B1 (en) * 2011-08-23 2013-02-12 Google Inc. Social computing personas for protecting identity in online social interactions
US9087363B2 (en) * 2011-08-30 2015-07-21 Genband Us Llc Methods, systems, and computer readable media for managing multiple personas within end user applications
US20130060868A1 (en) * 2011-09-07 2013-03-07 Elwha LLC, a limited liability company of the State of Delaware Computational systems and methods for identifying a communications partner
US9159055B2 (en) * 2011-09-07 2015-10-13 Elwha Llc Computational systems and methods for identifying a communications partner
US10264102B2 (en) * 2011-11-03 2019-04-16 Aaron Nahumi System, methods and computer readable medium for augmented personalized social network
US20140075014A1 (en) * 2012-09-13 2014-03-13 Limelight Networks, Inc. Progressive account states for aggregate website visitors
US20140074550A1 (en) * 2012-09-13 2014-03-13 Limelight Networks, Inc. Augmenting progressive profile states with external data sources
US9037653B2 (en) 2011-12-09 2015-05-19 Facebook, Inc. Mobile ad hoc networking
US9148397B2 (en) * 2011-12-19 2015-09-29 Facebook, Inc. Messaging object generation for synchronous conversation threads
US9374690B2 (en) * 2011-12-19 2016-06-21 Facebook, Inc. Generating conversation threads for a unified messaging system
US20130217365A1 (en) * 2012-02-21 2013-08-22 Manoj Ramnani Automatic profile update in a mobile device with transactional and social intelligence capabilities
US20130282438A1 (en) * 2012-04-24 2013-10-24 Qualcomm Incorporated System for delivering relevant user information based on proximity and privacy controls
US9483652B2 (en) * 2012-06-14 2016-11-01 Google Inc. Enabling user privacy for changes of access to shared content
US8640257B1 (en) * 2012-06-14 2014-01-28 Google Inc. Enabling user privacy for changes of access to shared content
WO2013186061A1 (en) * 2012-06-15 2013-12-19 Alcatel Lucent Architecture of privacy protection system for recommendation services
US9077812B2 (en) * 2012-09-13 2015-07-07 Intel Corporation Methods and apparatus for improving user experience
US9407751B2 (en) * 2012-09-13 2016-08-02 Intel Corporation Methods and apparatus for improving user experience
US9887941B1 (en) * 2013-01-18 2018-02-06 Twitter, Inc. In-message applications in a messaging platform
US10439965B1 (en) * 2013-01-18 2019-10-08 Twitter, Inc. In-message applications in a messaging platform
US10681168B2 (en) * 2013-02-28 2020-06-09 Microsoft Technology Licensing, Llc Internet-wide professional identity platform
JP5401658B1 (ja) 2013-03-04 2014-01-29 Gimme Five株式会社 名刺情報管理装置、携帯端末、名刺情報管理システム、名刺情報管理方法およびプログラム
US9967241B2 (en) * 2013-03-15 2018-05-08 Verizon Patent And Licensing Inc. Persona based billing
US20160027062A1 (en) * 2013-03-15 2016-01-28 Yandex Europe Ag Method of and system for providing a client device with particularized information without employing unique identifiers
US20140344205A1 (en) * 2013-05-15 2014-11-20 Aliphcom Smart media device ecosystem using local and remote data sources
US20170093967A1 (en) * 2013-07-11 2017-03-30 Aryk Erwin Grosz Systems and methods for managing group activities over a data network
US20150019273A1 (en) * 2013-07-11 2015-01-15 Aryk Erwin Grosz Systems and methods for creating and managing group activities over a data network
US20150058324A1 (en) * 2013-08-19 2015-02-26 Joseph Gregory Kauwe Systems and methods of enabling integrated activity scheduling, sharing and real-time social connectivity through an event-sharing platform
US20150101026A1 (en) * 2013-10-03 2015-04-09 Yoram KRAUS Device, system, and method of social networking
US9477737B1 (en) * 2013-11-20 2016-10-25 Consumerinfo.Com, Inc. Systems and user interfaces for dynamic access of multiple remote databases and synchronization of data based on user rules
US9213772B2 (en) 2013-11-26 2015-12-15 International Business Machines Corporation Content filtering for personal productivity applications
US20150205822A1 (en) * 2014-01-17 2015-07-23 Humin, Inc. Methods and Systems for Contact Management
US9350865B2 (en) * 2014-10-23 2016-05-24 Teletech Holdings, Inc. Method for connecting a user with an agent based on user interaction of a link of a prior message exchanged between the user and the agent
US20170118165A1 (en) * 2014-11-08 2017-04-27 Ashish Kumar System and method for controlled sharing and synchronizing information across a plurality of mobile client application computers
US9185063B1 (en) * 2014-11-08 2015-11-10 Ashish Kumar System and method for sharing and synchronization of information within a specified information context among users with a mobile electronic device
US9936044B2 (en) * 2014-12-18 2018-04-03 Excalibur Ip, Llc Inferring user identity across multiple applications and user devices
US9942335B2 (en) * 2015-01-16 2018-04-10 Google Llc Contextual connection invitations
US10594484B2 (en) * 2015-02-13 2020-03-17 Yoti Holding Limited Digital identity system
US10853592B2 (en) * 2015-02-13 2020-12-01 Yoti Holding Limited Digital identity system
CA3009851C (en) 2016-03-01 2019-04-09 Nandbox Inc. Managing multiple profiles for a single account in an asynchronous messaging system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060027648A1 (en) * 1998-10-13 2006-02-09 Chris Cheah Method and system for controlled distribution of information over a network
US20120254774A1 (en) * 2011-03-30 2012-10-04 Banjo, Inc. Method for managing a local messaging platform
US20130185285A1 (en) * 2011-07-22 2013-07-18 Qualcomm Incorporated Method and apparatus for multiple personality support and dynamic personality selection

Also Published As

Publication number Publication date
US20190068748A1 (en) 2019-02-28
CA3009851A1 (en) 2017-09-08
CA3016459C (en) 2019-04-09
CA3016459A1 (en) 2017-09-08
EP3424186A1 (en) 2019-01-09
CN109076007B (zh) 2020-07-03
KR102079892B1 (ko) 2020-02-20
EP3424186A4 (en) 2019-08-28
JP6968097B2 (ja) 2021-11-17
WO2017147683A1 (en) 2017-09-08
US11012527B2 (en) 2021-05-18
JP2019510324A (ja) 2019-04-11
JP7050354B2 (ja) 2022-04-08
US10419577B2 (en) 2019-09-17
US20200252479A1 (en) 2020-08-06
JP2021012710A (ja) 2021-02-04
CA3009851C (en) 2019-04-09
CN109076007A (zh) 2018-12-21

Similar Documents

Publication Publication Date Title
US11012527B2 (en) Managing multiple profiles for a single account in an asynchronous messaging system
KR101731867B1 (ko) 챗봇 간에 사용자의 이벤트를 공유하는 방법 및 장치
US20160149839A1 (en) Multi-Network Chat System
CN100384186C (zh) 多个账号同时在一个客户端上实现imps业务的系统及方法
US7668926B2 (en) Real-time communications over data forwarding framework
US20100015976A1 (en) System and method for sharing rights-enabled mobile profiles
US20100015975A1 (en) Profile service for sharing rights-enabled mobile profiles
US10462195B2 (en) Methods, apparatus and/or system for using email to schedule and/or launch group communications sessions
RU2477014C2 (ru) Способ группового оповещения в службе обмена сообщениями на основе протокола инициации сеанса связи "sip"
WO2009074037A1 (fr) Procédé, dispositif et système de communication instantanée
JP2005190287A (ja) プレゼンス表示システム及びゲートウエイ装置
US20110167131A1 (en) Real-time communications over data forwarding framework
US20150149556A1 (en) Communication method and system, and computer storage medium
US20150149552A1 (en) Method and apparatus for establishing a social relationship in a social service providing system
US20170019484A1 (en) System and method for aggregating communication connections
CN104904192B (zh) 在异类系统中创建通信会话
US11196700B1 (en) Single-user non-transferrable communication client for public communication networks
JP4675351B2 (ja) 情報共有システム,情報共有方法及びその方法を実装した情報共有プログラム
Serik et al. Instant messaging application for Smartphone
US20160277339A1 (en) Electronic Communication System
EP2294780B1 (en) A method for masking data
KR100784225B1 (ko) 프리즌스 시스템에서의 폰북 어드레스(pba) 기반의서비스 제공 방법 및 그 시스템
Singh et al. Human Interactable Method through A Custom Voice-chat Application: LiveTalk
KR100617728B1 (ko) 무선 통신 시스템에서 테마 메시지 송수신 서비스를제공하는 시스템 및 방법
JP2011101403A (ja) 情報共有方法及びその方法を実装した情報共有プログラム

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right