KR102232085B1 - 웹 페이지를 동적으로 제공하는 방법, 웹 서버 및 컴퓨팅 장치 - Google Patents

웹 페이지를 동적으로 제공하는 방법, 웹 서버 및 컴퓨팅 장치 Download PDF

Info

Publication number
KR102232085B1
KR102232085B1 KR1020140136778A KR20140136778A KR102232085B1 KR 102232085 B1 KR102232085 B1 KR 102232085B1 KR 1020140136778 A KR1020140136778 A KR 1020140136778A KR 20140136778 A KR20140136778 A KR 20140136778A KR 102232085 B1 KR102232085 B1 KR 102232085B1
Authority
KR
South Korea
Prior art keywords
web page
web server
web
functions
load
Prior art date
Application number
KR1020140136778A
Other languages
English (en)
Other versions
KR20160042624A (ko
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 KR1020140136778A priority Critical patent/KR102232085B1/ko
Publication of KR20160042624A publication Critical patent/KR20160042624A/ko
Application granted granted Critical
Publication of KR102232085B1 publication Critical patent/KR102232085B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/24Traffic characterised by specific attributes, e.g. priority or QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • 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]

Abstract

웹 페이지를 동적으로 제공하는 웹 서버에 있어서, 상기 웹 서버의 부하 상태를 검출하는 부하 검출부, 상기 웹 페이지에 포함되는 복수의 함수의 우선 순위를 저장하는 데이터베이스, 상기 검출된 부하 상태 및 상기 데이터베이스에 저장된 우선 순위에 기초하여, 상기 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택하는 함수 선택부, 상기 선택된 하나 이상의 함수를 포함하는 웹 페이지를 단말로 전송하는 전송부를 포함하도록 구성된다.

Description

웹 페이지를 동적으로 제공하는 방법, 웹 서버 및 컴퓨팅 장치{METHOD, WEB SERVER AND COMPUTING DEVICE FOR PROVIDING DYNAMIC WEB PAGE}
본 발명은 웹 페이지를 동적으로 제공하는 방법, 웹 서버 및 컴퓨팅 장치에 관한 것이다.
웹 서비스 형태로 VOD(Video On Demand) 서비스를 미디어 단말로 제공하는 방식은 일반적으로 서버에서 HTML(Hyper Text Makeup Language) 코드 내 자바스크립트 함수를 구현하여 요청받은 페이지를 생성하고, 해당 페이지를 미디어 단말로 내려주는 형태이다.
최근, VOD 서비스에 대한 서비스 사용자가 증가함에 따라, 미디어 단말과 서버 간에 과도한 트랜잭션의 발생에서 기인한 과도한 부하로 인해 불편함을 겪는 경우가 있었다. 이와 관련하여 선행기술인 한국공개특허 제 2005-0090142호는 현재 네트워크에 대한 이용률과 미리 정해진 임계 값을 비교하여 네트워크 경로가 혼잡 상태인지 판단하여 트래픽을 제어하는 장치 및 방법에 대해 개시하고 있다.
하지만 종래 발명을 이용한 경우, 모니터링을 통해 서버의 혼잡 상태를 판단 및 회피하는 우회 경로를 통한 대처일 뿐인바, 다른 경로를 통하지 않는 트래픽 제어에 있어서 어려움이 있었다.
한국공개특허 제 2005-0090142호
웹 서버의 부하 상태에 따라 웹 페이지를 동적으로 제공함으로써, 트랜잭션 수와 웹 서버에서 전송하는 데이터 트래픽 수를 감소시킬 수 있는 웹 페이지를 동적으로 제공하는 방법, 웹 서버 및 컴퓨팅 장치를 제공하고자 한다. 본 실시예가 이루고자 하는 기술적 과제는 상기된 바와 같은 기술적 과제들로 한정되지 않으며, 또 다른 기술적 과제들이 존재할 수 있다.
상술한 기술적 과제를 달성하기 위한 기술적 수단으로서, 본 발명의 일 실시예는 웹 페이지를 동적으로 제공하는 웹 서버에 있어서, 웹 서버의 부하 상태를 검출하는 부하 검출부, 웹 페이지에 포함되는 복수의 함수의 우선 순위를 저장하는 데이터베이스, 검출된 부하 상태 및 상기 데이터베이스에 저장된 우선 순위에 기초하여, 상기 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택하는 함수 선택부, 선택된 하나 이상의 함수를 포함하는 웹 페이지를 단말로 전송하는 전송부
를 포함하는, 웹 서버를 제공할 수 있다.
또한, 본 발명의 다른 실시예는 웹 페이지를 동적으로 제공하는 웹 서버에 의해 수행되는 방법에 있어서, 웹 페이지에 포함되는 우선 순위를 데이터베이스에 저장하는 단계, 웹 서버의 부하 상태를 검출하는 단계, 검출된 부하 상태 및 상기 데이터베이스에 저장된 우선 순위에 기초하여, 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택하는 단계, 선택된 하나 이상의 함수를 포함하는 웹 페이지를 단말로 전송하는 단계를 포함하는, 웹 페이지를 동적으로 제공하는 방법을 제공할 수 있다.
또한, 본 발명의 또 다른 실시예는 웹 페이지를 동적으로 제공하는 컴퓨팅 장치에 있어서, 웹 페이지에 포함되는 복수의 함수의 우선 순위를 저장하는 메모리, 메모리와 인터페이싱하도록 연결된 프로세싱 유닛을 포함하고, 프로세싱 유닛은, 웹 서버의 부하 상태를 검출하고, 검출된 부하 상태 및 데이터베이스에 저장된 우선 순위에 기초하여, 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택하고, 선택된 하나 이상의 함수를 포함하는 웹 페이지를 단말로 전송하도록 구성되는, 컴퓨팅 장치를 제공할 수 있다.
상술한 과제 해결 수단은 단지 예시적인 것으로서, 본 발명을 제한하려는 의도로 해석되지 않아야 한다. 상술한 예시적인 실시예 외에도, 도면 및 발명의 상세한 설명에 기재된 추가적인 실시예가 존재할 수 있다.
전술한 본 발명의 과제 해결 수단 중 어느 하나에 의하면, 웹 서버의 부하 상태에 따라 웹 페이지를 동적으로 제공하는 방법을 제공함으로써, 본래 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 포함하는 웹 페이지를 동적으로 제공하는 방법, 웹 서버 및 컴퓨팅 장치를 제공하고자 한다.
도 1은 본 발명의 일 실시예에 웹 페이지를 동적으로 제공하는 시스템을 설명하기 위한 구성도이다.
도 2는 본 발명의 일 실시예에 따른 웹 서버의 구성을 도시한 블록도이다.
도 3은 본 발명의 일 실시예에 따른 웹 페이지를 동적으로 제공하는 방법을 도시한 순서도이다.
도 4는 본 발명의 일 실시예에 따른 웹 서버의 데이터베이스 구성을 도시한 예시적인 도면이다.
도 5는 본 발명의 일 실시예에 따른 웹 페이지를 동적으로 제공하는 컴퓨팅 장치의 구성을 도시한 블록도이다.
도 6은 본 발명의 일 실시예에 따른 모니터링 데몬에 대한 예시적인 코드를 나타낸 도면이다.
아래에서는 첨부한 도면을 참조하여 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자가 용이하게 실시할 수 있도록 본 발명의 실시예를 상세히 설명한다. 그러나 본 발명은 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시예에 한정되지 않는다. 그리고 도면에서 본 발명을 명확하게 설명하기 위해서 설명과 관계없는 부분은 생략하였으며, 명세서 전체를 통하여 유사한 부분에 대해서는 유사한 도면 부호를 붙였다.
명세서 전체에서, 어떤 부분이 다른 부분과 "연결"되어 있다고 할 때, 이는 "직접적으로 연결"되어 있는 경우뿐 아니라, 그 중간에 다른 소자를 사이에 두고 "전기적으로 연결"되어 있는 경우도 포함한다. 또한 어떤 부분이 어떤 구성요소를 "포함"한다고 할 때, 이는 특별히 반대되는 기재가 없는 한 다른 구성요소를 제외하는 것이 아니라 다른 구성요소를 더 포함할 수 있는 것을 의미하며, 하나 또는 그 이상의 다른 특징이나 숫자, 단계, 동작, 구성요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
본 명세서에 있어서 '부(部)'란, 하드웨어에 의해 실현되는 유닛(unit), 소프트웨어에 의해 실현되는 유닛, 양방을 이용하여 실현되는 유닛을 포함한다. 또한, 1 개의 유닛이 2 개 이상의 하드웨어를 이용하여 실현되어도 되고, 2 개 이상의 유닛이 1 개의 하드웨어에 의해 실현되어도 된다.
본 명세서에 있어서 단말 또는 디바이스가 수행하는 것으로 기술된 동작이나 기능 중 일부는 해당 단말 또는 디바이스와 연결된 서버에서 대신 수행될 수도 있다. 이와 마찬가지로, 서버가 수행하는 것으로 기술된 동작이나 기능 중 일부도 해당 서버와 연결된 단말 또는 디바이스에서 수행될 수도 있다.
이하 첨부된 도면을 참고하여 본 발명의 일 실시예를 상세히 설명하기로 한다.
도 1은 본 발명의 일 실시예에 따른 웹 페이지를 동적으로 제공하는 시스템의 구성도이다. 도 1을 참조하면, 웹 페이지를 동적으로 제공하는 시스템(1)은 웹 서버(100) 및 단말(110)을 포함할 수 있다. 도 1에 도시된 웹 서버(100) 및 단말(110)은 웹 페이지를 동적으로 제공하는 시스템(1)에 의해 제어될 수 있는 구성요소들을 예시적으로 도시한 것이다.
도 1의 웹 페이지를 동적으로 제공하는 시스템(1)의 각 구성요소들은 일반적으로 네트워크(network)를 통해 연결된다. 예를 들어, 도 1에 도시된 바와 같이, 웹 서버(100) 및 단말(110)은 네트워크를 통하여 연결될 수 있다.
네트워크는 단말들 및 서버들과 같은 각각의 노드 상호 간에 정보 교환이 가능한 연결 구조를 의미하는 것으로, 이러한 네트워크의 일 예는, Wi-Fi, 블루투스(Bluetooth), 인터넷(Internet), LAN(Local Area Network), Wireless LAN(Wireless Local Area Network), WAN(Wide Area Network), PAN(Personal Area Network), 3G, 4G, LTE 등이 포함되나 이에 한정되지는 않는다.
웹 서버(100)는 웹 서버(100)의 부하 상태를 검출할 수 있다. 예를 들어, 웹 서버(100)는 웹 서버(100)의 부하 상태가 어떤 레벨에 해당하는지를 판단할 수 있다.
웹 서버(100)는 웹 서버(100)의 부하 상태에 대한 레벨을 미리 설정할 수 있다. 또한, 웹 서버(100)는 웹 서버(100)의 부하 상태 검출에 대한 주기를 설정할 수 있다.
웹 서버(100)는 특정 웹 페이지에 포함되는 복수의 함수의 우선 순위를 데이터베이스에 저장할 수 있다. 또한, 웹 서버(100)는 특정 웹 페이지에 포함되는 복수의 함수의 유형을 데이터베이스에 저장할 수 있다. 또한, 웹 서버(100)는 특정 웹 페이지에 포함되는 복수의 함수의 호출 횟수를 데이터베이스에 저장할 수 있다.
웹 서버(100)는 검출된 부하 상태 및 데이터베이스에 저장된 우선 순위에 기초하여 특정 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택할 수 있다. 또한, 웹 서버(100)는 검출된 부하 상태 및 데이터베이스에 저장된 함수의 유형에 기초하여, 특정 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택할 수 있다. 또한, 웹 서버(100)는 검출된 부하 상태 및 데이터베이스에 저장된 함수의 호출 횟수에 기초하여, 특정 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택할 수 있다.
웹 서버(100)는 선택된 하나 이상의 함수를 포함하는 웹 페이지를 생성할 수 있고, 또는 미리 생성된 복수의 웹 페이지 중, 선택된 하나 이상의 함수를 포함하는 웹 페이지를 선택할 수 있다. 또한, 웹 서버(100)는 선택된 하나 이상의 함수를 포함하는 웹 페이지를 단말(110)로 전송할 수 있다.
단말(110)은 VOD 서비스를 제공하는 IPTV(Internet Protocol Television)의 셋톱박스(STB, set-top box)를 포함할 수 있다. 또한, 단말(100)은 선택된 하나 이상의 함수를 포함하는 웹 페이지를 웹 서버(100)로부터 수신할 수 있다.
도 2는 본 발명의 일 실시예에 따른 웹 서버의 구성을 도시하는 블록도이다. 도 2를 참조하면, 웹 서버(100)는 검출부(210), 데이터베이스(220), 함수 선택부(230) 및 전송부(240)를 포함할 수 있다.
검출부(210)는 웹 서버(100)의 부하 상태를 검출할 수 있다. 예를 들어, 웹 서버(100)는 웹 서버(100)의 부하 상태가 어떤 레벨에 해당하는지를 판단할 수 있다.
검출부(210)는 웹 서버(100)의 부하 상태에 대한 레벨을 미리 설정할 수 있다. 예를 들어, 검출부(210)는 중앙 처리 장치(CPU) 또는 메모리 사용률의 특정 퍼센트(%)에 기초하여 부하 레벨을 설정할 수 있는데, 중앙 처리 장치(CPU) 또는 메모리 사용률이 90% 이상일 경우 부하 레벨을 0으로, 중앙 처리 장치(CPU) 또는 메모리 사용률이 70% 이상일 경우 부하 레벨을 1로, 중앙 처리 장치(CPU) 또는 메모리 사용률이 50% 이상일 경우 부하 레벨을 2로, 중앙 처리 장치(CPU) 또는 메모리 사용률이 30% 이상일 경우 부하 레벨을 3으로 설정할 수 있다.
검출부(210)는 웹 서버(100)의 부하 상태 검출에 대한 주기를 설정할 수 있다. 예를 들어, 검출부(210)는 검출 주기를 5분으로 설정한 경우, 웹 서버(100)의 부하 상태를 5분 마다 검출할 수 있다. 또한 검출부(210)는 웹 서버(100)의 부하 상태를 주기적으로 검출할 수 있는 모니터링 데몬일 수 있다.
데이터베이스(220)는 특정 웹 페이지에 포함되는 복수의 함수의 우선 순위를 저장할 수 있다. 예를 들어, 데이터베이스(220)는 우선 순위를 0부터 3까지 저장할 수 있는데, 최우선의 우선 순위를 가진 함수인 경우, 우선 순위를 0으로 저장할 수 있고, 최하위의 우선 순위를 가진 함수인 경우, 우선 순위를 3으로 저장할 수 있다.
또한, 데이터베이스(220)는 특정 웹 페이지에 포함되는 복수의 함수의 유형을 저장할 수 있다. 예를 들어, 데이터베이스(220)는 기본적인 기능을 가진 함수의 유형은 'Basic'으로, 부가적인 기능을 가진 함수의 유형은 'Additional'로 저장할 수 있다.
또한, 데이터베이스(220)는 특정 웹 페이지에 포함되는 복수의 함수의 호출 횟수를 저장할 수 있다. 이 때, 함수의 호출 횟수는 함수 호출 시 데이터베이스(220)에서 카운트할 수 있다. 예를 들어, 데이터베이스(220)는 함수 'menuLoad'의 총 호출 횟수가 1,000회인 경우, 호출 횟수를 1000으로 저장할 수 있고, 함수 'recomConts'의 총 호출 횟수가 500회인 경우, 호출 횟수를 500으로 저장할 수 있다.
함수 선택부(230)는 검출된 부하 상태 및 데이터베이스(220)에 저장된 우선 순위에 기초하여, 특정 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택할 수 있다. 예를 들어, 함수 선택부(230)는 웹 서버(100)의 부하 상태가 부하 레벨 0으로 판단될 경우, 특정 웹 페이지에 포함되는 복수의 함수 중 0 이상의 우선 순위에 해당하는 함수만을 선택할 수 있다. 다른 예를 들어, 웹 서버(100)는 웹 서버(100)의 부하 상태가 부하 레벨 1로 판단될 경우, 특정 웹 페이지에 포함되는 복수의 함수 중 1 이상의 우선 순위에 해당하는 함수만을 선택할 수 있다. 또 다른 예를 들어, 웹 서버(100)는 웹 서버(100)의 부하 상태가 부하 레벨 2로 판단될 경우, 특정 웹 페이지에 포함되는 복수의 함수 중 2 이상의 우선 순위에 해당하는 함수만을 선택할 수 있다. 또 다른 예를 들어, 웹 서버(100)는 웹 서버(100)의 부하 상태가 부하 레벨 3으로 판단될 경우, 특정 웹 페이지에 포함되는 복수의 함수 중 3 이상의 우선 순위에 해당하는 함수만을 선택할 수 있다.
이로써, 웹 서버(100)는 웹 서버(100)의 부하 상태가 과부하 상태인 경우, 우선 순위가 낮은 함수를 노출하지 않음으로써 웹 서버에 대한 트랜잭션 발생을 감소시킬 수 있다. 또한, 웹 서버(100)는 반드시 제공되어야 하는 함수에 대하여 우선 순위를 0으로 설정할 수 있으므로, 웹 서버(100)의 부하 상태와 관계없이 반드시 제공되어야 하는 서비스에 영향을 미치지 않도록 구성할 수 있다.
함수 선택부(230)는 검출된 부하 상태 및 데이터베이스(220)에 저장된 함수의 유형에 기초하여, 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택할 수 있다. 예를 들어, 함수 선택부(230)는 웹 서버(100)의 부하 상태가 부하 레벨 0 또는 1로 판단될 경우, 특정 웹 페이지에 포함되는 복수의 함수 중 함수의 유형이 'Basic'인 함수만을 선택할 수 있다. 다른 예를 들어, 함수 선택부(230)는 웹 서버(100)의 부하 상태가 부하 레벨 2 또는 3으로 판단될 경우, 특정 웹 페이지에 포함되는 복수의 함수 중 함수의 유형이 'Basic'인 함수뿐만 아닌 유형이 'Additional'인 함수도 선택할 수 있다.
함수 선택부(230)는 검출된 부하 상태 및 데이터베이스(220)에 저장된 함수의 호출 횟수에 기초하여, 특정 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택할 수 있다. 예를 들어, 예를 들어, 함수 선택부(230)는 웹 서버(100)의 부하 상태가 부하 레벨 0으로 판단될 경우, 특정 웹 페이지에 포함되는 복수의 함수 중 호출 횟수가 700회 이상인 함수만을 선택할 수 있다. 다른 예를 들어, 함수 선택부(230)는 웹 서버(100)의 부하 상태가 부하 레벨 1로 판단될 경우, 특정 웹 페이지에 포함되는 복수의 함수 중 호출 횟수가 500회 이상인 함수만을 선택할 수 있다. 또 다른 예를 들어, 함수 선택부(230)는 웹 서버(100)의 부하 상태가 부하 레벨 2로 판단될 경우, 특정 웹 페이지에 포함되는 복수의 함수 중 호출 횟수가 300회 이상인 함수만을 선택할 수 있다. 또 다른 예를 들어, 함수 선택부(230)는 웹 서버(100)의 부하 상태가 부하 레벨 3으로 판단될 경우, 특정 웹 페이지에 포함되는 복수의 함수 중 호출 횟수가 100회 이상인 함수만을 선택할 수 있다.
웹 페이지 생성부(240)는 선택된 하나 이상의 함수를 포함하는 웹 페이지를 생성할 수 있다. 또한, 웹 페이지 선택부(250)는 미리 생성된 복수의 웹 페이지 중, 선택된 하나 이상의 함수를 포함하는 웹 페이지를 선택할 수 있다. 또한, 전송부(260)는 선택된 하나 이상의 함수를 포함하는 웹 페이지를 단말(110)로 전송할 수 있다.
도 3은 본 발명의 일 실시예에 따른 웹 페이지를 동적으로 제공하는 방법을 나타낸 신호 흐름도이다.
단계 S300에서 웹 서버(100)는 특정 웹 페이지에 포함되는 복수의 함수의 우선 순위를 데이터베이스에 저장한다. 단계 S310에서 웹 서버(100)는 웹 서버(100)의 부하 상태 검출에 대한 주기를 설정한다. 예를 들어, 검출 주기를 5분으로 설정한 경우, 웹 서버(100)는 단계 S380가 종료된 후라도 단계 S320으로 돌아와 웹 서버(100)의 부하 상태를 5분 마다 검출할 수 있다.
단계 S320에서 웹 서버(100)는 웹 서버(100)의 부하 상태를 검출하기 위하여, 웹 서버(100)의 부하 상태가 어떤 레벨에 해당하는지 판단한다. 예를 들어, 웹 서버(100)의 부하 상태는 부하 레벨 0, 1, 2 또는 3으로 판단될 수 있다.
단계 S330에서 웹 서버(100)는 웹 서버(100)의 부하 상태가 부하 레벨 0으로 판단될 경우, 특정 웹 페이지에 포함되는 복수의 함수 중 0 이상의 우선 순위에 해당하는 함수만을 선택할 수 있다. 단계 S340에서 웹 서버(100)는 웹 서버(100)의 부하 상태가 부하 레벨 1로 판단될 경우, 특정 웹 페이지에 포함되는 복수의 함수 중 1 이상의 우선 순위에 해당하는 함수만을 선택할 수 있다. 단계 S350에서 웹 서버(100)는 웹 서버(100)의 부하 상태가 부하 레벨 2로 판단될 경우, 특정 웹 페이지에 포함되는 복수의 함수 중 2 이상의 우선 순위에 해당하는 함수만을 선택할 수 있다. 단계 S360에서 웹 서버(100)는 웹 서버(100)의 부하 상태가 부하 레벨 3으로 판단될 경우, 특정 웹 페이지에 포함되는 복수의 함수 중 3 이상의 우선 순위에 해당하는 함수만을 선택할 수 있다.
단계 S370에서는 이전 단계인 단계 S330, 단계 S340, 단계 S350, 단계 S360에서 선택된 하나 이상의 함수를 포함하는 웹 페이지를 생성한다. 단계 S380에서 웹 서버(100)는 단계 S370에서 미리 생성된 복수의 웹 페이지 중, 선택된 하나 이상의 함수를 포함하는 웹 페이지를 선택한다.
단계 S390에서 웹 서버(100)는 S380에서 선택된 하나 이상의 함수를 포함하는 웹 페이지(110)를 단말로 전송한다. 또한, 웹 서버(100)는 웹 서버(100)에 의해 미리 설정된 검출 주기가 존재하는 경우, 단계 S390가 종료된 후라고 단계 S320으로 돌아와 웹 서버(100)의 부하 상태를 설정된 주기마다 검출할 수 있다.
상술한 설명에서, 단계 S300 내지 S390은 본 발명의 구현예에 따라서, 추가적인 단계들로 더 분할되거나, 더 적은 단계들로 조합될 수 있다. 또한, 일부 단계는 필요에 따라 생략될 수도 있고, 단계 간의 순서가 변경될 수도 있다.
도 4는 본 발명의 일 실시예에 따른 웹 서버의 데이터베이스 구성을 나타낸 도면이다. 도 4를 참조하면, 데이터베이스(220)는 함수 이름(410), 함수의 유형(420), 호출 횟수(430) 및 우선 순위(440)를 포함할 수 있다.
함수 이름(410)는 특정 웹 페이지에 포함되는 복수의 함수의 이름을 나타낼 수 있다. 예를 들어, 메뉴를 부르는 함수의 경우, 함수 이름(410)은 'menuload'이고, 콘텐츠를 제안하는 함수의 경우, 함수 이름(410)은 'recomconts'일 수 있다.
함수의 유형(420)은 특정 웹 페이지에 포함하는 복수의 함수의 기능에 기초하여 데이터베이스(220)에 저장될 수 있다. 예를 들어, 기본적인 기능을 가진 함수의 유형(420)은 'Basic'으로, 부가적인 기능을 가진 함수의 유형(420)은 'Additional'로 저장될 수 있다.
또한, 웹 서버(100)는 검출된 부하 상태 및 데이터베이스(220)에 저장된 함수의 유형(420)에 기초하여, 특정 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택할 수 있다.
호출 횟수(430)는 특정 웹 페이지에 포함하는 복수의 함수의 호출 횟수에 기초하여 데이터베이스(220)에 저장될 수 있다. 이 때, 함수의 호출 횟수(430)는 함수 호출 시 웹 서버(100)에서 카운트할 수 있다. 예를 들어, 함수 'menuload'의 총 호출 횟수(430)가 1,000회인 경우, 호출 횟수(430)는 데이터베이스(220)에 1000으로 저장될 수 있고, 함수 'recomcont'의 총 호출 횟수(430)가 500회인 경우, 호출 횟수(430)는 데이터베이스(220)에 500으로 저장될 수 있다.
또한, 웹 서버(100)는 검출된 부하 상태 및 데이터베이스(220)에 저장된 함수의 호출 횟수(430)에 기초하여, 특정 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택할 수 있다.
우선 순위(440)는 특정 웹 페이지에 포함하는 복수의 함수의 우선 순위에 기초하여 데이터베이스(220)에 저장될 수 있다. 예를 들어, 우선 순위(440)는 0부터 3까지 저장될 수 있는데, 함수 'menuload'는 기본적인 기능을 가진 함수로서 우선 순위(440)가 0으로 데이터베이스(220)에 저장될 수 있고, 함수 'recomconts'는 부가적인 기능을 가진 함수로서 우선 순위(440)가 3으로 데이터베이스(220)에 저장될 수 있다.
또한, 웹 서버(100)는 검출된 부하 상태 및 데이터베이스(220)에 저장된 우선 순위(440)에 기초하여 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택할 수 있다.
이로써, 웹 서버(100)는 우선 순위(440)가 낮은 함수(예를 들어 함수 'recomconts')를 노출하지 않음으로써 웹 서버(100)에 대한 트랜잭션 발생을 감소시킬 수 있다. 또한, 웹 서버(100)는 반드시 제공되어야 하는 함수(예를 들어 해당하는 함수 'menuload')에 대하여 우선 순위(440)를 0으로 설정할 수 있으므로, 웹 서버(100)의 부하 상태와 관계없이 반드시 제공되어야 하는 서비스에 영향을 미치지 않도록 구성할 수 있다.
도 5는 본 발명의 일 실시예에 따른 웹 페이지를 동적으로 제공하는 컴퓨팅 장치의 구성을 나타낸 블록도이다. 도 5를 참조하면, 컴퓨팅 장치는 프로세싱 유닛(500) 및 메모리(520)를 포함할 수 있다.
프로세싱 유닛(500)은 웹 서버(100)의 부하 상태를 검출할 수 있다. 예를 들어, 웹 서버(100)는 웹 서버(100)의 부하 상태가 임계 값의 어떤 레벨에 해당하는지를 판단할 수 있다.
프로세싱 유닛(500)은 웹 서버(100)의 부하 상태에 대한 부하 레벨을 미리 설정할 수 있다. 프로세싱 유닛(500)은 웹 서버(100)의 부하 상태 검출에 대한 주기를 설정할 수 있다.
프로세싱 유닛(500)은 검출된 부하 상태 및 데이터베이스에 저장된 우선 순위(440)에 기초하여 특정 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택할 수 있다. 또한, 프로세싱 유닛(500)은 검출된 부하 상태 및 데이터베이스에 저장된 함수의 유형(420)에 기초하여, 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택할 수 있다. 또한, 프로세싱 유닛(500)은 검출된 부하 상태 및 데이터베이스에 저장된 함수의 호출 횟수(430)에 기초하여, 특정 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택할 수 있다.
프로세싱 유닛(500)은 선택된 하나 이상의 함수를 포함하는 웹 페이지를 생성할 수 있고, 또는 미리 생성된 복수의 웹 페이지 중, 선택된 하나 이상의 함수를 포함하는 웹 페이지를 선택할 수 있다. 또한, 프로세싱 유닛(500)은 선택된 하나 이상의 함수를 포함하는 웹 페이지를 단말(110)로 전송할 수 있다.
메모리(520)는 특정 웹 페이지에 포함되는 복수의 함수의 유형(420)을 저장할 수 있다. 또한, 메모리(520)는 특정 웹 페이지에 포함되는 복수의 함수의 호출 횟수(430)를 저장할 수 있다. 또한, 메모리(520)는 특정 웹 페이지에 포함되는 복수의 함수의 우선 순위(440)를 저장할 수 있다.
도 6은 본 발명의 일 실시예에 따른 모니터링 데몬에 대한 예시적인 코드를 나타낸 도면이다. 도6을 참조하면, 웹 서버(100)의 검출부(210)는 모니터링 데몬일 수 있고, 모니터링 데몬은 웹 서버(100)의 부하 상태를 검출할 수 있다. 예를 들어, 모니터링 데몬은 웹 서버(100)의 부하 상태가 임계 값의 어떤 레벨에 해당하는지를 판단할 수 있다.
모니터링 데몬은 웹 서버(100)의 부하 상태에 대한 부하 레벨을 미리 설정할 수 있고, 웹 서버(100)의 부하 상태 검출에 대한 주기를 설정할 수 있다.
모니터링 데몬은 검출된 웹 서버(100)에 대한 부하 상태에 기초하여 웹 서버(100)에 대한 웹 서버(100)의 priority를 설정 또는 변경할 수 있다. 예를 들어, 모니터링 데몬은 웹 서버(100)의 부하 상태가 부하 레벨 1보다 높은 상태로 검출될 경우, 웹 서버(100)의 priority를 1로 설정 또는 변경할 수 있고, 웹 서버(100)의 부하 상태가 부하 레벨 2보다 높은 상태로 검출될 경우, 웹 서버(100)의 priority를 2로 설정 또는 변경할 수 있고, 웹 서버(100)의 부하 상태가 부하 레벨 3보다 높은 상태로 검출될 경우, 웹 서버(100)의 priority를 3으로 설정 또는 변경할 수 있다.
모니터링 데몬은 웹 서버(100)의 부하 상태를 관리할 수 있다. 예를 들어, 모니터링 데몬은 웹 서버(100)의 priority가 설정 또는 변경된 상태로 30분이 경과된 경우, 다시 웹 서버(100)의 priority를 모니터링하고, 웹 서버(100)의 priority 값이 변경된 경우, 변경된 웹 서버(100)의 priority 값과 변경 시간을 별도의 테이블 또는 파일에 저장하여 웹 서버(100)의 부하 상태를 관리할 수 있다.
전술한 본 발명의 설명은 예시를 위한 것이며, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명의 기술적 사상이나 필수적인 특징을 변경하지 않고서 다른 구체적인 형태로 쉽게 변형이 가능하다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 예를 들어, 단일형으로 설명되어 있는 각 구성 요소는 분산되어 실시될 수도 있으며, 마찬가지로 분산된 것으로 설명되어 있는 구성 요소들도 결합된 형태로 실시될 수 있다.
본 발명의 범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구범위의 의미 및 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
100: 웹 서버
110: 단말

Claims (20)

  1. 웹 페이지를 동적으로 제공하는 웹 서버에 있어서,
    상기 웹 서버의 부하 상태를 검출하는 부하 검출부;
    상기 웹 페이지에 포함되는 복수의 함수의 우선 순위 및 상기 복수의 함수의 유형을 저장하는 데이터베이스;
    상기 검출된 부하 상태 및 상기 데이터베이스에 저장된 우선 순위에 기초하여, 상기 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택하는 함수 선택부; 및
    상기 선택된 하나 이상의 함수를 포함하는 웹 페이지를 단말로 전송하는 전송부
    를 포함하되,
    상기 부하 검출부는,
    상기 웹 서버의 부하 상태를 검출하는 경우, 상기 웹 서버의 부하 상태에 해당하는 부하 레벨을 판단하고,
    상기 함수 선택부는, 상기 부하 레벨 및 상기 데이터베이스에 저장된 함수의 유형에 기초하여 상기 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택하는, 웹 서버.
  2. 제 1 항에 있어서,
    상기 부하 검출부는,
    기설정된 주기마다 상기 웹 서버의 부하 상태를 검출하는 모니터링 데몬이고,
    상기 주기는 상기 부하 검출부에 의해 설정될 수 있는 것인, 웹서버
  3. 제 1 항에 있어서,
    상기 부하 레벨은 상기 부하 검출부에 의해 설정될 수 있는 것인, 웹 서버.
  4. 제 1 항에 있어서,
    상기 함수 선택부는,
    상기 부하 레벨 및 상기 우선 순위에 기초하여 상기 웹 페이지에 포함되는 복수의 함수를 선택하는 것인, 웹 서버.
  5. 제 1 항에 있어서,
    상기 데이터베이스는, 상기 복수의 함수의 호출 횟수를 더 저장하며,
    상기 함수 선택부는, 상기 호출 횟수에 기초하여 상기 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택하는 것인, 웹 서버.
  6. 삭제
  7. 제 1 항에 있어서,
    상기 선택된 하나 이상의 함수를 포함하는 웹 페이지를 생성하는 웹 페이지 생성부를 더 포함하는, 웹 서버.
  8. 제 1 항에 있어서,
    미리 생성된 복수의 웹 페이지 중, 상기 선택된 하나 이상의 함수를 포함하는 웹 페이지를 선택하는 웹 페이지 선택부를 더 포함하는, 웹 서버.
  9. 웹 페이지를 동적으로 제공하는 웹 서버에 의해 수행되는 방법에 있어서,
    상기 웹 페이지에 포함되는 복수의 함수의 우선 순위 및 상기 복수의 함수의 유형을 데이터 베이스에 저장하는 단계;
    상기 웹 서버의 부하 상태를 검출하는 단계;
    상기 검출된 부하 상태 및 상기 데이터베이스에 저장된 우선 순위에 기초하여, 상기 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택하는 단계; 및
    상기 선택된 하나 이상의 함수를 포함하는 웹 페이지를 단말로 전송하는 단계
    를 포함하되,
    상기 웹 서버의 부하 상태를 검출하는 경우, 상기 웹 서버의 부하 상태에 해당하는 부하 레벨을 판단하는 단계; 및
    상기 부하 레벨 및 상기 데이터베이스에 저장된 함수의 유형에 기초하여, 상기 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택하는 단계를 더 포함하는, 웹 페이지를 동적으로 제공하는 방법.
  10. 제 9 항에 있어서,
    상기 웹 페이지에 포함되는 복수의 함수의 호출 횟수를 데이터 베이스에 저장하는 단계;
    를 더 포함하는, 웹 페이지를 동적으로 제공하는 방법.
  11. 제 10 항에 있어서,
    상기 호출 횟수에 기초하여, 상기 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택하는 단계;
    를 더 포함하는, 웹 페이지를 동적으로 제공하는 방법.
  12. 삭제
  13. 삭제
  14. 제 9 항에 있어서,
    상기 웹 서버의 부하 상태를 검출하는 단계는,
    기설정된 주기마다 상기 웹 서버의 부하 상태를 검출하는 것이고,
    상기 주기는 상기 웹 서버에 의해 설정될 수 있는 것인, 웹 페이지를 동적으로 제공하는 방법.
  15. 제 9 항에 있어서,
    상기 부하 레벨은 상기 웹 서버에 의해 설정될 수 있는 것인, 웹 페이지를 동적으로 제공하는 방법.
  16. 제 15 항에 있어서,
    상기 부하 레벨 및 상기 우선 순위에 기초하여 상기 웹 페이지에 포함되는 복수의 함수를 선택하는 단계;
    를 더 포함하는, 웹 페이지를 동적으로 제공하는 방법.
  17. 제 9 항에 있어서,
    상기 선택된 하나 이상의 함수를 포함하는 웹 페이지를 생성하는 단계;
    를 더 포함하는, 웹 페이지를 동적으로 제공하는 방법.
  18. 제 9 항에 있어서,
    미리 생성된 복수의 웹 페이지 중, 선택된 하나 이상의 함수를 포함하는 웹 페이지를 선택하는 단계;
    를 더 포함하는, 웹 페이지를 동적으로 제공하는 방법.
  19. 웹 페이지를 동적으로 제공하는 컴퓨팅 장치에 있어서,
    상기 웹 페이지에 포함되는 복수의 함수의 우선 순위 및 상기 복수의 함수의 유형을 저장하는 메모리; 및
    상기 메모리와 인터페이싱하도록 연결된 프로세싱 유닛을 포함하고,
    상기 프로세싱 유닛은,
    웹 서버의 부하 상태를 검출하고,
    상기 검출된 부하 상태 및 상기 메모리에 저장된 우선 순위에 기초하여, 상기 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택하고,
    상기 선택된 하나 이상의 함수를 포함하는 웹 페이지를 단말로 전송하도록 구성되고,
    상기 프로세싱 유닛은,
    상기 웹 서버의 부하 상태를 검출하는 경우, 상기 웹 서버의 부하 상태에 해당하는 부하 레벨을 판단하고,
    상기 부하 레벨 및 상기 메모리에 저장된 함수의 유형에 기초하여 상기 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택하는, 컴퓨팅 장치.
  20. 제 19 항에 있어서,
    상기 프로세싱 유닛은,
    상기 부하 및 상기 우선 순위에 기초하여 상기 웹 페이지에 포함되는 복수의 함수 중 하나 이상을 선택하도록 구성되는 것인, 컴퓨팅 장치.
KR1020140136778A 2014-10-10 2014-10-10 웹 페이지를 동적으로 제공하는 방법, 웹 서버 및 컴퓨팅 장치 KR102232085B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020140136778A KR102232085B1 (ko) 2014-10-10 2014-10-10 웹 페이지를 동적으로 제공하는 방법, 웹 서버 및 컴퓨팅 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020140136778A KR102232085B1 (ko) 2014-10-10 2014-10-10 웹 페이지를 동적으로 제공하는 방법, 웹 서버 및 컴퓨팅 장치

Publications (2)

Publication Number Publication Date
KR20160042624A KR20160042624A (ko) 2016-04-20
KR102232085B1 true KR102232085B1 (ko) 2021-03-25

Family

ID=55917384

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020140136778A KR102232085B1 (ko) 2014-10-10 2014-10-10 웹 페이지를 동적으로 제공하는 방법, 웹 서버 및 컴퓨팅 장치

Country Status (1)

Country Link
KR (1) KR102232085B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101951719B1 (ko) * 2018-07-26 2019-02-25 (주)비아이매트릭스 그래픽 인터페이스 기반으로 이벤트 동작을 프로그래밍 하는 웹 레포팅 디자인 시스템

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR100604197B1 (ko) 2004-03-08 2006-07-25 삼성전자주식회사 라우터의 트래픽 제어 장치 및 방법
KR100932241B1 (ko) * 2007-07-13 2009-12-16 (주)성삼 비상전화시스템 및 이에 있어서 이벤트 제어 방법
US20090183227A1 (en) * 2008-01-11 2009-07-16 Microsoft Corporation Secure Runtime Execution of Web Script Content on a Client
KR101109563B1 (ko) * 2010-06-28 2012-01-31 채문창 인터넷 서비스 보장 장치 및 방법
US10466989B2 (en) * 2011-09-02 2019-11-05 Microsoft Technology Licensing, Llc. Fast presentation of markup content having script code

Also Published As

Publication number Publication date
KR20160042624A (ko) 2016-04-20

Similar Documents

Publication Publication Date Title
US20200204642A1 (en) Derivation of ontological relevancies among digital content
JP6228141B2 (ja) 仮想パイプ内のマルチメディアストリームによって使用されるネットワークリソースを管理する方法及び装置
US9584385B2 (en) Adaptive buffer control
JP6300923B2 (ja) データ帯域幅管理システム及び方法
CN107613030A (zh) 一种处理业务请求的方法和系统
US20150288593A1 (en) Modified content delivery based on network conditions
US9197687B2 (en) Prioritized blocking of on-demand requests
JP2015133701A (ja) クライアント端末においてマルチメディアコンテンツのセグメントの来るシーケンスをダウンロードする方法、及び対応する端末
KR101959970B1 (ko) 컨텐츠 전송 서비스 방법, 이를 위한 캐시 장치
KR101938455B1 (ko) 동적인 에지 컴퓨팅을 수행하는 방법 및 장치
CN104243609B (zh) 一种信息业务推送方法和装置
JP6478358B2 (ja) サービス処理方法、pcrf、及びサービス処理システム
US20140143427A1 (en) Providing Resources in a Cloud
KR102356621B1 (ko) 클라이언트 단말기들과 적어도 하나의 서버 사이의 전송 경로를 따라 배열된 캐시를 동작시키기 위한 방법, 및 대응하는 캐시
WO2015084589A1 (en) Return path selection for content delivery
US20120051235A1 (en) Advanced admission control over all internet protocol (ip) wireless access networks
JPWO2016098866A1 (ja) 通信速度推定装置、通信速度推定方法及びプログラム
CN112231606B (zh) 一种网页处理方法和装置
KR102232085B1 (ko) 웹 페이지를 동적으로 제공하는 방법, 웹 서버 및 컴퓨팅 장치
JP2015111778A (ja) ネットワーク制御装置及びネットワークシステム
EP3092811B1 (en) Method for providing a content part of a multimedia content to a client terminal, corresponding cache
CN113382453B (zh) 基于增强静态路由计算和回源的跨域图传方法及系统
US9071954B2 (en) Wireless optimized content delivery network
US10778546B2 (en) Aggregate energy consumption across a network
US20140164608A1 (en) Content transmission system

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E90F Notification of reason for final refusal
E701 Decision to grant or registration of patent right