KR20200099339A - 컨텐츠를 업로드 및/또는 다운로드하기 위한 전자 장치와 시스템 및 그의 동작 방법 - Google Patents

컨텐츠를 업로드 및/또는 다운로드하기 위한 전자 장치와 시스템 및 그의 동작 방법 Download PDF

Info

Publication number
KR20200099339A
KR20200099339A KR1020190017204A KR20190017204A KR20200099339A KR 20200099339 A KR20200099339 A KR 20200099339A KR 1020190017204 A KR1020190017204 A KR 1020190017204A KR 20190017204 A KR20190017204 A KR 20190017204A KR 20200099339 A KR20200099339 A KR 20200099339A
Authority
KR
South Korea
Prior art keywords
url
server
upload
download
content
Prior art date
Application number
KR1020190017204A
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 삼성전자주식회사
Priority to KR1020190017204A priority Critical patent/KR20200099339A/ko
Priority to PCT/KR2020/001563 priority patent/WO2020166863A1/ko
Publication of KR20200099339A publication Critical patent/KR20200099339A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25808Management of client data
    • H04N21/25841Management of client data involving the geographical location of the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4524Management of client data or end-user data involving the geographical location of the client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/4722End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content
    • H04N21/4725End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting additional data associated with the content using interactive regions of the image, e.g. hot spots
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명의 다양한 실시예들은 컨텐츠를 업로드 및/또는 다운로드하기 위한 전자 장치와 시스템 및 그의 동작 방법에 관한 것이다. 전자 장치는, 통신 모듈, 및 프로세서를 포함하고, 상기 프로세서는, 컨텐츠에 관련된 제1 위치 정보를 획득하고, 상기 제1 위치 정보를 이용하여 제1 서버로 컨텐츠 업로드 또는 다운로드를 요청하고, 상기 제1 서버로부터 상기 컨텐츠에 관련된 제2 위치 정보를 획득하고, 상기 제2 위치 정보를 기반으로 제2 서버와 통신하여 상기 컨텐츠에 대한 업로드 또는 다운로드를 수행하도록 설정될 수 있다. 다른 실시예들도 가능할 수 있다.

Description

컨텐츠를 업로드 및/또는 다운로드하기 위한 전자 장치와 시스템 및 그의 동작 방법{ELECTRONIC DEVICE AND SYSTEM FOR UPLOADING AND/OR DOWNLOADING CONTENT AND OPERATING METHOD THEREOF}
본 발명의 다양한 실시예는 컨텐츠를 업로드 및/또는 다운로드하기 위한 전자 장치와 시스템 및 그의 동작 방법에 관한 것이다.
정보통신 기술 및 반도체 기술의 발전으로 각종 전자 장치들이 다양한 멀티미디어 서비스를 제공하는 멀티미디어 장치로 발전하고 있다. 예를 들어, 전자 장치는 전자 장치에 저장된 컨텐츠를 클라우드 서버와 같은 무선 네트워크 저장소에 업로드하고, 업로드된 컨텐츠를 다른 전자 장치와 공유하는 서비스를 제공할 수 있다.
전자 장치는 컨텐츠 업로드 및 공유를 위해, 업로드할 컨텐츠를 프록시 서버로 전송할 수 있다. 프록시 서버는 전자 장치로부터 수신된 컨텐츠를 해당 관리 서버로 전달하고, 관리 서버는 프록시 서버로부터 수신된 컨텐츠를 스토리지 서버로 전달할 수 있다. 관리 서버는 해당 컨텐츠의 다운로드를 위한 URL을 생성하여 프록시 서버를 통해 전자 장치로 전달할 수 있다. 전자 장치는 수신된 URL을 다른 전자 장치로 전송하여, 다른 전자 장치가 수신된 URL을 이용하여 스토리지 서버, 관리 서버 및 프록시 서버를 통해 해당 컨텐츠를 다운로드할 수 있도록 한다.
전자 장치에서 프록시 서버 및 관리 서버와 같은 중계 서버들을 통해 스토리지 서버에 접속하여 컨텐츠를 업로드 및/또는 다운로드 하는 방식은, 컨텐츠가 여러 개의 중계 서버들을 거쳐 업로드 및/또는 다운로드되기 때문에 업로드 및/또는 다운로드 속도가 느린 단점이 있다. 또한, 전자 장치에서 컨텐츠의 업로드 및/또는 다운로드가 빈번하게 발생되거나, 업로드 및/또는 다운로드할 컨텐츠의 크기가 큰 경우, 중계 서버들에 컨텐츠 업로드 및/또는 다운로드 트래픽으로 인한 과부하가 발생될 수 있으며, 이로 인해 중계 서버들에 대한 관리 비용이 증가할 수 있다.
따라서, 본 발명의 다양한 실시예들은 전자 장치에서 컨텐츠를 스토리지 서버에 직접 업로드하고, 해당 컨텐츠를 스토리지 서버로부터 직접 다운로드하기 위한 전자 장치와 시스템 및 그의 동작 방법을 제공함에 있다.
본 문서에서 이루고자 하는 기술적 과제는 이상에서 언급한 기술적 과제로 제한되지 않으며, 언급되지 않은 또 다른 기술적 과제들은 아래의 기재로부터 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 명확하게 이해될 수 있을 것이다.
본 발명의 다양한 실시예들에 따르면, 전자 장치는, 통신 모듈, 및 프로세서를 포함하고, 상기 프로세서는, 컨텐츠에 관련된 제1 위치 정보를 획득하고, 상기 제1 위치 정보를 이용하여 제1 서버로 컨텐츠 업로드 또는 다운로드를 요청하고, 상기 제1 서버로부터 상기 컨텐츠에 관련된 제2 위치 정보를 획득하고, 상기 제2 위치 정보를 기반으로 제2 서버와 통신하여 상기 컨텐츠에 대한 업로드 또는 다운로드를 수행하도록 설정될 수 있다.
본 발명의 다양한 실시예들에 따르면, 제1 서버는, 통신 모듈, 및 프로세서를 포함하고, 상기 프로세서는, 전자 장치로부터 컨텐츠의 업로드 또는 다운로드를 위한 요청을 수신하고, 상기 요청으로부터 제1 위치 정보를 획득하고, 상기 제1 위치 정보에 기초하여 상기 요청에 대한 유효성을 검사하고, 상기 요청이 유효한 경우, 제2 서버와 통신하여 상기 컨텐츠에 관련된 제2 위치 정보를 획득하고, 상기 전자 장치로 상기 제2 위치 정보를 전송하도록 설정되며, 상기 제1 위치 정보는, 상기 제1 서버를 향하도록 구성된 제1 업로드 URL(uniform resource locator), 또는 제1 다운로드 URL 중 적어도 하나를 포함하며, 상기 제2 위치 정보는, 상기 제2 서버를 향하도록 구성된 제2 업로드 URL, 또는 제2 다운로드 URL 중 적어도 하나를 포함할 수 있다.
본 발명의 다양한 실시예들은 전자 장치가 스토리지 서버에 직접 접근하여 컨텐츠를 업로드 및/또는 다운로드함으로써, 업로드 및/또는 다운로드 속도를 향상시킬 수 있으며, 프록시 서버 및/또는 관리 서버와 같은 중계 서버들의 트래픽 과부하를 방지하여, 관리 비용을 절감할 수 있다.
도 1은 본 발명의 다양한 실시예들에 따른 시스템 구조를 도시한다.
도 2는 본 발명의 다양한 실시예들에 따른 네트워크 환경 내의 전자 장치의 블록도이다.
도 3은 본 발명의 다양한 실시예들에 따른 제1 서버의 블록도이다.
도 4는 본 발명의 다양한 실시예들에 따른 제2 서버의 블록도이다.
도 5는 본 발명의 다양한 실시예들에 따른 전자 장치에서 컨텐츠를 업로드 및/또는 다운로드하는 흐름도이다.
도 6은 본 발명의 다양한 실시예들에 따른 전자 장치에서 컨텐츠를 업로드하는 흐름도이다.
도 7은 본 발명의 다양한 실시예들에 따른 전자 장치에서 컨텐츠를 다운로드하는 흐름도이다.
도 8a 및 도 8b는 본 발명의 다양한 실시예들에 따른 전자 장치에서 컨텐츠를 다운로드하는 화면 구성을 도시한다.
도 9는 본 발명의 다양한 실시예들에 따른 제1 서버에서 컨텐츠에 대한 업로드 및/또는 다운로드를 위한 위치 정보를 생성하는 흐름도이다.
도 10a 및 도 10b는 본 발명의 다양한 실시예들에 따른 제1 서버에서 전자 장치의 컨텐츠 업로드 요청에 대한 유효성에 기초하여 컨텐츠 업로드를 위한 위치 정보를 생성하는 흐름도이다.
도 11은 본 발명의 다양한 실시예들에 따른 제1 서버에서 전자 장치의 컨텐츠 다운로드 요청에 대한 유효성에 기초하여 컨텐츠 다운로드를 위한 위치 정보를 생성하는 흐름도이다.
도 12는 본 발명의 다양한 실시예들에 따른 제2 서버에서 컨텐츠 업로드 및/또는 다운로드하는 흐름도이다.
도 13은 본 발명의 다양한 실시예들에 따른 제2 서버에서 전자 장치의 컨텐츠 업로드를 위해 컨텐츠를 저장하는 흐름도이다.
도 14는 본 발명의 다양한 실시예들에 따른 제2 서버에서 전자 장치의 컨텐츠 다운로드를 위해 컨텐츠를 전송하는 흐름도이다.
도 15는 본 발명의 다양한 실시예들에 따른 시스템에 대한 아키텍쳐이다.
도 16a 및 도 16b는 본 발명의 다양한 실시예들에 따른 시스템의 신호 흐름도이다.
도 17은 본 발명의 다양한 실시예들에 따른 URL 관리 서버와 요청 관리 서버를 세분화한 아키텍쳐이다.
도 18a 및 도 18b는 도 17에 도시된 시스템의 신호 흐름도이다.
도 19는 본 발명의 다양한 실시예들에 따른 URL 공유 서버가 제1 업로드/다운로드 URL을 획득하여 전자 장치들에 전달하는 시스템의 신호 흐름도이다.
이하, 본 문서의 다양한 실시예들이 첨부된 도면을 참조하여 기재된다. 실시예 및 이에 사용된 용어들은 본 문서에 기재된 기술을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 및/또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함할 수 있다.
도 1은 본 발명의 다양한 실시예에 따른 시스템 구조(100)를 도시한다. 다양한 실시예에 따른 시스템은 전자 장치(101), 네트워크(110), 제1 서버(120), 및 제2 서버(130)를 포함할 수 있다.
도 1을 참조하면, 다양한 실시예들에 따른, 전자 장치(101)는 네트워크(110)를 통해 제1 서버(120)로부터 컨텐츠 업로드/다운로드를 위한 위치 정보(또는 주소 정보)를 획득할 수 있다. 전자 장치(101)는 업로드를 위한 위치 정보를 기반으로 제2 서버(130)에 직접 접근하여 컨텐츠를 업로드하고, 다운로드를 위한 위치 정보를 적어도 하나의 다른 전자 장치와 공유할 수 있다. 일실시예에 따르면, 전자 장치(101)는 제1 서버(120)로부터 제1 서버(120)에 관련된 제1 업로드 위치 정보(예: 제1 업로드 URL) 및/또는 제2 서버(130)에 관련된 제2 업로드 위치 정보(예: 제2 업로드 URL)를 획득하고, 제1 서버(120)에 관련된 제1 다운로드 위치 정보(예: 제1 다운로드 URL)를 획득할 수 있다. 예를 들어, 전자 장치(101)는 네트워크를 통해 제1 서버(120)로 컨텐츠 업로드/다운로드를 위한 위치 정보를 요청하고, 컨텐츠 업로드/다운로드를 위한 위치 정보 요청에 대한 응답으로, 제1 서버(120)로부터 제1 업로드 위치 정보와 제1 다운로드 위치 정보를 획득할 수 있다. 다른 예로, 전자 장치(101)는 네트워크를 통해 제1 서버(120)로 컨텐츠 업로드/다운로드를 위한 위치 정보를 요청하고, 위치 정보 요청에 대한 응답으로, 제1 서버(120)로부터 제2 업로드 위치 정보 및 제1 다운로드 위치 정보를 획득할 수 있다. 전자 장치(101)는 제1 서버(120)로부터 제1 업로드 위치 정보가 획득된 경우, 제1 업로드 위치 정보에 기초하여 제1 서버(120)로 컨텐츠 업로드를 위한 제2 업로드 위치 정보를 요청하고, 이에 대한 응답으로, 제1 서버(120)로부터 제2 업로드 위치 정보를 획득할 수 있다. 일 실시예에 따르면, 전자 장치(101)는 획득된 제2 업로드 위치 정보를 기반으로 제2 서버(130)에 직접 접근하여 컨텐츠를 업로드할 수 있다. 일실시예에 따르면, 전자 장치(101)는 컨텐츠의 업로드 완료 감지, 컨텐츠 공유 감지, 또는 제1 다운로드 위치 정보 획득에 대한 응답으로, 컨텐츠 다운로드를 위한 제1 다운로드 위치 정보를 적어도 하나의 다른 전자 장치로 전송할 수 있다. 일실시예에 따르면, 제1 다운로드 위치 정보는 별도의 공유 서버(미도시)를 통해 적어도 하나의 다른 전자 장치로 전송될 수 있다.
다양한 실시예들에 따르면, 전자 장치(101)는 적어도 하나의 다른 전자 장치로부터 컨텐츠 다운로드를 위한 위치 정보를 수신하고, 획득된 위치 정보를 기반으로 제2 서버(130)에 직접 접근하여 컨텐츠를 다운로드할 수 있다. 일실시예에 따르면, 전자 장치(101)는 적어도 하나의 다른 전자 장치로부터 제1 서버(120)에 관련된 제1 다운로드 위치 정보(예: 제1 다운로드 URL)를 수신하고, 수신된 제1 다운로드 위치 정보를 기반으로 제1 서버(120)로 컨텐츠 다운로드를 위한 제2 다운로드 위치 정보를 요청할 수 있다. 전자 장치(101)는 제2 다운로드 위치 정보 요청에 대한 응답으로, 제1 서버(120)부터 제2 서버(130)에 관련된 제2 다운로드 위치 정보(예: 제2 다운로드 URL)를 획득할 수 있다. 일실시예에 따르면, 전자 장치(120)는 제2 다운로드 위치 정보를 기반으로 제2 서버(130)에 직접 접근하여 컨텐츠를 다운로드할 수 있다.
다양한 실시예들에 따르면, 전자 장치(101)는 다양한 형태의 장치가 될 수 있다. 예를 들어, 전자 장치(101)는, 컨텐츠 업로드 및/또는 다운로드(업로드/다운로드) 요청 명령을 사용자로부터 직접 수신하는 휴대용 통신 장치(예: 스마트폰), 또는 외부 전자 장치로부터 컨텐츠 업로드 및/또는 다운로드 요청 명령을 수신하는 서버 형태의 장치일 수 있다.
다양한 실시예들에 따르면, 제1 서버(120)는 컨텐츠 업로드/다운로드를 위한 위치 정보 요청, 컨텐츠 업로드 요청, 컨텐츠 다운로드 요청 중 적어도 하나에 대한 유효성을 검사할 수 있다. 일실시예에 따르면, 제1 서버(120)는 요청 관리 서버(122)를 통해 전자 장치(101)로부터 수신되는 컨텐츠 업로드/다운로드를 위한 위치 정보 요청이 유효한 요청인지 여부를 검사할 수 있다. 제1 서버(120)의 요청 관리 서버(122)는 컨텐츠 업로드/다운로드를 위한 위치 정보 요청이 유효한 요청인 경우, 제1 서버(120)의 URL 관리 서버(124)로 업로드/다운로드 위치 정보 생성을 요청할 수 있다. 제1 서버(120)의 URL 관리 서버(124)는 요청 관리 서버(122)의 업로드/다운로드 위치 정보 생성 요청에 기초하여, 제1 업로드 위치 정보와 제1 다운로드 위치 정보를 생성하거나, 제2 업로드 위치 정보와 제1 다운로드 위치 정보를 생성할 수 있다. 제1 업로드 위치 정보의 적어도 일부, 및/또는 제1 다운로드 위치 정보의 적어도 일부는 제1 서버(120), 및/또는 제1 서버(120)의 URL 관리 서버(124)를 향하도록 생성될 수 있다. 제2 업로드 위치 정보의 적어도 일부는 제2 서버(130)를 향하도록 생성될 수 있다. 일실시예에 따르면, 제1 서버(120)는 제1 업로드 위치 정보에 기초한 컨텐츠 업로드 요청 및/또는 제1 다운로드 위치 정보에 기초한 컨텐츠 다운로드 요청을 수신하고, 수신된 컨텐츠 업로드 요청 및/또는 다운로드 요청이 유효한 요청인지 여부를 검사할 수 있다. 제1 서버(120)의 URL 관리 서버(122)는 컨텐츠 업로드 요청 및/또는 다운로드 요청이 유효한 요청인 경우, 제2 서버(130)와 통신하여 제2 업로드 위치 정보 및/또는 제2 다운로드 위치 정보를 획득할 수 있다. 제2 업로드 위치 정보의 적어도 일부, 및/또는 제2 다운로드 위치 정보의 적어도 일부는 제2 서버(130)를 향하도록 생성될 수 있다.
다양한 실시예들에 따르면, 제1 서버(120)는 생성된 위치 정보를 전자 장치(101)로 전송할 수 있다. 일실시예에 따르면, 제1 서버(120)는 업로드/다운로드 위치 정보 생성 요청에 대한 응답으로, 제1 업로드 위치 정보와 제1 다운로드 위치 정보를 전자 장치(101)로 전송하거나, 제2 업로드 위치 정보와 제1 다운로드 위치 정보를 전자 장치(101)로 전송할 수 있다. 일실시예에 따르면, 제1 서버(120)는 컨텐츠 업로드 요청에 대한 응답으로, 제2 업로드 위치 정보를 전자 장치(101)로 전송할 수 있다. 일실시예에 따르면, 제1 서버(120)는 컨텐츠 다운로드 요청에 대한 응답으로, 제2 다운로드 위치 정보를 전자 장치(101)로 전송할 수 있다.
다양한 실시예들에 따르면, 제2 서버(130)는 제1 서버(120)의 요청에 기초하여 컨텐츠 업로드 및/또는 다운로드를 위한 위치 정보를 생성하고, 생성된 위치 정보를 제1 서버(120)로 전송할 수 있다. 일실시예에 따르면, 제2 서버(130)는 제1 서버(120)의 URL 관리 서버(124)의 요청에 기초하여 컨텐츠 업로드를 위한 제2 업로드 위치 정보, 또는 컨텐츠 다운로드를 위한 제2 다운로드 위치 정보 중 적어도 하나를 생성하고, 생성된 제2 업로드 위치 정보 또는 제2 다운로드 위치 정보 중 적어도 하나를 제1 서버(120)의 URL 관리 서버(124)로 전송할 수 있다.
다양한 실시예들에 따르면, 제2 서버(130)는 제2 서버(130)에 의해 생성된 위치 정보에 기초하여 전자 장치(101)로부터 컨텐츠 업로드 및/또는 다운로드 요청을 수신하고, 요청에 따른 동작을 수행할 수 있다. 일실시예에 따르면, 제2 서버(130)의 스토리지 서버(132)는 전자 장치(101)로부터 제2 업로드 위치 정보 및 컨텐츠를 포함하는 컨텐츠 업로드를 요청을 수신하고, 수신된 컨텐츠 업로드 요청에 포함된 컨텐츠를 해당 제2 업로드 위치 정보에 기초하여 저장할 수 있다. 제2 서버(130)의 스토리지 서버(132)는, 제2 업로드 위치 정보에 기초하여, CDN(content delivery network) 서버(124)를 통해 전자 장치(101)로부터 컨텐츠를 수신하거나, 전자 장치(101)로부터 직접 컨텐츠를 수신할 수 있다. 일실시예에 따르면, 제2 서버(130)의 스토리지 서버(132)는 전자 장치(101)로부터 제2 다운로드 위치 정보를 포함하는 컨텐츠 다운로드 요청을 수신하고, 제2 다운로드 위치 정보에 대응되는 컨텐츠를 전자 장치(101)로 전송할 수 있다. 제2 서버(130)의 스토리지 서버(132)는, 제2 다운로드 위치 정보에 기초하여, CDN 서버(124)를 통해 전자 장치(101)로 컨텐츠를 전송하거나, 전자 장치(101)로 직접 컨텐츠를 전송할 수 있다. 일실시예에 따르면, 제2 서버(130)의 CDN 서버(134)는 스토리지 서버(132)로부터 적어도 하나의 컨텐츠를 획득하여 캐싱(caching)할 수 있다. 전자 장치(101)의 컨텐츠 다운로드 요청에 대응되는 컨텐츠(제2 다운로드 위치 정보에 대응되는 컨텐츠)가 CDN 서버(134)에 캐시(cache)되어 있는 경우, 스토리지 서버(132)의 개입 없이, CDN 서버(124)가 CDN 서버(124)에 캐시된 컨텐츠를 전자 장치(101)로 바로 전달할 수 있다.
상술한 도 1에서는, 제1 서버(120)가 요청 관리 서버(122) 및 URL 관리 서버(124)를 포함하고, 제2 서버(130)가 스토리지 서버(132) 및 CDN 서버(134)를 포함하는 경우에 대해 설명하였다. 그러나, 이는 예시적인 것으로서, 본 발명의 다양한 실시예들은 이에 한정되지 않는다. 예를 들어, 요청 관리 서버(122)와 URL 관리 서버(124)는 물리적 및/또는 논리적으로 구분된 별도의 서버들일 수 있다. 다른 예로, 스토리지 서버(132)와 CDN 서버(134)는 물리적 및/또는 논리적으로 구분된 별도의 서버들일 수 있다. 예컨대, 본 개시에서는 설명의 편의를 위해 CDN 서버(134)와 스토리지 서버(132)가 제2 서버(130)에 포함되는 것으로 설명하였으나, CDN 서버(134)가 스토리지 서버(132)에 빠르게 접근할 수 있는 캐시 서버의 역할을 수행하는 서버로서, 스토리지 서버(132)와 물리적 및 논리적으로 구분되는 별도의 서버로 구성될 수 있음은 당업자에게 자명할 것이다. 또 다른 예로, 제1 서버(120)는 프록시 서버를 추가로 포함할 수 있다.
도 2는, 다양한 실시예들에 따른, 네트워크 환경(200) 내의 전자 장치(201)의 블럭도이다. 여기에서, 전자 장치(201)는 도 1의 전자 장치(101)일 수 있고, 서버(208)는, 도 1의 제1 서버(120), 및/또는 제2 서버(130)를 포함할 수 있다.
도 2를 참조하면, 네트워크 환경(200)에서 전자 장치(201)는 제1 네트워크(298)(예: 근거리 무선 통신 네트워크)를 통하여 전자 장치(202)와 통신하거나, 또는 제2 네트워크(299)(예: 원거리 무선 통신 네트워크)를 통하여 전자 장치(204) 또는 서버(208)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(201)는 서버(208)를 통하여 전자 장치(204)와 통신할 수 있다. 일실시예에 따르면, 전자 장치(201)는 프로세서(220), 메모리(230), 입력 장치(250), 음향 출력 장치(255), 표시 장치(260), 오디오 모듈(270), 센서 모듈(276), 인터페이스(277), 햅틱 모듈(279), 카메라 모듈(280), 전력 관리 모듈(288), 배터리(289), 통신 모듈(290), 가입자 식별 모듈(296), 또는 안테나 모듈(297)을 포함할 수 있다. 어떤 실시예에서는, 전자 장치(201)에는, 이 구성요소들 중 적어도 하나(예: 표시 장치(260) 또는 카메라 모듈(280))가 생략되거나, 하나 이상의 다른 구성 요소가 추가될 수 있다. 어떤 실시예에서는, 이 구성요소들 중 일부들은 하나의 통합된 회로로 구현될 수 있다. 예를 들면, 센서 모듈(276)(예: 지문 센서, 홍채 센서, 또는 조도 센서)은 표시 장치(260)(예: 디스플레이)에 임베디드된 채 구현될 수 있다.
프로세서(220)는, 예를 들면, 소프트웨어(예: 프로그램(240))를 실행하여 프로세서(220)에 연결된 전자 장치(201)의 적어도 하나의 다른 구성요소(예: 하드웨어 또는 소프트웨어 구성요소)을 제어할 수 있고, 다양한 데이터 처리 또는 연산을 수행할 수 있다. 일실시예에 따르면, 데이터 처리 또는 연산의 적어도 일부로서, 프로세서(220)는 다른 구성요소(예: 센서 모듈(276) 또는 통신 모듈(290))로부터 수신된 명령 또는 데이터를 휘발성 메모리(232)에 로드하고, 휘발성 메모리(232)에 저장된 명령 또는 데이터를 처리하고, 결과 데이터를 비휘발성 메모리(234)에 저장할 수 있다. 일실시예에 따르면, 프로세서(220)는 메인 프로세서(221)(예: 중앙 처리 장치 또는 어플리케이션 프로세서), 및 이와는 독립적으로 또는 함께 운영 가능한 보조 프로세서(223)(예: 그래픽 처리 장치, 이미지 시그널 프로세서, 센서 허브 프로세서, 또는 커뮤니케이션 프로세서)를 포함할 수 있다. 추가적으로 또는 대체적으로, 보조 프로세서(223)은 메인 프로세서(221)보다 저전력을 사용하거나, 또는 지정된 기능에 특화되도록 설정될 수 있다. 보조 프로세서(223)는 메인 프로세서(221)와 별개로, 또는 그 일부로서 구현될 수 있다.
보조 프로세서(223)는, 예를 들면, 메인 프로세서(221)가 인액티브(예: 슬립) 상태에 있는 동안 메인 프로세서(221)를 대신하여, 또는 메인 프로세서(221)가 액티브(예: 어플리케이션 실행) 상태에 있는 동안 메인 프로세서(221)와 함께, 전자 장치(201)의 구성요소들 중 적어도 하나의 구성요소(예: 표시 장치(260), 센서 모듈(276), 또는 통신 모듈(290))와 관련된 기능 또는 상태들의 적어도 일부를 제어할 수 있다. 일실시예에 따르면, 보조 프로세서(223)(예: 이미지 시그널 프로세서 또는 커뮤니케이션 프로세서)는 기능적으로 관련 있는 다른 구성 요소(예: 카메라 모듈(280) 또는 통신 모듈(290))의 일부로서 구현될 수 있다.
메모리(230)는, 전자 장치(201)의 적어도 하나의 구성요소(예: 프로세서(220) 또는 센서모듈(276))에 의해 사용되는 다양한 데이터를 저장할 수 있다. 데이터는, 예를 들어, 소프트웨어(예: 프로그램(240)) 및, 이와 관련된 명령에 대한 입력 데이터 또는 출력 데이터를 포함할 수 있다. 메모리(230)는, 휘발성 메모리(232) 또는 비휘발성 메모리(234)를 포함할 수 있다.
프로그램(240)은 메모리(230)에 소프트웨어로서 저장될 수 있으며, 예를 들면, 운영 체제(242), 미들 웨어(244) 또는 어플리케이션(246)을 포함할 수 있다.
입력 장치(250)는, 전자 장치(201)의 구성요소(예: 프로세서(220))에 사용될 명령 또는 데이터를 전자 장치(201)의 외부(예: 사용자)로부터 수신할 수 있다. 입력 장치(250)은, 예를 들면, 마이크, 마우스, 키보드, 또는 디지털 펜(예:스타일러스 펜)을 포함할 수 있다.
음향 출력 장치(255)는 음향 신호를 전자 장치(201)의 외부로 출력할 수 있다. 음향 출력 장치(255)는, 예를 들면, 스피커 또는 리시버를 포함할 수 있다. 스피커는 멀티미디어 재생 또는 녹음 재생과 같이 일반적인 용도로 사용될 수 있고, 리시버는 착신 전화를 수신하기 위해 사용될 수 있다. 일실시예에 따르면, 리시버는 스피커와 별개로, 또는 그 일부로서 구현될 수 있다.
표시 장치(260)는 전자 장치(201)의 외부(예: 사용자)로 정보를 시각적으로 제공할 수 있다. 표시 장치(260)은, 예를 들면, 디스플레이, 홀로그램 장치, 또는 프로젝터 및 해당 장치를 제어하기 위한 제어 회로를 포함할 수 있다. 일실시예에 따르면, 표시 장치(260)는 터치를 감지하도록 설정된 터치 회로(touch circuitry), 또는 상기 터치에 의해 발생되는 힘의 세기를 측정하도록 설정된 센서 회로(예: 압력 센서)를 포함할 수 있다.
오디오 모듈(270)은 소리를 전기 신호로 변환시키거나, 반대로 전기 신호를 소리로 변환시킬 수 있다. 일실시예에 따르면, 오디오 모듈(270)은, 입력 장치(250)를 통해 소리를 획득하거나, 음향 출력 장치(255), 또는 전자 장치(201)와 직접 또는 무선으로 연결된 외부 전자 장치(예: 전자 장치(202)) (예: 스피커 또는 헤드폰))를 통해 소리를 출력할 수 있다.
센서 모듈(276)은 전자 장치(201)의 작동 상태(예: 전력 또는 온도), 또는 외부의 환경 상태(예: 사용자 상태)를 감지하고, 감지된 상태에 대응하는 전기 신호 또는 데이터 값을 생성할 수 있다. 일실시예에 따르면, 센서 모듈(276)은, 예를 들면, 제스처 센서, 자이로 센서, 기압 센서, 마그네틱 센서, 가속도 센서, 그립 센서, 근접 센서, 컬러 센서, IR(infrared) 센서, 생체 센서, 온도 센서, 습도 센서, 또는 조도 센서를 포함할 수 있다.
인터페이스(277)는 전자 장치(201)이 외부 전자 장치(예: 전자 장치(202))와 직접 또는 무선으로 연결되기 위해 사용될 수 있는 하나 이상의 지정된 프로토콜들을 지원할 수 있다. 일실시예에 따르면, 인터페이스(277)는, 예를 들면, HDMI(high definition multimedia interface), USB(universal serial bus) 인터페이스, SD카드 인터페이스, 또는 오디오 인터페이스를 포함할 수 있다.
연결 단자(278)는, 그를 통해서 전자 장치(201)가 외부 전자 장치(예: 전자 장치(202))와 물리적으로 연결될 수 있는 커넥터를 포함할 수 있다. 일실시예에 따르면, 연결 단자(278)은, 예를 들면, HDMI 커넥터, USB 커넥터, SD 카드 커넥터, 또는 오디오 커넥터(예: 헤드폰 커넥터)를 포함할 수 있다.
햅틱 모듈(279)은 전기적 신호를 사용자가 촉각 또는 운동 감각을 통해서 인지할 수 있는 기계적인 자극(예: 진동 또는 움직임) 또는 전기적인 자극으로 변환할 수 있다. 일실시예에 따르면, 햅틱 모듈(279)은, 예를 들면, 모터, 압전 소자, 또는 전기 자극 장치를 포함할 수 있다.
카메라 모듈(280)은 정지 영상 및 동영상을 촬영할 수 있다. 일실시예에 따르면, 카메라 모듈(280)은 하나 이상의 렌즈들, 이미지 센서들, 이미지 시그널 프로세서들, 또는 플래시들을 포함할 수 있다.
전력 관리 모듈(288)은 전자 장치(201)에 공급되는 전력을 관리할 수 있다. 일실시예에 따르면, 전력 관리 모듈(388)은, 예를 들면, PMIC(power management integrated circuit)의 적어도 일부로서 구현될 수 있다.
배터리(289)는 전자 장치(201)의 적어도 하나의 구성 요소에 전력을 공급할 수 있다. 일실시예에 따르면, 배터리(289)는, 예를 들면, 재충전 불가능한 1차 전지, 재충전 가능한 2차 전지 또는 연료 전지를 포함할 수 있다.
통신 모듈(290)은 전자 장치(201)와 외부 전자 장치(예: 전자 장치(202), 전자 장치(204), 또는 서버(208))간의 직접(예: 유선) 통신 채널 또는 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 통신 모듈(290)은 프로세서(220)(예: 어플리케이션 프로세서)와 독립적으로 운영되고, 직접(예: 유선) 통신 또는 무선 통신을 지원하는 하나 이상의 커뮤니케이션 프로세서를 포함할 수 있다. 일실시예에 따르면, 통신 모듈(290)은 무선 통신 모듈(292)(예: 셀룰러 통신 모듈, 근거리 무선 통신 모듈, 또는 GNSS(global navigation satellite system) 통신 모듈) 또는 유선 통신 모듈(294)(예: LAN(local area network) 통신 모듈, 또는 전력선 통신 모듈)을 포함할 수 있다. 이들 통신 모듈 중 해당하는 통신 모듈은 제1 네트워크(298)(예: 블루투스, WiFi direct 또는 IrDA(infrared data association) 같은 근거리 통신 네트워크) 또는 제2 네트워크(299)(예: 셀룰러 네트워크, 인터넷, 또는 컴퓨터 네트워크(예: LAN 또는 WAN)와 같은 원거리 통신 네트워크)를 통하여 외부 전자 장치와 통신할 수 있다. 이런 여러 종류의 통신 모듈들은 하나의 구성 요소(예: 단일 칩)으로 통합되거나, 또는 서로 별도의 복수의 구성 요소들(예: 복수 칩들)로 구현될 수 있다. 무선 통신 모듈(292)은 가입자 식별 모듈(296)에 저장된 가입자 정보(예: 국제 모바일 가입자 식별자(IMSI))를 이용하여 제1 네트워크(298) 또는 제2 네트워크(299)와 같은 통신 네트워크 내에서 전자 장치(201)를 확인 및 인증할 수 있다.
안테나 모듈(297)은 신호 또는 전력을 외부(예: 외부 전자 장치)로 송신하거나 외부로부터 수신할 수 있다. 일실시예에 따르면, 안테나 모듈은 서브스트레이트(예: PCB) 위에 형성된 도전체 또는 도전성 패턴으로 이루어진 방사체를 포함하는 하나의 안테나를 포함할 수 있다. 일실시예에 따르면, 안테나 모듈(297)은 복수의 안테나들을 포함할 수 있다. 이런 경우, 제1 네트워크(298) 또는 제2 네트워크(299)와 같은 통신 네트워크에서 사용되는 통신 방식에 적합한 적어도 하나의 안테나가, 예를 들면, 통신 모듈(290)에 의하여 상기 복수의 안테나들로부터 선택될 수 있다. 신호 또는 전력은 상기 선택된 적어도 하나의 안테나를 통하여 통신 모듈(290)과 외부 전자 장치 간에 송신되거나 수신될 수 있다. 어떤 실시예에 따르면, 방사체 이외에 다른 부품(예: RFIC)이 추가로 안테나 모듈(297)의 일부로 형성될 수 있다.
상기 구성요소들 중 적어도 일부는 주변 기기들간 통신 방식(예: 버스, GPIO(general purpose input and output), SPI(serial peripheral interface), 또는 MIPI(mobile industry processor interface))를 통해 서로 연결되고 신호(예: 명령 또는 데이터)를 상호간에 교환할 수 있다.
일실시예에 따르면, 명령 또는 데이터는 제2 네트워크(299)에 연결된 서버(208)를 통해서 전자 장치(201)와 외부의 전자 장치(204)간에 송신 또는 수신될 수 있다. 전자 장치(202, 204) 각각은 전자 장치(201)와 동일한 또는 다른 종류의 장치일 수 있다. 일실시예에 따르면, 전자 장치(201)에서 실행되는 동작들의 전부 또는 일부는 외부 전자 장치들(202, 204, or 208) 중 하나 이상의 외부 장치들에서 실행될 수 있다. 예를 들면, 전자 장치(201)가 어떤 기능이나 서비스를 자동으로, 또는 사용자 또는 다른 장치로부터의 요청에 반응하여 수행해야 할 경우에, 전자 장치(201)는 기능 또는 서비스를 자체적으로 실행시키는 대신에 또는 추가적으로, 하나 이상의 외부 전자 장치들에게 그 기능 또는 그 서비스의 적어도 일부를 수행하라고 요청할 수 있다. 상기 요청을 수신한 하나 이상의 외부 전자 장치들은 요청된 기능 또는 서비스의 적어도 일부, 또는 상기 요청과 관련된 추가 기능 또는 서비스를 실행하고, 그 실행의 결과를 전자 장치(201)로 전달할 수 있다. 전자 장치(201)는 상기 결과를, 그대로 또는 추가적으로 처리하여, 상기 요청에 대한 응답의 적어도 일부로서 제공할 수 있다. 이를 위하여, 예를 들면, 클라우드 컴퓨팅, 분산 컴퓨팅, 또는 클라이언트-서버 컴퓨팅 기술이 이용될 수 있다.
다양한 실시예들에 따르면, 프로세서(220)는 네트워크(예: 제2 네트워크(299), 또는 도 1의 네트워크(110))를 통해 제1 서버(예: 도 1의 제1 서버(120))로부터 컨텐츠 업로드 및/또는 다운로드를 위한 위치 정보(또는 주소 정보)를 획득할 수 있다. 위치 정보는, 예를 들어, URL(uniform resource locator) 정보를 포함할 수 있다. 일실시예에 따르면, 프로세서(220)는 컨텐츠 업로드 요청 이벤트 또는 컨텐츠 공유 이벤트 중 적어도 하나를 감지하고, 감지된 이벤트에 대한 응답으로, 제1 서버(예: 도 1의 제1 서버(120), 또는 요청 관리 서버(122))로 컨텐츠 업로드/다운로드를 위한 위치 정보 요청 신호를 전송할 수 있다. 일 실시예에 따르면, 컨텐츠 업로드/다운로드를 위한 위치 정보 요청 신호는, 업로드할 컨텐츠에 대한 정보(예: 컨텐츠 명칭, 컨텐츠 크기, 컨텐츠 타입 등), 전자 장치(201)의 식별 정보(예: IMEI(international mobile equipment identity), UID(unique ID), 가입자 ID, 또는 전화번호), 어플리케이션 식별 정보(예: app_id), 또는 업로드/다운로드 경로 설정 규칙에 관련된 템플릿 식별 정보(예: template_id) 중 적어도 하나를 포함할 수 있다. 템플릿 식별 정보는, 예를 들어, 컨텐츠 업로드 및/또는 다운로드 경로 설정 규칙에 관련된 정보를 포함할 수 있다. 예컨대, 템플릿 식별 정보는, 해당 컨텐츠에 대한 업로드 경로가 제2 서버의 CDN 서버(예: 도 1의 CDN 서버(134))를 포함하도록 설정되어야 하는지, 또는 해당 컨텐츠에 대한 업로드 경로가 제2 서버의 CDN 서버(예: 도 1의 CDN 서버(134))를 포함하지 않도록 설정되어야 하는지와 같은 업로드 경로에 대한 규칙을 나타낼 수 있다. 일실시예에 따르면, 프로세서(220)는 컨텐츠 업로드/다운로드를 위한 위치 정보 요청 신호를 전송한 것에 대한 응답으로, 컨텐츠 업로드 및/또는 다운로드를 위한 위치 정보를 획득할 수 있다. 일실시예에 따르면, 컨텐츠 업로드 및/또는 다운로드를 위한 위치 정보는, 제1 업로드 위치 정보, 제2 업로드 위치 정보, 또는 제1 다운로드 위치 정보 중 적어도 하나를 포함할 수 있다. 제1 업로드 위치 정보는, 제1 서버(예: 도 1의 제1 서버(120)), 및/또는 제1 서버의 URL 관리 서버(예: 도 1의 URL 관리 서버(124))를 향하도록 구성된 제1 업로드 URL을 포함할 수 있다. 제1 업로드 URL은, 컨텐츠 업로드에 대한 조건을 나타내는 정보를 포함할 수 있다. 예를 들어, 제1 업로드 URL은, 제1 업로드 URL 생성 시점, 제1 업로드 만료 시점(또는 제1 업로드 가능 기간), 컨텐츠 업로드를 요청하는 서비스를 나타내는 어플리케이션 식별 정보, 컨텐츠가 업로드될 스토리지 서버를 나타내는 정보, 또는 업로드 권한을 가지는 전자 장치에 대한 식별 정보(예: IMEI, UID, 가입자 ID, 또는 전화번호) 중 적어도 하나를 포함할 수 있다. 제1 업로드 만료 시점은, 제1 업로드 URL 생성 시점에 기초하여 설정될 수 있다. 제2 업로드 위치 정보는, 제2 서버(예: 도 1의 제2 서버(130)), 및/또는 제2 서버의 스토리지 서버(예: 도 1의 스토리지 서버(134))를 향하도록 구성된 제2 업로드 URL을 포함할 수 있다. 제2 업로드 URL은, 제2 서버의 스토리지 서버(예: 도 1의 스토리지 서버(134)) 내에서 컨텐츠가 업로드될 저장 위치, 제2 업로드 URL 생성 시점, 제2 업로드 만료 시점(또는 제2 업로드 가능 기간), 또는 제2 서버의 스토리지 서버(예: 도 1의 스토리지 서버(134))에 대한 접근 키 값 중 적어도 하나를 포함할 수 있다. 제2 업로드 만료 시점은, 제2 업로드 URL 생성 시점에 기초하여 설정될 수 있다. 제1 다운로드 위치 정보는, 제1 서버(예: 도 1의 제1 서버(120)), 및/또는 제1 서버의 URL 관리 서버(예: 도 1의 URL 관리 서버(124))를 향하도록 구성된 제1 다운로드 URL을 포함할 수 있다. 제1 다운로드 URL은, 컨텐츠 다운로드에 대한 조건을 나타내는 정보를 포함할 수 있다. 예를 들어, 제1 다운로드 URL은, 제1 다운로드 URL 생성 시점, 제1 다운로드 만료 시점(제1 다운로드 가능 기간), 최대 다운로드 횟수, 컨텐츠 다운로드를 요청하는 서비스를 나타내는 어플리케이션 식별 정보, 다운로드할 컨텐츠가 저장된 스토리지 서버를 나타내는 정보, 또는 다운로드 권한을 가지는 전자 장치에 대한 식별 정보(예: IMEI, UID(unique ID), 가입자 ID, 또는 전화번호) 중 적어도 하나를 포함할 수 있다. 제1 다운로드 만료 시점은, 제1 다운로드 URL 생성 시점에 기초하여 설정될 수 있다. 다운로드 권한을 가지는 전자 장치에 대한 식별 정보는, 컨텐츠를 업로드한 전자 장치에 의해 결정될 수 있다. 일실시예에 따르면, 컨텐츠 업로드 및/또는 다운로드를 위한 위치 정보는, 제1 업로드 위치 정보와 제1 다운로드 위치 정보를 포함하거나, 제2 업로드 위치 정보와 제1 다운로드 위치 정보를 포함할 수 있다. 일실시예에 따르면, 컨텐츠 업로드 및/또는 다운로드를 위한 위치 정보는, 지정된 방식으로 암호화되어 수신될 수 있다. 프로세서(220)는 지정된 방식으로 암호화된 컨텐츠 업로드 및/또는 다운로드를 위한 위치 정보를 해독(decryption)함으로써, 제1 업로드 위치 정보와 제1 다운로드 위치 정보를 획득하거나, 제2 업로드 위치 정보와 제1 다운로드 위치 정보를 획득할 수 있다. 일실시예에 따르면, 프로세서(220)는 컨텐츠 업로드/다운로드를 위한 위치 정보 요청 신호 전송에 대한 응답으로, 제1 서버(예: 도 1의 제1 서버(120), 또는 요청 관리 서버(124))로부터 업로드/다운로드 불가능 신호를 수신할 수 있다. 업로드/다운로드 불가능 신호는, 업로드/다운로드를 위한 위치 정보 요청 신호가 유효한 신호가 아님을 나타내는 정보를 포함할 수 있다. 예를 들어, 유효한 신호가 아님을 나타내는 정보는, 전자 장치(201)가 정상적인 가입자가 아님을 나타내는 정보, 또는 파라미터 오류를 나타내는 정보 중 적어도 하나를 포함할 수 있다. 프로세서(220)는 업로드/다운로드 불가능 신호가 수신된 경우, 표시 장치(260)를 제어하여 업로드/다운로드가 불가능함을 나타내는 정보를 표시할 수 있다.
다양한 실시예들에 따르면, 프로세서(220)는 제1 업로드 위치 정보에 기초하여 제2 업로드 위치 정보를 획득할 수 있다. 일실시예에 따르면, 프로세서(2200)는 제1 업로드 위치 정보를 포함하는 신호를 제1 서버(예: 도 1의 제1 서버(120), 또는 URL 관리 서버(124))로 전송할 수 있다. 제1 업로드 위치 정보를 포함하는 신호는, 예를 들어, 제2 업로드 위치 정보를 요청하는 신호, 제1 업로드 위치 정보의 해석을 요청하는 신호, 또는 컨텐츠 업로드를 요청하는 신호 중 적어도 하나를 포함할 수 있다. 일실시예에 따르면, 프로세서(220)는 컨텐츠 업로드 이벤트 발생, 컨텐츠 업로드를 위한 사용자 입력 감지, 제1 업로드 위치 정보에 대한 사용자 입력 감지, 또는 제1 업로드 위치 정보 수신 중 적어도 하나에 대한 응답으로, 제1 업로드 위치 정보를 포함하는 신호를 제1 서버(예: 도 1의 제1 서버(120), 또는 제1 URL 관리 서버(124))로 전송할 수 있다. 일실시예에 따르면, 프로세서(220)는 제1 업로드 위치 정보를 포함하는 신호를 전송한 것에 대한 응답으로, 제1 서버(예: 도 1의 제1 서버(120), 또는 제1 URL 관리 서버(124))로부터 제2 업로드 위치 정보를 수신할 수 있다. 일실시예에 따르면, 프로세서(220)는 제1 업로드 위치 정보를 포함하는 신호를 전송한 것에 대한 응답으로, 제1 서버(예: 도 1의 제1 서버(120), 또는 제1 URL 관리 서버(124))로부터 업로드 거절 신호를 수신할 수 있다. 업로드 거절 신호는, 업로드 거절 이유를 나타내는 정보를 포함할 수 있다. 업로드 거절 이유를 나타내는 정보는, 제1 업로드 위치 정보가 변조됨, 제1 업로드 가능 기간이 만료됨, 또는 업로드 권한 없음 중 적어도 하나를 나타낼 수 있다. 프로세서(220)는 업로드 거절 신호가 수신된 경우, 표시 장치(260)를 제어하여 업로드 실패를 나타내는 정보를 표시할 수 있다.
다양한 실시예들에 따르면, 프로세서(220)는 제2 업로드 위치 정보를 이용하여 제2 서버(예: 도 1의 제2 서버(130), 스토리지 서버(132), 또는 CDN 서버(134))에 직접 접근하여 컨텐츠를 업로드할 수 있다. 일실시예에 따르면, 프로세서(220)는 제1 서버(예: 도 1의 제1 서버(120), 요청 관리 서버(122), 또는 제1 URL 관리 서버(124))로부터 제2 업로드 위치 정보가 수신되면, 이에 대한 응답으로 제2 업로드 위치 정보를 기반으로 제2 서버(예: 도 1의 제2 서버(130), 스토리지 서버(132), 또는 CDN 서버(134))에 직접 접근하여 컨텐츠를 업로드할 수 있다. 예를 들어, 프로세서(220)는 제2 업로드 위치 정보와 업로드될 컨텐츠를 포함하는 컨텐츠 업로드 요청 신호를 제2 서버(예: 도 1의 제2 서버(130), 스토리지 서버(132), 또는 CDN 서버(134))로 전송할 수 있다. 일실시예에 따르면, 프로세서(220)는 컨텐츠 업로드 요청 신호에 대한 응답으로, 컨텐츠 업로드 완료 신호 또는 컨텐츠 업로드 실패 신호 중 적어도 하나를 수신할 수 있다. 프로세서(220)는 제2 서버(예: 도 1의 제2 서버(130), 또는 스토리지 서버(132))로부터 컨텐츠 업로드 완료 신호가 수신된 경우, 표시 장치(260)를 제어하여 컨텐츠 업로드가 완료되었음을 나타내는 정보를 표시할 수 있다. 다른 예로, 프로세서(220)는 제2 서버(예: 도 1의 제2 서버(130), 또는 스토리지 서버(132))로부터 컨텐츠 업로드 실패 신호가 수신된 경우, 표시 장치(260)를 제어하여 컨텐츠 업로드가 실패되었음을 나타내는 정보를 표시할 수 있다. 컨텐츠 업로드 실패 신호는, 제2 업로드 위치 정보가 변조됨, 제2 업로드 가능 기간이 만료됨, 또는 업로드 권한 없음 중 적어도 하나를 나타내는 정보를 포함할 수 있다. 프로세서(220)는 업로드 실패 신호가 수신된 경우, 표시 장치(260)를 제어하여 업로드 실패를 나타내는 정보를 표시할 수 있다.
다양한 실시예들에 따르면, 프로세서(220)는 적어도 하나의 다른 전자 장치로부터 컨텐츠 다운로드를 위한 제1 다운로드 위치 정보를 수신할 수 있다. 일실시예에 따르면, 제1 다운로드 위치 정보는 별도의 공유 서버(미도시)를 통해 수신될 수 있다. 일실시예에 따르면, 프로세서(220)는 적어도 하나의 다른 전자 장치로부터 다운로드할 컨텐츠에 대한 정보를 추가로 수신할 수 있다. 예를 들어, 프로세서(220)는 적어도 하나의 다른 전자 장치로부터, 적어도 하나의 다른 전자 장치가 공유하고자 하는 컨텐츠의 정보와 해당 컨텐츠의 다운로드를 위한 제1 다운로드 위치 정보를 수신할 수 있다. 컨텐츠의 정보는, 예를 들어, 컨텐츠에 대한 식별 정보(예: 컨텐츠 ID, 또는 컨텐츠 명칭), 또는 컨텐츠에 대한 썸네일 이미지 중 적어도 하나를 포함할 수 있다. 프로세서(220)는 표시 장치(260)를 제어하여 수신된 제1 다운로드 위치 정보와 컨텐츠 정보를 표시할 수 있다.
다양한 실시예에 따르면, 프로세서(220)는 제1 다운로드 위치 정보에 기초하여 제2 다운로드 위치 정보를 획득할 수 있다. 일실시예에 따르면, 프로세서(2200)는 제1 다운로드 위치 정보를 포함하는 신호를 제1 서버(예: 도 1의 제1 서버(120), 또는 URL 관리 서버(124))로 전송할 수 있다. 제1 다운로드 위치 정보를 포함하는 신호는, 예를 들어, 제2 다운로드 위치 정보를 요청하는 신호, 제1 다운로드 위치 정보의 해석을 요청하는 신호, 또는 컨텐츠 다운로드를 요청하는 신호 중 적어도 하나를 포함할 수 있다. 일실시예에 따르면, 프로세서(220)는 컨텐츠 다운로드 이벤트 발생, 컨텐츠 다운로드를 위한 사용자 입력 감지, 제1 다운로드 위치 정보에 대한 사용자 입력 감지, 또는 제1 다운로드 위치 정보 수신 중 적어도 하나에 대한 응답으로, 제1 다운로드 위치 정보를 포함하는 신호를 제1 서버(예: 도 1의 제1 서버(120), 또는 제1 URL 관리 서버(124))로 전송할 수 있다. 일실시예에 따르면, 프로세서(220)는 제1 다운로드 위치 정보를 포함하는 신호를 전송한 것에 대한 응답으로, 제1 서버(예: 도 1의 제1 서버(120), 또는 제1 URL 관리 서버(124))로부터 제2 다운로드 위치 정보를 수신할 수 있다. 제2 다운로드 위치 정보는, 제2 서버(예: 도 1의 제2 서버(130), 스토리지 서버(132), 또는 CDN 서버(134))를 향하도록 구성된 제2 다운로드 URL을 포함할 수 있다. 제2 다운로드 URL은, 다운로드할 컨텐츠가 저장된 위치, 제2 다운로드 URL 생성 시점, 제2 다운로드 만료 기간, 또는 제2 서버에 대한 접근 키 값 중 적어도 하나를 포함할 수 있다. 일실시예에 따르면, 프로세서(220)는 제1 다운로드 위치 정보를 포함하는 신호를 전송한 것에 대한 응답으로, 제1 서버(예: 도 1의 제1 서버(120), 또는 제1 URL 관리 서버(124))로부터 다운로드 거절 신호를 수신할 수 있다. 다운로드 거절 신호는, 다운로드 거절 이유를 나타내는 정보를 포함할 수 있다. 다운로드 거절 이유를 나타내는 정보는, 제1 다운로드 위치 정보가 변조됨, 제1 다운로드 가능 기간이 만료됨, 또는 다운로드 권한 없음 중 적어도 하나를 나타낼 수 있다. 프로세서(220)는 다운로드 거절 신호가 수신된 경우, 표시 장치(260)를 제어하여 다운로드 실패를 나타내는 정보를 표시할 수 있다.
다양한 실시예들에 따르면, 프로세서(220)는 제2 다운로드 위치 정보를 이용하여 제2 서버(예: 도 1의 제2 서버(130), 스토리지 서버(132), 또는 CDN 서버(134))에 직접 접근하여 컨텐츠를 다운로드할 수 있다. 일실시예에 따르면, 프로세서(220)는 제1 서버(예: 도 1의 제1 서버(120), 요청 관리 서버(122), 또는 제1 URL 관리 서버(124))로부터 제2 다운로드 위치 정보가 수신되면, 이에 대한 응답으로 제2 다운로드 위치 정보를 기반으로 제2 서버(예: 도 1의 제2 서버(130), 스토리지 서버(132), 또는 CDN 서버(134))에 직접 접근하여 컨텐츠를 다운로드할 수 있다. 예를 들어, 프로세서(220)는 제2 다운로드 위치 정보를 포함하는 컨텐츠 다운로드 요청 신호를 제2 서버(예: 도 1의 제2 서버(130), 스토리지 서버(132), 또는 CDN 서버(134))로 전송할 수 있다. 일실시예에 따르면, 프로세서(220)는 컨텐츠 다운로드 요청 신호에 대한 응답으로, 컨텐츠 다운로드 완료 신호 또는 컨텐츠 다운로드 실패 신호 중 적어도 하나를 수신할 수 있다. 프로세서(220)는 제2 서버(예: 도 1의 제2 서버(130), 또는 스토리지 서버(132))로부터 컨텐츠 다운로드 완료 신호가 수신된 경우, 표시 장치(260)를 제어하여 컨텐츠 다운로드가 완료되었음을 나타내는 정보를 표시할 수 있다. 다른 예로, 프로세서(220)는 제2 서버(예: 도 1의 제2 서버(130), 또는 스토리지 서버(132))로부터 컨텐츠 다운로드 실패 신호가 수신된 경우, 표시 장치(260)를 제어하여 컨텐츠 다운로드가 실패되었음을 나타내는 정보를 표시할 수 있다. 컨텐츠 다운로드 실패 신호는, 제2 다운로드 위치 정보가 변조됨, 제2 다운로드 가능 기간이 만료됨, 또는 다운로드 권한 없음 중 적어도 하나를 나타내는 정보를 포함할 수 있다. 프로세서(220)는 다운로드 실패 신호가 수신된 경우, 표시 장치(260)를 제어하여 다운로드 실패를 나타내는 정보를 표시할 수 있다.
도 3은 본 발명의 다양한 실시예들에 따른 제1 서버의 블록도(300)이다. 도 3의 제1 서버(301)는, 도 1의 제1 서버(120)일 수 있다.
도 3을 참조하면, 제1 서버(301)는 버스(310), 프로세서(320), 메모리(330), 및 통신 모듈(340)을 포함할 수 있다. 어떤 실시예에서는, 제1 서버(301)는, 구성요소들 중 적어도 하나를 생략하거나 다른 구성요소를 추가적으로 구비할 수 있다.
다양한 실시예에 따르면, 버스(310)는 예를 들면, 구성요소들(320 내지 340)을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다.
다양한 실시예에 따르면, 프로세서(320)는 메모리(330)에 포함된 소프트웨어를 구동하여 프로세서(320)에 연결된 제1 서버(301)의 적어도 하나의 다른 구성 요소를 제어할 수 있다.
다양한 실시예들에 따르면, 프로세서(320)는 요청 관리부(321), 및 제1 URL 생성 및 해석부(324)를 포함할 수 있다. 일 실시예에 따르면, 요청 관리부(321)는 URL 요청 해석부(322), 및 제2 URL 생성부(324)를 포함할 수 있다.
다양한 실시예들에 따르면, 요청 관리부(321)의 URL 요청 해석부(322)는 적어도 하나의 전자 장치(예: 도 1의 전자 장치(101), 도 2의 전자 장치(201), 또는 도 2의 전자 장치(202))로부터 컨텐츠 업로드/다운로드를 위한 위치 정보 요청 신호를 수신할 수 있다. 일실시예에 따르면, 위치 정보 요청 신호는, 업로드할 컨텐츠에 대한 정보, 전자 장치의 식별 정보, 어플리케이션 식별 정보(예: app_id), 또는 업로드/다운로드 경로 설정 규칙에 관련된 템플릿 식별 정보(예: template_id) 중 적어도 하나를 포함할 수 있다. 일실시예에 따르면, URL 요청 해석부(322)는 컨텐츠 업로드/다운로드를 위한 위치 정보 요청 신호가 유효한 요청 신호인지 여부를 결정할 수 있다. 예를 들어, URL 요청 해석부(322)는 컨텐츠 업로드/다운로드를 위한 위치 정보 요청 신호에 포함된 적어도 하나의 파라미터에 기초하여 유효한 요청 신호인지 여부를 결정할 수 있다. 예컨대, URL 요청 해석부(322)는 컨텐츠 업로드/다운로드를 위한 위치 정보 요청 신호에, 업로드할 컨텐츠에 대한 정보, 전자 장치의 식별 정보, 어플리케이션 식별 정보(예: app_id), 및 업로드/다운로드 경로 설정 규칙에 관련된 템플릿 식별 정보(예: template_id)와 같은 지정된 파라미터들이 모두 포함되어 있는지 여부 검사하고, 검사 결과에 기초하여 해당 요청 신호가 유효한 요청 신호인지 여부를 결정할 수 있다. 다른 예로, URL 요청 해석부(322)는 업로드할 컨텐츠에 대한 정보(예: 컨텐츠 명칭)가 지정된 조건(예: 명칭에 대한 규칙을 나타내는 조건)을 만족하는지 여부에 기초하여, 해당 요청 신호가 유효한 요청 신호인지 여부를 결정할 수 있다. 또 다른 예로, URL 요청 해석부(322)는 컨텐츠 업로드/다운로드를 위한 위치 정보 요청 신호에 포함된 파라미터들 중 오류가 발생된 파라미터가 존재하는지 여부에 기초하여, 해당 요청 신호가 유효한 요청 신호인지 여부를 결정할 수 있다. 일실시예에 따르면, URL 요청 해석부(322)는 컨텐츠 업로드/다운로드를 위한 위치 정보 요청 신호가 유효한 요청 신호인 경우, 템플릿 식별 정보에 기초하여 제1 업로드 위치 정보 또는 제1 다운로드 위치 정보 생성에 이용되는 규칙을 결정할 수 있다. 예를 들어, URL 요청 해석부(322)는 기 저장된 복수의 경로 설정 규칙들 중에서 템플릿 식별 정보에 대응되는 경로 설정 규칙을 선택할 수 있다. 예를 들어, 경로 설정 규칙은, 컨텐츠 업로드 및/또는 다운로드 경로에 CDN 서버(예: 도 1의 CND 서버(134))를 포함시킬지 여부를 나타내는 정보, 또는 컨텐츠 업로드 및/또는 다운로드할 대상 서버(예: 특정 사업자의 스토리지 서버)를 나타내는 정보를 포함할 수 있다. 일실시예에 따르면, URL 요청 해석부(322)는 지정된 규칙(또는 정책)에 기초하여 제1 업로드 가능 기간, 제1 다운로드 가능 기간, 또는 최대 다운로드 횟수 중 적어도 하나를 결정할 수 있다. 제1 업로드 가능 기간은, 제1 업로드 위치 정보 생성 시점에 기초한 기간으로 정의될 수 있다. 제1 다운로드 가능 기간은, 제1 다운로드 위치 정보 생성 시점에 기초한 기간으로 정의될 수 있다. 일실시예에 따르면, URL 요청 해석부(322)는 컨텐츠 업로드/다운로드를 위한 위치 정보 요청 신호가 유효한 요청 신호인 경우, 업로드할 컨텐츠에 대한 정보, 전자 장치 식별 정보, 어플리케이션 식별 정보, 템플릿 식별 정보, 템플릿 식별 정보에 대응되는 경로 설정 규칙, 업로드 경로 설정 규칙, 제1 업로드 가능 기간, 제1 다운로드 가능 기간, 최대 다운로드 횟수, 또는 업로드 및/또는 다운로드할 대상 서버를 나타내는 정보 중 적어도 하나를 제1 URL 생성 및 해석부(324) 및/또는 제2 URL 생성부(316)로 전달하여, 컨텐츠 업로드 및/또는 다운로드를 위한 위치 정보 생성을 요청할 수 있다. 일실시예에 따르면, URL 요청 해석부(322)는 컨텐츠 업로드/다운로드를 위한 위치 정보 요청 신호가 유효한 요청 신호가 아닌 경우, 통신 모듈(340)을 제어하여 적어도 하나의 전자 장치(예: 도 1의 전자 장치(101), 또는 전자 장치(201), 전자 장치(202))로 컨텐츠 업로드/다운로드가 불가능함을 나타내는 신호를 전송할 수 있다. 일실시예에 따르면, 컨텐츠 업로드/다운로드가 불가능함을 나타내는 신호는, 컨텐츠 업로드/다운로드가 불가능 원인을 나타내는 정보(예: 정상적인 가입자가 아님을 나타내는 정보, 또는 파라미터 오류를 나타내는 정보)를 포함할 수 있다.
다양한 실시예들에 따르면, 제1 URL 생성 및 해석부(324)는 URL 요청 해석부(322)로부터의 컨텐츠 업로드 및/또는 다운로드를 위한 위치 정보 생성 요청에 응답하여, 컨텐츠 업로드 및/또는 다운로드를 위한 제1 업로드 위치 정보, 또는 제1 다운로드 위치 정보 중 적어도 하나를 생성할 수 있다. 일실시예 따르면, 제1 URL 생성 및 해석부(324)는 제1 서버(301)의 컨텐츠 업로드/다운로드 정책, 또는 제2 서버(예: 도 1의 제2 서버(130))의 컨텐츠 업로드/다운로드 정책 중 적어도 하나에 기초하여, 제1 업로드 위치 정보, 또는 제1 다운로드 위치 정보 중 적어도 하나를 생성할 수 있다. 일실시예에 따르면, 제1 URL 생성 및 해석부(324)는 컨텐츠 업로드 및/또는 다운로드를 위한 위치 정보 생성 요청 신호와 함께 수신된 정보에 기초하여 제1 업로드 위치 정보, 또는 제1 다운로드 위치 정보 중 적어도 하나를 생성할 수 있다. 제1 업로드 위치 정보는, 예를 들어, 제1 서버(301)를 향하도록 구성된 제1 업로드 URL을 포함할 수 있다. 제1 업로드 URL은, 컨텐츠 업로드에 대한 조건을 나타내는 정보, 예컨대, 제1 업로드 URL 생성 시점, 제1 업로드 만료 시점(또는 제1 업로드 가능 기간), 어플리케이션 식별 정보, 컨텐츠가 업로드될 스토리지 서버를 나타내는 정보, 또는 업로드 권한을 가지는 전자 장치에 대한 식별 정보(예: IMEI, UID, 가입자 ID, 또는 전화번호) 중 적어도 하나를 포함할 수 있다. 업로드 권한을 가지는 전자 장치는, 컨텐츠 업로드/다운로드를 위한 위치 정보 요청 신호를 전송한 전자 장치일 수 있다. 제1 다운로드 위치 정보는, 예를 들어, 제1 서버(301)를 향하도록 구성된 제1 다운로드 URL을 포함할 수 있다. 제1 다운로드 URL은, 컨텐츠 다운로드에 대한 조건을 나타내는 정보, 예컨대, 제1 업로드 URL 생성 시점, 제1 다운로드 만료 시점(제1 다운로드 가능 기간), 최대 다운로드 횟수, 컨텐츠 다운로드를 요청하는 서비스를 나타내는 어플리케이션 식별 정보, 다운로드할 컨텐츠가 저장된 스토리지 서버를 나타내는 정보, 또는 다운로드 권한을 가지는 전자 장치에 대한 식별 정보(예: IMEI, UID(unique ID), 가입자 ID, 또는 전화번호) 중 적어도 하나를 포함할 수 있다. 다운로드 권한을 가지는 전자 장치에 대한 식별 정보는, 컨텐츠를 업로드한 전자 장치, 또는 공유 서버 중 적어도 하나로부터 수신될 수 있다. 예를 들어, 다운로드 권한을 가지는 전자 장치에 대한 식별 정보는, 컨텐츠 공유 이벤트 발생 시에 전자 장치로부터 수신되거나, 공유 서버로부터 수신될 수 있다. 일실시예에 따르면, 제1 URL 생성 및 해석부(324)는 생성된 제1 업로드 위치 정보, 또는 제1 다운로드 위치 정보 중 적어도 하나를 요청 관리부(321)의 URL 요청 해석부(322)로 제공할 수 있다.
다양한실시예에 따르면, 제2 URL 생성부(326)는 URL 요청 해석부(322)로부터의 컨텐츠 업로드 및/또는 다운로드를 위한 위치 정보 생성 요청 신호와 함께 수신된 정보들에 기초하여, 제2 서버(예: 도 1의 제2 서버(130))에 컨텐츠 업로드를 위한 제2 업로드 위치 정보의 생성을 요청하고, 제2 서버(예: 도 1의 제2 서버(130))로부터 제2 업로드 위치 정보를 수신할 수 있다. 제2 업로드 위치 정보는, 제2 서버(예: 도 1의 제2 서버(130))를 향하도록 구성된 제2 업로드 URL을 포함할 수 있다. 제2 업로드 URL은, 제2 서버(예: 도 1의 스토리지 서버(134)) 내에서 컨텐츠가 업로드될 저장 위치, 제2 업로드 URL 생성 시점, 제2 업로드 만료 시점(또는 제2 업로드 가능 기간), 또는 제2 서버에 대한 접근 키 값 중 적어도 하나를 포함할 수 있다. 제2 업로드 만료 시점은, 제2 업로드 URL 생성 시점에 기초하여 설정될 수 있다. 일실시예에 따르면, 제2 URL 생성부(326)는 생성된 제2 업로드 위치 정보를 URL 요청 해석부(322)로 제공할 수 있다. 다양한 실시예들에 따르면, URL 요청 해석부(322)는 제1 URL 생성 및 해석부(324) 및/또는 제2 URL 생성부(326)에서 생성된 제1 업로드 위치 정보, 제2 업로드 위치 정보, 또는 제1 다운로드 위치 정보 중 적어도 하나를 포함하는 응답 신호를 생성하고, 통신 모듈(340)을 제어하여 응답 신호를 전자 장치(예: 도 1의 전자 장치(101), 도 2의 전자 장치(201), 또는 도 2의 전자 장치(202))로 전송할 수 있다. 컨텐츠 업로드 및/또는 다운로드를 위한 위치 정보 생성 요청에 대한 응답 신호는, 제1 업로드 위치 정보와 제1 다운로드 위치 정보를 포함하거나, 제2 업로드 위치 정보와 제1 다운로드 위치 정보를 포함할 수 있다. 일실시예에 따르면, 제1 업로드 위치 정보, 제1 다운로드 위치 정보, 또는 제2 업로드 위치 정보 중 적어도 하나는 지정된 암호화 방식에 기초하여 암호화된 후 전자 장치로 전송될 수 있다..
다양한 실시예들에 따르면, 제1 URL 생성 및 해석부(324)는 적어도 하나의 전자 장치로부터 제1 업로드 위치 정보를 포함하는 신호를 수신하고, 수신된 신호에 기초하여 제1 업로드 위치 정보의 유효성을 검사할 수 있다. 제1 업로드 위치 정보를 포함하는 신호는, 예를 들어, 제2 업로드 위치 정보를 요청하는 신호, 제1 업로드 위치 정보의 해석을 요청하는 신호, 또는 컨텐츠 업로드를 요청하는 신호 중 적어도 하나를 포함할 수 있다. 일실시예에 따르면, 제1 URL 생성 및 해석부(324)는 제1 업로드 위치 정보를 포함하는 신호가 수신되면, 제1 업로드 위치 정보를 포함하는 신호를 해석하여 유효한 신호인지 여부를 결정할 수 있다. 제1 URL 생성 및 해석부(324)는 제1 업로드 위치 정보에 포함된 정보에 기초하여, 유효성 여부를 결정할 수 있다. 예를 들어, URL 생성 및 해석부(324)는 제1 업로드 위치 정보에 포함된 적어도 하나의 정보가 변조되었는지 여부를 결정할 수 있다. 제 1 URL 생성 및 해석부(324)는 적어도 하나의 정보가 변조된 경우, 제1 업로드 위치 정보를 포함하는 수신된 신호가 유효하지 않은 신호인 것으로 결정할 수 있다. 제1 URL 생성 및 해석부(324)는 적어도 하나의 정보가 변조되지 않은 경우, 제1 업로드 위치 정보에 포함된 제1 업로드 URL 생성 시점, 제1 업로드 만료 시점(또는 제1 업로드 가능 기간), 또는 업로드 권한을 갖는 전자 장치에 대한 식별 정보 중 적어도 하나에 기초하여 유효성을 검사할 수 있다. 제1 URL 생성 및 해석부(324)는 제1 업로드 만료 시점이 경과되기 이전에 제1 업로드 위치 정보를 이용한 컨텐츠 업로드 요청이 발생되고, 해당 전자 장치가 업로드 권한을 갖는 전자 장치인 것으로 결정된 경우, 수신된 신호가 유효한 신호인 것으로 결정할 수 있다. 제1 URL 생성 및 해석부(324)는 제1 업로드 만료 시점이 경과된 이후에 제1 업로드 위치 정보를 이용한 컨텐츠 업로드 요청이 발생되거나, 해당 전자 장치가 업로드 권한을 갖는 전자 장치가 아닌 것으로 결정된 경우, 수신된 신호가 유효하지 않은 신호인 것으로 결정할 수 있다. 일실시예에 따르면, 제1 URL 생성 및 해석부(324)는 제1 업로드 위치 정보를 포함하는 신호가 유효한 신호인 것으로 확인되면, 요청 관리부(321)의 제2 URL 생성부(326)로 제2 업로드 위치 정보 생성을 요청할 수 있다. 일실시예에 따르면, 제1 URL 생성 및 해석부(324)는 제1 업로드 위치 정보를 포함하는 신호가 유효하지 않은 경우, 해당 전자 장치로 업로드 거절 신호를 전송할 수 있다. 업로드 거절 신호는, 업로드 거절 이유를 나타내는 정보, 예를 들어, 제1 업로드 위치 정보가 변조됨, 제1 업로드 가능 기간이 만료됨, 또는 업로드 권한 없음 중 적어도 하나를 나타낼 수 있다.
다양한 실시예들에 따르면, 제2 URL 생성부(326)는 제1 URL 생성 및 해석부(324)로부터의 요청에 기초하여, 제2 서버(예: 도 1의 제2 서버(130))와 통신하여 제2 업로드 위치 정보를 획득할 수 있다. 예를 들어, 제2 URL 생성부(326)는 제2 서버(예: 도 1의 제2 서버(130))로 컨텐츠 업로드를 위한 제2 업로드 위치 정보를 요청하고, 제2 서버(예: 도 1의 제2 서버(130))로부터 제2 업로드 위치 정보를 수신할 수 있다. 일실시예에 따르면, 제2 URL 생성부(326)는 제2 서버(예: 도 1의 제2 서버(130))로부터 수신된 제2 업로드 위치 정보를 포함하는 응답 신호를 적어도 하나의 전자 장치로 전송할 수 있다. 제2 업로드 위치 정보를 포함하는 응답 신호는, 해당 응답 신호를 수신한 전자 장치가 제2 업로드 위치 정보를 이용하여 자동으로 제2 서버(예: 도 1의 제2 서버(130))에 접속하도록 하는 리다이렉트(redirect) 응답 신호일 수 있다. 예를 들어, 제2 URL 생성부(326)는 헤더에 제2 업로드 위치 정보를 포함하는 HTTP의 리다이렉트 응답 신호(예: HTTP 3xx)를 생성하고, 생성된 리다이렉트 응답 신호를 적어도 하나의 전자 장치로 전송할 수 있다. 3xx는, 예를 들어, 300 내지 308 중 어느 하나의 값일 수 있다. 이는 예시적인 것으로서, 본 발명의 다양한 실시예는 이에 한정되지 않을 것이다.
다양한 실시예들에 따르면, 제1 URL 생성 및 해석부(324)는 적어도 하나의 전자 장치로부터 제1 다운로드 위치 정보를 포함하는 신호를 수신하고, 수신된 신호에 기초하여 제2 다운로드 위치 정보를 획득할 수 있다. 제1 다운로드 위치 정보를 포함하는 신호는, 예를 들어, 제2 다운로드 위치 정보를 요청하는 신호, 제1 다운로드 위치 정보의 해석을 요청하는 신호, 또는 컨텐츠 다운로드를 요청하는 신호 중 적어도 하나를 포함할 수 있다. 일실시예에 따르면, 제1 URL 생성 및 해석부(324)는 제1 다운로드 위치 정보를 포함하는 신호가 수신되면, 제1 다운로드 위치 정보를 포함하는 신호를 해석하여 유효한 신호인지 여부를 결정할 수 있다. 제1 URL 생성 및 해석부(324)는 제1 다운로드 위치 정보에 포함된 정보에 기초하여, 제1 다운로드 위치 정보의 유효성 여부를 결정할 수 있다. 예를 들어, 제1 URL 생성 및 해석부(324)는 제1 다운로드 위치 정보에 포함된 적어도 하나의 정보가 변조되었는지 여부를 결정할 수 있다. 제1 URL 생성 및 해석부(324)는 적어도 하나의 정보가 변조된 경우, 제1 다운로드 위치 정보를 포함하는 수신된 신호가 유효하지 않은 신호인 것으로 결정할 수 있다. 제1 URL 생성 및 해석부(324)는 적어도 하나의 정보가 변조되지 않은 경우, 제1 다운로드 위치 정보에 포함된 적어도 하나의 조건이 만족되는지 여부에 기초하여 제1 다운로드 위치 정보를 포함하는 수신된 신호의 유효성을 검사할 수 있다. 예컨대, 제1 URL 생성 및 해석부(324)는 제1 다운로드 위치 정보에 포함된 제1 다운로드 URL 생성 시점, 제1 다운로드 만료 시점(또는 제1 업로드 가능 기간), 최대 다운로드 횟수, 또는 다운로드 권한을 갖는 전자 장치에 대한 식별정보 중 적어도 하나에 기초하여 유효성을 검사할 수 있다. 제1 URL 생성 및 해석부(324)는 제1 다운로드 만료 시점이 경과되기 이전에 제1 다운로드 위치 정보를 이용한 컨텐츠 다운로드 요청이 발생되고, 해당 컨텐츠에 대한 최대 다운로드 횟수가 초과되지 않고, 해당 전자 장치가 다운로드 권한을 갖는 전자 장치인 것으로 결정된 경우, 수신된 신호가 유효한 신호인 것으로 결정할 수 있다. 제1 URL 생성 및 해석부(324)는 제1 다운로드 만료 시점이 경과된 이후에 제1 다운로드 위치 정보를 이용한 컨텐츠 다운로드 요청이 발생되거나, 해당 컨텐츠에 대한 최대 다운로드 횟수가 초과되거나, 해당 전자 장치가 다운로드 권한을 갖는 전자 장치가 아닌 것으로 결정된 경우, 수신된 신호가 유효하지 않은 신호인 것으로 결정할 수 있다. 일실시예에 따르면, URL 생성 및 해석부(324)는 제1 다운로드 위치 정보를 포함하는 신호가 유효한 신호인 것으로 확인되면, 요청 관리부(321)의 제2 URL 생성부(326)로 제2 다운로드 위치 정보 생성을 요청할 수 있다. 일실시예에 따르면, URL 생성 및 해석부(324)는 제1 다운로드 위치 정보를 포함하는 신호가 유효하지 않은 경우, 해당 전자 장치로 다운로드 거절 신호를 전송할 수 있다. 다운로드 거절 신호는, 다운로드 거절 이유를 나타내는 정보, 예를 들어, 제1 다운로드 위치 정보가 변조됨, 제1 다운로드 가능 기간이 만료됨, 또는 다운로드 권한 없음 중 적어도 하나를 나타낼 수 있다.
다양한 실시예들에 따르면, 제2 URL 생성부(326)는 제1 URL 생성 및 해석부(324)로부터의 요청에 기초하여, 제2 서버(예: 도 1의 제2 서버(130))와 통신하여 제2 다운로드 위치 정보를 획득할 수 있다. 예를 들어, 제2 URL 생성부(326)는 제2 서버(예: 도 1의 제2 서버(130))로 컨텐츠 다운로드를 위한 제2 다운로드 위치 정보를 요청하고, 제2 서버(예: 도 1의 제2 서버(130))로부터 제2 다운로드 위치 정보를 수신할 수 있다. 일실시예에 따르면, 제2 URL 생성부(326)는 제2 서버(예: 도 1의 제2 서버(130))로부터 수신된 제2 다운로드 위치 정보를 포함하는 응답 신호를 적어도 하나의 전자 장치로 전송할 수 있다. 제2 다운로드 위치 정보를 포함하는 응답 신호는, 해당 응답 신호를 수신한 전자 장치가 제2 다운로드 위치 정보를 이용하여 자동으로 제2 서버(예: 도 1의 제2 서버(130))에 접속하도록 하는 리다이렉트(redirect) 응답 신호일 수 있다. 예를 들어, URL 생성 및 해석부(324)는 헤더에 제2 다운로드 위치 정보를 포함하는 HTTP의 리다이렉트 응답(HTTP 3xx) 신호를 생성하고, 생성된 리다이렉트 응답 신호를 적어도 하나의 전자 장치로 전송할 수 있다.
다양한 실시예에 따르면, 메모리(330)는 소프트웨어(예: 프로그램) 및, 이와 관련된 명령에 대한 입력 데이터 및 출력 데이터를 저장할 수 있다. 일실시예에 따르면, 메모리(330)는 컨텐츠 업로드 및/또는 다운로드에 관련된 정책에 대한 정보를 저장할 수 있다. 예를 들어, 메모리(330)는 제1 업로드 위치 정보에 관련된 규칙, 또는 제1 다운로드 위치 정보에 관련된 규칙 중 적어도 하나를 포함할 수 있다. 일실시예에 따르면, 메모리(330)는 적어도 하나의 전자 장치(예: 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201), 전자 장치(202))의 컨텐츠 업로드/다운로드를 위한 위치 정보 요청에 의해 생성된 제1 업로드 위치 정보, 또는 제2 업로드 위치 정보 중 적어도 하나를 저장할 수 있다.
다양한 실시예들에 따르면, 통신 모듈(340)은 네트워크를 통해 적어도 하나의 전자 장치와 신호 및/또는 데이터를 송수신할 수 있다. 통신 모듈(340)은 제1 서버(301)와 전자 장치 사이의 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 다양한 실시예들에 따르면, 통신 모듈(340)은 제2 서버(예: 도 1의 제2 서버(130))와 신호 및/또는 데이터를 송수신할 수 있다.
상술한 도 3에서는, 도 1의 요청 관리 서버(122)와 URL 관리 서버(124)가 하나의 제1 서버(301)로 구성되는 경우에 대해 설명하였으나, 도 1의 요청 관리 서버(122)와 URL 관리 서버(124)는 물리적 및/또는 논리적으로 구분된 별도의 서버로 구성될 수도 있다. 예를 들어, 도 3의 요청 관리부(321)는 요청 관리 서버(122)에 포함되고, 및 제1 URL 생성 및 해석부(324)는 요청 관리 서버(122)와 논리적 및/또는 물리적으로 구분되는 별도의 URL 관리 서버(124)에 포함될 수 있다.
다양한 실시예들에 따르면, 도 3에 도시되지는 않았으나, 전자 장치로부터 제1 업로드 위치 정보를 포함하는 신호 또는 제1 다운로드 위치 정보를 포함하는 신호를 수신하여 전달하는 URL 프록시는 제1 URL 생성 및 해석부(324)에 포함되거나, 별도의 서버로 구성될 수 있다. URL 프록시가 제1 URL 생성 및 해석부(324)에 포함되는 경우, 제1 URL 생성 및 해석부(324)는 상술한 바와 같이, 제1 업로드 위치 정보 또는 제1 다운로드 위치 정보를 포함하는 신호가 유효한 신호인 것으로 확인한 후, 요청 관리부(321) 또는 요청 관리부(321)의 제2 URL 생성부(326)로 제2 업로드 위치 정보 또는 제2 다운로드 위치 정보 생성을 요청할 수 있다. URL 프록시가 제1 URL 생성 및 해석부(324)에 포함되지 않는 경우, 제1 URL 생성 및 해석부(324)는 제1 업로드 위치 정보 또는 제1 다운로드 위치 정보를 포함하는 신호에 대한 유효성을 검사한 후, URL 프록시로 유효성 검사 결과를 제공하고, URL 프록시가 유효성 검사 결과에 기초하여, 요청 관리부(321) 또는 요청 관리부(321)의 제2 URL 생성부(326)로 제 제2 업로드 위치 정보 또는 제2 다운로드 위치 정보 생성을 요청할 수 있다.
도 4는 본 발명의 다양한 실시예들에 따른 제2 서버의 블록도(400)이다. 도 4의 제2 서버(401)는, 도 1의 제2 서버(130)일 수 있다.
도 4를 참조하면, 제2 서버(401)는 버스(410), 프로세서(420), 메모리(430), 및 통신 모듈(440)을 포함할 수 있다. 어떤 실시예에서는, 제1 서버(401)는, 구성요소들 중 적어도 하나를 생략하거나 다른 구성요소를 추가적으로 구비할 수 있다.
다양한 실시예에 따르면, 버스(410)는 예를 들면, 구성요소들(420 내지 440)을 서로 연결하고, 구성요소들 간의 통신(예: 제어 메시지 및/또는 데이터)을 전달하는 회로를 포함할 수 있다.
다양한 실시예에 따르면, 프로세서(420)는 메모리(430)에 포함된 소프트웨어를 구동하여 프로세서(420)에 연결된 제1 서버(401)의 적어도 하나의 다른 구성 요소를 제어할 수 있다.
다양한 실시예들에 따르면, 프로세서(420)는 URL 생성 및 해석부(422)를 포함할 수 있다.
다양한 실시예들에 따르면, URL 생성 및 해석부(422)는 제1 서버(예: 도 1의 제1 서버(120), 도 3의 제1 서버(301))로부터 제2 업로드 및/또는 다운로드 위치 정보 생성을 요청받고, 제2 업로드 위치 정보 및/또는 제2 다운로드 위치 정보를 생성할 수 있다. 제2 업로드 위치 정보는, 제2 서버(130)를 향하도록 구성된 제2 업로드 URL을 포함할 수 있다. 제2 업로드 URL은, 제2 서버(401)에서 컨텐츠가 업로드될 저장 위치, 제2 업로드 URL 생성 시점, 제2 업로드 만료 기간, 제2 서버(401)에 대한 접근 키 값 중 적어도 하나를 포함할 수 있다. 제2 업로드 만료 기간은, 제2 업로드 URL 생성 시점에 기초하여 설정될 수 있다. 제2 다운로드 위치 정보는, 제2 서버(401)를 향하도록 구성된 제2 다운로드 URL을 포함할 수 있다. 제2 다운로드 URL은, 다운로드할 컨텐츠가 저장된 위치, 제2 다운로드 만료 기간, 또는 제2 서버에 대한 접근 키 값 중 적어도 하나를 포함할 수 있다. 일실시예에 따르면, URL 생성 및 해석부(422)는 생성된 제2 업로드 위치 정보 및/또는 제2 다운로드 위치 정보를 포함하는 신호를 제1 서버(예: 도 1의 제1 서버(120), 도 3의 제1 서버(301))로 전송할 수 있다.
다양한 실시예들에 따르면, URL 생성 및 해석부(422)는 적어도 하나의 전자 장치(예: 도 1의 전자 장치(101), 도 2의 전자 장치(201, 202))로부터 컨텐츠 업로드 요청 신호를 수신할 수 있다. 컨텐츠 업로드 요청 신호는, 제2 업로드 위치 정보와 업로드할 컨텐츠를 포함할 수 있다. 일실시예에 따르면, URL 생성 및 해석부(422)는 컨텐츠 업로드 요청 신호에 포함된 제2 업로드 위치 정보에 기초하여, 컨텐츠 업로드 요청 신호의 유효성을 검사할 수 있다. 예를 들어, URL 생성 및 해석부(422)는 제2 업로드 위치 정보가 변조되었는지 여부를 검사하고, 제2 업로드 위치 정보가 변조된 경우에는 컨텐츠 업로드 요청 신호를 유효하지 않은 신호로 결정할 수 있다. URL 생성 및 해석부(422)는 제2 업로드 위치 정보가 변조되지 않은 경우에는 제2 업로드 만료 기간이 경과하였는지 여부를 검사할 수 있다. URL 생성 및 해석부(422)는 제2 업로드 만료 기간이 경과한 경우, 유효하지 않은 신호로 결정할 수 있다. URL 생성 및 해석부(422)는 제2 업로드 만료 기간이 경과하지 않은 경우, 유효한 신호로 결정할 수 있다. 일실시예에 따르면, URL 생성 및 해석부(422)는 컨텐츠 업로드 요청 신호가 유효한 신호인 경우, 컨텐츠 업로드 요청 신호로부터 컨텐츠를 업로드할 저장 위치를 확인하고, 확인된 저장 위치에 해당 컨텐츠를 저장할 수 있다. 일실시예에 따르면, URL 생성 및 해석부(422)는 컨텐츠를 저장한 후, 전자 장치(예: 도 1의 전자 장치(101), 도 2의 전자 장치(201, 202))로 컨텐츠 업로드 완료 신호를 전송할 수 있다. 일실시예에 따르면, URL 생성 및 해석부(422)는 컨텐츠 업로드 요청 신호가 유효하지 않은 신호인 경우, 컨텐츠 업로드 거절 신호를 전송할 수 있다. 컨텐츠 업로드 거절 신호는, 업로드 거절 이유를 나타내는 정보를 포함할 수 있다. 업로드 거절 이유를 나타내는 정보는, 제2 업로드 위치 정보가 변조됨, 또는 제2 업로드 가능 기간이 만료됨 중 적어도 하나를 나타낼 수 있다.
다양한 실시예들에 따르면, URL 생성 및 해석부(422)는 적어도 하나의 전자 장치(예: 도 1의 전자 장치(101), 도 2의 전자 장치(201, 202))로부터 컨텐츠 다운로드 요청 신호를 수신할 수 있다. 컨텐츠 다운로드 요청 신호는, 제2 다운로드 위치 정보를 포함할 수 있다. 일실시예에 따르면, URL 생성 및 해석부(422)는 컨텐츠 다운로드 요청 신호에 포함된 제2 다운로드 위치 정보에 기초하여, 컨텐츠 다운로드 요청 신호의 유효성을 검사할 수 있다. 예를 들어, URL 생성 및 해석부(422)는 제2 다운로드 위치 정보가 변조되었는지 여부를 검사하고, 제2 다운로드 위치 정보가 변조된 경우에는 컨텐츠 다운로드 요청 신호를 유효하지 않은 신호로 결정할 수 있다. URL 생성 및 해석부(422)는 제2 다운로드 위치 정보가 변조되지 않은 경우에는 제2 다운로드 만료 기간이 경과하였는지 여부를 검사할 수 있다. URL 생성 및 해석부(422)는 제2 다운로드 만료 기간이 경과한 경우, 유효하지 않은 신호로 결정할 수 있다. URL 생성 및 해석부(422)는 제2 다운로드 만료 기간이 경과하지 않은 경우, 유효한 신호로 결정할 수 있다. 일실시예에 따르면, URL 생성 및 해석부(422)는 컨텐츠 다운로드 요청 신호가 유효한 신호인 경우, 컨텐츠 다운로드 요청 신호로부터 다운로드할 컨텐츠가 저장된 위치를 확인하고, 해당 위치에 저장된 컨텐츠를 전자 장치로 전송할 수 있다. 일실시예에 따르면, URL 생성 및 해석부(422)는 컨텐츠 다운로드 요청 신호가 유효하지 않은 신호인 경우, 컨텐츠 다운로드 거절 신호를 전송할 수 있다. 컨텐츠 다운로드 거절 신호는, 다운로드 거절 이유를 나타내는 정보를 포함할 수 있다. 다운로드 거절 이유를 나타내는 정보는, 제2 다운로드 위치 정보가 변조됨, 또는 제2 다운로드 가능 기간이 만료됨 중 적어도 하나를 나타낼 수 있다.
다양한 실시예에 따르면, 메모리(430)는 소프트웨어(예: 프로그램) 및, 이와 관련된 명령에 대한 입력 데이터 및 출력 데이터를 저장할 수 있다. 일실시예에 따르면, 메모리(430)는 컨텐츠 업로드 및/또는 다운로드에 관련된 제2 서버의 정책에 대한 정보를 저장할 수 있다. 예를 들어, 메모리(430)는 제2 업로드 위치 정보에 관련된 규칙, 또는 제2 다운로드 위치 정보에 관련된 규칙 중 적어도 하나를 포함할 수 있다. 일실시예에 따르면, 메모리(430)는 적어도 하나의 전자 장치(예: 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201), 전자 장치(202))로부터 업로드된 컨텐츠를 저장할 수 있다.
다양한 실시예들에 따르면, 통신 모듈(440)은 네트워크를 통해 적어도 하나의 전자 장치와 신호 및/또는 데이터를 송수신할 수 있다. 통신 모듈(440)은 제2 서버(401)와 전자 장치 사이의 무선 통신 채널의 수립, 및 수립된 통신 채널을 통한 통신 수행을 지원할 수 있다. 다양한 실시예들에 따르면, 통신 모듈(440)은 제1 서버(예: 도 1의 제2 서버(130))와 신호 및/또는 데이터를 송수신할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 도 1의 전자 장치(101), 전자 장치(201)는, 통신 모듈(예: 도 2의 통신 모듈(290)), 프로세서(예: 도 2의 프로세서(220))를 포함하고, 상기 프로세서(220)는, 컨텐츠에 관련된 제1 위치 정보를 획득하고, 상기 제1 위치 정보를 이용하여 제1 서버(예: 도 1의 제1 서버(120), 도 3의 제1 서버(301))로 컨텐츠 업로드 또는 다운로드를 요청하고, 상기 제1 서버로부터 상기 컨텐츠에 관련된 제2 위치 정보를 획득하고, 상기 제2 위치 정보를 기반으로 제2 서버(예: 도 1의 제2 서버(130), 도 4의 제2 서버(401))와 통신하여 상기 컨텐츠에 대한 업로드 또는 다운로드를 수행하도록 설정될 수 있다.
다양한 실시예들에 따르면, 상기 제1 위치 정보는, 상기 제1 서버(120, 301)를 향하도록 구성된 제1 업로드 URL(uniform resource locator), 또는 제1 다운로드 URL 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 상기 제2 위치 정보는, 상기 제2 서버(130, 401)를 향하도록 구성된 제2 업로드 URL, 또는 제2 다운로드 URL 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 상기 제1 업로드 URL은, 상기 제1 업로드 URL의 생성 시점, 업로드 만료 시점, 컨텐츠 업로드를 요청한 서비스를 나타내는 어플리케이션 식별 정보, 컨텐츠가 업로드될 서버에 대한 정보, 업로드 권한을 가지는 전자 장치에 대한 식별 정보 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 상기 제1 다운로드 URL은, 상기 제1 다운로드 URL의 생성 시점, 다운로드 만료 시점, 최대 다운로드 횟수, 컨텐츠 다운로드를 요청하는 서비스를 나타내는 어플리케이션 식별 정보, 다운로드할 컨텐츠가 저장된 서버에 대한 정보, 또는 다운로드 권한을 가지는 전자 장치에 대한 식별 정보 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 상기 제1 위치 정보는, 상기 제1 서버, 또는 다른 전자 장치로부터 수신될 수 있다.
다양한 실시예들에 따르면, 상기 프로세서(220)는, 상기 컨텐츠에 대한 업로드 이벤트를 감지하고, 상기 이벤트가 감지된 것에 대한 응답으로, 상기 제1 서버(120, 301)로 상기 컨텐츠의 업로드를 위한 URL 요청 신호를 전송하고, 상기 URL 요청 신호를 전송한 것에 대한 응답으로, 상기 제1 서버(120, 301)를 향하도록 구성된 제1 업로드 URL, 또는 상기 제1 서버(120, 301)를 향하도록 구성된 제1 다운로드 URL 중 적어도 하나를 포함하는 상기 제1 위치 정보를 수신하도록 설정될 수 있다.
다양한 실시예들에 따르면, 상기 프로세서(220)는, 상기 제1 다운로드 URL을 적어도 하나의 다른 전자 장치로 전송하도록 설정될 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 도 1의 제1 서버(120), 도 3의 제1 서버(301))는, 통신 모듈(예: 도 3의 통신 모듈(340)); 및 프로세서(예: 도 3의 프로세서(320))를 포함하고, 상기 프로세서(320)는, 전자 장치(예: 도 1의 전자 장치(101), 도 2의 전자 장치(201))로부터 컨텐츠의 업로드 또는 다운로드를 위한 요청을 수신하고, 상기 요청으로부터 제1 위치 정보를 획득하고, 상기 제1 위치 정보에 기초하여 상기 요청에 대한 유효성을 검사하고, 상기 요청이 유효한 경우, 제2 서버와 통신하여 상기 컨텐츠에 관련된 제2 위치 정보를 획득하고, 상기 전자 장치(101, 201)로 상기 제2 위치 정보를 전송하도록 설정될 수 있다.
다양한 실시예들에 따르면, 상기 제1 위치 정보는, 상기 제1 서버를 향하도록 구성된 제1 업로드 URL(uniform resource locator), 또는 제1 다운로드 URL 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 상기 제2 위치 정보는, 상기 제2 서버를 향하도록 구성된 제2 업로드 URL, 또는 제2 다운로드 URL 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 상기 프로세서(320)는, 상기 전자 장치로부터 상기 컨텐츠의 업로드를 위한 URL 요청 신호를 수신하고, 상기 URL 요청 신호에 포함된 적어도 하나의 파라미터에 기초하여, 상기 URL 요청 신호에 대한 유효성을 검사하고, 상기 URL 요청 신호가 유효한 경우, 상기 제1 위치 정보를 생성하고, 상기 생성된 제1 위치 정보를 상기 전자 장치로 전송하도록 설정될 수 있다.
다양한 실시예들에 따르면, 상기 URL 요청 신호는, 상기 컨텐츠의 정보, 상기 전자 장치의 식별 정보, 어플리케이션 식별 정보, 또는 상기 컨텐츠의 업로드/다운로드 경로 설정 규칙에 관련된 템플릿 식별 정보 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 상기 프로세서(320)는, 상기 URL 요청 신호가 유효하지 않은 경우, 상기 전자 장치로 상기 컨텐츠의 업로드가 불가능함을 나타내는 신호를 전송하도록 설정될 수 있다.
다양한 실시예들에 따르면, 상기 프로세서(320)는, 상기 제1 위치 정보의 변조 여부, 상기 제1 위치 정보에 기초한 상기 컨텐츠의 업로드 조건 만족 여부, 또는 상기 제1 위치 정보에 기초한 상기 컨텐츠의 다운로드 조건 만족 여부 중 적어도 하나에 기초하여 상기 요청에 대한 유효성을 검사하도록 설정될 수 있다.
다양한 실시예들에 따르면, 상기 프로세서(320)는, 상기 제1 위치 정보에 포함된 적어도 하나의 정보에 기초하여 상기 컨텐츠의 업로드 조건 만족 여부를 결정하며, 상기 제1 위치 정보가 상기 제1 업로드 URL인 경우, 상기 제1 위치 정보는, 상기 제1 업로드 URL의 생성 시점, 업로드 만료 시점, 컨텐츠 업로드를 요청한 서비스를 나타내는 어플리케이션 식별 정보, 컨텐츠가 업로드될 서버에 대한 정보, 업로드 권한을 가지는 전자 장치에 대한 식별 정보 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 상기 프로세서(320)는, 상기 프로세서는, 상기 제1 위치 정보에 포함된 적어도 하나의 정보에 기초하여 상기 컨텐츠의 다운로드 조건 만족 여부를 결정하며, 상기 제1 위치 정보가 상기 제1 다운로드 URL인 경우, 상기 제1 위치 정보는, 상기 제1 다운로드 URL의 생성 시점, 다운로드 만료 시점, 최대 다운로드 횟수, 컨텐츠 다운로드를 요청하는 서비스를 나타내는 어플리케이션 식별 정보, 다운로드할 컨텐츠가 저장된 서버에 대한 정보, 또는 다운로드 권한을 가지는 전자 장치에 대한 식별 정보 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 상기 프로세서(320)는, 상기 요청이 유효한 경우, 상기 제1 위치 정보에 기초하여 상기 제2 서버로 컨텐츠 업로드 또는 다운로드를 위한 제2 위치 정보 생성을 요청하고, 상기 제2 위치 정보 생성 요청에 대한 응답으로, 상기 제2 서버로부터 상기 제2 위치 정보를 수신하도록 설정될 수 있다.
다양한 실시예들에 따르면, 상기 프로세서(320)는, 상기 요청이 유효하지 않은 경우, 상기 전자 장치로 컨텐츠의 업로드 또는 다운로드에 대한 거절 신호를 전송하도록 설정될 수 있다.
도 5는 본 발명의 다양한 실시예들에 따른 전자 장치에서 컨텐츠를 업로드 및/또는 다운로드하는 흐름도(500)이다. 이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 도 5의 전자 장치는 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201)일 수 있다.
도 5를 참조하면, 다양한 실시예들에 따른 전자 장치(예: 도 2의 프로세서(220))는 동작 501에서 컨텐츠에 관련된 제1 위치 정보를 획득할 수 있다. 일실시예에 따르면, 제1 위치 정보는, 제1 업로드 위치 정보, 또는 제1 다운로드 위치 정보 중 적어도 하나를 포함할 수 있다. 제1 업로드 위치 정보는, 예를 들어, 제1 서버(예: 도 1의 제1 서버(120), 도 3의 제1 서버(301))를 향하도록 구성된 제1 업로드 URL을 포함할 수 있다. 제1 다운로드 위치 정보는, 제1 서버(120, 301)를 향하도록 구성된 제1 다운로드 URL을 포함할 수 있다. 일실시예에 따르면, 프로세서(220)는 통신 모듈(예: 도 2의 통신 모듈(290))을 통해 제1 서버(120, 301)로부터 제1 업로드 위치 정보를 포함하는 제1 위치 정보를 수신할 수 있다. 일실시예에 따르면, 프로세서(220)는 통신 모듈(예: 도 2의 통신 모듈(290))을 통해 적어도 하나의 다른 전자 장치(예: 도 2의 전자 장치(202))로부터 제1 다운로드 위치 정보를 포함하는 제1 위치 정보를 수신할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220))는 동작 503에서 제1 위치 정보를 이용하여 제1 서버(예: 120, 301)로 컨텐츠 업로드 및/또는 다운로드를 요청할 수 있다. 일실시예에 따르면, 프로세서(220)는 제1 위치 정보를 포함하는 컨텐츠 업로드 및/또는 다운로드 요청 신호를 제1 서버(120, 301)로 전송할 수 있다. 예를 들어, 프로세서(220)는 제1 업로드 위치 정보를 포함하는 컨텐츠 업로드 요청 신호를 제1 서버(120, 301)로 전송할 수 있다. 다른 예로, 프로세서(220)는 제1 다운로드 위치 정보를 포함하는 컨텐츠 다운로드 요청 신호를 제1 서버(120, 301)로 전송할 수 있다. 컨텐츠 업로드 요청 신호, 또는 컨텐츠 다운로드 요청 신호는, 해당 신호에 포함된 제1 위치 정보의 해석을 요청하거나, 제2 위치 정보의 전송을 요청하는 신호일 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220))는 동작 505에서 제1 서버(120, 301)로부터 컨텐츠에 관련된 제2 위치 정보를 획득할 수 있다. 일실시예에 따르면, 프로세서(220)는 제1 위치 정보를 이용한 컨텐츠 업로드 및/또는 다운로드 요청에 대한 응답으로, 제1 서버(120, 301)로부터 컨텐츠에 관련된 제2 위치 정보를 수신할 수 있다. 일실시예에 따르면, 제2 위치 정보는, 제2 업로드 위치 정보, 또는 제2 다운로드 위치 정보 중 적어도 하나를 포함할 수 있다. 제2 업로드 위치 정보는, 예를 들어, 제2 서버(예: 도 1의 제2 서버(130), 도 3의 제2 서버(401))를 향하도록 구성된 제2 업로드 URL을 포함할 수 있다. 제2 다운로드 위치 정보는, 제2 서버(130, 401)를 향하도록 구성된 제2 다운로드 URL을 포함할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220))는 동작 507에서 제2 위치 정보를 기반으로, 제2 서버(예: 도 1의 제2 서버(130), 도 3의 제2 서버(401))와 통신하여 컨텐츠에 대한 업로드 및/또는 다운로드를 수행할 수 있다. 일실시예에 따르면, 프로세서(220)는 제2 위치 정보를 기반으로 제2 서버(130, 401)에 직접 접근하여, 컨텐츠에 대한 업로드 및/또는 다운로드를 수행할 수 있다. 예를 들어, 프로세서(220)는 제2 업로드 위치 정보와 업로드할 컨텐츠를 포함하는 컨텐츠 업로드 요청 신호를 제2 서버(130, 401)로 전송하여, 제2 서버(130, 401)로 컨텐츠를 업로드할 수 있다. 다른 예로, 프로세서(220)는 제1 다운로드 위치 정보를 포함하는 컨텐츠 다운로드 요청 신호를 제2 서버(130, 401)로 전송하여, 제2 서버(130, 401)로부터 컨텐츠를 다운로드할 수 있다. 일실시예에 따르면, 프로세서(220)는 제2 위치 정보가 수신되면, 제2 위치 정보 수신에 응답하여 자동으로 제2 서버(130, 401)에 직접 접근하고, 컨텐츠에 대한 업로드 및/또는 다운로드를 수행할 수 있다.
도 6a는 본 발명의 다양한 실시예들에 따른 전자 장치에서 컨텐츠를 업로드하는 흐름도(600)이다. 이하 설명되는 도 6a의 동작들은 도 5의 동작들 301, 503, 505, 및 507의 상세한 동작 중 적어도 일부일 수 있다. 이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 도 6a의 전자 장치는 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201)일 수 있다.
도 6a를 참조하면, 다양한 실시예들에 따른 전자 장치(예: 도 2의 프로세서(220))는 동작 601에서 컨텐츠에 대한 업로드 요청 이벤트를 감지할 수 있다. 일실시예에 따르면, 프로세서(220)는 컨텐츠 업로드 요청 이벤트는, 컨텐츠 공유 이벤트를 포함할 수 있다. 예를 들어, 프로세서(220)는 전자 장치(101, 201)의 메모리(예: 도 2의 메모리(230))에 저장된 적어도 하나의 컨텐츠를 제2 서버(예: 도 1의 제2 서버(130), 도 4의 제2 서버(401))에 업로드하기 위한 사용자 입력을 감지할 수 있다. 다른 예로, 프로세서(220)는 전자 장치(101, 201)의 메모리(230))에 저장된 컨텐츠들 중에서 제2 서버(130, 401)에 업로드되지 않은 컨텐츠를 공유하기 위한 사용자 입력을 감지할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220))는 동작 603에서 제1 서버(예: 도 1의 제1 서버(120), 도 3의 제1 서버(301))로 컨텐츠에 대한 URL 요청 신호를 전송할 수 있다. 일실시예에 따르면, 프로세서(220)는 업로드 및/또는 공유를 위해 선택된 컨텐츠에 대한 URL 요청 신호를 제1 서버(120, 301)로 전송할 수 있다. URL 요청 신호는, 업로드할 컨텐츠에 대한 정보(예: 컨텐츠 명칭, 컨텐츠 크기, 컨텐츠 타입 등), 전자 장치(201)의 식별 정보(예: IMEI, UID, 가입자 ID, 또는 전화번호), 어플리케이션 식별 정보(예: app_id), 또는 업로드/다운로드 경로 설정 규칙에 관련된 템플릿 식별 정보(예: template_id) 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220))는 동작 605에서 제1 서버(120, 301)로부터 컨텐츠에 관련된 제1 업로드 URL 및 제1 다운로드 URL이 수신되는지 여부를 결정할 수 있다. 일실시예에 따르면, 프로세서(220)는 컨텐츠에 대한 URL 요청 신호에 대한 응답으로, 제1 서버(120, 301)로부터 컨텐츠에 관련된 제1 업로드 URL 및 제1 다운로드 URL이 수신되는지 여부를 결정할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220))는 제1 서버로부터 컨텐츠에 관련된 제1 업로드 URL 및 제1 다운로드 URL이 수신되지 않는 경우, 동작 621에서 제1 서버(120, 301)로부터 업로드/다운로드가 불가능함을 나타내는 신호가 수신되는지 여부를 결정할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220), 및/또는 도 2의 표시 장치(260))는 제1 서버로부터 업로드/다운로드가 불가능함을 나타내는 신호가 수신되는 경우, 동작 633에서 업로드 실패를 표시할 수 있다. 업로드/다운로드가 불가능함을 나타내는 신호는, URL 요청 신호가 유효한 신호가 아님을 나타내는 정보를 포함할 수 있다. 예를 들어, URL 요청 신호가 유효한 신호가 아님을 나타내는 정보는, 전자 장치(101, 201)가 정상적인 가입자가 아님을 나타내는 정보, 또는 파라미터 오류를 나타내는 정보 중 적어도 하나를 포함할 수 있다. 일실시예에 따르면, 프로세서(220)는 표시 장치(260)를 제어하여, 컨텐츠의 업로드가 불가능함을 나타내는 정보를 표시할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220))는 제1 서버(120, 301)로부터 컨텐츠에 관련된 제1 업로드 URL 및 제1 다운로드 URL이 수신되는 경우, 동작 607에서 제1 업로드 URL을 이용하여 제1 서버(120, 301)로 컨텐츠 업로드를 요청할 수 있다. 일실시예에 따르면, 프로세서(220)는 제1 업로드 URL이 수신되면, 자동으로 제1 업로드 URL을 이용하여 제1 서버(120, 301)로 컨텐츠 업로드를 요청할 수 있다. 일실시예에 따르면, 프로세서(220)는 제1 업로드 URL이 수신된 이후에, 컨텐츠 업로드를 위한 추가 이벤트(예: 컨텐츠 업로드를 요청하는 추가 사용자 입력 이벤트)를 감지하고, 추가 이벤트 감지에 대한 응답으로, 제1 업로드 URL을 이용하여 제1 서버(120, 301)로 컨텐츠 업로드를 요청할 수 있다. 제1 업로드 URL은, 제1 서버(120, 301)를 향하도록 구성된 URL일 수 있다. 제1 업로드 URL은, 컨텐츠 업로드에 대한 조건을 나타내는 정보, 예를 들어, 제1 업로드 URL은, 제1 업로드 URL 생성 시점, 제1 업로드 만료 시점(또는 제1 업로드 가능 기간), 컨텐츠 업로드를 요청하는 서비스를 나타내는 어플리케이션 식별 정보, 컨텐츠가 업로드될 스토리지 서버를 나타내는 정보, 또는 업로드 권한을 가지는 전자 장치에 대한 식별 정보(예: IMEI, UID, 가입자 ID, 또는 전화번호) 중 적어도 하나를 포함할 수 있다. 제1 업로드 만료 시점은, 제1 업로드 URL 생성 시점에 기초하여 설정될 수 있다. 일실시예에 따르면, 제1 업로드 URL을 이용하여 제1 서버(120, 301)로 컨텐츠 업로드를 요청하는 신호는, 제1 업로드 URL의 해석을 요청하는 신호, 또는 제2 업로드 URL을 요청하는 신호일 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220))는 동작 609에서 제1 서버(120, 301)로부터 컨텐츠에 대한 제2 업로드 URL이 수신되는지 여부를 결정할 수 있다. 예를 들어, 프로세서(220)는 제1 업로드 URL을 이용하여 컨텐츠 업로드를 요청한 것에 대한 응답으로, 제1 서버(120, 301)로부터 제2 업로드 URL이 수신되는지 여부를 결정할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220))는 제1 서버(120, 301)로부터 컨텐츠에 관련된 제2 업로드 URL이 수신되지 않는 경우, 동작 631에서 업로드 거절 신호가 수신되는지 여부를 결정할 수 있다. 예를 들어, 프로세서(220)는 제1 업로드 URL을 이용하여 컨텐츠 업로드를 요청한 것에 대한 응답으로, 제1 서버(120, 301)로부터 업로드 거절 신호가 수신되는지 여부를 결정할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220), 및/또는 표시 장치(260))는 업로드 거절 신호가 수신되는 경우, 동작 633에서 업로드 실패를 표시할 수 있다. 업로드 거절 신호는, 업로드 거절 이유를 나타내는 정보를 포함할 수 있다. 업로드 거절 이유를 나타내는 정보는, 예를 들어, 제1 업로드 위치 정보가 변조됨, 제1 업로드 가능 기간이 만료됨, 또는 업로드 권한 없음 중 적어도 하나를 나타낼 수 있다. 일실시예에 따르면, 프로세서(220)는 업로드 거절 신호가 수신된 경우, 표시 장치(260)를 제어하여 업로드 실패를 나타내는 정보를 표시할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220))는 제1 서버로부터 컨텐츠에 관련된 제2 업로드 URL이 수신되는 경우, 동작 611에서 제2 업로드 URL을 기반으로 제2 서버(130, 401)에 컨텐츠를 업로드할 수 있다. 일실시예에 따르면, 제2 업로드 URL은 HTTP의 리다이렉트 응답(HTTP 3xx) 신호의 헤더에 포함되어 수신될 수 있다. 프로세서(220)는 제2 업로드 URL을 포함하는 리다이렉트 응답 신호에 대한 처리로 제2 업로드 URL을 이용하여 제2 서버(130, 401)에 바로 접근할 수 있다. 제2 업로드 URL은, 제2 서버(130, 401)를 향하도록 구성된 URL일 수 있다. 제2 업로드 URL은, 제2 서버(130, 401) 내에서 컨텐츠가 업로드될 저장 위치, 제2 업로드 URL 생성 시점, 제2 업로드 만료 시점(또는 제2 업로드 가능 기간), 또는 제2 서버에 대한 접근 키 값 중 적어도 하나를 포함할 수 있다. 제2 업로드 만료 시점은, 제2 업로드 URL 생성 시점에 기초하여 설정될 수 있다. 일실시예에 따르면, 프로세서(220)는 제2 업로드 URL이 수신되면, 자동으로 제2 업로드 URL을 기반으로 제2 서버(130, 401)에 직접 접근하여, 컨텐츠를 업로드할 수 있다. 일실시예에 따르면, 프로세서(220)는 제2 업로드 URL과 업로드할 컨텐츠를 포함하는 업로드 요청 신호를 제2 서버(130, 401)로 전송하여, 컨텐츠를 업로드할 수 있다. 일실시예에 따르면, 프로세서(220)는 제2 서버(130, 401)로부터 컨텐츠 업로드 완료 신호를 수신하고, 표시 장치(260)를 제어하여 컨텐츠 업로드가 완료되었음을 나타내는 정보를 표시할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220))는 동작 613에서 제1 다운로드 URL을 적어도 하나의 다른 전자 장치(예: 도 2의 전자 장치(202))로 전송할 수 있다. 일실시예에 따르면, 프로세서(220)는 컨텐츠 업로드가 완료된 이후, 제1 다운로드 URL을 적어도 하나의 다른 전자 장치(202)로 전송할 수 있다. 일실시예에 따르면, 프로세서(220)는 제1 서버(120, 301)로부터 제1 다운로드 URL이 수신되면, 이에 응답하여 자동으로 제1 다운로드 URL을 적어도 하나의 다른 전자 장치(202)로 전송할 수 있다. 적어도 하나의 다른 전자 장치(202)는, 사용자 입력에 기초하여 결정될 수 있다. 일실시예에 따르면, 제1 다운로드 URL은 공유 서버(예: 미도시)를 통해 적어도 하나의 다른 전자 장치(202)로 전송될 수 있다. 일실시예에 따르면, 프로세서(220)는 적어도 하나의 다른 전자 장치가 다운로드 권한을 갖는 전자 장치임을 나타내는 신호를 제1 서버(120, 301)로 전송할 수 있다. 적어도 하나의 다른 전자 장치가 다운로드 권한을 갖는 전자 장치임을 나타내는 신호는, 적어도 하나의 다른 전자 장치의 식별 정보를 포함할 수 있다.
도 6b는 본 발명의 다양한 실시예들에 따른 전자 장치에서 컨텐츠를 업로드하는 흐름도(650)이다. 이하 설명되는 도 6b의 동작들은 도 5의 동작들 301, 503, 505, 및 507의 상세한 동작 중 적어도 일부일 수 있다. 이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 도 6b의 전자 장치는 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201)일 수 있다.
도 6b를 참조하면, 다양한 실시예들에 따른 전자 장치(예: 도 2의 프로세서(220))는 동작 651에서 컨텐츠에 대한 업로드 요청 이벤트를 감지할 수 있다. 일실시예에 따르면, 동작 651은 도 6a의 동작 601과 동일할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220))는 동작 653에서 제1 서버(예: 도 1의 제1 서버(120), 도 3의 제1 서버(301))로 컨텐츠에 대한 URL 요청 신호를 전송할 수 있다. 일실시예에 따르면, 동작 653은 도 6a의 동작 602과 동일할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220))는 동작 655에서 제1 서버(120, 301)로부터 컨텐츠에 관련된 제2 업로드 URL 및 제1 다운로드 URL이 수신되는지 여부를 결정할 수 있다. 일실시예에 따르면, 프로세서(220)는 컨텐츠에 대한 URL 요청 신호에 대한 응답으로, 제1 서버(120, 301)로부터 컨텐츠에 관련된 제2 업로드 URL 및 제1 다운로드 URL이 수신되는지 여부를 결정할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220))는 제1 서버로부터 컨텐츠에 관련된 제2 업로드 URL 및 제1 다운로드 URL이 수신되지 않는 경우, 동작 661에서 제1 서버(120, 301)로부터 업로드/다운로드가 불가능함을 나타내는 신호가 수신되는지 여부를 결정할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220), 및/또는 도 2의 표시 장치(260))는 제1 서버로부터 업로드/다운로드가 불가능함을 나타내는 신호가 수신되는 경우, 동작 663에서 업로드 실패를 표시할 수 있다. 일실시예에 따르면, 동작 663은 도 6a의 동작 633과 동일할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220))는 제1 서버(120, 301)로부터 컨텐츠에 관련된 제2 업로드 URL 및 제1 다운로드 URL이 수신되는 경우, 동작 657에서 제2 업로드 URL을 이용하여 제2 서버(예: 도 1의 제2 서버(130), 도 4의 제2 서버(401))에 컨텐츠를 업로드할 수 있다. 일실시예에 따르면, 동작 657은 도 6a의 동작 611과 동일할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220))는 동작 659에서 제1 다운로드 URL을 적어도 하나의 다른 전자 장치(예: 도 2의 전자 장치(202))로 전송할 수 있다. 일실시예에 따르면, 동작 659는 도 6a의 동작 613과 동일할 수 있다.
도 7은 본 발명의 다양한 실시예들에 따른 전자 장치에서 컨텐츠를 다운로드하는 흐름도(700)이다. 이하 설명되는 도 7의 동작들은 도 5의 동작들 301, 503, 505, 및 507의 상세한 동작 중 적어도 일부일 수 있다. 이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 도 7의 전자 장치는 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201)일 수 있다. 이하에서 도 7의 적어도 일부 동작은 도 8a 및 도 8b를 참조하여 설명할 것이다. 도 8a 및 도 8b는 본 발명의 다양한 실시예들에 따른 전자 장치에서 컨텐츠를 다운로드하는 화면 구성을 도시한다.
도 7을 참조하면, 다양한 실시예들에 따른, 전자 장치(예: 도 2의 프로세서(220))는 동작 701에서 적어도 하나의 다른 전자 장치로부터 컨텐츠에 관련된 제1 다운로드 URL을 수신할 수 있다. 일실시예에 따르면, 프로세서(220)는 적어도 하나의 다른 전자 장치로부터 다운로드할 컨텐츠에 대한 정보를 추가 수신할 수 있다. 예를 들어, 프로세서(220)는 적어도 하나의 다른 전자 장치로부터, 적어도 하나의 다른 전자 장치가 공유하고자 하는 컨텐츠의 정보와 해당 컨텐츠의 다운로드를 위한 제1 다운로드 URL을 수신할 수 있다. 컨텐츠의 정보는, 예를 들어, 컨텐츠에 대한 식별 정보(예: 컨텐츠 ID, 또는 컨텐츠 명칭), 또는 컨텐츠에 대한 썸네일 이미지 중 적어도 하나를 포함할 수 있다. 일실시예에 따르면, 프로세서(220)는 표시 장치(260)를 제어하여, 수신된 제1 다운로드 URL, 또는 수신된 컨텐츠 정보 중 적어도 하나를 표시할 수 있다. 예를 들어, 프로세서(220)는 도 8a에 도시된 바와 같이, 표시 장치(260)를 제어하여 USER 1로부터 수신된 제1 다운로드 URL(801)과 컨텐츠에 대한 썸네일 이미지(803)를 표시할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220))는 동작 703에서 컨텐츠 다운로드 이벤트를 감지할 수 있다. 예를 들어, 프로세서(220)는 화면에 표시된 제1 다운로드 URL 또는 수신된 컨텐츠 정보 중 적어도 하나에 대한 사용자 입력에 기초하여 컨텐츠 다운로드 이벤트를 감지할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220))는 동작 705에서 제1 다운로드 URL을 이용하여 제1 서버(예: 도 1의 제1 서버(120), 도 3의 제1 서버(301))로 컨텐츠 다운로드를 요청할 수 있다. 일실시예에 따르면, 프로세서(220)는 컨텐츠 다운로드 이벤트 감지에 대한 응답으로, 제1 다운로드 URL을 이용하여 제1 서버(120, 301)로 컨텐츠 다운로드를 요청할 수 있다. 제1 다운로드 URL은, 제1 서버(120, 301)를 향하도록 구성된 URL일 수 있다. 제1 다운로드 URL은, 컨텐츠 다운로드에 대한 조건을 나타내는 정보, 예를 들어, 제1 다운로드 URL은, 제1 다운로드 URL 생성 시점, 제1 다운로드 만료 시점(또는 제1 다운로드 가능 기간), 최대 다운로드 횟수, 컨텐츠 다운로드를 요청하는 서비스를 나타내는 어플리케이션 식별 정보, 다운로드할 컨텐츠가 저장된 스토리지 서버를 나타내는 정보, 또는 다운로드 권한을 가지는 전자 장치에 대한 식별 정보(예: IMEI, UID, 가입자 ID, 또는 전화번호) 중 적어도 하나를 포함할 수 있다. 제1 다운로드 만료 시점은, 제1 다운로드 URL 생성 시점에 기초하여 설정될 수 있다. 일실시예에 따르면, 제1 다운로드 URL을 이용하여 제1 서버(120, 301)로 컨텐츠 다운로드를 요청하는 신호는, 제1 다운로드 URL의 해석을 요청하는 신호, 또는 제2 다운로드 URL을 요청하는 신호일 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220))는 동작 707에서 제1 서버(120, 301)로부터 컨텐츠에 대한 제2 다운로드 URL이 수신되는지 여부를 결정할 수 있다. 예를 들어, 프로세서(220)는 제1 다운로드 URL을 이용하여 컨텐츠 다운로드를 요청한 것에 대한 응답으로, 제1 서버(120, 301)로부터 제2 다운로드 URL이 수신되는지 여부를 결정할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220))는 제1 서버(120, 301)로부터 컨텐츠에 관련된 제2 다운로드 URL이 수신되지 않는 경우, 동작 711에서 다운로드 거절 신호가 수신되는지 여부를 결정할 수 있다. 예를 들어, 프로세서(220)는 제1 다운로드 URL을 이용하여 컨텐츠 다운로드를 요청한 것에 대한 응답으로, 제1 서버(120, 301)로부터 다운로드 거절 신호가 수신되는지 여부를 결정할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220), 및/또는 표시 장치(260))는 다운로드 거절 신호가 수신되는 경우, 동작 633에서 다운로드 실패를 표시할 수 있다. 다운로드 거절 신호는, 다운로드 거절 이유를 나타내는 정보를 포함할 수 있다. 다운로드 거절 이유를 나타내는 정보는, 예를 들어, 제1 다운로드 위치 정보가 변조됨, 제1 다운로드 가능 기간이 만료됨, 최대 다운로드 횟수가 초과됨, 또는 다운로드 권한 없음 중 적어도 하나를 나타낼 수 있다. 일실시예에 따르면, 프로세서(220)는 다운로드 거절 신호가 수신된 경우, 표시 장치(260)를 제어하여 다운로드 실패를 나타내는 정보를 표시할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 프로세서(220))는 제1 서버로부터 컨텐츠에 관련된 제2 다운로드 URL이 수신되는 경우, 동작 709에서 제2 다운로드 URL을 기반으로 제2 서버(130, 401)로부터 컨텐츠를 다운로드할 수 있다. 일실시예에 따르면, 제2 다운로드 URL은 HTTP의 리다이렉트 응답(HTTP 3xx) 신호의 헤더에 포함되어 수신될 수 있다. 프로세서(220)는 제2 다운로드 URL을 포함하는 리다이렉트 응답 신호에 대한 처리로 제2 다운로드 URL을 이용하여 제2 서버(130, 401)에 바로 접근할 수 있다. 제2 다운로드 URL은, 제2 서버(130, 401)를 향하도록 구성된 URL일 수 있다. 제2 다운로드 URL은, 제2 서버(130, 401) 내에서 다운로드할 컨텐츠가 저장된 위치, 제2 다운로드 URL 생성 시점, 제2 다운로드 만료 기간, 또는 제2 서버에 대한 접근 키 값 중 적어도 하나를 포함할 수 있다. 제2 다운로드 만료 시점은, 제2 다운로드 URL 생성 시점에 기초하여 설정될 수 있다. 일실시예에 따르면, 프로세서(220)는 제2 다운로드 URL이 수신되면, 자동으로 제2 다운로드 URL을 기반으로 제2 서버(130, 401)에 직접 접근하여, 컨텐츠를 다운로드할 수 있다. 일실시예에 따르면, 프로세서(220)는 제2 다운로드 URL을 포함하는 다운로드 요청 신호를 제2 서버(130, 401)로 전송하여, 컨텐츠를 다운로드할 수 있다. 일실시예에 따르면, 프로세서(220)는 제2 서버(130, 401)로부터 컨텐츠 다운로드 완료 신호를 수신하고, 표시 장치(260)를 제어하여 다운로드된 컨텐츠의 적어도 일부, 또는 제2 다운로드 URL의 적어도 일부 중 적어도 하나를 표시할 수 있다. 예를 들어, 프로세서(220)는 도 8b에 도시된 바와 같이, 프로세서(220)는 다운로드가 완료된 컨텐츠의 적어도 일부(823)와 제2 다운로드 URL(821)을 화면에 표시할 수 있다. 도 8a 및 도 8b에 도시된 바와 같이, 제1 다운로드 URL(801)과 제2 다운로드 URL(821)은 상이할 수 있다.
도 9는 본 발명의 다양한 실시예들에 따른 제1 서버에서 컨텐츠에 대한 업로드 및/또는 다운로드를 위한 위치 정보를 생성하는 흐름도(900)이다. 이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 도 9의 제1 서버는 도 1의 제1 서버(120), 또는 도 3의 제1 서버(301)일 수 있다.
도 9를 참조하면, 다양한 실시예들에 따른, 제1 서버(예: 도 3의 프로세서(320))는 동작 901에서 전자 장치(예: 도 1의 전자 장치(101), 도 2의 전자 장치(201))로부터 컨텐츠의 업로드/다운로드 요청 신호를 수신할 수 있다. 일실시예에 따르면, 컨텐츠의 업로드/다운로드 요청 신호는, 업로드 또는 다운로드하기 위한 컨텐츠에 관련된 제1 위치 정보를 포함할 수 있다. 제1 위치 정보는, 제1 업로드 위치 정보, 또는 제1 다운로드 위치 정보 중 적어도 하나를 포함할 수 있다. 제1 업로드 위치 정보는, 예를 들어, 제1 서버(120, 301)를 향하도록 구성된 제1 업로드 URL을 포함할 수 있다. 제1 다운로드 위치 정보는, 제1 서버(120, 301)를 향하도록 구성된 제1 다운로드 URL을 포함할 수 있다. 일실시예에 따르면, 프로세서(320)는 통신 모듈(예: 도 3의 통신 모듈(340))을 통해 전자 장치(101, 201)로부터 제1 업로드 위치 정보를 포함하는 컨텐츠 업로드 요청 신호를 수신할 수 있다. 일실시예에 따르면, 프로세서(320)는 통신 모듈(예: 도 3의 통신 모듈(340))을 통해 전자 장치(101, 201)로부터 제1 다운로드 위치 정보를 포함하는 컨텐츠 다운로드 요청 신호를 수신할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 동작 903에서 수신된 요청으로부터 컨텐츠에 관련된 제1 위치 정보를 획득할 수 있다. 일실시예에 따르면, 프로세서(320)는 수신된 컨텐츠 업로드/다운로드 요청 신호를 분석하여, 제1 업로드 위치 정보, 또는 제1 다운로드 위치 정보를 획득할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 동작 905에서 제1 위치 정보에 기초하여 요청에 대한 유효성을 검사할 수 있다. 일실시예에 따르면, 프로세서(320)는 제1 위치 정보의 변조 여부에 기초하여, 컨텐츠 업로드/다운로드 요청이 유효한 요청인지 여부를 결정할 수 있다. 일실시예에 따르면, 프로세서(320)는 제1 위치 정보에 포함된 업로드/다운로드 URL 생성 시점, 업로드/다운로드 만료 시점, 최대 다운로드 횟수, 또는 업로드/다운로드 권한을 갖는 전자 장치의 식별 정보 중 적어도 하나에 기초하여, 컨텐츠 업로드/다운로드 요청이 유효한 요청인지 여부를 결정할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 동작 907에서 제2 서버(예: 도 1의 제2 서버(130), 도 4의 제2 서버(401))와 통신하여 컨텐츠에 관련된 제2 위치 정보를 획득할 수 있다. 일실시예에 따르면, 프로세서(320)는 컨텐츠 업로드/다운로드 요청이 유효한 요청인 것으로 결정된 경우, 제2 서버(301, 401)와 통신하여 해당 컨텐츠에 관련된 제2 위치 정보를 획득할 수 있다. 예를 들어, 프로세서(320)는 제2 서버(301, 401)로 해당 컨텐츠의 제2 위치 정보를 요청하고, 이에 대한 응답으로 제2 서버(301, 401)로부터 해당 컨텐츠의 제2 위치 정보를 수신할 수 있다. 일실시예에 따르면, 제2 위치 정보는, 제2 업로드 위치 정보, 또는 제2 다운로드 위치 정보 중 적어도 하나를 포함할 수 있다. 제2 업로드 위치 정보는, 예를 들어, 제2 서버(예: 도 1의 제2 서버(130), 도 3의 제2 서버(401))를 향하도록 구성된 제2 업로드 URL을 포함할 수 있다. 제2 다운로드 위치 정보는, 제2 서버(130, 401)를 향하도록 구성된 제2 다운로드 URL을 포함할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 동작 909에서 컨텐츠 업로드/다운로드를 요청한 전자 장치(101, 201)로 제2 위치 정보를 전송할 수 있다. 일실시예에 따르면, 프로세서(320)는 컨텐츠의 업로드 및/또는 다운로드 요청에 대한 응답으로, 전자 장치(101, 201)로 컨텐츠에 관련된 제2 위치 정보를 포함하는 응답 신호를 전송할 수 있다. 일실시예에 따르면, 프로세서(320)는 제2 위치 정보를 포함하는 응답 신호를 전자 장치(101, 201)로 전송할 수 있다. 제2 위치 정보를 포함하는 응답 신호는, 전자 장치(101, 201)가 제2 위치 정보를 이용하여 자동으로 제2 서버(예: 도 1의 제2 서버(130))에 직접 접근하도록 하는 리다이렉트(redirect) 응답 신호일 수 있다. 예를 들어, 프로세서(320)는 헤더에 제2 위치 정보가 포함된 리다이렉트 응답 신호를 전자 장치(101, 201)로 전송할 수 있다.
도 10a 및 도 10b는 본 발명의 다양한 실시예들에 따른 제1 서버에서 전자 장치의 컨텐츠 업로드 요청에 대한 유효성에 기초하여 컨텐츠 업로드를 위한 위치 정보를 생성하는 흐름도(1000, 1050)이다. 이하 설명되는 도 10a 및 도 10b의 동작들은 도 9의 동작들 901, 903, 905, 907 및 909의 상세한 동작 중 적어도 일부일 수 있다. 이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 도 10a 및 도 10b의 제1 서버는 도 1의 제1 서버(120), 또는 도 3의 제1 서버(301)일 수 있다.
도 10a 및 도 10b를 참조하면, 다양한 실시예들에 따른, 제1 서버(예: 도 3의 프로세서(320))는 동작 1001에서 전자 장치로부터 컨텐츠에 대한 URL 요청 신호를 수신할 수 있다. 일실시예에 따르면, URL 요청 신호는, 업로드할 컨텐츠에 대한 정보(예: 컨텐츠 명칭, 컨텐츠 크기, 컨텐츠 타입 등), 전자 장치(101, 201)의 식별 정보(예: IMEI, UID, 가입자 ID, 또는 전화번호), 어플리케이션 식별 정보(예: app_id), 또는 업로드/다운로드 경로 설정 규칙에 관련된 템플릿 식별 정보(예: template_id) 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 동작 1003에서 URL 요청이 유효한지 여부를 검사할 수 있다. 일실시예에 따르면, 프로세서(320)는 컨텐츠에 대한 URL 요청 신호에 지정된 파라미터들이 모두 포함되어 있는지 여부, 전자 장치가 정상적인 서비스 가입자인지 여부, 업로드할 컨텐츠에 대한 정보가 지정된 규칙을 만족하는지 여부, 또는 컨텐츠에 대한 URL 요청 신호에 포함된 파라미터들 중 오류가 발생된 파라미터가 존재하는지 여부 중 적어도 하나에 기초하여, URL 요청이 유효한지 여부를 검사할 수 있다. 예컨대, 프로세서(320)는 컨텐츠에 대한 URL 요청 신호에 지정된 파라미터들 중 적어도 하나가 포함되지 않은 경우, URL 요청이 유효하지 않은 것으로 결정할 수 있다. 프로세서(320)는 전자 장치(101, 201)가 정상적인 서비스 가입자가 아닌 경우, URL 요청이 유효하지 않은 것으로 결정할 수 있다. 정상적인 서비스 가입자인지 여부는 전자 장치의 식별 정보와 제1 서버(301)에 등록된 서비스 가입자 목록에 기초하여 결정할 수 있다. 프로세서(320)는 컨텐츠에 대한 정보가 지정된 규칙을 만족하지 못하는 경우, URL 요청이 유효하지 않은 것으로 결정할 수 있다. 프로세서(320)는 컨텐츠에 대한 URL 요청 신호에 포함된 파라미터들 중 오류가 발생된 파라미터가 존재하는 경우, URL 요청이 유효하지 않은 것으로 결정할 수 있다. 프로세서(320)는 컨텐츠에 대한 URL 요청 신호에 지정된 파라미터들이 모두 포함되고, 전자 장치(101, 201)가 정상적인 서비스 가입자이며, 컨텐츠에 대한 정보가 지정된 규칙을 만족하고, 오류가 발생된 파라미터가 존재하지 않는 경우, URL 요청이 유효한 것으로 결정할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 URL 요청이 유효하지 않은 경우, 동작 1021에서 전자 장치(101, 201)로 업로드/다운로드 불가능 신호를 전송할 수 있다. 업로드/다운로드가 불가능함을 나타내는 신호는, URL 요청 신호가 유효한 신호가 아님을 나타내는 정보를 포함할 수 있다. 예를 들어, URL 요청 신호가 유효한 신호가 아님을 나타내는 정보는, 전자 장치(101, 201)가 정상적인 서비스 가입자가 아님을 나타내는 정보, 또는 파라미터 오류를 나타내는 정보 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 URL 요청이 유효한 경우, 동작 1005에서 컨텐츠에 대한 제1 업로드 URL 및 제1 다운로드 URL을 생성할 수 있다. 일실시예에 따르면, 프로세서(320)는 컨텐츠에 대한 URL 요청 신호가 유효한 요청 신호인 경우, 템플릿 식별 정보에 기초하여 제1 업로드 URL과 제1 다운로드 URL을 생성하는 데에 이용될 적어도 하나의 규칙을 결정할 수 있다. 예를 들어, 프로세서(320)는 기 저장된 복수의 경로 설정 규칙들 중에서 템플릿 식별 정보에 대응되는 적어도 하나의 경로 설정 규칙을 선택할 수 있다. 경로 설정 규칙은, 예를 들어, 컨텐츠 업로드 및/또는 다운로드 경로에 CDN 서버(예: 도 1의 CND 서버(134))를 포함시킬지 여부를 나타내는 정보, 또는 컨텐츠 업로드 및/또는 다운로드할 대상 서버(예: 특정 사업자의 스토리지 서버)를 나타내는 정보를 포함할 수 있다. 일실시예에 따르면, 프로세서(320)는 지정된 규칙(또는 정책)에 기초하여 제1 업로드 가능 기간, 제1 다운로드 가능 기간, 또는 최대 다운로드 횟수 중 적어도 하나를 결정할 수 있다. 제1 업로드 가능 기간은, 제1 업로드 위치 정보 생성 시점에 기초한 기간으로 정의될 수 있다. 제1 다운로드 가능 기간은, 제1 다운로드 위치 정보 생성 시점에 기초한 기간으로 정의될 수 있다. 일실시예에 따르면, 프로세서(320)는 업로드할 컨텐츠에 대한 정보, 전자 장치 식별 정보, 어플리케이션 식별 정보, 템플릿 식별 정보, 템플릿 식별 정보에 대응되는 경로 설정 규칙, 업로드 경로 설정 규칙, 제1 업로드 가능 기간, 제1 다운로드 가능 기간, 최대 다운로드 횟수, 또는 업로드 및/또는 다운로드할 대상 서버를 나타내는 정보 중 적어도 하나에 기초하여 제1 업로드 URL 및 제1 다운로드 URL을 생성할 수 있다. 일실시예에 따르면, 프로세서(320)는 제1 서버(120, 301)의 컨텐츠 업로드/다운로드 정책, 또는 제2 서버(예: 도 1의 제2 서버(130), 도 4의 제2 서버(401))의 컨텐츠 업로드/다운로드 정책 중 적어도 하나에 기초하여, 제1 업로드 URL 및 제1 다운로드 URL을 생성할 수 있다. 제1 업로드 URL은, 제1 서버(120, 301)를 향하도록 구성된 URL일 수 있다. 제1 업로드 URL은, 컨텐츠 업로드에 대한 조건을 나타내는 정보, 예컨대, 제1 업로드 URl 생성 시점, 제1 업로드 만료 시점(또는 제1 업로드 가능 기간), 어플리케이션 식별 정보, 컨텐츠가 업로드될 스토리지 서버를 나타내는 정보, 또는 업로드 권한을 가지는 전자 장치에 대한 식별 정보(예: IMEI, UID, 가입자 ID, 또는 전화번호) 중 적어도 하나를 포함할 수 있다. 제1 다운로드 URL은, 제1 서버(120, 301)를 향하도록 구성된 URL일 수 있다. 제1 다운로드 URL은, 컨텐츠 다운로드에 대한 조건을 나타내는 정보, 예컨대, 제1 다운로드 URL 생성 시점, 제1 다운로드 만료 시점(제1 다운로드 가능 기간), 최대 다운로드 횟수, 컨텐츠 다운로드를 요청하는 서비스를 나타내는 어플리케이션 식별 정보, 다운로드할 컨텐츠가 저장된 스토리지 서버를 나타내는 정보, 또는 다운로드 권한을 가지는 전자 장치에 대한 식별 정보(예: IMEI, UID, 가입자 ID, 또는 전화번호) 중 적어도 하나를 포함할 수 있다. 다운로드 권한을 가지는 전자 장치에 대한 식별 정보는, 예를 들어, 컨텐츠를 업로드한 전자 장치, 또는 공유 서버 중 적어도 하나로부터 수신될 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 동작 1007에서 생성된 제1 업로드 URL 및 제1 다운로드 URL을 전자 장치(예: 101, 201)로 전송할 수 있다. 일실시예에 따르면, 프로세서(320)는 컨텐츠에 대한 URL 요청 신호에 대한 응답으로, 제1 업로드 URL 및 제1 다운로드 URL을 포함하는 응답 신호를 전자 장치(101, 201)로 전송할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 동작 1009에서 전자 장치(101, 201)로부터 제1 업로드 URL을 이용한 컨텐츠 업로드 요청 신호가 수신되는지 여부를 결정할 수 있다. 예를 들어, 프로세서(320)는 제1 업로드 URL을 포함하는 컨텐츠 업로드 요청 신호가 수신되는지 여부를 결정할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 제1 업로드 URL을 이용한 컨텐츠 업로드 요청이 수신되는 경우, 동작 1011에서 컨텐츠 업로드 요청이 유효한지 여부를 검사할 수 있다. 일실시예에 따르면, 프로세서(320)는 제1 업로드 URL의 변조 여부, 또는 제1 업로드 URL에 포함된 적어도 하나의 정보에 기초한 조건 만족 여부 중 적어도 하나에 기초하여 컨텐츠 업로드 요청이 유효한지 여부를 결정할 수 있다. 예를 들어, 프로세서(320)는 제1 업로드 URL에 포함된 적어도 하나의 정보가 변조된 경우, 컨텐츠 업로드 요청이 유효하지 않은 것으로 결정할 수 있다. 다른 예로, 프로세서(320)는 제1 업로드 URL에 포함된 적어도 하나의 정보가 변조되지 않았으나, 제1 업로드 만료 시점(또는 제1 업로드 가능 기간)이 경과되거나, 업로드 권한이 없는 전자 장치인 경우, 컨텐츠 업로드 요청이 유효하지 않은 것으로 결정할 수 있다. 다른 예로, 프로세서(320)는 제1 업로드 URL에 포함된 적어도 하나의 정보가 변조되지 않았고, 제1 업로드 만료 시점(또는 제1 업로드 가능 기간)이 경과되지 않고, 업로드 권한이 있는 전자 장치인 경우, 컨텐츠 업로드 요청이 유효한 것으로 결정할 수 있다. 여기서, 컨텐츠 업로드 요청에 대한 유효성을 검사하는 예시들은, 이해를 돕기 위한 예시일 뿐, 본 발명의 다양한 실시예들은 이에 한정되지 않을 것이다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 컨텐츠 업로드 요청이 유효하지 않은 경우, 동작 1031에서 업로드 거절 신호를 전송할 수 있다. 일실시예에 따르면, 업로드 거절 신호는, 업로드 거절 이유를 나타내는 정보를 포함할 수 있다. 예를 들어, 업로드 거절 신호는, 제1 업로드 위치 정보가 변조됨, 제1 업로드 가능 기간이 만료됨, 또는 업로드 권한 없음 중 적어도 하나를 나타내는 정보를 포함할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 컨텐츠 업로드 요청이 유효한 경우, 동작 1013에서 제2 서버(130, 401)와 통신하여 컨텐츠에 대한 제2 업로드 URL을 획득할 수 있다. 일실시예에 따르면, 프로세서(320)는 제2 서버(130, 401)로 컨텐츠에 대한 제2 업로드 URL을 요청하고, 제2 서버(130, 401)로부터 제2 업로드 URL을 수신할 수 있다. 일실시예에 따르면, 프로세서(320)는 업로드할 컨텐츠에 대한 정보, 전자 장치의 식별 정보, 어플리케이션 식별 정보, 또는 템플릿 식별 정보 중 적어도 하나를 제2 서버(130, 401)로 전송하여, 제2 업로드 URL을 요청할 수 있다. 제2 업로드 URL은, 제2 서버(130, 401)를 향하도록 구성된 URL일 수 있다. 제2 업로드 URL은, 컨텐츠가 업로드될 제2 서버(130, 401) 내 저장 위치, 제2 업로드 URL 생성 시점, 제2 업로드 만료 기간, 제2 서버(401)에 대한 접근 키 값 중 적어도 하나를 포함할 수 있다. 제2 업로드 만료 기간은, 제2 업로드 URL 생성 시점에 기초하여 설정될 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 동작 1015에서 컨텐츠에 대한 제2 업로드 URL을 전자 장치(101, 201)로 전송할 수 있다. 일실시예에 따르면, 프로세서(320)는 제2 서버(130, 401)로부터 수신된 제2 업로드 URL을 포함하는 응답 신호를 전자 장치(101, 201)로 전송할 수 있다. 제2 업로드 URL을 포함하는 응답 신호는, 전자 장치(101, 201)가 제2 업로드 URL을 이용하여 자동으로 제2 서버(130, 401)에 직접 접근하도록 하는 리다이렉트(redirect) 응답 신호일 수 있다. 예를 들어, 프로세서(320)는 헤더에 제2 업로드 URL이 포함된 리다이렉트 응답 신호를 전자 장치(101, 201)로 전송할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 동작 1009에서 제1 업로드를 이용한 컨텐츠 업로드 요청이 수신되지 않는 경우, 동작 1041에서 다른 전자 장치(예: 도 2의 전자 장치(202))로부터 제1 다운로드 URL을 이용한 컨텐츠 다운로드 요청이 수신되는지 여부를 결정할 수 있다. 예를 들어, 프로세서(320)는 제1 다운로드 URL을 포함하는 컨텐츠 다운로드 요청 신호가 수신되는지 여부를 결정할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 제1 다운로드 URL을 이용한 컨텐츠 다운로드 요청이 수신되는 경우, 동작 1043에서 컨텐츠 다운로드 요청이 유효한지 여부를 검사할 수 있다. 일실시예에 따르면, 프로세서(320)는 제1 다운로드 URL의 변조 여부, 또는 제1 다운로드 URL에 포함된 적어도 하나의 정보에 기초한 조건 만족 여부 중 적어도 하나에 기초하여 컨텐츠 다운로드 요청이 유효한지 여부를 결정할 수 있다. 예를 들어, 프로세서(320)는 제1 다운로드 URL에 포함된 적어도 하나의 정보가 변조된 경우, 컨텐츠 다운로드 요청이 유효하지 않은 것으로 결정할 수 있다. 다른 예로, 프로세서(320)는 제1 다운로드 URL에 포함된 적어도 하나의 정보가 변조되지 않았으나, 제1 다운로드 만료 시점(또는 제1 업로드 가능 기간)이 경과되거나, 최대 다운로드 횟수가 경과되거나, 다운로드 권한이 없는 전자 장치인 경우, 컨텐츠 다운로드 요청이 유효하지 않은 것으로 결정할 수 있다. 다른 예로, 프로세서(320)는 제1 다운로드 URL에 포함된 적어도 하나의 정보가 변조되지 않았고, 제1 다운로드 만료 시점(또는 제1 업로드 가능 기간)이 경과되지 않고, 다운로드 횟수가 최대 다운로드 횟수를 초과하지 않고, 다운로드 권한이 있는 전자 장치인 경우, 컨텐츠 다운로드 요청이 유효한 것으로 결정할 수 있다. 여기서, 컨텐츠 다운로드 요청에 대한 유효성을 검사하는 예시들은, 이해를 돕기 위한 예시일 뿐, 본 발명의 다양한 실시예들은 이에 한정되지 않을 것이다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 컨텐츠 다운로드 요청이 유효하지 않은 경우, 동작 1049에서 다운로드 거절 신호를 전송할 수 있다. 일실시예에 따르면, 다운로드 거절 신호는, 다운로드 거절 이유를 나타내는 정보를 포함할 수 있다. 예를 들어, 다운로드 거절 신호는, 제1 다운로드 URL이 변조됨, 제1 다운로드 가능 기간이 만료됨, 최대 다운로드 횟수가 초과됨, 또는 다운로드 권한 없음 중 적어도 하나를 나타내는 정보를 포함할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 컨텐츠 다운로드 요청이 유효한 경우, 동작 1045에서 제2 서버(130, 401)와 통신하여 컨텐츠에 대한 제2 다운로드 URL을 획득할 수 있다. 일실시예에 따르면, 프로세서(320)는 제2 서버(130, 401)로 컨텐츠에 대한 제2 다운로드 URL을 요청하고, 제2 서버(130, 401)로부터 제2 다운로드 URL을 수신할 수 있다. 제2 다운로드 URL은, 제2 서버(130, 401)를 향하도록 구성된 URL일 수 있다. 제2 다운로드 URL은, 다운로드할 컨텐츠가 저장된 제2 서버(130, 401) 내 위치, 제2 다운로드 URL 생성 시점, 제2 다운로드 만료 기간, 또는 제2 서버(401)에 대한 접근 키 값 중 적어도 하나를 포함할 수 있다. 제2 다운로드 만료 기간은, 제2 다운로드 URL 생성 시점에 기초하여 설정될 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 동작 1047에서 컨텐츠에 대한 제2 다운로드 URL을 전자 장치(101, 201)로 전송할 수 있다. 일실시예에 따르면, 프로세서(320)는 제2 서버(130, 401)로부터 수신된 제2 다운로드 URL을 포함하는 응답 신호를 전자 장치(101, 201)로 전송할 수 있다. 제2 다운로드 URL을 포함하는 응답 신호는, 전자 장치(101, 201)가 제2 다운로드 URL을 이용하여 자동으로 제2 서버(130, 401)에 직접 접근하도록 하는 리다이렉트(redirect) 요청 신호일 수 있다. 예를 들어, 프로세서(320)는 헤더에 제2 다운로드 URL이 포함된 리다이렉트 응답 신호를 전자 장치(101, 201)로 전송할 수 있다.
도 11은 본 발명의 다양한 실시예들에 따른 제1 서버에서 전자 장치의 컨텐츠 다운로드 요청에 대한 유효성에 기초하여 컨텐츠 다운로드를 위한 위치 정보를 생성하는 흐름도(1100)이다. 이하 설명되는 도 11의 동작들은 도 9의 동작들 901, 903, 905, 907 및 909의 상세한 동작 중 적어도 일부일 수 있다. 이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 도 11의 제1 서버는 도 1의 제1 서버(120), 또는 도 3의 제1 서버(301)일 수 있다.
도 11을 참조하면, 다양한 실시예들에 따른, 제1 서버(예: 도 3의 프로세서(320))는 동작 1101에서 전자 장치로부터 컨텐츠에 대한 URL 요청 신호를 수신할 수 있다. URL 요청 신호는, 도 10a의 동작 1001에서 설명한 URL 요청 신호와 동일할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 동작 1103에서 URL 요청이 유효한지 여부를 검사할 수 있다. 일실시예에 따르면, URL 요청이 유효한지 여부를 검사하는 동작은 도 10a의 동작 1003에서 설명한 바와 동일할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 URL 요청이 유효하지 않은 경우, 동작 1117에서 전자 장치(101, 201)로 업로드/다운로드 불가능 신호를 전송할 수 있다. 업로드/다운로드 불가능 신호는, 도 10a의 동작 1021에서 설명한 업로드/다운로드 불가능 신호와 동일할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 URL 요청이 유효한 경우, 동작 1105에서 컨텐츠에 대한 제2 업로드 URL 및 제1 다운로드 URL을 생성할 수 있다. 일실시예에 따르면, 프로세서(320)는 컨텐츠에 대한 URL 요청 신호가 유효한 요청 신호인 경우, 제2 서버(예: 도 1의 제2 서버(130), 도 4의 제2 서버(401))와 통신하여 컨텐츠에 대한 제2 업로드 URL을 획득할 수 있다. 예를 들어, 프로세서(320)는 제2 서버(130, 401)로 컨텐츠에 대한 제2 업로드 URL을 요청하고, 제2 서버(130, 401)로부터 제2 업로드 URL을 수신할 수 있다. 프로세서(320)는 제2 업로드 URL 요청 시, 업로드할 컨텐츠에 대한 정보, 전자 장치의 식별 정보, 어플리케이션 식별 정보, 또는 템플릿 식별 정보 중 적어도 하나를 제2 서버(130, 401)로 전송할 수 있다. 제2 업로드 URL은, 제2 서버(130, 401)를 향하도록 구성된 URL일 수 있다. 제2 업로드 URL은, 컨텐츠가 업로드될 제2 서버(130, 401) 내 저장 위치, 제2 업로드 URL 생성 시점, 제2 업로드 만료 기간, 제2 서버(401)에 대한 접근 키 값 중 적어도 하나를 포함할 수 있다. 제2 업로드 만료 기간은, 제2 업로드 URL 생성 시점에 기초하여 설정될 수 있다. 일실시예에 따르면, 프로세서(320)는 컨텐츠에 대한 URL 요청 신호가 유효한 요청 신호인 경우, 제1 다운로드 URL을 생성할 수 있다. 제1 다운로드 URL을 생성하는 방식은, 도 10a의 동작 1005에서 설명한 제1 다운로드 URL 생성 방식과 동일할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 동작 1107에서 생성된 제2 업로드 URL 및 제1 다운로드 URL을 전자 장치(예: 101, 201)로 전송할 수 있다. 일실시예에 따르면, 프로세서(320)는 컨텐츠에 대한 URL 요청 신호에 대한 응답으로, 제2 업로드 URL 및 제1 다운로드 URL을 포함하는 응답 신호를 전자 장치(101, 201)로 전송할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 동작 1109에서 다른 전자 장치(예: 도 2의 전자 장치(202))로부터 제1 다운로드 URL을 이용한 컨텐츠 다운로드 요청이 수신되는지 여부를 결정할 수 있다. 예를 들어, 프로세서(320)는 제1 다운로드 URL을 포함하는 컨텐츠 다운로드 요청 신호가 수신되는지 여부를 결정할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 제1 다운로드 URL을 이용한 컨텐츠 다운로드 요청이 수신되는 경우, 동작 1111에서 컨텐츠 다운로드 요청이 유효한지 여부를 검사할 수 있다. 일실시예에 따르면, 다운로드 요청이 유효한지 여부를 검사하는 방식은 도 10b의 동작 1043과 동일할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 컨텐츠 다운로드 요청이 유효하지 않은 경우, 동작 1119에서 다운로드 거절 신호를 전송할 수 있다. 일실시예에 따르면, 다운로드 거절 신호는, 도 10b의 동작 1049에서 설명한 다운로드 거절 신호와 동일할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 컨텐츠 다운로드 요청이 유효한 경우, 동작 1113에서 제2 서버(130, 401)와 통신하여 컨텐츠에 대한 제2 다운로드 URL을 획득할 수 있다. 일실시예에 따르면, 제2 다운로드 URL을 획득하는 방식은, 도 10b의 동작 1045와 동일할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 프로세서(320))는 동작 1115에서 컨텐츠에 대한 제2 다운로드 URL을 전자 장치(101, 201)로 전송할 수 있다. 일실시예에 따르면, 제2 다운로드 URL을 전송하는 방식은 도 10b의 동작 1047과 동일할 수 있다.
도 12는 본 발명의 다양한 실시예들에 따른 제2 서버에서 컨텐츠 업로드 및/또는 다운로드하는 흐름도(1200)이다. 이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 도 12의 제2 서버는 도 1의 제2 서버(130), 또는 도 4의 제2 서버(401)일 수 있다.
도 12를 참조하면, 다양한 실시예들에 따른, 제2 서버(예: 도 4의 프로세서(420))는 동작 1201에서 제1 서버(예: 도 1의 제1 서버(120), 도 3의 제1 서버(301))로부터 컨텐츠에 대한 위치 정보 요청을 수신할 수 있다. 예를 들어, 프로세서(420)는 제1 서버(120, 301)로부터 컨텐츠 업로드 및/또는 다운로드를 위한 위치 정보를 요청하는 신호를 수신할 수 있다. 일실시예에 따르면, 프로세서(420)는 제1 서버(120, 301)로부터 업로드할 컨텐츠에 대한 정보, 전자 장치의 식별 정보, 어플리케이션 식별 정보, 또는 템플릿 식별 정보 중 적어도 하나를 수신할 수 있다.
다양한 실시예들에 따르면, 제2 서버(예: 프로세서(420))는 동작 1203에서 컨텐츠에 대한 제2 위치 정보를 생성할 수 있다. 일실시예에 따르면, 프로세서(420)는 제1 서버(120, 301)로부터 수신된 적어도 하나의 정보에 기초하여, 제2 위치 정보를 생성할 수 있다. 제2 위치 정보는, 제2 업로드 위치 정보, 또는 제2 다운로드 위치 정보 중 적어도 하나를 포함할 수 있다. 제2 업로드 위치 정보는, 예를 들어, 제2 서버(130,401)를 향하도록 구성된 제2 업로드 URL을 포함할 수 있다. 제2 다운로드 위치 정보는, 제2 서버(130,401)를 향하도록 구성된 제2 다운로드 URL을 포함할 수 있다.
다양한 실시예들에 따르면, 제2 서버(예: 프로세서(420))는 동작 1205에서 컨텐츠에 대한 제2 위치 정보를 제1 서버(120, 301)로 전송할 수 있다. 일실시예에 따르면, 프로세서(420)는 제1 서버(120, 301)의 컨텐츠에 대한 위치 정보 요청에 대한 응답으로, 제2 위치 정보를 포함하는 응답 신호를 제1 서버(120, 301)로 전송할 수 있다.
다양한 실시예들에 따르면, 제2 서버(예: 프로세서(420))는 동작 1207에서 제2 위치 정보를 기반으로 전자 장치(예: 도 1의 전자 장치(101), 도 2의 전자 장치(201))와 통신하여 컨텐츠 업로드 및/또는 다운로드를 수행할 수 있다. 일실시예에 따르면, 프로세서(420)는 전자 장치(101, 201)로부터 제2 업로드 위치 정보와 컨텐츠를 포함하는 컨텐츠 업로드 요청 신호를 수신하고, 제2 업로드 위치 정보에 기초하여 해당 컨텐츠를 저장할 수 있다. 일실시예에 따르면, 프로세서(420)는 전자 장치(101, 201)로부터 제2 다운로드 위치 정보를 포함하는 컨텐츠 다운로드 요청 신호를 수신하고, 제2 다운로드 위치 정보에 대응되는 컨텐츠를 전자 장치(101, 201)로 전송할 수 있다.
도 13은 본 발명의 다양한 실시예들에 따른 제2 서버에서 전자 장치의 컨텐츠 업로드를 위해 컨텐츠를 저장하는 흐름도(1300)이다. 이하 설명되는 도 13의 동작들은 도 12의 동작들 1201, 1203, 1205, 1207 및 1209의 상세한 동작 중 적어도 일부일 수 있다. 이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 도 13의 제2 서버는 도 1의 제2 서버(130), 또는 도 4의 제2 서버(401)일 수 있다.
도 13을 참조하면, 다양한 실시예들에 따른, 제2 서버(예: 도 4의 프로세서(420))는 동작 1301에서 제1 서버(예: 도 1의 제1 서버(120), 도 3의 제1 서버(301))로부터 컨텐츠에 대한 제2 업로드 URL 요청을 수신할 수 있다. 제2 업로드 URL 요청 신호는, 업로드할 컨텐츠에 대한 정보(예: 컨텐츠 명칭, 컨텐츠 크기, 컨텐츠 타입 등), 전자 장치(101, 201)의 식별 정보(예: IMEI, UID, 가입자 ID, 또는 전화번호), 어플리케이션 식별 정보(예: app_id), 또는 업로드/다운로드 경로 설정 규칙에 관련된 템플릿 식별 정보(예: template_id) 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 제2 서버(예: 프로세서(420))는 동작 1303에서 컨텐츠에 대한 제2 업로드 URL을 생성할 수 있다. 일실시예에 따르면, 제2 업로드 URL은, 제2 서버(401)에서 컨텐츠가 업로드될 저장 위치, 제2 업로드 URL 생성 시점, 제2 업로드 만료 기간, 제2 서버(401)에 대한 접근 키 값 중 적어도 하나를 포함할 수 있다. 제2 업로드 만료 기간은, 제2 업로드 URL 생성 시점에 기초하여 설정될 수 있다.
다양한 실시예들에 따르면, 제2 서버(예: 프로세서(420))는 동작 1305에서 컨텐츠에 대한 제2 업로드 URL을 제1 서버(120, 301)로 전송할 수 있다. 일실시예에 따르면, 프로세서(420)는 제1 서버(120, 301)로부터의 제2 업로드 URL 요청에 대한 응답으로, 컨텐츠에 대한 제2 업로드 URL을 포함하는 신호를 전송할 수 있다.
다양한 실시예들에 따르면, 제2 서버(예: 프로세서(420))는 동작 1307에서 전자 장치로부터 제2 업로드 URL을 이용한 컨텐츠 업로드 요청 신호를 수신할 수 있다. 컨텐츠 업로드 요청 신호는, 제2 업로드 URL과 업로드할 컨텐츠를 포함할 수 있다.
다양한 실시예들에 따르면, 제2 서버(예: 프로세서(420))는 동작 1309에서 컨텐츠 업로드 요청 신호가 유효한 신호인지 여부를 검사할 수 있다. 일실시예에 따르면, 프로세서(420)는 컨텐츠 업로드 요청 신호에 포함된 제2 업로드 URL에 기초하여, 컨텐츠 업로드 요청 신호의 유효성을 검사할 수 있다. 예를 들어, 프로세서(420)는 제2 업로드 URL이 변조되었는지 여부를 검사하고, 제2 업로드 URL이 변조된 경우에는 컨텐츠 업로드 요청 신호를 유효하지 않은 신호로 결정할 수 있다. 프로세서(420)는 제2 업로드 URL이 변조되지 않은 경우에는 제2 업로드 만료 기간이 경과하였는지 여부를 검사할 수 있다. 프로세서(420)는 제2 업로드 만료 기간이 경과한 경우, 컨텐츠 업로드 요청 신호를 유효하지 않은 신호로 결정할 수 있다. 프로세서(420)는 제2 업로드 만료 기간이 경과하지 않은 경우, 컨텐츠 업로드 요청 신호를 유효한 신호로 결정할 수 있다.
다양한 실시예들에 따르면, 제2 서버(예: 프로세서(420))는 컨텐츠 업로드 요청 신호가 유효한 신호인 경우, 동작 1311에서 컨텐츠를 저장할 수 있다. 예를 들어, 프로세서(420)는 컨텐츠 업로드 요청 신호가 유효한 신호인 경우, 제2 업로드 URL에 기초하여 컨텐츠를 업로드할 저장 위치를 확인하고, 확인된 저장 위치에 해당 컨텐츠를 저장할 수 있다.
다양한 실시예들에 따르면, 제2 서버(예: 프로세서(420))는 동작 13113에서 컨텐츠 업로드 완료 신호를 전자 장치(101, 201)로 전송할 수 있다. 예를 들어, 프로세서(420)는 통신 모듈(440)을 통해 컨텐츠의 저장이 완료되었음을 나타내는 신호를 전자 장치(101, 201)로 전송할 수 있다.
다양한 실시예들에 따르면, 제2 서버(예: 프로세서(420))는 컨텐츠 업로드 요청 신호가 유효하지 않은 신호인 경우, 동작 1315에서 컨텐츠 업로드 거절 신호를 전자 장치(101, 201)로 전송할 수 있다. 컨텐츠 업로드 거절 신호는, 업로드 거절 이유를 나타내는 정보를 포함할 수 있다. 업로드 거절 이유를 나타내는 정보는, 제2 업로드 위치 정보가 변조됨, 또는 제2 업로드 가능 기간이 만료됨 중 적어도 하나를 나타낼 수 있다.
도 14는 본 발명의 다양한 실시예들에 따른 제2 서버에서 전자 장치의 컨텐츠 다운로드를 위해 컨텐츠를 전송하는 흐름도이다. 이하 설명되는 도 14의 동작들은 도 12의 동작들 1201, 1203, 1205, 1207 및 1209의 상세한 동작 중 적어도 일부일 수 있다. 이하 실시예에서 각 동작들은 순차적으로 수행될 수도 있으나, 반드시 순차적으로 수행되는 것은 아니다. 예를 들어, 각 동작들의 순서가 변경될 수도 있으며, 적어도 두 동작들이 병렬적으로 수행될 수도 있다. 도 14의 제2 서버는 도 1의 제2 서버(130), 또는 도 4의 제2 서버(401)일 수 있다.
도 14를 참조하면, 다양한 실시예들에 따른, 제2 서버(예: 도 4의 프로세서(420))는 동작 1401에서 제1 서버(예: 도 1의 제1 서버(120), 도 3의 제1 서버(301))로부터 컨텐츠에 대한 제2 다운로드 URL 요청을 수신할 수 있다. 제2 다운로드 URL 요청 신호는, 업로드할 컨텐츠에 대한 정보(예: 컨텐츠 명칭, 컨텐츠 크기, 컨텐츠 타입 등), 전자 장치(101, 201)의 식별 정보(예: IMEI, UID, 가입자 ID, 또는 전화번호), 어플리케이션 식별 정보(예: app_id), 또는 업로드/다운로드 경로 설정 규칙에 관련된 템플릿 식별 정보(예: template_id) 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 제2 서버(예: 프로세서(420))는 동작 1403에서 컨텐츠에 대한 제2 다운로드 URL을 생성할 수 있다. 일실시예에 따르면, 제2 다운로드 URL은, 다운로드할 컨텐츠가 저장된 위치, 제2 다운로드 URL 생성 시점, 제2 다운로드 만료 기간, 제2 서버(401)에 대한 접근 키 값 중 적어도 하나를 포함할 수 있다. 제2 다운로드 만료 기간은, 제2 다운로드 URL 생성 시점에 기초하여 설정될 수 있다.
다양한 실시예들에 따르면, 제2 서버(예: 프로세서(420))는 동작 1405에서 컨텐츠에 대한 제2 다운로드 URL을 제1 서버(120, 301)로 전송할 수 있다. 일실시예에 따르면, 프로세서(420)는 제1 서버(120, 301)로부터의 제2 다운로드 URL 요청에 대한 응답으로, 컨텐츠에 대한 제2 다운로드 URL을 포함하는 신호를 전송할 수 있다.
다양한 실시예들에 따르면, 제2 서버(예: 프로세서(420))는 동작 1407에서 전자 장치로부터 제2 다운로드 URL을 이용한 컨텐츠 다운로드 요청 신호를 수신할 수 있다. 컨텐츠 다운로드 요청 신호는, 제2 다운로드 URL을 포함할 수 있다.
다양한 실시예들에 따르면, 제2 서버(예: 프로세서(420))는 동작 1409에서 컨텐츠 다운로드 요청 신호가 유효한 신호인지 여부를 검사할 수 있다. 일실시예에 따르면, 프로세서(420)는 컨텐츠 다운로드 요청 신호에 포함된 제2 업로드 URL에 기초하여, 컨텐츠 다운로드 요청 신호의 유효성을 검사할 수 있다. 예를 들어, 프로세서(420)는 제2 다운로드 URL이 변조되었는지 여부를 검사하고, 제2 다운로드 URL이 변조된 경우에는 컨텐츠 다운로드 요청 신호를 유효하지 않은 신호로 결정할 수 있다. 프로세서(420)는 제2 다운로드 URL이 변조되지 않은 경우에는 제2 다운로드 만료 기간이 경과하였는지 여부를 검사할 수 있다. 프로세서(420)는 제2 다운로드 만료 기간이 경과한 경우, 컨텐츠 업로드 요청 신호를 유효하지 않은 신호로 결정할 수 있다. 프로세서(420)는 제2 다운로드 만료 기간이 경과하지 않은 경우, 컨텐츠 다운로드 요청 신호를 유효한 신호로 결정할 수 있다.
다양한 실시예들에 따르면, 제2 서버(예: 프로세서(420))는 컨텐츠 다운로드 요청 신호가 유효한 신호인 경우, 동작 1311에서 해당 컨텐츠를 전자 장치(101, 201)로 전송할 수 있다. 예를 들어, 프로세서(420)는 컨텐츠 다운로드 요청 신호가 유효한 신호인 경우, 제2 다운로드 URL에 기초하여 다운로드할 컨텐츠가 저장된 위치를 확인하고, 해당 위치에 저장된 컨텐츠를 전자 장치(101, 201)로 전송할 수 있다.
다양한 실시예들에 따르면, 제2 서버(예: 프로세서(420))는 컨텐츠 다운로드 요청 신호가 유효하지 않은 신호인 경우, 동작 1413에서 컨텐츠 다운로드 거절 신호를 전자 장치(101, 201)로 전송할 수 있다. 컨텐츠 다운로드 거절 신호는, 다운로드 거절 이유를 나타내는 정보를 포함할 수 있다. 다운로드 거절 이유를 나타내는 정보는, 제2 다운로드 위치 정보가 변조됨, 또는 제2 다운로드 가능 기간이 만료됨 중 적어도 하나를 나타낼 수 있다.
도 15는 본 발명의 다양한 실시예들에 따른 시스템에 대한 아키텍쳐(1500)이다. 다양한 실시예에 따른 시스템은 제1 전자 장치(1501), 제2 전자 장치(1503), 제1 서버(1510), 제2 서버(1520), 프록시 서버(1530), URL 공유 서버(1540)를 포함할 수 있다. 제1 전자 장치(1501), 및 제2 전자 장치(1503) 각각은 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201)일 수 있다. 제1 서버(1510)는 도 1의 제1 서버(120), 또는 도 3의 제1 서버(301)일 수 있고, 제2 서버(1520)는 도 1의 제2 서버(130), 또는 도 4의 제2 서버(401)일 수 있다. 제1 서버(1510)는 요청 관리 서버(1511), 및 URL 관리 서버(1513)를 포함할 수 있고, URL 관리 서버(1513)는 URl 디코더(1514), 및 URL 생성기(1515)를 포함할 수 있다. 제2 서버(1520)는, 스토리지 서버(1521), 및 CDN 서버(1523)를 포함할 수 있다. 스토리지 서버(1521)는 복수개의 스토리지 서버들(1521-1 내지 1521-n)을 포함할 수 있다.
도 15를 참조하면, 다양한 실시예들에 따르면, 제1 전자 장치(1501)는 동작 1550에서, 컨텐츠 업로드 또는 컨텐츠 공유를 위해 컨텐츠 업로드/다운로드 URL 요청 신호를 프록시 서버(1530)를 통해 제1 서버(1510)의 요청 관리 서버(1511)로 전송할 수 있다. 컨텐츠 업로드/다운로드 URL 요청 신호는, 업로드할 컨텐츠에 대한 정보, 제1 전자 장치(1501)의 식별 정보, 어플리케이션 식별 정보, 또는 업로드/다운로드 경로 설정 규칙에 관련된 템플릿 식별 정보 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 요청 관리 서버(1511)는 프록시 서버(1530)를 통해 제1 전자 장치(1501)로부터 업로드/다운로드 URL 요청 신호를 수신하고, 동작 1552에서, 업로드/다운로드 URL 요청 신호에 대한 1차 유효성 검사를 수행할 수 있다. 예를 들어, 요청 관리 서버(1511)는 업로드/다운로드 URL 요청 신호에 지정된 파라미터들이 모두 포함되어 있는지 여부, 제1 전자 장치(1501)가 정상적인 서비스 가입자인지 여부, 업로드할 컨텐츠에 대한 정보가 지정된 조건을 만족하는지 여부, 또는 컨텐츠 업로드/다운로드 URL 요청 신호에 오류가 발생된 파라미터가 존재하는지 여부 중 적어도 하나에 기초하여, 업로드/다운로드 URL 요청 신호가 유효한 신호인지 여부를 결정할 수 있다.
다양한 실시예들에 따르면, 업로드/다운로드 URL 요청 신호가 유효한 신호인 경우, 요청 관리 서버(1511)는 동작 1554에서 URL 관리 서버(1513)의 URL 생성기(1515)로 제1 업로드 URL 및 제1 다운로드 URL 생성을 요청할 수 있다. 일실시예에 따르면, 요청 관리 서버(1511)는 업로드/다운로드 URL 요청 신호에 포함된 적어도 하나의 파라미터를 URL 생성기(1515)로 전달할 수 있다.
다양한 실시예들에 따르면, URL 생성기(1515)는 지정된 정책에 기초하여 제1 업로드 URL 및 제1 다운로드 URL을 생성하고, 동작 1556에서 제1 업로드 URL 및 제1 다운로드 URL을 요청 관리 서버(1511)로 전송할 수 있다. 일실시예에 따르면, 지정된 정책은 URL 관리 서버(1513)의 URL 관련 정책, 또는 제2 서버(1520)의 URL 관련 정책 중 적어도 하나를 포함할 수 있다. 일실시예에 따르면, URL 생성기(1515)는 제1 업로드 URL 및 제1 다운로드 URL을 암호화하여 전송할 수 있다.
다양한 실시예들에 따르면, 요청 관리 서버(1511)는 URL 생성기(1515)로부터 제1 업로드 URL 및 제1 다운로드 URL을 수신하고, 동작 1558에서 프록시 서버(1530)를 통해 제1 업로드 URL 및 제1 다운로드 URL을 제1 전자 장치(1501)로 전송할 수 있다.
다양한 실시예들에 따르면, 제1 전자 장치(1501)는 제1 업로드 URL 및 제1 다운로드 URL이 수신되면, 동작 1560에서 제1 업로드 URL을 이용하여 제1 서버(1510)에 포함된 URL 관리 서버(1513)의 URL 디코더(1514)로 컨텐츠 업로드를 요청할 수 있다.
다양한 실시예들에 따르면, URL 디코더(1514)는 동작 1561에서 컨텐츠 업로드 요청에 대한 2차 유효성 검사를 수행할 수 있다. 일실시예에 따르면, URL 디코더(1514)는 컨텐츠 업로드 요청으로부터 제1 업로드 URL을 획득하고, 제1 업로드 URL에 대한 유효성 여부를 검사할 수 있다. 예를 들어, URL 디코더(1514)는 제1 업로드 URL의 변조 여부, 또는 제1 업로드 만료 시점이 경과되었는지 여부, 또는 제1 전자 장치(1501)가 업로드 권한을 가진 전자 장치인지 여부 중 적어도 하나에 기초하여, 제1 업로드 URL에 대한 유효성 여부를 결정할 수 있다.
다양한 실시예들에 따르면, 컨텐츠 업로드 요청이 유효한 경우, URL 디코더(1514)는 동작 1562에서 URL 생성기(1515)로 제2 업로드 URL을 요청할 수 있다. URL 생성기(1515)는 URL 디코더(1514)로부터 제2 업로드 URL 요청을 수신하고, 동작 1564에서 제2 서버(1520)의 스토리지 서버(1521) 또는 CDN 서버(1523)로 제2 업로드 URL을 요청할 수 있다. 제2 업로드 URL을 요청하는 신호는, 제2 업로드 URL 생성에 필요한 정보, 예컨대, 업로드할 컨텐츠에 대한 정보, 제1 전자 장치(1501)의 식별 정보, 어플리케이션 식별 정보, 또는 업로드/다운로드 경로 설정 규칙에 관련된 템플릿 식별 정보 중 적어도 하나를 포함할 수 있다. 일실시예에 따르면, URL 생성기(1515)는 제1 업로드 URL에 기초하여 복수 개의 스토리지 서버들(1521-1 내지 1521-n)과 CDN 서버(1523) 중에서 제2 업로드 URL을 생성할 서버를 결정하고, 결정된 스토리지 서버(1521) 또는 CDN 서버(1523)로 제2 업로드 URL을 요청할 수 있다. 다양한 실시예들에 따르면, 제2 서버(1520)의 스토리지 서버(1521) 또는 CDN 서버(1523)는 URL 관리 서버(1513)의 URL 생성기(1515)로부터의 요청에 따라 제2 업로드 URL을 생성하고, 생성된 제2 업로드 URL을 URL 생성기(1515)로 전송할 수 있다. 예를 들어, 제2 서버(1520)에 포함된 복수 개의 스토리지 서버들(1521-1 내지 1521-n) 중에서 제2 업로드 URL 요청을 수신한 스토리지 서버가 제2 업로드 URL을 생성하고, 생성된 제2 업로드 URL을 URL 생성기(1515)로 전송할 수 있다. 다른 예로, 제2 서버(1520)에 포함된 CDN 서버(1523)가 제2 업로드 URL 요청을 수신하고, 이에 응답하여 제2 업로드 URL을 생성하고, 생성된 제2 업로드 URL을 URL 생성기(1515)로 전송할 수 있다.
다양한 실시예들에 따르면, URL 생성기(1515)는 동작 1566에서 제2 업로드 URL을 URL 디코더(1514)로 전달하고, URL 디코더(1514)는 동작 1568에서 제1 전자 장치(1501)로 제2 업로드 URL을 전송할 수 있다.
다양한 실시예들에 따르면, 제1 전자 장치(1501)는 제2 업로드 URL을 수신하고, 동작 1569에서 제2 업로드 URL을 이용하여 제2 서버(1520)에 직접 접근하여 컨텐츠를 업로드할 수 있다. 일실시예에 따르면, 제1 전자 장치(1501)는, 복수 개의 스토리지 서버들(1521-1 내지 1521-n) 중에서 제2 업로드 URL에 의해 지정된 특정 스토리지 서버에 직접 접근할 수 있다. 일실시예에 따르면, 제1 전자 장치(1501)는, 제2 업로드 URL에 기초하여 CDN 서버(1523)를 통해, 지정된 특정 스토리지 서버에 직접 접근할 수 있다.
다양한 실시예들에 따르면, 제1 전자 장치(1501)는 동작 1570 및 동작 1572에서 제1 다운로드 URL을 URL 공유 서버(1540)를 통해 제2 전자 장치(1503)로 전송할 수 있다. 일실시예에 따르면, 제1 전자 장치(1501)는 컨텐츠 업로드 완료, 또는 컨텐츠 공유 이벤트 발생에 기초하여, 제2 전자 장치(1503)로 제1 다운로드 URL을 전송할 수 있다. 도시되지는 않았으나, 제1 전자 장치(1501)는 제1 서버(1510)의 URL 디코더(1514)로 제2 전자 장치(1503)가 컨텐츠에 대한 다운로드 권한을 갖는 전자 장치임을 나타내는 정보를 전송할 수 있다.
다양한 실시예들에 따르면, 제2 전자 장치(1503)는 제1 전자 장치(1501)로부터 제1 다운로드 URL이 수신되면, 동작 1580에서 제1 다운로드 URL을 이용하여 제1 서버(1510)에 포함된 URL 관리 서버(1513)의 URL 디코더(1514)로 컨텐츠 다운로드를 요청할 수 있다.
다양한 실시예들에 따르면, URL 디코더(1514)는 동작 1581에서 컨텐츠 다운로드 요청에 대한 2차 유효성 검사를 수행할 수 있다. 일실시예에 따르면, URL 디코더(1514)는 컨텐츠 다운로드 요청으로부터 제1 다운로드 URL을 획득하고, 제1 다운로드 URL에 대한 유효성 여부를 검사할 수 있다. 예를 들어, URL 디코더(1514)는 제1 다운로드 URL의 변조 여부, 또는 제1 다운로드 만료 시점이 경과되었는지 여부, 최대 다운로드 횟수가 초과되었는지 여부, 또는 제2 전자 장치(1503)가 다운로드 권한을 가진 전자 장치인지 여부 중 적어도 하나에 기초하여, 제1 다운로드 URL에 대한 유효성 여부를 결정할 수 있다.
다양한 실시예들에 따르면, 컨텐츠 다운로드 요청이 유효한 경우, URL 디코더(1514)는 동작 1582에서 URL 생성기(1515)로 제2 다운로드 URL을 요청할 수 있다. URL 생성기(1515)는 URL 디코더(1514)로부터 제2 다운로드 URL 요청을 수신하고, 동작 1584에서 제2 서버(1520)로 제2 다운로드 URL을 요청할 수 있다. 제2 다운로드 URL을 요청하는 신호는, 제2 다운로드 URL 생성에 필요한 정보, 예컨대, 다운로드할 컨텐츠에 대한 정보, 제2 전자 장치(1503)의 식별 정보, 어플리케이션 식별 정보, 또는 업로드/다운로드 경로 설정 규칙에 관련된 템플릿 식별 정보 중 적어도 하나를 포함할 수 있다. 다양한 실시예들에 따르면, 제2 서버(1520)는 URL 관리 서버(1513)의 URL 생성기(1515)로부터의 요청에 따라 제2 다운로드 URL을 생성하고, 생성된 제2 다운로드 URL을 URL 생성기(1515)로 전송할 수 있다.
다양한 실시예들에 따르면, URL 생성기(1515)는 동작 1586에서 제2 다운로드 URL을 URL 디코더(1514)로 전달하고, URL 디코더(1514)는 동작 1588에서 제2 전자 장치(1503)로 제2 다운로드 URL을 전송할 수 있다.
다양한 실시예들에 따르면, 제2 전자 장치(1503)는 제2 다운로드 URL을 수신하고, 동작 1590에서 제2 다운로드 URL을 이용하여 제2 서버(1520)에 직접 접근하여 컨텐츠를 다운로드할 수 있다. 일실시예에 따르면, 제2 전자 장치(1503)는, 복수 개의 스토리지 서버들(1521-1 내지 1521-n) 중에서 제2 다운로드 URL에 의해 지정된 특정 스토리지 서버에 직접 접근할 수 있다. 일실시예에 따르면, 제2 전자 장치(1503)는, 제2 다운로드 URL에 기초하여 CDN 서버(1523)를 통해, 지정된 특정 스토리지 서버에 직접 접근할 수 있다.
도 16a 및 도 16b는 본 발명의 다양한 실시예들에 따른 시스템의 신호 흐름도(1600-1, 1600-2)이다. 여기에서, 제1 전자 장치(1601), 및 제2 전자 장치(1603) 각각은 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201)일 수 있다. 제1 서버(1610)는 도 1의 제1 서버(120), 또는 도 3의 제1 서버(301)일 수 있고, 제2 서버(1620)는 도 1의 제2 서버(130), 또는 도 4의 제2 서버(401)일 수 있다. 여기에서, 점선으로 표시된 동작들은 실시예에 따라 생략될 수 있다. 도 16a 및 도 16b는 도 15에 도시된 시스템의 신호 흐름도이다.
도 16a 및 도 16b를 참조하면, 다양한 실시예들에 따르면, 제1 전자 장치(1601)는 동작 1610에서, 컨텐츠 업로드 또는 컨텐츠 공유를 위해 컨텐츠 업로드/다운로드 URL 요청 신호를 제1 서버(1610)의 요청 관리 서버(1611)로 전송할 수 있다. 컨텐츠 업로드/다운로드 URL 요청 신호는, 도 15에서 설명한 컨텐츠 업로드/다운로드 URL 요청 신호와 동일할 수 있다.
다양한 실시예들에 따르면, 요청 관리 서버(1611)는 동작 1612에서, 업로드/다운로드 URL 요청 신호에 대한 유효성을 검사를 수행할 수 있다. 다운로드 URL 요청 신호에 대한 유효성을 검사하는 방식은, 도 15에서 동작 1552에서 설명한 1차 유효성 검사 방식과 동일할 수 있다.
다양한 실시예들에 따르면, 업로드/다운로드 URL 요청 신호가 유효한 신호인 경우, 요청 관리 서버(1611)는 동작 1614에서 URL 관리 서버(1613)로 제1 업로드 URL 및 제1 다운로드 URL 생성을 요청하는 신호를 전송할 수 있다. 제1 업로드 URL 및 제1 다운로드 URL 생성을 요청하는 신호는, 업로드/다운로드 URL 요청 신호에 포함된 적어도 하나의 파라미터를 포함할 수 있다.
다양한 실시예들에 따르면, URL 관리 서버(1613)는 동작 1616에서 지정된 정책에 기초하여 제1 업로드 URL 및 제1 다운로드 URL을 생성하고, 동작 1618에서 제1 업로드 URL 및 제1 다운로드 URL을 요청 관리 서버(1611)로 전송할 수 있다. 예를 들어, URL 관리 서버(1613)는 URL 관리 서버(1613)의 URL 관련 정책, 또는 제2 서버(1620)의 URL 관련 정책 중 적어도 하나에 기초하여 제1 업로드 URL 및 제1 다운로드 URL을 생성할 수 있다. 일실시예에 따르면, 제1 업로드 URL 및 제1 다운로드 URL은 암호화된 후 전송될 수 있다. 다양한 실시예들에 따르면, 요청 관리 서버(1611)는 동작 1620에서 제1 업로드 URL 및 제1 다운로드 URL을 제1 전자 장치(1601)로 전송할 수 있다.
다양한 실시예들에 따르면, 제1 전자 장치(1601)는 동작 1630에서 제1 업로드 URL을 이용하여 제1 서버(1610)에 포함된 URL 관리 서버(1613)로 컨텐츠 업로드를 요청할 수 있다.
다양한 실시예들에 따르면, URL 관리 서버(1613)는 동작 1632에서 제1 업로드 URL에 기초하여 유효성 검사를 수행할 수 있다. 일실시예에 따르면, URL 관리 서버(1613)는 제1 업로드 URL의 변조 여부, 또는 제1 업로드 만료 시점이 경과되었는지 여부, 또는 제1 전자 장치(1601)가 업로드 권한을 가진 전자 장치인지 여부 중 적어도 하나에 기초하여, 제1 업로드 URL에 대한 유효성 여부를 결정할 수 있다.
다양한 실시예들에 따르면, 컨텐츠 업로드 요청이 유효한 경우, URL 관리 서버(1613)는 동작 1634에서 제2 서버(1620)의 스토리지 서버(1621) 또는 CDN 서버(1623)로 제2 업로드 URL을 요청할 수 있다. 일실시예에 따르면, URL 관리 서버(1613)는 제2 업로드 URL 생성에 필요한 정보, 예컨대, 업로드할 컨텐츠에 대한 정보, 제1 전자 장치(1601)의 식별 정보, 어플리케이션 식별 정보, 또는 업로드/다운로드 경로 설정 규칙에 관련된 템플릿 식별 정보 중 적어도 하나를 스토리지 서버(1621) 또는 CDN 서버(1623)로 전송하면서, 제2 업로드 URL을 요청할 수 있다. 예를 들어, URL 관리 서버(1613)는 템플릿 식별 정보에 대응되는 업로드/다운로드 경로 설정 규칙에 기초하여, 스토리지 서버(1621)로 제2 업로드 URL을 요청하거나, CDN 서버(1623)로 제2 업로드 URL을 요청할 수 있다. 다양한 실시예들에 따르면, 제2 서버(1620)의 스토리지 서버(1621) 또는 CDN 서버(1623)는 동작 1636에서 제2 업로드 URL을 생성하고, 동작 1638에서 생성된 제2 업로드 URL을 URL 관리 서버(1613)로 전송할 수 있다. 일실시예에 따르면, 제2 업로드 URL은, 템플릿 식별 정보에 대응되는 업로드/다운로드 경로 설정 규칙에 기초하여, 스토리지 서버(1621), 또는 CDN 서버(1623) 중 적어도 하나에 직접 접근 가능하도록 생성될 수 있다. 예를 들어, URL 관리 서버(1613)에서 스토리지 서버(1621)로 제2 업로드 URL을 요청한 경우, 스토리지 서버(1621)가 지정된 규칙에 기초하여 제2 업로드 URL을 생성하고, 생성된 제2 업로드 URL을 URL 관리 서버(1613)로 전송할 수 있다. 다른 예로, URL 관리 서버(1613)에서 CDN 서버(1623)로 제2 업로드 URL을 요청한 경우, CDN 서버(1623)가 지정된 규칙에 기초하여 제2 업로드 URL을 생성하고, 생성된 제2 업로드 URL을 URL 관리 서버(1613)로 전송할 수 있다.
다양한 실시예들에 따르면, URL 관리 서버(1613)는 동작 1640에서 제2 업로드 URL을 제1 전자 장치(1601)로 전송할 수 있다.
다양한 실시예들에 따르면, 제1 전자 장치(1601)는 동작 1642에서 제2 업로드 URL을 이용하여 제2 서버(1620)의 스토리지 서버(1621) 또는 CDN 서버(1623) 중 적어도 하나로 컨텐츠 업로드를 요청할 수 있다. 예를 들어, 제1 전자 장치(1601)는 제2 업로드 URL과 업로드할 컨텐츠를 포함하는 컨텐츠 업로드 요청 신호를 스토리지 서버(1621) 또는 CDN 서버(1623)로 전송할 수 있다. 다양한 실시예들에 따르면, 제1 전자 장치(1601)가 컨텐츠 업로드 요청 신호를 CDN 서버(1623)로 전송한 경우, CDN 서버(1623)는 동작 1643에서 제1 전자 장치(1601)로부터 수신된 컨텐츠를 포함하는 컨텐츠 업로드 요청 신호를 스토리지 서버(1621)로 전송(또는 전달)할 수 있다. 컨텐츠 업로드 요청 신호는, 제2 업로드 URL을 포함할 수 있다. 컨텐츠 업로드 요청 신호가 스토리지 서버(1621)로 바로 전송된 경우, 동작 1643은 생략될 수 있다.
다양한 실시예들에 따르면, 제1 전자 장치(1601)의 컨텐츠 업로드 요청 신호를 제1 전자 장치(1601)로부터 직접, 또는 CDN 서버(1623)를 통해 수신한 스토리지 서버(1621)는 동작 1644에서 제2 업로드 URL에 기초하여, 컨텐츠를 저장하고, 동작 1646에서 제1 전자 장치(1601)로 컨텐츠 업로드 완료 신호를 전송할 수 있다. 일실시예에 따르면, 컨텐츠 업로드 완료 신호는 CDN 서버(1623)를 통해 제1 전자 장치(1601)로 전송될 수 있다.
다양한 실시예들에 따르면, 제1 전자 장치(1601)는 동작 1650 및 1652에서 URL 공유 서버(1625)를 통해 제1 다운로드 URL을 제2 전자 장치(1603)로 전송할 수 있다. 일실시예에 따르면, 제1 전자 장치(1601)는 컨텐츠 업로드 완료, 또는 컨텐츠 공유 이벤트 발생에 기초하여, 제2 전자 장치(1603)로 제1 다운로드 URL을 전송할 수 있다. 도시되지는 않았으나, 제1 전자 장치(1601)는 제1 서버(1610)의 URL 관리 서버(1613)로 제2 전자 장치(1603)가 컨텐츠에 대한 다운로드 권한을 갖는 전자 장치임을 나타내는 정보를 전송할 수 있다.
다양한 실시예들에 따르면, 제2 전자 장치(1603)는 동작 1654에서 제1 다운로드 URL을 이용하여 제1 서버(1610)에 포함된 URL 관리 서버(1613)로 컨텐츠 다운로드를 요청할 수 있다.
다양한 실시예들에 따르면, URL 관리 서버(1613)는 동작 1656에서 제1 다운로드 URL에 대한 유효성 검사를 수행할 수 있다. 일실시예에 따르면, URL 관리 서버(1613)는 제1 다운로드 URL의 변조 여부, 또는 제1 다운로드 만료 시점이 경과되었는지 여부, 최대 다운로드 횟수가 초과되었는지 여부, 또는 제2 전자 장치(1603)가 다운로드 권한을 가진 전자 장치인지 여부 중 적어도 하나에 기초하여, 제1 다운로드 URL에 대한 유효성 여부를 결정할 수 있다.
다양한 실시예들에 따르면, URL 관리 서버(1613)는 동작 1658에서 제2 서버(1620)의 스토리지 서버(1621) 또는 CDN 서버(1623)로 제2 다운로드 URL을 요청할 수 있다. 일실시예에 따르면, URL 관리 서버(1613)는 제2 업로드 URL 생성에 필요한 정보, 예컨대, 다운로드할 컨텐츠에 대한 정보, 제2 전자 장치(1603)의 식별 정보, 어플리케이션 식별 정보, 또는 업로드/다운로드 경로 설정 규칙에 관련된 템플릿 식별 정보 중 적어도 하나를 제2 서버(1620) 또는 CDN 서버(1623)로 전송할 수 있다. 예를 들어, URL 관리 서버(1613)는 템플릿 식별 정보에 대응되는 업로드/다운로드 경로 설정 규칙에 기초하여, 스토리지 서버(1621)로 제2 다운로드 URL을 요청하거나, CDN 서버(1623)로 제2 다운로드 URL을 요청할 수 있다.
다양한 실시예들에 따르면, 제2 서버(1620)의 스토리지 서버(1621) 또는 CDN 서버(1623)는 동작 1660에서 제2 다운로드 URL을 생성하고, 동작 1662에서 생성된 제2 다운로드 URL을 URL 관리 서버(1613)로 전송할 수 있다. 일실시예에 따르면, 제2 다운로드 URL은, 템플릿 식별 정보에 대응되는 업로드/다운로드 경로 설정 규칙에 기초하여, 스토리지 서버(1621), 또는 CDN 서버(1623) 중 적어도 하나에 직접 접근 가능하도록 생성될 수 있다. 예를 들어, URL 관리 서버(1613)에서 스토리지 서버(1621)로 제2 다운로드 URL을 요청한 경우, 스토리지 서버(1621)가 지정된 규칙에 기초하여 제2 다운로드 URL을 생성하고, 생성된 제2 다운로드 URL을 URL 관리 서버(1613)로 전송할 수 있다. 다른 예로, URL 관리 서버(1613)에서 CDN 서버(1623)로 제2 다운로드 URL을 요청한 경우, CDN 서버(1623)가 지정된 규칙에 기초하여 제2 다운로드 URL을 생성하고, 생성된 제2 다운로드 URL을 URL 관리 서버(1613)로 전송할 수 있다.
다양한 실시예들에 따르면, URL 관리 서버(1613)는 동작 1664에서 제2 다운로드 URL을 제2 전자 장치(1603)로 전송할 수 있다.
다양한 실시예들에 따르면, 제2 전자 장치(1603)는 동작 1666에서 제2 다운로드 URL을 이용하여 제2 서버(1620)의 스토리지 서버(1621) 또는 CDN 서버(1623)로 컨텐츠 다운로드를 요청할 수 있다. 다양한 실시예들에 따르면, 제2 전자 장치(1603)가 컨텐츠 다운로드 요청 신호를 CDN 서버(1623)로 전송한 경우, CDN 서버(1623)는 동작 1668에서 제2 전자 장치(1603)로부터 수신된 컨텐츠 다운로드 요청 신호를 스토리지 서버(1621)로 전송할 수 있다. 컨텐츠 다운로드 요청 신호는, 제2 다운로드 URL을 포함할 수 있다. 다양한 실시예들에 따르면, 스토리지 서버(1621)는 동작 1670에서 제2 다운로드 URL에 기초하여 다운로드가 요청된 컨텐츠를 검색하고, 검색된 컨텐츠를 CDN 서버(1623)로 전송할 수 있다. 다양한 실시예들에 따르면, CDN 서버(1623)는 동작 1672에서 스토리지 서버(1621)로부터 수신된 컨텐츠를 제2 전자 장치(1603)로 전송할 수 있다. 다양한 실시예들에 따르면, CDN 서버(1623)에 컨텐츠 다운로드 요청 신호에 대응되는 컨텐츠가 캐싱되어 있는 경우, CDN 서버(1623)는 동작 1668 및 동작 1670을 생략하고, 동작 1672에서 캐싱되어 있는 컨텐츠를 제2 전자 장치(1603)로 전송할 수 있다. 다양한 실시예들에 따르면, 제2 전자 장치(1603)가 컨텐츠 다운로드 요청 신호를 스토리지 서버(1621)로 전송한 경우, 동작 1668 및 동작 1670은 생략되고, 스토리지 서버(1621)는 제2 다운로드 URL에 기초하여 다운로드가 요청된 컨텐츠를 검색하고, 동작 1672에서 검색된 컨텐츠를 제2 전자 장치(1603)로 전송할 수 있다.
도 17은 본 발명의 다양한 실시예들에 따른 URL 관리 서버와 요청 관리 서버를 세분화한 아키텍쳐(1700)이다. 다양한 실시예에 따른 시스템은 제1 전자 장치(1701), 제2 전자 장치(1703), 제1 서버(1710), 제2 서버(1720), 프록시 서버(1730), URL 공유 서버(1740)를 포함할 수 있다. 제1 전자 장치(1701), 및 제2 전자 장치(1703) 각각은 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201)일 수 있다. 제1 서버(1710)는 도 1의 제1 서버(120), 또는 도 3의 제1 서버(301)일 수 있고, 제2 서버(1720)는 도 1의 제2 서버(130), 또는 도 4의 제2 서버(401)일 수 있다. 제1 서버(1710)는 요청 관리 서버(1711), 및 URL 관리 서버(1715)를 포함할 수 있고, 요청 관리 서버(1711)는 URL 요청 해석기(1712) 및 제2 URL 생성기(1713)를 포함하고, URL 관리 서버(1715)는 URL 프록시(1716), URL 디코더(1717), 및 제1 URL 생성기(1719)를 포함할 수 있다. 제2 서버(1720)는, 스토리지 서버(1721), 및 CDN 서버(1723)를 포함할 수 있다. 스토리지 서버(1721)는 복수개의 스토리지 서버들(1721-1 내지 1721-n)을 포함할 수 있다.
도 17을 참조하면, 다양한 실시예들에 따르면, 제1 전자 장치(1701)는 동작 1750에서, 컨텐츠 업로드 또는 컨텐츠 공유를 위해 컨텐츠 업로드/다운로드 URL 요청 신호를 프록시 서버(1730)를 통해 제1 서버(1710)의 요청 관리 서버(1711)로 전송할 수 있다. 일실시예에 따르면, 동작 1750은 도 15의 동작 1550의 적어도 일부와 동일할 수 있다.
다양한 실시예들에 따르면, 요청 관리 서버(1711)는 동작 1752에서, 업로드/다운로드 URL 요청 신호에 대한 1차 유효성 검사를 수행할 수 있다. 일실시예에 따르면, 동작 1752는 도 15의 동작 1552의 적어도 일부와 동일할 수 있다.
다양한 실시예들에 따르면, 업로드/다운로드 URL 요청 신호가 유효한 신호인 경우, 요청 관리 서버(1711)는 동작 1754에서 URL 관리 서버(1715)의 제1 URL 생성기(1719)로 제1 업로드 URL 및 제1 다운로드 URL 생성을 요청할 수 있다. 일실시예에 따르면, 요청 관리 서버(1711)는 업로드/다운로드 URL 요청 신호에 포함된 적어도 하나의 파라미터를 제1 URL 생성기(1719)로 전달할 수 있다.
다양한 실시예들에 따르면, URL 관리 서버(1715)의 제1 URL 생성기(1719)는 지정된 정책에 기초하여 제1 업로드 URL 및 제1 다운로드 URL을 생성하고, 동작 1756에서 제1 업로드 URL 및 제1 다운로드 URL을 요청 관리 서버(1711)로 전송할 수 있다. 일실시예에 따르면, 동작 1756은, 도 15의 동작 1556의 적어도 일부와 동일할 수 있다.
다양한 실시예들에 따르면, 요청 관리 서버(1711)는 동작 1758에서 프록시 서버(1730)를 통해 제1 업로드 URL 및 제1 다운로드 URL을 제1 전자 장치(1701)로 전송할 수 있다.
다양한 실시예들에 따르면, 제1 전자 장치(1701)는 제1 업로드 URL 및 제1 다운로드 URL이 수신되면, 동작 1760에서 제1 업로드 URL을 이용하여 제1 서버(1710)에 포함된 URL 관리 서버(1715)의 URL 프록시(1716)로 컨텐츠 업로드를 요청할 수 있다.
다양한 실시예들에 따르면, URL 프록시(1716)는 동작 1762에서 URL 관리 서버(1715)의 URL 디코더(1717)로 컨텐츠 업로드 요청에 대한 유효성 검사를 요청하는 신호를 전송할 수 있다. 유효성 검사를 요청하는 신호는, 제1 전자 장치(1701)로부터 수신된 제1 업로드 URL을 포함할 수 있다.
다양한 실시예들에 따르면, URL 디코더(1717)는 동작 1764에서 컨텐츠 업로드 요청에 대한 2차 유효성 검사를 수행할 수 있다. 일실시예에 따르면, 2차 유효성을 검사하는 동작 1764는 도 15의 동작 1561의 적어도 일부와 동일할 수 있다. 다양한 실시예들에 따르면, URL 디코더(1717)는 동작 1766에서 컨텐츠 업로드 요청에 대한 유효성 검사 결과를 나타내는 신호를 URL 프록시(1716)로 전송할 수 있다. 컨텐츠 업로드 요청에 대한 유효성 검사 결과를 나타내는 신호는, 예를 들어, 제2 업로드 URL 생성을 요청하는 신호, 또는 업로드 거절 신호 중 적어도 하나를 포함할 수 있다. 예컨대, URL 디코더(1717)는 컨텐츠 업로드 요청이 유효한 경우(또는 제1 업로드 URL이 유효한 경우), URL 프록시(1716)로 컨텐츠 업로드 요청이 유효함을 나타내는 신호, 또는 URL 생성을 요청하는 신호를 전송할 수 있다.
다양한 실시예들에 따르면, URL 프록시(1716)는 URL 디코더(1717)로부터 컨텐츠 업로드 요청이 유효함을 나타내는 신호를 수신하고, 동작 1768에서 제1 서버(1710)의 요청 관리 서버(1711)에 포함된 URL 요청 해석기(1712)로 제2 업로드 URL 생성을 요청하는 신호를 전송 수 있다. 제2 업로드 URL을 요청하는 신호는, 제1 업로드 URL에 포함된 적어도 하나의 정보(예: 컨텐츠 업로드를 요청한 서비스를 나타내는 어플리케이션 식별 정보, 컨텐츠가 업로드될 서버에 대한 정보, 업로드 권한을 가지는 전자 장치에 대한 식별 정보 중 적어도 하나의 정보)를 포함할 수 있다.
다양한 실시예들에 따르면, 요청 관리 서버(1711)의 URL 요청 해석기(1712)는 URL 프록시(1716)로부터 제2 업로드 URL 생성을 요청하는 신호를 수신하고, 동작 1770에서 제2 URL 생성기(1713)로 제2 업로드 URL 생성을 요청할 수 있다. 일실시예에 따르면, URL 요청 해석기(1712) URL 프록시(1716)로부터 수신된 제2 업로드 URL 생성 요청 신호를 해석하여, 제2 URL 생성기(1713)로 제2 업로드 URL 생성을 요청할 수 있다.
다양한 실시예들에 따르면, 제2 URL 생성기(1713)는 요청 관리 서버(1711)의 요청에 기초하여, 동작 1771에서 스토리지 서버(1721) 또는 CDN 서버(1723)로 제2 업로드 URL을 요청하고, 스토리지 서버(1721) 또는 CDN 서버(1723)로부터 제2 업로드 URL을 수신할 수 있다. 일실시예에 따르면, 제2 URL 생성기(1713)는 제2 업로드 URL 생성 요청 신호에 포함된 적어도 하나의 정보 및 지정된 규칙에 기초하여 제2 업로드 URL을 요청할 대상이 스토리지 서버(1721)인지 또는 CDN 서버(1723)인지 결정하고, 결정된 서버로 제2 업로드 URL을 요청할 수 있다. 예를 들어, 제2 URL 생성기(1713)는 제2 업로드 URL을 요청할 대상이 스토리지 서버(1721)로 결정된 경우, 동작 1771-1과 같이, 스토리지 서버(1721)에 제2 업로드 URL을 요청하고, 스토리지 서버(1721)로부터 제2 업로드 URL을 수신할 수 있다. 다른 예로, 제2 URL 생성기(1713)는 제2 업로드 URL을 요청할 대상이 CDN 서버(1723)로 결정된 경우, 동작 1771-2와 같이, CDN 서버(1722)에 제2 업로드 URL을 요청하고, CDN 서버(1723)로부터 제2 업로드 URL을 수신할 수 있다. 제2 업로드 URL을 요청하는 신호는, 제2 업로드 URL 생성에 필요한 정보, 예컨대, 업로드할 컨텐츠에 대한 정보, 제1 전자 장치(1701)의 식별 정보, 어플리케이션 식별 정보, 또는 업로드/다운로드 경로 설정 규칙에 관련된 템플릿 식별 정보 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 제2 URL 생성기(1713)는 동작 1772에서 제2 업로드 URL을 URL 요청 해석기(1712)로 전달하고, URL 요청 해석기(1712)는 동작 1774에서 제2 업로드 URL을 URL 프록시(1716)로 전달할 수 있다.
다양한 실시예들에 따르면, URL 프록시(1716)는 동작 1776에서 제1 전자 장치(1701)로 제2 업로드 URL을 전송할 수 있다.
다양한 실시예들에 따르면, 제1 전자 장치(1701)는 제2 업로드 URL을 수신하고, 동작 1778에서 제2 업로드 URL을 이용하여 제2 서버(1720)에 직접 접근하여 컨텐츠를 업로드할 수 있다. 예를 들어, 제1 전자 장치(1701)는, 복수 개의 스토리지 서버들(1721-1 내지 1721-n) 중에서 제2 업로드 URL에 의해 지정된 특정 스토리지 서버에 직접 접근할 수 있다. 다른 예로, 제1 전자 장치(1701)는, 제2 업로드 URL에 기초하여 CDN 서버(1723)를 통해, 지정된 특정 스토리지 서버에 접근할 수 있다.
다양한 실시예들에 따르면, 제1 전자 장치(1701)는 동작 1741 및 동작 1742에서 제1 다운로드 URL을 URL 공유 서버(1740)를 통해 제2 전자 장치(1703)로 전송할 수 있다. 일실시예에 따르면, 동작 1741 및 1742는, 도 15의 동작 1570 및 1571의 적어도 일부와 유사할 수 있다.
다양한 실시예들에 따르면, 제2 전자 장치(1703)는 제1 전자 장치(1701)로부터 제1 다운로드 URL을 수신하고, 동작 1780 내지 1796을 통해 제2 다운로드 URL을 획득할 수 있다. 동작 1780 내지 1796은, 동작 1760 내지 1776과 유사하다. 예를 들어, 동작 1780 내지 1796은 다운로드에 관련된 것이고, 1760 내지 1776은 업로드에 관련된 것이라는 점에서만 다를 뿐, 구체적인 동작은 동일할 수 있다.
다양한 실시예들에 따르면, 제2 전자 장치(1703)는 제2 다운로드 URL을 수신하고, 동작 1798에서 제2 다운로드 URL을 이용하여 제2 서버(1720)에 직접 접근하여 컨텐츠를 다운로드할 수 있다. 일실시예에 따르면, 제2 전자 장치(1703)는, 복수 개의 스토리지 서버들(1721-1 내지 1721-n) 중에서 제2 다운로드 URL에 의해 지정된 특정 스토리지 서버에 직접 접근할 수 있다. 일실시예에 따르면, 제2 전자 장치(1703)는, 제2 다운로드 URL에 기초하여 CDN 서버(1723)를 통해, 지정된 특정 스토리지 서버에 접근할 수 있다.
상술한 도 17에서, URL 프록시(1716)가 URL 관리 서버(1715)에 포함된 것으로 설명하였으나, URL 프록시(1716)는 URL 관리 서버(1715)에 포함되지 않고, 논리적 및/또는 물리적으로 구분되는 별도의 서버로 구성될 수 있다.
도 18a 및 도 18b는 도 17에 도시된 시스템의 신호 흐름도(1800-1, 1800-2)이다. 여기에서, 제1 전자 장치(1801), 및 제2 전자 장치(1803) 각각은 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201)일 수 있다. 제1 서버(1810)는 도 1의 제1 서버(120), 또는 도 3의 제1 서버(301)일 수 있고, 제2 서버(1820)는 도 1의 제2 서버(130), 또는 도 4의 제2 서버(401)일 수 있다. 여기에서, 점선으로 표시된 동작들은 실시예에 따라 생략될 수 있다.
도 18a 및 도 18b를 참조하면, 동작 1810 내지 동작 1872 중 적어도 일부 동작들은 도 16a 및 도 16b의 동작 1610 내지 동작 1672 중 적어도 일부 동일할 수 있다. 예를 들어, 동작 1810 내지 1832는, 도 16a의 동작 1610 내지 1632와 동일하고, 동작 1842 내지 1856은 도 16b의 동작 1642 내지 1656와 동일하며, 동작 1866 내지 1872는 도 16b의 동작 1666 내지 1672와 동일할 수 있다. 이하에서, 설명의 편의를 위해 도 16a 및 도 16b의 동작과 동일한 동작들에 대한 설명은 생략할 것이다.
다양한 실시예들에 따르면, 도 18a의 A와 같이, URL 관리 서버(1813)는 컨텐츠 업로드 요청이 유효한 경우, 동작 1834에서 제1 서버(1810)의 요청 관리 서버(1811)로 제2 업로드 URL을 요청할 수 있다. 예를 들어, URL 관리 서버(1813)는 URL 프록시 서버(예: 도 17의 URL 프록시(1716))를 통해 요청 관리 서버(1811)로 제2 업로드 URL을 요청할 수 있다.
다양한 실시예들에 따르면, 요청 관리 서버(1811)는 동작 1835에서 제2 서버(1820)의 스토리지 서버(1821) 또는 CDN 서버(1823)로 제2 업로드 URL을 요청할 수 있다. 일실시예에 따르면, 요청 관리 서버(1811)는 제2 업로드 URL 생성에 필요한 정보, 예컨대, 업로드할 컨텐츠에 대한 정보, 제1 전자 장치(1801)의 식별 정보, 어플리케이션 식별 정보, 또는 업로드/다운로드 경로 설정 규칙에 관련된 템플릿 식별 정보 중 적어도 하나를 스토리지 서버(1821) 또는 CDN 서버(1823)로 전송하면서, 제2 업로드 URL을 요청할 수 있다. 예를 들어, 요청 관리 서버(1811)는 템플릿 식별 정보에 대응되는 업로드/다운로드 경로 설정 규칙에 기초하여, 스토리지 서버(1821)로 제2 업로드 URL을 요청하거나, CDN 서버(1823)로 제2 업로드 URL을 요청할 수 있다. 다양한 실시예들에 따르면, 제2 서버(1820)의 스토리지 서버(1821) 또는 CDN 서버(1823)는 동작 1836에서 제2 업로드 URL을 생성하고, 동작 1837에서 생성된 제2 업로드 URL을 요청 관리 서버(1811)로 전송할 수 있다. 동작 1836은, 도 16a의 동작 1636과 동일할 수 있다.
다양한 실시예들에 따르면, 요청 관리 서버(1811)는 동작 1838에서 제2 업로드 URL을 URL 관리 서버(1813)로 전송할 수 있다. 예를 들어, 요청 관리 서버(1811)는 URL 관리 서버(1813)에 포함된 URL 프록시 서버(1716)로 제2 업로드 URL을 전송할 수 있다. 다양한 실시예들에 따르면, URL 관리 서버(1813)는 동작 1840에서 제2 업로드 URL을 제1 전자 장치(1801)로 전송할 수 있다. 예를 들어, URL 관리 서버(1813)의 URL 프록시 서버(1716)는 제2 업로드 URL을 제1 전자 장치(1801)로 전송할 수 있다.
다양한 실시예들에 따르면, 도 18b의 B와 같이, URL 관리 서버(1813)는 컨텐츠 다운로드 요청이 유효한 경우, 동작 1858에서 제1 서버(1810)의 요청 관리 서버(1811)로 제2 다운로드 URL을 요청할 수 있다. 예를 들어, URL 관리 서버(1813)는 URL 프록시 서버(예: 도 17의 URL 프록시(1716))를 통해 요청 관리 서버(1811)로 제2 다운로드 URL을 요청할 수 있다.
다양한 실시예들에 따르면, 요청 관리 서버(1811)는 동작 1859에서 제2 서버(1820)의 스토리지 서버(1821) 또는 CDN 서버(1823)로 제2 다운로드 URL을 요청할 수 있다. 일실시예에 따르면, 요청 관리 서버(1811)는 제2 다운로드 URL 생성에 필요한 정보, 예컨대, 다운로드할 컨텐츠에 대한 정보, 제1 전자 장치(1801)의 식별 정보, 어플리케이션 식별 정보, 또는 업로드/다운로드 경로 설정 규칙에 관련된 템플릿 식별 정보 중 적어도 하나를 스토리지 서버(1821) 또는 CDN 서버(1823)로 전송하면서, 제2 다운로드 URL을 요청할 수 있다. 예를 들어, 요청 관리 서버(1811)는 템플릿 식별 정보에 대응되는 업로드/다운로드 경로 설정 규칙에 기초하여, 스토리지 서버(1821)로 제2 다운로드 URL을 요청하거나, CDN 서버(1823)로 제2 다운로드 URL을 요청할 수 있다. 다양한 실시예들에 따르면, 제2 서버(1820)의 스토리지 서버(1821) 또는 CDN 서버(1823)는 동작 1860에서 제2 다운로드 URL을 생성하고, 동작 1861에서 생성된 제2 다운로드 URL을 요청 관리 서버(1811)로 전송할 수 있다. 동작 1860은, 도 16b의 동작 1660과 동일할 수 있다.
다양한 실시예들에 따르면, 요청 관리 서버(1811)는 동작 1862에서 제2 다운로드 URL을 URL 관리 서버(1813)로 전송할 수 있다. 예를 들어, 요청 관리 서버(1811)는 URL 관리 서버(1813)에 포함된 URL 프록시 서버(1716)로 제2 다운로드 URL을 전송할 수 있다. 다양한 실시예들에 따르면, URL 관리 서버(1813)는 동작 1864에서 제2 다운로드 URL을 제2 전자 장치(1803)로 전송할 수 있다. 예를 들어, URL 관리 서버(1813)의 URL 프록시 서버(1716)는 제2 다운로드 URL을 제2 전자 장치(1803)로 전송할 수 있다.
상술한 설명에서는, 제1 전자 장치(예: 도 15의 제1 전자 장치(1501), 또는 도 17의 제1 전자 장치(1701))가 제1 서버(예: 도 15의 제1 서버(1510), 도 17의 제1 서버(1710))로 업로드/다운로드 URL을 요청하고, 제1 서버(1510, 1710)로부터 제1 업로드 URL 및 제1 다운로드 URL을 수신한 후, 제1 업로드 URL을 이용하여 컨텐츠를 업로드하고, 제1 다운로드 URL은 제2 전자 장치(예: 도 15의 제2 전자 장치(1503), 또는 도 17의 제2 전자 장치(1703))로 전달하는 경우에 대해 설명하였다. 그러나, 제1 업로드 URL 및/또는 제1 다운로드 URL이 제1 전자 장치(1501, 1701), 및/또는 제2 전자 장치(1503, 1703)로 전달되는 방식은 이에 한정되지 않을 것이다. 예를 들어, 제1 전자 장치(1501, 1701), 및/또는 제2 전자 장치(1503, 1703)는 URL 공유 서버(예: 도 15의 URL 공유 서버(1540), 또는 도 17의 URL 공유 서버(1740))를 통해 제1 업로드 URL 및/또는 제1 다운로드 URL을 획득할 수 있다. 예컨대, 제1 전자 장치(1501, 1701)는 URL 공유 서버(1540, 1740)로 업로드/다운로드 URL을 요청할 수 있다. URL 공유 서버(1540, 1740)는 제1 전자 장치(1501, 1701)로부터 URL 공유 서버(1540, 1740)로 업로드/다운로드 URL이 요청되면, 제1 서버(1510, 1710)로 업로드/다운로드 URL을 요청하여 제1 업로드 URL 및 제1 다운로드 URL을 수신하고, 수신된 제1 업로드 URL을 제1 전자 장치(1501, 1701)로 전달하고, 제1 다운로드 URL을 제2 전자 장치(1503, 1703)로 전달할 수 있다.
상술한 설명에서는, 제1 전자 장치(1501, 1701), 또는 URL 공유 서버(1540, 1740)가 제1 서버(1510, 1710)로부터 제1 업로드 URL과 함께 제1 다운로드 URL을 획득하는 경우에 대해 설명하였다. 그러나, 다양한 실시예들에 따르면, 제1 전자 장치(1501, 1701), 또는 URL 공유 서버(1540, 1740)는 제1 업로드 URL과 제1 다운로드 URL을 서로 다른 시점에 획득할 수 있다. 예를 들어, 제1 전자 장치(1501, 1701), 또는 URL 공유 서버(1540, 1740)는 제1 업로드 URL을 먼저 획득하고, 컨텐츠가 업로드된 이후에 제1 다운로드 URL을 획득할 수 있다. 이하 도 19에서는 URL 공유 서버가 제1 서버(130)로 업로드/다운로드 URL을 요청하고, 제1 업로드 URL 및 제1 다운로드 URL을 서로 다른 시점에 획득하는 경우에 대해 보다 상세히 설명할 것이다.
도 19는 본 발명의 다양한 실시예들에 따른 URL 공유 서버가 제1 업로드/다운로드 URL을 획득하여 전자 장치들에 전달하는 시스템의 신호 흐름도(1900)이다. 여기에서, 제1 전자 장치(1901), 및 제2 전자 장치(1903) 각각은 도 1의 전자 장치(101), 또는 도 2의 전자 장치(201)일 수 있다. 제1 서버(1910)는 도 1의 제1 서버(120), 또는 도 3의 제1 서버(301)일 수 있고, 제2 서버(1920)는 도 1의 제2 서버(130), 또는 도 4의 제2 서버(401)일 수 있다.
도 19를 참조하면, 다양한 실시예들에 따른 제1 전자 장치(1901)는 동작 1928에서 URL 공유 서버(1925)로 컨텐츠 업로드 또는 컨텐츠 공유를 위해 컨텐츠 업로드 URL 요청 신호를 전송할 수 있다. 컨텐츠 업로드 URL 요청 신호는, 업로드할 컨텐츠에 대한 정보, 제1 전자 장치(1901)의 식별 정보, 어플리케이션 식별 정보, 또는 업로드/다운로드 경로 설정 규칙에 관련된 템플릿 식별 정보 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, URL 공유 서버(1925)는 동작 1930에서 요청 관리 서버(1911)로 제1 업로드 URL을 요청할 수 있다. 제1 업로드 URL 요청 신호는, 업로드할 컨텐츠에 대한 정보, 제1 전자 장치(1901)의 식별 정보, 어플리케이션 식별 정보, 또는 업로드/다운로드 경로 설정 규칙에 관련된 템플릿 식별 정보 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 요청 관리 서버(1911)는 URL 공유 서버(1925)로부터 제1 업로드 URL 요청 신호를 수신하고, 동작 1932에서, 업로드 URL 요청 신호에 대한 1차 유효성 검사를 수행할 수 있다. 예를 들어, 요청 관리 서버(1911)는 도 16a의 동작 1612 및/또는 도 18a의 동작 1812에서 설명한 바와 같은 방식으로 업로드 URL 요청 신호가 유효한지 여부를 검사할 수 있다.
다양한 실시예들에 따르면, 업로드 URL 요청 신호가 유효한 신호인 경우, 요청 관리 서버(1911)는 동작 1934에서 URL 관리 서버(1913)로 제1 업로드 URL 생성을 요청할 수 있다. 일실시예에 따르면, 요청 관리 서버(1911)는 업로드 URL 요청 신호에 포함된 적어도 하나의 파라미터를 URL 관리 서버(1913)로 전달할 수 있다.
다양한 실시예들에 따르면, URL 관리 서버(1913)는 동작 1936에서 지정된 정책에 기초하여 제1 업로드 URL을 생성하고, 제1 다운로드 URL 발급에 이용될 오브젝트 ID 또는 토큰 값을 생성할 수 있다. 제1 업로드 URL은, 제1 서버(1910)의 URL 관련 정책, 또는 제2 서버(1920)의 URL 관련 정책 중 적어도 하나에 기초하여 생성될 수 있다. 일실시예에 따르면, 제1 업로드 URL은 암호화된 후 전송될 수 있다.
다양한 실시예들에 따르면, URL 관리 서버(1913)는 동작 1938에서 요청 관리 서버(1911)로 제1 업로드 URL을 전송하면서, 제1 다운로드 URL 발급에 이용될 오브젝트 ID 또는 토큰 값을 함께 전송할 수 있다. 다양한 실시예들에 따르면, 동작 1940에서 요청 관리 서버(1911)는 URL 관리 서버(1913)로부터 획득된 제1 업로드 URL, 및 제1 다운로드 URL 발급에 이용될 오브젝트 ID 또는 토큰 값을 URL 공유 서버(1925)로 전달할 수 있다. 다양한 실시예들에 따르면, URL 공유 서버(1925)는 동작 1942에서 제1 업로드 URL, 및 제1 다운로드 URL 발급에 이용될 오브젝트 ID 또는 토큰 값을 제1 전자 장치(1901)로 전달할 수 있다.
다양한 실시예들에 따르면, 제1 전자 장치(1901)는 동작 1944에서 제1 업로드 URL 및 제2 업로드 URL을 이용한 컨텐츠 업로드 진행을 수행할 수 있다. 일실시예에 따르면, 제2 업로드 URL은 제1 업로드 URL을 이용하여 획득될 수 있다. 일실시예에 따르면, 동작 1944는 도 18a 및 도 18b의 동작 1830 내지 1846의 적어도 일부 동작과 동일할 수 있다.
다양한 실시예들에 따르면, 제1 전자 장치(1901)는 컨텐츠 업로드가 성공적으로 완료된 경우, 동작 1946에서 컨텐츠 업로드에 대한 결과를 포함하는 신호를 URL 공유 서버(1925)로 전송할 수 있다. 컨텐츠 업로드에 대한 결과를 포함하는 신호는, 동작 1942에서 URL 공유 서버(1925)로부터 수신한 오브젝트 ID 또는 토큰 값을 포함할 수 있다.
다양한 실시예들에 따르면, URL 공유 서버(1925)는 동작 1948에서 제2 전자 장치(1903)로 제1 전자 장치(1901)의 컨텐츠 업로드 결과를 전달할 수 있다. 일실시예에 따르면, URL 공유 서버(1925)는 제1 전자 장치(1901)의 컨텐츠 업로드 성공 여부를 나타내는 정보와 제1 전자 장치(1901)로부터 수신된 오브젝트 ID 또는 토큰 값을 포함하는 신호를 제2 전자 장치(1903)로 전송할 수 있다. 일실시예에 따르면, 1 전자 장치(1901)의 컨텐츠 업로드 성공 여부를 나타내는 정보를 제2 전자 장치(1903)로 전송하고, 제1 전자 장치(1901)로부터 수신된 오브젝트 ID 또는 토큰 값은 제2 전자 장치(1903)로 전송하지 않고, URL 공유 서버(1925)의 메모리에 저장할 수 있다. 제2 전자 장치(1903)는 업로드된 컨텐츠를 다운로드 할 수 있는 권한을 가지는 전자 장치로서, 제1 전자 장치(1901)에 의해 결정되거나, 제2 전자 장치(1903)의 요청에 의해 결정될 수 있다. 이는 예시적인 것으로서, 본 발명은 이에 한정되지 않을 것이다.
다양한 실시예들에 따르면, 제2 전자 장치(1903)는 컨텐츠 다운로드 이벤트를 감지하고, 동작 1950에서 URL 공유 서버(1925)로 컨텐츠 다운로드를 위한 다운로드 URL을 요청할 수 있다. 일실시예에 따르면, 제2 전자 장치(1903)는 URL 공유 서버(1925)로부터 수신된 오브젝트 ID 또는 토큰 값을 포함하는 다운로드 URL 요청 신호를 URL 공유 서버(1925)로 전송할 수 있다.
다양한 실시예들에 따르면, URL 공유 서버(1925)는 동작 1952에서 요청 관리 서버(1911)로 제1 다운로드 URL을 요청할 수 있다. 제1 다운로드 URL 요청 신호는, 다운로드할 컨텐츠에 대한 정보, 제2 전자 장치(1903)의 식별 정보, 어플리케이션 식별 정보, 업로드/다운로드 경로 설정 규칙에 관련된 템플릿 식별 정보, 오브젝트 ID, 또는 토큰 값 중 적어도 하나를 포함할 수 있다. 제1 다운로드 URL 요청 신호에 포함되는 오브젝트 ID, 또는 토큰 값은, 요청 관리 서버(1911), 제1 전자 장치(1901), 또는 제2 전자 장치(1903) 중 적어도 하나로부터 수신된 것일 수 있다.
다양한 실시예들에 따르면, 요청 관리 서버(1911)는 URL 공유 서버(1925)로부터 제1 다운로드 URL 요청 신호를 수신하고, 동작 1954에서, 다운로드 URL 요청 신호에 대한 1차 유효성 검사를 수행할 수 있다. 예를 들어, 요청 관리 서버(1911)는 도 16a의 동작 1612 및/또는 도 18a의 동작 1812에서 설명한 바와 같은 방식으로 다운로드 URL 요청 신호가 유효한지 여부를 검사할 수 있다.
다양한 실시예들에 따르면, 다운로드 URL 요청 신호가 유효한 신호인 경우, 요청 관리 서버(1911)는 동작 1956에서 URL 관리 서버(1913)로 제1 다운로드 URL 생성을 요청할 수 있다. 일실시예에 따르면, 요청 관리 서버(1911)는 제1 다운로드 URL 요청 신호에 포함된 적어도 하나의 파라미터를 URL 관리 서버(1913)로 전달할 수 있다.
다양한 실시예들에 따르면, URL 관리 서버(1913)는 동작 1958에서 제1 다운로드 URL 요청 신호에 포함된 적어도 하나의 파라미터에 기초하여, 제1 다운로드 URL을 생성할 수 있다. 예를 들어, URL 관리 서버(1913)는 제1 다운로드 URL 요청 신호에 포함된 오브젝트 ID 또는 토큰 값에 기초하여 제1 다운로드 URL의 발급 가능 여부를 결정하고, 제1 다운로드 URL의 발급이 가능한 것으로 판단된 경우에 제1 다운로드 URL을 생성할 수 있다. 일실시예에 따르면, 제1 다운로드 URL은, 도 16a의 동작 1616 및 도 18a의 동작 1816에서 설명한 바와 같은 방식으로 생성될 수 있다. 일실시예에 따르면, 제1 다운로드 URL은 암호화된 후 전송될 수 있다.
다양한 실시예들에 따르면, URL 관리 서버(1913)는 동작 1960에서 요청 관리 서버(1911)로 제1 다운로드 URL을 전송할 수 있다. 다양한 실시예들에 따르면, 동작 1962에서 요청 관리 서버(1911)는 URL 관리 서버(1913)로부터 획득된 제1 다운로드 URL을 URL 공유 서버(1925)로 전달할 수 있다. 다양한 실시예들에 따르면, URL 공유 서버(1925)는 동작 1964에서 제1 다운로드 URL을 제2 전자 장치(1903)로 전달할 수 있다.
다양한 실시예들에 따르면, 제2 전자 장치(1903)는 동작 1966에서 제1 다운로드 URL 및 제2 다운로드 URL을 이용한 컨텐츠 다운로드 진행을 수행할 수 있다. 일실시예에 따르면, 제2 다운로드 URL은 제1 다운로드 URL을 이용하여 획득될 수 있다. 일실시예에 따르면, 동작 1966은 도 18b의 동작 1854 내지 1872의 적어도 일부 동작과 동일할 수 있다.
상술한 설명에서는, URL 공유 서버(1925)가 제1 전자 장치(1901)로부터 업로드 URL을 요청 받고, 컨텐츠의 업로드가 완료된 이후에 제2 전자 장치(1903)로부터 다운로드 URL을 요청받는 경우에 대해 설명하였다. 그러나, 다양한 실시예들에 따라, 상술한 URL 공유 서버(1925)의 동작들 중 적어도 일부 동작을 제1 전자 장치(1901)에서 수행할 수 있다. 예를 들어, 제1 전자 장치(1901)가 URL 공유 서버(1925)가 아닌 제1 서버(1910)의 요청 관리 서버(1911)로 직접 제1 업로드 URL을 요청하고, 이에 대한 응답으로 요청 관리 서버(1911)로부터 제1 업로드 URL, 및 제1 다운로드 URL 발급에 필요한 오브젝트 ID 또는 토큰 값을 획득할 수 있다. 제1 전자 장치(1901)는 동작 1944와 같이 제1 업로드 URL을 이용하여 컨텐츠를 업로드한 이후에, 제1 다운로드 URL 발급에 필요한 오브젝트 ID 또는 토큰 값을 제2 전자 장치(1903)로 전달할 수 있다. 제2 전자 장치(1903)는 오브젝트 ID 또는 토큰 값을 이용하여 요청 관리 서버(1911)로 제1 다운로드 URL을 요청하고, 이에 대한 응답으로 요청 관리 서버(1911)로부터 제1 다운로드 URL을 수신한 후, 수신된 제1 다운로드 URL을 이용하여 컨텐츠를 다운로드할 수 있다.
다양한 실시예들에 따르면, 전자 장치(예: 도 1의 전자 장치(101), 도 2의 전자 장치(201))의 동작 방법은, 컨텐츠에 관련된 제1 위치 정보를 획득하는 동작, 상기 제1 위치 정보를 이용하여 제1 서버(예: 도 1의 제1 서버(120), 도 3의 제1 서버(301))로 컨텐츠 업로드 또는 다운로드를 요청하는 동작, 상기 제1 서버로부터 상기 컨텐츠에 관련된 제2 위치 정보를 획득하는 동작, 및 상기 제2 위치 정보를 기반으로 제2 서버(예: 도 1의 제2 서버(130), 도 4의 제2 서버(401))와 통신하여 상기 컨텐츠에 대한 업로드 또는 다운로드를 수행하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 상기 제1 위치 정보는, 상기 제1 서버(120, 301)를 향하도록 구성된 제1 업로드 URL(uniform resource locator), 또는 제1 다운로드 URL 중 적어도 하나를 포함하며, 상기 제2 위치 정보는, 상기 제2 서버(130, 401)를 향하도록 구성된 제2 업로드 URL, 또는 제2 다운로드 URL 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 상기 제1 업로드 URL은, 제1 업로드 URL 생성 시점, 업로드 만료 시점, 컨텐츠 업로드를 요청한 서비스를 나타내는 어플리케이션 식별 정보, 컨텐츠가 업로드될 서버에 대한 정보, 업로드 권한을 가지는 전자 장치에 대한 식별 정보 중 적어도 하나를 포함하며, 상기 제1 다운로드 URL은, 제1 다운로드 URL 생성 시점, 다운로드 만료 시점, 최대 다운로드 횟수, 컨텐츠 다운로드를 요청하는 서비스를 나타내는 어플리케이션 식별 정보, 다운로드할 컨텐츠가 저장된 서버에 대한 정보, 또는 다운로드 권한을 가지는 전자 장치에 대한 식별 정보 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 상기 컨텐츠에 관련된 제1 위치 정보를 획득하는 동작은, 상기 컨텐츠에 대한 업로드 이벤트를 감지하는 동작, 상기 이벤트가 감지된 것에 대한 응답으로, 상기 제1 서버(120, 301)로 상기 컨텐츠의 업로드를 위한 URL 요청 신호를 전송하는 동작, 및 상기 URL 요청 신호를 전송한 것에 대한 응답으로, 상기 제1 서버(120, 301)를 향하도록 구성된 제1 업로드 URL, 또는 상기 제1 서버(120, 301)를 향하도록 구성된 제1 다운로드 URL 중 적어도 하나를 포함하는 상기 제1 위치 정보를 수신하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 전자 장치(101, 201)의 동작 방법은, 상기 제1 다운로드 URL을 적어도 하나의 다른 전자 장치로 전송하는 동작을 더 포함할 수 있다.
다양한 실시예들에 따르면, 제1 서버(예: 도 1의 제1 서버(120), 도 3의 제1 서버(301))의 동작 방법은, 전자 장치(예: 도 1의 전자 장치(101), 도 2의 전자 장치(201))로부터 컨텐츠의 업로드 또는 다운로드를 위한 요청을 수신하는 동작, 상기 요청으로부터 제1 위치 정보를 획득하고, 상기 제1 위치 정보에 기초하여 상기 요청에 대한 유효성을 검사하는 동작, 상기 요청이 유효한 경우, 제2 서버(예: 도 1의 제2 서버(130), 도 3의 제2 서버(401))와 통신하여 상기 컨텐츠에 관련된 제2 위치 정보를 획득하는 동작, 및 상기 전자 장치로 상기 제2 위치 정보를 전송하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 상기 제1 위치 정보는, 상기 제1 서버(120, 301)를 향하도록 구성된 제1 업로드 URL(uniform resource locator), 또는 제1 다운로드 URL 중 적어도 하나를 포함하며, 상기 제2 위치 정보는, 상기 제2 서버(130, 401)를 향하도록 구성된 제2 업로드 URL, 또는 제2 다운로드 URL 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 상기 제1 서버(120, 301)의 동작 방법은, 상기 전자 장치(101, 201)로부터 상기 컨텐츠의 업로드를 위한 URL 요청 신호를 수신하는 동작, 상기 URL 요청 신호에 포함된 적어도 하나의 파라미터에 기초하여, 상기 URL 요청 신호에 대한 유효성을 검사하는 동작, 상기 URL 요청 신호가 유효한 경우, 상기 제1 위치 정보를 생성하는 동작, 및 상기 생성된 제1 위치 정보를 상기 전자 장치로 전송하는 동작을 더 포함할 수 있다.
다양한 실시예들에 따르면, 상기 URL 요청 신호는, 상기 컨텐츠의 정보, 상기 전자 장치의 식별 정보, 어플리케이션 식별 정보, 또는 상기 컨텐츠의 업로드/다운로드 경로 설정 규칙에 관련된 템플릿 식별 정보 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 상기 제1 서버(120, 301)의 동작 방법은, 상기 URL 요청 신호가 유효하지 않은 경우, 상기 전자 장치로 상기 컨텐츠의 업로드가 불가능함을 나타내는 신호를 전송하는 동작을 더 포함할 수 있다.
다양한 실시예들에 따르면, 상기 요청에 대한 유효성은, 상기 제1 위치 정보의 변조 여부, 상기 제1 위치 정보에 기초한 상기 컨텐츠의 업로드 조건 만족 여부, 또는 상기 제1 위치 정보에 기초한 상기 컨텐츠의 다운로드 조건 만족 여부 중 적어도 하나에 기초하여 검사할 수 있다.
다양한 실시예들에 따르면, 상기 요청에 대한 유효성을 검사하는 동작은, 상기 제1 위치 정보에 포함된 적어도 하나의 정보에 기초하여 상기 컨텐츠의 업로드 조건 만족 여부를 결정하는 동작을 포함하며, 상기 제1 위치 정보가 상기 제1 업로드 URL인 경우, 상기 제1 위치 정보는, 제1 업로드 URL의 생성 시점, 업로드 만료 시점, 컨텐츠 업로드를 요청한 서비스를 나타내는 어플리케이션 식별 정보, 컨텐츠가 업로드될 서버에 대한 정보, 업로드 권한을 가지는 전자 장치에 대한 식별 정보 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 상기 요청에 대한 유효성을 검사하는 동작은, 상기 제1 위치 정보에 포함된 적어도 하나의 정보에 기초하여 상기 컨텐츠의 다운로드 조건 만족 여부를 결정하는 동작을 포함하며, 상기 제1 위치 정보가 상기 제1 다운로드 URL인 경우, 상기 제1 위치 정보는, 제1 다운로드 URL의 생성 시점, 다운로드 만료 시점, 최대 다운로드 횟수, 컨텐츠 다운로드를 요청하는 서비스를 나타내는 어플리케이션 식별 정보, 다운로드할 컨텐츠가 저장된 서버에 대한 정보, 또는 다운로드 권한을 가지는 전자 장치에 대한 식별 정보 중 적어도 하나를 포함할 수 있다.
다양한 실시예들에 따르면, 상기 제1 서버(120, 301)의 동작 방법은, 상기 요청이 유효한 경우, 상기 제1 위치 정보에 기초하여 상기 제2 서버로 컨텐츠 업로드 또는 다운로드를 위한 제2 위치 정보 생성을 요청하는 동작, 상기 제2 위치 정보 생성 요청에 대한 응답으로, 상기 제2 서버(130, 401)로부터 상기 제2 위치 정보를 수신하는 동작을 포함할 수 있다.
다양한 실시예들에 따르면, 상기 제1 서버(120, 301)의 동작 방법은, 상기 요청이 유효하지 않은 경우, 상기 전자 장치(101, 201)로 컨텐츠의 업로드 또는 다운로드에 대한 거절 신호를 전송하는 동작을 포함할 수 있다.
본 문서에 구성요소에 대해서는 유사한 참조 부호가 사용될 수 있다. 아이템에 대응하는 명사의 단수 형은 관련된 문맥상 명백하게 다르게 지시하지 않는 한, 상기 아이템 한 개 또는 복수 개를 포함할 수 있다. 본 문서에서, "A 또는 B", "A 및 B 중 적어도 하나","A 또는 B 중 적어도 하나,""A, B 또는 C," "A, B 및 C 중 적어도 하나," 개시된 다양한 실시예들에 따른 전자 장치는 다양한 형태의 장치가 될 수 있다. 전자 장치는, 예를 들면, 휴대용 통신 장치 (예: 스마트폰), 컴퓨터 장치, 휴대용 멀티미디어 장치, 휴대용 의료 기기, 카메라, 웨어러블 장치, 또는 가전 장치를 포함할 수 있다. 본 문서의 실시예에 따른 전자 장치는 전술한 기기들에 한정되지 않는다.
본 문서의 다양한 실시예들 및 이에 사용된 용어들은 본 문서에 기재된 기술적 특징들을 특정한 실시예들로 한정하려는 것이 아니며, 해당 실시예의 다양한 변경, 균등물, 또는 대체물을 포함하는 것으로 이해되어야 한다. 도면의 설명과 관련하여, 유사한 또는 관련된및 "A, B, 또는 C 중 적어도 하나"와 같은 문구들 각각은 그 문구들 중 해당하는 문구에 함께 나열된 항목들 중 어느 하나, 또는 그들의 모든 가능한 조합을 포함할 수 있다. "제 1", "제 2", 또는 "첫째" 또는 "둘째"와 같은 용어들은 단순히 해당 구성요소를 다른 해당 구성요소와 구분하기 위해 사용될 수 있으며, 해당 구성요소들을 다른 측면(예: 중요성 또는 순서)에서 한정하지 않는다. 어떤(예: 제 1) 구성요소가 다른(예: 제 2) 구성요소에, "기능적으로" 또는 "통신적으로"라는 용어와 함께 또는 이런 용어 없이, "커플드" 또는 "커넥티드"라고 언급된 경우, 그것은 상기 어떤 구성요소가 상기 다른 구성요소에 직접적으로(예: 유선으로), 무선으로, 또는 제 3 구성요소를 통하여 연결될 수 있다는 것을 의미한다.
본 문서에서 사용된 용어 "모듈"은 하드웨어, 소프트웨어 또는 펌웨어로 구현된 유닛을 포함할 수 있으며, 예를 들면, 로직, 논리 블록, 부품, 또는 회로 등의 용어와 상호 호환적으로 사용될 수 있다. 모듈은, 일체로 구성된 부품 또는 하나 또는 그 이상의 기능을 수행하는, 상기 부품의 최소 단위 또는 그 일부가 될 수 있다. 예를 들면, 일실시예에 따르면, 모듈은 ASIC(application-specific integrated circuit)의 형태로 구현될 수 있다.
본 문서의 다양한 실시예들은 기기(machine)(예: 전자 장치(201)) 의해 읽을 수 있는 저장 매체(storage medium)(예: 내장 메모리(236) 또는 외장 메모리(238))에 저장된 하나 이상의 명령어들을 포함하는 소프트웨어(예: 프로그램(240))로서 구현될 수 있다. 예를 들면, 기기(예: 전자 장치(201))의 프로세서(예: 프로세서(220))는, 저장 매체로부터 저장된 하나 이상의 명령어들 중 적어도 하나의 명령을 호출하고, 그것을 실행할 수 있다. 이것은 기기가 상기 호출된 적어도 하나의 명령어에 따라 적어도 하나의 기능을 수행하도록 운영되는 것을 가능하게 한다. 상기 하나 이상의 명령어들은 컴파일러에 의해 생성된 코드 또는 인터프리터에 의해 실행될 수 있는 코드를 포함할 수 있다. 기기로 읽을 수 있는 저장매체 는, 비일시적(non-transitory) 저장매체의 형태로 제공될 수 있다. 여기서, ‘비일시적’은 저장매체가 실재(tangible)하는 장치이고, 신호(signal)(예: 전자기파)를 포함하지 않는다는 것을 의미할 뿐이며, 이 용어는 데이터가 저장매체에 반영구적으로 저장되는 경우와 임시적으로 저장되는 경우를 구분하지 않는다.
일실시예에 따르면, 본 문서에 개시된 다양한 실시예들에 따른 방법은 컴퓨터 프로그램 제품(computer program product)에 포함되어 제공될 수 있다. 컴퓨터 프로그램 제품은 상품으로서 판매자 및 구매자 간에 거래될 수 있다. 컴퓨터 프로그램 제품은 기기로 읽을 수 있는 저장 매체(예: compact disc read only memory (CD-ROM))의 형태로 배포되거나, 또는 어플리케이션 스토어(예: 플레이 스토어TM)를 통해 또는 두개의 사용자 장치들(예: 스마트폰들) 간에 직접, 온라인으로 배포(예: 다운로드 또는 업로드)될 수 있다. 온라인 배포의 경우에, 컴퓨터 프로그램 제품의 적어도 일부는 제조사의 서버, 어플리케이션 스토어의 서버, 또는 중계 서버의 메모리와 같은 기기로 읽을 수 있는 저장 매체에 적어도 일시 저장되거나, 임시적으로 생성될 수 있다.
다양한 실시예들에 따르면, 상기 기술한 구성요소들의 각각의 구성요소(예: 모듈 또는 프로그램)는 단수 또는 복수의 개체를 포함할 수 있다. 다양한 실시예들에 따르면, 전술한 해당 구성요소들 중 하나 이상의 구성요소들 또는 동작들이 생략되거나, 또는 하나 이상의 다른 구성요소들 또는 동작들이 추가될 수 있다. 대체적으로 또는 추가적으로, 복수의 구성요소들(예: 모듈 또는 프로그램)은 하나의 구성요소로 통합될 수 있다. 이런 경우, 통합된 구성요소는 상기 복수의 구성요소들 각각의 구성요소의 하나 이상의 기능들을 상기 통합 이전에 상기 복수의 구성요소들 중 해당 구성요소에 의해 수행되는 것과 동일 또는 유사하게 수행할 수 있다. 다양한 실시예들에 따르면, 모듈, 프로그램 또는 다른 구성요소에 의해 수행되는 동작들은 순차적으로, 병렬적으로, 반복적으로, 또는 휴리스틱하게 실행되거나, 상기 동작들 중 하나 이상이 다른 순서로 실행되거나, 생략되거나, 또는 하나 이상의 다른 동작들이 추가될 수 있다.

Claims (20)

  1. 전자 장치에 있어서,
    통신 모듈; 및
    프로세서를 포함하고, 상기 프로세서는,
    컨텐츠에 관련된 제1 위치 정보를 획득하고,
    상기 제1 위치 정보를 이용하여 제1 서버로 컨텐츠 업로드 또는 다운로드를 요청하고,
    상기 제1 서버로부터 상기 컨텐츠에 관련된 제2 위치 정보를 획득하고,
    상기 제2 위치 정보를 기반으로 제2 서버와 통신하여 상기 컨텐츠에 대한 업로드 또는 다운로드를 수행하도록 설정된 전자 장치.
  2. 제1항에 있어서,
    상기 제1 위치 정보는, 상기 제1 서버를 향하도록 구성된 제1 업로드 URL(uniform resource locator), 또는 제1 다운로드 URL 중 적어도 하나를 포함하며,
    상기 제2 위치 정보는, 상기 제2 서버를 향하도록 구성된 제2 업로드 URL, 또는 제2 다운로드 URL 중 적어도 하나를 포함하는 전자 장치.
  3. 제2항에 있어서,
    상기 제1 업로드 URL은, 상기 제1 업로드 URL의 생성 시점, 업로드 만료 시점, 컨텐츠 업로드를 요청한 서비스를 나타내는 어플리케이션 식별 정보, 컨텐츠가 업로드될 서버에 대한 정보, 업로드 권한을 가지는 전자 장치에 대한 식별 정보 중 적어도 하나를 포함하는 전자 장치.
  4. 제2항에 있어서,
    상기 제1 다운로드 URL은, 상기 제1 다운로드 URL의 생성 시점, 다운로드 만료 시점, 최대 다운로드 횟수, 컨텐츠 다운로드를 요청하는 서비스를 나타내는 어플리케이션 식별 정보, 다운로드할 컨텐츠가 저장된 서버에 대한 정보, 또는 다운로드 권한을 가지는 전자 장치에 대한 식별 정보 중 적어도 하나를 포함하는 전자 장치.

  5. 제2항에 있어서,
    상기 프로세서는, 상기 컨텐츠에 대한 업로드 이벤트를 감지하고,
    상기 이벤트가 감지된 것에 대한 응답으로, 상기 제1 서버로 상기 컨텐츠의 업로드를 위한 URL 요청 신호를 전송하고,
    상기 URL 요청 신호를 전송한 것에 대한 응답으로, 상기 제1 서버를 향하도록 구성된 제1 업로드 URL, 또는 상기 제1 서버를 향하도록 구성된 제1 다운로드 URL 중 적어도 하나를 포함하는 상기 제1 위치 정보를 수신하도록 구성된 전자 장치.
  6. 제5항에 있어서,
    상기 프로세서는, 상기 제1 다운로드 URL을 적어도 하나의 다른 전자 장치로 전송하도록 구성된 전자 장치.
  7. 제1항에 있어서,
    상기 제1 위치 정보는, 상기 제1 서버, 또는 다른 전자 장치로부터 수신되는 전자 장치.
  8. 제1 서버에 있어서,
    통신 모듈; 및
    프로세서를 포함하고, 상기 프로세서는,
    전자 장치로부터 컨텐츠의 업로드 또는 다운로드를 위한 요청을 수신하고,
    상기 요청으로부터 제1 위치 정보를 획득하고,
    상기 제1 위치 정보에 기초하여 상기 요청에 대한 유효성을 검사하고,
    상기 요청이 유효한 경우, 제2 서버와 통신하여 상기 컨텐츠에 관련된 제2 위치 정보를 획득하고,
    상기 전자 장치로 상기 제2 위치 정보를 전송하도록 설정되며,
    상기 제1 위치 정보는, 상기 제1 서버를 향하도록 구성된 제1 업로드 URL(uniform resource locator), 또는 제1 다운로드 URL 중 적어도 하나를 포함하며,
    상기 제2 위치 정보는, 상기 제2 서버를 향하도록 구성된 제2 업로드 URL, 또는 제2 다운로드 URL 중 적어도 하나를 포함하는 제1 서버.
  9. 제8항에 있어서,
    상기 프로세서는, 상기 전자 장치로부터 상기 컨텐츠의 업로드를 위한 URL 요청 신호를 수신하고,
    상기 URL 요청 신호에 포함된 적어도 하나의 파라미터에 기초하여, 상기 URL 요청 신호에 대한 유효성을 검사하고,
    상기 URL 요청 신호가 유효한 경우, 상기 제1 위치 정보를 생성하고,
    상기 생성된 제1 위치 정보를 상기 전자 장치로 전송하도록 설정된 제1 서버.
  10. 제9항에 있어서,
    상기 URL 요청 신호는, 상기 컨텐츠의 정보, 상기 전자 장치의 식별 정보, 어플리케이션 식별 정보, 또는 상기 컨텐츠의 업로드/다운로드 경로 설정 규칙에 관련된 템플릿 식별 정보 중 적어도 하나를 포함하는 제1 서버.
  11. 제9항에 있어서,
    상기 프로세서는, 상기 URL 요청 신호가 유효하지 않은 경우, 상기 전자 장치로 상기 컨텐츠의 업로드가 불가능함을 나타내는 신호를 전송하도록 설정된 제1 서버.
  12. 제8항에 있어서,
    상기 프로세서는, 상기 제1 위치 정보의 변조 여부, 상기 제1 위치 정보에 기초한 상기 컨텐츠의 업로드 조건 만족 여부, 또는 상기 제1 위치 정보에 기초한 상기 컨텐츠의 다운로드 조건 만족 여부 중 적어도 하나에 기초하여 상기 요청에 대한 유효성을 검사하도록 설정된 제1 서버.
  13. 제12항에 있어서,
    상기 프로세서는, 상기 제1 위치 정보에 포함된 적어도 하나의 정보에 기초하여 상기 컨텐츠의 업로드 조건 만족 여부를 결정하며,
    상기 제1 위치 정보가 상기 제1 업로드 URL인 경우, 상기 제1 위치 정보는, 상기 제1 업로드 URL의 생성 시점, 업로드 만료 시점, 컨텐츠 업로드를 요청한 서비스를 나타내는 어플리케이션 식별 정보, 컨텐츠가 업로드될 서버에 대한 정보, 업로드 권한을 가지는 전자 장치에 대한 식별 정보 중 적어도 하나를 포함하는 제1 서버.
  14. 제12항에 있어서,
    상기 프로세서는, 상기 제1 위치 정보에 포함된 적어도 하나의 정보에 기초하여 상기 컨텐츠의 다운로드 조건 만족 여부를 결정하며,
    상기 제1 위치 정보가 상기 제1 다운로드 URL인 경우, 상기 제1 위치 정보는, 상기 제1 다운로드 URL의 생성 시점, 다운로드 만료 시점, 최대 다운로드 횟수, 컨텐츠 다운로드를 요청하는 서비스를 나타내는 어플리케이션 식별 정보, 다운로드할 컨텐츠가 저장된 서버에 대한 정보, 또는 다운로드 권한을 가지는 전자 장치에 대한 식별 정보 중 적어도 하나를 포함하는 제1 서버.
  15. 제8항에 있어서,
    상기 프로세서는, 상기 요청이 유효한 경우, 상기 제1 위치 정보에 기초하여 상기 제2 서버로 컨텐츠 업로드 또는 다운로드를 위한 제2 위치 정보 생성을 요청하고,
    상기 제2 위치 정보 생성 요청에 대한 응답으로, 상기 제2 서버로부터 상기 제2 위치 정보를 수신하도록 설정된 제1 서버.
  16. 제8항에 있어서,
    상기 프로세서는,
    상기 요청이 유효하지 않은 경우, 상기 전자 장치로 컨텐츠의 업로드 또는 다운로드에 대한 거절 신호를 전송하도록 설정된 제1 서버.
  17. 전자 장치의 동작 방법에 있어서,
    컨텐츠에 관련된 제1 위치 정보를 획득하는 동작;
    상기 제1 위치 정보를 이용하여 제1 서버로 컨텐츠 업로드 또는 다운로드를 요청하는 동작;
    상기 제1 서버로부터 상기 컨텐츠에 관련된 제2 위치 정보를 획득하는 동작; 및
    상기 제2 위치 정보를 기반으로 제2 서버와 통신하여 상기 컨텐츠에 대한 업로드 또는 다운로드를 수행하는 동작을 포함하는 방법.
  18. 제17항에 있어서,
    상기 제1 위치 정보는, 상기 제1 서버를 향하도록 구성된 제1 업로드 URL(uniform resource locator), 또는 제1 다운로드 URL 중 적어도 하나를 포함하며,
    상기 제2 위치 정보는, 상기 제2 서버를 향하도록 구성된 제2 업로드 URL, 또는 제2 다운로드 URL 중 적어도 하나를 포함하는 방법.
  19. 제17항에 있어서,
    상기 제1 업로드 URL은, 상기 제1 업로드 URL의 생성 시점, 업로드 만료 시점, 컨텐츠 업로드를 요청한 서비스를 나타내는 어플리케이션 식별 정보, 컨텐츠가 업로드될 서버에 대한 정보, 업로드 권한을 가지는 전자 장치에 대한 식별 정보 중 적어도 하나를 포함하며,
    상기 제1 다운로드 URL은, 상기 제1 다운로드 URL의 생성 시점, 다운로드 만료 시점, 최대 다운로드 횟수, 컨텐츠 다운로드를 요청하는 서비스를 나타내는 어플리케이션 식별 정보, 다운로드할 컨텐츠가 저장된 서버에 대한 정보, 또는 다운로드 권한을 가지는 전자 장치에 대한 식별 정보 중 적어도 하나를 포함하는 방법.
  20. 제 17항에 있어서,
    상기 컨텐츠에 관련된 제1 위치 정보를 획득하는 동작은,
    상기 컨텐츠에 대한 업로드 이벤트를 감지하는 동작;
    상기 이벤트가 감지된 것에 대한 응답으로, 상기 제1 서버로 상기 컨텐츠의 업로드를 위한 URL 요청 신호를 전송하는 동작; 및
    상기 URL 요청 신호를 전송한 것에 대한 응답으로, 상기 제1 서버를 향하도록 구성된 제1 업로드 URL, 또는 상기 제1 서버를 향하도록 구성된 제1 다운로드 URL 중 적어도 하나를 포함하는 상기 제1 위치 정보를 수신하는 동작을 포함하는 방법.







KR1020190017204A 2019-02-14 2019-02-14 컨텐츠를 업로드 및/또는 다운로드하기 위한 전자 장치와 시스템 및 그의 동작 방법 KR20200099339A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190017204A KR20200099339A (ko) 2019-02-14 2019-02-14 컨텐츠를 업로드 및/또는 다운로드하기 위한 전자 장치와 시스템 및 그의 동작 방법
PCT/KR2020/001563 WO2020166863A1 (ko) 2019-02-14 2020-02-03 컨텐츠를 업로드 및/또는 다운로드하기 위한 전자 장치와 시스템 및 그의 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190017204A KR20200099339A (ko) 2019-02-14 2019-02-14 컨텐츠를 업로드 및/또는 다운로드하기 위한 전자 장치와 시스템 및 그의 동작 방법

Publications (1)

Publication Number Publication Date
KR20200099339A true KR20200099339A (ko) 2020-08-24

Family

ID=72043923

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190017204A KR20200099339A (ko) 2019-02-14 2019-02-14 컨텐츠를 업로드 및/또는 다운로드하기 위한 전자 장치와 시스템 및 그의 동작 방법

Country Status (2)

Country Link
KR (1) KR20200099339A (ko)
WO (1) WO2020166863A1 (ko)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140034339A (ko) * 2012-08-23 2014-03-20 삼성전자주식회사 컨텐츠 업로드측 사용자 단말 장치, 컨텐츠 다운로드측 사용자 단말 장치, 서버, 컨텐츠 공유 시스템 및 그들의 컨텐츠 공유 방법
KR101590554B1 (ko) * 2014-09-25 2016-02-01 이주형 식별 정보를 기반으로 파일을 업로드 또는 다운로드하는 방법 및 장치
KR101669232B1 (ko) * 2015-07-08 2016-10-25 주식회사 케이티 미디어 콘텐츠 공유 방법, 콘텐츠 서버 및 시스템
KR101602760B1 (ko) * 2015-09-22 2016-03-21 선샤인 앱 인코포레이티드 p2p 연결을 이용한 클라우드 서비스 트래픽의 절감 방법 및 그 장치
US10681147B2 (en) * 2016-08-15 2020-06-09 Saturn Licensing Llc URLs for acquiring or transmitting data

Also Published As

Publication number Publication date
WO2020166863A1 (ko) 2020-08-20

Similar Documents

Publication Publication Date Title
US11200018B2 (en) Electronic device and method for sharing screen data
KR102400580B1 (ko) 다른 전자 장치의 인증을 수행하는 전자 장치와 이의 동작 방법
KR20200112299A (ko) 계정 관련 정보에 기반하여 장치를 설정하는 방법 및 그 전자 장치
CN107766747B (zh) 校验应用程序安装包完整性的方法、移动终端及服务器
US11429366B2 (en) Electronic device for updating firmware by using security integrated circuit and operation method thereof
KR102502655B1 (ko) 연속성을 갖는 컨텐츠 재생 방법 및 이를 위한 전자 장치
US11190923B2 (en) Method for transmitting data based on multiple communication schemes and electronic device supporting same
EP3709205B1 (en) Electronic device including secure integrated circuit
KR102696887B1 (ko) 가입자 프로파일을 설치하기 위한 방법 및 그 전자 장치
KR20200137302A (ko) 장치를 탐색하는 전자 장치 및 그 방법
US11076031B2 (en) Electronic device for providing different services according to external device
KR20200068068A (ko) IoT 장치를 등록하는 전자 장치, 서버 및 그 작동 방법
KR20210026233A (ko) 디바이스 리소스에 대한 접근을 제어하기 위한 전자 장치 및 그의 동작 방법
KR20200053752A (ko) 자동 완성 기능 지원 방법 및 이를 지원하는 전자 장치
KR20200061210A (ko) 상태 정보에 기반하여 식별 정보를 변경하는 전자 장치 및 상기 식별 정보를 확인할 수 있는 다른 전자 장치
KR20200079081A (ko) 콘텐트 공유 방법 및 그 전자 장치
KR20200099339A (ko) 컨텐츠를 업로드 및/또는 다운로드하기 위한 전자 장치와 시스템 및 그의 동작 방법
KR20210049653A (ko) 외부 전자 장치와 통신하는 방법 및 그 전자 장치
KR20210017072A (ko) 키 계정을 통해 애플리케이션을 활성화시키는 전자 장치 및 이를 포함하는 시스템
KR20210062279A (ko) 전자 장치 및 이를 이용한 근거리 통신 장치의 사용자 식별 정보 획득 방법
US11570602B2 (en) Method for communicating with external electronic apparatus and electronic apparatus thereof
KR20200102678A (ko) 외부 장치와 관련된 신호 제어 방법 및 장치
KR20190108364A (ko) 전자 장치 및 그의 동작 방법
KR102404421B1 (ko) 외부 전자 장치를 인식하는 방법 및 장치
KR102669446B1 (ko) 억세스 정보를 제공하는 서버 및 그 작동 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal