KR20100051651A - 컨텐츠 서버 레이턴시 결정 - Google Patents

컨텐츠 서버 레이턴시 결정 Download PDF

Info

Publication number
KR20100051651A
KR20100051651A KR1020107002801A KR20107002801A KR20100051651A KR 20100051651 A KR20100051651 A KR 20100051651A KR 1020107002801 A KR1020107002801 A KR 1020107002801A KR 20107002801 A KR20107002801 A KR 20107002801A KR 20100051651 A KR20100051651 A KR 20100051651A
Authority
KR
South Korea
Prior art keywords
content
server
user interface
performance
publisher
Prior art date
Application number
KR1020107002801A
Other languages
English (en)
Other versions
KR101616063B1 (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
Priority claimed from US11/836,069 external-priority patent/US8429544B2/en
Priority claimed from US11/836,019 external-priority patent/US8949405B2/en
Application filed by 구글 인코포레이티드 filed Critical 구글 인코포레이티드
Publication of KR20100051651A publication Critical patent/KR20100051651A/ko
Application granted granted Critical
Publication of KR101616063B1 publication Critical patent/KR101616063B1/ko

Links

Images

Classifications

    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)

Abstract

발행자 서버, 제 1 컨텐츠 서버 및 제 2 컨텐츠 서버의 성능이 결정된다. 레이턴시 시간 정보는 상기 발행자 서버의 성능, 상기 제 1 컨텐츠 서버의 성능 및 상기 제 2 컨텐츠 서버의 성능에 기초하여 결정되며, 상기 레이턴시 시간 정보는 상기 발행자 서버, 상기 제 1 컨텐츠 서버 및 상기 제 2 컨텐츠 서버 각각에 관한 컨텐츠를 로딩하기 위한 시간의 길이를 나타낸다.

Description

컨텐츠 서버 레이턴시 결정{CONTENT SERVER LATENCY DETERMINATION}
본 명세서는 정보의 검색(Retrieval)에 관한 것이다.
웹 페이지 상에 표시되는 컨텐츠는 클라이언트 장치에 의하여 웹 페이지를 렌더링(Rendering)하는 동안 생성되는 컨텐츠 아이템 요청에 응답하여 하나 이상의 컨텐츠 아이템 서버에 의해 생성될 수 있다. 컨텐츠 아이템은 웹 페이지의 렌더링에 대하여 동시에 생성 가능하다. 마찬가지로, 컨텐츠 아이템 요청에 응답하여 수신된 컨텐츠 아이템은 웹 페이지의 렌더링에 관하여 동시에 처리될 수 있다. 예컨대, 웹 페이지가 렌더링될 때, 자바 스크립트(JavaScript)가 제 1 컨텐츠 서버로부터의 광고를 실행 및 요청할 수 있다. 다시, 제 1 컨텐츠 서버는 제 2 컨텐츠 서버로부터 광고를 요청할 수 있다. 광고가 동시적으로 검색된다면, 웹 페이지의 렌더링은 컨텐츠 서버로부터 요청된 광고가 수신될 때까지 지연된다. 일단 광고가 수신 및 렌더링되어 예컨대 웹 페이지 상에서 표시되고 나면, 웹 페이지의 나머지에 대한 렌더링이 재개된다.
동시적인 컨텐츠 아이템 검색의 결점은, 만약 컨텐츠 아이템 서버가 느리다면 웹 페이지의 나머지에 대한 렌더링이 지연될 것이라는 점이다. 동시적인 컨텐츠 아이템 처리의 잠재적인 영향을 완화하기 위하여, 웹 페이지 발행자(Publisher)는 그러한 지연(Delay)의 원인, 다시 말해 느리거나 일시적으로 실행 불가능할 수 있는 컨텐츠 아이템 서버를 식별하여 총 레이턴시 시간(Latency Time)을 연산하려고 한다. 그러나, 일반적으로 서로 다른 서버들과 연계된 레이턴시 시간을 연산하기 위해 웹 페이지의 렌더링으로부터의 복수의 HTTP 요청 및 응답을 컴파일하는 것은 복잡한 작업이다. 예를 들어, 복수의 HTTP 요청 및 응답은 웹 페이지 자체에서 나타나지는 않기 때문에 비유사해 보일 수 있으나, 제 1 컨텐츠 서버에 의해 회신된다. 또한, 특정한 서버, 예컨대 제 2 컨텐츠 서버가 지연의 원인이라고 결정되는 경우, 그 제 2 컨텐츠 서버의 운영자에게 해당 지연을 증명하는 것이 어렵다.
일부 구현예에 따르면, 발행자 서버, 제 1 컨텐츠 서버 및 제 2 컨텐츠 서버의 성능이 결정된다. 레이턴시 시간 정보는 상기 발행자 서버의 성능, 상기 제 1 컨텐츠 서버의 성능 및 상기 제 2 컨텐츠 서버의 성능에 기초하여 결정된다. 상기 레이턴시 시간 정보는 상기 발행자 서버, 상기 제 1 컨텐츠 서버 및 상기 제 2 컨텐츠 서버 각각에 관한 컨텐츠를 로딩하기 위한 시간의 길이를 나타낸다.
일부 구현예에 따르면, 제 1 동작(Behavior)을 갖는 스크립트에 대한 레퍼런스(Reference)를 포함하는 문서의 URL(Uniform Resource Locator)이 지정될 수 있으며, 여기서 제 1 인자(Argument)가 해당 URL에 부가된다. 제 2 동작을 갖는 스크립트에 대한 레퍼런스를 포함하는 문서의 URL이 지정될 수 있으며, 여기서 제 2 인자가 해당 URL에 부가된다. 스크립트를 포함하는 문서는 요청에 응답하여 수신된다. 제 1 동작을 갖는 스크립트는 발행자 서버 레이턴시 시간을 결정하기 위해 실행되며, 제 2 동작을 갖는 스크립트는 제 1 컨텐츠 서버 레이턴시 시간을 결정하기 위해 실행된다. 제 2 컨텐츠 서버 레이턴시 시간은 상기 발행자 서버 레이턴시 시간과 제 1 컨텐츠 서버 레이턴시 시간에 기초하여 결정된다.
일부 구현예에 따르면, 시스템은 발행자 서버, 제 1 컨텐츠 서버 및 제 2 컨텐츠 서버에 관한 성능을 결정하도록 구성 가능한 프로세서를 구비한다. 클라이언트 장치는 상기 발행자 서버의 성능, 상기 제 1 컨텐츠 서버의 성능 및 상기 제 2 컨텐츠 서버의 성능에 기초하여 레이턴시 시간 정보를 결정하도록 구성 가능하며, 상기 레이턴시 시간 정보는 상기 발행자 서버, 상기 제 1 컨텐츠 서버 및 상기 제 2 컨텐츠 서버 각각과 연계된 컨텐츠를 로딩하기 위한 시간의 길이를 나타낸다. 일부 구현예에 따르면, 시스템은 하나 이상의 원격 지점(Location)으로부터 컨텐츠를 요청하도록 구성 가능한 프로세서를 구비하며, 여기서 상기 컨텐츠는 상기 요청에 관한 레이턴시 정보를 결정하기 위하여 컴퓨터로 실행 가능한 명령을 포함한다. 상기 프로세서에 동작 가능하도록 결합되는 인터페이스는 상기 레이턴시 정보를 표시하도록 구성 가능하며, 상기 레이턴시 정보는 상기 인터페이스에 있어서 상기 컨텐츠의 상기 표시와 연계된 상기 하나 이상의 원격 지점에 관한 레이턴시 시간을 포함한다.
일부 구현예에 따르면, 컨텐츠가 요청되며, 상기 요청은 상기 컨텐츠로 향하는 URL이며, 상기 URL은 부가된 인자를 포함한다. 상기 요청된 컨텐츠는 제 1 사용자 인터페이스에서 컨텐츠 페이지로 로딩될 수 있다. 이후 제 2 사용자 인터페이스가 표시될 수 있다. 상기 컨텐츠 페이지와 연계된 하나 이상의 컨텐츠 아이템이 이후 상기 URL에 부가된 상기 인자에 따라 상기 제 2 사용자 인터페이스에서 표시될 수 있다. 또한, 상기 하나 이상의 컨텐츠 아이템에 관한 하나 이상의 속성(Attribute)이 상기 제 2 사용자 인터페이스에서 표시될 수 있다.
일부 구현예에 따르면, 제 1 사용자 인터페이스에서 발행자 서버로부터 수신된 컨텐츠를 포함하는 컨텐츠 페이지의 제 1 부분이 로딩될 수 있다. 제 2 사용자 인터페이스가 이후 표시될 수 있다. 컨텐츠 페이지의 제 2 부분은 상기 제 2 사용자 인터페이스에서 로딩될 수 있으며, 상기 제 2 부분은 하나 이상의 컨텐츠 서버로부터 수신된 하나 이상의 컨텐츠 아이템을 포함한다. 또한, 상기 하나 이상의 컨텐츠 아이템에 관한 하나 이상의 속성이 상기 제 2 사용자 인터페이스에서 표시될 수 있다.
일부 구현예에 따르면, 시스템은 발행자 컨텐츠를 포함하는 컨텐츠 페이지의 제 1 부분을 클라이언트 장치로 전송하도록 구성 가능한 발행자 서버를 구비한다. 부가적으로, 하나 이상의 컨텐츠 서버는 하나 이상의 컨텐츠 아이템을 포함하는 컨텐츠 페이지의 제 2 부분을 상기 클라이언트 장치로 전송하도록 구성 가능하다. 상기 클라이언트 장치는, 제 1 사용자 인터페이스에서 상기 컨텐츠 페이지의 상기 제 1 부분을 로딩하고, 제 2 사용자 인터페이스에서 상기 컨텐츠 페이지의 상기 제 2 부분을 로딩하며, 상기 제 2 사용자 인터페이스에서 상기 하나 이상의 컨텐츠 아이템에 관한 하나 이상의 속성을 표시하도록 구성 가능하다.
일부 구현예에 따르면, 시스템은 하나 이상의 컨텐츠 서버로부터 수신된 컨텐츠 페이지와 연계된 하나 이상의 컨텐츠 아이템의 사본을 저장하도록 구성 가능한 클라이언트 장치를 구비한다. 부가적으로, 프로세서는 사용자 인터페이스를 생성하고, 상기 하나 이상의 저장된 컨텐츠 아이템에 대한 결합된 소스 코드를 생성하며, 상기 사용자 인터페이스로 상기 결합된 소스 코드를 삽입하도록 구성 가능하다.
일부 구현예에 따르면, 시스템은 하나 이상의 컨텐츠 아이템과 연계된 하나 이상의 컨텐츠 아이템 식별자를 포획하도록 구성 가능한 발행자 서버를 구비한다. 서버 프로세서는 사용자 인터페이스를 생성하고, 상기 하나 이상의 컨텐츠 아이템 식별자와 연계된 상기 하나 이상의 컨텐츠 아이템을 요구하는 컨텐츠 서버에 대한 요청을 생성하며, 상기 사용자 인터페이스에서 상기 하나 이상의 컨텐츠 아이템을 제공하도록 구성 가능하다.
도 1은 컨텐츠 서버로부터 컨텐츠를 요청하기 위한 예시적인 시스템의 블록도이다.
도 2는 레이턴시 기여도를 결정하기 위한 예시적인 프로세스이다.
도 3은 레이턴시 기여도를 결정하기 위한 다른 예시적인 프로세스이다.
도 4는 NoFetch 모드의 출력을 표시하는 예시적인 인터페이스를 나타낸다.
도 5는 NoRender 모드의 출력을 표시하는 예시적인 인터페이스를 나타낸다.
도 6은 레이턴시 문제의 원인을 결정하기 위한 예시적인 프로세스이다.
도 7은 하나 이상의 컨텐츠 서버에 관한 레이턴시 시간을 결정하기 위한 예시적인 프로세스이다.
도 8은 하나 이상의 컨텐츠 서버에 관한 레이턴시 시간을 결정하기 위한 다른 예시적인 프로세스이다.
도 9는 하나 이상의 컨텐츠 서버에 관한 레이턴시 시간을 결정하기 위한 또 다른 예시적인 프로세스이다.
도 10은 예시적인 사용자 인터페이스의 도면이다.
도 1은 컨텐츠 서버로부터 컨텐츠를 요청하기 위한 예시적인 시스템의 블록도이다. 일 구현예에서, 상기 컨텐츠는 광고를 포함할 수 있으며, 상기 컨텐츠 서버는 컨텐츠 서버일 수 있다. 서로 다른 타입의 컨텐츠가 요청될 수도 있다.
일 구현예에서, 클라이언트 시스템(100)은 네트워크, 예컨대 인터넷을 통해 액세스 가능한 컨텐츠를 열람(예컨대, 웹 페이지를 방문함)하도록 구성되어 있다. 클라이언트 시스템(100)은 예컨대 웹 브라우저나 네트워크 탐색 소프트웨어를 실행하는 연산 장치 등일 수 있다. 클라이언트 시스템(100)이 방문하는 웹 주소(예컨대, URL)는 발행자(102), 예컨대 대응하는 웹 페이지를 호스트하는 서버를 식별하도록 분석될 수 있다.
이러한 예에서, 클라이언트 시스템(100)은 웹 페이지 컨텐츠(106)에 대한 발행자(102)에게 웹 페이지 컨텐츠 요청(104)을 전송할 수 있다. 그러한 요청에 응답하여 발행자(102)는 웹 페이지 컨텐츠(106)를 예컨대 자바 스크립트를 포함하는 HTML 문서로서 상기 클라이언트 시스템(100)에 제공한다. 웹 페이지 컨텐츠(106)는 하나 이상의 컨텐츠 표시(Presentation)를 포함할 수 있다. 일 구현예에서, 상기 컨텐츠 표시는 컨텐츠 서버에 의하여 제공될 광고를 위한 광고 슬롯(Slot)을 포함할 수 있다. 기타 컨텐츠 표시도 사용 가능하다.
발행자(102)에 의해 제공되는 웹 페이지 컨텐츠(106)는 명령(108)의 세트에 대한 레퍼런스를 포함하고 있다. 일 구현예에서, 명령(108)은 요청된 컨텐츠, 예컨대 광고를 렌더링하여 제공하기 위해 사용되는 저장 명령(108a), 타이밍 명령(108b) 및 요청 명령(108c)을 포함한다. 일 구현예에서, 명령(108)은 예컨대 컨텐츠 서버인 제 1 컨텐츠 서버(134)에 의해 제공되며, 웹 브라우저와 연계된 캐시(Cache)에서와 같이 상기 클라이언트 시스템(100)에 저장된다.
웹 페이지 컨텐츠(106)는 하나 이상의 컨텐츠 서버로부터의 컨텐츠를 표시하도록 구성되어 있는 컨텐츠 슬롯(112 내지 120)을 정의할 수 있다. 일 구현예에서, 컨텐츠 슬롯(112 내지 120)은 HTML 태그 내에서 정의되는 광고 슬롯이다. 명령(108)은 컨텐츠 슬롯(112 내지 120)을 채우기 위한 컨텐츠를 요청하기 위해 발생되는 컨텐츠 요청(122 내지 130)을 생성한다. 일 구현예에서, 그러한 요청(122 내지 130)은 버퍼(132)와 같은 데이터 저장부(132)에 저장되며, 하나 이상의 요청(136)에서 컨텐츠 서버(134)로 전송된다.
일 구현예에서, 제 1 컨텐츠 서버(134)는 수신된 개별적인 혹은 결합된 요청(136)을 처리하고 식별된 컨텐츠(138)를 클라이언트 시스템(100)으로 회신한다. 다른 구현예에서, 제 1 컨텐츠 서버(134)는 클라이언트 시스템(100)으로부터의 수신된 개별적인 혹은 결합된 요청(136)을 처리하고 결합된 응답(137)을 클라이언트 시스템(100)으로 전송한다. 예컨대, 상기 응답은 HTML 혹은 자바 스크립트일 수 있다. 상기 제 1 컨텐츠 서버(137)로부터 클라이언트 시스템(100)으로의 상기 결합된 응답(137)은 클라이언트 시스템(100)로 하여금 컨텐츠 아이템을 요청하는 제 2 컨텐츠 서버(142)로 하나 이상의 요청(140)을 전송하도록 지시할 수 있다. 그러면 제 2 컨텐츠 서버(142)는 예컨대 클라이언트 시스템(100)으로 식별된 컨텐츠(144)를 회신할 수 있다. 이후 상기 식별된 컨텐츠(138 및/또는 144)는 대응하는 컨텐츠 슬롯, 예컨대 컨텐츠 슬롯(112, 114 및 116)에서 발행자의 웹 페이지의 일부로서 표시될 수 있다.
제 1 컨텐츠 서버(134)의 예는 GoogleTM 컨텐츠 서버를 포함할 수 있다. 광고와 함께 웹 페이지 상에서 컨텐츠 슬롯을 채우기 위한 요청이 GoogleTM 컨텐츠 서버에 대하여 이루어질 수 있다. 다시, GoogleTM 컨텐츠 서버는 광고를 식별하여 제공하거나, GoogleTM 컨텐츠 서버가 제 2 컨텐츠 서버(142), 즉 제3자 컨텐츠 서버로부터 광고를 요청할 수 있다. 단지 2개의 컨텐츠 서버(134 및 142)에 대한 참조만 하였으나, 2개 이상의 컨텐츠 서버가 단일 웹 페이지에 컨텐츠를 제공할 수 있다.
클라이언트 시스템(100)이 발행자(102)로부터 컨텐츠를 요청하는 경우에, 제 1 컨텐츠 서버(134) 및/또는 제 2 컨텐츠 서버(142) 레이턴시 지연이 발생할 수 있다. 예컨대, 레이턴시 지연은 네트워크 속도가 느린 것, 발행자 서버(102)가 느린 것, 제 1 컨텐츠 서버(134)가 느린 것 및/또는 제 2 컨텐츠 서버(142)가 느린 것 등의 다양한 문제에 관련될 수 있다. 클라이언트 시스템(100)의 사용자는 웹 페이지가 로딩하는데 걸리는 총 레이턴시 시간을 알기만 할 수 있다. 따라서, 발행자 서버(102), 제 1 컨텐츠 서버(134) 및 제 2 컨텐츠 서버(142)에 의한 레이턴시 지연 기여도를 결정하는 것은 증명하기가 어려울 수 있다.
상술한 예에서 설명한 바와 같이, 웹 페이지를 표시하기 위한 총 레이턴시 시간(L)은 네트워크의 속도, 네트워크 레이턴시 시간을 포함하는 발행자 서버(102)의 속도(L1), 제 1 컨텐츠 서버(134)의 속도(L2) 및 제 2 컨텐츠 서버(142)의 속도(L3)에 귀착될 수 있다. 따라서, 예컨대 총 레이턴시 시간에 대한 연산은 L = L1 + L2 + L3에 의해 결정될 수 있다.
도 2를 참조하면, 일부 구현예에 따라 레이턴시 기여도를 결정하기 위한 예시적인 프로세스(200)가 발행자 서버의 성능을 결정하는 것으로 시작한다(스텝 202). 발행자 서버(102)의 성능을 결정하기 위해, 발행자 서버(102)로부터의 컨텐츠에 대한 요청이 해당 요청을 갖는 인자(혹은 기타 표시자)를 포함함으로써 이루어질 수 있다. 예컨대, 인자 "google_nofetch"가 NoFetch 모드를 구현하기 위해 다음의 http://www.webpage.com?google_nofetch 와 같은 웹 페이지 컨텐츠 지점의 URL에 부가될 수 있다.
요청된 URL과 관련된 문서가 컨텐츠 지점으로부터 수신될 수 있다. 해당 문서는 웹 페이지 컨텐츠, 매체, 텍스트, 다운로드 가능한 파일 등을 포함할 수 있다. 발행자 서버(102)에 관한 성능, 다시 말해 레이턴시 시간이 결정될 수 있다. 일부 구현예에서, 웹 페이지 컨텐츠(106) 내 컨텐츠 제공(예컨대, 자바 스크립트) 태그가 진단 로직을 구현한다. 예컨대, 웹 페이지 컨텐츠(106) 내 스크립트 파일은 발행자 서버(102)에 관한 레이턴시 시간 등 다양한 조건을 테스트하여 사용자 인터페이스에 대한 정보를 작성할 수 있다.
NoFetch 모드에서, 웹 페이지 컨텐츠(106) 내 스크립트 파일은 제 1 컨텐츠 서버(134)로부터의 컨텐츠 아이템에 대한 검색, 즉 광고를 위해 제 1 컨텐츠 서버(134)에 대하여 이루어지는 요청을 방지할 수 있다. 예컨대, 제 1 컨텐츠 서버(134)로 전송되는 어떠한 요청이라도 (디버그 트레이스(Debug Trace)를 생성하는 것을 제외하고는) 아무것도 수행하지 않도록 NO-OP 명령으로 대체될 수 있다. 따라서 NoFetch 모드에서의 실행은 웹 페이지에 대한 발행자 서버(102)에 대한 기준 성능, 다시 말해 발행자가 웹 페이지에 어떠한 광고도 부가하지 않는다면 사용자가 겪게 될 NoFetch 레이턴시 시간을 설정할 수 있다.
다음으로, 제 1 컨텐츠 서버(134)에 관한 성능이 결정된다(스텝 204). 제 1 컨텐츠 서버(134)의 성능을 결정하기 위하여, 웹 페이지 지점의 URL과 함께 인자(혹은 다른 표시자)가 포함될 수 있다. 예를 들어, 인자 "google_norender"가 NoRender 모드를 구현하기 위해 다음의 http://www.webpage.com?google_norender 와 같은 웹 페이지 컨텐츠 지점의 URL에 부가될 수 있다.
일부 구현예에서, 웹 페이지 컨텐츠(106) 내 컨텐츠 제공(예컨대, 자바 스크립트) 태그가 진단 로직을 구현한다. 예를 들어, 웹 페이지 컨텐츠(106) 내 스크립트 파일은 제 1 컨텐츠 서버(134)에 관한 성능, 즉 레이턴시 시간과 같은 다양한 상태를 테스트하고 사용자 인터페이스에 대한 정보를 작성할 수 있다.
NoRender 모드에서, 웹 페이지 컨텐츠(106) 내 스크립트 파일은 제 1 컨텐츠 서버(134)로부터 컨텐츠 아이템을 회신할 수 있으며, 다시 말하자면 광고를 검색하기 위한 요청이 제 1 컨텐츠 서버(134)로 전송될 수 있다. 그러나, 제 1 컨텐츠 서버(134)가 광고를 검색한 이후에, 스크립트 파일은 웹 페이지 상에서 광고가 렌더링되지 않도록 할 수 있다. 예컨대, 컨텐츠 슬롯(112, 114 및 116)에서 웹 페이지 상의 실제 광고를 렌더링하는 것 대신에, 컨텐츠 슬롯(112, 114 및 116)의 광고와 연관된 코드가 표시된다. 따라서, NoRender 모드를 실행하는 것은 제 1 컨텐츠 서버(134)가 광고를 검색하지만 이를 렌더링하지는 않기 위한 성능, 즉 레이턴시 시간을 설정하는 것이 가능하다. 제 1 컨텐츠 서버(134)에 관한 레이턴시 시간은 NoFetch 레이턴시 시간을 NoRender 레이턴시 시간에서 뺌으로써, 즉 L2 = NoRender 레이턴시 시간 - NoFetch 레이턴시 시간(L1) 에 의하여 연산될 수 있다.
스텝 206에서, 제 2 컨텐츠 서버(142)의 성능이 결정될 수 있다. 제 2 컨텐츠 서버(142)의 성능을 결정하기 위하여, 제 1 컨텐츠 서버(134)로부터의 컨텐츠에 대한 요청이 http://www.webpage.com 와 같이 인자 없이 웹 페이지 컨텐츠 지점의 URL을 요청함으로써 이루어질 수 있다. URL을 요청하고 렌더링하는 것과 관련된 총 페이지 로딩 시간은 총 레이턴시 시간(L)과 같다. 따라서, 제 2 컨텐츠 서버(134)와 연관된 레이턴시 시간은 NoRender 레이턴시 시간을 총 레이턴시 시간에서 뺌으로써, 즉 L3 = 총 레이턴시 시간(L) - NoRender(L2)에 의하여 연산될 수 있다.
발행자 서버, 제 1 컨텐츠 서버 및 제 2 컨텐츠 서버의 성능이 결정된 이후에, 레이턴시 시간 정보의 결정이 발행자 서버 성능, 제 1 컨텐츠 서버 성능 및 제 2 컨텐츠 서버 성능에 기초하여 결정될 수 있다(스텝 208). 레이턴시 시간 정보는 발행자 서버, 제 1 컨텐츠 서버 및 제 2 컨텐츠 서버 각각에 관한 컨텐츠를 로딩하기 위한 시간의 길이를 나타낼 수 있다. 예컨대, 사용자 인터페이스가 생성될 수 있으며, 서로 다른 컴포넌트에 귀착되는 레이턴시 시간에 관한 정보가 해당 사용자 인터페이스에 대하여 작성된다. 일부 구현예의 경우, 사용자 인터페이스는 별개의 브라우저 윈도우를 제공하는 자바 스크립트 코드로 생성된다.
도 3은 레이턴시 기여도를 결정하기 위한 다른 예시적인 프로세스(300)이다. 레이턴시 기여도를 결정하기 위한 예시적인 프로세스(300)는 스크립트에 대한 레퍼런스를 포함하는 문서를 요청하기 위하여 URL을 제시하는 단계로 시작하며, 이 요청은 해당 URL에 부가된 제 1 인자를 포함하고 있다(스텝 302). 예컨대, 제 1 인자 "google_nofetch"는 NoFetch 모드를 구현하기 위하여 다음의 http://www.webpage.com?google_nofetch 와 같은 웹 페이지 컨텐츠 지점에 대한 URL에 부가될 수 있다.
다음으로, 프로세스(300)는 스크립트에 대한 레퍼런스를 포함하는 문서를 요청하기 위한 URL을 제시할 수 있으며, 이 요청은 해당 URL에 부가된 제 2 인자를 포함하고 있다(스텝 304). 예컨대, 인자 "google_norender"는 NoRender 모드를 구현하기 위하여 다음의 http://www.webpage.com?google_norender 와 같은 웹 페이지 컨텐츠 지점의 URL에 부가될 수 있다.
스텝 302 및 304에서의 요청에 응답하여, 스크립트를 포함하는 문서가 수신될 수 있다(스텝 306). 해당 문서를 수신한 이후에, 상기 스크립트를 실행하여 제 1 인자 및 제 2 인자에 따라 발행자 서버 레이턴시 시간과 제 1 컨텐츠 서버 레이턴시 시간을 결정할 수 있다(스텝 308). 예컨대, 상기 스크립트는 제 1 인자에 따라 NoFetch 모드를 실행할 수 있으며, 상기 스크립트는 제 2 인자에 따라 NoRender 모드를 실행할 수 있다. 발행자 서버 레이턴시 시간과 제 1 컨텐츠 서버 레이턴시 시간에 기초하여, 제 2 컨텐츠 서버 레이턴시 시간이 결정될 수 있다(스텝 310).
도 4는 NoFetch 모드를 실행하는 제 1 동작을 갖는 스크립트의 출력을 표시하는 예시적인 인터페이스(400)를 나타낸다. 도 4의 열(402)은 NoFetch 모드의 실행된 명령에 관한 레이턴시 시간을 나타낸다. 예컨대, 레이턴시 시간은 스크립트를 실행하면서 증가하는 실행 시간으로서 나타내어진다. 도 4의 열(404)은 NoFetch 모드를 실행하는 스크립트에 의해 처리 중인 명령에 대한 메세지 타입을 제공한다. 도 4의 열(406)은 NoFetch 모드를 실행하는 스크립트에 의해 처리 중인 명령을 나타내는 요약 메세지를 제공한다. NoFetch 모드에서, 웹 페이지 컨텐츠(106) 내 실행 스크립트 파일은 하나 이상의 컨텐츠 서버로부터의 광고의 검색을 방지할 수 있다. 도 4의 408로 나타낸 바와 같이, 스크립트는 광고의 가져오기(Fetching)를 억제하며, 그에 따라 NoFetch 모드에서의 레이턴시 시간 정보는 발행자 서버와 연계될 수 있다.
제 1 동작을 갖는 스크립트를 실행한 이후에, 제 2 동작을 갖는 스크립트가 제 1 컨텐츠 서버 레이턴시 시간을 결정하기 위하여 실행될 수 있다(스텝 310). 제 2 동작을 갖는 스크립트는 NoRender 모드를 실행할 수 있다. 도 5는 NoRender 모드의 출력을 표시하는 예시적인 인터페이스(500)를 나타낸다. 도 5의 열(502)은 NoRender 모드를 실행하는 스크립트와 연관된 레이턴시 시간을 나타낸다. 예를 들어, 레이턴시 시간은 스크립트를 실행하면서 증가하는 실행 시간으로서 나타내어진다. 도 5의 열(504)은 NoRender 모드를 실행하는 스크립트에 의해 처리 중인 명령에 대한 메세지 타입을 제공한다. 도 5의 열(506)은 NoRender 모드를 실행하는 스크립트에 의해 처리 중인 명령을 표시하는 요약 메세지를 제공한다. NoRender 모드를 실행하는 것은 제 1 컨텐츠 서버(134)가 광고를 검색하지만 이를 렌더링하지는 않는 성능을 도 5의 508로 나타낸 바와 같이 설정할 수 있다. 제 1 컨텐츠 서버(134)에 관한 레이턴시 시간은 NoFetch 레이턴시 시간을 NoRender 레이턴시 시간에서 뺌으로써, 다시 말해 L2 = NoRender 레이턴시 시간 - NoFetch 레이턴시 시간(L1) 에 의하여 연산될 수 있다.
NoFetch 및 NoRender 모드로 문서를 실행하고 난 이후에, 제 2 컨텐츠 서버 레이턴시 시간이 발행자 서버 레이턴시 시간과 제 1 컨텐츠 서버 레이턴시 시간에 기초하여 결정될 수 있다. 제 2 컨텐츠 서버(134)의 성능을 결정하기 위하여, 제 1 컨텐츠 서버(134)로부터의 컨텐츠에 대한 요청이 다음의 http://www.webpage.com 과 같이 인자 없이 발행자 서버(102)로 웹 페이지 컨텐츠 지점의 URL을 제시함으로써 이루어질 수 있다. URL을 요청하고 렌더링하는 것에 관한 총 페이지 로딩 시간은 실질적으로 총 레이턴시 시간(L)과 동일하다. 따라서, 제 2 컨텐츠 서버(134)에 관한 레이턴시 시간은 NoRender 레이턴시 시간을 총 레이턴시 시간(L)에서 뺌으로써, 다시 말해 L3 = 총 레이턴시 시간(L) - NoRender 레이턴시 시간(L2) 에 의하여 연산될 수 있다.
도 6은 레이턴시 효과의 원인을 결정하기 위한 예시적인 프로세스(600)이다. 발행자 서버, 제 1 컨텐츠 서버 및 제 2 컨텐츠 서버에 관한 레이턴시 시간의 결정에 기초하여, 컨텐츠 페이지와 연계된 느린 로딩 시간의 원인이 결정될 수 있다. 만약 L1이 결정 스텝 602에서 느린 것으로 결정된다면, 레이턴시의 원인은 거의 발행자 서버(102)로 인한 것일 가능성이 있다(스텝 604). 그러나, 만약 L1이 결정 스텝 602에서 빠르다고 결정된다면, 본 프로세스(600)는 결정 스텝 606으로 이동한다. 결정 스텝 606에서, 만약 L2가 느리다고 결정된다면, 레이턴시의 원인은 제 1 컨텐츠 서버(134)에 기인할 가능성이 가장 높다(스텝 608). 만약 L2가 결정 스텝 606에서 빠르다고 결정된다면, 본 프로세스(600)는 결정 스텝 610으로 이동한다. 결정 스텝 610에서, L3가 빠르다고 결정된다면 컨텐츠 페이지 로딩 시간을 갖는 레이턴시는 느린 것으로 여겨질 수 있다(L1, L2 및 L3가 전부 빠른 것으로 결정됨)(스텝 612). 그러나, 만약 L3가 결정 스텝 610에서 느리다고 결정된다면, 레이턴시의 원인은 제 2 컨텐츠 서버(142)에 기인할 가능성이 가장 높다(스텝 614).
상술한 예시적인 프로세스에 기초하여, 레이턴시의 원인이 제 2 컨텐츠 서버(142)에 기인할 가능성이 가장 높다고 결정될 수 있다. 이러한 결정에 기초하여, 제 2 컨텐츠 서버(142)와 같은 하나 이상의 컨텐츠 서버와 연계된 레이턴시 시간을 결정하기 위한 예시적인 프로세스(700)가 도 7에 도시되어 있다. 우선, 컨텐츠가 요청될 수 있는데, 이 요청은 해당 컨텐츠로 향하는 URL이며, 이 URL은 부가된 인자를 포함하고 있다(스텝 702). 그러한 요청에 응답하여 수신된 컨텐츠는 제 1 사용자 인터페이스의 컨텐츠 페이지로 로딩될 수 있다(스텝 704). 일 구현예에서, 상기 컨텐츠 페이지로 로딩된 컨텐츠는 컨텐츠의 제 1 부분을 포함할 수 있으며, 상기 컨텐츠의 제 1 부분은 발행자 서버(702)로부터의 컨텐츠만을 포함한다.
다음으로, 제 2 사용자 인터페이스가 표시될 수 있다(스텝 706). 제 2 사용자 인터페이스를 표시하기 위하여, 스크립트를 포함하는 문서가 요청될 수 있으며, 이 요청은 표시자(Indicator)를 포함한다. 예컨대, 상기 요청은 문서를 수신하기 위한 URL일 수 있으며, 상기 표시자는 상기 URL에 부가된 인자이다. 그러면 이러한 문서는 예컨대 해당 요청에 응답하여 수신될 수 있다. 이후 스크립트를 실행하여 표시자의 수신에 응답하여 제 2 사용자 인터페이스를 표시하는 것이 가능하다. 예컨대, 상기 제 2 사용자 인터페이스는 컨텐츠 페이지를 표시하는 브라우저 윈도우(Browser Window)와는 별개의 브라우저 윈도우일 수 있다.
다른 구현예에서, 제 1 및 제 2 사용자 인터페이스는 동일한 인터페이스에서 표시될 수 있다. 제 1 및 제 2 사용자 인터페이스는 공통의 클라이언트 장치 상에서 공통의 브라우저에 의해 렌더링될 수 있다. 예를 들어, 제 1 및 제 2 사용자 인터페이스는 클라이언트 장치 상에서 실행되는 브라우저 윈도우와 같은 단일의 사용자 인터페이스에서 렌더링될 수 있다.
이어서, 컨텐츠 페이지와 연계된 하나 이상의 컨텐츠 아이템, 예컨대 광고가 해당 URL에 부가된 인자에 따라 제 2 사용자 인터페이스에서 표시될 수 있다(스텝 708). 또한, 제 2 사용자 인터페이스의 각 컨텐츠 아이템에 대한 하나 이상의 속성이 표시될 수 있다(스텝 710). 예를 들어, 상기 표시되는 속성은 각각의 컨텐츠 아이템에 관한 로딩 시간 및 총 로딩 시간을 포함할 수 있다.
일 구현예에서, 하나 이상의 컨텐츠 아이템을 표시하는 것은 클라이언트측 구현물을 이용함으로써 이루어질 수 있다. 예를 들어, 컨텐츠 아이템 슬롯에 삽입될 하나 이상의 컨텐츠 아이템의 사본이 하나 이상의 컨텐츠 서버로부터 수신되어 저장될 수 있다. 그러면 온로드 콜백(Onload Callback)이 해당 컨텐츠 페이지에 대하여 등록될 수 있다. 온로드 콜백 동안, 제 2 사용자 인터페이스가 표시되며, 컨텐츠 아이템 슬롯에 걸쳐서 스캔(Scan)이 이루어진다. 컨텐츠 아이템 슬롯에 걸친 스캔을 수행한 이후에, 해당 컨텐츠 아이템과 연계된 예컨대 HTML 코드 등의 모든 코드가 결합될 수 있다. 이 결합된 HTML 코드는 이후 제 2 사용자 인터페이스로 삽입될 수 있으며, 모든 컨텐츠 아이템이 생성될 수 있다.
다른 구현예에서, 제 2 사용자 인터페이스에서 하나 이상의 컨텐츠 아이템을 표시하는 것은 서버측 구현물을 이용함으로써 이루어질 수 있다. 예를 들어, 하나 이상의 컨텐츠 아이템에 관한 하나 이상의 컨텐츠 아이템 식별자는 자바 스크립트로 포획될 수 있다. 제 2 사용자 인터페이스가 이후 열릴 수 있으며, 하나 이상의 광고 식별자를 이용함으로써 하나 이상의 컨텐츠 아이템에 대한 요청이 하나 이상의 컨텐츠 서버에 대하여 이루어질 수 있다. 하나 이상의 컨텐츠 서버로부터 수신되는 상기 하나 이상의 컨텐츠 아이템은 이후 예컨대 제 2 사용자 인터페이스에서 렌더링될 수 있다. 일 구현예에서, 각각의 컨텐츠 아이템에 관한 로딩 시간은 제 2 사용자 인터페이스에서 표시될 수 있다. 일 구현예에서, 총 로딩 시간은 제 2 사용자 인터페이스에서 표시될 수 있다.
일부 구현예에서, 제 2 사용자 인터페이스에 관한 소스 코드가 저장될 수 있다. 예컨대, 사용자는 제 2 사용자 인터페이스에서 해당 페이지의 소스 코드를 열람하고 저장하는 것이 가능하다. 소스 코드를 저장하는 것은 레이턴시에 대한 책임이 있는 컨텐츠 서버의 조작자에게 하나 이상의 컨텐츠 아이템의 레이턴시를 증명하는데 유용할 수 있다. 특히, 소스 코드는 어떤 컨텐츠 아이템, 즉 광고가 로딩 시간에서 가장 많은 지연을 유발하는지를 정확하게 짚는데 사용할 수 있다. 예컨대 그러한 소스 코드는 컨텐츠 서버의 조작자에게 직접 이메일로 보내어질 수 있다. 이후 그러한 소스 코드는 예컨대 브라우저와 같은 사용자 인터페이스에서 로딩되어 특정한 컨텐츠 아이템과 함께 그 레이턴시를 증명할 수 있다.
제 2 컨텐츠 서버(142)와 같은 하나 이상의 컨텐츠 서버에 관한 레이턴시 시간을 결정하기 위한 다른 예시적인 프로세스(800)가 도 8에 도시되어 있다. 컨텐츠 페이지와 연계된 레이턴시의 원인을 결정한 이후에, 컨텐츠 페이지의 제 1 부분은 제 1 사용자 인터페이스에서 로딩될 수 있으며, 여기서 제 1 부분은 발행자 서버로부터 수신된 컨텐츠를 포함하고 있다(스텝 802). 예를 들어, 컨텐츠의 제 1 부분은 하나 이상의 컨텐츠 서버로부터의 하나 이상의 컨텐츠 아이템을 포함하지 않을 수 있다.
다음으로, 제 2 사용자 인터페이스가 표시될 수 있다(스텝 804). 이어서, 컨텐츠 페이지의 제 2 부분에 관한 소스 코드, 즉 HTML 코드는 제 2 사용자 인터페이스에서 표시될 수 있으며, 여기서 제 2 부분은 하나 이상의 컨텐츠 서버로부터 수신된 하나 이상의 컨텐츠 아이템을 포함하고 있다(스텝 806). 제 2 사용자 인터페이스에 있어서 하나 이상의 컨텐츠 아이템과 연계된 소스 코드, 즉 HTML 코드를 표시하기 위하여, 스크립트를 포함하는 문서를 요청할 수 있으며, 이러한 요청은 표시자를 포함하고 있다. 예를 들어, 상기 요청은 문서를 수신하기 위한 URL일 수 있으며, 상기 표시자는 상기 URL에 부가된 인자이다. 이후 상기 문서는 예컨대 해당 요청에 응답하여 수신될 수 있다. 이후 스크립트를 실행하여 표시자의 수신에 응답하여 하나 이상의 컨텐츠 아이템에 관한 소스 코드를 포함하여 제 2 사용자 인터페이스를 디스플레이하는 것이 가능하다.
예를 들어, 인자 "google_capture_norender"가 다음의 http://www.webpage.com?google_capture_norender 와 같이 웹 페이지 컨텐츠 지점의 URL에 부가될 수 있다. 그에 따라, 하나 이상의 컨텐츠 아이템에 관한 소스 코드를 포함하는 제 2 사용자 인터페이스가 표시될 수 있다. 이후 소스 코드는 예컨대 복사되고(스텝 808), 편집기에 붙여져서(스텝 810), 로컬 HTML 파일과 같은 파일에 저장될 수 있다(스텝 812). 그후에 브라우저나 다른 사용자 인터페이스와 같은 사용자 인터페이스를 이용하여 하나 이상의 컨텐츠 아이템에 관한 소스 코드를 포함하는 로컬 HTML 파일과 같은 파일을 열 수 있다(스텝 814). 열었을 때, 해당 파일은 사용자 인터페이스에서 컨텐츠 페이지와 연계된 하나 이상의 컨텐츠 아이템을 렌더링할 수 있다(스텝 816). 또한, 하나 이상의 컨텐츠 아이템에 관한 하나 이상의 속성이 사용자 인터페이스에서 표시될 수 있다(스텝 818). 예를 들어, 상기 속성은 하나 이상의 컨텐츠 아이템에 관한 총 로딩 시간과 각각의 컨텐츠 아이템에 관한 로딩 시간을 포함할 수 있다.
도 9는 제 2 컨텐츠 서버(142)와 같은 하나 이상의 컨텐츠 서버에 관한 레이턴시 시간을 결정하기 위한 또 다른 예시적인 프로세스(900)이다. 본 프로세스(900)는 제 1 사용자 인터페이스에서 컨텐츠 페이지의 제 1 부분을 로딩함으로써 시작하며, 여기서 상기 제 1 부분은 발행자 서버로부터 수신된 컨텐츠를 포함한다(스텝 902). 예를 들어, 제 1 사용자 인터페이스로 로딩된 컨텐츠 페이지의 부분은 하나 이상의 컨텐츠 서버로부터의 컨텐츠를 포함하지 않을 수 있다. 다음으로, 제 2 사용자 인터페이스가 표시된다(스텝 904). 예컨대 제 2 사용자 인터페이스는 제 1 사용자 인터페이스에 부가하여 디스플레이되는 팝업 윈도우와 같은 윈도우일 수 있다.
컨텐츠 페이지의 제 2 부분이 이후 예컨대 제 2 사용자 인터페이스에서 표시될 수 있으며, 여기서 제 2 부분은 하나 이상의 컨텐츠 서버로부터 수신된 하나 이상의 컨텐츠 아이템을 포함한다(스텝 906). 또한, 하나 이상의 컨텐츠 아이템에 관한 하나 이상의 속성은 제 2 사용자 인터페이스에서 표시될 수 있다(스텝 908). 예컨대, 상기 속성은 하나 이상의 컨텐츠 아이템에 관한 총 로딩 시간과 각각의 컨텐츠 아이템에 관한 로딩 시간을 포함할 수 있다.
도 10은 상기 프로세스에서 기술한 바와 같은 예시적인 제 2 사용자 인터페이스(1000)의 도면이다. 나타낸 바와 같이, 하나 이상의 컨텐츠 아이템에 관한 하나 이상의 속성이 제 2 사용자 인터페이스(1000)에서 표시될 수 있다. 일 구현예에서, 각각의 컨텐츠 아이템에 관한 지점 및 위치 정보(1002)가 제 2 사용자 인터페이스(1000)에서 표시될 수 있다. 다른 구현예에서, 컨텐츠 아이템(1004)이 제 2 사용자 인터페이스(1000)에서 표시될 수 있다. 다른 구현예의 경우에는, 각각의 광고에 관한 로딩 시간(1006)이 제 2 사용자 인터페이스(1000)에서 표시될 수 있다. 예컨대, 개별적인 로딩 시간(1006)은 지점 및 위치 정보(1002)와 함께 표시되는 광고(1004)와 연관지어질 수 있다. 다른 구현예의 경우, 총 로딩 시간(1006)이 제 2 사용자 인터페이스(1000)에서 표시될 수 있다.
본 특허 문서에서 기술한 장치, 방법, 순서도 및 구조 블록도는 컴퓨터 처리 시스템에 의하여 실행 가능한 프로그램 명령을 포함하는 프로그램 코드를 포함하는 컴퓨터 처리 시스템에서 구현될 수 있다. 다른 구현물도 사용 가능하다. 부가적으로, 본 특허 문서에서 기술한 순서도와 구조 블록도는 개시된 구조적인 수단을 지원하는 대응 기능과 스텝들을 지원하는 대응 동작 및/또는 특정한 방법을 기술하고 있는데, 그에 대응하는 소프트웨어 구조와 알고리즘 및 등가물을 구현하기 위해서도 사용 가능하다.
여기에 기술한 설명은 본 발명을 묘사하고 당업자가 본 발명을 구현하고 이용할 수 있도록 하기 위한 예를 제공하며, 본 발명에 대한 최상의 모드를 제시하고 있다. 여기에 기술한 설명이 제시된 정확한 조건으로 본 발명을 제한하려는 것은 아니다. 따라서, 상술한 예를 참조하여 본 발명을 자세하게 설명하였으나, 당업자라면 본 발명의 범위를 벗어나지 않으면서 상기 예에 대하여 변경, 개조 및 변형을 가할 수 있을 것이다.

Claims (40)

  1. 발행자 서버의 성능을 결정하는 단계;
    제 1 컨텐츠 서버의 성능을 결정하는 단계;
    제 2 컨텐츠 서버의 성능을 결정하는 단계; 및
    상기 발행자 서버의 성능, 상기 제 1 컨텐츠 서버의 성능 및 상기 제 2 컨텐츠 서버의 성능에 기초하여 레이턴시 시간 정보를 결정하는 단계를 포함하며,
    상기 레이턴시 시간 정보는 상기 발행자 서버, 상기 제 1 컨텐츠 서버 및 상기 제 2 컨텐츠 서버 각각과 연계된 컨텐츠를 로딩하기 위한 시간의 길이를 나타내는 것을 특징으로 하는 방법.
  2. 청구항 1에 있어서,
    상기 발행자 서버의 성능은, 상기 발행자 서버로부터 발행자 컨텐츠를 검색하기 위한 요청 시간 및 상기 발행자 컨텐츠를 렌더링하기 위한 렌더링 시간을 포함하는 것을 특징으로 하는 방법.
  3. 청구항 1에 있어서,
    상기 발행자 서버의 상기 성능을 결정하는 단계는, 스크립트를 포함하는 문서를 표시자를 포함하여 요청하는 단계; 상기 요청에 응답하여 상기 문서를 수신하는 단계; 및 상기 표시자의 수신에 응답하여 상기 발행자 서버의 성능을 결정하기 위해 상기 스크립트를 실행하는 단계를 포함하는 것을 특징으로 하는 방법.
  4. 청구항 3에 있어서,
    상기 문서는 URL에 의하여 식별되며, 상기 표시자는 상기 URL에 부가된 인자(Argument)인 것을 특징으로 하는 방법.
  5. 청구항에 있어서,
    사용자 인터페이스를 표시하는 단계; 및
    상기 사용자 인터페이스에서 상기 발행자 서버의 성능을 표시하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  6. 청구항 5에 있어서,
    상기 발행자 서버의 성능을 표시하는 단계는, 상기 제 1 컨텐츠 서버와 연계된 컨텐츠를 로딩하기 위한 시간의 길이를 나타내는 실행 시간 정보를 상기 사용자 인터페이스에 표시하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 청구항 1에 있어서,
    상기 제 1 컨텐츠 서버의 성능은, 상기 제 1 컨텐츠 서버로부터 광고를 요청하기 위한 제 1 광고 요청 시간 및 상기 제 2 컨텐츠 서버로부터 광고를 요청하기 위한 제 2 광고 요청 시간을 포함하는 것을 특징으로 하는 방법.
  8. 청구항 1에 있어서,
    상기 제 1 컨텐츠 서버의 상기 성능을 결정하는 단계는, 스크립트를 포함하는 문서를 표시자를 포함하여 요청하는 단계; 상기 요청에 응답하여 상기 문서를 수신하는 단계; 및 상기 표시자의 수신에 응답하여 상기 제 1 컨텐츠 서버의 성능을 결정하기 위하여 상기 스크립트를 실행하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 청구항 8에 있어서,
    상기 문서는 URL에 의하여 식별되며, 상기 표시자는 상기 URL에 부가된 인자인 것을 특징으로 하는 방법.
  10. 청구항 8에 있어서,
    사용자 인터페이스를 표시하는 단계; 및
    상기 사용자 인터페이스에서 상기 제 1 컨텐츠 서버의 성능을 표시하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  11. 청구항 10에 있어서,
    상기 제 1 컨텐츠 서버의 성능을 표시하는 단계는, 상기 제 1 컨텐츠 서버와 연계된 컨텐츠를 로딩하기 위한 시간의 길이를 나타내는 실행 시간 정보를 상기 사용자 인터페이스에 표시하는 단계를 포함하는 것을 특징으로 하는 방법.
  12. 청구항 1에 있어서,
    상기 제 2 컨텐츠 서버의 성능은, 상기 제 1 컨텐츠 서버와 상기 제 2 컨텐츠 서버 중 적어도 하나로부터 광고를 렌더링하기 위한 렌더링 시간을 포함하는 것을 특징으로 하는 방법.
  13. URL에 의하여 식별되고, 스크립트에 대한 레퍼런스를 포함하는 문서를 상기 URL에 부가된 제 1 인자를 포함하여 요청하는 단계;
    상기 URL에 의하여 식별되고, 상기 스크립트에 대한 레퍼런스를 포함하는 상기 문서를 상기 URL에 부가된 제 2 인자를 포함하여 요청하는 단계;
    상기 스크립트를 포함하는 상기 문서를 수신하는 단계;
    상기 제 1 인자 및 상기 제 2 인자에 따라 발행자 서버 레이턴시 시간 및 제 1 컨텐츠 서버 레이턴시 시간을 결정하기 위해 상기 스크립트를 실행하는 단계; 및
    상기 발행자 서버 레이턴시 시간 및 상기 제 1 컨텐츠 서버 레이턴시 시간에 기초하여 제 2 컨텐츠 서버 레이턴시 시간을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  14. 청구항 13에 있어서,
    상기 발행자 서버 레이턴시 시간, 상기 제 1 컨텐츠 서버 레이턴시 시간 및 상기 제 2 컨텐츠 서버 레이턴시 시간 중 적어도 하나를 사용자 인터페이스에서 표시하는 단계를 더 포함하며,
    상기 사용자 인터페이스는 상기 발행자 서버, 상기 제 1 컨텐츠 서버 및 상기 제 2 컨텐츠 서버 중 적어도 하나와 연계된 컨텐츠를 로딩하기 위한 시간의 길이를 나타내는 실행 시간 정보를 포함하는 것을 특징으로 하는 방법.
  15. 발행자 서버, 제 1 컨텐츠 서버 및 제 2 컨텐츠 서버에 관한 성능을 결정하도록 구성 가능한 프로세서; 및
    상기 발행자 서버의 성능, 상기 제 1 컨텐츠 서버의 성능 및 상기 제 2 컨텐츠 서버의 성능에 기초하여 레이턴시 시간 정보를 결정하도록 구성 가능한 클라이언트 장치를 구비하며,
    상기 레이턴시 시간 정보는 상기 발행자 서버, 상기 제 1 컨텐츠 서버 및 상기 제 2 컨텐츠 서버 각각과 연계된 컨텐츠를 로딩하기 위한 시간의 길이를 나타내는 것을 특징으로 하는 시스템.
  16. 청구항 14에 있어서,
    상기 프로세서는, URL에 의하여 식별되고 스크립트를 포함하는 문서를 상기 URL에 부가된 제 1 인자를 포함하여 요청하고, 상기 URL에 의하여 식별되고 상기 스크립트를 포함하는 문서를 상기 URL에 부가된 제 2 인자를 포함하여 요청하고, 상기 스크립트를 포함하는 상기 문서를 수신하고, 상기 제 1 인자와 상기 제 2 인자에 따라 상기 발행자 서버 레이턴시 시간 및 제 1 컨텐츠 서버 레이턴시 시간을 결정하기 위하여 상기 스크립트를 실행하며, 상기 발행자 서버 레이턴시 시간 및 상기 제 1 컨텐츠 서버 레이턴시 시간에 기초하여 상기 제 2 컨텐츠 서버 레이턴시 시간을 결정하도록 추가적으로 구성 가능한 것을 특징으로 하는 시스템.
  17. 청구항 14에 있어서,
    상기 클라이언트 장치는, 상기 발행자 서버의 성능, 상기 제 1 컨텐츠 서버의 성능 및 상기 제 2 컨텐츠 서버의 성능 중 적어도 하나를 사용자 인터페이스에서 표시하도록 추가적으로 구성 가능하며,
    상기 사용자 인터페이스는 상기 발행자 서버, 상기 제 1 컨텐츠 서버 및 상기 제 2 컨텐츠 서버 중 적어도 하나와 연계된 컨텐츠를 로딩하기 위한 시간의 길이를 나타내는 실행 시간 정보를 포함하는 것을 특징으로 하는 시스템.
  18. 하나 이상의 원격 지점으로부터 컨텐츠를 요청하도록 구성 가능한 프로세서를 구비하고,
    상기 컨텐츠는 상기 요청에 관한 레이턴시 정보를 결정하기 위하여 컴퓨터로 실행 가능한 명령을 포함하며,
    상기 레이턴시 정보를 표시하도록 구성 가능하며 상기 프로세서에 동작 가능하도록 결합되는 인터페이스를 구비하며,
    상기 레이턴시 정보는 상기 인터페이스에 있어서 상기 컨텐츠의 표시와 연계된 상기 하나 이상의 원격 지점에 관한 레이턴시 시간을 포함하는 것을 특징으로 하는 시스템.
  19. 프로세서에 의하여 실행되는 경우에 상기 프로세서로 하여금, 발행자 서버에 관한 성능을 결정하는 동작; 제 1 컨텐츠 서버에 관한 성능을 결정하는 동작; 제 2 컨텐츠 서버에 관한 성능을 결정하는 동작; 및 상기 발행자 서버의 성능, 상기 제 1 컨텐츠 서버의 성능 및 상기 제 2 컨텐츠 서버의 성능에 기초하여 레이턴시 시간 정보를 결정하는 동작을 수행하도록 하는 저장된 명령을 가지며,
    상기 레이턴시 시간 정보는 상기 발행자 서버, 상기 제 1 컨텐츠 서버 및 상기 제 2 컨텐츠 서버 각각과 연계된 컨텐츠를 로딩하기 위한 시간의 길이를 나타내는 것을 특징으로 하는 컴퓨터로 판독 가능한 매체.
  20. 발행자 서버에 관한 성능을 결정하는 수단;
    제 1 컨텐츠 서버에 관한 성능을 결정하는 수단;
    제 2 컨텐츠 서버에 관한 성능을 결정하는 수단; 및
    상기 발행자 서버의 성능, 상기 제 1 컨텐츠 서버의 성능 및 상기 제 2 컨텐츠 서버의 성능에 기초하여 레이턴시 시간 정보를 결정하는 수단을 구비하며,
    상기 레이턴시 시간 정보는 상기 발행자 서버, 상기 제 1 컨텐츠 서버 및 상기 제 2 컨텐츠 서버 각각과 연계된 컨텐츠를 로딩하기 위한 시간의 길이를 나타내는 것을 특징으로 하는 시스템.
  21. 컨텐츠를 요청하되, 상기 컨텐츠로 향하고 부가된 인자를 포함하는 URL인 요청을 하는 단계;
    제 1 사용자 인터페이스에서 컨텐츠 페이지로 상기 컨텐츠를 로딩하는 단계;
    제 2 사용자 인터페이스를 표시하는 단계;
    상기 URL에 부가된 상기 인자에 따라 상기 제 2 사용자 인터페이스에서 상기 컨텐츠 페이지와 연계된 하나 이상의 컨텐츠 아이템을 표시하는 단계; 및
    상기 제 2 사용자 인터페이스에서 상기 하나 이상의 컨텐츠 아이템에 관한 하나 이상의 속성을 표시하는 단계를 포함하는 것을 특징으로 하는 방법.
  22. 청구항 21에 있어서,
    상기 제 1 사용자 인터페이스에서 컨텐츠 페이지로 상기 컨텐츠를 로딩하는 단계는, 상기 제 1 사용자 인터페이스로 상기 컨텐츠 페이지의 일부를 로딩하는 단계를 포함하며,
    상기 일부는 발행자 서버로부터의 컨텐츠를 포함하는 것을 특징으로 하는 방법.
  23. 청구항 21에 있어서,
    상기 제 2 사용자 인터페이스를 표시하는 단계는, 컨텐츠에 대한 상기 요청에 응답하여 스크립트를 포함하는 문서를 수신하는 단계; 및 상기 인자의 수신에 응답하여 상기 제 2 사용자 인터페이스를 표시하기 위하여 상기 스크립트를 실행하는 단계를 포함하는 것을 특징으로 하는 방법.
  24. 청구항 21에 있어서,
    상기 하나 이상의 컨텐츠 아이템은 하나 이상의 광고를 포함하는 것을 특징으로 하는 방법.
  25. 청구항 21에 있어서,
    상기 하나 이상의 컨텐츠 아이템을 표시하는 단계는, 하나 이상의 컨텐츠 서버로부터 수신된 상기 하나 이상의 컨텐츠 아이템의 사본을 저장하는 단계; 및 제 1 사용자 인터페이스에 있어서 상기 컨텐츠 페이지의 로딩 동안 상기 제 2 사용자 인터페이스에서 상기 하나 이상의 컨텐츠 아이템을 표시하는 단계를 포함하는 것을 특징으로 하는 방법.
  26. 청구항 21에 있어서,
    상기 하나 이상의 컨텐츠 아이템을 표시하는 단계는, 상기 하나 이상의 컨텐츠 아이템과 연계된 하나 이상의 식별자를 포획하는 단계; 제 2 사용자 인터페이스를 여는 단계; 상기 하나 이상의 식별자를 이용하여 상기 하나 이상의 컨텐츠 서버로부터 상기 하나 이상의 컨텐츠 아이템을 요청하는 단계; 및 상기 제 2 사용자 인터페이스에서 상기 하나 이상의 컨텐츠 아이템을 렌더링하는 단계를 포함하는 것을 특징으로 하는 방법.
  27. 청구항 21에 있어서,
    상기 속성은 각각의 컨텐츠 아이템에 대한 관련 로딩 시간을 포함하는 것을 특징으로 하는 방법.
  28. 청구항 21에 있어서,
    상기 속성은 상기 하나 이상의 컨텐츠 아이템에 관한 총 로딩 시간을 포함하는 것을 특징으로 하는 방법.
  29. 청구항 21에 있어서,
    상기 제 2 사용자 인터페이스에서 상기 하나 이상의 컨텐츠 아이템과 연계된 소스 코드를 표시하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  30. 청구항 29에 있어서,
    상기 제 2 사용자 인터페이스와 연계된 상기 소스 코드를 저장하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  31. 청구항 30에 있어서,
    사용자 인터페이스에서 상기 저장된 소스 코드를 로딩하는 단계; 및
    상기 사용자 인터페이스에서 상기 하나 이상의 컨텐츠 아이템을 렌더링하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  32. 발행자 서버로부터 수신된 컨텐츠를 포함하는 컨텐츠 페이지의 제 1 부분을 제 1 사용자 인터페이스에서 로딩하는 단계;
    제 2 사용자 인터페이스를 표시하는 단계;
    하나 이상의 컨텐츠 서버로부터 수신된 하나 이상의 컨텐츠 아이템을 포함하는 상기 컨텐츠 페이지의 제 2 부분을 상기 제 2 사용자 인터페이스에서 로딩하는 단계; 및
    상기 제 2 사용자 인터페이스에서 상기 하나 이상의 컨텐츠 아이템에 관한 하나 이상의 속성을 표시하는 단계를 포함하는 것을 특징으로 하는 방법.
  33. 청구항 32에 있어서,
    상기 속성은 각각의 컨텐츠 아이템에 대한 관련 로딩 시간을 포함하는 것을 특징으로 하는 방법.
  34. 청구항 32에 있어서,
    상기 속성은 상기 하나 이상의 컨텐츠 아이템에 관한 총 로딩 시간을 포함하는 것을 특징으로 하는 방법.
  35. 발행자 서버로부터 수신된 컨텐츠를 포함하는 컨텐츠 페이지의 제 1 부분을 제 1 사용자 인터페이스에서 로딩하는 단계;
    제 2 사용자 인터페이스를 표시하는 단계;
    하나 이상의 컨텐츠 서버로부터 수신된 하나 이상의 컨텐츠 아이템을 포함하는 상기 컨텐츠 페이지의 제 2 부분에 관한 소스 코드를 상기 제 2 사용자 인터페이스에서 로딩하는 단계; 및
    상기 소스 코드를 파일에 저장하는 단계를 포함하는 것을 특징으로 하는 방법.
  36. 청구항 35에 있어서,
    사용자 인터페이스에서 상기 파일을 여는 단계를 더 포함하며,
    상기 사용자 인터페이스는 상기 파일의 상기 소스 코드를 제공하는 것을 특징으로 하는 방법.
  37. 발행자 컨텐츠를 포함하는 컨텐츠 페이지의 제 1 부분을 클라이언트 장치로 전송하도록 구성 가능한 발행자 서버; 및
    하나 이상의 컨텐츠 아이템을 포함하는 컨텐츠 페이지의 제 2 부분을 상기 클라이언트 장치로 전송하도록 구성 가능한 하나 이상의 컨텐츠 서버를 구비하며,
    상기 클라이언트 장치는, 제 1 사용자 인터페이스에서 상기 컨텐츠 페이지의 상기 제 1 부분을 로딩하고, 제 2 사용자 인터페이스에서 상기 컨텐츠 페이지의 상기 제 2 부분을 로딩하며, 상기 제 2 사용자 인터페이스에서 상기 하나 이상의 컨텐츠 아이템에 관한 하나 이상의 속성을 표시하도록 구성 가능한 것을 특징으로 하는 시스템.
  38. 하나 이상의 컨텐츠 서버로부터 수신된 컨텐츠 페이지와 연계된 하나 이상의 컨텐츠 아이템의 사본을 저장하도록 구성 가능한 클라이언트 장치; 및
    사용자 인터페이스를 생성하고, 상기 하나 이상의 저장된 컨텐츠 아이템에 대한 결합된 소스 코드를 생성하며, 상기 사용자 인터페이스로 상기 결합된 소스 코드를 삽입하도록 구성 가능한 프로세서를 구비하는 것을 특징으로 하는 시스템.
  39. 하나 이상의 컨텐츠 아이템과 연계된 하나 이상의 컨텐츠 아이템 식별자를 포획하도록 구성 가능한 발행자 서버; 및
    사용자 인터페이스를 생성하고, 상기 하나 이상의 컨텐츠 아이템 식별자와 연계된 상기 하나 이상의 컨텐츠 아이템을 요구하는 컨텐츠 서버에 대한 요청을 생성하며, 상기 사용자 인터페이스에서 상기 하나 이상의 컨텐츠 아이템을 렌더링하도록 구성 가능한 서버 프로세서를 구비하는 것을 특징으로 하는 시스템.
  40. 발행자 서버로부터 수신된 컨텐츠를 포함하는 컨텐츠 페이지의 제 1 부분을 제 1 사용자 인터페이스에서 로딩하는 수단;
    제 2 사용자 인터페이스를 표시하는 수단;
    하나 이상의 컨텐츠 서버로부터 수신된 하나 이상의 컨텐츠 아이템을 포함하는 상기 컨텐츠 페이지의 제 2 부분을 상기 제 2 사용자 인터페이스에서 로딩하는 수단; 및
    상기 제 2 사용자 인터페이스에서 상기 하나 이상의 컨텐츠 아이템과 연계된 하나 이상의 속성을 표시하는 수단을 구비하는 것을 특징으로 하는 시스템.
KR1020107002801A 2007-08-08 2008-08-07 컨텐츠 서버 레이턴시 결정 KR101616063B1 (ko)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US11/836,019 2007-08-08
US11/836,069 US8429544B2 (en) 2007-08-08 2007-08-08 Content server latency demonstration
US11/836,069 2007-08-08
US11/836,019 US8949405B2 (en) 2007-08-08 2007-08-08 Content server latency determination

Publications (2)

Publication Number Publication Date
KR20100051651A true KR20100051651A (ko) 2010-05-17
KR101616063B1 KR101616063B1 (ko) 2016-04-27

Family

ID=40342048

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020107002801A KR101616063B1 (ko) 2007-08-08 2008-08-07 컨텐츠 서버 레이턴시 결정

Country Status (8)

Country Link
EP (1) EP2186014A2 (ko)
JP (2) JP5215393B2 (ko)
KR (1) KR101616063B1 (ko)
CN (2) CN103544215B (ko)
AU (1) AU2008285354B2 (ko)
BR (1) BRPI0815608A2 (ko)
CA (1) CA2696481A1 (ko)
WO (1) WO2009021138A2 (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5987012B2 (ja) * 2014-01-21 2016-09-06 ヤフー株式会社 情報提供装置、端末装置、情報提供方法、情報提供プログラムおよび情報取得プログラム
CN103840977B (zh) * 2014-03-04 2017-10-20 中国联合网络通信集团有限公司 一种互联网业务服务质量测评方法及客户端
US10165071B2 (en) * 2016-01-15 2018-12-25 Google Llc Client-side activity monitoring
JP7180451B2 (ja) * 2019-03-01 2022-11-30 日本電信電話株式会社 Web品質推定装置及びプログラム

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010010059A1 (en) * 1998-10-28 2001-07-26 Steven Wesley Burman Method and apparatus for determining travel time for data sent between devices connected to a computer network
US20020099818A1 (en) * 2000-11-16 2002-07-25 Russell Ethan George Method and system for monitoring the performance of a distributed application
US20030065763A1 (en) * 1999-11-22 2003-04-03 Swildens Eric Sven-Johan Method for determining metrics of a content delivery and global traffic management network

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6601098B1 (en) * 1999-06-07 2003-07-29 International Business Machines Corporation Technique for measuring round-trip latency to computing devices requiring no client-side proxy presence
US6405252B1 (en) * 1999-11-22 2002-06-11 Speedera Networks, Inc. Integrated point of presence server network
US7058706B1 (en) * 2000-03-31 2006-06-06 Akamai Technologies, Inc. Method and apparatus for determining latency between multiple servers and a client
JP2002163185A (ja) * 2000-11-24 2002-06-07 Nippon Telegr & Teleph Corp <Ntt> コンテンツ配信方法及びコンテンツ配信装置
US7720958B2 (en) * 2001-03-09 2010-05-18 International Business Machines Corporation Method and system for embedding correlated performance measurements for distributed application performance decomposition
US20030217147A1 (en) * 2002-05-14 2003-11-20 Maynard William P. Directing a client computer to a least network latency server site
JP3908627B2 (ja) * 2002-08-21 2007-04-25 日本電信電話株式会社 Webページ転送時間推定装置、Webページ転送時間推定プログラム及びWebページ転送時間推定プログラムを記録したコンピュータ読み取り可能な記録媒体
US8250201B2 (en) * 2002-09-09 2012-08-21 International Business Machines Corporation Servlet monitoring tool
US7296256B2 (en) * 2003-10-20 2007-11-13 International Business Machines Corporation Method and apparatus for automatic modeling building using inference for IT systems
CN1561036A (zh) * 2004-02-24 2005-01-05 华中科技大学 基于tpc-w基准的网站服务器性能测试系统
JP2005276074A (ja) * 2004-03-26 2005-10-06 Hitachi Information Systems Ltd 応答時間測定表示システム及び表示方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20010010059A1 (en) * 1998-10-28 2001-07-26 Steven Wesley Burman Method and apparatus for determining travel time for data sent between devices connected to a computer network
US20030065763A1 (en) * 1999-11-22 2003-04-03 Swildens Eric Sven-Johan Method for determining metrics of a content delivery and global traffic management network
US20020099818A1 (en) * 2000-11-16 2002-07-25 Russell Ethan George Method and system for monitoring the performance of a distributed application

Also Published As

Publication number Publication date
JP2010536100A (ja) 2010-11-25
CN103544215A (zh) 2014-01-29
CN101809560A (zh) 2010-08-18
JP5215393B2 (ja) 2013-06-19
CN103544215B (zh) 2017-01-04
EP2186014A2 (en) 2010-05-19
WO2009021138A2 (en) 2009-02-12
JP5538584B2 (ja) 2014-07-02
JP2013168156A (ja) 2013-08-29
AU2008285354B2 (en) 2012-10-11
BRPI0815608A2 (pt) 2015-03-24
CN101809560B (zh) 2013-09-25
CA2696481A1 (en) 2009-02-12
WO2009021138A3 (en) 2009-04-16
KR101616063B1 (ko) 2016-04-27
AU2008285354A1 (en) 2009-02-12

Similar Documents

Publication Publication Date Title
US10911554B2 (en) Method and system for tracking web link usage
JP6351611B2 (ja) ページ取得イベント中のページプレビューの配信および表示
JP6173546B2 (ja) リダイレクトの低減
KR101391894B1 (ko) 콘텐츠 요청 최적화
US8825637B1 (en) Recording user actions
US20110161825A1 (en) Systems and methods for testing multiple page versions across multiple applications
US8306805B2 (en) Scenario generation method and scenario generation apparatus
US20100313129A1 (en) Self-Expanding AD Unit
JP2015511347A5 (ko)
CN107918575B (zh) 一种页面状态的监控方法及装置
US8516041B1 (en) Pre-fetching asynchronously requested content
US8949405B2 (en) Content server latency determination
CN110502699B (zh) 用于获取信息的方法和装置
Shroff et al. Critical rendering path optimizations to reduce the web page loading time
JP5538584B2 (ja) コンテンツサーバの待ち時間の決定
CN104881452B (zh) 一种资源地址的嗅探方法、装置及系统
US9892429B2 (en) Presenting advertisement on invocation of browser back button
JP6568985B2 (ja) バッチ最適化レンダリング及びフェッチアーキテクチャ
Vogel et al. An in-depth analysis of web page structure and efficiency with focus on optimization potential for initial page load
US8429544B2 (en) Content server latency demonstration
AU2012261599B2 (en) Content server latency determination
JP2013131154A (ja) 情報処理装置、情報処理方法、情報処理システム、及び、プログラム
JP6683835B2 (ja) 複数のスレッドを使って電子リソースをダウンロードする際の待ち時間の削減
JP7104091B2 (ja) 複数のスレッドを使って電子リソースをダウンロードする際の待ち時間の削減
Edgar Speed Metrics Guide

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20190410

Year of fee payment: 4