KR20130040255A - 정보 처리 장치, 서버-클라이언트 시스템, 및 컴퓨터 프로그램 제품 - Google Patents

정보 처리 장치, 서버-클라이언트 시스템, 및 컴퓨터 프로그램 제품 Download PDF

Info

Publication number
KR20130040255A
KR20130040255A KR1020137004273A KR20137004273A KR20130040255A KR 20130040255 A KR20130040255 A KR 20130040255A KR 1020137004273 A KR1020137004273 A KR 1020137004273A KR 20137004273 A KR20137004273 A KR 20137004273A KR 20130040255 A KR20130040255 A KR 20130040255A
Authority
KR
South Korea
Prior art keywords
server
client terminal
image file
pixel image
single pixel
Prior art date
Application number
KR1020137004273A
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 엠파이어 테크놀로지 디벨롭먼트 엘엘씨
Publication of KR20130040255A publication Critical patent/KR20130040255A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
    • G06F16/48Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
    • G06F16/489Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually using time information
    • 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/535Tracking the activity of the user

Landscapes

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

Abstract

서버-클라이언트 시스템에서, 서버는 웹사이트를 제공하고, 웹 비컨 기술을 이용하여 액세스 로그를 기록하는 기능을 제공하며, 서버와 통신 가능한 클라이언트 단말기는 <div> 태그 요소 내 <img> 태그 요소의 소스에 임의의 매개변수를 동적으로 추가된 1 픽셀 이미지 파일을 동적으로 임베드함으로써 JavaScript를 실행하기 위한 브라우저를 포함한다. 임의의 매개변수는, 클라이언트 단말기에서 획득된 현재 시간 데이터를 적어도 포함한다. 서버는, 웹사이트로부터 요청된 1 픽셀 이미지 파일을 판독할 수 있으며, 클라이언트 단말기로 HTML로의 1 픽셀 이미지 파일을 전달하며, 동시에 웹 비컨 기술에 의해 기록 가능한 정보에 추가하여 임의의 매개변수를 포함하는 로그를 기록할 수 있다.

Description

정보 처리 장치, 서버-클라이언트 시스템, 및 컴퓨터 프로그램 제품{INFORMATION PROCESSING APPARATUS, SERVER-CLIENT SYSTEM, AND COMPUTER PROGRAM PRODUCT}
본 개시는 일반적으로 액세스 로그를 기록하고 액세스 로그를 검색하기에 적합할 수 있는 정보 처리 장치, 서버-클라이언트 시스템, 및 컴퓨터 프로그램 제품에 관한 것이다.
서버-클라이언트 시스템은, 웹 서버 및 인터넷을 통해 웹 서버에 의해 제공되는 웹사이트를 액세스하는 클라이언트 단말기에 의해 형성될 수 있다. 웹 서버에서는, 클라이언트 단말기로부터 웹사이트의 각 웹페이지에 대한 각 액세스의 로그를 기록하는 것이 유용할 수 있다. 웹 비컨(beacon) 기술은, 웹 서버에 의해 제공되는 웹사이트의 어떤 웹페이지를 누가 언제 방문했는지에 대한 로그를 기록하기 위해 제안되었던 액세스 분석 기술이다.
예를 들어, 웹 비컨 기술은, 각 분석 목적 웹페이지에 대해, 임베드된 이미지(embedded image)를 나타내는 자바스크립트(JavaScript)에서의 <img> 태그를 임베드하고, 웹사이트로부터 분석을 위한 단일 픽셀 이미지 파일이 판독되게 한다. <img> 태그는, 크로스-도메인(cross-domain)에서 사용될 수 있는데, 이것은 웹 비컨으로 동작한다. 웹사이트를 방문한 방문자에 관련된 정보는, 액세스 로그로부터 웹페이지에 임베드된 <img> 태그 요소를 추출하여 그 로그를 분석함으로써 쉽게 분석될 수 있으며, 이 분석은 로그에 포함된 방문자의 IP(Internet Protocol) 주소를 분석하거나 숫자를 계산하는 것을 포함할 수 있다. 단일 픽셀 이미지 파일은, 예를 들어, 서로 다른 웹페이지에 동일 이미지 파일이 임베드되더라도, 통신 대역의 불필요한 증가를 방지하고 웹사이트의 메모리 자원의 불필요한 소비를 방지하기 위해 사용된다.
그러나, 최근에, 클라이언트 단말기의 브라우저는, 파일이 캐쉬된 데이터의 그것과 동일한 파일명 또는 URL(Uniform Resource Locator)을 갖는 경우, 그 캐쉬된 데이터를 사용하는 캐슁 기능을 가질 수 있다. 따라서, 캐쉬된 데이터를 사용하고 특정된 웹사이트로부터 데이터를 읽지 않는 액세스의 로그는 기록되지 않을 것이다.
이에 따라, 상시적으로 특정된 웹사이트로부터 단일 픽셀 이미지 파일을 판독하고 방문자(또는 사용자)에 의한 액세스의 로그를 명시적으로(positively) 기록하기 위해, 캐슁 기능을 무효화(nullify)하기 위한 방법이 제안되었다. 이 제안된 방법에 따르면, 상시적으로 의도적으로 단일 픽셀 이미지 파일을 새로운 단일 픽셀 이미지 파일로 잘못 인식하도록 하고, 특정된 웹사이트로부터의 판독이 일어나도록 하기 위해, 동적으로 임의의 매개변수가 <img> 태그 요소의 소스, 즉, 단일 픽셀 이미지 파일의 파일명에 더해진다. 결과적으로, 액세스의 로그가, 특정된 웹사이트의 웹페이지가 액세스될 때마다 기록된다.
그러나, 웹 비컨 기술은, 위 제안된 방법과 결합되더라도, 특정된 웹사이트의 각 방문된 웹페이지에 대해 액세스 통계 데이터가 획득되도록 하는 정보를 포함하는 로그만을 기록한다. 아파치(Apache)(등록 상표) HTTP(Hyper Text Transfer Protocol) 서버는, 방문자의 IP 주소, 도메인 명, 액세스 날짜 및 시간(수 초 이상의 단위), 액세스 페이지 명, 레퍼러(referrer)(즉, 액세스 직전에 참조되는 페이지) 등을 포함하는 액세스 로그를 기록하는 기능을 갖는다. 예를 들어, 웹 서버가 아파치 HTTP 서버에 의해 형성된다고 하더라도, 액세스의 로그는 수 초 수준의 시간 해상도를 가질 뿐이다. 클라이언트 단말기에서 방문자에 의해 이루어진 마우스 클릭과 같은 수동적 동작(manual operation)에 필요한 시간과 같은, 인간 응답 속도가 고려되는 경우, 이러한 수 초 수준의 시간 해상도는 비교적 낮다. 또한, 액세스 로그는, 브라우저로부터의 요청의 순서대로 기록되지 않고, 파일 전송 실행의 순서대로 기록된다.
결과적으로, 웹 서버에 기록된 로그는, 액세스와 연관되고 방문자에 의해 이루어진 동작의 선후 관계(causality)를 저장하지 않고, 방문자에 의한 액세스와 연관된 동작을 반드시 정확히 반영하지도 않는다.
따라서, 본 개시는, 방문자에 의한 액세스와 연관된 동작의 선후 관계를 로그가 저장하고 이러한 동작을 정확히 반영하도록, 웹사이트에 대한 액세스 로그를 기록할 수 있는, 새롭고 유용한 정보 처리 장치, 서버-클라이언트 시스템, 및 컴퓨터 프로그램 제품을 제공하기 위한 예시적인 실시예들을 일반적으로 기술한다.
일부 예시적인 실시예에 따르면, 웹사이트를 제공하고 웹 비컨 기술을 이용하여 액세스 로그를 기록하는 기능을 포함하는 서버와 통신 가능한 정보 처리 장치가 제공되며, 이 정보 처리 장치는, 브라우저 프로그램을 저장하도록 구성되는 저장 유닛, 및 브라우저 기능을 제공하기 위해 저장 유닛에 저장된 브라우저 프로그램을 실행하도록 구성되는 프로세서를 포함하며, 이 브라우저 기능은, <div> 태그 요소 내에 <img> 태그 요소의 소스에, 적어도 정보 처리 장치에서 획득된 현재 시간 데이터를 포함하는 임의의 매개변수가 동적으로 더해진 단일 픽셀 이미지 파일을 동적으로 임베드(embed)함으로써 JavaScript를 실행하는 기능, 및 입력 이벤트가 정보 처리 장치에서 생성됨에 따라, 단일 픽셀 이미지 파일에 대한 요청을 서버에 전달하는 기능을 포함한다.
일부 예시적인 실시예에 따르면, 클라이언트 단말기와 통신 가능한 정보 처리 장치가 제공되며, 이 정보 처리 장치는, 서버 프로그램 및 로그를 저장하도록 구성되는 저장 유닛, 및 서버 기능을 제공하기 위해 저장 유닛에 저장된 서버 프로그램을 실행하도록 구성되는 프로세서를 포함하고, 서버 기능은, 웹사이트를 제공하는 기능, 웹사이트로부터 단일 픽셀 이미지 파일을 판독하고, 클라이언트 단말기에서 생성된 입력 이벤트에 응답하여 수신된 단일 픽셀 이미지 파일에 대한 요청에 응답하여, HTML의 판독된 단일 픽셀 이미지 파일을 클라이언트 단말기로 전송하는 기능, 및 HTML의 판독된 단일 픽셀 이미지 파일을 클라이언트 단말기로 전송함과 실질적으로 동시에, 웹 비컨 기술을 이용하여 클라이언트 단말기로부터의 액세스의 로그를 기록하는 기능을 포함하며, 클라이언트 단말기로부터 수신된 단일 픽셀 이미지 파일에 대한 요청은, JavaScript를 실행함으로써 <div> 태그 요소 내의 <img> 태그 요소의 소스에, 임의의 매개변수가 동적으로 더해진 단일 픽셀 이미지 파일이 동적으로 임베드되며, 임의의 매개변수는, 적어도 클라이언트 단말기에서 획득된 현재 시간 데이터를 포함하며, 로그는, 웹 비컨 기술에 의해 기록 가능한 정보에 더하여, 단일 픽셀 이미지 파일에 대한 요청 내의 단일 픽셀 이미지 파일에 더해진 임의의 매개변수를 포함한다.
일부 예시적인 실시예에 따르면, 각각 클라이언트 단말기 및 서버로 기능하는 상기 기술된 정보 처리 장치를 포함하는 서버-클라이언트 시스템이 제공된다.
일부 예시적인 실시예에 따르면, 컴퓨터에 의해 실행될 때, 컴퓨터로 하여금, 클라이언트 단말기로서 기능하는 상기 기술된 정보 처리 장치의 브라우저 기능을 수행하게 하거나, 서버로서 기능하는 상기 기술된 정보 처리 장치의 서버 기능을 수행하게 하는, 프로그램을 저장하는 컴퓨터 프로그램 제품이 제공된다.
상기 실시예들의 다른 목적 및 추가의 특징들이 첨부된 도면들과 함께 기재된 이하 상세한 설명으로부터 명확해질 것이다.
도 1은 일 실시예에서의 서버-클라이언트 시스템의 일 예를 도시하는 블록도이다.
도 2는 범용 컴퓨터의 일 예를 도시하는 블록도이다.
도 3은 웹 서버에 의한 액세스 로그를 기록하는 서버의 일 예를 도시하는 블록도이다.
도 4는 웹 서버에 의한 액세스 로그를 기록하는 서버의 다른 일 예를 도시하는 블록도이다.
도 5는 웹사이트에 대한 액세스를 설명하는 도면이다.
도 6은 타이머 이벤트에 응답하는 브라우저 프로세스를 설명하는 흐름도이다.
도 7은 타이머 이벤트에 응답하여 기록된 액세스 로그의 일 예를 도시하는 도면이다.
도 8은 입력 이벤트에 응답하는 브라우저 프로세스를 설명하는 흐름도이다.
도 9는 입력 이벤트의 일 예를 설명하는 도면이다.
도 10은 액세스 로그로부터 정보를 수집할 때의 웹 서버 프로세스를 설명하는 흐름도이다.
도 11은 영화 투어를 설명하는 클라이언트 단말기에서 디스플레이된 스크린의 일 예를 도시하는 도면이다.
도 12는 플레이리스트와 연관된 웹사이트에 대한 액세스를 설명하는 도면이다.
도 13은 JavaScript 파일의 플레이리스트의 일 예를 도시하는 도면이다.
도 14는 동적으로 생성된 태그의 일 예를 도시하는 도면이다.
도 15는 SendInfo 함수의 일 예를 도시하는 도면이다.
도 16은 클라이언트 단말기에서 생성된 입력 이벤트에 관련된 정보를 포함하는 액세스 로그의 일 예를 도시하는 도면이다.
도 17은 웹사이트로부터의 로그 정보의 검색을 설명하기 위한 도면이다.
도 18은 그림의 생성을 설명하기 위한 도면이다.
도 19는 문서의 생성을 설명하기 위한 도면이다.
도 20은 키 프레임을 설명하기 위한 도면이며, 모두 본 개시에 따라 배열된다.
도 21은 예시적인 컴퓨터 프로그램 제품을 도시하는 블록도이다.
도 22는 다른 예시적인 컴퓨터 프로그램 제품을 도시하는 블록도이다.
다음 상세한 설명에서, 여기의 일부를 이루는 첨부 도면에 대한 참조가 이루어진다. 도면에서, 문맥상 다르게 기재되지 않는 한, 유사한 기호는 일반적으로 유사한 구성요소를 나타낸다. 상세한 설명, 도면 및 청구범위에 기재된 예시적 실시예들은 제한적으로 의도된 것이 아니다. 여기에 제시된 대상의 사상과 범위를 벗어나지 않는 한, 다른 실시예들이 사용될 수 있고, 다른 변경들이 가해질 수 있다. 본 개시의 양상들은, 여기에 일반적으로 기재되고 도면에 도시된 것과 같이, 다양한 서로 다른 구성들로 배열, 치환, 결합 및 설계될 수 있음과, 이것들이 모두 명시적으로 의도되어 본 개시의 일부를 이루고 있음이 명백히 이해될 수 있다.
도 1은, 일 실시예에서의 서버-클라이언트 시스템의 일 예를 도시하는 블록도이다. 도 1에 도시된 서버-클라이언트 시스템(11)은, 웹 서버(12), 및 인터넷과 같은 네트워크(14)를 통해 웹 서버(12)에 연결 가능한 클라이언트 단말기(13-1 내지 13-N)를 포함하며, 여기서 N은 영(0)보다 큰 임의의 자연수이다. 웹 서버(12)는, CPU(Central Processing Unit)와 같은 프로세서 및 저장 유닛을 포함하는 알려진 구조를 갖는 정보 처리 장치에 의해 형성될 수 있다. 클라이언트 단말기(13-1 내지 13-N)의 각각은, CPU와 같은 프로세서 및 저장 유닛을 포함하는 알려진 구조를 갖는 정보 처리 장치에 의해 형성될 수 있다.
웹 서버(12) 및 클라이언트 단말기(13-1 내지 13-N)의 각각은, 도 2에 도시된 범용 컴퓨터(21)에 의해 형성될 수 있다. 범용 컴퓨터(21)는 버스(27)를 통해 연결된 CPU(22), 저장 유닛(23), 키보드 및 마우스와 같은 입력 장치(24), 디스플레이 유닛(25), 및 인터페이스(I/F)(26)를 포함한다. CPU(22)는 입력 장치(24)로부터의 명령 입력 및/또는 입력에 응답하여 연산을 실행할 수 있다. 저장 유닛(23)은 CPU(22)에 의해 실행될 프로그램, 및 CPU(22)에 의해 수행되는 계산의 중간 데이터를 포함하는 다양한 데이터를 저장한다. 범용 컴퓨터(21)가 웹 서버(12)를 형성할 때, 저장 유닛(23)은 웹사이트의 웹페이지를 저장할 수 있으며, 클라이언트 단말기(13-1 내지 13-N)로부터 이루어진 액세스의 로그를 저장할 수 있다.
디스플레이 유닛(25)은, 입력 장치(24)로부터의 입력, CPU(22)에 의해 수행된 연산의 결과, 및 메시지를 포함하는 다양한 정보를 디스플레이할 수 있다. 범용 컴퓨터(21)가 클라이언트 단말기(13-i)(여기서, i는 1 내지 N 중의 하나인 임의의 값)를 형성할 때, 디스플레이 유닛(25) 상에 디스플레이된 정보는, 입력 장치(24)로부터 특정되고 웹 서버(12)에 의해 제공된 웹사이트와 그 웹페이지를 포함할 수 있다. 인터페이스(26)는 예를 들어 도 1에 도시된 네트워크(14)에 연결된다.
물론, 입력 장치(24) 및 디스플레이 유닛(25)은, 터치스크린 패널과 같은 단일 장치에 의해 형성될 수 있다.
저장 유닛(23)은, CPU(22)에 의해 프로그램 및 데이터가 판독되도록 하는, 임의의 적절한 컴퓨터 판독 가능 저장 매체에 의해 형성될 수 있다. 예를 들어, 컴퓨터 판독 가능 저장 매체는, 반도체 장치, 자기 기록 매체, 광학 기록 매체, 또는 자기 광학 기록 매체로부터 선택될 수 있으나, 이에 제한되지 않는다.
컴퓨터 판독 가능 저장 매체는, CPU(22)에 의해 실행될 때, CPU(22)가 웹 서버(12)의 서버 프로세스를 수행하도록 하는 서버 프로그램을 저장할 수 있으며, 컴퓨터 프로그램 제품을 형성할 수 있다. 다른 한편, 컴퓨터 판독 가능 저장 매체는, CPU(22)에 의해 실행될 때, CPU(22)로 하여금 클라이언트 단말기(13-i)의 클라이언트 프로세스를 수행하도록 하는 클라이언트 프로그램을 저장할 수 있으며, 컴퓨터 프로그램 제품을 형성할 수 있다. 후자의 경우, 클라이언트 프로그램은, 클라이언트 단말기(13-i)의 브라우저 프로그램(또는 소프트웨어)의 일부를 형성할 수 있다.
일부 예시적인 실시예에서, 설명의 편의를 위해, 웹 서버(12)는 알려진 웹 비컨 기술을 이용하여 액세스 로그를 기록하는 기능을 갖는 아파치 HTTP 서버에 의해 형성되는 것으로 가정된다. 추가로, 설명의 편의를 위해, 클라이언트 단말기(13-1 내지 13-N)의 각각이 브라우저 프로그램(또는 소프트웨어)이 설치되며, 알려진 브라우저 기능을 갖는다고 가정된다.
도 3 및 도 4는, 웹 서버(12)에 의한 액세스 로그를 기록하는 서버의 예를 도시하는 블록도이다.
액세스 로그가 웹 서버(12)의 저장 유닛(23)에 기록되는 것이 반드시 필수적인 것은 아니다. 예를 들어, 액세스 로그는 도 2에 도시된 범용 컴퓨터(21)에 의해 형성될 수 있고 도 3에 도시된 네트워크(14)에 연결되는 서버(32)의 저장 유닛(23)에 기록될 수 있다. 대안적으로, 액세스 로그는, 도 2에 도시된 범용 컴퓨터(21)에 의해 형성될 수 있고 네트워크(14)와 다른 네트워크(37)를 통해 웹 서버(12)에 연결되는 서버(32)의 저장 유닛(23)에 기록될 수 있다. 예를 들어, 네트워크(37)는 LAN(Local Area Network)에 의해 형성될 수 있다. 웹 서버(12)는 네트워크(14)를 통해 도 3에 도시된 서버(32)와 통신 가능하며, 웹 서버(12)는 네트워크(37)를 통해 도 4에 도시된 서버(32)와 통신 가능하다. 또한, 도 3 및 도 4에 도시된 서버(32)는, 알려진 구조를 가지며 웹 서버(12)에 의한 액세스 로그를 저장하도록 구성된 저장 시스템에 의해 대체될 수 있다.
다음으로, 도 5를 참조하여, 임의의 클라이언트 단말기(13-i)가 웹 서버(12)에 의해 제공되는 웹사이트에 대해 액세스할 때, 이 실시예의 동작의 예에 대해 기술한다.
도 5는, 클라이언트 단말기(13-i)의 브라우저(131)를 이용하여, 웹 서버(12)에 의해 제공된 웹사이트(120)에 대한, 임의의 클라이언트 단말기(13-i)에서의 방문자(또는 사용자)로부터의 액세스를 설명하기 위한 도면이다. 도 5에서, 웹 서버(12)는, 웹페이지(120-1 내지 120-M)를 포함하는 웹사이트(120)를 제공하며(여기서, M은 0보다 큰 자연수), 로그(121)를 기록한다. 웹 서버(12)는, 로그(121)를 분석하기 위한 분석 기능을 제공하는 애플리케이션(또는 애플리케이션 프로그램)(122)을 더 포함하지만, 이 애플리케이션(122)은, 로그(121)를 원격 분석하기 위해, 도 3 및 도 4에 도시된 서버(32)와 같은, 웹 서버(12)와 통신 가능하지만 분리된 서버에서 제공될 수 있다. 웹페이지(120-1 내지 120-M), 로그(121), 및 애플리케이션(122)은 웹 서버(12)의 저장 유닛(23)에 저장 또는 설치될 수 있다. 브라우저(131)는 클라이언트 단말기(13-i)의 저장 유닛(23)에 설치될 수 있다.
단계(ST1)에서, 브라우저(131)는 웹 서버(12)에 웹사이트(120) 또는 그 웹페이지(120-j)를 HTML(HyperText Markup Language)로 요청한다(여기서 j는 0 내지 M). 단계(ST2)에서, 브라우저(131)는 웹 서버(12)로부터 HTML로 웹사이트(120)의 요청된 웹페이지(120-j)를 획득한다. 단계(ST3)에서, 브라우저(131)는 획득된 웹페이지(120j)의 HTML을 해석한다. 단계(ST4)에서, 브라우저(131)는, <div> 태그 요소 내에, <img> 태그 요소의 소스, 즉, 단일 픽셀 이미지 파일의 파일명에, 임의의 매개변수가 동적으로 추가된 단일 픽셀 이미지 파일(1 픽셀 이미지 파일)을 동적으로 임베드함으로써 JavaScript를 실행한다. 임의의 매개변수는, 예를 들어, 클라이언트 단말(13-i)에서 획득된 밀리초(millisecond) 이하의 단위의 적어도 현재 시간 데이터를 포함한다. <div> 태그 요소는 원래는 블록 레벨의 논리 분할을 나타내지만, 문서 섹션을 구분하기 위해 사용되는 구문적 의미(semantic meaning)가 없는 일반적인 요소이다.
단계(ST5)에서, 브라우저(131)는, 예를 들어 클라이언트 단말기(13-i)에서 방문자에 의해 입력 이벤트가 생성될 때마다, GET 명령어에 의해, 웹 서버(12)에 단일 픽셀 이미지 파일에 대한 요청을 한다. 입력 이벤트는, 방문자가 클라이언트 단말기(13-i)의 입력 장치(24)를 동작할 때 생성되며, 입력 장치(24)로부터 문자열이 입력되는 키 다운(key-down), 입력 장치(24)로부터 좌표, 선 세그먼트 등 중의 어느 하나가 그래픽하게 입력되는 마우스 클릭, 입력 장치(24)에 대한 입력에 응답하여 디스플레이 유닛(25)에서 디스플레이된 버튼이 클릭되어 프로세스를 실행하는 버튼 클릭, 입력 장치에 대한 입력에 응답하여 디스플레이 유닛(25)에 디스플레이된 체크 박스가 클릭되어 프로세싱 모드를 설정하는 체크박스 클릭, 및 입력 장치에 대한 입력에 응답하여 디스플레이 유닛(25)에 디스플레이된 라디오 버튼이 클릭되어 컬러, 모드 등이 선택되는 라디오 버튼 클릭을 포함한다. 단일 픽셀 이미지 파일에 대한 요청에서 임의의 매개변수가 단일 픽셀 이미지 파일에 동적으로 더해지기 때문에, 단일 픽셀 이미지 파일이 클라이언트 단말기(13-i) 내에 캐쉬된 경우에도, 클라이언트 단말기(13-i)로부터 요청된 단일 픽셀 이미지 파일은 웹 서버(12)로부터 판독될 수 있다. 예를 들어, 클라이언트 단말기(13-i)로부터 요청된 단일 픽셀 이미지 파일은, 단일 픽셀 이미지 파일이 클라이언트 단말기(13-i) 내에 캐쉬된 경우에도, 웹 서버(12)로부터 반복적으로 판독될 수 있다.
단계(ST6)에서, 웹 서버(12)는 웹사이트(120)로부터 요청된 단일 픽셀 이미지 파일을 판독하고, HTML로 판독된 단일 픽셀 이미지 파일을 클라이언트 단말기(13-i)로 전송한다. 동시에 또는 실질적으로 동시에, 웹 서버(12)는 클라이언트 단말기(13-i)로부터의 액세스의 로그(121), 즉 단일 픽셀 이미지 파일에 대한 요청을 기록한다. 웹 서버(12)에서 기록된 로그(121)는 임의의 매개변수, 즉 알려진 웹 비컨 기술을 이용하여 액세스 로그를 기록하는 기능에 의해 기록된 방문자의 레퍼러(즉, 액세스 직전에 참조된 페이지), 액세스 페이지명, 웹 서버(12) 내의 내부 타이머 등에 의해 획득된 (수초 이상 단위의) 액세스 날짜 및 시간, 도메인 명, IP 주소 등에 더하여, 단일 픽셀 이미지 파일에 대한 요청에서 단일 픽셀 이미지 파일에 더해지고 클라이언트 단말기(13-i) 내에 내부 타이머 등으로부터 획득된 밀리초 이하 단위의 현재 시간 데이터를 적어도 포함할 수 있다.
단계(ST7)에서, 애플리케이션(122)은, 예를 들어 웹 서버(12)의 운영자 또는 관리자에 의한 웹 서버(12)의 입력 장치(24)로부터의 요청 (또는 명령) 입력에 응답하여, 필요한 경우 로그(121)를 분석한다. 웹 서버(12)에 기록된 로그(121)는 임의의 매개변수, 즉, 단일 픽셀 이미지 파일에 대한 요청에서 단일 픽셀 이미지 파일에 더해진, 적어도 현재 시간 데이터를 포함할 수 있으며, 로그(121)는 방문자에 의해 이루어진 액세스와 연관된 동작의 선후 관계를 저장할 수 있고 그러한 동작을 정확히 반영한다. 따라서, 로그(121)의 기록 순서가 선후 관계를 보장하지 않더라도, 애플리케이션(122)은 로그(121)로부터 웹사이트(120)에 방문자에 의한 액세스와 연관된 동작의 선후 관계를 복구할 수 있다. 단일 픽셀 이미지 파일에 대한 요청에서 단일 픽셀 이미지 파일에 더해진 임의의 매개변수가 방문자에 의한 액세스와 연관된 동작(또는 입력 이벤트)을 재구성하는 데에 필요한 정보를 더 포함하는 경우, 애플리케이션(122)은 웹사이트(120)에서 방문자에 의한 액세스와 연관된 동작을 재구성할 수 있다.
따라서, 클라이언트 단말기(13-i)에서 입력 이벤트가 생성될 때마다, 요청된 단일 픽셀 이미지 파일이 이미 클라이언트 단말기(13-i) 내에서 캐쉬된 경우에도, 브라우저(131)는 웹 서버(12)로부터 요청된 단일 픽셀 이미지 파일을 새로이 판독할 수 있다. 브라우저(131)는, 단일 픽셀 이미지 파일에 대한 요청을 하기 직전에 Date().getTime()을 실행함으로써, 단일 픽셀 이미지 파일에 대한 요청에서 단일 픽셀 이미지 파일에 더해질 현재 시간 데이터를 획득할 수 있다. 현재 시간 데이터는 이미지 파일명 또는 이미지 URL 후에 임의의 매개변수로서 더해질 수 있다.
로그(121)가 웹 서버(12)에 기록되는 순서는, 요청(또는 명령어)의 순서가 아니고, 요청의 실행 순서이다. 그러나, 단일 픽셀 이미지 파일에 대한 요청에서 단일 픽셀 이미지 파일에 더해지고 클라이언트 단말기(13-i)에서 획득된 현재 시간 데이터 Date().getTime()는, 밀리초 이하의 수준의 시간 해상도를 가지므로, 액세스와 연관된 동작의 선후 관계는, 요청을 실행 순서에서 요청 순서로 재배열함으로써 현재 시간 데이터를 이용하여 복구될 수 있다. 이는, 밀리초 이하 단위의 현재 시간 데이터의 시간 해상도가, 0.01초 수준의 최대 인간 반응 속도, 즉 클라이언트 단말기(13-i)에서 방문자에 의해 이루어진 마우스 클릭과 같은 수동적 동작에 필요한 시간에 비해 상대적으로 높기 때문이다.
다른 한편, 단일 픽셀 이미지 파일에 대한 요청에서 단일 픽셀 이미지 파일에 더해진 임의의 매개변수는, 방문자에 의한 액세스와 연관된 동작을 재구성하는 데에 필요한 정보를 더 포함할 수 있다. 즉, 세그멘팅 코드(segmenting code)(또는 기호) "&"에 의해 분할된 매개변수는, 현재 시간 데이터에 추가하여, 단일 픽셀 이미지 파일에 대한 요청에서 단일 픽셀 이미지 파일에 추가될 수 있다. 현재 시간 데이터에 추가된 매개변수는, 키 다운에 의해 입력된 문자열, 마우스 클릭에 의해 결정된 픽셀 또는 라인 세그멘트 좌표, 버튼 클릭에 의해 클릭된 버튼을 식별하는 식별 정보, 체크박스 클릭에 의해 클릭된 체크박스를 식별하는 식별 정보, 라디오 버튼 클릭에 의해 클릭된 라디오 버튼을 식별하는 식별 정보, 및 로그(121)에 기록될 필요가 있고 방문자에 의해 이루어진 액세스와 연관된 동작을 재구성하는데 필요한 다른 어떤 정보도 포함할 수 있다. 예를 들어, 임의의 매개변수가 키 다운에 의해 입력된 문자열과 현재 시간 데이터를 포함한다면, 단일 픽셀 이미지 파일에 추가된 임의의 매개변수는 다음과 같이 된다.
?(Current Time Data)&(Character String Input By Key-Down)
그러므로, 애플리케이션(122)은, 로그(121)의 기록 순서가 선후 관계를 보장하기 않더라도, 로그(121)로부터, 웹사이트(120)에서 방문자에 의한 액세스와 연관된 동작의 선후 관계를 복구할 수 있으며, 단일 픽셀 이미지 파일에 대한 요청에서 단일 픽셀 이미지 파일에 더해진 임의의 매개변수가, 클라이언트 단말기(13-i)에서 생성된 입력 이벤트에 관련된 정보를 포함하는, 방문자에 의한 액세스와 연관된 동작을 재구성하는데 필요한 상기 정보를 더 포함하는 경우, 웹사이트(120)에서 방문자에 의한 액세스와 연관된 동작을 또한 재구성할 수 있다. 이는, 밀리초 이하 단위의 현재 시간 데이터의 시간 해상도가, 0.01초 수준의 최대 인간 반응 속도, 즉 클라이언트 단말기(13-i)에서 방문자에 의해 이루어진 마우스 클릭과 같은 수동적 동작에 필요한 시간에 비해 상대적으로 높기 때문이다.
본 실시예에서, 웹 서버(12)에 기록된 로그(121)는, 아파치 HTTP 서버에 의해 기록된 로그와 일치할 수 있다. 아파치 HTTP 서버에 의해 기록된 로그가 윈도우즈(Windows)(등록 상표) 애플리케이션(예컨대, c++, VB, VBA 등)에 의해 판독되고 처리될 수 있기 때문에, 웹 서버(12)를 위한 소프트웨어 개발자는, 윈도우즈 애플리케이션에 관한 일반적 지식이 필요할 수 있으며, 통신 기술과 관련된 특별한 지식이나 경험은 필요하지 않을 수 있다. 또한, 클라이언트 단말기(13-i)를 위한 소프트웨어 개발자는, HTML 및 JavaScript에 대한 일반적 지식이 필요할 수 있다. 또한, 로그(121)에 포함될 정보는, 클라이언트 단말기(13-i)에서의 방문자, 웹 서버(12)에서의 운영자 또는 관리자가 웹 서버(12)로 필요한 정보의 전송을 달성하기 위한 방법을 인식할 필요 없이, 클라이언트 단말기(13-i)로부터 웹 서버(12)로 전송된 단일 픽셀 이미지 파일에 대한 요청에서 숨겨질(concealed) 수 있다.
적어도 이러한 이유들 때문에, 클라이언트 단말기(13-i)에서의 방문자 및 웹 서버(12)에서의 운영자 또는 관리자는, 로그(121)에 포함될 정보를 클라이언트 단말기(13-i)로부터 웹 서버(12)로 전송하기 위해 특별한 지식이나 기술이 필요하지 않다. 예를 들어, 클라이언트 단말기(13-i)는 JSONP(JavaScript Object Notation with Padding)로 웹 서버(12)로부터 단일 픽셀 이미지 파일을 수신할 수 있으며, 단일 픽셀 이미지 파일에 대한 요청 내에 로그(121)에 포함될 정보를 숨김으로써 동적 양방향 통신이 이루어질 수 있다. 클라이언트 단말기(13-i)의 프로그램 개발에는 JavaScript에 관한 지식이 필요할 수 있으나, 외부 AJAX(Asynchronous JavaScript + XML(eXtensible Markup Language)) 라이브러리, 외부 ASP(Active Server Pages)(등록 상표) 등에 의존하지 않을 수 있다. 또한, 웹 서버(12)는, 예를 들어 윈도우즈 애플리케이션과 함께 설치된 아파치 HTTP 서버에 의해 형성될 수 있다. 또한, 브라우저(131)는, POST 명령어를 사용할 필요 없이, 로그(121)에 기록될 임의의 매개변수를 전송하기 위해 GET 명령어에 의해 웹 서버(12)로 단일 픽셀 이미지 파일에 대한 요청을 할 수 있다.
다른 한편, 클라이언트 단말기(13-i)에서 입력 이벤트가 생성될 때마다 로그(121)가 기록되기 때문에, 로그(121)의 갱신만을 위해서 프로세스를 수행할 필요는 없을 수 있다. 브라우저(131)가 JavaScript를 지원하는 한, 로그(121)의 기록은 클라이언트 단말기(13-i)에서의 브라우저 환경에 의해 영향받지 않을 수 있다. 또한, 웹사이트(120)가 JavaScript를 지원한다면, 단일 픽셀 이미지 파일에 추가되고 단일 픽셀 이미지 파일에 대한 요청에서 숨겨진, <img> 태그 요소를 사용하여 임의의 매개변수의 전송하는 것은, 웹 서버(12)에 설치된 보안 소프트웨어 또는 웹 서버(12)에 제공된 보안 프로토콜에 의해 차단되지 않을 수 있다.
일부 예들에 따르면, JavaScript를 지원하는 다양한 기존의 브라우저를 사용하여 본 실시예에 따라 클라이언트 단말기로부터 웹 서버의 웹사이트로 액세스가 이루어질 때, 액세스와 연관된 동작을 재구성하는 데에 필요한 정보 및 현재 시간 데이터를 포함하는 임의의 매개변수를 포함하는 액세스 로그가 웹 서버에 의해 자동적으로 기록될 수 있음이 확인될 수 있다. 예시적인 브라우저는, 인터넷 익스플로러(Internet Explorer), 파이어폭스(Firefox), 구글(Google), 크롬(Chrome), 오페라(Opera), 또는 사파리(Safari)(등록 상표)를 포함할 수 있으나, 이에 제한되지 않는다. 웹 서버에 설치된 기존의 보안 소프트웨어 또는 제공된 기존의 보안 프로토콜에 의하면, 브라우저로부터의 액세스에 대해 경고(alarm)가 생성되지 않으며, 액세스 차단도 일어나지 않을 수 있음 또한 확인될 수 있다. 예시적인 보안 소프트웨어는, 노턴(Norton), 카스퍼스키(Kaspersky), 또는 맥아피(McAfee)(등록 상표)를 포함할 수 있으나, 이에 제한되지 않는다.
클라이언트 단말기가 JavaScript를 지원하지 않는 경우, 방문자가 브라우저에서 JavaScript가 사용 가능하게(enabled) 된 후에 웹 서버의 웹사이트를 액세스할 수 있도록 조치가 취해질 수 있다. 예를 들어, JavaScript는, <div> 태그 요소의 z-인덱스를 이용하여, HTML을 시작한 직후에 브라우저에서 사용 가능해질 수 있다. 좀 더 구체적으로, 예를 들어, <img> 태그 요소를 이용하여 z-인덱스로 설정된 <div> 태그 요소 내에 차단벽(blocking wall)이 디스플레이됨으로써, HTML의 본문 내의 컨텐트의 전경에 차단벽이 디스플레이될 수 있다. 이 경우, JavaScript가 사용 가능하지 않게(disabled) 되면, 웹페이지는 차단벽에 의해 차단될 수 있다. 예를 들어, <body onload="init()">과 같이 시작한 직후에 호출되는 함수 내의 <div> 태그 요소에 대해 " "(null)을 기록함으로써, JavaScript가 사용 가능하게 될 때 차단벽이 제거될 수 있다. 그 결과, JavaScript를 지원하지 않는 브라우저로부터의 방문자는, JavaScript를 사용 가능하게 한 후에 웹사이트를 볼 수 있으며, 그렇지 않은 경우 웹사이트를 보는 것은 차단벽에 의해 차단될 수 있다.
도 6은, 타이머 이벤트에 응답하는 브라우저 프로세스를 설명하기 위한 흐름도이다. 도 6에 도시된 브라우저 프로세스는, 브라우저(131)가 웹 서버(12)로부터 요청된 웹페이지(120-j)를 읽은 후에 시작한다.
도 6에 도시된 단계(S1)는, var visit_Tim=0;에 의해 타이머 변수를 초기화하고, 단계(S2)는, var nTrans=0;에 의해 다른 변수들을 초기화한다. 단계(S3)는, 예를 들어 매 1분마다 타이머 프로세스를 수행하고, Visiting();에 의해 단계(S11 내지 S16)의 타이머 프로세스를 시작한다. 단계(S4)는 브라우저(131)의 다른 프로세스를 수행한다. 단계(S5)는 사전결정된 시간마다 단계(S11 내지 S16)의 타이머 프로세스를 시작하기 위해 타이머 프로세스를 수행한다.
타이머 프로세스가 시작될 때, 단계(S11)는, 예를 들어 필요에 따라 clearTimeout(visit_Tim);에 의해 타이머를 0으로 클리어한다. 단계(S12)는, 예를 들어 var bgm_ntim=new Date().getTime();에 의해 클라이언트 단말기(13-i)의 내부 타이머로부터 밀리초 단위로 현재 시간 데이터를 획득한다. 단계(S13)는, 로그(121)에 필요하여 전송될 정보를 수집하고, 전송될 태그 정보를 예를 들어 아래와 같이 생성한다.
Figure pct00001
단계(S14)는, 예를 들어 다음과 같이 <div> 태그 요소 내에 숨겨진 방식으로 웹 서버(12)에 전송될 임의의 매개변수 및 <img> 태그 요소를 추가(또는 기록)한다.
Document.getElementByld("Sensor").innerHTML=send_msg;
단계(S15)는, 예를 들어 nTrans++;에 의해 인터럽트의 수를 1 증가함으로써 사전결정된 시간 간격으로 프로세스를 수행한다. 그 후, 단계(S16)는 예를 들어 visit_Tim=setTimeout('Visiting()',60000);에 의해 타이머를 설정하고, 프로세스는 단계(S3 및 S5)의 타이머 프로세스로 귀환한다. 따라서,방문자에 의한 액세스와 연관된 동작을 포함하는 타이머 이벤트 및 브라우저(131)로부터의 액세스의 로그(121)를 기록하기 위해, 필요한 정보가 웹 서버(12)로 전송될 수 있다.
도 7은, 타이머 이벤트에 응답하여 기록되는 액세스 로그의 일 예를 도시하는 도면이다. 도 7에서, 로그(121)는, 웹페이지(120-j)에 대한 요청을 전송할 때 숨겨진 방식으로 클라이언트 단말기(13-i)로부터 전송되고 동적으로 임베드된 태그 정보, 웹 서버(12)에서 획득된 초 단위의 현재 시간, 방문자의 도메인 명 또는 서브도메인 명, 및 방문자의 IP 주소를 포함한다. 이 예에서, 태그 정보는, 단일 픽셀 이미지 파일의 이름, 컨텐트의 이름, 클라이언트 단말기(13-i)에서 획득된 밀리초 단위의 현재 시간 데이터, 방문자에 의해 방문된 영화(또는 동적 이미지)에 관한 정보, 방문자가 방문을 계속하는 분 단위의 시간을 포함한다. 예를 들어, 로그(121)의 제1 (또는 최상) 라인에서, 단일 픽셀 이미지 파일의 이름은 "content=Mukade", 컨텐트의 이름은 "dummy", 클라이언트 단말기(13-i)에서 획득된 밀리초 단위의 현재 시간 데이터는 "1275231663144", 방문자에 의해 방문된 영화의 정보는 "MovieID=PrMDZiHnaLs"이며, 방문자가 방문을 계속한 분 단위의 시간은 "TimeCout=186"이다.
도 8은, 입력 이벤트에 응답하는 브라우저 프로세스를 설명하기 위한 흐름도이다. 도 8에서, 도 6의 대응하는 예시적 단계들과 동일한 예시적 단계들은 동일한 참조번호로 지정되며, 그 상세한 설명은 생략된다. 도 8에 도시된 브라우저 프로세스는, 브라우저(131)가 속하는 클라이언트 단말기(13-i)에서 입력 이벤트가 생성될 때 시작한다.
도 8에 도시된 단계(S21)는, 키 다운, 마우스 클릭, 버튼 클릭, 체크박스 클릭, 라디오 버튼 클릭 등을 포함할 수 있는 브라우저(131)의 프로세스를 수행한다. 단계(S12)는 밀리초 단위로 현재 시간 데이터를 획득하며, 단계(S13)는 로그(121)에 필요하고 전송될 정보를 수집하고, 전송될 태그 정보를 생성한다. 단계(S13)에서 수집된 정보는, 키 다운에 의해 입력된 문자열, 마우스 클릭에 의해 그래픽하게 입력된 좌표, 라인 세그먼트 등 중의 어느 하나, 버튼 클릭에 의해 프로세스를 실행하기 위해 클릭된 버튼, 체크박스 클릭에 의해 프로세스 모드를 설정하기 위해 클릭된 체크박스, 및 라디오 버튼 클릭에 의해 컬러, 모드 등을 선택하기 위해 클릭된 라디오 버튼을 포함할 수 있다. 단계(S14)는, <div> 태그 요소 내에 숨겨진 방식으로 웹 서버(12)로 전송될 임의의 매개변수 및 <img> 태그 요소를 추가(또는 기록)한다.
단계(S13)에서 마우스 클릭에 의해 그래픽하게 입력되어 수집된 좌표는, 클라이언트 단말기(13-i)의 디스플레이 유닛(25) 상의 마우스 커서의 좌표로부터 획득된 웹페이지(120-j)의 스크린 상의 좌표일 수 있다. JavaScript에 따르면, 이미지 파일이 스크린 상에서 클릭되면, 이미지 파일의 클릭된 위치의 xy 좌표가 인자(argument)로서 획득될 수 있다. 작은 투명한 이미지 파일은, <div> 태그 요소를 사용하여 웹페이지(120-j) 상의 체커보드 패턴(checker-board pattern) 내에 임베드될 수 있다. 이에 따라, onclick 및 onmouseover와 같은 입력 이벤트에 의해, 마우스 커서가 위치된 이미지 파일, 또는 이미지 파일이 임베드된 <div> 태그 요소 및 클릭된 이미지 파일의 xy 좌표를 쉽게 인식하는 것이 가능하다. 예를 들어, 다음과 같은 <img> 태그 요소가 onclick 이벤트 내에 동적으로 임베드될 수 있다.
Figure pct00002
입력 이벤트는 예를 들어 다음과 같은 방식으로 로그(121) 내에 기록되어, 애플리케이션(122)이 웹페이지(120-j)를 보는 방문자에 의해 클릭된 스크린 상의 영역을 결정할 수 있도록 한다.
Figure pct00003
따라서, 웹페이지(120-j) 상에서 방문자에 의해 수행된 (좌표를 특정, 버튼을 클릭하는 등의) 마우스 동작과 문자열의 입력과 같은 입력 이벤트가 로그(121)에 기록될 수 있으며, 애플리케이션(122)은 입력 이벤트를 분석하여 방문자가 관심이 있었던 웹페이지(120-j)의 부분을 결정할 수 있다.
본 실시예에서 웹 서버(12)를 형성하는 아파치 HTTP 서버는 또한 리눅스(Linux)(등록 상표) 환경에서 동작 가능하기 때문에, 클라이언트 단말기(13-i)에서 생성된 입력 이벤트는, 클라이언트 단말기(13-i)를 형성하는 실질적인 임의의 종류의 개인용 컴퓨터에 대하여 웹 서버(12)의 로그(121) 내에 기록될 수 있다. 추가로, 클라이언트 단말기(13-i)가 웹 서버(12)의 웹페이지(120-j)에 대한 액세스를 할 때 JavaScript가 사용 가능하게 되기 때문에, AJAX 통신을 위해 JavaScript 외부 파일에 의존할 필요는 없다.
도 9는 입력 이벤트의 일 예를 설명하기 위한 도면이다. 도 9는, 웹페이지(120-j)의 스크린 상의 3개의 위치(P1, P2, P3)에서 마우스가 클릭되는 일 예를 도시하고 있다. 설명의 편의를 위해, 도 9에서, 스크린 상에 실제로 디스플레이된 문자, 이미지 등의 도시는 생략되었으며, 체커보드 패턴 내에 임베드된 작고 투명한 이미지 파일만 도시된다. 이 경우, 브라우저(131)는, <div> 태그 요소 내에 숨겨지는 방식으로 웹 서버(12)에 전송될 임의의 매개변수 및 <img> 태그 요소를 추가(또는 기록)하며, 여기서 임의의 매개변수는 3개의 위치(P1, P2, P3)에서의 마우스 커서의 좌표 및 현재 시간 데이터를 적어도 포함한다. 따라서, 웹페이지(120-j) 상의 방문자에 의해 수행된 마우스 동작은 로그(121) 내에 기록될 수 있으며, 애플리케이션(122)은 입력 이벤트를 분석할 수 있고, 입력 이벤트가 로그(121)에 기록된 때 방문자에 의해 방문되고 있었던 웹페이지(120-j)에 관련하여 3개의 위치(P1, P2, P3)의 좌표로부터 방문자가 관심이 있었던 웹페이지(120-j)의 부분을 결정할 수 있다.
도 10은, 로그(121)로부터 정보를 수집할 때 웹 서버(12)의 웹 서버 프로세스를 설명하기 위한 흐름도이다. 도 10에 도시된 웹 서버 프로세스는 예를 들어 도 5에 도시된 애플리케이션(122)에 의해 수행된다.
도 10에 도시된 단계(S31)는, 이전 프로세스에 의해 분석이 완료된 로그(121)의 시간 위치를 판독하고, 판독된 시간 위치와 관련하여 수행될 현재 프로세스에 의한 분석의 시작을 나타내는 포인터 위치를 설정한다. 단계(S32)는 로그(121)의 크기를 획득하고, 단계(S33)는 로그(121)의 모든 사항들이 판독되었는지 결정한다. 단계(S33)에서의 결정이 NO("아니오")인 경우, 단계(S34)는 로그(121)에서 변경이 감지되는지 결정한다. 단계(S34)에서의 결정이 NO인 경우, 단계(S35)는 프로세스가 단계(S32)로 복귀하기 전에 사전결정된 시간 동안 대기한다.
반면에, 단계(S34)에서의 결정이 YES("예")인 경우, 단계(S36)는 로그(121)의 하나의 라인을 판독하고, 단계(S37)는 판독된 라인의 IP 주소를 추출한다. 단계(S38)는 각 IP 주소에 대해 생성된 분리된 로그(미도시)에 판독된 라인을 기록한다. 단계(S39)는 로그(121)의 태그 정보 내에 임베드된 밀리초 단위의 현재 시간 데이터에 기초하여, IP 주소의 각각에 대해 생성되었던 분리된 로그를 정렬(sort)한다.
단계(S40)는 웹 서버(12)의 운영자 또는 관리자로부터 발행된 웹 에이전트 명령어가 수신되는지를 결정한다. 단계(S40)에서의 판단 결과가 YES이면, 단계(S41)는 운영자 또는 관리자로부터 발행된 다른 명령어를 수신하기 위하여 웹 서버(12)의 디스플레이 유닛(25) 상에 디스플레이될 에이전트 환영 스크린(agent welcome screen)을 전송한다. 반면에, 단계(S40)에서의 판단 결과가 NO인 경우, 단계(S42)는 애플리케이션(122)으로부터 발행된 인트라-컨텐트 명령어(intra-contents command)가 수신되는지 판단한다. 단계(S42)에서의 판단 결과가 YES이면, 단계(S43)는 특정된 컨텐트의 플로팅(plotting), 검색, 저장, 복사 및 삭제와 같은 인트라-컨텐트 명령어를 실행한다. 단계(S42)에서의 판단 결과가 NO이거나, 단계(S43) 후에, 프로세스는 단계(S32)로 복귀한다. 따라서, 애플리케이션(122)은 로그(121)로부터 운영자 또는 관리자에게 관심 있는 정보를 추출할 수 있으며, 웹 서버(12)의 운영자 또는 관리자로부터 발행된 명령어에 응답하여 자동적으로 또는 반자동적으로 추출된 정보를 분석할 수 있다.
방문자들이 웹사이트(120)를 자주 방문하고 각 방문을 비교적 긴 시간 동안 유지하도록 독려하기 위해, 웹사이트(120)의 컨텐트를 흥미있게 하는 것 뿐만 아니라, 웹사이트(120)에서 적절하거나 흥미있는 음악을 제공하는 것도 중요할 수 있다. 로그(121)의 태그 정보 내에 임베드될 정보는, 웹 서버(12)의 애플리케이션(122) 등에 의해 수행된 분석의 목적에 맞도록, 본 실시예에서 적절히 선택될 수 있다. 이에 따라, 방문자가 방문을 지속한 기간, 방문자에 의해 선호되는 음악의 종류 및 방문자에 의해 선택된 음악과 같은, 웹사이트(120)를 방문한 방문자에 관련된 정보를 분석하는 데에 사용되기 적합한 BGM(BackGround Music) 재생기의 일 예가 이하에서 기술된다.
BGM 재생기에 의해 사용될 애니메이션 데이터를 포함하는 영화 데이터는, 서버-클라이언트 시스템(11) 내의 임의의 위치 또는 서버-클라이언트 시스템(11)으로부터 액세스 가능한 임의의 위치에 제공될 수 있다. 그러나, 웹 서버(12) 및 클라이언트 단말기(13-1 내지 13-N)의 처리 속도 및 통신 용량에 의해 결정되는 통신 트래픽에 대한 제한들을 고려할 때, 컨텐트는 풍부하면서 통신 트래픽에 대한 제한이 덜한 크로스-도메인(cross-domain)을 이용하는 것이 유용할 수 있다. 이러한 크로스-도메인의 전형적인 예는, 유튜브(YouTube)(등록 상표)와 같은 비디오 호스팅 서비스이다. 통신 속도가 100 Mbps 이하인 경우에도, HTML이 웹사이트로부터 읽혀지면, 이 웹사이트는, 음악이 변경되거나 코멘트가 그 웹사이트로 업로드되었을 때만 다시 액세스될 것이다. 그 결과, 비디오 호스팅 서비스는, 상대적으로 기본적인(primitive) 통신 환경에서도 상대적으로 많은 수의 사용자에 대해 제공될 수 있다.
임베드된 객체를 사용하는 종래 방법은, 하나의 특정 음악만을 재생할 수 있다. 추가로, 플레이리스트를 이용하는 종래 방법은, 의지에 따라 재생 동안 다른 플레이리스트로 전환하거나, 음악 재생 순서를 변경하거나, 음악을 스킵하지 않을 수 있다.
따라서, 로그(121)의 태그 정보 내에 임베드될 정보는, 종래 방법의 이러한 불편함을 최소화하기 위해 본 실시예에서 적절히 선택될 수 있다. 더 구체적으로, 비디오 호스팅 서비스 사이트에서 기록된 영화 ID, 영화의 음악 제목, 재생 시간, 코멘트, 갱신된 년월일 등의 기록은, HTML로 사용될 수 있는 js 포맷을 갖는 JavaScript로 등록될 수 있다. 추가로, 복수의 이러한 기록은 플레이리스트로 그룹화되고, JSON 포맷을 갖는 데이터가 기록되어, 복수의 플레이리스트가 영화 투어(movie tour)로서 관리될 수 있다. 본 실시예에서, BGM 재생기는 복수의 HTML에 의해 호출되며, 복수의 음악이 하나의 JavaScript 파일에 의해 중앙집중적으로 관리된다. 그러나, HTML 내의 JavaScript를 포함하는 것도 물론 가능하다.
도 11은 영화 투어를 설명하기 위한 클라이언트 단말기(13-i)의 디스플레이 장치(25) 상에 디스플레이되는 스크린의 일 예를 도시하는 도면이다. 도 11에서, 스크린(200)은 영화 투어에 포함된 영화들을 디스플레이하기 위한 영역(201), 영화 투어로부터 자동적으로 또는 수동적으로 선택된 영화를 재생하기 위한 영역(202), 코멘트를 업로드하기 위한 영역(203), 광고(AD1, AD2 및 AD3)를 디스플레이하기 위한 영역(204)을 포함한다. 스크린(200)은, 음악 선택 버튼, 이미지 썸네일(thumbnail)을 포함하는 다양한 함수를 호출 및/또는 다양한 명령어를 만들기 위한 다양한 버튼 및/또는 썸네일을 더 포함할 수 있다. 설명의 편의를 위해, 도 11은, 자동 음악 선택을 명령하기 위한 버튼(211), 음악 선택을 중지하기 위한 버튼(212), 다음 음악을 선택하기 위한 버튼(213), 및 영화 투어를 변경하기 위한 버튼(214)을 도시한다.
도 12는, 플레이리스트와 연관된 웹사이트에 대한 액세스를 설명하기 위한 도면이다. 도 12에서, 도 5의 대응하는 예시적인 부분들과 동일한 예시적인 부분들은 동일한 참조 번호로 지정되며, 그 설명은 생략될 것이다.
도 12에서, 단계(ST11 및 ST12)는 단계(ST5) 전에 클라이언트 단말기(13-i)의 브라우저(131)에 의해 수행된다. 단계(ST11)에서 브라우저(131)는 비디오 호스팅 서비스 사이트(301)에 대하여 영화 ID의 단위로 영화의 분배를 요청한다. 단계(ST12)에서 브라우저(131)는 비디오 호스팅 서비스 사이트(301)로부터 영화 ID 단위로 요청된 영화를 수신한다. 단계(ST11 및 ST12)는 브라우저(131)의 알려진 기능에 의해 수행될 수 있다.
단계(ST12) 후에, 단계(ST5)에서 브라우저(131)는, 클라이언트 단말기(13-i)에서 방문자에 의해 입력 이벤트가 생성될 때마다, 예를 들어 GET 명령어에 의해, 웹 서버(12)로 단일 픽셀 이미지 파일에 대한 요청을 한다. 그러나, 이 경우, 단일 픽셀 이미지 파일에 대한 요청에서 단일 픽셀 이미지 파일에 추가된 임의의 매개변수는, 클라이언트 단말기(13-i)에서 생성된 입력 이벤트에 관련된 정보를 포함하는, 방문자에 의한 액세스와 연관된 동작을 재구성하는 데에 필요한 정보를 더 포함할 수 있다. 입력 이벤트에 관련된 정보는, 비디오 호스팅 서비스 사이트(301)에 대한 방문자에 의한 입력과 연관된 입력 이벤트를 포함할 수 있다.
이에 따라, 단계(ST5)에서 웹 서버(12)에 전송된 단일 픽셀 이미지 파일에 대한 요청에서 단일 픽셀 이미지 파일에 추가된 임의의 매개변수는, 스크린(200)으로부터 업로드된 코멘트, 스크린(200) 상에서 선택된 버튼들, 갱신된 년월일, 코멘트, 재생 시간, 영화의 음악 제목, 비디오 호스팅 서비스 사이트(301)에서 기록된 영화 ID의 기록과 같은, 입력 이벤트에 관련된 정보를 포함할 수 있다. 이러한 다수의 기록은, 플레이리스트로 그룹화되고 입력 이벤트에 관련된 정보 내에 포함될 수 있다. 그 결과, 웹 서버(12) 내에 기록된 로그(121)는 또한, 비디오 호스팅 서비스 사이트(301)에 대한 방문자에 의한 입력과 연관된 입력 이벤트에 관련된 이러한 정보를 포함한다. 또한, 애플리케이션(122)은, 로그(121)를 분석함으로써, 방문자에 의해 선택된 음악, 방문자에 의해 선호되는 음악의 종류 및 방문자가 방문을 계속하는 시간과 같이, 웹사이트(120)를 방문한 방문자에 관련된 정보를 획득할 수 있다.
도 13은, JavaScript 파일의 플레이리스트의 일 예를 도시하는 도면이다. 이 예에서, 플레이리스트의 데이터 요소 이후의 일부 필드는 일본어로 기재되어 있는데, 이것은 방문자에 의해 방문된 웹사이트(120)가 일본어로 되어 있다고 편의상 가정되기 때문이다. 즉, 플레이리스트의 데이터 요소 후의 필드는, 일본어를 포함하는 임의의 언어로 기재될 수 있다.
예를 들어, 도 13에서 첫번째 다섯 라인(제1 내지 제5 라인)에 있어서 일본어로 기재된 필드의 영문 번역은 아래 이탤릭체로 표시된 것과 같을 수 있다.
Figure pct00004
도 13에 있어서 제6 및 그 이후 라인에서 일본어로 기재된 필드의 영문 번역은 본 명세서에서는 생략될 것인데, 이는 다른 무엇보다 도 13의 적어도 하나의 목적이 JavaScript 파일의 플레이리스트의 예를 도시하기 위한 것이고, 플레이리스트의 데이터 요소 후의 일부 필드가 일본어를 포함하는 임의의 언어로 기재될 수 있음을 도시하기 위한 것이기 때문이다.
도 13에 도시된 플레이리스트는, 데이터 요소 "num", "width", "height" 및 "tour"를 포함한다. 데이터 요소 "num"은 플레이리스트에 기록된 영화 투어의 수를 나타낸다. 데이터 요소 "width" 및 "height"는 각각 픽셀 단위로 영화를 디스플레이하는 스크린의 크기, 즉 너비와 높이를 나타낸다. 데이터 요소 "tour"는 영화 투어의 배열 순서를 나타낸다.
각각의 예시적인 영화 투어 요소는, 데이터 요소 "name", "tour_name", "width", "count" 또는 "movie_data"를 포함한다. 데이터 요소 "name"은 영화 투어 함수를 호출하기 위한 이름을 나타낸다. 도 13에서, PL1, PL2 및 PL3는 각각 영화 투어 함수 tour1, tour2 및 tour3와 연관된 데이터 요소를 나타낸다. 데이터 요소 "tour_name"은, 도 11에 도시된 스크린(200) 상에 디스플레이된 대응하는 선택 버튼을 가질 수 있는, 각 영화 투어에 대한 투어 이름을 나타낸다. 데이터 요소 "tour_name"이 "-"인 경우, 스크린(200) 상에는 대응하는 선택 버튼이 디스플레이되지 않는다. 데이터 요소 "width"는, 픽셀 단위로 스크린(200) 상에 디스플레이될 대응하는 선택 버튼의 너비를 나타낸다. 데이터 요소 "count"는 영화 투어를 형성하는 영화의 수를 나타낸다. 데이터 요소 "movie_data"는, 영화 투어를 형성하는 영화의 배열 순서, 즉, 영화 데이터 배열을 나타낸다.
각각의 예시적인 영화 데이터 배열 "movie_data"는 데이터 요소 "movie_id", "time_length", "upload_data", "title", 또는 "comment"를 포함한다. 데이터 요소 "movie_id"는, 예를 들어 YouTube일 수 있는, 비디오 호스팅 서비스 사이트(301)에 의해 제공되는 영화 ID를 나타낸다. 데이터 요소 "time_length"는 밀리초 단위의 영화 재생 시간을 나타낸다. 데이터 요소 "upload_date"는 영화가 비디오 호스팅 서비스 사이트(301)에 갱신된 년월일을 나타낸다. 데이터 요소 "title"은 영화의 제목을 나타내며, 데이터 요소 "comment"는 영화에 대해 편집자(또는 비디오 호스팅 서비스 사이트(301)의 소유자)에 의해 업로드된 임의의 언어(이 예의 경우 일본어)로 작성된 코멘트를 나타낸다. 데이터 요소 "time_length"의 값이 영화의 실제 기록 시간 보다 짧게 설정된 경우, 영화의 도입 부분만을 재생하는 것도 가능하다.
JavaScript에서, 예를 들어 마우스 클릭에 의해 음악 선택 버튼 또는 이미지 썸네일이 선택되면, BGM_tour 및 BGM_movie와 같은 변수들에 대한 정보가, 입력 이벤트(즉, 마우스 클릭)에 응답하여 SendInfo 함수에 의해 웹 서버(12)로 전송된다. 이미지 썸네일은, 이미지 타입 입력 요소에 의해, 좀 더 구체적으로는, 다음의 태그를 동적으로 생성하여 형성될 수 있다. 예를 들어, 비디오 호스팅 서비스 사이트(301)가 YouTube인 경우, 썸네일 데이터는 "http://i1.ytimg.com/vi/[Movie ID]/default.jpg"를 액세스하여 획득될 수 있다. 이러한 태그를 사용함으로써, 마우스 커서가 이미지 썸네일 상에 놓여지는 때 제목이 디스플레이된다. 이미지 썸네일 상에 놓여진 마우스 커서가 클릭되는 때 onclick 이벤트가 생성되며, 이렇게 하여 changeMovie 함수를 호출하고, 그 인자로서, 순서대로 배열된 복수의 음악 중에서 재생될 k번째 위치의 음악을 나타내는 변수 i를 획득할 수 있다(여기서, k는 1보다 큰 자연수). 물론, 입력 요소(<input> 태그)는, 인터넷 익스플로러, 구글, 크롬, 사파리 및 오페라와 같은, 브라우저(131)에서 <marquee> 태그를 사용하여 스크린(200) 상에서 스크롤될 수 있다.
도 14는, 동적으로 생성된 태그 "var img.tag"의 일 예를 도시하는 도면이다.
도 15는, 호출되는 SendInfo 함수의 일 예를 도시하는 도면이다. 도 15에 도시된 SendInfo 함수가 SendInfo 함수를 특정하는 버튼 또는 썸네일의 마우스 클릭과 같은 입력 이벤트에 의해 호출되면, <img> 태그 요소는 SendMsg를 호출한 ID가 추가된 <div> 태그 요소로 동적으로 삽입된다. "?" 뒤에 추가된 현재 시간 데이터 "dummy=******"가 난수(random number) 대신에 사용된다. 따라서, 클라이언트 단말기(13-i)의 브라우저(131)가 캐슁 기능을 갖더라도, 브라우저(131)는 웹 서버(12)로부터 p.gif 파일을 판독하기 위해 웹 서버(12)로 HTTP GET를 전송 또는 전달할 수 있다. 이것은, 임의의 매개변수가 웹 서버(12)로 전송 또는 전달될 수 있으며 로그(121)에 기록될 수 있음을 의미한다. 예를 들어, 브라우저(131)는 웹 서버(12)로부터 p.gif 파일은 판독하기 위해 웹 서버(12)로 HTTP GET를 반복적으로 전송 또는 전달할 수 있으며, 임의의 매개변수는 웹 서버(12)로 반복적으로 전송 또는 전달되고 로그(121)에 기록될 수 있다.
도 16은, 도 12에 도시된 클라이언트 단말기에서 생성된 입력 이벤트에 관련된 정보를 포함하는 액세스 로그의 일 예를 도시하는 도면이다.
웹 서버(12)에 기록된 도 16에 도시된 로그(121)는, IP 주소(501), 도메인 이름(502), 웹 서버(12) 내의 내부 타이머 등으로부터 획득된 (수초 이상의 단위의) 액세스 날짜 및 시간(503), 및 방문자에 의해 액세스된 웹페이지의 URL을 나타내는 레퍼러(504)를 포함하며, 이들은 알려진 웹 비컨 기술을 이용하여 액세스 로그를 기록하는 기능에 의해 기록된다. 로그(121)는, 클라이언트 단말기(13-i)로부터 웹 서버(12)로 전송된 단일 픽셀 이미지 파일에 대한 요청에서 단일 픽셀 이미지 파일에 추가된 임의의 매개변수를 추가로 포함한다. 본 예에서 임의의 매개변수는, 클라이언트 단말기(13-i) 내의 내부 타이머 등으로부터 획득된 밀리초 이하 단위의 현재 시간 데이터(505), 및 웹페이지(120-j)를 방문하는 동안 방문자에 의해 선택된 음악을 나타내는 선택 음악 정보를 포함한다. 도 16은, 선택 음악 정보가 영화 투어를 나타내는 영화 투어 ID(또는 영화 투어 번호)(506), 및 영화 투어에서 영화를 나타내는 영화 ID(또는 영화 번호)(507)를 포함하는 경우를 도시한다. 물론, 현재 시간 데이터(505)에 추가하여 기록된 입력 이벤트는 선택 음악 정보에 제한되지 않는다.
도 16에 도시된 로그(121)로부터 특정 IP 주소를 갖는 로그 정보를 추출함으로써, 애플리케이션(122)은 특정 IP 주소를 갖는 방문자가 방문을 계속한 기간, 방문자에 의해 선호되는 음악의 종류, 또는 방문자에 의해 선택된 음악을 결정할 수 있다. 또한, 애플리케이션(122)은 로그(121)를 분석할 수 있으며, 특정 웹페이지에 대한 잦은 방문자를 결정하거나, 상대적으로 다수의 방문자에 의해 자주 방문된 웹페이지를 결정할 수 있다. 또한, 영화 투어에서 영화의 순서는, 로그(121)로부터 분석된 방문자의 선호도에 기초하여 변경될 수 있다.
물론, 웹페이지(120-j)를 방문자가 방문한 기간은, SetTimeout 함수를 이용하여 1000 밀리초 내지 10000 밀리초 단위의 입력 이벤트를 기록함으로써, 높은 정밀도로 결정될 수 있다. 이 경우, SetTimeout 함수에 의해 호출된 루틴(routine)은 이 루틴이 다음에 호출될 때까지의 시간을 특정할 수 있다.
도 16에 도시된 예에서, 8번째 음악(No. 7)이 3분 47초 길이이지만, IP 주소 "218.226.144.236"를 갖는 방문자는 8번째 음악(No. 7)을 1분 30초 미만 동안 청취했다. 이 방문자는, 음악의 선택을, 도 16의 점선 내에 표시된 바와 같이, 원래 영화 투어의 선택 즉, 1번째 음악(No. 0)으로 반환했다. 이에 따라, 이 방문자는 8번째 음악(No. 7)에 비해 1번째 음악(No. 0)을 선호하는 것으로 간주될 수 있다.
상기 예시적인 실시예에서, 로그(121)에 기록된 정보, 및 특히 클라이언트 단말기(13-i)에서 방문자에 의해 생성된 입력 이벤트와 관련된 정보 및 현재 시간 데이터는, 애플리케이션(122)을 사용하여 웹 서버(12)에서 방문자에 의한 방문을 분석하는 데에 사용될 수 있다. 그러나, 로그(121)에 기록된 입력 이벤트에 관련된 정보 및 현재 시간 데이터는, 예를 들어 클라이언트 단말기(13-i)에 의해 사용될 수 있다.
웹사이트(120)는, 이차원 또는 삼차원의 디자인, 도면, 모델을 생성하고, 그림을 생성하고, 음악을 작곡하기 위해, 이미지 및/또는 문서를 생성 및 편집하는 기능을 제공할 수 있다. 이 경우, 사용자(생성자 또는 디자이너)는 웹사이트(120)를 액세스하여, 예를 들어 웹 서버(12)를 액세스할 수 있는 임의의 클라이언트 단말기로부터, 목적 문서를 생성 및 편집할 수 있다. 임의의 클라이언트 단말기로부터의 목적 문서 상에 수행된 동작은, 각 액세스와 함께 로그(121) 내에 기록되므로, 사용자는, 확인을 하는 클라이언트 단말기와 가장 최근 편집을 행한 클라이언트 단말기가 동일한지 다른지에 상관없이, 로그(121)를 액세스함으로써 목적 문서에 대해 이루어진 가장 최근 편집을 확인할 수 있다. 또한, 사용자가 목적 문서에 대해 잘못된 동작을 하는 경우, 필요한 정정을 행하기 위해 목적 문서에 대한 두번째로 가장 최근의 편집이 로그(121)로부터 검색될 수 있다. 사용자는, 목적 문서를 식별하는 이름 등 및/또는 사용자의 IP 주소에 의해, 로그(121)에 기록된 정보를 정렬함으로써, 로그(121)로부터 목적 문서에 대한 희망하는 정보를 검색할 수 있다. 그 결과, 목적 문서의 편집 이력이 로그(121)로부터 획득될 수 있으며, 다른 경우에 상당히 많은 양의 메모리 자원을 소비할 수 있는 동기화된 방식으로, 사용자가 목적 문서를 편집할 수 있는 가능한 클라이언트 단말기 각각에서, 목적 문서에 대한 동일한 편집 정보를 동시에 저장할 필요는 없을 수 있다.
도 17은, 웹사이트로부터의 로그 정보의 검색을 설명하기 위한 도면이다. 도 17에서, 도 5의 대응하는 예시적인 부분들과 동일한 예시적인 부분들은 동일한 참조 번호로 지정되며, 그 설명은 생략될 것이다. 도 17에서, 설명의 편의를 위해, 웹사이트(120)가 그림 및 문서를 생성 및 편집하는 기능을 가진다고 가정된다.
도 17에서, 클라이언트 단말기(13-i)에서 사용자에 의해 생성되고 단계(ST5 및 ST6)에 관련된 입력 이벤트는, 생성된 그림 또는 문서 상에 수행된 입력, 수정 및 편집을 포함한다. 또한, 애플리케이션(122)이 단계(ST7)에서 로그(121)를 분석하는 경우, 애플리케이션(122)은, 단계(ST21)에서, 목적 그림 또는 문서를 식별하는 이름 등 및/또는 사용자의 각각의 IP 주소에 대해 파일(125)에 기입한다. 이러한 하나의 파일(125)은, 각각의 사용자 및/또는 각각의 목적 그림 또는 문서에 대해, 이미지 파일 또는 JSONP 파일로서 생성될 수 있다.
단계(ST22)에서, 사용자는 목적 그림 또는 문서 및/또는 사용자의 IP 주소에 기초하여, 웹 서버(12)에 대해 파일(125)을 요청한다. 단계(ST23)에서, 웹 서버(12)는 클라이언트 단말기(13-i)로 요청된 파일(125)을 전송한다. 이에 따라, 사용자는, 웹 서버(12)에서 로그(121)로부터 추출된, 파일(125)로부터 목적 그림 또는 문서의 편집 이력을 획득할 수 있다. 사용자는 목적 그림 또는 문서를 더 편집, 수정 또는 정정하기 위해 편집 이력을 사용할 수 있다.
도 18은, 그림의 생성을 설명하기 위한 도면이다. 도 18은, 그림(601-1, 601-2 및 601-3)이 임의의 클라이언트 단말기로부터 사용자에 의해 이루어진, 입력, 수정 또는 편집과 같은 동작에 의해 1 페이지 상에 순차적으로 생성되는 경우를 도시한다. 각각의 동작은 임의의 클라이언트 단말기로부터 이루어질 수 있다. 또한, 2 페이지의 그림(602-1)이 1 페이지의 그림(601-2)으로부터 복사되고, 임의의 클라이언트 단말기로부터 사용자에 의한 동작에 의해 2 페이지 상에 그림(602-2)이 순차적으로 생성된다. 파일(125)에 포함된 편집 이력은, 사용자로 하여금 도 18에 도시된 그림(601-1 내지 601-3, 602-1 및 602-2)을 생성하는 프로세스를 이해하는 것을 가능하게 한다.
도 19는 문서의 생성을 설명하기 위한 도면이다. 도 19는, 임의의 클라이언트 단말기로부터 사용자에 의한 동작에 의해 문서(701 내지 709)가 순차적으로 생성되는 경우를 도시한다. 각각의 동작은 임의의 클라이언트 단말기로부터 이루어질 수 있다. 파일(125)에 포함된 편집 이력은 사용자로 하여금 도 19에 도시된 문서(701 내지 709)를 생성하는 프로세스를 이해하는 것을 가능하게 한다. 예를 들어, 문서(709)가 문서(705)로부터 생성됨을 편집 이력으로부터 알 수 있다.
도 20은, 키 프레임(key frame)을 설명하기 위한 도면이다. 도 20에서, 도 19의 대응하는 예시적 부분들과 동일한 예시적 부분들은 동일한 참조 번호로 지정되며, 그 설명은 생략될 것이다.
도 20에서, 문서(701 내지 709)의 트리 구조에서 루트 문서(root document)는 해칭(hatching)에 의해 표시된다. 두 개 이상의 문서가 분기(branch)하는 루트 문서는 키 프레임으로 간주된다. 파일(125)에 문서(701, 704 및 705)가 키 프레임임을 나타내는 정보를 포함함으로써, 사용자는 트리 구조에서 희망하는 문서를 획득하기 위해 트리 구조를 쉽게 역추적(back-trace)할 수 있다.
로그(121)는, 액세스와 연관되며 사용자에 의해 이루어진 동작의 선후 관계를 저장하고, 그러한 동작을 정확히 반영한다. 따라서, 로그(121)에서 기록 순서가 선후 관계를 보장하지 않더라도, 애플리케이션(122)은 웹사이트(120)에서 방문자에 의한 액세스와 연관된 동작의 선후 관계를 로그(121)로부터 복구할 수 있다. 단일 픽셀 이미지 파일에 대한 요청에서 단일 픽셀 이미지 파일에 추가된 임의의 매개변수가 사용자에 의한 액세스와 연관된 동작을 재구성하는 데에 필요한 정보를 더 포함하면, 애플리케이션(122)은 웹사이트(120)에서 사용자에 의한 액세스와 연관된 동작을 재구성할 수 있다. 따라서, 파일(125)은, 사용자에 의한 액세스와 연관된 동작을 재구성하는 데에 필요한 정보로 기재될 수 있으며, 이에 따라 선후 관계는 편집 이력에 보장된다.
일부 실시예에서, 브라우저는, <div> 태그 요소에서 <img> 태그 요소의 소스에 임의의 매개변수가 동적으로 추가된 단일 픽셀 이미지 파일(1 픽셀 이미지 파일)을 동적으로 임베드함으로써 JavaScript를 실행하도록 구성된다. 그러나, 일부 예에서, 2 픽셀 이미지 파일 또는 3 픽셀 이미지 파일이 단일 픽셀 이미지 파일을 대신해서 사용될 수 있다.
도 21은 예시적인 컴퓨터 프로그램 제품(2100)의 블록도를 도시한다. 일부 예에서, 도 21에 도시된 바와 같이, 컴퓨터 프로그램 제품(2100)은, 컴퓨터가, 웹 비컨 기술을 이용하여 액세스 로그를 기록하는 기능을 포함하고, 웹사이트를 제공하는 서버를 액세스하도록 브라우저 프로세스를 수행하도록 하는 명령어(2104)를 또한 포함할 수 있는 신호 포함 매체(2102)를 포함한다. 브라우저 프로세스는, 컴퓨터가, <div> 태그 요소 내에 <img> 태그 요소의 소스에 임의의 매개변수가 동적으로 추가된 단일 픽셀 이미지 파일을 동적으로 임베드하도록 JavaScript를 수행하도록 하는 프로시져(procedure)를 포함할 수 있으며, 여기서 임의의 매개변수는 정보 처리 장치에서 획득된 현재 시간 데이터를 적어도 포함할 수 있다. 브라우저 프로세스는, 입력 이벤트가 정보 처리 장치에서 생성될 때마다, 컴퓨터가, 서버로 단일 픽셀 이미지 파일에 대한 요청을 전송하도록 하는 프로시져를 포함할 수 있다.
또한, 도 21에 도시된 바와 같이, 일부 예에서, 컴퓨터 제품(2100)은, 컴퓨터 판독 가능 매체(2106), 기록 가능 매체(2108), 및 통신 매체(2110) 중 하나 이상을 포함할 수 있다. 이들 요소 주위의 점선 상자는, 신호 포함 매체(2102) 내에 포함되지만, 이에 제한되지 않는, 서로 다른 유형의 매체를 도시한다. 이들 유형의 매체는, 논리에 의해 실행될 명령어(2104)를 배포할 수 있다. 컴퓨터 판독 가능 매체(2106) 및 기록 가능 매체(2108)는, 플렉서블 디스크, 하드 디스크 드라이브(HDD), 컴팩트 디스크(CD), 디지털 범용 디스크(DVD), 디지털 테이프, 컴퓨터 메모리 등을 포함할 수 있으나, 이에 제한되지 않는다. 통신 매체(2110)는, 디지털 및/또는 아날로그 통신 매체(예를 들어, 섬유 광학 케이블, 웨이브가이드, 유선 통신 링크, 무선 통신 링크 등)를 포함할 수 있으나, 이에 제한되지 않는다.
도 22는, 예시적인 컴퓨터 프로그램 제품(2200)의 블록도를 도시한다. 일부 예에서, 도 22에 도시된 바와 같이, 컴퓨터 프로그램 제품(2200)은, 컴퓨터가, 웹 비컨 기술을 이용하여 액세스 로그를 기록하고 웹사이트를 제공하는 서버 프로세스를 수행하도록 하는 명령어(2204)를 또한 포함할 수 있는 신호 포함 매체(2202)를 포함한다. 서버 프로세스는, 컴퓨터가, 웹사이트로부터 단일 픽셀 이미지 파일을 판독하고, 클라이언트 단말기에서 생성된 입력 이벤트에 응답하여 수신된 단일 픽셀 이미지 파일에 대한 요청에 응답하여 HTML로 판독된 단일 픽셀 이미지 파일을 클라이언트 단말기로 전송하도록 하는 프로시져를 포함할 수 있다. 서버 프로세스는, 컴퓨터가, 클라이언트 단말기로 HTML로의 판독된 단일 픽셀 이미지 파일의 전송과 실질적으로 동시에, 웹 비컨 기술을 이용하여 클라이언트 단말기로부터의 액세스의 로그를 기록하도록 하는 프로시져를 포함할 수 있다. 클라이언트 단말기로부터 수신된 단일 픽셀 이미지 파일에 대한 요청은, JavaScript를 실행하여 <div> 태그 요소 내 <img> 태그 요소의 소스에 임의의 매개변수를 동적으로 추가한 단일 픽셀 이미지 파일에 동적으로 임베드될 수 있다. 임의의 매개변수는, 클라이언트 단말기에서 획득된 현재 시간 데이터를 적어도 포함할 수 있다. 로그는, 웹 비컨 기술에 의해 기록 가능한 정보에 추가하여, 단일 픽셀 이미지 파일에 대한 요청에서 단일 픽셀 이미지 파일에 추가된 임의의 매개변수를 포함할 수 있다.
또한, 도 22에 도시된 바와 같이, 일부 예에서, 컴퓨터 제품(2200)은 컴퓨터 판독 가능 매체(2206), 기록 가능 매체(2208), 및 통신 매체(2210) 중 하나 이상을 포함할 수 있다. 이들 요소 주위의 점선 상자는, 신호 포함 매체(2202) 내에 포함되지만, 이에 제한되지 않는, 서로 다른 유형의 매체를 도시한다. 이들 유형의 매체는, 논리에 의해 실행될 명령어(2204)를 배포할 수 있다. 컴퓨터 판독 가능 매체(2206) 및 기록 가능 매체(2208)는, 플렉서블 디스크, HDD, CD, DVD, 디지털 테이프, 컴퓨터 메모리 등을 포함할 수 있으나, 이에 제한되지 않는다. 통신 매체(2210)는, 디지털 및/또는 아날로그 통신 매체를 포함할 수 있으나, 이에 제한되지 않는다.
본 개시에서 "반응하여" 또는 "응답하여"라는 용어에 대하여 이루어진 참조는 특정한 특징 및/또는 구조에 대하여만 반응하는 것으로 제한되지 않는다. 특징은 또한 다른 특징 및/또는 구조에 대하여 반응할 수 있으며 또한 그 특징 및/또는 구조 내에 위치할 수 있다. 또한, "결합된" 또는 "반응적인" 또는 "응답하여" 또는 "통신하여" 등과 같은 용어 또는 문구가 여기에서 이용되거나 이하의 청구항에서 이용되는 경우, 이러한 용어들은 넓게 해석되어야 한다. 예컨대, "결합된"이라는 문구는 문구가 사용되는 문맥에 대하여 적절하게 통신적으로, 전기적으로 및/또는 동작적으로 결합되는 것을 지칭할 수 있다.
당업자라면, 여기서 설명된 형식으로 장치 및/또는 프로세스를 기술하고, 이후, 공학 실무를 사용하여 그러한 기술된 장치(예를 들면, 전송기, 수신기, 컴퓨팅 플랫폼, 컴퓨팅 장치 등) 및/또는 방법을 데이터 처리 시스템에 통합한다는 것은 당해 분야에서는 일반적이란 것을 인식할 것이다. 즉, 여기서 기술된 장치 및/또는 방법의 적어도 일부는 합당한 실험량을 통해 데이터 처리 시스템에 통합될 수 있다. 당업자라면, 전형적인 데이터 처리 시스템은 일반적으로 하나 이상의 시스템 유닛 하우징, 비디오 디스플레이 장치, 휘발성 및 비휘발성 메모리 같은 메모리, 마이크로프로세서 및 디지털 신호 프로세서 같은 프로세서, 운영 체제, 드라이버, 그래픽 사용자 인터페이스 및 애플리케이션 프로그램과 같은 컴퓨터 엔티티(computational entities), 터치 패드 또는 스크린 같은 하나 이상의 상호작용 장치, 및/또는 피드백 루프 및 제어 모터(예를 들면, 위치 및/또는 속도를 감지하기 위한 피드백; 컴포넌트 및/또는 양(quantities)을 이동하고 및/또는 조정하기 위한 제어 모터)를 포함하는 제어 시스템을 일반적으로 포함한다는 것을 인식할 것이다. 전형적인 데이터 처리 시스템은 데이터 컴퓨팅/통신 및/또는 네트워크 컴퓨팅/통신 시스템에서 전형적으로 발견되는 바와 같은 임의의 적절한 상업적으로 이용가능한 컴포넌트를 이용하여 구현될 수 있다.
여기에 기술된 대상은 때때로 상이한 다른 컴포넌트 또는 구성요소 내에 포함되거나 접속된 상이한 컴포넌트 또는 구성요소를 도시한다. 도시된 그러한 아키텍처는 단순히 예시적인 것이고, 사실상 동일한 기능을 달성하는 다른 많은 아키텍처가 구현될 수 있다는 것이 이해되어야 한다. 개념적으로, 동일한 기능을 달성하기 위한 컴포넌트의 임의의 배치는 원하는 기능이 달성되도록 유효하게 "연관"된다. 이에 따라, 특정 기능을 달성하기 위해 여기서 결합된 임의의 두 개의 컴포넌트는, 아키텍처 또는 중간 컴포넌트와는 무관하게, 원하는 기능이 달성되도록 서로 "연관"된 것으로 볼 수 있다. 마찬가지로, 연관된 임의의 두 개의 컴포넌트는 또한 원하는 기능을 달성하기 위해 서로 "동작적으로 접속"되거나 또는 "동작적으로 연결"되는 것으로 간주될 수 있고, 그와 같이 연관될 수 있는 임의의 두 개의 컴포넌트는 또한 원하는 기능을 달성하기 위해 서로 "동작적으로 연결가능"한 것으로 볼 수 있다. 동작적으로 연결가능하다는 것의 특정예는 물리적으로 양립가능(mateable)하고 및/또는 물리적으로 인터액팅하는 컴포넌트 및/또는 무선으로 인터액팅이 가능하고 및/또는 무선으로 인터액팅하는 컴포넌트 및/또는 논리적으로 인터액팅하고 및/또는 논리적으로 인터액팅이 가능한 컴포넌트를 포함하지만, 이에 한정되는 것은 아니다.
여기에서 실질적으로 임의의 복수 및/또는 단수의 용어의 사용에 대하여, 당업자는 맥락 및/또는 응용에 적절하도록, 복수를 단수로 및/또는 단수를 복수로 해석할 수 있다. 다양한 단수/복수의 치환은 명확성을 위해 여기에서 명시적으로 제시될 수 있다.
당업자라면, 일반적으로 본 개시에 사용되며 특히 첨부된 청구항(예를 들어, 첨부된 청구항의 본문)에 사용된 용어들이 일반적으로 "개방적(open)" 용어(예를 들어, 용어 "포함하는"은 "포함하지만 이에 제한되지 않는"으로, 용어 "갖는"는 "적어도 갖는"으로, 용어 "포함하다"는 "포함하지만 이에 한정되지 않는" 등으로 해석되어야 함)로 의도되었음을 이해할 것이다. 또한, 당업자라면, 도입된 청구항의 기재사항의 특정 수가 의도된 경우, 그러한 의도가 청구항에 명시적으로 기재될 것이며, 그러한 기재사항이 없는 경우, 그러한 의도가 없음을 또한 이해할 것이다. 예를 들어, 이해를 돕기 위해, 이하의 첨부 청구범위는 "적어도 하나" 및 "하나 이상" 등의 도입 구절의 사용을 포함할 수 있다. 그러나, 그러한 구절의 사용이, 부정관사 "하나"("a" 또는 "an")에 의한 청구항 기재사항의 도입이, 그러한 하나의 기재사항을 포함하는 실시예로, 그러한 도입된 청구항 기재사항을 포함하는 특정 청구항을 제한함을 암시하는 것으로 해석되어서는 안되며, 동일한 청구항이 도입 구절인 "하나 이상" 또는 "적어도 하나" 및 "하나"("a" 또는 "an")와 같은 부정관사(예를 들어, "하나"는 "적어도 하나" 또는 "하나 이상"을 의미하는 것으로 일반적으로 해석되어야 함)를 포함하는 경우에도 마찬가지로 해석되어야 한다. 이는 청구항 기재사항을 도입하기 위해 사용된 정관사의 경우에도 적용된다. 또한, 도입된 청구항 기재사항의 특정 수가 명시적으로 기재되는 경우에도, 당업자라면 그러한 기재가 일반적으로 적어도 기재된 수를 의미하도록 해석되어야 함(예를 들어, 다른 수식어가 없는 "두개의 기재사항"을 단순히 기재한 것은, 일반적으로 적어도 두 개의 기재사항 또는 두 개 이상의 기재사항을 의미함)을 이해할 것이다. 또한, "A, B 및 C 등 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 당업자가 그 규칙을 이해할 것이라는 전제가 의도된 것이다(예를 들어, "A, B 및 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, A, B 및 C를 함께 갖는 시스템 등을 포함하지만 이에 제한되지 않음). "A, B 또는 C 중의 적어도 하나"와 유사한 규칙이 사용된 경우에는, 일반적으로 그러한 해석은 당업자가 그 규칙을 이해할 것이라는 전제가 의도된 것이다(예를 들어, "A, B 또는 C 중의 적어도 하나를 갖는 시스템"은, A만을 갖거나, B만을 갖거나, C만을 갖거나, A 및 B를 함께 갖거나, A 및 C를 함께 갖거나, B 및 C를 함께 갖거나, A, B 및 C를 함께 갖는 시스템 등을 포함하지만 이에 제한되지 않음). 또한 당업자라면, 실질적으로 어떠한 이접 접속어(disjunctive word) 및/또는 두 개 이상의 대안적인 용어들을 나타내는 구절은, 그것이 상세한 설명, 청구범위 또는 도면에 있는지와 상관없이, 그 용어들 중의 하나, 그 용어들 중의 어느 하나, 또는 그 용어들 두 개 모두를 포함하는 가능성을 고려하는 것으로 이해할 것이다. 예를 들어, "A 또는 B"라는 구절은 "A" 또는 "B" 또는 "A 및 B"의 가능성을 포함하는 것으로 이해될 것이다.

Claims (20)

  1. 서버-클라이언트 시스템으로서,
    웹사이트를 제공하도록 구성되고 웹 비컨(Web beacon) 기술을 이용하여 액세스 로그를 기록하는 기능을 포함하는 서버; 및
    네트워크를 통해 상기 서버와 통신 가능하고, <div> 태그 요소에서 <img> 태그 요소의 소스에 임의의 매개변수를 동적으로 추가한 단일 픽셀 이미지 파일을 동적으로 임베드함으로써 JavaScript를 실행하도록 구성되는 브라우저를 포함하는 클라이언트 단말기
    를 포함하고,
    상기 임의의 매개변수는 상기 클라이언트 단말기에서 획득된 현재 시간 데이터를 적어도 포함하며,
    상기 브라우저는, 상기 클라이언트 단말기로부터 생성된 입력 이벤트에 응답하여 GET 명령어에 의해 상기 서버로 상기 단일 픽셀 이미지 파일에 대한 요청을 하며,
    상기 서버는, 상기 웹사이트로부터 상기 요청된 단일 픽셀 이미지 파일을 판독하고, 상기 판독된 단일 픽셀 이미지 파일을 HTML로 상기 클라이언트 단말기로 전송하고, 상기 클라이언트 단말기로부터 이루어진 상기 액세스의 로그를 동시에 기록하며,
    상기 웹 비컨 기술에 의해 기록 가능한 정보에 추가하여, 상기 단일 픽셀 이미지 파일에 대한 상기 요청 내에 상기 단일 픽셀 이미지 파일에 추가된 상기 임의의 매개변수를 포함하도록 상기 서버에서 상기 로그가 기록되는,
    서버-클라이언트 시스템.
  2. 제1항에 있어서,
    상기 임의의 매개변수는, 상기 클라이언트 단말기에서 이루어진 상기 액세스와 연관된 입력 이벤트를 재구성하는 데에 필요한 정보를 더 포함하며, 상기 입력 이벤트의 선후 관계(causality)를 보장하는, 서버-클라이언트 시스템.
  3. 제1항에 있어서,
    상기 웹 비컨 기술에 의해 기록 가능한 상기 정보는, 상기 클라이언트 단말기의 IP 주소, 상기 클라이언트 단말기의 도메인 명, 상기 서버에서 획득된 액세스 날짜 및 시간, 액세스 페이지 명 또는 레퍼러(referrer)를 포함하며,
    상기 현재 시간 데이터는 밀리초 이하의 단위이고, 상기 서버에서 획득된 상기 시간은 초 단위인, 서버-클라이언트 시스템.
  4. 제1항에 있어서,
    상기 서버는 상기 로그를 분석하도록 구성되는 애플리케이션을 포함하는, 서버-클라이언트 시스템.
  5. 제1항에 있어서,
    상기 서버는, 아파치(Apache) HTTP 서버에 의해 형성되는, 서버-클라이언트 시스템.
  6. 웹사이트를 제공하며 웹 비컨 기술을 이용하여 액세스 로그를 기록하는 기능을 포함하는 서버와 통신 가능한 정보 처리 장치로서,
    브라우저 프로그램을 저장하도록 구성되는 저장 유닛; 및
    브라우저 기능을 제공하도록 상기 저장 유닛에 저장된 상기 브라우저 프로그램을 실행하도록 구성되는 프로세서
    를 포함하고,
    상기 브라우저 기능은,
    <div> 태그 요소 내에 <img> 태그 요소의 소스에 임의의 매개변수가 동적으로 추가된 단일 픽셀 이미지 파일을 동적으로 임베드함으로써 JavaScript를 실행하기 위한 기능 - 상기 임의의 매개변수는 상기 정보 처리 장치에서 획득된 현재 시간 데이터를 적어도 포함함 -; 및
    상기 정보 처리 장치에서 입력 이벤트가 생성될 때 상기 서버로 상기 단일 픽셀 이미지 파일에 대한 요청을 전달하기 위한 기능을 포함하는,
    정보 처리 장치.
  7. 제6항에 있어서,
    상기 임의의 매개변수는, 상기 정보 처리 장치 내에서 이루어진 상기 액세스와 연관된 입력 이벤트를 재구성하는 데에 필요한 정보를 더 포함하며, 상기 입력 이벤트의 선후 관계를 보장하는, 정보 처리 장치.
  8. 제7항에 있어서,
    입력 장치; 및
    디스플레이 유닛을 더 포함하고,
    상기 정보 처리 장치 내에서 이루어진 상기 액세스와 연관된 입력 이벤트를 재구성하는 데에 필요한 상기 정보는, 상기 입력 장치로부터 문자열이 입력되는 키 다운, 좌표 또는 라인 세그먼트가 상기 입력 장치로부터 그래픽하게 입력되는 마우스 클릭, 프로세스를 실행하기 위해 상기 입력 장치에 대한 입력에 응답하여 상기 디스플레이 유닛 상에 디스플레이된 버튼이 클릭되는 버튼 클릭, 프로세싱 모드를 설정하기 위해 상기 입력 장치에 대한 입력에 응답하여 상기 디스플레이 유닛 상에 디스플레이된 체크박스가 클릭되는 체크박스 클릭, 및 컬러 또는 모드를 선택하기 위해 상기 입력 장치에 대한 입력에 응답하여 상기 디스플레이 유닛 상에 디스플레이된 라디오 버튼이 클릭되는 라디오 버튼 클릭을 포함하는, 정보 처리 장치.
  9. 제6항에 있어서,
    상기 현재 시간 데이터는 밀리초 이하의 단위인, 정보 처리 장치.
  10. 클라이언트 단말기와 통신 가능한 정보 처리 장치로서,
    서버 프로그램과 로그를 저장하도록 구성되는 저장 유닛; 및
    서버 기능을 제공하기 위해 상기 저장 유닛에 저장된 상기 서버 프로그램을 실행하도록 구성되는 프로세서
    를 포함하고,
    상기 서버 기능은,
    웹사이트를 제공하기 위한 기능;
    상기 웹사이트로부터 단일 픽셀 이미지 파일을 판독하고, 상기 클라이언트 단말기에서 생성된 입력 이벤트에 응답하여 수신된 상기 단일 픽셀 이미지 파일에 대한 요청에 응답하여 상기 클라이언트 단말기로 상기 판독된 단일 픽셀 이미지 파일을 HTML로 전송하기 위한 기능; 및
    상기 클라이언트 단말기로 상기 판독된 단일 픽셀 이미지 파일을 HTML로 상기 전송함과 실질적으로 동시에, 웹 비컨 기술을 이용하여 상기 클라이언트 단말기로부터 이루어진 상기 액세스의 로그를 기록하기 위한 기능을 포함하며,
    상기 클라이언트 단말기로부터 수신된 상기 단일 픽셀 이미지 파일에 대한 상기 요청에는, JavaScript를 실행함으로써, <div> 태그 요소에서 <img> 태그 요소의 소스에 임의의 매개변수를 동적으로 추가한 상기 단일 픽셀 이미지 파일이 동적으로 임베드되며,
    상기 임의의 매개변수는 상기 클라이언트 단말기에서 획득된 현재 시간 데이터를 적어도 포함하며,
    상기 로그는, 상기 웹 비컨 기술에 의해 기록 가능한 정보에 추가하여, 상기 단일 픽셀 이미지 파일에 대한 상기 요청에서 상기 단일 픽셀 이미지 파일에 추가된 상기 임의의 매개변수를 포함하는,
    정보 처리 장치.
  11. 제10항에 있어서,
    상기 임의의 매개변수는, 상기 클라이언트 단말기에서 이루어진 상기 액세스와 연관된 입력 이벤트를 재구성하는 데에 필요한 정보를 더 포함하며, 상기 입력 이벤트의 선후 관계를 보장하는, 정보 처리 장치.
  12. 제10항에 있어서,
    상기 웹 비컨 기술에 의해 기록 가능한 상기 정보는, 상기 클라이언트 단말기의 IP 주소, 상기 클라이언트 단말기의 도메인 명, 상기 서버에서 획득된 액세스 날짜 및 시간, 액세스 페이지 명 또는 레퍼러를 포함하는, 정보 처리 장치.
  13. 제10항에 있어서,
    상기 저장 유닛는 애플리케이션 프로그램을 저장하며, 상기 프로세서는 상기 로그를 분석하기 위한 분석 기능을 제공하기 위해 상기 저장 유닛에 저장된 상기 애플리케이션 프로그램을 실행하는, 정보 처리 장치.
  14. 제13항에 있어서,
    상기 분석 기능은, 상기 웹사이트 상에서 생성되고 편집된 목적 문서 또는 그림을 식별하는 정보, 상기 클라이언트 단말기의 IP 주소, 상기 현재 시간 데이터 중의 적어도 하나에 기초하여 상기 로그의 상기 정보를 정렬하는 것을 더 포함하는, 정보 처리 장치.
  15. 제10항에 있어서,
    상기 저장 유닛 및 상기 프로세서는 아파치 HTTP 서버를 형성하는, 정보 처리 장치.
  16. 컴퓨터에 의해 실행될 때, 상기 컴퓨터가 브라우저 프로세스를 실행하여 웹사이트를 제공하는 서버를 액세스하고, 웹 비컨 기술을 이용하여 액세스 로그를 기록하기 위한 기능을 포함하도록 하는 프로그램을 저장하는 컴퓨터 프로그램 제품으로서,
    상기 브라우저 프로세스는,
    상기 컴퓨터가 JavaScript를 실행하여, <div> 태그 요소에서 <img> 태그 요소의 소스에 임의의 매개변수를 동적으로 추가한 상기 단일 픽셀 이미지 파일을 동적으로 임베드하도록 하기 위한 프로시져 - 상기 임의의 매개변수는, 상기 정보 처리 장치에서 획득된 현재 시간 데이터를 적어도 포함함 -; 및
    상기 컴퓨터가, 상기 정보 처리 장치에서 생성된 입력 이벤트에 응답하여 상기 서버로 상기 단일 픽셀 이미지 파일에 대한 요청을 전송하도록 하기 위한 프로시져
    를 포함하는, 컴퓨터 프로그램 제품.
  17. 제16항에 있어서,
    상기 임의의 매개변수는, 상기 정보 처리 장치에서 이루어진 상기 액세스와 연관된 입력 이벤트를 재구성하는 데에 필요한 정보를 더 포함하며, 상기 입력 이벤트의 선후 관계를 보장하는, 컴퓨터 프로그램 제품.
  18. 컴퓨터에 의해 실행될 때, 상기 컴퓨터가 서버 프로세스를 실행하여 웹사이트를 제공하고, 웹 비컨 기술을 이용하여 액세스 로그를 기록하도록 하는 프로그램을 저장하는 컴퓨터 프로그램 제품으로서,
    상기 서버 프로세스는,
    상기 컴퓨터가, 상기 웹사이트로부터 단일 픽셀 이미지 파일을 판독하고, 상기 클라이언트 단말기에서 생성된 입력 이벤트에 응답하여 수신된 상기 단일 픽셀 이미지 파일에 대한 요청에 응답하여 상기 클라이언트 단말기로 상기 판독된 단일 픽셀 이미지 파일을 HTML로 전송하도록 하기 위한 프로시져; 및
    상기 컴퓨터가, 상기 클라이언트 단말기로 상기 판독된 단일 픽셀 이미지 파일을 HTML로 상기 전송함과 실질적으로 동시에, 웹 비컨 기술을 이용하여 상기 클라이언트 단말기로부터 이루어진 상기 액세스의 로그를 기록하도록 하기 위한 프로시져
    를 포함하고,
    상기 클라이언트 단말기로부터 수신된 상기 단일 픽셀 이미지 파일에 대한 상기 요청에는, JavaScript를 실행함으로써, <div> 태그 요소에서 <img> 태그 요소의 소스에 임의의 매개변수를 동적으로 추가한 상기 단일 픽셀 이미지 파일이 동적으로 임베드되며,
    상기 임의의 매개변수는 상기 클라이언트 단말기에서 획득된 현재 시간 데이터를 적어도 포함하며,
    상기 로그는, 상기 웹 비컨 기술에 의해 기록 가능한 정보에 추가하여, 상기 단일 픽셀 이미지 파일에 대한 상기 요청에서 상기 단일 픽셀 이미지 파일에 추가된 상기 임의의 매개변수를 포함하는,
    컴퓨터 프로그램 제품.
  19. 제18항에 있어서,
    상기 임의의 매개변수는, 상기 클라이언트 단말기에서 이루어진 상기 액세스와 연관된 입력 이벤트를 재구성하는 데에 필요한 정보를 더 포함하며, 상기 입력 이벤트의 선후 관계를 보장하는, 컴퓨터 프로그램 제품.
  20. 제18항에 있어서,
    상기 서버 프로세스는, 상기 컴퓨터가 아파치 HTTP 서버로서 기능하도록 하는, 컴퓨터 프로그램 제품.
KR1020137004273A 2010-07-21 2010-07-21 정보 처리 장치, 서버-클라이언트 시스템, 및 컴퓨터 프로그램 제품 KR20130040255A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2010/004683 WO2012011151A1 (en) 2010-07-21 2010-07-21 Information processing apparatus, server-client system, and computer program product

Publications (1)

Publication Number Publication Date
KR20130040255A true KR20130040255A (ko) 2013-04-23

Family

ID=45494445

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137004273A KR20130040255A (ko) 2010-07-21 2010-07-21 정보 처리 장치, 서버-클라이언트 시스템, 및 컴퓨터 프로그램 제품

Country Status (6)

Country Link
US (1) US8990291B2 (ko)
EP (1) EP2596431B1 (ko)
JP (1) JP5735095B2 (ko)
KR (1) KR20130040255A (ko)
CN (1) CN103026350B (ko)
WO (1) WO2012011151A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11157590B2 (en) 2014-05-31 2021-10-26 International Business Machines Corporation Script logging for markup language elements

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120151012A1 (en) * 2010-12-09 2012-06-14 Shakeel Mustafa Internet delivery of scheduled multimedia content
FR2979509B1 (fr) * 2011-08-29 2014-06-06 Alcatel Lucent Procede et serveur pour le suivi des utilisateurs au cours de leur navigation dans un reseau de communication
US9311281B2 (en) 2012-09-10 2016-04-12 Usablenet Inc. Methods for facilitating web page image hotspots and devices thereof
US9438694B1 (en) 2013-01-29 2016-09-06 Amazon Technologies, Inc. Managing page-level usage data
US9398071B1 (en) 2013-01-29 2016-07-19 Amazon Technologies, Inc. Managing page-level usage data
US9577889B1 (en) * 2013-01-29 2017-02-21 Amazon Technologies, Inc. Managing page-level usage data
US10123063B1 (en) * 2013-09-23 2018-11-06 Comscore, Inc. Protecting user privacy during collection of demographics census data
CN103473106B (zh) * 2013-09-30 2017-02-01 迈普通信技术股份有限公司 一种页面生成的方法及系统
WO2016004246A1 (en) * 2014-07-01 2016-01-07 Truebox, Llc System and method for providing a visual representation of public opinion about a subject
US20160043993A1 (en) * 2014-08-06 2016-02-11 Go Daddy Operatating Company LLC Optimized domain names and websites based on incoming traffic
ES2784867T3 (es) * 2014-10-01 2020-10-01 Inst Rundfunktechnik Gmbh Método de sondeo
JP2016143212A (ja) * 2015-02-02 2016-08-08 キヤノン株式会社 情報処理装置、情報処理装置の制御方法、及び制御プログラム
CN104954867A (zh) * 2015-06-26 2015-09-30 努比亚技术有限公司 媒体播放方法及装置
US10382469B2 (en) * 2015-07-22 2019-08-13 Rapid7, Inc. Domain age registration alert
CN105681822A (zh) * 2016-03-18 2016-06-15 北京融信汇智科技有限公司 一种基于wifi的音频播放及大数据采集方法及装置
CN107290986B (zh) * 2016-04-11 2019-09-03 趣之科技(深圳)有限公司 一种基于互联网云服务的远程机器人实时消息推送方法、系统和装置
CN106156346A (zh) * 2016-07-21 2016-11-23 乐视控股(北京)有限公司 图标的自动分类方法和装置
CN109558305B (zh) * 2017-09-27 2022-05-27 北京国双科技有限公司 日志数据排序方法及装置
CN111475756B (zh) * 2019-01-23 2023-04-14 苏宁易购集团股份有限公司 一种信息无痕曝光采集方法及装置
CN110008875B (zh) * 2019-03-26 2022-03-15 武汉大学 一种基于关键帧回溯的人脸识别视频片段筛选方法及系统
EP3813316A1 (en) * 2019-10-25 2021-04-28 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Web server circuit, method and computer program for preventing parasite attacks
JP2022080520A (ja) * 2020-11-18 2022-05-30 キヤノン株式会社 情報処理システムおよびプログラム

Family Cites Families (43)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2773435B2 (ja) 1991-01-21 1998-07-09 富士通株式会社 現金自動取扱装置
US5796952A (en) * 1997-03-21 1998-08-18 Dot Com Development, Inc. Method and apparatus for tracking client interaction with a network resource and creating client profiles and resource database
US6021426A (en) * 1997-07-31 2000-02-01 At&T Corp Method and apparatus for dynamic data transfer on a web page
US6112240A (en) * 1997-09-03 2000-08-29 International Business Machines Corporation Web site client information tracker
US6088707A (en) * 1997-10-06 2000-07-11 International Business Machines Corporation Computer system and method of displaying update status of linked hypertext documents
US7120862B1 (en) * 1998-12-01 2006-10-10 Lucent Technologies Inc. Method and apparatus for persistent access to Web resources using variable time-stamps
JP3744255B2 (ja) 1999-04-27 2006-02-08 日本電信電話株式会社 アクセス解析方法及び装置及びアクセス解析プログラムを格納した記憶媒体
US6961929B1 (en) * 1999-06-25 2005-11-01 Sun Microsystems, Inc. Mechanism for automatic synchronization of scripting variables
US7099958B2 (en) * 2000-08-15 2006-08-29 Fujitsu Limited System for designing and performing web application
US7216149B1 (en) 2000-08-18 2007-05-08 International Business Machines Corporation Gathering enriched web server activity data of cached web content
JP3849919B2 (ja) 2001-08-20 2006-11-22 株式会社日立情報システムズ Webアクセス解析を用いたメール配信装置および方法、ならびにそのプログラム
US6973492B2 (en) * 2001-09-07 2005-12-06 International Business Machines Corporation Method and apparatus for collecting page load abandons in click stream data
US7680892B2 (en) * 2001-11-06 2010-03-16 Ihance, Inc. Method and system for monitoring email and website behavior of an email recipient
US20040098229A1 (en) * 2002-06-28 2004-05-20 Brett Error Efficient click-stream data collection
US10205623B2 (en) * 2002-06-28 2019-02-12 Adobe Systems Incorporated Custom event and attribute generation for use in website traffic data collection
US7441195B2 (en) * 2003-03-04 2008-10-21 Omniture, Inc. Associating website clicks with links on a web page
CN100437740C (zh) * 2003-03-04 2008-11-26 奥姆尼图雷有限公司 站点点击与网页上链接的关联
EP1604349A4 (en) 2003-03-04 2006-12-06 Omniture Inc CONNECTING WEBSITE CLICKS WITH LINKS ON ONE WEBSITE
US20040243704A1 (en) * 2003-04-14 2004-12-02 Alfredo Botelho System and method for determining the unique web users and calculating the reach, frequency and effective reach of user web access
JP4261997B2 (ja) 2003-06-26 2009-05-13 日本放送協会 データ放送制作装置
JP3938141B2 (ja) 2004-01-23 2007-06-27 日本電気株式会社 ネットワーク情報管理システム、ネットワーク情報管理サーバおよびネットワーク情報管理方法
US7584435B2 (en) 2004-03-03 2009-09-01 Omniture, Inc. Web usage overlays for third-party web plug-in content
US8112482B1 (en) * 2004-04-14 2012-02-07 Sprint Spectrum L.P. System and method for securing access to electronic mail
US20060026438A1 (en) * 2004-07-29 2006-02-02 Microsoft Corporation Anonymous aliases for on-line communications
US20060149746A1 (en) 2005-01-04 2006-07-06 Microsoft Corporation Web application communication protocol
JP2006195979A (ja) 2005-01-04 2006-07-27 Microsoft Corp ウェブアプリケーションアーキテクチャ
US20060167981A1 (en) 2005-01-04 2006-07-27 Microsoft Corporation Web application architecture
US8832055B1 (en) * 2005-06-16 2014-09-09 Gere Dev. Applications, LLC Auto-refinement of search results based on monitored search activities of users
US8239522B1 (en) * 2006-11-16 2012-08-07 Adobe Systems Incorporated Dynamic variables for tracking wireless device website usage
US7606897B2 (en) * 2007-04-05 2009-10-20 Yahoo! Inc. Accelerated and reproducible domain visitor targeting
JP4090494B1 (ja) 2007-06-21 2008-05-28 株式会社アラジン アクセス解析方法、アクセス解析システムおよびアクセス解析プログラム
JP4236689B2 (ja) 2007-06-26 2009-03-11 株式会社アラジン アクセス解析方法、アクセス解析システムおよびアクセス解析プログラム
US8635535B2 (en) * 2007-10-16 2014-01-21 D&B Business Information Solutions Limited Third-party-secured zones on web pages
US8595634B2 (en) * 2007-11-30 2013-11-26 Red Hat, Inc. Distributed hosting of web application styles
US8756340B2 (en) * 2007-12-20 2014-06-17 Yahoo! Inc. DNS wildcard beaconing to determine client location and resolver load for global traffic load balancing
US7962631B2 (en) 2007-12-21 2011-06-14 Yahoo! Inc. Method for determining network proximity for global traffic load balancing using passive TCP performance instrumentation
JP2009230429A (ja) * 2008-03-21 2009-10-08 Fujifilm Corp 登録コンテンツに対する興味情報作成方法、コンテンツストックサーバ、コンテンツ情報管理サーバ、および登録コンテンツに対する興味情報作成システム
US7958191B1 (en) * 2008-06-27 2011-06-07 Quantcast Corporation System and method for client management
US7752261B1 (en) * 2008-06-27 2010-07-06 Quant cast Corporation System and method for multibeaconing
KR20110110806A (ko) * 2009-01-15 2011-10-07 엘몬드네트, 인크. 프라이버시 보호 온라인 사용을 위한 오프라인 프로파일 데이터 요청
US8359313B2 (en) * 2009-10-20 2013-01-22 Google Inc. Extensible custom variables for tracking user traffic
US9134875B2 (en) * 2010-03-23 2015-09-15 VoteBlast, Inc. Enhancing public opinion gathering and dissemination
US9369437B2 (en) * 2010-04-01 2016-06-14 Cloudflare, Inc. Internet-based proxy service to modify internet responses

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11157590B2 (en) 2014-05-31 2021-10-26 International Business Machines Corporation Script logging for markup language elements
US11210362B2 (en) 2014-05-31 2021-12-28 International Business Machines Corporation Script logging for markup language elements

Also Published As

Publication number Publication date
EP2596431A1 (en) 2013-05-29
US8990291B2 (en) 2015-03-24
CN103026350A (zh) 2013-04-03
EP2596431A4 (en) 2014-07-23
CN103026350B (zh) 2016-02-10
EP2596431B1 (en) 2016-11-30
WO2012011151A1 (en) 2012-01-26
JP5735095B2 (ja) 2015-06-17
JP2013539562A (ja) 2013-10-24
US20120023156A1 (en) 2012-01-26

Similar Documents

Publication Publication Date Title
EP2596431B1 (en) Information processing apparatus, server-client system, and computer program product
JP5443513B2 (ja) ドメインにわたりクッキーを処理する方法およびシステム
US8793282B2 (en) Real-time media presentation using metadata clips
AU2021232817A1 (en) Methods, systems, apparatus, products, articles and data structures for cross-platform digital content
JP2008547331A (ja) ビデオファイルへのビデオデータの格納方法
CN111898055A (zh) 一种浏览器网页的录屏与回放方法
JP2008521147A (ja) アプリケーションクローラの方法及び装置
US20140108503A1 (en) Remote interface templates
JP2007213385A (ja) 情報処理装置、情報処理方法、プログラム
US9350817B2 (en) Recording a hyper text transfer protocol (HTTP) session for playback
TW200805096A (en) Search apparatus and method, and program
CN101909207A (zh) 视频播放方法及装置
WO2015035944A1 (zh) 一种在浏览器中进行图片处理的方法、装置和浏览器
CN108959595A (zh) 基于虚拟与现实的网站构建和体验方法及其装置
Becker et al. A generic platform for ubiquitous and subjective data
KR20030008944A (ko) 웹 컨텐츠 통합 서비스를 제공하는 멀티미디어 홈페이지및 포린 페이지 저작 및 재생 시스템
KR102029167B1 (ko) 사용자 상황에 따른 음악감상 서비스 시스템 및 방법
JP3698523B2 (ja) アプリケーションプログラム起動方法,そのコンピュータプログラムを記録した記録媒体及びコンピュータシステム
JP2011108118A (ja) データ処理システム、データ処理装置、プログラム、およびデータ処理方法
US11711223B1 (en) Protecting user privacy in playback of user sessions
JP2012208656A (ja) 情報処理装置及び情報処理方法
Gunnam How I changed over time: a webservice to summarize TimeMaps based on SimHashed HTML content
Osborn et al. The Adventures of Women In Business
Røyeng A collaborative internet archive for personal and social use
JP2007026156A (ja) Webしおりを利用するマーケティングシステム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2015101004479; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20150731

Effective date: 20160830

J302 Written judgement (patent court)

Free format text: TRIAL NUMBER: 2016201008018; JUDGMENT (PATENT COURT) FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20161028

Effective date: 20170512