KR20170131573A - 메시징 시스템을 통해 미디어를 공유하고 리믹스하는 기술 - Google Patents

메시징 시스템을 통해 미디어를 공유하고 리믹스하는 기술 Download PDF

Info

Publication number
KR20170131573A
KR20170131573A KR1020177030616A KR20177030616A KR20170131573A KR 20170131573 A KR20170131573 A KR 20170131573A KR 1020177030616 A KR1020177030616 A KR 1020177030616A KR 20177030616 A KR20177030616 A KR 20177030616A KR 20170131573 A KR20170131573 A KR 20170131573A
Authority
KR
South Korea
Prior art keywords
media
application
messaging
media element
user
Prior art date
Application number
KR1020177030616A
Other languages
English (en)
Other versions
KR102290150B1 (ko
Inventor
알렉산더 살렘 프랭클린
매튜 스테이너
Original Assignee
페이스북, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 페이스북, 인크. filed Critical 페이스북, 인크.
Publication of KR20170131573A publication Critical patent/KR20170131573A/ko
Application granted granted Critical
Publication of KR102290150B1 publication Critical patent/KR102290150B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/06Message adaptation to terminal or network requirements
    • H04L51/16
    • 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/216Handling conversation history, e.g. grouping of messages in sessions or threads

Abstract

메시징 시스템을 통해 미디어를 공유하고 리믹스하는 기술이 서술된다. 일부 실시예는 특히 미디어 컨텐츠의 제3자 소스를 홍보함으로써 미디어의 공유와 리믹스를 홍보하는 기술에 관한 것이다. 일실시예에서, 예를 들어, 장치는 메시징 애플리케이션에서 미디어 요소를 수신하도록 동작하는 미디어 관리 컴포넌트; 및 메시지 패키지를 생성하고; 및 메시징 서버로 메시지 패키지를 전송하도록 동작하는 메시징 컴포넌트를 포함하고, 미디어 요소는 미디어 애플리케이션과 연관되고, 메시지 패키지는 미디어 요소를 포함하고, 메시지 패키지는 미디어 요소를 위한 속성 기록을 포함하고, 속성 기록은 미디어 요소를 위한 미디어 애플리케이션과의 애플리케이션간 링크를 포함한다. 다른 실시예가 기술되고 청구된다.

Description

메시징 시스템을 통해 미디어를 공유하고 리믹스하는 기술
사용자는 둘 이상의 사용자 간의 텍스트 기반 대화에서 메시지를 서로 주고 받는 메시징 시스템에서 서로 상호작용할 수 있다. 사용자는 메시징 시스템에서 연관된 사용자 계정을 가질 수 있고, 사용자 계정은 사용자에 대한 온라인 신원, 사용자에게 전달되는 메시지의 목적지를 제공하고 일반적으로 사용자의 메시징 시스템의 접근과 사용을 조정할 수 있다. 사용자는 모바일 장치(예컨대, 휴대전화), 데스크탑 컴퓨터, 웹 브라우저, 전용 메시징 애플리케이션 등을 포함하여 다양한 종점에서 메시징 시스템에 접근할 수 있다.
이하에서는, 본 명세서에 기술되는 일부 새로운 실시예의 기본적인 이해를 제공하기 위해 간략화된 요약이 제시된다. 본 요약은 광범위한 개요는 아니며, 핵심적인/중요한 구성요소들을 식별하거나 그 범위를 상세히 기술하려는 의도는 아니다. 일부 개념은 이후 제시되는 더 상세한 설명에 대한 서두로서 간략화된 형태로 제시된다.
다양한 실시예는 일반적으로 메시징 시스템을 통해 미디어를 공유하고 리믹스하는 기술에 대한 것이다. 일부 실시예는 특히 미디어 컨텐츠의 제3자 소스를 홍보함으로써 미디어의 공유와 리믹스를 홍보하는 기술에 대한 것이다. 일실시예에서, 예를 들어, 장치는 프로세서 회로 상에서 메시징 애플리케이션에서 미디어 요소를 수신하도록 동작하는 미디어 관리 컴포넌트; 및 메시지 패키지를 생성하고; 및 메시징 서버로 메시지 패키지를 전송하도록 동작하는 메시징 컴포넌트를 포함하고, 미디어 요소는 미디어 애플리케이션과 연관되고, 메시지 패키지는 미디어 요소를 포함하고, 메시지 패키지는 미디어 요소를 위한 속성 기록을 포함하고, 속성 기록은 미디어 요소를 위한 미디어 애플리케이션과의 애플리케이션간 링크를 포함한다. 다른 실시예가 기술되고 청구된다.
상술한 관련 목표를 달성하기 위해, 특정한 예시적인 태양들이 본 명세서에서 하기의 상세한 설명 및 첨부도면과 함께 기술된다. 이런 태양들은 본 명세서에 개시된 원리가 실행될 수 있는 다양한 방식을 나타내며, 모든 태양 및 그 균등물은 청구된 발명의 주제의 범위 내에 있도록 의도된다. 다른 이점 및 신규한 특징이 도면과 함께 고려될 때 하기의 상세한 설명으로부터 명백해질 것이다.
본 발명에 따른 실시예들은 특히 방법, 저장 매체, 시스템 및 컴퓨터 프로그램 제품에 대한 첨부된 청구항에 개시되고, 한 청구항 카테고리, 예컨대 방법에 언급된 임의의 특징은 다른 청구항 카테고리, 예컨대 시스템에도 청구될 수 있다. 첨부된 청구항의 인용 또는 참조는 형식상의 이유를 위해 선택되었을 뿐이다. 하지만 임의의 선행 청구항으로의 의도적인 참조(특히 다중 인용)에서 야기되는 임의의 주제 또한 청구될 수 있어, 청구항 및 그 특징의 임의의 조합이 첨부된 청구항에서 선택된 인용에 관계 없이 개시되고 청구될 수 있다. 청구될 수 있는 주제는 첨부된 청구항에 나타난 바와 같은 특징의 조합뿐만 아니라 청구항의 특징의 다른 임의의 조합을 포함하는데, 청구항에 언급된 각 특징은 청구항의 임의의 다른 특징 또는 다른 특징의 조합과 조합될 수 있다. 나아가, 임의의 실시예와 본 명세서에 서술되거나 도시된 특징은 별개의 청구항 및/또는 임의의 실시예나 본 명세서에 서술되거나 도시된 특징과의 또는 첨부된 청구항의 임의의 특징과의 조합에 청구될 수 있다.
본 발명에 따른 실시예에서, 컴퓨터 구현 방법은:
미디어 메시징 시스템의 사용자의 클라이언트 장치 상에서 실행되는 메시징 애플리케이션에서 미디어 요소를 수신하는 단계;
메시지 패키지를 생성하는 단계; 및
미디어 메시징 시스템의 다른 사용자의 하나 이상의 다른 클라이언트 장치로 전달하기 위하여 클라이언트 장치로부터 메시징 서버로 메시지 패키지를 전송하는 단계를 포함할 수 있고,
미디어 요소는 미디어 애플리케이션과 연관되고,
미디어 애플리케이션은 메시징 애플리케이션과는 별개의 애플리케이션으로 클라이언트 장치 상에 설치되고,
메시지 패키지는 미디어 요소를 포함하고,
미디어 요소는 컴퓨터 데이터 표현으로 및/또는 참조로 직접 저장되고,
메시지 패키지는 미디어 요소를 위한 속성 기록을 포함하고,
속성 기록은 미디어 요소를 위한 미디어 애플리케이션과의 애플리케이션간 링크를 포함한다.
또한 청구될 수 있는 본 발명에 따른 실시예에서, 컴퓨터 구현 방법은:
메시징 애플리케이션에서 미디어 요소를 수신하는 단계;
메시지 패키지를 생성하는 단계; 및
메시징 서버로 메시지 패키지를 전송하는 단계를 포함할 수 있고,
미디어 요소는 미디어 애플리케이션과 연관되고,
메시지 패키지는 미디어 요소를 포함하고, 메시지 패키지는 미디어 요소를 위한 속성 기록을 포함하고, 속성 기록은 미디어 요소를 위한 미디어 애플리케이션과의 애플리케이션간 링크를 포함한다.
본 발명에 따른 실시예에서, 컴퓨터 구현 방법은, 메시징 애플리케이션은 클라이언트 장치 상에 설치되고, 미디어 애플리케이션은 클라이언트 장치 상에 메시징 애플리케이션과는 별개의 애플리케이션으로 설치되고, 컴퓨터 구현 방법은:
클라이언트 장치 상의 애플리케이션간 통신을 통해 미디어 애플리케이션으로부터 메시징 애플리케이션에서 미디어 패키지를 수신하는 단계를 더 포함할 수 있고,
미디어 패키지는 미디어 요소 및 애플리케이션간 링크를 포함한다.
본 발명에 따른 실시예에서, 컴퓨터 구현 방법은:
수신된 미디어 패키지로부터 미디어 요소를 추출하는 단계;
메시징 애플리케이션에 미디어 요소의 미리보기를 디스플레이하는 단계;
메시징 애플리케이션에서 미디어 요소의 사용자 미디어 선택을 수신하는 단계; 및
메시징 애플리케이션 내에서 미디어 요소의 사용자 미디어 선택에 응답하여 미디어 요소를 포함하는 메시지 패키지를 생성하는 단계를 더 포함할 수 있다.
본 발명에 따른 실시예에서, 컴퓨터 구현 방법은:
미디어 서버로부터 홍보되는 미디어 저장소를 수신하는 단계;
하나 이상의 홍보되는 미디어 요소를 디스플레이하는 단계;
미디어 요소의 사용자 미디어 선택을 수신하는 단계; 및
미디어 요소의 사용자 미디어 선택에 응답하여 미디어 요소를 포함하는 메시지 패키지를 생성하는 단계를 더 포함할 수 있고,
홍보되는 미디어 저장소는 복수의 홍보되는 미디어 요소를 포함하고, 미디어 요소는 복수의 홍보되는 미디어 요소 중 하나를 포함하고,
디스플레이되는 하나 이상의 홍보되는 미디어 요소는 미디어 요소를 포함한다.
본 발명에 따른 실시예에서, 컴퓨터 구현 방법은:
메시징 애플리케이션의 미디어 요소 발견 섹션에 미디어 요소를 디스플레이하는 단계;
미디어 요소 발견 섹션에서 미디어 요소의 사용자 미디어 선택을 수신하는 단계; 및
미디어 요소의 사용자 미디어 선택에 응답하여 미디어 요소를 포함하는 메시지 패키지를 생성하는 단계를 더 포함할 수 있다.
본 발명에 따른 실시예에서, 컴퓨터 구현 방법은, 메시지 패키지는 메시지 스레드와 연관되고, 컴퓨터 구현 방법은:
메시징 서버로부터 사전 메시지 패키지를 수신하는 단계;
미디어 애플리케이션을 위한 속성 디스플레이 요소와 연관하여 메시지 스레드에 사전 미디어 요소를 디스플레이하는 단계;
속성 디스플레이 요소와 연관하여 사용자 애플리케이션 실행 명령을 수신하는 단계;
사용자 애플리케이션 실행 명령에 응답하여 미디어 애플리케이션을 실행하는 단계;
미디어 애플리케이션으로 사전 애플리케이션간 링크를 전송하는 단계;
사전 애플리케이션간 링크와 연관하여 미디어 애플리케이션으로 메시지 스레드 애플리케이션간 링크를 전송하는 단계;
미디어 애플리케이션으로부터 메시징 애플리케이션에서 미디어 패키지를 수신하는 단계; 및
메시지 스레드와 연관되는 메시지 스레드 애플리케이션간 링크에 기반하여 메시지 스레드에서 미디어 요소의 포함을 유도하는 단계를 더 포함할 수 있고,
사전 메시징 패키지는 메시지 스레드와 연관되고, 사전 메시지 패키지는 사전 미디어 요소를 포함하고, 사전 미디어 요소는 미디어 애플리케이션과 연관되고, 사전 메시지 패키지는 사전 속성 기록을 포함하고, 사전 속성 기록은 사전 애플리케이션간 링크를 포함하고, 사전 애플리케이션간 링크는 미디어 애플리케이션 내에서 사전 미디어 요소를 식별하고,
미디어 패키지는 미디어 요소 및 메시지 스레드와 연관된 메시지 스레드 애플리케이션간 링크를 포함한다.
본 발명에 따른 실시예에서, 컴퓨터 구현 방법은, 메시징 애플리케이션은 클라이언트 장치 상에서 실행되고, 컴퓨터 구현 방법은:
미디어 애플리케이션이 클라이언트 장치 상에 설치되지 않았다고 결정하는 단계; 및
사용자 애플리케이션 실행 명령에 응답하여 클라이언트 장치 상에 미디어 애플리케이션의 설치를 개시하는 단계를 더 포함할 수 있다.
본 발명에 따른 실시예에서, 컴퓨터 구현 방법은:
메시징 서버로부터 사전 메시지 패키지를 수신하는 단계;
사전 미디어 요소를 디스플레이하는 단계;
디스플레이되는 사전 미디어 요소와 연관하여 사용자 리믹스 명령을 수신하는 단계;
사용자 리믹스 명령에 응답하여 미디어 애플리케이션을 실행하는 단계;
미디어 애플리케이션으로 사전 미디어 요소를 전송하는 단계; 및
미디어 애플리케이션으로부터 미디어 요소를 수신하는 단계를 더 포함할 수 있고,
사전 메시지 패키지는 사전 미디어 요소를 포함하고, 사전 미디어 요소는 제2 미디어 애플리케이션과 연관되고,
미디어 요소는 사전 미디어 요소의 수정된 버전을 포함한다.
또한 청구될 수 있는 본 발명에 따른 추가 실시예에서, 장치는:
장치 상의 프로세서 회로;
프로세서 회로 상에서 메시징 애플리케이션에서 미디어 요소를 수신하도록 동작하는 미디어 관리 컴포넌트; 및
메시지 패키지를 생성하고; 및 메시징 서버로 메시지 패키지를 전송하도록 동작하는 메시징 컴포넌트를 포함할 수 있고,
미디어 요소는 미디어 애플리케이션과 연관되고,
메시지 패키지는 미디어 요소를 포함하고, 메시지 패키지는 미디어 요소를 위한 속성 기록을 포함하고, 속성 기록은 미디어 요소를 위한 미디어 애플리케이션과의 애플리케이션간 링크를 포함한다.
본 발명에 따른 실시예에서, 장치는, 메시징 애플리케이션은 장치 상에 설치되고, 미디어 애플리케이션은 클라이언트 장치 상에 메시징 애플리케이션과는 별개의 애플리케이션으로 설치되고, 장치는:
클라이언트 장치 상의 애플리케이션간 통신을 통해 미디어 애플리케이션으로부터 메시징 애플리케이션에서 미디어 패키지를 수신하도록 동작하는 미디어 관리 컴포넌트를 더 포함할 수 있고,
미디어 패키지는 미디어 요소 및 애플리케이션간 링크를 포함한다.
본 발명에 따른 실시예에서, 장치는:
미디어 서버로부터 홍보되는 미디어 저장소를 수신하고; 하나 이상의 홍보되는 미디어 요소를 디스플레이하고; 및 미디어 요소의 사용자 미디어 선택을 수신하도록 동작하는 미디어 관리 컴포넌트; 및
미디어 요소의 사용자 미디어 선택에 응답하여 미디어 요소를 포함하는 메시지 패키지를 생성하도록 동작하는 메시징 컴포넌트를 더 포함할 수 있고,
홍보되는 미디어 저장소는 복수의 홍보되는 미디어 요소를 포함하고, 미디어 요소는 복수의 홍보되는 미디어 요소 중 하나를 포함하고,
디스플레이되는 하나 이상의 홍보되는 미디어 요소는 미디어 요소를 포함한다.
본 발명에 따른 실시예에서, 장치는, 메시지 패키지는 메시지 스레드와 연관되고, 장치는:
메시징 서버로부터 사전 메시지 패키지를 수신하도록 동작하는 메시징 컴포넌트;
미디어 애플리케이션을 위한 속성 디스플레이 요소와 연관하여 메시지 스레드에 사전 미디어 요소를 디스플레이하고; 속성 디스플레이 요소와 연관하여 사용자 애플리케이션 실행 명령을 수신하고; 사용자 애플리케이션 실행 명령에 응답하여 미디어 애플리케이션을 실행하고; 미디어 애플리케이션으로 사전 애플리케이션간 링크를 전송하고; 사전 애플리케이션간 링크와 연관하여 미디어 애플리케이션으로 메시지 스레드 애플리케이션간 링크를 전송하고; 미디어 애플리케이션으로부터 메시징 애플리케이션에서 미디어 패키지를 수신하고; 및 메시지 스레드와 연관되는 메시지 스레드 애플리케이션간 링크에 기반하여 메시지 스레드에서 미디어 요소의 포함을 유도하도록 동작하는 미디어 관리 컴포넌트를 더 포함할 수 있고,
사전 메시징 패키지는 메시지 스레드와 연관되고, 사전 메시지 패키지는 사전 미디어 요소를 포함하고, 사전 미디어 요소는 미디어 애플리케이션과 연관되고, 사전 메시지 패키지는 사전 속성 기록을 포함하고, 사전 속성 기록은 사전 애플리케이션간 링크를 포함하고, 사전 애플리케이션간 링크는 미디어 애플리케이션 내에서 사전 미디어 요소를 식별하고,
미디어 패키지는 미디어 요소 및 메시지 스레드와 연관된 메시지 스레드 애플리케이션간 링크를 포함한다.
본 발명에 따른 실시예에서, 장치는:
미디어 애플리케이션이 장치 상에 설치되지 않았다고 결정하고; 및 사용자 애플리케이션 실행 명령에 응답하여 장치 상에 미디어 애플리케이션의 설치를 개시하도록 동작하는 미디어 관리 컴포넌트를 더 포함할 수 있다.
본 발명에 따른 실시예에서, 장치는:
메시징 서버로부터 사전 메시지 패키지를 수신하도록 동작하는 메시징 컴포넌트;
사전 미디어 요소를 디스플레이하고; 디스플레이되는 사전 미디어 요소와 연관하여 사용자 리믹스 명령을 수신하고; 사용자 리믹스 명령에 응답하여 미디어 애플리케이션을 실행하고; 미디어 애플리케이션으로 사전 미디어 요소를 전송하고; 및 미디어 애플리케이션으로부터 미디어 요소를 수신하도록 동작하는 미디어 관리 컴포넌트를 더 포함할 수 있고,
사전 메시지 패키지는 사전 미디어 요소를 포함하고, 사전 미디어 요소는 제2 미디어 애플리케이션과 연관되고,
미디어 요소는 사전 미디어 요소의 수정된 버전을 포함한다.
또한 청구될 수 있는 본 발명에 따른 추가 실시예에서, 적어도 하나의 컴퓨터 판독가능한 저장 매체로서, 실행될 때 시스템으로 하여금:
메시징 애플리케이션에서 미디어 요소를 수신하고;
메시지 패키지를 생성하고; 및
메시징 서버로 메시지 패키지를 전송하도록 야기하는 명령어를 포함할 수 있고,
미디어 요소는 미디어 애플리케이션과 연관되고,
메시지 패키지는 미디어 요소를 포함하고, 메시지 패키지는 미디어 요소를 위한 속성 기록을 포함하고, 속성 기록은 미디어 요소를 위한 미디어 애플리케이션과의 애플리케이션간 링크를 포함한다.
본 발명에 따른 실시예에서, 적어도 하나의 컴퓨터 판독가능한 저장 매체는, 메시징 애플리케이션은 클라이언트 장치 상에 설치되고, 미디어 애플리케이션은 클라이언트 장치 상에 메시징 애플리케이션과는 별개의 애플리케이션으로 설치되고, 컴퓨터 판독가능한 저장 매체는, 실행될 때 시스템으로 하여금:
클라이언트 장치 상의 애플리케이션간 통신을 통해 미디어 애플리케이션으로부터 메시징 애플리케이션에서 미디어 패키지를 수신하도록 야기하는 명령어를 더 포함할 수 있고,
미디어 패키지는 미디어 요소 및 애플리케이션간 링크를 포함한다.
본 발명에 따른 실시예에서, 적어도 하나의 컴퓨터 판독가능한 저장 매체는 실행될 때 시스템으로 하여금:
미디어 서버로부터 홍보되는 미디어 저장소를 수신하고;
하나 이상의 홍보되는 미디어 요소를 디스플레이하고;
미디어 요소의 사용자 미디어 선택을 수신하고; 및
미디어 요소의 사용자 미디어 선택에 응답하여 미디어 요소를 포함하는 메시지 패키지를 생성하도록 야기하는 명령어를 더 포함할 수 있고,
홍보되는 미디어 저장소는 복수의 홍보되는 미디어 요소를 포함하고, 미디어 요소는 복수의 홍보되는 미디어 요소 중 하나를 포함하고,
디스플레이되는 하나 이상의 홍보되는 미디어 요소는 미디어 요소를 포함한다.
본 발명에 따른 실시예에서, 적어도 하나의 컴퓨터 판독가능한 저장 매체는, 메시지 패키지는 메시지 스레드와 연관되고, 컴퓨터 판독가능한 저장 매체는, 실행될 때 시스템으로 하여금:
메시징 서버로부터 사전 메시지 패키지를 수신하고;
미디어 애플리케이션을 위한 속성 디스플레이 요소와 연관하여 메시지 스레드에 사전 미디어 요소를 디스플레이하고;
속성 디스플레이 요소와 연관하여 사용자 애플리케이션 실행 명령을 수신하고;
사용자 애플리케이션 실행 명령에 응답하여 미디어 애플리케이션을 실행하고;
미디어 애플리케이션으로 사전 애플리케이션간 링크를 전송하고;
사전 애플리케이션간 링크와 연관하여 미디어 애플리케이션으로 메시지 스레드 애플리케이션간 링크를 전송하고;
미디어 애플리케이션으로부터 메시징 애플리케이션에서 미디어 패키지를 수신하고; 및
메시지 스레드와 연관되는 메시지 스레드 애플리케이션간 링크에 기반하여 메시지 스레드에서 미디어 요소의 포함을 유도하도록 야기하는 명령어를 더 포함할 수 있고,
사전 메시징 패키지는 메시지 스레드와 연관되고, 사전 메시지 패키지는 사전 미디어 요소를 포함하고, 사전 미디어 요소는 미디어 애플리케이션과 연관되고, 사전 메시지 패키지는 사전 속성 기록을 포함하고, 사전 속성 기록은 사전 애플리케이션간 링크를 포함하고, 사전 애플리케이션간 링크는 미디어 애플리케이션 내에서 사전 미디어 요소를 식별하고,
미디어 패키지는 미디어 요소 및 메시지 스레드와 연관된 메시지 스레드 애플리케이션간 링크를 포함한다.
본 발명에 따른 실시예에서, 적어도 하나의 컴퓨터 판독가능한 저장 매체는, 메시징 애플리케이션은 클라이언트 장치 상에서 실행되고, 컴퓨터 판독가능한 저장 매체는, 실행될 때 시스템으로 하여금:
미디어 애플리케이션이 클라이언트 장치 상에 설치되지 않았다고 결정하고; 및
사용자 애플리케이션 실행 명령에 응답하여 클라이언트 장치 상에 미디어 애플리케이션의 설치를 개시하도록 야기하는 명령어를 더 포함할 수 있다.
본 발명에 따른 실시예에서, 적어도 하나의 컴퓨터 판독가능한 저장 매체는 실행될 때 시스템으로 하여금:
메시징 서버로부터 사전 메시지 패키지를 수신하고;
사전 미디어 요소를 디스플레이하고;
디스플레이되는 사전 미디어 요소와 연관하여 사용자 리믹스 명령을 수신하고;
사용자 리믹스 명령에 응답하여 미디어 애플리케이션을 실행하고;
미디어 애플리케이션으로 사전 미디어 요소를 전송하고; 및
미디어 애플리케이션으로부터 미디어 요소를 수신하도록 야기하는 명령어를 더 포함할 수 있고,
사전 메시지 패키지는 사전 미디어 요소를 포함하고, 사전 미디어 요소는 제2 미디어 애플리케이션과 연관되고,
미디어 요소는 사전 미디어 요소의 수정된 버전을 포함한다.
또한 청구될 수 있는 추가 실시예에서, 컴퓨터 구현 방법은:
메시징 애플리케이션에서 미디어 요소를 수신하는 단계;
메시지 패키지를 생성하는 단계; 및
메시징 서버로 메시지 패키지를 전송하는 단계를 포함하고,
미디어 요소는 미디어 애플리케이션과 연관되고,
메시지 패키지는 미디어 요소를 포함하고, 메시지 패키지는 미디어 요소를 위한 속성 기록을 포함하고, 속성 기록은 미디어 서버 상에서 미디어 요소로의 네트워크 접근을 위해 미디어 애플리케이션을 위한 네트워크 컴포넌트를 구성하도록 동작한다.
또한 청구될 수 있는 본 발명에 따른 추가 실시예에서, 컴퓨터 구현 방법은:
메시징 애플리케이션에서 미디어 패키지를 수신하는 단계;
미디어 서비스 속성 기록에 기반하여 미디어 서버 상에서 미디어 요소로의 네트워크 접근을 위해 메시징 애플리케이션을 위한 네트워크 컴포넌트를 구성하는 단계;
메시지 패키지를 생성하는 단계; 및
메시징 서버로 메시지 패키지를 전송하는 단계를 포함할 수 있고,
미디어 패키지는 미디어 애플리케이션과 연관되고, 미디어 패키지는 미디어 요소 및 미디어 서비스 속성 기록을 포함하고,
메시지 패키지는 미디어 요소를 포함하고, 메시지 패키지는 미디어 요소를 위한 미디어 애플리케이션 속성 기록을 포함하고, 미디어 애플리케이션 속성 기록은 미디어 요소를 위한 미디어 애플리케이션과의 애플리케이션간 링크를 포함한다.
본 발명에 따른 추가 실시예로, 하나 이상의 컴퓨터-판독가능한 비-일시적 저장매체는 본 발명 또는 상술한 실시예들 중 임의의 것에 따른 방법을 수행하도록 실행시 동작가능한 소프트웨어를 포함한다.
본 발명에 따른 추가 실시예로에서 시스템은: 하나 이상의 프로세서; 및 프로세서에 연결되고 프로세서에 의해 실행가능한 명령어를 포함하는 적어도 하나의 메모리를 포함하고, 상기 프로세서는 본 발명 또는 위에서 언급된 실시예들 중 어느 하나에 따른 방법을 수행하는 명령어를 실행할 때 동작한다.
본 발명에 따른 추가 실시예로, 바람직하게는 컴퓨터-판독가능한 비-일시적 저장 매체를 포함하는 컴퓨터 프로그램 제품이 데이터 처리 시스템에서 실행시 본 발명 또는 상술한 실시예들 중 임의의 것에 따른 방법을 수행하도록 동작가능하다.
본 발명의 내용 중에 포함되어 있다.
도 1은 미디어 메시징 시스템의 일실시예를 도시한다.
도 2a는 공유 컨트롤를 가지는 메시징 애플리케이션을 위한 사용자 인터페이스의 일실시예를 도시한다.
도 2b는 사용가능한 미디어 요소를 디스플레이하는 메시징 애플리케이션을 위한 사용자 인터페이스의 일실시예를 도시한다.
도 3a는 메시지 스레드에 속성이 있는 미디어 요소를 디스플레이하는 메시징 애플리케이션을 위한 사용자 인터페이스의 일실시예를 도시한다.
도 3b는 딥 링크된(deep-linked) 미디어 요소를 위한 페이지를 디스플레이하는 미디어 애플리케이션을 위한 사용자 인터페이스의 일실시예를 도시한다.
도 3c는 임포트된 제2 미디어 요소의 공유를 승인하기 위한 공유 컨트롤을 디스플레이하는 메시징 애플리케이션을 위한 사용자 인터페이스의 일실시예를 도시한다.
도 3d는 임포트된 제2 미디어 요소의 승인된 공유를 디스플레이하는 메시징 애플리케이션을 위한 사용자 인터페이스의 일실시예를 도시한다.
도 4는 메시징 서버를 통해 동일한 클라이언트 장치 상에서 실행되는 미디어 애플리케이션으로부터 수신된 미디어 요소를 공유하는 메시징 애플리케이션의 일실시예를 도시한다.
도 5는 미디어 애플리케이션과 연관된 미디어 서버로부터 미디어 패키지를 수신하는 메시징 애플리케이션의 일실시예를 도시한다.
도 6은 애플리케이션간 링크로 미디어 애플리케이션을 실행하는 메시징 애플리케이션의 일실시예를 도시한다.
도 7은 도 1의 미디어 메시징 시스템에 대한 로직 흐름의 일실시예를 도시한다.
도 8은 도 1의 미디어 메시징 시스템에 대한 중앙형 시스템의 일실시예를 도시한다.
도 9는 도 1의 미디어 메시징 시스템에 대한 분산형 시스템의 일실시예를 도시한다.
도 10은 컴퓨팅 구조의 일실시예를 도시한다.
도 11은 통신 구조의 일실시예를 도시한다.
도 12는 라디오 장치 구조의 일실시예를 도시한다.
사람들은 새롭고 표현력이 있는 통신 방법을 원한다. 그들은 새 미디어 컨텐츠와 컨텐츠를 생성 및 수정하는 새로운 방법에 접근할 수 있게 하는 미디어 컨텐츠 애플리케이션을 찾는다. 미디어 발견, 생성 및 수정 도구가 메시징 애플리케이션 내에 통합될 수 있지만, 더 큰 애플리케이션 개발 커뮤니티가 개발한 미디어 도구의 독창성과 폭에 필적하는 것은 비현실적일 수 있다. 대신, 새롭고 흥미로운 미디어 애플리케이션이 사용자가 메시진 대화 내에서 미디어의 소스에 속성을 제공하면서 그 컨텐츠를 공유할 수 있게 함을 통해 홍보되고 발견될 수 있다. 사용자는 특히 그 친구에 의해 컨텐츠의 속성이 있는 공유를 통해 암묵적으로 추천 받을 때 친숙하지 않은 미디어 애플리케이션을 탐색하는데 흥미 있을 수 있다. 사용자는 선호하는 메시징 애플리케이션에서 발견하고 생성한 컨텐츠를 쉽게 공유할 수 있게 됨으로써 새 미디어 애플리케이션에 확장된 연결을 경험할 수 있다.
모바일 장치의 사용자는 인터넷을 통해 배포된 막대한 양의 미디어 컨텐츠에 대한 액세스를 가진다. 사용자는 메시징 애플리케이션을 사용하여 친구와 통신하고, 다양한 미디어 애플리케이션을 활용하여 사진, 애니메이션, 영화 클립, 음악, 게임 및 정보성 컨텐츠(예컨대, 영화 상영 시간)와 같은 미디어를 저장, 탐색 및 발견할 수 있다. 이들 미디어 애플리케이션이 공유를 지원할 수 있지만, 사용자는 미디어를 선호하는 메시징 애플리케이션으로 임포트하고 메시징 대화의 흐름 속에서 미디어를 공유할 수 있게 됨으로써 혜택을 볼 수 있다.
유사하게, 미디어 애플리케이션은 공유된 미디어의 소스의 속성을 제공하도록 구성된 메시징 애플리케이션 내에서 공유된 미디어를 가짐으로써 혜택을 볼 수 있다. 속성이 있는 미디어 요소를 수신하는 사용자는 만약 이전에 사용한 적이 없다면 관련 미디어 애플리케이션을 설치하고, 만약 이전에 설치한 적이 있으나 한동안 사용하지 않았다면 관련 미디어 애플리케이션에 재방문하도록 유도될 수 있거나, 단순히 장치의 일반 애플리케이션 런처를 통해 미디어 애플리케이션을 실행하는 대신 직접 액세스 컨트롤을 통해 미디어에 액세스하는 편의성으로 혜택을 줄 수 있다. 이것은 미디어 애플리케이션에 더 큰 노출 및 증가된 사용을 제공할 수 있다.
인스턴트 메시징 대화의 사용자 참여는 사용자가 최소한의 중단으로 손끝에서 공유하고자 하는 컨텐츠를 정확히 표현하는 이득이 있는 빠르고 쉬운 스타일의 통신에 부합할 수 있다. 메시징 대화에서 사진, 애니메이션, 비디오 또는 노래를 수신하는 사용자는 사용자의 인터페이스의 몇몇 조작으로 그 자신의 사진, 애니메이션, 비디오 또는 노래로 응답하기 원할 수 있다. 사용자는 메시징 애플리케이션 및 그가 원하는 미디어 컨텐츠에 액세스를 제공하는 미디어 애플리케이션 간에 빠르게 왔다갔다하는 혜택을 볼 수 있다. 사용자는 또한 메시징 애플리케이션 자체의 미디어 발견 영역 내에서 미디어 애플리케이션의 미디어 컨텐츠의 적어도 일부를 보는 혜택을 볼 수 있다. 그리고 미디어 애플리케이션의 개발자는 컨텐츠가 공유될 때마다 적절한 속성과 기존 사용자와 잠재적인 새 사용자에게 그 서비스의 홍보를 수신할 것임을 알게 되는 확신 덕분에 그 컨텐츠를 쉽게 사용가능하게 만드는 혜택을 볼 수 있다.
그 결과, 이들 기술은 사용자를 위한 메시징 경험을 향상시키고 실제로 사용되는 미디어 애플리케이션을 홍보할 수 있다. 속성을 통해 홍보를 수신하고 새 사용자가 더 많은 새 컨텐츠를 제공함에 따라 인지도가 증가하는 흥미로운 새 미디어 애플리케이션은 사람들이 컨텐츠를 사용하게 하는 독창적인 미디어 애플리케이션이 더 많은 시청자에게 도달하는 혜택을 받는 한편 메시징 사용자가 발견, 수정 및 공유할 훌륭한 새 미디어를 수신하는 선순환을 만들 수 있다.
이제 도면을 참조하면, 유사한 참조번호는 전체적으로 유사한 구성요소를 나타내도록 사용된다. 이하의 기술에서, 설명의 목적을 위해, 다수의 구체적인 세부사항이 더욱 완전한 이해를 제공하기 위해 제시된다. 그러나, 신규한 실시예들은 이런 구체적인 세부사항 없이 실행될 수 있음이 명백할 수 있다. 다른 예들에서, 널리 알려진 구조 및 장치는 그에 대한 설명을 용이하게 하기 위해 블록 다이어그램 형태로 도시된다. 이는 청구되는 발명의 대상과 일관되는 모든 수정물, 균등물, 및 대안물을 포괄하려는 의도이다.
본 명세서에서 사용되는 "a", "b", "c" 및 유사한 지시어들은 임의의 양의 정수를 표현하는 변수들을 의도한 것이라는 점을 유의해야 한다. 따라서, 예컨대, 구현에서 a=5라고 설정하면, 컴포넌트(122-1 내지 122-a)로 도시되는 컴포넌트(122)의 전체 세트는 컴포넌트들(122-1, 122-2, 122-3, 122-4 및 122-5)을 포함할 수 있다. 실시예들이 이와 같은 문맥으로 제한되는 것은 아니다.
도 1은 미디어 메시징 시스템(100)의 블록도를 도시한다. 일실시예에서, 미디어 메시징 시스템(100)은 하나 이상의 컴포넌트를 포함하는 소프트웨어 애플리케이션을 가지는 컴퓨터 구현 시스템을 포함할 수 있다. 도 1에 도시된 미디어 메시징 시스템(100)이 특정 배치에서 제한된 수의 요소를 갖지만, 미디어 메시징 시스템(100)은 주어진 구현예를 위한 대안적 배치에서 더 많거나 적은 요소를 포함할 수 있음이 인식될 수 있다.
사용자의 미디어 메시징 시스템(100)에 대한 액세스는 클라이언트 장치(120) 상에 사용자 애플리케이션으로 설치되고 클라이언트 장치(120) 상에서 로컬로 실행되는 메시징 애플리케이션(140)일 수 있다. 일부 경우에, 메시징 애플리케이션(140)은 다른 기능을 포함할 수 있다. 예를 들어, 메시징 애플리케이션(140)은 소셜 네트워킹 서비스로의 프론트-엔드일 수 있고, 소셜 네트워킹 서비스와 연관되어 메시징 서비스를 제공할 수 있다. 많은 경우에, 클라이언트 장치(120)는 스마트폰, 휴대전화 또는 인터넷과 네트워크 자원에 액세스하기 위해 Wi-Fi와 셀룰러 데이터 네트워크의 조합을 사용하는 다른 모바일 장치일 수 있으나, 임의의 형태의 네트워크 액세스가 사용될 수 있음이 인식될 것이다. 예를 들어, 인터넷 가능한 장치(예컨대, 휴대전화, 개인용 컴퓨터)로 테더링하는 스마트 워치나 개인용 컴퓨터로 테더링하는 휴대전화와 같이 한 장치는 다른 장치를 테더링할 수 있다. 클라이언트 장치(120)는 메시징 애플리케이션(140), 하나 이상의 미디어 애플리케이션(130) 및 다른 사용자 애플리케이션을 포함하여 복수의 애플리케이션을 실행할 수 있다. 하지만 다른 실시예에서, 클라이언트 장치(120)는 개인용 컴퓨터 장치, 휴대용 디지털 보조 장치, 태블릿 장치 또는 임의의 다른 형태의 컴퓨팅 장치를 포함할 수 있다. 유사하게, 일부 경우와 실시예에서, 사용자는 웹 기반 애플리케이션으로 실행되는 메시징 애플리케이션(140)으로 웹 포탈을 통하여 미디어 메시징 시스템(100)에 접근할 수 있다.
클라이언트 장치(120)는 네트워크 트래픽을 교환하기 위하여 무선 전송을 사용하여 다른 장치와 통신할 수 있다. 메시징 트랜잭션의 교환에 포함될 수 있는 것과 같이, 네트워크 트래픽의 교환은 네트워크 인터페이스 컨트롤러(125)(NIC)를 통해 네트워크 트래픽 송수신을 포함할 수 있다. NIC는 컴퓨터 장치, 가령 클라이언트 장치(120)를 컴퓨터 네트워크에 연결하는 하드웨어 구성요소를 포함한다. NIC는 소프트웨어 애플리케이션이 NIC에 액세스하고 사용하도록 권한을 부여하는 소프트웨어 네트워크 인터페이스와 연관될 수 있다. 네트워크 트래픽은 데이터 링크 상에서 송신되는 신호로서 컴퓨터 네트워크 상에서 수신될 수 있다. 네트워크 트래픽은 이러한 신호를 캡처하고 해석함으로써 수신될 수 있다. NIC는 컴퓨터 네트워크 상에서 네트워크 트래픽을 수신하고 네트워크 인터페이스 애플리케이션 프로그래밍 인터페이스(API)를 사용하여 소프트웨어 애플리케이션에 액세스가능한 메모리 저장소로 네트워크 트래픽을 전달할 수 있다. 네트워크 인터페이스 컨트롤러(135)는 네트워크 통신을 통한 미디어 애플리케이션(130), 미디어 서버, 메시징 애플리케이션(140) 및 메시징 서버(180)의 상호 동작을 포함하여 본 명세서에 서술되는 실시예의 네트워크 활동을 위해 사용될 수 있다. 예를 들어, 메시징 서버(180)로 메시지 패키지(170)를 전송하는 메시징 애플리케이션(140)은 메시지 패키지(170)의 전송을 위해 통신 네트워크로의 네트워크 액세스를 위해 네트워크 인터페이스 컨트롤러(125)를 사용하는 것으로 해석될 수 있다.
미디어 애플리케이션(130)은 미디어 컨텐츠 검색, 미디어 컨텐츠 발견, 미디어 컨텐츠 공유, 미디어 컨텐츠 저장, 미디어 컨텐츠 액세스, 미디어 컨텐츠 수정 및 미디어 컨텐츠 조합 중 하나 이상을 위한 애플리케이션을 포함할 수 있다. 각 미디어 애플리케이션은 하나 이상의 미디어 서비스와 연관되고, 특정 미디어 서비스를 위한 전용 미디어 애플리케이션이나 복수의 미디어 서비스와 상호 동작하는 미디어 애플리케이션일 수 있다. 각 미디어 서비스는 미디어 컨텐츠를 저장, 검색, 및 일반적으로 교환하기 위한 하나 이상의 미디어 서버(135)를 제공할 수 있다.
미디어 서버(135)는 미디어 패키지 번들을 포함하는 로컬 미디어 애플리케이션(130)에 미디어 저장소를 배포할 수 있고, 각 미디어 패키지는 미디어 요소(미디어 컨텐츠의 특정 인스턴스) 및 연관된 정보를 포함한다. 미디어 패키지(105)의 미디어 요소(110)를 위한 연관된 정보는 속성 기록(115)을 포함할 수 있고, 속성 기록(115)은 미디어 서비스, 미디어 애플리케이션 및 미디어 요소(110)의 다른 소스에 대한 정보를 캡슐화한다.
속성 기록(115)은 애플리케이션간 링크를 포함할 수 있고, 애플리케이션간 링크는 관련된 미디어 애플리케이션 및/또는 미디어 서비스의 컨텐츠 공간 내에서 미디어 요소(110)를 식별하고 그럼으로써 미디어 애플리케이션 및/또는 미디어 서비스 내에서 미디어 요소(110)로의 딥 링크로 동작한다. 애플리케이션간 링크는 미디어 애플리케이션이나 미디어 서버가 특정 페이지, 뷰나 연관된 미디어 요소(110)를 위한 정보의 다른 저장소를 탐색할 수 있게 할 수 있다. 애플리케이션간 링크는 특정 미디어 애플리케이션/미디어 서비스에 대하여 클라이언트 장치에 걸쳐 범용일 수 있다. 따라서 애플리케이션간 링크는 사용자가 충분한 문맥적 정보와 함께 미디어 요소(110)를 공유하여 수신 사용자가 연관된 미디어 애플리케이션/미디어 서비스의 컨텍스트 내에서 미디어 요소(110)에 접근할 수 있게 할 수 있다.
이와 같이, 속성 기록(115)은 복수의 미디어 서버(135) 중 한 미디어 서버 상의 연관된 미디어 요소(110)로의 네트워크 접근을 위한 애플리케이션을 위한 네트워크 컴포넌트를 구성하도록 동작할 수 있다. 속성 기록(115)은 메시징 애플리케이션(140)과 하나 이상의 미디어 애플리케이션(130)을 구성하도록 동작할 수 있다. 속성 기록(115)은 복수의 미디어 서버(135) 중 하나 이상의 미디어 서버에서 사용가능한 복수의 미디어 요소 중에서 특정 미디어 요소(110)를 식별하는 애플리케이션간 링크를 포함할 수 있다. 속성 기록(115)은 네트워크 컴포넌트가 미디어 요소(110)가 인가된 사용자와만 공유될 수 있도록 등록된 미디어 요소(110)와 같은 사설, 또는 다른 비공개 미디어 요소에 접근할 수 있게 하는 보안 정보를 포함할 수 있다. 예를 들어, 사용자는 온라인 사진 앨범을 관리하고 그 사용자 및 앨범을 보도록 초대된 다른 사용자로 접근을 제한하는 온라인 사진 앨범을 위한 보안 설정을 표시할 수 있다. 속성 기록(115)은 보안 토큰, 암호 또는 미디어 서버 상의 미디어 요소(110)에 - 및 잠재적으로 다른 관련 미디어 요소에 - 접속할 수 있게 하는 다른 보안 정보를 포함할 수 있다. 이와 같이, 메시징 애플리케이션(140)은 미디어 서비스 속성 기록을 포함하는 미디어 패키지를 수신하고 미디어 서비스 속성 기록에 기반하여 미디어 서버 상의 미디어 요소(110)로의 네트워크 접근을 위한 메시징 애플리케이션을 위한 네트워크 컴포넌트를 구성할 수 있다. 메시징 애플리케이션(140)이 미디어 요소(110)를 공유하는 경우, 메시징 애플리케이션(140)은 미디어 서버 상의 미디어 요소(110)로의 네트워크 접근을 위한 미디어 애플리케이션을 위한 네트워크 컴포넌트를 구성하도록 동작하는 미디어 애플리케이션 속성 기록을 가지는 메시지 패키지를 생성할 수 있다.
메시징 애플리케이션(140)은 미디어 관리 컴포넌트(160)를 포함할 수 있다. 미디어 관리 컴포넌트(160)는 일반적으로 메시징 애플리케이션(140)의 컨텍스트 내에서 미디어 컨텐츠를 관리하도록 배치될 수 있다. 미디어 관리 컴포넌트(160)는 미디어 컨텐츠를 미디어 메시징 시스템(100)에서 메시징을 위해, 따라서 다른 사용자와 교환하기 위해 클라이언트 장치(120)의 사용자에게 사용가능하게 만들 수 있다. 미디어 관리 컴포넌트(160)는 복수의 미디어 애플리케이션(130)으로부터의 미디어를 위한 교차점으로 동작할 수 있고, 미디어 애플리케이션(130)의 미디어 컨텐츠의 사용자를 위해 통일된 뷰와 통일된 관리를 표시할 수 있다. 미디어 관리 컴포넌트(160)는 메시징 애플리케이션(140)이 복수의 미디어 애플리케이션(130)과 상호동작하고, 미디어 애플리케이션(130)으로부터 미디어 컨텐츠를 수신하고, 미디어 애플리케이션(130)에 미디어 컨텐츠를 제출하고, 미디어 애플리케이션(130) 내에서 기존 미디어 컨텐츠의 열람을 불러오고, 한 미디어 애플리케이션(130)에서 다른 것으로 미디어 컨텐츠를 이동시킬 수 있게 할 수 있다.
미디어 애플리케이션(130)은 메시징 컴포넌트(150)를 포함할 수 있다. 메시징 컴포넌트(150)는 일반적으로 클라이언트 장치(120)의 사용자에게 메시징 서비스를 제공하도록 배치될 수 있다. 메시징 서비스는 메시지의 수신, 메시지의 송신, 교환된 메시지 내역의 관리 및 다른 메시징 관련 활동을 포함할 수 있다. 메시징 애플리케이션(140)의 사용자는 비공개 사용자 대 사용자 대화, 셋 이상의 사용자 간의 그룹 대화 및 일반적으로 메시징 커뮤니티에 공개되는 공개 대화에서 복수의 다른 사용자와의 메시징 대화에 참여할 수 있다. 메시징 컴포넌트(150)는 미디어 관리 컴포넌트(160)와 상호 동작하여 임의의 이들 메시징 대화를 미디어 관리 컴포넌트(160)가 관리하는 미디어 컨텐츠로 강화할 수 있다.
미디어 메시징 시스템(100)은 복수의 메시징 서버 중 메시징 서버(180)를 포함할 수 있다. 메시징 서버(180)는 미디어 메시징 시스템(100)의 사용자의 메시징 종점 간의 중간으로 동작할 수 있다. 메시징 서버(180)는 네트워크를 변경하는 사용자의 활성 메시징 종점이나 종점들(예컨대, Wi-Fi 네트워크간, 셀룰러 데이터 네트워크간 및 Wi-Fi와 셀룰러 데이터 네트워크간에서 이동하는 클라이언트 장치(120))의 현재 네트워크 주소를 추적할 수 있다. 메시징 서버(180)는 메시징 종점이 오프라인이거나 새 메시지를 다르게 허용하지 않을 때 메시징 종점을 위해 메시지를 큐잉할 수 있다. 메시징 서버(180)는 사용자가 사용할 수 있는 다수의 잠재적 메시징 종점 간에 통신의 흐름에 일관성을 제공하기 위하여 특정 사용자를 위한 메시지의 순서를 제공할 수 있다. 메시징 서버(180)는 사용자를 위해 이전에 송신 또는 수신된 메시지에 액세스를 제공하기 위하여 각 사용자를 위한 메시징 내역을 저장할 수 있다. 메시징 내역은 미디어 메시징 시스템(100)을 사용하여 사용자 간에 교환되는 미디어를 포함할 수 있다.
메시징 컴포넌트(150)는 메시지 패키지(170)를 미디어 메시징 시스템(100)의 하나 이상의 사용자에게 전달하기 위하여 메시징 서버(180)로 전송할 수 있다. 메시지 패키지(170)는 메시지 패키지(170)의 하나 이상의 사용자를 식별하는 하나 이상의 전달 사용자 식별자와 같은 전달 정보를 포함할 수 있다. 메시지 패키지(170)는 미디어 요소(110)와 속성 기록(115)을 포함하는 미디어 패키지(105)를 포함할 수 있다. 이와 같이, 메시지 패키지(170)는 미디어 요소 및, 잠재적으로 텍스트 메시지 컴포넌트를 통합하는 리치 메시지를 포함할 수 있다. 일부 경우에 텍스트 메시지는 메시징 서버(180)를 통해 연관된 미디어 요소 없이 송신될 수 있음을 인식할 것이다. 메시징 서버(180)는 메시지 패키지(170)를 수신하고 메시지 패키지(170)를 위한 전달 사용자 식별자로 식별된 전달 사용자 계정과 연관된 메시징 종점 - 제2 클라이언트 장치(190) 상의 메시징 애플리케이션(140)의 설치와 같은 - 으로 전달할 수 있다.
미디어 요소(110)가 이미 메시징 서버(180)나 미디어 메시징 시스템(100)이 접근가능한 미디어 서버 상에 저장된 경우 미디어 요소(110)는 클라이언트 장치(120)로부터 전송되지 않아도 된다. 메시징 애플리케이션(140)은 미디어 요소(110)의 해시를 생성 또는 검색하고 해시를 메시징 서버(180)로 전송하여 미디어 요소(110)가 이미 미디어 메시징 시스템(100)에서 사용가능한지 여부를 결정할 수 있다. 메시징 서버(180)는 미디어 요소(110)가 이미 사용가능하고 따라서 재업로드되지 않아야 되는지 여부를 표시할 수 있다. 메시징 서버(180)는 미디어 요소(110)가 해시에 기반하여 사용가능한 것으로 결정되지 않을 때 클라이언트 장치(120)로부터 미디어 요소(110)의 업로드를 요청할 수 있다. 유사하게, 미디어 요소(110)가 네트워크 접근가능한 소스로의 URL(unified resource locator)로 표현되는 경우, 미디어 요소(110)의 업로드는 회피될 수 있다. 이들 기술은 미디어 요소 공유에 사용되는 밴드폭을 감소시키도록 작용할 수 있다. 미디어 메시징 시스템(100)의 통일된 플랫폼을 사용함으로써, 미디어 요소(110)가 네트워크 접근가능한 미디어 요소의 네트워크 위치에 대한 가시성을 가짐에 따라 미디어 요소 공유의 밴드폭 사용은 감소될 수 있고 중복 업로드를 제거하기 위하여 해시를 사용하여 복수의 미디어 애플리케이션 소스로부터 미디어 요소를 저장할 수 있다. 이 밴드폭 사용 감소는 미디어 공유의 속도를 증가시키고, 셀룰러 프로바이더로부터의 사용자의 밴드폭 할당의 사용을 감소시키고, 미디어 요소(110)의 업로드를 수행하는데 수반될 수 있는 배터리 사용을 제거하고, 이로써 미디어 공유를 위한 전체 배터리 사용을 감소시킨다.
미디어 요소(110)는 다양한 실시예에서 다양한 기술에 따라 미디어 메시징 시스템(100)에 의해 관리 및 조작될 수 있다. 일부 경우에, 미디어 요소(110)는 미디어 패키지(105) 내에 컴퓨터 데이터 표현으로 직접 저장될 수 있다. 예를 들어, 이미지 미디어 요소는 미디어 패키지(105) 내에 JPEG(Joint Photographic Expert Group) 디지털 이미지로 저장될 수 있다. 다른 경우에, 미디어 요소(110)는 미디어 패키지(105) 내에 참조로 저장될 수 있는데, 참조는 미디어 요소(110)에 대한 네트워크 접근가능한 주소를 제공하는 리소스 로케이터 - URL과 같은 - 를 포함한다. 이와 같이, 미디어 관리 컴포넌트(160)는 로컬 주소를 위해 클라이언트 장치(120) 상의 미디어 요소(110)의 인스턴스를 캐시할 수 있지만, 미디어 요소(110)는 제2 클라이언트 장치(190)로의 전송 동안 클라이언트 장치(120)가 미디어 요소(110)을 업로드하는 것을 피하기 위하여 리소스 로케이터를 사용하여 공유될 수 있다. 대신, 제2 클라이언트 장치(190) 상의 메시징 애플리케이션(140)은 미디어 요소(110)를 리소스 로케이터로 수신하고 리소스 로케이터 수신 후 미디어 요소(110)의 인스턴스를 페치할 수 있다. 이것은 제2 클라이언트 장치(190)가 미디어 요소(110)를 다운로드하기 위하여 미디어 서버(135)의 저장소 및 밴드폭을 잠재적으로 활용하지 않고 클라이언트 장치(120)를 위한 업로드 밴드폭 사용을 제거한다. 대안적으로, 메시징 서버(180)는 미디어 요소(110)의 캐시 또는 검색하고 메시지 패키지(170)를 제2 클라이언트 장치(190)로 전달할 때 메시지 패키지(170)에 포함시킬 수 있다. 일반적으로, 미디어 컨텐츠 포매팅 및 저장을 위한 임의의 알려진 기술이 사용될 수 있음을 인식할 것이다. 일부 경우에, 미디어 메시징 시스템(100)은 업로드 전 또는 제2 클라이언트 장치(190)로 전송 전에 미디어 요소(110)를 리사이즈하거나, 재코딩하거나, 포맷을 변경하거나, 품질 수준을 변경할 수 있다. 이것은 미디어 요소(110)를 저장하는데 사용되는 저장 공간 또는 미디어 요소(110)를 업로드나 다운로드하는데 사용되는 밴드폭을 감소시키기 위하여 수행될 수 있다.
미디어 메시징 시스템(100)은 사용자들간의 상호작용으로부터 생성된 지식을 사용할 수 있다. 미디어 메시징 시스템(100)은 소셜 네트워킹 서비스의 컴포넌트를 포함할 수 있고 소셜 네트워킹 서비스의 더 넓은 상호작용으로부터 생성된 지식을 사용할 수 있다. 이와 같이, 미디어 메시징 시스템(100)과 더 큰 소셜 네트워킹 서비스의 사용자의 사생활을 보호하기 위하여, 미디어 메시징 시스템(100)은 사용자가 예컨대, 적절한 개인정보 설정을 설정함으로써 그들의 행위가 미디어 메시징 시스템(100)에 의해 로그되거나 다른 시스템(예컨대, 제3자 시스템)과 공유되도록 하는 것에 참여하거나 참여하지 않도록 허용하는 인증 서버(또는 다른 적절한 컴포넌트(들))를 포함할 수 있다. 사용자의 개인정보 설정은 사용자와 연관된 어떤 정보가 로그될 수 있는지, 사용자와 연관된 정보가 어떻게 로그될 수 있는지, 사용자와 연관된 정보가 언제 로그될 수 있는지, 사용자와 연관된 정보를 누가 로그할 수 있는지, 사용자와 연관된 정보가 누구와 공유될 수 있는지, 및 어떤 목적으로 사용자와 연관된 정보가 로그되거나 공유되는지를 결정할 수 있다. 인증 서버 또는 다른 인증 컴포넌트가 적절한 경우 차단, 데이터 해싱, 익명화, 또는 다른 적절한 기술을 통해 미디어 메시징 시스템(100)의 사용자들 및 소셜 네트워킹 서비스의 다른 요소들의 하나 이상의 개인정보 설정을 강제하는데 사용될 수 있다. 예컨대, 소셜 네트워킹 서비스의 사용자들 및 소셜 네트워킹 서비스 사이의 상호작용은 미디어 컨텐츠 설정 및 상이한 조각의 미디어 컨텐츠간의 관계를 습득하는데 사용될 수 있는 한편, 이러한 상호작용은 습득 프로세스 이전에 또는 그 일부로서 익명화될 수 있다.
도 2a는 메시징 애플리케이션 공유 컨트롤(220)을 가지는 메시징 애플리케이션(140)을 위한 사용자 인터페이스의 일실시예를 도시한다.
메시징 애플리케이션(140) 또는 미디어 애플리케이션 내의 공유나 미디어 요소 시청을 위한 컨트롤은 대응 애플리케이션 사용 행위를 홍보하는 컨트롤에 의한 “콜 투 액션” 버튼에 대응할 수 있다. 예를 들어, 애플리케이션을 설치하는 컨트롤은 “설치 콜 투 액션”을 포함할 수 있고, 애플리케이션을 실행하는 컨트롤은 “실행 콜 투 액션”을 포함할 수 있는 등이다.
도 2a에 도시된 실시예에서, 메시징 애플리케이션(140)은 메시지 스레드(210)를 디스플레이한다. 도시된 메시지 스레드(210)는 두 사용자 간의 비공개 메시징 대화에 대응한다. 클라이언트 장치(120)의 사용자인 제1 사용자는 미디어 메시징 시스템(100)을 위한 사용자 계정과 연관된 사용자 아바타(205)로 메시지 스레드(210)에서 시각적으로 표현된다. 제2 클라이언트 장치(190)의 사용자인 제2 사용자는 미디어 메시징 시스템(100)을 위한 각 사용자 계정과 연관된 제2 사용자 아바타(207)로 메시지 스레드(210)에서 시각적으로 표현된다.
클라이언트 장치(120)와 메시징 애플리케이션(140)의 사용자는 텍스트 컨트롤(215)을 사용하여 메시지 스레드(210)의 텍스트 요소, 예컨대 제2 클라이언트 장치(190)의 제2 사용자에게 전송하기 위한 텍스트 메시지를 입력할 수 있다. 텍스트 컨트롤(215)과 메시징 애플리케이션(140)의 다른 컨트롤이 터치 스크린 상의 터치 컨트롤로 도시되지만, 하드웨어 키보드와 하드웨어 포인터 컨트롤을 포함하여 다른 컨트롤이 다른 실시예에서 사용될 수 있음을 인식할 것이다.
사용자 인터페이스(200)는 메시징 애플리케이션 공유 컨트롤(220)을 포함한다. 도시된 실시예에서, 메시징 애플리케이션 공유 컨트롤(220)은 이미지 공유 컨트롤, 비디오 공유 컨트롤 및 오디오 공유 컨트롤을 포함한다. 추가 및 대안적 공유 컨트롤이 다양한 실시예에서 포함될 수 있음을 인식할 것이다. 예를 들어, 도시된 실시예에서 공유 컨트롤은 컨텐츠 타입(즉, 이미지, 애니메이션 이미지, 비디오 및 오디오)으로 나눠져 있지만 다른 실시예에서 다른 분류가 사용될 수 있거나 분류가 사용되지 않을 수 있다. 일부 경우에, 범용 공유 컨트롤이 사용자에게 제공되어 모든 타입의 미디어 컨텐츠로의 접근을 제공할 수 있다. 일부 경우에, 공유 컨트롤은 특정 형태의 컨텐츠, 예컨대 스티커, 노래, 스마일, 이모티콘, GIF 및 이미지/비디오/오디오 분류 이외의 다른 카테고리의 미디어 컨트롤의 특정 형태로 제공될 수 있다.
메시징 애플리케이션(140)의 사용자는 메시징 애플리케이션 공유 컨트롤(220) 중 하나를 선택하여 제2 사용자와 메시지 스레드(210)에서 공유하기 위한 미디어 컨텐츠의 선택을 개시할 수 있다. 일부 실시예에서, 메시징 애플리케이션 공유 컨트롤(220)은 인접 텍스트 컨트롤(215) 없이 디스플레이될 수 있다. 일부 실시예에서, 다양한 컨트롤이 메시징 애플리케이션(140)을 위한 사용자 인터페이스(200)의 하부를 따라 디스플레이될 수 있는데, 다양한 컨트롤 중 하나는 텍스트 컨트롤(215)을 호출하고 다른 것은 상이한 타입의 미디어 컨텐츠로 지정된 하나 이상의 다양한 공유 컨트롤을 호출할 수 있다.
도 2b는 사용가능한 미디어 요소를 디스플레이하는 메시징 애플리케이션(140)을 위한 사용자 인터페이스(225)의 일실시예를 도시한다.
도 2b의 도시된 실시예에서, 사용자 인터페이스(225)는 미디어 요소 디스플레이 섹션(235)을 디스플레이한다. 미디어 요소 디스플레이 섹션(235)은 복수의 미디어 요소를 포함하는 미디어 컨텐츠를 디스플레이한다. 이 예시에서, 복수의 미디어 요소 각각은 사진을 포함한다. 하지만, 다른 경우에 미디어 요소는 각각 비디오(예컨대, 영화 클립, 영화), 오디오 세그먼트(예컨대, 노래, 목소리 녹음), 애니메이션 이미지(예컨대, 애니메이션 GIF(Graphics Interchange Format) 이미지), 임의의 다른 타입의 미디어 요소나 상이한 타입의 미디어 요소의 임의의 조합을 포함할 수 있다. 미디어 요소 디스플레이 섹션(235)은 추가 컨텐츠를 디스플레이하는 사용자 인터페이스 명령, 예컨대 스크롤 명령을 통해 조작되도록 동작할 수 있다.
도시된 실시예에서, 미디어 요소 디스플레이 섹션(235)은 이미지 호스팅 및 공유 서비스의 예시인 특정한 미디어 애플리케이션 “JPEGGY”와 연관된 사진의 컬렉션을 디스플레이한다. 미디어 요소 디스플레이 섹션(235)에 디스플레이되는 미디어 컨텐츠는 특정 미디어 애플리케이션에 온라인으로 저장된 사진의 서브셋의 미리보기를 포함할 수 있다. 미디어 메시징 시스템(100)은 복수의 미디어 애플리케이션(130) 중 이 특정 미디어 애플리케이션이 사용자가 좋아하는 미디어 애플리케이션임을 인식하고 따라서 이 미디어 애플리케이션에게 눈에 띄는 위치를 주었을 수 있다. 대안적으로, 사용자는 미디어 선택 단계 전에 이 미디어 애플리케이션을 선택했을 수 있다.
다른 카테고리의 미디어 컨텐츠는 메시징 애플리케이션(140)의 사용자에게 사용가능하게 될 수 있다. 예를 들어, 도시된 바와 같이, 사용자는 미디어 요소 디스플레이 섹션(235)의 “인기” 탭을 선택함으로써 “인기 미디어” 섹션을 선택할 수 있을 수 있다. 인기 섹션은 미디어 메시징 시스템(100)이나 특정 미디어 애플리케이션이 결정한 인기, 트렌드 또는 다른 주목할 만한 미디어 요소로 채워질 수 있다.
다른 실시예에서, 도시된 바와 같이, 사용자는 미디어 요소 디스플레이 섹션(235)의 “과거 내역” 탭을 선택함으로써 “과거 내역” 섹션을 선택할 수 있을 수 있다. 과거 내역 섹션은 특정 사용자가 공유한 모든 미디어 요소로 채워질 수 있다. 과거 내역 섹션은 메시지 스레드(210)와 같은 특정 대화 내에서 각 사용자가 공유된 모든 미디어 요소로 채워져, 각 사용자(또는 그룹 대화의 임의의 사용자)가 그 공유된 대화에 대한 미디어 과거 내역을 참조할 수 있게 할 수 있다.
다른 예시에서, 사용자는 미디어 요소 디스플레이 섹션(235)의 “추천” 탭을 선택함으로써 “추천” 섹션을 선택할 수 있을 수 있다. 추천 섹션은 미디어 메시징 시스템(100)이 추천 섹션은 미디어 메시징 시스템(100)이 사용자에게 추천하는 미디어 요소로 채워질 수 있다. 미디어는 미디어 메시징 시스템(100)의 모든 사용자에게의 무차별 홍보에 기반할 수 있고, 이 사용자에게의 특정 홍보에 기반할 수 있고, 특정 메시지 스레드(210)에 기반한 특정 홍보에 기반할 수 있고, 메시지 스레드(210)에 참여하는 어떤 또는 모든 다른 사용자(들) 및 메시지 스레드(210)의 컨텐츠의 분석에 기반할 수 있다.
일반적으로, 다양한 기준이 개별적으로 또는 조합되어 사용되어 미디어 요소 디스플레이 섹션(235)에 디스플레이되는 미디어 요소를 결정할 수 있다. 사용자가 관심 있을 것으로 예측된 미디어 컨텐츠가 명시적 및 암시적 신호에 기반하여 홍보될 수 있다. 명시적 신호는 명시적으로 입력된 사용자에 대한 정보, 예컨대 연령/생년월일, 성별, 거주 위치, 교육, 좋아하는 것과 싫어하는 것, 및 직접적인 관심사나 다른 사용자의 관심사간의 상호관련을 제안할 수 있는 카테고리의 연관의 임의의 다른 명시적 표시의 명시적 등록을 포함할 수 있다. 암시적 신호는 사용자에 대해 암시적으로 결정된 정보, 예컨대 메시징 대화에서 수집된 정보, 자동 지리적 위치, 업로드된 사진, 공유된 미디어 또는 정보의 등록을 주로 지향하지 않으며 대신 시스템이나 서비스의 사용을 지향하며 여전히 특정 좋아하는 것이나 싫어하는 것과 상호관련될 수 있는 정보를 제공하는 미디어 메시징 시스템(100)이나 소셜 네트워킹 서비스의 다른 사용을 포함할 수 있다.
나아가, 메시지 스레드(210)의 특정 컨텍스트가 사용될 수 있다. 예를 들어, 미디어 메시징 시스템(100)은 스포츠 경기, 뉴스 이벤트 또는 다른 타입의 사건과 같은 이벤트에 관한 것으로 식별된 대화에 응답하여 이벤트 관련 미디어 요소를 제공할 수 있다. 미디어 메시징 시스템(100)은 스포츠, 영화, 음식 또는 다른 대화 주제와 같은 주제에 관한 것으로 식별된 대화에 응답하여 주제 관련 미디어 요소를 제공할 수 있다. 미디어 메시징 시스템(100)은 커플 참가자 간의 메시지 스레드(210)의 최근에 업로드된 커플의 사진을 홍보하는 것과 같은 특정 사람을 언급하거나 특정 사람 간의 대화에 응답하여 개인 관련 미디어 요소를 제공할 수 있다. 미디어 메시징 시스템(100)은 예컨대 유사한 주제, 유사한 대상 또는 최근에 공유된 미디어 요소와 다른 관련을 가지는 미디어 요소를 찾음으로써 메시지 스레드(210)의 다른 측이 최근에 공유한 미디어 요소에 관한 미디어 요소를 특히 홍보할 수 있다.
사용자는 미디어 요소 디스플레이 섹션(235)에 디스플레이되는 복수의 미디어 요소 중 특정한 미디어 요소를 선택하고 선택된 미디어 요소를 메시지 스레드(210)에 포함되도록 할 수 있다.
도 3a는 메시지 스레드(210)에 속성이 있는 미디어 요소를 디스플레이하는 메시징 애플리케이션(140)을 위한 사용자 인터페이스(300)의 일실시예를 도시한다. 도 2a와 도 2b에 도시된 실시예와는 달리, 사용자 인터페이스(300)는 메시지 스레드(210)의 제2 사용자가 가지는 제2 클라이언트 장치(190)의 디스플레이를 도시한다.
도 3a에 도시된 실시예에서, 제1 사용자는 이미지 공유 서비스 JPEGGY에 저장된 고양이 두 마리의 개인적인 사진에 대응하는 미디어 요소(110)를 공유하도록 선택했고 이 이미지는 메시지 스레드(210)의 흐름에 통합되었다. 도 3a에 도시된 실시예에서 제1 사용자로부터의 코멘트 “Check out this pic I took of my cats yesterday :)”가 메시지 대화의 개별 행에 입력되었지만, 코멘트가 사진을 위한 설명으로 선택적으로 포함되는 다른 실시예에서 이러한 기능이 메시징 애플리케이션(140)에 의해 제공될 수 있음이 인식될 것이다.
사용자 인터페이스(300)에 도시된 바와 같이, 미디어 요소(110)는 속성 디스플레이 요소(315)와 연관되어 디스플레이된다. 속성 디스플레이 요소(315)는 미디어 요소(110)가 공유된 특정 미디어 애플리케이션과 시각적으로 통신한다. 속성 디스플레이 요소(315)는 미디어 요소(110)가 연관된 속성 있는 미디어 애플리케이션 내에서 미디어 요소(110)에 접근하기 위한 컨트롤 - 여기서 “OPEN” 버튼으로 도시 - 을 더 포함한다. 이 미디어 애플리케이션을 위한 식별자, 속성 디스플레이 요소(315)를 구성하는 방법에 대한 설명 및 미디어 요소(110)에 대응하는 애플리케이션간 링크가 모두 속성 기록(115)의 일부를 포함할 수 있다. 이 속성 기록(115)은 미디어 요소(110)를 위한 미디어 패키지(105)의 요소를 포함할 수 있다.
컨트롤은 예컨대 “설치” 또는 “받기” 라벨로 설명될 수 있는 속성 있는 미디어 애플리케이션을 설치하는 옵션을 포함할 수 있다. 컨트롤은 예컨대 “업데이트” 라벨로 설명될 수 있는 이미 설치된 속성 있는 미디어 애플리케이션을 업데이트하는 옵션을 포함할 수 있다. 속성 있는 미디어 애플리케이션의 업데이트된 버전이 이미 설치된 버전의 미디어 애플리케이션을 넘어 딥 링크 및/또는 메시징 스레드 링크를 새 기능으로 지원하는 경우 이미 설치된 미디어 애플리케이션 업데이트를 제안할 수 있다. 설치와 업데이트는 다양한 기술을 사용하여 수행될 수 있다. 한 기술에서 애플리케이션 스토어로의 딥 링크를 사용하여 고속 앱 스위치(fast-app switch)가 사용될 수 있다. 다를 기술에서 고속 앱 스위치가 귀환과 함께 사용될 수 있는데, 애플리케이션으로의 딥 링크가 메시징 애플리케이션(140) 및 애플리케이션 스토어의 실행의 원인이 되는 메시징 애플리케이션(140) 내의 특정 메시징 스레드로의 자동 귀환과 함께 사용된다. 또 다른 기술에서 인앱 설치(in-app install)가 사용될 수 있는데, 사용자가 메시징 애플리케이션(140)으로 설치 버튼을 선택하고 메시징 애플리케이션(140)을 떠나지 않고 미디어 애플리케이션이 설치된다. 미디어 애플리케이션이 메시징 애플리케이션(140)을 떠나지 않고 설치되는 경우 사용자는 미디어 애플리케이션이 설치 과정 중에 있다는 표시(예컨대, 설치 진행 그래픽)와 미디어 애플리케이션이 성공적으로 설치되었다는 표시를, 예컨대 미디어 애플리케이션 설치를 표시하는 플라이 오버 그래픽을 통해 볼 수 있다. 미디어 애플리케이션이 설치되면 설치 컨트롤은 실행 컨트롤로 전환될 수 있다.
속성 있는 미디어 요소의 각 열람은 속성 있는 미디어 열람 기록에 기록될 수 있다. 일부 경우에, 속성 있는 미디어 열람 기록은 미디어 메시징 시스템(100)의 제공자와 미디어 애플리케이션 제공자 간의 상거래를 이끄는데 사용될 수 있다. 예를 들어, 미디어 메시징 시스템(100)은 각 열람된 속성 있는 미디어 요소에 대한 요금을 받을 수 있다. 다른 예시에서, 미디어 메시징 시스템(100)은 미디어 애플리케이션에서 기인한 하나 이상의 미디어 요소를 열람한 각 사용자에 대해 요금을 받을 수 있다. 임의의 종류의 상업적 합의가 보여진 속성 있는 미디어 요소, 공유된 속성 있는 미디어 요소, 메시징 애플리케이션(140) 내에서 공유하기 위해, 미디어 애플리케이션의 설치를 위해, 메시징 애플리케이션(140) 내에서 미디어 애플리케이션의 실행을 위해 제안된 속성 있는 미디어 요소, 또는 메시징 애플리케이션(140) 미디어 애플리케이션 및 미디어 애플리케이션과 관련된 미디어 컨텐츠 간의 임의의 다른 상호작용에 기반하여 합의될 수 있다.
사용자 인터페이스(300)는 연관된 미디어 애플리케이션 - 여기서는 JPEGGY 이미지 공유 애플리케이션 - 이 이미 제2 클라이언트 장치(190)에 설치된 경우를 포함할 수 있다. 따라서 메시징 애플리케이션(140)은 사용자가 사용하기 위해 바로 미디어 애플리케이션을 실행할 수 있다. 하지만, 많은 경우에 제1 사용자는 제2 사용자가 현재 설치하지 않은 미디어 애플리케이션과 연관된 미디어 요소(110)를 공유할 수 있다. 이것은 제1 사용자의 공유 행위를 통한 암묵적인 추천을 통해 흥미 있을 수 있는 새 미디어 애플리케이션을 제2 사용자에게 노출할 수 있는 좋은 경우일 수 있다. 이들 경우에, 속성 디스플레이 요소(315)는 여전히 미디어 애플리케이션에 접근하는 컨트롤을 포함할 수 있다. 하지만, 이 컨트롤은 미디어 요소(110)가 공유된 미디어 애플리케이션을 설치하는 옵션을 사용자에게 제공함으로써 미디어 애플리케이션의 설치를 개시할 수 있다. 이들 경우에 “OPEN” 컨트롤 대신 “TRY IT” 컨트롤이 사용되어 사용자에게 새 미디어 애플리케이션을 설치하고 스스로 시도하는 기회를 제안할 수 있다. 미디어 애플리케이션을 설치하는 옵션은 예컨대, 애플리케이션 저장소(예컨대, “앱 스토어”)를 로드하고 애플리케이션 저장소 유틸리티가 사용자가, 예컨대 미디어 애플리케이션을 위한 애플리케이션 페이지 상에서 설치 컨트롤을 선택함으로써 미디어 애플리케이션을 설치할 수 있는 애플리케이션 설치 인터페이스를 디스플레이하도록 유도함으로써 제공될 수 있다.
속성 디스플레이 요소(315)는 각 특정 미디어 애플리케이션에 대해 예컨대 커스텀 텍스트, 커스텀 로고, 커스텀 이미지, 커스텀 아이콘 또는 임의의 다른 커스텀 디스플레이 요소의 포함을 통해 커스텀될 수 있다. 커스텀 디스플레이 요소는 예컨대 미디어 애플리케이션 고유의 아이콘을 통해 미디어 요소(110)를 책임지는 미디어 애플리케이션을 식별할 수 있다. 커스텀 디스플레이 요소는 예컨대 사용자가 애니메이션 이미지 상에 오디오 트랙을 “TrackSmash”하도록 초대하는 오디오 믹싱 애플리케이션과 같이 미디어 애플리케이션을 사용하는 애플리케이션 고유 초대를 포함할 수 있다. 이것은 미디어 애플리케이션에 접근하는 컨트롤(이미 설치된 애플리케이션 열기 또는 현재 설치되지 않은 애플리케이션의 설치 개시)의 커스텀을 포함할 수 있다. 일부 실시예에서, 공유된 미디어 요소(110) 자체의 선택은 연관된 미디어 애플리케이션이 실행되고 미디어 요소(110)와 연관된 그 내부의 페이지로 유도되는 결과를 낳을 수 있다.
도 3b는 딥 링크된 미디어 요소(110)를 위한 페이지를 디스플레이하는 미디어 애플리케이션을 위한 사용자 인터페이스(325)의 일실시예를 도시한다.
도 3에 도시된 실시예에서, 미디어 애플리케이션 인터페이스는 클라이언트 장치(120)의 사용자로부터 제2 클라이언트 장치(190)의 사용자가 수신한 미디어 요소(110) 고유의 미디어 요소 고유 페이지(330)를 디스플레이한다. 미디어 요소 고유 페이지(330)에 도달하기 위하여 제2 클라이언트 장치(190)의 사용자는 속성 디스플레이 요소(315)의 일부로 디스플레이된 미디어 애플리케이션의 미디어 요소(110)에 접근하는 컨트롤을 선택했을 수 있다.
도시된 미디어 요소 고유 페이지(330)는 미디어 요소(110), 미디어 요소(110)의 제목 “My kitties”, 미디어 요소(110) 또는 미디어 요소(110)의 이 특정 공유와 연관된 미디어 애플리케이션 내의 사용자 계정 “BEH”, 미디어 애플리케이션 내에서 미디어 요소(110)에 할당된 복수의 태그 및 파일 크기, 업로드된 날짜, 이미지 크기, 열람된 회수, 공유된 회수를 포함하여 미디어 요소(110)에 대한 다양한 정보의 디스플레이를 포함한다. 미디어 요소 고유 페이지는 특정 미디어 요소(110)에 구체적으로 관련되는 임의의 페이지나 애플리케이션 뷰에 대응할 수 있다. 도시된 실시예에서 미디어 요소(110)가 페이지 상에 디스플레이되는 유일한 미디어 요소이지만, 대안적인 실시예에서 유사한 미디어 요소, 관련 미디어 요소 등과 같은 추가 미디어 요소가 디스플레이될 수 있다. 유사하게, 리믹스, 필터 적용 및 다른 수정과 같은 추가 컨트롤이 미디어 요소 고유 페이지(330)에 포함될 수 있다.
미디어 요소 고유 페이지(330)는 미디어 애플리케이션의 사용자가 미디어 요소 고유 페이지(330) 상에 나타난 미디어 요소(110)를 공유할 수 있게 하는 미디어 애플리케이션 공유 컨트롤(335)을 포함할 수 있다. 도시된 예시적인 미디어 애플리케이션 공유 컨트롤(335)은 특정 메시징 애플리케이션(140)과 구체적으로 연관되는 메시징 애플리케이션 고유의 미디어 애플리케이션 공유 컨트롤이다. 따라서 미디어 애플리케이션 공유 컨트롤(335) 선택은 직접 메시징 애플리케이션(140)을 실행하고(예컨대, 포어그라운드로 가져옴) 미디어 요소(110)를 이 미디어 요소(110)에 대한 적절한 속성 기록(115)과 함께 메시징 애플리케이션(140)으로 전송할 수 있다. 따라서 이 미디어 요소 고유 페이지(330)는 클라이언트 장치(120)의 사용자가 처음에 메시지 스레드(210)에 포함시키기 위하여 미디어 요소(110)를 선택할 때 사용하는 것과 유사하거나 동일한 뷰에 대응할 수 있다.
다른 실시예에서, 일반적인 미디어 애플리케이션 공유 컨트롤 - 애플리케이션 고유가 아닌 미디어 애플리케이션 공유 컨트롤 - 이 미디어 애플리케이션에서 사용될 수 있다. 이 일반적인 미디어 애플리케이션 공유 컨트롤 선택은 미디어 요소(110)를 공유하는 다수의 방법, 예컨대 이메일, SMS(Short Message Service) 시스템의 확장인 MMS(Multimedia Message Service), 미디어 메시징 시스템(100)과 연관된 메시징 애플리케이션(140)을 포함한 메시징 애플리케이션 및 다른 미디어 공유 방법을 제안하는 인터페이스를 개시할 수 있다.
일부 경우에, 특정 메시징 애플리케이션(140)과 연관된 메시징 애플리케이션 고유 미디어 애플리케이션 공유 컨트롤을 보여주는 미디어 애플리케이션은 미디어 애플리케이션의 메시징 애플리케이션 고유 버전에 대응할 수 있다. 예를 들어, JPEGGY 미디어 애플리케이션은 미디어 메시징 시스템(100)을 위한 메시징 애플리케이션(140)과의 통합을 위해 특별히 디자인된 JPEGGY 미디어 애플리케이션 버전을 릴리스할 수 있다. 메시징 애플리케이션(140)이 메시징 애플리케이션 고유 미디어 애플리케이션과 메시징 애플리케이션 고유가 아닌 미디어 애플리케이션 양자로부터 미디어 컨텐츠를 수락하도록 동작할 수 있지만, 메시징 애플리케이션은 메시징 애플리케이션 고유 미디어 애플리케이션을 선호할 수 있다.
이와 같이, 사용자가 미디어 애플리케이션의 메시징 애플리케이션 고유 버전과 메시징 애플리케이션 고유가 아닌 버전 모두를 설치한 경우, 메시징 애플리케이션(140)은 사용자가 미디어 애플리케이션 내에서 미디어 요소(110)를 열람하도록 요청하는데 응답하여 미디어 애플리케이션의 메시징 애플리케이션 고유 버전을 실행하도록 선택할 수 있다. 다른 실시예에서, 속성 기록(115)은 사용되는 애플리케이션 버전을 표시할 수 있고 메시징 애플리케이션(140)은 표시된 버전을 실행할 수 있다. 유사하게, 클라이언트 장치에 어떠한 버전도 현재 설치되지 않은 경우, 메시징 애플리케이션(140)은 사용자가 속성 디스플레이 요소(315)의 일부로 디스플레이되는 애플리케이션을 설치하도록 요청하는데 응답하여 미디어 애플리케이션의 메시징 애플리케이션 고유 버전을 선택할 수 있다.
일부 실시예에서, 미디어 애플리케이션의 메시징 애플리케이션 고유가 아닌 버전이 클라이언트 장치 상에서 감지되거나 메시징 애플리케이션(140)과 함께 사용되는 경우 미디어 애플리케이션의 메시징 애플리케이션 고유 버전이 홍보될 수 - 예컨대 배너, 삽입, 팝업 또는 다른 사용자 인터페이스 요소를 통해 - 있다. 예를 들어, 미디어 애플리케이션의 메시징 애플리케이션 고유가 아닌 버전으로부터 미디어 요소(110)를 수신할 때, 메시징 애플리케이션(140)은 클라이언트 장치의 사용자에게 미디어 애플리케이션의 메시징 애플리케이션 고유 버전이 사용가능함을 알리고 사용자를 위해 설치를 개시하도록 제안할 수 있다. 이것은 사용자에게 일반적인 공유 컨트롤을 거치고 일반화된 공유 인터페이스에서 메시징 애플리케이션(140)을 찾는 일 없이 메시징 애플리케이션(140)으로 단일 컨트롤 접근을 가능하게 하는 미디어 애플리케이션의 버전으로의 접근을 제공함으로써 유익할 수 있다.
도 3c는 임포트된 제2 미디어 요소(360)의 공유를 승인하기 위한 공유 컨트롤(370)을 디스플레이하는 메시징 애플리케이션(140)을 위한 사용자 인터페이스(350)의 일실시예를 도시한다.
미디어 요소(360)는 미디어 애플리케이션에서 제2 클라이언트 장치(190)의 사용자가 발견한 미디어 요소에 대응할 수 있다. 이 예시에서, 두 이미지 모두 제1 사용자가 촬영한 공유된 주제의 개인적인 사진이기 때문에 제2 미디어 요소(360)는 제1 미디어 요소(110)를 송신한 사용자와 연관된 다른 이미지의 검색을 통해 발견되었을 수 있다. 하지만, 다른 경우에 이미지는 유사한 태그를 가진 이미지 탐색, 특정 태그를 가진 이미지 탐색, 키워드 검색, 자연 언어 검색 또는 미디어 컨텐츠를 검색, 탐색 및 발견하기 위한 임의의 다른 기술을 포함하여 다양한 기술을 통해 발견될 수 있다.
메시징 애플리케이션(140)은 일반적으로 미디어 요소(110)에 포함시키기 위하여 전송하기 전에 임포트된 미디어 컨텐츠를 공유하기 원하는 메시징 애플리케이션(140)의 사용자로 확인하도록 배열될 수 있다. 이것은 사용자를 유도 없이 포함시키기 위하여 미디어 요소를 송신하는 악의적 미디어 애플리케이션에 의해 수신된 미디어 요소의 악의적인 포함을 방지하고, 사용자가 올바른 미디어 요소를 선택했다고 확인하고 미디어 요소(110)에 나타나는 것으로 열람하며, 다른 방법으로 그 결정을 확인할 수 있게 하도록 작용할 수 있다.
이와 같이, 메시징 애플리케이션(140)은 수신된 제2 미디어 요소(360)와 연관되어 공유 컨트롤(370)을 디스플레이할 수 있다. 공유 컨트롤(370)은 메시징 애플리케이션(140)의 사용자가 메시지 스레드(210)에 수신된 제2 미디어 요소(360)을 포함시킬 수 있도록 할 수 있다. 공유 컨트롤(370) 선택은 메시징 애플리케이션(140)이 클라이언트 장치(120) 상의 제1 사용자의 메시징 애플리케이션(140)에 전달하기 위하여 제2 미디어 요소(360)를 포함하는 메시지 패키지를 메시징 서버(180)로 전송하도록 유도할 수 있다.
제2 미디어 요소(360)는 메시징 애플리케이션(140)이 호출한 미디어 애플리케이션을 통해 미디어 애플리케이션에서 발견됐을 수 있다. 미디어 애플리케이션 호출의 일부로서, 메시징 애플리케이션(140)은 메시징 애플리케이션(140)과 메시지 스레드(210)에 대한 메시지 스레드 고유 애플리케이션간 링크를 미디어 애플리케이션에 전달할 수 있다. 메시지 스레드 고유 애플리케이션 링크는 미디어 요소 고유 애플리케이션간 링크의 반대 목적을 제공할 수 있다: 전자는 공유할 미디어 컨텐츠 검색을 유도하는 특정 메시지 스레드(210)를 식별하는 반면, 후자는 이 동일한 검색을 유도하는 특정 미디어 요소(110)를 식별할 수 있다. 미디어 요소 고유 애플리케이션간 링크가 메시징 애플리케이션(140)에 의해 사용되어 미디어 애플리케이션을 미디어 요소 고유 페이지로 유도하여 미디어 컨텐츠를 발견 및/또는 수정하는 시작점으로 작용하는 반면, 메시지 스레드 고유 애플리케이션간 링크는 미디어 애플리케이션에 의해 사용되어 메시징 애플리케이션(140)의 사용자가 수신된 미디어 요소를 특정 메시지 스레드(210)에 포함시키도록 유도하도록 메시징 애플리케이션(140)을 유도하도록 할 수 있다. 이것은 애플리케이션들 간의 전환에 대한 관련 컨텍스트 내에 사용자를 배치함으로써 메시징 애플리케이션(140)과 미디어 애플리케이션 간의 전환을 단순화하도록 작용할 수 있다.
이와 같이, 메시지 스레드 고유 애플리케이션 링크는 메시징 애플리케이션(140)에 의해 생성되고 미디어 애플리케이션 호출의 일부로 포함될 수 있다. 메시지 스레드 고유 애플리케이션 링크는 메시징 애플리케이션(140)에 의해 미디어 패키지의 일부로 수신되고 메시징 애플리케이션에 의해 특정 메시지 스레드(210)가 사용자에게 수신된 미디어 요소로 강화를 제안하도록 결정하는데 사용될 수 있다. 사용자가 수신된 미디어 요소를 예컨대 상이한 메시지 스레드를 선택하는 컨트롤을 통하여 상이한 메시지 스레드로 유도할 기회도 제안될 수 있음이 인식될 것이다.
수신된 미디어 요소(360)를 위한 사용자 인터페이스(350)는 폐기(discard) 컨트롤(365)을 포함할 수 있다. 폐기 컨트롤(365)은 사용자가 임의의 메시지 스레드에 수신된 제2 미디어 요소(360)를 포함시키는 것을 그만두는데 사용될 수 있다. 폐기 컨트롤(365)은 사용자가 악의적 또는 비의도적으로 수신된 미디어 요소를 폐기할 수 있게 할 수 있다.
수신된 미디어 요소(360)를 위한 사용자 인터페이스(350)는 임포트 속성(355)을 포함할 수 있다. 임포트 속성(355)은 사용자에게 제2 미디어 요소(360) 익스포트를 책임지는 미디어 애플리케이션을 상기시키고 사용자에게 속성 디스플레이 요소는 미디어 요소(360)의 임의의 포함에 첨부될 것임을 상기시킬 수 있다. 일부 실시예에서, 임포트 속성(355)은 사용자에 의해 사용자를, 예컨대 미디어 컨텐츠의 다른 조각을 선택하기 위하여, 미디어 애플리케이션으로 귀환시키기 위해 선택될 수 있다.
수신된 미디어 요소(360)를 위한 사용자 인터페이스(350)는 리믹스 컨트롤(372)을 포함할 수 있다. 리믹스 컨트롤(372)는 사용자가 임포트된 미디어 요소(360)를 리믹스, 수정, 조합 및 다른 변경하는 옵션에 접근할 수 있게 할 수 있다. 리믹스 컨트롤(372)은 다른 사용자에 의해 메시지 스레드(210) 내애서 공유된 미디어 요소를 리믹스, 수정, 조합 및 다른 변경하는 옵션으로의 유사한 접근을 제공할 수 있다. 리믹스 컨트롤(372)은 메시징 애플리케이션(140) 내에서 실행하는 미디어 요소(360)를 변경하는 기능 및 클라이언트 장치 상의 애플리케이션 외부에서 사용자가 예컨대 이미지나 비디오 상에 오디오 트랙(예컨대, 음악 트랙)을 레이어링을 통해 미디어 컨텐츠를 변경하는 기능 모두로의 접근을 제공할 수 있다.
도 3d는 임포트된 제2 미디어 요소(360)의 승인된 공유를 디스플레이하는 메시징 애플리케이션(140)을 위한 사용자 인터페이스(375)의 일실시예를 도시한다.
도 3d의 사용자 인터페이스(375)는 제2 클라이언트 장치(190)의 사용자가 메시지 스레드(210) 내의 미디어 요소(360) 포함을 승인하는 공유 컨트롤(370)를 선택한 경우를 도시한다. 또한 사용자 인터페이스(375)에 도시된 바와 같이, 제2 미디어 요소(360)는 제1 미디어 요소(110)와 사용되는 속성 디스플레이 요소(315)와 유사한 속성 디스플레이 요소(385)와 함께 디스플레이된다. 이 속성 디스플레이 요소(385)는 미디어 애플리케이션에서 제2 미디어 요소(360)에 접근하고, 또한 메시지 스레드(210) 내의 미디어 컨텐츠의 포함과 메시지 스레드(210)의 참여자들 간의 미디어 컨텐츠 공유를 왔다 갔다 하는데 유사하게 사용될 수 있다.
도 4는 메시징 서버(180)를 통해 동일한 클라이언트 장치(120) 상에서 실행되는 미디어 애플리케이션(430)으로부터 수신된 미디어 요소(110)를 공유하는 메시징 애플리케이션(140)의 일실시예를 도시한다.
미디어 관리 컴포넌트(160)는 미디어 요소(110)를 수신할 수 있고, 미디어 요소(110)는 미디어 애플리케이션(430)과 연관된다. 미디어 관리 컴포넌트(160)는 미디어 요소(110)를 저장할 수 있고, 미디어 요소(110)를 포함하는 전체 미디어 패키지(105)를 클라이언트 장치(120) 상의 미디어 스토어(460)에 포함시킬 수 있다. 미디어 스토어(460)는 메시징 애플리케이션(140)과 사용하기 위하여 미디어 컨텐츠를 캐시할 수 있다.
메시징 애플리케이션(140) 및 미디어 애플리케이션(430) 모두 클라이언트 장치(120) 상에 개별 사용자 애플리케이션으로 설치될 수 있다. 미디어 관리 컴포넌트(160)는 미디어 애플리케이션(430)으로부터 클라이언트 장치(120) 상의 애플리케이션간 통신을 통해 메시징 애플리케이션(140)의 미디어 패키지(105)를 수신할 수 있는데, 이 미디어 패키지는 미디어 요소(110)와 애플리케이션간 링크를 포함한다.
미디어 패키지(105)의 공유는 미디어 애플리케이션(430) 내의 사용자 활동에 의해 유도될 수 있다. 미디어 애플리케이션(430)은 미디어 애플리케이션의 미디어 요소(110)의 사용자 미디어 선택을 수신하고, 미디어 애플리케이션의 사용자 미디어 공유 명령을 수신하고, 사용자 미디어 선택 및 사용자 미디어 공유 명령에 응답하여 미디어 애플리케이션(430)으로부터 메시징 애플리케이션(140)으로 미디어 패키지(105)를 전송할 수 있다.
일부 경우에, 미디어 요소(110)는 메시징 애플리케이션(140)의 미디어 요소 발견 섹션에서 사용자에 의해 발견됐을 수 있다. 미디어 요소 발견 섹션은, 예컨대 메시징 컨텍스트, 메시지 스레드(210)의 다른 참가자와의 관계 컨텍스트, 소셜 네트워킹 서비스에 등록된 명시적 및 암시적 신호 및 사용자에 대하 알려진 임의의 다른 정보를 포함하여 사용자에 대해 알려진 정보에 기반하여 메시징 애플리케이션(140)의 사용자가 흥미 있을 것으로 예측되는 미디어 컨텐츠를 디스플레이하는데 사용될 수 있다. 미디어 관리 컴포넌트(160)는 메시징 애플리케이션(140)의 미디어 요소 발견 섹션에 미디어 요소(110)를 디스플레이하고, 미디어 요소 발견 섹션에서 미디어 요소(110)의 사용자 미디어 선택을 수신하고, 미디어 요소(110)의 사용자 미디어 선택에 응답하여 메시징 컴포넌트(150)가 미디어 요소(110)를 포함하는 메시지 패키지(170)를 생성하도록 유도할 수 있다. 미디어 요소 발견 섹션은 애플리케이션과 미디어 요소 모두 포함할 수 있다. 애플리케이션은 장치 상에 이미 설치된 애플리케이션과 장치 상에 아직 설치되지 않은 제안된 애플리케이션을 포함할 수 있다. 애플리케이션은 그 표시에 있어 특정 애플리케이션의 홍보에 기반한 순위를 포함하여 순위 매겨질 수 있다. 미디어 요소는 장치 상에 이미 설치된 미디어 애플리케이션으로부터의 미디어 요소 및 장치 상에 아직 설치되지 않은 제안된 애플리케이션으로부터의 미디어 요소를 포함할 수 있다.
미디어 애플리케이션은 그 표시에 있어 특정 애플리케이션의 홍보에 기반한 순위를 포함하여 순위 매겨질 수 있다. 미디어 애플리케이션과 그 연관된 미디어 요소는 미디어 애플리케이션의 품질(예컨대, 사용자 순위에 따라), 미디어 애플리케이션의 입소문(즉, 새로운 사용자에게 노출되어 퍼지는 경향성), 사용자의 위치(예컨대 품질과 입소문이 사용자의 지역 없이 판단될 수 있도록 다른 척도와 함께 사용될 수 있음), 사용자가 어떤 미디어 애플리케이션을 쓰고 싶고 사용자가 어떤 컨텐츠를 송신하기 원하는지의 개인화된 사용자 모델(기계 학습을 사용하여 결정될 수 있는 등)에 따라, 또는 임의의 다른 기술에 따라 순위 매겨질 수 있다. 이들 기술은 어떤 미디어 애플리케이션이 미디어 애플리케이션 발견 섹션에 나타나는지, 어떤 미디어 요소가 작성자에게 나타나는지 및 미디어 애플리케이션과 미디어 요소의 순서를 결정하는데 사용될 수 있다. 미디어 애플리케이션이 사용자가 이미 사용하는 미디어 애플리케이션과의 유사성에 기반하여 홍보될 수 있다. 미디어 애플리케이션은 사용자와 유사한 특성(예컨대, 인구통계적 정보)을 가지는 다른 사용자가 사용 중인데 기반하여 홍보될 수 있다. 메시징 플랫폼에 트래픽을 유발하는 미디어 애플리케이션 때문에 미디어 애플리케이션은 미디어 메시징 시스템(100)의 관리자에 의해 홍보를 위해 선택될 수 있다.
미디어 애플리케이션은 미디어 메시징 시스템(100)과 더 높은 통합 수준을 제공할 때 홍보될 수 있다. 낮은 수준의 통합은 단지 메신저 내에서 컨텐츠 속성과 함께 공유를 가능하게 하는 미디어 애플리케이션에 대응할 수 있다. 높은 수준의 통합은 메시징 애플리케이션(140)을 사용하여 응답하거나, 메시징 애플리케이션(140)을 설치하거나, 다른 방법으로 메시징 애플리케이션(140)의 사용자에게 능동적으로 홍보하는 콜 투 액션(예컨대, 스크린 컨트롤)을 제공하는 애플리케이션에 대응할 수 있다. 높은 수준의 통합을 제공하는 미디어 애플리케이션은 미디어 메시징 시스템(100)과의 통합의 최고의 경험을 제공하는데 기반하여 메시징 애플리케이션(140)의 미디어 애플리케이션 발견 섹션에서 사용자에게 사용 홍보될 수 있다. 이러한 미디어 애플리케이션은 미디어 애플리케이션이 이미 설치되었는지 여부에 관계 없이 홍보될 수 있고, 이에 의해 새 미디어 애플리케이션의 발견과 기존 미디어 애플리케이션의 사용 모두 홍보할 수 있다.
일부 경우에, 미디어 요소(110)는 미디어 요소(110)의 참가자 중 하나에 의하여 미디어 요소(110) 내에서 이전에 공유됐을 수 있다. 메시징 애플리케이션(140)은 미디어 요소(110)의 참가자가 미디어 공유의 공유 과거 내역을 참조할 수 있게 할 수 있다. 미디어 관리 컴포넌트(160)는 메시징 애플리케이션(140)의 이전에 교환된 미디어 요소 섹션에 미디어 요소(110)를 디스플레이하고, 미디어 요소(110)의 사용자 미디어 선택을 수신하고, 미디어 요소(110)의 사용자 미디어 선택에 응답하여 메시징 컴포넌트(150)가 미디어 요소(110)를 포함하는 메시지 패키지(170)를 생성하도록 유도할 수 있다. 이전에 교환된 미디어 요소 섹션은 예컨대 참가자 모두가 친숙한 미디어 컨텐츠를 사용하여 새 미디어 애플리케이션의 리믹스 기능을 자랑하기 위하여, 전송 전 리믹스를 위해 미디어 요소(110)를 찾는데도 사용될 수 있다.
일부 경우에, 미디어 애플리케이션(430)은 메시징 애플리케이션(140) 내에서 홍보될 수 있다. 미디어 애플리케이션(430)은 미디어 애플리케이션(430)의 제공자와 메시징 애플리케이션(140)의 제공자 사이의 상업적 고려에 기반하여, 미디어 애플리케이션(430)의 제공자와 메시징 애플리케이션(140)의 제공자 사이의 상호 홍보 협약에 기반하여, 미디어 애플리케이션(430)의 사용자의 예측된 흥미에 기반하여, 미디어 애플리케이션(430)의 제공자가 제공한 타게팅 기준에 기반한 미디어 애플리케이션(430)의 홍보를 위한 미디어 메시징 시스템(100)에 의한 사용자의 타게팅에 기반하여 또는 이들의 임의의 조합에 기반하여 홍보될 수 있다. 미디어 관리 컴포넌트(160)는 메시징 애플리케이션(140)의 애플리케이션 고유 미디어 요소 섹션에 미디어 요소(110)를 디스플레이하고, 애플리케이션 고유 미디어 요소 섹션은 미디어 애플리케이션(430)과 연관되고, 애플리케이션 고유 미디어 요소의 미디어 요소(110)의 사용자 미디어 선택을 수신하고, 미디어 요소(110)의 사용자 미디어 선택에 응답하여 미디어 요소(110)를 포함하는 메시지 패키지(170)를 생성할 수 있다.
미디어 애플리케이션은 미디어 애플리케이션 에코 시스템의 건강을 홍보하고 고품질 미디어 애플리케이션의 홍보와 사용중인 미디어 애플리케이션의 다양성의 홍보의 균형을 맞추기 위해 홍보될 수 있다. 특정 미디어 애플리케이션은 미디어 메시징 시스템(100)의 관리자에 의해 명시적으로 표시되거나 행동 자동 분석 또는 미디어 애플리케이션의 사용자의 명시적 평가에 의해 고품질로 자동으로 표시될 수 있다. 다양성은 더 넓은 사용자층이나 특정 사용자가 새 애플리케이션, 다른 애플리케이션, 새롭거나 다른 미디어 타입을 제공하는 애플리케이션을 시도하도록 촉진하거나 미디어 메시징 시스템(100)의 에코 시스템 내에서 과소 표시되는 임의의 카테고리의 미디어나 애플리케이션을 홍보함으로써 홍보될 수 있다. 특정 백분위 순위의 평균 이상에 참여하거나 다른 척도로 고빈도 미디어 공유자인 미디어 메시징 시스템(100)의 사용자는 특정 미디어 애플리케이션, 특정 타입의 미디어 애플리케이션, 미디어의 부분 타입 또는 고사용의 다른 지표를 결정하기 위해 분석될 수 있고, 이들 미디어 애플리케이션이나 미디어의 타입은 더 높은 빈도의 사용을 촉진하기 위해 다른 사용자에게 홍보될 수 있다. 이러한 분석은 기계 학습 기술을 사용하여 미디어 메시징 시스템(100)에 의해 자동으로 수행될 수 있다.
원치 않는 미디어 컨텐츠 공유를 피하기 위하여, 메시징 애플리케이션(140)은 사용자가 외부 미디어 애플리케이션이나 미디어 서비스로부터 수신한 임의의 미디어 컨텐츠의 공유를 승인하도록 유도할 수 있다. 미디어 관리 컴포넌트(160)는 수신된 미디어 패키지(105)로부터 미디어 요소(110)를 추출하고 메시징 애플리케이션(140)에 미디어 요소(110)의 미리보기를 디스플레이할 수 있다. 미디어 관리 컴포넌트(160)는 미디어 애플리케이션에서 미디어 요소의 사용자 미디어 선택을 수신하고, 메시징 애플리케이션(140) 내에서 미디어 요소(110)의 사용자 미디어 선택에 응답하여 메시징 컴포넌트(150)가 미디어 요소(110)를 포함하는 메시지 패키지(170)를 생성하도록 유도할 수 있다.
메시징 컴포넌트(150)는 메시지 패키지(170)를 생성할 수 있고, 메시지 패키지(170)는 미디어 요소(110)을 포함한다. 메시지 패키지(170)는 미디어 요소(110)에 대한 속성 기록(115)을 포함할 수 있고, 속성 기록(115)은 미디어 요소(110)에 대한 미디어 애플리케이션(430)과의 애플리케이션간 링크를 포함한다. 미디어 요소(110) 및 속성 기록(115)은 미디어 애플리케이션(430)에 의해 미디어 패키지(105)에 함께 묶일 수 있고 미디어 패키지(105)의 일부로 수신될 수 있다.
메시지 패키지(170)는 미디어 요소(110)의 공유를 위한 컨텍스트 정보를 포함하는 메타데이터 블록을 포함할 수 있다. 메시지 패키지(170)는 메시징 대화의 참여자, 메시징 대화의 주제, 미디어 요소(110)가 응답하는 임의의 미디어 공유에 대한 메타데이터, 상호작용 빈도 데이터(예컨대, 얼마나 자주 메시징 참여자가 상호작용하는지), 주제 빈도 데이터(예컨대, 얼마나 자주 메시징 참여자가 공유되는 미디어 요소(110)과 관련될 수 있는 대화의 현재 주제를 논의하는지), 주제 인기 데이터(예컨대, 미디어 메시징 시스템(100) 또는 미디어 애플리케이션(430) 내의 대화의 현재 주제나 미디어 요소(110)의 주제의 인기도), 사용자 선호, 적절하거나, 컨텍스트 또는 커스텀 응답에 관련된 임의의 다른 정보에 대한 정보를 포함할 수 있다.
메시징 컴포넌트(150)는 메시지 패키지(170)를 메시징 서버(180)로 전송할 수 있다. 메시징 서버(180)는 메시징 서버 장치(480) 상에서 실행될 수 있다. 메시징 서버 장치(480)는 미디어 메시징 시스템(100)가 사용하는 복수의 서버 장치 중 하나의 유일한 서버 장치를 포함할 수 있다. 메시지 패키지(170)는 메시지 패키지(170)의 수신자를 위한 사용자 계정을 식별하는 주소 정보를 포함할 수 있다.
도 5는 미디어 애플리케이션과 연관된 미디어 서버로부터 미디어 패키지를 수신하는 메시징 애플리케이션의 일실시예를 도시한다.
일부 실시예에서, 미디어 요소(110)가 미디어 애플리케이션(430)과 연관될 수 있지만, 미디어 요소(110)는 클라이언트 장치(120) 상의 미디어 애플리케이션(430)이 아니라 미디어 서버(535)로부터 수신될 수 있다. 미디어 요소(110)는 여전히 미디어 애플리케이션(430) 내에서 미디어 요소(110)에 접근하기 위해 애플리케이션간 링크 - 또는 복수의 미디어 요소가 수신되는 경우 복수의 애플리케이션간 링크들 - 로 수신될 수 있다. 이것은 복수의 미디어 요소가 메시징 애플리케이션(140) 내에서 홍보되는 경우 유리할 수 있다.
일부 경우에, 미디어 저장소(505)가 메시징 서버(180) 및/또는 메시징 애플리케이션(140)에 의해 표시되는 메시징 서비스의 제공자에 의해 관리되는 미디어 서버(535)로부터 수신될 수 있다. 예를 들어, 미디어 공유 서비스는 메시징 서비스에 메시징 서비스 상의 홍보를 위한 미디어 컨텐츠를 제공하여 사용자에게 미디어 공유 서비스와 그 연관된 미디어 애플리케이션을 사용하도록 홍보할 수 있다. 이 미디어 컨텐츠는 메시징 애플리케이션(140) 내의 미디어 선택 인터페이스 내에 미디어 공유 서비스에 대한 속성과 함께 디스플레이될 수 있다. 따라서 이 미디어 컨텐츠는 미디어 메시징 시스템(100)을 통해 공유될 수 있는데, 이 미디어 컨텐츠의 송신자 및 수신자에게 미디어 공유 서비스 사용을 홍보하는 미디어 컨텐츠를 위한 속성 디스플레이 요소와 미디어 공유 서비스의 미디어 컨텐츠가 보여진다.
미디어 관리 컴포넌트(160)는 미디어 서버로부터 미디어 저장소(505)를 수신할 수 있고, 미디어 저장소(505)는 복수의 미디어 요소를 포함하고, 미디어 요소(110)는 복수의 미디어 요소 중 하나를 포함한다. 미디어 관리 컴포넌트(160)는 클라이언트 장치(120) 상의 미디어 스토어(460)에 복수의 미디어 요소를 저장하고 하나 이상의 홍보되는 미디어 요소를 디스플레이할 수 있고, 디스플레이되는 하나 이상의 홍보되는 미디어 요소는 미디어 요소(110)를 포함한다. 미디어 관리 컴포넌트(160)는 미디어 요소(110)의 사용자 미디어 선택을 수신하고, 미디어 요소(110)의 사용자 미디어 선택에 응답하여 메시징 컴포넌트(150)가 미디어 요소(110)를 포함하는 메시지 패키지(170)를 생성하도록 유도할 수 있다.
미디어 저장소(505)는 복수의 홍보되는 미디어 요소를 포함하는 홍보되는 미디어 컨텐츠를 포함하는 홍보되는 미디어 저장소를 포함할 수 있다. 홍보되는 미디어 컨텐츠는 특정 미디어 서비스를 홍보하는데, 특정 미디어 애플리케이션을 홍보하는데, 특정 이벤트(예컨대, 추수감사절 직전 기간에 릴리스된 추수감사절 미디어와 같은 이벤트 관련 미디어 컨텐츠)를 홍보하는데, 또는 임의의 다른 가능한 엔티티나 물건을 홍보하는데 사용되는 미디어 컨텐츠에 대응할 수 있다.
도 6은 애플리케이션간 링크로 미디어 애플리케이션(430)을 실행하는 메시징 애플리케이션(140)의 일실시예를 도시한다.
일부 경우에, 미디어 요소(110)는 메시지 스레드(210)의 다른 참가자로부터 미디어 애플리케이션(430)과 연관된 사전 미디어 요소(610)를 수신하는데 응답하여 미디어 애플리케이션(430)에서 메시징 애플리케이션(140)의 사용자에 의해 선택됐을 수 있다. 예를 들어, 사용자는 미디어 메시징 시스템(100)과 메시징 애플리케이션(140)을 통해 다른 사용자의 클라이언트 장치 상의 미디어 애플리케이션(430)으로부터 사전 미디어 요소(610)을 수신하는데 응답하여 미디어 애플리케이션(430)의 미디어 컨텐츠를 탐색하도록 홍보됐을 수 있다.
미디어 요소(110)을 송신하는데 사용되는 메시지 패키지(170)는 클라이언트 장치(120)의 사용자에게 사전 미디어 요소(610)를 송신한 사용자와 연관된 목적지 사용자 계정으로 어드레싱될 수 있다. 미디어 요소(110)를 송신하는데 사용되는 메시지 패키지(170)는 메시지 스레드(210)와 연관될 수 있다. 메시징 컴포넌트(150)는 메시징 서버(180)로부터 사전 메시지 패키지(670)를 수신할 수 있는데, 사전 메시지 패키지(670)는 메시지 패키지(170)가 연관될 동일한 메시지 스레드와 연관된다. 동일한 메시지 스레드와 연관되는 것은 동일한 메시지 스레드 식별자 또는 미디어 메시징 시스템(100)과의 동일한 세트의 사용자 계정과 연관되는 것을 포함할 수 있다. 사전 메시지 패키지(670)는 사전 미디어 요소(610)를 포함할 수 있는데, 사전 미디어 요소(610)는 미디어 애플리케이션(430)과 연관된다. 사전 메시지 패키지(670)는 사전 속성 기록을 포함할 수 있는데, 사전 속성 기록은 미디어 애플리케이션(430)을 위한 사전 애플리케이션간 링크(615)를 포함한다. 사전 애플리케이션간 링크(615)는 미디어 애플리케이션(430) 내에서 사전 미디어 요소(610)를 식별할 수 있다.
미디어 관리 컴포넌트(160)는 미디어 애플리케이션(430)을 위한 속성 디스플레이 요소와 연관하여 메시지 스레드(210)에 사전 미디어 요소(610)를 디스플레이할 수 있다. 미디어 관리 컴포넌트(160)는 속성 디스플레이 요소와 연관하여 사용자 애플리케이션 실행 명령을 수신하고 사용자 애플리케이션 실행 명령에 응답하여 미디어 애플리케이션(430)을 실행할 수 있다. 미디어 관리 컴포넌트(160)는 미디어 애플리케이션(430)에 사전 애플리케이션간 링크(615)를 전송하여 미디어 애플리케이션(430) 내에서 사전 미디어 요소(610)를 식별할 수 있다. 미디어 관리 컴포넌트는 메시지 스레드 애플리케이션간 링크를 미디어 애플리케이션(430)으로 사전 애플리케이션간 링크(615)와 연관하여 전송하여 미디어 애플리케이션(430)이 사전 미디어 요소(610)과 유도되어야 하는 임의의 발견된 미디어 컨텐츠의 검사를 유도하는 메시지 스레드(210)를 식별할 수 있게 할 수 있다.
미디어 관리 컴포넌트(160)는 미디어 애플리케이션(430)으로부터 메시징 애플리케이션(140)의 미디어 패키지(105)를 수신할 수 있다. 이 미디어 패키지(105)는 미디어 요소(110)와 메시지 스레드(210)와 연관된 메시지 스레드 애플리케이션간 링크를 포함할 수 있다. 미디어 관리 컴포넌트(160)는 메시지 스레드(210)와 연관되는 메시지 스레드 애플리케이션간 링크에 기반하여 메시지 스레드(210)에 미디어 요소(110)의 포함을 유도할 수 있다. 사용자는 그 후 미디어 애플리케이션(430)에서 발견된 미디어 요소(110)를 사용하도록 선택할 수 있거나, 미디어 요소(110)를 폐기하도록 선택할 수 있거나, 메시징 애플리케이션(140)이나 다른 미디어 애플리케이션을 사용하여 미디어 요소(110)를 리믹스나 조합하도록 선택할 수 있다.
일부 경우에, 사용자는 아직 그 클라이언트 장치(120) 상에 설치된 미디어 애플리케이션(430)을 가지지 않을 수 있다. 미디어 관리 컴포넌트(160)는 메시징 애플리케이션(140)이 실행중일 때 미디어 애플리케이션(430)이 클라이언트 장치(120) 상에 설치되지 않았다고 결정하고 사용자 애플리케이션 실행 명령에 응답하여 클라이언트 장치(120) 상에 미디어 애플리케이션(430)의 설치를 개시할 수 있다. 미디어 애플리케이션(430)의 설치 개시는 클라이언트 장치(120) 상의 애플리케이션 저장소 유틸리티 실행 및 애플리케이션 저장소 유틸리티가 미디어 애플리케이션(430) 설치를 가능하게 하는 애플리케이션 설치 인터페이스 디스플레이를 유도하는 것을 포함할 수 있다. 일부 실시예에서, 사용자 애플리케이션 설치 명령에 응답하여 미디어 애플리케이션(430)의 설치를 미디어 관리 컴포넌트(160)는 미디어 애플리케이션 설치 속성 기록에 기록할 수 있다. 미디어 애플리케이션 속성 기록은 미디어 애플리케이션(430)의 설치를 유도하는 미디어 애플리케이션의 성공에 관한 통계 제공을 도울 수 있다. 일부 실시예에서, 사용자 애플리케이션 설치 명령을 위한 시각적 컨트롤은 미디어 애플리케이션(430)이 설치됐을 때와 아닐 때 간에 상이하여 사용자에게 미디어 애플리케이션(430)이 클라이언트 장치(120) 상에서 이미 사용가능한지 여부를 표시할 수 있다. 이와 같이, 메시징 애플리케이션(140)은 미디어 애플리케이션(430)이 이미 설치되었다고 결정하고 응답하여 속성 디스플레이 요소(315)를 구성할 수 있다.
일부 경우에, 미디어 애플리케이션(430)은 수신된 사전 미디어 요소(610)를 리믹스, 수정, 조합 또는 다르게 변경하는데 사용될 수 있다. 미디어 관리 컴포넌트(160)는 메시징 서버(180)로부터 사전 메시지 패키지(670)를 수신할 수 있는데, 사전 메시지 패키지(670)는 사전 미디어 요소(610)를 포함하고, 사전 미디어 요소(610)는 미디어 패키지(105)가 수신될 수 있는 미디어 애플리케이션(430)과는 별개의 제2 미디어 애플리케이션과 연관된다. 미디어 관리 컴포넌트(160)는 사전 미디어 요소(610)를 디스플레이할 수 있다. 미디어 관리 컴포넌트(160)는 복수의 리믹스 옵션을 디스플레이할 수 있다. 미디어 관리 컴포넌트(160)는 디스플레이되는 사전 미디어 요소(610)와 연관하여 사용자 리믹스 명령을 수신할 수 있는데, 사용자 리믹스 명령은 복수의 리믹스 옵션 중 하나를 디스플레이한다. 미디어 관리 컴포넌트(160)는 사용자 리믹스 명령에 응답하여 미디어 애플리케이션(430)을 실행하고, 사전 미디어 요소(610)를 미디어 애플리케이션(430)에 전송하고, 미디어 애플리케이션(430)로부터 미디어 패키지(105)의 미디어 요소(110)를 수신할 수 있고, 미디어 요소(110)는 사전 미디어 요소(610)의 수정된 버전을 포함한다.
복수의 리믹스 옵션은 다양한 소스에 기반할 수 있다. 리믹스 옵션 중 하나 이상은 메시징 애플리케이션(140) 고유의 리믹스 옵션(예컨대, 필터, 오버레이 등)의 사용을 유도할 수 있다. 하나 이상의 리믹스 옵션은 메시징 애플리케이션(140)의 환경 내에서 실행되며 미디어 애플리케이션(430)으로부터 임포트된 리믹스 기능 사용을 유도할 수 있다. 예를 들어, 미디어 애플리케이션(430)은 필터(예컨대, 색상 리밸런싱 필터), 오버레이(예컨대, 스티커), 오디오 트랙(예컨대, 노래) 및 메시징 애플리케이션(140) 자체에 의해, 소스 미디어 애플리케이션(430)가 여전히 제공된 리믹스 요소의 속성을 수신받으며 적용될 수 있는 다른 리믹스 요소를 제공할 수 있다. 하나 이상의 리믹스 옵션은 외부 미디어 애플리케이션(430)의 직접 사용과 외부 미디어 애플리케이션(430)의 실행을 유도할 수 있다.
미디어 관리 컴포넌트(160)는 사전 미디어 요소(610)의 하나 이상의 속성에 기반하여 복수의 리믹스 옵션을 결정할 수 있고, 복수의 리믹스 옵션은 미디어 애플리케이션(430)을 포함한다. 미디어 관리 컴포넌트(160)는 그 후 복수의 리믹스 옵션 간의 선택을 가능하게 하는 리믹스 애플리케이션 선택 인터페이스를 디스플레이할 수 있고, 사용자 리믹스 명령은 복수의 리믹스 애플리케이션에서 미디어 애플리케이션(430)의 선택을 포함한다. 사전 미디어 요소(610)의 속성은 미디어 요소 타입(예컨대, 이미지, 비디오, 오디오), 컨텐츠 타입(예컨대, 노래, 사진, 영화 클립), 및 사전 미디어 요소(610)의 다른 설명을 포함할 수 있다. 리믹스 애플리케이션은 이들 속성 중 일부나 전부를 가지는 리믹스 미디어 요소에서 인기 있는 것으로 - 일반적으로 사용자 또는 메시징 애플리케이션(140)의 이 사용자 특유로 - 선택될 수 있다. 리믹스 애플리케이션은 특정 사전 미디어 요소(610)를 리믹스하기 위해 다른 사용자에게 인기 있는 것으로 선택될 수 있다. 리믹스 애플리케이션 선택 인터페이스는 복수의 리믹스 애플리케이션을 메시징 애플리케이션(140)의 다른 설치의 다른 사용자로부터 수신된 리믹스 애플리케이션의 사전 선택에 따라 결정된 애플리케이션 순서로 디스플레이할 수 있다.
사용자는 유사하게 리믹스 애플리케이션이 아니라 구체적인 리믹스 옵션이 보여질 수 있다. 미디어 관리 컴포넌트(160)는 메시징 서버(180)로부터 사전 메시지 패키지(670)를 수신할 수 있는데, 사전 메시지 패키지(670)는 사전 미디어 요소(610)를 포함하고, 사전 미디어 요소(610)는 제2 미디어 애플리케이션과 연관된다. 미디어 관리 컴포넌트(160)는 사전 미디어 요소(610)를 디스플레이할 수 있다. 미디어 관리 컴포넌트(160)는 디스플레이되는 사전 미디어 요소(610)와 연관하여 사용자 리믹스 명령을 수신하고, 사용자 리믹스 명령에 응답하여 복수의 리믹스 옵션을 디스플레이하고, 각 리믹스 옵션은 사전 미디어 요소(610)의 상이한 수정에 대응하고, 복수의 리믹스 옵션 중 하나의 사용자 리믹스 옵션 선택을 수신하고, 미디어 요소(110)를 생성하는 사용자 리믹스 옵션 선택에 따라 사전 미디어 요소(610)를 수정할 수 있다. 리믹스 옵션의 일부는 메시징 애플리케이션(140)과 단독으로 연관될 수 있고 일부는 외부 미디어 애플리케이션과 연관될 수 있으므로 각 미디어 애플리케이션에 속성이 부여될 수 있다. 외부 미디어 애플리케이션과 연관된 선택된 리믹스 옵션은 메시징 애플리케이션(140)에 의해 내부적으로 적용될 수 있거나 메시징 애플리케이션(140) 및 미디어 애플리케이션(430) 간의 애플리케이션간 통신을 통하여 미디어 애플리케이션(430)에 의해 적용될 수 있다. 일부 실시예에서, 각 디스플레이되는 복수의 리믹스 옵션은 복수의 리믹스 옵션에 따른 사전 미디어 요소(610) 수정의 미리보기를 포함할 수 있다.
미디어 요소가 리믹스의 결과인 경우, 추가 정보는 발신 메시징 애플리케이션에 의해 수신 메시징 애플리케이션으로 전달될 수 있다. 리믹스된 미디어 요소를 위한 미디어 패키지는 원본 미디어 요소(직접 전송 또는 URL과 같은 참조를 통해 전송), 스티커와 오디오 파일과 같은 리믹스 요소에 대한 식별(예컨대, id 넘버, 이름)뿐만 아니라 직접 공유되는 미디어 요소인 미디어 요소 리믹스의 출력 파일을 포함할 수 있다. 이와 같이, 사용자는 리믹스된 미디어 요소를 수신하고 리믹스된 미디어 요소를 생성하는데 사용되는 하나 이상의 요소를 사용하여 그 자신의 리믹스를 수행할 수 있다. 예를 들어, 조합된 비디오와 사운드 샘플은 조합된 요소의 결합된 표현(예컨대, 사운드 샘플이 오디오 트랙에 통합된 비디오) 또는 메시징 스레드에서 즉시 수행을 위한 조합된 요소로의 참조로, 하지만 공유된 미디어 요소를 생성하기 위해 조합되는 원본 요소로의 참조와 함께 전송될 수 있다. 예를 들어, 원본 비디오와 원본 사운드 샘플 모두 사운드 샘플이 추가된 비디오를 공유할 때 포함되거나 참조되어, 수신 사용자가 동일 비디오 상에 상이한 사운드 샘플을 배치하거나 사운드 샘플로 다른 비디오를 수정하도록 선택할 수 있게 할 수 있다.
사전 메시지 패키지(670)는 메시지 스레드(210)를 식별하는 메시지 스레드 식별자를 포함할 수 있다. 이 메시지 스레드 식별자는 전송되는 사전 미디어 요소(610)와 연관하여 미디어 애플리케이션(430)으로 전송될 수 있고, 메시지 스레드 식별자는 메시지 스레드(210)를 위한 애플리케이션간 링크에 대응한다. 미디어 관리 컴포넌트(160)는 미디어 애플리케이션(430)으로부터 미디어 패키지(105)의 미디어 요소(110)와 연관하여 메시지 스레드 식별자를 수신할 수 있다. 미디어 관리 컴포넌트(160)는 메시징 컴포넌트(150)로 메시지 스레드 식별자를 전송하여 메시징 컴포넌트(150)가 미디어 애플리케이션(430)으로부터 수신한 메시지 스레드 식별자로부터 메시지 스레드(210)를 식별하고 메시지 스레드 식별자로부터의 메시지 스레드(210) 식별에 기반하여 메시지 스레드(210)에 포함시키기 위하여 미디어 요소(110)를 디스플레이할 수 있게 할 수 있다.
개시된 구조의 신규한 양태를 수행하기 위한 예시적인 방법론을 표현하는 흐름도의 세트가 본 명세서에 포함된다. 설명의 간소화를 위해, 예컨대 흐름도이나 흐름 다이어그램의 형태로 본 명세서에 도시된 하나 이상의 방법이 도시되고 일련의 행위로 기술되지만, 방법론은 몇몇의 행위는 그에 따라 본 명세서에 도시되고 기술되는 다른 행위들과 다른 순서로 및/또는 동시에 발생할 수 있기 때문에 그 행위의 순서에 국한되지 않는다고 이해되고 인식된다. 예컨대, 방법론은 가령 상태 다이어그램과 같이 일련의 상호연관된 상태나 이벤트로서 대안으로 표현될 수 있다고 당업자가 이해하고 인식할 것이다. 게다가, 방법론에 설명된 모든 행위들이 신규한 구현에 요구되는 것은 아닐 수 있다.
도 7은 로직 흐름(700)의 일실시예를 도시한다. 로직 흐름(700)은 본 명세서에 기술된 하나 이상의 실시예들에 의해 실행되는 동작들의 일부 또는 전부를 표현할 수 있다.
도 7에 도시된 실시예에서, 로직 흐름(700)은 블록(702)에서 메시징 애플리케이션(140)에서 미디어 요소(110)을 수신할 수 있고, 미디어 요소(110)는 미디어 애플리케이션(430)과 연관된다.
로직 흐름(700)은 블록(704)에서 메시지 패키지(170)를 생성할 수 있고, 메시지 패키지(170)는 미디어 요소(110)를 포함하고, 메시지 패키지(170)는 미디어 요소를 위한 속성 기록(115)를 포함하고, 속성 기록은 미디어 애플리케이션(430)에 대한 미디어 요소(110)를 위한 애플리케이션간 링크를 포함한다.
로직 흐름(700)은 블록(706)에서 메시징 서버(180)로 메시지 패키지(170)를 전송할 수 있다.
실시예는 이 예시에 제한되지 않는다.
도 8은 중앙형 시스템(800)의 블록도를 도시한다. 중앙형 시스템(800)은, 가령 단일 메시징 서버 장치(480) 내에서 전체적으로 존재하는 것과 같이 단일 컴퓨팅 엔티티에서 미디어 메시징 시스템(100)에 대한 구조 및/또는 동작의 일부 또는 전부를 구현할 수 있다.
메시징 서버 장치(480)는 미디어 메시징 시스템(100)을 위해 정보를 수신하고, 프로세싱하며, 전송할 수 있는 임의의 전자 장치를 포함할 수 있다. 전자식 장치의 예들은 제한 없이 초-모바일(ultra-mobile) 장치, 모바일 장치, 개인용 정보 단말기(PDA), 모바일 컴퓨팅 장치, 스마트폰, 전화, 디지털 전화, 셀룰러 전화, 전자책 리더, 핸드셋, 단방향 페이저, 양방향 페이저, 메시징 장치, 컴퓨터, 개인용 컴퓨터(PC), 데스크톱 컴퓨터, 랩톱 컴퓨터, 노트북 컴퓨터, 넷북 컴퓨터, 휴대용 컴퓨터, 태블릿 컴퓨터, 서버, 서버 어레이 또는 서버 팜(server farm), 웹 서버, 네트워크 서버, 인터넷 서버, 워크 스테이션, 미니-컴퓨터, 메인 프레임 컴퓨터, 슈퍼컴퓨터, 네트워크 가전, 웹 가전, 분산형 컴퓨팅 시스템, 멀티프로세서 시스템, 프로세서-기반 시스템, 소비자 전자기기, 프로그램가능한 소비자 전자기기, 게임 장치, 텔레비전, 디지털 텔레비전, 셋톱 박스, 무선 접속점, 기지국, 구독자 스테이션, 모바일 구독자 센터, 무선 네트워크 컨트롤러, 라우터, 허브, 게이트웨이, 브릿지, 스위치, 기계 또는 이들의 조합을 포함할 수 있다. 실시예들이 이와 같은 문맥으로 제한되는 것은 아니다.
메시징 서버 장치(480)는 프로세싱 컴포넌트(830)를 사용하여 미디어 메시징 시스템(100)을 위한 동작 또는 로직의 프로세싱을 실행할 수 있다. 프로세싱 컴포넌트(830)는 다양한 하드웨어 요소, 소프트웨어 요소 또는 둘 다의 조합을 포함할 수 있다. 하드웨어 요소의 예들은 장치들, 로직 장치들, 컴포넌트들, 프로세서들, 마이크로프로세서들, 회로들, 프로세서 회로들, 회로 요소들(예컨대, 트랜지스터, 저항, 커패시터, 인덕터 등), 집적회로들, ASIC(application specific integrated circuits), PLD(programmable logic devices), DSP(digital signal processors), FPGA(field programmable gate array), 메모리 유닛들, 로직 게이트들, 레지스터들, 반도체 장치, 칩, 마이크로칩, 칩셋 등을 포함할 수 있다. 소프트웨어 요소의 예는 소프트웨어 컴포넌트, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 소프트웨어 개발 프로그램, 기계 프로그램, 운영 시스템 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 함수, 방법, 절차, 소프트웨어 인터페이스, API(application program interfaces), 명령어 세트, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 단어, 값, 심볼, 또는 이들의 임의의 조합을 포함할 수 있다. 실시예가 하드웨어 요소 및/또는 소프트웨어 요소를 사용하여 구현되는지 여부를 결정하는 것은 주어진 구현예를 위해 원하는 바에 따른 임의의 수의 요인들, 가령 소정의 계산 속도, 전력 레벨, 내열성, 프로세싱 사이클 예산, 입력 데이터 속도, 출력 데이터 속도, 메모리 자원, 데이터 버스 속도 및 다른 디자인 또는 성능 제약에 따라 다양할 수 있다.
메시징 서버 장치(480)는 통신 컴포넌트(840)를 사용하여 미디어 메시징 시스템(100)을 위한 통신 동작 또는 로직을 실행할 수 있다. 통신 컴포넌트(840)는 가령 패킷-교환형 네트워크(예컨대, 인터넷과 같은 공중 네트워크, 기업 인트라넷과 같은 사적 네트워크 등), 회로-교환형 네트워크(예컨대, 공중 교환 전화망) 또는 (적절한 게이트웨이와 변환기를 가진) 패킷-교환형 네트워크와 회로-교환형 네트워크의 조합과 같이 임의의 널리 알려진 통신 기술 및 프로토콜을 구현할 수 있다. 통신 컴포넌트(840)는 가령 하나 이상의 통신 인터페이스, 네트워크 인터페이스, 네트워크 인터페이스 카드(NIC), 라디오, 무선 송신기/수신기(송수신기), 유선 및/또는 무선 통신 미디어, 물리적 커넥터 등과 같이 다양한 타입의 표준 통신 구성요소들을 포함할 수 있다. 예로서 제한 없이, 통신 미디어(812, 842)는 유선 통신 미디어 및 무선 통신 미디어를 포함한다. 유선 통신 미디어의 예는 와이어, 케이블, 금속 리드(lead), PCB(printed circuit boards), 백플레인(backplane), 스위치 패브릭, 반도체 물질, 트위스티드-페어 와이어(twisted-pair wire), 동축 케이블, 광섬유, 전파되는 신호 등을 포함할 수 있다. 무선 통신 미디어의 예들은 음향, 무선-주파수(RF) 스펙트럼, 적외선 및 다른 무선 미디어를 포함할 수 있다.
메시징 서버 장치(480)는 통신 컴포넌트(840)를 통한 통신 신호(814, 844) 각각을 사용하여 통신 미디어(812, 842) 각각을 통해 다른 장치들(810, 850)과 통신할 수 있다. 장치(810, 850)는 주어진 구현예를 위해 원하는 바에 따라 메시징 서버 장치(480)의 내부 또는 외부에 있을 수 있다.
중앙형 시스템(800)은 단일 메시징 서버(180)가 단일 메시징 서버 장치(480) 상에서 실행되는데 사용되는 실시예에 대응할 수 있다. 장치(810, 850)는 메시징 서비스를 위해 메시징 서버(180)를 사용하는 클라이언트 장치 - 예컨대 클라이언트 장치(120) 및 제2 클라이언트 장치(190) - 에 대응할 수 있다.
도 9는 분산형 시스템(900)의 블록도를 도시한다. 분산형 시스템(900)은 다수의 컴퓨팅 엔티티들에 걸쳐 미디어 메시징 시스템(100)을 위한 구조 및/또는 동작의 부분들을 분산시킬 수 있다. 분산형 시스템(900)의 예는 제한 없이, 클라이언트-서버 구조, 3-계층 구조, N-계층 구조, 밀접하게-커플링(tightly-coupled)되거나 클러스터화된 구조, 피어-투-피어 구조, 마스터-슬레이브(master-slave) 구조, 공유된 데이터베이스 구조 및 다른 타입의 분산형 시스템을 포함할 수 있다. 실시예들이 이와 같은 문맥으로 제한되는 것은 아니다.
분산형 시스템(900)은 복수의 메시징 서버 장치(910) 및 복수의 미디어 서버 장치(950)를 포함할 수 있다. 일반적으로, 복수의 메시징 서버 장치(910) 및 복수의 미디어 서버 장치(950)는 도 8과 관련하여 기술된 서버 장치(480)와 동일하거나 유사할 수 있다. 예컨대, 복수의 메시징 서버 장치(910) 및 복수의 미디어 서버 장치(950)는 각각 도 8을 참조하여 기술된 프로세싱 컴포넌트(830) 및 통신 컴포넌트(840)와 각각 동일하거나 유사한 프로세싱 컴포넌트(930) 및 통신 컴포넌트(940)를 각각 포함할 수 있다. 다른 예로, 장치(910, 950)는 통신 구성요소(940)를 통해 통신 신호(914)를 사용하여 통신 미디어(912) 상에서 통신할 수 있다.
복수의 메시징 서버 장치(910)는 기술된 실시예들에 따라 다양한 방법론을 수행하도록 동작하는 하나 이상의 클라이언트 프로그램을 포함하거나 이용할 수 있다. 일실시예에서, 예를 들어, 복수의 메시징 서버 장치(910)는 집합적으로 분산형 메시징 서버(180)로서 메시징 서버(180)를 구현할 수 있다. 각 메시징 서버 장치(910)는 메시징 서버(180)를 실행하여 집합적으로 미디어 메시징 시스템(100)의 사용자에게 메시징 서비스를 제공할 수 있다.
복수의 미디어 서버 장치(950)는 기술된 실시예들에 따라 다양한 방법론을 수행하도록 동작하는 하나 이상의 서버 프로그램을 포함하거나 이용할 수 있다. 일실시예로, 예컨대, 복수의 미디어 서버 장치(950)는 미디어 서버(135)를 구현할 수 있다.
도 10은 이전에 기술된 다양한 실시예들을 구현하기에 적절한 예시적인 컴퓨팅 구조(1000)의 실시예를 도시한다. 일실시예로, 컴퓨팅 구조(1000)는 전자 장치의 일부를 포함하거나 구현될 수 있다. 전자 장치의 예들은 다른 것들 중에서 도 8 및 9를 참조로 기술되는 것들을 포함할 수 있다. 실시예들이 이와 같은 문맥으로 제한되는 것은 아니다.
본 출원에서 사용되는 바와 같이, "시스템" 및 "컴포넌트"란 용어는 컴퓨터-관련 엔티티, 어느 하나의 하드웨어, 하드웨어와 소프트웨어의 조합, 소프트웨어, 실행중의 소프트웨어, 예시적인 컴퓨팅 구조(1000)에 의해 제공되는 예들을 일컫는 것으로 의도된다. 예컨대, 컴포넌트는 프로세서에서 실행하는 프로세스, 프로세서, 하드 디스크 드라이브, (광학 및/또는 자기 저장매체의) 다수의 저장 드라이브, 객체, 실행가능한 것들, 실행의 쓰레드(thread), 프로그램 및/또는 컴퓨터일 수 있으나 이에 국한되지 않는다. 예로서, 서버에서 실행하는 애플리케이션과 서버 모두는 컴포넌트일 수 있다. 하나 이상의 컴포넌트는 프로세스 및/또는 실행의 쓰레드 내에 상주할 수 있고, 컴포넌트는 하나의 컴퓨터에 로컬화될 수 있고/있거나 2 이상의 컴퓨터들 사이에 분산될 수 있다. 게다가, 컴포넌트는 동작들을 편성하도록 다양한 타입의 통신 미디어에 의해 서로 통신가능하게 연결될 수 있다. 편성(coordination)은 정보의 단방향이나 양방향 교환을 포함할 수 있다. 예컨대, 컴포넌트는 통신 미디어를 통해 통신되는 신호의 형태로 정보를 통신할 수 있다. 정보는 다양한 신호 라인에 할당된 신호들로서 구현될 수 있다. 이런 할당에서, 각 메시지는 신호이다. 그러나, 추가의 실시예들이 대안으로 데이터 메시지를 이용할 수 있다. 이런 데이터 메시지는 다양한 연결을 통해 송신될 수 있다. 예시적인 연결은 병렬 인터페이스, 직렬 인터페이스 및 버스 인터페이스를 포함한다.
컴퓨팅 구조(1000)는 가령 하나 이상의 프로세서, 멀티-코어 프로세서, 코-프로세서(co-processors), 메모리 유닛, 칩셋, 컨트롤러, 주변기기, 인터페이스, 오실레이터, 타이밍 장치, 비디오 카드, 오디오 카드, 멀티미디어 입력/출력(I/O) 컴포넌트, 전원 등과 같이 다양한 공통의 컴퓨팅 요소들을 포함한다. 그러나, 실시예들은 컴퓨팅 구조(1000)에 의한 구현으로 국한되지 않는다.
도 10에 도시된 바와 같이, 컴퓨팅 구조(1000)는 프로세싱 유닛(1004), 시스템 메모리(1006) 및 시스템 버스(1008)를 포함한다. 프로세싱 유닛(1004)은 제한 없이 AMD® Athlon®, Duron® 및 Opteron® 프로세서; ARM® 애플리케이션, 임베디드 및 보안 프로세서; IBM® 및 Motorola® DragonBall® 및 PowerPC® 프로세서; IBM 및 Sony® Cell 프로세서; Intel® Celeron®, Core (2) Duo®, Itanium®, Pentium®, Xeon® 및 XScale® 프로세서; 및 유사한 프로세서들을 포함하는 임의의 다양한 영리적으로 이용가능한 프로세서일 수 있다. 또한, 듀얼 멀티프로세서, 멀티-코어 프로세서 및 다른 멀티-프로세서 구조가 프로세싱 유닛(1004)으로 이용될 수 있다.
시스템 버스(1008)는 시스템 메모리(1006)를 포함하나 이에 국한되지 않는 시스템 구성요소용 인터페이스를 프로세싱 유닛(1004)에 제공한다. 시스템 버스(1008)는 임의의 다양한 영리적으로 이용가능한 버스 구조를 사용하여 (메모리 컨트롤러를 가지거나 가지지 않은) 메모리 버스, 주변기기 버스 및 로컬 버스와도 또한 상호연결할 수 있는 임의의 여러 타입의 버스 구조일 수 있다. 인터페이스 어댑터는 슬롯 구조를 통해 시스템 버스(1008)와 연결할 수 있다. 예시적인 슬롯 구조는 제한 없이 AGP(Accelerated Graphics Port), 카드 버스, (E)ISA((Extended) Industry Standard Architecture), MCA(Micro Channel Architecture), NuBus, PCI(X)(Peripheral Component Interconnect (Extended)), PCI Express, PCMCIA(Personal Computer Memory Card International Association) 등을 포함할 수 있다.
컴퓨팅 구조(1000)는 다양한 제조 물품을 포함하거나 구현할 수 있다. 제조 물품은 로직을 저장하는 컴퓨터-판독가능한 저장매체를 포함할 수 있다. 컴퓨터-판독가능한 저장 매체의 예는 전자 데이터를 저장할 수 있고, 휘발성 메모리 또는 비-휘발성 메모리, 제거가능하거나 제거불가한 메모리, 삭제가능하거나 삭제불가한 메모리, 쓰기가능하거나 다시쓰기가 가능한 메모리 등을 포함하는 임의의 실체적 매체를 포함할 수 있다. 논리의 예는 임의의 적절한 타입의 코드, 가령 소스 코드, 컴파일된 코드, 해석된 코드, 실행가능한 코드, 정적 코드, 동적 코드, 객체-지향 코드, 시각적 코드 등을 사용하여 구현되는 실행가능한 컴퓨터 프로그램 명령어를 포함할 수 있다. 또한, 실시예들은 본 명세서에 기술되는 동작들의 수행을 가능하게 하는 하나 이상의 프로세서에 의해 판독되고 실행될 수 있는, 비-일시적 컴퓨터-판독가능한 매체에 포함되는 명령어로서 적어도 부분적으로 구현될 수 있다.
시스템 메모리(1006)는 하나 이상의 고속 메모리 유닛, 가령 ROM(read-only memory), RAM(random-access memory), DRAM(dynamic RAM), DDRAM(Double-Data-Rate DRAM), SDRAM(synchronous DRAM ), SRAM(static RAM), PROM(programmable ROM), EPROM(erasable programmable ROM), EEPROM(electrically erasable programmable ROM), 플래시 메모리, 강유전성 폴리머 메모리와 같은 폴리머 메모리, 오보닉 메모리, 위상 변화 또는 강유전성 메모리, SONOS(silicon-oxide-nitride-oxide-silicon) 메모리, 자성 또는 광학 카드, RAID(Redundant Array of Independent Disk) 드라이브와 같은 장치들의 어레이, 솔리드 스테이트 메모리 장치(예컨대, USB 메모리, SSD(solid state drive)), 및 정보를 저장하기에 적절한 임의의 다른 타입의 저장 매체와 같은 형태인 다양한 타입의 컴퓨터-판독가능한 저장 매체를 포함할 수 있다. 도 10에 보여지는 도시된 실시예에서, 시스템 메모리(1006)는 비-휘발성 메모리(1010) 및/또는 휘발성 메모리(1012)를 포함할 수 있다. 기본 입력/출력 시스템(BIOS)은 비-휘발성 메모리(1010)에 저장될 수 있다.
컴퓨터(1002)는 내부(또는 외부) 하드디스크 드라이브(HDD)(1014), 착탈식 자기 디스크(1018)로부터 판독하거나 자기 디스크에 기록하는 자기 플로피 디스크 드라이브(FDD)(1016) 및 착탈식 광학 디스크(1022)로부터 판독하거나 광학 디스크에 기록하는 광학 디스크 드라이브(1020)(예컨대, CD-ROM 또는 DVD)를 포함하는 하나 이상의 저속 메모리 유닛의 형태의 다양한 타입의 컴퓨터-판독가능한 저장매체를 포함할 수 있다. HDD(1014), FDD(1016) 및 광학 디스크 드라이브(1020)는 HDD 인터페이스(1024), FDD 인터페이스(1026) 및 광학 디스크 인터페이스(1028)에 의해 각각 시스템 버스(1008)와 연결될 수 있다. 외부 드라이브 구현용 HDD 인터페이스(1024)는 USB(Universal Serial Bus) 및 IEEE 1394 인터페이스 기술들 중 적어도 하나 또는 둘 모두를 포함할 수 있다.
드라이브 및 관련 컴퓨터-판독가능한 매체는 휘발성 및/또는 비휘발성 데이터 저장, 데이터 구조, 컴퓨터-실행가능한 명령어 등을 제공한다. 예컨대, 다수의 프로그램 모듈은 운영 시스템(1030), 하나 이상의 애플리케이션 프로그램(1032), 다른 프로그램 모듈(1034) 및 프로그램 데이터(1036)를 포함하는 드라이브 및 메모리 유닛(1010, 1012)에 저장될 수 있다. 일실시예로, 하나 이상의 애플리케이션 프로그램(1032), 다른 프로그램 모듈(1034), 및 프로그램 데이터(1036)는 예컨대, 미디어 메시징 시스템(100)의 다양한 애플리케이션 및/또는 컴포넌트를 포함할 수 있다.
사용자는 예컨대 키보드(1038) 및 마우스(1040)와 같은 포인팅 장치와 같은 하나 이상의 유선/무선 입력 장치를 통해 명령 및 정보를 컴퓨터(1002)로 입력할 수 있다. 다른 입력 장치는 마이크로폰, 적외선(IR) 원격 컨트롤, 무선-주파수(RF) 원격 컨트롤, 게임 패드, 스타일러스 펜, 카드 리더, 동글(dongles), 지문 리더, 글로브(gloves), 그래픽 태플릿, 조이스틱, 키보드, 망막 리더, (예컨대, 정전용량식, 저항식 등의) 터치 스크린, 트랙볼, 트랙패드, 센서, 스타일러스 등을 포함할 수 있다. 이런 입력 장치 및 다른 입력 장치는 흔히 시스템 버스(1008)와 연결되는 입력 장치 인터페이스(1042)를 통해 프로세싱 유닛(1004)과 연결되지만, 가령 병렬 포트, IEEE 1394 직렬 포트, 게임 포트, USB 포트, IR 인터페이스 등과 같이 다른 인터페이스들로 연결될 수 있다.
또한, 모니터(1044) 또는 다른 타입의 디스플레이 장치는 가령 비디오 어댑터(1046)와 같은 인터페이스를 통해 시스템 버스(1008)와 연결된다. 모니터(1044)는 컴퓨터(1002)의 내부 또는 외부에 있을 수 있다. 모니터(1044) 이외에, 컴퓨터는 가령 스피커, 프린터 등과 같은 다른 주변의 출력 장치들을 일반적으로 포함한다.
컴퓨터(1002)는 가령 원격 컴퓨터(1048)와 같은 하나 이상의 원격 컴퓨터로의 유선 및/또는 무선 통신을 통한 논리적 연결을 사용하여 네트워크형 환경에서 동작할 수 있다. 원격 컴퓨터(1048)는 워크스테이션, 서버 컴퓨터, 라우터, 개인용 컴퓨터, 휴대용 컴퓨터, 마이크로프로세서-기반 엔터테인먼트 가전, 피어 장치 또는 다른 공통의 네트워크 노드일 수 있고, 간결함을 위해 단지 하나의 메모리/저장 장치(1050)만이 도시되지만, 일반적으로 컴퓨터(1002)에 대하여 기술되는 많은 구성요소 또는 모든 구성요소를 포함한다. 도시되는 논리적 연결은 근거리 네트워크(LAN)(1052)로의 유선/무선 연결 및/또는 예컨대 광역 네트워크(WAN)(1054)와 같은 더 큰 네트워크를 포함한다. 이러한 LAN 및 WAN 네트워킹 환경은 사무실 및 회사에 일반적이며, 기업체의 컴퓨터 네트워크, 가령 인트라넷을 용이하게 하며, 이들 모두는 글로벌 통신 네트워크, 예컨대 인터넷으로 연결될 수 있다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(1002)는 유선 및/또는 무선 통신 네트워크 인터페이스 또는 어댑터(1056)를 통해 LAN(1052)과 연결된다. 어댑터(1056)는 LAN(1052)으로의 유선 및/또는 무선 통신을 용이하게 할 수 있고, 이것은 또한 어댑터(1056)의 무선 기능과 통신하기 위해 그곳에 배치되는 무선 접속점을 포함할 수 있다.
WAN 네트워킹 환경에서 사용될 때, 컴퓨터(1002)는 모뎀(1058)을 포함할 수 있거나, WAN(1054)에서 통신 서버와 연결되거나, 가령 인터넷과 같이 WAN(1054)을 통해 통신을 확립하기 위한 다른 수단을 가진다. 내부 또는 외부 및 유선 및/또는 무선 장치일 수 있는 모뎀(1058)은 입력 장치 인터페이스(1042)를 통해 시스템 버스(1008)와 연결한다. 네트워크형 환경에서, 컴퓨터(1002)에 대해 묘사되는 프로그램 모듈들 또는 이들의 부분들은 원격 메모리/저장 장치(1050)에 저장될 수 있다. 도시된 네트워크 연결은 예시적이고 컴퓨터 사이의 통신 링크를 확립하는 다른 수단이 사용될 수 있음이 이해될 것이다.
컴퓨터(1002)는 가령 무선 통신(예컨대, 무선(over-the-air) 변조 기술의 IEEE 802. 10)에서 동작가능하게 배치되는 무선 장치와 같이 IEEE 802 표준 패밀리를 사용하여 유선 및 무선 장치 또는 엔티티와 통신하도록 동작한다. 이는 적어도 Wi-Fi(또는 Wireless Fidelity), WiMax 및 BluetoothTM 무선 기술 등을 포함한다. 따라서, 통신은 종래의 네트워크와 같은 기정의된 구조 또는 단순히 적어도 2개의 장치 사이의 애드 혹 통신일 수 있다. Wi-Fi 네트워크는 IEEE 802. 10x(a, b, g, n 등)라고 하는 무선 기술을 사용하여 보안의 신뢰성 있는 신속한 무선 연결을 제공한다. Wi-Fi 네트워크는 컴퓨터들을 서로와, 인터넷에, 및 (IEEE 802. 3-관련 미디어 및 함수를 사용하는) 무선 네트워크에 연결하도록 사용될 수 있다.
도 11은 상술한 바와 같이 다양한 실시예들을 구현하는데 적합한 예시적인 통신 구조(1100)의 블록 다이어그램을 도시한다. 통신 구조(1100)는 가령 송신기, 수신기, 송수신기, 라디오, 네트워크 인터페이스, 기저대역 프로세서, 안테나, 증폭기, 필터, 전원 등과 같이 다양한 공통의 통신 구성요소들을 포함한다. 그러나, 실시예들이 통신 구조(1100)에 의한 구현으로 국한되는 것은 아니다.
도 11에 도시된 바와 같이, 통신 구조(1100)는 하나 이상의 클라이언트(1102) 및 서버(1104)를 포함한다. 클라이언트(1102)는 클라이언트 장치(120), 제2 클라이언트 장치(190) 및 장치(810, 850)와 같은 클라이언트 장치를 구현할 수 있다. 서버(1104)는 메시징 서버 장치(910)와 미디어 서버 장치(950)를 구현할 수 있다. 클라이언트(1102) 및 서버(1104)는 가령 쿠키 및/또는 관련 컨텍스트형 정보와 같이 각각의 클라이언트(1102) 및 서버(1104)에 대한 로컬 정보를 저장하는데 이용될 수 있는 하나 이상의 각각의 클라이언트 데이터 스토어(1108) 및 서버 데이터 스토어(1110)와 동작가능하게 연결된다.
클라이언트(1102) 및 서버(1104)는 통신 프레임워크(1106)를 사용하여 서로 간에 정보를 통신할 수 있다. 통신 프레임워크(1106)는 임의의 잘 알려진 통신 기술 및 프로토콜을 구현할 수 있다. 통신 프레임워크(1106)는 패킷-교환형 네트워크(예컨대, 인터넷과 같은 공중 네트워크, 기업 인트라넷과 같은 사적 네트워크 등), 회로-교환형 네트워크(예컨대, 공중 교환 전화망) 또는 (적절한 게이트웨이와 변환기를 가진) 패킷-교환형 네트워크와 회로-교환형 네트워크의 조합으로서 구현될 수 있다.
통신 프레임워크(1106)는 통신 네트워크를 수락, 통신 및 연결하도록 배열되는 다양한 네트워크 인터페이스를 구현할 수 있다. 네트워크 인터페이스는 특수화된 형태의 입출력 인터페이스로 간주될 수 있다. 네트워크 인터페이스는 제한 없이 직접 연결, 이더넷(예컨대, thick, thin, twisted pair 10/100/1000 Base T 등), 토큰 링, 무선 네트워크 인터페이스, 셀룰러 네트워크 인터페이스, IEEE 802. 11a-x 네트워크 인터페이스, IEEE 802. 16 네트워크 인터페이스, IEEE 802. 20 네트워크 인터페이스 등을 포함하는 연결 프로토콜을 이용할 수 있다. 게다가, 다수의 네트워크 인터페이스는 다양한 통신 네트워크 타입과 연계하는데 사용될 수 있다. 예컨대, 다수의 네트워크 인터페이스는 방송, 멀티캐스트 및 유니캐스트 네트워크를 통한 통신을 가능하게 하는데 이용될 수 있다. 프로세싱 조건이 더 높은 속도와 성능을 요구하면, 분산형 네트워크 컨트롤러 구조는 마찬가지로 클라이언트(1102) 및 서버(1104)에 의해 요구되는 통신 대역폭을 풀링(pool), 부하 균형(load balance) 및 증가하는데 이용될 수 있다. 통신 네트워크는 제한 없이 직접형 상호연결, 보안형 커스텀 연결, 사적 네트워크(예컨대, 기업 인트라넷), 공중 네트워크(예컨대, 인터넷), 개인 영역 네트워크(PAN), 근거리 네트워크(LAN), 대도시 네트워크(MAN), OMNI(Operating Missions as Nodes on the Internet), 광역 네트워크(WAN), 무선 네트워크, 셀룰러 네트워크 및 다른 통신 네트워크들을 포함하는 임의의 하나 및 유선 및/또는 무선 네트워크의 조합일 수 있다.
도 12는 가령, 미디어 메시징 시스템(100)과 같은 멀티캐리어 OFDM 시스템에서 사용하기 위한 장치(1200)의 실시예를 도시한다. 장치(1200)는 예컨대, 미디어 메시징 시스템(100) 및/또는 로직 회로(1230)를 참조하여 기술되는 것과 같은 소프트웨어 컴포넌트(1260)를 구현할 수 있다. 로직 회로(1230)는 미디어 메시징 시스템(100)에 대해 기술된 동작들을 수행하는 물리적인 회로를 포함할 수 있다. 도 12에 도시되는 것처럼, 장치(1200)는 라디오 인터페이스(1210), 베이스밴드 회로부(1220) 및 컴퓨팅 플랫폼(1230)을 포함할 수 있으나, 실시예들은 이러한 구성으로 제한되지는 않는다.
장치(1200)는 가령 전적으로 단일 장치 내에서와 같이 단일 컴퓨팅 엔티티에서 미디어 메시징 시스템(100) 및/또는 로직 회로(1230)에 대한 구조 및/또는 동작의 일부 또는 전부를 구현할 수 있다. 대안으로, 장치(1200)는, 분산형 시스템 구조, 가령 클라이언트-서버 구조, 3-티어 구조(3-tier architecture), N-티어 구조, 밀착-결합형 또는 클러스터형 구조, 피어-투-피어(peer-to-peer) 구조, 마스터-슬레이브(master-slave) 구조, 공유형 데이터베이스 구조 및 다른 타입의 분산형 시스템을 사용하여 다수의 컴퓨팅 엔티티들에 걸쳐 미디어 메시징 시스템(100) 및/또는 로직 회로(1230)의 구조 및/또는 동작의 부분들을 분산할 수 있다. 실시예들이 이와 같은 문맥으로 제한되는 것은 아니다.
일실시예로, 실시예들은 임의의 특정 오버-더-에어 인터페이스나 변조 방식으로 제한되지는 않지만, 라디오 인터페이스(1210)는 단일 캐리어 또는 다중-캐리어 변조 신호(예컨대, CCK(complementary code keying) 및/또는 OFDM(orthogonal frequency division multiplexing) 심볼들을 포함함)를 송신 및/또는 수신하도록 구성되는 구성요소들의 조합 또는 하나의 구성요소를 포함할 수 있다. 라디오 인터페이스(1210)는 예컨대, 수신기(1212), 송신기(1216) 및/또는 주파수 합성기(1214)를 포함할 수 있다. 라디오 인터페이스(1210)는 바이어스 컨트롤, 크리스탈 발진기 및/또는 하나 이상의 안테나(1218)를 포함할 수 있다. 다른 실시예로, 라디오 인터페이스(1210)는 소정의 외부 전압-제어 발진기(voltage-controlled oscillators; VCOs), 표면 음파 필터(surface acoustic wave filter), 중간 주파수(IF) 필터 및/또는 RF 필터를 사용할 수 있다. 잠재적인 RF 인터페이스 디자인의 다양성으로 인해, 광범위한 설명은 생략된다.
베이스밴드 회로부(1220)는 신호를 수신 및/또는 송신하는 것을 프로세싱하기 위한 라디오 인터페이스(1210)와 통신할 수 있고, 예컨대 수신된 신호를 하향 변환하기 위한 아날로그-디지털 컨버터(1222) 및 신호를 송신을 위해 상향 변환하기 위한 디지털-아날로그 컨버터(1224)를 포함할 수 있다. 또한, 베이스밴드 회로부(1220)는 각각의 수신/송신 신호를 프로세싱하는 PHY 링크 계층을 위한 베이스밴드 또는 물리 계층(PHY) 프로세싱 회로(1256)를 포함할 수 있다. 베이스밴드 회로부(1220)는 예컨대, 매체 액세스 컨트롤(MAC)/데이터 링크 계층 프로세싱을 위한 프로세싱 회로(1228)를 포함할 수 있다. 베이스밴드 회로부(1220)는 예컨대, 하나 이상의 인터페이스(1234)를 통해 프로세싱 회로(1228) 및/또는 컴퓨팅 플랫폼(1230)과 통신하기 위한 메모리 컨트롤러(1232)를 포함할 수 있다.
일부 실시예로, PHY 프로세싱 회로(1226)는 통신 프레임, 가령 라디오 프레임을 구성 및/또는 해체하기 위해 가령 버퍼 메모리와 같은 추가 회로부와 조합되는 프레임 구성 및/또는 감지 모듈을 포함할 수 있다. 대안으로 또는 추가로, MAC 프로세싱 회로(1228)는 임의의 이러한 기능들의 프로세싱을 공유하거나 PHY 프로세싱 회로(1226)와는 독립적으로 이러한 프로세스를 수행할 수 있다. 일부 실시예로, MAC 및 PHY 프로세싱은 단일 회로로 통합될 수 있다.
컴퓨팅 플랫폼(1230)은 장치(1200)를 위한 컴퓨팅 기능을 제공할 수 있다. 도시되는 것처럼, 컴퓨팅 플랫폼(1230)은 프로세싱 컴포넌트(1240)를 포함할 수 있다. 베이스밴드 회로부(1220)에 추가로 또는 대안으로, 장치(1200)는 프로세싱 컴포넌트(1240)를 사용하여 미디어 메시징 시스템(100) 및 로직 회로(1230)에 대한 동작 또는 로직을 프로세싱하는 것을 실행할 수 있다. 프로세싱 구성요소(1240) (및/또는 PHY(1226) 및/또는 MAC(1228))는 다양한 하드웨어 요소, 소프트웨어 요소 또는 둘 모두의 조합을 포함할 수 있다. 하드웨어 요소의 예들은 장치들, 로직 장치들, 컴포넌트들, 프로세서들, 마이크로프로세서들, 회로들, 프로세서 회로들, 회로 요소들(예컨대, 트랜지스터, 저항, 커패시터, 인덕터 등), 집적회로들, ASIC(application specific integrated circuits), PLD(programmable logic devices), DSP(digital signal processors), FPGA(field programmable gate array), 메모리 유닛들, 로직 게이트들, 레지스터들, 반도체 장치, 칩, 마이크로칩, 칩셋 등을 포함할 수 있다. 소프트웨어 요소의 예는 소프트웨어 컴포넌트, 프로그램, 애플리케이션, 컴퓨터 프로그램, 애플리케이션 프로그램, 시스템 프로그램, 소프트웨어 개발 프로그램, 기계 프로그램, 운영 시스템 소프트웨어, 미들웨어, 펌웨어, 소프트웨어 모듈, 루틴, 서브루틴, 함수, 방법, 절차, 소프트웨어 인터페이스, API(application program interfaces), 명령어 세트, 컴퓨팅 코드, 컴퓨터 코드, 코드 세그먼트, 컴퓨터 코드 세그먼트, 단어, 값, 심볼, 또는 이들의 임의의 조합을 포함할 수 있다. 실시예가 하드웨어 요소 및/또는 소프트웨어 요소를 사용하여 구현되는지 여부를 결정하는 것은 주어진 구현예를 위해 원하는 바에 따른 임의의 수의 요인들, 가령 소정의 계산 속도, 전력 레벨, 내열성, 프로세싱 사이클 예산, 입력 데이터 속도, 출력 데이터 속도, 메모리 자원, 데이터 버스 속도 및 다른 디자인 또는 성능 제약에 따라 다양할 수 있다.
컴퓨팅 플랫폼(1230)은 다른 플랫폼 구성요소들(1250)을 더 포함할 수 있다. 다른 플랫폼 구성요소(1250)는 가령 하나 이상의 프로세서, 멀티-코어 프로세서, 코-프로세서(co-processors), 메모리 유닛, 칩셋, 컨트롤러, 주변기기, 인터페이스, 오실레이터, 타이밍 장치, 비디오 카드, 오디오 카드, 멀티미디어 입력/출력(I/O) 컴포넌트, 전원 등과 같은 공통의 컴퓨팅 요소들을 포함한다. 메모리 유닛의 예는 제한 없이, 하나 이상의 고속 메모리 유닛의 형태인 다양한 타입의 컴퓨터 판독가능 및 기계 판독가능한 저장 매체, 가령 ROM(read-only memory), RAM(random-access memory), DRAM(dynamic RAM), DDRAM(Double-Data-Rate DRAM), SDRAM(synchronous DRAM), SRAM(static RAM), PROM(programmable ROM), EPROM(erasable programmable ROM), EEPROM(electrically erasable programmable ROM), 플래시 메모리, 폴리머 메모리, 가령 강유전성 폴리머 메모리, 오보닉 메모리, 상변화 또는 강유전성 메모리, SONOS(silicon-oxide-nitride-oxide-silicon) 메모리, 자성 또는 광학 카드, RAID(Redundant Array of Independent Disks) 장치와 같은 장치들의 어레이, 솔리드 스테이트 메모리 장치(예컨대, USB 메모리, SSD(solid state drives)) 및 정보를 저장하기에 적절한 임의의 다른 타입의 저장 매체를 포함할 수 있다.
장치(1200)는 예컨대, 올트라-모바일 장치, 모바일 장치, 고정형 장치, M2M(machine-to-machine) 장치, PDA(personal digital assistant), 모바일 컴퓨팅 장치, 스마트폰, 전화, 디지털 전화, 셀룰러 전화, 사용자 장비, eBook 판독기, 핸드셋, 일방향 호출기, 쌍방향 호출기, 메시징 장치, 컴퓨터, 개인용 컴퓨터(PC), 데스크톱 컴퓨터, 랩톱 컴퓨터, 노트북 컴퓨터, 넷북 컴퓨터, 핸드헬드 컴퓨터, 태블릿 컴퓨터, 서버, 서버 어레이 또는 서버 팜, 웹 서버, 네트워크 서버, 인터넷 서버, 워크 스테이션, 미니-컴퓨터, 메인 프레임 컴퓨터, 슈퍼컴퓨터, 네트워크 어플라이언스, 웹 어플라이언스, 분산형 컴퓨팅 시스템, 멀티프로세서 시스템, 프로세서-기반 시스템, 소비자 가전, 프로그램가능한 소비자 가전, 게임 장치, 텔레비전, 디지털 텔레비전, 셋톱 박스, 무선 액세스 포인트, 기지국, 노드 B, eNB(evolved node B), 가입자 스테이션, 모바일 가입자 센터, 라디오 네트워크 컨트롤러, 라우터, 허브, 게이트웨이, 브리지, 기계 또는 이들의 조합일 수 있다. 따라서, 본 명세서에 기술된 장치(1200)의 기능 및/또는 특정 구성은 적절하게 원하는 바에 따라 장치(1200)의 다양한 실시예들에서 포함되거나 생략될 수 있다. 일부 실시예에서, 장치(1200)는 본 명세서에서 인용하는 3GPP LTE 명세 및/또는 WMANs에 대한 IEEE 1202. 16 표준 및/또는 다른 브로드밴드 무선 네트워크 중 하나 이상과 연관되는 프로토콜 및 주파수와 호환되도록 구성될 수 있으나, 실시예들은 이러한 관점으로 제한되지는 않는다.
장치(1200)의 실시예는 SISO(single input single output) 구조를 사용하여 구현될 수 있다. 하지만, 특정 구현예는 빔형성 또는 공간 분할 다중 액세스(spatial division multiple access; SDMA)를 위한 적응형 안테나 기술을 사용 및/또는 MIMO 통신 기술을 사용하여 송신 및/또는 수신을 하기 위한 다수의 안테나들(예컨대, 안테나(1218))를 포함할 수 있다.
장치(1200)의 구성요소 및 특징부는 별개의 회로부, ASICs(application specific integrated circuits), 로직 게이트 및/또는 단일 칩 구조의 임의의 조합을 사용하여 구현될 수 있다. 추가로, 장치(1200)의 특징부는 마이크로컨트롤러, 프로그램가능한 로직 어레이 및/또는 마이크로프로세서나 적절한 경우 전술한 것들의 임의의 조합을 사용하여 구현될 수 있다. 하드웨어, 펌웨어 및/또는 소프트웨어 요소는 본 명세서에서 "로직" 또는 "회로"라고 전체적으로 또는 개별적으로 지칭될 수 있음을 유의해야 한다.
도 12의 블록도에 도시된 예시적인 장치(1200)는 다수의 잠재적인 구현예의 하나의 기능적으로 설명된 예시를 표현할 수 있다. 따라서, 첨부되는 도면에 도시된 블록 기능의 분할, 생략 또는 포함은 이러한 기능을 구현하기 위한 하드웨어 구성요소, 회로, 소프트웨어 및/또는 요소가 실시예들에서 필수적으로 분할, 생략 또는 포함되어야 하는 것으로 추론되지 않는다.
컴퓨터 구현 방법은 메시징 애플리케이션에서 미디어 요소를 수신하는 단계; 메시지 패키지를 생성하는 단계; 및 메시징 서버로 메시지 패키지를 전송하는 단계를 포함할 수 있고, 미디어 요소는 미디어 애플리케이션과 연관되고, 메시지 패키지는 미디어 요소를 포함하고, 메시지 패키지는 미디어 요소를 위한 속성 기록을 포함하고, 속성 기록은 미디어 요소를 위한 미디어 애플리케이션과의 애플리케이션간 링크를 포함한다.
컴퓨터 구현 방법은 메시징 애플리케이션에서 미디어 요소를 수신하는 단계; 메시지 패키지를 생성하는 단계; 및 메시징 서버로 메시지 패키지를 전송하는 단계를 포함하고, 미디어 요소는 미디어 애플리케이션과 연관되고, 메시지 패키지는 미디어 요소를 포함하고, 메시지 패키지는 미디어 요소를 위한 속성 기록을 포함하고, 속성 기록은 미디어 서버 상에서 미디어 요소로의 네트워크 접근을 위해 미디어 애플리케이션을 위한 네트워크 컴포넌트를 구성하도록 동작한다.
컴퓨터 구현 방법은 메시징 애플리케이션에서 미디어 패키지를 수신하는 단계; 미디어 서비스 속성 기록에 기반하여 미디어 서버 상에서 미디어 요소로의 네트워크 접근을 위해 메시징 애플리케이션을 위한 네트워크 컴포넌트를 구성하는 단계; 메시지 패키지를 생성하는 단계; 및 메시징 서버로 메시지 패키지를 전송하는 단계를 포함할 수 있고, 미디어 패키지는 미디어 애플리케이션과 연관되고, 미디어 패키지는 미디어 요소를 위한 미디어 서비스 속성 기록을 포함하고, 메시지 패키지는 미디어 요소를 포함하고, 메시지 패키지는 미디어 요소를 위한 미디어 애플리케이션 속성 기록을 포함하고, 미디어 애플리케이션 속성 기록은 미디어 요소를 위한 미디어 애플리케이션과의 애플리케이션간 링크를 포함한다.
컴퓨터 구현 방법은 메시징 애플리케이션에서 미디어 패키지를 수신하는 단계; 메시지 패키지를 생성하는 단계; 및 메시징 서버로 메시지 패키지를 전송하는 단계를 포함할 수 있고, 미디어 패키지는 미디어 애플리케이션과 연관되고, 미디어 패키지는 미디어 요소 및 미디어 요소 메타데이터를 포함하고, 미디어 요소 메타데이터는 하나 이상의 참여자 정보, 주제 정보, 상호작용 빈도 데이터, 주제 빈도 데이터, 주제 인기도 데이터 및 사용자 선호를 포함하고, 메시지 패키지는 미디어 요소를 포함하고, 메시지 패키지는 미디어 요소를 위한 속성 기록을 포함하고, 속성 기록은 미디어 요소를 위한 미디어 애플리케이션과의 애플리케이션간 링크를 포함한다.
컴퓨터 구현 방법은 클라이언트 장치 상에 설치된 메시징 애플리케이션을 더 포함하고, 미디어 애플리케이션은 클라이언트 장치 상에 메시징 애플리케이션과는 별개의 애플리케이션으로 설치되고, 컴퓨터 구현 방법은 클라이언트 장치 상의 애플리케이션간 통신을 통해 미디어 애플리케이션으로부터 메시징 애플리케이션에서 미디어 패키지를 수신하는 단계를 더 포함하고, 미디어 패키지는 미디어 요소 및 애플리케이션간 링크를 포함한다.
컴퓨터 구현 방법은 미디어 애플리케이션에서 미디어 요소의 사용자 미디어 선택을 수신하는 단계; 미디어 애플리케이션에서 사용자 미디어 공유 명령을 수신하는 단계; 및 미디어 애플리케이션으로부터 메시징 애플리케이션으로 사용자 미디어 선택 및 사용자 미디어 공유 명령에 응답하여 미디어 패키지를 전송하는 단계를 더 포함할 수 있다.
컴퓨터 구현 방법은 수신된 미디어 패키지로부터 미디어 요소를 추출하는 단계; 메시징 애플리케이션에 미디어 요소의 미리보기를 디스플레이하는 단계; 메시징 애플리케이션에서 미디어 요소의 사용자 미디어 선택을 수신하는 단계; 및 메시징 애플리케이션 내에서 미디어 요소의 사용자 미디어 선택에 응답하여 미디어 요소를 포함하는 메시지 패키지를 생성하는 단계를 더 포함할 수 있다.
컴퓨터 구현 방법은 미디어 서버로부터 홍보되는 미디어 저장소를 수신하는 단계; 하나 이상의 홍보되는 미디어 요소를 디스플레이하는 단계; 미디어 요소의 사용자 미디어 선택을 수신하는 단계; 및 미디어 요소의 사용자 미디어 선택에 응답하여 미디어 요소를 포함하는 메시지 패키지를 생성하는 단계를 더 포함할 수 있고, 홍보되는 미디어 저장소는 복수의 홍보되는 미디어 요소를 포함하고, 미디어 요소는 복수의 홍보되는 미디어 요소 중 하나를 포함하고, 디스플레이되는 하나 이상의 홍보되는 미디어 요소는 미디어 요소를 포함한다.
컴퓨터 구현 방법은 메시징 애플리케이션의 미디어 요소 발견 섹션에 미디어 요소를 디스플레이하는 단계; 미디어 요소 발견 섹션에서 미디어 요소의 사용자 미디어 선택을 수신하는 단계; 및 미디어 요소의 사용자 미디어 선택에 응답하여 미디어 요소를 포함하는 메시지 패키지를 생성하는 단계를 더 포함할 수 있다.
컴퓨터 구현 방법은 메시징 애플리케이션의 이전에 교환한 미디어 요소 섹션에 미디어 요소를 디스플레이하는 단계; 이전에 교환한 미디어 요소 섹션에서 미디어 요소의 사용자 미디어 선택을 수신하는 단계; 및 미디어 요소의 사용자 미디어 선택에 응답하여 미디어 요소를 포함하는 메시지 패키지를 생성하는 단계를 더 포함할 수 있다.
컴퓨터 구현 방법은 메시징 애플리케이션의 애플리케이션 고유 미디어 요소 섹션에 미디어 요소를 디스플레이하는 단계; 애플리케이션 고유 미디어 요소 섹션에서 미디어 요소의 사용자 미디어 선택을 수신하는 단계; 및 미디어 요소의 사용자 미디어 선택에 응답하여 미디어 요소를 포함하는 메시지 패키지를 생성하는 단계를 더 포함할 수 있고, 애플리케이션 고유 미디어 요소 섹션은 미디어 애플리케이션과 연관된다.
컴퓨터 구현 방법은 메시지 스레드와 연관된 메시지 패키지를 더 포함하고, 컴퓨터 구현 방법은: 메시징 서버로부터 사전 메시지 패키지를 수신하는 단계; 미디어 애플리케이션을 위한 속성 디스플레이 요소와 연관하여 메시지 스레드에 사전 미디어 요소를 디스플레이하는 단계; 속성 디스플레이 요소와 연관하여 사용자 애플리케이션 실행 명령을 수신하는 단계; 사용자 애플리케이션 실행 명령에 응답하여 미디어 애플리케이션을 실행하는 단계; 미디어 애플리케이션으로 사전 애플리케이션간 링크를 전송하는 단계; 사전 애플리케이션간 링크와 연관하여 미디어 애플리케이션으로 메시지 스레드 애플리케이션간 링크를 전송하는 단계; 미디어 애플리케이션으로부터 메시징 애플리케이션에서 미디어 패키지를 수신하는 단계; 및 메시지 스레드와 연관되는 메시지 스레드 애플리케이션간 링크에 기반하여 메시지 스레드에서 미디어 요소의 포함을 유도하는 단계를 더 포함할 수 있고, 사전 메시징 패키지는 메시지 스레드와 연관되고, 사전 메시지 패키지는 사전 미디어 요소를 포함하고, 사전 미디어 요소는 미디어 애플리케이션과 연관되고, 사전 메시지 패키지는 사전 속성 기록을 포함하고, 사전 속성 기록은 사전 애플리케이션간 링크를 포함하고, 사전 애플리케이션간 링크는 미디어 애플리케이션 내에서 사전 미디어 요소를 식별하고, 미디어 패키지는 미디어 요소 및 메시지 스레드와 연관된 메시지 스레드 애플리케이션간 링크를 포함한다.
컴퓨터 구현 방법은 클라이언트 장치 상에서 실행되는 메시징 애플리케이션을 더 포함하고, 컴퓨터 구현 방법은: 미디어 애플리케이션이 클라이언트 장치 상에 설치되지 않았다고 결정하는 단계; 및 사용자 애플리케이션 실행 명령에 응답하여 클라이언트 장치 상에 미디어 애플리케이션의 설치를 개시하는 단계를 더 포함할 수 있다.
컴퓨터 구현 방법은 미디어 애플리케이션의 설치를 개시하는 단계는 클라이언트 장치 상의 애플리케이션 저장소 유틸리티를 실행하는 단계 및 애플리케이션 저장소 유틸리티가 미디어 애플리케이션의 설치를 가능하게 하는 애플리케이션 설치 인터페이스를 디스플레이하도록 유도하는 단계를 포함하는 것을 포함할 수 있다.
컴퓨터 구현 방법은 사용자 애플리케이션 설치 명령에 응답하여 미디어 애플리케이션의 설치를 미디어 애플리케이션 설치 속성 기록에 기록하는 단계를 더 포함할 수 있다.
컴퓨터 구현 방법은 메시징 서버로부터 사전 메시지 패키지를 수신하는 단계; 사전 미디어 요소를 디스플레이하는 단계; 디스플레이되는 사전 미디어 요소와 연관하여 사용자 리믹스 명령을 수신하는 단계; 사용자 리믹스 명령에 응답하여 미디어 애플리케이션을 실행하는 단계; 미디어 애플리케이션으로 사전 미디어 요소를 전송하는 단계; 및 미디어 애플리케이션으로부터 미디어 요소를 수신하는 단계를 더 포함할 수 있고, 사전 메시지 패키지는 사전 미디어 요소를 포함하고, 사전 미디어 요소는 제2 미디어 애플리케이션과 연관되고, 미디어 요소는 사전 미디어 요소의 수정된 버전을 포함한다.
컴퓨터 구현 방법은 사전 미디어 요소의 하나 이상의 속성에 기반하여 복수의 리믹스 애플리케이션을 결정하는 단계; 및 복수의 리믹스 애플리케이션 간의 선택을 가능하게 하는 리믹스 애플리케이션 선택 인터페이스를 디스플레이하는 단계를 더 포함할 수 있고, 복수의 리믹스 애플리케이션은 미디어 애플리케이션을 포함하고, 사용자 리믹스 명령은 복수의 리믹스 애플리케이션에서 미디어 애플리케이션의 선택을 포함한다.
컴퓨터 구현 방법은 메시징 애플리케이션의 다른 설치의 다른 사용자로부터 수신한 리믹스 애플리케이션의 사전 선택에 따라 결정된 애플리케이션 순서로 복수의 리믹스 애플리케이션을 디스플레이하는 리믹스 애플리케이션 선택 인터페이스를 더 포함할 수 있다.
컴퓨터 구현 방법은 메시징 서버로부터 사전 메시지 패키지를 수신하는 단계; 사전 미디어 요소를 디스플레이하는 단계; 디스플레이되는 사전 미디어 요소와 연관하여 사용자 리믹스 명령을 수신하는 단계; 사용자 리믹스 명령에 응답하여 복수의 리믹스 옵션을 디스플레이하는 단계; 복수의 리믹스 옵션 중 하나의 사용자 리믹스 옵션 선택을 수신하는 단계; 및 미디어 요소를 생성하기 위하여 사용자 리믹스 옵션에 따라 사전 미디어 요소를 수정하는 단계를 더 포함할 수 있고, 사전 메시지 패키지는 사전 미디어 요소를 포함하고, 사전 미디어 요소 는 제2 미디어 애플리케이션과 연관되고, 각 리믹스 옵션은 사전 미디어 요소의 상이한 수정에 대응한다.
컴퓨터 구현 방법은 각 디스플레이되는 복수의 리믹스 옵션이 복수의 리믹스 옵션에 따라 사전 미디어 요소 수정의 미리보기를 포함하는 것을 더 포함할 수 있다.
컴퓨터 구현 방법은 메시지 스레드를 식별하는 메시지 스레드 식별자를 포함하는 사전 메시지 패키지, 전송되는 사전 미디어 요소와 연관하여 미디어 애플리케이션으로 메시지 스레드 식별자를 전송하는 단계; 미디어 요소와 연관하여 미디어 애플리케이션으로부터 메시지 스레드 식별자를 수신하는 단계; 미디어 애플리케이션으로부터 수신한 메시지 스레드 식별자로부터 메시지 스레드를 식별하는 단계; 및 메시지 스레드 식별자로부터 메시지 스레드를 식별하는데 기반하여 메시지 스레드에 포함시키기 위하여 미디어 요소를 디스플레이하는 단계를 더 포함할 수 있다.
장치는 장치 상의 프로세서 회로; 프로세서 회로 상에서 메시징 애플리케이션에서 미디어 요소를 수신하도록 동작하는 미디어 관리 컴포넌트; 및 메시지 패키지를 생성하고; 및 메시징 서버로 메시지 패키지를 전송하도록 동작하는 메시징 컴포넌트를 포함할 수 있고, 미디어 요소는 미디어 애플리케이션과 연관되고, 메시지 패키지는 미디어 요소를 포함하고, 메시지 패키지는 미디어 요소를 위한 속성 기록을 포함하고, 속성 기록은 미디어 요소를 위한 미디어 애플리케이션과의 애플리케이션간 링크를 포함한다. 장치는 본 명세서에 서술된 임의의 컴퓨터 구현 방법을 구현하도록 동작할 수 있다.
적어도 하나의 컴퓨터 판독가능한 저장 매체는 실행될 때 시스템으로 하여금 본 명세서에 서술된 임의의 컴퓨터 구현 방법을 수행하도록 야기하는 명령어를 포함할 수 있다.
일부의 실시예들은 "일실시예(one embodiment)" 또는 "하나의 실시예(an embodiment)"의 표현 및 그 파생어들을 사용하여 기술될 수 있다. 이들 용어는 그 실시예와 함께 기술되는 특정한 특징, 구조 또는 특성이 적어도 하나의 실시예에 포함됨을 의미한다. 본 명세서의 곳곳에서 "일실시예로"라는 문구의 형태는 반드시 동일한 실시예를 일컫는 모든 것이 아니다. 게다가, 일부 실시예들은 표현 "결합된(coupled)" 및 "연결된"을 그들의 파생어들과 함께 사용하여 기술될 수 있다. 이들 용어는 서로에 대해 반드시 동의어로 의도되는 것은 아니다. 예컨대, 일부의 실시예들은 2 이상의 구성요소들이 서로에 대해 직접적인 물리적이거나 전기적으로 접촉함을 표시하기 위해 "연결되는(connected)" 및/또는 "결합되는(coupled)"의 용어를 사용하여 기술될 수 있다. 하지만, 용어 "결합된"은 또한, 2개 이상의 요소가 서로와 직접적으로 접촉하지는 않지만, 여전히 서로와 협력하거나 상호작용하고 있음을 의미할 수 있다.
본 명세서에서 사용되는 표기법 및 명명법을 일반적으로 참조하여, 본 명세서의 상세한 설명은 컴퓨터 또는 컴퓨터의 네트워크에서 실행되는 프로그램 절차의 관점에서 제시될 수 있다. 이런 절차적 설명 및 표현은 당업자가 해당 기술분야의 다른 사람들에게 그 발명의 요지를 가장 효과적으로 전달하는데 사용된다.
절차는 본 명세서에서 일반적으로 소정의 결과로 이어지는 일관성 있는 일련의 동작들이라고 이해된다. 동작들은 물리량의 물리적 조작을 요구하는 동작들이다. 보통, 반드시 그런 것은 아니지만, 이런 물리량은 저장되고, 전달되며, 결합되고, 비교되며, 그렇지 않으면 조작될 수 있는 전기적 신호, 자기적 신호 또는 광학적 신호의 형태를 취한다. 원칙상 공통의 사용을 이유로 이런 신호를 비트, 값, 요소, 심볼, 문자, 용어, 숫자 등으로 일컫는 것이 때때로 간편하다고 판명되었다. 하지만, 이러한 것들 전부와 그와 유사한 용어들은, 적절한 물리적 수량과 연관되는 것이며, 이러한 수량들에 적용되는 편리한 라벨임을 유의해야 한다.
게다가, 수행되는 조작은 사람 운영자가 수행한 정신적인 동작과 통상 관련되는 가령 추가하기 또는 비교하기와 같은 용어들로 흔히 일컬어질 수 있다. 하나 이상의 실시예들의 일부를 형성하는 본 명세서에 기술된 임의의 동작에서 대부분의 경우 인간 오퍼레이터의 이러한 능력이 필요한 것이 아니다. 그 대신, 동작들은 기계 동작들이다. 다양한 실시예의 동작들을 수행하기 위한 유용한 기계들은 범용 디지털 컴퓨터 또는 유사 장치를 포함한다.
또한, 다양한 실시예들은 이런 동작들을 수행하기 위한 장치 또는 시스템에 관한 것이다. 이러한 장치는 요구되는 목적을 위해 특수하게 구성되거나, 컴퓨터에 저장된 컴퓨터 프로그램에 의해 선택적으로 활성화되거나 재구성되는 범용 컴퓨터를 포함할 수 있다. 본 명세서에서 제시되는 절차가 본래적으로 특정 컴퓨터 또는 다른 장치에 관한 것은 아니다. 다양한 범용 기계는 본 명세서에 시사된 것에 따라 작성되는 프로그램으로 사용될 수 있거나, 요구되는 방법 단계들을 수행하도록 더 특수화된 장치를 구성하는 것이 간편하다고 판명될 수 있다. 다양한 이러한 기계들을 위해 요구되는 구조는 주어진 설명으로부터 나타날 것이다.
독자(reader)가 기술적 개시의 성질을 신속히 파악할 수 있게 하도록 본 명세서의 요약이 제공됨이 강조된다. 초록은 청구항들의 범위 또는 의미를 해석하거나 제한하는데 사용되지 않을 것이라는 판단하에 제출된다. 또한, 상술한 상세한 설명에서, 본 명세서를 간소화하기 위해 다양한 특징들이 하나의 실시예에서 함께 그룹화됨을 알 수 있다. 본 명세서의 이런 방법은 청구된 실시예들이 각 청구항에 명확히 기재되는 것보다 더 많은 특징들을 필요로 한다는 의도를 반영하는 것으로 해석되는 것은 아니다. 그 대신, 하기의 청구항들이 반영하는 바와 같이, 발명의 주제는 개시된 하나의 실시예의 모든 특징 미만 내에 있다. 따라서, 하기의 청구항들은 본 명세서에서 상세한 설명에 통합되며, 각 청구항은 개별 실시예로서 그 자체를 기초로 한다. 첨부된 청구항들에서, "포함하는(including)" 및 "여기서(in which)"란 용어는 각각의 "포함하는(comprising)" 및 "그 점에서(wherein)"이란 용어와 평이한 영어로 동등하게 각각 사용된다. 더욱이, 용어 "제1", "제2", "제3" 등은 오로지 라벨로서 사용되는 것이며, 그들의 객체에 대해 수치적인 요구사항을 부과하는 것으로 의도되지 않는다.
상술한 내용들은 본 발명의 개시된 구조의 예들을 포함한다. 물론, 컴포넌트들 및/또는 방법론들의 모든 구상가능한 조합을 기술하는 것은 불가능하지만, 당업자는 많은 추가의 조합과 치환이 가능함을 인식할 수 있다. 따라서, 새로운 구조는 첨부되는 청구항들의 정신 및 범위 내에 포함되는 이러한 모든 변경, 수정, 및 변형을 포괄하는 것으로 의도된다.

Claims (32)

  1. 메시징 애플리케이션에서 미디어 요소를 수신하는 단계;
    메시지 패키지를 생성하는 단계; 및
    메시징 서버로 메시지 패키지를 전송하는 단계를 포함하고,
    미디어 요소는 미디어 애플리케이션과 연관되고,
    메시지 패키지는 미디어 요소를 포함하고, 메시지 패키지는 미디어 요소를 위한 속성 기록을 포함하고, 속성 기록은 미디어 요소를 위한 미디어 애플리케이션과의 애플리케이션간 링크를 포함하는 컴퓨터 구현 방법.
  2. 청구항 1에 있어서,
    메시징 애플리케이션은 클라이언트 장치 상에 설치되고, 미디어 애플리케이션은 클라이언트 장치 상에 메시징 애플리케이션과는 별개의 애플리케이션으로 설치되고, 컴퓨터 구현 방법은:
    클라이언트 장치 상의 애플리케이션간 통신을 통해 미디어 애플리케이션으로부터 메시징 애플리케이션에서 미디어 패키지를 수신하는 단계를 더 포함하고,
    미디어 패키지는 미디어 요소 및 애플리케이션간 링크를 포함하는 컴퓨터 구현 방법.
  3. 청구항 2에 있어서,
    수신된 미디어 패키지로부터 미디어 요소를 추출하는 단계;
    메시징 애플리케이션에 미디어 요소의 미리보기를 디스플레이하는 단계;
    메시징 애플리케이션에서 미디어 요소의 사용자 미디어 선택을 수신하는 단계; 및
    메시징 애플리케이션 내에서 미디어 요소의 사용자 미디어 선택에 응답하여 미디어 요소를 포함하는 메시지 패키지를 생성하는 단계를 더 포함하는 컴퓨터 구현 방법.
  4. 청구항 1에 있어서,
    미디어 서버로부터 홍보되는 미디어 저장소를 수신하는 단계;
    하나 이상의 홍보되는 미디어 요소를 디스플레이하는 단계;
    미디어 요소의 사용자 미디어 선택을 수신하는 단계; 및
    미디어 요소의 사용자 미디어 선택에 응답하여 미디어 요소를 포함하는 메시지 패키지를 생성하는 단계를 더 포함하고,
    홍보되는 미디어 저장소는 복수의 홍보되는 미디어 요소를 포함하고, 미디어 요소는 복수의 홍보되는 미디어 요소 중 하나를 포함하고,
    디스플레이되는 하나 이상의 홍보되는 미디어 요소는 미디어 요소를 포함하는 컴퓨터 구현 방법.
  5. 청구항 1에 있어서,
    메시징 애플리케이션의 미디어 요소 발견 섹션에 미디어 요소를 디스플레이하는 단계;
    미디어 요소 발견 섹션에서 미디어 요소의 사용자 미디어 선택을 수신하는 단계; 및
    미디어 요소의 사용자 미디어 선택에 응답하여 미디어 요소를 포함하는 메시지 패키지를 생성하는 단계를 더 포함하는 컴퓨터 구현 방법.
  6. 청구항 1에 있어서,
    메시지 패키지는 메시지 스레드와 연관되고, 컴퓨터 구현 방법은:
    메시징 서버로부터 사전 메시지 패키지를 수신하는 단계;
    미디어 애플리케이션을 위한 속성 디스플레이 요소와 연관하여 메시지 스레드에 사전 미디어 요소를 디스플레이하는 단계;
    속성 디스플레이 요소와 연관하여 사용자 애플리케이션 실행 명령을 수신하는 단계;
    사용자 애플리케이션 실행 명령에 응답하여 미디어 애플리케이션을 실행하는 단계;
    미디어 애플리케이션으로 사전 애플리케이션간 링크를 전송하는 단계;
    사전 애플리케이션간 링크와 연관하여 미디어 애플리케이션으로 메시지 스레드 애플리케이션간 링크를 전송하는 단계;
    미디어 애플리케이션으로부터 메시징 애플리케이션에서 미디어 패키지를 수신하는 단계; 및
    메시지 스레드와 연관되는 메시지 스레드 애플리케이션간 링크에 기반하여 메시지 스레드에서 미디어 요소의 포함을 유도하는 단계를 더 포함하고,
    사전 메시징 패키지는 메시지 스레드와 연관되고, 사전 메시지 패키지는 사전 미디어 요소를 포함하고, 사전 미디어 요소는 미디어 애플리케이션과 연관되고, 사전 메시지 패키지는 사전 속성 기록을 포함하고, 사전 속성 기록은 사전 애플리케이션간 링크를 포함하고, 사전 애플리케이션간 링크는 미디어 애플리케이션 내에서 사전 미디어 요소를 식별하고,
    미디어 패키지는 미디어 요소 및 메시지 스레드와 연관된 메시지 스레드 애플리케이션간 링크를 포함하는 컴퓨터 구현 방법.
  7. 청구항 6에 있어서,
    메시징 애플리케이션은 클라이언트 장치 상에서 실행되고, 컴퓨터 구현 방법은:
    미디어 애플리케이션이 클라이언트 장치 상에 설치되지 않았다고 결정하는 단계; 및
    사용자 애플리케이션 실행 명령에 응답하여 클라이언트 장치 상에 미디어 애플리케이션의 설치를 개시하는 단계를 더 포함하는 컴퓨터 구현 방법.
  8. 청구항 1에 있어서,
    메시징 서버로부터 사전 메시지 패키지를 수신하는 단계;
    사전 미디어 요소를 디스플레이하는 단계;
    디스플레이되는 사전 미디어 요소와 연관하여 사용자 리믹스 명령을 수신하는 단계;
    사용자 리믹스 명령에 응답하여 미디어 애플리케이션을 실행하는 단계;
    미디어 애플리케이션으로 사전 미디어 요소를 전송하는 단계; 및
    미디어 애플리케이션으로부터 미디어 요소를 수신하는 단계를 더 포함하고,
    사전 메시지 패키지는 사전 미디어 요소를 포함하고, 사전 미디어 요소는 제2 미디어 애플리케이션과 연관되고,
    미디어 요소는 사전 미디어 요소의 수정된 버전을 포함하는 컴퓨터 구현 방법.
  9. 장치 상의 프로세서 회로;
    프로세서 회로 상에서 메시징 애플리케이션에서 미디어 요소를 수신하도록 동작하는 미디어 관리 컴포넌트; 및
    메시지 패키지를 생성하고; 및 메시징 서버로 메시지 패키지를 전송하도록 동작하는 메시징 컴포넌트를 포함하고,
    미디어 요소는 미디어 애플리케이션과 연관되고,
    메시지 패키지는 미디어 요소를 포함하고, 메시지 패키지는 미디어 요소를 위한 속성 기록을 포함하고, 속성 기록은 미디어 요소를 위한 미디어 애플리케이션과의 애플리케이션간 링크를 포함하는 장치.
  10. 청구항 9에 있어서,
    메시징 애플리케이션은 장치 상에 설치되고, 미디어 애플리케이션은 클라이언트 장치 상에 메시징 애플리케이션과는 별개의 애플리케이션으로 설치되고, 장치는:
    클라이언트 장치 상의 애플리케이션간 통신을 통해 미디어 애플리케이션으로부터 메시징 애플리케이션에서 미디어 패키지를 수신하도록 동작하는 미디어 관리 컴포넌트를 더 포함하고,
    미디어 패키지는 미디어 요소 및 애플리케이션간 링크를 포함하는 장치.
  11. 청구항 9에 있어서,
    미디어 서버로부터 홍보되는 미디어 저장소를 수신하고; 하나 이상의 홍보되는 미디어 요소를 디스플레이하고; 및 미디어 요소의 사용자 미디어 선택을 수신하도록 동작하는 미디어 관리 컴포넌트; 및
    미디어 요소의 사용자 미디어 선택에 응답하여 미디어 요소를 포함하는 메시지 패키지를 생성하도록 동작하는 메시징 컴포넌트를 더 포함하고,
    홍보되는 미디어 저장소는 복수의 홍보되는 미디어 요소를 포함하고, 미디어 요소는 복수의 홍보되는 미디어 요소 중 하나를 포함하고,
    디스플레이되는 하나 이상의 홍보되는 미디어 요소는 미디어 요소를 포함하는 장치.
  12. 청구항 9에 있어서,
    메시지 패키지는 메시지 스레드와 연관되고, 장치는:
    메시징 서버로부터 사전 메시지 패키지를 수신하도록 동작하는 메시징 컴포넌트;
    미디어 애플리케이션을 위한 속성 디스플레이 요소와 연관하여 메시지 스레드에 사전 미디어 요소를 디스플레이하고; 속성 디스플레이 요소와 연관하여 사용자 애플리케이션 실행 명령을 수신하고; 사용자 애플리케이션 실행 명령에 응답하여 미디어 애플리케이션을 실행하고; 미디어 애플리케이션으로 사전 애플리케이션간 링크를 전송하고; 사전 애플리케이션간 링크와 연관하여 미디어 애플리케이션으로 메시지 스레드 애플리케이션간 링크를 전송하고; 미디어 애플리케이션으로부터 메시징 애플리케이션에서 미디어 패키지를 수신하고; 및 메시지 스레드와 연관되는 메시지 스레드 애플리케이션간 링크에 기반하여 메시지 스레드에서 미디어 요소의 포함을 유도하도록 동작하는 미디어 관리 컴포넌트를 더 포함하고,
    사전 메시징 패키지는 메시지 스레드와 연관되고, 사전 메시지 패키지는 사전 미디어 요소를 포함하고, 사전 미디어 요소는 미디어 애플리케이션과 연관되고, 사전 메시지 패키지는 사전 속성 기록을 포함하고, 사전 속성 기록은 사전 애플리케이션간 링크를 포함하고, 사전 애플리케이션간 링크는 미디어 애플리케이션 내에서 사전 미디어 요소를 식별하고,
    미디어 패키지는 미디어 요소 및 메시지 스레드와 연관된 메시지 스레드 애플리케이션간 링크를 포함하는 장치.
  13. 청구항 9에 있어서,
    미디어 애플리케이션이 장치 상에 설치되지 않았다고 결정하고; 및 사용자 애플리케이션 실행 명령에 응답하여 장치 상에 미디어 애플리케이션의 설치를 개시하도록 동작하는 미디어 관리 컴포넌트를 더 포함하는 장치.
  14. 청구항 9에 있어서,
    메시징 서버로부터 사전 메시지 패키지를 수신하도록 동작하는 메시징 컴포넌트;
    사전 미디어 요소를 디스플레이하고; 디스플레이되는 사전 미디어 요소와 연관하여 사용자 리믹스 명령을 수신하고; 사용자 리믹스 명령에 응답하여 미디어 애플리케이션을 실행하고; 미디어 애플리케이션으로 사전 미디어 요소를 전송하고; 및 미디어 애플리케이션으로부터 미디어 요소를 수신하도록 동작하는 미디어 관리 컴포넌트를 더 포함하고,
    사전 메시지 패키지는 사전 미디어 요소를 포함하고, 사전 미디어 요소는 제2 미디어 애플리케이션과 연관되고,
    미디어 요소는 사전 미디어 요소의 수정된 버전을 포함하는 장치.
  15. 적어도 하나의 컴퓨터 판독가능한 저장 매체로서, 실행될 때 시스템으로 하여금:
    메시징 애플리케이션에서 미디어 요소를 수신하고;
    메시지 패키지를 생성하고; 및
    메시징 서버로 메시지 패키지를 전송하도록 야기하는 명령어를 포함하고,
    미디어 요소는 미디어 애플리케이션과 연관되고,
    메시지 패키지는 미디어 요소를 포함하고, 메시지 패키지는 미디어 요소를 위한 속성 기록을 포함하고, 속성 기록은 미디어 요소를 위한 미디어 애플리케이션과의 애플리케이션간 링크를 포함하는 컴퓨터 판독가능한 저장 매체.
  16. 청구항 15에 있어서,
    메시징 애플리케이션은 클라이언트 장치 상에 설치되고, 미디어 애플리케이션은 클라이언트 장치 상에 메시징 애플리케이션과는 별개의 애플리케이션으로 설치되고, 컴퓨터 판독가능한 저장 매체는, 실행될 때 시스템으로 하여금:
    클라이언트 장치 상의 애플리케이션간 통신을 통해 미디어 애플리케이션으로부터 메시징 애플리케이션에서 미디어 패키지를 수신하도록 야기하는 명령어를 더 포함하고,
    미디어 패키지는 미디어 요소 및 애플리케이션간 링크를 포함하는 컴퓨터 판독가능한 저장 매체.
  17. 청구항 15에 있어서,
    실행될 때 시스템으로 하여금:
    미디어 서버로부터 홍보되는 미디어 저장소를 수신하고;
    하나 이상의 홍보되는 미디어 요소를 디스플레이하고;
    미디어 요소의 사용자 미디어 선택을 수신하고; 및
    미디어 요소의 사용자 미디어 선택에 응답하여 미디어 요소를 포함하는 메시지 패키지를 생성하도록 야기하는 명령어를 더 포함하고,
    홍보되는 미디어 저장소는 복수의 홍보되는 미디어 요소를 포함하고, 미디어 요소는 복수의 홍보되는 미디어 요소 중 하나를 포함하고,
    디스플레이되는 하나 이상의 홍보되는 미디어 요소는 미디어 요소를 포함하는 컴퓨터 판독가능한 저장 매체.
  18. 청구항 15에 있어서,
    메시지 패키지는 메시지 스레드와 연관되고, 컴퓨터 판독가능한 저장 매체는, 실행될 때 시스템으로 하여금:
    메시징 서버로부터 사전 메시지 패키지를 수신하고;
    미디어 애플리케이션을 위한 속성 디스플레이 요소와 연관하여 메시지 스레드에 사전 미디어 요소를 디스플레이하고;
    속성 디스플레이 요소와 연관하여 사용자 애플리케이션 실행 명령을 수신하고;
    사용자 애플리케이션 실행 명령에 응답하여 미디어 애플리케이션을 실행하고;
    미디어 애플리케이션으로 사전 애플리케이션간 링크를 전송하고;
    사전 애플리케이션간 링크와 연관하여 미디어 애플리케이션으로 메시지 스레드 애플리케이션간 링크를 전송하고;
    미디어 애플리케이션으로부터 메시징 애플리케이션에서 미디어 패키지를 수신하고; 및
    메시지 스레드와 연관되는 메시지 스레드 애플리케이션간 링크에 기반하여 메시지 스레드에서 미디어 요소의 포함을 유도하도록 야기하는 명령어를 더 포함하고,
    사전 메시징 패키지는 메시지 스레드와 연관되고, 사전 메시지 패키지는 사전 미디어 요소를 포함하고, 사전 미디어 요소는 미디어 애플리케이션과 연관되고, 사전 메시지 패키지는 사전 속성 기록을 포함하고, 사전 속성 기록은 사전 애플리케이션간 링크를 포함하고, 사전 애플리케이션간 링크는 미디어 애플리케이션 내에서 사전 미디어 요소를 식별하고,
    미디어 패키지는 미디어 요소 및 메시지 스레드와 연관된 메시지 스레드 애플리케이션간 링크를 포함하는 컴퓨터 판독가능한 저장 매체.
  19. 청구항 15에 있어서,
    메시징 애플리케이션은 클라이언트 장치 상에서 실행되고, 컴퓨터 판독가능한 저장 매체는, 실행될 때 시스템으로 하여금:
    미디어 애플리케이션이 클라이언트 장치 상에 설치되지 않았다고 결정하고; 및
    사용자 애플리케이션 실행 명령에 응답하여 클라이언트 장치 상에 미디어 애플리케이션의 설치를 개시하도록 야기하는 명령어를 더 포함하는 컴퓨터 판독가능한 저장 매체.
  20. 청구항 15에 있어서,
    실행될 때 시스템으로 하여금:
    메시징 서버로부터 사전 메시지 패키지를 수신하고;
    사전 미디어 요소를 디스플레이하고;
    디스플레이되는 사전 미디어 요소와 연관하여 사용자 리믹스 명령을 수신하고;
    사용자 리믹스 명령에 응답하여 미디어 애플리케이션을 실행하고;
    미디어 애플리케이션으로 사전 미디어 요소를 전송하고; 및
    미디어 애플리케이션으로부터 미디어 요소를 수신하도록 야기하는 명령어를 더 포함하고,
    사전 메시지 패키지는 사전 미디어 요소를 포함하고, 사전 미디어 요소는 제2 미디어 애플리케이션과 연관되고,
    미디어 요소는 사전 미디어 요소의 수정된 버전을 포함하는 컴퓨터 판독가능한 저장 매체.
  21. 메시징 애플리케이션에서 미디어 패키지를 수신하는 단계;
    메시지 패키지를 생성하는 단계; 및
    메시징 서버로 메시지 패키지를 전송하는 단계를 포함하고,
    미디어 패키지는 미디어 애플리케이션과 연관되고, 미디어 패키지는 미디어 요소 및 미디어 요소 메타데이터를 포함하고, 미디어 요소 메타데이터는 하나 이상의 참여자 정보, 주제 정보, 상호작용 빈도 데이터, 주제 빈도 데이터, 주제 인기도 데이터 및 사용자 선호를 포함하고,
    메시지 패키지는 미디어 요소를 포함하고, 메시지 패키지는 미디어 요소를 위한 속성 기록을 포함하고, 속성 기록은 미디어 요소를 위한 미디어 애플리케이션과의 애플리케이션간 링크를 포함하는 컴퓨터 구현 방법.
  22. 미디어 메시징 시스템의 사용자의 클라이언트 장치 상에서 실행되는 메시징 애플리케이션에서 미디어 요소를 수신하는 단계;
    메시지 패키지를 생성하는 단계; 및
    미디어 메시징 시스템의 다른 사용자의 하나 이상의 다른 클라이언트 장치로 전달하기 위하여 클라이언트 장치로부터 메시징 서버로 메시지 패키지를 전송하는 단계를 포함하고,
    미디어 요소는 미디어 애플리케이션과 연관되고,
    미디어 애플리케이션은 메시징 애플리케이션과는 별개의 애플리케이션으로 클라이언트 장치 상에 설치되고,
    메시지 패키지는 미디어 요소를 포함하고,
    미디어 요소는 컴퓨터 데이터 표현으로 및/또는 참조로 직접 저장되고,
    메시지 패키지는 미디어 요소를 위한 속성 기록을 포함하고,
    속성 기록은 미디어 요소를 위한 미디어 애플리케이션과의 애플리케이션간 링크를 포함하는 컴퓨터 구현 방법.
  23. 청구항 22에 있어서,
    메시징 애플리케이션은 클라이언트 장치 상에 설치되고, 미디어 애플리케이션은 클라이언트 장치 상에 메시징 애플리케이션과는 별개의 애플리케이션으로 설치되고, 컴퓨터 구현 방법은:
    클라이언트 장치 상의 애플리케이션간 통신을 통해 미디어 애플리케이션으로부터 메시징 애플리케이션에서 미디어 패키지를 수신하는 단계를 더 포함하고,
    미디어 패키지는 미디어 요소 및 애플리케이션간 링크를 포함하는 컴퓨터 구현 방법.
  24. 청구항 23에 있어서,
    수신된 미디어 패키지로부터 미디어 요소를 추출하는 단계;
    메시징 애플리케이션에 미디어 요소의 미리보기를 디스플레이하는 단계;
    메시징 애플리케이션에서 미디어 요소의 사용자 미디어 선택을 수신하는 단계; 및
    메시징 애플리케이션 내에서 미디어 요소의 사용자 미디어 선택에 응답하여 미디어 요소를 포함하는 메시지 패키지를 생성하는 단계를 더 포함하는 컴퓨터 구현 방법.
  25. 청구항 22 내지 청구항 24 중 어느 하나의 항에 있어서,
    미디어 서버로부터 홍보되는 미디어 저장소를 수신하는 단계;
    하나 이상의 홍보되는 미디어 요소를 디스플레이하는 단계;
    미디어 요소의 사용자 미디어 선택을 수신하는 단계; 및
    미디어 요소의 사용자 미디어 선택에 응답하여 미디어 요소를 포함하는 메시지 패키지를 생성하는 단계를 더 포함하고,
    홍보되는 미디어 저장소는 복수의 홍보되는 미디어 요소를 포함하고, 미디어 요소는 복수의 홍보되는 미디어 요소 중 하나를 포함하고,
    디스플레이되는 하나 이상의 홍보되는 미디어 요소는 미디어 요소를 포함하는 컴퓨터 구현 방법.
  26. 청구항 22 내지 청구항 25 중 어느 하나의 항에 있어서,
    메시징 애플리케이션의 미디어 요소 발견 섹션에 미디어 요소를 디스플레이하는 단계;
    미디어 요소 발견 섹션에서 미디어 요소의 사용자 미디어 선택을 수신하는 단계; 및
    미디어 요소의 사용자 미디어 선택에 응답하여 미디어 요소를 포함하는 메시지 패키지를 생성하는 단계를 더 포함하는 컴퓨터 구현 방법.
  27. 청구항 22 내지 청구항 26 중 어느 하나의 항에 있어서,
    메시지 패키지는 메시지 스레드와 연관되고, 컴퓨터 구현 방법은:
    메시징 서버로부터 사전 메시지 패키지를 수신하는 단계;
    미디어 애플리케이션을 위한 속성 디스플레이 요소와 연관하여 메시지 스레드에 사전 미디어 요소를 디스플레이하는 단계;
    속성 디스플레이 요소와 연관하여 사용자 애플리케이션 실행 명령을 수신하는 단계;
    사용자 애플리케이션 실행 명령에 응답하여 미디어 애플리케이션을 실행하는 단계;
    미디어 애플리케이션으로 사전 애플리케이션간 링크를 전송하는 단계;
    사전 애플리케이션간 링크와 연관하여 미디어 애플리케이션으로 메시지 스레드 애플리케이션간 링크를 전송하는 단계;
    미디어 애플리케이션으로부터 메시징 애플리케이션에서 미디어 패키지를 수신하는 단계; 및
    메시지 스레드와 연관되는 메시지 스레드 애플리케이션간 링크에 기반하여 메시지 스레드에서 미디어 요소의 포함을 유도하는 단계를 더 포함하고,
    사전 메시징 패키지는 메시지 스레드와 연관되고, 사전 메시지 패키지는 사전 미디어 요소를 포함하고, 사전 미디어 요소는 미디어 애플리케이션과 연관되고, 사전 메시지 패키지는 사전 속성 기록을 포함하고, 사전 속성 기록은 사전 애플리케이션간 링크를 포함하고, 사전 애플리케이션간 링크는 미디어 애플리케이션 내에서 사전 미디어 요소를 식별하고,
    미디어 패키지는 미디어 요소 및 메시지 스레드와 연관된 메시지 스레드 애플리케이션간 링크를 포함하는 컴퓨터 구현 방법.
  28. 청구항 27에 있어서,
    메시징 애플리케이션은 클라이언트 장치 상에서 실행되고, 컴퓨터 구현 방법은:
    미디어 애플리케이션이 클라이언트 장치 상에 설치되지 않았다고 결정하는 단계; 및
    사용자 애플리케이션 실행 명령에 응답하여 클라이언트 장치 상에 미디어 애플리케이션의 설치를 개시하는 단계를 더 포함하는 컴퓨터 구현 방법.
  29. 청구항 22 내지 청구항 28 중 어느 하나의 항에 있어서,
    메시징 서버로부터 사전 메시지 패키지를 수신하는 단계;
    사전 미디어 요소를 디스플레이하는 단계;
    디스플레이되는 사전 미디어 요소와 연관하여 사용자 리믹스 명령을 수신하는 단계;
    사용자 리믹스 명령에 응답하여 미디어 애플리케이션을 실행하는 단계;
    미디어 애플리케이션으로 사전 미디어 요소를 전송하는 단계; 및
    미디어 애플리케이션으로부터 미디어 요소를 수신하는 단계를 더 포함하고,
    사전 메시지 패키지는 사전 미디어 요소를 포함하고, 사전 미디어 요소는 제2 미디어 애플리케이션과 연관되고,
    미디어 요소는 사전 미디어 요소의 수정된 버전을 포함하는 컴퓨터 구현 방법.
  30. 하나 이상의 컴퓨터 판독가능한 비일시적 저장 매체로서, 실행될 때 청구항 22 내지 청구항 29 중 어느 하나의 항에 따른 방법을 수행하도록 동작하는 소프트웨어를 포함하는 컴퓨터 판독가능 비일시적 저장 매체.
  31. 하나 이상의 프로세서; 및 프로세서에 연결되고 프로세서에 의해 실행가능한 명령어를 포함하는 적어도 하나의 메모리를 포함하고, 프로세서는 명령어를 실행할 때 청구항 22 내지 청구항 29 중 어느 하나의 항에 따른 방법을 수행하도록 동작하는 시스템.
  32. 바람직하게는 컴퓨터 판독가능 비일시적 저장 매체를 포함하는, 데이터 프로세싱 시스템 상에서 실행될 때 청구항 22 내지 청구항 29 중 어느 하나의 항에 따른 방법을 수행하도록 동작하는 컴퓨터 프로그램 제품.
KR1020177030616A 2015-03-24 2015-03-25 메시징 시스템을 통해 미디어를 공유하고 리믹스하는 기술 KR102290150B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/667,576 US10063510B2 (en) 2015-03-24 2015-03-24 Techniques to share and remix media through a messaging system
US14/667,576 2015-03-24
PCT/US2015/022375 WO2016153495A1 (en) 2015-03-24 2015-03-25 Techniques to share and remix media through a messaging system

Publications (2)

Publication Number Publication Date
KR20170131573A true KR20170131573A (ko) 2017-11-29
KR102290150B1 KR102290150B1 (ko) 2021-08-18

Family

ID=56975873

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177030616A KR102290150B1 (ko) 2015-03-24 2015-03-25 메시징 시스템을 통해 미디어를 공유하고 리믹스하는 기술

Country Status (10)

Country Link
US (1) US10063510B2 (ko)
JP (1) JP6677742B2 (ko)
KR (1) KR102290150B1 (ko)
CN (1) CN107820694B (ko)
AU (1) AU2015387556B2 (ko)
BR (1) BR112017020508A2 (ko)
CA (1) CA2980273A1 (ko)
IL (1) IL254606B (ko)
MX (1) MX2017012251A (ko)
WO (1) WO2016153495A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220021787A (ko) * 2020-08-14 2022-02-22 주식회사 카카오 컨텐츠 박스 제공 방법 및 사용자 단말
KR20230024069A (ko) * 2021-08-11 2023-02-20 라인플러스 주식회사 인스턴트 메시징 애플리케이션을 통해 통화 중 콘텐츠를 공유하는 방법 및 시스템

Families Citing this family (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9318108B2 (en) 2010-01-18 2016-04-19 Apple Inc. Intelligent automated assistant
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US8676904B2 (en) 2008-10-02 2014-03-18 Apple Inc. Electronic devices with voice command and contextual data processing capabilities
US10255566B2 (en) 2011-06-03 2019-04-09 Apple Inc. Generating and processing task items that represent tasks to perform
US9154456B2 (en) 2012-04-17 2015-10-06 Trenda Innovations, Inc. Messaging system and method
US10417037B2 (en) 2012-05-15 2019-09-17 Apple Inc. Systems and methods for integrating third party services with a digital assistant
BR112015018905B1 (pt) 2013-02-07 2022-02-22 Apple Inc Método de operação de recurso de ativação por voz, mídia de armazenamento legível por computador e dispositivo eletrônico
US10652394B2 (en) 2013-03-14 2020-05-12 Apple Inc. System and method for processing voicemail
US10748529B1 (en) 2013-03-15 2020-08-18 Apple Inc. Voice activated device for use with a voice-based digital assistant
US10176167B2 (en) 2013-06-09 2019-01-08 Apple Inc. System and method for inferring user intent from speech inputs
CN106471570B (zh) 2014-05-30 2019-10-01 苹果公司 多命令单一话语输入方法
US10170123B2 (en) 2014-05-30 2019-01-01 Apple Inc. Intelligent assistant for home automation
US9715875B2 (en) 2014-05-30 2017-07-25 Apple Inc. Reducing the need for manual start/end-pointing and trigger phrases
US9338493B2 (en) 2014-06-30 2016-05-10 Apple Inc. Intelligent automated assistant for TV user interactions
US9886953B2 (en) 2015-03-08 2018-02-06 Apple Inc. Virtual assistant activation
US10460227B2 (en) 2015-05-15 2019-10-29 Apple Inc. Virtual assistant in a communication session
US10200824B2 (en) 2015-05-27 2019-02-05 Apple Inc. Systems and methods for proactively identifying and surfacing relevant content on a touch-sensitive device
US20160378747A1 (en) * 2015-06-29 2016-12-29 Apple Inc. Virtual assistant for media playback
US10331312B2 (en) 2015-09-08 2019-06-25 Apple Inc. Intelligent automated assistant in a media environment
US10740384B2 (en) 2015-09-08 2020-08-11 Apple Inc. Intelligent automated assistant for media search and playback
US10747498B2 (en) 2015-09-08 2020-08-18 Apple Inc. Zero latency digital assistant
US10671428B2 (en) 2015-09-08 2020-06-02 Apple Inc. Distributed personal assistant
US10691473B2 (en) 2015-11-06 2020-06-23 Apple Inc. Intelligent automated assistant in a messaging environment
US10956666B2 (en) 2015-11-09 2021-03-23 Apple Inc. Unconventional virtual assistant interactions
US10223066B2 (en) 2015-12-23 2019-03-05 Apple Inc. Proactive assistance based on dialog communication between devices
US10586535B2 (en) 2016-06-10 2020-03-10 Apple Inc. Intelligent digital assistant in a multi-tasking environment
DK201670540A1 (en) 2016-06-11 2018-01-08 Apple Inc Application integration with a digital assistant
DK179415B1 (en) 2016-06-11 2018-06-14 Apple Inc Intelligent device arbitration and control
US10846612B2 (en) * 2016-11-01 2020-11-24 Google Llc Actionable suggestions for activities
US20180107829A1 (en) * 2016-10-14 2018-04-19 Electronics And Telecommunications Research Institute Network entity and operation method of the same
US11204787B2 (en) 2017-01-09 2021-12-21 Apple Inc. Application integration with a digital assistant
DK180048B1 (en) 2017-05-11 2020-02-04 Apple Inc. MAINTAINING THE DATA PROTECTION OF PERSONAL INFORMATION
US10726832B2 (en) 2017-05-11 2020-07-28 Apple Inc. Maintaining privacy of personal information
DK201770427A1 (en) 2017-05-12 2018-12-20 Apple Inc. LOW-LATENCY INTELLIGENT AUTOMATED ASSISTANT
DK179496B1 (en) 2017-05-12 2019-01-15 Apple Inc. USER-SPECIFIC Acoustic Models
DK179745B1 (en) 2017-05-12 2019-05-01 Apple Inc. SYNCHRONIZATION AND TASK DELEGATION OF A DIGITAL ASSISTANT
US20180336275A1 (en) 2017-05-16 2018-11-22 Apple Inc. Intelligent automated assistant for media exploration
US20180336892A1 (en) 2017-05-16 2018-11-22 Apple Inc. Detecting a trigger of a digital assistant
KR102350954B1 (ko) * 2017-08-22 2022-01-14 삼성전자주식회사 메시지를 전송하는 전자 장치 및 그 동작 방법
US10818288B2 (en) 2018-03-26 2020-10-27 Apple Inc. Natural assistant interaction
US10928918B2 (en) 2018-05-07 2021-02-23 Apple Inc. Raise to speak
US11145294B2 (en) 2018-05-07 2021-10-12 Apple Inc. Intelligent automated assistant for delivering content from user experiences
US10892996B2 (en) 2018-06-01 2021-01-12 Apple Inc. Variable latency device coordination
DK179822B1 (da) 2018-06-01 2019-07-12 Apple Inc. Voice interaction at a primary device to access call functionality of a companion device
DK180639B1 (en) 2018-06-01 2021-11-04 Apple Inc DISABILITY OF ATTENTION-ATTENTIVE VIRTUAL ASSISTANT
CN109151016B (zh) * 2018-08-10 2021-07-30 阿里巴巴(中国)有限公司 流量转发方法和装置、服务系统、计算设备及存储介质
US11462215B2 (en) 2018-09-28 2022-10-04 Apple Inc. Multi-modal inputs for voice commands
US11475898B2 (en) 2018-10-26 2022-10-18 Apple Inc. Low-latency multi-speaker speech recognition
US11348573B2 (en) 2019-03-18 2022-05-31 Apple Inc. Multimodality in digital assistant systems
US11307752B2 (en) 2019-05-06 2022-04-19 Apple Inc. User configurable task triggers
US11423908B2 (en) 2019-05-06 2022-08-23 Apple Inc. Interpreting spoken requests
US11475884B2 (en) 2019-05-06 2022-10-18 Apple Inc. Reducing digital assistant latency when a language is incorrectly determined
DK201970509A1 (en) 2019-05-06 2021-01-15 Apple Inc Spoken notifications
US11140099B2 (en) 2019-05-21 2021-10-05 Apple Inc. Providing message response suggestions
DK201970511A1 (en) 2019-05-31 2021-02-15 Apple Inc Voice identification in digital assistant systems
DK180129B1 (en) 2019-05-31 2020-06-02 Apple Inc. USER ACTIVITY SHORTCUT SUGGESTIONS
US11289073B2 (en) 2019-05-31 2022-03-29 Apple Inc. Device text to speech
US11496600B2 (en) 2019-05-31 2022-11-08 Apple Inc. Remote execution of machine-learned models
US11227599B2 (en) 2019-06-01 2022-01-18 Apple Inc. Methods and user interfaces for voice-based control of electronic devices
US11360641B2 (en) 2019-06-01 2022-06-14 Apple Inc. Increasing the relevance of new available information
US11488406B2 (en) 2019-09-25 2022-11-01 Apple Inc. Text detection using global geometry estimators
CN110909180B (zh) * 2019-10-23 2022-08-02 维沃移动通信有限公司 一种媒体文件的处理方法及电子设备
US11038934B1 (en) 2020-05-11 2021-06-15 Apple Inc. Digital assistant hardware abstraction
US11061543B1 (en) 2020-05-11 2021-07-13 Apple Inc. Providing relevant data items based on context
US11755276B2 (en) 2020-05-12 2023-09-12 Apple Inc. Reducing description length based on confidence
US11539647B1 (en) * 2020-06-17 2022-12-27 Meta Platforms, Inc. Message thread media gallery
US11490204B2 (en) 2020-07-20 2022-11-01 Apple Inc. Multi-device audio adjustment coordination
US11438683B2 (en) 2020-07-21 2022-09-06 Apple Inc. User identification using headphones
WO2022072689A1 (en) * 2020-09-30 2022-04-07 Snap Inc. Generating media content items for sharing to external applications

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070266170A1 (en) * 2006-05-11 2007-11-15 Mockett Gregory P Interactive, rich-media delivery over an ip network using synchronized unicast and multicast
US20140136990A1 (en) * 2012-11-14 2014-05-15 invi Labs, Inc. System for and method of embedding rich media into text messages
US20140244786A1 (en) * 2013-02-27 2014-08-28 Quixey, Inc. Techniques for Sharing Application States

Family Cites Families (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003308272A (ja) * 2002-04-17 2003-10-31 Denso Corp 通信機能付き地図表示装置
DE602004029509D1 (de) 2004-07-05 2010-11-18 Ericsson Telefon Ab L M Vorrichtung und verfahren für einen durch push-nachrichten initiierten dienst
US8620915B1 (en) 2007-03-13 2013-12-31 Google Inc. Systems and methods for promoting personalized search results based on personal information
US20130226453A1 (en) 2005-02-08 2013-08-29 Bryan Gardner Trussel Systems and methods for mobile communication integration
US8250154B2 (en) 2006-12-15 2012-08-21 International Business Machines Corporation Structured archiving and retrieval of linked messages in a synchronous collaborative environment
US20090055511A1 (en) 2007-08-20 2009-02-26 International Business Machines Corporation Non-programmatic access to data and to data transfer functions
US20090094248A1 (en) 2007-10-03 2009-04-09 Concert Technology Corporation System and method of prioritizing the downloading of media items in a media item recommendation network
US8472924B2 (en) * 2008-03-11 2013-06-25 Disney Enterprises, Inc. System and method for providing concierge services to a mobile device user
WO2009149466A1 (en) * 2008-06-06 2009-12-10 Meebo, Inc. System and method for sharing content in an instant messaging application
CN101360071A (zh) * 2008-09-16 2009-02-04 腾讯科技(深圳)有限公司 基于即时聊天进行多媒体资源共享的方法及系统
US8026805B1 (en) 2009-04-09 2011-09-27 Adobe Systems Incorporated Media tracker
CA2822658A1 (en) 2010-12-23 2012-06-28 Research In Motion Limited Social media shuffle system and application
US20120271822A1 (en) 2011-04-25 2012-10-25 Motorola Mobility, Inc. System for establishing preferred contacts for a central user of a mobile communication device
US8725858B1 (en) 2011-08-31 2014-05-13 Google Inc. Method and system for selecting content based on a user's viral score
CA2854142A1 (en) * 2011-11-01 2013-05-10 Google Inc. Launching applications from webpages
US8391136B1 (en) 2012-01-27 2013-03-05 Google Inc. Fallback messaging
US9514229B2 (en) 2012-04-12 2016-12-06 Futurewei Technologies, Inc. System and method for quality of experience aware media search and recommendation with unified portal
US8972323B2 (en) 2012-06-14 2015-03-03 Microsoft Technology Licensing, Llc String prediction
US20140351348A1 (en) * 2012-06-22 2014-11-27 Cezary Kolodziej Method and system for sharing rich media content from mobile messaging to social media networks
CN103546358B (zh) * 2012-07-09 2016-05-04 腾讯科技(深圳)有限公司 面向第三方应用的即时通讯方法及系统
CN102904798B (zh) * 2012-09-27 2015-07-29 腾讯科技(深圳)有限公司 一种数据交互方法及装置
US9602606B2 (en) 2012-11-30 2017-03-21 Rovi Guides, Inc. Systems and methods for a social facilitator service
US9705829B2 (en) 2012-12-07 2017-07-11 Linkedin Corporation Communication systems and methods
WO2014089776A1 (en) 2012-12-12 2014-06-19 Google Inc. Ranking search results based on entity metrics
US9692854B2 (en) 2013-01-23 2017-06-27 Facebook, Inc. Communication between a web-based application and a desktop application
CN103475572B (zh) * 2013-04-27 2014-12-10 腾讯科技(深圳)有限公司 在即时通信应用中发送多张图片的方法、装置及系统
JP5909459B2 (ja) * 2013-05-02 2016-04-26 グリー株式会社 メッセージ送受信支援システム、メッセージ送受信支援プログラム及びメッセージ送受信支援方法
US9240966B2 (en) 2013-06-19 2016-01-19 Twilio, Inc. System and method for transmitting and receiving media messages
US20150026266A1 (en) * 2013-07-17 2015-01-22 Yahoo! Inc. Share to stream
US9553832B2 (en) 2013-08-13 2017-01-24 Facebook, Inc. Techniques to interact with an application via messaging
US9116912B1 (en) * 2014-01-31 2015-08-25 EyeGroove, Inc. Methods and devices for modifying pre-existing media items
US10366438B2 (en) 2014-03-26 2019-07-30 Cellco Partnership Product notification and recommendation technology utilizing detected activity
US9444897B1 (en) 2015-11-12 2016-09-13 International Business Machines Corporation Quality of experience collaboration between mobile devices

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070266170A1 (en) * 2006-05-11 2007-11-15 Mockett Gregory P Interactive, rich-media delivery over an ip network using synchronized unicast and multicast
US20140136990A1 (en) * 2012-11-14 2014-05-15 invi Labs, Inc. System for and method of embedding rich media into text messages
US20140244786A1 (en) * 2013-02-27 2014-08-28 Quixey, Inc. Techniques for Sharing Application States

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220021787A (ko) * 2020-08-14 2022-02-22 주식회사 카카오 컨텐츠 박스 제공 방법 및 사용자 단말
KR20230024069A (ko) * 2021-08-11 2023-02-20 라인플러스 주식회사 인스턴트 메시징 애플리케이션을 통해 통화 중 콘텐츠를 공유하는 방법 및 시스템

Also Published As

Publication number Publication date
BR112017020508A2 (pt) 2018-07-10
CA2980273A1 (en) 2016-09-29
MX2017012251A (es) 2018-02-09
US10063510B2 (en) 2018-08-28
CN107820694A (zh) 2018-03-20
IL254606B (en) 2019-09-26
AU2015387556A1 (en) 2017-10-12
AU2015387556B2 (en) 2019-04-18
IL254606A0 (en) 2017-11-30
KR102290150B1 (ko) 2021-08-18
JP6677742B2 (ja) 2020-04-08
US20160285808A1 (en) 2016-09-29
WO2016153495A1 (en) 2016-09-29
CN107820694B (zh) 2021-10-22
JP2018514025A (ja) 2018-05-31

Similar Documents

Publication Publication Date Title
KR102290150B1 (ko) 메시징 시스템을 통해 미디어를 공유하고 리믹스하는 기술
JP6955074B2 (ja) メッセージング・ボット・リッチ・コミュニケーションのための技法
CN109219793B (zh) 用于消息收发代理平台的方法、装置和非暂时性计算机可读存储介质
KR102329378B1 (ko) 봇들에 대한 의도-기반 검색을 위한 기술들
US9847956B2 (en) Systems and methods for managing electronic requests for photographs and multimedia content, and enabling electronic social sharing thereof
US20190068526A1 (en) Methods and systems for helper bot platform assistance
KR102379895B1 (ko) 그래프 기반 자연어 프로세싱을 위한 기술
US10726843B2 (en) Methods and systems for responding to inquiries based on social graph information
US10635861B2 (en) Analyzing language units for opinions
US20180302345A1 (en) Techniques for event-based recommendations for bots
US11341173B2 (en) Techniques for personalized search for bots
US11269845B1 (en) Techniques to configure media packages
US20180300646A1 (en) Techniques for reinforcement for bots
EP3076608B1 (en) Techniques to share and remix media through a messaging system
EP3502927A1 (en) Methods and systems for responding to inquiries based on social graph information
US20180300161A1 (en) Techniques for multiple-user bot applications

Legal Events

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