KR102473502B1 - 단기 그룹 채팅을 위한 시스템 및 방법 - Google Patents

단기 그룹 채팅을 위한 시스템 및 방법 Download PDF

Info

Publication number
KR102473502B1
KR102473502B1 KR1020217037634A KR20217037634A KR102473502B1 KR 102473502 B1 KR102473502 B1 KR 102473502B1 KR 1020217037634 A KR1020217037634 A KR 1020217037634A KR 20217037634 A KR20217037634 A KR 20217037634A KR 102473502 B1 KR102473502 B1 KR 102473502B1
Authority
KR
South Korea
Prior art keywords
client device
short
user
chat
message
Prior art date
Application number
KR1020217037634A
Other languages
English (en)
Other versions
KR20210144923A (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 스냅 인코포레이티드
Priority to KR1020227041643A priority Critical patent/KR20220166362A/ko
Publication of KR20210144923A publication Critical patent/KR20210144923A/ko
Application granted granted Critical
Publication of KR102473502B1 publication Critical patent/KR102473502B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/50Business processes related to the communications industry
    • G06Q50/30
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/21Monitoring or handling of messages
    • H04L51/234Monitoring or handling of messages for tracking messages
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1813Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for computer conferences, e.g. chat rooms
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/18Commands or executable codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking

Landscapes

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

Abstract

연관된 데이터의 통신 및 통신 메시지의 자동 삭제와 함께, 복수의 디바이스들 사이의 그룹 텍스트 통신을 위한 명령어들을 갖는 방법, 디바이스, 시스템, 및 컴퓨터 판독가능한 매체가 설명된다. 한 실시예는, 제1 단기 그룹 채팅을 생성하는 것, 하나 이상의 삭제 트리거와 연관된 제1 단기 채팅 메시지를 수신하는 것, 제1 단기 메시지를 전송하는 것, 및 적어도 제2 클라이언트 디바이스로부터, 제1 삭제 트리거 정보를 포함하는 채팅 모니터링 정보를 수신하는 것을 포함한다. 다양한 실시예에서, 단기 채팅 메시지의 조율된 프리젠테이션 및 삭제가 다양한 방식으로 관리된다.

Description

단기 그룹 채팅을 위한 시스템 및 방법{SYSTEMS AND METHODS FOR EPHEMERAL GROUP CHAT}
우선권 주장
본 출원은, 참조로 그 전체를 본 명세서에 포함하는 2015년 5월 6일 출원된 미국 가출원 제62/157,780호에 대한 우선권을 주장한다.
기술분야
실시예들은, 연관된 데이터의 통신 및 개선된 데이터 보안을 위한 통신 메시지의 자동 삭제와 함께, 복수의 디바이스들 사이의 그룹 텍스트 통신에 관한 것이다.
온라인 채팅이란, 사용자들 사이의 텍스트 메시지의 실시간 전송을 수반한 네트워크를 통한 통신을 말한다. 이들 메시지들은, 참가자들이 신속하게 응답할 수 있게 하기 위하여 일반적으로 짧기 때문에, 대화의 느낌을 생성한다. 이러한 통신은 종종 2명의 사용자 사이에서 이루어지며, 포인터-투-포인트 통신으로서 구조화되지만, 멀티캐스팅되거나 그룹 통신으로서 구조화될 수도 있다. 많은 채팅 시스템에서, 데이터는 보안 저장되지 않는다.
첨부된 도면의 다양한 도면들은 본 개시내용의 예시적인 실시예를 나타낼 뿐이고 그 범위를 제한하는 것으로서 간주되어서는 안 된다.
도 1은 일부 예시적인 실시예에 따른 네트워킹된 시스템을 나타내는 블록도이다.
도 2a 내지 도 2c는 소정의 예시적인 실시예에 따른 단기 그룹 채팅의 양태를 나타낸다.
도 3은 소정의 예시적인 실시예에 따른 단기 그룹 채팅 및 관련 사용자 인터페이스의 양태를 나타낸다.
도 4는 소정의 예시적인 실시예에 따른 단기 그룹 채팅의 양태를 나타낸다.
도 5a 내지 도 5j는 소정의 예시적인 실시예에 따른 단기 그룹 채팅 및 관련 사용자 인터페이스의 양태를 나타낸다.
도 6은, 소정의 예시적인 실시예에 따른, 단기 그룹 채팅의 일부인, 사용자 계정들과 연관된 클라이언트 디바이스들과 서버 컴퓨터 사이의 통신을 나타낸다.
도 7은 일부 예시적인 실시예에 따른 단기 그룹 채팅을 구현하기 위한 방법을 나타낸다.
도 8은 일부 실시예에 따른 단기 그룹 채팅을 구현하는 통신 시스템의 양태를 나타낸다.
도 9는 일부 예시적인 실시예에 따른 머신 상에 설치될 수 있는 소프트웨어 아키텍쳐의 예를 나타내는 블록도이다.
도 10은 일부 예시적인 실시예에 따른 단기 그룹 채팅에서 이용될 수 있는 예시적인 클라이언트 디바이스의 양태를 나타낸다.
도 11은 예시적인 실시예에 따른 머신으로 하여금 여기서 논의된 방법론들 중 임의의 하나 이상을 수행하게 하기 위해 명령어 세트가 실행될 수 있는 컴퓨터 시스템 형태의 머신의 개략도를 나타낸다.
여기서 설명된 실시예들은, 그룹 채팅 정황에서, 복수의 디바이스들 사이의 그룹 텍스트 통신, 텍스트 통신을 지원하는 추가 통신, 및 메시지(예를 들어, 단기 메시지)의 자동 삭제에 관한 것이다. 일부 실시예는, 클라이언트 디바이스들이 채팅(예를 들어, 문자 메시지를 전송)할 뿐만 아니라, 단기 사진 및 비디오 클립을 친구 그룹에 전송할 수 있는 소셜 네트워킹 환경의 정황에서 동작할 수 있다. 이 정황에서, 친구는, 친구 요청 및 응답에 의해, 또는 어떤 다른 연관 방법에 의해, 또 다른 계정과 연관된 하나 이상의 디바이스와 연관된 사용자 계정이다.
예시적인 실시예는 사용자들이 단일의 그룹 채팅 스크린에서 임계 수의 친구까지의 그들의 친구들과 그룹 채팅을 생성하는 것을 허용한다. 사용자들은, 사용자의 디바이스들 또는 "send to" UI(예를 들어, 하나 이상의 다른 사용자로의 메시지 또는 콘텐츠 전달을 개시하기 위한 UI)로의 메시지를 개시한 현재 그룹 및 사용자들의 목록 등의, 전체 피드 사용자 인터페이스(UI)로부터 그룹을 생성할 수 있다. 추가로, "출석(presence)" 및 "수신(receipt)" 정보는 사용자들이 그들의 친구들이 채팅에 출석할 때를 알 수 있게 허용하고 사용자의 디바이스에 프리젠팅된 인터페이스를 통해 사용자 메시지와 상호작용할 수 있게 허용한다. 이러한 출석 및 수신 정보는, 일부 실시예에서, 그룹 채팅의 모든 멤버들에 대해 단기 채팅 메시지가 삭제되어야 할 때를 결정하는데 이용된다. 다른 실시예에서, 모든 사용자들에 대해 단기 채팅 메시지가 삭제되어야 할 때를 결정하기 위해 다른 정보가 사용자들에 의해 공유된다.
한 실시예에서, 임계 수의 사용자 계정(예를 들어, 8명의 사용자, 10명의 사용자 등)이 그룹 채팅에 추가될 수 있다. 사용자들은, 사용자 단독의 행동에 의해 또는 초기 사용자에 의한 초청 및 참여 사용자로부터의 응답에 의해 그룹을 떠나거나 그룹에 추가될 수 있다. 다른 실시예에서, 그룹 내의 다양한 임계 수의 사용자들로부터의 투표는 그룹 멤버를 추가 또는 제거하는데 이용될 수 있다. 특정한 세트의 사용자들은 한 번에 그 세트의 사용자들에 대해 활성인 하나보다 많은 그룹 채팅을 가질 수 있다(예를 들어, 그룹 채팅은 복사되거나 리네임될 수 있다). 즉, 각 활성 그룹 채팅에 대한 셀(cell)을 나타내는 개요 인터페이스(overview interface)는 제1 그룹 및 제2 그룹에 대해 상이한 셀들을 가질 수 있고, 여기서 제1 그룹 및 제2 그룹의 멤버들은 동일하다. 소정 실시예에서, 제2 그룹은, 제1 그룹을 복사하고 제2 그룹을 제1 그룹과 구별하기 위해 제2 그룹에 새로운 명칭을 부여함으로써 생성될 수 있다.
일부 실시예에서, 일단 그룹 내의 모든 사람들이 임계량의 시간 동안 그룹 채팅의 일부인 특정한 메시지를 보고 나면, 그 메시지는 모든 그룹 멤버들에 대해 클리어된다. 다양한 실시예에서, 임계 시청 시간을 만족하는 모든 그룹 멤버들 이외의 다양한 삭제 트리거들이 이하에서 더 상세히 설명되는 바와 같이 이용될 수 있다. 일부 실시예에서, 복수의 삭제 트리거들이 이용된다(예를 들어, 메시지가 전송된 이후의 전체 시간 + 임계 시청 시간 동안 메시지를 보는 임계 수의 그룹 멤버들인 2개의 트리거). 다른 실시예에서, 단일 메시지에 대해 다중 삭제 트리거가 가능하고, 이 때, 메시지는 복수의 가능한 삭제 트리거들 중 임의의 것에 대한 트리거 조건이 충족될 때 삭제된다.
도 1은 일부 예시적인 실시예에 따른 네트워킹된 시스템(100)을 나타내는 블록도이다. 시스템(100)은 클라이언트 디바이스들(110, 120, 및 130) 뿐만 아니라 서버 시스템(150) 및 네트워크(140)를 포함한다. 네트워크(140)는 클라이언트 디바이스들(110, 120, 130)과 서버 시스템(150) 사이에서 통신 메시지를 전달하는데 이용된다. 클라이언트 디바이스들(110, 130 및 120)은, 임의의 스마트폰, 태블릿, 페블릿(phablet), 랩탑 컴퓨터, 네트워크-가능형 카메라, 또는 기타 임의의 이러한 네트워크-가능형 디바이스일 수 있다. 클라이언트 디바이스들(110, 120, 130)은, 텍스트 정보를 입력하기 위한 키보드 또는 터치스크린 뿐만 아니라, 사용자들 또는 그룹의 멤버들 사이의 보완적인(예를 들어, 비-텍스트) 통신의 일부일 수 있는 추가 콘텐츠를 포착하기 위한 카메라 디바이스를 포함할 수 있다 . 클라이언트 디바이스들(110, 120, 130)은 네트워크(140)를 통해 서버 시스템(150)에 접속된다. 네트워크(140)는 유선 및 무선 접속의 임의의 조합을 포함할 수 있다. 이것은, 셀룰러 액세스 네트워크, 인터넷에 대한 액세스 포인트 인터페이스, 또는 기타 임의의 이러한 네트워크(140) 또는 네트워크 요소를 포함할 수 있다. 예를 들어, 클라이언트 디바이스(110)는 LTE(Long Term Evolution) 셀룰러 네트워크를 이용해 네트워크(140)와 인터페이싱하여 서버 시스템(150)과 통신할 수 있는 반면, 클라이언트 디바이스(120)는 WiFi 액세스 포인트를 이용하여 네트워크(140)와 인터페이싱하고 서버 시스템(150)과 통신할 수 있다. 서버 시스템(150)은 서비스 또는 네트워크 컴퓨팅 시스템의 일부로서의 하나 이상의 컴퓨팅 디바이스일 수 있다. 전 세계에 걸친 광범위하게 상이한 위치들로부터 서버 시스템(150)과 인터페이싱하는 많은 수의 클라이언트 디바이스(110, 120, 130)를 갖는 특정한 실시예에서, 서버 시스템(150)은, 유사하게 광범위하게 분포되고 네트워크(140)를 통해 서로 통신하는 서버 컴퓨터들의 분산형 네트워크(140)일 수 있다. 일부 실시예에서, 클라이언트 디바이스들(110, 120, 130) 뿐만 아니라 서버 시스템(150) 및 네트워크(140)의 임의의 요소들은 도 9 및 도 11에서 설명된 소프트웨어 아키텍쳐(902) 또는 머신(1100)의 요소들을 이용하여 구현될 수 있다.
그러면, 네트워킹된 시스템(100)은 클라이언트 디바이스들(110, 120, 130) 사이의 메시지들의 통신에 이용될 수 있다. 이하에서 논의되는 실시예에서, 클라이언트 디바이스들(110, 120 및 130) 각각은 상이한 사용자 계정들과 연관되고, 디바이스들(110, 120 및 130)에 대한 이들 사용자 계정들 각각은 그룹에 가입되어 있다. 디바이스들은 네트워크(140) 및 시스템(150)을 통해 그룹에 메시지를 전송하고, 동일한 루트를 통해 그룹으로부터 메시지를 수신한다. 도 1에 도시된 바와 같이, 클라이언트 디바이스(110)는 콘텐츠 메시지(112)를 서버 시스템(150)에 전달하고, 클라이언트 디바이스(110)는 디바이스들(120 및 130)로부터 메시지들(114 및 116)을 수신한다. 유사하게, 디바이스(120)는 메시지(114)를 전송하고 디바이스(130)는 메시지(116)를 전송한다. 디바이스들 모두는 단일 그룹과 연관되고, 메시지들(112, 114 및 116)은 그룹 채팅으로서 전송되므로, 서버 시스템(150)은 그룹의 모든 멤버가 각각의 메시지의 사본을 갖도록 각각의 메시지를 보낸다.
그러면, 각각의 디바이스는 각각의 클라이언트 디바이스 상에서 동작하는 애플리케이션의 일부일 수 있는 피드 인터페이스(feed interface)를 포함한다. 채팅 메시지가 수신되면, 알리미(notifier)가 피드에 나타나고, 그룹 채팅, 개별 채팅, 또는 기타의 메시지에 액세스될 수 있다. 피드 내의 선택은 사용자를 채팅 뷰(chat view)로 네비게이트시킬 수 있다.
도 2a 내지 도 2c는 소정의 예시적인 실시예에 따른 단기 그룹 채팅의 양태를 나타낸다. 도 2a 내지 도 2c는 클라이언트 디바이스 상에서 동작하는 메시징 클라이언트 애플리케이션(804) 등의 메시징 클라이언트 애플리케이션의 일부로서 이용될 수 있는 채팅 뷰(202)의 양태를 나타낸다. 이것은 도 1의 예시적인 클라이언트 디바이스들(110, 120 및 130) 등의 클라이언트 디바이스들, 및 도 10의 모바일 디바이스(1000)를 포함하며, 여기서 채팅 뷰(202)는 디스플레이 영역(1002)와 함께 프리젠팅될 수 있다. 도 2a의 채팅 뷰(202A)는 상부 우측 화살표(212) 옆에 채팅 제목을 갖는 헤더(210)를 포함한다. 일부 실시예에서, 인터페이스의 상부 우측 화살표(212) 버턴을 누름(tap)으로써 채팅 뷰(202)에 의해 디스플레이된 UI와 상호작용하는 것은 위에서 간략히 설명된 피드로 되돌아 가게 한다. 헤더(210)에 제목을 갖는 도 2a의 예시적인 실시예는 그룹 채팅에서의 사용자 계정의 이름(first name) 또는 식별자들을 보여준다. 이름은, 사용자 계정 제어기에 의해 또는 개별 사용자(예를 들어, 친구 목록에 이름을 별칭으로서 할당함으로써)에 의해 사용자 계정과 연관될 수 있다. 다른 실시예에서, 그룹 채팅 뷰(202)의 헤더(210)에서 다른 상세사항이 이용될 수도 있다. 일부 실시예에서, 너무 많은 이름이 있다면, 처음 몇 개의 이름이 보여지고 생략 부호가 후속된다. 이름들의 순서는, 그룹 참여 순서에 의해 또는 시스템에서 허용된 기타 임의의 순서로 지정할 수 있다. 일부 실시예에서, 헤더(210)와 연관된 사용자 인터페이스(UI)의 터치 타겟을 가볍게 누르는 것은 UI 드롭다운을 보여주며, 이것은 도 3에 관하여 이하에서 더 상세히 논의된다.
채팅 뷰(202A)에서, 채팅 흐름(214)은 2개의 단기 채팅 메시지(216 및 218)를 포함한다. 출석 표시자(220)는 그룹 멤버들을 열거하고, 출석 표시자(220)가 보여주는 프리젠팅된 이름들 또는 사용자 계정 이름들에 대응하는 사용자 계정들과 연관된 디바이스들 상의 공유 그룹 채팅에 대해 어떤 그룹 멤버들이 현재 채팅 뷰(202)에 있는지에 관한 표시자를 포함할 수 있다. 일부 실시예에서, 채팅 시스템이 소정의 시간 프레임 내에서 사용자 계정과 연관된 사용자 디바이스로부터 출석 정보를 수신했을 때 그 사용자 계정과 연관된 색상들이 밝아지거나 디스플레이되어, 그 사용자가 채팅 뷰(202)를 디스플레이하고 있거나 이와 상호작용하고 있다는 것을 나타낸다. 채팅 시스템이 소정의 시간 프레임 내에서 출석 정보를 수신하지 않았을 때, 출석 표시자(220)의 이름 또는 계정 식별자가 역시 이것을 나타낼 수 있다(예를 들어, 연관된 이름 또는 계정 식별자를 회색화함으로써). 채팅 입력 영역(222)은, 메시지가 전송되기 전에 단기 채팅 메시지에 대한 텍스트 또는 기타의 콘텐츠를 보여준다. 데이터 입력 인터페이스(224)는, 도 2a에 도시된 소프트웨어 키보드 등의, 단기 채팅 메시지에 대한 정보를 입력하기 위한 채팅 뷰(202)의 일부이다. 다른 실시예에서, 이것은, 음성-텍스트 인터페이스, 또는 단기 채팅 메시지에 대한 입력을 보조하기 위한 기타 임의의 이러한 인터페이스일 수 있다.
채팅 흐름(214) 내에 도시된 단기 채팅 메시지 외에도, 기타의 상태 또는 출석 메시지가 디스플레이될 수 있다. 이것은, 수신 메시지, 출석 통보, 삭제 트리거 또는 기준에 관련된 정보, 또는 기타 임의의 이러한 정보를 포함한다. 예를 들어, 채팅 인터페이스에는 통보를 가질 수도 있다. 채팅 흐름(214)을 갖는 실시예의 일부로서의 이들 채팅 통보는 다음과 같은 것들을 포함할 수 있다 :
-타이핑
-[디스플레이 이름]이 [그룹 이름]에서 타이핑 중이다...
-Push
-"From [디스플레이 이름] in [그룹 이름]"
-In App
-"<채팅 아이콘> [그룹 이름]"
-보조 텍스트: "[디스플레이 이름]"
다른 실시예들에서, 다른 채팅 통보가 이용될 수도 있다.
일부 실시예에서, 콘텐츠 통신(예를 들어, 이미지 및 비디오 통신)도 역시 채팅 흐름(214)에 프리젠팅되고, 일부 이러한 실시예는 이들 콘텐츠 통신을 위한 디스플레이 인터페이스의 일부로서 연관된 통보를 갖는다. 이러한 통보의 예는 다음과 같은 것들을 포함한다 :
-Push
-"From [디스플레이 이름] in [그룹 이름]"
-In App
-"<아이콘> [그룹 이름]"
-보조 텍스트: "[디스플레이 이름]"
또는 다양한 실시예에서의 기타 임의의 이러한 통보들.
텍스트 또는 콘텐츠 통신에 대한 이들 통보 외에도, 다른 통보가 시스템에 의해 이용될 수 있다. 예를 들어, 그룹에 참여하거나 또는 퇴장하는 사용자에 대해 소정의 통보가 제공될 수 있다. 추가로, 일부 실시예는 사용자가 또 다른 특정한 사용자 또는 사용자 그룹으로부터의 통신을 차단할 수 있게 할 수 있다. 사용자가 처음 차단될 때 통보가 제공될 수 있고, 사용자가 현재의 메시지를 보내는 사용자를 이전에 차단했기 때문에 통신 메시지가 수신되지 않을 때 통보가 제공될 수도 있다. 이러한 통보의 구체적인 상세사항은 구현들마다 달라질 수 있고, 상이한 사용자들에 의해 선택가능하고 맞춤화가능할 수 있다.
채팅 뷰(202)의 UI 내에서 그룹 채팅을 허용하는 것 외에도, 도 2b 및 도 2c에 나타낸 바와 같이, 소정의 실시예는 동일한 채팅 흐름 내에서 그룹의 멤버들 중 일부들만의 채팅을 가능하게 할 수 있다. 따라서, 소정의 실시예는, 그룹 채팅에 참여한 사용자가 그룹의 나머지가 모르게 그룹 중 멤버들 중 하나 이상과 사적 대화를 갖도록 하기 위한 시스템 및 방법을 포함한다. 이러한 실시예는 채팅 흐름(214)의 그룹 대화와 독립적으로 나타나는 사적 메시지를 포함한다. 소정의 실시예에서, 사용자는 채팅 흐름(214) 내에서 독립적으로 사적 대화 및 그룹 대화를, 이들 대화들 양쪽 모두가 메인 디스플레이 또는 유일한 디스플레이 상에 있더라도, "스크롤"할 수 있다. 예를 들어, 이러한 실시예에서, 채팅 흐름(214) 내의 사적 채팅 흐름이 소정의 크기, 메시지의 개수 또는 라인 수를 초과한다면, 채팅 흐름(214) 내의 스크롤가능한 인터페이스가 제공된다. 전체 채팅 흐름(214)이 채팅 흐름(214) 내에 맞는 임계 크기보다 유사하게 더 크다면, 사용자는 채팅 흐름(214) 내에서 메시지를 스크롤할 수 있고, 또한 사적 그룹 채팅(242A)에 의해 표시된 사적 그룹 채팅 메시지의 일부만을 프리젠팅하는 하위영역 내에서 스크롤할 수 있다.
도 2b에 나타낸 실시예에서, 좌측 여백에서 시작하는 것으로 도시된 채팅 메시지(240)는 그룹의 모든 멤버들과 공유되는 메시지이다. 그룹 채팅 동안에, 사용자는 사적 그룹 채팅(242A) 메시지를 위한 그룹의 하나 이상의 멤버를 선택할 수 있고, 그 사적 "귓속말" 메시지는 선택된 그룹 멤버들에게만 전송된다. 사적 그룹 채팅(242A) 메시지는 채팅 뷰(202)에서 그룹 메시지 흐름의 일부로서 디스플레이되지만, 사적 그룹 채팅(242A) 메시지는 전체 그룹과 공유되지 않는다는 것을 나타내는 들여쓰기(indent)와 함께 디스플레이된다. 이러한 사적 그룹 채팅(242A) 귓속말 메시지는, 예를 들어, 디스플레이 내의 수신자들의 이름을 터치하여 이들을 귓속말 서브그룹에 추가함으로써 개시될 수 있다. 일부 실시예에서, 서브그룹 사이의 메시지가 소정의 길이를 초과하면, 서브그룹의 멤버들 사이의 메시지에 대해 또 다른 하위흐름이 채팅 흐름(214) 내에 임베딩될 수 있다. 도 2b의 예는, 사용자 "JACK"으로부터 전체 그룹으로의 메시지와, 사용자 "CHAMAL"로부터 전체 그룹으로의 메시지, 그 다음, "ME"로서 라벨링된, 디스플레이된 인터페이스와 연관된 사용자로부터 전체 그룹으로 전송된 메시지, 그 다음, 디바이스 사용자 "ME"로부터 그룹 멤버들 "ADITYA" 및 "JACK"으로의 사적 귓속말 메시지를 보여주고 있다. 예시된 바와 같이, 사적 귓속말 메시지인 최종 메시지는 그룹 메시지 흐름에서 들여쓰기된 것으로 예시되어 있는 반면, 그룹 메시지는 좌측 여백에 도시되어 있다.
추가로, 여기서 설명된 바와 같이, 그룹 메시징은 그룹 내의 각각의 사용자에 대한 색상 할당을 이용할 수 있다. 소정의 실시예에서, 색상은 사용자들의 일부에 대해서만 디스플레이될 수 있다. 도 2b에서, 그룹 멤버 "WILL" 및 "DONNY"는 그룹 멤버로서 그들의 이름을 나열하지만, 연관된 색상과 함께 도시되지 않을 수 있다. 이것은, 메시지를 전송함으로써 그룹에 참여한 사용자들만 그들의 색상을 디스플레이시킬 수 있도록 구현될 수 있다. 이것은 또한, 인터페이스의 현재의 부분을 이루는 사용자 이름들만이 색상을 디스플레이시키도록 구현될 수도 있다. 이것은, 초대된 모든 그룹 멤버들이 그들의 이름을 디스플레이시키도록 구현될 수도 있지만, 그룹 참여 초대에 응답한 그룹 멤버들만이 그룹 인터페이스의 일부로서 연관되고 디스플레이되는 색상을 갖는다. 다른 실시예에서, 다른 색상 연관 및 사용자 인터페이스 디스플레이가 이용될 수도 있다.
도 2c는 그룹 채팅 흐름(214) 영역 내의 사적 그룹 채팅(242B) 귓속말 메시지에 대한 메시지 흐름의 또 다른 예를 나타낸다. 도 2b와 관련하여 방금 위에서 설명된 바와 같이, 사적 그룹 채팅(242B) 메시지는, 그룹 메시지를 보여주는 최좌측 여백으로부터 들여쓰기 되어 보여진다. 도 3c의 예에서, 사적 그룹 채팅(242B) 귓속말 메시지는 들여쓰기될 뿐만 아니라, 제목 또는 귓속말 메시지 헤더도 사적 메시지의 수신자에 관한 정보와 함께 보여진다. 일부 실시예에서, 가장 최근의 귓속말 메시지 아래의 인터페이스 영역은, 단일의 탭 입력을 통해, 설정된 하위그룹에 대한 귓속말 메시지가 이전의 귓속말 메시지로부터 시작하는 것을 허용한다. 그 아래에서, "send a chat" 사용자 인터페이스 영역은, 한번의 터치를 통해, 전체 그룹에 대한 메시지 입력을 시작하는 것을 허용한다. 메시지 채팅 흐름(214)은 모든 메시지를 시간별로 보여주도록 구성될 수 있지만, 사적 귓속말 메시지 및 그룹 메시지들이 동일한 흐름 내에서 섞여 있다. 하위그룹 메시지 디스플레이 영역에서 상방 및 하방 스와이프 입력은, 사용자가 상이한 사적 귓속말 메시지들로 상방 또는 하방 스크롤하여 사적 귓속말 회신을 시작하는 것을 허용할 수 있다.
추가로, 소정의 실시예에서, 사적 귓속말 통신을 위한 독립적인 스크롤 영역이 포함될 수도 있다. 예를 들어, 도 2c의 실시예에서, 사용자가 "MATT & DONNY" 헤더 아래이되 "TAP TO REPLY" 영역 위의 영역을 상방 또는 하방 스와이프한다면, 귓속말 디스플레이 영역에 맞는 개수보다 많은 메시지가 있더라도 사적 귓속말 메시지 이력을 위한 메시지 디스플레이가 상방 및 하방 스크롤되는 한편, 그룹 메시지는 고정되어 있을 것이다. 그룹 메시지가 사적 귓속말 메시지 영역 아래에 프리젠팅되는 다른 실시예에서, 사용자 인터페이스 스와이프 영역은 사적 귓속말 메시지에 대한 텍스트가 프리젠팅되는 영역에 있을 수 있다. 복수의 상이한 사적 귓속말 메시지가 동일한 사용자 인터페이스 디스플레이의 일부라면, 이들 각각은 별개의 귓속말 디스플레이 영역을 가질 수 있다. 이러한 실시예의 경우, 스와이프 입력이 사용자 인터페이스에서 수신된다면 각각의 별개의 영역은 그들의 별개의 독립적인 귓속말 메시지의 이력을 스크롤할 것이다.
따라서, 전술된 바와 같이, 사용자는 2개 이상의 그룹 채팅 또는 사적 대화의 조합을 동일한 화면 상에 오픈할 수 있다. 이러한 단일 스크린을 갖는 실시예는 복수의 프라이버시 계층(예를 들어, 6명과의 그룹 채팅, 6명 중 4명과의 사적 대화, 및 이들 4명 중 2명 사이의 또 다른 사적 대화)을 가질 수 있다.
도 3은 소정의 예시적인 실시예에 따른 단기 그룹 채팅의 양태를 나타내며, 사용자 인터페이스(300)의 예를 도시한다. 이 상태에 진입하면, 헤더(310)의 좌측에 편집 아이콘(314)이 나타난다. 이 아이콘을 누르는 것은 사용자가 모든 사용자에게 적용되는 그룹 이름을 설정하는 것을 허용한다. 사용자가 헤더(310)에 디스플레이된 그룹 이름을 변경한다면, 이것은 그룹 채팅 UI에 추가되고 날짜 텍스트와 스타일이 비슷한 텍스트가 채팅 내에 드롭된다:
"[디스플레이 이름]이 그룹 [새로운 그룹 이름]을 정했다"
"당신이 그룹 [새로운 그룹 이름]을 정했다"
일부 실시예에서, 그룹의 리네임은 16개 문자의 그룹 이름을 허용된다. 드롭다운 내에는 그룹 채팅의 사용자 이름(예를 들어, 사용자 계정 식별자) 목록이 있다. 일부 실시예에서, 각각의 사용자 이름은 상이한 그룹 채팅 색상이다. 사용자 이름을 누르면, 그 사용자와의 채팅으로 네비게이트한다. 사용자가 연관된 심볼(예를 들어, emoji, friendmojis, 심볼)을 갖고 있다면, 이들은 대응하는 셀의 우측 부분에 디스플레이된다. 드롭다운의 하단에는 사용자를 그룹에 추가하고 그룹을 떠나는 옵션이 있다.
그룹에 사용자를 추가하기 위해, 상이한 구현들에서 다양한 동작들이 이용될 수 있다. UI의 사용자 추가 영역을 선택하는 것은, 사용자를 그룹 채팅에 없는 친구 목록으로 이동시킨다. 이것은 클라이언트 디바이스와 서버 시스템 사이의 통신 및 응답이거나(예를 들어, 친구 목록이 서버로부터 클라이언트 디바이스로 전송된다), 클라이언트 디바이스에 저장된 친구 목록을 이용할 수 있다. 친구 목록이 디스플레이되면, 사용자는 친구 목록으로부터 복수의 이름을 눌러 그룹에 추가할 수 있다. 일부 실시예에서, 최대 그룹 크기가 구현될 수 있다.
사용자는 또한 UI를 이용하여 그룹을 떠날 수도 있다. 그룹을 떠날 때, 사용자의 보관된 항목은 저장되지 않는다(및 삭제된다). 사용자가 수신한 미시청 스냅 및 채팅은 읽음으로서 마킹된다. 사용자가 전송한 미시청 스냅은 그룹의 각각의 멤버가 볼 때까지 채팅에 남아 있고, 그 다음, 채팅 메시지는 각각의 사용자의 클라이언트 디바이스에서 사라진다. 즉, 사용자가 전송한 미시청 채팅은, 그룹 멤버가 그룹을 떠난 후에 정상적인 삭제 로직이 다른 사용자들에게 적용되도록, 시청될 때까지 채팅에 남아 있다.
메시지는 처음에 클라이언트 디바이스에서 입력되고, 사용자가 메시지를 전송하라는 명령을 입력한 후에 그룹 채팅의 일부인 각각의 사용자 계정과 연관된 디바이스에 전송된다. 그 다음, 서버 시스템은 적절한 클라이언트 디바이스들에 메시지를 전송한다. 그 다음, 디바이스들은 메시지를 유지하고, 각각의 사용자가 채팅을 본 후에 모든 사용자에 대해 메시지를 삭제한다. 일부 실시예에서, 메시지는 아직 시청되지 않았더라도 삭제될 수 있다(예를 들어, 삭제 기간 이후). 메시지는, 메시지가 소정의 기간 동안 화면 상에 프리젠팅되었을 때, 사용자가 메시지를 본 것으로 체크했을 때, 또는 클라이언트 디바이스의 사용자로의 메시지의 프리젠테이션과 연관된 기타 임의의 시스템 기준에 기초하여, 시청된 것으로 간주될 수 있다. 하나보다 많은 클라이언트 디바이스가 단일의 사용자 계정과 연관되어 있다면, 메시지를 디스플레이하고 있는 클라이언트 디바이스는 그 메시지가 시청되었다는 것을 나타내는 메시지를 서버 시스템에 전송할 수 있고, 서버 시스템은, 그룹 채팅의 모든 멤버가 메시지를 본 후 적절한 시간에 그 메시지가 삭제될 것임을 나타내는 메시지를 전송할 수 있다.
소정의 실시예에서, 임의의 사용자는 그룹 채팅에서 채팅 메시지 또는 모든 채팅 메시지를 저장할 수 있다. 사용자가 하나 이상의 메시지를 저장했거나 그룹의 또 다른 멤버가 그룹 채팅에서 하나 이상의 메시지를 저장했다는 것을 나타내는 시각적 표시자가 클라이언트 디바이스 상에 제공될 수 있다. 하나의 이러한 표시자는 프리젠팅된 UI에서 사용자 ID 주변의 색상 막대의 색상의 변화일 수 있다. 또 다른 표시자는 프리젠팅된 사용자 인터페이스(UI)에서 사용자의 식별자(ID) 주변의 라인의 두께일 수 있다. 소정의 실시예에서, UI로의 오버스크롤 입력은 콘텐츠를 저장한 모든 사용자에 대해 동일한 색상의 채색된 도트(colored dot)를 갖는 타임 스탬프를 드러낼 것이다.
소정의 실시예에서, 사용자가 스크린샷을 찍는 경우, 날짜 텍스트와 스타일이 유사한 텍스트가 "[이름]이 대화의 스크린 샷을 찍었다!"라는 메시지와 함께 채팅 내에 드롭되고, 채팅을 스크린샷한 사용자의 클라이언트 디바이스의 디스플레이상에 "당신이 채팅의 스크린샷을 찍었다!"가 프리젠팅될 수 있다. 이러한 메시지는 그룹 채팅 동안에 찍힌 스크린 샷 뿐만 아니라 일대일 채팅에서 찍힌 스크린 샷에 대해서도 프리젠팅될 수 있다. 이러한 실시예에서, 메시징 클라이언트 애플리케이션은 스크린 포착이 이루어진 것을 식별하는 메시지를 출석 정보와 함께 서버 컴퓨터에 전송할 수 있고, 이 정보는 그룹 채팅의 모든 멤버들에게 전송되어 채팅 흐름 내에서 업데이트로서 디스플레이될 수 있다. 유사하게, 다양한 실시예에서, 이러한 메시징 클라이언트 애플리케이션은 사용자 인터페이스와의 사용자 상호작용 및 채팅 메시지의 디스플레이에 관한 다양한 정보를 포착하고, 채팅 모니터링 정보를 서버 컴퓨터에 전송한다. 서버 컴퓨터는 이 정보를 이용하여 채팅 메시지가 언제 삭제될 것인지와, 다양한 업데이트 및 출석 메시지가 디바이스의 스크린을 통해 디스플레이될 때를 결정할 수 있다.
전술된 피드 또는 흐름 인터페이스를 갖는 다양한 실시예에서, 사용자에 의해 이전에 시청된 메시지 또는 콘텐츠는 사용자의 계정과 연관된 모든 디바이스에서 사용자 인터페이스의 폴드(fold) 위에 나타난다. 콘텐츠 통신(예를 들어, 이미지 또는 비디오 클립)이 채팅의 일부로서 클라이언트 디바이스에서 수신되고 채팅 흐름의 일부로서 프리젠팅될 때, 수신 사용자는 한 번만 콘텐츠를 시청할 수 있다. 수신자가 콘텐츠를 스크린샷하면, 날짜 텍스트와 스타일이 비슷한 텍스트가 발신자의 채팅 내에서, 그룹 채팅에서 각 사용자에게 표시되는 콘텐츠 바로 아래에 드롭되어, 특정한 시청자가 그 콘텐츠를 스크린샷했다는 것을 나타낸다. 이 스크린샷 메시지는 콘텐츠를 보낸 사람만이 볼 수 있다.
콘텐츠 통신 발신자에 대한 스크린샷 통보에 추가하여, 발신자는 콘텐츠가 전달되었다는 것을 나타내는 영수증과, 콘텐츠가 오픈/시청되었다는 것을 나타내는 영수증을 추가적으로 수신할 수 있다. 비디오 클립의 경우, 이 통보는 비디오 클립의 일부만 시청되었는지를 나타낼 수 있다. 시청에 관한 시간 제한이 있는 이미지의 경우, 영수증은, 얼마나 많은 시청 시간이 이용되었는지를 나타낼 수 있다. 사용자가 더 높은 레벨의 UI 인터페이스로부터의 채팅 흐름 내로 스와이프하고 관련 영수증을 본 후에 개별 사용자에 대한 콘텐츠 수신/오픈 영수증 및 스크린샷 통보는 사라진다.
일부 실시예에서, 발신자는 그룹 채팅 내의 모든 사람들이 전송된 콘텐츠를 시청할 때까지 채팅 흐름에서 전송된 영수증을 본다. 전송된 영수증은, 하나 이상의 다른 수신 사용자가 그 콘텐츠를 시청했을 때 "오픈됨" 통보를 제공한다. 소정의 실시예에서, 발신자는 터치스크린 UI 상에서 우측에서 좌측으로 당김으로써 누가 콘텐츠를 보았는지를 볼 수 있어서 그룹 내의 모든 다른 사용자에 대한 콘텐츠 읽음 영수증의 목록을 드러낼 수 있다. 한 예시적 구현에서, 이러한 콘텐츠 읽음 영수증은 채색된 도트로 표시되고, 여기서, 색상은 콘텐츠를 시청한 사용자의 색상에 대응한다. 모든 사용자가 콘텐츠를 시청한 후에, 읽음 영수증은, 모든 수신자가 콘텐츠를 보았다는 상태의 채팅 뷰를 발신자가 볼 때까지 남아있다. 모든 다른 그룹 멤버들이 콘텐츠를 시청했을 때 발신자가 그 채팅에 입장하면, 영수증은 해제된다.
한 예시적인 실시예에서, 발신자는 콘텐츠 수신 바로 아래의 날짜 텍스트(예를 들어, "오늘")와 스타일이 유사한 텍스트를 통해 스크린 샷을 찍은 사람을 알 수 있다. 예를 들어:
"[이름]이 스크리샷을 찍었다!"
또는 복수의 사람이 스크린샷을 찍었다면 :
"[이름], [이름], [이름], & [이름]이 스크린샷을 찍었다!"
스크린샷 텍스트는 전송된 콘텐츠 오픈됨 아이콘(content sent opened icon)과 함께 해제된다. 사용자가 채팅 그룹에 입장하거나 떠날 때, 표시자 메시지는 도 2 및 도 5에 나타낸 날짜 헤더(예를 들어, "오늘")와 동일한 스타일로 표시된다. 예시적 표시자 메시지는 다음과 같다:
[이름]이 떠났다
[이름]이 [추가자의 이름]에 의해 추가되었다,
이러한 실시예에서, 표시자 메시지 텍스트는, 채팅 흐름 및 클라이언트 디바이스로부터 해제되고 제거되기 위해 채팅 판독 로직을 따른다.
사용자가 채팅 떠나기 인터페이스(320)를 선택함으로써 채팅을 떠날 때, 그 사용자 계정과 연관된 디바이스들에 대한 채팅 메시지들은 저장되지 않는다(예를 들어, 전원을 켠 후 서버 컴퓨터와의 접속 후 또는 이전에 단기 채팅 메시지를 수신한 디바이스에서 메시징 클라이언트 애플리케이션을 실행한 후 등의, 가능한 경우 모든 연관된 사용자 디바이스들에 대해 삭제된다). 일부 실시예에서, 이러한 채팅 떠나기 인터페이스(320)는, 그룹 채팅을 떠난 후에 채팅 메시지는 사용자 계정에 액세스될 수 없지만, 다른 사용자에게는 이용가능할 것이라는 추가 경고를 포함한다. 떠나는 사용자가 수신한 미시청 스냅 및 채팅은 떠나는 사용자 계정과 연관된 임의의 삭제 트리거의 목적으로 읽음으로 표시된다. 사용자가 전송한 미시청된 채팅 메시지들은, 삭제 기준을 만족한 다음 모든 사용자의 채팅 흐름으로부터 사라질 때까지 다른 사용자 디바이스들의 채팅 흐름에 남아 있다. 일부 실시예에서, 사용자 계정은 친구 추가 인터페이스(318)를 선택함으로써 유사하게 그룹 채팅에 추가될 수 있다.
도 4는 소정의 예시적인 실시예에 따른 단기 그룹 채팅의 추가 양태를 나타낸다. 도 4는, 채팅 그룹에 친구를 추가하기 위한, 디스플레이(400)로서 도시된, 예시적인 UI를 나타낸다. 사용자가 도 3에 나타낸 드롭다운에서 친구 추가 인터페이스(318)를 선택하면, 사용자는 사용자에 대해 이전에 설정된 나의 친구들의 목록으로 이동하게 된다. 사용자는 UI에서 복수의 이름을 눌러 그룹에 추가할 수 있다. 이 상호작용은, 다양한 실시예에서 단일 콘텐츠 메시지 통신을 위한 페이지로의 전송과 동일하다. "완료"를 누른 후에, 선택된 친구들이 그룹에 추가된다. 그룹이 시스템 임계값에 의해 정의된 최대 크기인 경우 사용자는 그룹에 더 많은 친구를 추가할 수 없다.
일부 실시예에서, 친구 추가 페이지(Add Friend page)에서 친구를 추가하는 동안 그룹이 최대 한도 임계값에 도달하면, 체크박스가 사라지고 이름이 50% 불투명도로 희미해진다. 사용자가 선택된 친구들 중 하나를 체크해제하면, 체크박스가 다시 나타난다.
사용자가, 예를 들어, 친구 추가 인터페이스(318)를 선택함으로써 채팅에 참여할 때, 상이한 실시예들은 다양한 방식으로 참여하는 사용자에 대한 채팅 메시지의 이용가능성을 관리할 수 있다. 일부 실시예에서, 삭제되지 않았고 이전의 모든 그룹 멤버들에게 전송된 채팅 메시지들은 참여 사용자에게 이용가능하게 되고, 연관된 삭제 트리거들은 모든 그룹 멤버들과 연관된 임의의 삭제 기준(예를 들어, 모든 그룹 멤버가 채팅 메시지를 10초 동안 본 후에 삭제)에 가입 사용자를 추가하도록 수정된다. 그러나, 일부 실시예에서, 새롭게 추가된 멤버는 이전에 전송된 어떠한 채팅 메시지도 수신하지 않는다. 이러한 실시예에서, 이전에 전송된 채팅 메시지들은 이전 멤버들의 채팅 흐름 내에서 동일한 프리젠테이션을 유지하거나, 이전 메시지들은 전술된 것 등의 서브-채팅 인터페이스(예를 들어, 사적 그룹 채팅(242)) 내에서 프리젠팅될 수 있고, 이 때, 전체 그룹에 대한 후속 메시지들은 모든 그룹 멤버들에 대한 메인 채팅 흐름에 프리젠팅된다.
소정의 실시예에서, 시스템은 채팅 메시지에서 이용하기 위한 사용자 식별자를 상이한 방식들로 선택한다. 일부 실시예에서, 시스템은 등록 정보로부터 식별된 사용자의 이름을 이용한다. 이름은, 계정 이름 데이터의 이름 필드 내의 첫 번째 공백 앞에 있는 문자열인 것으로 간주된다. 다른 실시예에서, 이름은 다른 방식으로 도출되거나 발견될 수 있다. 그룹 내에 동일한 이름을 가진 복수의 사용자가 있는 경우, 시스템은 성(last name)(예를 들어, 마지막 공백 다음에 오는 문자열)의 이니셜(initial)을 이용하고, 그룹에 대한 고유한 식별자가 나타날 때까지 추가 문자를 이용할 것이다. 일부 실시예에서, 마지막 이니셜을 이용하는데 있어서 충돌이 있다면, 시스템은 전체 성을 이용할 수 있고, 추가적인 충돌이 남아 있으면 시스템에 의해 고유한 문자 또는 숫자가 생성될 수 있다.
하나의 이름이 Bob Smith이고 그룹 내에 Bob Jones가 있다면, Bob Smith는 Bob Jones를 Bob으로 보고 Bob Jones는 Bob Smith를 Bob으로 볼 것이다. 그룹 내의 다른 모든 사람들은 Bob S.와 Bob J.를 볼 것이다.
단기 메시지의 관리에 추가하여, 일부 실시예에서, 시스템 인터페이스는 또한, 출석 정보를 나타낼 수 있고, 이것은 그룹 멤버들에게 그룹 채팅 흐름 또는 그룹 채팅으로부터 메시지에 어느 사용자들이 현재 액세스했는지 또는 최근에(예를 들어, 임계 기간 내에) 액세스했는지에 대한 정보를 제공한다. 이 출석 정보는, 해당 그룹 채팅 색상의 채워지지 않은 풍선 내의 이름으로 그룹 내에 누가 있는지를 표시하는 시각적 유도(visual affordance)에 의해 제공된다. 이 풍선은 채팅 입력 바(input bar) 위의 좌측에서 시작하여, 사용자가 그룹에 입장할 때 이전 메시지의 아래에 및 우측에 나타난다.
전술된 바와 같이, 각각의 사용자는 그룹 채팅을 입장할 때 그들에게 할당된 별개의 색상을 가질 것이다. 이들 색상은 디폴트 시스템 설정의 일부로서 자동으로 할당될 수 있다. 일부 실시예에서, 색상은 사용자 선호도 또는 상이한 선택가능한 색상 템플릿에 기초하여 조절될 수 있다.
한 실시예에서, 색상 방식은 다음과 같이 구현될 수 있다 :
사용자 자신의 색상은 적색이다
다른 색상은 그룹에 참여하는 순서에 의해 주어진다
1-그룹 채팅 적색
2-하늘색(light blue)
3-연녹색(light green)
4-오렌지색
5-분홍색
6-짙은 파란색(dark blue)
7-짙은 녹색(dark green)
8-보라색
사용자들이 동시에 추가된 경우, 결정자(tie-breaker)는 디스플레이 이름에 따른 알파벳순이다. 사람들이 그룹을 떠날 경우 색상은 업데이트되지 않지만, 일당 할당되고 나면 그룹의 존재 기간 동안 유지된다. 사용자가 떠나면, 사용자가 떠난 순서대로 참여하는 사용자에게 색상이 할당된다. 다른 실시예에서, 색상은 다른 방식으로 할당되거나 재할당될 수 있다.
전체 피드는 클라이언트 디바이스에서 인입되는 메시지의 상위 레벨 구성이다. 한 실시예에서, 각각의 그룹 채팅은 피드 내에 셀을 갖는다. 흐름 내의 셀을 선택하는 것은, 일부 실시예에서, 특정한 그룹에 대한 채팅 뷰(202) 등의 채팅 뷰를 프리젠팅할 것이다. 흐름의 일부 실시예에서, 개개의 콘텐츠 메시지 및 일대일 채팅도 역시 피드 내에 셀을 가질 수 있다. 상위-레벨 흐름 내의 그룹 채팅 셀에서, 보조 텍스트가 표시될 수 있다. 일부 실시예에서, 그룹 채팅에 대한 보조 텍스트는, 특정한 그룹에 대한 읽지 않은 콘텐츠 통신 또는 채팅이 있는 경우에 흐름 내에 표시된다. 보조 텍스트는, 읽지 않은 콘텐츠에 기여한 그룹 내의 사람들의 이름이 표시한다. 이름은 콘텐츠가 전송된 때의 순서로 표시되며, 가장 최근에 전송된 것이 마지막으로 표시된다. UI에서 셀을 누르거나 터치하는 것은 메시지에 대한 타임 스탬프를 표시할 수 있다.
그룹이 임계량의 시간에서(예를 들어, 1개월, 31일, 60일 등)에서 어떠한 최근 활동도 갖지 않은 경우, 그룹은 상위 레벨 피드로부터 제외된다(fall off). 저장된 콘텐츠가 없는 그룹(예를 들어, 모든 메시지가 그룹에 전달된 메시지와 연관된 삭제 트리거에 대한 삭제 기준을 만족한 그룹)은 시스템으로부터 삭제될 것이다. 그룹에 콘텐츠(예를 들어, 연관된 삭제 기준을 만족하지 않은 콘텐츠)를 저장한 경우, 그 콘텐츠는 '피드에서 제외'되지만, 피드 하단으로 스크롤하고 '이전 대화 표시' UI 공간을 누르면 액세스할 수 있다. 저장된 콘텐츠가 있는 그룹은 또한, 일대일 채팅 등의, 기타 임의의 검색가능한 텍스트 메시지와 함께, 검색에 의해 액세스될 수 있다.
일부 실시예에서, 검색 거동은 다음과 같이 작용한다. 사용자는 그룹을 검색할 수 있다. 사용자가 검색 필드 내에 "Bobby"를 입력하면, 그 사용자는 "Bobby"라는 ID를 가진 사용자와의 일대일 채팅 뿐만 아니라 "Bobby"라는 ID를 가진 다른 사용자와 함께 속한 임의의 그룹도 볼 수 있다. 복수가 존재한다면(예를 들어, Bobby S., Bobby Jones, Bobby Johnson) 성 또는 마지막 이니셜과 함께 복수의 사용자가 표시될 수 있다.
검색은 그 그룹의 표시 이름 또는 멤버들(표시 이름 또는 사용자 이름)와 일치한다. 그룹이 피드로부터 제외되었다면, 사용자는 "이전 대화 표시" UI 인터페이스를 누름으로써 검색 결과에 나타나는 것을 볼 수 있다. 사용자가 변경된 이후의 그룹 이름으로 검색한다면, 그 그룹은 새 이름이 표시된 검색 결과에 나타날 것이다. 임계 시간 내에 그룹 이름이 변경되지 않았다면, 시스템으로부터 이전 그룹 이름은 제거되어 더 이상 검색할 수 없게 된다.
채팅 그룹은 다수의 상이한 방식으로 생성될 수 있다. 기존 그룹, 콘텐츠 메시지, 및 일대일 채팅에 대한 통신 셀들을 보여주는 상위 레벨 피드 인터페이스에서, 사용자는 피드의 오른쪽 상단 코너에 있는 "새로운 채팅(new chat)" 아이콘을 누를 수 있다. 사용자는 새로운 채팅 뷰에서 소정 그룹에 속할 복수의 사람을 선택할 수 있다. 사용자가 그룹에 추가할 복수의 사용자 ID를 선택하고 나면, 사용자는 UI의 헤더 영역을 눌러 그룹 이름을 설정할 수 있다. 디폴트 그룹 이름은 콤마로 구분된 사용자들의 이름일 것이다. 이 그룹은 발신 사용자가 텍스트 메시지 또는 콘텐츠 통신을 전송한 후에만 생성된다. 이들 멤버들을 갖는 그룹이 이미 있다면, 사용자는 선택된 이름들 위에서 기존 그룹을 볼 것이다.
도 5a 내지 도 5j는 예시적인 한 실시예에 따른, 전송 인터페이스(send-to interface)(500)의 예시적인 구현을 포함하는 단기 그룹 채팅의 양태를 나타낸다. 전송 인터페이스(500)는, 뷰들(502 내지 512)로서, 도시된 복수의 뷰를 포함한다. 이러한 전송 인터페이스(500)는, 메시지를 통신 시스템 내의 임의의 수의 다른 사용자 계정에 전송하는데 이용될 수 있다. 사용자가 전송 인터페이스(500) 내에서 메시지의 수신자로서 복수의 다른 사용자 계정을 선택하고 나면, 사용자는, 사용자가 선택된 다른 사용자들의 그룹을 생성하는 것을 허용하고 그 그룹에 대해 이용가능한 채팅 흐름(594)을 생성하는 그룹 생성 인터페이스(create group interface)(592)가 나타나는 것을 볼 수 있다. 뷰(502, 504, 506, 508 및 510)는 그룹 채팅을 위한 개인들을 선택하기 위한 전송 인터페이스(500)의 모습을 나타낸다. 뷰(510)는, 한 명은 선택 박스를 통해, 다른 한 명은 검색 입력을 통해, 2명의 사용자가 선택된 모습을 보여준다. 일부 실시예에서, 사용자가 그룹 생성 인터페이스(592)를 선택하면, 사용자는 채팅 흐름(594)으로 이동되고 뷰(512)에 의해 도시된 바와 같이 그룹이 자동으로 생성된다. 일부 실시예에서, 사용자가 그룹 생성 인터페이스(592)를 누르면, 사용자는, 뷰의 확인 페이지(518) 등의, 선택된 이름들을 가진 확인 페이지로 이동된다. 확인 페이지에서, 사용자는 이름을 선택해제하고 그룹의 이름을 지정할 수 있다. 사용자는 키보드 위의 확인 버턴을 눌러 변경 사항을 커밋하고 그룹이 없는 경우 그룹을 생성할 수 있다. 이 동일한 세트의 사용자들이 있는 기존의 그룹 채팅 스레드가 있다면, 사용자는 선택한 그룹 바로 위에 있는 확인 페이지에서 그 그룹을 볼 수 있다. 사용자가 기존 그룹을 누른다면, 사용자는 그 그룹이 선택되어 있는 전송 페이지(send-to page)로 다시 이동한다. 일부 실시예에서, 사용자가 콘텐츠 통신 또는 텍스트 메시지를 새로운 그룹에 전송하지 않는 한, 이 흐름으로부터 새로운 그룹은 생성되지 않는다.
일부 실시예에서, 도 5j에 나타낸 바와 같이, 사용자는 전송 인터페이스(500)로부터 다른 그룹들 및 사용자들을 선택할 수 있을 뿐만 아니라 단일 콘텐츠 통신이 복수의 그룹에 전송되도록 할 수 있다. 도 5j의 뷰(520)는 그룹(598)의 목록 뿐만 아니라 사용자 계정(596)을 보여준다. 전송 인터페이스(500)의 일부로서, 사용자는 메시지가 전송될 복수의 그룹을 선택할 수 있다. 상이한 그룹들이 상이한 단기 트리거들을 갖는다면, 메시지는, 특정한 그룹에 대한 특정한 삭제 트리거 및 기준에 기초하여 상이한 그룹들로부터 독립적으로 삭제될 수 있다.
일부 실시예에서, 사용자가, 선택된 사용자들을 갖는 그룹을 생성했다면, 사용자는 선택된 사용자들에게 개별적으로 콘텐츠 통신을 전송하거나 이들을 갖는 또 다른 그룹을 생성하기 위해 다시 한번 이들 사용자를 선택하는 것이 금지되지 않는다. 사용자가 이미 그룹을 생성했다면, 전송 인터페이스(500)에 액세스하여 2명 이상의 사용자를 다시 선택하는 것은 그룹 인터페이스 생성 버턴이 다시 표시되게 할 것이다. 그룹 생성 버턴을 누르는 것은 선택한 사용자들에 대한 새로운 그룹을 생성할 것이다. 사용자가 방금 새로운 그룹을 만드는데 이용한 동일한 사용자들을 갖는 새로운 그룹을 생성하려고 시도하면, 추가 그룹은 생성되지 않고, 사용자는 이전에 생성된 그룹으로 보내진다.
일부 실시예에서, 사용자는 또 다른 사용자를 추가로 검색할 수 있다. 사용자가 전송 페이지에서 이름을 검색하면, 이들 이름을 포함하는 그룹이 "그룹" 헤더 아래의 일치하는 사용자들의 이름 아래에 나타날 것이다. 이러한 실시예는 뷰(520, 502-510 및 514-516) 등의 임의의 뷰를 포함한, 개개의 사용자 및 그룹의 목록을 갖는 뷰를 생성할 수 있다.
도 6은, 소정의 예시적인 실시예에 따른, 단기 그룹 채팅의 일부인, 서버 컴퓨터와 사용자 계정과 연관된 클라이언트 디바이스들 사이의 통신을 나타낸다. 도 6은, 서버 시스템(650)을 통해 서로 통신하고 서버 시스템(650)과 상호작용하여 단기 그룹 채팅을 구현하는 클라이언트 디바이스들(610, 620 및 630)을 도시한다.
도 6의 실시예에서, 클라이언트 디바이스(610)와 서버 시스템(650) 사이의 통신(654)은, 단기 그룹 채팅의 일부로서 적어도 3개의 사용자 계정들(예를 들어, 그룹) 사이의 연관의 생성을 가능하게 한다. 제1 클라이언트 디바이스(610)는, 동작 652에서, 사용자 계정 또는 사용자 계정과 연관된 식별자를 선택하는 사용자 입력을 수신할 수 있고, 이 목록을 서버 시스템(650)에 전달할 수 있다. 서버 시스템(650)은 제1 클라이언트 디바이스(610)로부터의 선택을 처리하고 단기 그룹 채팅으로서 연관을 생성한다. 일부 실시예에서, 통신(654)은 동작 656에서 계정들 사이의 연관이 서버 시스템(650)에 저장되기 전에 서버 시스템(650)에서 수신되는 제1 단기 채팅 메시지를 포함한다.
제1 단기 채팅 메시지는 하나 이상의 삭제 트리거와 연관된다. 이러한 삭제 트리거는, 일부 실시예에서, 동작 652에서 제1 클라이언트 디바이스(610)에 의해 제공된 선호도에 의해 선택될 수 있다. 일부 실시예에서, 삭제 트리거는 통신 시스템의 고정된 구현의 일부로서 시스템 오퍼레이터에 의해 선택된다. 다른 실시예에서, 디폴트 삭제 트리거들과 삭제 트리거들에 대한 사용자 선택가능한 옵션의 조합들이 이용된다.
일부 실시예에서, 삭제 트리거는, 각각의 사용자 계정이 대응하는 계정과 연관된 디바이스에서 임계량의 시간 동안 제1 단기 메시지의 디스플레이와 연관되거나 이를 추적하는 것에 기초한다. 도 6의 실시예에서, 이것은 제3 클라이언트 디바이스(630) 및 제2 클라이언트 디바이스(620)를 포함하고 이들 각각은 임계량의 시간 동안 제1 단기 메시지의 디스플레이가 삭제 트리거를 충족하는지를 각각 독립적으로 검증한다. 이것은 동작들 666 및 668과 관련하여 이하에서 설명된다.
다른 실시예에서, 삭제 트리거는, 각각의 사용자 계정에 대응하는 임의의 디바이스 상에서의 임계량의 시간 동안의 제1 단기 채팅 메시지의 디스플레이를 포함한다. 역시 또 다른 실시예에서, 삭제 트리거는 서버 시스템(650)으로부터의 제1 단기 메시지의 전송 이후의 임계 시간을 포함한다. 역시 또 다른 실시예에서, 삭제 트리거는 적어도 3개의 사용자 계정과 연관된 임계 수의 디바이스들로부터의 삭제 메시지의 수신을 포함하며, 여기서, 삭제 메시지는, 적어도 3개의 사용자 계정과 연관된 디바이스들의 대응하는 사용자 인터페이스에서 수신된 메시지 삭제 입력에 응답하여 수신된다. 또 다른 실시예에서, 삭제 트리거는, 그룹 채팅과 연관된 클라이언트 디바이스들의 적어도 일부가 임계량의 시간 동안 채팅 메시지를 시청했고 메시지가 전송된 이후의 임계 시간도 역시 경과했다는 것을 나타내는 채팅 모니터링 정보의 서버 시스템에 의한 수신을 포함한다. 추가 실시예에서, 여기서 설명된 추가 삭제 트리거들 또는 삭제 트리거들의 조합들이 이용될 수 있다. 일부 실시예에서, 삭제 트리거는, 소정의 시간 내에 응답을 수신하는 메시지가 트리거를 수정시킬 수 있거나, 임계 시간 내에 응답을 수신하지 않는 메시지와는 상이한 트리거와 연관될 수 있도록 하는 방식으로, 후속 채팅 메시지에 의존할 수 있다.
계정들 사이의 연관이 발생하고, 제1 단기 메시지가 서버 시스템(650)에서 수신된 후, 동작 658에서, 서버 시스템은, 제1 단기 채팅 메시지의 사본들을 포함할 수 있는, 단기 채팅 통신들(660A 및 660B)에서 클라이언트 디바이스들(620 및 630)로의 제1 단기 채팅 메시지의 전달을 관리한다. 제2 클라이언트 디바이스(620) 및 제3 클라이언트 디바이스(630)는, 통신(654) 및 동작들(652 및/또는 656)에 의해 식별된 대응하는 사용자 계정들과의 그들의 연관에 의해 식별된다.
제2 클라이언트 디바이스(620)는 동작 662에서 제1 단기 메시지를 처리한 다음, 제2 클라이언트 디바이스(620)는 동작 666에서 그룹 채팅 및 제1 단기 메시지와 연관된 활동을 모니터링하고, 단일 통신이거나 시간 경과에 따른 반복된 통신일 수 있는 통신(667)에서 채팅 모니터링 정보를 전송한다. 이 정보의 적어도 일부는 삭제 트리거와 연관된 정보를 포함한다.
유사하게, 제3 클라이언트 디바이스(630)는 동작 664에서 제1 단기 메시지를 처리한 다음, 동작 668에서 그룹 채팅 및 제1 단기 메시지와 연관된 활동을 처리하고, 단일 통신이거나 시간 경과에 따른 반복된 통신일 수 있는 통신(669)에서 채팅 모니터링 정보를 전송한다. 모든 사용자 계정으로부터의 정보가 삭제 트리거를 위해 필요한 것은 아닌 일부 실시예에서, 오직 하나의 디바이스만이 삭제 트리거 정보를 서버 시스템(650)에 전송할 수 있다.
동작 670에서, 서버 시스템(650)(예를 들어, 네트워킹된 서버 컴퓨터 시스템)은 그룹 채팅으로부터 사용자 계정들과 연관된 디바이스들(예를 들어, 동작 656에 의해 연관된 계정들 및 디바이스들)로부터 수신된 채팅 모니터링 정보를 처리한다. 이 프로세스는, 삭제 기준 또는 삭제 트리거 상태가 제1 단기 채팅 메시지에 대해 충족되었음을 식별하는데 이용되는 삭제 트리거 정보가 수신될 때까지, 디바이스들로부터의 임의의 개수의 채팅 모니터링 통신을 모니터링할 수 있다. 삭제 트리거가 활성화되었다는 것을 삭제 트리거 정보가 식별하면, 동작 672에서, 서버 시스템(650)은 삭제를 구현하는 채팅 그룹 내의 디바이스들과 통신을 개시한다. 제2 클라이언트 디바이스(620) 및 제3 클라이언트 디바이스(630)의 경우, 통신(675 및 677)은 동작 676 및 678에서, 임의의 연관된 콘텐츠를 포함하는, 제1 단기 채팅 메시지와 연관된 데이터를 삭제하는 명령이다. 제1 단기 채팅 메시지를 전송한 제1 클라이언트 디바이스(610)의 경우, 통신(673)은 제1 단기 채팅 메시지를 삭제하는 명령이거나, 삭제 트리거가 충족되었거나 단기 그룹 채팅과 연관된 일부 또는 모든 디바이스들로부터 삭제가 성공적으로 보고되었다는 것을 나타내는 상태 통신일 수 있다. 동작 674는 통신(673)에 응답하여 제1 클라이언트 디바이스(610)에서 수신하고 임의의 적절한 동작을 취한다.
따라서, 여기서 설명된 바와 같이, 일부 실시예는, 데이터 프라이버시, 보안 및 데이터 정리(clean up)의 기술적 문제에 관한 것이다. 일부 실시예는 네트워킹 시스템 또는 사회적 네트워크로부터 제거되거나 망각될 데이터에 대한 권리와 연관된 기술적인 문제에 대한 해결책으로 간주될 수 있다. 특정한 삭제 트리거 및 데이터의 삭제를 동기화하고 데이터가 시스템으로부터 제거될 때 전송 및/또는 수신 디바이스에 통보 및 확인하기 위한 통신 시그널링을 포함하는 제한된 기술적 해결책도 역시, 다양한 실시예에서 상기 문제점에 대한 기술적 해결책으로서 고려된다.
다양한 실시예에서, 그룹 채팅 연관의 일부인 임의의 개수의 클라이언트 디바이스들이 단기 채팅 메시지를 전송 및 수신하되, 도 6에서 설명된 것 등의 동작들이 복수의 디바이스에 의해 전송되고 다른 디바이스들에 의해 수신된 채팅 메시지에 대해 동시에 발생할 수 있도록 한다.
예를 들어, 제2 클라이언트 디바이스(620)는 전체 그룹에 2개의 메시지를 전송할 수 있고, 하나의 메시지는 그룹 흐름 내의 사적 귓속말 메시지로서 제1 클라이언트 디바이스(610)에 전송한다. 제3 클라이언트 디바이스(630)는 모든 그룹 멤버들에게 메시지를 전송할 수 있다. 제1 클라이언트 디바이스는 제2 클라이언트 디바이스로부터의 사적 귓속말 메시지에 응답할 수 있다. 이들 메시지 각각은 별개의 삭제 트리거들 및 삭제 트리거들로부터의 삭제 타이밍과 연관될 수 있고, 여기서, 타이밍은 메시지와 연관된 타임 스탬프의 적어도 일부에 기초한다.
도 7은 일부 예시적인 실시예에 따른 단기 그룹 채팅을 구현하기 위한 방법을 나타낸다. 방법(700)은, 여기서 설명된 임의의 머신을 이용하여 구현될 수 있는 서버 시스템(150) 또는 서버 시스템(650)을 포함한, 여기서 설명된 임의의 서버 컴퓨터 또는 서버 시스템 등의, 서버 컴퓨터 또는 서버 시스템에 의해 수행된다. 일부 실시예에서, 방법(700)은, 머신의 하나 이상의 프로세서에 의해 실행될 때 머신으로 하여금 방법(700)을 수행하게 하는 컴퓨터 판독가능한 매체 상의 명령어들로서 구현된다.
방법(700)은, 소셜 네트워크 통신 시스템의 서버 컴퓨터에서, 제1 단기 그룹 채팅의 일부로서 적어도 3개의 사용자 계정들 사이의 연관을 생성하는 것을 포함하는 동작 710에서 시작한다. 이것은, 도 6의 통신(654) 등의, 하나 이상의 클라이언트 디바이스와의 통신을 포함할 수 있다. 관련된 실시예에서, 클라이언트 디바이스에서의 대응하는 동작들은 사용자 계정들의 목록을 제공하도록 동작할 수 있다.
그 다음, 동작 720은 적어도 3개의 사용자 계정 중 제1 사용자 계정과 연관된 제1 클라이언트 디바이스로부터, 하나 이상의 삭제 트리거와 연관된 제1 단기 채팅 메시지를 수신하는 단계를 포함한다. 다양한 실시예에서, 이것은 그룹 채팅 연관을 생성하기 위한 정보를 제공하는 디바이스와 동일한 디바이스이거나 상이한 디바이스일 수 있다.
그 다음, 서버 컴퓨터는, 동작 730의 일부로서, 적어도 3개의 사용자 계정 중 제2 사용자 계정과 연관된 제2 클라이언트 디바이스에 및 적어도 3개의 사용자 계정 중 제3 사용자 계정과 연관된 제3 클라이언트 디바이스에, 제1 단기 메시지를 전송한다.
단기 메시지가 전송된 후, 서버 컴퓨터는 동작 740에서 제1 삭제 트리거 정보를 포함하는 채팅 모니터링 정보를 수신하기 시작한다. 채팅 모니터링 정보는 단기 그룹 채팅과 연관된 디바이스로의 통신을 생성하는데 이용되는 상태 및 출석 정보를 포함할 수 있다. 서버 컴퓨터에서 수행되는 클라이언트 디바이스들로부터의 채팅 모니터링 정보의 모니터링 중 어떤 시점에서, 서버는 삭제 트리거 정보를 수신한다. 동작 750의 선택사항적 실시예에서, 서버 컴퓨터는 각각의 사용자 계정으로부터 삭제 트리거 정보를 수신한다. 일부 실시예에서, 이것은 단일 계정과 연관된 복수의 디바이스로부터의 정보를 포함한다. 이것은, 소정 계정에 대한 제1 디바이스가 단기 메시지에 액세스한 다음, 단기 메시지가 제2 계정에서도 액세스될 때 발생한다. 시청 시간에 기초한 삭제 트리거의 경우, 삭제 트리거가 충족되는지를 결정하기 위해 단일 계정과 연관된 복수의 디바이스에서의 비동시 디스플레이가 이용된다. 다른 실시예에서, 각각의 디바이스의 모니터는 시간을 별개로 디스플레이하고, 하나의 디바이스가 삭제 임계값을 만족할 때에 그 계정에 대한 삭제 트리거의 일부만이 충족된다.
동작 760에서, 서버 컴퓨터는 삭제 트리거의 모든 부분(예를 들어, 상이한 사용자 계정들로부터 복수의 디바이스에 의해 충족될 기준을 갖는 삭제 트리거에 대해)이 충족되는지를 확인한다. 이 확인에 이어, 서버 컴퓨터는 연관된 단기 채팅 메시지에 대한 삭제 명령을 동작 770에서 전송하거나, 클라이언트 디바이스들과의 상호작용을 기타의 방식으로 관리하여 단기 메시지가 예상대로 삭제되는지를 확인한다. 일부 실시예에서, 이것은 단기 채팅 메시지로부터 콘텐츠의 스크린 포착을 추적하고, 콘텐츠의 비단기 사본이 생성되었다는 것을 발신 사용자 계정 또는 모든 사용자 계정에 전달하는 것을 더 포함한다.
방법(700)은 단기 그룹 채팅을 구현하기 위한 하나의 특정한 방법을 설명한다. 상이한 방식들로 정렬된 단계들 또는 동작들을 개재한 유사한 동작들을 이용하여 추가적인 실시예가 가능하다는 것을 이해할 것이다. 유사하게, 클라이언트 디바이스들에 의해 수행되는 대응하는 동작들이 전체적으로 설명되고, 방법(700) 등의 서버 컴퓨터에 의해 수행되는 방법들을 보완하는 클라이언트 디바이스들에 의해 수행되는 다양한 실시예들은 실시예로서 간주된다.
도 8은 일부 실시예에 따른 단기 그룹 채팅을 구현하는 통신 시스템의 양태를 나타낸다. 도 8은 네트워크를 통해 데이터(예를 들어, 메시지 및 연관된 콘텐츠)를 교환하기 위한 예시적인 메시징 시스템(800)을 보여주는 블록도이다. 메시징 시스템(800)은 복수의 클라이언트 디바이스(802)를 포함하고, 그 각각은 메시징 클라이언트 애플리케이션(804)을 포함하는 다수의 애플리케이션을 호스팅한다. 각각의 메시징 클라이언트 애플리케이션(804)은 네트워크(806)(예를 들어, 인터넷)를 통해 메시징 클라이언트 애플리케이션(804) 및 메시징 서버 시스템(808)의 다른 인스턴스들에 통신가능하게 결합된다.
따라서, 각각의 메시징 클라이언트 애플리케이션(804)은 네트워크(806)를 통해 또 다른 메시징 클라이언트 애플리케이션(804)과 및 메시징 서버 시스템(808)과 데이터를 전달 및 교환할 수 있다. 메시징 클라이언트 애플리케이션(804)들 사이에서 및 메시징 클라이언트 애플리케이션(804)과 메시징 서버 시스템(808) 사이에서 교환되는 데이터는, 기능(예를 들어, 기능을 기동시키는 명령) 뿐만 아니라, 페이로드 데이터(예를 들어, 텍스트, 오디오, 비디오 또는 기타의 멀티미디어 데이터)을 포함한다.
메시징 서버 시스템(808)은 네트워크(806)를 통해 서버측 기능을 특정한 메시징 클라이언트 애플리케이션(804)에 제공한다. 메시징 시스템(800)의 소정의 기능이 여기서는 메시징 클라이언트 애플리케이션(804) 또는 메시징 서버 시스템(808)에 의해 수행되는 것으로 설명되지만, 메시징 클라이언트 애플리케이션(804) 또는 메시징 서버 시스템(808) 내의 소정의 기능의 위치는 설계 선택사항이라는 것을 이해할 것이다. 예를 들어, 소정의 기술 및 기능을 메시징 서버 시스템(808) 내에 초기에 배치하는 것이 기술적으로 바람직할 수 있지만, 클라이언트 디바이스(802)가 충분한 처리 용량을 갖는 경우 나중에 이 기술 및 기능을 메시징 클라이언트 애플리케이션(804)으로 이전시키는 것이 바람직할 수 있다.
메시징 서버 시스템(808)은 메시징 클라이언트 애플리케이션(804)에 제공되는 다양한 서비스 및 동작을 지원한다. 이러한 동작은, 메시징 클라이언트 애플리케이션(804)에 데이터를 전송하고, 메시징 클라이언트 애플리케이션(804)으로부터 데이터를 수신하고, 메시징 클라이언트 애플리케이션(804)에 의해 생성된 데이터를 처리하는 것을 포함한다. 이 데이터에는, 예로서, 메시지 콘텐츠, 클라이언트 디바이스 정보, 위치 정보, 미디어 주석 및 오버레이, 메시지 콘텐츠 지속 조건, 소셜 네트워크 정보, 및 라이브 이벤트 정보를 포함할 수 있다. 메시징 시스템(800) 내에서의 데이터 교환은 메시징 클라이언트 애플리케이션(804)의 UI를 통해 이용가능한 기능들을 통해 기동되고 제어된다.
이제 구체적으로 메시징 서버 시스템(808)을 참조하면, 애플리케이션 프로그램 인터페이스(API) 서버(810)는 애플리케이션 서버(812)에 결합되어 프로그램방식의 인터페이스(programmatic interface)를 제공한다. 애플리케이션 서버(812)는, 애플리케이션 서버(812)에 의해 처리되는 메시지와 연관된 데이터가 저장되는 데이터베이스(820)로의 액세스를 용이하게 하는 데이터베이스 서버(818)에 통신가능하게 결합된다.
API 서버(810)를 구체적으로 설명하면, 이 서버는 클라이언트 디바이스(802)와 애플리케이션 서버(812) 사이에서 메시지 데이터(예를 들어, 명령 및 메시지 페이로드)를 수신 및 전송한다. 특히, API 서버(810)는, 애플리케이션 서버(812)의 기능을 기동시키기 위해 메시징 클라이언트 애플리케이션(804)에 의해 호출되거나 질의될 수 있는 한 세트의 인터페이스(예를 들어, 루틴 및 프로토콜)를 제공한다. API 서버(810)는, 계정 등록, 로그인 기능, 특정한 클라이언트 메시징 애플리케이션(804)으로부터 또 다른 클라이언트 메시징 애플리케이션(804')로의, 애플리케이션 서버(812)를 통한 메시지의 전송, 소정의 메시징 클라이언트 애플리케이션(804)으로부터 메시징 서버 애플리케이션(814)로의 미디어 파일(예를 들어, 이미지 또는 비디오)의 전송; 및 또 다른 메시징 클라이언트 애플리케이션(804)에 의한 가능한 액세스를 위해, 미디어 데이터의 콜렉션(예를 들어, 스토리)의 설정, 클라이언트 디바이스(802)의 사용자의 친구들의 목록의 검색, 그러한 콜렉션들의 검색, 메시지들 및 콘텐츠들의 검색, 소셜 그래프로의 친구의 추가 및 삭제, 소셜 그래프 내의 친구들의 위치, 및 (예를 들어, 메시징 클라이언트 애플리케이션(804)에 관련된) 애플리케이션 이벤트를 오픈하는 것 등을 포함한, 애플리케이션 서버(812)에 의해 지원되는 다양한 기능들을 노출시킨다.
애플리케이션 서버(812)는, 메시징 서버 애플리케이션(814), 이미지 처리 시스템(816) 및 소셜 네트워크 시스템(822)을 포함한, 다수의 애플리케이션 및 서브시스템을 호스팅한다. 메시징 서버 애플리케이션(814)은, 특히 메시징 클라이언트 애플리케이션(804)의 복수의 인스턴스로부터 수신된 메시지들에 포함된 콘텐츠(예를 들어, 텍스트 및 멀티미디어 콘텐츠) 집성 및 기타의 처리에 관련된, 다수의 메시지 처리 기술들 및 기능들을 구현한다. 더 상세히 설명되는 바와 같이, 복수의 소스로부터의 텍스트 및 미디어 콘텐츠는, 콘텐츠의 콜렉션들(예를 들어, 스토리 또는 갤러리라고 불림)로 집성될 수 있다. 그 다음, 이러한 콜렉션들은 메시징 서버 애플리케이션(814)에 의해 메시징 클라이언트 애플리케이션(804)에 이용가능하게 된다. 프로세서 및 메모리 집약적인 데이터의 기타의 처리는 또한, 이러한 처리를 위한 하드웨어 요건에 비추어, 메시징 서버 애플리케이션(814)에 의해 서버 측에서 수행될 수 있다.
애플리케이션 서버(812)는 또한, 통상적으로 메시징 서버 애플리케이션(814)에서 메시지의 페이로드 내에서 수신된 이미지 또는 비디오와 관련하여 다양한 이미지 처리 동작을 수행하는데 전용되는 이미지 처리 시스템(816)을 포함한다.
소셜 네트워크 시스템(822)은 다양한 소셜 네트워킹 기능 및 서비스를 지원하고, 이들 기능들 및 서비스들을 메시징 서버 애플리케이션(814)에 이용가능하게 한다. 이 목적을 위해, 소셜 네트워크 시스템(822)은 데이터베이스(820) 내에 엔티티 그래프(entity graph, 304)를 유지하고 액세스한다. 소셜 네트워크 시스템(822)에 의해 지원되는 기능 및 서비스의 예는, 특정한 사용자가 관계를 가지거나 "팔로우하는" 메시징 시스템(800)의 다른 사용자들의 식별, 및 다른 엔티티들의 식별 및 특정한 사용자의 관심사항을 포함한다.
애플리케이션 서버(812)는, 메시징 서버 애플리케이션(814)에 의해 처리되는 메시지와 연관된 데이터가 저장되는 데이터베이스(820)로의 액세스를 용이하게 하는 데이터베이스 서버(818)에 통신가능하게 결합된다.
도 9는 전술된 디바이스들 중 임의의 하나 이상에 설치될 수 있는 소프트웨어의 아키텍쳐(902)를 나타내는 블록도(900)이다. 예를 들어, 다양한 실시예에서, 클라이언트 디바이스(110, 120, 130) 및 서버 시스템(150)은 단기 그룹 채팅 및 관련 콘텐츠 통신을 가능하게 하기 위해 소프트웨어(902)의 요소들 중 일부 또는 전부를 이용하여 구현될 수 있다. 도 9는 소프트웨어 아키텍쳐의 비제한적 예일 뿐이고, 여기서 설명된 기능을 가능하게 하기 위해 많은 다른 아키텍쳐가 구현될 수 있다는 것을 이해할 것이다. 다양한 실시예에서, 소프트웨어(902)는, 프로세서(1110), 메모리(1130), 및 입력/출력(I/O) 컴포넌트(1150)를 포함하는 도 11의 머신(1100) 등의 하드웨어에 의해 구현된다. 이러한 예시적인 아키텍쳐에서, 소프트웨어(902)는 각각의 층이 특정한 기능을 제공할 수 있는 층들의 스택으로서 개념화될 수 있다. 예를 들어, 소프트웨어(902)는, 운영 체제(904), 라이브러리(906), 프레임워크(908), 및 애플리케이션(910) 등의 계층을 포함한다. 동작상, 애플리케이션(910)은, 일부 실시예에 따라, 소프트웨어 스택을 통해 API 호출(912)을 기동하고, API 호출(912)에 응답하여 메시지(914)를 수신한다.
다양한 구현에서, 운영 체제(904)는 하드웨어 자원을 관리하고 공통 서비스를 제공한다. 운영 체제(904)는 예를 들어, 커널(920), 서비스(922) 및 드라이버(924)를 포함한다. 커널(920)은 일부 실시예에 따라 하드웨어와 기타의 소프트웨어 계층들 사이의 추상화 계층(abstraction layer)으로서 작용한다. 예를 들어, 커널(920)은, 특히, 메모리 관리, 프로세서 관리(예를 들어, 스케쥴링), 컴포넌트 관리, 네트워킹, 및 보안 설정을 제공한다. 서비스(922)는 다른 소프트웨어 계층들에 대한 다른 공통 서비스를 제공할 수 있다. 일부 실시예에 따라, 드라이버(924)는 기저 하드웨어를 제어하거나 이와 인터페이싱하는 것을 책임진다. 예를 들어, 드라이버(924)는, 디스플레이 드라이버, 카메라 드라이버, BLUETOOTH® 또는 BLUETOOTH® Low Energy 드라이버, 플래시 메모리 드라이버, 직렬 통신 드라이버(예를 들어, 범용 직렬 버스(USB) 드라이버), WI-FI® 드라이버, 오디오 드라이버, 전력 관리 드라이버 등을 포함할 수 있다.
일부 실시예에서, 라이브러리(906)는 애플리케이션(910)에 의해 이용되는 하위-레벨 공통 인프라스트럭쳐를 제공한다. 라이브러리(906)는, 메모리 할당 기능, 문자열 조작 기능, 수학 기능 등의 기능을 제공할 수 있는 시스템 라이브러리(930)(예를 들어, C 표준 라이브러리)를 포함할 수 있다. 또한, 라이브러리(906)는, 미디어 라이브러리(예를 들어, Moving Picture Experts Group-4 (MPEG4), Advanced Video Coding (H.264 또는 AVC), Moving Picture Experts Group Layer-3 (MP3), Advanced Audio Coding (AAC), Adaptive Multi-Rate (AMR) 오디오 코덱, Joint Photographic Experts Group (JPEG 또는 JPG), 또는 Portable Network Graphics(PNG) 등의 다양한 미디어 포멧의 프리젠테이션 및 조작을 지원하는 라이브러리), 그래픽 라이브러리(예를 들어, 디스플레이 상에 그래픽 콘텐츠를 2차원(2D) 및 3차원(3D)으로 렌더링하는데 이용되는 OpenGL 프레임워크), 데이터베이스 라이브러리(예를 들어, 다양한 관계형 데이터베이스 기능을 제공하는 SQLite), 웹 라이브러리(예를 들어, 웹 브라우징 기능을 제공하는 WebKit) 등의 API 라이브러리(932)를 포함할 수 있다. 라이브러리(906)는 또한, 많은 다른 API를 애플리케이션(910)에 제공하는 광범위한 다른 라이브러리(934)를 포함할 수 있다.
프레임워크(908)는 일부 실시예에 따라 애플리케이션(910)에 의해 이용될 수 있는 상위-레벨 공통 인프라스트럭쳐를 제공한다. 예를 들어, 프레임워크(908)는, 다양한 그래픽 사용자 인터페이스(GUI) 기능, 상위-레벨 자원 관리, 상위-레벨 위치 서비스 등을 제공한다. 프레임워크(908)는 애플리케이션(910)에 의해 이용될 수 있는 광범위한 스펙트럼의 다른 API들을 제공할 있으며, 그 중 일부는 특정한 운영 체제(904) 또는 플랫폼 특유일 수 있다.
한 예시적인 실시예에서, 애플리케이션(910)은, 홈 애플리케이션(950), 연락처 애플리케이션(952), 브라우저 애플리케이션(954), 북 리더 애플리케이션(956), 위치 애플리케이션(958), 미디어 애플리케이션(960), 메시징 애플리케이션(962), 게임 애플리케이션(964), 및 제3자 애플리케이션(966) 등의 광범위한 애플리케이션을 포함한다. 일부 실시예에 따르면, 애플리케이션(910)은 프로그램에서 정의된 기능들을 실행하는 프로그램이다. 객체 지향형 프로그래밍 언어(Objective-C, Java 또는 C++) 또는 절차형 프로그래밍 언어(예를 들어, C 또는 어셈블리 언어) 등의 다양한 방식으로 구조화된 애플리케이션(910)들 하나 이상을 생성하기 위해 다양한 프로그래밍 언어가 이용될 수 있다. 특정한 예에서, 제3자 애플리케이션(966)(예를 들어, 특정한 플랫폼의 벤더 이외의 엔티티에 의해 ANDROID™ 또는 IOS™ 소프트웨어 개발 킷(SDK)을 이용하여 개발된 애플리케이션)은, IOS™, ANDROID™, WINDOWS® Phone 또는 다른 모바일 운영 체제 등의 모바일 운영 체제 상에서 실행되는 모바일 소프트웨어일 수 있다. 이 예에서, 제3자 애플리케이션(966)은 여기서 설명된 기능을 가능하게 하기 위해 운영 체제(904)에 의해 제공되는 API 호출(912)을 기동할 수 있다.
일부 실시예는 특히 채팅 애플리케이션(967)을 포함할 수 있다. 소정의 실시예에서, 이것은 서버 시스템(150) 등의 서버 시스템과의 통신을 관리하도록 동작하는 독립형 애플리케이션일 수 있다. 채팅 애플리케이션(967)은, 상이한 그룹 채팅 및 콘텐츠 통신들을 위한 셀을 프리젠팅하는 최상위 흐름 인터페이스 뿐만 아니라, 시스템 설정, 개별 그룹 채팅 메시지 흐름, 또는 도 2 내지 도 6에 프리젠팅된 예시적인 인터페이스 등의 기타 임의의 인터페이스 재료를 포함한, 복수의 사용자 인터페이스에 대한 구현을 포함할 수 있다. 채팅 애플리케이션(967)은 또한, 채팅 메시지 및 전술된 단기 통신을 위한 시스템 동작에 의해 정의된 다른 콘텐츠 메시지 정보의 자동 삭제를 관리할 수 있고, 여기서, 그룹 채팅의 텍스트 메시지는 모든 그룹 사용자에 의해 시청된 후에 자동적으로 삭제된다. 다른 실시예에서, 이 기능은, 소셜 미디어 애플리케이션(960) 또는 다른 이러한 애플리케이션 등의 또 다른 애플리케이션과 통합될 수 있다. 일부 실시예에서, 채팅 애플리케이션(967)은, 머신(1100)의 카메라 디바이스를 이용한 콘텐츠의 수집, I/O 컴포넌트(1150)를 통한 서버 시스템과의 통신, 및 콘텐츠 메시지의 통신의 일부로서 메시지의 수신 및 수신된 메시지의 메모리(1130) 내의 저장을 관리할 수 있다. 메시지 및 연관된 콘텐츠의 프리젠테이션은 머신(1100) 상에서 동작하는 상이한 프레임워크(908), 라이브러리(906) 요소들 또는 운영 체제(904) 요소들을 이용하여 채팅 애플리케이션(967)에 의해 관리될 수 있다.
도 10은, 일부 실시예에 따른, 모바일 운영 체제(예를 들어, IOS™, ANDROID™, WINDOWS® Phone 또는 기타의 모바일 운영 체제)을 실행하는 예시적인 모바일 디바이스(1000)를 나타낸다. 모바일 디바이스(1000)는 소정의 실시예에서 소프트웨어 아키텍쳐(902)를 구현할 수 있다.
한 실시예에서, 모바일 디바이스(1000)는 사용자로부터 촉각 데이터를 수신하도록 동작가능한 터치스크린을 포함하고, 도 10은, 그룹 채팅, 텍스트 메시지, 및 기타의 이러한 콘텐츠를 위해 이용될 수 있는 디스플레이 영역(1002)을 도시한다. 사용자는 모바일 디바이스(1000)를 물리적으로 터치할 수 있고, 터치에 응답하여, 모바일 디바이스(1000)는, 터치 위치, 터치 힘, 또는 제스쳐 동작 등의 촉각 데이터를 결정할 수 있다. 다양한 예시적인 실시예에서, 모바일 디바이스(1000)는 애플리케이션(910)을 론칭하거나 다른 경우에는 모바일 디바이스(1000)의 다양한 양태를 관리하도록 동작가능한 홈 스크린을 디스플레이한다. 일부 예시적인 실시예에서, 홈 스크린은, 배터리 수명, 접속성, 또는 기타의 하드웨어 상태 등의, 상태 정보를 제공한다. 사용자는 각각의 사용자 인터페이스 요소에 의해 점유된 영역을 터치함으로써 사용자 인터페이스 요소를 활성화할 수 있다. 이러한 방식으로, 사용자는 모바일 디바이스(1000)의 애플리케이션(910)들과 상호작용한다. 예를 들어, 홈 스크린에 포함된 특정한 아이콘에 의해 점유된 영역을 터치하는 것은 그 특정한 아이콘에 대응하는 애플리케이션(910)의 론칭을 야기한다.
소정의 실시예에서, 콘텐츠는, 클라이언트 디바이스(110, 120)로서 동작하는 모바일 디바이스(1000)의 터치스크린 내에 프리젠팅될 수 있고, 터치 입력은 그룹 채팅의 일부로서 서버 시스템(150)과의 통신을 개시하는데 이용될 수 있다.
네이티브 애플리케이션(예를 들어, Objective-C, Swift, 또는 IOS™ 상에서 실행중인 다른 적절한 언어로 프로그램된 애플리케이션, 또는 ANDROID™에서 실행되는 Java로 프로그램된 애플리케이션(910)), 모바일 웹 애플리케이션(예를 들어, HTML5(Hypertext Markup Language-5)로 작성된 애플리케이션(910)) 또는 하이브리드 애플리케이션(예를 들어, HTML5 세션을 론칭하는 네이티브 쉘 애플리케이션(910)) 등의, ("앱"이라고도 하는) 많은 다양한 애플리케이션(910)들이 모바일 디바이스(1000) 상에서 실행되고 있을 수 있다. 예를 들어, 모바일 디바이스(1000)는, 메시징 앱, 오디오 녹음 앱, 카메라 앱, 북 리더 앱, 미디어 앱, 피트니스 앱, 파일 관리 앱, 위치 앱, 브라우저 앱, 설정 앱, 연락처 앱, 전화 통화 앱, 또는 기타의 앱(예를 들어, 게임 앱, 소셜 네트워킹 앱, 바이오메트릭 모니터링 앱)을 포함한다. 또 다른 예에서, 모바일 디바이스(1000)는, 일부 실시예에 따라, 사용자가 공개 콘텐츠를 서버 시스템(550)에 전송하고 서버 시스템(550)으로부터 메시지를 수신하는 것을 허용하는, SNAPCHAT® 등의 소셜 메시징 애플리케이션을 포함한다. 이러한 SNAPCHAT 애플리케이션(910)은 추가적으로 여기서 설명된 그룹 채팅 메시지 외에도 다양한 단기 이미지 및/또는 비디오 콘텐츠 메시지의 교환을 가능하게 할 수 있다.
도 11은, 머신-판독가능한 매체(예를 들어, 머신-판독가능한 저장 매체)로부터 명령어들을 판독하여 여기서 논의된 방법론들 중 임의의 하나 이상을 수행할 수 있는, 일부 실시예에 따른 머신(1100)의 컴포넌트들을 나타내는 블록도이다. 구체적으로는, 도 11은 예시적인 형태의 컴퓨터 시스템으로 된 머신(1100)의 개략도를 도시하며, 머신 내부에서, 머신(1100)으로 하여금 여기서 논의된 방법론들 중 임의의 하나 이상을 수행하게 하는 명령어(1116)(예를 들어, 소프트웨어, 프로그램, 애플리케이션(910), 애플릿, 앱 또는 기타의 실행가능한 코드)가 실행될 수 있다. 대안적인 실시예에서, 머신(1100)은 독립형 디바이스로서 동작하거나 다른 머신에 결합(예를 들어, 네트워킹)될 수 있다. 네트워킹된 배치에서, 머신(1100)은 서버-클라이언트 네트워크 환경에서 서버 머신(550) 또는 클라이언트 디바이스(110, 120)의 용량에서 동작하거나, 피어-투-피어(또는 분산형) 네트워크 환경에서 피어 머신으로서 동작할 수 있다. 머신(1100)은, 서버 컴퓨터, 클라이언트 컴퓨터, 개인용 컴퓨터(PC), 태블릿 컴퓨터, 랩탑 컴퓨터, 넷북, 셋탑 박스(STB), PDA(personal digital assistant), 엔터테인먼트 미디어 시스템, 셀룰러 전화, 스마트 폰, 모바일 디바이스(1000), 착용형 디바이스(예를 들어, 스마트 시계), 스마트 홈 디바이스(예를 들어, 스마트 어플라이언스), 기타의 스마트 디바이스, 웹 어플라이언스, 네트워크 라우터, 네트워크 스위치, 네트워크 브릿지, 또는 머신(1100)에 의해 취해질 동작들을 명시하는 명령어(1116)들을 순차적으로 또는 기타의 방식으로 실행할 수 있는 임의의 머신을 포함할 수 있지만, 이것으로 제한되지 않는다. 또한, 단 하나의 머신(1100)이 예시되어 있지만, "머신"이라는 용어는 또한, 여기서 논의된 방법론들 중 임의의 하나 이상을 수행하기 위해 명령어(1116)들을 개별적으로 또는 공동으로 실행하는 머신들의 집합체(1100)를 포함하는 것으로 간주되어야 한다.
다양한 실시예에서, 머신(1100)은, 버스(1102)를 통해 서로 통신하도록 구성될 수 있는 프로세서(1110), 메모리(1130), 및 I/O 컴포넌트(1150)를 포함한다. 한 예시적인 실시예에서, 프로세서(1110)(예를 들어, 중앙 처리 유닛(CPU), RISC(Reduced Instruction Set Computing) 프로세서, CISC(Complex Instruction Set Computing) 프로세서, GPU(Graphics Processing Unit), 디지털 신호 프로세서(DSP; Digital Signal Processor), 주문형 집적 회로(ASIC; Application Specific Integrated Circuit), 무선 주파수 집적 회로(RFIC), 또 다른 프로세서, 또는 이들의 임의의 적절한 조합)는, 예를 들어, 명령어(1116)를 실행할 수 있는 프로세서(1112) 및 프로세서(1114)를 포함한다. "프로세서"라는 용어는, 명령어(1116)들을 동시에 실행할 수 있는 2개 이상의 독립된 프로세서(1112, 1114))("코어"라고도 함)를 포함할 수 있는 멀티-코어 프로세서(1110)를 포함하는 것을 의도한다. 도 11은 복수의 프로세서(1110)를 도시하지만, 머신(1100)은 단일 코어를 갖는 단일 프로세서(1110), 다중 코어를 갖는 단일 프로세서(1110)(예를 들어, 멀티 코어 프로세서(1110)), 단일 코어를 갖는 다중 프로세서(1112, 1114), 다중 코어를 갖는 다중 프로세서(1110, 1112), 또는 이들의 임의의 조합을 포함할 수 있다.
일부 실시예에 따르면, 메모리(1130)는, 버스(1102)를 통해 프로세서(1110)에 액세스될 수 있는, 메인 메모리(1132), 정적 메모리(1134), 및 저장 유닛(1136)을 포함한다. 저장 유닛(1136)은, 여기서 설명된 방법론들 또는 기능들 중 임의의 하나 이상을 구현하는 명령어(1116)들이 저장되는 머신-판독가능한 매체(1138)를 포함할 수 있다. 명령어(1116)들은 또한, 머신(1100)에 의한 그 실행 동안에, 완전히 또는 적어도 부분적으로, 메인 메모리(1132) 내에, 정적 메모리(1134) 내에, 프로세서(1110)들 중 적어도 하나 내에(예를 들어, 프로세서의 캐시 메모리 내에), 또는 이들의 임의의 적절한 조합 내에 존재할 수 있다. 따라서, 다양한 실시예들에서, 메인 메모리(1132), 정적 메모리(1134), 및 프로세서(1110)들은 머신-판독가능한 매체(1138)로서 간주된다.
여기서 사용될 때, "메모리"라는 용어는, 데이터를 일시적으로 또는 영구적으로 저장할 수 있는 머신-판독가능한 매체(1138)를 말하며, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 버퍼 메모리, 플래시 메모리, 및 캐시 메모리를 포함하지만 이것으로 제한되지 않는 것으로 간주된다. 머신-판독가능한 매체(1138)가 예시적인 실시예에서 단일 매체인 것으로 도시되어 있지만, "머신-판독가능한 매체"라는 용어는 명령어(1116)를 저장할 수 있는 단일 매체 또는 복수의 매체(예를 들어, 중앙집중형 또는 분산형 데이터베이스, 또는 연관된 캐시 및 서버)를 포함하는 것으로 간주되어야 한다. "머신-판독가능한 매체"라는 용어는 또한, 명령어(1116)들이, 머신(1100)의 하나 이상의 프로세서들(예를 들어, 프로세서들(1110))에 의해 실행될 때, 머신(1100)으로 하여금 여기서 설명된 방법론들 중 임의의 하나 이상을 수행하게 하도록, 머신(예를 들어, 머신(1100))에 의한 실행을 위한 명령어(예를 들어, 명령어(1116))를 저장할 수 있는 임의의 매체 또는 복수의 매체들의 조합을 포함하는 것으로 간주되어야 한다. 따라서, "머신-판독가능한 매체"란, 단일 저장 장치 또는 디바이스뿐만 아니라, 복수의 저장 장치 또는 디바이스를 포함하는 "클라우드-기반" 저장 시스템 또는 저장 네트워크를 말한다. "머신-판독가능한 매체"라는 용어는, 그에 따라, 솔리드-스테이트 메모리(예를 들어, 플래시 메모리), 광학 매체, 자기 매체, 기타의 비휘발성 메모리(예를 들어, 소거가능하고 프로그램가능한 판독 전용 메모리(EPROM)), 또는 이들의 임의의 적절한 조합의 형태로 된 하나 이상의 데이터 저장소를 포함하지만 이것으로 제한되지 않는 것으로 간주되어야 한다. "머신-판독가능한 매체"라는 용어는 구체적으로 비법령 신호(non-statutory signal) 그 자체를 제외한다.
I/O 컴포넌트(1150)는, 입력을 수신하고, 출력을 제공하며, 출력을 생성하고, 정보를 전송하고, 정보를 교환하며, 측정값을 포착하는 등을 수행하는 다양한 컴포넌트를 포함한다. 일반적으로, I/O 컴포넌트(1150)는 도 11에 도시되지 않은 많은 다른 컴포넌트를 포함할 수 있다는 것을 이해할 것이다. I/O 컴포넌트(1150)들은 단지 이하의 논의를 간소화하기 위해 기능성에 따라 그룹화되어 있고, 이러한 그룹화는 어떠한 방식으로든 제한하는 것이 아니다. 다양한 예시적인 실시예에서, I/O 컴포넌트(1150)는 출력 컴포넌트(1152) 및 입력 컴포넌트(1154)를 포함한다. 출력 컴포넌트(1152)들은, 시각적 컴포넌트(예를 들어, 플라즈마 디스플레이 패널(PDP), 발광 다이오드(LED) 디스플레이, 액정 디스플레이(LCD), 프로젝터, 또는 CRT(cathode ray tube) 등의 디스플레이), 음향 컴포넌트(예를 들어, 스피커), 햅틱 컴포넌트(예를 들어, 진동 모터), 기타 신호 생성기 등을 포함한다. 입력 컴포넌트(1154)들은, 영숫자 입력 컴포넌트(예를 들어, 키보드, 영숫자 입력을 수신하도록 구성된 터치 스크린, 사진-광학 키보드, 또는 기타의 영숫자 입력 컴포넌트), 포인트 기반 입력 컴포넌트(예를 들어, 마우스, 터치패드, 트랙볼, 조이스틱, 움직임 센서 또는 다른 포인팅 도구), 촉각 입력 컴포넌트(예를 들어, 물리적 버턴, 터치 또는 터치 제스쳐의 위치 및 힘을 제공하는 터치 스크린, 또는 기타의 촉각 입력 컴포넌트), 오디오 입력 컴포넌트(예를 들어, 마이크로폰) 등을 포함한다.
일부 추가의 예시적인 실시예들에서, I/O 컴포넌트(1150)들은, 특히, 바이오메트릭 컴포넌트(1156), 움직임 컴포넌트(1158), 환경 컴포넌트(1160), 또는 위치 컴포넌트(1162)를 포함한다. 예를 들어, 바이오메트릭 컴포넌트(1156)는, 표현(예를 들어, 손 표현, 얼굴 표정, 음성 표현, 몸짓, 또는 눈 추적)을 검출하고, 생체신호(예를 들어, 혈압, 심박수, 체온, 땀 또는 뇌파)를 측정하고, 사람을 식별(예를 들어, 음성 식별, 망막 식별, 얼굴 식별, 지문 식별, 또는 뇌파계 기반 식별)하는 컴포넌트들을 포함한다. 움직임 컴포넌트(1158)는, 가속도 센서 컴포넌트(예를 들어, 가속도계), 중력 센서 컴포넌트, 회전 센서 컴포넌트(예를 들어, 자이로스코프) 등을 포함한다. 환경 컴포넌트(1160)는, 예를 들어, 조명 센서 컴포넌트(예를 들어, 광도계), 온도 센서 컴포넌트(예를 들어, 주변 온도를 검출하는 하나 이상의 온도계), 습도 센서 컴포넌트, 압력 센서 컴포넌트(예를 들어, 기압계), 음향 센서 컴포넌트(예를 들어, 배경 잡음을 검출하는 하나 이상의 마이크로폰), 근접 센서 컴포넌트(예를 들어, 근처의 물체를 검출하는 적외선 센서), 개스 센서 컴포넌트(예를 들어, 머신 후각 검출 센서, 안전을 위해 위험한 개스의 농도를 검출하거나 대기 중의 오염 물질을 측정하는 개스 검출 센서), 또는 주변의 물리적 환경에 대응하는 표시, 측정치, 또는 신호를 제공할 수 있는 기타의 컴포넌트들을 포함한다. 위치 컴포넌트(1162)는, 위치 센서 컴포넌트(예를 들어, GPS 수신기 컴포넌트), 고도 센서 컴포넌트(고도가 도출될 수 있는 기압을 검출하는 고도계 또는 기압계), 배향 센서 컴포넌트(예를 들어, 자력계) 등을 포함한다.
통신은 다양한 기술을 이용하여 구현될 수 있다. I/O 컴포넌트(1150)는, 머신(1100)을 각각 결합(1182) 및 결합(1172)을 통해 네트워크(1180) 또는 디바이스(1170)에 결합하도록 동작가능한 통신 컴포넌트(1164)를 포함할 수 있다. 예를 들어, 통신 컴포넌트(1164)는 네트워크 인터페이스 컴포넌트 또는 네트워크(1180)와 인터페이스하기에 적합한 또 다른 디바이스를 포함한다. 추가 예에서, 통신 컴포넌트(1164)는, 유선 통신 컴포넌트, 무선 통신 컴포넌트, 셀룰러 통신 컴포넌트, 근접장 통신(NFC) 컴포넌트, BLUETOOTH® 컴포넌트(예를 들어, BLUETOOTH® Low Energy), WI-FI® 컴포넌트, 및 다른 양태를 통해 통신을 제공하는 기타의 통신 컴포넌트를 포함한다. 디바이스(1170)는, 또 다른 머신(1100) 또는 임의의 다양한 주변 디바이스(예를 들어, USB를 통해 결합된 주변 디바이스)일 수 있다.
게다가, 일부 실시예에서, 통신 컴포넌트(1164)는 식별자를 검출하거나 식별자를 검출하도록 동작가능한 컴포넌트를 포함한다. 예를 들어, 통신 컴포넌트(1164)는, 무선 주파수 식별(RFID) 태그 판독기 컴포넌트, NFC 스마트 태그 검출 컴포넌트, 광학 판독기 컴포넌트(예를 들어, 범용 제품 코드(UPC) 바코드 등의 일차원 바코드, Quick Response (QR) 코드, Aztec 코드, Data Matrix, Dataglyph, MaxiCode, PDF417, Ultra 코드, UCC RSS(Uniform Commercial Code Reduced Space Symbology)-2D 바 코드, 및 기타의 광학 코드 등의 다차원 바코드를 검출하는 광학 센서), 음향 검출 컴포넌트(예를 들어, 태깅된 오디오 신호를 식별하는 마이크로폰), 또는 이들의 임의의 적절한 조합을 포함한다. 또한, 인터넷 프로토콜(IP) 지오-로케이션을 통한 위치, WI-FI® 신호 삼각측량을 통한 위치, 특정한 위치를 나타낼 수 있는 BLUETOOTH® 또는 NFC 비컨 신호 검출을 통한 위치 등의 다양한 정보가 통신 컴포넌트(1164)를 통해 도출될 수 있다.
전송 매체
다양한 예시적인 실시예에서, 네트워크(1180)의 하나 이상의 부분은, 애드혹 네트워크, 인트라넷, 엑스트라넷, 가상 사설망(VPN), 근거리 통신망(LAN), 무선 LAN(WLAN)(WAN), 광역 네트워크(WAN), 무선 WAN(WWAN), 도시권 통신망(MAN; Metropolitan Area Network), 인터넷, 인터넷의 일부, PSTN(Public Switched Telephone Network)의 일부, POTS(plain old telephone service) 네트워크, 셀룰러 전화 네트워크, 무선 네트워크, WI-FI® 네트워크, 또 다른 타입의 네트워크, 또는 2개 이상의 이러한 네트워크들의 조합일 수 있다. 예를 들어, 네트워크(1180) 또는 네트워크(1180)의 일부는 무선 또는 셀룰러 네트워크를 포함할 수 있고, 결합(1182)은 CDMA(Code Division Multiple Access) 접속, GSM(Global System for Mobile communications) 접속, 또는 다른 타입의 셀룰러 또는 무선 결합을 포함할 수 있다. 이 예에서, 결합(1182)은, 1xRTT(Single Carrier Radio Transmission Technology), EVDO(Evolution-Data Optimized) 기술, GPRS(General Packet Radio Service) 기술, EDGE(Enhanced Data rates for GSM Evolution) 기술, 3G, 4G(fourth generation wireless) 네트워크, UMTS(Universal Mobile Telecommunications System), HSPA(High Speed Packet Access), WiMAX(Worldwide Interoperability for Microwave Access), LTE(Long Term Evolution) 표준, 다양한 표준-설정 기구에 의해 정의된 기타의 것들을 포함한 3GPP(third Generation Partnership Project), 기타의 장거리 프로토콜, 또는 기타의 데이터 전송 기술 등의, 다양한 타입의 데이터 전송 기술들 중 임의의 것을 구현할 수 있다.
예시적인 실시예에서, 명령어(1116)들은, 네트워크 인터페이스 디바이스(예를 들어, 통신 컴포넌트(1164)에 포함된 네트워크 인터페이스 컴포넌트)를 통해 전송 매체를 이용하여 및 다수의 널리 공지된 프로토콜들 중 임의의 하나(예를 들어, 하이퍼텍스트 전송 프로토콜(HTTP))를 이용하여 네트워크(1180)를 통해 전송되거나 수신된다. 유사하게, 다른 예시적인 실시예에서, 명령어(1116)들은 디바이스(1170)에 대한 결합(1172)(예를 들어, 피어-투-피어 결합)을 통해 전송 매체를 이용하여 전송되거나 수신된다. "전송 매체"라는 용어는, 머신(1100)에 의한 실행을 위한 명령어(1116)를 저장, 인코딩 또는 운반할 수 있고, 이러한 소프트웨어의 전달을 가능케하는 디지털 또는 아날로그 통신 신호 또는 기타의 무형 매체를 포함하는 임의의 무형의 매체를 포함하는 것으로 간주된다.
또한, 머신-판독가능한 매체(1138)는, 전파 신호(propagating signal)를 구현하지 않는다는 점에서 비일시적이다(즉, 임의의 일시적 신호를 갖지 않는다).
그러나, 머신-판독가능한 매체(1138)를 "비일시적"으로 라벨링하는 것은, 매체가 이동 불가능하다는 것을 의미하는 것으로 해석되어서는 안 된다; 매체(1138)는 한 물리적 위치에서 또 다른 위치로 이동될 수 있는 것으로 간주되어야 한다. 추가로, 머신-판독가능한 매체(1138)는 유형이므로, 매체(1138)는 머신-판독가능한 디바이스로 간주될 수 있다.
본 문맥에서 "클라이언트 디바이스"란, 하나 이상의 서버 시스템 또는 다른 클라이언트 디바이스로부터 자원을 획득하기 위해 통신 네트워크와 인터페이스하는 임의의 머신을 말한다. 클라이언트 디바이스는, 모바일 전화, 데스크탑 컴퓨터, 랩탑, PDA, 스마트폰, 태블릿, 울트라 북, 넷북, 랩탑, 멀티-프로세서 시스템, 마이크로프로세서-기반 또는 프로그래밍가능한 가전 제품, 게임 콘솔, 셋탑 박스 또는 사용자가 네트워크에 액세스하기 위해 이용할 수 있는 기타 임의의 통신 디바이스일 수 있지만, 이것으로 제한되지 않는다.
본 문맥에서 "통신 네트워크"란, 애드혹 네트워크, 인트라넷, 엑스트라넷, VPN, LAN, WLAN, WAN, WWAN, MAN, 인터넷, 인터넷의 일부, PSTN(Public Switched Telephone Network), POTS(plain old telephone service) 네트워크, 셀룰러 전화 네트워크, 무선 네트워크, Wi-Fi® 네트워크, 또는 2개 이상의 이러한 네트워크들의 조합일 수 있는 네트워크의 하나 이상의 부분을 말한다. 예를 들어, 네트워크 또는 네트워크의 일부는 무선 또는 셀룰러 네트워크를 포함할 수 있고, 결합은 CDMA 접속, GSM 접속, 또는 다른 유형의 셀룰러 또는 무선 결합을 포함할 수 있다. 이 예에서, 결합은, 1xRTT, EVDO 기술, GPRS 기술, EDGE 기술, 3G를 포함한 3GPP, 4G 네트워크, UMTS, HSPA, WiMAX, LTE 표준, 및 다양한 표준 설정 기구에 의해 정의된 기타의 것, 기타의 장거리 프로토콜, 또는 기타의 데이터 전송 기술 등의, 다양한 타입의 데이터 전송 기술들 중 임의의 것을 구현할 수 있다.
본 문맥에서 "단기 메시지"란 시간-제한된 기간 동안 액세스가능한 메시지를 말한다. 단기 메시지는, 텍스트, 이미지, 비디오 등일 수 있다. 단기 메시지에 대한 액세스 시간은 메시지 발신자에 의해 설정될 수 있다. 대안으로서, 액세스 시간은 디폴트 설정 또는 수신자에 의해 명시된 설정일 수 있다. 설정 기술에 관계없이, 메시지는 일시적이다.
"머신 판독가능한 매체"라는 용어는 명령어 및 데이터를 일시적으로 또는 영구적으로 저장할 수 있는 컴포넌트, 디바이스 또는 기타의 유형 매체를 말하며, RAM, ROM, 버퍼 메모리, 플래시 메모리, 광학 매체, 자기 매체, 캐시 메모리, 다른 타입의 저장장치(예를 들어, 소거가능하고 프로그램가능한 판독-전용 메모리(EEPROM)) 및/또는 이들의 임의의 적절한 조합을 말한다. "머신 판독가능한 매체"라는 용어는, 명령어를 저장할 수 있는 단일의 매체 또는 복수의 매체(예를 들어, 중앙집중형 또는 분산형 데이터베이스, 및/또는 연관된 캐시 및 서버)를 포함하는 것을 간주되어야 한다. "머신-판독가능한 매체"라는 용어는 또한, 명령어들이, 머신의 하나 이상의 프로세서에 의해 실행될 때, 머신으로 하여금 여기서 설명된 방법론들 중 임의의 하나 이상을 수행하게 하도록, 머신에 의한 실행을 위한 명령어(예를 들어, 코드)를 저장할 수 있는 임의의 매체 또는 복수의 매체들의 조합을 포함하는 것으로 간주되어야 한다. 따라서, "머신-판독가능한 매체"란, 복수의 저장 장치 또는 디바이스뿐만 아니라, 단일 저장 장치 또는 디바이스를 포함하는 "클라우드-기반" 저장 시스템 또는 저장 네트워크를 말한다. "머신 판독가능한 매체"라는 용어는 신호 그 자체를 배제하므로, 비일시적 매체를 말한다.
본 문맥에서 "컴포넌트"란, 함수 또는 서브루틴 호출, 분기점, API 또는 특정한 처리 또는 제어 기능의 분할 또는 모듈화를 제공하는 기타의 기술들에 의해 정의된 경계를 갖는 디바이스, 물리적 엔티티, 또는 로직을 말한다. 컴포넌트들은 그들의 인터페이스를 통해 다른 컴포넌트들과 결합되어 머신 프로세스를 실행할 수 있다. 컴포넌트는, 다른 컴포넌트 및 대개는 관련된 기능들 중 특정한 기능을 수행하는 프로그램의 일부와 함께 이용하도록 설계된 팩키징된 기능적 하드웨어 유닛일 수 있다. 컴포넌트는 소프트웨어 컴포넌트(예를 들어, 머신 판독가능한 매체 상에 구현된 코드) 또는 하드웨어 컴포넌트 중 어느 하나를 구성할 수 있다. "하드웨어 컴포넌트"는, 소정의 동작을 수행할 수 있는 유형 유닛(tangible unit)이며, 소정의 물리적 방식으로 구성되거나 배열될 수 있다. 다양한 예시적인 실시예에서, 하나 이상의 컴퓨터 시스템(예를 들어, 독립형 컴퓨터 시스템, 클라이언트 컴퓨터 시스템, 또는 서버 컴퓨터 시스템) 또는 컴퓨터 시스템의 하나 이상의 하드웨어 컴포넌트(예를 들어, 프로세서 또는 프로세서 그룹)는, 소프트웨어(예를 들어, 애플리케이션 또는 애플리케이션 부분)에 의해 여기서 설명된 소정의 동작을 수행하도록 동작하는 하드웨어 컴포넌트로서 구성될 수 있다. 하드웨어 컴포넌트는 또한, 기계적으로, 전자적으로, 또는 이들의 임의의 적절한 조합으로 구현될 수 있다. 예를 들어, 하드웨어 컴포넌트는 소정의 동작을 수행하도록 영구적으로 구성된 전용 회로 또는 로직을 포함할 수 있다. 하드웨어 컴포넌트는, FPGA(Field-Programmable Gate Array) 또는 ASIC(Application Specific Integrated Circuit) 등의 특별-목적 프로세서일 수 있다. 하드웨어 컴포넌트는 또한, 소정의 동작을 수행하도록 소프트웨어에 의해 일시적으로 구성된 프로그램가능한 로직 또는 회로를 포함할 수 있다. 예를 들어, 하드웨어 컴포넌트는, 범용 프로세서 또는 다른 프로그램가능한 프로세서에 의해 실행가능한 소프트웨어를 포함할 수 있다. 일단 이러한 소프트웨어에 의해 일단 구성되고 나면, 하드웨어 컴포넌트는 구성된 기능을 수행하도록 고유하게 맞춤화된 특정한 머신(또는 머신의 특정한 컴포넌트)가 되고 더 이상 범용 프로세서가 아니다. 기계적으로, 전용 및 영구적으로 구성된 회로로, 또는 일시적으로 구성된 회로(예를 들어, 소프트웨어에 의해 구성됨)로 하드웨어 컴포넌트를 구현하려는 결정은, 비용 및 시간 고려에 의해 결정될 수 있다는 것을 이해할 것이다. 따라서, "하드웨어 컴포넌트"(또는 "하드웨어-구현된 컴포넌트")이라는 구문은, 유형 엔티티, 즉, 소정 방식으로 동작하거나 여기서 설명된 소정 동작을 수행하도록 물리적으로 구성되거나, 영구적으로 구성되거나(예를 들어, 하드 와이어드) 또는 일시적으로 구성된(예를 들어, 프로그램된) 엔티티를 포괄하는 것으로 이해되어야 한다. 하드웨어 컴포넌트들이 일시적으로 구성되는(예를 들어, 프로그램되는) 실시예들을 고려할 때, 하드웨어 컴포넌트들 각각은 임의의 한 시점에서 구성되거나 인스턴스화될 필요는 없다. 예를 들어, 하드웨어 컴포넌트가 소프트웨어에 의해 특별-목적 프로세서가 되도록 구성된 범용 프로세서를 포함하는 경우, 범용 프로세서는 상이한 시간들에서 (예를 들어, 상이한 하드웨어 모듈들을 포함하는) 각각 상이한 특별-목적 프로세서들로서 구성될 수 있다. 소프트웨어는, 그에 따라 특정한 프로세서 또는 프로세서들을 구성하여, 예를 들어 소정의 한 시점에서 특정한 하드웨어 컴포넌트를 구성하고 상이한 시점에서 상이한 하드웨어 컴포넌트를 구성할 수 있다. 하드웨어 컴포넌트는 다른 하드웨어 컴포넌트에 정보를 제공하고 이로부터 정보를 수신할 수 있다. 따라서, 설명된 하드웨어 컴포넌트들은 통신가능하게 결합된 것으로 간주될 수 있다. 복수의 하드웨어 컴포넌트가 동시에 존재하는 경우, 통신은 2개 이상의 하드웨어 컴포넌트들 사이에서 (예를 들어, 적절한 회로 및 버스를 통한) 신호 전송을 통해 달성될 수 있다. 복수의 하드웨어 컴포넌트들이 상이한 시간들에서 구성되거나 인스턴스화되는 실시예에서, 이러한 하드웨어 컴포넌트들 사이의 통신은, 예를 들어, 복수의 하드웨어 컴포넌트들이 액세스하는 메모리 구조 내의 정보의 저장 및 검색을 통해 달성될 수 있다. 예를 들어, 하나의 하드웨어 컴포넌트는 소정의 동작을 수행하고 그 동작의 출력을 자신에게 통신가능하게 결합된 메모리 디바이스에 저장할 수 있다. 그 다음, 다른 하드웨어 컴포넌트는, 나중에, 메모리 디바이스에 액세스하여 저장된 출력을 회수 및 처리할 수 있다. 하드웨어 컴포넌트는 또한, 입력 또는 출력 디바이스와의 통신을 개시할 수 있고, 자원(예를 들어, 정보 모음)에 관해 동작할 수 있다. 여기서 설명된 예시적인 방법들의 다양한 동작들은, 적어도 부분적으로, 관련 동작들을 수행하도록 (예를 들어, 소프트웨어에 의해) 일시적으로 구성되거나 영구적으로 구성된 하나 이상의 프로세서에 의해 수행될 수 있다. 일시적으로 또는 영구적으로 구성되어 있는지에 관계없이, 이러한 프로세서들은 여기서 설명된 하나 이상의 동작 또는 기능을 수행하도록 동작하는 프로세서-구현된 컴포넌트들을 구성할 수 있다. 여기서 사용될 때, "프로세서-구현된 컴포넌트"란 하나 이상의 프로세서를 이용하여 구현된 하드웨어 컴포넌트를 말한다. 유사하게, 여기서 설명된 방법들은, 하드웨어의 한 예인 특정한 프로세서 또는 프로세서들로, 적어도 부분적으로 프로세서-구현될 수 있다. 예를 들어, 방법의 동작들 중 적어도 일부는, 하나 이상의 프로세서 또는 프로세서-구현된 컴포넌트에 의해 수행될 수 있다. 게다가, 하나 이상의 프로세서는 또한, "클라우드 컴퓨팅" 환경에서 관련 동작의 수행을 지원하도록 또는 "서비스로서의 소프트웨어"(SaaS; software as a service)로서 동작할 수 있다. 예를 들어, 동작들 중 적어도 일부는, (프로세서들을 포함하는 머신의 예로서의) 컴퓨터들의 그룹에 의해 수행될 수 있고, 이들 동작들은 네트워크(예를 들어, 인터넷)를 통해 및 하나 이상의 적절한 인터페이스(예를 들어, API)를 통해 액세스가능하다. 소정 동작들의 수행은, 단일 머신 내에 존재할 뿐만 아니라 다수의 머신들에 걸쳐 배치된, 프로세서들 사이에서 분산될 수 있다. 일부 예시적인 실시예에서, 프로세서 또는 프로세서-구현된 컴포넌트들은 단일의 지리적 위치에(예를 들어, 가정 환경, 사무실 환경, 또는 서버 팜 내에) 위치할 수 있다. 다른 예시적인 실시예에서, 프로세서 또는 프로세서-구현된 컴포넌트들은 다수의 지리적 위치에 걸쳐 분산될 수 있다.
본 문맥에서 "프로세서"란, 제어 신호(예를 들어, "명령", "연산 코드", "명령 코드" 등)에 따라 데이터 값을 조작하고, 머신을 작동시키기 위해 인가되는 대응하는 출력 신호를 생성하는 임의의 회로 또는 가상 회로(실제 프로세서에서 실행되는 로직에 의해 에뮬레이트된 물리적 회로)를 말한다. 프로세서는, 예를 들어, 중앙 처리 유닛(CPU), RISC(Reduced Instruction Set Computing) 프로세서, CISC(Complex Instruction Set Computing) 프로세서, GPU(Graphics Processing Unit), DSP(Digital Signal Processor), ASIC, 무선 주파수 집적 회로(RFIC), 또는 이들의 임의의 조합일 수 있다. 프로세서는 또한, 명령어들을 동시에 실행할 수 있는 2개 이상의 독립 프로세서(때때로 "코어"라고도 함)를 갖는 멀티-코어 프로세서일 수 있다.
본 문맥에서 "타임스탬프"란, 소정의 이벤트가 언제 발생했는지를 식별하는 (예를 들어, 때때로 1초의 소수까지 정확한, 날짜 및 시간을 제공하는) 문자 또는 인코딩된 정보의 시퀀스를 말한다. 일부 실시예에서, 타임스탬프는, 메시지가 생성되거나 전송된 이후의 시간 길이를 결정하기 위한, 및 단기 메시지의 삭제(예를 들어, 통신 시스템 또는 통신 시스템 내의 클라이언트 디바이스로부터의 단기 메시지로부터의 콘텐츠의 삭제)에 이용되는, 삭제 기준 또는 삭제 트리거의 일부로서 이용될 수 있다.
"삭제 트리거" 및 "삭제 기준"이란, 디바이스 또는 시스템의 양태에 의해 식별될 때, 단기 콘텐츠(예를 들어, 텍스트, 이미지, 비디오, 메타데이터 등)의 삭제를 개시하는 규칙 또는 상태를 말한다. 일부 실시예에서, 단기 메시지(예를 들어, 채팅 메시지)로부터 단기 콘텐츠의 삭제는 복수의 상이한 디바이스에서 발생하는 복수의 기준들 또는 기준과 연관된다.
유사하게, 일부 실시예에서, 단기 콘텐츠는 복수의 독립적인 삭제 트리거 또는 기준과 연관되되, 삭제와 연관된 상태가 임의의 가능한 독립적인 기초에 대해 발생한다는 결정이, 삭제와 연관된 또 다른 상태가 충족되지 않았더라도, 단기 콘텐츠를 삭제하는데 이용될 수 있게 한다. 일부 실시예에서, 상이한 단기 콘텐츠는 상이한 세트들의 삭제 트리거(예를 들어, 삭제 기준)와 연관될 수 있다. 예를 들어, 제1 단기 메시지는 삭제 트리거 A와 연관될 수 있고, 제2 단기 메시지는 삭제 트리거 A와는 상이한 삭제 트리거 B와 연관될 수 있고, 제3 단기 메시지는 삭제 트리거(A 및 B)와 연관될 수 있고, 제4 단기 메시지는 A 또는 B가 삭제를 트리거하도록 2개의 삭제 트리거와 연관될 수 있다.
본 특허 문서의 공개의 일부는 저작권 보호 대상이 되는 자료를 포함한다. 저작권 소유자는, 본 특허 문서 또는 특허 공개의 누군가에 의한 팩시밀리 복사가 특허 및 상표청 파일이나 기록에 나타나는 때에는 반대하지 않지만, 그 외의 경우에는 모든 저작권을 보유한다. 다음과 같은 공지는 본 문서의 일부분을 형성하는 이하에서 설명되고 도면에 도시된 소프트웨어 및 데이터에 적용된다: Copyright 2016, SNAPCHAT, INC., All Rights Reserved.
이하의 설명은 본 개시내용의 예시적인 실시예들을 구현하는 시스템, 방법, 기술, 명령어 시퀀스 및 컴퓨팅 머신 프로그램 제품을 포함한다. 이하의 설명에서, 설명의 목적을 위해, 많은 구체적인 상세사항이 본 발명의 주제의 다양한 실시예에 대한 이해를 제공하기 위해 개시된다. 그러나, 본 기술분야의 통상의 기술자에게는, 본 발명의 주제의 실시예들은 이러한 구체적인 상세사항없이도 실시될 수 있다는 것이 명백할 것이다. 일반적으로, 널리 공지된 명령어 인스턴스, 프로토콜, 구조 및 기술은 반드시 상세하게 도시되지는 않는다.
본 명세서 전체를 통해, 복수의 인스턴스는, 단일 인스턴스로서 설명된 컴포넌트, 동작 또는 구조를 구현할 수 있다. 하나 이상의 방법의 개개의 동작들이 별개의 동작들로서 예시되고 설명되지만, 개개의 동작들 중 하나 이상은 동시에 수행될 수 있고, 동작들이 예시된 순서로 수행될 필요는 없다. 예시적인 구성에서 별개의 컴포넌트들로서 제시된 구조 및 기능은 결합된 구조 또는 컴포넌트로서 구현될 수 있다. 유사하게, 단일 컴포넌트로서 제시된 구조 및 기능은 별개의 컴포넌트들로서 구현될 수 있다. 이들 및 다른 변형, 수정, 추가 및 개선은 본 명세서의 주제의 범위 내에 있다.
본 명세서에서 사용될 때, 용어 "또는"은 포함적 또는 배타적 의미로 해석될 수 있다. 게다가, 본 명세서에서 단일 인스턴스로서 설명된 자원, 동작, 또는 구조에 대해 복수의 인스턴스가 제공될 수 있다. 추가로, 다양한 자원, 동작, 모듈, 엔진 및 데이터 저장소 사이의 경계는 다소 임의적이며, 특정한 동작은 특정한 예시적인 구성의 문맥에서 예시된다. 기능의 다른 할당들을 구상해 볼 수 있고 본 개시내용의 다양한 실시예의 범위 내에 있을 수 있다. 일반적으로, 예시적인 구성에서 별개의 자원으로서 제시된 구조 및 기능은 결합된 구조 또는 자원으로서 구현될 수 있다. 유사하게, 단일 자원으로서 제시된 구조 및 기능은 별개의 자원으로서 구현될 수 있다. 이들 및 다른 변형, 수정, 추가 및 개선은 첨부된 청구항들로 표현되는 본 개시내용의 실시예들의 범위 내에 있다. 따라서, 본 명세서 및 도면은 제한적 의미라기보다는 예시적인 의미로 간주되어야 한다.

Claims (20)

  1. 방법으로서,
    제1 사용자 계정과 연관된 제1 클라이언트 디바이스로, 복수의 다른 사용자 계정들에 관한 존재 정보를 전송하는 단계 - 상기 존재 정보는 상기 복수의 다른 사용자 계정들이 복수의 다른 사용자 디바이스들 상에서 실행되는 채팅 애플리케이션 내에 존재하는지를 표시함 -;
    상기 제1 사용자 계정과 연관된 상기 제1 클라이언트 디바이스로부터, 상기 복수의 다른 사용자 계정들 중 2개 이상의 사용자 계정들의 표시, 및 단기 메시지를 수신하는 단계;
    소셜 네트워크 통신 시스템의 서버 컴퓨터에서, 단기 그룹 채팅의 일부로서 상기 제1 사용자 계정과 상기 2개 이상의 사용자 계정들 사이의 연관을 생성하는 단계 - 상기 단기 그룹 채팅은 트리거 조건을 표시하는 삭제 트리거와 연관됨 -;
    상기 단기 메시지를 상기 서버 컴퓨터로부터 상기 단기 그룹 채팅의 상기 2개 이상의 사용자 계정들과 연관된 클라이언트 디바이스들에 전송하는 단계 - 상기 클라이언트 디바이스들은 제2 사용자 계정과 연관된 제2 클라이언트 디바이스 및 제3 사용자 계정과 연관된 제3 클라이언트 디바이스를 포함함 -;
    상기 제2 클라이언트 디바이스로부터, 제1 삭제 트리거 정보를 포함하는 제1 채팅 모니터링 정보를 수신하는 단계;
    상기 제3 클라이언트 디바이스로부터, 제2 삭제 트리거 정보를 포함하는 제2 채팅 모니터링 정보를 수신하는 단계; 및
    상기 제1 삭제 트리거 정보 및 상기 제2 삭제 트리거 정보가 상기 트리거 조건을 충족시키는 것에 응답하여, 삭제 커맨드를 상기 제2 클라이언트 디바이스 및 상기 제3 클라이언트 디바이스에 전송하는 단계를 포함하는 방법.
  2. 제1항에 있어서, 상기 서버 컴퓨터로부터의 상기 단기 메시지의 전송 이후 임계 시간이 경과하는 것에 응답하여, 삭제 커맨드를 상기 제2 클라이언트 디바이스 및 상기 제3 클라이언트 디바이스에 전송하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서, 상기 존재 정보는 상기 사용자 계정들이 상기 채팅 애플리케이션과 상호작용한 이후의 기간을 표시하는 방법.
  4. 제1항에 있어서, 상기 존재 정보는 상기 사용자 계정들이 상기 복수의 다른 사용자 디바이스들의 대응하는 사용자 디바이스들과 상호작용한 이후의 기간을 표시하는 방법.
  5. 제1항에 있어서,
    상기 제2 클라이언트 디바이스 상에서 실행되는 상기 채팅 애플리케이션으로부터, 스크린 캡처가 상기 제2 클라이언트 디바이스에 의해 취해졌다는 제1 표시를 수신하는 단계; 및
    상기 서버 컴퓨터로부터 상기 제1 클라이언트 디바이스로, 스크린 캡처가 상기 제2 클라이언트 디바이스에 의해 취해졌다는 제2 표시를 전송하는 단계를 더 포함하는 방법.
  6. 제1항에 있어서,
    상기 제1 사용자 계정 및 상기 제2 사용자 계정에 관한 존재 정보를 상기 제2 클라이언트 디바이스에 전송하는 단계를 더 포함하고, 상기 존재 정보는 상기 제1 사용자 계정 및 상기 제2 사용자 계정이 대응하는 채팅 애플리케이션 내에 존재하는지를 표시하는 방법.
  7. 제1항에 있어서, 상기 제1 사용자 계정은 상기 채팅 애플리케이션 내에서 상기 제2 사용자 계정 및 상기 제3 사용자 계정과 기존 관계를 갖는 방법.
  8. 제1항에 있어서, 상기 단기 메시지는 적어도 2개의 삭제 트리거와 연관되고;
    상기 제1 채팅 모니터링 정보는 상기 적어도 2개의 삭제 트리거와 연관된 존재 정보 및 데이터를 포함하는 방법.
  9. 제1항에 있어서,
    상기 서버 컴퓨터에서, 상기 단기 그룹 채팅과 연관된 복수의 존재 통신을 수신하는 단계; 및
    존재 상태 업데이트들을 상기 단기 그룹 채팅과 연관된 디바이스들로 전송하는 단계를 더 포함하는 방법.
  10. 제1항에 있어서, 상기 서버 컴퓨터로부터 상기 제1 클라이언트 디바이스로, 상기 삭제 커맨드가 전송되었음을 표시하는 검증 메시지를 통신하는 단계를 더 포함하는 방법.
  11. 제10항에 있어서,
    상기 통신 전에, 상기 제2 클라이언트 디바이스 및 상기 제3 클라이언트 디바이스로부터, 삭제 검증 메시지들을 수신하는 단계를 더 포함하고, 상기 삭제 검증 메시지들은 상기 단기 메시지가 상기 제2 클라이언트 디바이스 및 상기 제3 클라이언트 디바이스로부터 삭제되었음을 표시하는 방법.
  12. 제1항에 있어서, 상기 제1 삭제 트리거 정보는, 상기 단기 메시지가 적어도 임계 지속기간 동안 상기 제2 클라이언트 디바이스의 스크린 상에 디스플레이되었고, 상기 단기 메시지가 디스플레이된 기간 내에 상기 제2 클라이언트 디바이스의 사용자가 존재했다는 것을 표시하고, 상기 제2 삭제 트리거 정보는, 상기 단기 메시지가 적어도 상기 임계 지속기간 동안 상기 제3 클라이언트 디바이스의 스크린 상에 디스플레이되었고, 상기 단기 메시지가 디스플레이된 시간 프레임 내에 상기 제3 클라이언트 디바이스의 사용자가 존재했다는 것을 표시하는 방법.
  13. 제1항에 있어서, 상기 제1 삭제 트리거 정보는, 상기 단기 메시지가 적어도 임계 지속기간 동안 상기 제2 클라이언트 디바이스의 스크린 상에 디스플레이되었고, 상기 단기 메시지가 디스플레이된 제1 기간 내에 상기 제2 클라이언트 디바이스의 사용자가 존재하였거나, 제2 기간 동안 상기 제2 클라이언트 디바이스의 상기 사용자가 유휴 상태였거나 존재하지 않았다는 것을 표시하고, 상기 제2 삭제 트리거 정보는, 상기 단기 메시지가 적어도 상기 임계 지속기간 동안 상기 제3 클라이언트 디바이스의 스크린 상에 디스플레이되었고, 상기 단기 메시지가 디스플레이된 제3 시간 프레임 내에 상기 제3 클라이언트 디바이스의 사용자가 존재하였거나, 제4 기간 동안 상기 제3 클라이언트 디바이스의 상기 사용자가 유휴 상태였거나 존재하지 않았다는 것을 표시하는 방법.
  14. 제1항에 있어서, 상기 단기 그룹 채팅은 제1 단기 그룹 채팅이고, 상기 삭제 트리거는 제1 삭제 트리거이고, 상기 트리거 조건은 제1 트리거 조건이고, 상기 방법은:
    상기 제1 사용자 계정과 연관된 상기 제1 클라이언트 디바이스로부터, 상기 복수의 다른 사용자 계정들 중 2개 이상의 추가적인 사용자 계정들의 표시를 수신하는 단계;
    상기 소셜 네트워크 통신 시스템의 상기 서버 컴퓨터에서, 상기 제1 사용자 계정과 상기 2개 이상의 추가적인 사용자 계정들 사이의 연관을 제2 단기 그룹 채팅의 일부로서 생성하는 단계 - 상기 제2 단기 그룹 채팅은 제2 트리거 조건을 표시하는 제2 삭제 트리거와 연관됨 -; 및
    상기 단기 메시지를 상기 서버 컴퓨터로부터 상기 단기 그룹 채팅의 상기 2개 이상의 추가적인 사용자 계정과 연관된 클라이언트 디바이스들에 전송하는 단계를 더 포함하고, 상기 클라이언트 디바이스들은 제4 사용자 계정과 연관된 제4 클라이언트 디바이스 및 제5 사용자 계정과 연관된 제5 클라이언트 디바이스를 포함하는 방법.
  15. 단기 그룹 채팅을 위한 디바이스로서,
    메모리; 및
    상기 메모리에 결합된 하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는,
    제1 사용자 계정과 연관된 제1 클라이언트 디바이스로, 복수의 다른 사용자 계정들에 관한 존재 정보를 전송하고 - 상기 존재 정보는 상기 복수의 다른 사용자 계정들이 복수의 다른 사용자 디바이스들 상에서 실행되는 채팅 애플리케이션 내에 존재하는지를 표시함 -;
    상기 제1 사용자 계정과 연관된 상기 제1 클라이언트 디바이스로부터, 상기 복수의 다른 사용자 계정들 중 2개 이상의 사용자 계정들의 표시, 및 단기 메시지를 수신하고;
    소셜 네트워크 통신 시스템의 서버 컴퓨터에서, 단기 그룹 채팅의 일부로서 상기 제1 사용자 계정과 상기 2개 이상의 사용자 계정들 사이의 연관을 생성하고 - 상기 단기 그룹 채팅은 트리거 조건을 표시하는 삭제 트리거와 연관됨 -;
    상기 단기 메시지를 상기 서버 컴퓨터로부터 상기 단기 그룹 채팅의 상기 2개 이상의 사용자 계정들과 연관된 클라이언트 디바이스들에 전송하고 - 상기 클라이언트 디바이스들은 제2 사용자 계정과 연관된 제2 클라이언트 디바이스 및 제3 사용자 계정과 연관된 제3 클라이언트 디바이스를 포함함 -;
    상기 제2 클라이언트 디바이스로부터, 제1 삭제 트리거 정보를 포함하는 제1 채팅 모니터링 정보를 수신하고;
    상기 제3 클라이언트 디바이스로부터, 제2 삭제 트리거 정보를 포함하는 제2 채팅 모니터링 정보를 수신하고;
    상기 제1 삭제 트리거 정보 및 상기 제2 삭제 트리거 정보가 상기 트리거 조건을 충족시키는 것에 응답하여, 삭제 커맨드를 상기 제2 클라이언트 디바이스 및 상기 제3 클라이언트 디바이스에 전송하도록 구성되는 디바이스.
  16. 제15항에 있어서, 상기 하나 이상의 프로세서는, 상기 서버 컴퓨터로부터의 상기 단기 메시지의 전송 이후 임계 시간이 경과하는 것에 응답하여, 삭제 커맨드를 상기 제2 클라이언트 디바이스 및 상기 제3 클라이언트 디바이스에 전송하도록 더 구성되는 디바이스.
  17. 제15항에 있어서, 상기 존재 정보는 상기 사용자 계정들이 상기 채팅 애플리케이션과 상호작용한 이후의 기간을 표시하는 디바이스.
  18. 명령어들을 포함하는 비일시적 컴퓨터 판독가능 매체로서,
    상기 명령어들은, 디바이스의 하나 이상의 프로세서에 의해 실행될 때:
    제1 사용자 계정과 연관된 제1 클라이언트 디바이스로, 복수의 다른 사용자 계정들에 관한 존재 정보를 전송하고 - 상기 존재 정보는 상기 복수의 다른 사용자 계정들이 복수의 다른 사용자 디바이스들 상에서 실행되는 채팅 애플리케이션 내에 존재하는지를 표시함 -;
    상기 제1 사용자 계정과 연관된 상기 제1 클라이언트 디바이스로부터, 상기 복수의 다른 사용자 계정들 중 2개 이상의 사용자 계정들의 표시, 및 단기 메시지를 수신하고;
    소셜 네트워크 통신 시스템의 서버 컴퓨터에서, 단기 그룹 채팅의 일부로서 상기 제1 사용자 계정과 상기 2개 이상의 사용자 계정들 사이의 연관을 생성하고 - 상기 단기 그룹 채팅은 트리거 조건을 표시하는 삭제 트리거와 연관됨 -;
    상기 단기 메시지를 상기 서버 컴퓨터로부터 상기 단기 그룹 채팅의 상기 2개 이상의 사용자 계정들과 연관된 클라이언트 디바이스들에 전송하고 - 상기 클라이언트 디바이스들은 제2 사용자 계정과 연관된 제2 클라이언트 디바이스 및 제3 사용자 계정과 연관된 제3 클라이언트 디바이스를 포함함 -;
    상기 제2 클라이언트 디바이스로부터, 제1 삭제 트리거 정보를 포함하는 제1 채팅 모니터링 정보를 수신하고;
    상기 제3 클라이언트 디바이스로부터, 제2 삭제 트리거 정보를 포함하는 제2 채팅 모니터링 정보를 수신하고;
    상기 제1 삭제 트리거 정보 및 상기 제2 삭제 트리거 정보가 상기 트리거 조건을 충족시키는 것에 응답하여, 삭제 커맨드를 상기 제2 클라이언트 디바이스 및 상기 제3 클라이언트 디바이스에 전송하도록 상기 디바이스를 구성함으로써 상기 디바이스로 하여금 단기 그룹 채팅을 구현하게 하는 비일시적 컴퓨터 판독가능 매체.
  19. 제18항에 있어서, 상기 디바이스는,
    상기 서버 컴퓨터로부터의 상기 단기 메시지의 전송 이후 임계 시간이 경과하는 것에 응답하여, 삭제 커맨드를 상기 제2 클라이언트 디바이스 및 상기 제3 클라이언트 디바이스에 전송하도록 더 구성되는 비일시적 컴퓨터 판독가능 매체.
  20. 제18항에 있어서, 상기 존재 정보는 상기 사용자 계정들이 상기 채팅 애플리케이션과 상호작용한 이후의 기간을 표시하는 비일시적 컴퓨터 판독가능 매체.
KR1020217037634A 2015-05-06 2016-05-04 단기 그룹 채팅을 위한 시스템 및 방법 KR102473502B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020227041643A KR20220166362A (ko) 2015-05-06 2016-05-04 단기 그룹 채팅을 위한 시스템 및 방법

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US201562157780P 2015-05-06 2015-05-06
US62/157,780 2015-05-06
KR1020207031274A KR102330517B1 (ko) 2015-05-06 2016-05-04 단기 그룹 채팅을 위한 시스템 및 방법
PCT/US2016/030694 WO2016179235A1 (en) 2015-05-06 2016-05-04 Systems and methods for ephemeral group chat

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020207031274A Division KR102330517B1 (ko) 2015-05-06 2016-05-04 단기 그룹 채팅을 위한 시스템 및 방법

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020227041643A Division KR20220166362A (ko) 2015-05-06 2016-05-04 단기 그룹 채팅을 위한 시스템 및 방법

Publications (2)

Publication Number Publication Date
KR20210144923A KR20210144923A (ko) 2021-11-30
KR102473502B1 true KR102473502B1 (ko) 2022-12-05

Family

ID=57217838

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020207031274A KR102330517B1 (ko) 2015-05-06 2016-05-04 단기 그룹 채팅을 위한 시스템 및 방법
KR1020177034975A KR20180004218A (ko) 2015-05-06 2016-05-04 단기 그룹 채팅을 위한 시스템 및 방법
KR1020217037634A KR102473502B1 (ko) 2015-05-06 2016-05-04 단기 그룹 채팅을 위한 시스템 및 방법
KR1020197029234A KR102174086B1 (ko) 2015-05-06 2016-05-04 단기 그룹 채팅을 위한 시스템 및 방법
KR1020227041643A KR20220166362A (ko) 2015-05-06 2016-05-04 단기 그룹 채팅을 위한 시스템 및 방법

Family Applications Before (2)

Application Number Title Priority Date Filing Date
KR1020207031274A KR102330517B1 (ko) 2015-05-06 2016-05-04 단기 그룹 채팅을 위한 시스템 및 방법
KR1020177034975A KR20180004218A (ko) 2015-05-06 2016-05-04 단기 그룹 채팅을 위한 시스템 및 방법

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020197029234A KR102174086B1 (ko) 2015-05-06 2016-05-04 단기 그룹 채팅을 위한 시스템 및 방법
KR1020227041643A KR20220166362A (ko) 2015-05-06 2016-05-04 단기 그룹 채팅을 위한 시스템 및 방법

Country Status (5)

Country Link
US (2) US11088987B2 (ko)
EP (2) EP4328831A3 (ko)
KR (5) KR102330517B1 (ko)
CN (2) CN115412385A (ko)
WO (1) WO2016179235A1 (ko)

Families Citing this family (140)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10155168B2 (en) 2012-05-08 2018-12-18 Snap Inc. System and method for adaptable avatars
US11388120B2 (en) * 2015-11-10 2022-07-12 Wrinkl, Inc. Parallel messaging apparatus and method thereof
US10439972B1 (en) * 2013-05-30 2019-10-08 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US9705831B2 (en) 2013-05-30 2017-07-11 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US9276886B1 (en) 2014-05-09 2016-03-01 Snapchat, Inc. Apparatus and method for dynamically configuring application component tiles
US9396354B1 (en) 2014-05-28 2016-07-19 Snapchat, Inc. Apparatus and method for automated privacy protection in distributed images
US9537811B2 (en) 2014-10-02 2017-01-03 Snap Inc. Ephemeral gallery of ephemeral messages
US9113301B1 (en) 2014-06-13 2015-08-18 Snapchat, Inc. Geo-location based event gallery
US10824654B2 (en) 2014-09-18 2020-11-03 Snap Inc. Geolocation-based pictographs
US10284508B1 (en) 2014-10-02 2019-05-07 Snap Inc. Ephemeral gallery of ephemeral messages with opt-in permanence
US10311916B2 (en) 2014-12-19 2019-06-04 Snap Inc. Gallery of videos set to an audio time line
US9385983B1 (en) 2014-12-19 2016-07-05 Snapchat, Inc. Gallery of messages from individuals with a shared interest
US9754355B2 (en) 2015-01-09 2017-09-05 Snap Inc. Object recognition based photo filters
US10133705B1 (en) 2015-01-19 2018-11-20 Snap Inc. Multichannel system
US9294425B1 (en) 2015-02-06 2016-03-22 Snapchat, Inc. Storage and processing of ephemeral messages
US20160359773A1 (en) * 2015-03-16 2016-12-08 Boogoo Intellectual Property LLC Electronic Communication System
KR20240064012A (ko) 2015-03-18 2024-05-10 스냅 인코포레이티드 지오-펜스 인가 프로비저닝
US10135949B1 (en) 2015-05-05 2018-11-20 Snap Inc. Systems and methods for story and sub-story navigation
KR102330517B1 (ko) 2015-05-06 2021-11-24 스냅 인코포레이티드 단기 그룹 채팅을 위한 시스템 및 방법
US9906479B1 (en) 2015-06-16 2018-02-27 Snap Inc. Storage management for ephemeral messages
US10503264B1 (en) 2015-06-16 2019-12-10 Snap Inc. Radial gesture navigation
US9954808B2 (en) 2015-06-24 2018-04-24 International Business Machines Corporation Collecting messages from a group chat window that mention a specific user
US11522821B2 (en) 2015-07-06 2022-12-06 Wrinkl, Inc. Method and apparatus for interaction in a messaging system
US11121997B1 (en) 2015-08-24 2021-09-14 Snap Inc. Systems, devices, and methods for determining a non-ephemeral message status in a communication system
US10616162B1 (en) 2015-08-24 2020-04-07 Snap Inc. Systems devices and methods for automatically selecting an ephemeral message availability
US10157333B1 (en) 2015-09-15 2018-12-18 Snap Inc. Systems and methods for content tagging
US10854180B2 (en) 2015-09-29 2020-12-01 Amper Music, Inc. Method of and system for controlling the qualities of musical energy embodied in and expressed by digital music to be automatically composed and generated by an automated music composition and generation engine
US9721551B2 (en) 2015-09-29 2017-08-01 Amper Music, Inc. Machines, systems, processes for automated music composition and generation employing linguistic and/or graphical icon based musical experience descriptions
US9652896B1 (en) 2015-10-30 2017-05-16 Snap Inc. Image based tracking in augmented reality systems
US11119628B1 (en) 2015-11-25 2021-09-14 Snap Inc. Dynamic graphical user interface modification and monitoring
US9984499B1 (en) 2015-11-30 2018-05-29 Snap Inc. Image and point cloud based tracking and in augmented reality systems
US10354425B2 (en) 2015-12-18 2019-07-16 Snap Inc. Method and system for providing context relevant media augmentation
EP3398358A4 (en) * 2015-12-29 2019-08-14 Radical APP LLP SYSTEM, METHOD AND COMPUTER PROGRAM PRODUCT FOR SAFE DELIVERY OF CONTENT BETWEEN STORAGE MEDIA
US10530731B1 (en) 2016-03-28 2020-01-07 Snap Inc. Systems and methods for chat with audio and video elements
US10270839B2 (en) 2016-03-29 2019-04-23 Snap Inc. Content collection navigation and autoforwarding
US10339365B2 (en) 2016-03-31 2019-07-02 Snap Inc. Automated avatar generation
US10686899B2 (en) 2016-04-06 2020-06-16 Snap Inc. Messaging achievement pictograph display system
US9813642B1 (en) 2016-05-06 2017-11-07 Snap Inc. Dynamic activity-based image generation
US10852935B2 (en) 2016-05-18 2020-12-01 Apple Inc. Devices, methods, and graphical user interfaces for messaging
KR102511443B1 (ko) 2016-05-18 2023-03-16 애플 인크. 그래픽 메시징 사용자 인터페이스 내의 확인응답 옵션들의 적용
US10474353B2 (en) 2016-05-31 2019-11-12 Snap Inc. Application control using a gesture based trigger
US10368208B2 (en) 2016-06-12 2019-07-30 Apple Inc. Layers in messaging applications
US11507977B2 (en) 2016-06-28 2022-11-22 Snap Inc. Methods and systems for presentation of media collections with automated advertising
US9681265B1 (en) 2016-06-28 2017-06-13 Snap Inc. System to track engagement of media items
US10182047B1 (en) 2016-06-30 2019-01-15 Snap Inc. Pictograph password security system
US11334768B1 (en) 2016-07-05 2022-05-17 Snap Inc. Ephemeral content management
US11256768B2 (en) * 2016-08-01 2022-02-22 Facebook, Inc. Systems and methods to manage media content items
US10552968B1 (en) 2016-09-23 2020-02-04 Snap Inc. Dense feature scale detection for image matching
US10609036B1 (en) 2016-10-10 2020-03-31 Snap Inc. Social media post subscribe requests for buffer user accounts
US10432559B2 (en) 2016-10-24 2019-10-01 Snap Inc. Generating and displaying customized avatars in electronic messages
CN109983759B (zh) 2016-11-01 2021-06-04 斯纳普公司 快速视频采集和传感器调节
US10740939B1 (en) 2016-12-09 2020-08-11 Snap Inc. Fast image style transfers
US10680986B1 (en) * 2016-12-11 2020-06-09 Snap Inc. Stacked chat conversations
US10242477B1 (en) 2017-01-16 2019-03-26 Snap Inc. Coded vision system
US10319149B1 (en) 2017-02-17 2019-06-11 Snap Inc. Augmented reality anamorphosis system
US11019001B1 (en) 2017-02-20 2021-05-25 Snap Inc. Selective presentation of group messages
US10374993B2 (en) 2017-02-20 2019-08-06 Snap Inc. Media item attachment system
US10074381B1 (en) 2017-02-20 2018-09-11 Snap Inc. Augmented reality speech balloon system
US10878837B1 (en) 2017-03-01 2020-12-29 Snap Inc. Acoustic neural network scene detection
US10581782B2 (en) 2017-03-27 2020-03-03 Snap Inc. Generating a stitched data stream
US10582277B2 (en) 2017-03-27 2020-03-03 Snap Inc. Generating a stitched data stream
US11170393B1 (en) 2017-04-11 2021-11-09 Snap Inc. System to calculate an engagement score of location based media content
US10387730B1 (en) 2017-04-20 2019-08-20 Snap Inc. Augmented reality typography personalization system
US10212541B1 (en) 2017-04-27 2019-02-19 Snap Inc. Selective location-based identity communication
US11893647B2 (en) 2017-04-27 2024-02-06 Snap Inc. Location-based virtual avatars
US10382372B1 (en) 2017-04-27 2019-08-13 Snap Inc. Processing media content based on original context
KR102449545B1 (ko) 2017-04-27 2022-10-04 스냅 인코포레이티드 지리공간적 활동 메트릭들을 표시하는 지도-기반 그래픽 사용자 인터페이스
US10943255B1 (en) 2017-04-28 2021-03-09 Snap Inc. Methods and systems for interactive advertising with media collections
US10679428B1 (en) 2017-05-26 2020-06-09 Snap Inc. Neural network-based image stream modification
CN107181671B (zh) * 2017-05-26 2020-08-07 北京小米移动软件有限公司 社交信息处理方法和装置
US10788900B1 (en) 2017-06-29 2020-09-29 Snap Inc. Pictorial symbol prediction
US11265270B2 (en) * 2017-07-07 2022-03-01 Samchat, Inc. Systems, methods and computer program products for providing enhanced chat services
US10033674B1 (en) 2017-07-21 2018-07-24 CallFire, Inc. Communication management system
US11323398B1 (en) 2017-07-31 2022-05-03 Snap Inc. Systems, devices, and methods for progressive attachments
US11216517B1 (en) 2017-07-31 2022-01-04 Snap Inc. Methods and systems for selecting user generated content
US11164376B1 (en) 2017-08-30 2021-11-02 Snap Inc. Object modeling using light projection
US9980100B1 (en) 2017-08-31 2018-05-22 Snap Inc. Device location based on machine learning classifications
US10740974B1 (en) 2017-09-15 2020-08-11 Snap Inc. Augmented reality system
US10474900B2 (en) 2017-09-15 2019-11-12 Snap Inc. Real-time tracking-compensated image effects
US20190097964A1 (en) * 2017-09-28 2019-03-28 Facebook, Inc. Generating administrative messages for messaging threads indicating interactions with ephemeral content
US10891723B1 (en) 2017-09-29 2021-01-12 Snap Inc. Realistic neural network based image style transfer
US10872292B1 (en) 2017-10-09 2020-12-22 Snap Inc. Compact neural networks using condensed filters
US11645321B2 (en) * 2017-11-03 2023-05-09 Salesforce, Inc. Calculating relationship strength using an activity-based distributed graph
US10599289B1 (en) 2017-11-13 2020-03-24 Snap Inc. Interface to display animated icon
US11551059B1 (en) 2017-11-15 2023-01-10 Snap Inc. Modulated image segmentation
US10885564B1 (en) 2017-11-28 2021-01-05 Snap Inc. Methods, system, and non-transitory computer readable storage medium for dynamically configurable social media platform
US20190190869A1 (en) * 2017-12-14 2019-06-20 Facebook, Inc. Systems and methods for sharing content
US11303601B2 (en) * 2017-12-14 2022-04-12 Meta Platforms, Inc. Systems and methods for sharing content
US10873558B2 (en) 2017-12-14 2020-12-22 Facebook, Inc. Systems and methods for sharing content
US10217488B1 (en) 2017-12-15 2019-02-26 Snap Inc. Spherical video editing
US11017173B1 (en) 2017-12-22 2021-05-25 Snap Inc. Named entity recognition visual context and caption data
US10523606B2 (en) 2018-01-02 2019-12-31 Snap Inc. Generating interactive messages with asynchronous media content
US10482565B1 (en) 2018-02-12 2019-11-19 Snap Inc. Multistage neural network processing using a graphics processor
US10726603B1 (en) 2018-02-28 2020-07-28 Snap Inc. Animated expressive icon
US10885136B1 (en) 2018-02-28 2021-01-05 Snap Inc. Audience filtering system
US10327096B1 (en) 2018-03-06 2019-06-18 Snap Inc. Geo-fence selection system
US11310176B2 (en) 2018-04-13 2022-04-19 Snap Inc. Content suggestion system
EP3782124A1 (en) 2018-04-18 2021-02-24 Snap Inc. Augmented expression system
CN108566334B (zh) * 2018-05-02 2021-09-07 张昭远 基于聊天软件的辅助方法、终端及介质
US11487501B2 (en) 2018-05-16 2022-11-01 Snap Inc. Device control using audio data
JP6919079B1 (ja) 2018-06-28 2021-08-11 キム、ビョン ジンKIM, Byung Jin 表示装置
US10997760B2 (en) 2018-08-31 2021-05-04 Snap Inc. Augmented reality anthropomorphization system
US10895964B1 (en) * 2018-09-25 2021-01-19 Snap Inc. Interface to display shared user groups
US10904181B2 (en) 2018-09-28 2021-01-26 Snap Inc. Generating customized graphics having reactions to electronic message content
KR102108328B1 (ko) 2018-10-26 2020-05-08 주식회사 카카오 인스턴트 메신저 어플리케이션의 동작 방법 및 장치
WO2020089927A1 (en) * 2018-11-01 2020-05-07 Sarath Kakumanu Sending messages to all members or selected members of a group in a messaging application by string tagging and categorization
US10547970B1 (en) * 2018-12-19 2020-01-28 Snap Inc. Mapping discovery system
US11297027B1 (en) 2019-01-31 2022-04-05 Snap Inc. Automated image processing and insight presentation
US11972529B2 (en) 2019-02-01 2024-04-30 Snap Inc. Augmented reality system
US11251982B2 (en) * 2019-06-12 2022-02-15 Nextiva, Inc. System and method of creating and organizing private chat messages
US11188190B2 (en) * 2019-06-28 2021-11-30 Snap Inc. Generating animation overlays in a communication session
US11134036B2 (en) 2019-07-05 2021-09-28 Snap Inc. Event planning in a content sharing platform
US11449956B2 (en) * 2019-07-30 2022-09-20 Contact My Politician, Llc Multi-recipient selection and communication platform
US11812347B2 (en) 2019-09-06 2023-11-07 Snap Inc. Non-textual communication and user states management
US11024275B2 (en) 2019-10-15 2021-06-01 Shutterstock, Inc. Method of digitally performing a music composition using virtual musical instruments having performance logic executing within a virtual musical instrument (VMI) library management system
US11037538B2 (en) 2019-10-15 2021-06-15 Shutterstock, Inc. Method of and system for automated musical arrangement and musical instrument performance style transformation supported within an automated music performance system
US10964299B1 (en) 2019-10-15 2021-03-30 Shutterstock, Inc. Method of and system for automatically generating digital performances of music compositions using notes selected from virtual musical instruments based on the music-theoretic states of the music compositions
CN110855551B (zh) * 2019-10-29 2022-04-12 维沃移动通信有限公司 一种消息回复方法、服务器和电子设备
US11265281B1 (en) 2020-01-28 2022-03-01 Snap Inc. Message deletion policy selection
US11316806B1 (en) 2020-01-28 2022-04-26 Snap Inc. Bulk message deletion
US11625873B2 (en) 2020-03-30 2023-04-11 Snap Inc. Personalized media overlay recommendation
KR20220157502A (ko) 2020-03-31 2022-11-29 스냅 인코포레이티드 증강 현실 미용 제품 튜토리얼들
US11700225B2 (en) 2020-04-23 2023-07-11 Snap Inc. Event overlay invite messaging system
CN113709020B (zh) * 2020-05-20 2024-02-06 腾讯科技(深圳)有限公司 消息发送方法、消息接收方法、装置、设备及介质
US11843574B2 (en) 2020-05-21 2023-12-12 Snap Inc. Featured content collection interface
DK181216B1 (en) 2020-06-09 2023-05-10 Apple Inc USER INTERFACES FOR MESSAGES
EP4165489A1 (en) 2020-06-10 2023-04-19 Snap Inc. Visual search to launch application
US11423652B2 (en) 2020-06-10 2022-08-23 Snap Inc. Adding beauty products to augmented reality tutorials
USD947866S1 (en) * 2020-06-20 2022-04-05 Apple Inc. Display screen or portion thereof with graphical user interface
US11899905B2 (en) 2020-06-30 2024-02-13 Snap Inc. Selectable items providing post-viewing context actions
EP4197180A1 (en) 2020-08-13 2023-06-21 Snap Inc. User interface for pose driven virtual effects
WO2022039390A1 (ko) * 2020-08-19 2022-02-24 (주)티아이스퀘어 메시징 서비스 제공시 콘텐츠 관리 방법
CN112073301B (zh) * 2020-08-31 2022-11-29 上海连尚网络科技有限公司 删除聊天群组成员的方法、设备及计算机可读介质
US11115363B1 (en) * 2020-09-02 2021-09-07 Whatsapp Llc Utilizing encrypted ephemeral messages to modify ephemeral message duration settings
CN114205319B (zh) * 2020-09-18 2023-12-01 腾讯科技(深圳)有限公司 一种即时通讯方法及装置
US11763818B2 (en) * 2020-10-14 2023-09-19 Snap Inc. Synchronous audio and text generation
US20220321509A1 (en) * 2021-03-31 2022-10-06 Snap Inc. User presence indication data management
US20220321510A1 (en) * 2021-03-31 2022-10-06 Snap Inc. User presence indication data management
WO2023128794A1 (en) * 2021-12-30 2023-07-06 Ringcentral, Inc., (A Delaware Corporation) System and method for deep message editing in a chat communication environment
US11973730B2 (en) 2022-06-02 2024-04-30 Snap Inc. External messaging function for an interaction system

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080288319A1 (en) * 2005-08-04 2008-11-20 International Business Machines Corporation System and method for interacting with participants of a future event
US20110099507A1 (en) * 2009-10-28 2011-04-28 Google Inc. Displaying a collection of interactive elements that trigger actions directed to an item

Family Cites Families (139)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5758257A (en) 1994-11-29 1998-05-26 Herz; Frederick System and method for scheduling broadcast of and access to video programs and other data using customer profiles
US5978773A (en) 1995-06-20 1999-11-02 Neomedia Technologies, Inc. System and method for using an ordinary article of commerce to access a remote computer
EP0814611B1 (de) 1996-06-17 2002-08-28 Siemens Aktiengesellschaft Kommunikationssystem und Verfahren zur Aufnahme und Verwaltung digitaler Bilder
JP3783331B2 (ja) 1997-05-14 2006-06-07 ブラザー工業株式会社 メール送信システム、メール受信システムおよび記録媒体
US6158044A (en) 1997-05-21 2000-12-05 Epropose, Inc. Proposal based architecture system
WO1998058321A1 (en) 1997-06-17 1998-12-23 Purdue Pharma Lp Self-destructing document and e-mail messaging system
FI973945A (fi) 1997-10-13 1999-04-14 Nokia Telecommunications Oy Lyhytsanomia välittävä tiedonsiirtojärjestelmä
US6484196B1 (en) 1998-03-20 2002-11-19 Advanced Web Solutions Internet messaging system and method for use in computer networks
US7173651B1 (en) 1998-06-02 2007-02-06 Knowles Andrew T Apparatus and system for prompt digital photo delivery and archival
US6205432B1 (en) 1998-06-05 2001-03-20 Creative Internet Concepts, Llc Background advertising system
US6701347B1 (en) 1998-09-23 2004-03-02 John W. L. Ogilvie Method for including a self-removing code in a self-removing email message that contains an advertisement
US6757713B1 (en) 1998-09-23 2004-06-29 John W. L. Ogilvie Method for including a self-removing indicator in a self-removing message
EP1116126A4 (en) 1998-09-23 2002-03-27 John W L Ogilvie SELF-DELETING ELECTRONIC MAIL
US6324569B1 (en) 1998-09-23 2001-11-27 John W. L. Ogilvie Self-removing email verified or designated as such by a message distributor for the convenience of a recipient
US6167435A (en) 1998-10-30 2000-12-26 Netcreations, Inc. Double opt-in™ method and system for verifying subscriptions to information distribution services
US7240199B2 (en) 2000-12-06 2007-07-03 Rpost International Limited System and method for verifying delivery and integrity of electronic messages
US7149893B1 (en) 1999-09-07 2006-12-12 Poofaway.Com, Inc. System and method for enabling the originator of an electronic mail message to preset an expiration time, date, and/or event, and to control processing or handling by a recipient
US7124164B1 (en) 2001-04-17 2006-10-17 Chemtob Helen J Method and apparatus for providing group interaction via communications networks
US7159008B1 (en) * 2000-06-30 2007-01-02 Immersion Corporation Chat interface with haptic feedback functionality
US6505123B1 (en) 2000-07-24 2003-01-07 Weatherbank, Inc. Interactive weather advisory system
US6754621B1 (en) 2000-10-06 2004-06-22 Andrew Cunningham Asynchronous hypertext messaging system and method
JP2002132647A (ja) 2000-10-19 2002-05-10 Kizna Corp 電子掲示板及び電子掲示板システム
US6901446B2 (en) * 2001-02-28 2005-05-31 Microsoft Corp. System and method for describing and automatically managing resources
US7243163B1 (en) 2001-08-07 2007-07-10 Good Technology, Inc. System and method for full wireless synchronization of a data processing apparatus with a messaging system
JP4440503B2 (ja) 2001-09-20 2010-03-24 富士通株式会社 情報一覧作成装置及びそのプログラム
US20100098702A1 (en) 2008-09-16 2010-04-22 Longgui Wang Method of treating androgen independent prostate cancer
US7356564B2 (en) 2002-01-09 2008-04-08 At&T Delaware Intellectual Property, Inc. Method, system, and apparatus for providing self-destructing electronic mail messages
US20030217106A1 (en) 2002-03-25 2003-11-20 Eytan Adar System and method for profiling clients within a system for harvesting community knowledge
US7278168B1 (en) 2002-11-27 2007-10-02 Adobe Systems Incorporated Dynamic enabling of functionality in electronic document readers
US7512788B2 (en) * 2002-12-10 2009-03-31 International Business Machines Corporation Method and apparatus for anonymous group messaging in a distributed messaging system
US7411493B2 (en) 2003-03-01 2008-08-12 User-Centric Ip, L.P. User-centric event reporting
US6978147B2 (en) 2003-03-19 2005-12-20 Motorola, Inc. Wireless messaging device with selectable scroll display and message pre-fetch
GB0308991D0 (en) 2003-04-17 2003-05-28 Psion Digital Ltd A data access replication or communication system comprising a distributed software application
US7703140B2 (en) 2003-09-30 2010-04-20 Guardian Data Storage, Llc Method and system for securing digital assets using process-driven security policies
US7191221B2 (en) 2003-10-30 2007-03-13 International Business Machines Corporation Method for managing electronic mail receipts using audio-visual notification enhancements
US7535890B2 (en) 2003-12-18 2009-05-19 Ayalogic, Inc. System and method for instant VoIP messaging
WO2005062217A1 (ja) 2003-12-19 2005-07-07 Fujitsu Limited プレゼンス情報管理方法、及び、サーバ
US7478402B2 (en) 2004-02-12 2009-01-13 Microsoft Corporation Configurable message pipelines
US7904510B2 (en) 2004-02-23 2011-03-08 Microsoft Corporation Systems and methods for managing discussion threads based on ratings
US7912904B2 (en) 2004-03-31 2011-03-22 Google Inc. Email system with conversation-centric user interface
US7607096B2 (en) 2004-05-01 2009-10-20 Microsoft Corporation System and method for a user interface directed to discovering and publishing presence information on a network
US7593740B2 (en) 2004-05-12 2009-09-22 Google, Inc. Location-based social software for mobile devices
EP1752000A1 (fr) 2004-05-27 2007-02-14 France Telecom S.A. Procede et installation de transmission d"un message a duree de validite predeterminee a destination d"un terminal d"abonne
US7519670B2 (en) 2004-08-12 2009-04-14 International Business Machines Corporation Method for disappearing ink for text messaging
US8745132B2 (en) 2004-09-10 2014-06-03 Silver State Intellectual Technologies, Inc. System and method for audio and video portable publishing system
US7496347B2 (en) 2004-11-12 2009-02-24 Velocita Wireless Llc Method and apparatus for providing secure wireless communication
US8396456B2 (en) 2005-06-28 2013-03-12 Avaya Integrated Cabinet Solutions Inc. Visual voicemail management
US8266219B2 (en) 2005-07-20 2012-09-11 Research In Motion Limited Method and system for instant messaging conversation security
US7610345B2 (en) 2005-07-28 2009-10-27 Vaporstream Incorporated Reduced traceability electronic message system and method
CN1794708A (zh) 2005-07-29 2006-06-28 华为技术有限公司 呈现业务系统及发布呈现信息的方法
US8332475B2 (en) 2005-08-22 2012-12-11 Triplay Communications Ltd. Messaging system and method
US7949107B2 (en) 2005-08-24 2011-05-24 International Business Machines Corporation Method, system, and computer program product for providing privacy measures in instant messaging systems
US20070073823A1 (en) 2005-09-29 2007-03-29 International Business Machines Corporation Method and apparatus to secure and retrieve instant messages
US8284663B2 (en) 2005-10-14 2012-10-09 Turbine, Inc. Selectively ordered protocol for unreliable channels
ITMI20052290A1 (it) 2005-11-30 2007-06-01 Pasqua Roberto Della Servizio di messaggistica istantanea con interfaccia utente minimizzata
US7856360B2 (en) 2006-01-30 2010-12-21 Hoozware, Inc. System for providing a service to venues where people aggregate
KR101031602B1 (ko) 2006-02-10 2011-04-27 스트랜즈, 아이엔씨. 휴대용미디어플레이어 파일들에 우선순위를 설정하는시스템 및 방법
US8145719B2 (en) * 2006-03-03 2012-03-27 Gogroups Method and system for messaging and communication based on groups
US8112478B2 (en) 2006-03-13 2012-02-07 Oracle International Corporation Email and discussion forum system
US8255473B2 (en) 2006-04-04 2012-08-28 International Business Machines Corporation Caching message fragments during real-time messaging conversations
US9304675B2 (en) 2006-09-06 2016-04-05 Apple Inc. Portable electronic device for instant messaging
GB0703276D0 (en) * 2007-02-20 2007-03-28 Skype Ltd Instant messaging activity notification
USRE47534E1 (en) 2007-04-23 2019-07-23 Ramot At Tel Aviv University Ltd. System, method and a computer readable medium for providing an output image
US20080270938A1 (en) 2007-04-29 2008-10-30 Elizabeth Marie Carlson System for self-registering visitor information with geographic specificity and searchable fields
US8170957B2 (en) 2007-08-08 2012-05-01 Sinart Points Technology, Inc. System and method for managing digital interactions
US8909714B2 (en) 2007-08-21 2014-12-09 Microsoft Corporation Electronic mail delay adaptation
US8244593B2 (en) 2007-11-20 2012-08-14 Pure Verticals, Inc. Method and system for monetizing content
KR101387527B1 (ko) 2007-12-06 2014-04-23 엘지전자 주식회사 단말기 및 그 메뉴 아이콘 디스플레이 방법
US8214443B2 (en) 2008-03-05 2012-07-03 Aol Inc. Electronic mail forwarding service
KR20100126850A (ko) 2008-03-28 2010-12-02 셀트러스트 코포레이션 보안형 단문 메시징 서비스 및 멀티미디어 메시징 서비스를 위한 시스템 및 방법
US20090248751A1 (en) * 2008-04-01 2009-10-01 Myman Darin M Destroyable Instant Message (IM)
US20100082427A1 (en) 2008-09-30 2010-04-01 Yahoo! Inc. System and Method for Context Enhanced Ad Creation
US8719238B2 (en) 2009-01-22 2014-05-06 Sunstein Kann Murphy & Timbers LLP Office-based notification messaging system
US20120036080A1 (en) * 2009-04-06 2012-02-09 Tracx Systems Ltd. Method and system for tracking online social interactions
US8214446B1 (en) 2009-06-04 2012-07-03 Imdb.Com, Inc. Segmenting access to electronic message boards
US8479080B1 (en) 2009-07-12 2013-07-02 Apple Inc. Adaptive over-provisioning in memory systems
CN102118419B (zh) 2009-12-30 2014-07-16 华为技术有限公司 一种图片信息的传输方法、装置和通信系统
US9443227B2 (en) 2010-02-16 2016-09-13 Tigertext, Inc. Messaging system apparatuses circuits and methods of operation thereof
US20110213845A1 (en) 2010-02-26 2011-09-01 Research In Motion Limited Automatic deletion of electronic messages
US8433813B2 (en) 2010-04-07 2013-04-30 Apple Inc. Audio processing optimization in a multi-participant conference
US8582727B2 (en) 2010-04-21 2013-11-12 Angel.Com Communication of information during a call
US20110320373A1 (en) 2010-06-25 2011-12-29 Microsoft Corporation Product conversations among social groups
WO2012000107A1 (en) 2010-07-01 2012-01-05 Absolute Software Corporation Automatic creation and modification of dynamic geofences
US8233887B2 (en) 2010-07-28 2012-07-31 Sprint Communications Company L.P. Covert message redaction and recovery in a wireless communication device
US8457668B2 (en) 2011-01-18 2013-06-04 Claremont Speede Mobile sender initiated SMS message deletion method and system
US20120209921A1 (en) 2011-02-10 2012-08-16 International Business Machines Corporation Instant Message Management Method and Apparatus
US9331972B2 (en) 2011-03-31 2016-05-03 Loment, Inc. Automatic expiration of messages communicated to an end user communication device
WO2013008251A2 (en) 2011-07-08 2013-01-17 Hughes Systique India Private Limited Method and system for social networking in a restricted connectivity environment
KR20130021226A (ko) * 2011-08-22 2013-03-05 한국과학기술원 잊힐 권리를 보장할 수 있는 메신저 서비스 방법 및 시스템
US20130071093A1 (en) 2011-09-16 2013-03-21 William Turner Hanks Maintaining viewer activity information of a recorded program for program deletion decisions
US20130194301A1 (en) 2012-01-30 2013-08-01 Burn Note, Inc. System and method for securely transmiting sensitive information
US9269070B2 (en) * 2012-03-23 2016-02-23 Tata Consultancy Services Limited Ephemeral communication
US9560006B2 (en) * 2012-07-26 2017-01-31 Google Inc. Method and apparatus for expiring messages in electronic communications
US20150199082A1 (en) 2012-11-13 2015-07-16 Google Inc. Displaying actionable items in an overscroll area
US20140201527A1 (en) * 2013-01-17 2014-07-17 Zohar KRIVOROT Systems and methods for secure and private delivery of content
US9264463B2 (en) * 2013-03-15 2016-02-16 Facebook, Inc. Method and system of managing ephemeral post in a social networking system
GB2512140A (en) * 2013-03-22 2014-09-24 Classfiedapp Ltd Messaging system and method
US9736218B2 (en) 2013-04-24 2017-08-15 Blackberry Limited Device, system and method for processing character data
US9705831B2 (en) 2013-05-30 2017-07-11 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US9742713B2 (en) 2013-05-30 2017-08-22 Snap Inc. Apparatus and method for maintaining a message thread with opt-in permanence for entries
US9282076B2 (en) * 2013-05-30 2016-03-08 International Business Machines Corporation Aligning content and social network audience using analytics and/or visualization
US8914752B1 (en) 2013-08-22 2014-12-16 Snapchat, Inc. Apparatus and method for accelerated display of ephemeral messages
CN104518953B (zh) * 2013-09-30 2019-12-24 腾讯科技(深圳)有限公司 删除消息的方法、即时通信终端及系统
US9083770B1 (en) 2013-11-26 2015-07-14 Snapchat, Inc. Method and system for integrating real time communication features in applications
CA2863124A1 (en) 2014-01-03 2015-07-03 Investel Capital Corporation User content sharing system and method with automated external content integration
US9628950B1 (en) 2014-01-12 2017-04-18 Investment Asset Holdings Llc Location-based messaging
WO2015123537A1 (en) 2014-02-13 2015-08-20 Ashok Ramu Virtual data backup
US8909725B1 (en) 2014-03-07 2014-12-09 Snapchat, Inc. Content delivery network for ephemeral objects
US9479909B2 (en) 2014-03-20 2016-10-25 Tigertext, Inc. Method of sending messages to devices not configured to receive them
US9276886B1 (en) 2014-05-09 2016-03-01 Snapchat, Inc. Apparatus and method for dynamically configuring application component tiles
US9537811B2 (en) 2014-10-02 2017-01-03 Snap Inc. Ephemeral gallery of ephemeral messages
US9396354B1 (en) 2014-05-28 2016-07-19 Snapchat, Inc. Apparatus and method for automated privacy protection in distributed images
US9113301B1 (en) 2014-06-13 2015-08-18 Snapchat, Inc. Geo-location based event gallery
CN107111828B (zh) 2014-10-24 2021-05-25 斯纳普公司 消息的优先级排序
US9225897B1 (en) 2014-07-07 2015-12-29 Snapchat, Inc. Apparatus and method for supplying content aware photo filters
US20160063223A1 (en) * 2014-08-27 2016-03-03 Contentguard Holdings, Inc. Distributing protected content
US11783898B2 (en) 2014-09-18 2023-10-10 Jonker Llc Ephemeral storage elements, circuits, and systems
US10824654B2 (en) 2014-09-18 2020-11-03 Snap Inc. Geolocation-based pictographs
US11216869B2 (en) 2014-09-23 2022-01-04 Snap Inc. User interface to augment an image using geolocation
US9854219B2 (en) 2014-12-19 2017-12-26 Snap Inc. Gallery of videos set to an audio time line
US10311916B2 (en) 2014-12-19 2019-06-04 Snap Inc. Gallery of videos set to an audio time line
US9385983B1 (en) 2014-12-19 2016-07-05 Snapchat, Inc. Gallery of messages from individuals with a shared interest
US10142274B2 (en) * 2014-12-31 2018-11-27 Jason M. Penilla Message communication systems and applications with message lifetime settings for automatic message deletion
US9754355B2 (en) 2015-01-09 2017-09-05 Snap Inc. Object recognition based photo filters
US9111164B1 (en) 2015-01-19 2015-08-18 Snapchat, Inc. Custom functional patterns for optical barcodes
US9294425B1 (en) 2015-02-06 2016-03-22 Snapchat, Inc. Storage and processing of ephemeral messages
US9148424B1 (en) 2015-03-13 2015-09-29 Snapchat, Inc. Systems and methods for IP-based intrusion detection
US20160277410A1 (en) * 2015-03-17 2016-09-22 StoryCloud, Inc. Method and apparatus for transmission and reception of secure ephemeral media
KR20240064012A (ko) 2015-03-18 2024-05-10 스냅 인코포레이티드 지오-펜스 인가 프로비저닝
US9482882B1 (en) 2015-04-15 2016-11-01 Snapchat, Inc. Eyewear having selectively exposable feature
US9482883B1 (en) 2015-04-15 2016-11-01 Snapchat, Inc. Eyewear having linkage assembly between a temple and a frame
US9881094B2 (en) 2015-05-05 2018-01-30 Snap Inc. Systems and methods for automated local story generation and curation
KR102330517B1 (ko) 2015-05-06 2021-11-24 스냅 인코포레이티드 단기 그룹 채팅을 위한 시스템 및 방법
US9652896B1 (en) 2015-10-30 2017-05-16 Snap Inc. Image based tracking in augmented reality systems
US20170161382A1 (en) 2015-12-08 2017-06-08 Snapchat, Inc. System to correlate video data and contextual data
US10354425B2 (en) 2015-12-18 2019-07-16 Snap Inc. Method and system for providing context relevant media augmentation
US11900418B2 (en) 2016-04-04 2024-02-13 Snap Inc. Mutable geo-fencing system
US10686899B2 (en) 2016-04-06 2020-06-16 Snap Inc. Messaging achievement pictograph display system
US9681265B1 (en) 2016-06-28 2017-06-13 Snap Inc. System to track engagement of media items

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080288319A1 (en) * 2005-08-04 2008-11-20 International Business Machines Corporation System and method for interacting with participants of a future event
US20110099507A1 (en) * 2009-10-28 2011-04-28 Google Inc. Displaying a collection of interactive elements that trigger actions directed to an item

Also Published As

Publication number Publication date
KR20190116569A (ko) 2019-10-14
KR20220166362A (ko) 2022-12-16
CN115412385A (zh) 2022-11-29
US20220038416A1 (en) 2022-02-03
EP4328831A3 (en) 2024-05-15
KR20180004218A (ko) 2018-01-10
US20180351903A1 (en) 2018-12-06
KR102330517B1 (ko) 2021-11-24
EP3292523A1 (en) 2018-03-14
WO2016179235A8 (en) 2017-09-21
WO2016179235A1 (en) 2016-11-10
US11088987B2 (en) 2021-08-10
EP4328831A2 (en) 2024-02-28
KR102174086B1 (ko) 2020-11-04
EP3292523A4 (en) 2018-03-14
KR20210144923A (ko) 2021-11-30
KR20200126434A (ko) 2020-11-06
CN107431632B (zh) 2022-09-16
CN107431632A (zh) 2017-12-01

Similar Documents

Publication Publication Date Title
KR102473502B1 (ko) 단기 그룹 채팅을 위한 시스템 및 방법
US11063898B1 (en) Systems and methods for chat with audio and video elements
US11916859B2 (en) Stacked chat conversations
US11687222B2 (en) Prioritizing display of user icons associated with content
US11877093B2 (en) User interfaces to facilitate electronic communication
KR102308415B1 (ko) 메시징 애플리케이션들을 위한 채팅 독
KR102480767B1 (ko) 전자 메시징 애플리케이션에서의 그룹 스토리들
US10474321B2 (en) Network resource location linking and visual content sharing
KR102248095B1 (ko) 컨텍스트에 따른 맞춤화된 미디어 콘텐츠의 생성 및 선택
KR20190089205A (ko) 커스터마이즈된 사용자-제어형 미디어 오버레이들
US11504636B2 (en) Games in chat
KR20200041903A (ko) 애플리케이션-독립적 메시징 시스템
US20230208800A1 (en) Messaging system of partial and out-of-order events
CN114207567A (zh) 消息线程优先化界面

Legal Events

Date Code Title Description
A107 Divisional application of patent
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant