KR20210056180A - 엣지 컴퓨팅 서비스를 이용하여 웹 서비스를 제공하기 위한 방법 및 장치 - Google Patents

엣지 컴퓨팅 서비스를 이용하여 웹 서비스를 제공하기 위한 방법 및 장치 Download PDF

Info

Publication number
KR20210056180A
KR20210056180A KR1020190142997A KR20190142997A KR20210056180A KR 20210056180 A KR20210056180 A KR 20210056180A KR 1020190142997 A KR1020190142997 A KR 1020190142997A KR 20190142997 A KR20190142997 A KR 20190142997A KR 20210056180 A KR20210056180 A KR 20210056180A
Authority
KR
South Korea
Prior art keywords
content
data network
edge data
url
cached
Prior art date
Application number
KR1020190142997A
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 KR1020190142997A priority Critical patent/KR20210056180A/ko
Priority to US17/090,004 priority patent/US11122106B2/en
Publication of KR20210056180A publication Critical patent/KR20210056180A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • H04L67/2823
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • G06F16/9566URL specific, e.g. using aliases, detecting broken or misspelled links
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • G06F16/986Document structures and storage, e.g. HTML extensions
    • H04L61/1511
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • H04L67/2842
    • H04L67/327
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/568Storing data temporarily at an intermediate stage, e.g. caching
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 개시는 엣지 컴퓨팅 서비스를 이용하여 단말에게 웹 서비스를 제공하기 위한 방법 및 장치에 관한 것으로, 엣지 데이터 네트워크(edge data network)가 단말에게 웹 서비스를 제공하는 방법은, 단말로부터 웹 페이지에 대한 접속 요청을 수신하는 단계; 상기 웹 페이지의 HTML(hyper text markup language)에 포함된, 상기 웹 페이지를 표시하기 위한 복수의 콘텐츠(content) 각각의 URL을 식별하는 단계; 상기 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 상기 엣지 데이터 네트워크가 캐싱한 제1 콘텐츠를 식별하는 단계; 상기 복수의 콘텐츠 각각의 URL 중 상기 제1 콘텐츠의 URL을 상기 제1 콘텐츠가 캐싱된 위치를 나타내는 URL로 변경함으로써, 상기 HTML을 변조하는 단계; 및 상기 단말에게 상기 제1 콘텐츠의 변경된 URL을 포함하는 상기 변조된 HTML을 전송하는 단계를 포함할 수 있다.

Description

엣지 컴퓨팅 서비스를 이용하여 웹 서비스를 제공하기 위한 방법 및 장치{METHOD AND APPARATUS FOR PROVIDING WEB SERVICE USING EDGE COMPUTING SERVICE}
본 개시는 엣지 컴퓨팅 서비스(예: MEC(multi-access edge computing) 서비스)를 위한 방법 및 장치에 관한 것이다.
최근, 엣지 서버(edge server)를 이용하여 데이터를 전송하는 엣지 컴퓨팅(edge computing) 기술이 논의되고 있다. 엣지 컴퓨팅 기술은, 예를 들어, MEC(Multi-access Edge Computing) 또는 포그 컴퓨팅(fog computing, FOC)을 포함할 수 있다. 엣지 컴퓨팅 기술은 전자 장치와 지리적으로 가까운 위치, 예를 들어, 기지국 내부 또는 기지국 근처에 설치된 별도의 서버(이하, '엣지 데이터 네트워크' 또는 'MEC 서버'라 한다)를 통해 전자 장치로 데이터를 제공하는 기술을 의미할 수 있다. 예를 들어, 전자 장치에 설치된 적어도 하나의 애플리케이션 중 낮은 지연 시간(latency)을 요구하는 애플리케이션은 외부 데이터 네트워크(data network, DN)(예: 인터넷)에 위치한 서버를 통하지 않고, 지리적으로 가까운 위치에 설치된 엣지 서버를 통해 데이터를 송수신할 수 있다.
최근에는 엣지 컴퓨팅 기술을 이용한 서비스(이하, 'MEC 기반 서비스' 또는 'MEC 서비스'라 한다)에 관하여 논의되고 있으며, MEC 기반 서비스를 지원하도록 전자 장치에 관한 연구 및 개발이 진행되고 있다. 예를 들면, 전자 장치의 애플리케이션은 엣지 서버(또는 엣지 서버의 애플리케이션)와 애플리케이션 레이어(application layer) 상에서 엣지 컴퓨팅 기반 데이터를 송수신할 수 있다.
MEC 기반 서비스를 지원하기 위한 연구 및 개발이 진행됨에 따라, MEC 기반 서비스를 제공하는 엣지 데이터 네트워크(edge data network)(예: MEC 서버)의 지연 시간(latency)을 단축시키기 위한 방안이 논의되고 있다. 예를 들어, 엣지 컴퓨팅 서비스를 이용하여 웹 서비스를 제공하는데 있어, 트래픽을 효과적으로 처리하기 위한 방법이 논의되고 있다.
상술한 바와 같은 논의를 바탕으로, 본 개시는, 엣지 컴퓨팅(edge computing) 서비스를 이용하여 웹 서비스를 제공하기 위한 방법 및 장치를 제공한다.
본 개시의 일 실시예에 따르면, 엣지 데이터 네트워크(edge data network)가 단말에게 웹 서비스를 제공하는 방법은, 단말로부터 웹 페이지에 대한 접속 요청을 수신하는 단계; 상기 웹 페이지의 HTML(hyper text markup language)에 포함된, 상기 웹 페이지를 표시하기 위한 복수의 콘텐츠(content) 각각의 URL을 식별하는 단계; 상기 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 상기 엣지 데이터 네트워크가 캐싱한 제1 콘텐츠를 식별하는 단계; 상기 복수의 콘텐츠 각각의 URL 중 상기 제1 콘텐츠의 URL을 상기 제1 콘텐츠가 캐싱된 위치를 나타내는 URL로 변경함으로써, 상기 HTML을 변조하는 단계; 및 상기 단말에게 상기 제1 콘텐츠의 변경된 URL을 포함하는 상기 변조된 HTML을 전송하는 단계를 포함할 수 있다.
본 개시의 일 실시예에 따르면, 단말에게 웹 서비스를 제공하는 엣지 데이터 네트워크(edge data network)는, 통신부; 복수의 인스트럭션들을 저장하는 메모리; 및 상기 인스트럭션들을 실행하는 프로세서를 포함하고, 상기 프로세서는, 단말로부터 웹 페이지에 대한 접속 요청을 수신하고, 상기 웹 페이지의 HTML(hyper text markup language)에 포함된, 상기 웹 페이지를 표시하기 위한 복수의 콘텐츠(content) 각각의 URL을 식별하고, 상기 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 상기 엣지 데이터 네트워크가 캐싱한 제1 콘텐츠를 식별하고, 상기 복수의 콘텐츠 각각의 URL 중 상기 제1 콘텐츠의 URL을 상기 제1 콘텐츠가 캐싱된 위치를 나타내는 URL로 변경함으로써, 상기 HTML을 변조하고, 상기 단말에게 상기 제1 콘텐츠의 변경된 URL을 포함하는 상기 변조된 HTML을 전송할 수 있다.
개시된 실시 예는 MEC(multi-access edge computing) 기반 서비스를 효과적으로 수행할 수 있는 장치 및 방법을 제공한다.
도 1은 본 개시의 일 실시예에 따른 네트워크 환경에서의 MEC(multi-access edge computing) 기술을 설명하기 위해 개략적으로 도시하는 도면이다.
도 2a는 본 개시의 일 실시예에 따른 단말이 웹 페이지를 표시하기 위한 절차를 개략적으로 도시하는 도면이다.
도 2b는 본 개시의 일 실시예에 따른 단말이 표시하는 웹 페이지의 예시를 도시하는 도면이다.
도 3은 본 개시의 일 실시예에 따른 엣지 데이터 네트워크가 웹 페이지를 표시하기 위한 콘텐츠의 URL을 변경하여 단말에게 웹 페이지의 변조된 HTML을 제공하는 방법을 나타내는 흐름도이다.
도 4는 본 개시의 일 실시예에 따른 엣지 데이터 네트워크가 웹 페이지를 표시하기 위한 콘텐츠의 변경된 URL에 기초하여 단말에게 캐싱된 콘텐츠를 제공하는 방법을 나타내는 흐름도이다.
도 5는 본 개시의 일 실시예에 따른 엣지 데이터 네트워크가 웹 페이지를 표시하기 위한 콘텐츠 중 캐싱된 콘텐츠를 단말에게 제공하는 예시를 도시하는 도면이다.
도 6은 본 개시의 일 실시예에 따른 콘텐츠의 URL을 콘텐츠가 캐싱된 위치를 나타내는 URL로 변경하는 예시를 도시하는 도면이다.
도 7은 본 개시의 일 실시예에 따른 엣지 데이터 네트워크가 웹 페이지를 표시하기 위한 콘텐츠 중 캐싱되지 않은 콘텐츠에 대한 단말의 요청 경로를 라우팅하기 위한 방법을 나타내는 흐름도이다.
도 8은 본 개시의 일 실시예에 따른 단말이 웹 페이지를 표시하기 위한 단말, 엣지 데이터 네트워크, 및 웹 서버 간의 동작 절차를 나타내는 시퀀스 다이어그램이다.
도 9는 본 개시의 일 실시예에 따른 엣지 데이터 네트워크가 웹 서버로부터 콘텐츠를 캐싱하는 방법을 나타내는 흐름도이다.
도 10은 본 개시의 일 실시예에 따른 엣지 데이터 네트워크가 웹 서버로부터 콘텐츠를 캐싱하기 위한 단말, 엣지 데이터 네트워크, 및 웹 서버 간의 동작 절차를 나타내는 시퀀스 다이어그램이다.
도 11은 본 개시의 일 실시예에 따른 엣지 데이터 네트워크의 구성을 나타내는 블록도이다.
이하, 본 개시의 실시 예를 첨부된 도면을 참조하여 상세하게 설명한다.
실시 예를 설명함에 있어서 본 개시가 속하는 기술 분야에 익히 알려져 있고 본 개시와 직접적으로 관련이 없는 기술 내용에 대해서는 설명을 생략한다. 이는 불필요한 설명을 생략함으로써 본 개시의 요지를 흐리지 않고 더욱 명확히 전달하기 위함이다.
마찬가지 이유로 첨부 도면에 있어서 일부 구성요소는 과장되거나 생략되거나 개략적으로 도시되었다. 또한, 각 구성요소의 크기는 실제 크기를 전적으로 반영하는 것이 아니다. 각 도면에서 동일한 또는 대응하는 구성요소에는 동일한 참조 번호를 부여하였다.
본 개시의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시 예들을 참조하면 명확해질 것이다. 그러나 본 개시는 이하에서 개시되는 실시 예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 수 있으며, 단지 본 실시 예들은 본 개시가 완전하도록 하고, 본 개시가 속하는 기술분야에서 통상의 지식을 가진 자에게 본 개시의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 개시는 청구항의 범주에 의해 정의될 뿐이다. 명세서 전체에 걸쳐 동일 참조 부호는 동일 구성 요소를 지칭한다.
이 때, 처리 흐름도 도면들의 각 블록과 흐름도 도면들의 조합들은 컴퓨터 프로그램 인스트럭션들에 의해 수행될 수 있음을 이해할 수 있을 것이다. 이들 컴퓨터 프로그램 인스트럭션들은 범용 컴퓨터, 특수용 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서에 탑재될 수 있으므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비의 프로세서를 통해 수행되는 그 인스트럭션들이 흐름도 블록(들)에서 설명된 기능들을 수행하는 수단을 생성하게 된다. 이들 컴퓨터 프로그램 인스트럭션들은 특정 방식으로 기능을 구현하기 위해 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 지향할 수 있는 컴퓨터 이용 가능 또는 컴퓨터 판독 가능 메모리에 저장되는 것도 가능하므로, 그 컴퓨터 이용가능 또는 컴퓨터 판독 가능 메모리에 저장된 인스트럭션들은 흐름도 블록(들)에서 설명된 기능을 수행하는 인스트럭션 수단을 내포하는 제조 품목을 생산하는 것도 가능하다. 컴퓨터 프로그램 인스트럭션들은 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에 탑재되는 것도 가능하므로, 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 실행되는 프로세스를 생성해서 컴퓨터 또는 기타 프로그램 가능한 데이터 프로세싱 장비를 수행하는 인스트럭션들은 흐름도 블록(들)에서 설명된 기능들을 실행하기 위한 단계들을 제공하는 것도 가능하다.
또한, 각 블록은 특정된 논리적 기능(들)을 실행하기 위한 하나 이상의 실행 가능한 인스트럭션들을 포함하는 모듈, 세그먼트 또는 코드의 일부를 나타낼 수 있다. 또, 몇 가지 대체 실행 예들에서는 블록들에서 언급된 기능들이 순서를 벗어나서 발생하는 것도 가능함을 주목해야 한다. 예컨대, 잇달아 도시되어 있는 두 개의 블록들은 사실 실질적으로 동시에 수행되는 것도 가능하고 또는 그 블록들이 때때로 해당하는 기능에 따라 역순으로 수행되는 것도 가능하다.
이 때, 본 실시예에서 사용되는 '~부'라는 용어는 소프트웨어 또는 FPGA또는 ASIC과 같은 하드웨어 구성요소를 의미하며, '~부'는 어떤 역할들을 수행한다. 그렇지만 '~부'는 소프트웨어 또는 하드웨어에 한정되는 의미는 아니다. '~부'는 어드레싱할 수 있는 저장 매체에 있도록 구성될 수도 있고 하나 또는 그 이상의 프로세서들을 재생시키도록 구성될 수도 있다. 따라서, 일 예로서 '~부'는 소프트웨어 구성요소들, 객체지향 소프트웨어 구성요소들, 클래스 구성요소들 및 태스크 구성요소들과 같은 구성요소들과, 프로세스들, 함수들, 속성들, 프로시저들, 서브루틴들, 프로그램 코드의 세그먼트들, 드라이버들, 펌웨어, 마이크로코드, 회로, 데이터, 데이터베이스, 데이터 구조들, 테이블들, 어레이들, 및 변수들을 포함한다. 구성요소들과 '~부'들 안에서 제공되는 기능은 더 작은 수의 구성요소들 및 '~부'들로 결합되거나 추가적인 구성요소들과 '~부'들로 더 분리될 수 있다. 뿐만 아니라, 구성요소들 및 '~부'들은 디바이스 또는 보안 멀티미디어카드 내의 하나 또는 그 이상의 CPU들을 재생시키도록 구현될 수도 있다. 또한 실시예에서 ‘~부’는 하나 이상의 프로세서를 포함할 수 있다.
도 1은 본 개시의 일 실시예에 따른 네트워크 환경에서의 MEC(multi-access edge computing) 기술을 설명하기 위해 개략적으로 도시하는 도면이다.
도 1을 참조하면, 본 개시의 네트워크 환경(100)은 단말(110), 엑세스 네트워크(access network, AN)(120), 엣지 데이터 네트워크(130) 및 서비스 서버(service server)(140)를 포함할 수 있다. 즉, 본 개시의 네트워크 환경(100)은 MEC 기반 서비스를 지원하기 위한 복수의 요소들로 구성된 상태를 의미할 수 있다. 다만, 네트워크 환경(100)이 포함하는 구성이 이에 제한되는 것은 아니다.
일 실시예에 따르면, 네트워크 환경(100)에 포함되는 구성요소들 각각은 물리적인 객체(entity) 단위를 의미하거나, 개별적인 기능(function)을 수행할 수 있는 소프트웨어 또는 모듈 단위를 의미할 수 있다.
일 실시예에 따르면, 단말(110)은 사용자에 의해 사용되는 장치를 의미할 수 있다. 예를 들면, 단말(110)은 단말(terminal), 사용자 단말(UE, user equipment), 이동국(mobile station), 가입자국(subscriber station), 원격 단말(remote terminal), 무선 단말(wireless terminal), 또는 사용자 장치(user device)를 의미할 수 있다. 도 1을 참조하면, 단말(110)은 제1 애플리케이션 클라이언트(또는, 애플리케이션 클라이언트)(111), 제2 애플리케이션 클라이언트(113) 및 엣지 인에이블러 클라이언트(edge enabler client)(또는, MEL(MEC enabling layer))(115)를 포함할 수 있다. 단말(110)은 MEC 서비스의 사용을 위하여 엣지 인에이블러 클라이언트(115)를 이용하여 필요한 작업을 수행할 수 있다.
도 1에 도시되지는 아니하였으나, 일 실시예에 따르면, 단말(110)은 MSA(multi-access service agent) 및 MSE(multi-access service enabler)를 포함할 수 있다. 일 실시예에 따르면, MSA는 단말(110)의 인증(authentication), 권한(authorization) 및 정책(예: app routing policy, discovery policy, 또는 monitoring policy)과 관련된 정보를 수신할 수 있다. MSE는 정책에 따라 경로(route)를 설정하고, MEC 기반 데이터 전송을 관리할 수 있다. 일 실시예에 따르면, 엣지 인에이블러 클라이언트(115)는 MSE의 서비스 중 MEC 서비스의 사용을 위해 필요한 작업을 수행하는 구성요소를 의미할 수 있다.
일 실시예에 따르면, 단말(110)은 복수의 애플리케이션들을 실행할 수 있다. 예를 들면, 단말(110)은 제1 애플리케이션 클라이언트(111) 및 제2 애플리케이션 클라이언트(113)를 실행할 수 있다. 복수의 애플리케이션들은 요구되는 데이터 전송 속도, 지연 시간(또는 속도)(latency), 신뢰성(reliability), 네트워크에 접속(access)된 전자 장치의 수, 단말(110)의 네트워크 접속 주기, 또는 평균 데이터 사용량 중 적어도 하나에 기반하여 서로 다른 네트워크 서비스를 요구(require)할 수 있다. 서로 다른 네트워크 서비스는, 예를 들어, eMBB(enhanced mobile broadband), URLLC(ultra- reliable and low latency communication), 또는 mMTC(massive machine type communication)를 포함할 수 있다.
단말(110)의 애플리케이션 클라이언트는 단말(110)에 미리 설치된 기본 애플리케이션 또는 제 3자가 제공하는 애플리케이션을 의미할 수 있다. 즉, 특정 응용 서비스를 위하여 단말(110) 내에서 구동되는 클라이언트(client) 응용 프로그램을 의미할 수 있다. 예를 들어, 웹 페이지를 제공하기 위한 웹 브라우저는 단말(110) 내에서 구동되는 애플리케이션 클라이언트의 일종일 수 있다. 단말(110) 내에는 여러 애플리케이션 클라이언트들이 구동될 수 있다. 이 애플리케이션 클라이언트들 중 적어도 하나 이상은 엣지 데이터 네트워크(130)로부터 제공되는 서비스를 사용할 수 있다. 예를 들면, 애플리케이션 클라이언트는 단말(110)에 설치되어 실행되는 애플리케이션으로서, 엣지 데이터 네트워크(130)를 통해 데이터를 송수신하는 기능을 제공할 수 있다. 단말(110)의 애플리케이션 클라이언트는, 하나 이상의 특정 엣지 애플리케이션들에 의해 제공된 기능을 이용하기 위해, 단말(110) 상에서 실행되는 애플리케이션 소프트웨어를 의미할 수 있다.
일 실시예에 따르면, 단말(110)의 복수의 애플리케이션들(111, 113)은 요구되는 네트워크 서비스 타입에 기반하여 서비스 서버(140)와 데이터 전송을 수행하거나, 또는 엣지 데이터 네트워크(130)와 엣지 컴퓨팅에 기반한 데이터 전송을 수행할 수 있다. 예를 들어, 제1 애플리케이션 클라이언트(111)가 낮은 지연 시간을 요구하지 않으면, 제1 애플리케이션 클라이언트(111)는 서비스 서버(140)와 데이터 전송을 수행할 수 있다. 다른 예를 들어, 제2 애플리케이션 클라이언트(113)가 낮은 지연 시간을 요구하면, 제2 애플리케이션 클라이언트(113)는 엣지 데이터 네트워크(130)와 MEC 기반 데이터 전송을 수행할 수 있다.
일 실시예에 따르면, 단말(110)의 애플리케이션은, 애플리케이션 클라이언트(application client), 클라이언트 애플리케이션(client application, Client App), UE 애플리케이션(UE App)으로 지칭될 수 있다. 편의를 위해, 이하, 본 개시에서는 단말(110)의 애플리케이션은 애플리케이션 클라이언트로 지칭된다.
일 실시예에 따르면, 엑세스 네트워크(120)는 단말(110)과의 무선 통신을 위한 채널(channel)을 제공할 수 있다. 예를 들면, 엑세스 네트워크(120)는 RAN(radio access network), 기지국(base station), 이노드비(eNB, eNodeB), 5G 노드(5G node), 송수신 포인트(TRP, transmission/reception point), 또는 5GNB(5th generation NodeB)를 의미할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는 단말(110)이 MEC 서비스를 이용하기 위하여 접속하는 서버를 의미할 수 있다. 엣지 데이터 네트워크(130)는 전자 장치와 지리적으로 가까운 위치, 예를 들어, 기지국 내부 또는 기지국 근처에 설치될 수 있다. 일 실시예에 따르면, 엣지 데이터 네트워크(130)는 외부 데이터 네트워크(data network, DN)(예: 인터넷)를 통하지 않고, 단말(110)과 데이터를 송수신할 수 있다. 일 실시 예에서, MEC는 multi-access edge computing 또는 mobile-edge computing로 지칭될 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는, MEC 호스트(host), 엣지 컴퓨팅 서버(edge computing server), 모바일 엣지 호스트(mobile edge host), 엣지 컴퓨팅 플랫폼(edge computing platform), MEC 서버 등으로 지칭될 수 있다. 편의를 위해, 이하, 본 개시에서는 MEC 서버는 엣지 데이터 네트워크(130)로 지칭된다. 도 1을 참조하면, 엣지 데이터 네트워크(130)는, 제1 엣지 애플리케이션(edge application)(131), 제2 엣지 애플리케이션(133) 및 엣지 인에이블러 서버(또는, MEP(MEC platform))(135)를 포함할 수 있다. 엣지 인에이블러 서버(135)는 엣지 데이터 네트워크(130)에서 MEC 서비스를 제공하거나 트래픽 제어 등을 수행하는 구성을 의미할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는 복수의 애플리케이션들을 실행할 수 있다. 예를 들면, 엣지 데이터 네트워크(130)는 제1 엣지 애플리케이션(131) 및 제2 엣지 애플리케이션(133)을 실행할 수 있다. 일 실시예에 따르면, 엣지 에플리케이션은 MEC 서비스를 제공하는 엣지 데이터 네트워크 내 제 3자가 제공하는 응용 애플리케이션을 의미할 수 있고, 엣지 애플리케이션으로 지칭될 수도 있다. 엣지 애플리케이션은 애플리케이션 클라이언트와 관련된 데이터를 송수신하기 위하여, 애플리케이션 클라이언트와 데이터 세션을 형성하는데 이용될 수 있다. 즉, 엣지 애플리케이션은 애플리케이션 클라이언트와 데이터 세션을 형성할 수 있다. 일 실시예에서, 데이터 세션은, 단말(110)의 애플리케이션 클라이언트와 엣지 데이터 네트워크(130)의 엣지 애플리케이션이 데이터를 송수신하기 위하여 형성되는 통신 경로를 의미할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)의 애플리케이션은, MEC 애플리케이션(MEC App), ME(MEC) App, 엣지 애플리케이션 서버(edge application server) 및 엣지 애플리케이션으로 지칭될 수 있다. 편의를 위해, 이하, 본 개시에서는 엣지 데이터 네트워크(130)의 애플리케이션은 엣지 에플리케이션으로 지칭된다. 이때, 애플리케이션으로 기재되었으나, 엣지 애플리케이션은 엣지 데이터 네트워크에 존재하는 애플리케이션 서버를 의미할 수 있다.
일 실시예에 따르면, 서비스 서버(140)는 단말(110)의 애플리케이션 클라이언트와 관련된 콘텐츠를 제공할 수 있다. 예를 들어, 서비스 서버(140)는 단말(110)이 애플리케이션 클라이언트를 구동(또는, 실행)하는데 필요한 서비스 또는 데이터를 제공할 수 있으며, 단말(110)의 애플리케이션 클라이언트에게 MEC 서비스를 제공할 수 있는, 엣지 애플리케이션을 엣지 데이터 네트워크(130)에게 제공할 수 있다. 서비스 서버(140)는 단말(110)에게 콘텐츠를 제공하는 콘텐츠 사업자에 의하여 운용, 또는 관리될 수 있다.
일 실시예에 따르면, 서비스 서버(140)는 외부 데이터 네트워크(data network, DN)(예: 인터넷)를 통해서, 단말(110)과 데이터를 송수신할 수 있다. 예를 들면, 서비스 서버(140)는 웹 서비스와 관련된 데이터(예: 웹 페이지, 웹 페이지 내의 콘텐츠, 등)를 제공할 수 있다(예: Google 서버, Naver 서버, 등)를 의미할 수 있다. 이하에서, 웹 서비스와 관련된 데이터를 제공하는 서비스 서버(140)를 웹 서버로 지칭하도록 한다.
도 1에는 도시되지 아니하였으나, 엑세스 네트워크(120)와 엣지 데이터 네트워크(130) 사이에 코어 네트워크(core network, CN) 및 데이터 네트워크(data network, DN)가 존재할 수 있다. 일 실시예에 따르면, 데이터 네트워크는 코어 네트워크 및 엑세스 네트워크(120)를 통해, 단말(110)에게 데이터(또는 데이터 패킷)를 송수신함으로써 서비스(예: 인터넷 서비스, IMS(IP multimedia subsystem) 서비스)를 제공할 수 있다. 예를 들어, 데이터 네트워크는 통신 사업자에 의하여 관리될 수 있다. 일 실시 예에서, 엣지 데이터 네트워크(130)는 데이터 네트워크(예: 로컬(local) DN)를 통해 엑세스 네트워크(120) 또는 코어 네트워크와 연결될 수 있다.
도 2a는 본 개시의 일 실시예에 따른 단말이 웹 페이지를 표시하기 위한 절차를 개략적으로 도시하는 도면이다.
도 2a를 참조하면, 단말(110)은 엣지 데이터 네트워크(130)에게 웹 페이지에 대한 접속을 요청할 수 있다 (단계 201). 웹 페이지에 대한 접속 요청은, 단말(110)이 웹 페이지의 HTML(hyper text markup language)을 요청하는 것일 수 있다.
단말(110)의 웹 페이지에 대한 접속 요청은 다음과 같은 절차를 통해 수행될 수 있다. 단말(110)은 웹 브라우저를 통한 사용자의 입력을 통해 웹 페이지의 URL(uniform resource locator)을 획득할 수 있다. 여기서, 단말(110)의 웹 브라우저는 단말(110)의 제1 애플리케이션 클라이언트(111)일 수 있다.
단말(110)은 웹 페이지의 URL에 포함된 도메인 네임(domain name)(예: 웹 서버(호스트)를 식별하기 위한 도메인 네임, 즉 웹 서버의 IP 주소에 대응되는 도메인 네임)에 대응되는 IP(internet protocol) 주소를 로컬 DNS(domain name system) 서버로부터 획득할 수 있다. 단말(110)은 웹 페이지의 URL과 획득한 IP 주소를 이용하여, 엣지 데이터 네트워크(130)에게 웹 페이지에 대한 접속 요청을 할 수 있다.
이 때, 단말(110)의 로컬 DNS 서버의 DNS 테이블(또는 존 파일(zone file))에 웹 페이지의 URL에 포함된 도메인 네임에 대응되는 IP 주소로, 엣지 데이터 네트워크(130)의 IP 주소가 맵핑되어 있을 수 있다. 이는, 단말(110)에게 저지연(low latency)으로 웹 페이지에 대한 서비스를 제공하기 위해, 웹 페이지를 제공하는 웹 서버가 아닌, 엣지 데이터 네트워크(130)에게 단말(110)이 웹 페이지에 대한 접속 요청을 하도록 DNS 테이블이 미리 설정된 것일 수 있다. 따라서, 단말(110)은 로컬 DNS 서버로부터 웹 페이지의 URL에 포함된 도메인 네임에 대응되는 IP 주소로, 엣지 데이터 네트워크(130)의 IP 주소를 수신할 수 있다. 단말(110)은, 엣지 데이터 네트워크(130)의 IP 주소를 이용하여 엣지 데이터 네트워크(130)에게 웹 페이지에 대한 접속을 요청할 수 있다.
DNS 테이블에는 복수의 도메인 네임 각각이 엣지 데이터 네트워크(130)의 IP 주소와 맵핑되어 있을 수 있다. URL들이 서로 다른 도메인 네임을 포함하더라도, DNS 테이블에 따라 서로 다른 URL들에 기초한 요청이 엣지 데이터 네트워크(120)로 전송될 수 있다. 웹 페이지에 대한 접속은, HTTP(Hypertext Transfer Protocol)를 이용하여 요청될 수 있으며, HTTP를 이용한 요청에는 웹 페이지에 접속하기 위한 다양한 정보가 포함될 수 있다. 엣지 데이터 네트워크(120)는 HTTP에 기초한 웹 페이지에 대한 접속 요청에 포함된 정보를 이용하여, 접속이 요청된 웹 페이지에 대한 HTML을 제공하기 위한 동작을 수행할 수 있다.
단말(110)의 웹 페이지에 대한 접속 요청을 수신한 엣지 데이터 네트워크(130)는, 단말(110)에게 저지연 웹 페이지 서비스를 제공하기 위해, 단말(110)의 웹 페이지 표시를 위한 데이터에 대한 처리를 수행하거나, 단말(110)이 웹 페이지를 표시하기 위해 필요한 콘텐츠를 미리 캐싱(caching)할 수 있다. 여기서 캐싱이란, 데이터에 대한 요청이 있기 전에, 데이터를 제공하는 서버 등으로부터 데이터를 미리 획득하여 저장해 두는 기술로써, 캐싱을 통해 요청된 데이터를 저지연으로 제공할 수 있다. 엣지 데이터 네트워크(130)는 콘텐츠를 캐싱하여 웹 서버(140)로부터 엣지 데이터 네트워크(130) 내의 저장 공간에 저장할 수 있으며, 엣지 데이터 네트워크(130)와 연결된 캐시 서버에 저장할 수도 있다.
엣지 데이터 네트워크(130)는 단말(110)이 요청한 웹 페이지를 제공하는 웹 서버(140)에게 웹 페이지의 HTML을 요청하고 (단계 202), 웹 서버(140)로부터 웹 페이지의 HTML을 수신할 수 있다 (단계 203). 여기서, 전술한 단말(110)의 웹 페이지에 대한 접속 요청에 대한 처리 동작은, 단말(110)의 제1 애플리케이션 클라이언트(111)에게 웹 서비스를 제공하는 엣지 데이터 네트워크(130)의 제1 엣지 애플리케이션(131)에서 수행될 수 있다.
엣지 데이터 네트워크(130)는 단말(110)의 웹 페이지에 대한 접속 요청에 대한 응답으로, 단말(110)에게 웹 페이지의 HTML을 전송할 수 있다 (단계 204). 단말(110)은 수신한 웹 페이지의 HTML에 기초하여 웹 페이지를 표시할 수 있다 (단계 205).
도 2b를 참조하면, 웹 페이지(200)는 복수의 콘텐츠(210, 220)를 포함할 수 있으며, 단말(110)은 웹 페이지를 표시하기 위해 복수의 콘텐츠(210, 220)를 획득할 필요가 있다. 웹 페이지의 HTML은, 웹 페이지를 표시하기 위한 복수의 콘텐츠(210, 220) 각각의 URL을 포함할 수 있다. 콘텐츠(content)는 웹 페이지에서 제공되는 정보(또는, 데이터)를 의미할 수 있으며, 이미지, 문서, 동영상, HTML, CSS(cascading style sheets) 문서, 자바스크립트 등을 포함할 수 있다. 또한, 콘텐츠의 URL은 콘텐츠의 네트워크 상에서의 위치를 나타내는 URL일 수 있다.
단말(110)은 복수의 콘텐츠(210, 220) 각각의 URL을 이용하여, 복수의 콘텐츠(210, 220)를 획득할 수 있다. 예를 들어, 단말(110)은 복수의 콘텐츠(210, 220) 각각의 URL에 대한 IP 주소를 로컬 DNS에게 요청하고, 로컬 DNS 서버로부터 복수의 콘텐츠 각각의 URL에 대응되는 IP 주소를 각각 수신할 수 있다. 단말(110)은 수신한 IP 주소 각각을 이용하여 복수의 콘텐츠를 요청할 수 있다. 이때, 웹 페이지를 표시하기 위한 콘텐츠의 URL에 포함된 도메인 네임은, 웹 페이지의 URL에 포함된 도메인 네임(예: 웹 서버의 도메인 네임)과 같을 수 있다. 단말(110)은 전술한 바와 같이 로컬 DNS 서버에 미리 설정된 DNS 테이블에 따라 로컬 DNS 서버로부터 웹 페이지를 표시하기 위한 콘텐츠의 URL에 대한 IP 주소로 엣지 데이터 네트워크(130)의 IP 주소를 수신할 수 있다.
단말(110)은 엣지 데이터 네트워크(130)의 IP 주소로 엣지 데이터 네트워크(130)에게 웹 페이지를 표시하기 위한 콘텐츠를 요청할 수 있다. 이 때, 엣지 데이터 네트워크(130)가 단말(110)이 요청한 콘텐츠를 캐싱하였다면, 엣지 데이터 네트워크(130)는 캐싱된 콘텐츠를 단말(110)에게 전송할 수 있다. 다만, 엣지 데이터 네트워크(130)가 콘텐츠를 캐싱하여 저장하고 있더라도, 단말(110)의 콘텐츠에 대한 요청에 웹 페이지의 HTML에 포함된 콘텐츠의 URL이 포함되어 있다면, 엣지 데이터 네트워크(130)는 단말(110)이 요청한 콘텐츠가 캐싱되어 있는지 여부에 대한 판단 절차를 수행해야 할 수 있고, 이로 인한 지연이 발생할 수 있다.
또한, 엣지 데이터 네트워크(130)가 단말(110)이 요청한 콘텐츠를 캐싱하지 않았다면, 엣지 데이터 네트워크(130)는 웹 서버(140)로부터 콘텐츠를 획득하여 단말(110)에게 전송하여야 할 수 있다. 따라서, 단말(110)이 웹 서버(140)에게 직접 콘텐츠를 요청하여 수신하는 경우와 비교하여, 엣지 데이터 네트워크(130)가 웹 서버(140)에게 캐싱하지 않은 데이터를 수신하여 단말(110)에게 전달하는 경우 지연이 발생할 수 있다.
따라서, 단말(110)이 웹 페이지의 HTML에 포함된 콘텐츠의 URL에 기초하여 콘텐츠를 엣지 데이터 네트워크(130)에게 요청하게 되면, 엣지 데이터 네트워크(130)에서 수행되는 절차들에 의해 지연이 발생할 수 있다. 이에 본 개시에서는, 엣지 데이터 네트워크(130)에서 웹 페이지의 HTML을 변조하거나, 로컬 DNS 서버의 DNS 테이블에 라우팅 테이블을 추가함으로써 전술한 엣지 데이터 네트워크(130)에서 발생할 수 있는 지연을 줄이는 방법에 대해 제안하고자 한다.
도 3은 본 개시의 일 실시예에 따른 엣지 데이터 네트워크가 웹 페이지를 표시하기 위한 콘텐츠의 URL을 변경하여 단말에게 웹 페이지의 변조된 HTML을 제공하는 방법을 나타내는 흐름도이다.
도 3을 참조하면, 단계 310에서, 엣지 데이터 네트워크(130)는 단말(110)로부터 웹 페이지에 대한 접속 요청을 수신할 수 있다.
일 실시예에 따르면, 단말(110)의 웹 페이지에 대한 접속 요청은, 단말(110)이 웹 페이지의 HTML을 요청하는 것일 수 있다. 단말(110)의 웹 페이지에 대한 접속 요청은 웹 페이지의 URL과 웹 페이지의 URL에 포함된 도메인 네임에 대응되는 IP 주소에 기초한 것일 수 있다. 이 때, 단말(110)은 웹 페이지의 URL에 포함된 도메인 네임에 대응되는 IP 주소를 로컬 DNS 서버(150)로부터 획득할 수 있으며, 로컬 DNS 서버(150)의 DNS 테이블에는 웹 페이지의 URL에 포함된 도메인 네임에 대응되는 IP 주소로 엣지 데이터 네트워크(130)의 IP 주소가 맵핑되어 있을 수 있다.
단계 320에서, 엣지 데이터 네트워크(130)는 웹 페이지의 HTML(hyper text markup language)에 포함된, 웹 페이지를 표시하기 위한 복수의 콘텐츠(content) 각각의 URL을 식별할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는 단말(110)이 접속을 요청한 웹 페이지를 제공하는 웹 서버(140)에게 웹 페이지의 HTML을 요청할 수 있고, 웹 서버(140)로부터 웹 페이지의 HTML을 수신할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는 웹 페이지의 HTML에 포함된 복수의 URL을 식별할 수 있다. 엣지 데이터 네트워크(130)는 웹 페이지의 HTML에 포함된 복수의 URL 중 웹 페이지를 표시하기 위한 복수의 콘텐츠 각각의 URL을 식별할 수 있다.
예를 들어, 엣지 데이터 네트워크(130)는 웹 페이지의 HTML에 포함된 태그(또는 요소(element)) 및 URL에 포함된 자원(resource)(또는, 파일)을 나타내는 정보(예를 들어, 자원의 이름, 형식)에 기초하여, HTML에 포함된 복수의 URL 중 어떤 URL이 웹 페이지를 표시하기 위한 콘텐츠의 URL인지를 식별할 수 있다.
단계 330에서, 엣지 데이터 네트워크(130)는 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 엣지 데이터 네트워크(130)가 캐싱한 제1 콘텐츠를 식별할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는 웹 페이지를 표시하기 위한 복수의 콘텐츠 각각의 URL 및 엣지 데이터 네트워크(130)가 캐싱한 복수의 콘텐츠에 대한 정보에 기초하여, 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 엣지 데이터 네트워크(130)가 캐싱한 제1 콘텐츠를 식별할 수 있다.
예를 들어, 엣지 데이터 네트워크(130)는 복수의 콘텐츠를 캐싱하여 저장하고 있을 수 있다. 또한, 엣지 데이터 네트워크(130)는 복수의 콘텐츠에 대한 정보로서, 캐싱된 복수의 콘텐츠 각각의 URL에 대한 정보를 캐싱된 복수의 콘텐츠와 함께 저장하고 있을 수 있다. 엣지 데이터 네트워크(130)는 캐싱된 복수의 콘텐츠 각각의 URL과 웹 페이지를 표시하기 위한 복수의 콘텐츠 각각의 URL을 비교하여, 웹 페이지를 표시하기 위한 복수의 콘텐츠 각각의 URL 중 엣지 데이터 네트워크(130)가 캐싱한 콘텐츠의 URL에 대응되는 제1 URL을 식별할 수 있다.
식별된 제1 URL은, 엣지 데이터 네트워크(130)가 캐싱한 제1 콘텐츠의 URL일 수 있으며, 엣지 데이터 네트워크(130)는 제1 URL을 식별함으로써 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 엣지 데이터 네트워크(130)가 캐싱한 제1 콘텐츠를 식별할 수 있다. 이하에서, 제1 콘텐츠는 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 엣지 데이터 네트워크(130)가 캐싱한 콘텐츠를 지칭하며, 제1 콘텐츠는 복수일 수 있다.
단계 340에서, 엣지 데이터 네트워크(130)는 복수의 콘텐츠 각각의 URL 중 제1 콘텐츠의 URL을 제1 콘텐츠가 캐싱된 위치를 나타내는 URL로 변경함으로써, HTML을 변조할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는 웹 페이지의 HTML을 변조할 수 있다. 본 개시에서, 웹 페이지의 HTML을 변조하는 것은, HTML에 새로운 정보를 추가하거나, HTML에 포함된 정보를 변경하는 것을 의미할 수 있다. 예를 들어, 엣지 데이터 네트워크(130)는 웹 페이지의 HTML에 포함된 URL을 변경함으로써 웹 페이지의 HTML을 변조할 수 있다. 여기서, URL을 변경한다는 것은, URL에 포함된 정보를 다른 정보로 변경하거나 URL에 새로운 정보를 추가하는 것을 의미할 수 있다. 이하에서, 변조된 HTML은 웹 페이지의 HTML에 포함된 정보가 변경된 HTML을 의미할 수 있다.
URL은 정보 자원(resource)(예: 콘텐츠)의 네트워크 상에서의 위치를 나타내는 규약(또는, 프로토콜)일 수 있다. URL은 네트워크 상에서 데이터를 주고 받기 위한 통신 규약을 나타내는 프로토콜(protocol)(예: http, https, ftp 등), 정보 자원이 위치한 서버(또는, 컴퓨터)의 도메인 네임(또는, IP 주소), 정보 자원의 파일 디렉토리(directory)(또는, 파일 경로, 파일이 저장된 폴더), 정보 자원의 이름(또는, 파일 이름) 등을 포함할 수 있다. 따라서, URL을 변경한다는 것은, URL에 포함된 프로토콜, 도메인 네임, 정보 자원의 파일 디렉토리, 또는 정보 자원의 이름 중 적어도 하나를 변경하는 것을 의미할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는 콘텐츠의 URL에 포함된 콘텐츠의 위치를 나타내는 정보(예: 도메인 네임, 콘텐츠의 파일 디렉토리 등)를 변경할 수 있다. 콘텐츠의 위치를 나타내는 정보가 변경된 URL을 이용하여 콘텐츠를 요청되면, 변경된 위치로 콘텐츠가 요청될 수 있다. 따라서, 엣지 데이터 네트워크(130)는 웹 페이지의 HTML에 포함된 콘텐츠의 URL에 포함된 정보 중, 콘텐츠의 위치(즉, 서버, 컴퓨터 등의 위치)를 나타내는 정보를 변경함으로써, 단말(110)로 하여금 콘텐츠의 변경된 URL에 기초하여 변경된 위치로 콘텐츠를 요청하도록 할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는 웹 페이지를 표시하기 위한 복수의 콘텐츠 각각의 URL 중 엣지 데이터 네트워크(130)가 캐싱한 것으로 식별된 제1 콘텐츠의 URL을, 제1 콘텐츠가 캐싱된 위치를 나타내는 URL로 변경할 수 있다. 예를 들어, 엣지 데이터 네트워크(130)는 제1 콘텐츠의 URL에 포함된 제1 콘텐츠의 위치를 나타내는 정보를, 제1 콘텐츠가 캐싱된 위치를 나타내는 정보로 변경함으로써, 웹 페이지의 HTML에 포함된 제1 콘텐츠의 URL을 제1 콘텐츠가 캐싱된 위치를 나타내는 URL로 변경할 수 있다.
일 실시예에 따르면, 제1 콘텐츠의 URL에 포함된 제1 콘텐츠의 위치를 나타내는 정보는, 웹 페이지를 제공하는 웹 서버의 도메인 네임을 포함할 수 있으며, 부가적으로 웹 서버(또는, 웹 서버의 컴퓨터) 내의 파일 디렉토리를 포함할 수 있다.
일 실시예에 따르면, 제1 콘텐츠가 캐싱된 위치는 제1 콘텐츠가 캐싱된 서버(또는, 서버의 컴퓨터)(이하, 캐시 서버와 혼용)일 수 있다. 제1 콘텐츠가 캐싱된 서버는, 엣지 데이터 네트워크(130) 또는 엣지 데이터 네트워크(130)와 연결된 캐시 서버(예: 캐싱된 콘텐츠를 저장하는 엣지 데이터 네트워크) 또는 별도의 서버일 수 있다.
일 실시예에 따르면, 제1 콘텐츠가 캐싱된 위치를 나타내는 정보는 제1 콘텐츠가 캐싱된 서버 또는 제1 콘텐츠가 캐싱된 서버와 연결된 서버에 대한 정보를 포함할 수 있다. 예를 들어, 제1 콘텐츠가 캐싱된 위치를 나타내는 정보는 제1 콘텐츠가 캐싱된 서버의 도메인 네임 및 부가적으로 제1 콘텐츠가 캐싱된 서버 내의 제1 콘텐츠의 파일 디렉토리를 포함할 수 있다. 또한, 제1 콘텐츠가 엣지 데이터 네트워크(130)에 캐싱된 경우, 제1 콘텐츠가 캐싱된 위치를 나타내는 정보는, 캐싱된 제1 콘텐츠에 접근하기 위한 포트의 번호(port number)(예: FTP(file transfer protocol)의 경우 21)를 포함할 수 있다. 또한, 제1 콘텐츠가 캐싱된 위치를 나타내는 정보는, 제1 콘텐츠가 캐싱된 서버와 연결된 서버(예: 제1 콘텐츠가 캐싱된 캐시 서버에 접근(access)할 수 있는 엣지 데이터 네트워크(130))에 대한 정보를 포함할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는 웹 페이지의 HTML에 포함된 URL 중 제1 콘텐츠의 URL에 포함된 도메인 네임(예: 웹 서버의 도메인 네임)을 제1 콘텐츠가 캐싱된 서버 또는 제1 콘텐츠가 캐싱된 서버와 연결된 서버의 도메인 네임으로 변경할 수 있다. 이를 통해, 엣지 데이터 네트워크(130)는 제1 콘텐츠의 변경된 URL에 기초하여 제1 콘텐츠가 캐싱된 서버 또는 제1 콘텐츠가 캐싱된 서버와 연결된 서버로 제1 콘텐츠가 요청되도록 할 수 있다.
또한, 엣지 데이터 네트워크(130)는 제1 콘텐츠의 URL에 제1 콘텐츠가 캐싱된 서버 내의 제1 콘텐츠의 파일 디렉토리를 추가하거나, 기존에 포함된 파일 디렉토리를 제1 콘텐츠가 캐싱된 서버 내의 제1 콘텐츠의 파일 디렉토리로 변경할 수 있다. 또한, 식별된 제1 콘텐츠의 URL에 제1 콘텐츠가 캐싱된 위치를 나타내기 위해 캐싱된 제1 콘텐츠에 접근하기 위한 포트의 번호를 추가할 수 있다. 또한, 엣지 데이터 네트워크(130)는 캐싱된 제1 콘텐츠의 저장된 파일 이름이 제1 콘텐츠의 URL에 포함된 제1 콘텐츠의 파일 이름과 상이하다면, 제1 콘텐츠의 파일 이름을 캐싱된 제1 콘텐츠의 저장된 파일 이름으로 변경할 수 있다.
단계 350에서, 엣지 데이터 네트워크(130)는 단말(110)에게 제1 콘텐츠의 변경된 URL을 포함하는 변조된 HTML을 전송할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는 단계 310에서의 단말(110)의 웹 페이지에 대한 접속 요청에 대한 응답으로, 단말(110)에게 단계 340에서 변조된 HTML을 전송할 수 있다. 변조된 HTML은, 웹 서버(140)로부터 수신한 웹 페이지의 HTML에 포함된 제1 콘텐츠의 URL 대신 제1 콘텐츠가 캐싱된 위치를 나타내는 URL(즉, 제1 콘텐츠의 변경된 URL)을 포함할 수 있다.
도 4는 본 개시의 일 실시예에 따른 엣지 데이터 네트워크가 웹 페이지를 표시하기 위한 콘텐츠의 변경된 URL에 기초하여 단말에게 캐싱된 콘텐츠를 제공하는 방법을 나타내는 흐름도이다. 도 4의 단계들은, 도 3의 단계 340에서 엣지 데이터 네트워크(130)가 단말(110)에게 변조된 HTML을 전송한 후에 수행되는 단계들일 수 있다.
도 4를 참조하면, 단계 410에서, 엣지 데이터 네트워크(130)는 단말(110)로부터 제1 콘텐츠의 변경된 URL을 포함하는 제1 콘텐츠에 대한 요청을 수신할 수 있다.
일 실시예에 따르면, 단말(110)의 제1 콘텐츠에 대한 요청은 제1 콘텐츠의 변경된 URL에 기초한 것일 수 있다. 예를 들어, 제1 콘텐츠의 변경된 URL은 제1 콘텐츠가 캐싱된 위치를 나타내는 정보로서, 엣지 데이터 네트워크(130)의 도메인 네임을 포함할 수 있다. 여기서, 엣지 데이터 네트워크(130)는 제1 콘텐츠가 캐싱된 서버 또는 제1 콘텐츠가 캐싱된 서버(즉, 캐시 서버)에 접근할 수 있는 서버일 수 있다. 단말(110)은 로컬 DNS 서버(150)를 통해 제1 콘텐츠의 변경된 URL에 포함된 엣지 데이터 네트워크(130)의 도메인 네임에 대응되는 IP 주소로, 엣지 데이터 네트워크(130)의 IP 주소를 획득할 수 있다. 단말(110)은 획득한 엣지 데이터 네트워크(130)의 IP 주소를 이용하여 제1 콘텐츠의 변경된 URL을 포함하는 제1 콘텐츠에 대한 요청을 엣지 데이터 네트워크(130)에게 전송할 수 있다.
단계 420에서, 엣지 데이터 네트워크(130)는 단말(110)에게, 제1 콘텐츠의 변경된 URL에 포함된 제1 콘텐츠가 캐싱된 위치를 나타내는 정보에 기초하여, 제1 콘텐츠를 전송할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는 단말(110)의 요청에 포함된 제1 콘텐츠가 캐싱된 위치를 나타내는 정보에 기초하여, 제1 콘텐츠가 캐싱된 위치를 식별할 수 있다. 예를 들어, 엣지 데이터 네트워크(130)는, 제1 콘텐츠가 캐싱된 위치를 나타내는 정보에 포함된, 엣지 데이터 네트워크(130)의 도메인 네임, 제1 콘텐츠의 파일 디렉토리, 또는 제1 콘텐츠에 접근하기 위한 포트의 번호 중 적어도 하나에 기초하여 제1 콘텐츠가 캐싱된 위치를 식별할 수 있다. 엣지 데이터 네트워크(130)는 식별된 제1 콘텐츠가 캐싱된 위치에서 제1 콘텐츠를 획득하여 단말(110)에게 전송할 수 있다. 엣지 데이터 네트워크(130)가 단말(110)에게 전송하는 제1 콘텐츠는, 엣지 데이터 네트워크(130)가 트랜스 코딩(trans coding)하여 저장한 제1 콘텐츠일 수 있다. 제1 콘텐츠의 캐싱, 제1 콘텐츠의 트랜스 코딩에 대한 자세한 내용은 도 9에서 설명하도록 한다.
도 4에서는, 제1 콘텐츠의 변경된 URL이 엣지 데이터 네트워크(130)의 도메인 네임을 포함하는 경우에 대한 실시예를 설명하였으나, 제1 콘텐츠가 엣지 데이터 네트워크(130)가 접근할 수 있는 캐시 서버에 캐싱될 수 있고, 제1 콘텐츠의 변경된 URL이 캐시 서버의 도메인 네임을 포함하고 있을 수 있다. 이 경우, 단말(110)은 캐시 서버의 도메인 네임에 기초하여, 제1 콘텐츠가 캐싱된 캐시 서버로 직접 제1 콘텐츠를 요청하고, 캐시 서버로부터 제1 콘텐츠를 수신할 수 있다.
본 개시에서는, 엣지 데이터 네트워크(130)가 단말(110)에게 웹 페이지의 HTML을 제공하기 전에, 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 엣지 데이터 네트워크(130)가 캐싱한 콘텐츠의 URL을 변경함으로써, 단말(110)이 변경된 URL을 이용하여 제1 콘텐츠를 요청하도록 할 수 있다. 이를 통해, 단말(110)이 제1 콘텐츠를 제공하는 서버(예: 웹 서버(140))의 위치를 나타내는 정보를 포함하는 제1 콘텐츠의 URL(즉, 변경 전의 URL)에 기초하여 제1 콘텐츠를 엣지 데이터 네트워크(130)에게 요청하였을 때, 엣지 데이터 네트워크(130)가 수행하는 절차가 생략될 수 있다. 예를 들어, 엣지 데이터 네트워크(130)가 요청된 콘텐츠가 캐싱되어 있는지 여부를 판단하는 절차, 요청된 콘텐츠를 캐싱할지 여부를 판단하는 절차, 웹 서버를 통해 요청된 콘텐츠를 획득하는 절차 등이 생략되어 콘텐츠를 단말(110)에게 제공하는데 있어 지연이 줄어들 수 있다.
도 5는 본 개시의 일 실시예에 따른 엣지 데이터 네트워크가 웹 페이지를 표시하기 위한 콘텐츠 중 캐싱된 콘텐츠를 단말에게 제공하는 예시를 도시하는 도면이다.
도 5를 참조하면, 단말(110)은 엣지 데이터 네트워크(130)에게 웹 페이지에 대한 접속을 요청할 수 있다 (단계 501). 엣지 데이터 네트워크(130)는 웹 서버(140)에게 단말(110)이 요청한 웹 페이지의 HTML을 요청하고 (단계 502), 웹 서버(140)는 엣지 데이터 네트워크(130)에게 웹 페이지의 HTML(510)을 전송할 수 있다 (단계 503).
엣지 데이터 네트워크(130)는 웹 페이지의 HTML(510)에 포함된 웹 페이지를 표시하기 위한 복수의 콘텐츠 각각의 URL을 식별할 수 있다. 엣지 데이터 네트워크(130)는 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 엣지 데이터 네트워크(130)가 캐싱한 제1 콘텐츠를 식별할 수 있다 (단계 504).
엣지 데이터 네트워크(130)는 식별된 제1 콘텐츠의 URL(제1 URL)을 제1 콘텐츠가 캐싱된 위치를 나타내는 URL(제1-1 URL)로 변경함으로써, 웹 페이지의 HTML(510)을 변조할 수 있다 (단계 505).
도 6을 참조하면, 엣지 데이터 네트워크(130)가 제1 URL(511)을 제1 콘텐츠가 캐싱된 위치를 나타내는 제1-1 URL(521)로 변경할 수 있다. 제1 URL(511)은 웹 서버(140)의 도메인 네임(610)을 포함할 수 있다. 제1-1 URL(511)은, 제1 URL(511)에 포함된 도메인 네임(610)이 제1 콘텐츠가 캐싱된 서버(예: 엣지 데이터 네트워크(130), 캐시 서버, 등) 또는 제1 콘텐츠가 캐싱된 서버와 연결된 서버(예: 엣지 데이터 네트워크(130))의 도메인 네임(620)으로 변경된 URL일 수 있다.
도 5에서는, 제1 URL(511)이 제1-1 URL(521)로 변경되는 예시를 도시하였으나, 제1 URL(511)은 제1 콘텐츠가 캐싱된 위치를 나타내는 제1-2 URL(522) 또는 제1-3 URL(523)으로 변경될 수도 있으며, 제1 콘텐츠가 캐싱된 위치에 따라 제1 URL(511)이 전술한 예시들과 다르게 변경될 수도 있다.
예를 들어, 도 6을 참조하면, 엣지 데이터 네트워크(130)는 제1 URL(511)에 포함된 도메인 네임(610)을 제1 콘텐츠가 캐싱된 서버(예: 엣지 데이터 네트워크(130))의 도메인 네임(620)으로 변경하고, 제1 콘텐츠가 캐싱된 서버 내의 제1 콘텐츠의 파일 디렉토리(621)를 제1 URL(511)에 추가함으로써, 제1 URL(511)을 제1 콘텐츠가 캐싱된 위치를 나타내는 제1-2 URL(522)로 변경할 수 있다.
또는, 엣지 데이터 네트워크(130)는 제1 URL(511)에 포함된 도메인 네임(610)을 제1 콘텐츠가 캐싱된 서버(예: 엣지 데이터 네트워크(130))의 도메인 네임(620)으로 변경하고, 캐싱된 제1 콘텐츠에 접근하기 위한 포트의 번호(622)를 제1 URL(511)에 추가함으로써, 제1 URL(511)을 제1 콘텐츠가 캐싱된 위치를 나타내는 제1-3 URL(523)로 변경할 수 있다.
다시 도 5를 참조하면, 엣지 데이터 네트워크(130)는 제1-1 URL을 포함하는, 변조된 HTML(520)을 단말(110)에게 전송할 수 있다 (단계 506). 단말(110)은 변조된 HTML(520)에 기초하여 웹 페이지를 표시할 수 있다. 이 때, 단말(110)은 웹 페이지를 표시하기 위해 제1 콘텐츠를 획득해야 할 필요가 있다. 따라서, 단말(110)은 변조된 HTML(520)에 포함된 제1 콘텐츠의 변경된 URL(즉, 제1-1 URL)에 대응되는 IP 주소를 로컬 DNS 서버(150)에게 요청할 수 있고 (단계 507), 로컬 DNS 서버(150)는 제1-1 URL에 포함된 도메인 네임에 대응되는 IP 주소를 단말(110)에게 전송할 수 있다 (단계 508). 제1-1 URL(521)에 포함된 도메인 네임에 대응되는 IP 주소는, 제1-1 URL에 포함된 도메인 네임, 즉 엣지 데이터 네트워크(130)의 도메인 네임 또는 엣지 데이터 네트워크(130)와 연결된 캐시 서버(160)의 도메인 네임에 대응되는 IP 주소일 수 있다.
단말(110)이 로컬 DNS 서버(150)로부터 수신한 IP 주소가 엣지 데이터 네트워크(130)의 IP 주소인 경우, 단말(110)은 로컬 DNS 서버(150)로부터 수신한 IP 주소를 이용하여, 제1 콘텐츠를 엣지 데이터 네트워크(130)에게 요청할 수 있다 (단계 509). 이 때, 단말(110)의 제1 콘텐츠에 대한 요청은, 제1-1 URL을 포함할 수 있다.
단말(110)의 요청을 수신한 엣지 데이터 네트워크(130)는 제1-1 URL에 포함된 제1 콘텐츠가 캐싱된 위치를 나타내는 정보에 기초하여, 제1 콘텐츠가 캐싱된 위치를 식별할 수 있다. 엣지 데이터 네트워크(130)는 제1 콘텐츠가 캐싱된 위치에서 제1 콘텐츠를 획득하여, 단말(110)에게 전송할 수 있다 (단계 510).
단말(110)이 로컬 DNS 서버(150)로부터 수신한 IP 주소가 캐시 서버(160)의 IP 주소인 경우, 단말(110)은 로컬 DNS 서버(150)로부터 수신한 IP 주소를 이용하여, 제1 콘텐츠를 캐시 서버(160)에게 요청할 수 있다 (단계 511). 이 때, 단말(110)의 제1 콘텐츠에 대한 요청은, 제1-1 URL을 포함할 수 있다.
단말(110)의 요청을 수신한 캐시 서버(160)는 제1-1 URL에 포함된 제1 콘텐츠가 캐싱된 위치를 나타내는 정보에 기초하여, 제1 콘텐츠가 캐싱된 위치를 식별할 수 있다. 캐시 서버(160)는 제1 콘텐츠가 캐싱된 위치에서 제1 콘텐츠를 획득하여, 단말(110)에게 전송할 수 있다 (단계 512).
도 7은 본 개시의 일 실시예에 따른 엣지 데이터 네트워크가 웹 페이지를 표시하기 위한 콘텐츠 중 캐싱되지 않은 콘텐츠에 대한 단말의 요청 경로를 라우팅(routing)하기 위한 방법을 나타내는 흐름도이다. 이하 도 7에 대한 설명에서 도 3에 대한 설명과 중복되는 내용은 생략하도록 한다.
도 7을 참조하면, 단계 710에서, 엣지 데이터 네트워크(130)는 단말(110)로부터 웹 페이지에 대한 접속 요청을 수신할 수 있다.
단계 720에서, 엣지 데이터 네트워크(130)는 웹 페이지의 HTML에 포함된, 웹 페이지를 표시하기 위한 복수의 콘텐츠 각각의 URL을 식별할 수 있다.
단계 730에서, 엣지 데이터 네트워크(130)는 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 엣지 데이터 네트워크(130)가 캐싱하지 않은 제2 콘텐츠를 식별할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는 웹 페이지를 표시하기 위한 복수의 콘텐츠 각각의 URL 및 엣지 데이터 네트워크(130)가 캐싱한 복수의 콘텐츠에 대한 정보에 기초하여, 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 엣지 데이터 네트워크(130)가 캐싱하지 않은 제2 콘텐츠를 식별할 수 있다.
예를 들어, 엣지 데이터 네트워크(130)는 복수의 콘텐츠를 캐싱하여 저장하고 있을 수 있다. 엣지 데이터 네트워크(130)는 복수의 콘텐츠에 대한 정보로서 캐싱된 복수의 콘텐츠 각각의 URL에 대한 정보를 캐싱된 복수의 콘텐츠와 함께 저장하고 있을 수 있다. 엣지 데이터 네트워크(130)는, 웹 페이지를 표시하기 위한 복수의 콘텐츠 각각의 URL 중 캐싱된 복수의 콘텐츠 각각의 URL에 대응되지 않는 제2 URL을 식별할 수 있다.
식별된 제2 URL은 엣지 데이터 네트워크(130)가 캐싱하지 않은 제2 콘텐츠의 URL일 수 있으며, 엣지 데이터 네트워크(130)는 제2 URL을 식별함으로써, 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 엣지 데이터 네트워크(130)가 캐싱하지 않은 제2 콘텐츠를 식별할 수 있다. 이하에서, 제2 콘텐츠는 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 엣지 데이터 네트워크(130)가 캐싱하지 않은 콘텐츠를 지칭하며, 제2 콘텐츠는 복수일 수 있다.
단계 740에서, 엣지 데이터 네트워크(130)는 웹 페이지의 HTML에 포함된 제2 콘텐츠의 URL과 웹 페이지를 제공하는 웹 서버의 IP 주소가 맵핑된 정보를 생성할 수 있다.
일 실시예에 따르면, 제2 콘텐츠의 URL과 웹 페이지를 제공하는 웹 서버의 IP 주소가 맵핑된 정보(이하, 라우팅 정보)는, 단말(110)의 제2 콘텐츠의 URL을 이용한 제2 콘텐츠에 대한 요청을 웹 서버(140)에게 라우팅(routing)하는데 이용될 수 있다. 라우팅은, 네트워크 내의 트래픽(예: 데이터, 정보, 요청 등)의 경로를 설정 또는 변경하는 것을 의미할 수 있다.
예를 들어, 단말(110)은 웹 페이지의 HTML에 포함된 제2 콘텐츠의 URL을 이용하여 제2 콘텐츠에 대한 요청을 할 수 있다. 이 때, DNS 서버(150)의 DNS 테이블에는 제2 콘텐츠의 URL에 포함된 도메인 네임(예: 웹 서버(140)의 도메인 네임)에 대응되는 IP 주소로 엣지 데이터 네트워크(130)의 IP 주소 또는 라우팅 서버의 IP 주소가 맵핑되어 있을 수 있다. 따라서, DNS 테이블에 제2 콘텐츠의 URL과 맵핑된 IP 주소에 따라, 단말(110)은 엣지 데이터 네트워크(130) 또는 엣지 데이터 네트워크(130)와 연결된 라우팅 서버로 제2 콘텐츠에 대한 요청을 할 수 있다. 라우팅 서버는, 엣지 데이터 네트워크(130)와 연결되어, 단말(110) 등으로부터 수신되는 요청, 데이터 등(즉, 트래픽)을 엣지 데이터 네트워크(130)로 라우팅할지 여부를 판단하고, 엣지 데이터 네트워크(130) 또는 다른 서버에게 트래픽을 라우팅하는 서버일 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는 생성된 라우팅 정보를 이용하여, 제2 콘텐츠의 URL을 이용한 제2 콘텐츠에 대한 요청이 웹 서버(140)에게 라우팅 되도록 엣지 데이터 네트워크(130) 내의 트래픽 규칙(traffic rule)을 설정할 수 있다. 이 경우, 단말(110)이 제2 콘텐츠의 URL을 이용하여 엣지 데이터 네트워크(130)에게 제2 콘텐츠를 요청하면, 엣지 데이터 네트워크(130)는 설정된 트래픽 규칙에 따라 단말(110)의 제2 콘텐츠에 대한 요청을 웹 서버(140)에게 전달할 수 있다.
엣지 데이터 네트워크(130)는 생성한 라우팅 정보에 기초하여 트래픽 규칙을 설정함으로써, 엣지 데이터 네트워크(130)가 캐싱하지 않은 제2 콘텐츠에 대한 단말(110)의 요청에 대해 제2 콘텐츠가 캐싱되어 있는지 여부를 판단하는 절차, 요청된 콘텐츠를 캐싱할지 여부를 판단하는 절차, 웹 서버를 통해 요청된 콘텐츠를 획득하는 절차 등을 수행하지 않고, 제2 콘텐츠를 제공하는 웹 서버(140)에게 단말(110)의 요청을 전달하고, 웹 서버(140)로 하여금 단말(110)에게 직접 제2 콘텐츠를 전송하도록 함으로써 지연을 줄일 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는 생성된 라우팅 정보를 이용하여, 제2 콘텐츠의 URL을 이용한 제2 콘텐츠에 대한 요청이 웹 서버(140)에게 라우팅 되도록 엣지 데이터 네트워크(130)와 연결된 라우팅 서버의 트래픽 규칙을 설정할 수 있다. 이 경우, 단말(110)이 제2 콘텐츠의 URL을 이용한 제2 콘텐츠에 대한 요청이 라우팅 서버에게 전달되면, 라우팅 서버는 설정된 트래픽 규칙에 따라 단말(110)의 제2 콘텐츠에 대한 요청을 웹 서버(140)에게 라우팅 할 수 있다.
엣지 데이터 네트워크(130)는 생성한 라우팅 정보에 기초하여 라우팅 서버의 트래픽 규칙을 설정함으로써, 엣지 데이터 네트워크(130)가 캐싱하지 않은 제2 콘텐츠에 대한 단말(110)의 요청이 엣지 데이터 네트워크(130)에게 전달되지 않고 바로 웹 서버(140)에게 전달되도록 함으로써 지연을 줄일 수 있다.
도 8은 본 개시의 일 실시예에 따른 단말이 웹 페이지를 표시하기 위한 단말, 엣지 데이터 네트워크, 및 웹 서버 간의 동작 절차를 나타내는 시퀀스 다이어그램이다. 도 8에 대한 설명에서 도 3 내지 도 7에 대한 설명과 중복되는 내용은 생략하도록 한다.
도 8을 참조하면, 단말(110)은 엣지 데이터 네트워크(130)에게 웹 페이지에 대한 접속을 요청할 수 있다 (단계 801). 엣지 데이터 네트워크(130)는 단말(110)이 요청한 웹 페이지의 HTML을 웹 서버(140)에게 요청할 수 있다 (단계 802). 웹 서버(140)는 엣지 데이터 네트워크(130)가 요청한 웹 페이지의 HTML을 엣지 데이터 네트워크(130)에게 전송할 수 있다 (단계 803).
엣지 데이터 네트워크(130)는 수신한 웹 페이지의 HTML에 포함된 복수의 URL 중 웹 페이지를 표시하기 위한 복수의 콘텐츠 각각의 URL을 식별할 수 있다. 엣지 데이터 네트워크(130)는 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 엣지 데이터 네트워크(130)가 캐싱한 제1 콘텐츠 및 캐싱하지 않은 제2 콘텐츠를 식별할 수 있다 (단계 804).
엣지 데이터 네트워크(130)는 웹 페이지의 HTML에 포함된 제1 콘텐츠의 URL을 제1 콘텐츠가 캐싱된 위치를 나타내는 URL로 변경함으로써, 웹 페이지의 HTML을 변조할 수 있다 (단계 805).
엣지 데이터 네트워크(130)는 웹 페이지의 HTML에 포함된 제2 콘텐츠의 URL과 웹 페이지를 제공하는 웹 서버(140)의 IP 주소가 맵핑된 정보(즉, 라우팅 정보)를 생성할 수 있다. 엣지 데이터 네트워크(130)는 생성된 라우팅 정보에 기초하여, 제2 콘텐츠의 URL을 이용한 제2 콘텐츠에 대한 요청이 웹 서버(140)에게 라우팅 되도록 엣지 데이터 네트워크(130) 또는 엣지 데이터 네트워크(130)와 연결된 라우팅 서버의 트래픽 규칙을 설정할 수 있다 (단계 806).
엣지 데이터 네트워크(130)는 단말(110)에게 제1 콘텐츠의 변경된 URL을 포함하는 웹 페이지의 변조된 HTML을 전송할 수 있다 (단계 807). 단말(110)은 변조된 HTML에 포함된 제1 콘텐츠의 변경된 URL을 이용하여 엣지 데이터 네트워크(130)에게 제1 콘텐츠를 요청할 수 있다 (단계 808). 또한, 단말(110)은 제2 콘텐츠의 URL을 이용하여 제2 콘텐츠를 요청할 수 있으며, 생성된 라우팅 정보에 기초하여 설정된 트래픽 규칙에 따라 웹 서버(140)에게 제2 콘텐츠가 요청될 수 있다 (단계 809).
엣지 데이터 네트워크(130)는 단말(110)의 제1 콘텐츠에 대한 요청에 포함된 제1 콘텐츠가 캐싱된 위치를 나타내는 URL에 포함된 정보에 기초하여, 제1 콘텐츠가 캐싱된 위치를 식별하고, 단말(110)에게 캐싱된 위치에 저장된 제1 콘텐츠를 전송할 수 있다 (단계 810). 웹 서버(140)는 단말(110)의 제2 콘텐츠에 대한 요청에 대한 응답으로, 단말(110)에게 제 2 콘텐츠를 전송할 수 있다 (단계 811).
단말(110)은 웹 페이지의 HTML과 수신한 제1 콘텐츠 및 제2 콘텐츠를 이용하여 웹 페이지를 표시할 수 있다 (단계 812).
도 9는 본 개시의 일 실시예에 따른 엣지 데이터 네트워크가 웹 서버로부터 콘텐츠를 캐싱하는 방법을 나타내는 흐름도이다. 도 9의 실시예는 도 3 내지 도 8의 실시예 이전에 수행될 수 있는, 제1 콘텐츠를 엣지 데이터 네트워크(130)가 캐싱하는 방법을 개시한다.
도 9를 참조하면, 단계 910에서, 엣지 데이터 네트워크(130)는 단말(110)로부터, 웹 페이지에 대한 접속 요청을 수신할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는 단말(110)이 접속을 요청한 웹 페이지의 HTML을 웹 서버(140)에 요청하고, 웹 서버(140)로부터 웹 페이지의 HTML을 수신할 수 있다. 엣지 데이터 네트워크(130)는 수신한 웹 페이지의 HTML에 포함된 웹 페이지를 표시하기 위한 복수의 콘텐츠 각각의 URL에 기초하여, 웹 페이지를 표시하기 위한 복수의 콘텐츠를 식별할 수 있다.
단계 920에서, 엣지 데이터 네트워크(130)는 캐시 규칙에 기초하여, 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 제1 콘텐츠를 캐싱할 콘텐츠로 결정할 수 있다.
일 실시예에 따르면, 캐시 규칙은, 콘텐츠의 크기에 대한 정보, 콘텐츠가 생성된 시점에 대한 정보, 콘텐츠가 요청된 횟수에 대한 정보 중 적어도 하나에 기초하여 설정될 수 있다. 예를 들어, 콘텐츠의 크기가 일정 크기 이상(또는 이하)이면 콘텐츠를 캐싱하도록 캐시 규칙이 설정될 수 있다. 또한, 콘텐츠가 생성된 시점으로부터 현재 시점까지의 기간이 일정 기간 이상이면, 콘텐츠를 캐싱하도록 캐시 규칙이 설정될 수 있다. 또한, 콘텐츠가 일정 횟수 이상 요청되면, 콘텐츠를 캐싱하도록 캐시 규칙이 설정될 수 있다. 콘텐츠가 요청된 횟수는, 콘텐츠가 엣지 데이터 네트워크(130)에게 직접 요청되거나, 콘텐츠를 포함하는 웹 페이지가 엣지 데이터 네트워크(130)게에 요청되었을 경우 증가할 수 있다. 엣지 데이터 네트워크(130)는 요청된 콘텐츠 별로 콘텐츠가 요청된 횟수를 계산하여 저장하고 있을 수 있다. 또한, 복수의 콘텐츠가 캐시 규칙을 만족하더라도, 캐시 규칙에 미리 설정된 우선 순위에 따라 복수의 콘텐츠의 캐싱 우선 순위가 결정될 수 있고, 복수의 콘텐츠 중 일부만이 캐싱될 수 있다. 캐시 규칙은, 엣지 데이터 네트워크(130)가 설정할 수 있으며, 다른 외부 서버에 의해 설정될 수도 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는 웹 페이지를 표시하기 위한 복수의 콘텐츠에 대한 정보(예: 콘텐츠의 URL, HTML에 포함된 콘텐츠에 대한 정보 등)에 기초하여, 웹 페이를 표시하기 위한 복수의 콘텐츠 중 캐시 규칙을 만족하는 콘텐츠(예: 제1 콘텐츠)를 캐싱할 콘텐츠로 결정할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는 캐싱할 콘텐츠로 결정된 제1 콘텐츠와 연결된 콘텐츠(예: 콘텐츠와 링크로 연결된 콘텐츠, 콘텐츠와 링크로 연결된 웹 페이지에 포함된 콘텐츠, 등)를 캐싱할 콘텐츠로 결정할 수 있다. 제1 콘텐츠와 연결된 콘텐츠를 캐싱할지 여부는, 캐시 규칙에 기초하여 결정될 수 있다. 예를 들어, 캐싱하기로 결정된 콘텐츠와 연결된 콘텐츠를 캐싱할지 여부에 대한 캐시 규칙이 설정될 수 있다. 따라서, 엣지 데이터 네트워크(130)는 캐시 규칙에 기초하여 제1 콘텐츠와 함께, 제1 콘텐츠와 연결된 콘텐츠를 캐싱할 콘텐츠로 결정할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는 웹 페이지를 표시하기 위한 복수의 콘텐츠 이외에도, 웹 페이지의 HTML에 포함된 복수의 링크(link)(예: 다른 웹 페이지의 URL)를 통해 연결된 웹 페이지들을 표시하기 위한 콘텐츠를 캐싱할 콘텐츠로 결정할 수 있다. 예를 들어, 웹 페이지의 HTML에 포함된 링크가 요청된 횟수가 일정 횟수 이상이면 링크를 통해 연결된 웹 페이지를 표시하기 위해 필요한 콘텐츠를 캐싱하도록 캐시 규칙이 설정될 수 있다.
단계 930에서, 엣지 데이터 네트워크(130)는 웹 페이지를 제공하는 웹 서버(140)로부터 제1 콘텐츠를 캐싱할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는 캐싱할 콘텐츠로 결정된 제1 콘텐츠를 웹 서버(140)에게 요청할 수 있다. 엣지 데이터 네트워크(130)는 웹 서버(140)로부터 제1 콘텐츠를 수신할 수 있고, 수신한 제1 콘텐츠를 저장할 수 있다. 엣지 데이터 네트워크(130)는 제1 콘텐츠를 엣지 데이터 네트워크(130) 내의 저장 공간, 엣지 데이터 네트워크(130)와 연결된 캐시 서버 등에 저장할 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는 웹 서버(140)로부터 캐싱한 제1 콘텐츠와 함께 제1 콘텐츠에 대한 정보를 저장할 수 있다. 예를 들어, 엣지 데이터 네트워크(130)는 제1 콘텐츠와 함께, 웹 페이지의 HTML에 포함된 제1 콘텐츠의 URL, 웹 서버(140)로부터 수신한 제1 콘텐츠에 대한 정보 등을 저장할 수 있다. 제1 콘텐츠와 함께 저장된 정보는, 엣지 데이터 네트워크(130)가 제1 콘텐츠를 캐싱하였는지 여부를 판단하는데 사용될 수 있다.
일 실시예에 따르면, 엣지 데이터 네트워크(130)는 웹 서버(140)로부터 수신한 제1 콘텐츠를 트랜스 코딩(trans coding)할 수 있다. 엣지 데이터 네트워크(130)는 트랜스 코딩된 제1 콘텐츠를 저장할 수 있다. 트랜스 코딩은, 콘텐츠를 다른 환경에 맞게 가공, 선별, 변환 등을 하는 것을 의미할 수 있다. 본 개시에서 콘텐츠를 트랜스 코딩하는 것은, 단말(110)의 성능, 단말(110)의 웹 브라우저 환경, 단말(110)의 네트워크 상태, 등을 고려하여 콘텐츠의 크기(size), 형식(format), 등을 변환하는 것을 의미할 수 있다. 예를 들어, 엣지 데이터 네트워크(130)는 웹 서버(140)로부터 수신한 제1 콘텐츠의 크기를 단말(110)이 사용하기 용이하게 변환할 수 있다.
엣지 데이터 네트워크(130)는 웹 페이지를 표시하기 위한 콘텐츠를 미리 웹 서버(140)로부터 수신하고, 수신한 콘텐츠를 트랜스 코딩할 수 있으며, 트랜스 코딩된 콘텐츠를 저장할 수 있다. 따라서, 엣지 데이터 네트워크(130)는 단말(110)이 콘텐츠를 요청하였을 때, 저장되어 있는 트랜스 코딩된 콘텐츠를 단말(110)에게 전송할 수 있고, 콘텐츠를 트랜스 코딩하기 위해 발생하는 지연을 줄일 수 있다.
도 10은 본 개시의 일 실시예에 따른 엣지 데이터 네트워크가 웹 서버로부터 콘텐츠를 캐싱하기 위한 단말, 엣지 데이터 네트워크, 및 웹 서버 간의 동작 절차를 나타내는 시퀀스 다이어그램이다. 도 10에 대한 설명에서 도 9에 대한 설명과 중복되는 내용은 생략하도록 한다.
도 10을 참조하면, 단말(110)은 엣지 데이터 네트워크(130)에게 웹 페이지에 대한 접속을 요청할 수 있다 (단계 1001). 엣지 데이터 네트워크(130)는 단말(110)이 요청한 웹 페이지의 HTML을 웹 서버(140)에게 요청할 수 있다 (단계 1002). 웹 서버(140)는 엣지 데이터 네트워크(130)가 요청한 웹 페이지의 HTML을 엣지 데이터 네트워크(130)에게 전송할 수 있다 (단계 1003).
엣지 데이터 네트워크(130)는 수신한 웹 페이지의 HTML에 포함된 복수의 콘텐츠 각각의 URL에 기초하여, 단말(110)이 접속을 요청한 웹 페이지를 표시하기 위한 복수의 콘텐츠를 식별할 수 있다. 엣지 데이터 네트워크(130)는 캐시 규칙에 기초하여, 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 제1 콘텐츠를 캐싱할 콘텐츠로 결정할 수 있다 (단계 1004).
엣지 데이터 네트워크(130)는 웹 서버(140)에게 제1 콘텐츠를 요청할 수 있다 (단계 1005). 웹 서버(140)는 엣지 데이터 네트워크(130)에게 제1 콘텐츠를 전송할 수 있다 (단계 1006).
엣지 데이터 네트워크(130)는 웹 서버(140)로부터 수신한 제1 콘텐츠를 트랜스 코딩할 수 있다 (단계 1007). 단계 1007은 생략될 수도 있다. 엣지 데이터 네트워크(130)는 웹 서버(140)로부터 수신한 제1 콘텐츠를 엣지 데이터 네트워크(130) 내의 저장 공간 또는 엣지 데이터 네트워크(130)와 연결된 캐시 서버에 저장할 수 있다 (단계 1008). 이 때, 엣지 데이터 네트워크(130)가 웹 서버(140)로부터 수신한 제1 콘텐츠를 트랜스 코딩하였다면, 엣지 데이터 네트워크(130)는 트랜스 코딩된 제1 콘텐츠를 저장할 수 있다. 단계 1005 내지 단계 1008은 엣지 데이터 네트워크(130)가 웹 서버(140)로부터 제1 콘텐츠를 캐싱하는 절차를 나타낼 수 있다. 엣지 데이터 네트워크(130)는 단말(110) 등으로부터 제1 콘텐츠에 대한 요청을 수신하면, 저장된(즉, 캐싱된) 제1 콘텐츠를 단말(110) 등에게 전송할 수 있다.
도 11은 본 개시의 일 실시예에 따른 엣지 데이터 네트워크의 구성을 나타내는 블록도이다.
도 11은 본 개시의 일 실시예에 따른 엣지 데이터 네트워크의 구성을 나타내는 블록도이다.
도 11에 도시되는 바와 같이, 본 개시의 엣지 데이터 네트워크(130)는 프로세서(1110), 통신부(1110), 메모리(1130)를 포함할 수 있다. 다만 엣지 데이터 네트워크(130)의 구성 요소가 전술한 예에 한정되는 것은 아니다. 예를 들어, 엣지 데이터 네트워크(130)는 전술한 구성 요소보다 더 많은 구성 요소를 포함하거나 더 적은 구성 요소를 포함할 수 있다. 뿐만 아니라, 프로세서(1110), 통신부(1110) 및 메모리(1120)가 하나의 칩(Chip) 형태로 구현될 수도 있다.
일 실시예에 따르면, 프로세서(1110)는 상술한 본 개시의 실시 예에 따라 엣지 데이터 네트워크(130)가 동작할 수 있는 일련의 과정을 제어할 수 있다. 예를 들면, 본 개시의 실시 예에 따르는 웹 서비스를 제공하는 방법을 수행하도록 엣지 데이터 네트워크(130)의 구성요소들을 제어할 수 있다. 프로세서(1110)는 복수 개일 수 있으며, 프로세서(1110)는 메모리(1130)에 저장된 프로그램을 실행함으로써 전술한 본 개시의 웹 서비스를 제공하기 위한 동작을 수행할 수 있다.
통신부(1120)는 외부 장치(예를 들어, 단말(110), 엑세스 네트워크(120), 서비스 서버(140)(예: 웹 서버) 또는 3GPP 네트워크 등)와 신호를 송수신할 수 있다. 외부 장치와 송수신하는 신호는 제어 정보와, 데이터를 포함할 수 있다. 예를 들어, 외부 장치와 송수신하는 신호는, 단말(110)의 웹 페이지에 대한 접속 요청, 단말(110)에게 전송하는 HTML 및 콘텐츠, 웹 서버(140)로부터 수신하는 웹 페이지의 HTML 및 콘텐츠, 캐시 서버와 송수신하는 신호, 등을 포함할 수 있다. 통신부(1120)는 송신되는 신호의 주파수를 상승 변환 및 증폭하는 RF 송신기와, 수신되는 신호를 저 잡음 증폭하고 주파수를 하강 변환하는 RF 수신기 등으로 구성될 수 있다. 다만, 이는 통신부(1120)는 일 실시예일뿐이며, 통신부(1120)의 구성요소가 RF 송신기 및 RF 수신기에 한정되는 것은 아니다. 또한, 통신부(1120)는 무선 채널을 통해 신호를 수신하여 프로세서(1110)로 출력하고, 프로세서(1110)로부터 출력된 신호를 무선 채널을 통해 전송할 수 있다.
일 실시예에 따르면, 메모리(1130)는 엣지 데이터 네트워크(130)의 동작에 필요한 프로그램 및 데이터를 저장할 수 있다. 또한, 메모리(1130)는 엣지 데이터 네트워크(130)가 송수신하는 신호에 포함된 제어 정보 또는 데이터를 저장할 수 있다. 메모리(1130)는 롬(ROM), 램(RAM), 하드디스크, CD-ROM 및 DVD 등과 같은 저장 매체 또는 저장 매체들의 조합으로 구성될 수 있다. 또한, 메모리(1130)는 복수 개일 수 있다 일 실시예에 따르면, 메모리(1130)는 전술한 본 개시의 실시예들인 웹 서비스를 제공하는 동작을 수행하기 위한 프로그램을 저장할 수 있다. 또한, 메모리(1120)는 캐싱된 콘텐츠, 캐싱된 콘텐츠에 대한 정보, 등을 저장할 수 있다.
본 개시의 청구항 또는 명세서에 기재된 실시예들에 따른 방법들은 하드웨어, 소프트웨어, 또는 하드웨어와 소프트웨어의 조합의 형태로 구현될(implemented) 수 있다.
소프트웨어로 구현하는 경우, 하나 이상의 프로그램(소프트웨어 모듈)을 저장하는 컴퓨터 판독 가능 저장 매체 또는 컴퓨터 프로그램 제품이 제공될 수 있다. 컴퓨터 판독 가능 저장 매체 또는 컴퓨터 프로그램 제품에 저장되는 하나 이상의 프로그램은, 전자 장치(device) 내의 하나 이상의 프로세서에 의해 실행 가능하도록 구성된다(configured for execution). 하나 이상의 프로그램은, 전자 장치로 하여금 본 개시의 청구항 또는 명세서에 기재된 실시 예들에 따른 방법들을 실행하게 하는 명령어(instructions)를 포함한다.
이러한 프로그램(소프트웨어 모듈, 소프트웨어)은 랜덤 액세스 메모리 (random access memory), 플래시(flash) 메모리를 포함하는 불휘발성(non-volatile) 메모리, 롬(ROM: Read Only Memory), 전기적 삭제가능 프로그램가능 롬(EEPROM: Electrically Erasable Programmable Read Only Memory), 자기 디스크 저장 장치(magnetic disc storage device), 컴팩트 디스크 롬(CD-ROM: Compact Disc-ROM), 디지털 다목적 디스크(DVDs: Digital Versatile Discs) 또는 다른 형태의 광학 저장 장치, 마그네틱 카세트(magnetic cassette)에 저장될 수 있다. 또는, 이들의 일부 또는 전부의 조합으로 구성된 메모리에 저장될 수 있다. 또한, 각각의 구성 메모리는 다수 개 포함될 수도 있다.
또한, 프로그램은 인터넷(Internet), 인트라넷(Intranet), LAN(Local Area Network), WLAN(Wide LAN), 또는 SAN(Storage Area Network)과 같은 통신 네트워크, 또는 이들의 조합으로 구성된 통신 네트워크를 통하여 접근(access)할 수 있는 부착 가능한(attachable) 저장 장치(storage device)에 저장될 수 있다. 이러한 저장 장치는 외부 포트를 통하여 본 개시의 실시예를 수행하는 장치에 접속할 수 있다. 또한, 통신 네트워크 상의 별도의 저장 장치가 본 개시의 실시예를 수행하는 장치에 접속할 수도 있다.
본 개시에서, 용어 "컴퓨터 프로그램 제품(computer program product)" 또는 "컴퓨터로 읽을 수 있는 기록매체(computer readable medium)"는 메모리, 하드 디스크 드라이브에 설치된 하드 디스크, 및 신호 등의 매체를 전체적으로 지칭하기 위해 사용된다. 이들 "컴퓨터 프로그램 제품" 또는 "컴퓨터로 읽을 수 있는 기록매체"는 본 개시에 따른 스트리밍 서비스와 관련된 복수의 콘텐츠를 캐싱하고, 단말로부터 단말에 대응하는 콘텐츠 목록을 요청하는 메시지를 수신하고, 콘텐츠 목록을 요청하는 메시지에 기초하여 캐싱된 복수의 콘텐츠 중 단말에 대응하는 콘텐츠 목록을 결정하고, 결정된 콘텐츠 목록을 단말로 전송하고, 단말로부터 콘텐츠 목록 중 선택된 적어도 하나의 콘텐츠에 대한 재생 요청 메시지를 수신하고, 재생 요청 메시지에 기초하여 적어도 하나의 콘텐츠에 대한 데이터를 단말에게 제공하기 위한 명령어로 구성된 소프트웨어 컴퓨터 시스템에 제공하는 수단이다.
상술한 본 개시의 구체적인 실시예들에서, 본 개시에 포함되는 구성 요소는 제시된 구체적인 실시예에 따라 단수 또는 복수로 표현되었다. 그러나, 단수 또는 복수의 표현은 설명의 편의를 위해 제시한 상황에 적합하게 선택된 것으로서, 본 개시가 단수 또는 복수의 구성 요소에 제한되는 것은 아니며, 복수로 표현된 구성 요소라 하더라도 단수로 구성되거나, 단수로 표현된 구성 요소라 하더라도 복수로 구성될 수 있다.
한편 본 개시의 상세한 설명에서는 구체적인 실시 예에 관해 설명하였으나, 본 개시의 범위에서 벗어나지 않는 한도 내에서 여러 가지 변형이 가능함은 물론이다. 그러므로 본 개시의 범위는 설명된 실시 예에 국한되어 정해져서는 아니 되며 후술하는 특허청구의 범위뿐만 아니라 이 특허청구의 범위와 균등한 것들에 의해 정해져야 한다.

Claims (20)

  1. 엣지 데이터 네트워크(edge data network)가 단말에게 웹 서비스를 제공하는 방법에 있어서,
    단말로부터 웹 페이지에 대한 접속 요청을 수신하는 단계;
    상기 웹 페이지의 HTML(hyper text markup language)에 포함된, 상기 웹 페이지를 표시하기 위한 복수의 콘텐츠(content) 각각의 URL을 식별하는 단계;
    상기 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 상기 엣지 데이터 네트워크가 캐싱한 제1 콘텐츠를 식별하는 단계;
    상기 복수의 콘텐츠 각각의 URL 중 상기 제1 콘텐츠의 URL을 상기 제1 콘텐츠가 캐싱된 위치를 나타내는 URL로 변경함으로써, 상기 HTML을 변조하는 단계; 및
    상기 단말에게 상기 제1 콘텐츠의 변경된 URL을 포함하는 상기 변조된 HTML을 전송하는 단계를 포함하는, 방법.
  2. 제1 항에 있어서,
    상기 제1 콘텐츠의 URL을 상기 제1 콘텐츠가 캐싱된 위치를 나타내는 URL로 변경하는 단계는,
    상기 제1 콘텐츠의 URL에 포함된 상기 제1 콘텐츠의 위치를 나타내는 정보를, 상기 제1 콘텐츠가 캐싱된 위치를 나타내는 정보로 변경하는 것이고,
    상기 변경된 제1 콘텐츠의 URL은, 상기 제1 콘텐츠가 캐싱된 위치를 나타내는 정보를 포함하는 것인, 방법.
  3. 제2 항에 있어서,
    상기 제1 콘텐츠가 캐싱된 위치를 나타내는 정보는, 상기 제1 콘텐츠가 캐싱된 위치를 나타내는 도메인 네임(domain name), 포트 번호, 또는 파일 디렉토리 중 적어도 하나를 포함하는, 방법.
  4. 제2 항에 있어서,
    상기 제1 콘텐츠는, 상기 엣지 데이터 네트워크 또는 상기 엣지 데이터 네트워크와 연결된 다른 엣지 네트워크에 캐싱된 것이고,
    상기 제1 콘텐츠가 캐싱된 위치를 나타내는 정보는, 상기 엣지 데이터 네트워크의 도메인 네임을 포함하고,
    상기 제1 콘텐츠의 URL을 상기 제1 콘텐츠가 캐싱된 위치를 나타내는 URL로 변경하는 단계는,
    상기 제1 콘텐츠의 URL에 포함된 도메인 네임을 상기 엣지 데이터 네트워크의 도메인 네임으로 변경하는 단계를 포함하는 것인, 방법.
  5. 제2 항에 있어서,
    상기 단말로부터, 상기 제1 콘텐츠의 변경된 URL을 포함하는 상기 제1 콘텐츠에 대한 요청을 수신하는 단계; 및
    상기 단말에게, 상기 제1 콘텐츠의 변경된 URL에 포함된 상기 제1 콘텐츠가 캐싱된 위치를 나타내는 정보에 기초하여, 상기 제1 콘텐츠를 전송하는 단계를 더 포함하는, 방법.
  6. 제1 항에 있어서,
    상기 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 상기 엣지 데이터 네트워크가 캐싱하지 않은 제2 콘텐츠를 식별하는 단계; 및
    상기 HTML에 포함된 상기 제2 콘텐츠의 URL과 상기 웹 페이지를 제공하는 웹 서버의 IP(internet protocol) 주소가 맵핑된 정보를 생성하는 단계를 더 포함하고,
    상기 생성된 정보는, 상기 단말의 상기 제2 콘텐츠의 URL을 이용한 상기 제2 콘텐츠에 대한 요청을 상기 웹 서버에게 라우팅(routing)하는데 이용되는 것인, 방법.
  7. 제1 항에 있어서,
    캐시 규칙에 기초하여, 상기 복수의 콘텐츠 중 상기 제1 콘텐츠를 캐싱할 콘텐츠로 결정하는 단계; 및
    상기 웹 페이지를 제공하는 웹 서버로부터, 상기 제1 콘텐츠를 캐싱하는 단계를 더 포함하고,
    상기 캐시 규칙은 콘텐츠의 크기에 대한 정보, 콘텐츠가 생성된 시점에 대한 정보, 또는 상기 엣지 데이터 네트워크에게 콘텐츠가 요청된 횟수에 대한 정보 중 적어도 하나에 기초하여 설정되는 것인, 방법.
  8. 제7 항에 있어서, 상기 제1 콘텐츠를 캐싱하는 단계는,
    상기 웹 서버에게 상기 제1 콘텐츠를 요청하는 단계;
    상기 웹 서버로부터 상기 제1 콘텐츠를 수신하는 단계; 및
    상기 제1 콘텐츠를 저장하는 단계를 포함하는 것인, 방법.
  9. 제8 항에 있어서,
    상기 제1 콘텐츠를 캐싱하는 단계는,
    상기 제1 콘텐츠를 트랜스 코딩(transcoding)하는 단계를 더 포함하고,
    상기 제1 콘텐츠를 저장하는 단계는,
    상기 트랜스 코딩된 제1 콘텐츠를 저장하는 것인, 방법.
  10. 제1 항에 있어서,
    상기 엣지 데이터 네트워크가 캐싱한 제1 콘텐츠를 식별하는 단계는,
    상기 웹 페이지를 표시하기 위한 복수의 콘텐츠 각각의 URL 및 상기 엣지 데이터 네트워크가 캐싱한 복수의 콘텐츠에 대한 정보에 기초하여, 상기 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 상기 엣지 데이터 네트워크가 캐싱한 제1 콘텐츠를 식별하는 것인, 방법.
  11. 단말에게 웹 서비스를 제공하는 엣지 데이터 네트워크(edge data network)에 있어서,
    통신부;
    복수의 인스트럭션들을 저장하는 메모리; 및
    상기 인스트럭션들을 실행하는 프로세서를 포함하고, 상기 프로세서는,
    단말로부터 웹 페이지에 대한 접속 요청을 수신하고,
    상기 웹 페이지의 HTML(hyper text markup language)에 포함된, 상기 웹 페이지를 표시하기 위한 복수의 콘텐츠(content) 각각의 URL을 식별하고,
    상기 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 상기 엣지 데이터 네트워크가 캐싱한 제1 콘텐츠를 식별하고,
    상기 복수의 콘텐츠 각각의 URL 중 상기 제1 콘텐츠의 URL을 상기 제1 콘텐츠가 캐싱된 위치를 나타내는 URL로 변경함으로써, 상기 HTML을 변조하고,
    상기 단말에게 상기 제1 콘텐츠의 변경된 URL을 포함하는 상기 변조된 HTML을 전송하는, 엣지 데이터 네트워크.
  12. 제11 항에 있어서, 상기 프로세서는,
    상기 제1 콘텐츠의 URL에 포함된 상기 제1 콘텐츠의 위치를 나타내는 정보를, 상기 제1 콘텐츠가 캐싱된 위치를 나타내는 정보로 변경하며,
    상기 변경된 제1 콘텐츠의 URL은, 상기 제1 콘텐츠가 캐싱된 위치를 나타내는 정보를 포함하는 것인, 엣지 데이터 네트워크.
  13. 제12 항에 있어서,
    상기 제1 콘텐츠가 캐싱된 위치를 나타내는 정보는, 상기 제1 콘텐츠가 캐싱된 위치를 나타내는 도메인 네임(domain name), 포트 번호, 또는 파일 디렉토리 중 적어도 하나를 포함하는, 엣지 데이터 네트워크.
  14. 제12 항에 있어서,
    상기 제1 콘텐츠는, 상기 엣지 데이터 네트워크 또는 상기 엣지 데이터 네트워크와 연결된 다른 엣지 네트워크에 캐싱된 것이고,
    상기 제1 콘텐츠가 캐싱된 위치를 나타내는 정보는, 상기 엣지 데이터 네트워크의 도메인 네임을 포함하고,
    상기 프로세서는,
    상기 제1 콘텐츠의 URL에 포함된 도메인 네임을 상기 엣지 데이터 네트워크의 도메인 네임으로 변경하는, 엣지 데이터 네트워크.
  15. 제12 항에 있어서,
    상기 프로세서는,
    상기 단말로부터, 상기 제1 콘텐츠의 변경된 URL을 포함하는 상기 제1 콘텐츠에 대한 요청을 수신하고,
    상기 단말에게, 상기 제1 콘텐츠의 변경된 URL에 포함된 상기 제1 콘텐츠가 캐싱된 위치를 나타내는 정보에 기초하여, 상기 제1 콘텐츠를 전송하는, 엣지 데이터 네트워크.
  16. 제11 항에 있어서,
    상기 프로세서는,
    상기 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 상기 엣지 데이터 네트워크가 캐싱하지 않은 제2 콘텐츠를 식별하고,
    상기 HTML에 포함된 상기 제2 콘텐츠의 URL과 상기 웹 페이지를 제공하는 웹 서버의 IP(internet protocol) 주소가 맵핑된 정보를 생성하며,
    상기 생성된 정보는, 상기 단말의 상기 제2 콘텐츠의 URL을 이용한 상기 제2 콘텐츠에 대한 요청을 상기 웹 서버에게 라우팅(routing)하는데 이용되는 것인, 엣지 데이터 네트워크.
  17. 제11 항에 있어서,
    상기 프로세서는,
    캐시 규칙에 기초하여, 상기 복수의 콘텐츠 중 상기 제1 콘텐츠를 캐싱할 콘텐츠로 결정하고,
    상기 웹 페이지를 제공하는 웹 서버로부터, 상기 제1 콘텐츠를 캐싱하며,
    상기 캐시 규칙은, 콘텐츠의 크기에 대한 정보, 콘텐츠가 생성된 시점에 대한 정보, 또는 상기 엣지 데이터 네트워크에게 콘텐츠가 요청된 횟수에 대한 정보 중 적어도 하나에 기초하여 설정되는 것인, 엣지 데이터 네트워크.
  18. 제17 항에 있어서,
    상기 프로세서는,
    상기 웹 서버에게 상기 제1 콘텐츠를 요청하고,
    상기 웹 서버로부터 상기 제1 콘텐츠를 수신하며,
    상기 제1 콘텐츠를 저장하는, 엣지 데이터 네트워크.
  19. 제18 항에 있어서,
    상기 프로세서는,
    상기 제1 콘텐츠를 캐싱하는 단계는, 상기 제1 콘텐츠를 트랜스 코딩(transcoding)하고,
    상기 트랜스 코딩된 제1 콘텐츠를 저장하는, 엣지 데이터 네트워크.
  20. 제11 항에 있어서,
    상기 프로세서는,
    상기 웹 페이지를 표시하기 위한 복수의 콘텐츠 각각의 URL 및 상기 엣지 데이터 네트워크가 캐싱한 복수의 콘텐츠에 대한 정보에 기초하여, 상기 웹 페이지를 표시하기 위한 복수의 콘텐츠 중 상기 엣지 데이터 네트워크가 캐싱한 제1 콘텐츠를 식별하는, 엣지 데이터 네트워크.
KR1020190142997A 2019-11-08 2019-11-08 엣지 컴퓨팅 서비스를 이용하여 웹 서비스를 제공하기 위한 방법 및 장치 KR20210056180A (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
KR1020190142997A KR20210056180A (ko) 2019-11-08 2019-11-08 엣지 컴퓨팅 서비스를 이용하여 웹 서비스를 제공하기 위한 방법 및 장치
US17/090,004 US11122106B2 (en) 2019-11-08 2020-11-05 Method and apparatus for providing web service using edge computing service

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020190142997A KR20210056180A (ko) 2019-11-08 2019-11-08 엣지 컴퓨팅 서비스를 이용하여 웹 서비스를 제공하기 위한 방법 및 장치

Publications (1)

Publication Number Publication Date
KR20210056180A true KR20210056180A (ko) 2021-05-18

Family

ID=75847258

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020190142997A KR20210056180A (ko) 2019-11-08 2019-11-08 엣지 컴퓨팅 서비스를 이용하여 웹 서비스를 제공하기 위한 방법 및 장치

Country Status (2)

Country Link
US (1) US11122106B2 (ko)
KR (1) KR20210056180A (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220035344A (ko) 2022-03-02 2022-03-22 주식회사 에즈원시스템 데이터 트래픽 모니터링 및 네트워크 트래픽 라우팅을 제어하는 시스템
KR20220043078A (ko) 2022-03-02 2022-04-05 주식회사 에즈원시스템 효율적인 분산처리를 위한 엣지 컴퓨팅 시스템

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10327164B2 (en) * 2015-10-29 2019-06-18 Cable Television Laboratories, Inc. Multichannel communication systems
US12039051B2 (en) 2022-07-05 2024-07-16 Insight Direct Usa, Inc. Efficiently delivering firmware to be installed in a plurality of remotely located engine-control computers

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8589561B2 (en) * 2005-03-22 2013-11-19 Alcatel Lucent Session level technique for improving web browsing performance on low speed links
US7921259B2 (en) * 2007-09-07 2011-04-05 Edgecast Networks, Inc. Content network global replacement policy
US8135840B2 (en) * 2008-11-20 2012-03-13 At&T Intellectual Property I, Lp Systems and methods for directing content requests to servers
US10230812B1 (en) * 2016-01-29 2019-03-12 Amazon Technologies, Inc. Dynamic allocation of subtitle packaging
US10015695B2 (en) 2016-06-23 2018-07-03 Telefonaktiebolaget L M Ericsson (Publ) Allocation of content to mobile edge node caches
WO2018137149A1 (zh) 2017-01-24 2018-08-02 华为技术有限公司 一种内容请求方法及代理设备
CA3058156A1 (en) 2017-03-30 2018-10-04 Blonder Tongue Laboratories, Inc. Enterprise content gateway

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220035344A (ko) 2022-03-02 2022-03-22 주식회사 에즈원시스템 데이터 트래픽 모니터링 및 네트워크 트래픽 라우팅을 제어하는 시스템
KR20220043078A (ko) 2022-03-02 2022-04-05 주식회사 에즈원시스템 효율적인 분산처리를 위한 엣지 컴퓨팅 시스템

Also Published As

Publication number Publication date
US11122106B2 (en) 2021-09-14
US20210144192A1 (en) 2021-05-13

Similar Documents

Publication Publication Date Title
US10791190B2 (en) Systems and methods for avoiding server push of objects already cached at a client
KR20210056180A (ko) 엣지 컴퓨팅 서비스를 이용하여 웹 서비스를 제공하기 위한 방법 및 장치
US9871850B1 (en) Enhanced browsing using CDN routing capabilities
KR101330052B1 (ko) 적응형 컨텐츠 전송 방식을 지원하는 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
US20130103791A1 (en) Optimizing content delivery over a protocol that enables request multiplexing and flow control
US11064043B2 (en) System and method for providing an adjunct device in a content distribution network
US11159642B2 (en) Site and page specific resource prioritization
US20170041422A1 (en) Method and system for retrieving a content manifest in a network
US20170019506A1 (en) Spdy-based web acceleration method and spdy proxy therefor
US9876841B2 (en) Context-aware content delivery
CN105493462B (zh) 一种内容分发方法、装置和系统
CN110958279B (zh) 一种数据处理方法及其装置
CN106411978B (zh) 一种资源缓存方法及装置
EP2850809B1 (en) Providing data to a network terminal
Pathan Cloud‐Based Content Delivery and Streaming
WO2012163177A1 (zh) 多媒体文件的处理方法及通信系统中的网络侧设备
CN106790176B (zh) 一种访问网络的方法及系统
CN117579288A (zh) 握手复用方法、设备以及计算机可读介质
JP6081846B2 (ja) Webコンテンツの配信装置
KR101888982B1 (ko) 적응형 컨텐츠 제공을 위한 컨텐츠 캐싱 서비스 제공 방법 및 이를 위한 로컬 캐싱 장치
CN110555180A (zh) 一种Web页面对象请求方法和HTTPS请求响应方法
JP6054799B2 (ja) Webコンテンツの配信装置
JP6081845B2 (ja) Webコンテンツの配信装置
KR20150045891A (ko) 스트리밍 콘텐츠를 제공하는 방법 및 장치
CN113453062A (zh) 视频元数据的获取、处理方法及装置、系统、电子设备