KR20020003859A - Web server content replication - Google Patents

Web server content replication Download PDF

Info

Publication number
KR20020003859A
KR20020003859A KR1020017009535A KR20017009535A KR20020003859A KR 20020003859 A KR20020003859 A KR 20020003859A KR 1020017009535 A KR1020017009535 A KR 1020017009535A KR 20017009535 A KR20017009535 A KR 20017009535A KR 20020003859 A KR20020003859 A KR 20020003859A
Authority
KR
South Korea
Prior art keywords
file
web
changes
content
web server
Prior art date
Application number
KR1020017009535A
Other languages
Korean (ko)
Other versions
KR100729288B1 (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
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 KR20020003859A publication Critical patent/KR20020003859A/en
Application granted granted Critical
Publication of KR100729288B1 publication Critical patent/KR100729288B1/en

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

Abstract

본 발명은 복수의 웹 서버를 관리하는 것에 관한 것으로써, 특히 시스템 운용자가 웹 서비스 시스템에서 각 웹 서버에 콘텐츠를 분배할 수 있는 웹 서비스 시스템 및 방법에 관한 것이다. 일 실시예에 있어서, 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법은 원시 파일 세트 안의 변경 사항을 식별하고, 그 식별된 변경 사항을 수정 목록 안에 기억하여, 그 수정 목록을 목적 파일 시스템에 엑세스하는 에이전트로 전송하는 것을 포함한다. 다른 실시예에 있어서, 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법은 원시 파일 세트 안의 변경 사항을 식별하고, 그 식별된 변경 사항을 수정 목록 안에 기억하며, 그 수정 목록을 복수의 웹 서버에 전송하는 것을 포함한다. 다른 실시예에 있어서, 웹 서비스 시스템은 상기 웹 서비스 시스템을 관리하는 관리자와, 상기 관리자와 통신하여 웹 페이지 요청 및 에이전트를 수신하는 웹 서버를 포함하는 호스트와, 상기 호스트에 상기 콘텐츠 변경을 제공하는 콘텐츠 분배기를 포함한다. 다른 실시예에 있어서, 콘텐츠 분배기는 원시 파일 세트 안의 변경 사항을 식별하는 식별 모듈과, 상기 식별된 변경 사항을 기억하는 수정 목록과, 상기 수정 목록을 목적 파일 시스템에 엑세스하는 에이전트로 전송하는 전송기를 포함한다.The present invention relates to managing a plurality of web servers, and more particularly, to a web service system and method by which a system operator can distribute content to each web server in a web service system. In one embodiment, a method of replicating changes in a source file set of a destination file system identifies the changes in the source file set, stores the identified changes in a modification list, and stores the modification list in the destination file system. And sending to the agent accessing the agent. In another embodiment, a method of replicating changes in a raw file set of a destination file system identifies changes in the raw file set, stores the identified changes in a modification list, and stores the modification list in a plurality of webs. This includes sending to the server. In another embodiment, a web service system includes a host including an administrator managing the web service system, a web server communicating with the administrator to receive web page requests and agents, and providing the content change to the host. It includes a content distributor. In another embodiment, the content distributor includes an identification module that identifies changes in the raw file set, a modification list that stores the identified changes, and a transmitter that sends the modification list to an agent accessing the destination file system. Include.

Description

웹 서버 콘텐츠 복제{WEB SERVER CONTENT REPLICATION}Web server content replication {WEB SERVER CONTENT REPLICATION}

컴퓨터 통신망 환경에서는 웹 서버를 이용하여 상기 컴퓨터 통신망을 통하여 전송되는 사용자의 웹 페이지 요청에 응답한다. 웹 페이지 요청은 콘텐츠 요청으로도 불리며, 통상적으로 사용자의 컴퓨터에서 실행하는 브라우저에 의해 이루어진다. 웹 서버는 웹 페이지를 요청하기 위하여 한 개 이상의 컴퓨터 통신망 어드레스 /포트 끝점을 감시하는 동시에, 그 웹 페이지 요청에 응답하여 요청자에게 웹 페이지를 전송한다. 웹 서버들은 특별한 목적의 장치가 될 수 있고, 또한 범용 컴퓨터에서 실행하는 소프트웨어 프로그램으로 실행될 수 있다. 웹 서버의 서비스 용량은 소정의 시간동안 수신하여 응답될 수 있는 웹 페이지 요청 갯수를 제한한다.In a computer communication network environment, a web server is used to respond to a web page request of a user transmitted through the computer communication network. Web page requests, also called content requests, are typically made by a browser running on a user's computer. The web server monitors one or more computer network address / port endpoints to request a web page, and sends the web page to the requestor in response to the web page request. Web servers can be special purpose devices and can also be run as software programs running on general purpose computers. The service capacity of the web server limits the number of web page requests that can be received and responded for a predetermined time.

웹 서비스 시스템에는 한 개 이상의 웹 서버가 있다. 일반적으로, 웹 서비스 시스템에 한 개 이상의 웹 서버가 있을 때, 상기 웹 서비스 시스템은 그 복수의 웹 서버가 웹 페이지 요청에 각각 응답하도록 설계된다. 통상적으로, 사용자의 웹 페이지 요청은 상기 웹 서버 중 하나로 보내지며, 상기 웹 서버는 그 웹 페이지 요청에 응답한다. 또한, 통상적으로 많은 웹 페이지 요청을 수신하기 위하여 설계된 웹 서비스 시스템에는 많은 웹 서버가 있다.There is more than one web server in a web service system. In general, when there is more than one web server in a web service system, the web service system is designed such that the plurality of web servers each responds to a web page request. Typically, a user's web page request is sent to one of the web servers, and the web server responds to the web page request. Also, there are many web servers in a web service system that are typically designed to receive many web page requests.

일반적으로, 복수의 웹 서버를 구비한 시스템에서, 시스템 운용자 또는 운용자들은 다양한 웹 서버에 의해 제공된 콘텐츠를 관리한다. 시스템 운용자는 상기 시스템 상에 콘텐츠를 조정하여, 예컨대 다양한 웹 서버의 콘텐츠가 확실히 일치시키거나, 또는 한 개의 웹 서버로부터 일부 콘텐츠를 이용할 수 있고, 다른 웹 서버로부터 다른 콘텐츠를 이용할 수 있게 만들기를 원할지도 모른다. 이것은 이행하기 어렵다. 특히 일련의 관련 웹 페이지를 갖고 있는 시스템과 대화하는 중에 잠재적으로 있을 사용자에게 명백하게 콘텐츠 갱신이 이루어지는 경우에 이행하기 어렵다.In general, in a system with multiple web servers, system operators or operators manage content provided by various web servers. The system operator may wish to adjust the content on the system so that, for example, the content of various web servers can be consistently matched, or some content is available from one web server, and other content is available from another web server. May be. This is difficult to implement. It is difficult to implement, especially when content updates are made apparent to the potential user while talking to a system having a series of related web pages.

콘텐츠 관리는 또한 캐싱 서버에 대한 문제가 있다. 캐싱 서버는 차후에 동일한 요청을 충족시키기 위하여 브라우저로부터 웹 서버까지 지연된 요청 결과를 캐싱하거나 일시적으로 저장한다. 캐시 서버 설계 및 동작시 문제점은 그 저장된(캐싱된) 콘텐츠가 원시 서버의 콘텐츠와 전혀 일치하지 않을 때, 즉 그 캐싱된 콘텐츠가 무효일 때를 결정하는 것이다. 그 하이퍼텍스트 전송 프로토콜("http")은 일부 콘텐츠의 원시 서버용 메커니즘을 포함하여 캐시 서버가 상기 콘텐츠의 사본을 보유해야 하는 기간을 특정하는 것이다. 그러나, 일부 콘텐츠에 대하여 원시 서버는 상기 콘텐츠가 얼마나 오랫동안 유효하게 남아 있을지 사전에 정확하게 판단할 수 없으며, 예상치 못하게 상기 최초 서버에 의해 지정된 소멸 시간보다 일찍 콘텐츠가 갱신되는 상황이 될 수 있다.Content management also has a problem with caching servers. The caching server later caches or temporarily stores the result of the delayed request from the browser to the web server to satisfy the same request. The problem with cache server design and operation is to determine when the stored (cached) content does not match the content of the original server at all, ie when the cached content is invalid. The hypertext transfer protocol (" http ") includes a mechanism for the origin server of some content to specify how long the cache server should retain a copy of that content. However, for some content the origin server cannot accurately determine in advance how long the content will remain valid, and may unexpectedly update the content earlier than the expiration time specified by the original server.

본 출원은 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호를 우선권 주장하였다.This application is incorporated by reference in US Patent Application No. 09 / 086,821, US Patent Application No. 09 / 086,836, US Patent Application No. 09 / 086,874, and US Patent Application No. 09 / 874,263, filed May 29, 1998. US Patent Application No. 60 / 117,674, filed Jan. 28, 1999, US Patent Application No. 09 / 377,611, filed Aug. 19, 1999, and US Patent Application No. 09 / 376,017 was claimed as priority.

본 발명은 복수의 웹 서버를 관리하는 것에 관한 것으로써, 특히 시스템 운용자가 상기 웹 서버 시스템의 각 웹 서버에 콘텐츠를 분배할 수 있는 웹 서비스 시스템에 관한 것이다.The present invention relates to managing a plurality of web servers, and more particularly to a web service system that allows a system operator to distribute content to each web server of the web server system.

도 1은 본 발명에 따른 웹 서비스 시스템의 일 실시예에 대한 블록도.1 is a block diagram of one embodiment of a web service system in accordance with the present invention;

도 2는 웹 서비스 시스템의 일 실시예에 대한 상세 블록도.2 is a detailed block diagram of one embodiment of a web service system.

도 3은 도 1의 콘텐츠 분배기의 일 실시예에 대한 동작 흐름도.3 is an operational flow diagram of an embodiment of the content distributor of FIG.

도 4는 현재의 원시 파일 세트 및 이전 파일 세트의 비교 흐름도.4 is a comparison flow diagram of a current source file set and a previous file set.

도 5는 적하 목록 엔트리의 일 실시예도.5 illustrates one embodiment of a manifest entry.

도 6은 변경된 파일의 목록 예시도.6 is an exemplary view of a list of changed files.

도 7은 도 6의 변경된 파일을 도시하는 적하 목록의 예시도.FIG. 7 is an exemplary diagram of a manifest showing the modified file of FIG. 6. FIG.

도 8은 구 버젼 유지 관리의 일 실시예도.8 is an embodiment diagram of old version maintenance.

도 9는 캐싱 서버와 통신하여 웹 서비스 시스템의 일 실시예에 대한 블록도.9 is a block diagram of one embodiment of a web service system in communication with a caching server.

도 10은 콘텐츠를 분배하는 방법에 대한 일 실시예의 흐름도.10 is a flow diagram of one embodiment of a method of distributing content.

도 11은 콘텐츠 분배기의 기타 실시예에 대한 동작 흐름도.11 is a flowchart of operation of another embodiment of a content distributor.

도 12는 상기 콘텐츠 분배기의 기타 실시예에 대한 동작 흐름도.12 is an operational flow diagram for another embodiment of the content distributor.

도 13은 도 12의 실시예에서 스크립트에 제공된 정보의 예시도.FIG. 13 illustrates an example of information provided to a script in the embodiment of FIG. 12. FIG.

한 개 이상의 웹 서버를 구비한 웹 서비스 시스템에 있어서, 상기 한 개 이상의 웹 서버에서 콘텐츠를 관리하고 분배하는 시스템 및 방법은 시스템 운용자에게는 유용한 것이다. 예컨대, 콘텐츠 갱신은 가끔 빠르게 실행되는 것이 바람직하다. 스케줄링 및 자동화를 이용하여 효율적이고 일정한 방법으로 상기 서버 상에서 콘텐츠를 갱신한다. 또한, 콘텐츠 갱신 실패를 식별하고, 그 불량 서버를 서비스에서 빼내어, 수리한 다음, 가능한 빨리 상기 웹 서비스 시스템의 서비스로 복귀시킨다. 갱신이 일어날 때에도, 트랜잭션의 손상을 줄이면서 웹 사이트를 최대로 이용하는 것이 바람직하다. 변경 사항들은 예컨대, 상기 웹 서버 프로세스가 끝날 때까지 언로드(및/또는 갱신)되지 않을 공유 라이브러리를 이용하여 그 콘텐츠를 제공하는 경우에, 서버의 재기동을 요구할 수 있다.In a web service system having one or more web servers, systems and methods for managing and distributing content in the one or more web servers are useful for system operators. For example, it is desirable that the content update be executed quickly from time to time. Use scheduling and automation to update content on the server in an efficient and consistent manner. It also identifies content update failures, removes the rogue server from service, repairs it, and returns it to the service of the web service system as soon as possible. Even when an update occurs, it is desirable to make full use of the Web site while reducing transaction corruption. Changes may require a server restart, for example, if the content is provided using a shared library that will not be unloaded (and / or updated) until the web server process is finished.

본 발명에 따른 웹 서비스 시스템은 그 시스템의 한 개 이상의 웹 서버에서 변경된 콘텐츠를 정확하고 효율적으로 갱신하여, 그 변경 사항이 상기 웹 서버사이에서 일정하고, 과도한 통신망 대역폭이 필요 없도록 한다.The web service system according to the present invention accurately and efficiently updates the changed content in one or more web servers of the system so that the changes are constant between the web servers and do not require excessive network bandwidth.

이것은 웹 서버와 트랜잭션으로 연동되는 브라우저에 상기 콘텐츠 변경이 두드러지지 않고, 그 콘텐츠를 이용하여 개시된 트랜잭션을 일치하기 위하여 콘텐츠 버젼들을 보존하며, 웹 서버는 갱신에 문제가 있으면 구 콘텐츠로 돌아갈 수 있도록 수행된다. 본 발명의 웹 서비스 시스템은 콘텐츠 변경 사항을 추적할 수도 있고, 캐싱 콘텐츠가 무효로 되는 것을 적합한 캐싱 서버에 통지할 수도 있다.This ensures that the content changes are not prominent in the browser interworking with the web server, and that the content versions are preserved to match the transaction initiated using the content, and the web server can return to the old content if there is a problem with the update. do. The web service system of the present invention may track content changes and may notify the appropriate caching server that the caching content becomes invalid.

일반적으로, 일 특징에 있어서, 본 발명은 목적 파일 시스템 상에 원시 파일 세트의 변경을 복제하는 시스템 및 방법에 관한 것이다. 원시 파일 세트의 변경은 식별된다. 그 변경은 수정 목록에 기억된다. 상기 수정 목록은 목적 파일 시스템에 엑세스하는 에이전트에게 전송된다. 일 실시예에 있어서, 상기 변경된 파일들은 상기 에이전트에게 전송된다. 다른 실시예에 있어서, 상기 변경된 파일들은 상기 목적 파일 시스템 상에 설치된다. 다른 실시예에 있어서, 상기 변경 사항들은 파일 세트를 조사하는 동시에 그 파일 세트와 초기의 기록 세트를 비교함으로써 식별된다. 가타 실시예에 있어서, 상기 변경 사항들은 장치 드라이버를 설치하여 파일 연산을 실행하고, 그 장치 드라이버에 의해 변경 사항들을 상기 원시 파일 세트에 기록함으로써 식별된다. 기타 실시예에 있어서, 상기 변경 사항들은 변경 사항을 설명하는 적하 목록을 상기 원시 파일 세트로 수신하는 것에 의해 식별되며, 상기 파일들은 파일 속성을 초기에 기록된 세트의 파일 속성과 비교하는 것에 의해 비교된다. 일 실시예에 있어서, 상기 파일 속성은 상기 파일 크기, 파일 인가, 파일 소유, 수정 시간 및 상기 파일 해시의 세트로부터 선택된 적어도 한 개의 속성을 포함한다. 기타 실시예에 있어서, 상기 방법은 그 변경 사항을 식별하기 전에 스크립트를 호출하는 단계를 포함한다. 기타 실시예에 있어서, 상기 방법은 상기 변경 사항을 전송한 후에 스트립트를 호출하는 단계를 포함한다. 기타 실시예에 있어서, 상기 방법은 상기 전송을 성공적으로 종료했는지 여부를 결정한 후에 스크립트를 호출하는 단계를 포함한다.In general, in one aspect, the present invention is directed to a system and method for replicating changes in a source file set on a destination file system. Changes to the source file set are identified. The change is stored in the revision list. The modification list is sent to the agent accessing the destination file system. In one embodiment, the modified files are sent to the agent. In another embodiment, the modified files are installed on the destination file system. In another embodiment, the changes are identified by examining the file set and comparing the file set with the initial record set. In other embodiments, the changes are identified by installing a device driver to perform file operations and writing the changes to the source file set by the device driver. In other embodiments, the changes are identified by receiving, in the source file set, a manifest listing the changes, and the files are compared by comparing file attributes with the file attributes of the initially recorded set. do. In one embodiment, the file attribute comprises at least one attribute selected from the file size, file authorization, file ownership, modification time and the set of file hashes. In other embodiments, the method includes invoking a script prior to identifying the change. In other embodiments, the method includes calling a script after sending the change. In other embodiments, the method includes invoking a script after determining whether the transfer has been successfully terminated.

일반적으로, 기타 특징에 있어서, 본 발명은 목적 파일 시스템 상에서 원시 파일 세트의 변경을 복제하는 시스템 및 방법에 관한 것이다. 그 식별된 변경 사항들은 상기 변경된 파일들을 지정하는 URL(uniform resource locators)을 포함하는 수정 목록에 기억된다. 그 수정 목록은 적어도 2개의 웹 서버로 전송된다. 일 실시예에 있어서, 상기 전송은 멀티케스팅(multicasting)에 의해 수행된다. 일 실시예에 있어서, 상기 변경 사항들은 파일 세트를 조사하는 동시에 그 파일 세트와 초기에 기록된 세트를 비교하는 것에 의해 식별된다. 기타 실시예에 있어서, 상기 파일 세트는 파일 속성과 초기에 기록된 세트의 파일 속성을 비교하는 것에 의해 초기에 기록된 세트와 비교된다. 기타 실시예에 있어서, 상기 파일 속성은 파일 크기, 파일 인가, 파일 소유, 수정 시간 및 파일 해시의 세트로부터 선택된 적어도 하나의 속성을 포함한다.In general, in other aspects, the present invention is directed to a system and method for replicating changes in a source file set on a destination file system. The identified changes are stored in a modification list that includes uniform resource locators (URLs) that specify the changed files. The modification list is sent to at least two web servers. In one embodiment, the transmission is performed by multicasting. In one embodiment, the changes are identified by examining the file set while simultaneously comparing the file set with the initially recorded set. In other embodiments, the file set is compared with the initially recorded set by comparing the file attributes with the file attributes of the initially recorded set. In other embodiments, the file attribute includes at least one attribute selected from a set of file size, file authorization, file ownership, modification time, and file hash.

일반적으로, 기타 특징에 있어서, 본 발명은 웹 서비스 시스템에 관한 것이다. 그 시스템에는 상기 웹 서비스 시스템을 관리하는 관리자가 있다. 또한, 그 시스템에는 상기 관리자와 통신하여 웹 페이지 요청 및 에이전트를 수신하는 웹 서버가 있다. 상기 시스템에는 콘텐츠 변경 사항을 상기 호스트에 제공하는 콘텐츠 분배기가 있다. 일 실시예에 있어서, 상기 콘텐츠 분배기에는 원시 파일 세트의 변경사항을 식별하는 식별 모듈과, 그 식별된 변경 사항을 기억하는 수정 목록과, 그 수정 목록을 목적 파일 시스템에 엑세스하는 에이전트로 전송하는 전송기가 있다. 기타 실시예에 있어서, 상기 시스템에는 상기 변경된 파일을 상기 에이전트로 전송하는 전송기가 있다. 기타 실시예에서, 상기 에이전트에는 상기 목적 파일 시스템 상에 그 변경된 파일을 설치하는 설치기가 있다.In general, in other aspects, the invention relates to a web service system. The system has an administrator for managing the web service system. The system also has a web server that communicates with the administrator to receive web page requests and agents. The system has a content distributor for providing content changes to the host. In one embodiment, the content distributor includes an identification module for identifying changes in the source file set, a modification list for storing the identified changes, and a transmitter for transmitting the modification list to an agent accessing the destination file system. There is. In another embodiment, the system has a transmitter for transmitting the modified file to the agent. In other embodiments, the agent has an installer that installs the modified file on the destination file system.

일반적으로, 기타 특징에 있어서, 본 발명은 콘텐츠 분배기에 관한 것이다. 그 콘텐츠 분배기에는 원시 파일 세트의 변경 사항들을 식별하는 식별 모듈이 있다. 또한, 상기 콘텐츠 분배기에는 상기 수정 목록을 목적 파일 시스템에 엑세스하는 에이전트로 전송하는 전송기가 있다. 일 실시예에 있어서, 상기 콘텐츠 분배기에는 그 변경된 파일들을 상기 에이전트로 전송하는 전송기가 있다.In general, in other aspects, the invention relates to a content distributor. The content distributor has an identification module that identifies changes in the source file set. The content distributor also has a transmitter for transmitting the modification list to an agent accessing the destination file system. In one embodiment, the content distributor has a transmitter that sends the modified files to the agent.

본 발명의 기타 목적, 특징 및 장점들은 다음과 같은 설명으로 더욱 명백히 될 것이다.Other objects, features and advantages of the present invention will become more apparent from the following description.

웹 페이지를 서비스하는 시스템에는 복수의 웹 서버가 있고, 복수의 웹 서버의 동작을 조정하기 위한 특징 및 툴(tool)을 갖춘 시스템 운용자를 제공한다. 그 시스템에는 단지 한 개의 웹 서버가 있지만, 통상적으로 한 개 이상의 웹 서버가 있다. 상기 시스템은 클라이언트 컴퓨터 상에 웹 브라우저로부터 일반적으로 개시하는 웹 페이지 요청을 이용가능한 웹 서버로 보내기 때문에, 상기 복수의 서버 사이에 웹 페이지 요청 서비스 부하의 균형을 맞춰 트랙픽을 관리할 수 있다. 상기 시스템은 웹 페이지 요청시 데이터를 수집하고, 그 웹 페이지 요청에 웹 서버가 응답을 할 수 있으며, 상기 데이터의 보고 뿐만 아니라 자동 및 수동 분석 툴을 제공한다. 상기 시스템은 특정 이벤트를 감시하고, 그러한 이벤트의 출현시 자동으로 동작할 수 있다. 상기 이벤트들은 임박한 시스템 문제점을 지시하는 예상치 또는 임계치를 포함한다. 상기 시스템은 위기 관리 능력이 있어서 자동으로 에러를 회복하고, 부품 불량 또는 통신망 환경 문제와 같이 이벤트로부터 회복될 수 있는 가능한 동작을 통하여 시스템 운용자를 안내한다. 상기 시스템은 상기 시스템 동작에관한 현재의 정보를 시스템 운용자에게 나타낼 수 있다. 상기 시스템은 버젼 제어 및 데이터 갱신으로 콘텐츠 복제를 관리할 수 있다. 일부 또는 모든 이러한 기능은 특정 실시예에 제공된다.A system serving web pages has a plurality of web servers and provides a system operator with features and tools for coordinating the operations of the plurality of web servers. The system has only one web server, but typically there is more than one web server. Since the system sends a web page request, typically initiated from a web browser, on a client computer to an available web server, traffic can be managed by balancing the web page request service load among the plurality of servers. The system collects data upon a web page request, the web server can respond to the web page request, and provides automatic and manual analysis tools as well as reporting of the data. The system can monitor certain events and operate automatically upon the appearance of such events. The events include an estimate or threshold that indicates an impending system problem. The system has a crisis management capability that automatically recovers from errors and guides the system operator through possible actions that can be recovered from events such as component failures or network environmental problems. The system may present current information about the system operation to a system operator. The system can manage content duplication with version control and data updates. Some or all of these functions are provided in certain embodiments.

도 1을 참조하면, 웹 서비스 시스템(90)의 실체는 브라우저(1)로부터 웹 페이지 요청을 수신한다. 이러한 콘텐츠에 있어서, 웹 페이지는 웹 페이지 요청에 응답하여 컴퓨터 통신망(2)에 이용될 수 있는 전자 콘텐츠이다. 요청들은 통상적으로 웹 브라우저(1)로부터 통상적으로 개시한다. 웹 페이지의 일예는 디스플레이되고, 실행되고, 플레이되고, 처리되고, 스트림되고, 기억될 수 있고, 링크 또는 포인터를 기타 웹 페이지에 포함할 수 있는 실행 또는 해석 가능한 정보, 그래픽, 음성, 텍스트 및/또는 비디오를 포함한다. 상기 요청은 통신망(2)을 통하여 전달된다. 일 실시예에 있어서, 상기 통신망(2)은 인터넷이다. 기타 실시예에 있어서, 상기 통신망(2)은 인터넷으로 알려진 글로벌 통신망이다. 브라우저(1)는 웹 페이지 요청을 위하여 사용자에 의해 동작되고, 컴퓨터 또는 컴퓨터 프로그램에 의해 동작될 수 있고, 상기 컴퓨터의 프로그래밍에 기초하여 자동으로 요청한다. 상기 웹 페이지 요청은 HTTP 포멧을 이용하여 이루어지고, 또한 요청 능력이 있는 기타 프로토콜을 이용하여 이루어질 수 있다.Referring to FIG. 1, the entity of the web service system 90 receives a web page request from the browser 1. In this content, a web page is electronic content that can be used in the computer communication network 2 in response to a web page request. Requests are typically initiated from the web browser 1. Examples of web pages are executable or interpretable information, graphics, voice, text and / or which may be displayed, executed, played, processed, streamed, stored, and may include links or pointers in other web pages. Or video. The request is communicated via the communication network 2. In one embodiment, the communication network 2 is the Internet. In other embodiments, the communication network 2 is a global communication network known as the Internet. The browser 1 is operated by a user for a web page request, can be operated by a computer or a computer program, and automatically makes a request based on the programming of the computer. The web page request is made using HTTP format and may be made using other protocols with request capability.

도 2를 참조하면, 웹 서비스 시스템(90)의 실체는 다양한 부품(100-126)을 포함한다. 그 부품들은 한 개 이상의 통신망을 걸쳐 통신한다. 상기 부품들의 물리적인 위치는 다양한 부품사이의 통신 링크가 충분한 데이터 통신력을 가지고 있는 한 상기 시스템의 능력 또는 성능에 손상을 입히지 않는다. 상기 웹 서비스 시스템(90)은 다양하게 설계한 방화벽을 통하여 작동하고, 원격적으로 배치 및 관리될 수 있다.Referring to FIG. 2, the entity of the web service system 90 includes various components 100-126. The components communicate over one or more networks. The physical location of the components does not compromise the capability or performance of the system as long as the communication link between the various components has sufficient data communication power. The web service system 90 may operate through variously designed firewalls and may be remotely deployed and managed.

상기 웹 서비스 시스템(90)은 한 개 이상의 호스트(100)를 관리한다. 한 개의 호스트(100)는 일예로 도시된다. 상기 웹 서비스 시스템(90)의 실체는 임의 갯수의 호스트(100)를 가질 수 있다. 각 호스트(100)는 UNIX 또는 윈도우 NT 등의 멀티 쓰레드 운용 시스템을 이용할 수 있고, 구매 가능한 컴퓨터 시스템이 될 수 있다. 각 호스트(100)는 컴퓨터 통신망, 예컨대 인터넷 또는 인트라넷, 또는 그 호스트(100)가 웹 페이지 데이터 요청에 응답하여 웹 페이지 데이터를 제공할 수 있는 임의 기타 통신망에 적어도 하나의 통신망 접속을 할 수 있다.The web service system 90 manages one or more hosts 100. One host 100 is shown as an example. The entity of the web service system 90 may have any number of hosts 100. Each host 100 may use a multi-threaded operating system such as UNIX or Windows NT, and may be a commercially available computer system. Each host 100 may have at least one network connection to a computer communication network, such as the Internet or an intranet, or any other communication network to which the host 100 may provide web page data in response to a web page data request.

상기 웹 서버(102)는 컴퓨터 통신망을 통하여 수신된 웹 페이지 요청에 응답하여 웹 페이지를 제공하는 웹 서버가 될 수 있다. 그러한 웹 서버의 2가지 예로는 마운틴 뷰 넷스케이프 통신 회사의 NETSCAPE ENTERPRISE SERVER 및 레드몬드 마이크로소프트사의 MICROSOFT INTERNET INFORMATION SERVICES SERVER가 있다. 상기 웹 서버(102)는 웹 클라이언트로부터 웹 페이지 요청을 수신할 수 있으며, 브라우저 및/또는 웹 페이지 요청으로 언급된다. 브라우저로부터 웹 페이지 요청은 콘텐츠 요청으로 언급되고, 웹 서버의 뷰 지점으로부터의 웹 페이지 요청은 "히트"로서 언급된다. 종종 웹 페이지 요청은 일부 요청 및 응답을 포함하는 웹 서버(102)와 통신한 일부분이다. 세션으로 언급되는 그러한 일련의 세션은 웹 서버와 대화로 확장된다. 짧은 대화, 예컨대, 항목의 구매는 트랜잭션으로 언급된다. 세션은 일부 트랜잭션을 포함할 수 있다. 그 사용자는 웹 서버(102)의 초기 요청에 의해 웹 서버(102)와 대화함으로써, 응답하여 웹 페이지를 전송한다. 상기 웹 페이지는 정보를 포함하고, 또한 사용자가 웹 서버(102) 또는 기타 웹 서버를 만들 수 있는 기타 요청을 가르킨다. 때때로, 상기 요청들은 데이터베이스로부터 검색되어야 하는 정보용이고, 때때로 상기 요청은 데이터베이스에 기억되는 정보를 포함한다. 때때로, 상기 요청은 웹 서버(102)에 의한 처리를 요구하거나, 기타 컴퓨터 시스템과 대화를 요청한다. 복잡한 웹 서버 및 브라우저는 다양한 방법으로 대화 할 수 있다.The web server 102 may be a web server that provides a web page in response to a web page request received through a computer communication network. Two examples of such web servers are the NETSCAPE ENTERPRISE SERVER from Mountain View Netscape Communications Corporation and the MICROSOFT INTERNET INFORMATION SERVICES SERVER from Redmond Microsoft. The web server 102 may receive a web page request from a web client, referred to as a browser and / or web page request. Web page requests from the browser are referred to as content requests, and web page requests from the view point of the web server are referred to as "hits." Often a web page request is part of communicating with web server 102 which includes some requests and responses. Such a series of sessions, referred to as sessions, extends the conversation with the web server. Short conversations, such as purchasing an item, are referred to as transactions. The session may include some transactions. The user communicates with the web server 102 at the initial request of the web server 102, thereby sending the web page in response. The web page contains information and also points to other requests for the user to make a web server 102 or other web server. Sometimes the requests are for information that must be retrieved from the database, and sometimes the request includes information stored in the database. Occasionally, the request requires processing by the web server 102 or a conversation with another computer system. Complex web servers and browsers can communicate in a variety of ways.

관련 웹 페이지의 집합은 관련된 토픽에 관한 웹 페이지 세트와 같이 또는 특정 소오스로부터 사용자에게 나타나지만, 일반적으로 동일한 웹 서버(102)로부터 나타나는 것이 아니며, 어플리케이션으로 불린다. 어플리케이션의 일예는 회상에 관한 정보를 제공하는 페이지 세트이다. 어플리케이션의 기타 예는 사용자가 그의 저축 은행과 트랜잭션할 수 있는 일련의 페이지이다. 2개의 웹 페이지 세트는 한 개의 어플리케이션으로 되거나, 2개의 개별 어플리케이션으로 고려될 수 있다. 예컨대, 웹 페이지 세트는 은행에 관한 정보를 제공하고, 웹 페이지의 고객 서비스 세트는 은행과 사업 트랜잭션을 허용한다. 웹 페이지 세트가 한 개 또는 몇개의 어플리케이션인지 여부는 어플리케이션 설계자에 의해 결정된다. 상기 웹 서비스 시스템(90)은 한 개 이상의 어플리케이션을 사용자에게 전달될 수 있다. 상기 웹 서비스 시스템(90)은 상기 웹 서버(102)의 일부 보조 세트가 한 개의 어플리케이션을 배타적으로 제공할 수 있도록 배치될 수 있다. 일 실시예에 있어서, 일부 웹 서버(102)는 이용가능한 어플리케이션의 보조 세트를 서비스하고, 기타 웹 서버(102)는 기타 어플리케이션을 서비스한다. 기타 실시예에 있어서, 모든 웹 서버(102)는 모든 이용가능한 어플리케이션을 서비스한다.The set of related web pages is presented to the user as a set of web pages on related topics or from a particular source, but is not generally represented from the same web server 102 and is called an application. One example of an application is a set of pages that provide information about recall. Another example of an application is a series of pages that a user can transact with his savings bank. Two sets of web pages can be considered as one application or as two separate applications. For example, a web page set provides information about a bank, and a customer service set of web pages allows business transactions with the bank. Whether a web page set is one or several applications is determined by the application designer. The web service system 90 may deliver one or more applications to a user. The web service system 90 may be arranged such that some auxiliary set of the web server 102 may exclusively provide one application. In one embodiment, some web servers 102 service an auxiliary set of available applications, and other web servers 102 service other applications. In other embodiments, all web servers 102 service all available applications.

상기 사용자의 웹 브라우저로부터 웹 페이지 요청에 응답하여 사용자에게 나타나는 웹 페이지는 상기 웹 서버에 엑세스할 수 있는 호스트(100) 또는 파일 시스템에 기억될 수 있다. 일부 또는 모든 웹 페이지 콘텐츠는 상기 웹 서버(102)에 이용가능한 데이터를 처리함으로써 웹 서버(102)에 의해 생성될 수 있다. 예컨대, 토픽에 관한 서류가 있는 웹 페이지에 대하여, 상기 웹 페이지는 생성되어 상기 웹 서버(102) 파일 시스템에 기억될 수 있다. 웹 페이지 요청에 응답하여, 그러한 웹 페이지는 상기 파일 시스템에 기억되는 것과 같이 사용자에게 전송될 수 있다. 그러나, 은행 트랜잭션 시스템에 있어서, 사용자의 은행 계좌에 관한 정보가 데이터베이스에 기억되어 있을 것이다. 상기 웹 서버(102)는 사용자가 페이지를 요청하는 매시간 마다 사용자의 계좌 정보를 포함하는 웹 페이지를 발생할 수 있다. 가끔, 웹 페이지는 파일 시스템에 부분적으로 기억되고, 그 요청이 있을 때, 상기 웹 서버(102)에 의해 부분적으로 발생된다.The web page that appears to the user in response to a web page request from the user's web browser may be stored in a host 100 or file system that may access the web server. Some or all web page content may be generated by the web server 102 by processing data available to the web server 102. For example, for a web page with a document about a topic, the web page may be generated and stored in the web server 102 file system. In response to a web page request, such web page may be sent to the user as stored in the file system. However, in a bank transaction system, information about a user's bank account may be stored in a database. The web server 102 may generate a web page including account information of the user every time a user requests a page. Occasionally, web pages are partially stored in the file system and, when requested, are partially generated by the web server 102.

다양한 기술을 이용하여 상태 정보를 기억하는데, 이것은 웹 서버(102)와 사용자 세션의 상태로 불린다. 상기 사용자는 상기 웹 서버(102)에 이루어진 요청 및 그 요청에 응답하여 수신된 웹 페이지를 통하여 웹 서버(102)와 대화하는 동안의 상태를 개발할 수 있다. 일 예로서, 그 사용자의 상태는 사용자를 식별하는 정보를 포함한다. 다른 예로서, 그 상태는 사용자가 이미 요청한 웹 페이지를 특정하는 정보를 포함하거나, 상기 시스템과 대화로 사용자가 선택한 옵션을 포함한다. 다른 예로서, 상기 상태는 판매용 어플리케이션으로부터 사용자가 구매하기 위하여 선택하는 항목을 포함할 수 있다. 일반적으로, 상기 세션의 상태를 식별하는 일부 정보 또는 그 상태에 관한 일부 정보는 클라이언트 웹 브라우저, 예컨대 이후에 기술될 쿠키에 기억되고, 일부 정보는 웹 서버(102)에 기억될 수 있다.Various techniques are used to store state information, which is called the state of the web server 102 and the user session. The user may develop a state during the conversation with the web server 102 via a request made to the web server 102 and a web page received in response to the request. As one example, the user's status includes information identifying the user. As another example, the status may include information specifying a web page that the user has already requested, or an option selected by the user in conversation with the system. As another example, the status may include an item that the user selects to purchase from the sales application. In general, some information identifying the state of the session or some information about the state may be stored in a client web browser, such as a cookie to be described later, and some information may be stored in the web server 102.

호스트(100)는 용량, 성능 및 비용을 고려하여 웹 서버(102)의 실행 갯수를 정할 수 있다. 일 실시예에 있어서, 상기 호스트(100)는 한 개의 웹 서버(102)를 포함한다. 기타 실시예에 있어서, 호스트는 한 개 이상의 웹 서버(102)를 포함한다. 호스트(100) 상에 한 개의 웹 서버(102)는 간소화된 예이고, 가능한 웹 서버 (102)의 갯수를 한정하는 것은 아니다. 각 웹 서버(102)는 적어도 하나의 통신망 어드레스 및 포트를 감시하고, 끝점(endpoint)으로도 언급된다. 특정 어드레스 및 포트는 끝점으로 불리는데, 그 이유는 통신용 실제 끝점이고, 통신망 접속은 한 개의 어드레스/포트 끝점과 다른 끝점 사이에 이루어진다. 웹 서버(102)는 그 끝점 중 한 개로 전달되는 요청을 수신하여, 웹 페이지의 형태로 데이터와의 요청에 응답한다.The host 100 may determine the number of executions of the web server 102 in consideration of capacity, performance, and cost. In one embodiment, the host 100 includes one web server 102. In other embodiments, the host includes one or more web servers 102. One web server 102 on host 100 is a simplified example and does not limit the number of possible web servers 102. Each web server 102 monitors at least one network address and port, also referred to as an endpoint. Certain addresses and ports are called endpoints because they are the actual endpoints for communication, and network connections are made between one address / port endpoint and another. The web server 102 receives a request forwarded to one of its endpoints and responds to the request with the data in the form of a web page.

복수의 통신망 어드레스/포트 끝점에서 요청을 수락하는 웹 서버(102)는 실제로 한 개의 웹 서버가 실행되더라도 복수의 웹 서버(102)가 있는 것처럼 실행할 수 있다. 그러한 웹 서버는 복수의 끝점 웹 서버로서 언급된다. 이러한 토론을 위하여, 복수의 끝점 웹 서버는 통신망 어드레스/포트 끝점 상에 요청을 수신하는 각 웹 서버(102)를 구비한 복수의 웹 서버(102)가 실제로 있는 것처럼 설명될 수 있다. 일 실시예에 있어서, 그러한 복수의 끝점 웹 서버는 모든 복수의 끝점용 인터페이스가 있는 한 개의 웹 서버 인터페이스(104)을 갖는다.A web server 102 that accepts requests at multiple network address / port endpoints may run as if there are multiple web servers 102 even though one web server is actually running. Such a web server is referred to as a plurality of endpoint web servers. For this discussion, a plurality of endpoint web servers can be described as if there are actually a plurality of web servers 102 with each web server 102 receiving a request on a network address / port endpoint. In one embodiment, such a plurality of endpoint web servers has one web server interface 104 with all the plurality of endpoint interfaces.

각 웹 서버(102)는 웹 서버 인터페이스(104)와 결합된다. 그 웹 서버 인터페이스는 상기 웹 서버(102)와 웹 서비스 시스템(90)의 기타 부품 사이의 인터페이스로 서비스하는 웹 서버(102)와 관련된 플러그 인, 필터 또는 기타 소프트웨어가 될 수 있다. 이러한 콘텐츠에 있어서, 상기 용어 웹 서버 인터페이스는 상기 호스트 (100)에 나타날 수 있는 네트워크 인터페이스와 구별된다. 예컨대, 상기 웹 서버 (102)는 웹 서버 인터페이스(104)를 갖는다. 각 웹 서버 인터페이스(104)는 각 호소트(100) 상에서 에이전트(106)와 통신할 수 있다.Each web server 102 is coupled with a web server interface 104. The web server interface may be a plug-in, filter or other software associated with the web server 102 serving as an interface between the web server 102 and other components of the web service system 90. In this content, the term web server interface is distinguished from a network interface that may appear on the host 100. For example, the web server 102 has a web server interface 104. Each web server interface 104 may communicate with an agent 106 on each callout 100.

호스트(100)는 에이젼트(106)를 포함한다. 그 에이젼트(106)는 웹 서비스 시스템(90) 인터페이스를 상기 호스트(100)에 제공한다. 상기 에이젼트(106)는 웹 서버 인터페이스(104)를 웹 서비스 시스템(90)과 결합한다. 또한, 상기 에이전트는 상기 호스트(100)를 웹 서비스 시스템(90)과 결합한다. 복수의 웹 서버가 있는 호스트 상에도, 상기 호스트(100) 상에서 실행하는 단지 한 개의 에이전트(106)가 있지만, 한 개 이상도 될 수 있다. 각 에이젼트(106)는 상기 시스템 부품에 관한 정보를 포함하는 데이터베이스(108)에 엑세스한다.Host 100 includes agent 106. The agent 106 provides a web service system 90 interface to the host 100. The agent 106 couples the web server interface 104 with the web service system 90. The agent also couples the host 100 with the web service system 90. Even on a host with multiple web servers, there is only one agent 106 running on the host 100, but may be more than one. Each agent 106 accesses a database 108 that contains information about the system components.

호스트(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) 상에서 실행될 수 있다.Agent 106 on host 100 communicates with web services system manager 110. The manager 110 receives information from the agent 106 regarding the status of the host 100 and the web server 102. The manager 110 sends commands to the agent 106 to place the host 100, to start, stop or stop the web server 102, and to manage load on the web server 102. Can be. The manager 110 accesses a logging database 114 that is used to log system activities and events. The manager 110 also accesses a management object database 112 that stores information about various components of the system. The manager 110 also communicates with one or more consoles 116A- 116X, and is generally referred to as 116. The console 116 provides a user interface to the system operator. The system operator can monitor the status of the system and deploy the system via a console. The manager 110 may run on the same host 100 as one of the web servers 102 or other web service system 90 components such as traffic manager 120.

상기 관리자(110)는 트래픽 관리자(120)와 통신하며, 인터셉터(interceptor)로 언급된다. 상기 트래픽 관리자(120)는 웹 페이지 요청을 웹 서버에 지시한다. 본 발명은 특정 타입의 트래픽 관리자(120)에 국한되는 것이 아나라, 오히려 웹 페이지 요청을 웹 서버(102)에 지시하는 임의 종류의 트래픽 관리자(120)와 작업한다.The manager 110 communicates with the traffic manager 120 and is referred to as an interceptor. The traffic manager 120 instructs the web server to request a web page. The invention is not limited to a particular type of traffic manager 120, but rather works with any kind of traffic manager 120 that directs a web page request to the web server 102.

일 실시예에 있어서, 상기 트래픽 관리자(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)에 역으로 사용자에게 보낸다.In one embodiment, the traffic manager 120 receives information and commands from the manager 110. In addition, the traffic manager 120 receives information and commands from the control program 122. The traffic management control program can be the same computer system as traffic manager 120, or can run on other systems. The traffic manager 120 receives the web page request and references the request to one of the web servers. Part of the management capability of the web service system 90 is performed by monitoring web page requests made on the web server 102 and the results on the web server 102 and the host 100. The web page request is to balance the load between the web servers 102. In one embodiment, the traffic manager 120 is a first point of contact for a user. The traffic manager 120 receives a web page request from a user and sends the user's web browser to a web server 102 suitable for the request. The user's web browser is sent in response to a web page request sent as a web page to a suitable web server 102. This transmission capacity is performed with the capacity included in http, but cannot be performed in other ways. The user may or may not know that the web browser is sent to the appropriate web server 102. A user accesses an application on the web server 102 and simultaneously receives the web page request response from the web server 102. In one embodiment, when the web server 102 is overloaded, the web server 102 in the direction of the manager 110 is inverse to the traffic manager 120 or other web server 102 capable of delivering the application. To the user.

상기 트래픽 관리자(120)는 사용자로부터 요청 사항들을 수신하여, 그 사용자의 요청 사항들을 웹 서버(102)로 다시 보낸다. 일 실시예에 있어서, 상기 트래픽 관리자(120)는 기타 트래픽 관리자(120) 또는 한 개의 끝점과 같이 한 개의 웹 서버(102)로 모든 사용자가 향하게 하는데 이용된다. 이러한 방법으로, 상기 트래픽 관리자(120)는 분로(shunt)로서 동작하며, 이것은 호스트 상에 한 개 이상의 웹 서버쪽으로 보낸 모든 요청을 다른 웹 서버(102)로 보내는 것을 의미한다. 기타 실시예에 있어서, 상기 트래픽 관리자(120)는 상기 관리자(110)로부터 상태 정보를 수신하고, 그 정보를 이용하여 사용자에게 다시 향하게 한다. 그 상태 정보는 서버 이용 능력과 부하, 관리자의 변경 및 어플리케이션 또는 웹 서버 (120) 개시 및 폐쇄 동작을 포함한다. 상기 트래픽 관리자(120)는 속도 및 보안용으로 설계된다. 상기 트래픽 관리자(120)는 상기 시스템의 전면 도어이고, 그 결과, 그 성능은 전체 웹 서비스 시스템(90)의 인식된 성능에 영향을 미친다. 통신망 토폴로지 감지시 폐쇄한 상기 트래픽 관리자(120)를 가능한 상기 중추에 위치시키는 것이 유용할 수 있다. 필연적으로 상기 웹 서비스 시스템(90)의 가장 노출된 부품이다.The traffic manager 120 receives the requests from the user and sends the user's requests back to the web server 102. In one embodiment, the traffic manager 120 is used to direct all users to one web server 102, such as other traffic managers 120 or one endpoint. In this way, the traffic manager 120 acts as a shunt, which means sending all requests sent to one or more web servers on a host to another web server 102. In other embodiments, the traffic manager 120 receives status information from the manager 110 and directs the user back to the user using the information. The state information includes server availability and load, administrator changes, and application or web server 120 startup and shutdown operations. The traffic manager 120 is designed for speed and security. The traffic manager 120 is the front door of the system and, as a result, its performance affects the perceived performance of the overall web service system 90. It may be useful to locate the traffic manager 120 that is closed upon detecting the network topology as possible in the backbone. Inevitably it is the most exposed part of the web service system 90.

일 실시예에 있어서, 상기 트래픽 관리자(120)는 하드웨어에서 실행된다. 다른 실시예에 있어서, 상기 트래픽 관리자(120)는 호스트 컴퓨터에서 실행하는 소프트웨어 프로그램이다. 하나의 소프트웨어 실체에 있어서, 상기 트래픽 관리자(120)는 멀티 쓰레드 운용 시스템을 구동할 수 있는 서버 클래스 컴퓨터 상에서 실행하는 독립적으로 조작 가능한 프로그램이다. UNIX 하에서, 예컨대, 상기 트래픽 관리자 (120)는 디먼(daemon) 같이 실행할 수 있다. 윈도우 NTTM하에서, 상기 트래픽 관리자(120)는 서비스로서 실행할 수 있다.In one embodiment, the traffic manager 120 runs in hardware. In another embodiment, the traffic manager 120 is a software program running on a host computer. In one software entity, the traffic manager 120 is an independently operable program that runs on a server class computer capable of running a multithreaded operating system. Under UNIX, for example, the traffic manager 120 can run as a daemon. Under Windows NT , the traffic manager 120 can run as a service.

다른 실시예에 있어서, 상기 트래픽 관리자(120)는 하나의 끝점에서 발생한 요청을 웹 서버(102)에 속하는 끝점으로 향하게 하는 인터넷 프로토콜 브리지 또는 라우터이다. 이러한 방법으로, 상기 트래픽 관리자(120)는 웹 페이지 요청을 한 개 이상의 웹 서버(102)로 보낸다. 상기 트래픽 관리자의 일예는 켈리포니아 산 조세의 시스코 시스템사로부터 이용할 수 있는 LOCALDIRECTOR이다. 기타 실시예에 있어서, 상기 트래픽 관리자(120)는 메사추세츠주 웨스트 포드의 에로포인트 통신사로부터 구매 가능한 CONTECT SMART WEB SWITCH 등의 웹 스위치이다. 상기 트래픽 관리자(120)는 각 웹 페이지 요청을 수신하여, 그 요청을 토대로 그 요청을 웹 서버로 보낸다.In another embodiment, the traffic manager 120 is an Internet protocol bridge or router that directs requests originating from one endpoint to an endpoint belonging to the web server 102. In this way, the traffic manager 120 sends a web page request to one or more web servers 102. One example of such a traffic manager is LOCALDIRECTOR, available from Cisco Systems, Inc. of San Jose, California. In other embodiments, the traffic manager 120 is a web switch, such as CONTECT SMART WEB SWITCH, available from Aeropoint Communications, Westford, Massachusetts. The traffic manager 120 receives each web page request and sends the request to the web server based on the request.

상기 웹 서비스 시스템(90)은 콘텐츠 분배기(125)로 언급되는 버젼 제어기를 포함한다. 상기 콘텐츠 분배기(125)는 상기 웹 서비스 시스템(90)에서 다양한 웹 서버(102)의 콘텐츠 갱신을 포함하는 버젼 및 콘텐츠 복제를 관리한다. 시스템 운용자 인터페이스 대 상기 콘텐츠 분배기(125)는 콘텐츠 제어(126)에 제공된다. 일 실시예에 있어서, 상기 콘텐츠 분배기(125) 및 콘텐츠 제어(126)는 상기 호스트 (100) 상에 동작하는 독립적으로 동작 가능한 프로세스이다. 기타 실시예에 있어서, 상기 콘텐츠 분배기 및 콘텐츠 제어(126)는 상기 관리자(110)와 동일한 호스트 상에서 동작한다. 여전히 기타 실시예에 있어서, 콘텐츠 분배기(125) 및 콘텐츠 제어(126)는 동일한 호스트 또는 기타 호스트 상에서 동작할 수 있다. 기타 실시예에 있어서, 상기 콘텐츠 분배기(125)는 상기 관리자(110)의 기능 또는 상기 시스템(90)의 기타 부품에 포함된다.The web service system 90 includes a version controller referred to as content distributor 125. The content distributor 125 manages versions and content replication, including content updates of various web servers 102 in the web service system 90. A system operator interface versus the content distributor 125 is provided to content control 126. In one embodiment, the content distributor 125 and content control 126 are independently operable processes operating on the host 100. In other embodiments, the content distributor and content control 126 operate on the same host as the manager 110. In still other embodiments, content distributor 125 and content control 126 can operate on the same host or on other hosts. In other embodiments, the content distributor 125 is included in the functionality of the manager 110 or other components of the system 90.

상기 콘텐츠 분배기(125)는 정보를 상기 에이전트(106)로 전송하고, 상기 에이전트(106)를 통하여 상기 웹 서버 인터페이스(104)로 전송한다. 상기 전송된 정보는 변경 사항을 상기 원시 파일로 언급되는 파일 및 콘텐츠 디렉토리에 기술하고, 일반적으로 계층 디렉토리 구조에서 조직화된다. 이러한 원시 파일은 상기 웹 서버용 콘텐츠의 "마스터" 사본이다. 함께, 상기 디렉토리 및 파일들은 원시 파일 또는 원시 파일 세트로 언급된다. 상기 원시 파일 세트는 스태깅 서버로 언급되는 원시 호스트에 기억되며, 이것은 상기 콘텐츠 분배기(125)가 실행하는 통상적이지만 불필요한 호스트이다. 설명을 간소화하기 위하여, 다음과 같은 토론에 있어서, 상기 원시 파일 또는 호스트(100) 중 하나에 콘텐츠 디렉토리 및 파일들은 일반적으로 파일로 언급된다. 상기 원시 파일 세트는 디렉토리 및 파일을 포함하고, 상기 파일의 변경 사항들은 디렉토리의 부가, 삭제 및 수정을 포함할 수 있다.The content distributor 125 transmits information to the agent 106 and to the web server interface 104 via the agent 106. The transmitted information describes changes to the file and content directories referred to as the raw file and is generally organized in a hierarchical directory structure. This source file is a "master" copy of the content for the web server. Together, the directories and files are referred to as raw files or set of raw files. The set of raw files is stored in a raw host, referred to as a stacking server, which is a common but unnecessary host that the content distributor 125 executes. To simplify the description, in the following discussion, the content directory and files in one of the source files or host 100 are generally referred to as files. The source file set includes a directory and a file, and changes to the file may include adding, deleting, and modifying a directory.

도 3을 참조하면, 변경 사항들은 상기 원시 파일 세트에 일부 시간 주기에 걸쳐 일어난다(단계 180). 상기 변경 사항은 신규 파일의 생성, 구 파일의 삭제, 신규 콘텐츠를 갖는 현존하는 파일의 대체(즉 파일 콘텐츠 수정) 및 인가 제한과 소유 등의 수정 파일 속성과 같은 변경 사항을 포함한다. 다시, 파일의 변경 사항이 설명되더라도, 디렉토리에 변경 사항들이 포함된다. 응용 프로그램 및 응용 시스템 유틸리티를 포함하는 종래의 편집 기술 및 툴을 이용하여 파일을 편집함으로써 변경이 일어난다. 변경 사항들은 개발 및 승인 프로세스에서 시험되고 인증될 수 있다. 실제로 특정 시간에 파일의 변경은 없고, 그 시스템은 이러한 것을 인식할 수 있다. 그러한 경우에, 변경 사항의 부재를 식별한 후에, 식별이 가능한 다음 시간까지 또 다른 처리를 하지 못한다.Referring to Figure 3, changes occur over some time period in the set of source files (step 180). Such changes include changes such as creating new files, deleting old files, replacing existing files with new content (i.e. modifying file contents) and modifying file attributes such as authorization restrictions and ownership. Again, even if changes to the file are described, the changes are included in the directory. Changes are made by editing the file using conventional editing techniques and tools, including application programs and application system utilities. Changes can be tested and certified in the development and approval process. In fact, there are no file changes at any given time, and the system can recognize this. In such a case, after identifying the absence of changes, no further processing can be done until the next time that can be identified.

상기 콘텐츠 분배기는 그 변경 사항을 상기 파일로 식별한다(단계 181). 상기 파일의 변경 사항은 많은 방법으로 식별될 수 있다. 일 실시예에 있어서, 상기 콘텐츠 설계자는 변경 사항의 목록인 적하 목록을 제공한다. 상기 설계자는 그 변경 사항의 트랙을 유지하고, 예컨대, 콘텐츠 제어 사용자 인터페이스(126)를 이용하는 콘텐츠 분배기에 변경 사항을 수동으로 식별하거나, 또는 적하 목록을 상기 목록 분배기(125)에 전달하는 것에 의해 수동으로 식별한다. 기타 실시예에 있어서, 상기 콘텐츠 트랙을 설계하기 위하여 콘텐츠 설계자가 사용한 소프트웨어 및 시스템은 변경 사항을 추적하여, 상기 콘텐츠 분배기(125)에 전달되는 변경 사항의 적하 목록을 제공한다.The content distributor identifies the change as the file (step 181). Changes to the file can be identified in many ways. In one embodiment, the content designer provides a manifest, which is a list of changes. The designer keeps track of the changes and either manually identifies the changes to the content distributor using the content control user interface 126, for example, or manually delivers the manifest to the list distributor 125. To identify. In other embodiments, software and systems used by content designers to design the content track track changes and provide a manifest of changes delivered to the content distributor 125.

기타 실시예에 있어서, 상기 콘텐츠 분배기(125)는 운용 시스템 파일 서버에 모아서, 상기 원시 파일 세트에 변경 사항을 감시한다. 그러한 실시예에 있어서, 소프트웨어 장치 구동기 "모니터"는 파일 동작을 실행하기 위하여 상기 운용 시스템에 의해 불려지는 것이 설치된다. 상기 장치 모니터는 상기 운용 시스템과 실제 장치 구동기(즉, 하드 디스크 드라이버 소프트웨어) 사이에 데이터를 통과시키는 장치 드라이버 통과 경로로서 동작한다. 상기 디스크 I/O 명령이 디스크 드라이버를 통과하는 것 이외에, 상기 장치 모니터는 그 I/O 명령을 관찰하고, 상기 원시 파일 세트에 변경 사항을 기록한다. 일 실시예에 있어서, 상기 장치 모니터는 콘텐츠 분배기(125)에 일체로 된다. 기타 실시예에 있어서, 상기 장치 모니터는 상기 콘텐츠 분배기(125)에 전달되는 적하 목록을 발생한다.In other embodiments, the content distributor 125 gathers in an operating system file server to monitor changes to the set of source files. In such an embodiment, a software device driver " monitor " is installed that is called by the operating system to perform file operations. The device monitor acts as a device driver pass path that passes data between the operating system and the actual device driver (ie, hard disk driver software). In addition to the disk I / O commands passing through the disk driver, the device monitor also observes the I / O commands and records the changes in the set of source files. In one embodiment, the device monitor is integrated into the content distributor 125. In other embodiments, the device monitor generates a manifest, which is delivered to the content distributor 125.

기타 실시예에 있어서, 상기 콘텐츠 분배기(125)는 현재의 원시 파일 세트와 이전의 원시 파일 세트 사이를 비교하여 상기 원시 파일 세트에 변경 사항들을 결정한다. 상기 콘텐츠 분배기는 비교 목적으로 갱신이 되는 최근에 나타난 파일의 목록을 유지한다. 이러한 목록은 파일 크기, 최근에 파일에 수정된 날짜/시간, 상기 콘텐츠의 해시 코드 인가 및/또는 엑세스 제어 제한, 및 사용자/그룹 소유 등의 파일명 및 기타 파일 특성을 포함한다. 일 실시예에 있어서, 상기 파일의 목록은 이전의 원시 파일 세트 안에 모든 파일의 완전한 사본을 포함하지만, 이러한 실시예에서는 대용량 파일 시스템에 대하여 매우 효율이 떨어진다. 더욱 효율적인 실시예에 있어서, 이전의 파일 및 특정 파일 속성의 목록만이 필요하다. 이후에 기술된 바와 같이, 상기 변경 사항을 식별하고(단계 181), 변경 사항을 전송하고(단계 182), 그 변경 사항을 설치하는(단계 183) 단계는 때때로 갱신에 기준이 된다.In other embodiments, the content distributor 125 compares the current source file set with the previous source file set to determine changes to the source file set. The content distributor maintains a list of recently displayed files that are updated for comparison purposes. This list includes file names and other file characteristics such as file size, date / time the file was last modified, hash code authorization and / or access control restrictions on the content, and user / group ownership. In one embodiment, the list of files includes a complete copy of all files in the previous set of source files, but in this embodiment is very inefficient for large file systems. In a more efficient embodiment, only a list of previous files and specific file attributes is needed. As described later, the step of identifying the change (step 181), sending the change (step 182), and installing the change (step 183) is sometimes a reference to the update.

도 4를 참조하면, 일 실시예에 있어서, 상기 원시 파일 세트와 이전 파일 세트 사이의 비교는 상기 원시 파일 세트의 파일 분석에 의해 일어난다. 상기 원시 파일 세트의 각 파일에 대하여(단계 190), 상기 콘텐츠 분배기는 일 실시예에서 전술한 목록의 형태인 상기 원시 파일 세트의 파일과 이전 원시 파일 세트를 기술하는 정보를 비교한다. 각 파일에 대하여, 상기 콘텐츠 분배기는 그 파일이 이전의 원시 파일 세트 목록 안에 있는 경우를 결정한다(단계 191). 그렇지 않으면, 상기 파일은 상기 파일이 상기 원시 파일 세트에 부가되는 것을 지시하는 신규 파일로서 목록되고(단계 192), 해시는 상기 파일 상에서 계산된다(단계 193). 상기 파일의 목록이면, 상기 파일 목록은 표시되어 그 파일이 여전히 상기 파일 세트에 포함되는 것을 지시하기 위하여 표시된다(단계 194). 이것은 이전의 목록에 임의 파일을 분실, 즉 삭제되었는지 여부를 결정하는데 나중에 이용된다.Referring to FIG. 4, in one embodiment, the comparison between the source file set and the previous file set occurs by file analysis of the source file set. For each file in the source file set (step 190), the content distributor compares the file in the source file set in the form of the aforementioned list with information describing the previous source file set in one embodiment. For each file, the content distributor determines if the file is in the list of previous source files (step 191). Otherwise, the file is listed as a new file indicating that the file is to be added to the set of source files (step 192), and a hash is calculated on the file (step 193). If it is a list of files, the file list is displayed to indicate that the file is still included in the file set (step 194). This is later used to determine whether any file in the previous list has been lost or deleted.

상기 파일의 크기는 상기 목록의 정보와 비교된다(단계 195). 그 파일 크기가 다르면, 상기 파일은 수정된 것으로 고려되고, 그와 같이 목록된다(단계 196). 상기 파일의 신규 해시는 상기 목록에서 계산되어 기억된다(단계 193). 그 크기가 동일하면, 상기 날짜/시간은 비교된다(단계 197). 그 날짜/시간이 다르면, 상기 파일의 해시는 이전 목록에 포함된 해시로 계산되고 비교된다. 이러한 목록에서, 해시는 상기 파일 콘텐츠에 관련되는 한 개의 번호에 기인하는 파일 콘텐츠 상에서 계산된다. 그러한 해시는 메시지 통합 코드로 언급된다. 해시 코드의 예에는 점검 합계 및 순환 용장 코드가 있다. 파일의 해시가 다르면, 그 파일은 수정된 것으로 목록되고(단계 196), 상기 신규 해시는 상기 목록에 기억된다(단계 193). 다른 방법으로, 상기 파일 속성(소유자, 그룹 등)이 변경되면(단계 199), 상기 파일은 속성이 변한 것으로 목록된다(단계 200).The size of the file is compared with the information in the list (step 195). If the file size is different, the file is considered modified and listed as such (step 196). The new hash of the file is calculated from the list and stored (step 193). If the magnitudes are the same, the date / times are compared (step 197). If the date / time is different, the hash of the file is calculated and compared to the hashes included in the previous list. In this list, the hash is calculated on the file content due to one number associated with the file content. Such a hash is referred to as a message integration code. Examples of hash codes are checksums and circular redundancy codes. If the hash of the file is different, the file is listed as modified (step 196) and the new hash is stored in the list (step 193). Alternatively, if the file attribute (owner, group, etc.) is changed (step 199), the file is listed as the attribute changed (step 200).

일 실시예에 있어서, 상기 파일 콘텐츠가 변경되지 않으면, 상기 시스템은 파일 속성이 변경되는지 여부를 결정한다(단계 199). 기타 실시예에 있어서, 속성 정보는 콘텐츠 갱신의 일부분으로 전송된다. 이러한 단계들이 상기 원시 파일 세트의 모든 파일에 대하여 완성되면, 단계(194)로부터 표기는 이전에 목록되는 임의 파일이 지금 누락되었는지 여부를 점검하며, 이것은 상기 파일 세트로부터 삭제된 것을 의미한다(단계 200). 표기되지 않은 파일들은 삭제된 것으로 목록된다(단계 202).In one embodiment, if the file content does not change, the system determines whether file attributes are to be changed (step 199). In other embodiments, the attribute information is sent as part of the content update. Once these steps are completed for all files in the source file set, the notation from step 194 checks whether any files previously listed are now missing, meaning that they have been deleted from the file set (step 200 ). Files not marked are listed as deleted (step 202).

상기 원시 파일에 변경은 적하 목록으로 언급되는 변경 목록의 콘탠츠 분배기(125)와 동일하다. 일 실시예에 있어서, 상기 적하 목록은 부가, 삭제, 콘텐츠 수정 및/또는 속성 수정 등 파일에 변경 사항을 지시하는 엔트리를 포함한다. 예컨대, 상기 부가문"ADD source/dir/dir/file1"은 파일 :file1"이 부가되는 것을 지시하고, 상기 부가문 "CHMOD source/file2"은 파일 "file2"와 관련된 인가가 변경된 것을 지시한다. 다른 문은 콘텐츠의 변경을 지시하는 "MODIFY" 및 파일의 삭제를 지시하는 "DELETE"를 포함한다. 또한, 부가적인 속성 차이는 CHMOD 문을 이용하거나, 소유 변경용 CHOWN 또는 그룹 협회 변경용 CHGRP 등 자체의 특정문들을 가질 수 있다.The change to the source file is the same as the content distributor 125 of the change list referred to as the manifest. In one embodiment, the manifest contains entries indicating changes to the file, such as additions, deletions, content modifications and / or attribute modifications. For example, the additional statement "ADD source / dir / dir / file1" indicates that the file: file1 "is added, and the additional statement" CHMOD source / file2 "indicates that the authorization associated with the file" file2 "has been changed. Other statements include "MODIFY" to indicate the change of content and "DELETE" to indicate the deletion of the file.Additional attribute differences can also be made using CHMOD statements, CHOWN for ownership change or CHGRP for group association change, etc. It can have its own specific statements.

도 5를 참조하면, 일 실시예에 있어서, 적하 목록 엔트리(300)는 적어도 8개의 정보 요소(301-308)를 포함한다. 일 실시예에 있어서, 각 엔트리는 텍스트 포멧으로 기억되어, 그 정보가 시스템 운용자에 의해 간단한 텍스트 편집기로 판독되거나, 기타 소프트웨어에 의해 해석될 수 있다. 기타 실시예에 있어서, 각 엔트리는 상기 텍스트 포멧과 동일한 정보를 포함하는 2진 포멧으로 기억되지만, 훨씬 컴팩트하다. 상기 2진 포멧은 변환 툴에 의해 상기 텍스트 포멧으로 변환될 수 있다. 상기 텍스트 포멧은 2진 포멧으로도 변환될 수 있다.Referring to FIG. 5, in one embodiment, the manifest entry 300 includes at least eight information elements 301-308. In one embodiment, each entry is stored in text format such that the information can be read by a system operator with a simple text editor or interpreted by other software. In other embodiments, each entry is stored in a binary format containing the same information as the text format, but much more compact. The binary format can be converted to the text format by a conversion tool. The text format can also be converted to binary format.

일 실시예에 있어서, 상기 적하 목록 엔트리(300)는 파일 타입 필드(301)를 포함한다. 가능한 파일 타입은 디렉토리, 파일, 부호 링크, 파드 링크 또는 디렉토리 마커의 끝이며, 한 디렉토리의 마직막 파일 뒤에 온다. 텍스트 실체에 있어서, 각 파일은 디렉토리용 "DIR", 디렉토리 마커의 끝인 "END", 정상 파일용 "NRM", 부호 링크용 "LNK" 및 하드 링크용 "HLK" 등의 3개의 문자 코드로 설명된다. 상기 3개의 문자 코드"NOC"을 이용하여 변경되지 않은 파일을 설명한다. 2진 실체에 있어서, 각 선택은 정수 코드에 의해 나타낸다. 예컨대, 일 실시예에 있어서, 부가된 코드는 번호 1로 나타내고, 변경 콘탠츠는 2 등으로 나타낸다.In one embodiment, the manifest list entry 300 includes a file type field 301. Possible file types are the end of a directory, file, sign link, pod link, or directory marker, followed by the last file in a directory. In a text entity, each file is described by three character codes such as "DIR" for a directory, "END" at the end of a directory marker, "NRM" for normal files, "LNK" for signed links, and "HLK" for hard links. do. The unaltered file will be described using the three character codes "NOC". For binary entities, each choice is represented by an integer code. For example, in one embodiment, the added code is represented by the number 1, the changed content is represented by 2, and so on.

또한, 상기 적하 목록 엔트리(300)는 인가 필드(303)를 포함하여, 파일 엑세스 인가 및 그 파일에 관한 기타 정보를 설명한다. 텍스트 실체에 있어서, 상기 인가는 3개의 3 항목 2진 엔트리(즉, rwxrwxrwx)와 같은 UNIX 스타일로 기억되고, 그제1 3 항목 엔트리는 실행가능한 프로그램이 사용자가 실행할 것인지 여부를 설명하고, 그 다음 3개의 엔트리는 붉은색 및 횐색을 보이고, 그 소유자, 그룹 및 일반에 대한 인가를 각각 실행한다. 2진 실체에 있어서, 상기 인가 정보는 상기 인가를 나타내는 4 디지트 8진수인 2진 정수로 기억된다.In addition, the manifest list entry 300 includes an authorization field 303 to describe file access authorization and other information about the file. In a text entity, the authorization is stored in UNIX style, such as three 3-item binary entries (i.e., rwxrwxrwx), where the first three-entry entry describes whether the executable program will be executed by the user, and then 3 Entries appear red and white, and perform authorization to their owner, group and general, respectively. In the binary entity, the authorization information is stored as a binary integer which is a 4 digit octal number indicating the authorization.

또한, 상기 적하 목록 엔트리(300)는 파일 크기 필드(304)를 포함하여, 상기 파일의 크기를 설명한다. 텍스트 실체에 있어서, 상기 파일 크기는 ASCII 문자로 쓰여진다. 2진 실체에 있어서, 상기 파일 크기는 정수로 기억된다.The manifest entry 300 also includes a file size field 304 to describe the size of the file. In text entities, the file size is written in ASCII characters. In binary entities, the file size is stored as an integer.

또한, 상기 적하 목록 엔트리(300)는 날짜/시간 스템프(305)를 포함한다. 텍스트 실체에 있어서, 상기 날짜 및 시간은 ASCII 문자로 쓰여진다. 2진 실체에 있어서, 상기 날짜/시간은 1970년 1월 한 밤 중에 초의 흐름을 나타내는 정수로 기억된다.In addition, the manifest entry 300 includes a date / time stamp 305. In text entities, the date and time are written in ASCII characters. In binary entities, the date / time is stored as an integer representing the flow of seconds during the night of January 1970.

상기 적하 목록 엔트리(300)는 소유 정보(306)를 포함한다. 이러한 정보는 상기 파일 소유자의 사용자 식별기 및 상기 그룹 소유자의 그룹 식별기를 포함한다. 텍스트 실체에 있어서, 상기 소유자 및 그룹 식별기는 ASCII 스트링으로 기억된다. 2진 실체에 있어서, 상기 소유자 식별기 및 그룹 식별기는 각각 정수로 기억된다.The manifest entry 300 includes ownership information 306. This information includes the user identifier of the file owner and the group identifier of the group owner. In a text entity, the owner and group identifier are stored as ASCII strings. In binary entities, the owner identifier and the group identifier are each stored as an integer.

상기 적하 목록 엔트리(3000)는 점검 합계(307) 또는 해시 결과를 포함한다. 텍스트 실체에 있어서, 이것은 ASCII 스트링으로 기억된다. 2진 실체에 있어서, 상기 점검 합계는 정수로 기억된다. 또한, 상기 적하 목록은 상기 파일의 관련 경로명(308)을 포함한다. 2개의 텍스트 및 2진 실체에 있어서, 상기 관련 경로명(308)은 ASCII 스트링으로 기억된다.The manifest list entry 3000 includes a checksum 307 or a hash result. In text instances, this is stored as an ASCII string. In a binary entity, the check sum is stored as an integer. The manifest also contains the relevant pathname 308 of the file. In two text and binary entities, the associated pathname 308 is stored as an ASCII string.

도 6을 참조하면, 변경 목록예는 부가 파일(aaa)(디렉토리), 그 디렉토리 (aaa)의 파일 에이전트 (reg, questid.reg 및 sqlserver.reg), 및 파일(bbb 및 ccc)(디렉토리)가 있다. 디렉토리(ddd) 및 디렉토리(ddd)의 파일(abc 및 efg)는 변경되지 않는다. 디렉토리(efg)도 변경되지 않는다. 디렉토리(mmm, xxx 및 yyy)는 삭제되고, 파일 에이전트(reg, questd, reg 및 sqlserver.reg)는 디렉토리 (xxx)로부터 삭제된다.Referring to FIG. 6, an example of a change list includes an additional file (aaa) (directory), file agents (reg, questid.reg and sqlserver.reg) of the directory (aaa), and files (bbb and ccc) (directory). have. The directories ddd and files abc and efg of the directory ddd are not changed. The directory efg is also unchanged. Directories (mmm, xxx and yyy) are deleted, and file agents (reg, questd, reg and sqlserver.reg) are deleted from directory (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)의 점검 합계는 제로이다.Referring to FIG. 7, an example text instance of the drop list of the format of FIG. 5 reflects the changes listed in FIG. 6. In the first entry (ENTRY 1), the directory (aaa) is listed in the file name (308). The file aaaa is listed as type 301 "DIR". Operation 302 for this file is "ADD" to indicate that the file is to be added. The authorization 303 is listed in UNIX style, indicating that the file is a directory and that the owner reads, records, and executes the authorization. The file size 304 is listed zero. The date / time stamp 305 of the file is listed at 17:12 May 27. The user and group identifier 306 is listed as identifier 0. The check sum of the file 307 is zero.

제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이다.In the second entry (ENTRY 2), the file of the file name 308 is agent.reg. Since ENTRY 2 is between the aaa directory entry (ENTRY 1) and the END statement (ENTRY 5), this file is in the directory aaaa. The file (agent.reg) is of normal type 301 and is added as a new file as shown by operation element 302. The authorization 303 indicates whether the owner reads and writes the authorization. The file size 304 is 569 bytes. The date 305 of the file is May 11, 1998. The user and group identifier 306 are both zero. The check total 307 is 3564886220.

제5 엔트리(ENTRY 5)는 타입(301) END 마커이고, 디렉토리(aaa)에 대한 목록의 끝을 지시한다. 상기 제6 엔트리(ENTRY 6), 디렉토리(bbb)는 aaa END 마커 뒤의 목록이기 때문에 aaa의 보조 디렉토리가 아니다.The fifth entry ENTRY 5 is a type 301 END marker and indicates the end of the listing for the directory aaaa. The sixth entry ENTRY 6 and the directory bbb are not auxiliary directories of aaa because they are a list after the aaa END marker.

다시, 도 3을 참조하면, 일 실시예에 있어서, 상기 콘텐츠 분배기는 도 4의 방법을 이용하여 변경 사항을 판정하는 것에 의해 적하 목록을 생성한다. 기타 실체에 있어서, 상기 적하 목록은 콘텐츠 분배기로 보내진다. 일 실시예에 있어서, 상기 적하 목록은 특정 위치(즉, 디렉토리 및 파일명)에 적하 목록을 기억하는 것에 의해 전달되는데, 그 콘텐츠 분배기는 그것을 찾기 위하여 분배된다. 기타 실시예에 있어서, 상기 적하 목록은 통신망을 통하여 콘텐츠 분배기(125)로 전송하는 것에 의해 전달된다.Referring again to FIG. 3, in one embodiment, the content distributor generates a manifest by determining changes using the method of FIG. 4. In other instances, the manifest is sent to a content distributor. In one embodiment, the manifest is delivered by storing the manifest at a specific location (ie, directory and file name), the content distributor being distributed to find it. In other embodiments, the manifest is delivered by transmitting to content distributor 125 via a communication network.

그 변경 사항을 식별한 후에(단계 181), 예컨대, 도 3의 실체를 이용하여, 상기 변경 사항들은 상기 에이전트에 전달된다(단계 182). 가끔, 상기 변경 사항들은 호스트 파일 시스템 상의 특정 디렉토리에 맵핑된다. 일 실시예에 있어서, 상기 원시 파일은 표 1의 예에 도시된 다양한 호스트의 파일 시스템에 맵핑된다.After identifying the change (step 181), for example, using the entity of FIG. 3, the changes are communicated to the agent (step 182). Sometimes, these changes are mapped to specific directories on the host file system. In one embodiment, the source file is mapped to the file systems of the various hosts shown in the example of Table 1.

원시 디렉토리 대 목적 호스트 디렉토리의 맵핑예Example of Raw Directory to Destination Host Directory Mapping 원시 호스트Raw host 원시 디렉토리Raw directory 목적 호스트Destination host 목적 디렉토리Destination directory stagig.streve.comstagig.streve.com /usr/netscape/app1/ usr / netscape / app1 www1.atreve.comwww1.atreve.com /usr/netscape/app1/ usr / netscape / app1 www2.atreve.comwww2.atreve.com /dos/current/app1/ dos / current / app1 www3.atreve.comwww3.atreve.com /usr/netscape/docs/a1/ usr / netscape / docs / a1

표 1에 도시될 수 있는 바와 같이, 상기 시스템 관리자는 상기 다양한 웹 서버 상에서 상기 스태깅 서버 파일 시스템으로부터 상기 파일 시스템으로 상기 원시 파일 세트의 파일들을 맵핑할 수 있다. URL이 아닌 실제적인 파일 시스템 식별자의 사용은 'URL"과 동일하지 않은 공유 라이브러리 및 기타 파일의 맵핑을 허용한다. 예컨대, CGI 스트립트는 URL을 이용하는 경우에 맵핑될 수 없는데, 그 이유는 상기 파일들이 웹 페이지 요청을 통하여 상기 웹 서버로부터 일반적으로 이용할 수 없고, URL을 갖고 있지 않기 때문이다. URLs을 이용하는 경우에, 웹 페이지 요청을 통하여 웹 서버로부터 엑세스할 수 있는 파일만이 엑세스될 수 있다.As can be seen in Table 1, the system administrator can map files of the raw file set from the stacking server file system to the file system on the various web servers. The use of actual file system identifiers other than URLs allows mapping of shared libraries and other files that are not equal to 'URL'. For example, a CGI script cannot be mapped when using a URL, because the files This is because it is not normally available from the web server via a web page request and does not have a URL In the case of using URLs, only files accessible from the web server through the web page request can be accessed.

일 실시예에 있어서, 원시 파일 세트 디렉토리 계층의 파일들은 한 개의 저장 파일에 결합되고, 그 저장 파일은 압축된다. 배치가능한 파일보다 큰 임의 파일은 상기 호스트 시스템에 통신망 양단에 더욱 효율적인 통신을 위하여 소형 블록으로 분할되는 동시에, 상기 통신망에 충격을 줄인다. 상기 파일들을 소형 블록으로 분할하는 것은 시간 종료의 경우에 재전송량을 줄인다. 그러한 배치 가능한 값의 예는 1 메가비이트이다.In one embodiment, the files of the raw file set directory hierarchy are combined into one storage file, and the storage file is compressed. Any file larger than the deployable file is divided into small blocks for more efficient communication across the network to the host system, while reducing impact on the network. Dividing the files into small blocks reduces the amount of retransmissions in case of timeout. An example of such a dispositionable value is 1 megabite.

상기 변경 파일의 파일 크기를 포함하는 변경 목록(적하 목록)은 상기 콘텐츠를 수신하는 각 에이전트에게 전송된다. 상기 에이전트는 상기 변경 목록의 파일 크기 및 상기 에이전트가 실행할 필요성이 있는 계산을 토대로 상기 갱신을 위한 충분한 디스크 공간이 있는지 여부를 결정한다. 예컨대, 상기 에이전트는 상기 콘텐츠 갱신의 압축 사본 및 압축 해제 데이터의 2개 사본, 즉 임시 사본 및 기억되는 사본을 기억하는 파일 시스템 내에 충분한 공간이 있는지 여부를 결정할 수 있다. 이러한 방법으로, 상기 에이전트는 상기 호스트가 상기 신규 콘텐츠로 과부하되기 전에 전송을 중단할 수 있다.A change list (load list) containing the file size of the change file is sent to each agent receiving the content. The agent determines whether there is sufficient disk space for the update based on the file size of the change list and the calculations that the agent needs to execute. For example, the agent may determine whether there is enough space in the file system to store two copies of the compressed and decompressed data of the content update, namely, a temporary copy and a stored copy. In this way, the agent may stop transmitting before the host is overloaded with the new content.

소정 갯수의 서버가 상기 갱신된 콘텐츠를 수신할 때, 상기 데이터는 상기 콘텐츠 분배자로부터 상기 에이전트로 전송된다. 너무 많은 에이전트가 상기 콘텐츠를 수신할 수 없는 경우, 상기 콘텐츠 분배기는 상기 작업을 중단할 수 있다. 전달이 요구되는 에이전트의 비율은 배치 가능하다. 예컨대, 상기 시스템 운용자는 상기 에이전트의 50%가 상기 변경 사항을 수용할 수 없는 경우에 전송되지 않는 다는 것을 판정할 수 있다. 이러한 방법으로, 갱신 콘텐츠를 너무 적은 서버가 갖는 것을 예방할 수 있다.When a predetermined number of servers receive the updated content, the data is sent from the content distributor to the agent. If too many agents are unable to receive the content, the content distributor may abort the task. The proportion of agents requiring delivery is deployable. For example, the system operator can determine that 50% of the agents are not sent if they cannot accept the change. In this way, it is possible to prevent having too few servers with updated content.

일 실시예에 있어서, 전달은 파일 전달 프로토콜('FTP") 등의 표준 TCP/IP 전달을 이용하여 발생한다. 기타 실시예에서는 신뢰할 만한 멀티케스트 프로토콜을 이용하여 전달된다. 전송 불량인 경우, 데이터 블록은 다시 보내진다. 상기 전달이 반복하여 실패하면, 그 전달은 중단되고, 상기 시스템 운용자를 변경하는 다양한 동작이 취해진다. 다시, 상기 콘텐츠 분배기는 예측 불가능한 환경 때문에, 예상한 것보다 적은 에이전트가 전달되는 경우에, 변경 설치를 중단할 수 있다. 예컨대, 많은 에이전트가 통신망 접속을 잃는 경우에, 신규 콘텐츠를 제공할 수 있는 에이전트의 갯수가 불충분할 수 있다.In one embodiment, the delivery occurs using standard TCP / IP delivery, such as a file delivery protocol ('FTP'), etc. In other embodiments, delivery is done using a reliable multicast protocol. The block is resent If the delivery fails repeatedly, the delivery is stopped and various actions are taken to change the system operator Again, the content distributor has fewer agents than expected because of the unpredictable circumstances. If delivered, the change installation can be aborted, for example, if many agents lose their network connection, the number of agents that can provide new content may be insufficient.

도 1을 참조하면, 특정 에이전트(106)에 대한 갱신이 실패하면, 상기 웹 서비스 시스템(90)은 상기 시스템의 영향을 받는 부분을 "주변 경로"를 시도할 것이다. 상기 콘텐츠 분배기가 상기 관리자로부터 분리되는 실시예에서, 상기 콘텐츠 분배기(125)는 상기 에이전트(106)가 불량이다는 것을 관리자(110)에게 알린다. 상기 관리자(110)는 트래픽 관리자(120)와 통신하여, 상기 트래픽 관리자는 웹 페이지 요청을 그 에이전트(106)와 통신하는 웹 서버(102)로 전달되지 않도록 한다. 상기 관리자(110)는 다른 서버 상에서 상기 웹 서버(102)로부터 멀어지는 트래픽을 가르킬 것이다.Referring to FIG. 1, if an update for a particular agent 106 fails, the web service system 90 will attempt to "peripheral path" to the affected portion of the system. In an embodiment where the content distributor is separated from the manager, the content distributor 125 notifies the manager 110 that the agent 106 is bad. The manager 110 communicates with the traffic manager 120 such that the traffic manager does not forward the web page request to the web server 102 in communication with the agent 106. The manager 110 will point traffic away from the web server 102 on another server.

일 실시예에 있어서, 상기 콘텐츠 분배기(125)는 상기 불량 목적 에이전트의 목표인 "캐치 업(catch up)" 갱신 패키지를 생성할 것이다. 상기 캐치 업 갱신 패키지는 상기 에이전트가 도달하지만 도달하지 않는 변경 사항을 포함하고, 초기에, 이것은 전송 실패로 처음 갱신한 변경 사항 목록이다. 이러한 캐치 업 패키지는 차후의 갱신이 동일한 에이전트에 도달하는 경우 증가할 수 있다. 갱신 패키지가 불량일 때, 그 에이전트는 "캐치 업" 갱신이 종료할 때까지 다른 갱신을 수신하지 않을 것이다. 왜냐하면, 초기에 전파하는 것이 실패한 변경 사항의 신규 갱신에 의존하기 때문이다.In one embodiment, the content distributor 125 will generate a "catch up" update package that is the target of the rogue destination agent. The catch up update package contains changes that are reached but not reached by the agent, and initially, this is a list of changes that were first updated due to a transmission failure. This catch up package can increase if subsequent updates reach the same agent. When the update package is bad, the agent will not receive another update until the "catch up" update ends. This is because propagation initially depends on new updates of the failed changes.

도 3을 참조하면, 상기 변경 사항들이 에이전트(182)로 전송될 때, 상기 변경 사항들은 설치된다(단계 183). 상기 에이전트(106) 및 웹 서버 인터페이스(104)는 상기 콘텐츠 설치에 협조한다. 상기 신규 콘텐츠가 수신될 때, 상기 에이전트는 상기 갱신 패키지를 다시 조립한 다음, 압축 해제하여, 그 데이터를 임시 데이터 스토어에 위치시킨다. 상기 에이전트는 상기 콘텐츠 분배기로부터 제공된 신호를기다려서 상기 서버 콘텐츠 디렉토리에 파일들의 복사를 시작한다. 상기 신호들이 수신될 때, 서버 콘텐츠 디렉토리에 변경이 이루어진다. 또한, 디렉토리의 목록 파일들은 이 시간에 제거된다. 상기 갱신이 성공적일 경우, 상기 에이전트는 파일을 연속적으로 갱신하는 콘텐츠 분배기에 알린다. 일 실시예에 있어서, 상기 구 파일들은 처음에 다시 명명되어 대체 디렉토리에 기억된다. 이것에 의해 상기 변경 사항이 빠르게 역전되지만, 많은 데이터 스토리지를 요구하는 트랜잭션으로 된다. 무슨 이유에서든지 복제에 실패하는 경우, 상기 에이전트는 상기 문제의 콘텐츠 분배기를 변경할 것이다. 또한, 상기 에이전트 또는 콘텐츠 분배기 중 하나가 상기 실패한 에이전트를 피하기 위하여 상기 트래픽 관리자에게 지시하는 관리자를 변경할 것이다. 일 실시예에 있어서, 상기 에이전트는 웹 서버의 일정한 상태를 지시하는 버젼 식별기를 유지한다. 일 실시예에 있어서, 상기 버젼 식별기는 정수 값이다.Referring to FIG. 3, when the changes are sent to the agent 182, the changes are installed (step 183). The agent 106 and web server interface 104 cooperate with the content installation. When the new content is received, the agent reassembles the update package and then decompresses it to place the data in a temporary data store. The agent waits for a signal provided from the content distributor to begin copying files to the server content directory. When the signals are received, a change is made to the server content directory. Also, the list files in the directory are removed at this time. If the update is successful, the agent informs the content distributor that continuously updates the file. In one embodiment, the old files are first renamed and stored in an alternate directory. This quickly reverses the change, but results in a transaction that requires a lot of data storage. If for some reason the replication fails, the agent will change the content distributor in question. In addition, either the agent or the content distributor will change the manager instructing the traffic manager to avoid the failed agent. In one embodiment, the agent maintains a version identifier that indicates a constant state of the web server. In one embodiment, the version identifier is an integer value.

일 실시예에 있어서, 상기 웹 서버는 상기 갱신 처리 동안 중단 또는 중지된다. 상기 파일들이 상기 웹 서버 콘텐츠 디렉토리에 복제될 때, 그 웹 서버는 웹 페이지 요청을 취급하는 것을 예방하여 요청이 일정한 콘텐츠를 수신하는 것을 막는다. 이것은 상기 웹 서버에 요청하지 않은 것을 상기 트랙픽 관리자에게 지시하는 관리자에 의해 수행된다. 동시에, 상기 웹 서버(102)에 도달하는 요청들은 상기 웹 서버(102)로부터 트래픽 관리자(120)로 또는 기타 웹 서버(102)로 웹 서비스 인터페이스에 의해 다시 진행될 수 있다. 트랜잭션의 중앙에 사용자는 소정량의 시간의 주고서 다시 지시되기 전에 상기 트랜잭션을 완료한다. 상기 웹 서버를 요청을 플러시할 때, 그 갱신이 일어날 것이다. 어플리케이션 2진 파일이 변경되지 않는경우, 그 웹 서버는 요청기가 플러시된 다음, 요청기들은 콘텐츠 전달이 종료할 대 서버에 지시한다. 어플리케이션 2진 파일들이 수정되는 경우, 그러나, 그 웹 서버는 다시 시작될 수 있다.In one embodiment, the web server is suspended or stopped during the update process. When the files are copied to the web server content directory, the web server prevents the web page request from being processed so that the request does not receive certain content. This is performed by the administrator instructing the traffic manager that the web server has not requested. At the same time, requests arriving at the web server 102 may be re-issued by the web service interface from the web server 102 to the traffic manager 120 or to the other web server 102. In the middle of a transaction the user completes the transaction before being instructed again for a given amount of time. When the request is flushed to the web server, the update will occur. If the application binary file does not change, the web server then flushes the requester and then the requesters instruct the server when content delivery ends. However, if the application binary files are modified, the web server can be restarted.

일부의 경우에, 콘텐츠를 갱신하기 위하여 웹 서버를 디저블할 필요가 없다. 상기 브라우저에 임시로 다시 지시하는 프로세스는 시간이 많이 필요하고, 파일 전달 및 웹 서버 갱신에 필요한 시간과 결합된 시간은 수용할 수 없을 정도로 크다. 서버 이용 능력을 최대화하기 위하여, 상기 콘텐츠는 상기 웹 서버가 지속적으로 그 요청에 응답하는 동안 갱신될 수 있다. 이것은 변경될 파일을 복제하고, 상기 웹 서버에 엑세스 가능한 장소에서 파일을 복제하는 것에 의해 이루어질 수 있다. 상기 에이전트는 상기 웹 서버 인터페이스에 지시하여 변경하는 파일에 대한 모든 요청을 인터셉트한다. 변하지 않는 파일에 대한 요청은 일반 콘텐츠 영역에 지시될 수 있다. 변경 파일에 대한 요청은 안정한 사본에 지시되는 반면, 상기 신규 파일들은 일반 영역에 설치된다. 상기 에이전트가 상기 파일에 수정을 종료한 후에, 상기 웹 서버 인터페이스는 신호하여 상기 정상 영역을 다시 이용한다. 구 콘텐츠로부터 신규 콘텐츠까지 변환 시간에 관련 웹 페이지를 포함하는 트랜잭션에 포함되는 사용자들은 그 트랜잭션이 종료할 때까지 전환 후 몇 시간동안 구 콘텐츠를 지속적으로 엑세스할 필요가 있다. 예컨대, 처음 가격에 구매 중인 사용자는 갱신된 다른 가격을 이용하는 웹 페이지와 트랜잭션을 종료하지 않아야 한다.In some cases, there is no need to disable the web server to update the content. The process of temporarily instructing the browser again is time consuming and the time combined with the time required for file delivery and web server update is unacceptably large. In order to maximize server availability, the content may be updated while the web server is consistently responding to the request. This can be done by duplicating the file to be modified and duplicating the file in a location accessible to the web server. The agent instructs the web server interface to intercept all requests for files to change. Requests for files that do not change may be directed to the general content area. Requests for change files are directed to a stable copy, while the new files are installed in the general area. After the agent finishes modifying the file, the web server interface signals to use the normal area again. Users involved in a transaction that includes the associated web page at the time of conversion from the old content to the new content need to access the old content continuously for several hours after the conversion until the transaction ends. For example, a user purchasing at an initial price should not end a transaction with a web page that uses a different updated price.

일 실시예에 있어서, 트랜잭션의 흠없는 상태를 확인하기 위하여, 각 전환은 버젼 식별기에 할당된다. 일 실시예에 있어서, 점검 지점 식별기로 불리는 버젼 식별기는 각 콘텐츠 갱신으로 증가됨으로써 변하는 정수이다. 상기 웹 서버 인터페이스는 상기 브라우저에 의해 예상되는 버전을 토대로 웹 페이지 요청을 인터셉트하여 상기 버젼을 콘텐츠에 제공한다. 이렇게 하기 위하여, 상기 웹 서버는 상기 브라우저가 원하는 버젼을 알 필요가 있다. 일 실시예에 있어서, 이러한 정보는 상기 URL에 포함된다. 그러나, 이것은 상기 URLs 및 더욱 복잡한 구조를 만드는 단점이 있다. 도한, 상기 버젼 변경은 사용자에게는 덜 명확하다.In one embodiment, each transition is assigned to a version identifier in order to confirm the flawless status of the transaction. In one embodiment, the version identifier, called the checkpoint identifier, is an integer that changes by incrementing with each content update. The web server interface intercepts a web page request based on the version expected by the browser and provides the version to the content. To do this, the web server needs to know which version the browser wants. In one embodiment, this information is included in the URL. However, this has the disadvantage of making the URLs and more complex structures. Also, the version change is less obvious to the user.

일 실시예에 있어서, 상기 웹 서버에는 상기 브라우저에 상기 서버에 의해 제공된 웹 페이지의 현재 버젼을 특정하는 버젼 식별기를 포함하는 브라우저에 쿠키가 생긴다. 쿠키는 웹 서버가 브라우저에 보내서 그 웹 서버가 그 브라우저에 관한 어떤 것을 기억할 수 있도록 하는 특정 텍스트 파일이다. 웹의 HTTP를 이용하여, 웹 페이지에 대한 각 요청은 모든 다른 요청에 무관하다. 이러한 이유 때문에, 쿠키 등의 메커니즘 없이, 상기 웹 서버는 브라우저의 이전 방문에 관한 이전에 웹 브라우저에 보내지는 페이지에 관하여 모른다. 쿠키는 서버가 브라우저의 자체 컴퓨터 상에서 브라우저에 관한 자체 정보를 기억하고, 사용자가 웹 페이지 요청을 할 때 그 정보를 엑세스하는 메커니즘이다. 쿠키는 시간 후에 브라우저에 의해 폐기되는 것을 의미하는 소멸 기간 동안에 제공될 수 있다.In one embodiment, the web server has a cookie in the browser that includes a version identifier that specifies in the browser the current version of the web page provided by the server. A cookie is a specific text file that a web server sends to a browser that allows the web server to remember something about the browser. Using HTTP on the web, each request for a web page is independent of all other requests. For this reason, without a mechanism such as a cookie, the web server does not know about the page previously sent to the web browser regarding the browser's previous visit. Cookies are a mechanism by which the server stores its own information about the browser on the browser's own computer and accesses that information when the user makes a web page request. Cookies may be provided during the extinction period, meaning that they are discarded by the browser after time.

일 실시예에 있어서, 상기 쿠키의 일예는 상기 코드 "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" 코드를 이용하여 쿠키를 제공하는 페이지를 제한하지만, 그 "/"는 모든 파일을 커버하는 것을 지시한다.In one embodiment, one example of the cookie is executed with the code "Set Cookie; atreveBCD = 37; expries = Thursday, 20-January-1999 12; 32: 34 GMT; path = /". This code is sent from the web server to the browser. The browser includes a line "Cookie: AtreveBCD = 37" that all requests route through 12:32:34 GMT on January 20, 1999 when communicating with a web server in the same area. The "Set-Cookie" and "Cookie" parts of the protocol are headers according to the HTTP specification. "AtreveBCD" is the name of the cookie. Another name is used, and AtreveBCD is bad. "37" is the value of the cookie that the server currently has a checkpoint, and will continue to provide until its expiration time (due to the web server interface). The code "Expires" sets the expiration time. As an example, the extinction time is January 20, 1999. The "Path" code is used to limit the page providing the cookie, but the "/" indicates to cover all files.

상기 웹 서버가 브라우저에 발생하는 쿠키는 그 브라우저가 웹 서버로부터 콘텐츠를 효율적으로 요청하고, 그 콘텐츠에 대한 버젼 식별기를 지시하는데 유효하다. 따라서, 상기 브라우저가 특정 URL을 지정하는 특정 쿠키를 갖는 6개의 요청을 하는 경우, 상기 에이전트가 상기 우베 서버(102)에 콘텐츠의 신규 버젼을 한동안 전달할지라도, 그 6개의 요청은 자체적으로 일정할 것이다.The cookie that the web server generates in the browser is valid for the browser to request the content from the web server efficiently and indicate a version identifier for the content. Thus, if the browser makes six requests with a specific cookie specifying a particular URL, even if the agent delivers a new version of the content to the Ube server 102 for a while, the six requests will be constant on their own. .

일 실시예에 있어서, 상기 초기의 콘텐츠는 상기 콘텐츠를 특정하는 모든 쿠키들이 폐기될 때까지 폐기되지 않는다. 상기 콘텐츠는 한 버젼으로부터 다음 버젼까지의 변경을 포함하는 "백업 영역"에 기억된다. 예컨대, 버젼(2)로부터 버젼(3)까지의 트랜잭션에서 변하는 파일들은 버젼 2-3 백업 영역에 기억될 것이다. 상기 웹 서버 인터페이스는 버젼(2)으로부터 버젼(3)까지 트랜잭션시 변경되는 버젼(2)에 대한 웹 페이지 요청을 적합한 백업 영역의 바람직한 콘텐츠에 지시할 것이다.In one embodiment, the initial content is not discarded until all cookies that specify the content are discarded. The content is stored in a "backup area" containing a change from one version to the next. For example, files that change in a transaction from version 2 to version 3 will be stored in the version 2-3 backup area. The web server interface will direct the web page request for version 2 to be changed in a transaction from version 2 to version 3 to the desired content in the appropriate backup area.

도 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)이 기억된다.Referring to FIG. 8, as a simple example, a web server has content with a current version identifier 34. There are still versions (33 and 34) of previous versions of cookies that are still valid. The current version, i.e., the version 34, includes the files A and B modified in the version 34, the file C modified in the version 28, and the file D modified in the version 25. Include. File A is modified with all versions shown in the figure, including version 32, version 33 and version 34. File B is modified in version 30, version 32, and version 34 described above. Changes from version 31 to version 32 include changes to files A and B and deletion of file E created in version 1. Therefore, in the 31-32 backup area including the file changed in the transition from version 31 to version 32, the version 31 of the file A, the version 30 of the file (B), and the file Version (1) of (E) is stored. The change from the version 32 to the version 33 includes the modification of the file A, and in the 32-33 backup area, the version 32 of the file A is stored. Changes from version 33 to version 34 include modification of file A and deletion of file F (added to version 10), as a result of which files ( The version 33 of A), the version 32 of the file B and the version 10 of the file F are stored.

웹 서버가 콘텐츠를 요청하면, 예컨대, 현재 버젼 이외의 콘텐츠 버젼을 지시하는 쿠키를 나타내는 것에 의해, 상기 구 점검 지점 및 현재 점검 지점사이에 파일이 변하는 경우에, 상기 웹 서버 인터페이스는 상기 웹 서버에 지시하여 현재 버젼 영역 이외의 영역으로부터 콘텐츠를 갖는다. 일 실시예에 있어서, 상기 웹 서버 인터페이스는 그 변경 목록을 리뷰하여 그 요청 파일을 변했는지 및 위치하는 백업 영역이 변했는지를 결정한다. 예컨대, 현재의 버젼이 버젼(34)인 도 8의 예를 참고하면, 상기 웹 서버가 파일(A)에 대한 요청을 수신하는 경우, 및 상기 브라우저가 버젼(32)을 찾는 것을 지시하는 경우, 상기 웹 서버 인터페이스는 파일(A)이버젼(33)의 일부분으로 수정되는 것을 알 것이다. 따라서, 파일(A)의 버젼(32)는 32-33 백업 위치에 위치된다. 상기 웹 서버가 동일한 브라우저로부터 파일(B) 요청을 수신하는 경우(동일한 버젼 32 쿠키로서), 상기 웹 서버 인터페이스는 버젼(34)에 대하여 변경된 파일(B) 및 파일(B)의 버젼이 33-34 백업 영역에 기억되는 것을 결정할 것이다. 상기 웹 서버가 파일(D)에 대한 요청을 수신하면, 상기 웹 서버 인터페이스는 파일 버젼(32) 이래로 수정되지 않았고, 파일을 현재 버젼 영역으로부터 얻을 수 있다는 것을 판정할 것이다.When the web server requests the content, for example, by changing a file between the old check point and the current check point by indicating a cookie indicating a content version other than the current version, the web server interface is connected to the web server. Instructed to have content from an area other than the current version area. In one embodiment, the web server interface reviews the change list to determine whether the request file has changed and the backup area in which it is located has changed. For example, referring to the example of FIG. 8 in which the current version is version 34, when the web server receives a request for file A, and when the browser instructs to find version 32, The web server interface will know that file A is modified as part of version 33. Thus, version 32 of file A is located at a 32-33 backup location. When the web server receives a file (B) request from the same browser (as the same version 32 cookie), the web server interface is said to have changed the version of file (B) and file (B) to version 34. 34 You will decide what is stored in the backup area. When the web server receives a request for file D, the web server interface will determine that the file has not been modified since version 32, and that the file can be obtained from the current version area.

일 실시예에 있어서, 상기 콘텐츠 분배기는 특정 시간 또는 시간 간격에 계획된 원시 파일 세트의 변경 갱신을 제공한다. 또한, 상기 콘텐츠 분배기는 시스템 운용자의 수동 명령시에 갱신할 수 있다. 일 실시예에 있어서, 상기 갱신은 파일들이 복사되고(즉, 원시 파일 세트), 복사되어야 하는(즉, 파일 서버의 파일 시스템) 장소를 지시하는 콘텐츠 맵핑과, 갱신이 일어나는 시간을 지시하는 개시/날짜 시간 또는 시간 간격과, 변경 파일만이 갱신되어야 하는지 여부(전술한 바와 같이) 또는 모든 파일들이 복사되어야 하는지 여부와, 실패한 동작과, 상기 서버가 콘텐츠 갱신을 다시 시작해야 하는지 여부와, 상기 콘텐츠 갱신 동안 서버를 중지 또는 중단해야 하는지 여부와, 상기 갱신을 인에이블 또는 디저블 해야 하는지 여부(상기 시스템 운용자가 계획된 갱신을 디저블할 수 있는)와, 서버가 변경 명령 전에 갱신을 수용하는데 필요한 서버의 비율에 의해서 특정된다.In one embodiment, the content distributor provides a change update of the planned set of source files at a specific time or time interval. The content distributor may also be updated upon manual instruction by the system operator. In one embodiment, the update is a content mapping indicating where files are to be copied (i.e., a set of raw files), which should be copied (i.e., the file system of the file server), and initiating / The date time or time interval, whether only the change file should be updated (as described above) or whether all files should be copied, the failed action, whether the server should restart the content update, and the content Whether the server should be stopped or stopped during an update, whether the update should be enabled or disabled (where the system operator can disable the planned update), and which server is required to accept the update before the change command. It is specified by the ratio of.

예컨대, 10분 마다 갱신할 수 있고, 변경한 파일을 갱신하며, 특정 문제점을 시스템 운용자에 통지한다. 또한, 한달에 한 번 갱신을 지정할 수 있다. 일 실시예에 있어서, 상기 시스템은 상기 파일들을 복사하는 동안 서버들을 턴오프하고, 모든 변경 파일을 갱신하며, 그 콘텐츠가 갱신될 때 상기 서버를 다시 시동한다.For example, it can update every 10 minutes, update the changed file, and notify the system operator of the specific problem. You can also specify an update once a month. In one embodiment, the system turns off servers while copying the files, updates all change files, and reboots the server when its content is updated.

도 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 요청의 본래 서버 또는 네트워크 상에서 요청하지 않고 채워질 것이다.9, some web service systems 90 have one or more associated caching servers 200. Caching server 200 is a type of web server located between requester 201 (eg, a browser) and web service system 90. The caching server 200 initially lacks specific content. Rather, it requests a web page from the requester 201 and stores the web page in the cache. An example of a cache server purchase is NETCACHE, a product of Network Appliance of Santa Clara, California. The caching server 200 receives a web page request from a browser for content located in the web service system 90. Based on the request and its placement, the caching server 200 requests a web page from an initial web server (web service system 90) having the web page. The caching server 200 receives a web page from the original web server 90 and transmits the web page to the browser 201. The casing server 200 stores a web page for a predetermined time. The time at which the web page is stored is a time period determined by the content provider (original web service system 90) or the caching server 200 system administrator by specifying an extinction period for delivering a document according to the HTTP protocol. If a second request from the same requestor 201 or another requester arrives at the caching server for a web page within an expiration period, the caching server does not request the content from the original server and responds to the request without the web page. You can send it again. Thus, the request will be filled without making a request on the original server or network of the second request.

상기 웹 서비스 시스템(90)상에서 파일들이 변할 때, 저술한 바와 같이, 상기 캐싱 서버(200)에 캐싱된 파일들은 소멸할 수 없다. 그 경우, 상기 캐싱 서버 (200)는 웹 서비스 시스템(90)으로 이용가능한 갱신 버젼보다 웹 페이지의 초기 버젼을 지속하여 제공한다. 따라서, 전술한 목록 등의 변경 목록을 이용하여 파일을 변경한 것을 캐싱 서버(200)에 통지하는데 유용하다.When files change on the web service system 90, as noted, files cached in the caching server 200 cannot be destroyed. In that case, the caching server 200 continues to provide the initial version of the web page rather than the updated version available to the web service system 90. Therefore, it is useful for notifying the caching server 200 that a file is changed by using a change list such as the above-described list.

도 10을 참조하면, 파일 변경이 캐싱 서버(200)로 조정되는 시스템에 있어서, 파일이 변경되고(단계 180), 변경 사항이 식별되고(단계 181), 상기 웹 서버에 변경 사항이 전송되며(단계 182), 변경 사항이 설치된다(단계 183). 또한, 캐싱 서버에는 상기 변경 사항이 통지된다(단계 184). 상기 캐싱 서버에 통지하는 부가 단계(단계 184)에 의해 캐싱 서버가 쓸모없는 웹 페이지를 무시할 수 있다(플러시). 힌 개의 캐싱 서버 또는 많은 캐싱 서버가 있고, 다양한 통신 기법을 통하여 통지될 수 있다. 예컨대, 일 실시예에 있어서, 방송 메시지가 이용된다. 기타 실시예에 있어서, 개별 메시지는 각 케싱 서버로 전송된다. 또 다른 실시예에 있어서, 파일은 한 개 이상의 캐싱 버서에 이용가능한 디렉토리에 기억된다.Referring to FIG. 10, in a system where file changes are coordinated with caching server 200, files are changed (step 180), changes are identified (step 181), and changes are sent to the web server ( Step 182), the changes are installed (step 183). The caching server is further notified of the change (step 184). An additional step of notifying the caching server (step 184) allows the caching server to ignore (flush) useless web pages. There are many caching servers or many caching servers and can be notified through various communication techniques. For example, in one embodiment, a broadcast message is used. In other embodiments, a separate message is sent to each caching server. In yet another embodiment, the file is stored in a directory available to one or more caching servers.

도 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 접두사에 연결했다.Referring to FIG. 11, the embodiment of the method of FIG. 6 makes a change (step 180), identifies the change (step 181), and notifies the cache (step 184). In one embodiment, the notification (step 184) converts the change list into a URL to identify content (step 186). The browser uses the URLs to identify the content. As mentioned above, in one embodiment, the change list is described as a directory and file in the host file system, because it is more convenient for the web server and can point to all files in the best file system. . When providing changes to the caching server, it is useful for converting a list of files, a change list (and a directory), into a format that contains a URL. The source directory may correspond to a specific prefix of possible URLs. For example, the content directory and file "C: \ WEBSPECTIVE_HOME_ABOUT.HTML" correspond to the URL "http://web.webspective.com/home/about.html". This implies that the prefix must be modified (in this case, C: \ WEBSPECTIVE is replaced with http: //www.webspe ctive.com), and the directory splitter, in this case, the backslash "\" The URL standard forward slash is replaced with "/". In addition, characters not allowed in URLs such as spaces are encoded according to specified rules. Examples of such character substitutions are described in the document IETF Network Working Group RFC-1783 document entitled "Uniform Resorce Locators" vy T. Berners-Lee et al. For example, the space can be encoded as "% 20", and this translation is linked to the URL prefix.

상기 목록 항목을 URL 포멧으로 변환할 때, 변경된 URLs의 목록은 캐싱 서버로 전송된다(단계 187). 그 캐싱 서버는 이러한 목록을 이용하여 오랜 콘텐츠를 폐기한다. 도 7에 도시된 바와 같이, 상기 통지를 위하여 콘텐츠를 전파할 필요가 없다. 예컨대, 웹 서버 및 많은 캐시가 있을지라도, 도 7의 시스템은 상기 변경 사항을 한 개 이상의 캐싱 서버에 알릴 것이다. 도 7에 도시된 바와 같이, 상기 변경 은 이루어지고(단계 180), 그 변경 사항을 식별하여(단계 181), 변경 목록을 URLs로 변환한다(단계 186). 그러한 변경 사항은 상기 캐싱 서버에 전달된다(단계187). 기타 실시예에 있어서, URLs로 변환(단계 186)는 변경이 일어나는 시간(단계 180)과 변경 식별 단계(181)사이에서 일어난다. 변경한 후에(단계 181), 상요자의 배치가능한 스크립트는 실행된다(단계 280). 변경 사항을 식별한 후(단계 181). 사용자 배치가능한 스트립트는 실행된다(단계 281). 상기 스트립트는 상기 변경 사항의 전송과 동시에 실행된다(단계 182). 변경 사항을 전송한 후에(단계 182), 사용자 배치가능한 스트립트는 다시 실행된다(단계 282). 사용자 배치가능한 스트립트를 이용하여 고객의 실행을 특정하는 콘텐츠 분배 임무를 수행한다. 상기 사용자 배치가능한 스트립트는 운용 시스템 기능에 적합한 호출을 통하여 실행된다.When converting the list item to URL format, the list of modified URLs is sent to the caching server (step 187). The caching server uses this list to discard old content. As shown in Fig. 7, there is no need to propagate the content for the notification. For example, even with a web server and many caches, the system of FIG. 7 will inform the one or more caching servers of the change. As shown in FIG. 7, the change is made (step 180), the change is identified (step 181), and the change list is converted to URLs (step 186). Such changes are communicated to the caching server (step 187). In other embodiments, the translation to URLs (step 186) occurs between the time when the change occurs (step 180) and the change identification step 181. After the change (step 181), the deployable script of the user is executed (step 280). After identifying the changes (step 181). A user deployable script is executed (step 281). The script is executed concurrently with the transmission of the changes (step 182). After sending the changes (step 182), the user deployable script is executed again (step 282). User deployable scripts are used to perform content distribution tasks that specify the customer's performance. The user deployable script is executed via a call appropriate to the operating system function.

도 13을 참조하면, 일 실시예에 있어서, 정보는 상기 호출 스크립트에 제공된다. 일 실시예에 있어서, 상기 정보를 표준 입력 상에 상기 스크립트에 제공된다. 기타 실시예에 있어서, 상기 정보는 파일에 제공된다. 상기 스트립트는 성공(제로) 상태 코드 또는 비제로 에러 코드 중 하나로 복귀하며, 일 실시예에서는 그 동작을 폐기할 것이다.Referring to FIG. 13, in one embodiment, information is provided to the call script. In one embodiment, the information is provided to the script on standard input. In other embodiments, the information is provided in a file. The script returns to either a success (zero) status code or a nonzero error code, and in one embodiment will discard the operation.

일 실시예에 있어서, 상기 정보(400)는 BEGINPARAMS 문(401)을 개시하고, ENDPARAMS 문(420)을 종료하는 다음 포멧에 제공된다. 상기 정보(400)는 호환성 있게 이용되는 정보 블록의 버젼 버노(402)를 포함한다. 상기 정보(400)는 이러한 예로서 EXAMPLEJOB인 작업(403)의 명칭을 포함한다.In one embodiment, the information 400 is provided in the next format that initiates the BEGINPARAMS statement 401 and ends the ENDPARAMS statement 420. The information 400 includes a version of the information block verno 402 which is used interchangeably. The information 400 includes the name of the job 403, which is, for example, EXAMPLEJOB.

상기 정보(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진 실체로 기억된다.The information 400 includes the status of the job 404, which can be one of BEGIN, IN PROGRESS and END. The BEGIN value indicates that it is called a script before identifying the change (step 280 of FIG. 11). The IN PROGESS value indicates that after identifying the change, it is called into the script before sending the change (step 281 in FIG. 11). The END value indicates the end of the transmission (step 282 of FIG. 11). The information 400 includes the name of the mapping 405, which in this case is ALLIMAGES. The information 400 includes the path name of the manifest file 406, such as /TMP/STAGING/23423.TXT. As an example, the manifest is a text file. This implies that it is the text entity described above. In one embodiment, the manifest is stored as a binary entity that is converted to a text file before calling the script.

상기 정보(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이 있다. 따라서, 상기 사용자 스크립트에 제공된 정보에 의해 동일한 스크립트가 작업 실행동안 다른 시간에 호출될 수 있고, 상기 스크립트는 상기 제공된 변수에 다라 다른 동작을 취할 수 있다.The information 400 can include a force file set directory 406 and a return directory 408 to maintain the file version of the renunciation (before the change) or include content that should be automatically returned. The destination 409 array is indicated. Each array element contains information about the file designation. In this example, there are two destination hosts, OOLONG and DARJEELING. The first element of the array begins with a DEGINELEMENT statement 410 and ends with an ENDELEMENT statement 414. The array element contains the name 411 of the destination host, in this case OOLONG. Status The array element contains a destination directory 412 on the destination host, such as / HOME / HTTPD-OOLONG / DOC / IMAGES. The array element includes a delivery state 413, an example of which is MORMAL. The second element of the array begins with a BEGINELEMENT statement 415 and ends with an ENDELEMENT statement 419. The second array element contains the name 416 of the destination host, in this case DARJEELING. The array element includes a destination directory 417 on the destination host, such as / HOME / HTTPD-DARJEELING / DOC / IMAGES. The second array element includes the transfer 418 state, an example of which is NORMAL. Thus, with the information provided to the user script, the same script can be called at different times during task execution, and the script can take different actions depending on the provided variables.

당업자라면 본 발명의 정신 및 범위에 벗어남이 없이 다양한 수정, 변경 및 실행도 가능할 것이다. 따라서, 본 발명은 선행하는 설명 및 첨부한 청구 범위의 정신 및 범위에 의해 한정되지 않는다.Various modifications, changes and implementations may be made by those skilled in the art without departing from the spirit and scope of the invention. Accordingly, the invention is not to be limited by the spirit and scope of the foregoing description and the appended claims.

Claims (25)

목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법에 있어서,In the method of replicating changes in the source file set of the destination file system, (a) 원시 파일 세트 안의 변경 사항을 식별하는 단계와,(a) identifying changes in the source file set, (b) 상기 식별된 변경 사항을 수정 목록에 저장하는 단계와,(b) storing the identified changes in a modification list; (c) 상기 수정 목록을 목적 파일 시스템에 엑세스하는 에이전트로 전송하는 단계를 포함하는 것인 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법.and (c) transferring the modification list to an agent accessing the target file system. 제1항에 있어서, (d) 상기 변경된 파일을 상기 목적 파일 시스템에 엑세스하는 에이전트로 전송하는 단계를 더 포함하는 것인 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법.2. The method of claim 1, further comprising: (d) transferring the modified file to an agent accessing the target file system. 제2항에 있어서, (e) 상기 변경된 파일들을 상기 목적 파일 시스템에 설치하는 단계를 더 포함하는 것인 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법.3. The method of claim 2, further comprising: (e) installing the changed files in the destination file system. 제1항에 있어서, 상기 식별 단계는 파일 세트를 검사하는 단계와,The method of claim 1, wherein the identifying step comprises: examining a set of files; 상기 파일 세트와 초기에 기록된 세트를 비교하는 단계를 포함하는 것인 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법.Comparing the file set with an initially recorded set. 제1항에 있어서, 상기 식별 단계는 장치 드라이버를 설치하여 파일 동작을 실행하는 단계와,The method of claim 1, wherein the identifying comprises: installing a device driver to execute a file operation; 상기 장치 드라이버에 의해 변경 사항을 상기 원시 파일 세트에 기록하는 단계를 포함하는 것인 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법.And recording, by the device driver, the changes to the source file set. 제1항에 있어서, 상기 식별 단계는 상기 원시 파일 세트의 변경 사항을 기술하는 적하 목록을 수신하는 단계를 포함하는 것인 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법.2. The method of claim 1, wherein the step of identifying comprises receiving a manifest listing describing changes in the source file set. 제4항에 있어서, 상기 비교 단계는 파일 속성을 상기 초기 기록 세트의 파일 속성과 비교하는 단계를 포함하는 것인 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법.5. The method of claim 4, wherein the comparing step comprises comparing a file attribute with a file attribute of the initial record set. 제7항에 있어서, 상기 파일 속성은 파일 크기, 파일 인가, 파일 소유, 수정 시간 및 상기 파일 해시의 세트로부터 선택된 적어도 하나의 속성을 포함하는 것인 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법.8. The system of claim 7, wherein the file attributes comprise at least one attribute selected from a file size, file authorization, file ownership, modification time, and the set of file hashes. How to. 제1항에 있어서, 상기 식별 단계 전에, 스크립트를 호출하는 단계를 더 포함하는 것인 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법.2. The method of claim 1, further comprising invoking a script prior to said identifying step. 제1항에 있어서, 상기 전송 단계 전에, 스크립트를 호출하는 단계를 더 포함하는 것인 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법.2. The method of claim 1, further comprising invoking a script prior to said transferring step. 제1항에 있어서, 상기 전송 단계 후에, 스크립트를 호출하는 단계를 더 포함하는 것인 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법.2. The method of claim 1, further comprising invoking a script after the transferring step. 제11항에 있어서, 상기 전송 단계를 성공적으로 완료했는지 여부를 결정하는 단계를 더 포함하고, 상기 호출 단계는 상기 결정 단계 후에 발생하는 것인 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법.12. The method of claim 11, further comprising determining whether the transfer step has been successfully completed, wherein the invoking step occurs after the determining step. . 제11항에 있어서, 상기 스크립트를 호출하는 단계는 상기 전송 성공을 안 후에 발생하는 것인 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법.12. The method of claim 11, wherein invoking the script occurs after knowing that the transfer is successful. 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법에 있어서,In the method of replicating changes in the source file set of the destination file system, (a) 원시 파일 세트 안의 변경 사항을 식별하는 단계와,(a) identifying changes in the source file set, (b) 상기 식별된 변경 사항을 수정 목록에 저장하는 단계와,(b) storing the identified changes in a modification list; (c) 상기 수정 목록을 복수의 웹 서버에 전송하는 단계를 포함하는 것인 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법.(c) transferring the modification list to a plurality of web servers. 제14항에 있어서, 상기 전송 단계는 멀티캐스팅 단계를 포함하는 것인 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법.15. The method of claim 14, wherein the transferring step comprises a multicasting step. 제14항에 있어서, 상기 식별 단계는 파일 세트를 조사하는 단계와,15. The method of claim 14, wherein the step of identifying comprises: examining the file set; 상기 파일 세트와 초기 기록 세트를 비교하는 단계를 포함하는 것인 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법.And comparing the file set with the initial record set. 제16항에 있어서, 상기 비교 단계는 파일 속성과 초기 기록 세트의 파일 속성을 비교하는 단계를 포함하는 것인 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법.17. The method of claim 16 wherein the comparing step includes comparing file attributes and file attributes of the initial record set. 제17항에 있어서, 상기 파일 속성은 파일 크기, 파일 인가. 파일 소유, 수정 시간 및 상기 파일 해시의 세트로부터 선택되는 적어도 하나의 속성을 포함하는 것인 목적 파일 시스템의 원시 파일 세트 안의 변경 사항을 복제하는 방법.18. The method of claim 17, wherein the file attribute is a file size, file. And at least one attribute selected from the file ownership, modification time, and the set of file hashes. 웹 서비스 시스템을 관리하는 관리자와,The administrator who manages the web service system, 상기 관리자와 통신하여 웹 페이지 요청 및 에이전트를 수신하는 웹 서버를 포함하는 호스트와,A host including a web server in communication with the manager to receive web page requests and agents; 상기 호스트에 콘텐츠 변경을 제공하는 콘텐츠 분배기를 포함하는 것인 웹 서비스 시스템.A content distributor for providing content changes to the host. 제19항에 있어서, 상기 웹 서버에 웹 페이지 요청을 지시하는 트래픽 관리자를 더 포함하는 것인 웹 서비스 시스템.20. The web service system of claim 19, further comprising a traffic manager for directing a web page request to the web server. 제19항에 있어서, 상기 콘텐츠 분배기는,The method of claim 19, wherein the content distributor, (a) 원시 파일 세트 안의 변경 사항들을 식별하는 식별 모듈과,(a) an identification module that identifies changes in the source file set, (b) 상기 식별된 변경 사항을 저장하는 수정 목록과,(b) a modification list that stores the identified changes; (c) 상기 수정 목록을 목적 파일 시스템에 엑세스하는 에이전트로 전송하는 전송기를 포함하는 것인 웹 서비스 시스템.and (c) a transmitter for transmitting the modification list to an agent accessing the destination file system. 제21항에 있어서, 상기 변경된 파일을 상기 에이전트로 전송하는 전송기를 더 포함하는 것인 웹 서비스 시스템.22. The web service system of claim 21, further comprising a transmitter for transmitting the modified file to the agent. 제21항에 있어서, 상기 에이전트는 상기 목적 파일 시스템에 상기 변경된 파일들을 설치하는 설치기를 포함하는 것인 웹 서비스 시스템.22. The web service system of claim 21, wherein the agent includes an installer that installs the modified files on the destination file system. (a) 원시 파일 세트 안의 변경 사항을 식별하는 식별 모듈과,(a) an identification module that identifies changes in the source file set, (b) 상기 식별된 변경 사항을 저장하는 수정 목록과,(b) a modification list that stores the identified changes; (c) 상기 수정 목록을 목적 파일 시스템에 엑세스하는 에이전트로 전송하는 전송기를 포함하는 것인 콘텐츠 분배기.and (c) a transmitter for transmitting the modification list to an agent accessing the destination file system. 제24항에 있어서, 상기 변경된 파일을 상기 에이전트로 전송하는 전송기를 포함하는 것인 콘텐츠 분배기.25. The content distributor of claim 24 including a transmitter for transmitting the modified file to the agent.
KR1020017009535A 1999-01-28 2000-01-25 Web server content replication KR100729288B1 (en)

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/377,611 1999-08-19
US09/376,017 1999-08-19
US09/377,611 US6976093B2 (en) 1998-05-29 1999-08-19 Web server content replication

Publications (2)

Publication Number Publication Date
KR20020003859A true KR20020003859A (en) 2002-01-15
KR100729288B1 KR100729288B1 (en) 2007-06-18

Family

ID=27382020

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020017009535A KR100729288B1 (en) 1999-01-28 2000-01-25 Web server content replication
KR1020017009528A KR100729287B1 (en) 1999-01-28 2000-01-25 Web server content replication

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020017009528A KR100729287B1 (en) 1999-01-28 2000-01-25 Web server content replication

Country Status (6)

Country Link
JP (2) JP4545943B2 (en)
KR (2) KR100729288B1 (en)
AU (2) AU3473200A (en)
CA (2) CA2360891A1 (en)
GB (2) GB2363494B (en)
WO (2) WO2000045303A1 (en)

Families Citing this family (27)

* 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
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
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
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
WO2002013091A1 (en) * 2000-08-04 2002-02-14 Goldman, Sachs & Co. System for processing raw financial data to produce validated product offering information to subscribers
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 (en) * 2001-03-10 2002-09-16 삼성전자 주식회사 Reproducing apparatus and additional information providing server system therefor
AU2002329602B2 (en) * 2001-07-16 2008-05-22 Oracle International Corporation Method and apparatus for session replication and failover
KR20020072804A (en) * 2002-06-10 2002-09-18 (주)코리아리더스 테크놀러지 Multimedia contents control method for multimedia database with wireless and wireline data synchronization technology
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 (en) * 2002-10-15 2004-06-03 Matsushita Electric Ind Co Ltd Web data distribution system
US20070172055A1 (en) * 2003-12-11 2007-07-26 Jo Bea S 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
KR100680296B1 (en) 2005-04-15 2007-02-07 주식회사 케이티프리텔 Method for providing continuous downloading service of large size contents through wireless network and record media recored program for realizing the same
EP1891496A4 (en) 2005-04-15 2011-11-30 Kt Freetel Co Ltd Method for providing contents
WO2006110005A1 (en) 2005-04-15 2006-10-19 Ktfreetel Co., Ltd. Method for providing contents for mobile comunication terminal
EP2289261A4 (en) * 2008-06-18 2013-10-02 Blackberry Ltd Method and system for republishing mobile content
KR101456624B1 (en) * 2008-10-28 2014-11-04 삼성전자주식회사 Image forming apparatus, and web application install method
US8874628B1 (en) * 2009-10-15 2014-10-28 Symantec Corporation Systems and methods for projecting hierarchical storage management functions
KR200453762Y1 (en) * 2010-12-17 2011-05-27 윤동웅 Button molds with slides
US10142436B2 (en) 2015-11-19 2018-11-27 Microsoft Technology Licensing, Llc Enhanced mode control of cached data
CN107302469B (en) * 2016-04-14 2020-03-31 北京京东尚科信息技术有限公司 Monitoring device and method for data update of distributed service cluster system

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
AU6967898A (en) * 1997-05-27 1998-12-30 Merrill Lynch & Co., Inc. System for network file distribution

Also Published As

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

Similar Documents

Publication Publication Date Title
KR100729288B1 (en) Web server content replication
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 (en) Storage system
US7266556B1 (en) Failover architecture for a distributed storage system
US7266555B1 (en) Methods and apparatus for accessing remote storage through use of a local device
EP1410247B1 (en) A network storage system
US7203731B1 (en) Dynamic replication of files in a network storage system
US7356589B2 (en) Content collection
US7433934B2 (en) Network storage virtualization method and system
US20070100980A1 (en) Computer system and method for managing log information
US20050246393A1 (en) Distributed storage cluster architecture
US20040098728A1 (en) System and method for multi-functional XML-capable software applications on a peer-to-peer network
US7281168B1 (en) Failover architecture for local devices that access remote storage
CZ289563B6 (en) Server computer connectable to a network and operation method thereof
KR20010071914A (en) Global document hosting system utilizing embedded content distributed ghost servers
Grönvall et al. The design of a multicast-based distributed file system
JP4958951B2 (en) Content collection
US7103889B2 (en) Method, system, and article of manufacture for agent processing
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
J201 Request for trial against refusal decision
AMND Amendment
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