KR102039995B1 - 메신저 서비스에서의 사용자 상황에 따른 효율적인 멀티미디어 메시지 제공 방법 및 시스템 - Google Patents

메신저 서비스에서의 사용자 상황에 따른 효율적인 멀티미디어 메시지 제공 방법 및 시스템 Download PDF

Info

Publication number
KR102039995B1
KR102039995B1 KR1020180036776A KR20180036776A KR102039995B1 KR 102039995 B1 KR102039995 B1 KR 102039995B1 KR 1020180036776 A KR1020180036776 A KR 1020180036776A KR 20180036776 A KR20180036776 A KR 20180036776A KR 102039995 B1 KR102039995 B1 KR 102039995B1
Authority
KR
South Korea
Prior art keywords
data
type
terminal
receiver terminal
receiver
Prior art date
Application number
KR1020180036776A
Other languages
English (en)
Other versions
KR20190114288A (ko
Inventor
장혁재
Original Assignee
라인플러스 주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 라인플러스 주식회사 filed Critical 라인플러스 주식회사
Priority to KR1020180036776A priority Critical patent/KR102039995B1/ko
Priority to JP2019054294A priority patent/JP7446716B2/ja
Priority to US16/367,853 priority patent/US11489798B2/en
Priority to CN201910246208.4A priority patent/CN110324232B/zh
Publication of KR20190114288A publication Critical patent/KR20190114288A/ko
Application granted granted Critical
Publication of KR102039995B1 publication Critical patent/KR102039995B1/ko

Links

Images

Classifications

    • G06Q50/50
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/30Transportation; Communications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/07User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail characterised by the inclusion of specific contents
    • H04L51/10Multimedia information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • 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/063Content adaptation, e.g. replacement of unsuitable content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Abstract

메신저 서비스에서의 사용자 상황에 따른 효율적인 멀티미디어 메시지 제공 방법 및 시스템을 개시한다. 본 발명의 실시예들에 따른 멀티미디어 메시지 제공 방법을 통해 메신저 서비스에서 메시지의 송신자와 수신자 각각의 상황(context)에 기반하여 멀티미디어 메시지를 보다 효율적으로 전송, 수신 및/또는 표시할 수 있다.

Description

메신저 서비스에서의 사용자 상황에 따른 효율적인 멀티미디어 메시지 제공 방법 및 시스템{METHOD AND SYSTEM FOR PROVIDNIG EFFICIENT MULTIMEDIA MESSAGE DEPENDING ON USER CONTEXT INFORMATION IN MESSENGER SERVICE}
아래의 설명은 메신저 서비스에서의 사용자 상황(context)에 따른 효율적인 멀티미디어 메시지 제공 방법 및 시스템에 관한 것으로, 보다 자세하게는, 메신저 서비스에서 메시지의 송신자와 수신자 각각의 상황에 기반하여 멀티미디어 메시지를 보다 효율적으로 전송, 수신 및/또는 표시할 수 있는 멀티미디어 메시지 제공 방법, 상기 멀티미디어 메시지 제공 방법을 수행하는 컴퓨터 장치, 상기 컴퓨터 장치와 결합되어 상기 멀티미디어 메시지 제공 방법을 상기 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램과 그 기록매체에 관한 것이다.
최근의 메신저 서비스들에서 사용자들은 단순히 텍스트 메시지를 주고 받는 것이 아니라, 사진, 동영상, 음성 녹음 등과 같은 다양한 멀티미디어 메시지들을 주고 받는다. 예를 들어, 한국공개특허 제10-2006-0039497호는 모바일 멀티미디어 인스턴트 메신저 서비스 시스템 및 그를 이용한 모바일 멀티미디어 메신저 서비스 방법에 관한 것으로, 모바일 멀티미디어 인스턴트 메신저 서비스 시스템을 사용하여 카메라로 찍은 이미지나 동영상을 포함한 멀티미디어 데이터를 메신저 서비스 중에 실시간으로 주고 받을 수 있는 모바일 멀티미디어 메신저 서비스 방법을 개시하고 있다.
그러나, 이러한 멀티미디어 메시지들은 텍스트 메시지들과 다르게 단일 메시지의 크기가, 일례로 수백 킬로바이트(kilobyte, KB)에서 수십 메가바이트(megabyte, MB)와 같이 텍스트 메시지들에 비해 상대적으로 매우 크다. 따라서 네트워크 사정이 좋지 않은 지역이나 국가에서는 이러한 멀티미디어 메시지를 보내고 받는 데 시간이 많이 소요되거나 아예 송수신이 불가능할 수 있다.
메신저 서비스에서 메시지의 송신자와 수신자 각각의 상황(context)에 기반하여 멀티미디어 메시지를 보다 효율적으로 전송, 수신 및/또는 표시할 수 있는 멀티미디어 메시지 제공 방법, 상기 멀티미디어 메시지 제공 방법을 수행하는 컴퓨터 장치, 상기 컴퓨터 장치와 결합되어 상기 멀티미디어 메시지 제공 방법을 상기 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램과 그 기록매체를 제공한다.
송신자 단말로부터 수신자 단말로의 멀티미디어 메시지의 전송 요청을 수신하는 단계; 상기 송신자 단말 및 상기 수신자 단말 각각으로부터 수집되는 상황 정보를 분석하여 상황을 결정하는 단계; 상기 결정된 상황에 따라, 상기 멀티미디어 메시지가 포함하는 원본 멀티미디어 데이터에 대해, 상기 송신자 단말로부터 수신되어야 할 데이터의 제1 종류 및 상기 수신자 단말로 전송해야 할 데이터의 제2 종류를 결정하는 단계; 및 상기 원본 멀티미디어 데이터에 대해, 상기 결정된 제1 종류의 데이터를 상기 송신자 단말로부터 수신하고, 상기 결정된 제2 종류의 데이터를 상기 수신자 단말로 전송함으로써, 상기 멀티미디어 메시지의 전송 요청을 처리하는 단계를 포함하는 멀티미디어 메시지 제공 방법을 제공한다.
일측에 따르면, 상기 수집되는 상황 정보는 상기 송신자 단말에서의 네트워크 상황, 상기 수신자 단말에서의 네트워크 상황, 수신자의 상기 수신자 단말에 대한 사용 여부, 접근 가능성, 사용 몰입 강도, 상기 수신자의 명시적 입력에 따라 상기 수신자 단말로부터 수신되는 원본 요청 중 둘 이상에 대한 정보를 포함하는 것을 특징으로 할 수 있다.
다른 측면에 따르면, 상기 제1 종류의 데이터는 상기 원본 멀티미디어 데이터 및 상기 원본 멀티미디어 데이터에 대한 미리보기 중 어느 하나를 포함하고, 상기 제2 종류의 데이터는, 상기 멀티미디어 메시지의 전송에 대한 이벤트, 상기 원본 멀티미디어 데이터 및 상기 원본 멀티미디어 데이터에 대한 미리보기 중 어느 하나를 포함하고, 상기 결정된 상황에서 상기 제1 종류의 데이터와 상기 제2 종류의 데이터는 서로 상이한 데이터로 결정되는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 멀티미디어 메시지 제공 방법은 상기 수집되는 상황 정보의 변화에 따라 상기 결정된 상황이 변경되는 경우, 상기 변경된 상황에 따라 상기 제1 종류 및 상기 제2 종류 중 적어도 하나를 변경하는 단계; 및 상기 송신자 단말로부터 상기 변경된 제1 종류의 데이터를 더 수신하거나 또는 상기 수신자 단말로 상기 변경된 제2 종류의 데이터를 더 전송하는 단계를 더 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 멀티미디어 메시지의 전송 요청을 처리하는 단계는, 상기 송신자 단말로부터 상기 제1 종류의 데이터로서 상기 원본 멀티미디어 데이터를 수신 및 저장하는 단계; 상기 원본 멀티미디어 데이터에 대한 미리보기를 생성하는 단계; 상기 생성된 미리보기를 상기 제2 종류의 데이터로서 상기 수신자 단말로 전송하는 단계; 및 상기 수신자 단말로부터의 상기 미리보기에 기반한 원본 요청이 수신되어 상황이 변경됨에 따라 상기 저장된 원본 멀티미디어 데이터를 변경된 제2 종류의 데이터로서 상기 수신자 단말로 전송하는 단계를 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 멀티미디어 메시지의 전송 요청을 처리하는 단계는, 상기 송신자 단말로부터 상기 제1 종류의 데이터로서 상기 원본 멀티미디어 데이터에 대한 미리보기를 수신하는 단계; 상기 미리보기를 상기 제2 종류의 데이터로서 상기 수신자 단말로 전송하는 단계; 상기 수신자 단말로부터의 상기 미리보기에 기반한 원본 요청이 수신되어 상황이 변경됨에 따라 상기 송신자 단말로부터 변경된 제1 종류의 데이터로서 상기 원본 멀티미디어 데이터를 수신하는 단계; 및 상기 수신된 원본 멀티미디어 데이터를 변경된 제2 종류의 데이터로서 상기 수신자 단말로 전송하는 단계를 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 멀티미디어 메시지의 전송 요청을 처리하는 단계는, 상기 이벤트를 상기 제2 종류의 데이터로서 상기 수신자 단말로 전송하는 단계; 상기 수신자 단말에 설치된 메신저 어플리케이션을 통해 상기 이벤트가 노출됨을 인식하는 단계; 상기 인식에 응답하여 상기 송신자 단말로부터 상기 제1 종류의 데이터로서 상기 원본 멀티미디어 데이터에 대한 미리보기 및 상기 원본 멀티미디어 데이터 중 어느 하나의 데이터를 수신하는 단계; 및 상기 이벤트가 노출됨이 인식되어 상황이 변경됨에 따라 상기 미리보기 및 상기 원본 멀티미디어 데이터 중 어느 하나의 데이터를 변경된 제2 종류의 데이터로서 상기 수신자 단말로 전송하는 단계를 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 어느 하나의 데이터를 수신하여 상기 수신자 단말로 전송하는 단계는, 상기 송신자 단말로부터 상기 미리보기를 수신하여 상기 수신자 단말로 전송한 경우, 상기 수신자 단말로부터의 상기 미리보기에 기반한 원본 요청이 수신되어 상황이 추가 변경됨에 따라 상기 송신자 단말로부터 변경된 제1 종류의 데이터로서 상기 원본 멀티미디어 데이터를 수신하는 단계; 및 상기 수신된 원본 멀티미디어 데이터를 추가 변경된 제2 종류의 데이터로서 상기 수신자 단말로 전송하는 단계를 포함하는 것을 특징으로 할 수 있다.
또 다른 측면에 따르면, 상기 멀티미디어 메시지 제공 방법은 상기 수신자 단말로 기 전송된 데이터에 대한 전송 이력을 관리하는 단계; 상기 관리되는 전송 이력을 통해 상기 제2 종류의 데이터가 상기 수신자 단말로 전송된 이력이 존재하는지 확인하는 단계; 및 상기 제2 종류의 데이터가 상기 수신된 단말로 전송된 이력이 존재하는 경우, 상기 제2 종류의 데이터의 식별자 또는 상기 제2 종류의 데이터를 전송하는데 이용된 메시지의 식별자를 상기 수신자 단말로 전송하는 단계를 더 포함하고, 상기 수신자 단말에서 상기 데이터의 식별자 또는 메시지의 식별자를 통해 기 전송되어 상기 수신자 단말에 저장된 데이터가 식별되는 것을 특징으로 할 수 있다.
송신자 단말이 수신자 단말로의 멀티미디어 메시지의 전송 요청을 메신저 서버로 전송하는 단계; 상기 송신자 단말이 상기 메신저 서버로 상황 정보를 전송하는 단계; 및 상기 전송된 상황 정보 및 상기 수신자 단말로부터 수신한 상황 정보를 분석하여 상기 메신저 서버에 의해 결정되는 상황에 따라 상기 메신저 서버가 요청하는 상기 멀티미디어 메시지가 포함하는 원본 멀티미디어 데이터에 대한 제1 종류의 데이터를 상기 송신자 단말이 상기 메신저 서버로 전송하는 단계를 포함하는 멀티미디어 메시지 제공 방법을 제공한다.
컴퓨터 장치와 결합되어 상기 멀티미디어 메시지 제공 방법을 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램을 제공한다.
상기 멀티미디어 메시지 제공 방법을 컴퓨터 장치에 실행시키기 위한 프로그램이 기록되어 있는 컴퓨터 판독 가능한 기록매체를 제공한다.
컴퓨터 장치에 있어서, 컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서에 의해, 송신자 단말로부터 수신자 단말로의 멀티미디어 메시지의 전송 요청을 수신하고, 상기 송신자 단말 및 상기 수신자 단말 각각으로부터 수집되는 상황 정보를 분석하여 상황을 결정하고, 상기 결정된 상황에 따라, 상기 멀티미디어 메시지가 포함하는 원본 멀티미디어 데이터에 대해, 상기 송신자 단말로부터 수신되어야 할 데이터의 제1 종류 및 상기 수신자 단말로 전송해야 할 데이터의 제2 종류를 결정하고, 상기 원본 멀티미디어 데이터에 대해, 상기 결정된 제1 종류의 데이터를 상기 송신자 단말로부터 수신하고, 상기 결정된 제2 종류의 데이터를 상기 수신자 단말로 전송함으로써, 상기 멀티미디어 메시지의 전송 요청을 처리하는 것을 특징으로 하는 컴퓨터 장치를 제공한다.
컴퓨터 장치에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서를 포함하고, 상기 적어도 하나의 프로세서에 의해, 송신자 단말이 수신자 단말로의 멀티미디어 메시지의 전송 요청을 메신저 서버로 전송하고, 상기 송신자 단말이 상기 메신저 서버로 상황 정보를 전송하고, 상기 전송된 상황 정보 및 상기 수신자 단말로부터 수신한 상황 정보를 분석하여 상기 메신저 서버에 의해 결정되는 상황에 따라 상기 메신저 서버가 요청하는 상기 멀티미디어 메시지가 포함하는 원본 멀티미디어 데이터에 대한 제1 종류의 데이터를 상기 송신자 단말이 상기 메신저 서버로 전송하는 것을 특징으로 하는 컴퓨터 장치를 제공한다.
메신저 서비스에서 메시지의 송신자와 수신자 각각의 상황(context)에 기반하여 멀티미디어 메시지를 보다 효율적으로 전송, 수신 및/또는 표시할 수 있다.
도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다.
도 2는 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다.
도 3은 본 발명의 일실시예에 있어서, 멀티미디어 메시지를 제공하는 예를 도시한 도면이다.
도 4는 본 발명의 일실시예에 있어서, 미리보기의 등급 및/또는 형식에 대한 예를 도시한 도면이다.
도 5는 본 발명의 일실시예에 있어서, 미리보기의 등급 및/또는 형식의 다른 예를 도시한 도면이다.
도 6은 본 발명의 일실시예에 있어서, 전송 데이터의 중복 전송 방지를 위한 과정의 예를 도시한 도면이다.
도 7은 본 발명의 일실시예에 있어서, 전송 데이터의 중복 전송 방지를 위한 과정의 다른 예를 도시한 도면이다.
도 8은 본 발명의 일실시예에 따른 메신저 서버의 멀티미디어 메시지 제공 방법의 예를 도시한 흐름도이다.
도 9는 본 발명의 일실시예에 있어서, 멀티미디어 메시지의 전송 요청을 처리하는 제1 예를 도시한 흐름도이다.
도 10는 본 발명의 일실시예에 있어서, 멀티미디어 메시지의 전송 요청을 처리하는 제2 예를 도시한 흐름도이다.
도 11는 본 발명의 일실시예에 있어서, 멀티미디어 메시지의 전송 요청을 처리하는 제3 예를 도시한 흐름도이다.
도 12는 본 발명의 일실시예에 있어서, 수신자 단말로 전송되는 데이터의 중복 전송 방지를 위한 예를 도시한 흐름도이다.
도 13은 본 발명의 일실시예에 따른 송신자 단말의 멀티미디어 메시지 제공 방법의 예를 도시한 흐름도이다.
이하, 실시예를 첨부한 도면을 참조하여 상세히 설명한다.
본 발명의 실시예들에 따른 멀티미디어 메시지 제공 방법은 이후 설명될 전자 디바이스 또는 서버와 같은 컴퓨터 장치를 통해 구현될 수 있다. 이때, 컴퓨터 장치에는 본 발명의 일실시예에 따른 컴퓨터 프로그램이 설치 및 구동될 수 있고, 컴퓨터 장치는 구동된 컴퓨터 프로그램의 제어에 따라 본 발명의 실시예들에 따른 멀티미디어 메시지 제공 방법을 수행할 수 있다. 상술한 컴퓨터 프로그램은 컴퓨터 장치와 결합되어 멀티미디어 메시지 제공 방법을 컴퓨터 장치에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장될 수 있다.
도 1은 본 발명의 일실시예에 따른 네트워크 환경의 예를 도시한 도면이다. 도 1의 네트워크 환경은 복수의 전자 디바이스들(110, 120, 130, 140), 복수의 서버들(150, 160) 및 네트워크(170)를 포함하는 예를 나타내고 있다. 이러한 도 1은 발명의 설명을 위한 일례로 전자 디바이스의 수나 서버의 수가 도 1과 같이 한정되는 것은 아니다.
복수의 전자 디바이스들(110, 120, 130, 140)은 컴퓨터 장치로 구현되는 고정형 단말이거나 이동형 단말일 수 있다. 복수의 전자 디바이스들(110, 120, 130, 140)의 예를 들면, 스마트폰(smart phone), 휴대폰, 네비게이션, 컴퓨터, 노트북, 디지털방송용 단말, PDA(Personal Digital Assistants), PMP(Portable Multimedia Player), 태블릿 PC 등이 있다. 일례로 도 1에서는 전자 디바이스(110)의 예로 스마트폰의 형상을 나타내고 있으나, 본 발명의 실시예들에서 전자 디바이스(110)는 실질적으로 무선 또는 유선 통신 방식을 이용하여 네트워크(170)를 통해 다른 전자 디바이스들(120, 130, 140) 및/또는 서버(150, 160)와 통신할 수 있는 다양한 물리적인 컴퓨터 장치들 중 하나를 의미할 수 있다.
통신 방식은 제한되지 않으며, 네트워크(170)가 포함할 수 있는 통신망(일례로, 이동통신망, 유선 인터넷, 무선 인터넷, 방송망)을 활용하는 통신 방식뿐만 아니라 디바이스들간의 근거리 무선 통신 역시 포함될 수 있다. 예를 들어, 네트워크(170)는, PAN(personal area network), LAN(local area network), CAN(campus area network), MAN(metropolitan area network), WAN(wide area network), BBN(broadband network), 인터넷 등의 네트워크 중 하나 이상의 임의의 네트워크를 포함할 수 있다. 또한, 네트워크(170)는 버스 네트워크, 스타 네트워크, 링 네트워크, 메쉬 네트워크, 스타-버스 네트워크, 트리 또는 계층적(hierarchical) 네트워크 등을 포함하는 네트워크 토폴로지 중 임의의 하나 이상을 포함할 수 있으나, 이에 제한되지 않는다.
서버(150, 160) 각각은 복수의 전자 디바이스들(110, 120, 130, 140)과 네트워크(170)를 통해 통신하여 명령, 코드, 파일, 컨텐츠, 서비스 등을 제공하는 컴퓨터 장치 또는 복수의 컴퓨터 장치들로 구현될 수 있다. 예를 들어, 서버(150)는 네트워크(170)를 통해 접속한 복수의 전자 디바이스들(110, 120, 130, 140)로 서비스(일례로, 게임 서비스, 소셜 네트워크 서비스, 메시징 서비스, 검색 서비스, 메일 서비스, 컨텐츠 제공 서비스 등)를 제공하는 시스템일 수 있다.
도 2는 본 발명의 일실시예에 따른 컴퓨터 장치의 예를 도시한 블록도이다. 앞서 설명한 복수의 전자 디바이스들(110, 120, 130, 140) 각각이나 서버들(150, 160) 각각은 도 2를 통해 도시된 컴퓨터 장치(200)에 의해 구현될 수 있다.
이러한 컴퓨터 장치(200)는 도 2에 도시된 바와 같이, 메모리(210), 프로세서(220), 통신 인터페이스(230) 그리고 입출력 인터페이스(240)를 포함할 수 있다. 메모리(210)는 컴퓨터에서 판독 가능한 기록매체로서, RAM(random access memory), ROM(read only memory) 및 디스크 드라이브와 같은 비소멸성 대용량 기록장치(permanent mass storage device)를 포함할 수 있다. 여기서 ROM과 디스크 드라이브와 같은 비소멸성 대용량 기록장치는 메모리(210)와는 구분되는 별도의 영구 저장 장치로서 컴퓨터 장치(200)에 포함될 수도 있다. 또한, 메모리(210)에는 운영체제와 적어도 하나의 프로그램 코드가 저장될 수 있다. 이러한 소프트웨어 구성요소들은 메모리(210)와는 별도의 컴퓨터에서 판독 가능한 기록매체로부터 메모리(210)로 로딩될 수 있다. 이러한 별도의 컴퓨터에서 판독 가능한 기록매체는 플로피 드라이브, 디스크, 테이프, DVD/CD-ROM 드라이브, 메모리 카드 등의 컴퓨터에서 판독 가능한 기록매체를 포함할 수 있다. 다른 실시예에서 소프트웨어 구성요소들은 컴퓨터에서 판독 가능한 기록매체가 아닌 통신 인터페이스(230)를 통해 메모리(210)에 로딩될 수도 있다. 예를 들어, 소프트웨어 구성요소들은 네트워크(170)를 통해 수신되는 파일들에 의해 설치되는 컴퓨터 프로그램에 기반하여 컴퓨터 장치(200)의 메모리(210)에 로딩될 수 있다.
프로세서(220)는 기본적인 산술, 로직 및 입출력 연산을 수행함으로써, 컴퓨터 프로그램의 명령을 처리하도록 구성될 수 있다. 명령은 메모리(210) 또는 통신 인터페이스(230)에 의해 프로세서(220)로 제공될 수 있다. 예를 들어 프로세서(220)는 메모리(210)와 같은 기록 장치에 저장된 프로그램 코드에 따라 수신되는 명령을 실행하도록 구성될 수 있다.
통신 인터페이스(230)은 네트워크(170)를 통해 컴퓨터 장치(200)가 다른 장치(일례로, 앞서 설명한 저장 장치들)와 서로 통신하기 위한 기능을 제공할 수 있다. 일례로, 컴퓨터 장치(200)의 프로세서(220)가 메모리(210)와 같은 기록 장치에 저장된 프로그램 코드에 따라 생성한 요청이나 명령, 데이터, 파일 등이 통신 인터페이스(230)의 제어에 따라 네트워크(170)를 통해 다른 장치들로 전달될 수 있다. 역으로, 다른 장치로부터의 신호나 명령, 데이터, 파일 등이 네트워크(170)를 거쳐 컴퓨터 장치(200)의 통신 인터페이스(230)를 통해 컴퓨터 장치(200)로 수신될 수 있다. 통신 인터페이스(230)를 통해 수신된 신호나 명령, 데이터 등은 프로세서(220)나 메모리(210)로 전달될 수 있고, 파일 등은 컴퓨터 장치(200)가 더 포함할 수 있는 저장 매체(상술한 영구 저장 장치)로 저장될 수 있다.
입출력 인터페이스(240)는 입출력 장치(250)와의 인터페이스를 위한 수단일 수 있다. 예를 들어, 입력 장치는 마이크, 키보드 또는 마우스 등의 장치를, 그리고 출력 장치는 디스플레이, 스피커와 같은 장치를 포함할 수 있다. 다른 예로 입출력 인터페이스(240)는 터치스크린과 같이 입력과 출력을 위한 기능이 하나로 통합된 장치와의 인터페이스를 위한 수단일 수도 있다. 입출력 장치(250)는 컴퓨터 장치(200)와 하나의 장치로 구성될 수도 있다.
또한, 다른 실시예들에서 컴퓨터 장치(200)는 도 2의 구성요소들보다 더 적은 혹은 더 많은 구성요소들을 포함할 수도 있다. 그러나, 대부분의 종래기술적 구성요소들을 명확하게 도시할 필요성은 없다. 예를 들어, 컴퓨터 장치(200)는 상술한 입출력 장치(250) 중 적어도 일부를 포함하도록 구현되거나 또는 트랜시버(transceiver), 데이터베이스 등과 같은 다른 구성요소들을 더 포함할 수도 있다.
도 1을 통해 설명한 복수의 전자 디바이스들(110, 120, 130, 140)과 같은 메신저 서비스의 사용자 단말들 각각에서는 네트워크 사정과 폰 사용 상황이 실시간으로 급변하기 때문에 사용자들간에 멀티미디어 데이터를 전송, 수신 및/또는 표시함에 있어서 문제가 있을 수 있다.
예를 들어, 네트워크 사정이 좋지 않은 수신자가 긴 시간과 비용(데이터)을 들여서 멀티미디어 메시지가 포함하는 멀티미디어 데이터(일례로, 동영상)를 다운로드 받았으나, 멀티미디어 데이터의 내용이 굳이 현 시점에서 다운로드하지 않았어도 되는 내용이었을 수 있다.
다른 예로, 멀티미디어 메시지의 수신 시점에 네트워크 사정이 좋았으나 미처 멀티미디어 메시지가 포함하는 멀티미디어 데이터를 다운로드 받지 못했고, 일정 시간이 흘러 정작 멀티미디어 데이터를 다운로드받고자 하는 시점에는 네트워크 사정이 나빠져서 멀티미디어 데이터를 다운로드받지 못하는 상황이 발생할 수 있다.
또 다른 예로, 송신자가 멀티미디어 메시지를 보내도 수신자가 멀티미디어 메시지가 확인할 수 없는 상황인 경우, 송신지가 굳이 느린 네트워크 상황에서 멀티미디어 메시지 자체는 전송하되, 멀티미디어 메시지에 포함된 용량이 큰 멀티미디어 데이터를 당장 전송해야 할 필요성이 없다.
따라서 본 발명의 실시예들에서는 이러한 다양한 상황에 대처하기 위해, 네트워크 사정과 사용자의 단말 사용 상태를 분석하고 대화에 참여한 구성원들의 상황(context)를 종합적으로 분석함으로써, 멀티미디어 메시지를 보다 효율적으로 전송, 수신 및/또는 표시하도록 개선할 수 있다.
도 3은 본 발명의 일실시예에 있어서, 멀티미디어 메시지를 제공하는 예를 도시한 도면이다. 본 실시예에서는 네트워크 상황이 좋은 송신자 단말(310)이 네트워크 상황이 좋지 않은 수신자 단말(320)에게 메신저 서버(330)를 통해 동영상과 같은 멀티미디어 데이터가 포함된 멀티미디어 메시지를 전송하는 경우의 예를 설명한다. 이때, 수신자가 수신자 단말(320)을 사용중이며, 사용 몰입 강도가 높은 상황이라 가정한다. 여기서, 송신자 단말(310)과 수신자 단말(320)은 도 3에서는 화면 예들을 나타내고 있으나, 실질적으로는 메신저 어플리케이션이 설치 및 구동되며, 앞서 설명한 네트워크(170)를 통해 메신저 서버(330)와 통신하면서 서로 메시지를 주고 받는 물리적인 장치일 수 있으며, 도 2에서 설명한 컴퓨터 장치(200)에 의해 구현될 수 있다. 또한, 메신저 서버(330)는 메신저 어플리케이션이 구동된 송신자 단말(310) 및 수신자 단말(320)간의 통신세션을 설정하고, 설정된 통신세션을 통해 송신자 단말(310) 및 수신자 단말(320)에서 송수신되는 메시지들을 라우팅함으로써, 통신세션이 설정된 송신측(310)과 수신측(320)이 서로 메시지를 주고 받도록 서포트할 수 있는 하나 이상의 물리적인 장치일 수 있다. 이때, 메신저 서버(330)를 구현하는 장치 역시 도 2에서 설명한 컴퓨터 장치(200)에 의해 구현될 수 있다. 도 3의 실시예에서 설명하는 통신세션은 송신자 단말(310) 및 수신자 단말(320)의 사용자들인 송신자와 수신자의 계정들간에 설정될 수 있으며, 메신저 환경에서의 대화방에 대응할 수 있다. 도 3의 실시예에서는 송신자와 수신자, 두 명의 사용자들간의 멀티미디어 메시지 송수신의 과정의 예를 설명하고 있으나, 하나의 송신자와 둘 이상의 수신자가 존재하는 단체 대화방의 경우에도 유사한 과정들이 적용될 수 있다. 이때, 수신자들의 서로 다른 사용자 상황에 따라 수신자별로 멀티미디어 메시지의 전송 방식이 서로 달라질 수 있다. 또한, 이후에 설명되는 송신자 단말(310), 수신자 단말(320) 및 메신저 서버(330)간의 신호, 요청, 메시지, 데이터 등의 전송, 업로드, 수신 및 다운로드는 앞서 설명한 네트워크(170)를 통해 이루어질 수 있다.
1) 동영상 메시지 전송 요청
네트워크 상황이 좋은 송신자 단말(310)은 송신자가 메신저 어플리케이션에 의해 제공되는 기능을 통해 동영상 1(311)을 선택하여 메신저 서버(330)로 멀티미디어 메시지의 전송 요청을 하면, 메신저 어플리케이션의 제어에 따라 멀티미디어 메시지의 전송을 요청하기 위한 신호(이벤트)를 메신저 서버(330)로 전송할 수 있다.
2) 동영상 메시지 전송 요청 수신
메신저 서버(330)는 네트워크를 통해 송신자 단말(310)이 전송하는 신호를 수신할 수 있다. 이때, 상기 신호는 송신자 단말(310)이 멀티미디어 메시지를 전송하고자 함을 알리기 위한 신호로서 멀티미디어 데이터 자체를 포함하지는 않는다.
3) 송신측/수신측 상황 정보 분석
메신저 서버(330)는 상기 신호의 수신에 응답하여, 송신자 단말(310) 및 수신자 단말(320) 각각에 대한 상황 정보를 분석할 수 있다. 상황 정보는 주기적으로 미리 수집된 정보를 활용할 수도 있고, 상기 신호의 수신에 따라 송신자 단말(310) 및 수신자 단말(320)로 특정 신호를 전송하는 방식을 통해 실시간으로 획득할 수도 있으며, 두 가지 방식을 모두 활용할 수도 있다. 상황 정보에 대한 구체적인 내용과 상황 정보를 획득 및 분석하는 방법에 대해서는 이후 더욱 자세히 설명한다. 이때, 메신저 서버(330)는 송신자 단말(310) 및 수신자 단말(320) 각각에 대한 상황 정보를 분석한 결과로서 도 3에서 가정한 바와 같이 송신자 단말(310)에서 네트워크 상황이 '좋음'(일례로, '좋음' 및 '나쁨'과 같은 두 가지 기 정의된 등급 중 첫 번째 등급)이며, 반면 수신자 단말(320)에서 네트워크 상황이 '나쁨'임을 결정할 수 있다. 또한, 메신저 서버(330)는 수신자 단말(320)의 사용자인 수신자가 수신자 단말(320)을 사용중이며 사용 몰입 강도가 '높음'(일례로, '좋음' 및 '나쁨'과 같은 두 가지 기 정의된 등급 중 첫 번째 등급)임을 결정할 수 있다. 네트워크 상황과 사용 몰입 강도는 셋 이상의 등급으로 분류될 수도 있다.
4) 전송 방식 결정
메신저 서버(330)는 앞서 결정된 상황 정보의 분석 결과에 따라, 송신자 단말(310)에서 수신자 단말(320)로 전송하고자 하는 동영상 1(311)의 전송 방식을, 송신자 단말(310)과 수신자 단말(320) 각각에 대해 결정할 수 있다. 예를 들어, 메신저 서버(330)는 네트워크 상황이 '좋음'인 송신자 단말(310)로부터는 동영상 1(311)을 바로 수신하는 전송 방식을 선택할 수 있다. 반면, 메신저 서버(330)는 네트워크 상황이 '나쁨'인 수신자 단말(320)로 동영상 1(311)을 바로 전송하는 대신, 동영상 1(311)로부터 움직이는 사진인 animated GIF 파일 a(321)를 생성하여 전송하고, 수신자 단말(320)로부터의 명시적인 요청에 따라 동영상 1(311)을 전송하는 전송 방식을 선택할 수 있다.
5) 동영상 1(311) 요청
메신저 서버(330)는 결정된 전송 방식에 따라 송신자 단말(310)로 해당 동영상 1(311)을 업로드해줄 것을 요청할 수 있다.
6) 전송 방식에 따라 동영상 1(311) 업로드
송신자 단말(310)은 메신저 서버(330)의 요청에 따라 동영상 1(311)을 메신저 서버(330)로 요청할 수 있다. 실시예에 따라 다른 전송 방식이 결정되는 경우, 송신자 단말(310)은 다른 전송 방식에 따라 동영상 1(311)을 메신저 서버(330)로 업로드할 수도 있다. 예를 들어, 송신자 단말(310)의 네트워크 상황이 '나쁨'인 경우, 동영상 1(311)에 대한 미리보기(일례로, 앞서 설명한 animated GIF 파일 a(321)과 같은 프리뷰(preview) 데이터로서, 음성녹음이나 음악과 같은 음원에 대해서도 유사한 개념이 활용될 수 있음.)를 송신자 단말(310)이 생성하여 메신저 서버(330)로 전송하고, 실제 동영상 1(311)은 송신자 단말(310)의 네트워크 상황이 좋아진 이후에 전송하는 전송 방식이 결정될 수도 있다. 이러한 실시예는 추후 더욱 자세히 설명한다.
7) 동영상 1(311) 수신 및 저장
메신저 서버(330)는 송신자 단말(310)이 업로드하는 동영상 1(311)을 수신하고 메신저 서버(330)의 저장소에 저장할 수 있다.
8) 동영상 1(311)로부터 animated GIF 파일 a(321) 생성
메신저 서버(330)는 수신된 동영상 1(311)로부터 animated GIF 파일 a(321)를 생성할 수 있다. 일례로, 네트워크 상황이 '나쁨'인 수신자 단말(320)로 용량이 큰 동영상 1(311)을 전송하는 것은 수신자가 송신자의 메시지를 일반적인 상황과 비교했을 때 매우 긴 시간 이후에 수신하거나 혹은 수신하지 못하게 됨을 야기할 수 있다. 반면, 동영상 1(311)을 통해 생성되는 animated GIF 파일 a(321)가 동영상 1(311)에 비해 상대적으로 더 작은 용량을 가짐은 자명하며, 이를 통해 수신자는 보다 빠르게 동영상 1(311)의 전송에 대한 정보를 획득할 수 있게 되며, 동영상 1(311)에 대한 대략적인 정보를 얻을 수 있게 된다. 동영상 1(311)로부터 animated GIF 파일 a(321)를 생성하는 방식에 대해서는 이후 더욱 자세히 설명한다.
9) animated GIF 파일 a(321) 전송
메신저 서버(330)는 동영상 1(311)로부터 생성된 animated GIF 파일 a(321)를 수신자 단말(320)로 전송할 수 있다.
10) animated GIF 파일 a(321) 다운로드 및 표시
수신자 단말(320)은 메신저 서버(330)가 전송하는 animated GIF 파일 a(321)를 다운로드하여 화면에 표시할 수 있다. 도 3에서는 수신자 단말(320)에서 대화방을 통해 animated GIF 파일 a(321)가 표시된 예를 나타내고 있다. 이러한 animated GIF 파일 a(321)의 다운로드 및 표시를 통해 수신자는 송신자가 동영상을 전송하고자 하고 있음을 보다 빠른 시간 내에 확인할 수 있게 되며, 전송하고자 하는 동영상의 대략적인 내용을 파악할 수 있게 된다. 다시 말해, 수신자는 animated GIF 파일 a(321)와 같은 미리보기를 통해 동영상 1(311)의 다운로드 시점을 결정할 수 있다. 예를 들어, 수신자는 네트워크 상황이 '나쁨'이어도 동영상 1(311)을 바로 다운로드 하고자 할 수도 있으며, 네트워크 상황이 '좋음'으로 바뀐 이후에 동영상 1(311)을 다운로드 하고자 할 수도 있다.
11) 수신자 입력에 따라 동영상 1(311) 요청
수신자 단말(320)은 수신자로부터의 명시적인 입력이 발생함에 따라 메신저 서버(330)로 동영상 1(311)을 요청할 수 있다. 예를 들어, animated GIF 파일 a(321)는 도 3에 도시된 "동영상 확인?" 버튼(322)과 같은 사용자 인터페이스와 함께 표시될 수 있으며, 수신자가 "동영상 확인?" 버튼(322)을 선택(일례로, 터치스크린 환경에서 사용자가 손가락으로 "동영상 확인?" 버튼(322)이 표시된 영역을 터치)하는 것과 같이 수신자로부터의 명시적인 요청이 발생함에 따라 메신저 서버(330)로 동영상 1(311)을 요청할 수 있다. 일례로, "동영상 확인?" 버튼(322)에는 메신저 서버(330)에 저장된 동영상 1(311)을 위한 네트워크 위치(일례로, URL)를 포함하는 링크가 설정될 수 있으며, 수신자의 선택에 따라 수신자 단말(320)은 해당 네트워크 위치에 저장된 동영상 1(311)을 메신저 서버(330)로 요청할 수 있다.
12) 수신측 요청에 따라 동영상 1(311) 전송
메신저 서버(330)는 수신자 단말(320)로부터의 요청에 따라 해당 동영상 1(311)을 수신자 단말(320)로 전송할 수 있다.
13) 동영상 1(311) 다운로드 및 표시
수신자 단말(320)은 메신저 서버(330)로부터 동영상 1(311)을 다운로드 받아서 화면에 표시할 수 있다. 도 3에서는 수신자 단말(320)의 화면에 대화방을 통해 동영상 1(311)이 표시된 예를 나타내고 있다. 이때, 수신자는 네트워크 상황이 '나쁨'이라 하더라도 송신자가 동영상 1(311)을 전송하였음을 동영상 1(311)의 수신 전에 이미 알고 있으며, animated GIF 파일 a(321)를 통해 대략적인 내용을 미리 확인할 수 있게 된다.
앞서 도 3의 실시예에서는 메신저 서버(330)가 송신자 단말(310)과 수신자 단말(320)간의 메시지의 전달을 중계하는 예를 설명하였으나, 메신저 서버(330)는 중계를 위한 기능만을 수행하고, 실제 메시지의 전달은 송신자 단말(310)과 수신자 단말(320)간에 직접적으로 이루어질 수도 있다. 예를 들어, 메신저 서버(330)는 송신자 단말(310)이 animated GIF 파일 a(321)를 생성하여 직접 수신자 단말(320)로 전송하도록 하거나 또는 동영상 1(311)을 직접 수신자 단말(320)로 전송하도록 제어할 수도 있다. 이는 이후 설명되는 다른 실시예들에 대해서도 적용될 수 있다.
또한, 도 3에서는 메신저 서버(330)가 송신자 단말(310) 및 수신자 단말(320) 각각의 상황 정보를 수집하는 실시예를 설명하였으나, 실시예에 따라서는 송신자 단말(310) 및 수신자 단말(320) 각각이 상황 정보를 수집할 수도 있다. 예를 들어, 송신자 단말(310) 및 수신자 단말(320) 각각은 메신저 서버(330)와의 현재 네트워크 상황을 모니터링하여 다양한 멀티미디어 메시지의 전송 및/또는 수신이 적절한지 여부를 판단할 수 있으며, 평소 네트워크 상황에 대한 모니터링 결과를 이용하여 미래 시간에 대한 상황을 예측할 수도 있다. 이때, 메신저 서버(330)는 송신자 단말(310) 및 수신자 단말(320) 각각이 수집한 상황 정보를 분석하여 송신자 단말(310) 및 수신자 단말(320) 각각을 위한 멀티미디어 메시지의 전송 방식을 결정할 수 있다.
도 4는 본 발명의 일실시예에 있어서, 미리보기의 등급 및/또는 형식에 대한 예를 도시한 도면이다. 앞서 도 3을 통해 설명한 바와 같이 송신자 단말(310) 및/또는 메신저 서버(330)는 원본 데이터의 용량과 감상 시간을 줄이기 위한 용도로서 animated GIF 파일 a(321)와 같은 미리보기를 생성하여 수신자 단말(320)로 제공할 수 있다. 이러한 미리보기는 상황에 따라 여러 가지 등급 및/또는 형식으로 생성될 수 있다. 예를 들어, 미리보기는 동영상 2(410)의 경우, 원본 동영상 2(410)를 그대로 포함하는 제1 등급 미리보기, 동영상 2(410)에서 하이라이트 구간(420)을 추출하여 포함하는 제2 등급 미리보기, 동영상 2(410)에서 기설정된 수의 이미지들을 추출하여 생성되는 animated GIF 파일(430)을 포함하는 제3 등급 미리보기 및 동영상 2(410)에서 하나의 대표 이미지(440)를 추출하는 포함하는 제4 등급 미리보기와 같이, 상황에 따라 다양한 등급 및/또는 형식으로 생성될 수 있다. 예를 들어, 도 3에서는 네트워크 상황을 "좋음"과 "나쁨"의 두 가지 등급으로 분류하였으나, 네트워크 상황은 "좋음", "보통", "나쁨"이나 "제1 등급", "제2 등급", 제3 등급" 및 "제4 등급" 등과 같이 셋 이상의 등급으로 분류될 수도 있다. 또한, 이미 설명한 바와 같이 네트워크 상황뿐만 아니라, 수신자가 수신자 단말(320)을 사용중인지 여부, 수신자의 수신자 단말(320)에 대한 접근 가능성 및/또는 수신자의 수신자 단말(320)에 대한 사용 몰입 강도 등과 같이 다양한 사용자 상황 정보들이 활용될 수 있으며, 이에 따라 결정 가능한 멀티미디어 메시지의 다양한 전송 방식들이 정의되어 활용될 수 있다. 이때, 미리보기의 등급 및/또는 형식이 멀티미디어 메시지의 전송 방식들에 따라 달라질 수 있다.
동영상에서 하이라이트 구간은 일례로 테마를 정하고, 정해진 테마에 따라서 신경망(neural network)로 영상을 학습시킨 후, 학습된 신경망에 기초하여 하이라이트를 추출하도록 하는 방식이나, SVM(Support Vector Machine)에 기반하여 동영상 서비스를 제공하는 사이트에서 테마별로 원본 동영상과 편집(edit)된 영상을 찾아서 비교하고, 영상 내에서 유사도가 높은 구간을 찾아 학습하는 방식 등과 같이 동영상에서 하이라이트 구간을 추출하기 위한 다양한 기술들 중 하나 이상을 활용하여 이루어질 수 있다.
한편, 동영상에 대한 미리보기로서 하이라이트를 생성하는 것은 메신저 서비스의 특성상 개인영상을 포함하는 멀티미디어 메시지가 다수 송수신되기 때문에 일반적인 상황과 다른 하이라이트 추출법을 통해 이루어질 수 있다. 예를 들어, 수신자의 관점에서 송신자나 수신자와 메신저 서비스에서 인적 관계가 설정된 다른 사용자들(수신자의 메신저 친구들)의 프로파일 사진에 기초한 얼굴인식을 통해 동영상에서 수신자의 친구 얼굴이 나오는 부분을 하이라이트 구간으로서 추출할 수 있다. 이 외에도 소리 및/또는 화면상의 흔들림을 이용하여 하이라이트 구간을 결정할 수도 있다. 예를 들어, 동영상에서 함성 소리나 고함 소리에 의해 음량이 급격히 커지는 시점을 기준으로 n 초의 구간을 하이라이트 구간으로 결정할 수 있다. 다른 예로, 동영상의 촬영자가 특정 사건의 발생에 따라 화면이 흔들리는 구간을 찾아서 화면이 흔들리기 직전부터 화면이 흔들린 후 다시 안정되기까지의 구간을 하이라이트 구간으로서 추출할 수도 있다.
한편, 도 4에서는 메신저 서버(330)가 미리보기를 생성하여 수신자 단말(320)로 제공하는 실시예를 설명하고 있으나, 실시예에 따라 송신자 단말(310)에서 미리보기를 생성하여 메신저 서버(330)를 통해 수신자 단말(320)로 제공할 수도 있다. 이러한 실시예의 차이는 단순히 미리보기의 생성 주체가 달라지는 것이 아니라, 송신자 단말(310) 및/또는 수신자 단말(320)의 네트워크 상황, 수신자 단말(320)의 사용 여부 등과 같은 사용자 상황을 고려하여 이루어질 수 있다. 예를 들어, 송신자 단말(310)에서의 네트워크 상황이 '나쁨'이고, 수신자 단말(320)에서의 네트워크 상황이 '나쁨'이며, 수신자가 현재 수신자 단말(320)을 사용 중인 경우, 송신자 단말(310)은 바로 원본 멀티미디어 데이터인 동영상 2(410)를 메신저 서버(330)로 업로드하는 것이 아니라, 미리보기를 생성하여 메신저 서버(330)로 업로드하여 수신자 단말(320)로 전송하고 순차적으로 동영상 2(410)를 메신저 서버(330)로 업로드하여 수신자 단말(320)로 전송할 수 있다. 이 경우, 수신자 단말(320)은 상대적으로 적은 용량인 미리보기를 통해 동영상 2(410)의 내용을 개략적으로 파악할 수 있게 되며, 동영상 2(410)에 대한 다운로드 여부 및 다운로드 시점을 결정할 수 있다. 이때, 수신자가 동영상 2(410)의 다운로드를 요청함에 따라 송신자 단말(310)에서 동영상 2(410)가 메신저 서버(330)로 업로드되고, 메신저 서버(330)를 통해 수신자 단말(320)로 제공될 수 있다.
도 5는 본 발명의 일실시예에 있어서, 미리보기의 등급 및/또는 형식의 다른 예를 도시한 도면이다. 미리보기는 음성녹음이나 음악과 같은 음원 1(510)의 경우, 원본 음원 1(510)를 그대로 포함하는 제1 등급 미리보기, 음원 1(510)에서 텍스트(520)를 추출하여 포함하는 제2 등급 미리보기 및 추출된 텍스트(520) 중 대표 텍스트(530)를 추출하여 포함하는 제3 등급 미리보기와 같이, 상황에 따라 다양한 등급 및/또는 형식으로 생성될 수 있다. 이러한 다양한 등급 및/또는 형식의 미리보기 역시 앞서 설명한 바와 같이 사용자 상황에 따라 메신저 서버(330) 또는 송신자 단말(310)에 의해 생성되어 수신자 단말(320)로 제공될 수 있다.
또한, 실시예에 따라 음원 1(510)에서 텍스트(520)를 추출하고, 텍스트(520)에서 대표 단어나 문장을 추출한 후, 음원 1(510)에서 대표 단어나 문장에 대응하는 구간만을 추출하여 편집된 음원을 미리보기로서 생성할 수도 있다.
송신자 단말(310)에서의 전송 이벤트 입력과 실제 멀티미디어 데이터의 전송은 개별적으로 취급될 수 있다. 예를 들어, 도 3에서는 동영상 메시지의 전송은 송신자에 의해 결정되는 반면, 동영상 1(311)의 업로드 시점은 메신저 서버(330)에서 결정되는 예를 설명하였다. 다시 말해, 원본 멀티미디어 데이터의 전송 시기는 서버에 의해 결정될 수 있다. 또한, 송신자 단말(310)은 메신저 서버(330)에 의해 결정되는 전송 방식에 따라 원본 멀티미디어 데이터가 아닌 미리보기 혹은 이벤트만을 전송할 수도 있다. 예를 들어, 송신자 단말(310)에서 원본 멀티미디어 데이터를 전송하는 방식은 메신저 서버(330)아래의 (1) 내지 (4) 중 하나로 결정될 수 있다.
(1) 원본 전송
송신자 단말(310)은 멀티미디어 메시지의 전송 시 멀티미디어 메시지가 포함하는 원본 멀티미디어 데이터를 바로 메신저 서버(330)로 업로드할 수 있다.
(2) 이벤트 전송
Figure 112018031508639-pat00001
원본 전송
송신자 단말(310)은 멀티미디어 메시지의 전송에 대한 이벤트만을 메신저 서버(330)로 전송할 수 있다. 이후, 송신자 단말(310)은 메신저 서버(330)로부터의 요청에 따라 원본 멀티미디어 데이터를 메신저 서버(330)로 업로드할 수 있다. 예를 들어, 도 3에서는 송신자 단말(310)이 멀티미디어 메시지의 전송 요청을 위한 신호(이벤트)를 메신저 서버(330)로 전송하고, 메신저 서버(330)로부터의 요청에 따라 원본 멀티미디어 데이터를 전송함을 설명한 바 있다.
(3) 미리보기 전송
Figure 112018031508639-pat00002
원본 전송
송신자 단말(310)은 전송하고자 하는 원본 멀티미디어 데이터에 대한 미리보기를 생성하여 메신저 서버(330)로 전송하고, 추후, 메신저 서버(330)로부터의 요청에 따라 원본 멀티미디어 데이터를 메신저 서버(330)로 업로드할 수 있다.
(4) 이벤트 전송
Figure 112018031508639-pat00003
미리보기 전송
Figure 112018031508639-pat00004
원본 전송
송신자 단말(310)은 멀티미디어 메시지의 전송에 대한 이벤트만을 메신저 서버(330)로 전송할 수 있다. 이후, 송신자 단말(310)은 메신저 서버(330)로부터의 요청에 따라 원본 멀티미디어 데이터에 대한 미리보기를 생성하여 메신저 서버(330)로 전송하고, 추후, 메신저 서버(330)로부터의 요청에 따라 원본 멀티미디어 데이터를 메신저 서버(330)로 업로드할 수 있다.
이때, 송신자 단말(310)이 미리보기를 생성하는 경우와 메신저 서버(330)가 미리보기를 생성하는 경우는 상황이 서로 상이하다. 예를 들어, 송신자 단말(310)에서의 네트워크 상황이 "좋음"인 경우, 송신자 단말(310)이 굳이 미리보기를 생성하여 메신저 서버(330)로 제공할 필요성은 없다. 반면, 송신자 단말(310)에서의 네트워크 상황이 "나쁨"인 경우, 가장 바람직한 상황은 네트워크 상황이 "좋음"으로 변경될 때까지 송신자 단말(310)에서 원본 멀티미디어 데이터의 업로드를 미루는 것이다. 이 경우, 송신자 단말(310)은 원본 멀티미디어 데이터 대신 메시지의 전송에 대한 이벤트나 미리보기를 생성하여 메신저 서버(330)로 전송함으로써, 원본 멀티미디어 데이터의 업로드를 미룰 수 있다. 이때, 수신자는 적어도 미리보기를 통해 원본 멀티미디어 데이터의 개략적인 내용을 확인한 후 선택적으로 원본 멀티미디어 데이터의 전송을 요청하기 때문에, 송신자 단말(310)은 네트워크 상황이 "나쁨"인 상황에서 원본 멀티미디어 데이터를 전송하지 않게 될 가능성이 증가한다. 또한, 송신자 단말(310)이 네트워크 상황이 "나쁨"인 상황에서 원본 멀티미디어 데이터를 전송하게 되더라도, 이미 미리보기가 수신자에게 전달되었기 때문에 멀티미디어 메시지의 전송에 대한 실시간성은 어느 정도 보장될 수 있다.
도 6은 본 발명의 일실시예에 있어서, 전송 데이터의 중복 전송 방지를 위한 과정의 예를 도시한 도면이다. 이하에서 '전송 데이터'는 멀티미디어 메시지, 원본 멀티미디어 데이터 및/또는 미리보기를 의미할 수 있다. 도 6에서는 송신자 단말 1(610)이 메신저 서버(330)를 통해 전송 데이터로서 식별자 'abc'에 의해 식별되는 동영상 a를 수신자 단말 1(620)로 전달한 상황을 고려한다. 도 6에서는 이미 전달된 동영상 a의 전송을 점선 화살표를 통해 나타내고 있다. 이때, 동영상 a는 메신저 서버(330)의 저장소(630)에도 일정 기간 저장될 수 있다.
이러한 상황에서 송신자 단말 1(610)이 동영상 a를 수신자 단말 2(620)로 전달하고자 할 수 있다. 이때, 송신자 단말 1(610)은 동영상들에 대한 전송 이력을 통해 동영상 a를 전송한 이력이 존재함을 확인할 수 있다. 이 경우, 송신자 단말 1(610)은 동영상 a를 재전송하는 것이 아니라, 동영상 a의 식별자 'abc'를 메신저 서버(330)로 전송할 수 있다. 메신저 서버(330)는 수신된 식별자 'abc'를 통해 저장소(630)를 검색하여 동영상 a를 식별할 수 있으며, 식별된 동영상 a를 수신자 단말 2(640)로 전송할 수 있다. 도 6에서는 식별자 'abc'를 이용한 동영상 a의 전달을 실선 화살표를 통해 나타내고 있다. 이 경우, 송신자 단말 1(610)가 동영상 a를 중복 전송하는 것을 방지할 수 있으며, 이러한 중복 전송의 방지를 통해 데이터 전송 비용을 줄일 수 있게 된다. 만약, 동영상 a에 대한 저장 기간이 지나서 동영상 a가 저장소(630)에서 삭제된 경우, 메신저 서버(330)는 식별자 'abc'를 이용하여 송신자 단말 1(610)로 동영상 a의 재전송을 요청할 수 있다.
이와 유사하게, 메신저 서버(330) 역시 수신자 단말 1(620)이나 수신자 단말 2(640)가 멀티미디어 메시지를 중복 수신함에 따르는 데이터 전송 비용을 줄일 수 있다.
도 7은 본 발명의 일실시예에 있어서, 전송 데이터의 중복 전송 방지를 위한 과정의 다른 예를 도시한 도면이다. 도 7에서는 메신저 서버(330)가 수신자 단말 1(620)로 전송 데이터를 중복 전송하는 것을 방지하기 위한 실시예를 설명한다. 이를 위해, 송신자 단말 1(610)의 송신자 1의 계정과 수신자 단말 1(620)의 수신자 1의 계정간에 설정된 통신세션에 대응하는 대화방 1이 존재한다고 가정한다. 또한, 송신자 단말 1(610)의 송신자 1의 계정과 수신자 단말 1(620)의 수신자 1의 계정, 수신자 단말 2(630)의 수신자 2의 계정 및 수신자 단말 3(710)의 수신자 3의 계정간에 설정된 통신세션에 대응하는 대화방 2가 더 존재한다고 가정한다.
송신자 단말 1(610)에서 대화방 1을 통해 식별자 'abc'에 의해 식별되는 동영상 a를 대화방 1의 수신자 단말 1(620)로 전송한 상황을 고려할 수 있다. 이 경우 동영상 a는 메신저 서버(330)를 통해 수신자 단말 1(620)로 전달될 수 있으며, 도 7에서는 이러한 과정을 점선 화살표를 통해 나타내고 있다. 이때, 동영상 a는 메신저 서버(330)가 포함하는 저장소(630)에 저장될 수 있다.
이후, 송신자 단말 1(610)이 대화방 2를 통해 식별자 'abc'에 의해 식별되는 동영상 a를 전달하고자 하는 상황을 고려할 수 있다. 이 경우, 도 6을 통해 설명한 바와 유사하게, 송신자 단말 1(610)은 동영상들에 대한 전송 이력을 통해 동영상 a를 전송한 이력이 존재함을 확인할 수 있으며, 동영상 a를 메신저 서버(330)로 재전송하는 것이 아니라, 동영상 a의 식별자 'abc'를 메신저 서버(330)로 전송할 수 있다. 이때, 메신저 서버(330)는 식별자 'abc'를 통해 저장소(630)에서 동영상 a를 식별할 수 있게 된다. 한편, 메신저 서버(330)는 식별된 동영상 a를 대화방 2에 참여한 수신자 1, 수신자 2 및 수신자 3의 단말들인 수신자 단말 1(620), 수신자 단말 2(640) 및 수신자 단말 3(710)로 각각 전달하고자 할 수 있다. 중복 전송의 방지를 위해, 메신저 서버(330)는 동영상들에 대한 전송 이력을 통해 이전에 동영상 a를 수신자 단말 1(620)로 전송했음을 확인할 수 있다. 이 경우, 메신저 서버(330)는 수신자 단말 2(640)와 수신자 단말 3(710)으로는 동영상 a를 전송하는 반면, 수신자 단말 1(620)로는 동영상 a의 식별자 'abc'를 전송할 수 있다. 식별자 'abc'를 수신한 수신자 단말 1(620)은 식별자 'abc'에 대응하는 동영상 a가 수신자 단말 1(620)에 저장되어 있는지 여부를 확인할 수 있으며, 동영상 a가 저장되어 있는 경우, 동영상 a를 대화방 2를 통해 표시함으로써, 동영상 a의 중복 전송이 방지될 수 있다. 반면, 동영상 a가 저장되어 있지 않은 경우, 수신자 단말 1(620)은 식별자 'abc'에 대응하는 동영상 a의 다운로드를 메신저 서버(330)로 요청할 수 있다.
한편, 도 6 및 도 7의 실시예에서는 사용자 상황과 상관 없이 원본 멀티미디어 데이터를 전송하는 실시예를 설명하였으나, 앞서 도 3 내지 도 5를 통해 설명한 바와 같이 사용자 상황에 따라 원본 멀티미디어 데이터의 전송 방식을 결정하는 과정에서 도 6 및 도 7의 실시예에서와 같은 중복 방지 방법이 추가적으로 활용될 수도 있다. 또한, 도 6 및 도 7에서는 동영상 a의 식별자 'abc'를 이용하였으나, 동영상 a를 전송하는데 이용된 메시지의 식별자가 활용될 수도 있다. 예를 들어, 미리보기를 전송하는데 사용된 메시지의 식별자를 통해 이미 전송되어 저장되어 있는 미리보기가 식별될 수도 있다.
메신저 서버(330)는 송신자 단말(310)과 수신자 단말(320) 각각의 다양한 상황을 고려하여 멀티미디어 메시지의 전송 방식(전송 내용(메시지 이벤트, 여러 등급 및/또는 형식의 미리보기, 원본 멀티미디어 데이터) 및/또는 전송 시점)을 결정하고, 결정되는 전송 내용 및/또는 전송 시점에 따라 송신자 단말(310)과 수신자 단말(320)간의 멀티미디어 메시지 송수신을 제어할 수 있다. 이때, 메신저 서버(330)는 다음 (a) 내지 (d)의 요소들을 고려할 수 있다.
(a) 송수신자의 현재 네트워크 상황 및/또는 예측된 미래의 네트워크 상황
예를 들어, 특정 단말의 네트워크 상황은 아래와 같은 정보들을 모니터링 및 기록함으로써 결정 및/또는 예측될 수 있다.
- 특정 단말이 와이파이(Wifi)와 모바일 네트워크 중 어느 무선 네트워크를 사용하고 있는 가에 대한 정보, 예를 들어 상기 정보는 안드로이드나 iOS 등과 같이 특정 단말의 운영체제에서 제공해주는 이벤트를 통해 얻어질 수 있다. 보다 구체적인 예로, 안드로이드와 같은 운영 체제의 경우 메소드 "ConnectivityManager"를 통해 무선 네트워크에 대한 사용 정보가 얻어질 수 있다.
- 특정 단말이 사용하는 무선 네트워크의 신호 세기에 대한 정보, 예를 들어 안드로이드와 같은 운영 체제의 경우 메소드 "WifiManager.getConnectionInfo()"를 통해 와이파이에서의 신호 세기에 대한 정보를 얻을 수 있다.
- 서버와의 커넥션을 통해 측정되는 데이터 속도, 예를 들어, 데이터 속도는 메신저 서버(330)와의 주기적인 메시지 교환에서 송신, 답신 간의 전송 속도, 지연시간(latency) 등을 측정함으로써 얻어질 수 있다.
(b) 수신자의 현재 수신자 단말(320)의 사용 여부 및/또는 예측된 미래의 사용 상황
(c) 수신자의 현재 수신자 단말(320)로의 접근 가능성 및/또는 예측된 미래의 접근 가능성
예를 들어, 수신자 단말(320)에 대한 사용 여부와 접근 가능성은 수신자 단말(320)의 사용 상황을 모니터링 및 기록함으로써 결정 및/또는 예측될 수 있다. 예를 들어, 화면의 온(On)/오프(Off) 상황, 화면잠금의 온(On)/오프(Off) 상황, 앱 실행상황 등에 대한 정보를 통해 수신자 단말(320)에 대한 사용 여부를 결정할 수 있다. 보다 구체적인 예로, 안드로이드와 같은 운영 체제의 경우 "LCD_ON", "LCD_OFF", "USER_PRESENT" 등의 이벤트를 통해 화면, 화면잠금의 온/오프 상황에 대한 정보를 얻을 수 있다. 또한, 얻어진 정보에 기초하여 수신자 단말(320)에 대한 현재 사용 상황을 결정할 수 있다. 예를 들어, 수신자 단말(320)의 사용 상황은 화면이 오프인 제1 사용 상황, 화면이 온이고 화면 잠금도 온인 제2 사용 상황, 화면이 온이고 화면 잠금이 오프인 제3 사용 상황 및 화면이 온이고 화면 잠금이 오프이며 앱을 사용중인 제4 사용 상황 중 어느 하나의 사용 상황으로 결정될 수 있다.
다른 예로, 수신자 단말(320)은 사용자가 기기를 사용하는 손을 감지할 수 있다. 예를 들어, 수신자 단말(320)은 가속도 센서와 자이로 센서를 이용하여 사용자가 모바일 기기를 사용하고 있는 손에 대한 정보를 제공할 수 있다. 예를 들어, '왼손', '오른손', '양손' 및 '거치' 중 하나의 상황에 대한 정보가 제공될 수 있다. '왼손'은 사용자가 왼손으로 모바일 기기를 들고 사용중임을, '오른손'은 사용자가 오른손으로 모바일 기기를 들고 사용중임을, '양손'은 사용자가 양손으로 모바일 기기를 들고 사용중임을, '거치'는 사용자가 모바일 기기를 들고 있지 않은 상황으로 사용중임을 각각 의미할 수 있다. 예를 들어, 한 손으로 기기를 조작하여 타이핑을 하는 경우, 가속도 센서 및/또는 자이로 센서를 통해, 기기의 중앙 축을 기준으로 어느 한쪽 방향으로의 흔들림 또는 진동이 두드러지는지, 및/또는 기기의 방향 (orientation, 즉, 가로인지 세로인지)를 파악할 수 있고, 이를 한 손 기기 사용 패턴과 관련된 기 저장된 데이터 군(data set)과 비교하여 어느 한 손으로 기기가 사용되고 있는지 또는 양손으로 사용되고 있는지를 결정할 수 있다.
또 다른 예로, 수신자 단말(320)은 수신자 단말(320)의 위치 정보를 감지할 수도 있다. 여기서의 위치 정보는 지리적 위치가 아닌, 사용자가 입고 있는 의류의 주머니 안, 사용자가 메고 있는 가방 안, 또는 외부 노출 등과 같은 위치 정보를 포함할 수 있다. 예를 들어, 모바일 기기는 가속도 센서, 조도 센서, 마이크 및 근거리 센서 등을 활용하여 모바일 기기의 위치 정보를 감지 및 제공할 수 있다.
또 다른 예로, 수신자 단말(320)은 수신자 단말(320)의 지리적 위치 정보를 감지할 수 있다. 예를 들어, 수신자 단말(320)은 GPS, WiFi 포지셔닝, 기지국 등 다양한 정보를 활용하여 모바일 기기의 현재 위도/경도 위치 정보와 같은 지리적 위치 정보를 획득 및 제공할 수 있다.
또 다른 예로, 수신자 단말(320)은 사용자의 이동 상황을 감지할 수 있다. 예를 들어, 이동 상황에 대한 예시는 '정지', '걷기', '뛰기', '버스', '지하철', '승용차' 및 '자전거' 중 어느 하나를 포함할 수 있다. 수신자 단말(320)은 GPS및 주변의 무선전화 망의 기지국 혹은 와이파이(WiFi) AP(Access Point)들의 정보를 통해 제공되는 모바일 기기의 지리적 위치(일례로, 위도/경도의 좌표)의 변화 또는 모바일 기기가 포함하는 가속도 센서의 측정값 등을 통해 모바일 기기의 이동 속도에 대한 정보를 얻을 수 있다. 또한, 모바일 기기는 얻어진 이동 속도 및/또는 모바일 기기가 포함하는 가속도 센서 및/또는 자이로 센서를 이용하여 측정되는 모바일 기기의 진동이나 진동의 패턴에 기초하여 사용자의 이동 상황에 대한 정보를 얻을 수 있다. 이러한 이동 속도나 이동 상황에 대한 정보를 획득하기 위한 기술은 일례로 'Google Activity Recognition API'와 같이 이미 알려진 기술들을 통해 통상의 기술자가 쉽게 이해할 수 있을 것이다.
이상에서 설명한 다양한 정보들은 수신자가 수신자 단말(320)에 현재 접근 가능한 상황인지 여부를 결정하는데 활용될 수 있다.
또한, 수신자 단말(320)의 사용 상황에 대한 기록에 기초하여 수신자 단말(320)에 대한 앞으로의 사용 가능성 예측할 수도 있다. 예를 들어, 수신자 단말(320)의 사용 상황에 대한 기록을 통해 딥 러닝(deep learning) 모델을 학습시키고, 현재 시간과 현재의 사용 상황에 기초하여 학습된 딥 러닝 모델을 통해 기설정된 시간(일례로, 1시간) 이후에 수신자가 수신자 단말(320)을 사용할 가능성(확률, 일례로 15%, 10% 등) 또는 수신자 단말(320)을 통해 앱(일례로, 메신저 어플리케이션)을 사용할 가능성을 예측할 수 있다.
(d) 수신자의 현재 수신자 단말(320)에 대한 사용 몰입 강도 및/또는 예측된 미래의 사용 몰입 강도
예를 들어, 수신자 단말(320)은 메신저 어플리케이션의 제어에 따라 앞서 설명한 수신자 단말(320)의 사용 상황에 대한 기록을 이용하여 현재 시점(현재의 요일 및/또는 시간대), 그리고 현재 장소에 따라 수신자가 얼마나 오래 수신자 단말(320)을 및/또는 메신저 어플리케이션을 사용하는가를 계산 및 기록할 수 있다. 이때, 수신자 단말(320)은 이러한 기록을 토대로 현재 사용자의 상황(시간과 장소)에 따라 얼마나 수신자 단말(320) 및/또는 메신저 어플리케이션의 사용에 몰입할 수 있는가에 대한 경향으로서, 상술한 사용 몰입 강도를 계산할 수 있다. 이러한 사용 몰입 강도는 사용 기간과 사용 빈도에 따른 복수의 등급으로 계산될 수 있다.
보다 구체적인 예로, 수신자 단말(320)은 테이블의 열과 행을 통해 각 칸마다 위치 및 시간대마다의 사용 시간의 평균과 사용 빈도의 평균을 기록할 수 있다. 이후, 수신자 단말은 예측하려는 상황(시간대, 위치)의 평균 기록을 사용하여 사용 몰입 강도를 계산할 수 있다. 예를 들어, 테이블의 행은 기설정된 시간(일례로, 15분) 간격의 시간들에, 열은 장소(일례로, 집, 회사, 자주 가는 식당이나 카페, 집과 회사간의 경로 등의 위치에 대한 위/경도 등의 좌표 등)에 각각 대응될 수 있다.
예를 들어, 수신자 단말(320)은 상술한 (a) 내지 (d)에 따른 상황(context) 정보를 생성하여 메신저 서버(330)로 제공할 수 있다. 이를 위해, 수신자 단말(320)은 현재 수신자의 수신자 단말(320)에 대한 사용 여부, 접근 가능성 및 사용 몰입 강도에 대한 값을 생성하여 메신저 서버(330)로 제공할 수 있다.
또한, 수신자 단말(320)은 수신자의 메시지 접근에 대한 이벤트를 메신저 서버(330)로 전송할 수 있다. 예를 들어, 수신자 단말(320)은 수신자가 수신자 단말(320)을 사용하고 있음에 대한 이벤트, 수신자가 수신자 단말(320)에서 메신저 어플리케이션을 사용하고 있음에 대한 이벤트, 수신자에게 대화방을 오픈함에 따라 수신자 단말(320)이 해당 멀티미디어 메시지를 노출하고 있음에 대한 이벤트, 수신자가 수신자 단말(320)을 통해 노출된 멀티미디어 메시지를 통해 원본 멀티미디어 메시지의 다운로드를 요청함에 대한 이벤트 등과 같이 수신자의 행위에 따른 단계적인 이벤트들을 메신저 서버(330)로 전송할 수 있다. 이때, 메신저 서버(330)는 이러한 단계적인 이벤트들을 활용하여 앞서 설명한 (b) 내지 (d)의 요소들을 결정할 수 있으며, 전송 방식(전송 내용 및/또는 전송 시점)의 결정에 활용할 수 있다.
또한, 수신자 단말(320)은 메신저 서버(330)의 결정에 따라, 수신자의 요구 없이도 원본 멀티미디어 데이터를 미리 다운로드할 수도 있다. 예를 들어, 수신자의 수신자 단말(320)에 대한 사용 몰입 강도가 낮더라도, 네트워크 상황이 좋은 경우, 수신자 단말(320)은 원본 멀티미디어 데이터를 메신저 서버(330)로부터 미리 다운로드받을 수 있다.
이처럼, 본 발명의 실시예들에서는 네트워크 상황, 단말의 사용 여부, 접근 가능성, 몰입 강도 등의 사용자 상황(context)에 기반하여 송신자가 보낸 멀티미디어 메시지의 원본 멀티미디어 데이터를 수신자가 수신하기 전에 메신저 서버(330)나 송신자 단말(310)이 생성하여 전달함에 따라 수신자가 해당 멀티미디어 메시지의 내용을 미리 알 수 있도록 도와줌으로써, 멀티미디어 메시지를 보다 효율적으로 표시할 수 있게 해준다. 미리보기는 앞서 설명한 바와 같이 원본 멀티미디어 데이터의 종류 및/또는 사용자 상황에 따라 다양한 등급 및/또는 형식으로 생성될 수 있다. 예를 들어, 동영상의 경우에는 일부 프레임들로 결합된 animated GIF 파일이 미리보기로서 생성될 수 있으며, 음성 녹음의 경우에는 음원에서 인식되는 텍스트가 미리보기로서 생성될 수 있다. 또한, 복수의 이미지들을 포함하는 사진 묶음에 대해서는 콜라쥬(일례로, 4x4 크기), 썸네일, 대표 사진 등이 미리보기로 생성될 수 있다. 예를 들어, 대표 사진의 선정은 사진을 분석하여 이미지적으로 독특한 사진을 선별하거나 및/또는 사용자의 취향을 반영하여 이루어질 수 있다. 멀티미디어 데이터로서 문서 파일이 전달되는 경우에는 문서의 제목이나 문서 내의 대표 문장 또는 문서 내부의 대표 이미지 등을 미리보기로서 추출할 수도 있다.
뿐만 아니라, 수신자는 앞서 설명한 미리보기를 통해 해당 멀티미디어 메시지의 내용을 개략적으로 파악할 수 있기 때문에 멀티미디어 메시지가 포함하는 원본 멀티미디어 데이터를 다운로드할 시점을 수신자가 직접 선택할 수 있게 된다. 예를 들어, 수신자 단말(320)이 속도가 빠른 와이파이(WiFi)에 연결되어 있고, 수신자가 현재 수신자 단말(320)을 사용하고 있는 경우에는 수신자 단말(320)이 수신자의 별도의 입력 없이도 원본 멀티미디어 데이터를 미리 다운로드함으로써, 수신자가 해당 멀티미디어 메시지의 전체 내용을 빠르게 볼 수 있도록 서비스할 수 있다. 반면, 수신자 단말(320)이 속도가 느린 3G 망에 연결되어 있고, 수신자가 현재 수신자 단말(320)을 사용하고 있는 경우, 수신자 단말(320)은 미리보기만을 다운로드하고, 수신자가 미리보기를 본 후 원본 멀티미디어 데이터의 다운로드 여부 및/또는 다운로드 시점을 직접 선택하도록 서비스할 수 있다. 또 다른 예로, 수신자 단말(320)이 속도가 느린 3G 망에 연결되어 있고, 수신자가 현재 수신자 단말(320)을 사용하고 있지 않는 경우, 수신자 단말(320)은 메시지 이벤트만을 수신하여 메시지가 수신되었음만을 수신자에게 알릴 수 있다. 이때, 수신자가 수신자 단말(320)을 사용하거나, 수신자 단말(320)이 속도가 빠른 와이파이에 연결되는 등과 같이 사용자 상황이 변경됨에 따라 수신자 단말(320)은 미리보기 및/또는 원본 멀티미디어 데이터를 다운로드할 수 있다. 보다 구체적인 예로, 수신자 단말(320)은 수신자가 수신자 단말(320)을 사용하기 시작함을 인지함에 따라 미리보기를 다운로드하여 제공함으로써, 수신자가 직접 원본 멀티미디어 데이터의 다운로드 여부 및/또는 다운로드 시점을 선택하도록 할 수 있다. 또는, 수신자 단말(320)은 수신자 단말(320)이 연결되는 네트워크가 3G 망에서 와이파이로 변경됨을 감지함에 따라 원본 멀티미디어 데이터를 다운로드할 수 있다.
또한, 송신자 단말(310)은 송신 이력이 있는 전송 데이터에 대해서는 전송 데이터의 식별자를 메신저 서버(330)로 전송함에 따라 동일한 전송 데이터의 재전송을 방지할 수 있다. 예를 들어, 송신자 단말(310)은 송신 이력이 있는 전송 데이터의 식별자를 메신저 서버(330)로 전송할 수 있으며, 메신저 서버(330)는 수신된 식별자의 전송 데이터가 메신저 서버(330)에 전송되어 있는지 여부를 확인할 수 있다. 이때, 수신된 식별자에 대응하는 전송 데이터가 메신저 서버(330)에 저장되어 있는 경우, 메신저 서버(330)는 송신자 단말(310)로부터 전송 데이터를 수신받는 대신 메신저 서버(330)에 저장된 전송 데이터를 이용하여 수신자 단말(320)로 멀티미디어 메시지를 제공할 수 있다. 만약, 해당 식별자에 대응하여 메신저 서버(330)에 저장된 전송 데이터가 존재하지 않는 경우, 메신저 서버(330)는 송신자 단말(310)로 해당 전송 데이터의 업로드를 요청할 수 있다. 이와 유사하게 메신저 서버(330)는 전송 데이터에 대한 전송 이력에 기초하여 수신자 단말(320)로 이미 전송했던 전송 데이터에 대해서는 전송 데이터의 식별자를 수신자 단말(320)로 제공함에 따라 수신자 단말(320)이 전송 데이터를 중복하여 다운로드하는 것을 방지할 수 있다. 이 경우, 메신저 서버(330)는 수신자 단말(320)로 전송하고자 하는 전송 데이터의 식별자를 수신자 단말(320)로 전송할 수 있다. 이때, 수신자 단말(320)은 전송된 식별자를 통해 해당 전송 데이터가 수신자 단말(320)에 저장되어 있는지 여부를 확인할 수 있다. 만약, 해당 전송 데이터가 수신자 단말(320)에 저장되어 있으면, 수신자 단말(320)은 저장된 전송 데이터를 이용하여 멀티미디어 메시지를 표시할 수 있다. 만약, 해당 전송 데이터가 수신자 단말(320)에 저장되어 있지 않으면, 수신자 단말(320)은 해당 식별자의 전송 데이터를 메신저 서버(330)로 요청할 수 있다.
또한, 이미 설명한 바와 같이, 송신자 단말(310)은 송신자 단말(310)의 네트워크 상황과 수신자 단말(320)의 네트워크 상황, 수신자의 수신자 단말(320)에 대한 사용 여부, 접근 가능성, 사용 몰입 강도 등과 같은 다양한 사용자 상황을 분석하여 그 분석 결과에 따라 서로 다른 전송 방식으로 멀티미디어 메시지를 전송할 수 있다. 예를 들어, 송신자 단말(310)에서의 네트워크 상황이 '좋음'이고, 수신자 단말(310)에서의 네트워크 상황이 '좋음'이며, 수신자가 수신자 단말(310)을 사용중인 경우, 송신자 단말(310)은 바로 원본 멀티미디어 데이터가 포함된 멀티미디어 메시지를 전송할 수 있다. 반면, 송신자 단말(310)에서의 네트워크 상황은 '좋음'이나, 수신자 단말(310)에서의 네트워크 상황이 '나쁨'이며, 수신자가 수신자 단말(310)을 사용중인 경우에는 원본 멀티미디어 데이터의 미리보기가 포함된 멀티미디어 메시지를 전송할 수 있다. 이때, 미리보기를 수신한 수신자가 원본 멀티미디어 데이터를 요구하는 경우, 메신저 서버(330)를 통해 이러한 요구가 송신자 단말(310)로 전달될 수 있으며, 이 시점에 송신자 단말(310)은 원본 멀티미디어 데이터를 메신저 서버(330)를 통해 수신자 단말(320)로 전송할 수 있다. 또 다른 예로, 송신자 단말(310)에서의 네트워크 상황이 '나쁨'이고, 수신자 단말(310)에서의 네트워크 상황이 '나쁨'이며, 수신자가 수신자 단말(310)을 사용하는 것이 '1시간 후'로 예측된 경우, 송신자 단말(310)은 단순히 메시지 이벤트만을 메신저 서버(330)를 통해 수신자 단말(310)로 전송할 수 있다. 이후, 송신자 및/또는 수신자의 사용자 상황의 변화에 따라 송신자 단말(310)은 미리보기나 원본 멀티미디어 데이터를 메신저 서버(330)를 통해 수신자 단말(320)로 전송할 수 있다. 앞서 설명한 바와 같이 전송 방식은 메신저 서버(330)에 의해 결정될 수 있다. 예를 들어, 메시지 이벤트만이 전송된 상황에서 메신저 서버(330)는 송신자 단말(310)과 수신자 단말(320)로부터 사용자 상황에 대한 정보를 수집할 수 있으며, 수집되는 사용자 상황의 변화에 따라 송신자 단말(310)로 미리보기나 원본 멀티미디어 데이터의 업로드를 요청할 수 있다.
메신저 서버(330)가 전송 방식(전송 내용과 전송 시기/시점)을 결정하는 추론 방법의 예를 설명한다. 예를 들어, 메신저 서버(330)는 전송 시급성과 내용 몰입도에 기반하여 전송 방식을 결정할 수 있다. 이때, 전송 시급성이 내용 몰입도에 우선하는 중요도를 가질 수 있다. 예를 들어, 수신자가 원본 멀티미디어 데이터를 직접 요청하는 경우에는 원본 멀티미디어 데이터의 내용이나 용량 등 다른 것들과 무관하게 바로 원본 멀티미디어 데이터를 수신자 단말(320)로 전송할 수 있다. 반면, 수신자에게 멀티미디어 메시지에 대한 이벤트가 노출되었으나, 수신자로부터 원본 멀티미디어 데이터에 대한 요청이 수신되지 않는다면, 원본 멀티미디어 데이터의 미리보기만을 전송할 수도 있다.
한편, 이러한 전송 시급성은 네트워크 상황에 비례할 수 있다. 예를 들어, 네트워크 상황이 "나쁨"인 경우 전송 시급성은 낮기 때문에, 가능한 한 원본 멀티미디어 데이터의 전송을 미룰 수 있다.
내용 몰입도는 앞서 설명한 수신자의 수신자 단말(320)에 대한 접근 가능성, 사용 여부 및/또는 사용 몰입 강도에 비례할 수 있다. 예를 들어, 수신자가 수신자 단말(320)을 손에 들고 있고, 메신저 어플리케이션을 사용하고 있으며, 현재 장소/시간에서 긴 시간동안 수신자 단말(320)을 사용한 이력이 있다면, 내용 몰입도는 최상의 값을 가질 수 있다. 이러한 전송 시급성과 내용 몰입도는 각각의 상황들로부터 계산될 수 있다. 예를 들어, 기계학습을 이용한 분류 방법들로서 확률을 사용하는 분류 모델이나 비확률적 분류 모델이 활용될 수 있다.
확률을 사용하는 분류 모델에서는 나이브 베이즈 분류(Naive Bayes Classification)가 활용될 수 있다. 나이브 베이즈 분류는 특성들 사이의 독립을 가정하는 베이즈 정리를 적용한 확률 분류기의 일종이다.
나이브 베이즈는 조건부 확률 모델로, 분류될 인스턴스들은 N 개의 특성 (종속변수)을 나타내는 벡터
Figure 112018031508639-pat00005
로 표현되며, 나이브 베이즈 분류기는 이 벡터를 이용하여 k개의 가능한 확률적 결과들(클래스)을 다음 수학식 1과 같이 할당한다.
Figure 112018031508639-pat00006
이러한 수학식 1은 특성 N의 수가 많은 경우나 하나의 특성이 많은 수의 값을 가질 수 있는 경우 확률 테이블에 베이지안 모델을 바로 적용하기 어려움이 있다. 그러므로, 위의 식은 베이즈 정리와 조건부 확률을 이용하여 다음 수학식 2와 같이 정리 가능하다.
Figure 112018031508639-pat00007
베이지안 확률 용어를 사용하여 위의 식은 다음 수학식 3으로도 표현 가능하다.
Figure 112018031508639-pat00008
여기서, 'posterior'는 사후 확률을, 'prior'는 사전확률을, 'likelihood'는 우도를, 'evidence' 관찰값을 각각 의미할 수 있다.
실제로, 위 수학식 3에서 분자 부분만이 의미가 있다. 분모 부분의 경우에는 주어진 C 값에 의존하지 않고, 특성들의 값 F i의 경우 분모의 값이 상수가 되도록 주어지기 때문이다. 분자 부분은 다음 수학식 4와 같은 결합확률 모델이다.
Figure 112018031508639-pat00009
이때, 수학식 4는 조건부 확률을 반복적으로 적용한 연쇄 법칙을 사용하여 다음 수학식 5와 같이 다시 쓸 수 있다.
Figure 112018031508639-pat00010
나이브 베이즈에서 조건부 독립성은 다음 수학식 6과 같이 표현될 수 있다.
Figure 112018031508639-pat00011
이때, 카테고리 종류 C가 주어질 경우, 어떤 특성 F i의 경우 모든 F j (j ≠? i)에 대해서 조건부 독립이다. 즉, 수학식 6은 j ≠? ik, l에 대해 성립하게 되며, 이를 바탕으로 결합 모델은 다음 수학식 7과 같이 표현될 수 있다.
Figure 112018031508639-pat00012
수학식 7은 독립성 가정 하에서 클래스 변수 C의 조건부 분포는 아래 수학식 8과 같이 표현될 수 있다.
Figure 112018031508639-pat00013
여기서 Z=p(x)는 특성값들이 주어진 경우 상수가 되는, 즉, x 1, …, x n에만 의존하는 스케일링 팩터이다.
나이브 베이즈 분류는 이러한 확률 모델과 결정 규칙을 조합한 것으로, 하나의 공통적인 규칙은 가장 가능성 높은 가설을 선택하는 것이다. 이것은 사후 또는 MAP 결정 규칙의 최대치를 선택하는 것이다. 즉 나이브 베이즈 분류에서는 클래스 k, 즉 C k 에 대해서 다음 수학식 9를 통해 최대 확률을 갖는 클래스 k를 찾아낸다.
Figure 112018031508639-pat00014
예를 들어, 메신저 서버(330)는 수집된 상황정보들(일례로, 송신자 단말(310) 및 수신자 단말(320) 각각의 네트워크 상황, 수신자 단말(320)에 대한 사용 여부, 사용 몰입 강도, 접근 가능성, 기기를 사용하는 손, 수신자 단말(320)의 위치 정보, 지리적 위치 정보 등)에 따른 상황이 독립사건임을 가정하고, 각각의 상황에 대한 이벤트 발생 횟수를 수집할 수 있다. 또한, 메신저 서버(330)는 이러한 이벤트 발생 횟수에 기반한 발생 확률을 계산할 수 있으며, 원하는 결과값에 대해서 개별 상황이 어떤 확률을 가지는 지에 대해 계산하여 이벤트 모델을 생성할 수 있다. 차후, 테스트를 위한 상황 이벤트를 입력하고 생성된 이벤트 모델을 통해 결과값을 추정할 수 있다.
한편, 비확률적 분류 모델로서는 서포트 벡터 머신(Support Vector Machine, SVM)이 활용될 수 있다. 서포트 벡터 머신은 기계 학습의 분야 중 하나로 패턴 인식, 자료 분석을 위한 지도 학습 모델이며, 주로 분류와 회귀 분석을 위해 사용한다. 두 카테고리 중 어느 하나에 속한 데이터의 집합이 주어졌을 때, SVM 알고리즘은 주어진 데이터 집합을 바탕으로 하여 새로운 데이터가 어느 카테고리에 속할지 판단하는 비확률적 이진 선형 분류 모델을 만든다. 만들어진 분류 모델은 데이터가 사상된 공간에서 경계로 표현되는데 SVM 알고리즘은 그 중 가장 큰 폭을 가진 경계를 찾는 알고리즘이다. SVM은 선형 분류와 더불어 비선형 분류에서도 사용될 수 있다. 비선형 분류를 하기 위해서 주어진 데이터를 고차원 특징 공간으로 사상하는 작업이 필요한데, 이를 효율적으로 하기 위해 커널 트릭을 사용하기도 한다.
메신저 서버(330)는 앞서 설명한 수집된 상황정보들이라는 데이터의 집합(데이터들의 벡터)이 어느 카테고리에 속할지를 연속적으로 분류함으로써, 데이터의 집합에 대응하는 상황(카테고리)으로서 전송 시급성과 내용 몰입도를 결정할 수 있으며, 결정된 상황에 따라 전송 방식(전송 내용과 전송 시기/시점)을 결정할 수 있다.
유사한 방법으로, 메신저 서버(330)는 수집된 상황정보들에 관한 미래 예측을 사용하여 미래의 전송 시급성과 내용 몰입도를 계산할 수도 있다. 예를 들어, 메신저 서버(330)는 1시간 후의 네트워크 상황, 접근 가능성, 사용 여부 등의 상황정보들을 예상하여 1시간 뒤의 전송 시급성과 내용 몰입도를 계산할 수 있다. 이 경우, 메신저 서버(330)는 현재의 전송 시급성과 내용 몰입도, 그리고 미래에 대해 예상되는 전송 시급성과 내용 몰입도에 대한 변화 예상 추이(일례로, 상승, 하락, 유지)를 통해 멀티미디어 메시지에 대한 전송 방식(전송 내용과 전송 시점)을 결정할 수 있다. 예를 들어, 메신저 서버(330)는 결정되는 전송 내용과 전송 시점에 따라 수신자 단말(320)로 현재는 멀티미디어 메시지에 대한 이벤트만을 전송하고, 상황의 변화가 발생되기 까지 1시간 동안은 대기 후 원본 멀티미디어 메시지를 전송할 수 있다. 다른 예로, 메신저 서버(330)는 송신자 단말(310)로 원본 멀티미디어 데이터에 대한 미리보기를 생성하여 전달하도록 하고, 수신자 단말(320)로는 멀티미디어 메시지에 대한 이벤트만을 전송하는 전송 방식을 선택할 수 있다. 또 다른 예로, 메신저 서버(330)는 송신자 단말(310)로부터는 원본 멀티미디어 데이터를 수신하고, 메신저 서버(330)에서 미리보기를 생성하여 수신자 단말(320)로 전송하며, 이후 수신자 단말(320)로부터의 원본 멀티미디어 데이터의 요청에 따라 메신저 서버(330)가 수신자 단말(320)로 원본 멀티미디어 데이터를 전송하는 전송 방식을 선택할 수도 있다.
도 8은 본 발명의 일실시예에 따른 메신저 서버의 멀티미디어 메시지 제공 방법의 예를 도시한 흐름도이다. 본 실시예에 따른 멀티미디어 메시지 제공 방법은 일례로, 앞서 설명한 메신저 서버(330)를 구현하는 컴퓨터 장치(200)에 의해 수행될 수 있다. 예를 들어, 컴퓨터 장치(200)의 프로세서(220)는 메모리(210)가 포함하는 운영체제의 코드나 적어도 하나의 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(220)는 컴퓨터 장치(200)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 장치(200)가 도 8의 멀티미디어 메시지 제공 방법이 포함하는 단계들(810 내지 840)을 수행하도록 컴퓨터 장치(200)를 제어할 수 있다. 도 8에서는 메신저 서버(330)가 단계들(810 내지 840)을 수행하는 과정을 설명한다.
단계(810)에서 메신저 서버(330)는 송신자 단말로부터 수신자 단말로의 멀티미디어 메시지의 전송 요청을 수신할 수 있다. 일례로, 송신자 단말과 수신자 단말은 앞서 설명한 송신자 단말(310) 및 수신자 단말(320)에 각각 대응될 수 있다. 일반적인 메신저 서비스에서는 송신자 단말이 단순히 원본 멀티미디어 데이터가 포함된 멀티미디어 메시지를 바로 메신저 서버(330)로 전송한다. 반면, 본 실시예에서는 송신자 단말에서의 원본 멀티미디어 데이터의 전송의 방식이 메신저 서버(330)로부터 결정되기 때문에, 원본 멀티미디어 데이터의 전송에 앞서 이러한 멀티미디어 메시지의 전송에 대한 요청을 메신저 서버(330)가 수신할 수 있다.
단계(820)에서 메신저 서버(330)는 송신자 단말 및 수신자 단말 각각으로부터 수집되는 상황 정보를 분석하여 상황을 결정할 수 있다. 수집되는 상황 정보는 일례로, 송신자 단말에서의 네트워크 상황, 수신자 단말에서의 네트워크 상황, 수신자의 수신자 단말에 대한 사용 여부, 접근 가능성, 사용 몰입 강도, 수신자의 명시적 입력에 따라 수신자 단말로부터 수신되는 원본 요청 중 둘 이상에 대한 정보를 포함할 수 있다. 이러한 개별적인 상황 정보들과 상황 정보들에 따라 결정되는 상황에 대해서는 이미 자세히 설명하였기에 반복적인 설명은 생략한다.
단계(830)에서 메신저 서버(330)는 결정된 상황에 따라, 멀티미디어 메시지가 포함하는 원본 멀티미디어 데이터에 대해, 송신자 단말로부터 수신되어야 할 데이터의 제1 종류 및 수신자 단말로 전송해야 할 데이터의 제2 종류를 결정할 수 있다. 예를 들어, 제1 종류의 데이터는 원본 멀티미디어 데이터 및 원본 멀티미디어 데이터에 대한 미리보기 중 어느 하나를 포함할 수 있다. 또한, 제2 종류의 데이터는, 멀티미디어 메시지의 전송에 대한 이벤트, 원본 멀티미디어 데이터 및 원본 멀티미디어 데이터에 대한 미리보기 중 어느 하나를 포함할 수 있다. 이때, 메신저 서버(330)에서 결정되는 적어도 하나의 상황에서 제1 종류의 데이터와 제2 종류의 데이터는 서로 상이한 데이터로 결정될 수 있다. 일례로, 도 3을 통해 설명한 바와 같이 메신저 서버(330)는 제1 종류의 데이터로서 송신자 단말로부터 원본 멀티미디어 데이터를 수신했으면서도 네트워크 상황이 '나쁨'인 수신자 단말을 위해 제2 종류의 데이터로서 원본 멀티미디어 데이터의 미리보기를 생성하여 수신자 단말로 전송할 수 있다. 다시 말해, 메신저 서버(330)는 결정되는 상황에 따라 송신자 단말로부터 수신하는 데이터와 수신자 단말로 전송하는 데이터가 서로 달라질 수 있다.
단계(840)에서 메신저 서버(330)는 원본 멀티미디어 데이터에 대해, 결정된 제1 종류의 데이터를 송신자 단말로부터 수신하고, 결정된 제2 종류의 데이터를 수신자 단말로 전송함으로써, 멀티미디어 메시지의 전송 요청을 처리할 수 있다. 이처럼, 메신저 서버(330)는 송신자 단말과 수신자 단말간에 원본 멀티미디어 데이터를 포함하는 멀티미디어 메시지를 전달함에 있어서, 송신자 단말과 수신자 단말로부터 수집되는 상황 정보에 따라 결정되는 상황에 따라 원본 멀티미디어 데이터에 대해 수신 및/또는 전송되는 데이터의 종류를 결정하여 전송함에 따라 멀티미디어 메시지에 대한 보다 효율적인 전송, 수신 및 표시가 가능해진다.
또한, 메신저 서버(330)는 수집되는 상황 정보의 변화에 따라 결정된 상황이 변경되는 경우, 변경된 상황에 따라 제1 종류 및 제2 종류 중 적어도 하나를 변경할 수 있다. 이 경우, 메신저 서버(330)는 송신자 단말로부터 변경된 제1 종류의 데이터를 더 수신하거나 또는 수신자 단말로 변경된 제2 종류의 데이터를 더 전송할 수 있다.
도 9는 본 발명의 일실시예에 있어서, 멀티미디어 메시지의 전송 요청을 처리하는 제1 예를 도시한 흐름도이다. 도 9의 단계들(910 내지 940)는 앞서 설명한 단계(840)에 포함되어 수행될 수 있다. 일례로 도 9의 실시예는 도 3을 통해 설명한 바와 같이, 송신자 단말의 네트워크 상황이 '좋음'이고, 수신자 단말의 네트워크 상황이 '나쁨'이며, 수신자의 수신자 단말에 대한 사용 여부가 '예'이고, 사용 몰입 강도가 '좋음'인 경우의 실시예일 수 있다. 다시 말해, 도 9의 실시예는 송신자 단말에 대해서는 전송 시급성이 높으며, 수신자 단말에 대해서는 전송 시급성은 낮으나 내용 몰입도가 높은 경우의 메신저 서버(330)의 동작의 예를 설명한다.
단계(910)에서 메신저 서버(330)는 송신자 단말로부터 제1 종류의 데이터로서 원본 멀티미디어 데이터를 수신 및 저장할 수 있다. 일례로, 도 3에서는 메신저 서버(330)가 결정한 전송 방식에 따라 송신자 단말이 원본 멀티미디어 데이터를 업로드하고, 이에 메신저 서버(330)가 업로드된 원본 멀티미디어 데이터를 수신 및 저장함을 설명한 바 있다.
단계(920)에서 메신저 서버(330)는 원본 멀티미디어 데이터에 대한 미리보기를 생성할 수 있다. 일례로, 도 4 및 도 5를 통해 동영상이나 음원과 같이 다양한 원본 멀티미디어 데이터들이 복수의 등급 및/또는 형식에 다른 미리보기들로 생성될 수 있음을 설명한 바 있다. 보다 구체적인 예로, 메신저 서버(330)에서 결정되는 상황은 상황에 따라 서브 상황들을 포함할 수 있으며, 이러한 서브 상황들마다 서로 다른 등급 및/또는 형식의 미리보기가 생성될 수 있다.
단계(930)에서 메신저 서버(330)는 생성된 미리보기를 제2 종류의 데이터로서 수신자 단말로 전송할 수 있다. 예를 들어, 도 3에서는 메신저 서버(330)가 송신자 단말로부터 원본 멀티미디어 데이터를 수신하였음에도 네트워크 상황이 '나쁨'인 수신자 단말을 위해 원본 멀티미디어 데이터가 아닌 원본 멀티미디어 데이터의 미리보기를 전송함을 설명한 바 있다.
단계(940)에서 메신저 서버(330)는 수신자 단말로부터의 미리보기에 기반한 원본 요청이 수신되어 상황이 변경됨에 따라 저장된 원본 멀티미디어 데이터를 변경된 제2 종류의 데이터로서 수신자 단말로 전송할 수 있다. 다시 말해, 메신저 서버(330)는 기존의 상황에 의해 수신자 단말로 미리보기를 전송하였으나, 수신자가 원본 멀티미디어 데이터를 요청함에 따라 상황이 변경되었기 때문에 변경된 상황에 맞게 원본 멀티미디어 데이터를 더 전송할 수 있다.
도 10는 본 발명의 일실시예에 있어서, 멀티미디어 메시지의 전송 요청을 처리하는 제2 예를 도시한 흐름도이다. 도 10의 단계들(1010 내지 1040)는 앞서 설명한 단계(840)에 포함되어 수행될 수 있다. 본 실시예는 송신자 단말의 네트워크 상황이 '나쁨'이고, 수신자 단말의 네트워크 상황이 '좋음'인 경우의 실시예일 수 있다. 다시 말해, 도 9의 실시예는 송신자 단말에 대해서는 전송 시급성이 낮으며, 수신자 단말에 대해서는 전송 시급성이 높은 경우의 메신저 서버(330)의 동작의 예를 설명한다.
단계(1010)에서 메신저 서버(330)는 송신자 단말로부터 제1 종류의 데이터로서 원본 멀티미디어 데이터에 대한 미리보기를 수신할 수 있다. 앞서 설명한 바와 같이, 송신자 단말에 대해서는 전송 시급성이 낮기 때문에 송신자 단말로부터 처음부터 원본 멀티미디어 데이터를 수신하기 보다 미리보기와 같이 용량이 상대적으로 작은 데이터를 먼저 수신할 수 있다.
단계(1020)에서 메신저 서버(330)는 미리보기를 제2 종류의 데이터로서 수신자 단말로 전송할 수 있다.
단계(1030)에서 메신저 서버(330)는 수신자 단말로부터의 미리보기에 기반한 원본 요청이 수신되어 상황이 변경됨에 따라 송신자 단말로부터 변경된 제1 종류의 데이터로서 원본 멀티미디어 데이터를 수신할 수 있다.
단계(1040)에서 메신저 서버(330)는 수신된 원본 멀티미디어 데이터를 변경된 제2 종류의 데이터로서 수신자 단말로 전송할 수 있다.
이때, 수신자 단말에서 원본 요청이 수신되는 것은 상황이 수신자 단말에 대해 전송 시급성이 최고로 높아졌음을 의미할 수 있다. 따라서, 비록 송신자 단말의 전송 시급성은 낮으나, 메신저 서버(330)는 수신자 단말의 전송 시급성을 우선시하여 송신자 단말로부터 원본 멀티미디어 데이터를 수신하여 수신자 단말로 전송할 수 있다.
도 11는 본 발명의 일실시예에 있어서, 멀티미디어 메시지의 전송 요청을 처리하는 제3 예를 도시한 흐름도이다. 도 11의 단계들(1110 내지 1140)는 앞서 설명한 단계(840)에 포함되어 수행될 수 있다. 본 실시예는 송신자 단말의 네트워크 상황이 '나쁨'과 같이 송신자 단말에 대해서는 전송 시급성이 낮고, 수신자 단말의 네트워크 상황이 '나쁨'이며, 수신자의 수신자 단말에 대한 사용 여부가 '아니오'이고, 사용 몰입 강도가 '나쁨'인 경우와 같이 수신자 단말에 대해서도 전송 시급성이 낮으며, 내용 몰입도 역시 낮은 경우의 실시예일 수 있다.
단계(1110)에서 메신저 서버(330)는 이벤트를 제2 종류의 데이터로서 수신자 단말로 전송할 수 있다. 송신자 단말은 이미 도 8의 단계(810)에서와 같이 멀티미디어 메시지의 전송 요청을 메신저 서버(330)로 전송하였기 때문에 이러한 이벤트를 송신자 단말로부터 수신할 필요는 없다. 한편, 메신저 서버(330)는 송신자로부터 멀티미디어 메시지의 전송이 요청되었음에 대한 알림 이벤트 정도만을 수신자 단말로 전송할 수 있다.
단계(1120)에서 메신저 서버(330)는 수신자 단말에 설치된 메신저 어플리케이션을 통해 이벤트가 노출됨을 인식할 수 있다. 이러한 이벤트의 노출의 인식은 수신자가 수신자 단말을 사용하고 있음을 의미할 수 있으며, 수신자측의 내용 몰입도가 높아지는 것과 같이 상황이 변화하였음을 의미할 수 있다.
단계(1130)에서 메신저 서버(330)는 인식에 응답하여 송신자 단말로부터 제1 종류의 데이터로서 원본 멀티미디어 데이터에 대한 미리보기 및 원본 멀티미디어 데이터 중 어느 하나의 데이터를 수신할 수 있다.
단계(1140)에서 메신저 서버(330)는 이벤트가 노출됨이 인식되어 상황이 변경됨에 따라 미리보기 및 원본 멀티미디어 데이터 중 어느 하나의 데이터를 변경된 제2 종류의 데이터로서 수신자 단말로 전송할 수 있다. 이때, 메신저 서버(330)는 송신자 단말로부터 미리보기를 수신하여 수신자 단말로 전송한 경우, 수신자 단말로부터의 미리보기에 기반한 원본 요청이 수신되어 상황이 추가 변경됨에 따라 송신자 단말로부터 변경된 제1 종류의 데이터로서 원본 멀티미디어 데이터를 수신할 수 있으며, 수신된 원본 멀티미디어 데이터를 추가 변경된 제2 종류의 데이터로서 수신자 단말로 전송할 수 있다.
즉, 메신저 서버(330)는 수신자측에서의 내용 몰입도가 높아짐에 따라 미리보기와 원본 멀티미디어 데이터 중 어느 하나를 송신자 단말로부터 수신하여 수신자 단말로 전송할 수 있다. 이때, 전송 시급성이 낮기 때문에 메신저 서버(330)는 가능한 경우, 미리보기를 먼저 수신자 단말로 전송한 후, 수신자로부터의 명시적인 요청에 따라 원본 멀티미디어 데이터를 수신자 단말로 제공할 수 있다.
이처럼, 본 발명의 실시예들에 따르면, 메신저 서버(330)는 사용자들의 다양한 상황에 따라 보다 효율적으로 멀티미디어 메시지를 전달할 수 있게 된다.
도 12는 본 발명의 일실시예에 있어서, 수신자 단말로 전송되는 데이터의 중복 전송 방지를 위한 예를 도시한 흐름도이다. 도 12의 단계들(1210 내지 1230)는 앞서 설명한 단계(840)에 포함되어 수행될 수 있으며, 실질적으로 도 8의 단계들(810 내지 840)과는 병렬적으로 메신저 서버(330)가 수신자 단말로 데이터를 전송하는 경우마다 수행될 수 있다.
단계(1210)에서 메신저 서버(330)는 수신자 단말로 기 전송된 데이터에 대한 전송 이력을 관리할 수 있다. 예를 들어, 메신저 서버(330)는 수신자 단말로 전송한 데이터의 종류나 식별자, 시간 등의 이력을 관리할 수 있다.
단계(1220)에서 메신저 서버(330)는 관리되는 전송 이력을 통해 제2 종류의 데이터가 수신자 단말로 전송된 이력이 존재하는지 확인하는 단계; 및
단계(1230)에서 메신저 서버(330)는 제2 종류의 데이터가 수신된 단말로 전송된 이력이 존재하는 경우, 제2 종류의 데이터의 식별자 또는 제2 종류의 데이터를 전송하는데 이용된 메시지의 식별자를 수신자 단말로 전송할 수 있다. 이때, 수신자 단말에서 데이터의 식별자 또는 메시지의 식별자를 통해 기 전송되어 수신자 단말에 저장된 데이터가 식별될 수 있다. 따라서, 메신저 서버(330)는 제2 종류의 데이터가 수신자 단말로 중복 전송되는 것을 방지할 수 있게 된다. 만약, 제2 종류의 데이터가 수신자 단말에 저장되어 있지 않은 경우에는 메신저 서버(330)가 수신자 단말로부터의 요청에 따라 제2 종류의 데이터를 수신자 단말로 전송할 수 있다. 앞서 도 6 및 도 7을 통해 이러한 데이터의 중복 전송 방지에 대한 예를 자세히 설명한 바 있다.
도 13은 본 발명의 일실시예에 따른 송신자 단말의 멀티미디어 메시지 제공 방법의 예를 도시한 흐름도이다. 본 실시예에 따른 멀티미디어 메시지 제공 방법은 일례로, 앞서 설명한 송신자 단말(310)을 구현하는 컴퓨터 장치(200)에 의해 수행될 수 있다. 예를 들어, 컴퓨터 장치(200)의 프로세서(220)는 메모리(210)가 포함하는 운영체제의 코드나 적어도 하나의 프로그램의 코드에 따른 제어 명령(instruction)을 실행하도록 구현될 수 있다. 여기서, 프로세서(220)는 컴퓨터 장치(200)에 저장된 코드가 제공하는 제어 명령에 따라 컴퓨터 장치(200)가 도 13의 멀티미디어 메시지 제공 방법이 포함하는 단계들(1310 내지 1330)을 수행하도록 컴퓨터 장치(200)를 제어할 수 있다. 도 13에서는 송신자 단말(310)이 단계들(1310 내지 1330)을 수행하는 과정을 설명한다.
단계(1310)에서 송신자 단말(310)은 수신자 단말로의 멀티미디어 메시지의 전송 요청을 메신저 서버로 전송할 수 있다. 여기서 메신저 서버는 앞서 설명한 메신저 서버(330)에 대응할 수 있다. 이미 설명한 바와 같이, 일반적인 메신저 서비스에서는 송신자측이 단순히 원본 멀티미디어 데이터가 포함된 멀티미디어 메시지를 바로 메신저 서버(330)로 전송한다. 반면, 본 실시예에서는 송신자 단말(310)에서의 원본 멀티미디어 데이터의 전송의 방식이 메신저 서버로부터 결정되기 때문에, 원본 멀티미디어 데이터의 전송에 앞서 이러한 멀티미디어 메시지의 전송에 대한 요청을 메신저 서버가 수신할 수 있다.
단계(1320)에서 송신자 단말(310)은 메신저 서버로 상황 정보를 전송할 수 있다. 일례로, 전송된 상황 정보는 송신자 단말(310)에서의 네트워크 상황에 대한 정보를 포함할 수 있다.
단계(1330)에서 송신자 단말(310)은 전송된 상황 정보 및 수신자 단말로부터 수신한 상황 정보를 분석하여 메신저 서버에 의해 결정되는 상황에 따라 메신저 서버가 요청하는 멀티미디어 메시지가 포함하는 원본 멀티미디어 데이터에 대한 제1 종류의 데이터를 메신저 서버로 전송할 수 있다. 여기서, 수신자 단말로부터 수신한 상황 정보는 수신자 단말에서의 네트워크 상황, 수신자의 수신자 단말에 대한 사용 여부, 접근 가능성, 사용 몰입 강도, 수신자의 명시적 입력에 따라 수신자 단말로부터 수신되는 원본 요청 중 적어도 하나에 대한 정보를 포함할 수 있다. 한편, 제1 종류의 데이터는 원본 멀티미디어 데이터 및 원본 멀티미디어 데이터에 대한 미리보기 중 어느 하나를 포함할 수 있고, 메신저 서버에서 상황에 따라 멀티미디어 메시지의 전송에 대한 이벤트, 원본 멀티미디어 데이터 및 원본 멀티미디어 데이터에 대한 미리보기 중 어느 하나로 결정되는 제2 종류의 데이터가 수신자 단말로 전송될 수 있다. 이때, 메신저 서버에서 결정되는 적어도 하나의 상황에서 제1 종류의 데이터와 제2 종류의 데이터는 서로 상이한 데이터로 결정될 수 있다.
한편, 이미 설명한 바와 같이, 전송된 상황 정보 및 수신자 단말로부터 수신한 상황 정보 중 어느 하나가 시간에 따라 변함에 따라 메신저 서버에서 결정되는 상황이 변경되는 경우, 변경된 상황에 따라 상기 제1 종류가 변경될 수 있다. 이 경우, 송신자 단말(310)는 변경된 제1 종류의 데이터를 메신저 서버로 더 전송할 수 있다.
또한, 송신자 단말(310)은 데이터의 중복 전송의 방지를 위해, 메신저 서버로 전송한 데이터에 대한 전송 이력을 관리할 수 있다. 이때, 송신자 단말(310)은 관리되는 전송 이력을 통해 제1 종류의 데이터가 메신저 서버로 전송된 이력이 존재하는지 확인할 수 있으며, 제1 종류의 데이터가 메신저 서버로 전송된 이력이 존재하는 경우, 제1 종류의 데이터의 식별자 또는 제1 종류의 데이터를 전송하는데 이용된 메시지의 식별자를 메신저 서버로 전송할 수 있다. 이 경우, 메신저 서버에서 데이터의 식별자 또는 메시지의 식별자를 통해 기 전송되어 메신저 서버에 저장된 데이터가 식별됨에 따라 제1 종류의 데이터에 대한 중복 전송이 방지될 수 있다.
도 13에서 생략된 내용은 앞서의 설명들을 참조할 수 있다.
이상에서와 같이, 본 발명의 실시예들에 따르면, 메신저 서비스에서 메시지의 송신자와 수신자 각각의 상황(context)에 기반하여 멀티미디어 메시지를 보다 효율적으로 전송, 수신 및/또는 표시할 수 있다.
이상에서 설명된 시스템 또는 장치는 하드웨어 구성요소, 소프트웨어 구성요소 또는 하드웨어 구성요소 및 소프트웨어 구성요소의 조합으로 구현될 수 있다. 예를 들어, 실시예들에서 설명된 장치 및 구성요소는, 예를 들어, 프로세서, 콘트롤러, ALU(arithmetic logic unit), 디지털 신호 프로세서(digital signal processor), 마이크로컴퓨터, FPGA(field programmable gate array), PLU(programmable logic unit), 마이크로프로세서, 또는 명령(instruction)을 실행하고 응답할 수 있는 다른 어떠한 장치와 같이, 하나 이상의 범용 컴퓨터 또는 특수 목적 컴퓨터를 이용하여 구현될 수 있다. 처리 장치는 운영 체제(OS) 및 상기 운영 체제 상에서 수행되는 하나 이상의 소프트웨어 어플리케이션을 수행할 수 있다. 또한, 처리 장치는 소프트웨어의 실행에 응답하여, 데이터를 접근, 저장, 조작, 처리 및 생성할 수도 있다. 이해의 편의를 위하여, 처리 장치는 하나가 사용되는 것으로 설명된 경우도 있지만, 해당 기술분야에서 통상의 지식을 가진 자는, 처리 장치가 복수 개의 처리 요소(processing element) 및/또는 복수 유형의 처리 요소를 포함할 수 있음을 알 수 있다. 예를 들어, 처리 장치는 복수 개의 프로세서 또는 하나의 프로세서 및 하나의 콘트롤러를 포함할 수 있다. 또한, 병렬 프로세서(parallel processor)와 같은, 다른 처리 구성(processing configuration)도 가능하다.
소프트웨어는 컴퓨터 프로그램(computer program), 코드(code), 명령(instruction), 또는 이들 중 하나 이상의 조합을 포함할 수 있으며, 원하는 대로 동작하도록 처리 장치를 구성하거나 독립적으로 또는 결합적으로(collectively) 처리 장치를 명령할 수 있다. 소프트웨어 및/또는 데이터는, 처리 장치에 의하여 해석되거나 처리 장치에 명령 또는 데이터를 제공하기 위하여, 어떤 유형의 기계, 구성요소(component), 물리적 장치, 가상 장치(virtual equipment), 컴퓨터 저장 매체 또는 장치에 구체화(embody)될 수 있다. 소프트웨어는 네트워크로 연결된 컴퓨터 시스템 상에 분산되어서, 분산된 방법으로 저장되거나 실행될 수도 있다. 소프트웨어 및 데이터는 하나 이상의 컴퓨터 판독 가능 기록매체에 저장될 수 있다.
실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예를 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 통상의 기술자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 이러한 기록매체는 단일 또는 수개 하드웨어가 결합된 형태의 다양한 기록수단 또는 저장수단일 수 있으며, 어떤 컴퓨터 시스템에 직접 접속되는 매체에 한정되지 않고, 네트워크 상에 분산 존재하는 것일 수도 있다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다.
이상과 같이 실시예들이 비록 한정된 실시예와 도면에 의해 설명되었으나, 해당 기술분야에서 통상의 지식을 가진 자라면 상기의 기재로부터 다양한 수정 및 변형이 가능하다. 예를 들어, 설명된 기술들이 설명된 방법과 다른 순서로 수행되거나, 및/또는 설명된 시스템, 구조, 장치, 회로 등의 구성요소들이 설명된 방법과 다른 형태로 결합 또는 조합되거나, 다른 구성요소 또는 균등물에 의하여 대치되거나 치환되더라도 적절한 결과가 달성될 수 있다.
그러므로, 다른 구현들, 다른 실시예들 및 청구범위와 균등한 것들도 후술하는 청구범위의 범위에 속한다.

Claims (20)

  1. 적어도 하나의 프로세서를 포함하는 컴퓨터 장치가 수행하는 멀티미디어 메시지 제공 방법에 있어서,
    상기 적어도 하나의 프로세서에 의해, 송신자 단말로부터 수신자 단말로의 멀티미디어 메시지의 전송 요청을 수신하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 송신자 단말로부터 수집되는 제1 상황 정보 및 상기 수신자 단말로부터 수집되는 제2 상황 정보를 분석하여 상황을 결정하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 결정된 상황에 따라, 상기 멀티미디어 메시지가 포함하는 원본 멀티미디어 데이터에 대해, 상기 송신자 단말로부터 수신되어야 할 데이터의 제1 종류 및 상기 수신자 단말로 전송해야 할 데이터의 제2 종류를 결정하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 상기 원본 멀티미디어 데이터에 대해, 상기 결정된 제1 종류의 데이터를 상기 송신자 단말로부터 수신하고, 상기 결정된 제2 종류의 데이터를 상기 수신자 단말로 전송함으로써, 상기 멀티미디어 메시지의 전송 요청을 처리하는 단계
    를 포함하는 멀티미디어 메시지 제공 방법.
  2. 제1항에 있어서,
    상기 수집되는 상황 정보는 상기 송신자 단말에서의 네트워크 상황, 상기 수신자 단말에서의 네트워크 상황, 수신자의 상기 수신자 단말에 대한 사용 여부, 접근 가능성, 사용 몰입 강도, 상기 수신자의 명시적 입력에 따라 상기 수신자 단말로부터 수신되는 원본 요청 중 둘 이상에 대한 정보를 포함하는 것을 특징으로 하는 멀티미디어 메시지 제공 방법.
  3. 제1항에 있어서,
    상기 제1 종류의 데이터는 상기 원본 멀티미디어 데이터 및 상기 원본 멀티미디어 데이터에 대한 미리보기 중 어느 하나를 포함하고,
    상기 제2 종류의 데이터는, 상기 멀티미디어 메시지의 전송에 대한 이벤트, 상기 원본 멀티미디어 데이터 및 상기 원본 멀티미디어 데이터에 대한 미리보기 중 어느 하나를 포함하고,
    상기 결정된 상황에서 상기 제1 종류의 데이터와 상기 제2 종류의 데이터는 서로 상이한 데이터로 결정되는 것을 특징으로 하는 멀티미디어 메시지 제공 방법.
  4. 제1항에 있어서,
    상기 적어도 하나의 프로세서에 의해, 상기 수집되는 상황 정보의 변화에 따라 상기 결정된 상황이 변경되는 경우, 상기 변경된 상황에 따라 상기 제1 종류 및 상기 제2 종류 중 적어도 하나를 변경하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 상기 송신자 단말로부터 상기 변경된 제1 종류의 데이터를 더 수신하거나 또는 상기 수신자 단말로 상기 변경된 제2 종류의 데이터를 더 전송하는 단계
    를 더 포함하는 것을 특징으로 하는 멀티미디어 메시지 제공 방법.
  5. 제1항에 있어서,
    상기 멀티미디어 메시지의 전송 요청을 처리하는 단계는,
    상기 송신자 단말로부터 상기 제1 종류의 데이터로서 상기 원본 멀티미디어 데이터를 수신 및 저장하는 단계;
    상기 원본 멀티미디어 데이터에 대한 미리보기를 생성하는 단계;
    상기 생성된 미리보기를 상기 제2 종류의 데이터로서 상기 수신자 단말로 전송하는 단계; 및
    상기 수신자 단말로부터의 상기 미리보기에 기반한 원본 요청이 수신되어 상황이 변경됨에 따라 상기 저장된 원본 멀티미디어 데이터를 변경된 제2 종류의 데이터로서 상기 수신자 단말로 전송하는 단계
    를 포함하는 멀티미디어 메시지 제공 방법.
  6. 제1항에 있어서,
    상기 멀티미디어 메시지의 전송 요청을 처리하는 단계는,
    상기 송신자 단말로부터 상기 제1 종류의 데이터로서 상기 원본 멀티미디어 데이터에 대한 미리보기를 수신하는 단계;
    상기 미리보기를 상기 제2 종류의 데이터로서 상기 수신자 단말로 전송하는 단계;
    상기 수신자 단말로부터의 상기 미리보기에 기반한 원본 요청이 수신되어 상황이 변경됨에 따라 상기 송신자 단말로부터 변경된 제1 종류의 데이터로서 상기 원본 멀티미디어 데이터를 수신하는 단계; 및
    상기 수신된 원본 멀티미디어 데이터를 변경된 제2 종류의 데이터로서 상기 수신자 단말로 전송하는 단계
    를 포함하는 멀티미디어 메시지 제공 방법.
  7. 제1항에 있어서,
    상기 멀티미디어 메시지의 전송 요청을 처리하는 단계는,
    상기 멀티미디어 메시지의 전송에 대한 이벤트를 상기 제2 종류의 데이터로서 상기 수신자 단말로 전송하는 단계;
    상기 수신자 단말에 설치된 메신저 어플리케이션을 통해 상기 이벤트가 노출됨을 인식하는 단계; 및
    상기 인식에 응답하여 상기 송신자 단말로부터 상기 제1 종류의 데이터로서 상기 원본 멀티미디어 데이터에 대한 미리보기 및 상기 원본 멀티미디어 데이터 중 어느 하나의 데이터를 수신하는 단계;
    상기 이벤트가 노출됨이 인식되어 상황이 변경됨에 따라 상기 미리보기 및 상기 원본 멀티미디어 데이터 중 어느 하나의 데이터를 변경된 제2 종류의 데이터로서 상기 수신자 단말로 전송하는 단계
    를 포함하는 멀티미디어 메시지 제공 방법.
  8. 제7항에 있어서,
    상기 어느 하나의 데이터를 수신하여 상기 수신자 단말로 전송하는 단계는,
    상기 송신자 단말로부터 상기 미리보기를 수신하여 상기 수신자 단말로 전송한 경우, 상기 수신자 단말로부터의 상기 미리보기에 기반한 원본 요청이 수신되어 상황이 추가 변경됨에 따라 상기 송신자 단말로부터 변경된 제1 종류의 데이터로서 상기 원본 멀티미디어 데이터를 수신하는 단계; 및
    상기 수신된 원본 멀티미디어 데이터를 추가 변경된 제2 종류의 데이터로서 상기 수신자 단말로 전송하는 단계
    를 포함하는 것을 특징으로 하는 멀티미디어 메시지 제공 방법.
  9. 제1항에 있어서,
    상기 적어도 하나의 프로세서에 의해, 상기 수신자 단말로 기 전송된 데이터에 대한 전송 이력을 관리하는 단계;
    상기 적어도 하나의 프로세서에 의해, 상기 관리되는 전송 이력을 통해 상기 제2 종류의 데이터가 상기 수신자 단말로 전송된 이력이 존재하는지 확인하는 단계; 및
    상기 적어도 하나의 프로세서에 의해, 상기 제2 종류의 데이터가 상기 수신된 단말로 전송된 이력이 존재하는 경우, 상기 제2 종류의 데이터의 식별자 또는 상기 제2 종류의 데이터를 전송하는데 이용된 메시지의 식별자를 상기 수신자 단말로 전송하는 단계
    를 더 포함하고,
    상기 수신자 단말에서 상기 데이터의 식별자 또는 메시지의 식별자를 통해 기 전송되어 상기 수신자 단말에 저장된 데이터가 식별되는 것을 특징으로 하는 멀티미디어 메시지 제공 방법.
  10. 컴퓨터와 결합되어 제1항 내지 제9항 중 어느 한 항의 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램.
  11. 제1항 내지 제9항 중 어느 한 항의 방법을 컴퓨터에 실행시키기 위한 프로그램이 기록되어 있는 것을 특징으로 하는 컴퓨터에서 판독 가능한 기록매체.
  12. 컴퓨터와 결합되어 멀티미디어 메시지 제공 방법을 컴퓨터에 실행시키기 위해 컴퓨터 판독 가능한 기록매체에 저장된 컴퓨터 프로그램에 있어서,
    송신자 단말이 수신자 단말로의 멀티미디어 메시지의 전송 요청을 메신저 서버로 전송하는 단계;
    상기 송신자 단말이 상기 메신저 서버로 제1 상황 정보를 전송하는 단계; 및
    상기 전송된 제1 상황 정보 및 상기 수신자 단말로부터 상기 메신저 서버가 수신한 제2 상황 정보를 분석하여 상기 메신저 서버에 의해 결정되는 상황에 따라 상기 메신저 서버가 요청하는 상기 멀티미디어 메시지가 포함하는 원본 멀티미디어 데이터에 대한 제1 종류의 데이터를 상기 송신자 단말이 상기 메신저 서버로 전송하는 단계
    를 실행하는 기록매체에 저장된 컴퓨터 프로그램.
  13. 제12항에 있어서,
    상기 전송된 상황 정보는 상기 송신자 단말에서의 네트워크 상황에 대한 정보를 포함하고,
    상기 수신자 단말로부터 수신한 상황 정보는 상기 수신자 단말에서의 네트워크 상황, 수신자의 상기 수신자 단말에 대한 사용 여부, 접근 가능성, 사용 몰입 강도, 상기 수신자의 명시적 입력에 따라 상기 수신자 단말로부터 수신되는 원본 요청 중 적어도 하나에 대한 정보를 포함하는 것
    을 특징으로 하는 기록매체에 저장된 컴퓨터 프로그램.
  14. 제12항에 있어서,
    상기 제1 종류의 데이터는 상기 원본 멀티미디어 데이터 및 상기 원본 멀티미디어 데이터에 대한 미리보기 중 어느 하나를 포함하고,
    상기 메신저 서버에서 상기 상황에 따라 상기 멀티미디어 메시지의 전송에 대한 이벤트, 상기 원본 멀티미디어 데이터 및 상기 원본 멀티미디어 데이터에 대한 미리보기 중 어느 하나로 결정되는 제2 종류의 데이터가 상기 수신자 단말로 전송되고,
    상기 결정된 상황에서 상기 제1 종류의 데이터와 상기 제2 종류의 데이터는 서로 상이한 데이터로 결정되는 것
    을 특징으로 하는 기록매체에 저장된 컴퓨터 프로그램.
  15. 제12항에 있어서,
    상기 전송된 상황 정보 및 상기 수신자 단말로부터 수신한 상황 정보 중 어느 하나가 시간에 따라 변함에 따라 상기 메신저 서버에서 결정되는 상황이 변경되는 경우, 상기 변경된 상황에 따라 상기 제1 종류가 변경되고,
    상기 변경된 제1 종류의 데이터를 상기 메신저 서버로 더 전송하는 단계
    를 더 실행하는 것을 특징으로 하는 기록매체에 저장된 컴퓨터 프로그램.
  16. 제12항에 있어서,
    상기 메신저 서버로 전송한 데이터에 대한 전송 이력을 관리하는 단계;
    상기 관리되는 전송 이력을 통해 상기 제1 종류의 데이터가 상기 메신저 서버로 전송된 이력이 존재하는지 확인하는 단계; 및
    상기 제1 종류의 데이터가 상기 메신저 서버로 전송된 이력이 존재하는 경우, 상기 제1 종류의 데이터의 식별자 또는 상기 제1 종류의 데이터를 전송하는데 이용된 메시지의 식별자를 상기 메신저 서버로 전송하는 단계
    를 더 실행하고,
    상기 메신저 서버에서 상기 데이터의 식별자 또는 메시지의 식별자를 통해 기 전송되어 상기 메신저 서버에 저장된 데이터가 식별되는 것
    을 특징으로 하는 기록매체에 저장된 컴퓨터 프로그램.
  17. 컴퓨터 장치에 있어서,
    컴퓨터에서 판독 가능한 명령을 실행하도록 구현되는 적어도 하나의 프로세서
    를 포함하고,
    상기 적어도 하나의 프로세서에 의해,
    송신자 단말로부터 수신자 단말로의 멀티미디어 메시지의 전송 요청을 수신하고,
    상기 송신자 단말로부터 수집되는 제1 상황 정보 및 상기 수신자 단말로부터 수집되는 제2 상황 정보를 분석하여 상황을 결정하고,
    상기 결정된 상황에 따라, 상기 멀티미디어 메시지가 포함하는 원본 멀티미디어 데이터에 대해, 상기 송신자 단말로부터 수신되어야 할 데이터의 제1 종류 및 상기 수신자 단말로 전송해야 할 데이터의 제2 종류를 결정하고,
    상기 원본 멀티미디어 데이터에 대해, 상기 결정된 제1 종류의 데이터를 상기 송신자 단말로부터 수신하고, 상기 결정된 제2 종류의 데이터를 상기 수신자 단말로 전송함으로써, 상기 멀티미디어 메시지의 전송 요청을 처리하는 것
    을 특징으로 하는 컴퓨터 장치.
  18. 제17항에 있어서,
    상기 수집되는 상황 정보는 상기 송신자 단말에서의 네트워크 상황, 상기 수신자 단말에서의 네트워크 상황, 수신자의 상기 수신자 단말에 대한 사용 여부, 접근 가능성, 사용 몰입 강도, 상기 수신자의 명시적 입력에 따라 상기 수신자 단말로부터 수신되는 원본 요청 중 둘 이상에 대한 정보를 포함하는 것
    을 특징으로 하는 컴퓨터 장치.
  19. 제17항에 있어서,
    상기 제1 종류의 데이터는 상기 원본 멀티미디어 데이터 및 상기 원본 멀티미디어 데이터에 대한 미리보기 중 어느 하나를 포함하고,
    상기 제2 종류의 데이터는, 상기 멀티미디어 메시지의 전송에 대한 이벤트, 상기 원본 멀티미디어 데이터 및 상기 원본 멀티미디어 데이터에 대한 미리보기 중 어느 하나를 포함하고,
    상기 결정된 상황에서 상기 제1 종류의 데이터와 상기 제2 종류의 데이터는 서로 상이한 데이터로 결정되는 것을 특징으로 하는 컴퓨터 장치.
  20. 제17항에 있어서,
    상기 적어도 하나의 프로세서에 의해,
    상기 수집되는 상황 정보의 변화에 따라 상기 결정된 상황이 변경되는 경우, 상기 변경된 상황에 따라 상기 제1 종류 및 상기 제2 종류 중 적어도 하나를 변경하고,
    상기 송신자 단말로부터 상기 변경된 제1 종류의 데이터를 더 수신하거나 또는 상기 수신자 단말로 상기 변경된 제2 종류의 데이터를 더 전송하는 것
    을 특징으로 하는 컴퓨터 장치.
KR1020180036776A 2018-03-29 2018-03-29 메신저 서비스에서의 사용자 상황에 따른 효율적인 멀티미디어 메시지 제공 방법 및 시스템 KR102039995B1 (ko)

Priority Applications (4)

Application Number Priority Date Filing Date Title
KR1020180036776A KR102039995B1 (ko) 2018-03-29 2018-03-29 메신저 서비스에서의 사용자 상황에 따른 효율적인 멀티미디어 메시지 제공 방법 및 시스템
JP2019054294A JP7446716B2 (ja) 2018-03-29 2019-03-22 メッセンジャーサービスでユーザ状況に合わせて効率的にマルチメディアメッセージを提供する方法およびシステム
US16/367,853 US11489798B2 (en) 2018-03-29 2019-03-28 Methods and systems for providing efficient multimedia message depending on user context information in messenger service
CN201910246208.4A CN110324232B (zh) 2018-03-29 2019-03-29 基于即时通讯服务中的使用人员情况的有效的多媒体消息提供方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020180036776A KR102039995B1 (ko) 2018-03-29 2018-03-29 메신저 서비스에서의 사용자 상황에 따른 효율적인 멀티미디어 메시지 제공 방법 및 시스템

Publications (2)

Publication Number Publication Date
KR20190114288A KR20190114288A (ko) 2019-10-10
KR102039995B1 true KR102039995B1 (ko) 2019-11-04

Family

ID=68054018

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020180036776A KR102039995B1 (ko) 2018-03-29 2018-03-29 메신저 서비스에서의 사용자 상황에 따른 효율적인 멀티미디어 메시지 제공 방법 및 시스템

Country Status (4)

Country Link
US (1) US11489798B2 (ko)
JP (1) JP7446716B2 (ko)
KR (1) KR102039995B1 (ko)
CN (1) CN110324232B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IT201900000457A1 (it) * 2019-01-11 2020-07-11 Social Media Emotions S R L Sistema di messaggistica perfezionato
JP7157334B2 (ja) * 2019-02-18 2022-10-20 日本電信電話株式会社 メッセージ中継装置及び方法
US11429778B2 (en) * 2019-08-29 2022-08-30 Rovi Guides, Inc. Systems and methods for generating personalized content
US20220027020A1 (en) * 2020-07-27 2022-01-27 Digital Turbine, Inc. Dynamically replacing interactive content of a quick setting bar

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100874024B1 (ko) * 2007-09-18 2008-12-17 주식회사 온게임네트워크 대화형 콘텐츠를 중계하는 중계기, 방법 및 그 기록매체

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010044835A1 (en) 2000-05-17 2001-11-22 Schober Joseph Frank Selecting content to be communicated based on automatic detection of communication bandwidth
KR100529767B1 (ko) * 2003-07-30 2005-11-17 에스케이 텔레콤주식회사 Mm3 인터페이스를 통해 메시지 유니크를 보장하는mms 시스템 및 방법
KR100733603B1 (ko) 2004-11-03 2007-06-28 주식회사 씬멀티미디어 모바일 멀티미디어 인스턴트 메신저 서비스 시스템 및 그를 이용한 모바일 멀티미디어 메신저 서비스 방법
US8332475B2 (en) * 2005-08-22 2012-12-11 Triplay Communications Ltd. Messaging system and method
KR100693643B1 (ko) * 2005-09-08 2007-03-14 주식회사 팬택 망 상태 정보에 따른 동영상 용량 조절 기능을 가지는무선통신 단말기 및 그 방법
US8050660B2 (en) * 2006-03-07 2011-11-01 Motorola Mobility, Inc. Apparatus and method for handling messaging service message adaptation
WO2008048848A2 (en) * 2006-10-13 2008-04-24 Nms Communications Corporation Dynamic video messaging
CN101442664B (zh) * 2008-12-24 2011-09-21 中兴通讯股份有限公司 一种移动多媒体广播系统中预览节目的终端、系统及方法
US20120259926A1 (en) * 2011-04-05 2012-10-11 Lockhart Kendall G System and Method for Generating and Transmitting Interactive Multimedia Messages
KR101971624B1 (ko) * 2012-07-25 2019-04-23 삼성전자주식회사 이동 단말의 정보 표시 방법, 디스플레이 장치의 정보 제공 방법, 이동 단말의 제어 신호 생성 방법
US10649607B2 (en) 2012-12-28 2020-05-12 Facebook, Inc. Re-ranking story content
US10516636B2 (en) * 2014-01-01 2019-12-24 SlamAd.com, Inc. Real-time messaging platform with enhanced privacy
KR101774422B1 (ko) 2015-08-17 2017-09-05 네이버 주식회사 문자 메시지 송신 방법 및 시스템
CN105471758B (zh) * 2015-12-30 2019-10-11 广东威创视讯科技股份有限公司 一种基于网络堵塞的标注方法、装置及系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100874024B1 (ko) * 2007-09-18 2008-12-17 주식회사 온게임네트워크 대화형 콘텐츠를 중계하는 중계기, 방법 및 그 기록매체

Also Published As

Publication number Publication date
US11489798B2 (en) 2022-11-01
CN110324232A (zh) 2019-10-11
JP2019175450A (ja) 2019-10-10
JP7446716B2 (ja) 2024-03-11
KR20190114288A (ko) 2019-10-10
CN110324232B (zh) 2022-11-18
US20190306098A1 (en) 2019-10-03

Similar Documents

Publication Publication Date Title
US9705760B2 (en) Measuring affinity levels via passive and active interactions
KR102039995B1 (ko) 메신저 서비스에서의 사용자 상황에 따른 효율적인 멀티미디어 메시지 제공 방법 및 시스템
KR101969382B1 (ko) 메시지 활동 및 알림 값에 기초한 시각적 알림 파라미터의 조정
US9736636B1 (en) Geofence prioritization
JP6791569B2 (ja) ユーザプロファイル生成方法および端末
JP7119098B2 (ja) メッセージングサービス環境におけるユーザ状況の感知と、ユーザ状況に基づくメッセージングサービスとのインタラクション
KR20200014416A (ko) 위치 데이터가 포함된 컨텐츠를 이용한 추천 방법 및 그 시스템
JP2020509444A (ja) データ記憶及び呼出の方法及び装置
JP2017054507A (ja) 通信セッション上でイメージを利用して位置情報を提供する情報提供システムおよび方法
US10432571B2 (en) Automated connection of electronic messaging and social networking services method and apparatus
CN111949859B (zh) 用户画像更新方法、装置、计算机设备及存储介质
CN113326451A (zh) 用于推送信息的方法和装置

Legal Events

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