KR101363164B1 - 변조된 url을 사용하는 미디어 콘텐츠 공유 방법 및 장치 - Google Patents
변조된 url을 사용하는 미디어 콘텐츠 공유 방법 및 장치 Download PDFInfo
- Publication number
- KR101363164B1 KR101363164B1 KR1020110145976A KR20110145976A KR101363164B1 KR 101363164 B1 KR101363164 B1 KR 101363164B1 KR 1020110145976 A KR1020110145976 A KR 1020110145976A KR 20110145976 A KR20110145976 A KR 20110145976A KR 101363164 B1 KR101363164 B1 KR 101363164B1
- Authority
- KR
- South Korea
- Prior art keywords
- url
- media content
- server
- modulated
- link
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 48
- 238000004904 shortening Methods 0.000 claims description 22
- 238000011084 recovery Methods 0.000 claims description 6
- 238000005516 engineering process Methods 0.000 description 6
- 230000006870 function Effects 0.000 description 4
- 238000001514 detection method Methods 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000013459 approach Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000003139 buffering effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000003203 everyday effect Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/10—Services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/955—Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
- G06F16/9566—URL specific, e.g. using aliases, detecting broken or misspelled links
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Physics & Mathematics (AREA)
- Tourism & Hospitality (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- General Health & Medical Sciences (AREA)
- Strategic Management (AREA)
- Primary Health Care (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Human Resources & Organizations (AREA)
- Economics (AREA)
- Health & Medical Sciences (AREA)
- Data Mining & Analysis (AREA)
- General Engineering & Computer Science (AREA)
- Information Transfer Between Computers (AREA)
Abstract
변조된 URL을 사용하여 미디어 콘텐츠를 공유하고, 공유된 미디어 콘텐츠를 수신하는 방법 및 장치가 제공된다. 변조된 URL은 복수 개의 서버들 각각으로부터 미디어 콘텐츠를 수신하기 위한 정보를 포함한다. 제1 단말은 서버로부터 미디어 콘텐츠를 수신하여, 상기의 미디어 콘텐츠를 캐시할 수 있다. 제1 단말은 변조된 URL을 포함하는 링크를 생성하며, 변조된 URL은 서버 및 제1 단말로부터 각각 미디어 콘텐츠를 수신하기 위한 정보를 포함한다. 제2 단말은 변조된 URL을 포함하는 링크를 사용하여 서버 또는 제1 단말로부터 미디어 콘텐츠를 수신할 수 있다.
Description
아래의 실시예들은 미디어 콘텐츠를 공유하기 위한 방법 및 장치에 관한 것이다. 변조된 URL을 사용하여 미디어 콘텐츠를 공유하고, 공유된 미디어 콘텐츠를 수신하는 방법 및 장치가 개시된다.
본 연구는 방송통신위원회의 "IPTV 융합서비스 및 콘텐츠 공유를 위한 개방형 IPTV 플랫폼 기술 개발" 원천기술개발사업의 연구 결과로 수행되었다. (KCA- 2011-09912-03001)
오늘날, 소셜 네트워크 서비스(Social Network Service; SNS)들은 일상 생활의 일부가 되었다. 사용자는 자신의 미디어 콘텐츠를 생산(produce)할 수 있고, 자신의 SNS를 통해 생산된 콘텐츠를 배포(publish)할 수 있다. 또한, 사용자는 자신의 SNS를 통해 다른 사용자들과 상당 량의 기성 미디어 콘텐츠들을 공유할 수 있다.
그러나, 전통적인 미디어 콘텐츠 공유는, 시스템이 클라우드(cloud)를 사용함에도 불구하고, 중앙 집중식(centralized) 서버 시스템에 기반한다. 이러한 서비스들을 위한 서버 팜(farm)의 지점(branch)으로부터 멀리 떨어진 교외에 거주하는 사용자는 미디어 콘텐츠를 관람하기 위해 항상 바다 건너에 있는 서버에 접근(access)해야 한다. 이러한 접근은 미국 내에서 살지 않는 사용자들이 버퍼링(buffering) 또는 느린 로딩(loading) 때문에 비디오 콘텐츠를 시청함에 있어서 종종 불편함을 겪는 이유가 된다.
하기에서, 상술된 문제들을 극복하기 위해 변형된(modified) 유일 자원 지시기(Uniform Resource Locator; URL) 단축(shortening)을 사용하여 미디어 콘텐츠를 공유하는 방법이 제시된다.]
한국공개특허 제10-2005-0021751호(공개일 2005년 03월 07일)에는 클라이언트 기반 분산 웹 캐싱 시스템이 개시되었다. 상기의 시스템은 정보를 제공하는 웹 서버 및 공유된 여러 캐시 서버들이 개시된다. 클라이언트는 직접적으로 공유된 캐시들을 찾을 수 있으며, 웹 서버로부터 케시 서버의 정보가 클라이언트로 전송될 수 있다.
일 실시예는 서버로부터 미디어 콘텐츠를 수신하여 수신된 미디어 콘텐츠를 캐시하고, 서버 내의 미디어 콘텐츠를 가리키는 URL과 캐시된 미디어 콘텐츠의 URL에 대한 정보를 포함하는 링크를 제공하는 장치 및 방법을 제공할 수 있다.
일 실시예는 변조된 URL을 사용하여 제1 서버 또는 제2 서버 중 하나의 선택된 서버로부터 미디어 콘텐츠를 수신하는 장치 및 방법을 제공할 수 있다.
일 측면에 따르면, 단말이 미디어 콘텐츠의 링크를 제공하는 방법에 있어서, 상기 미디어 콘텐츠에 대한 링크의 생성 요청을 감지하는 단계, 상기 미디어 콘텐츠에 대한 변조된 유일 자원 지시기(Uniform Resource Locator; URL)를 생성하는 단계 및 상기 변조된 URL을 포함하는 상기 링크를 제공하는 단계를 포함하고, 상기 변조된 URL은 서버 및 상기 단말로부터 각각 상기 미디어 콘텐츠를 수신하기 위한 정보를 포함하는, 미디어 콘텐츠의 링크 제공 방법이 제공된다.
상기 미디어 콘텐츠의 링크 제공 방법은, 상기 미디어 콘텐츠를 상기 서버로부터 수신하는 단계 및 상기 미디어 콘텐츠를 저장하는 단계를 더 포함할 수 있다.
상기 변조된 URL은 제1 정보 및 제2 정보를 포함할 수 있다.
상기 제1 정보는 제1 URL에 해싱을 적용함으로써 생성될 수 있고, 상기 제2 정보는 제2 URL에 해싱을 적용함으로써 생성될 수 있다.
상기 제1 URL은 상기 서버 내의 상기 미디어 콘텐츠를 가리킬 수 있고, 상기 제2 URL은 상기 단말 내의 상기 미디어 콘텐츠를 가리킬 수 있다.
상기 생성하는 단계는, 상기 제1 URL을 URL 단축 서버로 전송하는 단계, 상기 제1 URL에 해싱을 적용함으로써 생성된 상기 제1 정보를 상기 URL 단축 서버로부터 수신하는 단계, 상기 제2 URL을 상기 URL 단축 서버로 전송하는 단계 및 상기 제2 URL에 해싱을 적용함으로써 생성된 상기 제2 정보를 상기 URL 단축 서버로부터 수신하는 단계를 포함할 수 있다.
다른 일 측면에 따르면, 단말이 미디어 콘텐츠를 제공하는 방법에 있어서, 링크를 통한 미디어 콘텐츠의 요청을 감지하는 단계, 상기 링크가 변조된 URL을 포함하는 경우 상기 변조된 URL에 기반하여 상기 미디어 콘텐츠에 대한 제1 URL 및 제2 URL을 생성하는 단계, 상기 제1 URL 및 상기 제2 URL 중 상기 미디어 콘텐츠를 요청하기 위해 사용할 URL을 선택하는 단계 및 상기 선택된 URL을 사용하여 상기 미디어 콘텐츠를 요청 및 수신하는 단계를 포함하고, 상기 제1 URL은 제1 서버 내의 상기 미디어 콘텐츠를 가리키고, 상기 제2 URL은 제2 서버 내의 상기 미디어 콘텐츠를 가리키는, 미디어 콘텐츠 제공 방법이 제공된다.
상기 변조된 URL은 제1 정보 및 제2 정보를 포함할 수 있다.
상기 제1 URL은 상기 제1 정보에 해싱을 적용함으로써 생성될 수 있다. 상기 제2 URL은 상기 제2 정보에 해싱을 적용함으로써 생성될 수 있다.
상기 생성하는 단계는, 상기 제1 정보를 URL 복원 서버로 전송하는 단계, 상기 제1 정보에 해싱을 적용함으로써 생성된 상기 제1 URL을 상기 URL 복원 서버로부터 수신하는 단계, 상기 제2 정보를 상기 URL 복원 서버로 전송하는 단계 및 상기 제2 정보에 해싱을 적용함으로써 생성된 상기 제2 URL을 상기 URL 복원 서버로부터 수신하는 단계를 포함할 수 있다.
상기 선택하는 단계는, 상기 제1 URL이 가리키는 제1 서버 및 상기 제2 URL이 가리키는 제2 서버로 각각 핑 요청을 전송하는 단계 및 상기 제1 서버 및 상기 제2 서버 중 상기 핑 요청에 대해 더 빨리 응답한 서버를 가리키는 URL을 선택하는 단계를 포함할 수 있다.
상기 선택하는 단계는, 상기 제1 URL이 나타내는 제1 지리적 위치 및 상기 제2 URL이 나타내는 제2 지리적 위치 중 상기 단말에 더 가까운 것으로 추정되는 지리적 위치를 결정하는 단계 및 상기 제1 URL 및 상기 제2 URL 중 상기 결정된 지리적 위치에 대응하는 URL을 선택하는 단계를 포함할 수 있다.
상기 제2 서버는 상기 제1 서버로부터 상기 미디어 콘텐츠를 수신하여 상기 미디어 콘텐츠를 캐싱할 수 있다.
상기 링크는 상기 제2 서버에 의해 생성될 수 있다.
또 다른 일 측면에 따르면, 단말에 있어서, 미디어 콘텐츠의 링크의 생성 요청을 감지하는 링크 생성 감지부, 상기 미디어 콘텐츠에 대한 변조된 유일 자원 지시기(Uniform Resource Locator; URL)를 생성하는 변조된 URL 생성부 및 상기 변조된 URL을 포함하는 상기 링크를 제공하는 링크 제공부를 포함하고, 상기 변조된 URL은 서버 및 상기 단말로부터 각각 상기 미디어 콘텐츠를 수신하기 위한 정보를 포함하는, 단말이 제공된다.
또 다른 일 측면에 따르면, 단말에 있어서, 링크를 통한 미디어 콘텐츠의 요청을 감지하는 미디어 콘텐츠 요청 감지부, 상기 링크가 변조된 URL을 포함하는지 여부를 판단하고, 상기 링크가 상기 변조된 URL을 포함하는 경우 상기 변조된 URL에 기반하여 상기 미디어 콘텐츠에 대한 제1 URL 및 제2 URL을 생성하는 URL 생성부, 상기 제1 URL 및 상기 제2 URL 중 상기 미디어 콘텐츠를 요청하기 위해 사용할 URL을 선택하는 URL 선택부 및 상기 선택된 URL을 사용하여 상기 미디어 콘텐츠를 요청 및 수신하는 송수신부를 포함하고, 상기 제1 URL은 제1 서버 내의 상기 미디어 콘텐츠를 가리키고, 상기 제2 URL은 제2 서버 내의 상기 미디어 콘텐츠를 가리키는, 단말이 제공된다.
상기 URL 선택부는 제1 URL이 가리키는 제1 서버 및 상기 제2 URL이 가리키는 제2 서버로 각각 핑 요청을 전송할 수 있고, 상기 제1 서버 및 상기 제2 서버 중 상기 핑 요청에 대해 더 빨리 응답한 서버를 가리키는 URL을 선택할 수 있다.
상기 URL 선택부는 상기 제1 URL이 나타내는 제1 지리적 위치 및 상기 제2 URL이 나타내는 제2 지리적 위치 중 상기 단말에 더 가까운 것으로 추정되는 지리적 위치를 결정할 수 있고, 상기 제1 URL 및 상기 제2 URL 중 상기 결정된 지리적 위치에 대응하는 URL을 선택할 수 있다.
또 다른 일 측면에 따르면, 단말에 있어서, 제1 미디어 콘텐츠의 제1 링크의 생성 요청을 감지하는 링크 생성 감지부, 상기 제1 미디어 콘텐츠에 대한 제1 변조된 유일 자원 지시기(Uniform Resource Locator; URL)를 생성하는 변조된 URL 생성부, 상기 제1 변조된 URL을 포함하는 상기 제1 링크를 제공하는 링크 제공부, 제2 링크를 통한 제2 미디어 콘텐츠의 요청을 감지하는 미디어 콘텐츠 요청 감지부, 상기 링크가 변조된 URL을 포함하는지 여부를 판단하고 상기 제2 링크가 제2 변조된 URL을 포함하는 경우 상기 제2 변조된 URL에 기반하여 상기 제2 미디어 콘텐츠에 대한 제1 URL 및 제2 URL을 생성하는 URL 생성부, 상기 제1 URL 및 상기 제2 URL 중 상기 제2 미디어 콘텐츠를 요청하기 위해 사용할 URL을 선택하는 URL 선택부 및 상기 선택된 URL을 사용하여 상기 제2 미디어 콘텐츠를 요청 및 수신하는 송수신부를 포함하고, 상기 제1 변조된 URL은 제1 서버 및 상기 단말로부터 각각 상기 제1 미디어 콘텐츠를 수신하기 위한 정보를 포함하고, 상기 제1 URL은 제2 서버 내의 상기 미디어 콘텐츠를 가리키고, 상기 제3 URL은 제2 서버 내의 상기 미디어 콘텐츠를 가리키는, 단말이 제공된다.
서버로부터 미디어 콘텐츠를 수신하여 수신된 미디어 콘텐츠를 캐시하고, 서버 내의 미디어 콘텐츠를 가리키는 URL과 캐시된 미디어 콘텐츠의 URL에 대한 정보를 포함하는 링크를 제공하는 장치 및 방법이 제공된다.
변조된 URL을 사용하여 제1 서버 또는 제2 서버 중 하나의 선택된 서버로부터 미디어 콘텐츠를 수신하는 장치 및 방법이 제공된다.
도 1은 일 실시예에 따른 단말의 블록도이다.
도 2는 일 예에 따른 변조된 URL을 설명한다.
도 3은 일 실시예에 따른 미디어 콘텐츠의 링크 제공 방법의 흐름도이다.
도 4는 일 예에 따른 해시된 URL의 제공하는 방법의 흐름도이다.
도 5는 일 실시예에 따른 단말이 변조된 URL을 사용하여 미디어 콘텐츠를 제공하는 방법의 흐름도이다.
도 6은 일 예에 따른 해시된 URL의 복원을 나타내는 흐름도이다.
도 7은 일 예에 따른 리다이렉트 서버의 동작을 나타내는 흐름도이다.
도 2는 일 예에 따른 변조된 URL을 설명한다.
도 3은 일 실시예에 따른 미디어 콘텐츠의 링크 제공 방법의 흐름도이다.
도 4는 일 예에 따른 해시된 URL의 제공하는 방법의 흐름도이다.
도 5는 일 실시예에 따른 단말이 변조된 URL을 사용하여 미디어 콘텐츠를 제공하는 방법의 흐름도이다.
도 6은 일 예에 따른 해시된 URL의 복원을 나타내는 흐름도이다.
도 7은 일 예에 따른 리다이렉트 서버의 동작을 나타내는 흐름도이다.
이하에서, 실시예들을, 첨부된 도면을 참조하여 상세하게 설명한다. 그러나, 본 발명이 실시예들에 의해 제한되거나 한정되는 것은 아니다. 각 도면에 제시된 동일한 참조 부호는 동일한 부재를 나타낸다.
이하에서, 용어 "URL" 및 "통합 자원 식별자(Uniform Resource Identifier; URI)"는 동일한 의미로 사용될 수 있으며, 상호 대체될 수 있다.
URL 단축(shortening)은 일반적인 URL을 짧고 간단하기 만드는 서비스를 의미한다. URL은 단축은, 특히 소셜 미디어 등에서, 다양한 미디어 콘텐츠를 링크하기 위해 널리 사용될 수 있다.
대부분의 웹 브라우저는 이미지 또는 비디오와 같은 콘텐츠를 캐시(cache)할 수 있다. 예컨대, 사용자가 웹 브라우저를 사용하여 인터넷 상에서 어떤 미디어 콘텐츠를 시청하였을 때, 미디어 콘텐츠의 파일이 사용자의 단말의 임시 파일 폴더 내에 저장될 수 있다.
사용자는 자신의 단말 내에 캐시된 콘텐츠를 다른 사용자에게 제공할 수 있다. 따라서, 사용자는 캐시된 콘텐츠를 콘텐츠 공유의 새로운 소스(source)로서 사용할 수 있다. HTML5 표준의 웹 어플리케이션 및 웹 브라우저 기술(technology)에 따라, 웹 브라우저는 특별한 네이티브(native) 어플리케이션 소프트웨어(software) 없이도, 웹 서버로서 동작할 수 있다.
즉, 최신의 웹 브라우저는 브라우저 익스텐션(extension) 또는 웹 앱(app)의 형태를 통해, 다양한 추가 기능을 별도의 어플리케이션을 사용하지 않은 채 웹 브라우저 상에서 제공할 수 있다. 이러한 추가 기능은 이-메일(e-mail) 검사 또는 게임 등과 같은 다양한 기능을 포함할 수 있다.
이러한 변경을 통해, 사용자는 다른 사용자의 브라우저에 의해 캐시된 콘텐츠에 접근할 수 있다. 또한, SNS 상의 친구들은 서로 인근에 거주할 수 있다. 즉, SNS에서의 친구 관계는 많은 케이스들에 있어서 지리적 근접성을 의미할 수 있으며, 원래의 SNS 또는 미디어 서비스 서버에 비해 보다 근접한 미디어 콘텐츠의 소스로서 사용될 수 있다. 하기의 실시예는 SNS 상에서의 분산 미디어 콘텐츠 공유의 일 형태를 제공할 수 있다.
피어-투-피어(Peer-to-Peer; P2P) 기술은 단 하나의 소스가 아닌 사용자의 주변의 가까운 소스들로부터 파일을 수신하는 분산 공유 방식을 통해 파일의 전송 효율을 높이는 기술이다. 그러나, 최소한의 레이턴시(latency), 링크(link)/노드(node) 스트레스(stress) 및 룩업(look-up) 시간을 지원하는 P2P 오버레이(overlay) 네트워크를 구축하는 것은 여전히 공개된 과제이다.
더욱이, P2P에 있어서, 불특정 다수를 위해 자신의 컴퓨터의 자원을 일부 제공한다는 것에 불만을 가지고, 오로지 다운로드(download)만 받고, 파일의 공유에는 참여하지 않는 무임 승차(free-riding) 문제가 발생할 수 있다. 또한, P2P의 새로운 피어가 추가됨에 따라, 브로커(broker)가 계속적으로 파일의 공유에 참여하는 사용자들의 목록(list)을 관리하고, 새로운 오버레이(overlay) 네트워크를 구성해주어야 하는 문제가 발생할 수 있다. 상기의 문제들은 실제의 어플리케이션에 있어서 큰 장애가 될 수 있으며, 아직까지 최적의(optimal) 해법(solution)이 발견되지 않은 개방된(open) 문제로 간주될 수 있다. 하기의 실시예는 HTML5 웹 기술을 사용하는 SNS 상의 미디어 콘텐츠 공유 방법을 개시할 수 있다.
도 1은 일 실시예에 따른 단말의 블록도이다.
사용자가 단말(100)의 웹 브라우저를 사용하여, 인터넷 상에서 어떤 미디어 콘텐츠를 시청할 수 있다. 이때, 단말(100)은 사용자가 시청하는 미디어 콘텐츠(즉, 미디어 콘텐츠의 파일)을 단말 내에 캐시할 수 있다. 미디어 콘텐트는 단말의 파일 시스템의 특정한 위치에 파일로서 저장될 수 있다.
사용자는 자신이 시청한 미디어 콘텐츠를 소셜 서비스 등을 통해 공유할 수 있다. 미디어 콘텐츠를 공유하기 위해, 사용자는 상기의 미디어 콘텐츠를 가리키는 링크를 생성할 수 있고, 생성된 링크를 웹 서버가 제공하는 페이지 내에 삽입할 수 있다. 다른 사용자는 상기의 링크를 통해 미디어 콘텐츠에 접근할 수 있다.
이때, 미디어 콘텐츠는 1) 애초에 단말(100)에게 미디어 콘텐츠를 제공한 서버 또는 2) 미디어 콘텐츠를 캐시한 단말(100)에 의해 제공될 수 있다. 즉, 미디어 콘텐츠는 2 개의 개체(entity)들에 의해 제공될 수 있다. 이하, 애초에 미디어 콘텐츠를 제공한 개체를 원본 서버로 명명할 수 있다. 또한, 미디어 콘텐츠를 캐시한 후 제공하는 개체(즉, 단말(110))를 캐시 서버로 명명할 수 있다.
미디어 콘텐츠가 복수 개의 서버들 각각으로부터 제공되기 위해서, 하나의 링크가 복수 개의 서버들 각각으로부터 미디어 콘텐츠를 수신하기 위한 정보를 포함할 필요가 있다. 예컨대, 타 사용자는 상기의 링크를 사용하여 원본 서버 내에 저장된 미디어 콘텐츠 또는 캐시 서버 내에 저장된 미디어 콘텐츠를 선택적으로 접근할 수 있다. 링크는 1) 제1 서버(예컨대, 원본 서버) 내에 저장된 미디어 콘텐츠를 특정하기 위한 제1 정보 및 2) 제 2 서버(예컨대, 캐시 서버) 내에 저장된 미디어 콘텐츠를 특정하기 위한 제2 정보를 포함할 수 있다.
기존의 URL에 비해, 상기의 제1 정보 및 제2 정보를 포함한 URL을 변조된(modified) URL로 명명한다. 여기서, 제1 정보는 제1 URL로 변환될 수 있고, 제2 정보는 제2 URL로 변환될 수 있다. 즉 변조된 URL은 원본 서버 및 캐시 서버 등을 포함한 복수 개의 서버들 각각으로부터 미디어 콘텐츠를 수신하기 위한 정보를 포함할 수 있다. 변조된 URL의 형식의 일 예가 하기에서 도 2를 참조하여 상세히 설명된다.\
단말(100)은 송수신부(110), 저장부(120), 링크 생성 감지부(130), 변조된 URL 생성부(140), 링크 제공부(150), 미디어 콘텐츠 요청 감지부(160), URL 생성부(170) 및 URL 선택부(180)를 포함할 수 있다.
상기의 구성 요소들(110 내지 180)은 웹 브라우저의 일부일 수 있으며, 또는 웹 브라우저의 확장(extension)일 수 있다.
송수신부(110), 저장부(120), 링크 생성 감지부(130), 변조된 URL 생성부(140) 및 링크 제공부(150)는 변조된 URL을 생성하기 위한 구성 요소로 간주될 수 있다.
하기에서, 제1 링크는 사용자가 다른 사용자와 공유하기를 원하는 제1 미디어 콘텐츠에 대한 링크일 수 있다.
송수신부(110)는 서버로부터 제1 미디어 콘텐츠를 수신할 수 있다.
저장부(120)는 수신된 제1 미디어 콘텐츠를 저장할 수 있다.
링크 생성 감지부(130)는 제1 미디어 콘텐츠에 대한 제1 링크의 생성 요청을 감지할 수 있다.
변조된 URL 생성부(140)는 제1 링크의 생성이 요청된 제1 미디어 콘텐츠에 대한 제1 변조된 URL을 생성할 수 있다.
제1 변조된 URL은 서버 및 단말(100)로부터 각각 제1 미디어 콘텐츠를 수신하기 위한 정보를 포함할 수 있다.
링크 제공부(150)는 제1 변조된 URL을 포함하는 제1 링크를 제공할 수 있다.
송수신부(110), 저장부(120), 미디어 콘텐츠 요청 감지부(160), URL 생성부(170) 및 URL 선택부(180)는 변조된 URL에 대응하는 미디어 콘텐츠를 제공하는 구성 요소로 간주될 수 있다.
하기에서, 제2 링크는 사용자가 접근하기를 원하는 제2 미디어 콘텐츠에 대한 링크일 수 있다.
미디어 콘텐츠 요청 감지부(160)는 제2 링크를 통한 제2 미디어 콘텐츠의 요청을 감지할 수 있다.
URL 생성부(170)는 제2 링크가 제2 변조된 URL을 포함하는지 여부를 판단할 수 있다.
제2 변조된 URL은 제2 서버 및 제3 서버로부터 각각 제2 미디어 콘텐츠를 수신하기 위한 정보를 포함할 수 있다.
URL 생성부(170)는, 제2 링크가 제2 변조된 URL을 포함하는 경우, 제2 변조된 URL 에 기반하여 제2 미디어 콘텐츠에 대한 제1 URL 및 제2 URL을 생성할 수 있다.
URL 선택부(180)는 제1 URL 및 제2 URL 중 제2 미디어 콘텐츠를 요청하기 위해 사용할 URL을 선택할 수 있다..
송수신부(110)는 선택된 URL을 사용하여 제2 미디어 콘텐츠를 요청 및 수신할 수 있다.
저장부(120)는 수신된 제2 미디어 콘텐츠를 저장할 수 있다.
도 2는 일 예에 따른 변조된 URL을 설명한다.
URL은 네트워크 상에서 자원이 어디에 있는가를 알려주기 위한 규약이다. 일반적인 URL이 특정한 자원의 단일한 네트워크 상의 위치를 나타내는 것이라면, 변조된 URL(200)은 특정한 자원(예컨대, 미디어 콘텐츠)의 복수 개의 네트워크 상의 위치들을 나타낼 수 있다..
변조된 URL(200)은 프로토콜 식별부(210), 제1 구분자(220), 제1 주소부(230), 제2 주소부(240), 제2 구분자(250) 및 제3 주소부(260)를 포함할 수 있다.
프로토콜 식별부(210)는 변조된 URL(200)이 적용되는 프로토콜(예컨대, 하이퍼 텍스트 트랜스퍼 프로토콜(Hyper Text Transfer Protocol; HTTP))을 나타낼 수 있다.
제1 구분자(220)는 변조된 URL(200) 중 프로토콜 식별부(210) 및 나머지 부분을 구분할 수 있다. 제2 구분자(250)는 제2 주소부(250) 및 제3 주소부(260)를 구분할 수 있다.
전술된 것처럼, 변조된 URL(200)은 복수 개의 서버들 각각으로부터 미디어 콘텐츠를 수신하기 위한 정보를 포함할 수 있다. 제1 서버로부터 미디어 콘텐츠를 수신하기 위한 제1 정보는 제1 주소부(230) 및 제2 주소부(240)를 포함할 수 있다. 또는, 제1 정보는 제1 주소부(230) 및 제2 주소부(240)로 구성될 수 있다. 제2 서버로부터 미디어 콘텐츠를 수신하기 위한 제2 정보는 제3 주소부(260)를 포함할 수 있으며, 제1 주소부(230) 및 제3 주소부(260)을 포함할 수 있다. 또는, 제2 정보는 제3 주소부(260)로 구성될 수 있고, 제1 주소부(230) 및 제3 주소부(260)로 구성될 수 있다.
제1 서버 내의 미디어 콘텐츠를 가리키는 제1 URL(270)은, 예컨대 변조된 URL 생성부(140) 또는 후술될 URL 단축 서버에 의해, 제1 정보로 변환될 수 있다. 또한, 제1 정보는, 예컨대 URL 생성부(170) 또는 후술될 URL 복원 서버에 의해, 제1 URL(270)로 변환될 수 있다.
또한, 제2 서버 내의 미디어 콘텐츠를 가리키는 제1 URL(280)은, 예컨대 변조된 URL 생성부(140) 또는 후술될 URL 단축 서버에 의해, 제2 정보로 변환될 수 있다. 또한, 제2 정보는, 예컨대 URL 생성부(170) 또는 후술될 URL 복원 서버에 의해, 제2 URL(280)로 변환될 수 있다. 여기서, 제2 URL은 제2 서버의 IP 주소를 포함할 수 있고, 제2 서버 내에서의 미디어 콘텐츠의 경로를 포함할 수 있다.
여기서, 제1 정보 및 제1 URL는(또는, 제2 정보 및 제2 URL는)은 해싱(hashing)에 의해 서로 간에 변환될 수 있다. 따라서, 변조된 URL은 제1 정보 및 제2 정보에 기반하여 생성될 수 있다. 즉, 제1 정보는 제1 URL(270)에 해싱을 적용함으로써 생성된 해시된 제1 URL일 수 있다. 또한, 제2 정보는 제2 URL(280)에 해싱을 적용함으로써 생성된 해시된 제2 URL일 수 있다.
변조된 URL(200)이 3 개 이상의 서버들 각각으로부터 미디어 콘텐츠를 수신하기 위한 정보를 포함할 수 있다. 3 개 이상의 서버들 각각으로부터 미디어 콘텐츠를 수신하기 위한 정보를 포함하기 위해, 변조된 URL(200)은 추가적인 주소부들을 포함할 수 있다. 추가적인 주소부들 중 k 번째 추가적인 주소부는 제k+2 서버로부터 미디어 콘텐츠를 수신하기 위한 정보를 포함할 수 있다. 여기서, k는 1 이상 n-2 이하의 정수이다. n은 서버들의 개수이다.
도 3은 일 실시예에 따른 미디어 콘텐츠의 링크 제공 방법의 흐름도이다.
사용자는 특정한 미디어 콘텐츠를 시청하기 위해 단말(100)을 조작하여 상기의 미디어 콘텐츠를 수신할 수 있다.
단계(310)에서, 송수신부(110)는 미디어 콘텐츠를 수신할 수 있다.
단계(320)에서, 저장부(120)는 수신된 미디어 콘텐츠를 저장할 수 있다.
사용자는 수신된 미디어 콘텐츠에 대한 링크를 생성하려고 할 수 있다. 사용자는 단말(100)을 조작하여 미디어 콘텐츠에 대한 링크의 생성을 요청할 수 있다.
단계(330)에서, 링크 생성 감지부(110)는 미디어 콘텐츠에 대한 링크의 생성 요청을 감지할 수 있다.
단계(340)에서, 링크 생성 감지부(110)는 미디어 콘텐츠가 단말(100) 내에 저장되었는지 여부를 판단할 수 있다. 단말(100) 내에 미디어 콘텐츠가 저장된 경우, 단말(100)이 미디어 콘텐츠를 제공하기 위해, 변조된 URL이 생성될 필요가 있다. 단말(100) 내에 미디어 콘텐츠가 저장되지 않은 경우, 단말(100)은 미디어 콘텐츠를 제공할 수 없다. 따라서, 변조된 URL 대신 미디어 콘텐츠에 대한 일반적인 URL이 생성될 필요가 있다.
단말(100) 내에 미디어 콘텐츠가 저장된 경우 단계(370)가 수행될 수 있고, 그렇지 않은 경우 단계(350)가 수행될 수 있다.
단계(350)에서, 변조된 URL 생성부(140)는 미디어 콘텐츠에 대한 URL을 생성할 수 있다. 상기의 URL은 서버로부터 미디어 콘텐츠를 수신하기 위한 URL일 수 있다. 또한, 상기의 URL은 축약 URL일 수 있다. 축약 URL을 생성하는 방법의 일 예가 하기에서 도 4를 참조하여 상세히 설명된다.
단계(360)에서, 링크 제공부(150) 생성된 URL을 포함하는 링크를 제공할 수 있다.
단계(370)에서, 변조된 URL 생성부(140)는 미디어 콘텐츠에 대한 변조된 URL을 생성할 수 있다. 변조된 URL은 서버 및 단말(100)로부터 각각 미디어 콘텐츠를 수신하기 위한 정보를 포함할 수 있다.
변조된 URL은 제1 정보 및 제2 정보를 포함할 수 있다. 변조된 URL 생성부(140)는 제1 URL에 해싱을 적용함으로써 제1 정보를 생성할 수 있고, 제2 URL에 해싱을 적용함으로써 제2 정보를 생성할 수 있다.
제1 URL은 미디어 콘텐츠를 제공한 서버 내의 미디어 콘텐츠를 가리킬 수 있다. 즉, 단계(310)에서, 송수신부(110)는 제1 URL을 사용하여 미디어 콘텐츠를 수신할 수 있다.
제2 URL은 단말(100) 내의 상기 미디어 콘텐츠를 가리킬 수 있다. 따라서, 타 사용자는 제2 URL을 사용하여 단말(100)로부터 미디어 콘텐츠를 수신할 수 있다. 단말(100)(또는, 단말(100)의 웹 브라우저)는 미디어 콘텐츠를 제공하는 웹 서버의 역할을 할 수 있다.
제1 URL 및 제2 URL에 각각 기반하여 제1 정보 및 제2 정보를 생성하기 위한 구체적인 방법의 일 예가 하기에서 도 4를 참조하여 상세히 설명된다.
단계(380)에서, 링크 제공부(150)는 생성된 변조된 URL을 포함하는 링크를 제공할 수 있다.
여기서, 링크는 변조된 URL일 수 있다. 링크가 문자열(string)일 경우, 상기의 문자열 중 전부 또는 일부는 변조된 URL일 수 있다.
도 4는 일 예에 따른 해시된 URL의 제공하는 방법의 흐름도이다.
단계(410)에서, 단말(100)은 URL 단축 서버(400)에게 URL을 전송할 수 있다.
URL 단축 서버(400)는 URL에 대한 단축 서비스를 제공하는 서버일 수 있다.
단계(420)에서, URL 단축 서버(400)는 전송된 URL에 해싱을 적용함으로써 해시된 URL을 생성할 수 있다. 상기의 해싱에 의해, 전송된 URL의 길이가 단축될 수 있다. 따라서, 해시된 URL은 축약(shorten) URL으로도 명명될 수 있다. 또한, 축약 URL은 "/" 등의 특수 문자를 포함하지 않을 수 있고, 수문자로 구성될 수 있다. 또한, 축약 URL의 길이는 URL의 길이 이하일 수 있다.
URL 단축 서버(400)는 해싱을 위해 해시 테이블(table)을 사용할 수 있고, 전송된 URL의 전부 또는 일부를 해시 테이블(table)에 대한 해시 코드(code)로서 사용할 수 있다. 여기서, 전송된 URL의 일부는 전송된 URL 중 특정한 서버 내에서의 경로를 특정하는 부분일 수 있다. 또한, 전송된 URL의 일부는 전송된 URL 중 특정한 서버 및 상기의 특정한 서버 내에서의 경로를 특정하는 부분일 수 있다.
단계(430)에서, 단말(100)은 URL 단축 서버(400)로부터 해시된 URL을 수신할 수 있다.
여기서, 전술된 단계(370)는 단계들(410 내지 430)을 포함할 수 있다. 단계(370)에서, 단계들(410 내지 430)은 2 회 수행될 수 있다. 첫 번째의 반복은 단계(370)의 제1 URL에 대한 것이고, 두 번째의 반복은 단계(370)의 제2 URL에 관한 것이다.
즉, 단계(410)의 URL은 단계(370)의 제1 URL 또는 제2 URL을 나타낼 수 있다. 또한, 단계(430)의 해시된 URL은 단계(370)의 제1 정보 또는 제2 정보를 나타낼 수 있다. 따라서, URL 단축 서버(400)는 제1 URL에 해싱을 적용함으로써 제1 정보를 생성할 수 있고, 제2 URL에 해싱을 적용함으로써 제2 정보를 생성할 수 있다. 단계(360) 또는 단계(380)에서 반환되는 링크는 축약 URL 또는 변조된 URL을 포함할 수 있다.
단계들(410 내지 430)에서 상술된 URL 단축 서버(400)의 기능은 변조된 URL 생성부(140)에 의해서도 수행될 수 있다.
도 5는 일 실시예에 따른 단말이 변조된 URL을 사용하여 미디어 콘텐츠를 제공하는 방법의 흐름도이다.
사용자는, 예컨대 브라우저 내에 표시된 링크를 클릭함으로써, 특정한 미디어 콘텐츠를 요청할 수 있다.
단계(510)에서, 미디어 콘텐츠 요청 감지부(160)는 링크를 통한 미디어 콘텐츠의 요청을 감지할 수 있다.
단계(520)에서, URL 생성부(170)는 링크가 변조된 URL을 포함하는지 여부를 판단할 수 있다. 링크가 변조된 URL을 포함하지 않을 경우, 단계(530)가 수행될 수 있다. 링크가 변조된 URL을 포함하는 경우, 단계(540)가 수행될 수 있다.
단계(530)에서, 링크는 일반적인 URL 또는 해시된 URL(즉, 축약 URL)을 포함할 수 있다.
단계(530)에서, 송수신부(110)는 링크가 포함하는 URL을 사용하여 미디어 콘텐츠를 요청 및 수신할 수 있다. URL은 서버로부터 미디어 콘텐츠를 수신하기 위한 정보를 포함할 수 있다.
링크가 포함하는 URL이 해시된 URL인 경우, 송수신부(110)가 링크가 포함하는 URL을 사용하여 미디어 콘텐츠를 요청 및 수신하기 이전에 해시된 URL이 원래의 URL로 복원될 필요가 있다. 해시된 URL을 복원하기 위한 방법의 일 예가 하기에서 도 6을 참조하여 상세히 설명된다.
단계(540)에서, URL 생성부(170)는 링크가 포함하는 변조된 URL에 기반하여 미디어 콘텐츠에 대한 제1 URL 및 제2 URL을 생성할 수 있다.
제1 URL은 제1 서버 내의 미디어 콘텐츠를 가리킬 수 있다. 여기서, 제1 서버는 타 사용자의 단말에게 미디어 콘텐츠를 제공한 서버일 수 있다. 제2 URL은 제2 서버 내의 미디어 콘텐츠를 가리킬 수 있다. 여기서, 제2 서버는 제1 서버로부터 미디어 콘텐츠를 수신하여, 수신된 미디어 콘텐츠를 캐싱하고, 상기의 미디어 콘텐츠에 대한 링크를 생성한 타 사용자의 단말일 수 있다. 즉, 링크는 제2 서버에 의해 생성된 것일 수 있다. 또한, 타 사용자의 단말에 의해 생성된 링크는 단계(510)의 링크일 수 있다.
URL 생성부(170)는 변조된 URL에서 해시된 제1 URL 및 해시된 제2 URL을 추출할 수 있다. URL 생성부(170)는 변조된 URL의 제1 정보에 해싱을 적용함으로써 제1 URL을 생성할 수 있고, 변조된 URL의 제2 정보에 해싱을 적용함으로써 제2 URL을 생성할 수 있다.
또한, 제1 URL 및 제2 URL은 URL 복원 서버에 의해 생성될 수 있다. 복원 서버를 사용하여 제1 URL 및 제2 URL을 생성하는 방법의 일 예가 하기에서 도 6을 참조하여 상세히 설명된다.
또한, 단계(540)에서의 제1 URL 및 제2 URL은 해시된 URL(또는, 축약 URL)일 수 있다. 이러한 경우, 후술될 단계(560) 등에서 리다이렉팅 서버가 사용될 수 있다.
단계(550)에서, URL 선택부(180)는 제1 URL 및 제2 URL 중 미디어 콘텐츠를 요청하기 위해 사용할 URL을 선택할 수 있다.
미디어 콘텐츠를 요청하기 위해 사용할 URL을 선택하기 위해, 하기와 같은 방법들이 사용될 수 있다.
첫 번째 방법으로, URL 선택부(180)는 제1 URL 및 제2 URL 각각이 가리키는 서버들 중 핑 요청에 대해 더 빨리 응답하는 서버를 선택할 수 있다. 핑 요청에 대해 더 빨리 응답하는 서버가 미디어 콘텐츠도 더 짧은 시간 내에 단말(100)로 전송할 수 있을 것이라고 간주될 수 있기 때문이다.
말하자면, 단계(550)는, 1) URL 선택부(180)가 제1 URL이 가리키는 제1 서버 및 제2 URL이 가리키는 제2 서버로 각각 핑(ping) 요청을 전송하는 단계, 2) URL 선택부(180)가 제1 서버 및 제2 서버 각각으로부터 핑 요청에 대한 응답을 수신하는 단계 및 3) URL 선택부(180)가 제1 서버 및 제2 서버 중 핑 요청에 대해 더 빨리 응답한 서버에 대응하는 URL을 선택하는 단계를 포함할 수 있다.
만약, 제1 서버 및 제2 서버 중 하나의 서버가 가용하지 않은 경우, 상기의 가용하지 않은 서버는 핑 요청에 대해 응답하지 않는다. 따라서, URL 선택부(180)는 핑 요청에 대한 응답한 서버를 가리키는 URL을 선택할 수 있다.
두 번째 방법으로, URL 선택부(180)는 제1 URL이 나타내는 제1 지리적 위치 및 제2 URL이 나타내는 제2 지리적 위치에 기반하여 제1 URL 및 제2 URL 중 하나의 URL을 선택할 수 있다.
말하자면, 단계(550)는, 1) URL 선택부(180)가 제1 URL이 나타내는 제1 지리적 위치 및 제2 URL이 나타내는 제2 지리적 위치 중 단말에 더 가까운 것으로 추정되는 지리적 위치를 결정하는 단계 및 2) 제1 URL 및 제2 URL 중 결정된 지리적 위치에 대응하는 URL을 선택하는 단계를 포함할 수 있다.
예컨대, 단말(100)이 특정한 국가 내에 있을 경우, URL 선택부(180)는 제1 URL 및 제2 URL 중 단말(100)이 위치한 국가에 대응하는 인터넷 프로토콜(Internet Protocol; IP) 주소를 나타내는 URL을 선택할 수 있다. 또는, URL 선택부(180)는 제1 URL 및 제 URL 중 단말이 포함된 서브 네트워크와 동일한 서브 네트워크에 대응하는 URL을 선택할 수 있다.
또는, URL 선택부(180)는 제1 URL에 대응하는 제1 IP 및 제2 URL에 대응하는 제2 IP 중 단말의 IP와 더 유사한 IP를 선택할 수 있고, 선택된 더 유사한 IP에 대응하는 URL을 선택할 수 있다. 여기서, URL 선택부(180)는 양 IP들 간에 공통되는 프리픽스의 길이를 기준으로 양 IP들 간의 유사한 정도를 결정할 수 있다.
단계(560)에서, 송수신부(110)은 선택된 URL을 사용하여 미디어 콘텐츠를 요청 및 수신할 수 있다. 선택된 URL이 해싱된 URL(또는, 축약 URL)일 경우, 송수신부(110)는 선택된 URL을 사용하여 도 7을 참조하여 후술될 리다이렉트(redirect) 서버에게 미디어 콘텐츠를 요청할 수 있으며, 리다이렉트 서버에 의해 반환된 URL을 사용하여 미디어 콘텐츠를 요청 및 수신할 수 있다.
단계(570)에서, 저장부(120)는 수신된 미디어 콘텐츠를 저장할 수 있다.
도 6은 일 예에 따른 해시된 URL의 복원을 나타내는 흐름도이다.
단계(610)에서, URL 생성부(170)는 변조된 URL을 분할하여 해시된 제1 URL 및 해시된 제2 URL을 추출할 수 있다. 변조된 URL은 도 2를 참조하여 전술된 제1 정보 및 제2 정보를 포함할 수 있다. 제1 정보는 해시된 제1 URL에 대응할 수 있다. 제2 정보는 해시된 제2 URL에 대응할 수 있다.
단계(620)에서, URL 생성부(170)는 URL 복원 서버(600)에게 해시된 제1 URL을 전송할 수 있다.
URL 복원 서버(600)는 해시된 제1 URL에 대한 복원 서비스를 제공할 수 있다. 여기서, 복원은 축약 URL을 원래의 URL로 되돌리는 것을 의미할 수 있다. URL 단축 서버(400) 및 URL 복원 서버(600)는 물리적으로 동일한 서버일 수 있다.
단계(630)에서, URL 복원 서버(600)는 해시된 제1 URL에 해싱을 적용함으로써 원래의 제1 URL을 계산할 수 있다. 즉, 제1 URL은 해시된 제1 URL에 해싱을 적용함으로써 생성될 수 있다.
URL 복원 서버(600)는 해싱을 위해 해시 테이블(table)을 사용할 수 있고, 해시된 제1 URL의 전부 또는 일부를 해시 테이블(table)에 대한 해시 코드(code)로서 사용할 수 있다. 여기서, 해시된 제1 URL의 일부는 해시된 제1 URL 중 특정한 서버 내에서의 경로를 특정하는 부분일 수 있다. 또한, 해시된 제1 URL의 일부는 해시된 제1 URL 중 특정한 서버 및 상기의 특정한 서버 내에서의 경로를 특정하는 부분일 수 있다.
단계(640)에서, URL 생성부(170)는 URL 복원 서버(600)로부터 제1 URL을 수신할 수 있다.
단계(650)에서, URL 생성부(170)는 URL 복원 서버(600)에게 해시된 제2 URL을 전송할 수 있다.
단계(660)에서, URL 복원 서버(600)는 해시된 제2 URL에 해싱을 적용함으로써 원래의 제2 URL을 계산할 수 있다. 즉, 제2 URL은 해시된 제2 URL에 해싱을 적용함으로써 생성될 수 있다.
단계(670)에서, URL 생성부(170)는 URL 복원 서버(600)로부터 제2 URL을 수신할 수 있다.
도 5를 참조하여 전술된 단계(540)는 단계들(610 내지 670)을 포함할 수 있다. 단계(540)의 제1 정보는 단계(610)의 해시된 제1 URL에 대응할 수 있다. 단계(540)의 제2 정보는 단계(610)의 해시된 제2 URL에 대응할 수 있다.
도 7은 일 예에 따른 리다이렉트 서버의 동작을 나타내는 흐름도이다.
리다이렉트 서버는 단말로부터 해시된 URL을 수신할 수 있고, 상기의 해시된 URL에 대한 원래의 URL을 단말에게 송신할 수 있다. 여기서, 단말은 변조된 URL을 다룰 수 없는 단말일 수 있다. 따라서, 해시된 URL은 단말에 의해 처리되지 않은 변조된 URL일 수 있다.
단계(710)에서, 리다이렉트 서버는 단말로부터 해시된 URL을 수신할 수 있다.
단계(720)에서, 리다이렉트 서버는 수신된 해시된 URL이 변조된 URL인지 여부를 판단할 수 있다. 해시된 URL이 변조된 URL인 경우, 단계(730)가 수행될 수 있다. 해시된 URL이 변조된 URL이 아닌 경우, 단계(740)가 수행될 수 있다.
단계(730)에서, 리다이렉트 서버는 해시된 URL 중 일부분을 제거할 수 있다. 여기서, 제거되는 일부분은 도 2를 참조하여 전술된 제2 구분자(250) 및 제3 주소부(260)일 수 있다. 또는, 제거되는 일부분은 제2 구분자(250) 및 상기의 제2 구분자(250) 이후의 부분일 수 있다.
해시된 URL을 전송한 단말은 변조된 URL을 처리 또는 식별할 수 없는 단말일 수 있다. 변조된 URL을 처리할 수 없는 단말은 미디어 콘텐츠를 요청하기 위해 변조된 URL 전체를 리다이렉트 서버에게 전송할 수 있다.
단계(740)에서, 리다이렉트 서버는 해시된 URL에 기반하여 원래의 URL을 생성할 수 있다. 리다이렉트 서버는 해시된 URL에 해싱을 적용함으로써 원래의 URL을 생성할 수 있다. 여기서, 해시된 URL은 축약 URL일 수 있고, 원래의 URL은 축약되기 전의 URL일 수 있다.
단계(750)에서, 리다이렉트 서버는 생성된 URL을 단말에게 반환(또는, 전송)할 수 있다.
전술된 단계들(710 또는 750)에 의해, 변조된 URL을 포함하는 링크가 상기의 변조된 URL을 인식하지 못하는 단말에 의해서도 사용될 수 있다.
일 실시예에 따른 방법은 다양한 컴퓨터 수단을 통하여 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 상기 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 상기 매체에 기록되는 프로그램 명령은 실시예들을 위하여 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다. 컴퓨터 판독 가능 기록 매체의 예에는 하드 디스크, 플로피 디스크 및 자기 테이프와 같은 자기 매체(magnetic media), CD-ROM, DVD와 같은 광기록 매체(optical media), 플롭티컬 디스크(floptical disk)와 같은 자기-광 매체(magneto-optical media), 및 롬(ROM), 램(RAM), 플래시 메모리 등과 같은 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함된다. 프로그램 명령의 예에는 컴파일러에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터 등을 사용해서 컴퓨터에 의해서 실행될 수 있는 고급 언어 코드를 포함한다. 상기된 하드웨어 장치는 실시예들의 동작을 수행하기 위해 하나 이상의 소프트웨어 모듈로서 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
이상과 같이 본 발명은 비록 한정된 실시예와 도면에 의해 설명되었으나, 본 발명은 상기의 실시예에 한정되는 것은 아니며, 본 발명이 속하는 분야에서 통상의 지식을 가진 자라면 이러한 기재로부터 다양한 수정 및 변형이 가능하다.
그러므로, 본 발명의 범위는 설명된 실시예에 국한되어 정해져서는 아니 되며, 후술하는 특허청구범위뿐 아니라 이 특허청구범위와 균등한 것들에 의해 정해져야 한다.
100: 단말
110: 송수신부
120: 저장부
130: 링크 생성 감지부
140: 변조된 URL 생성부
150: 링크 제공부
160: 미디어 콘텐츠 요청 감지부
170: URL 생성부
180: URL 선택부
110: 송수신부
120: 저장부
130: 링크 생성 감지부
140: 변조된 URL 생성부
150: 링크 제공부
160: 미디어 콘텐츠 요청 감지부
170: URL 생성부
180: URL 선택부
Claims (15)
- 삭제
- 삭제
- 단말이 미디어 콘텐츠의 링크를 제공하는 방법에 있어서,
상기 미디어 콘텐츠에 대한 링크의 생성 요청을 감지하는 단계;
상기 미디어 콘텐츠에 대한 변조된 유일 자원 지시기(Uniform Resource Locator; URL)를 생성하는 단계; 및
상기 변조된 URL을 포함하는 상기 링크를 제공하는 단계
를 포함하고,
상기 변조된 URL은 서버 및 상기 단말로부터 각각 상기 미디어 콘텐츠를 수신하기 위한 정보를 포함하고,
상기 변조된 URL은 제1 정보 및 제2 정보를 포함하고,
상기 제1 정보는 제1 URL에 해싱을 적용함으로써 생성되고, 상기 제2 정보는 제2 URL에 해싱을 적용함으로써 생성되고,
상기 제1 URL은 상기 서버 내의 상기 미디어 콘텐츠를 가리키며, 상기 제2 URL은 상기 단말 내의 상기 미디어 콘텐츠를 가리키는, 미디어 콘텐츠의 링크 제공 방법. - 제3항에 있어서,
상기 생성하는 단계는,
상기 제1 URL을 URL 단축 서버로 전송하는 단계;
상기 제1 URL에 해싱을 적용함으로써 생성된 상기 제1 정보를 상기 URL 단축 서버로부터 수신하는 단계;
상기 제2 URL을 상기 URL 단축 서버로 전송하는 단계; 및
상기 제2 URL에 해싱을 적용함으로써 생성된 상기 제2 정보를 상기 URL 단축 서버로부터 수신하는 단계;
를 포함하는, 미디어 콘텐츠의 링크 제공 방법. - 단말이 미디어 콘텐츠를 제공하는 방법에 있어서,
링크를 통한 미디어 콘텐츠의 요청을 감지하는 단계;
상기 링크가 변조된 URL을 포함하는 경우 상기 변조된 URL에 기반하여 상기 미디어 콘텐츠에 대한 제1 URL 및 제2 URL을 생성하는 단계;
상기 제1 URL 및 상기 제2 URL 중 상기 미디어 콘텐츠를 요청하기 위해 사용할 URL을 선택하는 단계; 및
상기 선택된 URL을 사용하여 상기 미디어 콘텐츠를 요청 및 수신하는 단계
를 포함하고,
상기 제1 URL은 제1 서버 내의 상기 미디어 콘텐츠를 가리키고, 상기 제2 URL은 제2 서버 내의 상기 미디어 콘텐츠를 가리키는, 미디어 콘텐츠 제공 방법. - 제5항에 있어서,
상기 변조된 URL은 제1 정보 및 제2 정보를 포함하고,
상기 제1 URL은 상기 제1 정보에 해싱을 적용함으로써 생성되고, 상기 제2 URL은 상기 제2 정보에 해싱을 적용함으로써 생성되는, 미디어 콘텐츠 제공 방법. - 제6항에 있어서,
상기 생성하는 단계는,
상기 제1 정보를 URL 복원 서버로 전송하는 단계;
상기 제1 정보에 해싱을 적용함으로써 생성된 상기 제1 URL을 상기 URL 복원 서버로부터 수신하는 단계;
상기 제2 정보를 상기 URL 복원 서버로 전송하는 단계; 및
상기 제2 정보에 해싱을 적용함으로써 생성된 상기 제2 URL을 상기 URL 복원 서버로부터 수신하는 단계
를 포함하는, 미디어 콘텐츠 제공 방법. - 제5항에 있어서,
상기 선택하는 단계는,
상기 제1 URL이 가리키는 제1 서버 및 상기 제2 URL이 가리키는 제2 서버로 각각 핑 요청을 전송하는 단계; 및
상기 제1 서버 및 상기 제2 서버 중 상기 핑 요청에 대해 더 빨리 응답한 서버를 가리키는 URL을 선택하는 단계
를 포함하는, 미디어 콘텐츠의 제공 방법. - 제5항에 있어서,
상기 선택하는 단계는,
상기 제1 URL이 나타내는 제1 지리적 위치 및 상기 제2 URL이 나타내는 제2 지리적 위치 중 상기 단말에 더 가까운 것으로 추정되는 지리적 위치를 결정하는 단계; 및
상기 제1 URL 및 상기 제2 URL 중 상기 결정된 지리적 위치에 대응하는 URL을 선택하는 단계
를 포함하는, 미디어 콘텐츠의 제공 방법. - 제5항에 있어서,
상기 제2 서버는 상기 제1 서버로부터 상기 미디어 콘텐츠를 수신하여 상기 미디어 콘텐츠를 캐싱하고,
상기 링크는 상기 제2 서버에 의해 생성된, 미디어 콘텐츠의 제공 방법. - 단말에 있어서,
미디어 콘텐츠의 링크의 생성 요청을 감지하는 링크 생성 감지부;
상기 미디어 콘텐츠에 대한 변조된 유일 자원 지시기(Uniform Resource Locator; URL)를 생성하는 변조된 URL 생성부; 및
상기 변조된 URL을 포함하는 상기 링크를 제공하는 링크 제공부
를 포함하고,
상기 변조된 URL은 서버 및 상기 단말로부터 각각 상기 미디어 콘텐츠를 수신하기 위한 정보를 포함하고,
상기 변조된 URL은 제1 정보 및 제2 정보를 포함하고,
상기 제1 정보는 제1 URL에 해싱을 적용함으로써 생성되고, 상기 제2 정보는 제2 URL에 해싱을 적용함으로써 생성되고,
상기 제1 URL은 상기 서버 내의 상기 미디어 콘텐츠를 가리키며, 상기 제2 URL은 상기 단말 내의 상기 미디어 콘텐츠를 가리키는, 단말. - 단말에 있어서,
링크를 통한 미디어 콘텐츠의 요청을 감지하는 미디어 콘텐츠 요청 감지부;
상기 링크가 변조된 URL을 포함하는지 여부를 판단하고, 상기 링크가 상기 변조된 URL을 포함하는 경우 상기 변조된 URL에 기반하여 상기 미디어 콘텐츠에 대한 제1 URL 및 제2 URL을 생성하는 URL 생성부;
상기 제1 URL 및 상기 제2 URL 중 상기 미디어 콘텐츠를 요청하기 위해 사용할 URL을 선택하는 URL 선택부; 및
상기 선택된 URL을 사용하여 상기 미디어 콘텐츠를 요청 및 수신하는 송수신부
를 포함하고,
상기 제1 URL은 제1 서버 내의 상기 미디어 콘텐츠를 가리키고, 상기 제2 URL은 제2 서버 내의 상기 미디어 콘텐츠를 가리키는, 단말. - 제12항에 있어서,
상기 URL 선택부는 제1 URL이 가리키는 제1 서버 및 상기 제2 URL이 가리키는 제2 서버로 각각 핑 요청을 전송하고, 상기 제1 서버 및 상기 제2 서버 중 상기 핑 요청에 대해 더 빨리 응답한 서버를 가리키는 URL을 선택하는, 단말. - 제12항에 있어서,
상기 URL 선택부는 상기 제1 URL이 나타내는 제1 지리적 위치 및 상기 제2 URL이 나타내는 제2 지리적 위치 중 상기 단말에 더 가까운 것으로 추정되는 지리적 위치를 결정하고, 상기 제1 URL 및 상기 제2 URL 중 상기 결정된 지리적 위치에 대응하는 URL을 선택하는, 단말. - 단말에 있어서,
제1 미디어 콘텐츠의 제1 링크의 생성 요청을 감지하는 링크 생성 감지부;
상기 제1 미디어 콘텐츠에 대한 제1 변조된 유일 자원 지시기(Uniform Resource Locator; URL)를 생성하는 변조된 URL 생성부;
상기 제1 변조된 URL을 포함하는 상기 제1 링크를 제공하는 링크 제공부;
제2 링크를 통한 제2 미디어 콘텐츠의 요청을 감지하는 미디어 콘텐츠 요청 감지부;
상기 링크가 변조된 URL을 포함하는지 여부를 판단하고 상기 제2 링크가 제2 변조된 URL을 포함하는 경우 상기 제2 변조된 URL에 기반하여 상기 제2 미디어 콘텐츠에 대한 제1 URL 및 제2 URL을 생성하는 URL 생성부;
상기 제1 URL 및 상기 제2 URL 중 상기 제2 미디어 콘텐츠를 요청하기 위해 사용할 URL을 선택하는 URL 선택부; 및
상기 선택된 URL을 사용하여 상기 제2 미디어 콘텐츠를 요청 및 수신하는 송수신부
를 포함하고,
상기 제1 변조된 URL은 제1 서버 및 상기 단말로부터 각각 상기 제1 미디어 콘텐츠를 수신하기 위한 정보를 포함하고,
상기 제1 URL은 제2 서버 내의 상기 미디어 콘텐츠를 가리키고, 상기 제2 URL은 제2 서버 내의 상기 미디어 콘텐츠를 가리키는, 단말.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110145976A KR101363164B1 (ko) | 2011-12-29 | 2011-12-29 | 변조된 url을 사용하는 미디어 콘텐츠 공유 방법 및 장치 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
KR1020110145976A KR101363164B1 (ko) | 2011-12-29 | 2011-12-29 | 변조된 url을 사용하는 미디어 콘텐츠 공유 방법 및 장치 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20130089709A KR20130089709A (ko) | 2013-08-13 |
KR101363164B1 true KR101363164B1 (ko) | 2014-02-18 |
Family
ID=49215488
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020110145976A KR101363164B1 (ko) | 2011-12-29 | 2011-12-29 | 변조된 url을 사용하는 미디어 콘텐츠 공유 방법 및 장치 |
Country Status (1)
Country | Link |
---|---|
KR (1) | KR101363164B1 (ko) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR101602760B1 (ko) * | 2015-09-22 | 2016-03-21 | 선샤인 앱 인코포레이티드 | p2p 연결을 이용한 클라우드 서비스 트래픽의 절감 방법 및 그 장치 |
KR102344599B1 (ko) * | 2016-05-30 | 2021-12-30 | 삼성전자주식회사 | 멀티미디어 시스템에서 미디어 콘텐츠에 관련된 정보를 송/수신하는 장치 및 방법 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050021751A (ko) * | 2003-08-26 | 2005-03-07 | 정길도 | 클라이언트 기반 분산 웹 캐싱 시스템의 구성 방법 |
KR20060034121A (ko) * | 2004-10-18 | 2006-04-21 | 주식회사 네오위즈 | 멀티미디어 컨텐츠 통합 관리 서비스를 제공하기 위한방법, 시스템 및 기록매체 |
KR20110132849A (ko) * | 2010-06-03 | 2011-12-09 | 주식회사 다음커뮤니케이션 | Url 변환 장치 및 url 변환 방법 |
-
2011
- 2011-12-29 KR KR1020110145976A patent/KR101363164B1/ko not_active IP Right Cessation
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20050021751A (ko) * | 2003-08-26 | 2005-03-07 | 정길도 | 클라이언트 기반 분산 웹 캐싱 시스템의 구성 방법 |
KR20060034121A (ko) * | 2004-10-18 | 2006-04-21 | 주식회사 네오위즈 | 멀티미디어 컨텐츠 통합 관리 서비스를 제공하기 위한방법, 시스템 및 기록매체 |
KR20110132849A (ko) * | 2010-06-03 | 2011-12-09 | 주식회사 다음커뮤니케이션 | Url 변환 장치 및 url 변환 방법 |
Also Published As
Publication number | Publication date |
---|---|
KR20130089709A (ko) | 2013-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11758013B2 (en) | Methods and systems for caching data communications over computer networks | |
TWI657682B (zh) | 在內容分發網路(cdn)上實現請求精確調度的方法及系統 | |
US9160703B2 (en) | Request routing management based on network components | |
US9871850B1 (en) | Enhanced browsing using CDN routing capabilities | |
US8156243B2 (en) | Request routing | |
US8577992B1 (en) | Request routing management based on network components | |
JP5442131B2 (ja) | 記述ファイルに基づいた個別データ通信 | |
US20100115613A1 (en) | Cacheable Mesh Browsers | |
JP2016024819A (ja) | 自己認証名を使用して無名オブジェクトを分散させるためのシステム | |
JP2015165657A (ja) | 情報指向ネットワーキングのためのコンテンツ名解決 | |
JP6485980B2 (ja) | ネットワークアドレスの解決 | |
CN101997759A (zh) | 一种业务实现方法及业务系统 | |
CN110958279B (zh) | 一种数据处理方法及其装置 | |
KR101363164B1 (ko) | 변조된 url을 사용하는 미디어 콘텐츠 공유 방법 및 장치 | |
Meyn | Browser to browser media streaming with HTML5 | |
WO2010135254A1 (en) | Limiting storage messages in peer to peer network | |
JP6081847B2 (ja) | Webコンテンツの配信装置 | |
CN101668029A (zh) | 一种网络设备和网络通讯的方法 | |
JP6081846B2 (ja) | Webコンテンツの配信装置 | |
KR20160147861A (ko) | 정보 객체 획득 방법, 서버, 및 사용자 장비 | |
JP6081845B2 (ja) | Webコンテンツの配信装置 | |
JP6054799B2 (ja) | Webコンテンツの配信装置 | |
Yang | Improving ABR Video Serving Performance in IPFS | |
Pereira et al. | Web Services Deployment on P2P Networks, based on JXTA. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
N231 | Notification of change of applicant | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20170202 Year of fee payment: 4 |
|
LAPS | Lapse due to unpaid annual fee |