모바일 네트워크에서 SDN/NFV 기반의 웹 성능 향상을 위한 웹 캐시 일관성 제공과 JavaScript 전송 가속화 방안 SDN/NFV Based Web Cache Consistency and JavaScript Transmission Acceleration Scheme to Enhance Web Performance in Mobile Network원문보기
웹 페이지를 구성하는 리소소의 개수와 크기가 점점 증가하고 있으며, 이는 상대적으로 지연이 큰 모바일 네트워크에서 웹 서비스의 급격한 품질 저하로 이어지고 있다. 게다가 현재의 네트워크 구조는 폐쇄적인 구조를 가지고 있기 때문에 웹 서비스의 품질을 향상시키는 프로토콜을 개발할지라도 네트워크 기능으로 제공하기 어렵다는 문제가 있다. 본 논문에서는 모바일 네트워크에서 웹 성능을 향상시키기 위한 2가지 방안으로 Check Coded DOM 방안과 Functional JavaScript 전송 방안을 제안하고, NFV(Network Function Virtualization)를 활용하여 제안 방안이 네트워크 기능으로 제공될 수 있는 방안 모색 해본다. SMPL 라이브러리를 이용한 네트워크 시뮬레이션을 통해서 제안 방안의 성능을 평가하고 분석했으며, 제안 방안이 기존 HTTP 프로토콜보다 페이지 로딩 시간, 네트워크에 발생하는 메시지의 개수, 네트워크에 발생하는 트래픽 측면에서 향상된 성능을 제공함을 확인 할 수 있었다.
웹 페이지를 구성하는 리소소의 개수와 크기가 점점 증가하고 있으며, 이는 상대적으로 지연이 큰 모바일 네트워크에서 웹 서비스의 급격한 품질 저하로 이어지고 있다. 게다가 현재의 네트워크 구조는 폐쇄적인 구조를 가지고 있기 때문에 웹 서비스의 품질을 향상시키는 프로토콜을 개발할지라도 네트워크 기능으로 제공하기 어렵다는 문제가 있다. 본 논문에서는 모바일 네트워크에서 웹 성능을 향상시키기 위한 2가지 방안으로 Check Coded DOM 방안과 Functional JavaScript 전송 방안을 제안하고, NFV(Network Function Virtualization)를 활용하여 제안 방안이 네트워크 기능으로 제공될 수 있는 방안 모색 해본다. SMPL 라이브러리를 이용한 네트워크 시뮬레이션을 통해서 제안 방안의 성능을 평가하고 분석했으며, 제안 방안이 기존 HTTP 프로토콜보다 페이지 로딩 시간, 네트워크에 발생하는 메시지의 개수, 네트워크에 발생하는 트래픽 측면에서 향상된 성능을 제공함을 확인 할 수 있었다.
The number and size of resource constituting the web page has been increasing steadily, and this circumstance leads to rapidly falling quality of web service in mobile network that offer relatively higher delay. Moreover, Improving the quality of a web services protocol is difficult to provide netwo...
The number and size of resource constituting the web page has been increasing steadily, and this circumstance leads to rapidly falling quality of web service in mobile network that offer relatively higher delay. Moreover, Improving the quality of a web services protocol is difficult to provide network function because the current network architecture has closed structure. In this paper, we suggest schemes to enhance web performance in mobile network, which are Check Coded DOM scheme and Functional JavaScript Transmission scheme, and then try to seek idea which can be provided suggested schemes as a network function using NFV(Network Function Virtualization). For the performance evaluation and analysis about the suggested schemes, we perform network simulation using SMPL library. We confirm that suggested schemes offer better performance in term of page loading time, the number of message and the amount of traffic in the network than HTTP Protocol.
The number and size of resource constituting the web page has been increasing steadily, and this circumstance leads to rapidly falling quality of web service in mobile network that offer relatively higher delay. Moreover, Improving the quality of a web services protocol is difficult to provide network function because the current network architecture has closed structure. In this paper, we suggest schemes to enhance web performance in mobile network, which are Check Coded DOM scheme and Functional JavaScript Transmission scheme, and then try to seek idea which can be provided suggested schemes as a network function using NFV(Network Function Virtualization). For the performance evaluation and analysis about the suggested schemes, we perform network simulation using SMPL library. We confirm that suggested schemes offer better performance in term of page loading time, the number of message and the amount of traffic in the network than HTTP Protocol.
* AI 자동 식별 결과로 적합하지 않은 문장이 있을 수 있으니, 이용에 유의하시기 바랍니다.
문제 정의
본 논문에서는 상대적으로 지연이 큰 모바일 네트워크에서 웹 성능을 향상시키기 위한 Check Coded DOM과 Functional JavaScript 전송 방안을 제안했다. 또 제안 방안을 네트워크 기능으로 제공할 수 있는 HTTP 스위칭 네트워크 구조를 제안하고, 이를 실현하기 위한 NFV 장비 구조를 모색해 보았다.
본 논문에서는 지연이 큰 모바일 네트워크에서 페이지 로딩 시간을 줄이기 위한 방안으로, 웹 페이지와 웹페이지를 구성하는 리소스들 간의 상관관계를 고려하여 웹 리소스의 변경 유무 확인 절차를 감소시키는 방안과 JavaScript의 재사용성을 고려하여 변경된 JavaScript 코드를 함수 단위로 전송함으로써 JavaScript 전송을 가속화하는 방안을 제안한다. 또 NFV를 활용하여 제안 방안이 네트워크 기능으로 제공될 수 있도록 하는 방안을 모색해 보고, 시뮬레이션을 통해서 제안 방안의 성능 평가 및 분석을 수행한다.
본 방안은 JavaScript의 재사용성을 고려하여 변경된 함수 코드, 함수 변경 정보, 버전 정보를 보냄으로써 전송되는 JavaScript의 크기를 줄이는 방안이다.
본 방안은 서버가 메인 웹 페이지에 웹 페이지를 구성하는 리소스들의 체크코드를 생성하여 삽입함으로써, 클라이언트가 메인 웹 페이지 수신만으로 웹 페이지를 구성하는 리소스의 변경 유무를 확인할 수 있는 방안이다.
본 연구에서는 사전에 네트워크의 스위치를 NFV로 구현하고, 해당 NFV에서 HTTP 서비스를 인식하여, HTTP 정보 레벨에서 스위칭을 수행하는 HTTP Switching 개념을 기반으로 동작하는 새로운 개념의 네트워크를 제안한다. 그리고 해당 HTTP Switching을 지원하는 네트워크 장비에서 HTTP 서비스의 성능을 개선하는 세부적인 방안을 제안하도록 한다.
이와 같이 사용자의 다양한 요구사항 만족시키고 향상된 서비스 품질을 제공하기 어려운 네트워크 환경에서, 웹 서비스의 품질을 향상시키는 방안을 제안하고, NFV를 활용하여 제안 방안을 네트워크 기능으로 실현 하는 방안에 대해서 모색해 보려 한다. 웹 성능을 향상시킴에 있어 지연은 가장 중요한 요소이다.
제안 방법
기존 HTTP 프로토콜을 시뮬레이션 할 경우에는 NFV 네트워크 장비가 라우팅 기능만 가상화하고, 제안 방안을 시뮬레이션 할 경우에는 NFV 네트워크 장비가 Check Coded DOM과 Functional JavaScript Transmission 기능을 가상화하여 제공하는 것으로 한다. 4G 모바일 네트워크는 2013년 2월을 기준으로 사용자에게 실제로 제공되고 있는 평균 대역폭과 지연시간을 고려하여, 10 Mbps의 대역폭과 90 ms의 지연시간을 시뮬레이션에 적용했다[2]. 웹 페이지의 크기 및 리소스의 개수는 Naver, Daum 등의 메인 웹 페이지를 실제로 분석하여 시뮬레이션에 적용했으며, 메인 웹 페이지의 크기는 2000 Byte, 웹페이지를 구성하는 리소스의 개수는 30개로 설정하였다.
. Gzip 압축률은 파일의 내용과 크기에 무관하게 평균적으로 기대할 수 있는 Gzip의 압축 효율로 30%를 적용했다[20]. 이와 같이 시뮬레이션에 사용된 파라미터는 표 1과 같다.
본 연구에서는 사전에 네트워크의 스위치를 NFV로 구현하고, 해당 NFV에서 HTTP 서비스를 인식하여, HTTP 정보 레벨에서 스위칭을 수행하는 HTTP Switching 개념을 기반으로 동작하는 새로운 개념의 네트워크를 제안한다. 그리고 해당 HTTP Switching을 지원하는 네트워크 장비에서 HTTP 서비스의 성능을 개선하는 세부적인 방안을 제안하도록 한다. HTTP Switching을 지원하는 장비들로 구성한 Switched HTTP Network (SHTTP) 구조가 그림 3에 나타나 있다[15].
캐시 적중률을 100%에서 10%까지 감소시키면서 기존의 HTTP 프로토콜과 제안 방안에 대해서 성능 평가를 수행했다. 난수를 발생시켜 각 케이스마다 16번씩 시뮬레이션을 수행하고, 측정된 값의 평균을 결과 값으로 사용했다.
본 논문에서는 지연이 큰 모바일 네트워크에서 페이지 로딩 시간을 줄이기 위한 방안으로, 웹 페이지와 웹페이지를 구성하는 리소스들 간의 상관관계를 고려하여 웹 리소스의 변경 유무 확인 절차를 감소시키는 방안과 JavaScript의 재사용성을 고려하여 변경된 JavaScript 코드를 함수 단위로 전송함으로써 JavaScript 전송을 가속화하는 방안을 제안한다. 또 NFV를 활용하여 제안 방안이 네트워크 기능으로 제공될 수 있도록 하는 방안을 모색해 보고, 시뮬레이션을 통해서 제안 방안의 성능 평가 및 분석을 수행한다.
본 논문에서는 상대적으로 지연이 큰 모바일 네트워크에서 웹 성능을 향상시키기 위한 Check Coded DOM과 Functional JavaScript 전송 방안을 제안했다. 또 제안 방안을 네트워크 기능으로 제공할 수 있는 HTTP 스위칭 네트워크 구조를 제안하고, 이를 실현하기 위한 NFV 장비 구조를 모색해 보았다. Check Coded DOM 방안은 변경되지 않은 리소스에 대해서 변경 유무를 확인하는 절차를 감소시키고, Functional JavaScript 전송 방안은 전송되는 JavaScript의 재사용 성을 고려하여 전송되는 JavaScript의 크기를 줄임으로써 웹 성능을 향상시킴을 시뮬레이션을 통해서 확인할 수 있었다.
제안 방안의 성능을 평가하기 위해서 SMPL 라이브러리를 이용한 네트워크 시뮬레이션을 수행한다[21]. 시뮬레이션 시나리오는 클라이언트가 다수의 JavaScript를 포함하는 웹 페이지를 서버에게 요청하여 응답 받는 시나리오로, 기존 HTTP 프로토콜과 제안 방안에 동일하게 적용된다.
대상 데이터
초기 웹 페이지 생성 과정이므로, 에인 서버는 각 리소스의 src 속성에 작성되어 있는 URL을 이용해 리소스 ID를 요청한다. 서버 1과 서버 2는 해당 리소스에 대해서 20바이트의 체크코드를 응답한다. 모든 리소스의 체크코드를 응답 받은 메인 서버는, 각 리소스에 해당하는 DOM 객체에 id 속성을 추가하고, id 속성 값에 체크코드를 입력한다.
4G 모바일 네트워크는 2013년 2월을 기준으로 사용자에게 실제로 제공되고 있는 평균 대역폭과 지연시간을 고려하여, 10 Mbps의 대역폭과 90 ms의 지연시간을 시뮬레이션에 적용했다[2]. 웹 페이지의 크기 및 리소스의 개수는 Naver, Daum 등의 메인 웹 페이지를 실제로 분석하여 시뮬레이션에 적용했으며, 메인 웹 페이지의 크기는 2000 Byte, 웹페이지를 구성하는 리소스의 개수는 30개로 설정하였다. 웹 페이지를 구성하는 JavaScript의 크기는 html로 작성되는 메인 웹 페이지보다 훨씬 크며, 시간이 지남에 따라 JavaScript 크기의 증가폭이 점점 커지고 있음을 고려하여, 평균 1MB로 지수분포를 가지도록 하였다[13,14].
이론/모형
서버에서 JavaScript 가 생성되면, JavaScript 코드를 함수 단위로 분할한다. 분할된 함수 코드를 입력 값으로 사용하여 SHA-1 알고리즘을 이용해 20 byte의 Function ID를 생성한다. Function & ID TABLE에 함수 이름과 그에 해당하는 Function ID를 삽입하여 테이블을 완성한다.
시뮬레이션 시나리오는 클라이언트가 다수의 JavaScript를 포함하는 웹 페이지를 서버에게 요청하여 응답 받는 시나리오로, 기존 HTTP 프로토콜과 제안 방안에 동일하게 적용된다. 클라이언트는 웹 페이지를 요청하고 수신이 완료되면 웹 페이지를 구성하는 리소스들을 차례대로 요청하고 수신하는 Polling-every-time 방식을 사용한다. 이와 같은 시나리오에서 Check Code DOM 방안과 HTTP 프로토콜의 성능을 비교할 경우에는 Gzip을 적용하지 않고, Functional JavaScript 전송 방안과 HTTP 프로토콜의 성능을 비교할 경우에는 Gzip을 적용하여 시뮬레이션을 실시한다.
성능/효과
또 Check Coded DOM 방안은 Resource ID만큼 트래픽이 증가하지만 변경되지 않은 리소스를 요청하는 HTTP 요청 메시지와 이에 대한 응답 메시지인 Not Modified 메시지를 발생시키지 않기 때문에, 트래픽을 감소시키는 효과를 얻을 수 있다. Check Coded DOM 방안은 기존 HTTP 프로토콜 대비 페이지 로딩 시간을 평균 28.49%, 네트워크에 발생하는 메시지의 개수를 평균 54.03%, 네트워크에 발생하는 트래픽을 평균 8.93%감소시킨다.
또 제안 방안을 네트워크 기능으로 제공할 수 있는 HTTP 스위칭 네트워크 구조를 제안하고, 이를 실현하기 위한 NFV 장비 구조를 모색해 보았다. Check Coded DOM 방안은 변경되지 않은 리소스에 대해서 변경 유무를 확인하는 절차를 감소시키고, Functional JavaScript 전송 방안은 전송되는 JavaScript의 재사용 성을 고려하여 전송되는 JavaScript의 크기를 줄임으로써 웹 성능을 향상시킴을 시뮬레이션을 통해서 확인할 수 있었다. 더 나아가 NFV를 통해서 새로운 요구사항을 반영한 프로토콜을 네트워크 기능으로써 유연하고 제공할 수 있는 방안을 모색해 봄으로써, 새로운 네트워크 장비를 추가하지 않고 소프트웨어 개발만으로 네트워크 기능을 확장할 수 있음을 확인해 볼 수 있었다.
특히 캐시 적중률이 감소할수록 높은 비율로 성능이 향상되며, 그 이유는 JavaScript 코드의 변경된 부분만 전송하는 기회가 증가하기 때문이다. Functional JavaScript 전송 방안은 기존 HTTP 프로토콜 대비 페이지 로딩 시간을 평균 35.55%, 네트워크에 발생하는 트래픽을 평균 62.73%감소시킴을 확인 할 수 있다.
Check Coded DOM 방안은 변경되지 않은 리소스에 대해서 변경 유무를 확인하는 절차를 감소시키고, Functional JavaScript 전송 방안은 전송되는 JavaScript의 재사용 성을 고려하여 전송되는 JavaScript의 크기를 줄임으로써 웹 성능을 향상시킴을 시뮬레이션을 통해서 확인할 수 있었다. 더 나아가 NFV를 통해서 새로운 요구사항을 반영한 프로토콜을 네트워크 기능으로써 유연하고 제공할 수 있는 방안을 모색해 봄으로써, 새로운 네트워크 장비를 추가하지 않고 소프트웨어 개발만으로 네트워크 기능을 확장할 수 있음을 확인해 볼 수 있었다.
이와 같은 구조는 하나의 네트워크 장비가 다양한 기능을 제공하는 것을 가능하게 하고, 더 나아가 하나의 네트워크 장비로 다양한 네트워크 어플라이언스를 생성할 수 있게 된다. 또 Check Coded DOM과 Functional JavaScript 전송 방안과 같이 새로 제안된 프로토콜을 개발하여 네트워크 장비에 쉽게 적용하는 것을 가능하며, 어플리케이션 또는 사용자 별로 플로우를 제어하여 Access Control, Traffic Engineering과 같은 네트워크 제어 기능을 제공할 수 있다.
제안한 Check Coded DOM 방안은 웹 페이지 수신을 통해서 웹 페이지를 구성하는 리소스의 변경 유무를 확인할 수 있기 때문에 리소스의 변경 유무를 확인 하는 절차를 감소시킴으로써 웹 성능을 향상 시킬 수 있다.
추가 적으로 분할된 함수 코드들을 SHA-1 알고리즘을 이용해 Function ID를 생성하고, 함수 별로 생성된 Function ID들을 이용해 Script ID를 생성하고 Script & ID TABLE의 Script ID와 일치하는지 확인함으로써 코드의 무결성을 확인할 수 있다.
캐시 적중률을 100%에서 10%까지 감소시키면서 기존의 HTTP 프로토콜과 제안 방안에 대해서 성능 평가를 수행했다. 난수를 발생시켜 각 케이스마다 16번씩 시뮬레이션을 수행하고, 측정된 값의 평균을 결과 값으로 사용했다.
그림 4에서 Proxy Access/Switch/Edge는 HTTP 프로토콜을 이해할 수 있는 기능을 구현한 네트워크 스위치 장치이다. 해당 장비는 NFV를 활용하여 본 논문에서 제안하는 Check Coded DOM과 Functional JavaScript 전송 방안을 네트워크 기능으로 유연하게 제공할 수 있다. 그림 4는 제안 방안인 네트워크 기능을 제공하기 위한 NFV 네트워크 장비의 구성도이다.
후속연구
그 변화에 핵심 주축으로 SDN과 NFV가 자리 잡고 있고, 다양한 요구사항을 반영한 기능을 네트워크에 배치할 수 있을 것이라 기대되고 있다. 앞으로 SDN과 NFV의 실현 가능성을 확장하고, 다양한 서비스 요구사항을 충족시키는 프로토콜에 대한 연구개발이 활발히 이루어진다면 더욱 향상된 서비스 품질을 제공할 수 있는 네트워크를 실현할 수 있을 것이라 전망된다.
질의응답
핵심어
질문
논문에서 추출한 답변
웹 캐시 일관성은 무엇으로 분류할 수 있는가?
하지만 근원 서버에 존재하는 원본 컨텐츠가 변경되면, 웹 캐시를 제공하는 프록시 서버(Proxy Server) 또는 단말에 존재하는 복사본 컨텐츠와 근원 서버의 원본 컨텐츠 간에 일관성이 유지되지 않을 수있는 문제가 발생한다. 웹 캐시 일관성을 제공 방안은 조금 더 구체적으로는 약한 캐시 일관성(Weak Cache Consistency)과 강한 캐시 일관성(Strong Cache Consistency)으로 분류할 수 있다. 약한 캐시 일관성은 근원 서버에 존재하는 원본 컨텐츠와, 프록시 서버 또는 단말이 가지고 있는 복사본 컨텐츠가 일관성이 유지되지 않을 수 있는 것을 허용할 수 있는 것을 말한다.
NFV는 어떤 문제를 해결하기 위한 기술인가?
기존의 네트워크 장비는 Control Plane과 Data Plane이 하나의 네트워크 장비에 구현되어 완제품 형태로 제조되었고, 이는 과거의 불안정한 네트워크 환경에서 문제가 발생한 지점을 찾아서 오류를 수정하는데 효과적인 구조였다. 하지만 현재 네트워크는 과거 대비 네트워크의 안정성과 성능이 크게 향상되고, 사용자의 다양한 요구사항을 수용하고 폭발적으로 증가한 트래픽을 효과적으로 제어하는 기술이 요구되고 있다. 또 기존 네트워크 장비는 하드웨어 중심으로 구현되어 있기 때문에 다양한 네트워크 기능을 유연하게 제공하지 못하며, 각 네트워크 기능 마다 개별 장비로 구성되어 있다. 이런 문제를 해결하기 위한 기술로 NFV(Network Function Virtualization)가 있으며, 이는 표준화된 고성능 하드웨어에 다양한 네트워크 기능을 소프트웨어로 가상화하여 제공하는 기술이다.
JavaScript는 어떤 언어인가?
JavaScript는 네스케이프 커뮤니케이션스사가 개발한 스크립트 언어로, 비영리 표준화 기구인 ECMA International에서 1997년 6월 표준화한 ECMA-262스크립트 프로그래밍 언어를 채택했으며, DOM(Document Object Model) API가 추가되면서 현재 웹 브라우저에서 사실상 표준 스크립트 언어로 사용되고 있다. JavaScript는 서버와 클라이언트 간에 상호교환적인(Interactive) 웹 서비스를 제공하게 해주고, 시간이나 환경에 따라서 동적인 컨텐츠를 생성하게 해준다.
참고문헌 (21)
Ericsson, Ericsson Mobility Report(2013), Retrieved May, 18, 2014, from http://www.ericsson.com/res/docs/2013/ericsson-mobility-report-november-2013.pdf.
OpenSignal, The State of LTE(2013), Retrieved May 18, 2014, from http://opensignal.com/reports/state-of-lte/.
I. Grigorik, High Performance Browser Networking, O'Reilly, 2013.
A. Technology, The State of the Internet(2013), Retrieved May, 18, 2014, from http://www.akamai.com/dl/documents/akamai_soti_q213.pdf.
M. Belshe, et al., Hypertext Transfer Protocol version 2(2014), Retrieved Jun. 18, 2014, from http://tools.ietf.org/html/draft-ietf-httpbis-http2-13
Open Networking Foundation, Software-Defined Networking: The New Norm for Networks (2012), Retrieved May, 18, 2014, from https://www.opennetworking.org/images/stories/downloads/sdn-resources/white-papers/wp-sdn-newnorm.pdf.
European Telecommunications Standards Institute (ETSI), Network Function Virtualization (2013), Retrieved May, 18 2014, from http://portal.etsi.org/nfv/nfv_white_paper2.pdf
J. Kim, "Building OpenFlow based SDN Testbed for future service demonstration," J. KICS, vol. 30, no. 3, pp. 43-50, Mar. 2013.
S. Lee and H. Lee, "SDN technology in wireless mobile network," J. KICS, vol. 30, no. 3, pp. 16-21, Mar. 2013.
J. Lee, S. Lee, G. Choi, and B. Lee, "NFV(Network Functions Virtualisation)," J. KICS, vol. 30, no. 3, pp. 51-57, Mar. 2013.
Jakob Nielsen, Response Times: The 3 Important Limits(1993), Retrieved May, 18, 2014, from http://www.nngroup.com/articles/response-times-3-important-limits/.
J. Arvind and G. Jason, Use Compression to make the web faster(2012), Retrieved May, 18, 2014, from https://developers.google.com/speed/articles/use-compression.
HTTP Archive, Trend in web technology (2014), Retrieved May, 18, 2014, form http://httparchive.org/.
Steve Souders, Even Faster Web Sites, O'Reilly, 2009.
H. Kim and S. Lee, "HTTP switching network for mobile broadband networks," in Proc. FTRA AIM-14, pp. 1-2, Jeju, Korea, Feb. 2014.
H. Liu and M. Chen, "Evaluation of web caching consistency," Int. Conf. Advanced Comput. Theory and Eng., vol. 5, pp. 130-132, Chengdu, Aug. 2010.
J. Liu, Y. Wang, and H. Du, "Strong cache consistency on world wide web," Int. Conf. Advanced Comput. Theory and Eng., vol. 5, pp. 62-65, Aug. 2010.
P. Cao and C. Liu, "Maintaining strong cache consistency in the world," IEEE Trans. Computers, vol. 47, no. 4, pp. 445-457, Apr. 1998.
P. Gandhi and P. K. Bhatia, "Estimation of generic reusability for object-oriented software an empirical approach," ACM SIGSOFT Softw. Eng. Notes, vol. 36, no. 3, pp. 1-4, May 2011.
J.-L. Gailly, GNU Gzip(2013), Retrieved Apr. 8, 2014, from http://www.gnu.org/software/gzip/manual/gzip.html.
H. M. MacDougall, Simulating Computer System: Techniaues and Tools, MIT Press Series in Computer System, 1987.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.