KR20180004093A - 인스턴트 메시징 동안의 미디어 콘텐츠의 전송 - Google Patents

인스턴트 메시징 동안의 미디어 콘텐츠의 전송 Download PDF

Info

Publication number
KR20180004093A
KR20180004093A KR1020177014666A KR20177014666A KR20180004093A KR 20180004093 A KR20180004093 A KR 20180004093A KR 1020177014666 A KR1020177014666 A KR 1020177014666A KR 20177014666 A KR20177014666 A KR 20177014666A KR 20180004093 A KR20180004093 A KR 20180004093A
Authority
KR
South Korea
Prior art keywords
url
media content
network
user terminal
retrieved
Prior art date
Application number
KR1020177014666A
Other languages
English (en)
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 KR20180004093A publication Critical patent/KR20180004093A/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/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/02Standardisation; Integration
    • H04L41/0246Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols
    • H04L41/0266Exchanging or transporting network management information using the Internet; Embedding network management web servers in network elements; Web-services-based protocols using meta-data, objects or commands for formatting management information, e.g. using eXtensible markup language [XML]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/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
    • 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/066Format adaptation, e.g. format conversion or compression
    • 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/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
    • H04L61/1582
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1089In-session procedures by adding media; by removing media
    • H04L65/601
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/756Media network packet handling adapting media to device capabilities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/457Network directories; Name-to-address mapping containing identifiers of data entities on a computer, e.g. file names

Abstract

통신 네트워크를 통하여 복수의 사용자 단말기들 사이에서 수행되는 인스턴트 메시징 통신 세션 동안 네트워크 엔티티에서 구현되는 방법으로서, 상기 방법은, 상기 사용자 단말기들 중 하나로부터의 요청 - 상기 요청은 상기 인스턴트 메시징 통신 세션 동안에 인스턴트 메시지에서 교환된 URL을 포함함 - 을 상기 통신 네트워크를 통하여 수신하는 단계; 상기 네트워크에 접속된 추가 네트워크 엔티티로부터 상기 URL과 연관된 미디어 콘텐츠를 검색하는 단계; 상기 네트워크에 접속된 데이터 저장소에 상기 검색된 미디어 콘텐츠를 저장하는 단계; 및 (i) 상기 검색된 미디어 콘텐츠가 저장된 데이터 저장소에서의 위치의 적어도 하나의 식별자; 및 (ii) 상기 검색된 미디어 콘텐츠 중 하나를 포함하는 응답을 상기 사용자 단말기로 전송하는 단계를 포함한다.

Description

인스턴트 메시징 동안의 미디어 콘텐츠의 전송{TRANSMITTING MEDIA CONTENT DURING INSTANT MESSAGING}
패킷 기반 통신 시스템은 퍼스널 컴퓨터와 같은 디바이스의 사용자가 인터넷 프로토콜(internet protocol, IP)과 같은 패킷 프로토콜을 사용하여 컴퓨터 네트워크를 통하여 통신할 수 있게 한다. 패킷 기반 통신 시스템은 다양한 유형의 통신 이벤트에 사용될 수 있다. 확립될 수 있는 통신 이벤트는 음성 통화, 화상 통화, 인스턴트 메시징, 음성 메일, 파일 전송 및 기타를 포함한다.
이러한 시스템은 고정 회선 또는 모바일 네트워크보다 종종 비용이 훨씬 적기 때문에 사용자에게 도움이 된다. 이것은 특히 장거리 통신의 경우일 수 있다. 패킷 기반 시스템을 사용하려면 사용자가 디바이스에 클라이언트 소프트웨어를 설치하고 실행한다. 클라이언트 소프트웨어는 등록 및 인증과 같은 다른 기능뿐만 아니라 패킷 기반 연결을 제공한다.
통신 시스템은 디바이스 사용자가 인터넷과 같은 컴퓨터 네트워크를 통하여 통신할 수 있게 한다. 확립될 수 있는 통신 이벤트는 음성 통화, 화상 통화, 인스턴트 메시지, 음성 메일, 파일 전송 및 기타를 포함한다.
인스턴트 메시징 통신 세션은 컴퓨터 네트워크를 통하여 컴퓨터 디바이스 사용자간에 채팅이 수행되도록 한다. 각 사용자는 필드에 텍스트를 입력하고 전송 버튼을 작동시켜 다른 사용자에게 전달되는 인스턴트 메시지를 작성할 수 있다.
(URL(uniform resource locator)의 형태로) 웹 사이트의 웹 주소가 발신자에 의해 인스턴트 메시지로 전송될 수 있는 것으로 알려져 있다. 수신자가 이 인스턴트 메시지를 수신하면 URL을 선택하고 싶어할 수 있으며, 그 웹 사이트로 다이렉트될 것이다. 보낸 사람이 인스턴트 메시징에서 비디오 호스팅 웹 사이트, 이미지 호스팅 웹 사이트, 소셜 미디어 웹 사이트 및 신문 기사 등에 대한 링크를 공유하는 것은 흔하다.
본 개시의 제1 양태에 따르면, 통신 네트워크를 통하여 복수의 사용자 단말기들 간에 수행되는 인스턴트 메시징 통신 세션 동안에 네트워크 엔티티에서 수행되는 방법에 있어서, 상기 단말기들 중 하나로부터의 요청 - 상기 요청은 상기 인스턴트 메시징 통신 세션 동안에 인스턴트 메시지에서 교환된 URL(uniform resource locator)를 포함함 - 을 상기 통신 네트워크를 통하여 수신하는 단계; 상기 네트워크에 접속된 추가 네트워크 엔티티로부터 상기 URL과 연관된 미디어 콘텐츠를 검색(retrieve)하는 단계; 상기 네트워크에 접속된 데이터 저장소에 상기 검색된 미디어 콘텐츠를 저장하는 단계; 및 (i) 상기 검색된 미디어 콘텐츠가 저장된 데이터 저장소에서의 위치의 적어도 하나의 식별자; 및 (ii) 상기 검색된 미디어 콘텐츠 중 하나를 포함하는 응답을 상기 사용자 단말기로 전송하는 단계를 포함하는 것인 네트워크 엔티티에서 수행되는 방법이 제공된다.
본 개시의 또 다른 양태에 따르면, 네트워크 엔티티에 있어서, 네트워크 인터페이스 및 모듈을 포함하고, 상기 모듈은, 통신 네트워크를 통한 사용자 단말기 및 적어도 하나의 추가 사용자 단말기 간에 수행되는 인스턴트 메시징 통신 세션 동안에 상기 사용자 단말기로부터 상기 통신 네트워크를 통하여 전송되는 요청 - 상기 요청은 상기 인스턴트 메시징 통신 세션 동안에 인스턴트 메시지에서 교환된 URL(uniform resource locator)를 포함함 - 을 상기 네트워크 인터페이스를 통하여 수신하고; 상기 네트워크에 접속된 추가 네트워크 엔티티로부터 상기 URL과 연관된 미디어 콘텐츠를 검색(retrieve)하고; 상기 네트워크에 접속된 데이터 저장소에 상기 검색된 미디어 콘텐츠를 저장하며; (i) 상기 검색된 미디어 콘텐츠가 저장된 데이터 저장소에서의 위치의 적어도 하나의 식별자; 및 (ii) 상기 검색된 콘텐츠 중 하나를 포함하는 응답을 상기 사용자 단말기로 전송하도록 구성되는 것인, 네트워크 엔티티가 제공된다.
본 개시의 또 다른 양태에 따르면, 통신 네트워크를 통하여 복수의 사용자 단말기들 간에 수행되는 인스턴트 메시징 통신 세션 동안에 네트워크 엔티티의 프로세서 상에서 수행될 때 본 명세서에 기술된 방법들 중 어느 한 항에 의한 방법을 수행하도록 구성된 비일시적 컴퓨터 판독 가능한 매체 상에 구현된 컴퓨터 프로그램 제품이 제공된다.
본 개시의 또 다른 양태에 따르면, 통신 네트워크를 통하여 적어도 하나의 추가 사용자 단말기와 수행되는 인스턴트 메시징 통신 세션 동안에 사용자 단말기에서 구현되는 방법에 있어서, 상기 사용자 단말기의 디스플레이에 상기 인스턴트 메시징 통신 세션 동안에 교환된 메시지를 디스플레이하는 단계; 상기 메시지가 URL을 포함한다는 것을 검출하는 단계; 상기 검출에 응답하여, 상기 통신 네트워크를 통하여 상기 URL을 포함하는 요청을 네트워크 엔티티에 자동으로 전송하는 단계; 상기 네트워크 엔티티로부터 응답을 수신하는 단계로서 상기 응답은 (i) 상기 URL과 연관된 미디어 콘텐츠가 저장된, 상기 네트워크에 접속된 데이터 저장소에서의 위치의 적어도 하나의 식별자; 및 (ii) 상기 URL과 연관된 미디어 콘텐츠 중 적어도 하나를 포함하는 것인, 상기 응답 수신 단계; 및 적어도 상기 URL과 연관된 미디어 콘텐츠에 따라 상기 디스플레이된 메시지를 수정하는 단계를 포함하는 사용자 단말기에서 구현되는 방법이 제공된다.
이 요약은 아래의 상세한 설명에서 더 자세히 설명되는 단순화된 형태의 개념을 소개하기 위해 제공된다. 이 요약은 청구된 주제의 주요 특징 또는 필수 특징을 식별하기 위한 것이 아니며, 청구된 주제의 범위를 제한하는 데 사용되려는 의도도 아니다.
본 개시를 좀 더 잘 이해하고, 어떻게 동일한 것이 실행될 수 있는지 보여주기 위하여, 이제 다음 도면들을 예로서 참조할 것이다.
도 1은 통신 시스템을 도시하고;
도 2는 사용자 단말기의 개략도이고;
도 3a는 미디어 콘텐츠를 디스플레이하기 위한 통신 클라이언트 애플리케이션에 의해 수행되는 프로세스를 위한 흐름도를 도시하고;
도 3b는 통신 클라이언트 애플리케이션에 웹 페이지 메타 데이터를 제공하기 위한 네트워크 엔티티에 의해 수행되는 프로세스를 위한 흐름도를 도시하고;
도 4는 통신 클라이언트 애플리케이션에 의해 제공되는 예시적인 클라이언트 사용자 인터페이스를 도시하며;
도 5a-e는 다양한 예시적인 실시 예에 따라 수정된 수신된 인스턴트 메시지를 디스플레이하는 클라이언트 사용자 인터페이스를 도시한다.
본 발명의 실시 예들은 단지 예로서 설명된다.
도 1은 사용자 단말기(102)와 연관된 제1 사용자(104)(사용자 A) 및 사용자 단말기(108)와 연관된 제2 사용자(110)(사용자 B)를 포함하는 통신 시스템(100)을 도시한다. 사용자 단말기들(102 및 108)은 통신 시스템(100)에서 통신 네트워크(106)를 통하여 통신할 수 있고, 이에 의해 사용자들(104 및 110)이 통신 네트워크(106)를 통하여 서로 통신할 수 있게 한다. 통신 네트워크(106)는 사용자 단말기(102)와 제2 사용자 단말기(108) 간에 통신 채널을 제공하는 능력을 가진 임의의 적절한 네트워크일 수 있다. 예를 들어, 통신 네트워크(106)는 인터넷이거나 3 세대(3rd generation, "3G") 모바일 네트워크와 같은 고속 데이터 모바일 네트워크(High data rate mobile network)와 같은 다른 유형의 네트워크일 수 있다.
대안적인 실시 예들에서, 사용자 단말기들은 도 1에 도시되지 않은 부가적인 중간 네트워크를 통하여 통신 네트워크(106)에 접속할 수 있음을 주목해야 한다. 예를 들어, 사용자 단말기(102)가 모바일 디바이스인 경우, 이는 셀룰러 모바일 네트워크(도 1에 도시되지 않음)를 통하여, 예를 들어, GSM 또는 UMTS 네트워크를 통하여 통신 네트워크(106)에 접속될 수 있다. 통신 네트워크(106)를 통하여 수행되는 인스턴트 메시징 통신에 참여하는 사용자 단말기들은 동일하거나 상이한 유형의 네트워크 접속을 통하여 네트워크(106)에 접속할 수 있다. 예를 들어, 사용자 단말기(102)는 Wi-Fi 접속을 통하여 통신 네트워크(106)에 접속할 수 있고, 사용자 단말기(108)는 셀룰러 모바일 네트워크(예를 들어 2G/3G/4G 등)를 통하여 통신 네트워크(106)에 접속할 수 있다.
사용자 단말기(102)는 예를 들어, 모바일 폰, PDA(personal digital assitant), 개인용 컴퓨터(personal computer, "PC")(예를 들어, WindowsTM, Mac OSTM 및 LinuxTM PC를 포함함), 태블릿 컴퓨터, 게임 디바이스 또는 통신 네트워크(106)에 접속할 수 있는 다른 임베디드 디바이스일 수 있다. 사용자 단말기(102)는 사용자 A(104)로부터 정보를 수신하고 사용자 A(104)에게 정보를 출력하도록 배치된다.
사용자 단말기(102)는 통신 시스템(100)과 관련된 소프트웨어 제공자에 의해 제공되는, 통신 클라이언트 애플리케이션(112)을 실행한다. 통신 클라이언트 애플리케이션(112)은 사용자 단말기(102) 내의 로컬 프로세서상에서 실행되는 소프트웨어 프로그램이다. 통신 클라이언트 애플리케이션(112)은 사용자 단말기(102)가 통신 시스템(100)을 통하여 데이터를 송수신하기 위해 사용자 단말기(102)에서 요구되는 처리를 수행할 수 있다. 사용자 단말기(102)에서 실행되는 통신 클라이언트 애플리케이션(112)은 (예를 들어, 사용자(104)가 통신 시스템의 진정한 가입자임을 증명하기 위해 - WO 2005/009019에 보다 상세히 설명됨) 디지털 인증서의 제시를 통하여 통신 시스템을 통하여 통신하도록 인증될 수 있다.
사용자 단말기(108)는 사용자 단말기(102)에 대응할 수 있다. 사용자 단말기(108)는 사용자 단말기(102)에서 실행되는 통신 클라이언트 애플리케이션(112)에 대응하는 통신 클라이언트 애플리케이션(114)을 로컬 프로세서상에서 실행한다. 사용자 단말기(102)에서의 통신 클라이언트 애플리케이션(112)이 사용자 A(104)가 네트워크(106)를 통하여 통신할 수 있게 하는 데 필요한 처리를 수행하는 것과 동일한 방식으로 사용자 단말기(108)에서의 통신 클라이언트 애플리케이션(114)은 사용자(110)가 네트워크(106)를 통하여 통신할 수 있게 하는 데 필요한 처리를 수행한다. 사용자 단말기들(102 및 108)은 통신 시스템에서의 엔드 포인트들이다. 도 1은 명확성을 위해 단지 2명의 사용자들(104 및 110) 및 2개의 사용자 단말기들(102 및 108)를 도시하지만, 더 많은 사용자 및 사용자 디바이스가 통신 시스템(100)에 포함될 수 있고, 당해 기술 분야에서 알려진 바와 같이, 각각의 사용자 디바이스상에서 실행되는 각각의 통신 클라이언트를 사용하여 통신 시스템(100)을 통해 통신할 수 있다.
인스턴트 메시징 통신 세션 동안 교환되는 메시지는 네트워크(106)를 통하여 전송된다. 위에서 언급한 소프트웨어 제공자와 연관된 네트워크 엔티티(예를 들어, 서버(116))가 네트워크(106)에 접속되고, 따라서, 서버(116)와 데이터를 교환하는 통신 클라이언트 애플리케이션은 바이러스, 멀웨어(malware), 스파이웨어 또는 기타 악성 코드에 노출되지 않을 것이다. 따라서, 서버(116)는 본 명세서에서 "신뢰성 있는 서버(trusted server)"로 지칭된다. 서버(116)는 통신 네트워크를 통한 데이터의 송신 및 수신을 위한 URL 미리 보기(preview) 모듈(117)(아래에서 보다 상세히 설명 됨) 및 네트워크 인터페이스(119)를 포함한다.
도 1에 도시된 바와 같이, 신뢰성 있는 서버(116)는 데이터를 저장하기 위한 데이터 캐시의 형태일 수 있는 메모리(118)에 접속된다. 도 1은 통신 네트워크(106) 내의 단일 서버(116) 및 단일 캐시(118)를 도시하고 있지만, 서버(116) 및 캐시(118)(이하에 보다 상세하게 설명됨)의 기능은 통신 네트워크(106)에 연결된 복수의 컴퓨팅 디바이스에 걸쳐, 예를 들어 "클라우드 컴퓨팅" 환경에서 분산될 수 있다. 캐시는 예를 들어 당업계에 공지된 바와 같이 콘텐츠 전달 네트워크(content delivery network, CDN)의 컴포넌트일 수 있다.
도 1은 통신 네트워크(106)에 접속된 다른 서버(120)를 도시한다. 서버(120)는 웹 페이지를 저장, 처리하고 클라이언트 디바이스에 전달하도록 구성된 웹 서버이다. 서버(120)는 위에서 언급된 소프트웨어 제공자와 관련이 없으므로 본 명세서에서 "제3자 서버(third party server)"라 칭한다. 명료성을 위해 하나의 제3자 서버(120)가 도 1에 도시되었지만, 많은 제3자 서버들이 통신 네트워크(106)에 접속될 수 있음을 당업자는 이해할 것이다.
도 2는 통신 시스템(100)을 통하여 통신하기 위한 통신 클라이언트 애플리케이션(114)이 실행되는 사용자 단말기(108)의 상세도를 도시한다. 사용자 단말기(108)는 중앙 처리 장치(central processing unit, "CPU")(202)를 포함하고, 여기에 접속된 스크린 또는 터치 스크린과 같은 디스플레이(204)를 포함하고, 키패드(206), 카메라(208), 터치 스크린(204)와 같은 입력 디바이스들을 포함한다. 출력 오디오 디바이스(210)(예를 들어, 스피커) 및 입력 오디오 디바이스(212)(예를 들어, 마이크로폰)는 CPU(202)에 연결된다. 도 2에 도시된 바와 같이 디스플레이(204), 키패드(206), 카메라(208), 출력 오디오 디바이스(210) 및 입력 오디오 디바이스(212)는 사용자 단말기(108) 내에 통합될 수 있다. 대안적인 사용자 단말기들에서는, 디스플레이(204), 키패드(206), 카메라(208), 출력 오디오 디바이스(210) 및 입력 오디오 디바이스(212) 중 하나 이상이 사용자 단말기(102) 내에 통합될 수 없고 각각의 인터페이스를 통하여 CPU(202)에 연결될 수 있다. 이러한 인터페이스의 한 예가 USB 인터페이스이다. CPU(202)는 통신 네트워크(106)와 통신하기 위해 모뎀과 같은 네트워크 인터페이스(224)에 접속된다. 네트워크 인터페이스(224)는 도 2에 도시된 바와 같이 사용자 단말기(108) 내에 통합될 수 있다. 대안적인 사용자 단말기들에서, 네트워크 인터페이스(224)는 사용자 단말기(108) 내에 통합되지 않는다. 사용자 단말기(108)는 또한, 당업계에 공지된 바와 같이 데이터를 저장하기 위한 메모리(226)를 포함한다. 메모리(226)는 ROM과 같은 영구 메모리 일 수 있다. 대안적으로, 메모리(226)는 RAM과 같은 임시 메모리 일 수 있다.
통신 클라이언트 애플리케이션(114)이 메모리(226)에 저장되고 CPU(202)상의 실행을 위해 배치된다는 점에서, 사용자 단말기(108)에 통신 클라이언트 애플리케이션(114)이 설치된다. 도 2는 또한 CPU(202) 상에서 실행되는 운영 체제(operating system, "OS")(214)를 도시한다. OS(214)의 상부에는 위에서 언급한 통신 클라이언트 애플리케이션(114)을 위한 소프트웨어 스택(216)이 실행되고 있다. 소프트웨어 스택은 I/O 계층(218), 클라이언트 엔진 계층(220) 및 클라이언트 사용자 인터페이스 계층(user interface, "UI")(222)을 도시한다. 각각의 계층은 특정 기능을 담당한다. 각각의 계층은 통상 2개의 다른 계층과 통신하기 때문에, 이들은 도 2에 도시된 바와 같이 스택으로 배열된 것으로 간주된다. 운영 체제(214)는 컴퓨터의 하드웨어 자원을 관리하고, 네트워크 인터페이스(224)를 통하여 통신 네트워크(106)와 데이터를 주고 받는 것을 핸들링한다. I/O 계층(218)은 오디오 및/또는 비디오 코덱을 포함하는데, 오디오 및/또는 비디오 코덱은 들어오는 인코딩된 스트림을 수신하고 스피커(210) 및/또는 디스플레이(204)로 출력하기 위해 이들을 적절히 디코딩하며, 마이크로폰(212) 및/또는 카메라(208)로부터 인코딩되지 않은 오디오 및/또는 비디오 데이터를 수신하고, 통신 시스템(100)의 다른 최종 사용자 단말기들에 스트림으로서 전송하기 위해 이들을 인코딩한다. 클라이언트 엔진 계층(220)은 호(calls) 또는 서버 기반이나 P2P 어드레스 룩업 및 인증에 의한 다른 접속을 설정하는 것과 같이, 전술한 바와 같은 VoIP 시스템의 접속 관리 기능을 핸들링한다. 클라이언트 엔진은 또한 여기에서 설명하지 않은 다른 2차 기능을 담당할 수도 있다. 클라이언트 엔진(220)은 또한 클라이언트 사용자 인터페이스 계층(222)과 통신한다. 클라이언트 엔진(220)은 디스플레이(204) 상에 디스플레이되는 통신 클라이언트 애플리케이션(114)의 사용자 인터페이스를 통하여 사용자 단말기(108)의 사용자에게 정보를 제시하고 사용자 인터페이스를 통하여 사용자 단말기(108)의 사용자로부터 정보를 수신하도록 클라이언트 사용자 인터페이스 계층(222)을 제어하도록 배치될 수 있다.
통신 네트워크(106)를 통하여 복수의 사용자 디바이스들 간의 통신 이벤트 동안 구현되는 방법이 이제 도 3a, 도 3b, 도 3c 및 다양한 실시예들에서 제시되는 예시적인 클라이언트 사용자 인터페이스를 도시하는 도 4, 도 5a, 도 5b, 도 5c, 도 5d, 도 5e를 참조하여 설명될 것이다.
본 개시의 실시예들은 인스턴트 메시징 대화에 참여하는 사용자 A(104) 및 사용자 B(110)를 참조하여 설명되어 있고, 이에 의해 인스턴트 메시징 통신 세션에서 제1 사용자 단말기(102) 및 제2 사용자 단말기(108) 사이에 메시지가 전송되고 수신된다.
인스턴트 메시징 대화 동안, 메시지는 사용자 B(110)로부터 수신된 메시지의 수신에 응답하여 새로운 메시지의 전송을 실시하는 사용자 A(104)와 양방향으로(즉, 제1 사용자 단말기(102)로부터 제2 사용자 단말기(108)로 그리고 그 반대 방향으로) 송신될 수 있고, 그 반대일 수 있다. 인스턴트 메시징 대화는 두 명보다 많은 사용자를 포함할 수 있으며, 대화 중에 이 사용자들 중 임의의 사용자 간에 인스턴트 메시지가 전송될 수 있다.
통신 세션의 메시지는 통신 네트워크(106)를 통하여 전송된다.
먼저, 제2 사용자 단말기(108)상에서 실행되는 통신 클라이언트 애플리케이션(114)에 의해 수행되는 프로세스(300)에 대한 흐름도인 도 3a를 참조한다.
단계(S302)에서, 통신 클라이언트 애플리케이션(114)은 제1 사용자 단말기(102)로부터 인스턴트 메시지를 수신하고, 단계(S304)에서, 통신 클라이언트 애플리케이션(114)은 수신된 메시지를 제2 사용자 단말기(108)의 디스플레이(204) 상에 디스플레이된 클라이언트 사용자 인터페이스에 디스플레이한다.
단계(S306)에서, 통신 클라이언트 애플리케이션(114)은 수신된 인스턴트 메시지가 URL을 포함하는지 여부를 결정하기 위해 수신된 인스턴트 메시지를 처리한다.
도 3에 도시된 바와 같이, 단계(S306)에서 수신된 인스턴트 메시지가 URL을 포함하지 않는다고 결정되면, 프로세스(300)는 종료한다.
도 4는 제2 사용자 단말기(108)의 디스플레이(204) 상에 디스플레이되는 통신 클라이언트 애플리케이션(114)에 의해 제공되는 예시적인 클라이언트 사용자 인터페이스를 도시한다. 클라이언트 사용자 인터페이스는, 인스턴트 메시징 통신 세션의 메시지로 전송될 것이지만 아직 전송되지 않은 사용자 B(110)에 의해 입력되는 텍스트를 디스플레이하도록 동작 가능하다. 특히, 클라이언트(114)는 클라이언트 사용자 인터페이스를 통하여 사용자 B(110)가 예를 들어 터치 스크린(204) 또는 키패드(206)를 사용하여 텍스트를 입력할 수 있는 메시지 필드(402)를 디스플레이한다. 클라이언트 사용자 인터페이스는 사용자 B(110)가 그런 텍스트를 입력한 후에 선택할 수 있는 선택 가능 전송 옵션(send option)(408)을 디스플레이한다. 이에 응답하여, 클라이언트(114)는 입력 텍스트를 포함하는 메시지를 생성하고 생성된 메시지를 통신 네트워크(106)를 통하여 제1 사용자 단말기(102)로 송신한다. 도 4에 도시된 바와 같이, 클라이언트 사용자 인터페이스는 인스턴트 메시징 통신 세션 동안 송신되고 수신되는 메시지들이 디스플레이되는 영역(406)을 포함한다.
도 4는 제1 사용자 단말기(102)로부터 제2 사용자 단말기(108)에 의해 수신된 3개의 인스턴트 메시지를 도시한다. 도 4에 도시된 바와 같이, 제3 인스턴트 메시지는 URL(410) "http://www.exampleurl.com"을 포함한다.
도 3a를 다시 참조하면, 단계(S306)에서 수신된 인스턴트 메시지가 URL을 포함한다고 결정되면, 프로세스(300)는 단계(S308)로 진행한다. 단계(S308)에서, 통신 클라이언트 애플리케이션(114)은 통신 네트워크(106)를 통하여 신뢰성 있는 서버(116)로 메타 데이터에 대한 요청을 전송하는데, 이 요청은 단계(S306)에서 검출된 URL을 지정한다.
신뢰성 있는 서버(116)상의 URL 미리 보기 모듈(117)에 의해 수행되는 프로세스(320)에 대한 흐름도인 도 3b를 이제 참조한다.
단계(S322)에서, URL 미리 보기 모듈(117)은 네트워크 인터페이스(119)를 통하여 메타 데이터에 대한 요청을 수신하고, 이 요청은 프로세스(S300)의 단계(S308)를 참조하여 전술한 통신 클라이언트 애플리케이션(114)에 의해 송신된 요청에 대응한다.
단계(S324)에서, URL 미리 보기 모듈(117)은 단계(S322)에서 수신된 요청에서 URL에 의해 식별된 콘텐츠를 이전에 분석하였는지 여부를 결정한다.
URL 미리 보기 모듈(117)이 단계(S324)에서 단계(S322)에서 수신된 요청에서 URL에 의해 식별된 콘텐츠를 이전에 분석하지 않았다고 결정하면, 프로세스는 단계(S326)로 진행한다.
단계(S326)에서, URL 미리 보기 모듈(117)은 URL에 의해 식별된 콘텐츠를 분석하여 URL과 연관된 메타 데이터를 결정한다. "메타 데이터"라는 용어는 본 명세서에서 제3자 미디어 콘텐츠와 관련된 데이터를 지칭하거나 제3자 미디어 콘텐츠를 설명하는 데 사용된다.
URL은 HTML 웹 페이지를 가리킬 수 있음을 이해할 것이다. 이 시나리오에서, 단계(S326)에서, URL 미리 보기 모듈(117)은 제3자 서버(120)와 통신하여 URL에 의해 식별된 웹 페이지의 HTML 페이지 소스 코드 텍스트를 다운로드하고, 다운로드된 HTML 페이지 소스 코드 텍스트에 대한 HTML 페이지 파싱 프로세스를 수행한다. URL 미리 보기 모듈(117)은 URL로 식별된 웹 페이지의 풀(full) HTML 페이지 소스 코드 텍스트 또는 (이미지, 비디오, 문서, 아카이브, 실행 파일 등으로의 직접 링크를 위한) URL 미리 보기 화상/썸네일을 준비하는데 요구되는 소스 코드 텍스트의 부분만을 다운로드할 수 있다. HTML 페이지 파싱 프로세스는 HTML 페이지 소스 코드 텍스트로부터 메타 데이터를 추출하는 것을 포함한다. HTML 페이지 파싱의 프로세스는 당업자에게 잘 알려져 있으므로 본 명세서에서는 상세히 설명하지 않는다.
URL은 콘텐츠(예를 들어, 이미지, 비디오, 아카이브, 문서 등)를 직접 가리킬 수 있음을 알 수 있다. 이 시나리오에서, 단계(S326)에서, URL 미리 보기 모듈(117)은 제3자 서버(120)와 통신하여 요청 내의 URL에 의해 액세스 가능한 콘텐츠를 다운로드한다. 일단 콘텐츠가 신뢰성 있는 서버(116)에 다운로드되면, URL 미리 보기 모듈(117)은 콘텐츠와 연관된 메타 데이터를 결정할 수 있다.
단계(S326)에서 결정된 메타 데이터는 분석된 URL을 포함하고, URL이 가리키는 콘텐츠 유형에 따라 다음 속성들 중 하나 이상을 포함할 수 있다 :
(i) 웹 페이지 제목 - 예를 들어 비디오 제목, 이미지, 텍스트 부분(예를 들어, 신문 기사).
(ii) 분석된 URL과 연관된 파비콘(favicon)(작은 아이콘)의 URL.
(iii) 분석된 URL이 가리키는 내용을 나타낼 수 있는 이미지의 URL.
(iv) 분석된 URL이 가리키는 콘텐츠(예를 들어, HTML 페이지임 그러나, 이미지, 비디오, 문서, 아카이브, 실행 파일일 수도 있음)에 대한 설명.
(v) 분석된 URL이 가리키는 콘텐츠 유형의 표시, 예를 들어, 웹 페이지의 텍스트 HTML, 웹 페이지에 디스플레이되는 이미지의 JPEG, 및 웹 페이지에서 재생할 수 있는 비디오의 MPEG-4.
(vi) 카테고리 - URL이 가리키는 콘텐츠의 분류를 제공한다. 이는 통신 클라이언트 애플리케이션에게 URL의 미리 보기를 제공하기 위해 어느 시각화 템플릿이 사용되어야 하는지 알린다.
(vii) 사용자 이름 - URL이 소셜 미디어 웹 페이지인 경우 적용 가능하다. 해당 웹 페이지의 데이터 소유자를 나타내며, 사용자 이름은 소유자가 소셜 미디어 계정에 로그인하기 위해 사용된다.
(viii) 사용자 사진 - URL이 소셜 미디어 웹 페이지인 경우 적용 가능하다. 웹 페이지의 데이터 소유자가 다른 사용자들에게 자신을 나타내기 위해 사용하는 이미지(예를 들어, 아바타)의 URL.
(ix) 프로필 이름 - URL이 소셜 미디어 웹 페이지인 경우 적용 가능하다. 웹 페이지의 데이터 소유자를 나타내므로 소유자가 프로필 이름을 사용하면 다른 사용자에게 자신을 식별할 수 있다.
(x) 생성 시간 - 콘텐츠가 생성된 이후의 시간을 나타낸다. 콘텐츠 생성 후 경과된 시간에 따라 이는 콘텐츠 생성의 정확한 시간을 지정하거나 콘텐츠 생성 이후 경과된 시간을 지정할 수 있다.
(xi) 크기 - 분석된 URL이 콘텐츠(예를 들어, 이미지, 비디오, 아카이브, 문서 등)를 직접 가리킬 때 적용되며 콘텐츠의 크기를 나타낸다.
(xii) 지속 기간 - 비디오 콘텐츠를 직접 가리키는 URL(예를 들어, 네트워크(106)의 저장 위치에 저장된 비디오 파일에 대한 직접 링크)에 적용 가능하고, 웹 페이지에서 재생할 수 있는 비디오의 길이를 나타낸다.
(xiii) 상태 코드 - URL 미리 보기 모듈(117)에 의해 제3자 서버(120)로 전송된 요청은 몇몇 이유들(예를 들어, 주어진 URL이 더 이상 유효하지 않고, 예를 들어 인증이 요구되어 액세스가 거부되었고, 사이트가 잘못된/오래된 SSL 인증서를 사용하는 경우)로 인해 실패할 수 있다. 이 특성은 URL 미리 보기 생성 실패의 이유에 대하여 통신 클라이언트 애플리케이션에게 알리는 데 사용된다.
(xiv) 가격 - URL이 온라인 판매점의 웹 페이지일 때 적용 가능하다.
URL 미리 보기 모듈(117)이 URL에 의해 식별된 콘텐츠를 분석하여 URL과 연관된 메타 데이터를 결정하면, 프로세스(320)는 단계(S330)로 진행하여 URL 미리 보기 모듈(117)이 (HTML 페이지 파싱 프로세스로부터 출력된) 추출된 메타 데이터를 서버(116)상의 메모리 및 캐시(118)(영구 저장 장치)에 저장한다.
URL이 HTML 웹 페이지를 가리키는 시나리오에서, URL 미리 보기 모듈(117)은 추출된 메타 데이터가 하나 이상의 추가적인 URL에 의해 액세스 가능한, 제3자 서버(120)에 의해 저장된 미디어 콘텐츠의 표시를 포함한다는 것을 URL의 추출된 메타 데이터로부터 결정할 수 있다. 추출된 메타 데이터가 하나 이상의 추가 URL에 의해 액세스 가능한 제3자 서버(120)에 의해 저장된 미디어 콘텐츠의 표시를 포함한다고 결정한 것에 응답하여, 단계(S332)에서 URL 미리 보기 모듈(117)은 추가 URL에서 액세스할 수 있는 콘텐츠에 액세스하기 위하여, 미디어 콘텐츠를 저장하는 제3자 서버(120)와 통신한다. 미디어 콘텐츠가 검색되면, URL 미리 보기 모듈(117)은 단계(S334)에서 미디어 콘텐츠를 캐시(118)에 저장한다.
URL이 콘텐츠를 직접 가리키는 시나리오에서, URL 미리 보기 모듈(117)이 단계(S326)의 일부로서 미디어 콘텐츠를 얻음에 따라, 단계(S332)는 수행되지 않음을 알 수 있을 것이다.
미디어 콘텐츠가 단계(S326) 또는 단계(S332)에서 검색되었는지 여부에 관계없이, 단계(S334)에서, URL 미리 보기 모듈(117)은 검색된 미디어 콘텐츠를 캐시(118)에 저장한다.
실시 예들에서, URL 미리 보기 모듈(117)은 제3자 서버(120)로부터 검색된 형태로 미디어 콘텐츠를 단계(S334)에서 캐시(118)에 저장할 수 있다.
단계(S336)에서, URL 미리 보기 모듈(117)은 단계(S334)에서 미디어 콘텐츠가 저장된 캐시(118) 내의 저장 위치의 표시를 전송한다. 단계(S336)에서, URL 미리 보기 모듈(117)은 단계(S326)에서 결정된 다른 메타 데이터를 추가적으로 전송할 수 있다.
단계(S324)를 다시 참조하면, URL 미리 보기 모듈(117)은 (단계(S322)에서 수신된 요청에서 식별된) URL을 포함하는 메타데이터가 서버(116) 상의 메모리에 저장되어 있는지 여부를 결정함으로써, 단계(S322)에서 수신된 요청 내의 URL에 의해 식별된 웹 페이지에 대한 HTML 페이지 파싱 프로세스를 이전에 수행했는지 여부를 결정할 수 있다는 것을 알 수 있다.
단계(S324)에서 URL 미리 보기 모듈(117)이 단계(S322)에서 수신된 요청 내의 URL에 의해 식별된 웹 페이지에 대한 HTML 페이지 파싱 프로세스를 이전에 수행하였다고 결정하면, URL 미리 보기 모듈(117)은 이전에 추출된 메타 데이터를 서버(116)상의 메모리로부터 검색하고, 그 후 프로세스(320)는 단계(S336)로 진행한다.
제2 사용자 단말기(108)상에서 실행되는 통신 클라이언트 애플리케이션(114)에 의해 수행되는 프로세스(300)(도 3a에 도시됨)를 다시 참조한다.
단계(S310)에서, 통신 클라이언트 애플리케이션(114)은 신뢰성 있는 서버(116)로부터 메타 데이터를 수신한다. 이 메타 데이터는 프로세스(S320)의 단계(S336)를 참조하여 전술한 URL 미리 보기 모듈(117)에 의해 전송된 메타 데이터에 대응한다.
단계(S311)에서, 통신 클라이언트 애플리케이션(114)은 신뢰성 있는 서버(116)로부터 수신된 메타 데이터가 하나 이상의 URL, 예를 들어, 파비콘의 URL, 비디오 또는 다른 이미지의 미리 보기 이미지의 URL 또는 사용자 사진의 URL에 의해 액세스 가능한 캐시(118) 내의 저장된 미디어 콘텐츠의 표시를 포함한다는 것을 검출한다.
단계(S312)에서, 단계(S311)에서 검출된 각각의 URL에 대해, 통신 클라이언트 애플리케이션(114)은 자동으로 (통신 클라이언트 애플리케이션(114)과 사용자의 상호 작용이 전혀 없이) 단계(S311)에서 검출된 URL을 포함하는 미디어 콘텐츠에 대한 요청을 캐시(118)로 전송한다.
단계(S314)에서, 통신 클라이언트 애플리케이션(114)은 단계(S312)에서 요청 된 캐시로부터의 미디어 콘텐츠를 수신한다.
단계(S316)에서, 통신 클라이언트 애플리케이션(114)은 URL의 미리 보기를 제공하기 위하여, 단계(S310)에서 수신된 메타 데이터 및 단계(S314)에서 수신된 미디어 콘텐츠 중 적어도 하나에 따라 단계(S304)에서 디스플레이된 인스턴트 메시지를 수정한다. 통신 클라이언트 애플리케이션(114)이 메타 데이터 및 미디어 콘텐츠를 디스플레이하는 방식은 통신 클라이언트 애플리케이션(114)에서 사전 구성된다.
상기에서 설명된 바와 같이, URL 미리 보기 모듈(117)은 제3자 서버(120)로부터 검색된 형태로 단계(S334)에서 미디어 콘텐츠를 캐시(118)에 저장할 수 있다. 발명자들은 이 미디어 콘텐츠가 높은 해상도를 가지고 있어 큰 데이터 크기를 가지므로 통신 클라이언트 애플리케이션(114)이 원래의 형태로 미디어 콘텐츠를 액세스하는 것은 적합하지 않을 수 있다는 것을 인식하였다. 예를 들어, 제2 사용자 단말기의 디스플레이(204)는 같은 크기(of a size)라는 사실 때문에, 이는 제한된 해상도로만 미디어 콘텐츠를 디스플레이할 수 있음을 의미하고, 및/또는 통신 네트워크를 통한 신뢰성 있는 서버(116)와 제2 사용자 단말기(118) 간의 네트워크 접속의 성능은 네트워크 접속의 낮은 데이터 레이트로 인해 부진한 성능을 초래할 것이다. 선택적으로, 신뢰성 있는 서버(116)는 이미지(들)를 스케일링하여 그 데이터 크기를 감소시킴으로써 미디어 콘텐츠를 캐시(118)에 저장하기 전에 미디어 콘텐츠를 최적화할 수 있다. 이 선택적 최적화는 제2 사용자 단말기(108)의 검출된 디바이스 성능들 및/또는 신뢰성 있는 서버(116)와 제2 사용자 단말기(108) 간의 네트워크 접속의 검출된 특성들에 기초할 수 있다.
통신 클라이언트 애플리케이션(114)은 단계(308)에서 신뢰성 있는 서버(116)에 전송된 메타 데이터에 대한 요청에서 제2 사용자 단말기(108)의 디바이스 성능들 및/또는 신뢰성 있는 서버(116)와 제2 사용자 단말기(108) 간의 네트워크 접속의 검출된 특성들을 식별할 수 있다.
제2 사용자 단말기(108)의 디바이스 성능들은 디스플레이(204)의 해상도, 제2 사용자 단말기(108)상에서 실행되는 통신 클라이언트 애플리케이션(114)의 버전 중 하나 이상을 포함할 수 있다. 신뢰성 있는 서버(116) 및 제2 사용자 단말기(108) 사이의 네트워크 접속의 특성은 네트워크 접속의 유형(예를 들어, Wi-Fi, 또는 GSM EDGE-Evolution, UMTS, LTE 등과 같은 모바일 접속), 네트워크 접속의 속도, 및 네트워크 접속의 레이턴시(latency) 중 하나 이상을 포함할 수 있다.
이제 다양한 실시 예들에 제시된 예시적인 클라이언트 사용자 인터페이스들을 도시하는 5a, 5b, 5c, 5d 및 5e를 참조한다.
도 5a는 수신된 IM 메시지에서 비디오 호스팅 웹 사이트 "http://www.exampleurl.com/video"의 URL을 검출하는 것에 응답하여 통신 클라이언트 애플리케이션(114)에 의해 제시되는 클라이언트 사용자 인터페이스를 도시한다.
도 5a의 예에서, 단계(S310)에서 신뢰성 있는 서버(116)로부터 수신되는 메타 데이터는 URL "http://www.exampleurl.com/video", 비디오의 제목, 비디오의 미리 보기 이미지의 캐시(118) 내의 저장 위치의 URL, 파비콘의 캐시(118) 내의 저장 위치의 URL을 포함한다. 전술한 실시 예들에 따르면, 통신 클라이언트 애플리케이션(114)은 파비콘에 대한 요청(이 요청은 수신된 메타 데이터에서 식별된 파비콘의 URL을 포함함)을 캐시(118)로 전송하고 미리 보기 이미지에 대한 요청(이 요청은 수신된 메타 데이터에서 식별된 썸네일 이미지의 URL을 포함함)을 캐시(118)에 전송한다. 이들 요청을 전송하는 것에 응답하여, 통신 클라이언트 애플리케이션(114)은 캐시(118)로부터 파비콘 및 썸네일 이미지를 수신한다.
통신 클라이언트 애플리케이션(114)은 수신된 메타 데이터 및 미디어 콘텐츠에 따라 클라이언트 사용자 인터페이스에 디스플레이되는 수신된 인스턴트 메시지를 수정한다.
도 5a에 도시된 바와 같이, 영역(501)에서, 수신된 인스턴트 메시지는 수신된 썸네일 이미지(502), 비디오 제목(503), URL(504) 및 수신된 파비콘(505)으로 대체된다. 도 5a에 도시된 바와 같이, 비디오 제목(503), URL(504), 및 수신된 파비콘(505)은 모두 디스플레이된 썸네일(502) 위에 중첩될 수 있다.
도 5b는 뉴스 웹 사이트 "http://www.exampleurl.com/news_story"의 URL을 검출하는 것에 응답하여 통신 클라이언트 애플리케이션(114)에 의해 제공되는 클라이언트 사용자 인터페이스를 도시한다.
도 5a의 예에서, 단계(S310)에서 신뢰성 있는 서버(116)로부터 수신된 메타 데이터는 URL "http://www.exampleurl.com/news_story", 신문 기사의 제목 및 파비콘의 캐시(118) 내의 저장 위치의 URL을 포함한다. 이 예에서, 수신된 메타 데이터는 신문 기사와 관련된 썸네일 이미지의 캐시(118) 내의 저장 위치의 URL을 포함하지 않는다. 전술한 실시 예들에 따르면, 통신 클라이언트 애플리케이션(114)은 파비콘에 대한 요청(이 요청은 수신된 메타 데이터에서 식별되는 파비콘의 URL을 포함함)을 캐시(118)로 전송한다. 이 요청의 전송에 응답하여 통신 클라이언트 애플리케이션(114)은 캐시(118)로부터 파비콘을 수신한다.
통신 클라이언트 애플리케이션(114)은 수신된 메타 데이터 및 미디어 콘텐츠에 따라 클라이언트 사용자 인터페이스에 디스플레이되는 수신된 인스턴트 메시지를 수정한다.
도 5b에 도시된 바와 같이, 영역(511)에서, 수신된 인스턴트 메시지는 URL "http://www.exampleurl.com/news_story"와 연관된 신문 기사 제목(513), URL(514) 및 수신된 파비콘(515)으로 대체된다.
도 5c는 수신된 IM 메시지에서 이미지 호스팅 웹 사이트의 URL "http://www.exampleurl.com/image"을 검출한 것에 응답하여 통신 클라이언트 애플리케이션(114)에 의해 제공되는 클라이언트 사용자 인터페이스를 도시한다.
도 5c의 예에서, 단계(S310)에서 신뢰성 있는 서버(116)로부터 수신된 메타 데이터는 URL "http://www.exampleurl.com/image", 이미지의 제목 및 파비콘의 URL, 및 URL "http://www.exampleurl.com/image"에 디스플레이된 이미지의 캐시(118) 내의 저장 위치의 URL을 포함한다. 전술한 실시 예들에 따르면, 통신 클라이언트 애플리케이션(114)은 파비콘에 대한 요청(이 요청은 수신된 메타 데이터에서 식별된 파비콘의 URL을 포함함)을 캐시(118)에 전송하고, 이미지에 대한 요청(이 요청은 수신된 메타 데이터에서 식별된 이미지의 URL을 포함함)을 캐시(118)에 전송한다. 이러한 요청들을 전송하는 것에 응답하여, 통신 클라이언트 애플리케이션(114)은 캐시(118)로부터 파비콘 및 썸네일 이미지를 수신한다.
통신 클라이언트 애플리케이션(114)은 수신된 메타 데이터 및 미디어 콘텐츠에 따라 클라이언트 사용자 인터페이스에 디스플레이되는 수신된 인스턴트 메시지를 수정한다.
도 5c에 도시된 바와 같이, 영역(521)에서 수신된 인스턴트 메시지는 URL "http://www.exampleurl.com/image"와 연관된 수신된 썸네일 이미지(522), 이미지의 제목(523), URL(524), 및 수신된 파비콘(525)으로 대체된다. 도 5c에 도시된 바와 같이, 이미지 제목(523), URL(524) 및 파비콘(525)은 모두 디스플레이된 썸네일(522)에 중첩될 수 있다.
도 5d는 수신된 IM 메시지에서 소셜 미디어 웹 사이트의 URL "http://www.exampleurl.com/bruno_noname/post"을 검출한 것에 응답하여 통신 클라이언트 애플리케이션(114)에 의해 제공되는 클라이언트 사용자 인터페이스를 도시한다.
도 5d의 예에서, 단계(S310)에서 신뢰성 있는 서버(116)로부터 수신된 메타 데이터는 URL "http://www.exampleurl.com/bruno_noname/post", 소셜 미디어 포스트의 이미지의 캐시(118) 내의 저장 위치의 URL, 파비콘의 캐시(118) 내의 저장 위치의 URL, 생성 시간, 프로파일 이름, 사용자 이름 및 사용자 사진의 캐시(118) 내의 저장 위치의 URL을 포함한다. 전술한 실시 예들에 따르면, 통신 클라이언트 애플리케이션(114)은 소셜 미디어 포스트의 이미지에 대한 요청(이 요청은 수신된 메타 데이터에서 식별된 소셜 미디어 포스트의 이미지의 URL을 포함함)을 캐시(118)에 전송하고, 파비콘에 대한 요청(이 요청은 수신된 메타 데이터에서 식별된 파비콘의 URL을 포함함)을 캐시(118)에 전송하고, 사용자 사진에 대한 요청(이 요청은 수신된 메타 데이터에서 식별된 사용자 사진의 URL을 포함함)을 캐시(118)에 전송하며, 소셜 미디어 포스트의 썸네일 이미지에 대한 요청을 전송한다. 이러한 요청들을 송신하는 것에 응답하여, 통신 클라이언트 애플리케이션(114)은 캐시(118)로부터 파비콘, 사용자 사진 및 썸네일 이미지를 수신한다.
통신 클라이언트 애플리케이션(114)은 수신된 메타 데이터 및 미디어 콘텐츠에 따라 클라이언트 사용자 인터페이스에 디스플레이되는 수신된 인스턴트 메시지를 수정한다.
도 5d에 도시된 바와 같이, 영역(531)에서 수신된 인스턴트 메시지는 소셜 미디어 포스트의 수신된 섬네일 이미지(532), URL(534), URL과 관련된 파비콘(535), 생성 시간(536), 프로파일 이름(537) , 사용자 이름(538) 및 수신된 사용자 사진(539)으로 대체된다.
도 5e는 수신된 IM 메시지에서 맵(map) 이미지를 디스플레이하는 웹 페이지의 URL을 검출한 것에 응답하여 통신 클라이언트 애플리케이션(114)에 의해 제공되는 클라이언트 사용자 인터페이스를 도시한다. 도 5e의 예에서, 단계(S310)에서 신뢰성 있는 서버(116)로부터 수신된 메타 데이터는 웹 페이지의 URL, 맵 이미지의 캐시(118) 내의 저장 위치의 URL, 및 URL에서의 웹 페이지에 디스플레이되는 맵 이미지의 제목(예를 들어, URL에서의 웹 페이지에 디스플레이되는 매핑 이미지에 도시된 어드레스 또는 위치)를 포함한다.
전술한 실시 예들에 따라, 통신 클라이언트 애플리케이션(114)은 맵 이미지에 대한 요청을 캐시(118)에 전송한다. 이 요청의 전송에 응답하여 통신 클라이언트 애플리케이션(114)은 캐시(118)로부터 맵 이미지를 수신한다.
통신 클라이언트 애플리케이션(114)은 수신된 메타 데이터 및 미디어 콘텐츠에 따라 클라이언트 사용자 인터페이스에 디스플레이되는 수신된 인스턴트 메시지를 수정한다. 도 5e에 도시된 바와 같이, 영역(541)에서 수신된 인스턴트 메시지는 맵 이미지의 섬네일 이미지(542) 및 맵 이미지의 제목(543)으로 대체된다.
단계(S306)에서 검출된 URL은 수정된 인스턴트 메시지에 여러 방식으로 디스플레이될 수 있다. 도 5b 및 도 5c에 도시된 바와 같이, 단계(S306)에서 검출된 전체 길이 URL은 수정된 인스턴트 메시지에 디스플레이될 수 있다. 다른 실시 예들에서, 통신 클라이언트 애플리케이션(114)은 도 5a에 도시된 바와 같이 수정된 인스턴트 메시지에서 검출된 URL의 도메인 명(도메인 + 도메인 접미사)만을 디스플레이하도록 구성된다. 다른 실시 예들에서, 통신 클라이언트 애플리케이션(114)은 도 5d에 도시된 수정된 인스턴트 메시지에서 검출된 URL의 도메인만을 디스플레이하도록 구성된다. 다른 실시 예들에서, 통신 클라이언트 애플리케이션(114)은 도 5e에 도시된 검출된 URL을 전혀 디스플레이하지 않도록(즉, 원래의 형태 또는 수정된 형태로 표시되지 않도록) 구성된다. 통신 클라이언트 애플리케이션(114)이 변경된 이미지에서 단계(S306)에서 검출된 URL을 디스플레이하는 방식은 통신 클라이언트 애플리케이션(114)의 소프트웨어 제공자에 의해 구성될 수 있다.
통신 클라이언트 애플리케이션(114)이 (i) 수신된 인스턴트 메시지 내의 URL에 의해 지시된 웹 페이지에 대한 메타 데이터 요청을 전송하고, (ii) 메타 데이터에서 식별된 미디어 콘텐츠를 검색하기 위해 캐시(118)에 요청을 전송하는 2단계 접근법(two-stage approach)을 참조하여 실시 예들이 위에서 설명되었다. 이러한 2단계 접근법은 임의의 웹 기반 통신 클라이언트 애플리케이션을 포함하는 임의의 통신 클라이언트 애플리케이션에 의해 지원될 수 있다는 점에서 유리하다. 그러나, 신뢰성 있는 서버(116)가 미디어 콘텐츠를 캐시(118)에 저장하는 데 걸리는 시간 때문에 2단계 접근법의 레이턴시는 악화될 수 있다.
본 개시의 실시 예들은 다중 부분 응답 접근법(multi-part response approach)으로 확장되는데, 이에 의하면, 통신 클라이언트 애플리케이션(114)이 수신된 인스턴트 메시지에서 검출된 URL을 지정하는 단일 요청을 신뢰성 있는 서버(116)로 전송한다. 다중 부분 응답 접근법에서, URL 미리 보기 모듈(117)은 (메타 데이터 및 미디어 콘텐츠를 포함하는) 단일 응답이 URL 미리 보기 모듈(117)에 모두 이용가능해지자 마자, 이를 통신 클라이언트 애플리케이션(114)에 전송한다.
즉, 일단 HTML 페이지 파싱 프로세스가 HTML 페이지 소스 코드 텍스트상에서 수행된 이후, 메타 데이터가 추출되었고, 추출된 메타 데이터에서 식별된 모든 이미지가 제3자 서버(120)로부터 다운로드되었으면, 추출된 메타 데이터 및 이미지(들)를 포함하는 단일 응답이 URL 미리 보기 모듈(117)로부터 통신 클라이언트 애플리케이션(114)으로 전송된다.
다운로드된 이미지가 URL 미리 보기 모듈(117)에 의해 최적화되었으면, 단일 응답이 전송될 수 있다.
다중 부분 응답 접근법에서, URL 미리 보기 모듈(117)은 통신 클라이언트 애플리케이션(114)에 응답을 전송하기 전에 이미지(들)가 캐시(118)에 저장될 때까지 기다리지 않는다.
다중 부분 응답 접근법에서, URL 미리 보기 모듈(117)은 미디어 콘텐츠가 통신 클라이언트 애플리케이션(114)에 의해 액세스될 수 있는, 캐시(118) 내의 저장 위치의 표시보다는 (단일 응답에서) 미디어 콘텐츠를 통신 클라이언트 애플리케이션(114)에 전송한다는 것을 이해할 것이다.
통신 클라이언트 애플리케이션(114)이 미디어 콘텐츠를 캐시(118)로 전송 완료 할 때까지 기다릴 필요가 없기 때문에, 다중 부분 응답 접근법은 전술한 2단계 접근법에 비해 더 낮은 레이턴시를 달성한다는 점에서 유리하다. 웹-기반 통신 클라이언트 애플리케이션이 다중-부분 응답을 처리할 수 없다는 것을 당업자는 인식 할 수 있으며, 따라서 웹-기반 통신 클라이언트 애플리케이션은 전술한 2단계 접근법을 사용해야 한다. (예를 들어, iOS, Windows Mobile, MacOS, Windows 등의 경우) 네이티브 통신 클라이언트 애플리케이션은 단계(S308)에서 신뢰성 있는 서버(116)에 전송되는 요청에 특별한 헤더 필드를 추가하여 URL 미리 보기 모듈(117)에게 그들의 능력에 대하여, 즉 다중부분 응답을 소비할 준비가 되었음을 알릴 것이다. 웹 기반 통신 클라이언트 애플리케이션은 이 헤더 필드를 요청에 추가하지 않을 것이므로, 신뢰성 있는 서버(116)는 그에 따라 응답할 수 있다.
전술한 실시 예들에 따르면, 통신 클라이언트 애플리케이션(114)은 인스턴트 메시징 통신 세션 동안 URL의 공유를 보다 원활하게 하기 위해 미디어 콘텐츠가 있는 메시지를 향상시킴으로써, 수신된 인스턴트 메시지 내에 검출된 URL의 미리 보기를 제공한다.
전술한 실시 예들에 따르면, 통신 클라이언트 애플리케이션(114)은 제3자 서버(120)와 통신하지 않는다. 제3자 서버(120)와의 모든 통신은 신뢰성 있는 서버(116)에 의해 수행된다. 따라서, URL을 포함하는 수신된 인스턴트 메시지를 수정하기 위해 클라이언트 애플리케이션(114)은 (2단계 접근법에서) 신뢰성 있는 서버(116) 및 캐시(118)와 통신해야 한다. 이것은, 그의 IP 주소 및 다른 개인 신원 정보가 제3자 서버(120)와 공유되지 않는다는 점에서 사용자 B(110)의 프라이버시가 유지된다는 것을 유리하게 보장한다. 또한, 제2 사용자 단말기(108)는 수정된 인스턴트 메시지를 생성하는 데 있어서 임의의 불법 콘텐츠 또는 임의의 바이러스, 맬웨어, 스파이웨어 또는 기타 악의적인 코드에 노출되지 않는다. 실시예들에서 만일 신뢰성 있는 서버(116)가 단계(S322)에서 수신된 요청에서 식별된 URL이 유해/불법 콘텐츠를 가리킨다고 결정하면, 신뢰성 있는 서버(116)는 단계(S336)에서 통신 클라이언트 애플리케이션(114)에 전송되는 메타 데이터 내의 카테고리 속성(예를 들어, 카테고리: [유해(harmful)/불법(illegal)])을 통하여 통신 클라이언트 애플리케이션(114)에 이 사실을 전달하도록 구성된다.
특정 시나리오에서 URL의 결정된 메타 데이터는 이미지에 대한 참조를 포함하지 않을 수 있다. 예를 들어, URL은 개인 저장 공간을 가리킬 수 있으므로, URL 미리 보기 모듈(117)은 이 콘텐츠에 액세스하기 위해 사용자의 허가가 필요하기 때문에 콘텐츠에 액세스할 수 없다. 이 시나리오에서는 콘텐츠가 개인 저장 공간으로부터 페치(fetch)되지 않지만 URL과 연결된 메타 데이터(예를 들어, 파일 포맷, 링크가 가리키는 콘텐츠 유형 및 콘텐츠를 호스팅하는 호스팅 서비스)를 결정하는 것이 여전히 가능하고, 이를 통신 클라이언트 애플리케이션(114)에 반환한다. 통신 클라이언트 애플리케이션(114)은 이 메타 데이터를 수신하는 것에 응답하여, 파일 포맷, 콘텐츠 유형 및 호스팅 서비스를 나타내는 소정의 아이콘을 표시함으로써 URL의 미리 보기를 제공하기 위해 디스플레이된 인스턴트 메시지를 수정할 수 있다. 전술한 실시 예들에서, URL(410)을 포함하는 수신된 메시지는 임의의 다른 텍스트를 포함하지 않는다. 수신된 메시지는 텍스트 및 URL(410)을, 예를 들어, "이것을 체크해 보라(check this out): http: //www.exampleurl.com"을 포함한다는 점에서 복합 메시지일 수 있다. 단계(S306)에서 전술한 바와 같이, 통신 클라이언트 애플리케이션(114)은 수신된 인스턴트 메시지가 URL을 포함하는지 여부를 결정하기 위해 수신된 인스턴트 메시지를 처리한다. 따라서, 전술한 실시 예들에서, 통신 클라이언트 애플리케이션(114)은 수신된 인스턴트 메시지가 다른 텍스트를 포함하는지의 여부에 상관없이 URL(410)을 포함하는 수신된 인스턴트 메시지를 수정하도록 동작 가능하다. 대안적인 실시 예들에서, 통신 클라이언트 애플리케이션(114)은 수신된 메시지가 다른 텍스트를 포함하지 않는(즉, 복합 메시지가 아닌) 경우에만 URL(410)을 포함하는 수신된 인스턴트 메시지를 수정하도록 동작 가능하다.
실시 예들은 URL(410)을 포함하는 수신된 인스턴트 메시지를 수정하는 통신 클라이언트 애플리케이션(114)을 참조하여 설명되다. 본 개시의 실시 예들은 또한 URL(410)을 포함하는 디스플레이된 전송된 인스턴트 메시지의 수정에도 확장된다.
본 개시의 실시 예들은 인스턴트 메시징 대화에 참여하는 사용자 A(104) 및 사용자 B(110)를 참조하여 위에서 설명되었다. 통신 클라이언트 애플리케이션(114)에 의해 제공되는 클라이언트 사용자 인터페이스는 디스플레이(204)의 이용 가능 영역(400)에 - 송신 메시지 및 수신 메시지를 포함하는 - 콘텐츠를 디스플레이한다. 도 4에 도시된 바와 같이, 디스플레이의 이용 가능한 영역은 디스플레이 전체이다. 그러나, 디스플레이의 이용 가능한 영역(즉, 클라이언트(108)에 이용 가능한 영역)은 디스플레이의 일부만을 구성할 수 있고, 예를 들어 상기 디스플레이의 나머지는 운영 체제 및/또는 다른 콘텐츠를 디스플레이하기 위해 실행되는 다른 애플리케이션(들)에 의해 사용된다는 것이 예상된다.
실시 예들은 두 명의 사용자들 사이에서 수행되는 인스턴트 메시징 통신 세션을 참조하여 상기에 설명되었다. 실시 예들은 세 명 이상의 사용자가 참여하는 그룹 인스턴트 메시징 통신 세션으로 확장된다는 것을 알 수 있을 것이다.
본 개시의 제1 양상을 위에서 설명되었다.
본 방법은 미디어 콘텐츠를 저장하는 추가 네트워크 엔티티 상의 저장 위치를 결정하기 위해 URL과 연관된 메타 데이터를 결정하는 단계를 더 포함할 수 있다.
URL는 HTML(Hypertext Markup Language) 웹 페이지를 참조할 수 있고, 웹 페이지의 메타 데이터를 결정하는 단계는, URL과 연관된 웹 페이지에 액세스하여 웹 페이지의 소스 코드 텍스트를 검색하는 단계; 검색된 웹 페이지의 소스 코드 텍스트를 파싱하는 단계를 포함한다.
URL과 연관된 미디어 콘텐츠를 검색하는 단계는 상기 파싱 단계로부터 식별된 적어도 하나의 추가 URL를 사용하여 추가 네트워크 엔터티로부터 미디어 콘텐츠를 검색하는 단계를 포함할 수 있다.
추가 네트워크 엔티티로부터 검색된 미디어 콘텐츠는, 웹 페이지와 관련된 파비콘; 웹 페이지상의 데이터의 소유자인 사용자의 이미지; 및 웹 페이지에 표시된 이미지 중 하나 이상을 포함할 수 있다.
URL는 추가 네트워크 엔티티에 의해 저장된 미디어 콘텐츠를 참조할 수 있다.
URL과 연관된 미디어 콘텐츠를 검색하는 단계는 추가 네트워크 엔티티로부터 이미지를 검색하는 단계를 포함할 수 있다. URL과 연관된 메타 데이터를 결정하는 단계는 검색된 이미지와 관련된 메타 데이터를 결정하는 단계를 포함할 수 있다.
본 방법은 검색된 미디어 콘텐츠를 데이터 저장소에 저장하기 전에 검색된 미디어 콘텐츠를 최적화하는 단계를 더 포함할 수 있다.
검색된 미디어 콘텐츠를 최적화하는 단계는 미디어 콘텐츠를 재스케일링(rescaling)하여 그 데이터 크기를 감소시키는 단계를 포함할 수 있다.
본 방법은 상기 사용자 단말기의 성능을 검출하고/검출하거나 사용자 단말기와 네트워크 엔티티 간의 통신 네트워크를 통한 네트워크 접속의 특성을 검출하는 것에 기초하여 상기 최적화를 수행하는 단계를 더 포함할 수 있다.
상기 사용자 단말기의 성능은 상기 사용자 단말기상의 디스플레이의 해상도를 포함할 수 있다.
상기 요청은 상기 사용자 단말기의 성능의 표시를 더 포함할 수 있으며, 상기 방법은 수신된 요청에 기초하여 상기 사용자 단말기의 성능을 검출하는 단계를 더 포함한다.
네트워크 접속의 특성은 네트워크 접속 유형을 포함한다.
상기 요청은 네트워크 접속의 특성의 표시를 더 포함할 수 있으며, 상기 방법은 수신된 요청에 기초하여 네트워크 접속의 특성을 검출하는 단계를 더 포함한다.
응답이, 결정된 메타 데이터 및 검색된 미디어 콘텐츠가 저장된 데이터 저장소 내의 위치의 적어도 하나의 식별자를 포함하는 실시 예에서, 본 방법은 검색된 미디어 콘텐츠가 데이터 저장소에 저장될 때까지 응답의 송신을 지연시키는 단계를 포함할 수 있다.
응답이, 결정된 메타 데이터 및 검색된 미디어 콘텐츠를 포함하는 실시 예들에서, 본 방법은 검색된 미디어 콘텐츠를 데이터 저장소에 저장하는 것이 완료되었는지 여부에 관계없이 응답을 전송하는 단계를 포함할 수 있다.
본 방법은 URL과 연관된 미디어 콘텐츠가 상기 추가 네트워크 엔티티상의 개인 저장 위치에 저장되어 있다고 결정하는 단계, 및 상기 결정에 응답하여, 상기 사용자 단말기로 상기 결정된 메타 데이터만을 포함하는 응답을 전송하는 단계를 더 포함할 수 있다.
통신 네트워크는 패킷 기반 네트워크일 수 있다.
도 3a 및 도 3b에 개별적으로 도시된 단계들은 개별 단계들로 구현될 수도 있고 구현되지 않을 수도 있다.
일반적으로, 여기에 설명된 임의의 기능은 소프트웨어, 펌웨어, 하드웨어(예를 들어, 고정 논리 회로), 또는 이들 구현의 조합을 사용하여 구현될 수 있다. 여기에서 사용된 "제어기", "기능", "컴포넌트", "모듈" 및 "애플리케이션"이라는 용어는 일반적으로 소프트웨어, 펌웨어, 하드웨어 또는 이들의 조합을 나타낸다. 소프트웨어 구현의 경우, 제어기, 기능, 컴포넌트, 모듈 또는 애플리케이션은 프로세서(예를 들어, CPU 또는 CPU들) 상에서 실행될 때 지정된 태스크를 수행하는 프로그램 코드를 나타낸다. 프로그램 코드는 하나 이상의 컴퓨터 판독 가능한 메모리 디바이스에 저장될 수 있다. 아래에 기술된 기술의 특징은 플랫폼 독립적이며, 이는 이 기술이 다양한 프로세서를 갖춘 다양한 상용 컴퓨팅 플랫폼에서 구현될 수 있음을 의미한다.
예를 들어, 사용자 단말기는 또한 사용자 단말기의 하드웨어로 하여금 예를 들어, 프로세서들, 기능 블록 등과 같은 동작을 수행하게 하는 엔티티(예를 들어, 소프트웨어)를 포함할 수 있다. 예를 들어, 사용자 단말기는 사용자 단말기, 보다 구체적으로는 사용자 단말기의 운영 체제 및 사용자 단말기의 관련 하드웨어로 하여금 동작을 수행하게 하는 명령어들을 유지하도록 구성될 수 있는 컴퓨터 판독 가능한 매체를 포함할 수 있다. 따라서, 명령어들은 운영 체제 및 관련 하드웨어가 동작들을 수행하도록 구성하는 기능을 하며, 이러한 방식으로 운영 체제 및 관련 하드웨어가 변형되어 기능을 수행하게 된다. 명령어들은 다양한 다른 구성을 통하여 컴퓨터 판독 가능한 매체에 의해 사용자 단말기에 제공될 수 있다.
컴퓨터 판독 가능한 매체의 이러한 구성 중 하나는 신호 포함 매체(signal bearing medium)이며, 따라서 예를 들어 네트워크를 통하여 명령어들을 (예를 들어 반송파로서) 컴퓨팅 디바이스에 전송하도록 구성된다. 컴퓨터 판독 가능한 매체는 또한 컴퓨터 판독 가능한 저장 매체로서 구성될 수 있으며, 따라서 신호 포함 매체가 아니다. 컴퓨터 판독 가능한 저장 매체의 예들은 RAM(random-access memory), ROM(read-only memory), 광학 디스크, 플래시 메모리, 하드 디스크 메모리, 및 자기, 광학 및 명령어들과 다른 데이터를 저장하는 다른 기술들을 사용할 수 있는 다른 메모리 디바이스들을 포함한다.
본 대상(subject matter)이 구조적 특징들 및/또는 방법론적 행위들에 특정한 언어로 기술되었지만, 첨부된 청구 범위에서 한정된 대상이 반드시 전술한 특정 특징들 또는 동작들에 반드시 제한되는 것은 아니라는 것을 이해해야 한다. 오히려, 전술한 특정 특징 및 동작은 청구 범위를 구현하는 예시적인 형태로서 개시된다.

Claims (15)

  1. 통신 네트워크를 통하여 복수의 사용자 단말기들 간에 수행되는 인스턴트 메시징 통신 세션 동안에 네트워크 엔티티에서 구현되는 방법에 있어서,
    상기 사용자 단말기들 중 하나로부터의 요청 - 상기 요청은 상기 인스턴트 메시징 통신 세션 동안에 인스턴트 메시지에서 교환된 URL(uniform resource locator)를 포함함 - 을 상기 통신 네트워크를 통하여 수신하는 단계와,
    상기 네트워크에 접속된 추가 네트워크 엔티티로부터 상기 URL과 연관된 미디어 콘텐츠를 검색(retrieve)하는 단계와,
    상기 네트워크에 접속된 데이터 저장소에 상기 검색된 미디어 콘텐츠를 저장하는 단계와,
    (i) 상기 검색된 미디어 콘텐츠가 저장된 데이터 저장소에서의 위치의 적어도 하나의 식별자; 및 (ii) 상기 검색된 미디어 콘텐츠 중 하나를 포함하는 응답을 상기 사용자 단말기로 전송하는 단계를 포함하는 네트워크 엔티티에서 구현되는 방법.
  2. 제1항에 있어서, 상기 미디어 콘텐츠를 저장하는 상기 추가 네트워크 엔티티에서의 저장 위치를 결정하기 위하여 상기 URL과 연관된 메타 데이터를 결정하는 단계를 더 포함하는 네트워크 엔티티에서 구현되는 방법.
  3. 제2항에 있어서,
    상기 URL은 HTML(Hypertext Markup Language) 웹 페이지를 참조하고,
    상기 웹 페이지의 메타 데이터를 결정하는 단계는,
    상기 웹 페이지의 소스 코드 텍스트를 검색하기 위하여 상기 URL과 연관된 웹 페이지를 액세스하는 단계와,
    상기 웹 페이지의 상기 검색된 소스 코드 텍스트를 파싱(parsing)하는 단계를 포함하는 것인 네트워크 엔티티에서 구현되는 방법.
  4. 제3항에 있어서,
    상기 URL과 연관된 미디어 콘텐츠를 검색하는 단계는, 상기 파싱 단계로부터 식별되는 적어도 하나의 추가 URL을 사용하여 상기 추가 네트워크 엔티티로부터 상기 미디어 콘텐츠를 검색하는 단계를 포함하는 것인 네트워크 엔티티에서 구현되는 방법.
  5. 제2항 내지 제4항 중 어느 한 항에 있어서,
    상기 추가 네트워크 엔티티로부터 검색된 상기 미디어 콘텐츠는, 상기 웹 페이지와 연관된 파비콘(favicon); 상기 웹 페이지 상의 데이터의 소유자인 사용자의 이미지; 및 상기 웹 페이지에 디스플레이되는 이미지 중 하나 이상을 포함하는 것인 네트워크 엔티티에서 구현되는 방법.
  6. 제1항에 있어서, 상기 URL은 상기 추가 네트워크 엔티티에 의해 저장된 미디어 콘텐츠를 참조하는 것인 네트워크 엔티티에서 구현되는 방법.
  7. 제1항 내지 제6항 중 어느 한 항에 있어서,
    상기 데이터 저장소에 상기 검색된 미디어 콘텐츠를 저장하기 전에 상기 검색된 미디어 콘텐츠를 최적화하는 단계를 더 포함하고,
    상기 검색된 미디어 콘텐츠를 최적화하는 단계는 선택적으로 상기 미디어 콘텐츠를 재스케일링(rescaling)하여 그 데이터 사이즈를 감소시키는 단계를 포함하는 것인 네트워크 엔티티에서 구현되는 방법.
  8. 제7항에 있어서, 상기 사용자 단말기의 성능(capabilities)을 검출하는 것 및/또는 통신 네트워크를 통한 상기 사용자 단말기와 상기 네트워크 엔티티 간의 네트워크 접속의 특성을 검출하는 것에 기초하여 상기 최적화를 수행하는 단계를 더 포함하는 네트워크 엔티티에서 구현되는 방법.
  9. 제8항에 있어서, 상기 요청은 상기 사용자 단말기의 성능의 표시를 더 포함하고, 상기 방법은 상기 수신된 요청에 기초하여 상기 사용자 단말기의 성능을 검출하는 단계를 더 포함하는 것인 네트워크 엔티티에서 구현되는 방법.
  10. 제8항 또는 제9항에 있어서, 상기 요청은 상기 네트워크 접속의 특성의 표시를 더 포함하고, 상기 방법은 상기 수신된 요청에 기초하여 상기 네트워크 접속의 특성을 검출하는 단계를 더 포함하는 것인 네트워크 엔티티에서 구현되는 방법.
  11. 제1항 내지 제10항 중 어느 한 항에 있어서,
    상기 응답은 상기 결정된 메타 데이터 및 상기 검색된 미디어 콘텐츠가 저장된 데이터 저장소에서의 위치의 적어도 하나의 식별자를 포함하고,
    상기 방법은,
    상기 검색된 미디어 콘텐츠가 상기 데이터 저장소에 저장될 때까지 상기 응답의 전송을 지연시키는 단계; 또는
    상기 데이터 저장소에 상기 검색된 미디어 콘텐츠를 저장하는 것이 완료되었는지에 상관 없이 상기 응답을 전송하는 단계를 더 포함하는 것인 네트워크 엔티티에서 구현되는 방법.
  12. 제2항 내지 제11항 중 어느 한 항에 있어서,
    상기 URL과 연관된 미디어 콘텐츠가 상기 추가 네트워크 엔티티 상의 개인 저장 위치에 저장되어 있다고 결정하는 단계와,
    상기 결정에 응답하여, 상기 결정된 메타 데이터만을 포함하는 응답을 상기 사용자 단말기에 전송하는 단계를 더 포함하는 네트워크 엔티티에서 구현되는 방법.
  13. 통신 네트워크를 통하여 복수의 사용자 단말기들 간에 수행되는 인스턴트 메시징 통신 세션 동안에 네트워크 엔티티의 프로세서 상에서 실행될 때 제1항 내지 제12항 중 어느 한 항에 기재된 방법을 수행하도록 구성되고, 비일시적 컴퓨터 판독 가능한 매체 상에 구현되는 컴퓨터 프로그램 제품.
  14. 네트워크 엔티티에 있어서,
    네트워크 인터페이스 및 모듈을 포함하고,
    상기 모듈은,
    통신 네트워크를 통한 사용자 단말기 및 적어도 하나의 추가 사용자 단말기 간에 수행되는 인스턴트 메시징 통신 세션 동안에 상기 사용자 단말기로부터 상기 통신 네트워크를 통하여 전송되는 요청 - 상기 요청은 상기 인스턴트 메시징 통신 세션 동안에 인스턴트 메시지에서 교환된 URL(uniform resource locator)를 포함함 - 을 상기 네트워크 인터페이스를 통하여 수신하고,
    상기 네트워크에 접속된 추가 네트워크 엔티티로부터 상기 URL과 연관된 미디어 콘텐츠를 검색하고,
    상기 네트워크에 접속된 데이터 저장소에 상기 검색된 미디어 콘텐츠를 저장하며,
    (i) 상기 검색된 미디어 콘텐츠가 저장된 데이터 저장소에서의 위치의 적어도 하나의 식별자; 및 (ii) 상기 검색된 콘텐츠 중 하나를 포함하는 응답을 상기 사용자 단말기로 전송하도록 구성되는 것인, 네트워크 엔티티.
  15. 통신 네트워크를 통하여 적어도 하나의 추가 사용자 단말기와 수행되는 인스턴트 메시징 통신 세션 동안에 사용자 단말기에서 구현되는 방법에 있어서,
    상기 사용자 단말기의 디스플레이에 상기 인스턴트 메시징 통신 세션 동안에 교환된 메시지를 디스플레이하는 단계와,
    상기 메시지가 URL을 포함한다는 것을 검출하는 단계와,
    상기 검출에 응답하여, 상기 통신 네트워크를 통하여 상기 URL을 포함하는 요청을 네트워크 엔티티에 자동으로 전송하는 단계와,
    상기 네트워크 엔티티로부터 응답을 수신하는 단계로서, 상기 응답은 (i) 상기 URL과 연관된 미디어 콘텐츠가 저장된, 상기 네트워크에 접속된 데이터 저장소에서의 위치의 적어도 하나의 식별자; 및 (ii) 상기 URL과 연관된 미디어 콘텐츠 중 적어도 하나를 포함하는 것인, 상기 응답 수신 단계와,
    적어도 상기 URL과 연관된 미디어 콘텐츠에 따라 상기 디스플레이된 메시지를 수정하는 단계를 포함하는 사용자 단말기에서 구현되는 방법.
KR1020177014666A 2014-10-29 2014-10-29 인스턴트 메시징 동안의 미디어 콘텐츠의 전송 KR20180004093A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/RU2014/000824 WO2016068743A1 (en) 2014-10-29 2014-10-29 Transmitting media content during instant messaging

Publications (1)

Publication Number Publication Date
KR20180004093A true KR20180004093A (ko) 2018-01-10

Family

ID=53366237

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177014666A KR20180004093A (ko) 2014-10-29 2014-10-29 인스턴트 메시징 동안의 미디어 콘텐츠의 전송

Country Status (5)

Country Link
US (1) US20170230320A1 (ko)
EP (1) EP3198802A1 (ko)
KR (1) KR20180004093A (ko)
CN (1) CN107278361A (ko)
WO (1) WO2016068743A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9990128B2 (en) 2016-06-12 2018-06-05 Apple Inc. Messaging application interacting with one or more extension applications
US10554599B2 (en) * 2016-06-12 2020-02-04 Apple Inc. Conversion of detected URL in text message
CN106789551B (zh) * 2016-11-14 2019-12-03 北京小米移动软件有限公司 会话消息展示方法及装置
CN108400925B (zh) * 2017-02-08 2021-04-09 阿里巴巴集团控股有限公司 即时通讯消息的提醒方法及即时通讯客户端
US10749988B2 (en) * 2017-04-24 2020-08-18 Google Llc Methods, systems, and media for retrieving content associated with links
US10721189B1 (en) * 2017-06-07 2020-07-21 American Innovative Applications Corporation Advertising systems and methods employing JavaScript object notation
US10621272B1 (en) * 2017-07-21 2020-04-14 Slack Technologies, Inc. Displaying a defined preview of a resource in a group-based communication interface
CN108664303B (zh) * 2018-04-28 2023-06-30 北京小米移动软件有限公司 网页内容的显示方法及装置
US11146514B2 (en) * 2018-05-07 2021-10-12 Apple Inc. Sharing content in a messaging application
US11252537B2 (en) 2018-07-30 2022-02-15 Slack Technologies, Llc Method, apparatus, and computer program product for organizational telemetry discovery within a group based communication system
US11115228B2 (en) 2018-07-30 2021-09-07 Slack Technologies, Inc. Method, apparatus, and computer program product for individual profile telemetry discovery within a group based communication system
US20200159865A1 (en) * 2018-11-20 2020-05-21 T-Mobile Usa, Inc. Enhanced uniform resource locator preview in messaging
KR20210135683A (ko) * 2020-05-06 2021-11-16 라인플러스 주식회사 인터넷 전화 기반 통화 중 리액션을 표시하는 방법, 시스템, 및 컴퓨터 프로그램

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008111051A2 (en) * 2007-03-09 2008-09-18 Ghost, Inc. A general object graph for web users
CN100579055C (zh) * 2007-08-13 2010-01-06 腾讯科技(深圳)有限公司 对包括超链接的即时通讯信息的处理方法及装置
US20090217352A1 (en) * 2008-02-25 2009-08-27 Tong Shen Web managed multimedia asset management method and system
CN101977228B (zh) * 2010-10-29 2013-04-24 优视科技有限公司 一种用于移动通讯设备终端的离线下载方法及其系统
US9705829B2 (en) * 2012-12-07 2017-07-11 Linkedin Corporation Communication systems and methods

Also Published As

Publication number Publication date
US20170230320A1 (en) 2017-08-10
CN107278361A (zh) 2017-10-20
EP3198802A1 (en) 2017-08-02
WO2016068743A1 (en) 2016-05-06

Similar Documents

Publication Publication Date Title
KR20180004093A (ko) 인스턴트 메시징 동안의 미디어 콘텐츠의 전송
US10057734B2 (en) System and method for transmitting and receiving media messages
EP2852106B1 (en) Real time communication method, terminal device, real time communication server and system
JP6356136B2 (ja) 短縮urlにアクセスするためのプリエンプティブフレームワーク
KR102304086B1 (ko) 대화형 콘텐츠를 제공하는 전자 장치, 서버 및 이를 위한 방법
JP6275201B2 (ja) 文字送信方法、コンピュータプログラム、および、文字送信システム
US10860980B2 (en) Establishing a communication event
US20170295163A1 (en) Providing a masked short message service in a wireless network
WO2016086755A1 (zh) 一种报文处理的方法和透明代理服务器
KR20160008552A (ko) 선택하여 호출하기 기능을 가진 웹 플랫폼
US10791435B1 (en) Transparent event and product-based social campaign participation via SMS
AU2012290738B2 (en) System and method for activating a mobile device to initiate a communication
WO2023109045A1 (zh) WebRTC连接方法及系统
US11949707B1 (en) Isolating suspicious links in email messages
TW201520777A (zh) 提供外部裝置使用通訊服務之系統及其方法

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid