KR20020009556A - 웹 서버 콘텐츠 복제 - Google Patents

웹 서버 콘텐츠 복제 Download PDF

Info

Publication number
KR20020009556A
KR20020009556A KR1020017009528A KR20017009528A KR20020009556A KR 20020009556 A KR20020009556 A KR 20020009556A KR 1020017009528 A KR1020017009528 A KR 1020017009528A KR 20017009528 A KR20017009528 A KR 20017009528A KR 20020009556 A KR20020009556 A KR 20020009556A
Authority
KR
South Korea
Prior art keywords
file
changes
web
content
modification list
Prior art date
Application number
KR1020017009528A
Other languages
English (en)
Other versions
KR100729287B1 (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 US09/376,017 external-priority patent/US7035943B2/en
Priority claimed from US09/377,611 external-priority patent/US6976093B2/en
Application filed by 웹스펙티브 소프트웨어, 인크. filed Critical 웹스펙티브 소프트웨어, 인크.
Publication of KR20020009556A publication Critical patent/KR20020009556A/ko
Application granted granted Critical
Publication of KR100729287B1 publication Critical patent/KR100729287B1/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Systems or methods specially adapted for specific business sectors, e.g. utilities or tourism
    • G06Q50/10Services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명은 복수의 웹 서버를 관리하는 것에 관한 것으로써, 특히 시스템 운용자가 웹 서비스 시스템에서 각 웹 서버에 콘텐츠를 분배할 수 있는 웹 서비스 시스템 및 방법에 관한 것이다. 일 실시예에 있어서, 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법은 원시 파일 세트 안의 변경 사항을 식별하고, 그 식별된 변경 사항을 수정 목록 안에 기억하여, 그 수정 목록을 목적 파일 시스템에 엑세스하는 에이전트로 전송하는 것을 포함한다. 다른 실시예에 있어서, 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법은 원시 파일 세트 안의 변경 사항을 식별하고, 그 식별된 변경 사항을 수정 목록 안에 기억하며, 그 수정 목록을 복수의 웹 서버에 전송하는 것을 포함한다. 다른 실시예에 있어서, 웹 서비스 시스템은 상기 웹 서비스 시스템을 관리하는 관리자와, 상기 관리자와 통신하여 웹 페이지 요청 및 에이전트를 수신하는 웹 서버를 포함하는 호스트와, 상기 호스트에 상기 콘텐츠 변경을 제공하는 콘텐츠 분배기를 포함한다. 다른 실시예에 있어서, 콘텐츠 분배기는 원시 파일 세트 안의 변경 사항을 식별하는 식별 모듈과, 상기 식별된 변경 사항을 기억하는 수정 목록과, 상기 수정 목록을 목적 파일 시스템에 엑세스하는 에이전트로 전송하는 전송기를 포함한다.

Description

웹 서버 콘텐츠 복제{WEB SERVER CONTENT REPLICATION}
컴퓨터 통신망 환경에서는 웹 서버를 이용하여 상기 컴퓨터 통신망을 통하여 전송되는 사용자의 웹 페이지 요청에 응답한다. 웹 페이지 요청은 콘텐츠 요청으로도 불리며, 통상적으로 사용자의 컴퓨터에서 실행하는 브라우저에 의해 이루어진다. 웹 서버는 웹 페이지를 요청하기 위하여 한 개 이상의 컴퓨터 통신망 어드레스 /포트 끝점을 감시하는 동시에, 그 웹 페이지 요청에 응답하여 요청자에게 웹 페이지를 전송한다. 웹 서버들은 특별한 목적의 장치가 될 수 있고, 또한 범용 컴퓨터에서 실행하는 소프트웨어 프로그램으로 실행될 수 있다. 웹 서버의 서비스 용량은 소정의 시간동안 수신하여 응답될 수 있는 웹 페이지 요청 갯수를 제한한다.
웹 서비스 시스템에는 한 개 이상의 웹 서버가 있다. 일반적으로, 웹 서비스 시스템에 한 개 이상의 웹 서버가 있을 때, 상기 웹 서비스 시스템은 그 복수의 웹 서버가 웹 페이지 요청에 각각 응답하도록 설계된다. 통상적으로, 사용자의 웹 페이지 요청은 상기 웹 서버 중 하나로 보내지며, 상기 웹 서버는 그 웹 페이지 요청에 응답한다. 또한, 통상적으로 많은 웹 페이지 요청을 수신하기 위하여 설계된 웹 서비스 시스템에는 많은 웹 서버가 있다.
일반적으로, 복수의 웹 서버를 구비한 시스템에서, 시스템 운용자 또는 운용자들은 다양한 웹 서버에 의해 제공된 콘텐츠를 관리한다. 시스템 운용자는 상기 시스템 상에 콘텐츠를 조정하여, 예컨대 다양한 웹 서버의 콘텐츠가 확실히 일치시키거나, 또는 한 개의 웹 서버로부터 일부 콘텐츠를 이용할 수 있고, 다른 웹 서버로부터 다른 콘텐츠를 이용할 수 있게 만들기를 원할지도 모른다. 이것은 이행하기 어렵다. 특히 일련의 관련 웹 페이지를 갖고 있는 시스템과 대화하는 중에 잠재적으로 있을 사용자에게 명백하게 콘텐츠 갱신이 이루어지는 경우에 이행하기 어렵다.
콘텐츠 관리는 또한 캐싱 서버에 대한 문제가 있다. 캐싱 서버는 차후에 동일한 요청을 충족시키기 위하여 브라우저로부터 웹 서버까지 지연된 요청 결과를 캐싱하거나 일시적으로 저장한다. 캐시 서버 설계 및 동작시 문제점은 그 저장된(캐싱된) 콘텐츠가 원시 서버의 콘텐츠와 전혀 일치하지 않을 때, 즉 그 캐싱된 콘텐츠가 무효일 때를 결정하는 것이다. 그 하이퍼텍스트 전송 프로토콜("http")은 일부 콘텐츠의 원시 서버용 메커니즘을 포함하여 캐시 서버가 상기 콘텐츠의 사본을 보유해야 하는 기간을 특정하는 것이다. 그러나, 일부 콘텐츠에 대하여 원시 서버는 상기 콘텐츠가 얼마나 오랫동안 유효하게 남아 있을지 사전에 정확하게 판단할 수 없으며, 예상치 못하게 상기 최초 서버에 의해 지정된 소멸 시간보다 일찍 콘텐츠가 갱신되는 상황이 될 수 있다.
본 출원은 1998년 5월 29일 출원된 미국 특허 출원 번호 제09/086,821호, 미국 특허 출원 번호 제09/086,836호, 미국 특허 출원 번호 제09/086,874호 및 미국 특허 출원 번호 제09/874,263호의 일부 연속 출원이며, 1999년 1월 28일에 출원된 미국 예비 특허 출원 번호 제60/117,674호, 1999년 8월 19일 출원된 미국 특허 출원 번호 제09/377,611호 및 미국 특허 출원 번호 제09 /376,017호를 우선권 주장하였다.
본 발명은 복수의 웹 서버를 관리하는 것에 관한 것으로써, 특히 시스템 운용자가 상기 웹 서버 시스템의 각 웹 서버에 콘텐츠를 분배할 수 있는 웹 서비스 시스템에 관한 것이다.
도 1은 본 발명에 따른 웹 서비스 시스템의 일 실시예에 대한 블록도.
도 2는 웹 서비스 시스템의 일 실시예에 대한 상세 블록도.
도 3은 도 1의 콘텐츠 분배기의 일 실시예에 대한 동작 흐름도.
도 4는 현재의 원시 파일 세트 및 이전 파일 세트의 비교 흐름도.
도 5는 적하 목록 엔트리의 일 실시예도.
도 6은 변경된 파일의 목록 예시도.
도 7은 도 6의 변경된 파일을 도시하는 적하 목록의 예시도.
도 8은 구 버젼 유지 관리의 일 실시예도.
도 9는 캐싱 서버와 통신하여 웹 서비스 시스템의 일 실시예에 대한 블록도.
도 10은 콘텐츠를 분배하는 방법에 대한 일 실시예의 흐름도.
도 11은 콘텐츠 분배기의 기타 실시예에 대한 동작 흐름도.
도 12는 상기 콘텐츠 분배기의 기타 실시예에 대한 동작 흐름도.
도 13은 도 12의 실시예에서 스크립트에 제공된 정보의 예시도.
한 개 이상의 웹 서버를 구비한 웹 서비스 시스템에 있어서, 상기 한 개 이상의 웹 서버에서 콘텐츠를 관리하고 분배하는 시스템 및 방법은 시스템 운용자에게는 유용한 것이다. 예컨대, 콘텐츠 갱신은 가끔 빠르게 실행되는 것이 바람직하다. 스케줄링 및 자동화를 이용하여 효율적이고 일정한 방법으로 상기 서버 상에서 콘텐츠를 갱신한다. 또한, 콘텐츠 갱신 실패를 식별하고, 그 불량 서버를 서비스에서 빼내어, 수리한 다음, 가능한 빨리 상기 웹 서비스 시스템의 서비스로 복귀시킨다. 갱신이 일어날 때에도, 트랜잭션의 손상을 줄이면서 웹 사이트를 최대로 이용하는 것이 바람직하다. 변경 사항들은 예컨대, 상기 웹 서버 프로세스가 끝날 때까지 언로드(및/또는 갱신)되지 않을 공유 라이브러리를 이용하여 그 콘텐츠를 제공하는 경우에, 서버의 재기동을 요구할 수 있다.
본 발명에 따른 웹 서비스 시스템은 그 시스템의 한 개 이상의 웹 서버에서 변경된 콘텐츠를 정확하고 효율적으로 갱신하여, 그 변경 사항이 상기 웹 서버사이에서 일정하고, 과도한 통신망 대역폭이 필요 없도록 한다.
이것은 웹 서버와 트랜잭션으로 연동되는 브라우저에 상기 콘텐츠 변경이 두드러지지 않고, 그 콘텐츠를 이용하여 개시된 트랜잭션을 일치하기 위하여 콘텐츠 버젼들을 보존하며, 웹 서버는 갱신에 문제가 있으면 구 콘텐츠로 돌아갈 수 있도록 수행된다. 본 발명의 웹 서비스 시스템은 콘텐츠 변경 사항을 추적할 수도 있고, 캐싱 콘텐츠가 무효로 되는 것을 적합한 캐싱 서버에 통지할 수도 있다.
일반적으로, 일 특징에 있어서, 본 발명은 변경 파일을 컴퓨터에 통지하는 시스템 및 방법에 관한 것이다. 원시 파일 세트의 변경은 동일시 된다. 그 식별된 변경 사항은 상기 변경 사항을 지정하는 URL을 포함하는 수정 목록에 저장된다. 상기 수정 목록은 컴퓨터로 전송된다. 일 실시예에 있어서, 상기 수정 목록은 웹 캐시 서버로 전송된다. 일 실시예에 있어서, 상기 변경 사항은 파일 세트를 조사하여 그 파일 세트와 초기에 기록된 파일 세트를 비교하는 것에 의해 식별된다. 다른 실시예에 있어서, 상기 파일 세트는 파일 속성과 초기에 기록된 세트의 파일 속성을 비교하는 것에 의해 초기에 기록된 세트와 비교된다. 다른 실시예에 있어서, 상기 파일 속성은 파일 크기, 파일 인가. 파일 소유, 수정 시간 및 피일 해시의 세트로부터 선택된 적어도 하나의 속성을 포함한다. 다른 실시예에 있어서, 상기 변경 사항은 파일 세트를 조사하여 상기 파일 세트와 초기에 기록된 세트를 비교하는 것에 의해 식별된다. 다른 실시예에 있어서, 상기 변경 사항은 장치 드라이버를 설치하여 파일 동작을 실행하고, 상기 장치 드라이버에 의해 변경 사항을 상기 원시 파일 세트에 기록함으로써 식별된다. 다른 실시예에 있어서, 상기 변경 사항은 변경 사항을 설명하는 적하 목록을 상기 원시 파일 세트로 수신하는 것에 의해 식별된다.다른 실시예에 있어서, 상기 방법은 상기 전송 단계 전에, 스크립트를 호출하는 단계를 포함한다. 다른 실시예에 있어서, 상기 방법은 상기 전송 단계 후에, 스크립트를 호출하는 단계를 포함한다. 다른 실시예에 있어서, 상기 방법은 상기 전송 단계가 성공적으로 완료되었는지 여부를 결정하는 단계를 포함하고, 상기 호출 단계는 상기 결정 단계 후에 발생한다.
일반적으로 다른 특징에 있어서, 본 발명은 목적 파일 시스템에 원시 파일 세트 안의 변경 사항을 복제하는 시스템 및 방법에 관한 것이다. 원시 파일 세트의 변경 사항은 식별된다. 그 변경 사항은 제1 수정 목록에 저장된다. 상기 수정 목록은 목적 파일 시스템에 엑세스하는 에이전트로 전송된다. 상기 변경 사항은 상기 변경된 파일을 지정하는 URL을 포함하는 제2 수정 목록에 저장된다. 상기 수정 목록은 컴퓨터로 전송된다. 일 실시예에 있어서, 상기 수정 목록은 웹 캐시 서버로 전송된다. 다른 실시예에 있어서, 상기 제1 수정 목록은 상기 제2 수정 목록으로 전환된다.
일반적으로, 다른 특징에 있어서, 본 발명은 목적 파일 시스템 상에 원시 파일 세트 안에 변경 사항을 복제하고, 그 변경 사항을 컴퓨터에 통지하는 시스템 및 방법에 관한 것이다. 원시 파일 세트의 변경 사항은 동일시된다. 상기 변경 사항은 상기 변경된 파일을 지정하는 URL을 포함하는 제2 수정 목록에 기억된다. 상기 수정 목록은 목적 파일 시스템에 엑세스하는 에이전트로 전송된다. 상기 수정 목록은 컴퓨터로 전송된다.
일반적으로, 다른 특징에 있어서, 본 발명은 웹 서비스 시스템에 관한 것이다. 본 시스템에는 웹 서비스 시스템을 관리하는 관리자와, 상기 관리자와 통신하여 웹 페이지 요청 및 에이전트를 수신하는 웹 서버와, 웹 캐시와, 상기 호스트에 콘텐츠 변경 사항을 제공하는 콘탠츠 분배기가 있다. 다른 실시예에 있어서, 상기 시스템에는 웹 페이지를 보내는 트래픽 관리자가 있다. 다른 실시예에 있어서, 상기 콘텐츠 분배기에는 원시 파일 세트 안에 변경 사항을 식별하는 식별 모듈과, 그 식별된 변경 사항을 저장하는 수정 목록과, 상기 수정 목록을 목적 파일 시스템에엑세스하는 에이전트로 전송하는 전송기가 있다. 다른 실시예에 있어서, 상기 시스템은 상기 변경된 파일을 에이전트로 전송하는 전송기가 있다. 다른 실시예에 있어서, 상기 에이전트에는 상기 목적 파일 시스템 상에 상기 변경된 파일을 설치하는 설치기가 있다.
일반적으로, 다른 특징에 있어서, 본 발명은 콘탠츠 분배기에 관한 것이다. 상기 콘텐츠 분배기는 원시 파일 세트 안에 변경 사항을 식별하는 식별 모듈을 포함한다. 또한, 상기 콘텐츠 분배기에는 그 식별된 변경 사항을 저장하는 수정 목록과, 상기 수정 목록을 목적 파일 시스템에 엑세스하는 에이전트로 전송하는 전송기가 있다. 일 실시예에 있어서, 상기 콘텐츠 분배기에는 상기 변경된 파일을 상기 에이전트로 전송하는 전송기가 있다. 다른 실시예에 있어서, 상기 콘텐츠 분배기에는 상기 변경된 파일을 웹 캐시 서버로 전송하는 전송기가 있다.
본 발명의 기타 목적, 특징 및 장점들은 다음과 같은 설명으로 더욱 명백히 될 것이다.
웹 페이지를 서비스하는 시스템에는 복수의 웹 서버가 있고, 복수의 웹 서버의 동작을 조정하기 위한 특징 및 툴(tool)을 갖춘 시스템 운용자를 제공한다. 그 시스템에는 단지 한 개의 웹 서버가 있지만, 통상적으로 한 개 이상의 웹 서버가 있다. 상기 시스템은 클라이언트 컴퓨터 상에 웹 브라우저로부터 일반적으로 개시하는 웹 페이지 요청을 이용가능한 웹 서버로 보내기 때문에, 상기 복수의 서버 사이에 웹 페이지 요청 서비스 부하의 균형을 맞춰 트랙픽을 관리할 수 있다. 상기시스템은 웹 페이지 요청시 데이터를 수집하고, 그 웹 페이지 요청에 웹 서버가 응답을 할 수 있으며, 상기 데이터의 보고 뿐만 아니라 자동 및 수동 분석 툴을 제공한다. 상기 시스템은 특정 이벤트를 감시하고, 그러한 이벤트의 출현시 자동으로 동작할 수 있다. 상기 이벤트들은 임박한 시스템 문제점을 지시하는 예상치 또는 임계치를 포함한다. 상기 시스템은 위기 관리 능력이 있어서 자동으로 에러를 회복하고, 부품 불량 또는 통신망 환경 문제와 같이 이벤트로부터 회복될 수 있는 가능한 동작을 통하여 시스템 운용자를 안내한다. 상기 시스템은 상기 시스템 동작에 관한 현재의 정보를 시스템 운용자에게 나타낼 수 있다. 상기 시스템은 버젼 제어 및 데이터 갱신으로 콘텐츠 복제를 관리할 수 있다. 일부 또는 모든 이러한 기능은 특정 실시예에 제공된다.
도 1을 참조하면, 웹 서비스 시스템(90)의 실체는 브라우저(1)로부터 웹 페이지 요청을 수신한다. 이러한 콘텐츠에 있어서, 웹 페이지는 웹 페이지 요청에 응답하여 컴퓨터 통신망(2)에 이용될 수 있는 전자 콘텐츠이다. 요청들은 통상적으로 웹 브라우저(1)로부터 통상적으로 개시한다. 웹 페이지의 일예는 디스플레이되고, 실행되고, 플레이되고, 처리되고, 스트림되고, 기억될 수 있고, 링크 또는 포인터를 기타 웹 페이지에 포함할 수 있는 실행 또는 해석 가능한 정보, 그래픽, 음성, 텍스트 및/또는 비디오를 포함한다. 상기 요청은 통신망(2)을 통하여 전달된다. 일 실시예에 있어서, 상기 통신망(2)은 인터넷이다. 기타 실시예에 있어서, 상기 통신망(2)은 인터넷으로 알려진 글로벌 통신망이다. 브라우저(1)는 웹 페이지 요청을 위하여 사용자에 의해 동작되고, 컴퓨터 또는 컴퓨터 프로그램에 의해 동작될 수있고, 상기 컴퓨터의 프로그래밍에 기초하여 자동으로 요청한다. 상기 웹 페이지 요청은 HTTP 포멧을 이용하여 이루어지고, 또한 요청 능력이 있는 기타 프로토콜을 이용하여 이루어질 수 있다.
도 2를 참조하면, 웹 서비스 시스템(90)의 실체는 다양한 부품(100-126)을 포함한다. 그 부품들은 한 개 이상의 통신망을 걸쳐 통신한다. 상기 부품들의 물리적인 위치는 다양한 부품사이의 통신 링크가 충분한 데이터 통신력을 가지고 있는 한 상기 시스템의 능력 또는 성능에 손상을 입히지 않는다. 상기 웹 서비스 시스템 (90)은 다양하게 설계한 방화벽을 통하여 작동하고, 원격적으로 배치 및 관리될 수 있다.
상기 웹 서비스 시스템(90)은 한 개 이상의 호스트(100)를 관리한다. 한 개의 호스트(100)는 일예로 도시된다. 상기 웹 서비스 시스템(90)의 실체는 임의 갯수의 호스트(100)를 가질 수 있다. 각 호스트(100)는 UNIX 또는 윈도우 NT 등의 멀티 쓰레드 운용 시스템을 이용할 수 있고, 구매 가능한 컴퓨터 시스템이 될 수 있다. 각 호스트(100)는 컴퓨터 통신망, 예컨대 인터넷 또는 인트라넷, 또는 그 호스트(100)가 웹 페이지 데이터 요청에 응답하여 웹 페이지 데이터를 제공할 수 있는 임의 기타 통신망에 적어도 하나의 통신망 접속을 할 수 있다.
상기 웹 서버(102)는 컴퓨터 통신망을 통하여 수신된 웹 페이지 요청에 응답하여 웹 페이지를 제공하는 웹 서버가 될 수 있다. 그러한 웹 서버의 2가지 예로는 마운틴 뷰 넷스케이프 통신 회사의 NETSCAPE ENTERPRISE SERVER 및 레드몬드 마이크로소프트사의 MICROSOFT INTERNET INFORMATION SERVICES SERVER가 있다. 상기 웹서버(102)는 웹 클라이언트로부터 웹 페이지 요청을 수신할 수 있으며, 브라우저 및/또는 웹 페이지 요청으로 언급된다. 브라우저로부터 웹 페이지 요청은 콘텐츠 요청으로 언급되고, 웹 서버의 뷰 지점으로부터의 웹 페이지 요청은 "히트"로서 언급된다. 종종 웹 페이지 요청은 일부 요청 및 응답을 포함하는 웹 서버(102)와 통신한 일부분이다. 세션으로 언급되는 그러한 일련의 세션은 웹 서버와 대화로 확장된다. 짧은 대화, 예컨대, 항목의 구매는 트랜잭션으로 언급된다. 세션은 일부 트랜잭션을 포함할 수 있다. 그 사용자는 웹 서버(102)의 초기 요청에 의해 웹 서버 (102)와 대화함으로써, 응답하여 웹 페이지를 전송한다. 상기 웹 페이지는 정보를 포함하고, 또한 사용자가 웹 서버(102) 또는 기타 웹 서버를 만들 수 있는 기타 요청을 가르킨다. 때때로, 상기 요청들은 데이터베이스로부터 검색되어야 하는 정보용이고, 때때로 상기 요청은 데이터베이스에 기억되는 정보를 포함한다. 때때로, 상기 요청은 웹 서버(102)에 의한 처리를 요구하거나, 기타 컴퓨터 시스템과 대화를 요청한다. 복잡한 웹 서버 및 브라우저는 다양한 방법으로 대화 할 수 있다.
관련 웹 페이지의 집합은 관련된 토픽에 관한 웹 페이지 세트와 같이 또는 특정 소오스로부터 사용자에게 나타나지만, 일반적으로 동일한 웹 서버(102)로부터 나타나는 것이 아니며, 어플리케이션으로 불린다. 어플리케이션의 일예는 회상에 관한 정보를 제공하는 페이지 세트이다. 어플리케이션의 기타 예는 사용자가 그의 저축 은행과 트랜잭션할 수 있는 일련의 페이지이다. 2개의 웹 페이지 세트는 한 개의 어플리케이션으로 되거나, 2개의 개별 어플리케이션으로 고려될 수 있다. 예컨대, 웹 페이지 세트는 은행에 관한 정보를 제공하고, 웹 페이지의 고객 서비스세트는 은행과 사업 트랜잭션을 허용한다. 웹 페이지 세트가 한 개 또는 몇개의 어플리케이션인지 여부는 어플리케이션 설계자에 의해 결정된다. 상기 웹 서비스 시스템(90)은 한 개 이상의 어플리케이션을 사용자에게 전달될 수 있다. 상기 웹 서비스 시스템(90)은 상기 웹 서버(102)의 일부 보조 세트가 한 개의 어플리케이션을 배타적으로 제공할 수 있도록 배치될 수 있다. 일 실시예에 있어서, 일부 웹 서버(102)는 이용가능한 어플리케이션의 보조 세트를 서비스하고, 기타 웹 서버(102)는 기타 어플리케이션을 서비스한다. 기타 실시예에 있어서, 모든 웹 서버(102)는 모든 이용가능한 어플리케이션을 서비스한다.
상기 사용자의 웹 브라우저로부터 웹 페이지 요청에 응답하여 사용자에게 나타나는 웹 페이지는 상기 웹 서버에 엑세스할 수 있는 호스트(100) 또는 파일 시스템에 기억될 수 있다. 일부 또는 모든 웹 페이지 콘텐츠는 상기 웹 서버(102)에 이용가능한 데이터를 처리함으로써 웹 서버(102)에 의해 생성될 수 있다. 예컨대, 토픽에 관한 서류가 있는 웹 페이지에 대하여, 상기 웹 페이지는 생성되어 상기 웹 서버(102) 파일 시스템에 기억될 수 있다. 웹 페이지 요청에 응답하여, 그러한 웹 페이지는 상기 파일 시스템에 기억되는 것과 같이 사용자에게 전송될 수 있다. 그러나, 은행 트랜잭션 시스템에 있어서, 사용자의 은행 계좌에 관한 정보가 데이터베이스에 기억되어 있을 것이다. 상기 웹 서버(102)는 사용자가 페이지를 요청하는 매시간 마다 사용자의 계좌 정보를 포함하는 웹 페이지를 발생할 수 있다. 가끔, 웹 페이지는 파일 시스템에 부분적으로 기억되고, 그 요청이 있을 때, 상기 웹 서버(102)에 의해 부분적으로 발생된다.
다양한 기술을 이용하여 상태 정보를 기억하는데, 이것은 웹 서버(102)와 사용자 세션의 상태로 불린다. 상기 사용자는 상기 웹 서버(102)에 이루어진 요청 및 그 요청에 응답하여 수신된 웹 페이지를 통하여 웹 서버(102)와 대화하는 동안의 상태를 개발할 수 있다. 일 예로서, 그 사용자의 상태는 사용자를 식별하는 정보를 포함한다. 다른 예로서, 그 상태는 사용자가 이미 요청한 웹 페이지를 특정하는 정보를 포함하거나, 상기 시스템과 대화로 사용자가 선택한 옵션을 포함한다. 다른 예로서, 상기 상태는 판매용 어플리케이션으로부터 사용자가 구매하기 위하여 선택하는 항목을 포함할 수 있다. 일반적으로, 상기 세션의 상태를 식별하는 일부 정보 또는 그 상태에 관한 일부 정보는 클라이언트 웹 브라우저, 예컨대 이후에 기술될 쿠키에 기억되고, 일부 정보는 웹 서버(102)에 기억될 수 있다.
호스트(100)는 용량, 성능 및 비용을 고려하여 웹 서버(102)의 실행 갯수를 정할 수 있다. 일 실시예에 있어서, 상기 호스트(100)는 한 개의 웹 서버(102)를 포함한다. 기타 실시예에 있어서, 호스트는 한 개 이상의 웹 서버(102)를 포함한다. 호스트(100) 상에 한 개의 웹 서버(102)는 간소화된 예이고, 가능한 웹 서버 (102)의 갯수를 한정하는 것은 아니다. 각 웹 서버(102)는 적어도 하나의 통신망 어드레스 및 포트를 감시하고, 끝점(endpoint)으로도 언급된다. 특정 어드레스 및 포트는 끝점으로 불리는데, 그 이유는 통신용 실제 끝점이고, 통신망 접속은 한 개의 어드레스/포트 끝점과 다른 끝점 사이에 이루어진다. 웹 서버(102)는 그 끝점 중 한 개로 전달되는 요청을 수신하여, 웹 페이지의 형태로 데이터와의 요청에 응답한다.
복수의 통신망 어드레스/포트 끝점에서 요청을 수락하는 웹 서버(102)는 실제로 한 개의 웹 서버가 실행되더라도 복수의 웹 서버(102)가 있는 것처럼 실행할 수 있다. 그러한 웹 서버는 복수의 끝점 웹 서버로서 언급된다. 이러한 토론을 위하여, 복수의 끝점 웹 서버는 통신망 어드레스/포트 끝점 상에 요청을 수신하는 각 웹 서버(102)를 구비한 복수의 웹 서버(102)가 실제로 있는 것처럼 설명될 수 있다. 일 실시예에 있어서, 그러한 복수의 끝점 웹 서버는 모든 복수의 끝점용 인터페이스가 있는 한 개의 웹 서버 인터페이스(104)을 갖는다.
각 웹 서버(102)는 웹 서버 인터페이스(104)와 결합된다. 그 웹 서버 인터페이스는 상기 웹 서버(102)와 웹 서비스 시스템(90)의 기타 부품 사이의 인터페이스로 서비스하는 웹 서버(102)와 관련된 플러그 인, 필터 또는 기타 소프트웨어가 될 수 있다. 이러한 콘텐츠에 있어서, 상기 용어 웹 서버 인터페이스는 상기 호스트 (100)에 나타날 수 있는 네트워크 인터페이스와 구별된다. 예컨대, 상기 웹 서버 (102)는 웹 서버 인터페이스(104)를 갖는다. 각 웹 서버 인터페이스(104)는 각 호소트(100) 상에서 에이전트(106)와 통신할 수 있다.
호스트(100)는 에이전트(106)를 포함한다. 그 에이전트(106)는 웹 서비스 시스템(90) 인터페이스를 상기 호스트(100)에 제공한다. 상기 에이전트(106)는 웹 서버 인터페이스(104)를 웹 서비스 시스템(90)과 결합한다. 또한, 상기 에이전트는 상기 호스트(100)를 웹 서비스 시스템(90)과 결합한다. 복수의 웹 서버가 있는 호스트 상에도, 상기 호스트(100) 상에서 실행하는 단지 한 개의 에이전트(106)가 있지만, 한 개 이상도 될 수 있다. 각 에이전트(106)는 상기 시스템 부품에 관한 정보를 포함하는 데이터베이스(108)에 엑세스한다.
호스트(100) 상에 에이전트(106)는 웹 서비스 시스템 관리자(110)와 통신한다. 그 관리자(110)는 상기 호스트(100) 및 상기 웹 서버(102)의 상태에 관한 에이전트(106)로부터 정보를 수신한다. 상기 관리자(110)는 명령을 상기 에이전트 (106)로 전송하여 상기 호스트(100)를 배치하고, 상기 웹 서버(102)를 개시, 정지 또는 중단하며, 상기 웹 서버(102)에 로드를 관리할 수 있다. 상기 관리자(110)는 시스템 활동 및 이벤트를 로깅하는데 이용되는 로깅 데이터베이스(114)에 엑세스한다. 또한, 상기 관리자(110)는 상기 시스템의 다양한 부품에 관한 정보를 기억하는 관리 객체 데이터베이스(112)에 엑세스한다. 또한, 상기 관리자(110)는 한 개 이상의 콘솔(116A-116X)과 통신하고, 일반적으로 116으로 참조된다. 상기 콘솔(116)은 사용자 인터페이스를 시스템 운용자에게 제공한다. 상기 시스템 운용자는 시스템의 상태를 감시하고, 콘솔을 통하여 상기 시스템을 배치할 수 있다. 상기 관리자(110)는 웹 서버(102) 중 하나 또는 트래픽 관리자(120) 등의 기타 웹 서비스 시스템 (90) 부품과 동일한 호스트(100) 상에서 실행될 수 있다.
상기 관리자(110)는 트래픽 관리자(120)와 통신하며, 인터셉터(interceptor)로 언급된다. 상기 트래픽 관리자(120)는 웹 페이지 요청을 웹 서버에 지시한다. 본 발명은 특정 타입의 트래픽 관리자(120)에 국한되는 것이 아나라, 오히려 웹 페이지 요청을 웹 서버(102)에 지시하는 임의 종류의 트래픽 관리자(120)와 작업한다.
일 실시예에 있어서, 상기 트래픽 관리자(120)는 상기 관리자(110)로부터 정보 및 명령을 수신한다. 또한, 상기 트래픽 관리자(120)는 제어 프로그램(122)으로부터 정보 및 명령을 수신한다. 상기트래픽 관리 제어 프로그램은 트래픽 관리자 (120)와 동일한 컴퓨터 시스템이 될 수 있거나, 기타 시스템 상에서 실행할 수 있다. 상기 트래픽 관리자(120)는 웹 페이지 요청을 수신하여 그 요청을 웹 서버 중 하나의 서버로 참조한다. 상기 웹 서비스 시스템(90)의 관리 능력의 일부분은 상기 웹 서버(102)에 이루어진 웹 페이지 요청 및 웹 서버(102)와 호스트(100) 상에서 그 결과를 감시함으로써 수행된다. 웹 페이지 요청은 웹 서버(102)사이의 로드에 균형을 맞추기 위한 것이다. 일 실시예에 있어서, 상기 트래픽 관리자(120)는 사용자를 위한 제1 접촉 지점이다. 상기 트래픽 관리자(120)는 사용자로부터 웹 페이지 요청을 수신하여, 그 사용자의 웹 브라우저를 그 요청에 적합한 웹 서버 (102)로 보낸다. 상기 사용자의 웹 브라우저는 적합한 웹 서버(102)에 웹 페이지로 보낸 웹 페이지 요청에 응답하여 보내진다. 이러한 전송 용량은 http에 포함된 용량으로 수행되지만, 다른 방법으로 수행될 수 없다. 사용자는 웹 브라우저가 적합한 웹 서버(102)로 전송되는 것을 알거나 알 수 없다. 사용자는 상기 웹 서버(102) 상에 어플리케이션을 엑세스하는 동시에, 상기 웹 서버(102)로부터의 그 웹 페이지 요청 응답을 수신한다. 일 실시예에 있어서, 웹 서버(102)가 과부하 되면, 상기 관리자(110)의 방향에 상기 웹 서버(102)는 트래픽 관리자(120) 또는 상기 어플리케이션을 전달할 수 있는 기타 웹 서버(102)에 역으로 사용자에게 보낸다.
상기 트래픽 관리자(120)는 사용자로부터 요청 사항들을 수신하여, 그 사용자의 요청 사항들을 웹 서버(102)로 다시 보낸다. 일 실시예에 있어서, 상기 트래픽 관리자(120)는 기타 트래픽 관리자(120) 또는 한 개의 끝점과 같이 한 개의 웹 서버(102)로 모든 사용자가 향하게 하는데 이용된다. 이러한 방법으로, 상기 트래픽 관리자(120)는 분로(shunt)로서 동작하며, 이것은 호스트 상에 한 개 이상의 웹 서버쪽으로 보낸 모든 요청을 다른 웹 서버(102)로 보내는 것을 의미한다. 기타 실시예에 있어서, 상기 트래픽 관리자(120)는 상기 관리자(110)로부터 상태 정보를 수신하고, 그 정보를 이용하여 사용자에게 다시 향하게 한다. 그 상태 정보는 서버 이용 능력과 부하, 관리자의 변경 및 어플리케이션 또는 웹 서버 (120) 개시 및 폐쇄 동작을 포함한다. 상기 트래픽 관리자(120)는 속도 및 보안용으로 설계된다. 상기 트래픽 관리자(120)는 상기 시스템의 전면 도어이고, 그 결과, 그 성능은 전체 웹 서비스 시스템(90)의 인식된 성능에 영향을 미친다. 통신망 토폴로지 감지시 폐쇄한 상기 트래픽 관리자(120)를 가능한 상기 중추에 위치시키는 것이 유용할 수 있다. 필연적으로 상기 웹 서비스 시스템(90)의 가장 노출된 부품이다.
일 실시예에 있어서, 상기 트래픽 관리자(120)는 하드웨어에서 실행된다. 다른 실시예에 있어서, 상기 트래픽 관리자(120)는 호스트 컴퓨터에서 실행하는 소프트웨어 프로그램이다. 하나의 소프트웨어 실체에 있어서, 상기 트래픽 관리자(120)는 멀티 쓰레드 운용 시스템을 구동할 수 있는 서버 클래스 컴퓨터 상에서 실행하는 독립적으로 조작 가능한 프로그램이다. UNIX 하에서, 예컨대, 상기 트래픽 관리자 (120)는 디먼(daemon) 같이 실행할 수 있다. 윈도우 NTTM하에서, 상기 트래픽 관리자(120)는 서비스로서 실행할 수 있다.
다른 실시예에 있어서, 상기 트래픽 관리자(120)는 하나의 끝점에서 발생한 요청을 웹 서버(102)에 속하는 끝점으로 향하게 하는 인터넷 프로토콜 브리지 또는 라우터이다. 이러한 방법으로, 상기 트래픽 관리자(120)는 웹 페이지 요청을 한 개 이상의 웹 서버(102)로 보낸다. 상기 트래픽 관리자의 일예는 켈리포니아 산 조세의 시스코 시스템사로부터 이용할 수 있는 LOCALDIRECTOR이다. 기타 실시예에 있어서, 상기 트래픽 관리자(120)는 메사추세츠주 웨스트 포드의 에로포인트 통신사로부터 구매 가능한 CONTECT SMART WEB SWITCH 등의 웹 스위치이다. 상기 트래픽 관리자(120)는 각 웹 페이지 요청을 수신하여, 그 요청을 토대로 그 요청을 웹 서버로 보낸다.
상기 웹 서비스 시스템(90)은 콘텐츠 분배기(125)로 언급되는 버젼 제어기를 포함한다. 상기 콘텐츠 분배기(125)는 상기 웹 서비스 시스템(90)에서 다양한 웹 서버(102)의 콘텐츠 갱신을 포함하는 버젼 및 콘텐츠 복제를 관리한다. 시스템 운용자 인터페이스 대 상기 콘텐츠 분배기(125)는 콘텐츠 제어(126)에 제공된다. 일 실시예에 있어서, 상기 콘텐츠 분배기(125) 및 콘텐츠 제어(126)는 상기 호스트 (100) 상에 동작하는 독립적으로 동작 가능한 프로세스이다. 기타 실시예에 있어서, 상기 콘텐츠 분배기 및 콘텐츠 제어(126)는 상기 관리자(110)와 동일한 호스트 상에서 동작한다. 여전히 기타 실시예에 있어서, 콘텐츠 분배기(125) 및 콘텐츠 제어(126)는 동일한 호스트 또는 기타 호스트 상에서 동작할 수 있다. 기타 실시예에 있어서, 상기 콘텐츠 분배기(125)는 상기 관리자(110)의 기능 또는 상기 시스템(90)의 기타 부품에 포함된다.
상기 콘텐츠 분배기(125)는 정보를 상기 에이전트(106)로 전송하고, 상기 에이전트(106)를 통하여 상기 웹 서버 인터페이스(104)로 전송한다. 상기 전송된 정보는 변경 사항을 상기 원시 파일로 언급되는 파일 및 콘텐츠 디렉토리에 기술하고, 일반적으로 계층 디렉토리 구조에서 조직화된다. 이러한 원시 파일은 상기 웹 서버용 콘텐츠의 "마스터" 사본이다. 함께, 상기 디렉토리 및 파일들은 원시 파일 또는 원시 파일 세트로 언급된다. 상기 원시 파일 세트는 스태깅 서버로 언급되는 원시 호스트에 기억되며, 이것은 상기 콘텐츠 분배기(125)가 실행하는 통상적이지만 불필요한 호스트이다. 설명을 간소화하기 위하여, 다음과 같은 토론에 있어서, 상기 원시 파일 또는 호스트(100) 중 하나에 콘텐츠 디렉토리 및 파일들은 일반적으로 파일로 언급된다. 상기 원시 파일 세트는 디렉토리 및 파일을 포함하고, 상기 파일의 변경 사항들은 디렉토리의 부가, 삭제 및 수정을 포함할 수 있다.
도 3을 참조하면, 변경 사항들은 상기 원시 파일 세트에 일부 시간 주기에 걸쳐 일어난다(단계 180). 상기 변경 사항은 신규 파일의 생성, 구 파일의 삭제, 신규 콘텐츠를 갖는 현존하는 파일의 대체(즉 파일 콘텐츠 수정) 및 인가 제한과 소유 등의 수정 파일 속성과 같은 변경 사항을 포함한다. 다시, 파일의 변경 사항이 설명되더라도, 디렉토리에 변경 사항들이 포함된다. 응용 프로그램 및 응용 시스템 유틸리티를 포함하는 종래의 편집 기술 및 툴을 이용하여 파일을 편집함으로써 변경이 일어난다. 변경 사항들은 개발 및 승인 프로세스에서 시험되고 인증될 수 있다. 실제로 특정 시간에 파일의 변경은 없고, 그 시스템은 이러한 것을 인식할 수 있다. 그러한 경우에, 변경 사항의 부재를 식별한 후에, 식별이 가능한 다음시간까지 또 다른 처리를 하지 못한다.
상기 콘텐츠 분배기는 그 변경 사항을 상기 파일로 식별한다(단계 181). 상기 파일의 변경 사항은 많은 방법으로 식별될 수 있다. 일 실시예에 있어서, 상기 콘텐츠 설계자는 변경 사항의 목록인 적하 목록을 제공한다. 상기 설계자는 그 변경 사항의 트랙을 유지하고, 예컨대, 콘텐츠 제어 사용자 인터페이스(126)를 이용하는 콘텐츠 분배기에 변경 사항을 수동으로 식별하거나, 또는 적하 목록을 상기 목록 분배기(125)에 전달하는 것에 의해 수동으로 식별한다. 기타 실시예에 있어서, 상기 콘텐츠 트랙을 설계하기 위하여 콘텐츠 설계자가 사용한 소프트웨어 및 시스템은 변경 사항을 추적하여, 상기 콘텐츠 분배기(125)에 전달되는 변경 사항의 적하 목록을 제공한다.
기타 실시예에 있어서, 상기 콘텐츠 분배기(125)는 운용 시스템 파일 서버에 모아서, 상기 원시 파일 세트에 변경 사항을 감시한다. 그러한 실시예에 있어서, 소프트웨어 장치 구동기 "모니터"는 파일 동작을 실행하기 위하여 상기 운용 시스템에 의해 불려지는 것이 설치된다. 상기 장치 모니터는 상기 운용 시스템과 실제 장치 구동기(즉, 하드 디스크 드라이버 소프트웨어) 사이에 데이터를 통과시키는 장치 드라이버 통과 경로로서 동작한다. 상기 디스크 I/O 명령이 디스크 드라이버를 통과하는 것 이외에, 상기 장치 모니터는 그 I/O 명령을 관찰하고, 상기 원시 파일 세트에 변경 사항을 기록한다. 일 실시예에 있어서, 상기 장치 모니터는 콘텐츠 분배기(125)에 일체로 된다. 기타 실시예에 있어서, 상기 장치 모니터는 상기 콘텐츠 분배기(125)에 전달되는 적하 목록을 발생한다.
기타 실시예에 있어서, 상기 콘텐츠 분배기(125)는 현재의 원시 파일 세트와 이전의 원시 파일 세트 사이를 비교하여 상기 원시 파일 세트에 변경 사항들을 결정한다. 상기 콘텐츠 분배기는 비교 목적으로 갱신이 되는 최근에 나타난 파일의 목록을 유지한다. 이러한 목록은 파일 크기, 최근에 파일에 수정된 날짜/시간, 상기 콘텐츠의 해시 코드 인가 및/또는 엑세스 제어 제한, 및 사용자/그룹 소유 등의 파일명 및 기타 파일 특성을 포함한다. 일 실시예에 있어서, 상기 파일의 목록은 이전의 원시 파일 세트 안에 모든 파일의 완전한 사본을 포함하지만, 이러한 실시예에서는 대용량 파일 시스템에 대하여 매우 효율이 떨어진다. 더욱 효율적인 실시예에 있어서, 이전의 파일 및 특정 파일 속성의 목록만이 필요하다. 이후에 기술된 바와 같이, 상기 변경 사항을 식별하고(단계 181), 변경 사항을 전송하고(단계 182), 그 변경 사항을 설치하는(단계 183) 단계는 때때로 갱신에 기준이 된다.
도 4를 참조하면, 일 실시예에 있어서, 상기 원시 파일 세트와 이전 파일 세트 사이의 비교는 상기 원시 파일 세트의 파일 분석에 의해 일어난다. 상기 원시 파일 세트의 각 파일에 대하여(단계 190), 상기 콘텐츠 분배기는 일 실시예에서 전술한 목록의 형태인 상기 원시 파일 세트의 파일과 이전 원시 파일 세트를 기술하는 정보를 비교한다. 각 파일에 대하여, 상기 콘텐츠 분배기는 그 파일이 이전의 원시 파일 세트 목록 안에 있는 경우를 결정한다(단계 191). 그렇지 않으면, 상기 파일은 상기 파일이 상기 원시 파일 세트에 부가되는 것을 지시하는 신규 파일로서 목록되고(단계 192), 해시는 상기 파일 상에서 계산된다(단계 193). 상기 파일의 목록이면, 상기 파일 목록은 표시되어 그 파일이 여전히 상기 파일 세트에 포함되는 것을 지시하기 위하여 표시된다(단계 194). 이것은 이전의 목록에 임의 파일을 분실, 즉 삭제되었는지 여부를 결정하는데 나중에 이용된다.
상기 파일의 크기는 상기 목록의 정보와 비교된다(단계 195). 그 파일 크기가 다르면, 상기 파일은 수정된 것으로 고려되고, 그와 같이 목록된다(단계 196). 상기 파일의 신규 해시는 상기 목록에서 계산되어 기억된다(단계 193). 그 크기가 동일하면, 상기 날짜/시간은 비교된다(단계 197). 그 날짜/시간이 다르면, 상기 파일의 해시는 이전 목록에 포함된 해시로 계산되고 비교된다. 이러한 목록에서, 해시는 상기 파일 콘텐츠에 관련되는 한 개의 번호에 기인하는 파일 콘텐츠 상에서 계산된다. 그러한 해시는 메시지 통합 코드로 언급된다. 해시 코드의 예에는 점검 합계 및 순환 용장 코드가 있다. 파일의 해시가 다르면, 그 파일은 수정된 것으로 목록되고(단계 196), 상기 신규 해시는 상기 목록에 기억된다(단계 193). 다른 방법으로, 상기 파일 속성(소유자, 그룹 등)이 변경되면(단계 199), 상기 파일은 속성이 변한 것으로 목록된다(단계 200).
일 실시예에 있어서, 상기 파일 콘텐츠가 변경되지 않으면, 상기 시스템은 파일 속성이 변경되는지 여부를 결정한다(단계 199). 기타 실시예에 있어서, 속성 정보는 콘텐츠 갱신의 일부분으로 전송된다. 이러한 단계들이 상기 원시 파일 세트의 모든 파일에 대하여 완성되면, 단계(194)로부터 표기는 이전에 목록되는 임의 파일이 지금 누락되었는지 여부를 점검하며, 이것은 상기 파일 세트로부터 삭제된 것을 의미한다(단계 200). 표기되지 않은 파일들은 삭제된 것으로 목록된다(단계 202).
상기 원시 파일에 변경은 적하 목록으로 언급되는 변경 목록의 콘탠츠 분배기(125)와 동일하다. 일 실시예에 있어서, 상기 적하 목록은 부가, 삭제, 콘텐츠 수정 및/또는 속성 수정 등 파일에 변경 사항을 지시하는 엔트리를 포함한다. 예컨대, 상기 부가문"ADD source/dir/dir/file1"은 파일 :file1"이 부가되는 것을 지시하고, 상기 부가문 "CHMOD source/file2"은 파일 "file2"와 관련된 인가가 변경된 것을 지시한다. 다른 문은 콘텐츠의 변경을 지시하는 "MODIFY" 및 파일의 삭제를 지시하는 "DELETE"를 포함한다. 또한, 부가적인 속성 차이는 CHMOD 문을 이용하거나, 소유 변경용 CHOWN 또는 그룹 협회 변경용 CHGRP 등 자체의 특정문들을 가질 수 있다.
도 5를 참조하면, 일 실시예에 있어서, 적하 목록 엔트리(300)는 적어도 8개의 정보 요소(301-308)를 포함한다. 일 실시예에 있어서, 각 엔트리는 텍스트 포멧으로 기억되어, 그 정보가 시스템 운용자에 의해 간단한 텍스트 편집기로 판독되거나, 기타 소프트웨어에 의해 해석될 수 있다. 기타 실시예에 있어서, 각 엔트리는 상기 텍스트 포멧과 동일한 정보를 포함하는 2진 포멧으로 기억되지만, 훨씬 컴팩트하다. 상기 2진 포멧은 변환 툴에 의해 상기 텍스트 포멧으로 변환될 수 있다. 상기 텍스트 포멧은 2진 포멧으로도 변환될 수 있다.
일 실시예에 있어서, 상기 적하 목록 엔트리(300)는 파일 타입 필드(301)를 포함한다. 가능한 파일 타입은 디렉토리, 파일, 부호 링크, 파드 링크 또는 디렉토리 마커의 끝이며, 한 디렉토리의 마직막 파일 뒤에 온다. 텍스트 실체에 있어서, 각 파일은 디렉토리용 "DIR", 디렉토리 마커의 끝인 "END", 정상 파일용 "NRM", 부호 링크용 "LNK" 및 하드 링크용 "HLK" 등의 3개의 문자 코드로 설명된다. 상기 3개의 문자 코드"NOC"을 이용하여 변경되지 않은 파일을 설명한다. 2진 실체에 있어서, 각 선택은 정수 코드에 의해 나타낸다. 예컨대, 일 실시예에 있어서, 부가된 코드는 번호 1로 나타내고, 변경 콘탠츠는 2 등으로 나타낸다.
또한, 상기 적하 목록 엔트리(300)는 인가 필드(303)를 포함하여, 파일 엑세스 인가 및 그 파일에 관한 기타 정보를 설명한다. 텍스트 실체에 있어서, 상기 인가는 3개의 3 항목 2진 엔트리(즉, rwxrwxrwx)와 같은 UNIX 스타일로 기억되고, 그 제1 3 항목 엔트리는 실행가능한 프로그램이 사용자가 실행할 것인지 여부를 설명하고, 그 다음 3개의 엔트리는 붉은색 및 횐색을 보이고, 그 소유자, 그룹 및 일반에 대한 인가를 각각 실행한다. 2진 실체에 있어서, 상기 인가 정보는 상기 인가를 나타내는 4 디지트 8진수인 2진 정수로 기억된다.
또한, 상기 적하 목록 엔트리(300)는 파일 크기 필드(304)를 포함하여, 상기 파일의 크기를 설명한다. 텍스트 실체에 있어서, 상기 파일 크기는 ASCII 문자로 쓰여진다. 2진 실체에 있어서, 상기 파일 크기는 정수로 기억된다.
또한, 상기 적하 목록 엔트리(300)는 날짜/시간 스템프(305)를 포함한다. 텍스트 실체에 있어서, 상기 날짜 및 시간은 ASCII 문자로 쓰여진다. 2진 실체에 있어서, 상기 날짜/시간은 1970년 1월 한 밤 중에 초의 흐름을 나타내는 정수로 기억된다.
상기 적하 목록 엔트리(300)는 소유 정보(306)를 포함한다. 이러한 정보는 상기 파일 소유자의 사용자 식별기 및 상기 그룹 소유자의 그룹 식별기를 포함한다. 텍스트 실체에 있어서, 상기 소유자 및 그룹 식별기는 ASCII 스트링으로 기억된다. 2진 실체에 있어서, 상기 소유자 식별기 및 그룹 식별기는 각각 정수로 기억된다.
상기 적하 목록 엔트리(3000)는 점검 합계(307) 또는 해시 결과를 포함한다. 텍스트 실체에 있어서, 이것은 ASCII 스트링으로 기억된다. 2진 실체에 있어서, 상기 점검 합계는 정수로 기억된다. 또한, 상기 적하 목록은 상기 파일의 관련 경로명(308)을 포함한다. 2개의 텍스트 및 2진 실체에 있어서, 상기 관련 경로명(308)은 ASCII 스트링으로 기억된다.
도 6을 참조하면, 변경 목록예는 부가 파일(aaa)(디렉토리), 그 디렉토리 (aaa)의 파일 에이전트 (reg, questid.reg 및 sqlserver.reg), 및 파일(bbb 및 ccc)(디렉토리)가 있다. 디렉토리(ddd) 및 디렉토리(ddd)의 파일(abc 및 efg)는 변경되지 않는다. 디렉토리(efg)도 변경되지 않는다. 디렉토리(mmm, xxx 및 yyy)는 삭제되고, 파일 에이전트(reg, questd, reg 및 sqlserver.reg)는 디렉토리 (xxx)로부터 삭제된다.
도 7을 참조하면, 도 5의 포멧의 적하 목록에 대한 텍스트 실체예는 도 6에 목록된 변경 사항을 반영한다. 상기 제1 엔트리(ENTRY 1)에 있어서, 상기 디렉토리 (aaa)는 상기 파일명(308)에 목록된다. 상기 파일(aaa)은 타입(301)"DIR"로 목록된다. 이러한 파일에 대한 동작(302)은 그 파일이 부가되는 것을 지시하는 "ADD"이다. 상기 인가(303)는 UNIX 스타일로 목록되고, 그 파일이 디렉토리이고, 그 소유자가 인가를 판독, 기록 및 실행하는 것을 나타낸다. 상기 파일 크기(304)는 제로목록된다. 상기 파일의 날짜/시간 스템프(305)는 5월 27일 17:12로 목록된다. 상기 사용자 및 그룹 식별기(306)는 식별기(0)로서 목록된다. 상기 파일(307)의 점검 합계는 제로이다.
제2 엔트리(ENTRY 2)에 있어서, 상기 파일명(308)의 파일은 agent.reg이다. ENTRY 2가 상기 aaa 디렉토리 엔트리(ENTRY 1)와 END문(ENTRY 5)사이에 있기 때문에, 이 파일은 디렉토리(aaa)에 있다. 상기 파일(agent.reg)는 정상적인 타입(301)이고, 동작 요소(302)로 도시된 바와 같이 신규 파일로 부가된다. 상기 인가(303)는 소유자가 인가를 판독 및 기록하는지 여부를 지시한다. 상기 파일 크기(304)는 569 바이트이다. 상기 파일의 날짜(305)는 1998년 5월 11일이다. 상기 사용자 및 그룹 식별자(306)는 모두 제로이다. 상기 점검 합계(307)는 3564886220이다.
제5 엔트리(ENTRY 5)는 타입(301) END 마커이고, 디렉토리(aaa)에 대한 목록의 끝을 지시한다. 상기 제6 엔트리(ENTRY 6), 디렉토리(bbb)는 aaa END 마커 뒤의 목록이기 때문에 aaa의 보조 디렉토리가 아니다.
다시, 도 3을 참조하면, 일 실시예에 있어서, 상기 콘텐츠 분배기는 도 4의 방법을 이용하여 변경 사항을 판정하는 것에 의해 적하 목록을 생성한다. 기타 실체에 있어서, 상기 적하 목록은 콘텐츠 분배기로 보내진다. 일 실시예에 있어서, 상기 적하 목록은 특정 위치(즉, 디렉토리 및 파일명)에 적하 목록을 기억하는 것에 의해 전달되는데, 그 콘텐츠 분배기는 그것을 찾기 위하여 분배된다. 기타 실시예에 있어서, 상기 적하 목록은 통신망을 통하여 콘텐츠 분배기(125)로 전송하는 것에 의해 전달된다.
그 변경 사항을 식별한 후에(단계 181), 예컨대, 도 3의 실체를 이용하여, 상기 변경 사항들은 상기 에이전트에 전달된다(단계 182). 가끔, 상기 변경 사항들은 호스트 파일 시스템 상의 특정 디렉토리에 맵핑된다. 일 실시예에 있어서, 상기 원시 파일은 표 1의 예에 도시된 다양한 호스트의 파일 시스템에 맵핑된다.
원시 디렉토리 대 목적 호스트 디렉토리의 맵핑예
원시 호스트 원시 디렉토리 목적 호스트 목적 디렉토리
stagig.streve.com /usr/netscape/app1 www1.atreve.com /usr/netscape/app1
www2.atreve.com /dos/current/app1
www3.atreve.com /usr/netscape/docs/a1
표 1에 도시될 수 있는 바와 같이, 상기 시스템 관리자는 상기 다양한 웹 서버 상에서 상기 스태깅 서버 파일 시스템으로부터 상기 파일 시스템으로 상기 원시 파일 세트의 파일들을 맵핑할 수 있다. URL이 아닌 실제적인 파일 시스템 식별자의 사용은 'URL"과 동일하지 않은 공유 라이브러리 및 기타 파일의 맵핑을 허용한다. 예컨대, CGI 스트립트는 URL을 이용하는 경우에 맵핑될 수 없는데, 그 이유는 상기 파일들이 웹 페이지 요청을 통하여 상기 웹 서버로부터 일반적으로 이용할 수 없고, URL을 갖고 있지 않기 때문이다. URLs을 이용하는 경우에, 웹 페이지 요청을 통하여 웹 서버로부터 엑세스할 수 있는 파일만이 엑세스될 수 있다.
일 실시예에 있어서, 원시 파일 세트 디렉토리 계층의 파일들은 한 개의 저장 파일에 결합되고, 그 저장 파일은 압축된다. 배치가능한 파일보다 큰 임의 파일은 상기 호스트 시스템에 통신망 양단에 더욱 효율적인 통신을 위하여 소형 블록으로 분할되는 동시에, 상기 통신망에 충격을 줄인다. 상기 파일들을 소형 블록으로분할하는 것은 시간 종료의 경우에 재전송량을 줄인다. 그러한 배치 가능한 값의 예는 1 메가비이트이다.
상기 변경 파일의 파일 크기를 포함하는 변경 목록(적하 목록)은 상기 콘텐츠를 수신하는 각 에이전트에게 전송된다. 상기 에이전트는 상기 변경 목록의 파일 크기 및 상기 에이전트가 실행할 필요성이 있는 계산을 토대로 상기 갱신을 위한 충분한 디스크 공간이 있는지 여부를 결정한다. 예컨대, 상기 에이전트는 상기 콘텐츠 갱신의 압축 사본 및 압축 해제 데이터의 2개 사본, 즉 임시 사본 및 기억되는 사본을 기억하는 파일 시스템 내에 충분한 공간이 있는지 여부를 결정할 수 있다. 이러한 방법으로, 상기 에이전트는 상기 호스트가 상기 신규 콘텐츠로 과부하되기 전에 전송을 중단할 수 있다.
소정 갯수의 서버가 상기 갱신된 콘텐츠를 수신할 때, 상기 데이터는 상기 콘텐츠 분배자로부터 상기 에이전트로 전송된다. 너무 많은 에이전트가 상기 콘텐츠를 수신할 수 없는 경우, 상기 콘텐츠 분배기는 상기 작업을 중단할 수 있다. 전달이 요구되는 에이전트의 비율은 배치 가능하다. 예컨대, 상기 시스템 운용자는 상기 에이전트의 50%가 상기 변경 사항을 수용할 수 없는 경우에 전송되지 않는 다는 것을 판정할 수 있다. 이러한 방법으로, 갱신 콘텐츠를 너무 적은 서버가 갖는 것을 예방할 수 있다.
일 실시예에 있어서, 전달은 파일 전달 프로토콜('FTP") 등의 표준 TCP/IP 전달을 이용하여 발생한다. 기타 실시예에서는 신뢰할 만한 멀티케스트 프로토콜을 이용하여 전달된다. 전송 불량인 경우, 데이터 블록은 다시 보내진다. 상기 전달이반복하여 실패하면, 그 전달은 중단되고, 상기 시스템 운용자를 변경하는 다양한 동작이 취해진다. 다시, 상기 콘텐츠 분배기는 예측 불가능한 환경 때문에, 예상한 것보다 적은 에이전트가 전달되는 경우에, 변경 설치를 중단할 수 있다. 예컨대, 많은 에이전트가 통신망 접속을 잃는 경우에, 신규 콘텐츠를 제공할 수 있는 에이전트의 갯수가 불충분할 수 있다.
도 1을 참조하면, 특정 에이전트(106)에 대한 갱신이 실패하면, 상기 웹 서비스 시스템(90)은 상기 시스템의 영향을 받는 부분을 "주변 경로"를 시도할 것이다. 상기 콘텐츠 분배기가 상기 관리자로부터 분리되는 실시예에서, 상기 콘텐츠 분배기(125)는 상기 에이전트(106)가 불량이다는 것을 관리자(110)에게 알린다. 상기 관리자(110)는 트래픽 관리자(120)와 통신하여, 상기 트래픽 관리자는 웹 페이지 요청을 그 에이전트(106)와 통신하는 웹 서버(102)로 전달되지 않도록 한다. 상기 관리자(110)는 다른 서버 상에서 상기 웹 서버(102)로부터 멀어지는 트래픽을 가르킬 것이다.
일 실시예에 있어서, 상기 콘텐츠 분배기(125)는 상기 불량 목적 에이전트의 목표인 "캐치 업(catch up)" 갱신 패키지를 생성할 것이다. 상기 캐치 업 갱신 패키지는 상기 에이전트가 도달하지만 도달하지 않는 변경 사항을 포함하고, 초기에, 이것은 전송 실패로 처음 갱신한 변경 사항 목록이다. 이러한 캐치 업 패키지는 차후의 갱신이 동일한 에이전트에 도달하는 경우 증가할 수 있다. 갱신 패키지가 불량일 때, 그 에이전트는 "캐치 업" 갱신이 종료할 때까지 다른 갱신을 수신하지 않을 것이다. 왜냐하면, 초기에 전파하는 것이 실패한 변경 사항의 신규 갱신에 의존하기 때문이다.
도 3을 참조하면, 상기 변경 사항들이 에이전트(182)로 전송될 때, 상기 변경 사항들은 설치된다(단계 183). 상기 에이전트(106) 및 웹 서버 인터페이스(104)는 상기 콘텐츠 설치에 협조한다. 상기 신규 콘텐츠가 수신될 때, 상기 에이전트는 상기 갱신 패키지를 다시 조립한 다음, 압축 해제하여, 그 데이터를 임시 데이터 스토어에 위치시킨다. 상기 에이전트는 상기 콘텐츠 분배기로부터 제공된 신호를 기다려서 상기 서버 콘텐츠 디렉토리에 파일들의 복사를 시작한다. 상기 신호들이 수신될 때, 서버 콘텐츠 디렉토리에 변경이 이루어진다. 또한, 디렉토리의 목록 파일들은 이 시간에 제거된다. 상기 갱신이 성공적일 경우, 상기 에이전트는 파일을 연속적으로 갱신하는 콘텐츠 분배기에 알린다. 일 실시예에 있어서, 상기 구 파일들은 처음에 다시 명명되어 대체 디렉토리에 기억된다. 이것에 의해 상기 변경 사항이 빠르게 역전되지만, 많은 데이터 스토리지를 요구하는 트랜잭션으로 된다. 무슨 이유에서든지 복제에 실패하는 경우, 상기 에이전트는 상기 문제의 콘텐츠 분배기를 변경할 것이다. 또한, 상기 에이전트 또는 콘텐츠 분배기 중 하나가 상기 실패한 에이전트를 피하기 위하여 상기 트래픽 관리자에게 지시하는 관리자를 변경할 것이다. 일 실시예에 있어서, 상기 에이전트는 웹 서버의 일정한 상태를 지시하는 버젼 식별기를 유지한다. 일 실시예에 있어서, 상기 버젼 식별기는 정수 값이다.
일 실시예에 있어서, 상기 웹 서버는 상기 갱신 처리 동안 중단 또는 중지된다. 상기 파일들이 상기 웹 서버 콘텐츠 디렉토리에 복제될 때, 그 웹 서버는 웹 페이지 요청을 취급하는 것을 예방하여 요청이 일정한 콘텐츠를 수신하는 것을 막는다. 이것은 상기 웹 서버에 요청하지 않은 것을 상기 트랙픽 관리자에게 지시하는 관리자에 의해 수행된다. 동시에, 상기 웹 서버(102)에 도달하는 요청들은 상기 웹 서버(102)로부터 트래픽 관리자(120)로 또는 기타 웹 서버(102)로 웹 서비스 인터페이스에 의해 다시 진행될 수 있다. 트랜잭션의 중앙에 사용자는 소정량의 시간의 주고서 다시 지시되기 전에 상기 트랜잭션을 완료한다. 상기 웹 서버를 요청을 플러시할 때, 그 갱신이 일어날 것이다. 어플리케이션 2진 파일이 변경되지 않는 경우, 그 웹 서버는 요청기가 플러시된 다음, 요청기들은 콘텐츠 전달이 종료할 대 서버에 지시한다. 어플리케이션 2진 파일들이 수정되는 경우, 그러나, 그 웹 서버는 다시 시작될 수 있다.
일부의 경우에, 콘텐츠를 갱신하기 위하여 웹 서버를 디저블할 필요가 없다. 상기 브라우저에 임시로 다시 지시하는 프로세스는 시간이 많이 필요하고, 파일 전달 및 웹 서버 갱신에 필요한 시간과 결합된 시간은 수용할 수 없을 정도로 크다. 서버 이용 능력을 최대화하기 위하여, 상기 콘텐츠는 상기 웹 서버가 지속적으로 그 요청에 응답하는 동안 갱신될 수 있다. 이것은 변경될 파일을 복제하고, 상기 웹 서버에 엑세스 가능한 장소에서 파일을 복제하는 것에 의해 이루어질 수 있다. 상기 에이전트는 상기 웹 서버 인터페이스에 지시하여 변경하는 파일에 대한 모든 요청을 인터셉트한다. 변하지 않는 파일에 대한 요청은 일반 콘텐츠 영역에 지시될 수 있다. 변경 파일에 대한 요청은 안정한 사본에 지시되는 반면, 상기 신규 파일들은 일반 영역에 설치된다. 상기 에이전트가 상기 파일에 수정을 종료한 후에, 상기 웹 서버 인터페이스는 신호하여 상기 정상 영역을 다시 이용한다. 구 콘텐츠로부터 신규 콘텐츠까지 변환 시간에 관련 웹 페이지를 포함하는 트랜잭션에 포함되는 사용자들은 그 트랜잭션이 종료할 때까지 전환 후 몇 시간동안 구 콘텐츠를 지속적으로 엑세스할 필요가 있다. 예컨대, 처음 가격에 구매 중인 사용자는 갱신된 다른 가격을 이용하는 웹 페이지와 트랜잭션을 종료하지 않아야 한다.
일 실시예에 있어서, 트랜잭션의 흠없는 상태를 확인하기 위하여, 각 전환은 버젼 식별기에 할당된다. 일 실시예에 있어서, 점검 지점 식별기로 불리는 버젼 식별기는 각 콘텐츠 갱신으로 증가됨으로써 변하는 정수이다. 상기 웹 서버 인터페이스는 상기 브라우저에 의해 예상되는 버전을 토대로 웹 페이지 요청을 인터셉트하여 상기 버젼을 콘텐츠에 제공한다. 이렇게 하기 위하여, 상기 웹 서버는 상기 브라우저가 원하는 버젼을 알 필요가 있다. 일 실시예에 있어서, 이러한 정보는 상기 URL에 포함된다. 그러나, 이것은 상기 URLs 및 더욱 복잡한 구조를 만드는 단점이 있다. 도한, 상기 버젼 변경은 사용자에게는 덜 명확하다.
일 실시예에 있어서, 상기 웹 서버에는 상기 브라우저에 상기 서버에 의해 제공된 웹 페이지의 현재 버젼을 특정하는 버젼 식별기를 포함하는 브라우저에 쿠키가 생긴다. 쿠키는 웹 서버가 브라우저에 보내서 그 웹 서버가 그 브라우저에 관한 어떤 것을 기억할 수 있도록 하는 특정 텍스트 파일이다. 웹의 HTTP를 이용하여, 웹 페이지에 대한 각 요청은 모든 다른 요청에 무관하다. 이러한 이유 때문에, 쿠키 등의 메커니즘 없이, 상기 웹 서버는 브라우저의 이전 방문에 관한 이전에 웹 브라우저에 보내지는 페이지에 관하여 모른다. 쿠키는 서버가 브라우저의 자체 컴퓨터 상에서 브라우저에 관한 자체 정보를 기억하고, 사용자가 웹 페이지 요청을할 때 그 정보를 엑세스하는 메커니즘이다. 쿠키는 시간 후에 브라우저에 의해 폐기되는 것을 의미하는 소멸 기간 동안에 제공될 수 있다.
일 실시예에 있어서, 상기 쿠키의 일예는 상기 코드 "Set Cookie; atreveBCD =37; expries=Thursday, 20-January-1999 12;32:34 GMT; path=/"로 실행된다. 이러한 코드는 상기 웹 서버로부터 브라우저로 보내진다. 상기 브라우저는 동일한 영역에 웹 서버와 통신할 때 1999년 1월 20일 12:32:34 GMT 까지 모든 요청이 경로 지정하는 라인 "Cookie:AtreveBCD=37"을 포함한다. 상기 프로토콜의 "Set-Cookie" 및 "Cookie" 부분은 HTTP 명세서에 따른 헤더이다. 상기 "AtreveBCD"는 쿠키의 명칭이다. 다른 명칭은 이용되고, AtreveBCD는 불량이다. 상기 "37"은 서버가 현재 갖고 있는 점검 지점인 쿠기의 값이고, 그 소멸 시간 까지 지속적으로 제공할 것이다(웹 서버 인터페이스 때문에). 상기 코드"Expires"은 소멸 시간을 설정한다. 그 예로서, 상기 소멸 시간은 1999년 1월 20일 이다. 상기 "Path" 코드를 이용하여 쿠키를 제공하는 페이지를 제한하지만, 그 "/"는 모든 파일을 커버하는 것을 지시한다.
상기 웹 서버가 브라우저에 발생하는 쿠키는 그 브라우저가 웹 서버로부터 콘텐츠를 효율적으로 요청하고, 그 콘텐츠에 대한 버젼 식별기를 지시하는데 유효하다. 따라서, 상기 브라우저가 특정 URL을 지정하는 특정 쿠키를 갖는 6개의 요청을 하는 경우, 상기 에이전트가 상기 우베 서버(102)에 콘텐츠의 신규 버젼을 한동안 전달할지라도, 그 6개의 요청은 자체적으로 일정할 것이다.
일 실시예에 있어서, 상기 초기의 콘텐츠는 상기 콘텐츠를 특정하는 모든 쿠키들이 폐기될 때까지 폐기되지 않는다. 상기 콘텐츠는 한 버젼으로부터 다음 버젼까지의 변경을 포함하는 "백업 영역"에 기억된다. 예컨대, 버젼(2)로부터 버젼(3)까지의 트랜잭션에서 변하는 파일들은 버젼 2-3 백업 영역에 기억될 것이다. 상기 웹 서버 인터페이스는 버젼(2)으로부터 버젼(3)까지 트랜잭션시 변경되는 버젼(2)에 대한 웹 페이지 요청을 적합한 백업 영역의 바람직한 콘텐츠에 지시할 것이다.
도 8을 참조하면, 간단한 예로서, 웹 서버는 현재의 버젼 식별기(34)를 갖는 콘텐츠를 갖는다. 여전히 유효한 쿠키에 대한 이전 버젼에는 버젼(33 및 34)이 있다. 현재의 버젼, 즉 버젼(34)은 버젼(34)에서 수정되는 파일(A 및 B)과, 버젼(28)에서 수정되는 파일(C)과, 버젼(25)에서 수정되는 파일(D)를 포함한다. 파일(A)은 버젼(32), 버젼(33) 및 버젼(34)을 포함하는 도면에 도시된 모든 버젼으로 수정된다. 파일(B)은 버젼(30), 버젼(32) 및 전술한 버젼(34)에서 수정된다. 버젼(31)으로부터 버젼(32)까지의 변경은 파일(A 및 B)로 변경 및 버젼(1)에서 생성되는 파일 (E)의 삭제를 포함한다. 따라서, 버젼(31)으로부터 버젼(32)까지의 트랜지션으로 변경되는 파일을 포함하는 31-32 백업 영역에 있어서, 파일(A)의 버젼(31), 파일 (B)의 버젼(30) 및 파일(E)의 버젼(1)이 기억된다. 버젼(32)에서 버젼(33)까지의 변경은 파일(A)의 수정을 포함하고, 32-33 백업 영역에서, 파일(A)의 버젼(32)는 기억된다. 상기 버젼(33)에서 버젼(34)까지의 변경은 파일(A)의 수정 및 파일(F)의 삭제를 포함하고(버젼 10에 부가된), 그 결과, 상기 33-34 백업 영역에 파일(A)의 버젼(33), 파일(B)의 버젼(32) 및 파일(F)의 버젼(10)이 기억된다.
웹 서버가 콘텐츠를 요청하면, 예컨대, 현재 버젼 이외의 콘텐츠 버젼을 지시하는 쿠키를 나타내는 것에 의해, 상기 구 점검 지점 및 현재 점검 지점사이에파일이 변하는 경우에, 상기 웹 서버 인터페이스는 상기 웹 서버에 지시하여 현재 버젼 영역 이외의 영역으로부터 콘텐츠를 갖는다. 일 실시예에 있어서, 상기 웹 서버 인터페이스는 그 변경 목록을 리뷰하여 그 요청 파일을 변했는지 및 위치하는 백업 영역이 변했는지를 결정한다. 예컨대, 현재의 버젼이 버젼(34)인 도 8의 예를 참고하면, 상기 웹 서버가 파일(A)에 대한 요청을 수신하는 경우, 및 상기 브라우저가 버젼(32)을 찾는 것을 지시하는 경우, 상기 웹 서버 인터페이스는 파일(A)이 버젼(33)의 일부분으로 수정되는 것을 알 것이다. 따라서, 파일(A)의 버젼(32)는 32-33 백업 위치에 위치된다. 상기 웹 서버가 동일한 브라우저로부터 파일(B) 요청을 수신하는 경우(동일한 버젼 32 쿠키로서), 상기 웹 서버 인터페이스는 버젼(34)에 대하여 변경된 파일(B) 및 파일(B)의 버젼이 33-34 백업 영역에 기억되는 것을 결정할 것이다. 상기 웹 서버가 파일(D)에 대한 요청을 수신하면, 상기 웹 서버 인터페이스는 파일 버젼(32) 이래로 수정되지 않았고, 파일을 현재 버젼 영역으로부터 얻을 수 있다는 것을 판정할 것이다.
일 실시예에 있어서, 상기 콘텐츠 분배기는 특정 시간 또는 시간 간격에 계획된 원시 파일 세트의 변경 갱신을 제공한다. 또한, 상기 콘텐츠 분배기는 시스템 운용자의 수동 명령시에 갱신할 수 있다. 일 실시예에 있어서, 상기 갱신은 파일들이 복사되고(즉, 원시 파일 세트), 복사되어야 하는(즉, 파일 서버의 파일 시스템) 장소를 지시하는 콘텐츠 맵핑과, 갱신이 일어나는 시간을 지시하는 개시/날짜 시간 또는 시간 간격과, 변경 파일만이 갱신되어야 하는지 여부(전술한 바와 같이) 또는 모든 파일들이 복사되어야 하는지 여부와, 실패한 동작과, 상기 서버가 콘텐츠 갱신을 다시 시작해야 하는지 여부와, 상기 콘텐츠 갱신 동안 서버를 중지 또는 중단해야 하는지 여부와, 상기 갱신을 인에이블 또는 디저블 해야 하는지 여부(상기 시스템 운용자가 계획된 갱신을 디저블할 수 있는)와, 서버가 변경 명령 전에 갱신을 수용하는데 필요한 서버의 비율에 의해서 특정된다.
예컨대, 10분 마다 갱신할 수 있고, 변경한 파일을 갱신하며, 특정 문제점을 시스템 운용자에 통지한다. 또한, 한달에 한 번 갱신을 지정할 수 있다. 일 실시예에 있어서, 상기 시스템은 상기 파일들을 복사하는 동안 서버들을 턴오프하고, 모든 변경 파일을 갱신하며, 그 콘텐츠가 갱신될 때 상기 서버를 다시 시동한다.
도 9를 참조하면, 일부 웹 서비스 시스템(90)에는 한 개 이상의 관련 캐싱 서버(200)가 있다. 캐싱 서버(200)는 요청기(201)(예컨대, 브라우저)와 웹 서비스 시스템(90)사이에 위치되는 웹 서버의 타입이다. 상기 캐싱 서버(200)는 처음에 특정 콘텐츠가 없다. 오히려, 상기 요청기(201)로부터 웹 페이지를 요구하는 동시에, 그 케시에 웹 페이지를 기억한다. 케시 서버를 구매하는 예는 켈리포니아주 산타 클래라의 Network Appliance사의 NETCACHE 제품이다. 상기 캐싱 서버(200)는 웹 서비스 시스템(90)에 위치한 콘텐츠용 브라우저로부터 웹 페이지 요청을 수신한다. 상기 요청 및 그 자체의 배치를 토대로, 상기 케싱 서버(200)는 상기 웹 페이지를 갖는 초기의 웹 서버(웹 서비스 시스템 90)로부터 웹 페이지를 요청한다. 상기 캐싱 서버(200)는 본래의 웹 서버(90)로부터 웹 페이지를 수신하여, 그 웹 페이지를 상기 브라우저(201)로 전송한다. 상기 케싱 서버(200)는 소정의 시간 동안 웹 페이지를 기억한다. 상기 웹 페이지가 기억되는 시간은 HTTP 프로토콜에 따라 문서를전달하는 소멸 기간을 지정하는 것에 의한 콘텐츠 제공자(본래의 웹 서비스 시스템 90) 또는 상기 캐싱 서버(200) 시스템 관리자에 의해 결정된 시간 주기이다. 동일한 요청기(201) 또는 다른 요청기로부터 제2 요청이 소멸 기간내에 웹 페이지용 캐싱 서버에 도달하는 경우, 상기 케싱 서버는 본래의 서버로부터 상기 콘텐츠를 요청하지 않고 상기 요청에 응답하여 웹 페이지를 다시 전송할 수 있다. 따라서, 그 요청은 상기 제2 요청의 본래 서버 또는 네트워크 상에서 요청하지 않고 채워질 것이다.
상기 웹 서비스 시스템(90)상에서 파일들이 변할 때, 저술한 바와 같이, 상기 캐싱 서버(200)에 캐싱된 파일들은 소멸할 수 없다. 그 경우, 상기 캐싱 서버 (200)는 웹 서비스 시스템(90)으로 이용가능한 갱신 버젼보다 웹 페이지의 초기 버젼을 지속하여 제공한다. 따라서, 전술한 목록 등의 변경 목록을 이용하여 파일을 변경한 것을 캐싱 서버(200)에 통지하는데 유용하다.
도 10을 참조하면, 파일 변경이 캐싱 서버(200)로 조정되는 시스템에 있어서, 파일이 변경되고(단계 180), 변경 사항이 식별되고(단계 181), 상기 웹 서버에 변경 사항이 전송되며(단계 182), 변경 사항이 설치된다(단계 183). 또한, 캐싱 서버에는 상기 변경 사항이 통지된다(단계 184). 상기 캐싱 서버에 통지하는 부가 단계(단계 184)에 의해 캐싱 서버가 쓸모없는 웹 페이지를 무시할 수 있다(플러시). 힌 개의 캐싱 서버 또는 많은 캐싱 서버가 있고, 다양한 통신 기법을 통하여 통지될 수 있다. 예컨대, 일 실시예에 있어서, 방송 메시지가 이용된다. 기타 실시예에 있어서, 개별 메시지는 각 케싱 서버로 전송된다. 또 다른 실시예에 있어서, 파일은 한 개 이상의 캐싱 버서에 이용가능한 디렉토리에 기억된다.
도 11을 참조하면, 도 6의 방법에 대한 실시예는 변경을 하고(단계 180), 상기 변경 사항을 식별하고(단계 181), 상기 캐시에 통지한다(단계 184). 일 실시예에 있어서, 상기 통지(단계 184)는 상기 변경 목록을 URL로 변환하여 콘텐츠를 식별한다(단계 186). 브라우저는 URLs을 이용하여 콘텐츠를 식별한다. 전술한 바와 같이, 일 실시예에 있어서, 상기 변경 목록은 호스트 파일 시스템의 디렉토리 및 파일로 설명되는데, 그 이유는 이것이 웹 서버에 더욱 편리하고, 최고의 파일 시스템 안에 모든 파일을 지시할 수 있기 때문이다. 변경 사항을 캐싱 서버에 제공할 때, 파일의 목록인 변경 목록( 및 디렉토리)을 URL을 포함하는 포멧으로 변환하는데 유용하다. 원시 디렉토리가 가능한 URLs의 특정 접두어에 해당할 수 있다. 예컨대, 상기 콘텐츠 디렉토리 및 파일 "C:\WEBSPECTIVE\HOME\ABOUT.HTML"은 URL "http://web.webspective.com/home/about.html"에 해당한다. 이것이 암시하는 것은 접두사가 수정되어야 하고(이러한 경우에, C:\WEBSPECTIVE는 http://www. webspe ctive.com 으로 대체하고), 상기 상기 디렉토리 분할기, 이러한 경우에, 상기 백슬러시"\"는 상기 URL 표준 전방 슬러시"/"로 대체된다. 또한, 공간 등의 URLs에 허용되지 않는 문자는 지정된 규칙에 따라 인코딩된다. 상기 문자 대체의 예는 문서 [IETF Network Working Group RFC-1783 document entitled "Uniform Resorce Locators" vy T.Berners-Lee et al]에서 설명된다. 예컨대, 공간은 "%20"으로 인코딩될 수 있고, 이러한 번역은 상기 URL 접두사에 연결했다.
상기 목록 항목을 URL 포멧으로 변환할 때, 변경된 URLs의 목록은 캐싱 서버로 전송된다(단계 187). 그 캐싱 서버는 이러한 목록을 이용하여 오랜 콘텐츠를 폐기한다. 도 7에 도시된 바와 같이, 상기 통지를 위하여 콘텐츠를 전파할 필요가 없다. 예컨대, 웹 서버 및 많은 캐시가 있을지라도, 도 7의 시스템은 상기 변경 사항을 한 개 이상의 캐싱 서버에 알릴 것이다. 도 7에 도시된 바와 같이, 상기 변경 은 이루어지고(단계 180), 그 변경 사항을 식별하여(단계 181), 변경 목록을 URLs로 변환한다(단계 186). 그러한 변경 사항은 상기 캐싱 서버에 전달된다(단계 187). 기타 실시예에 있어서, URLs로 변환(단계 186)는 변경이 일어나는 시간(단계 180)과 변경 식별 단계(181)사이에서 일어난다. 변경한 후에(단계 181), 상요자의 배치가능한 스크립트는 실행된다(단계 280). 변경 사항을 식별한 후(단계 181). 사용자 배치가능한 스트립트는 실행된다(단계 281). 상기 스트립트는 상기 변경 사항의 전송과 동시에 실행된다(단계 182). 변경 사항을 전송한 후에(단계 182), 사용자 배치가능한 스트립트는 다시 실행된다(단계 282). 사용자 배치가능한 스트립트를 이용하여 고객의 실행을 특정하는 콘텐츠 분배 임무를 수행한다. 상기 사용자 배치가능한 스트립트는 운용 시스템 기능에 적합한 호출을 통하여 실행된다.
도 13을 참조하면, 일 실시예에 있어서, 정보는 상기 호출 스크립트에 제공된다. 일 실시예에 있어서, 상기 정보를 표준 입력 상에 상기 스크립트에 제공된다. 기타 실시예에 있어서, 상기 정보는 파일에 제공된다. 상기 스트립트는 성공(제로) 상태 코드 또는 비제로 에러 코드 중 하나로 복귀하며, 일 실시예에서는 그 동작을 폐기할 것이다.
일 실시예에 있어서, 상기 정보(400)는 BEGINPARAMS 문(401)을 개시하고,ENDPARAMS 문(420)을 종료하는 다음 포멧에 제공된다. 상기 정보(400)는 호환성 있게 이용되는 정보 블록의 버젼 버노(402)를 포함한다. 상기 정보(400)는 이러한 예로서 EXAMPLEJOB인 작업(403)의 명칭을 포함한다.
상기 정보(400)는 BEGIN, IN PROGRESS 및 END 중 하나가 될 수 잇는 작업 (404)의 상태를 포함한다. BEGIN 값은 그 변경 사항을 식별하기 전에 스트립트로 불려지는 것을 지시한다(도 11의 단계 280). IN PROGESS 값은 변경 사항을 식별한 후에, 그 변경 사항을 전송하기 전에(도 11의 단계 281) 스크립트로 불려지는 것을 지시한다. END 값은 전송 종료를 지시한다(도 11의 단계 282). 상기 정보(400)는 이러한 경우에 ALLIMAGES인 맵핑(405)의 명칭을 포함한다. 상기 정보(400)는 적하 목록 파일(406)의 경로명을 포함하고, 이러한 예에는 /TMP/STAGING/23423.TXT가 있다. 그 예로서, 상기 적하 목록은 텍스트 파일이다. 이것은 전술한 텍스트 실체인 것을 암시한다. 일 실시예에 있어서, 상기 적하 목록은 스크립트를 호출하기 전에 텍스트 파일로 변환되는 2진 실체로 기억된다.
상기 정보(400)는 포스스 파일 세트 디렉토리(406) 및 복귀 디렉토리(408)를 포함하여, 포기의 파일 버젼을 유지할 수 있고(변경 전), 또는 자동으로 복귀되어야 하는 콘텐츠를 포함할 수 있다. 목적(409) 어레이가 지시된다. 각 어레이 요소는 상기 파일 지정에 관한 정보를 포함한다. 이러한 예에 있어서, 2개의 목적 호스트, 즉 OOLONG 및 DARJEELING가 있다. 상기 어레이의 제1 요소는 DEGINELEMENT 문(410)으로 시작하여, ENDELEMENT 문(414)으로 끝난다. 상기 어레이 요소는 목적 호스트의 명칭(411)을 포함하고, 이러한 경우는 OOLONG가 있다. 상ㄱ ㅣ어레이 요소는 목적 호스트 상에 목적 디렉토리(412)를 포함하고, 이러한 예로는 /HOME/ HTTPD-OOLONG/DOC/IMAGES가 있다. 상기 어레이 요소는 전달 상태(413)를 포함하고, 이러한 예로는 MORMAL이 있다. 상기 어레이의 제2 요소는 BEGINELEMENT 문(415)으로 시작하여, ENDELEMENT 문(419)로 끝난다. 상기 제2 어레이 요소는 상기 목적 호스트의 명칭(416)을 포함하고, 이러한 경우에는 DARJEELING가 있다. 상기 어레이 요소는 상기 목적 호스트 상에 목적 디렉토리(417)를 포함하고, 이러한 예로는 / HOME/HTTPD-DARJEELING/DOC/IMAGES가 있다. 상기 제2 어레이 요소는 상기 전달 (418) 상태를 포함하고, 이러한 예로는 NORMAL이 있다. 따라서, 상기 사용자 스크립트에 제공된 정보에 의해 동일한 스크립트가 작업 실행동안 다른 시간에 호출될 수 있고, 상기 스크립트는 상기 제공된 변수에 다라 다른 동작을 취할 수 있다.
당업자라면 본 발명의 정신 및 범위에 벗어남이 없이 다양한 수정, 변경 및 실행도 가능할 것이다. 따라서, 본 발명은 선행하는 설명 및 첨부한 청구 범위의 정신 및 범위에 의해 한정되지 않는다.

Claims (20)

  1. 컴퓨터에 변경된 파일들을 통지하는 방법에 있어서,
    (a) 원시 파일 세트 안의 변경 사항을 식별하는 단계와,
    (b) 상기 식별된 변경 사항을 그 변경 파일을 지정하는 URL을 포함하는 수정 목록에 저장하는 단계와,
    (c) 상기 수정 목록을 컴퓨터로 전송하는 단계를 포함하는 것인 컴퓨터에 변경된 파일들을 통지하는 방법.
  2. 제1항에 있어서, 상기 단계(c)는 상기 수정 목록을 웹 캐시 서버로 전송하는 단계를 포함하는 것인 컴퓨터에 변경된 파일들을 통지하는 방법.
  3. 제1항에 있어서, 상기 식별 단계는 파일 세트를 조사하는 단계와,
    상기 파일 세트를 초기에 기록된 세트와 비교하는 단계를 포함하는 것인 컴퓨터에 변경된 파일들을 통지하는 방법.
  4. 제3항에 있어서, 상기 비교 단계는 파일 속성과 상기 초기에 기록된 세트의 파일 속성을 비교하는 단계를 포함하는 것인 컴퓨터에 변경된 파일들을 통지하는 방법.
  5. 제4항에 있어서, 상기 파일 속성은 파일 크기, 파일 인가, 파일 소유, 수정 시간 및 파일 해시의 세트로부터 선택된 적어도 하나의 속성을 포함하는 것인 컴퓨터에 변경된 파일들을 통지하는 방법.
  6. 제1항에 있어서, 상기 식별 단계는 장치 드라이버를 설치하여 파일 동작을 실행하는 단계와,
    상기 장치 드라이버에 의해 상기 원시 파일 세트 안의 변경 사항을 저장하는 단계를 포함하는 것인 컴퓨터에 변경된 파일들을 통지하는 방법.
  7. 제1항에 있어서, 상기 식별 단계는 상기 원시 파일 세트 안의 변경 사항을 설명하는 적하 목록을 수신하는 단계를 포함하는 것인 컴퓨터에 변경된 파일들을 통지하는 방법.
  8. 제1항에 있어서, 상기 식별 단계 전에, 상기 스트립트를 호출하는 단계를 더 포함하는 것인 컴퓨터에 변경된 파일들을 통지하는 방법.
  9. 제1항에 있어서, 상기 전송 단계 전에, 스크립트를 호출하는 단계를 더 포함하는 것인 컴퓨터에 변경된 파일들을 통지하는 방법.
  10. 제1항에 있어서, 상기 전송 단계 후에, 스크립트를 호출하는 단계를 더 포함하는 것인 컴퓨터에 변경된 파일들을 통지하는 방법.
  11. 제10항에 있어서, 상기 전송 단계가 성공적으로 완료되었는지 여부를 결정하는 단계를 더 포함하고, 상기 호출 단계는 상기 결정 단계 후에 발생하는 것인 컴퓨터에 변경된 파일들을 통지하는 방법.
  12. 목적 파일 시스템 상에 원시 파일 세트의 변경 사항을 복제하여 컴퓨터에 그 변경 사항을 통지하는 방법에 있어서,
    (a) 원시 파일 세트 안의 변경 사항을 식별하는 단계와,
    (b) 상기 변경 사항을 제1 수정 목록 안에 저장하는 단계와,
    (c) 상기 제1 수정 목록을 목적 파일 시스템에 엑세스하는 에이전트로 전송하는 단계와,
    (d) 상기 변경된 파일을 지정하는 URL을 포함하는 제2 수정 목록 안에 상기 변경 사항을 저장하는 단계를 포함하는 것인 목적 파일 시스템 상에 원시 파일 세트의 변경 사항을 복제하여 컴퓨터에 그 변경 사항을 통지하는 방법.
  13. 제12항에 있어서, 상기 컴퓨터는 웹 캐시 서버인 것인 목적 파일 시스템 상에 원시 파일 세트의 변경 사항을 복제하여 컴퓨터에 그 변경 사항을 통지하는 방법.
  14. 제12항에 있어서, 상기 단계(d) 전에, 상기 제1 수정 목록을 상기 제2 수정 목록으로 변환하는 단계를 더 포함하는 것인 목적 파일 시스템 상에 원시 파일 세트의 변경 사항을 복제하여 컴퓨터에 그 변경 사항을 통지하는 방법.
  15. 목적 파일 시스템 상에 원시 파일 세트의 변경 사항을 복제하여 컴퓨터에 상기 변경 사항을 통지하는 방법에 있어서,
    (a) 원시 파일 세트의 변경 사항을 식별하는 단계와,
    (b) 상기 변경된 파일을 지정하는 URL을 포함하는 수정 목록의 변경 사항을 저장하는 단계와,
    (c) 상기 수정 목록을 목적 파일 시스템에 엑세스하는 에이전트로 전송하는 단계와,
    (d) 상기 수정 목록을 컴퓨터로 전송하는 단계를 포함하는 것인 목적 파일 시스템 상에 원시 파일 세트의 변경 사항을 복제하여 컴퓨터에 상기 변경 사항을 통지하는 방법.
  16. 웹 서비스 시스템을 관리하는 관리자와,
    상기 관리자와 통신하여 웹 페이지 요청 및 에이전트를 수신하는 웹 서버를 포함하는 호스트와,
    웹 캐시와,
    상기 호스트에 콘텐츠 변경을 제공하는 콘텐츠 분배기를 포함하는 것인 웹서비스 시스템.
  17. 제16항에 있어서, 웹 페이지 요청을 상기 웹 서버로 보내는 트래픽 관리자를 더 포함하는 것인 웹 서비스 시스템.
  18. 제16항에 있어서, 상기 콘텐츠 분배기는,
    (a) 원시 파일 세트 안의 변경 사항들을 식별하는 식별 모듈과,
    (b) 상기 식별된 변경 사항을 저장하는 수정 목록과,
    (c) 상기 수정 목록을 목적 파일 시스템에 엑세스하는 에이전트로 전송하는 전송기를 포함하는 것인 웹 서비스 시스템.
  19. 제18항에 있어서, 상기 변경된 파일을 상기 에이전트로 전송하는 전송기를 더 포함하는 것인 웹 서비스 시스템.
  20. (a) 원시 파일 세트 안의 변경 사항을 식별하는 식별 모듈과,
    (b) 상기 식별된 변경 사항을 저장하는 수정 목록과,
    (c) 상기 수정 목록을 목적 파일 시스템에 엑세스하는 에이전트로 전송하는 전송기를 포함하는 것인 콘텐츠 분배기.
KR1020017009528A 1999-01-28 2000-01-25 웹 서버 컨텐츠 복제 KR100729287B1 (ko)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US11767499P 1999-01-28 1999-01-28
US60/117,674 1999-01-28
US09/376,017 US7035943B2 (en) 1998-05-29 1999-08-19 Web server content replication
US09/376,017 1999-08-19
US09/377,611 1999-08-19
US09/377,611 US6976093B2 (en) 1998-05-29 1999-08-19 Web server content replication

Publications (2)

Publication Number Publication Date
KR20020009556A true KR20020009556A (ko) 2002-02-01
KR100729287B1 KR100729287B1 (ko) 2007-06-18

Family

ID=27382020

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020017009535A KR100729288B1 (ko) 1999-01-28 2000-01-25 웹 서버 콘텐츠 복제
KR1020017009528A KR100729287B1 (ko) 1999-01-28 2000-01-25 웹 서버 컨텐츠 복제

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020017009535A KR100729288B1 (ko) 1999-01-28 2000-01-25 웹 서버 콘텐츠 복제

Country Status (6)

Country Link
JP (2) JP4545943B2 (ko)
KR (2) KR100729288B1 (ko)
AU (2) AU3473200A (ko)
CA (2) CA2360900A1 (ko)
GB (2) GB2363494B (ko)
WO (2) WO2000045300A1 (ko)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020072804A (ko) * 2002-06-10 2002-09-18 (주)코리아리더스 테크놀러지 유무선 데이터 동기화 기술과 무선 멀티미디어 전용데이터베이스를 이용한 멀티미디어 컨텐츠 관리방법
KR200453762Y1 (ko) * 2010-12-17 2011-05-27 윤동웅 슬라이드가 구성된 단추금형
KR101456624B1 (ko) * 2008-10-28 2014-11-04 삼성전자주식회사 화상형성장치, 및 웹 어플리케이션 설치 방법

Families Citing this family (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6412017B1 (en) 1996-07-01 2002-06-25 Microsoft Corporation Urgent replication facility
US6976093B2 (en) 1998-05-29 2005-12-13 Yahoo! Inc. Web server content replication
US6591266B1 (en) * 2000-07-14 2003-07-08 Nec Corporation System and method for intelligent caching and refresh of dynamically generated and static web content
US7958025B2 (en) 2000-08-04 2011-06-07 Goldman Sachs & Co. Method and system for processing raw financial data streams to produce and distribute structured and validated product offering objects
EP1323087A4 (en) * 2000-08-04 2008-04-09 Goldman Sachs & Co SYSTEM FOR PROCESSING RAW FINANCIAL DATA FOR THE PRODUCTION OF VALID PRODUCTS PROVIDING INFORMATION TO SUBSCRIBERS
US7958251B2 (en) 2000-08-04 2011-06-07 Goldman Sachs & Co. Method and system for processing raw financial data streams to produce and distribute structured and validated product offering data to subscribing clients
US7139844B2 (en) 2000-08-04 2006-11-21 Goldman Sachs & Co. Method and system for processing financial data objects carried on broadcast data streams and delivering information to subscribing clients
US6609126B1 (en) 2000-11-15 2003-08-19 Appfluent Technology, Inc. System and method for routing database requests to a database and a cache
US20020065800A1 (en) * 2000-11-30 2002-05-30 Morlitz David M. HTTP archive file
KR20020072453A (ko) * 2001-03-10 2002-09-16 삼성전자 주식회사 재생장치 및 부가정보 서비스 서버 시스템
AU2002329602B2 (en) * 2001-07-16 2008-05-22 Oracle International Corporation Method and apparatus for session replication and failover
US7051053B2 (en) * 2002-09-30 2006-05-23 Dinesh Sinha Method of lazily replicating files and monitoring log in backup file system
EP1406167A1 (en) * 2002-10-01 2004-04-07 Sun Microsystems, Inc. Content server synchronization
JP2004157996A (ja) * 2002-10-15 2004-06-03 Matsushita Electric Ind Co Ltd ウェブデータ配信システム
WO2005057420A1 (en) * 2003-12-11 2005-06-23 Bea Su Jo Apparatus and method for distorting digital contents and recovering the distorted contents
GB2412280A (en) * 2004-03-19 2005-09-21 Canon Europa Nv Creating and editing a library of digital media documents
US7454503B2 (en) * 2004-04-08 2008-11-18 International Business Machines Corporation Method to identify transactions and manage the capacity to support the transaction
EP2387207A3 (en) 2005-04-15 2012-04-04 Ktfreetel Co. Ltd. Method for providing contents for mobile communication terminal
JP2008515046A (ja) 2005-04-15 2008-05-08 ケーティーフリーテル・カンパニー・リミテッド コンテンツの提供方法
KR100680296B1 (ko) 2005-04-15 2007-02-07 주식회사 케이티프리텔 무선 네트워크를 통한 대용량 컨텐츠 이어받기 서비스 제공방법 및 이를 구현하기 위한 프로그램이 기록된 기록매체
EP2289261A4 (en) 2008-06-18 2013-10-02 Blackberry Ltd METHOD AND SYSTEM FOR REPEATING MOBILE CONTENT
US8874628B1 (en) * 2009-10-15 2014-10-28 Symantec Corporation Systems and methods for projecting hierarchical storage management functions
US10142436B2 (en) 2015-11-19 2018-11-27 Microsoft Technology Licensing, Llc Enhanced mode control of cached data
CN107302469B (zh) * 2016-04-14 2020-03-31 北京京东尚科信息技术有限公司 分布式服务集群系统数据更新的监控装置及方法

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5630116A (en) * 1993-08-11 1997-05-13 Nec Corporation Automatic delivery system for master files in a distributed processing system
US5434994A (en) * 1994-05-23 1995-07-18 International Business Machines Corporation System and method for maintaining replicated data coherency in a data processing system
US5774668A (en) * 1995-06-07 1998-06-30 Microsoft Corporation System for on-line service in which gateway computer uses service map which includes loading condition of servers broadcasted by application servers for load balancing
US5765171A (en) * 1995-12-29 1998-06-09 Lucent Technologies Inc. Maintaining consistency of database replicas
US5812793A (en) * 1996-06-26 1998-09-22 Microsoft Corporation System and method for asynchronous store and forward data replication
US5787470A (en) * 1996-10-18 1998-07-28 At&T Corp Inter-cache protocol for improved WEB performance
US6138141A (en) * 1996-10-18 2000-10-24 At&T Corp Server to client cache protocol for improved web performance
WO1998054631A2 (en) * 1997-05-27 1998-12-03 Merrill Lynch & Co., Inc. System for network file distribution

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20020072804A (ko) * 2002-06-10 2002-09-18 (주)코리아리더스 테크놀러지 유무선 데이터 동기화 기술과 무선 멀티미디어 전용데이터베이스를 이용한 멀티미디어 컨텐츠 관리방법
KR101456624B1 (ko) * 2008-10-28 2014-11-04 삼성전자주식회사 화상형성장치, 및 웹 어플리케이션 설치 방법
KR200453762Y1 (ko) * 2010-12-17 2011-05-27 윤동웅 슬라이드가 구성된 단추금형

Also Published As

Publication number Publication date
WO2000045303A1 (en) 2000-08-03
CA2360900A1 (en) 2000-08-03
KR20020003859A (ko) 2002-01-15
WO2000045300A1 (en) 2000-08-03
GB0119648D0 (en) 2001-10-03
AU2629300A (en) 2000-08-18
JP2002540491A (ja) 2002-11-26
GB0119649D0 (en) 2001-10-03
CA2360891A1 (en) 2000-08-03
GB2362974A (en) 2001-12-05
JP2002540492A (ja) 2002-11-26
AU3473200A (en) 2000-08-18
JP4545943B2 (ja) 2010-09-15
JP4590105B2 (ja) 2010-12-01
KR100729287B1 (ko) 2007-06-18
GB2363494A (en) 2001-12-19
KR100729288B1 (ko) 2007-06-18
GB2363494B (en) 2003-10-15
GB2362974B (en) 2003-12-17

Similar Documents

Publication Publication Date Title
KR100729288B1 (ko) 웹 서버 콘텐츠 복제
US6976093B2 (en) Web server content replication
US7035943B2 (en) Web server content replication
US7383463B2 (en) Internet protocol based disaster recovery of a server
US6748502B2 (en) Virtual volume storage
CN100544342C (zh) 存储系统
US7266556B1 (en) Failover architecture for a distributed storage system
US7356589B2 (en) Content collection
US7266555B1 (en) Methods and apparatus for accessing remote storage through use of a local device
EP1410247B1 (en) A network storage system
US7433934B2 (en) Network storage virtualization method and system
US7734951B1 (en) System and method for data protection management in a logical namespace of a storage system environment
US20070100980A1 (en) Computer system and method for managing log information
US20050246393A1 (en) Distributed storage cluster architecture
US20020059245A1 (en) File system for distributing content in a data network and related methods
US7281168B1 (en) Failover architecture for local devices that access remote storage
KR20010071914A (ko) 삽입된 콘텐츠가 분산된 고스트 서버를 이용하는 글로벌문서 호스팅 시스템
CZ289563B6 (cs) Server připojitelný k síti a způsob jeho provozu
Grönvall et al. The design of a multicast-based distributed file system
US7000016B1 (en) System and method for multi-site clustering in a network
JP4958951B2 (ja) コンテンツ収集
US7103889B2 (en) Method, system, and article of manufacture for agent processing
JP2003330836A (ja) データ送信方法
Sayal A scalable and adaptive Web client-server architecture
Protection for Linux/UNIX-based Operating Systems

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment
J201 Request for trial against refusal decision
B701 Decision to grant
GRNT Written decision to grant
G170 Publication of correction
FPAY Annual fee payment

Payment date: 20130520

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20140522

Year of fee payment: 8

FPAY Annual fee payment

Payment date: 20150518

Year of fee payment: 9

FPAY Annual fee payment

Payment date: 20160517

Year of fee payment: 10

FPAY Annual fee payment

Payment date: 20170522

Year of fee payment: 11

FPAY Annual fee payment

Payment date: 20180516

Year of fee payment: 12

FPAY Annual fee payment

Payment date: 20190515

Year of fee payment: 13