Movatterモバイル変換


[0]ホーム

URL:


KR100729287B1 - Web server content replication - Google Patents

Web server content replication
Download PDF

Info

Publication number
KR100729287B1
KR100729287B1KR1020017009528AKR20017009528AKR100729287B1KR 100729287 B1KR100729287 B1KR 100729287B1KR 1020017009528 AKR1020017009528 AKR 1020017009528AKR 20017009528 AKR20017009528 AKR 20017009528AKR 100729287 B1KR100729287 B1KR 100729287B1
Authority
KR
South Korea
Prior art keywords
file
changes
web
web server
content
Prior art date
Legal status (The legal status 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 status listed.)
Expired - Lifetime
Application number
KR1020017009528A
Other languages
Korean (ko)
Other versions
KR20020009556A (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/377,611external-prioritypatent/US6976093B2/en
Priority claimed from US09/376,017external-prioritypatent/US7035943B2/en
Application filed by 웹스펙티브 소프트웨어, 인크.filedCritical웹스펙티브 소프트웨어, 인크.
Publication of KR20020009556ApublicationCriticalpatent/KR20020009556A/en
Application grantedgrantedCritical
Publication of KR100729287B1publicationCriticalpatent/KR100729287B1/en
Anticipated expirationlegal-statusCritical
Expired - Lifetimelegal-statusCriticalCurrent

Links

Images

Classifications

Landscapes

Abstract

Translated fromKorean

본 발명은 복수의 웹 서버를 관리하는 것에 관한 것으로써, 특히 시스템 운용자가 웹 서비스 시스템에서 각 웹 서버에 컨텐츠를 분배할 수 있는 웹 서비스 시스템 및 방법에 관한 것이다. 일 실시예에 있어서, 목적지 파일 시스템의 소스 파일 셋 안의 변경 사항을 복제하는 방법은 소스 파일 셋 안의 변경 사항을 식별하고, 그 식별된 변경 사항을 변경 리스트 안에 기억하여, 그 변경 리스트를 목적지 파일 시스템에 엑세스하는 에이전트에 전송하는 것을 포함한다. 다른 실시예에 있어서, 목적지 파일 시스템의 소스 파일 셋 안의 변경 사항을 복제하는 방법은 소스 파일 셋 안의 변경 사항을 식별하고, 그 식별된 변경 사항을 변경 리스트 안에 기억하며, 그 변경 리스트를 복수의 웹 서버에 전송하는 것을 포함한다. 다른 실시예에 있어서, 웹 서비스 시스템은 상기 웹 서비스 시스템을 관리하는 관리자와, 상기 관리자와 통신하여 웹 페이지 요청 및 에이전트를 수신하는 웹 서버를 포함하는 호스트와, 상기 호스트에 상기 컨텐츠 변경을 제공하는 컨텐츠 분배기를 포함한다. 다른 실시예에 있어서, 컨텐츠 분배기는 소스 파일 셋 안의 변경 사항을 식별하는 식별 모듈과, 상기 식별된 변경 사항을 기억하는 변경 리스트와, 상기 변경 리스트를 목적지 파일 시스템에 엑세스하는 에이전트에 전송하는 전송기를 포함한다.The present invention relates to managing a plurality of web servers, and more particularly, to a web service system and method that enables a system operator to 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 change list, and stores the change list in the destination file system. And sending to the agent accessing the agent. In another embodiment, a method of replicating changes in a source file set of a destination file system identifies changes in the source file set, stores the identified changes in a change list, and stores the change 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 source file set, a change list that stores the identified changes, and a transmitter that transmits the change lists to agents that access the destination file system. Include.

웹 서버, 웹 서비스 시스템, 컨텐츠 분배기, 목적지 파일 시스템, 전송기Web server, web service system, content distributor, destination file system, transmitter

Description

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

본 출원은 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.

컴퓨터 통신망 환경에서, 웹 서버는 컴퓨터 통신망을 통하여 전송되는 사용자의 웹 페이지 요청에 응답하는데 이용된다. 웹 페이지 요청은 컨텐츠 요청으로도 불리며, 통상적으로 사용자의 컴퓨터 상에서 실행하는 브라우저에 의해 이루어진다. 웹 서버는 웹 페이지를 요청하기 위하여 한 개 이상의 컴퓨터 통신망 어드레스 /포트 끝점을 감시하는 동시에, 그 웹 페이지 요청에 응답하여 요청자에게 웹 페이지를 전송한다. 웹 서버들은 특별한 목적의 장치일 수도 있고, 또한 범용 컴퓨터에서 실행되는 소프트웨어 프로그램으로 구현될 수도 있다. 웹 서버의 서비스 용량은 소정의 시간 동안 수신하여 응답될 수 있는 웹 페이지 요청 개수를 제한한다.In a computer network environment, a web server is used to respond to a user's web page request sent over the computer 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 may be special purpose devices or may be implemented as software programs running on a general purpose computer. 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.

일반적으로, 복수의 웹 서버를 구비한 시스템에서, 시스템 운용자 또는 운용자들은 다양한 웹 서버에 의해 제공된 컨텐츠를 관리한다. 시스템 운용자는 상기 시스템 상에 컨텐츠를 조정하여, 예컨대 다양한 웹 서버의 컨텐츠가 확실히 일치시키거나, 또는 한 개의 웹 서버로부터 일부 컨텐츠를 이용할 수 있고, 다른 웹 서버로부터 다른 컨텐츠를 이용할 수 있게 만들기를 원할지도 모른다. 이것은 이행하기 어렵다. 특히 일련의 관련 웹 페이지를 갖고 있는 시스템과 대화하는 중에 잠재적으로 있을 사용자에게 명백하게 컨텐츠 갱신이 이루어지는 경우에 이행하기 어렵다.Generally, in a system with multiple web servers, system operators or operators manage content provided by various web servers. System operators may wish to coordinate content on the system, for example, to ensure that content from various web servers is consistently matched, or that some content is available from one web server and other content is available from another web server. May be. This is difficult to implement. In particular, it is difficult to implement if 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. A problem in cache server design and operation is to determine when its 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 how long the content will remain valid in advance, and may unexpectedly update the content earlier than the expiration time specified by the first server.

한 개 이상의 웹 서버를 구비한 웹 서비스 시스템에 있어서, 상기 한 개 이상의 웹 서버에서 컨텐츠를 관리하고 분배하는 시스템 및 방법은 시스템 운용자에게는 유용한 것이다. 예컨대, 컨텐츠 갱신은 가끔 빠르게 실행되는 것이 바람직하다. 스케줄링 및 자동화를 이용하여 효율적이고 일정한 방법으로 상기 서버 상에서 컨텐츠를 갱신한다. 또한, 컨텐츠 갱신 실패를 식별하고, 그 불량 서버를 서비스에서 빼내어, 수리한 다음, 가능한 빨리 상기 웹 서비스 시스템의 서비스로 복귀시킨다. 갱신이 일어날 때에도, 트랜잭션의 손상을 줄이면서 웹 사이트를 최대로 이용하는 것이 바람직하다. 변경 사항들은 예컨대, 상기 웹 서버 프로세스가 끝날 때까지 언로드(및/또는 갱신)되지 않을 공유 라이브러리를 이용하여 그 컨텐츠를 제공하는 경우에, 서버의 재기동을 요구할 수 있다.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 content updates 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 the content update failure, 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.

일반적으로, 일 특징에 있어서, 본 발명은 변경 파일을 컴퓨터에 통지하는 시스템 및 방법에 관한 것이다. 소스 파일 셋의 변경은 식별된다. 그 식별된 변경 사항은 상기 변경 사항을 지정하는 URL을 포함하는 변경 리스트에 저장된다. 상기 변경 리스트는 컴퓨터로 전송된다. 일 실시예에 있어서, 상기 변경 리스트는 웹 캐시 서버로 전송된다. 일 실시예에 있어서, 상기 변경 사항은 파일 셋을 조사하여 그 파일 셋과 초기에 기록된 파일 셋을 비교하는 것에 의해 식별된다. 다른 실시예에 있어서, 상기 파일 셋은 파일 속성과 초기에 기록된 셋의 파일 속성을 비교하는 것에 의해 초기에 기록된 셋과 비교된다. 다른 실시예에 있어서, 상기 파일 속성은 파일 크기, 파일 사용 권한(permissions). 파일 소유, 수정 시간 및 피일 해시의 셋으로부터 선택된 적어도 하나의 속성을 포함한다. 다른 실시예에 있어서, 상기 변경 사항은 파일 셋을 조사하여 상기 파일 셋과 초기에 기록된 셋을 비교하는 것에 의해 식별된다. 다른 실시예에 있어서, 상기 변경 사항은 장치 드라이버를 설치하여 파일 동작을 실행하고, 상기 장치 드라이버에 의해 변경 사항을 상기 소스 파일 셋에 기록함으로써 식별된다. 다른 실시예에 있어서, 상기 변경 사항은 변경 사항을 설명하는 적하 목록을 상기 소스 파일 셋으로 수신하는 것에 의해 식별된다. 다른 실시예에 있어서, 상기 방법은 상기 전송 단계 전에, 스크립트를 호출하는 단계를 포함한다. 다른 실시예에 있어서, 상기 방법은 상기 전송 단계 후에, 스크립트를 호출하는 단계를 포함한다. 다른 실시예에 있어서, 상기 방법은 상기 전송 단계가 성공적으로 완료되었는지 여부를 결정하는 단계를 포함하고, 상기 호출 단계는 상기 결정 단계 후에 발생한다.In general, in one aspect, the invention is directed to a system and method for notifying a computer of a change file. Changes to the source file set are identified. The identified changes are stored in a change list that includes a URL specifying the changes. The change list is transferred to a computer. In one embodiment, the change list is sent to a web cache server. In one embodiment, the change is identified by examining the file set and comparing the file set with the initially recorded file set. In another embodiment, 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 another embodiment, the file attribute is file size, file permissions. At least one attribute selected from a set of file ownership, modification time, and file hash. In another embodiment, the change is identified by examining the file set and comparing the file set with the initially recorded set. In another embodiment, the change is identified by installing a device driver to perform a file operation and writing the change to the source file set by the device driver. In another embodiment, the change is identified by receiving a manifest in the source file set describing the change. In another embodiment, the method includes invoking a script prior to the sending step. In another embodiment, the method includes invoking a script after the sending step. In another embodiment, the method includes determining whether the sending step has been completed successfully, and the calling step occurs after the determining step.

일반적으로 다른 특징에 있어서, 본 발명은 목적지 파일 시스템에 소스 파일 셋 안의 변경 사항을 복제하는 시스템 및 방법에 관한 것이다. 소스 파일 셋의 변경 사항은 식별된다. 그 변경 사항은 제1 변경 리스트에 저장된다. 상기 변경 리스트는 목적지 파일 시스템에 엑세스하는 에이전트에 전송된다. 상기 변경 사항은 상기 변경된 파일을 지정하는 URL을 포함하는 제2 변경 리스트에 저장된다. 상기 변경 리스트는 컴퓨터로 전송된다. 일 실시예에 있어서, 상기 변경 리스트는 웹 캐시 서버로 전송된다. 다른 실시예에 있어서, 상기 제1 변경 리스트는 상기 제2 변경 리스트로 전환된다.In general, in another aspect, the present invention is directed to a system and method for replicating changes in a source file set to a destination file system. Changes to the source file set are identified. The changes are stored in the first change list. The change list is sent to the agent accessing the destination file system. The changes are stored in a second change list that includes a URL specifying the changed file. The change list is transferred to a computer. In one embodiment, the change list is sent to a web cache server. In another embodiment, the first change list is converted to the second change list.

일반적으로, 다른 특징에 있어서, 본 발명은 목적지 파일 시스템 상에 소스 파일 셋 안에 변경 사항을 복제하고, 그 변경 사항을 컴퓨터에 통지하는 시스템 및 방법에 관한 것이다. 소스 파일 셋의 변경 사항은 식별된다. 상기 변경 사항은 상기 변경된 파일을 지정하는 URL을 포함하는 제2 변경 리스트에 기억된다. 상기 변경 리스트는 목적지 파일 시스템에 엑세스하는 에이전트에 전송된다. 상기 변경 리스트는 컴퓨터로 전송된다.In general, in another aspect, the present invention is directed to a system and method for replicating changes in a source file set on a destination file system and notifying the computer of the changes. Changes to the source file set are identified. The changes are stored in a second change list that includes a URL specifying the changed file. The change list is sent to the agent accessing the destination file system. The change list is transferred to a computer.

일반적으로, 다른 특징에 있어서, 본 발명은 웹 서비스 시스템에 관한 것이다. 본 시스템에는 웹 서비스 시스템을 관리하는 관리자와, 상기 관리자와 통신하여 웹 페이지 요청 및 에이전트를 수신하는 웹 서버와, 웹 캐시와, 상기 호스트에 컨텐츠 변경 사항을 제공하는 컨텐츠 분배기가 있다. 다른 실시예에 있어서, 상기 시스템에는 웹 페이지를 보내는 트래픽 관리자가 있다. 다른 실시예에 있어서, 상기 컨텐츠 분배기에는 소스 파일 셋 안에 변경 사항을 식별하는 식별 모듈과, 그 식별된 변경 사항을 저장하는 변경 리스트와, 상기 변경 리스트를 목적지 파일 시스템에 액세스하는 에이전트에 전송하는 전송기가 있다. 다른 실시예에 있어서, 상기 시스템은 상기 변경된 파일을 에이전트에 전송하는 전송기가 있다. 다른 실시예에 있어서, 상기 에이전트에는 상기 목적지 파일 시스템 상에 상기 변경된 파일을 설치하는 설치기가 있다.In general, in another aspect, the invention relates to a web service system. The system includes an administrator managing a web service system, a web server that communicates with the administrator to receive web page requests and agents, a web cache, and a content distributor that provides content changes to the host. In another embodiment, the system has a traffic manager for sending web pages. In another embodiment, the content distributor includes an identification module for identifying changes in a source file set, a change list for storing the identified changes, and a transmitter for transmitting the change 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 an agent. In another embodiment, the agent has an installer that installs the modified file on the destination file system.

일반적으로, 다른 특징에 있어서, 본 발명은 컨텐츠 분배기에 관한 것이다. 상기 컨텐츠 분배기는 소스 파일 셋 안에 변경 사항을 식별하는 식별 모듈을 포함한다. 또한, 상기 컨텐츠 분배기에는 그 식별된 변경 사항을 저장하는 변경 리스트와, 상기 변경 리스트를 목적지 파일 시스템에 엑세스하는 에이전트에 전송하는 전송기가 있다. 일 실시예에 있어서, 상기 컨텐츠 분배기에는 상기 변경된 파일을 상기 에이전트에 전송하는 전송기가 있다. 다른 실시예에 있어서, 상기 컨텐츠 분배기에는 상기 변경된 파일을 웹 캐시 서버로 전송하는 전송기가 있다.In general, in another aspect, the invention is directed to a content distributor. The content distributor includes an identification module for identifying changes in the source file set. The content distributor also has a change list that stores the identified changes and a transmitter that sends the change list to an agent accessing the destination file system. In one embodiment, the content distributor includes a transmitter for transmitting the modified file to the agent. In another embodiment, the content distributor includes a transmitter for transmitting the modified file to a web cache server.

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

도 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.

웹 페이지를 서비스하는 시스템에는 복수의 웹 서버가 있고, 복수의 웹 서버의 동작을 조정하기 위한 특징 및 툴(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 between 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 theweb service system 90 receives a web page request from thebrowser 1. In this content, a web page is electronic content that can be used in thecomputer communication network 2 in response to a web page request. Requests are typically initiated from theweb 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 thecommunication network 2. In one embodiment, thecommunication network 2 is the Internet. In other embodiments, thecommunication network 2 is a global communication network known as the Internet. Thebrowser 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 the HTTP format and may be made using other protocols with request capability.

도 2를 참조하면, 웹 서비스 시스템(90)의 실체는 다양한 부품(100-126)을 포함한다. 그 부품들은 한 개 이상의 통신망을 걸쳐 통신한다. 상기 부품들의 물리적인 위치는 다양한 부품사이의 통신 링크가 충분한 데이터 통신력을 가지고 있는 한 상기 시스템의 능력 또는 성능에 손상을 입히지 않는다. 상기 웹 서비스 시스템 (90)은 다양하게 설계한 방화벽을 통하여 작동하고, 원격적으로 배치 및 관리될 수 있다.Referring to FIG. 2, the entity of theweb 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. Theweb service system 90 operates through variously designed firewalls and can be deployed and managed remotely.

상기 웹 서비스 시스템(90)은 한 개 이상의 호스트(100)를 관리한다. 한 개의 호스트(100)는 일예로 도시된다. 상기 웹 서비스 시스템(90)의 실체는 임의 갯수의 호스트(100)를 가질 수 있다. 각 호스트(100)는 UNIX 또는 윈도우 NT 등의 멀티 쓰레드 운용 시스템을 이용할 수 있고, 구매 가능한 컴퓨터 시스템이 될 수 있다. 각 호스트(100)는 컴퓨터 통신망, 예컨대 인터넷 또는 인트라넷, 또는 그 호스트(100)가 웹 페이지 데이터 요청에 응답하여 웹 페이지 데이터를 제공할 수 있는 임의 기타 통신망에 적어도 하나의 통신망 접속을 할 수 있다.Theweb service system 90 manages one or more hosts 100. Onehost 100 is shown as an example. The entity of theweb service system 90 may have any number ofhosts 100. Eachhost 100 may use a multi-threaded operating system such as UNIX or Windows NT, and may be a commercially available computer system. Eachhost 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 thehost 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)에 의한 처리를 요구하거나, 기타 컴퓨터 시스템과 대화를 요청한다. 복잡한 웹 서버 및 브라우저는 다양한 방법으로 대화 할 수 있다.Theweb 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. Theweb 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 withweb 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 responds to theweb server 102 by an initial request from theweb server 102, thereby sending a web page in response. The web page contains information and also points to other requests for the user to make aweb 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 theweb 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 thesame 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 web page sets can be considered as one application or as two separate applications. For example, a set of web pages 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. Theweb service system 90 may deliver one or more applications to a user. Theweb service system 90 may be arranged such that some auxiliary set of theweb server 102 may exclusively provide one application. In one embodiment, someweb servers 102 serve a secondary set of available applications, andother web servers 102 serve other applications. In other embodiments, allweb 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 ahost 100 or file system that may access the web server. Some or all web page content may be generated by theweb server 102 by processing the data available to theweb server 102. For example, for a web page with a document about a topic, the web page may be generated and stored in theweb 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. Theweb 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 theweb server 102.

다양한 기술을 이용하여 상태 정보를 기억하는데, 이것은 웹 서버(102)와 사용자 세션의 상태로 불린다. 상기 사용자는 상기 웹 서버(102)에 이루어진 요청 및 그 요청에 응답하여 수신된 웹 페이지를 통하여 웹 서버(102)와 대화하는 동안의 상태를 개발할 수 있다. 일 예로서, 그 사용자의 상태는 사용자를 식별하는 정보를 포함한다. 다른 예로서, 그 상태는 사용자가 이미 요청한 웹 페이지를 특정하는 정보를 포함하거나, 상기 시스템과 대화로 사용자가 선택한 옵션을 포함한다. 다른 예로서, 상기 상태는 판매용 애플리케이션으로부터 사용자가 구매하기 위하여 선택하는 항목을 포함할 수 있다. 일반적으로, 상기 세션의 상태를 식별하는 일부 정보 또는 그 상태에 관한 일부 정보는 클라이언트 웹 브라우저, 예컨대 이후에 기술될 쿠키에 기억되고, 일부 정보는 웹 서버(102)에 기억될 수 있다.Various techniques are used to store state information, which is called the state of theweb server 102 and the user session. The user may develop a state during the conversation with theweb server 102 via a request made to theweb 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 theweb server 102.

호스트(100)는 용량, 성능 및 비용을 고려하여 웹 서버(102)의 실행 갯수를 정할 수 있다. 일 실시예에 있어서, 상기 호스트(100)는 한 개의 웹 서버(102)를 포함한다. 기타 실시예에 있어서, 호스트는 한 개 이상의 웹 서버(102)를 포함한다. 호스트(100) 상에 한 개의 웹 서버(102)는 간소화된 예이고, 가능한 웹 서버 (102)의 갯수를 한정하는 것은 아니다. 각 웹 서버(102)는 적어도 하나의 통신망 어드레스 및 포트를 감시하고, 끝점(endpoint)으로도 언급된다. 특정 어드레스 및 포트는 끝점으로 불리는데, 그 이유는 통신용 실제 끝점이고, 통신망 접속은 한 개의 어드레스/포트 끝점과 다른 끝점 사이에 이루어진다. 웹 서버(102)는 그 끝점 중 한 개로 전달되는 요청을 수신하여, 웹 페이지의 형태로 데이터와의 요청에 응답한다.Thehost 100 may determine the number of executions of theweb server 102 in consideration of capacity, performance, and cost. In one embodiment, thehost 100 includes oneweb server 102. In other embodiments, the host includes one ormore web servers 102. Oneweb server 102 onhost 100 is a simplified example and does not limit the number ofpossible web servers 102. Eachweb 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. Theweb 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)를 갖는다.Aweb server 102 that accepts requests at multiple network address / port endpoints may run as if there aremultiple 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 ofweb servers 102 with eachweb 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)와 통신할 수 있다.Eachweb 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 theweb server 102 serving as an interface between theweb server 102 and other components of theweb service system 90. In this content, the term web server interface is distinguished from a network interface that may appear on thehost 100. For example, theweb server 102 has a web server interface 104. Each web server interface 104 may communicate with anagent 106 on eachhost 100.

호스트(100)는 에이전트(106)를 포함한다. 그 에이전트(106)는 웹 서비스 시스템(90) 인터페이스를 상기 호스트(100)에 제공한다. 상기 에이전트(106)는 웹 서버 인터페이스(104)를 웹 서비스 시스템(90)과 결합한다. 또한, 상기 에이전트는 상기 호스트(100)를 웹 서비스 시스템(90)과 결합한다. 복수의 웹 서버가 있는 호스트 상에도, 상기 호스트(100) 상에서 실행하는 단지 한 개의 에이전트(106)가 있지만, 한 개 이상도 될 수 있다. 각 에이전트(106)는 상기 시스템 부품에 관한 정보를 포함하는 데이터베이스(108)에 액세스한다.Host 100 includes anagent 106. Theagent 106 provides theweb service system 90 interface to thehost 100. Theagent 106 couples the web server interface 104 with theweb service system 90. The agent also couples thehost 100 with theweb service system 90. Even on a host with multiple web servers, there is only oneagent 106 running on thehost 100, but may be more than one. Eachagent 106 accesses adatabase 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 onhost 100 communicates with webservices system manager 110. Themanager 110 receives information from theagent 106 regarding the status of thehost 100 and theweb server 102. Themanager 110 sends commands to theagent 106 to place thehost 100, to start, stop or stop theweb server 102, and to manage the load on theweb server 102. Can be. Themanager 110 accesses alogging database 114 that is used to log system activities and events. Themanager 110 also accesses amanagement object database 112 that stores information about various components of the system. Themanager 110 also communicates with one ormore 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. Themanager 110 may run on thesame host 100 as one of theweb servers 102 or otherweb service system 90 components such astraffic manager 120.

상기 관리자(110)는 트래픽 관리자(120)와 통신하며, 인터셉터(interceptor)로 언급된다. 상기 트래픽 관리자(120)는 웹 페이지 요청을 웹 서버에 지시한다. 본 발명은 특정 타입의 트래픽 관리자(120)에 국한되는 것이 아나라, 오히려 웹 페이지 요청을 웹 서버(102)에 지시하는 임의 종류의 트래픽 관리자(120)와 작업한다.Themanager 110 communicates with thetraffic manager 120 and is referred to as an interceptor. Thetraffic manager 120 instructs the web server to request a web page. The invention is not limited to a particular type oftraffic manager 120, but rather works with any kind oftraffic manager 120 that directs a web page request to theweb 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, thetraffic manager 120 receives information and commands from themanager 110. In addition, thetraffic manager 120 receives information and commands from thecontrol program 122. The traffic management control program can be the same computer system astraffic manager 120, or can run on other systems. Thetraffic manager 120 receives the web page request and references the request to one of the web servers. Part of the management capability of theweb service system 90 is performed by monitoring web page requests made on theweb server 102 and the results on theweb server 102 and thehost 100. The web page request is to balance the load between theweb servers 102. In one embodiment, thetraffic manager 120 is a first point of contact for a user. Thetraffic manager 120 receives a web page request from a user and sends the user's web browser to aweb 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 asuitable 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 theappropriate web server 102. A user accesses an application on theweb server 102 and simultaneously receives the web page request response from theweb server 102. In one embodiment, if theweb server 102 is overloaded, theweb server 102 in the direction of themanager 110 is inverse to thetraffic manager 120 orother 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)의 가장 노출된 부품이다.Thetraffic manager 120 receives the requests from the user and sends the user's requests back to theweb server 102. In one embodiment, thetraffic manager 120 is used to direct all users to oneweb server 102, such asother traffic managers 120 or one endpoint. In this way, thetraffic manager 120 acts as a shunt, which means sending all requests sent to one or more web servers on a host to anotherweb server 102. In other embodiments, thetraffic manager 120 receives status information from themanager 110 and directs the user back to the user using the information. The state information includes server availability and load, administrator changes, and application orweb server 120 startup and shutdown operations. Thetraffic manager 120 is designed for speed and security. Thetraffic manager 120 is the front door of the system and, as a result, its performance affects the perceived performance of the overallweb service system 90. It may be useful to locate thetraffic manager 120 that is closed upon detecting the network topology as possible in the backbone. Inevitably it is the most exposed part of theweb service system 90.

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

다른 실시예에 있어서, 상기 트래픽 관리자(120)는 하나의 끝점에서 발생한 요청을 웹 서버(102)에 속하는 끝점으로 향하게 하는 인터넷 프로토콜 브리지 또는 라우터이다. 이러한 방법으로, 상기 트래픽 관리자(120)는 웹 페이지 요청을 한 개 이상의 웹 서버(102)로 보낸다. 상기 트래픽 관리자의 일예는 켈리포니아 산 조세의 시스코 시스템사로부터 이용할 수 있는 LOCALDIRECTOR이다. 기타 실시예에 있어서, 상기 트래픽 관리자(120)는 메사추세츠주 웨스트 포드의 에로포인트 통신사로부터 구매 가능한 CONTECT SMART WEB SWITCH 등의 웹 스위치이다. 상기 트래픽 관리자(120)는 각 웹 페이지 요청을 수신하여, 그 요청을 토대로 그 요청을 웹 서버로 보낸다.In another embodiment, thetraffic manager 120 is an Internet protocol bridge or router that directs requests originating from one endpoint to an endpoint belonging to theweb server 102. In this way, thetraffic manager 120 sends a web page request to one ormore web servers 102. One example of such a traffic manager is LOCALDIRECTOR, available from Cisco Systems, Inc. of San Jose, California. In other embodiments, thetraffic manager 120 is a web switch, such as CONTECT SMART WEB SWITCH, available from Aeropoint Communications, Westford, Massachusetts. Thetraffic 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)의 기타 부품에 포함된다.Theweb service system 90 includes a version controller referred to ascontent distributor 125. Thecontent distributor 125 manages version and content replication, including content updates ofvarious web servers 102 in theweb service system 90. A system operator interface versus thecontent distributor 125 is provided tocontent control 126. In one embodiment, thecontent distributor 125 andcontent control 126 are independently operable processes operating on thehost 100. In other embodiments, the content distributor andcontent control 126 operate on the same host as themanager 110. In still other embodiments,content distributor 125 andcontent control 126 can operate on the same host or on other hosts. In other embodiments, thecontent distributor 125 is included in the functionality of themanager 110 or other components of thesystem 90.

상기 컨텐츠 분배기(125)는 정보를 상기 에이전트(106)로 전송하고, 상기 에이전트(106)를 통하여 상기 웹 서버 인터페이스(104)로 전송한다. 상기 전송된 정보는 변경 사항을 상기 소스 파일로 언급되는 파일 및 컨텐츠 디렉토리에 기술하고, 일반적으로 계층 디렉토리 구조에서 조직화된다. 이러한 소스 파일은 상기 웹 서버용 컨텐츠의 "마스터" 사본이다. 함께, 상기 디렉토리 및 파일들은 소스 파일 또는 소스 파일 셋으로 언급된다. 상기 소스 파일 셋은 스태깅 서버로 언급되는 원시 호스트에 기억되며, 이것은 상기 컨텐츠 분배기(125)가 실행하는 통상적이지만 불필요한 호스트이다. 설명을 간소화하기 위하여, 다음과 같은 토론에 있어서, 상기 소스 파일 또는 호스트(100) 중 하나에 컨텐츠 디렉토리 및 파일들은 일반적으로 파일로 언급된다. 상기 소스 파일 셋은 디렉토리 및 파일을 포함하고, 상기 파일의 변경 사항들은 디렉토리의 부가, 삭제 및 수정을 포함할 수 있다.Thecontent distributor 125 transmits the information to theagent 106 and through theagent 106 to the web server interface 104. The transmitted information describes changes to the file and content directories referred to as the source 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 source files or source file sets. The source file set is stored in a primitive host, referred to as a stacking server, which is a common but unnecessary host that thecontent 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). 상기 변경 사항은 신규 파일의 생성, 구 파일의 삭제, 신규 컨텐츠를 갖는 현존하는 파일의 대체(즉 파일 컨텐츠 수정) 및 사용 권한(permissions) 제한과 소유 등의 수정 파일 속성과 같은 변경 사항을 포함한다. 다시, 파일의 변경 사항이 설명되더라도, 디렉토리에 변경 사항들이 포함된다. 응용 프로그램 및 응용 시스템 유틸리티를 포함하는 종래의 편집 기술 및 툴을 이용하여 파일을 편집함으로써 변경이 일어난다. 변경 사항들은 개발 및 승인 프로세스에서 시험되고 인증될 수 있다. 실제로 특정 시간에 파일의 변경은 없고, 그 시스템은 이러한 것을 인식할 수 있다. 그러한 경우에, 변경 사항의 부재를 식별한 후에, 식별이 가능한 다음 시간까지 또 다른 처리를 하지 못한다.Referring to FIG. 3, changes occur over some time period in the source file set (step 180). Such changes include changes such as creation of new files, deletion of old files, replacement of existing files with new content (i.e. modification of file contents) and modification of file attributes such as permission 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). 상기 파일의 변경 사항은 많은 방법으로 식별될 수 있다. 일 실시예에 있어서, 상기 컨텐츠 설계자는 변경 사항의 목록인 적하 목록(manifest)을 제공한다. 상기 설계자는 그 변경 사항의 트랙을 유지하고, 예컨대, 컨텐츠 제어 사용자 인터페이스(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 that is a list of changes. The designer keeps track of the changes and either manually identifies the changes to the content distributor using, for example, the contentcontrol user interface 126, or manually passes the manifest to thelist distributor 125. To identify. In other embodiments, software and systems used by content designers to design the content tracks track changes and provide a manifest of changes delivered to thecontent distributor 125.

기타 실시예에 있어서, 상기 컨텐츠 분배기(125)는 운용 시스템 파일 서버에 모아서, 상기 소스 파일 셋에 변경 사항을 감시한다. 그러한 실시예에 있어서, 소프트웨어 장치 구동기 "모니터"는 파일 동작을 실행하기 위하여 상기 운용 시스템에 의해 불려지는 것이 설치된다. 상기 장치 모니터는 상기 운용 시스템과 실제 장치 구동기(즉, 하드 디스크 드라이버 소프트웨어) 사이에 데이터를 통과시키는 장치 드라이버 통과 경로로서 동작한다. 상기 디스크 I/O 명령이 디스크 드라이버를 통과하는 것 이외에, 상기 장치 모니터는 그 I/O 명령을 관찰하고, 상기 소스 파일 셋에 변경 사항을 기록한다. 일 실시예에 있어서, 상기 장치 모니터는 컨텐츠 분배기(125)에 일체로 된다. 기타 실시예에 있어서, 상기 장치 모니터는 상기 컨텐츠 분배기(125)에 전달되는 적하 목록을 발생한다.In other embodiments, thecontent distributor 125 gathers in an operating system file server to monitor changes to the source file set. 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 source file set. In one embodiment, the device monitor is integrated into thecontent distributor 125. In other embodiments, the device monitor generates a manifest that is delivered to thecontent distributor 125.

기타 실시예에 있어서, 상기 컨텐츠 분배기(125)는 현재의 소스 파일 셋과 이전의 소스 파일 셋 사이를 비교하여 상기 소스 파일 셋에 변경 사항들을 결정한다. 상기 컨텐츠 분배기는 비교 목적으로 갱신이 되는 최근에 나타난 파일의 목록을 유지한다. 이러한 목록은 파일 크기, 최근에 파일에 수정된 날짜/시간, 상기 컨텐츠의 해시 코드 인가 및/또는 엑세스 제어 제한, 및 사용자/그룹 소유 등의 파일명 및 기타 파일 특성을 포함한다. 일 실시예에 있어서, 상기 파일의 목록은 이전의 소스 파일 셋 안에 모든 파일의 완전한 사본을 포함하지만, 이러한 실시예에서는 대용량 파일 시스템에 대하여 매우 효율이 떨어진다. 더욱 효율적인 실시예에 있어서, 이전의 파일 및 특정 파일 속성의 목록만이 필요하다. 이후에 기술된 바와 같이, 상기 변경 사항을 식별하고(단계 181), 변경 사항을 전송하고(단계 182), 그 변경 사항을 설치하는(단계 183) 단계는 때때로 갱신에 기준이 된다.In other embodiments, thecontent 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 recently 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 the files in the previous source file set, but in this embodiment it 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 previous source file set list (step 191). Otherwise, the file is listed as a new file indicating that the file is to be added to the source file set (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 resulting from 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 a file attribute changes (step 199). In other embodiments, the attribute information is sent as part of the content update. Once these steps have been 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 thecontent 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, themanifest entry 300 includes at least eight information elements 301-308. In one embodiment, each entry is stored in a 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 may 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, themanifest list entry 300 includes afile 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 bynumber 1, and the changed content is represented by 2 or the like.

또한, 상기 적하 목록 엔트리(300)는 인가 필드(303)를 포함하여, 파일 엑세스 인가 및 그 파일에 관한 기타 정보를 설명한다. 텍스트 실체에 있어서, 상기 인가는 3개의 3 항목 2진 엔트리(즉, rwxrwxrwx)와 같은 UNIX 스타일로 기억되고, 그 제1 3 항목 엔트리는 실행가능한 프로그램이 사용자가 실행할 것인지 여부를 설명하고, 그 다음 3개의 엔트리는 붉은색 및 횐색을 보이고, 그 소유자, 그룹 및 일반에 대한 인가를 각각 실행한다. 2진 실체에 있어서, 상기 인가 정보는 상기 인가를 나타내는 4 디지트 8진수인 2진 정수로 기억된다.In addition, themanifest list entry 300 includes anauthorization 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), the first three-entry entry describing whether the executable program is to be executed by the user, and then The three entries show red and white colors, and carry out authorizations for 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진 실체에 있어서, 상기 파일 크기는 정수로 기억된다.Themanifest entry 300 also includes afile 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, themanifest 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진 실체에 있어서, 상기 소유자 식별기 및 그룹 식별기는 각각 정수로 기억된다.Themanifest entry 300 includesownership information 306. This information includes the file owner's user identifier and the group owner's group identifier. 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 achecksum 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 therelevant pathname 308 of the file. In two text and binary entities, the associatedpathname 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 astype 301 "DIR".Operation 302 for this file is "ADD" to indicate that the file is to be added. Theauthorization 303 is listed in UNIX style, indicating that the file is a directory and that the owner reads, records, and executes the authorization. Thefile size 304 is listed zero. The date /time stamp 305 of the file is listed at 17:12 May 27. The user andgroup identifier 306 is listed asidentifier 0. The check sum of thefile 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 thefile name 308 is agent.reg. SinceENTRY 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 ofnormal type 301 and is added as a new file as shown byoperation element 302. Theauthorization 303 indicates whether the owner reads and writes the authorization. Thefile size 304 is 569 bytes. Thedate 305 of the file is May 11, 1998. The user andgroup identifier 306 are both zero. Thecheck total 307 is 3564886220.

제5 엔트리(ENTRY 5)는 타입(301) END 마커이고, 디렉토리(aaa)에 대한 목록의 끝을 지시한다. 상기 제6 엔트리(ENTRY 6), 디렉토리(bbb)는 aaa END 마커 뒤의 목록이기 때문에 aaa의 보조 디렉토리가 아니다.The fifth entry ENTRY 5 is atype 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 tocontent 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 file systems of 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 directorystagig.streve.comstagig.streve.com/usr/netscape/app1/ usr / netscape / app1www1.atreve.comwww1.atreve.com/usr/netscape/app1/ usr / netscape / app1www2.atreve.comwww2.atreve.com/dos/current/app1/ dos / current / app1www3.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 source file set from the stacking server file system to the file system on the various web servers. Use of actual file system identifiers other than URLs allows mapping of shared libraries and other files that are not the same as 'URL'. For example, CGI scripts 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 source 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 environment. 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 aparticular agent 106 fails, theweb service system 90 will attempt to "peripheral path" to the affected portion of the system. In an embodiment where the content distributor is separate from the manager, thecontent distributor 125 notifies themanager 110 that theagent 106 is bad. Themanager 110 communicates with thetraffic manager 120 such that the traffic manager does not forward the web page request to theweb server 102 in communication with theagent 106. Themanager 110 will point traffic away from theweb server 102 on another server.

일 실시예에 있어서, 상기 컨텐츠 분배기(125)는 상기 불량 목적 에이전트의 목표인 "캐치 업(catch up)" 갱신 패키지를 생성할 것이다. 상기 캐치 업 갱신 패키지는 상기 에이전트가 도달하지만 도달하지 않는 변경 사항을 포함하고, 초기에, 이것은 전송 실패로 처음 갱신한 변경 사항 목록이다. 이러한 캐치 업 패키지는 차후의 갱신이 동일한 에이전트에 도달하는 경우 증가할 수 있다. 갱신 패키지가 불량일 때, 그 에이전트는 "캐치 업" 갱신이 종료할 때까지 다른 갱신을 수신하지 않을 것이다. 왜냐하면, 초기에 전파하는 것이 실패한 변경 사항의 신규 갱신에 의존하기 때문이다.In one embodiment, thecontent 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 theagent 182, the changes are installed (step 183). Theagent 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 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 theweb server 102 may be re-issued by the web service interface from theweb server 102 to thetraffic manager 120 or to theother 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. If the application binary files are modified, however, 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 involving 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 transition 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, a version identifier, called a 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 apparent to the user.

일 실시예에 있어서, 상기 웹 서버에는 상기 브라우저에 상기 서버에 의해 제공된 웹 페이지의 현재 버전을 특정하는 버전 식별기를 포함하는 브라우저에 쿠키가 생긴다. 쿠키는 웹 서버가 브라우저에 보내서 그 웹 서버가 그 브라우저에 관한 어떤 것을 기억할 수 있도록 하는 특정 텍스트 파일이다. 웹의 HTTP를 이용하여, 웹 페이지에 대한 각 요청은 모든 다른 요청에 무관하다. 이러한 이유 때문에, 쿠키 등의 메커니즘 없이, 상기 웹 서버는 브라우저의 이전 방문에 관한 이전에 웹 브라우저에 보내지는 페이지에 관하여 모른다. 쿠키는 서버가 브라우저의 자체 컴퓨터 상에서 브라우저에 관한 자체 정보를 기억하고, 사용자가 웹 페이지 요청을 할 때 그 정보를 엑세스하는 메커니즘이다. 쿠키는 시간 후에 브라우저에 의해 폐기되는 것을 의미하는 소멸 기간 동안에 제공될 수 있다.In one embodiment, the web server generates a cookie in the browser that includes a version identifier for specifying the current version of the web page provided by the server to the browser. 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 effective for the browser to efficiently request content from the web server 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 theweb 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" that includes changes from one version to the next. For example, files that change in a transaction fromversion 2 to version 3 will be stored in the version 2-3 backup area. The web server interface will direct the web page request forversion 2 to be changed in a transaction fromversion 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, the web server has content with acurrent version identifier 34. There are stillversions 33 and 34 of previous versions of cookies that are still valid. The current version, namelyversion 34, includes files A and B modified inversion 34, file C modified inversion 28, and file D modified inversion 25. Include. File A is modified to all versions shown in the figures, includingversion 32,version 33 andversion 34. File B is modified inversion 30,version 32, andversion 34 described above. Changes fromversion 31 toversion 32 include changes to files A and B and deletion of file E created inversion 1. Therefore, in the 31-32 backup area including the file changed in the transition from theversion 31 to theversion 32, theversion 31 of the file A, theversion 30 of the file B and thefile Version 1 of (E) is stored. Changes fromversion 32 toversion 33 include modification of file A, and in the 32-33 backup area,version 32 of file A is stored. Changes fromversion 33 toversion 34 include modification of file A and deletion of file F (added to version 10), as a result of which files ( Theversion 33 of A), theversion 32 of the file B and theversion 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 a web server requests content, for example, by indicating a cookie indicating a version of content other than the current version, such that the file changes between the old check point and the current check point, the web server interface is connected to the web server. Instructs 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, where the current version isversion 34, when the web server receives a request for file A, and when the browser instructs to findversion 32, The web server interface will know that file A is modified as part ofversion 33. Thus,version 32 of file A is located in the 32-33 backup location. When the web server receives a file (B) request from the same browser (as thesame version 32 cookie), the web server interface may have changed the version of file (B) and file (B) forversion 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 sinceversion 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 source file set at a specific time or time interval. In addition, the content distributor can be updated at the time of manual instruction by the system operator. In one embodiment, the update is a content mapping indicating where the files are to be copied (i.e., the source file set), to be copied (i.e. the file system of the file server), and an initiation / indicating when the update occurs. The date time or time interval, whether only the change file should be updated (as described above) or all files should be copied, the failed action, whether the server should restart 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 contents are 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, someweb service systems 90 have one or more associatedcaching servers 200.Caching server 200 is a type of web server located between requester 201 (eg, a browser) andweb service system 90. Thecaching server 200 initially lacks specific content. Rather, it requests a web page from therequester 201 and stores the web page in its cache. An example of purchasing a cache server is the NETCACHE product from Network Appliance of Santa Clara, California. Thecaching server 200 receives a web page request from a browser for content located in theweb service system 90. Based on the request and its placement, thecaching server 200 requests a web page from an initial web server (web service system 90) having the web page. Thecaching server 200 receives a web page from theoriginal web server 90 and transmits the web page to thebrowser 201. Thecaching 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 thecaching server 200 system administrator by specifying an extinction period for delivering a document according to the HTTP protocol. If a second request from thesame 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 theweb service system 90, as noted, files cached in thecaching server 200 cannot be destroyed. In that case, thecaching server 200 continues to provide an initial version of the web page rather than an updated version available to theweb service system 90. Therefore, it is useful for notifying thecaching 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 withcaching 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 a 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 directory), into a format that includes 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), the directory splitter, in this case, the backslash "\" URL standard forward slashes are 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 thechange identification step 181. After making a change (step 181), the user's deployable script is executed (step 280). After identifying the changes (step 181). The 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 run again (step 282). Use user deployable scripts to perform content distribution tasks that specify customer execution. 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 with 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 a next format that initiates aBEGINPARAMS statement 401 and ends theENDPARAMS statement 420. The information 400 includes theversion number 402 of the information block used interchangeably. The information 400 includes the name of thejob 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 thejob 404, which can be one of BEGIN, IN PROGRESS and END. The BEGIN value indicates to be called into the script before identifying the change (step 280 of FIG. 11). The IN PROGESS value indicates that after identifying the change, it is called by 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 themapping 405, which in this case is ALLIMAGES. The information 400 includes the path name of themanifest 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 may include a force file setdirectory 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. Thedestination 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 aDEGINELEMENT statement 410 and ends with anENDELEMENT statement 414. The array element contains the name 411 of the destination host, in this case OOLONG. Status The array element contains adestination directory 412 on the destination host, such as / HOME / HTTPD-OOLONG / DOC / IMAGES. The array element includes adelivery state 413, an example of which is MORMAL. The second element of the array begins with aBEGINELEMENT statement 415 and ends with anENDELEMENT statement 419. The second array element contains thename 416 of the destination host, in this case DARJEELING. The array element includes adestination directory 417 on the destination host, such as / HOME / HTTPD-DARJEELING / DOC / IMAGES. The second array element includes thetransfer 418 state, an example of which is NORMAL. Thus, the same script can be called at different times during task execution by the information provided to the user script, 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 (20)

Translated fromKorean
하나 이상의 호스트에 위치한 목적지 파일 시스템-상기 목적지 파일 시스템은 각 호스트 내의 각 웹 서버에 의해 액세스 됨-에 마스터 소스 파일 셋의 변화들을 복제하는 방법에 있어서,A method for replicating changes in a master source file set to a destination file system located at one or more hosts, wherein the destination file system is accessed by each web server in each host, wherein:(a) 마스터 컴퓨터 상의 상기 마스터 소스 파일 셋의 변화들을 확인하는 단계와,(a) identifying changes in the master source file set on a master computer;(b) 상기 확인된 변화들을 변경 리스트에 저장하는 단계와,(b) storing the identified changes in a change list;(c) 상기 변경 리스트를 각 호스트에 있는 각 에이전트 -상기 각 에이전트는 동일한 호스트에서 실행되는 웹 서버와 통신하며, 대응 호스트에 있는 목적지 파일 시스템을 액세스할 수 있음- 에 전송함으로써, 각 웹 서버에게 상기 마스터 소스 파일 셋이 변화되었다는 것을 알리는 단계와,(c) sending the change list to each agent on each host, wherein each agent communicates with a web server running on the same host and can access the destination file system on the corresponding host. Informing that the master source file set has been changed,(d) 상기 확인된 변화들을 상기 에이전트들에게 전송하기 전에, 0이 아닌 미리 결정된 수의 에이전트 또는 미리 결정된 퍼센티지의 에이전트가 그들의 각 웹 서버가 상기 확인된 변화들을 수신할 수 있다고 결정할 때까지 기다리는 단계와,(d) before sending the identified changes to the agents, waiting for a predetermined number of nonzero agents or a predetermined percentage of agents to determine that their respective web server can receive the confirmed changes. Wow,(e) 상기 확인된 변화들을 수신할 수 있는 웹 서버들에 대응하는 에이전트들에게 상기 확인된 변화들을 전송하여 상기 웹 서버들에서 인스톨을 완료할 수 있도록 하고, 이 전송은 상기 웹 서버들 중 다른 웹 서버가 상기 확인된 변화들의 인스톨을 완료할 수 없는지 여부에 관계없이 이루어지는 단계와,(e) send the confirmed changes to agents corresponding to web servers capable of receiving the confirmed changes so that the installation can be completed on the web servers, the transmission being performed by another of the web servers. Whether or not the web server can complete the installation of the identified changes;(f) 상기 (d) 단계 이후에, 상기 목적지 파일 시스템이 상기 확인된 변화들을 인스톨했다는 것을 나타내는 응답을 상기 에이전트들 중 적어도 하나로부터 수신하는 단계를 포함하는 변화 복제 방법.(f) after step (d), receiving a response from at least one of the agents indicating that the destination file system has installed the identified changes.제1항에 있어서, 상기 확인된 변화들의 인스톨을 완료할 수 없었던 임의의 웹 서버에 행해지는 요청을 상기 확인된 변화들의 인스톨을 완료할 수 있었던 웹 서버로 보내는(direct) 단계를 더 포함하는 변화 복제 방법.2. The change of claim 1, further comprising directing a request made to any web server that could not complete the installation of the identified changes to a web server that could complete the installation of the confirmed changes. Replication method.제1항에 있어서, 상기 확인 단계는,The method of claim 1, wherein the checking step,상기 마스터 소스 파일 셋의 현재 버전을 점검하는 단계와,Checking a current version of the master source file set;상기 현재 버전을 상기 마스터 컴퓨터 상의 상기 마스터 소스 파일 셋의 이전 버전과 비교하는 단계를 포함하는 변화 복제 방법.Comparing the current version with a previous version of the master source file set on the master computer.제3항에 있어서, 상기 비교 단계는,The method of claim 3, wherein the comparing step,상기 마스터 소스 파일 셋의 현재 버전의 파일의 파일 속성을 상기 마스터 소스 파일 셋의 이전 버전의 파일의 파일 속성과 비교하는 단계를 포함하는 변화 복제 방법.Comparing a file attribute of a file of a current version of the master source file set with a file attribute of a file of a previous version of the master source file set.제4항에 있어서, 상기 파일 속성은 파일 사이즈, 파일 사용 권한(file permissions), 파일 소유권, 변경 시간, 파일의 해쉬로 구성된 그룹으로부터 선택된 적어도 하나의 속성을 포함하는 변화 복제 방법.5. The method of claim 4 wherein the file attribute comprises at least one attribute selected from the group consisting of file size, file permissions, file ownership, modification time, and hash of the file.제4항에 있어서, 상기 파일 속성은 파일 속성 리스트에 저장되는 것인 변화 복제 방법.5. The method of claim 4 wherein the file attribute is stored in a file attribute list.제1항에 있어서, 상기 확인 단계는,The method of claim 1, wherein the checking step,파일 연산을 행하고 상기 마스터 소스 파일 셋의 변화를 모니터링하는 장치 드라이버를 인스톨하는 단계와,Installing a device driver that performs file operations and monitors changes in the master source file set;상기 장치 드라이버에 의해 상기 마스터 소스 파일 셋의 변화들을 기록하는 단계를 포함하는 것인, 변화 복제 방법.Recording changes in the master source file set by the device driver.제1항에 있어서, 새로운 컨텐츠를 서비스할 수 있는 에이전트의 수가 불충분한 경우, 상기 변화의 인스톨을 중단하는 단계를 더 포함하는 것인, 변화 복제 방법.The method of claim 1, further comprising stopping the installation of the change if the number of agents that can service the new content is insufficient.제1항에 있어서, 상기 확인 단계 이전에, 운영 체제 함수를 호출함으로써 사용자가 설정할 수 있는 명령어들의 스크립트를 호출하는 단계를 더 포함하는 변화 복제 방법.2. The method of claim 1, further comprising calling a script of instructions that can be set by a user by calling an operating system function prior to the verifying step.제1항에 있어서, 상기 전송 단계 이전에, 운영 체제 함수를 호출함으로써 사용자가 설정할 수 있는 명령어들의 스크립트를 호출하는 단계를 더 포함하는 변화 복제 방법.2. The method of claim 1, further comprising calling a script of instructions that can be set by a user by calling an operating system function before the sending step.제1항에 있어서, 상기 전송 단계 이후에, 운영 체제 함수를 호출함으로써 사용자가 설정할 수 있는 명령어들의 스크립트를 호출하는 단계를 더 포함하는 변화 복제 방법.The method of claim 1, further comprising, after the step of transmitting, calling a script of instructions that can be set by a user by calling an operating system function.제11항에 있어서, 상기 전송 단계가 성공적으로 완료되었는지 여부를 결정하는 단계를 더 포함하고, 상기 호출 단계는 상기 결정 단계 후에 발생하는 것인, 변화 복제 방법.12. The method of claim 11, further comprising determining whether the sending step has completed successfully, wherein the calling step occurs after the determining step.제11항에 있어서, 상기 스크립트 호출 단계는 상기 전송의 성공이 알려진 후에 일어나는 것인 변화 복제 방법.12. The method of claim 11 wherein the script invocation step occurs after the success of the transfer is known.제1항에 있어서, 상기 전송 단계는 멀티캐스팅을 포함하는 것인 변화 복제 방법.The method of claim 1, wherein said transmitting step comprises multicasting.제1항에 있어서, 상기 에이전트가 적어도 하나의 웹 서버에 상기 변화들을 인스톨해도 좋다는 것을 나타내는 신호를, 상기 변경 리스트와 별도로 상기 에이전트에게 전송하는 단계를 더 포함하는 변화 복제 방법.2. The method of claim 1, further comprising sending a signal to the agent separately from the change list, indicating that the agent may install the changes on at least one web server.웹 서비스 시스템에 있어서,In the web service system,상기 웹 서비스 시스템을 관리하는 관리자와,An administrator for managing the web service system;각 호스트가 웹 페이지 요청들을 수신하는 웹 서버와, 상기 관리자 및 상기 웹 서버와 통신하는 에이전트를 포함하는, 하나 이상의 호스트와,One or more hosts, each host including a web server for receiving web page requests, the manager and an agent in communication with the web server;상기 호스트들 및 상기 관리자와 통신하는 컨텐츠 분배기를 포함하고,A content distributor in communication with the hosts and the manager,상기 컨텐츠 분배기는,The content distributor,마스터 컴퓨터 상의 마스터 소스 파일 셋의 변화들을 상기 호스트들에게 통지하고,Notify the hosts of changes in the master source file set on the master computer,확인된 변화들을 상기 에이전트들에게 전송하기 전에, 0이 아닌 미리 결정된 수의 에이전트 또는 미리 결정된 퍼센티지의 에이전트가 그들의 각 웹 서버가 상기 확인된 변화들을 수신할 수 있다고 결정할 때까지 기다리고,Before sending confirmed changes to the agents, wait until a predetermined number of nonzero agents or a predetermined percentage of agents determine that their respective web server can receive the confirmed changes,그 후 상기 확인된 변화들을 수신할 수 있는 웹 서버들에 대응하는 에이전트들에게 상기 확인된 변화들을 전송하여 상기 웹 서버들에서 인스톨을 완료할 수 있도록 하고, 이 전송은 상기 웹 서버들 중 다른 웹 서버가 상기 확인된 변화들의 인스톨을 완료할 수 없는지 여부에 관계없이 이루어지며,The identified changes are then sent to agents corresponding to web servers capable of receiving the confirmed changes to complete the installation on the web servers, which transfer is performed on another web of the web servers. Regardless of whether the server cannot complete the installation of the identified changes,상기 확인된 변화들이 인스톨되어 있다는 것을 나타내는 응답을 수신하는 것을 특징으로 하는 웹 서비스 시스템.And receive a response indicating that the identified changes are installed.제16항에 있어서, 상기 관리자와 통신하고 웹 페이지 요청들을 상기 웹 서버에 보내는 트래픽 관리자를 더 포함하는 웹 서비스 시스템.17. The web service system of claim 16, further comprising a traffic manager in communication with the manager and sending web page requests to the web server.제16항에 있어서, 상기 컨텐츠 분배기는,The method of claim 16, wherein the content distributor,(a) 마스터 컴퓨터 상의 마스터 소스 파일 셋의 변화들을 확인하는 확인 모듈과,(a) a confirmation module for identifying changes in the master source file set on the master computer,(b) 상기 마스터 소스 파일 셋의 확인된 변화들을 저장하기 위한 변경 리스트와,(b) a change list for storing identified changes in the master source file set;(c) 목적지 파일 시스템을 액세스하는 에이전트에게 상기 변경 리스트를 전송하는 전송기와,(c) a transmitter for transmitting said change list to an agent accessing a destination file system;(d) 상기 목적지 파일 시스템이 상기 확인된 변화들을 수신하였다는 것을 나타내는 응답을 수신하는 수신기를 포함하는 것인 웹 서비스 시스템.(d) a receiver for receiving a response indicating that the destination file system has received the identified changes.제18항에 있어서, 상기 에이전트는, 상기 마스터 소스 파일 셋의 변화된 파일의 복사본을 상기 목적지 파일 시스템에 인스톨하기 위한 인스톨러(installer)를 더 포함하는 웹 서비스 시스템.19. The web service system of claim 18, wherein the agent further comprises an installer for installing a copy of the changed file of the master source file set to the destination file system.컴퓨터와 통신하는 컨텐츠 분배기에 있어서,In a content distributor for communicating with a computer,(a) 마스터 컴퓨터 상의 마스터 소스 파일 셋의 변화들을 확인하는 확인 모듈과,(a) a confirmation module for identifying changes in the master source file set on the master computer,(b) 상기 마스터 소스 파일 셋의 확인된 변화들을 저장하기 위한 변경 리스트와,(b) a change list for storing identified changes in the master source file set;(c) 상기 컴퓨터와 통신하는 하나 이상의 에이전트-상기 에이전트는 목적지 파일 시스템을 액세스함-에게 상기 변경 리스트를 전송하는 전송기와,(c) a transmitter for communicating the change list to one or more agents in communication with the computer, the agent accessing a destination file system;(d) 상기 변경 리스트가 전송된 후 목적지 파일 시스템이 상기 확인된 변화들을 수신하였다는 것을 나타내는 응답을 상기 컴퓨터로부터 수신하는 수신기를 포함하고,(d) a receiver receiving a response from the computer indicating that a destination file system has received the identified changes after the change list has been sent,상기 전송기는,The transmitter,상기 확인된 변화들을 상기 에이전트들에게 전송하기 전에, 0이 아닌 미리 결정된 수의 에이전트 또는 미리 결정된 퍼센티지의 에이전트가 그들의 각 웹 서버가 상기 확인된 변화들을 수신할 수 있다고 결정할 때까지 기다리고,Before sending the identified changes to the agents, wait until a predetermined number of non-zero agents or a predetermined percentage of agents determine that their respective web server can receive the confirmed changes,그 후 상기 확인된 변화들을 수신할 수 있는 웹 서버들에 대응하는 에이전트들에게 상기 확인된 변화들을 전송하여 상기 웹 서버들에서 인스톨을 완료할 수 있도록 하고, 이 전송은 상기 웹 서버들 중 다른 웹 서버가 상기 확인된 변화들의 인스톨을 완료할 수 없는지 여부에 관계없이 이루어지는 것을 특징으로 하는 컨텐츠 분배기.The identified changes are then sent to agents corresponding to web servers capable of receiving the confirmed changes to complete the installation on the web servers, which transfer is performed on another web of the web servers. A content distributor, wherein the server cannot complete the installation of the identified changes.
KR1020017009528A1999-01-282000-01-25 Web server content replicationExpired - LifetimeKR100729287B1 (en)

Applications Claiming Priority (6)

Application NumberPriority DateFiling DateTitle
US11767499P1999-01-281999-01-28
US60/117,6741999-01-28
US09/377,611US6976093B2 (en)1998-05-291999-08-19Web server content replication
US09/376,0171999-08-19
US09/376,017US7035943B2 (en)1998-05-291999-08-19Web server content replication
US09/377,6111999-08-19

Publications (2)

Publication NumberPublication Date
KR20020009556A KR20020009556A (en)2002-02-01
KR100729287B1true KR100729287B1 (en)2007-06-18

Family

ID=27382020

Family Applications (2)

Application NumberTitlePriority DateFiling Date
KR1020017009528AExpired - LifetimeKR100729287B1 (en)1999-01-282000-01-25 Web server content replication
KR1020017009535AExpired - LifetimeKR100729288B1 (en)1999-01-282000-01-25 Web server content replication

Family Applications After (1)

Application NumberTitlePriority DateFiling Date
KR1020017009535AExpired - LifetimeKR100729288B1 (en)1999-01-282000-01-25 Web server content replication

Country Status (6)

CountryLink
JP (2)JP4590105B2 (en)
KR (2)KR100729287B1 (en)
AU (2)AU3473200A (en)
CA (2)CA2360900A1 (en)
GB (2)GB2363494B (en)
WO (2)WO2000045300A1 (en)

Families Citing this family (29)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US6412017B1 (en)1996-07-012002-06-25Microsoft CorporationUrgent replication facility
US7581006B1 (en)1998-05-292009-08-25Yahoo! Inc.Web service
US6976093B2 (en)1998-05-292005-12-13Yahoo! Inc.Web server content replication
US7143193B1 (en)1998-05-292006-11-28Yahoo! Inc.Content collection
US6591266B1 (en)*2000-07-142003-07-08Nec CorporationSystem and method for intelligent caching and refresh of dynamically generated and static web content
US7958025B2 (en)2000-08-042011-06-07Goldman Sachs & Co.Method and system for processing raw financial data streams to produce and distribute structured and validated product offering objects
AU2001276034A1 (en)*2000-08-042002-02-18Goldman Sachs And Co.System for processing raw financial data to produce validated product offering information to subscribers
US7958251B2 (en)2000-08-042011-06-07Goldman Sachs & Co.Method and system for processing raw financial data streams to produce and distribute structured and validated product offering data to subscribing clients
US7139844B2 (en)2000-08-042006-11-21Goldman Sachs & Co.Method and system for processing financial data objects carried on broadcast data streams and delivering information to subscribing clients
US6609126B1 (en)2000-11-152003-08-19Appfluent Technology, Inc.System and method for routing database requests to a database and a cache
US20020065800A1 (en)*2000-11-302002-05-30Morlitz David M.HTTP archive file
KR20020072453A (en)*2001-03-102002-09-16삼성전자 주식회사Reproducing apparatus and additional information providing server system therefor
WO2003009157A1 (en)2001-07-162003-01-30Bea Systems, Inc.Method and apparatus for session replication and failover
KR20020072804A (en)*2002-06-102002-09-18(주)코리아리더스 테크놀러지Multimedia contents control method for multimedia database with wireless and wireline data synchronization technology
US7051053B2 (en)*2002-09-302006-05-23Dinesh SinhaMethod of lazily replicating files and monitoring log in backup file system
EP1406167A1 (en)*2002-10-012004-04-07Sun Microsystems, Inc.Content server synchronization
JP2004157996A (en)*2002-10-152004-06-03Matsushita Electric Ind Co Ltd Web data distribution system
US20070172055A1 (en)*2003-12-112007-07-26Jo Bea SApparatus and method for distorting digital contents and recovering the distorted contents
GB2412280A (en)*2004-03-192005-09-21Canon Europa NvCreating and editing a library of digital media documents
US7454503B2 (en)*2004-04-082008-11-18International Business Machines CorporationMethod to identify transactions and manage the capacity to support the transaction
WO2006109998A1 (en)2005-04-152006-10-19Ktfreetel Co., Ltd.Method for providing contents
KR100680296B1 (en)2005-04-152007-02-07주식회사 케이티프리텔 Method of providing a large-scale content download service through a wireless network and a recording medium on which a program for implementing the same is recorded
JP2008512764A (en)2005-04-152008-04-24ケーティーフリーテル・カンパニー・リミテッド Method of providing content for mobile communication terminal
EP2289261A4 (en)*2008-06-182013-10-02Blackberry Ltd METHOD AND SYSTEM FOR REPEATING MOBILE CONTENT
KR101456624B1 (en)*2008-10-282014-11-04삼성전자주식회사Image forming apparatus, and web application install method
US8874628B1 (en)*2009-10-152014-10-28Symantec CorporationSystems and methods for projecting hierarchical storage management functions
KR200453762Y1 (en)*2010-12-172011-05-27윤동웅 Button molds with slides
US10142436B2 (en)2015-11-192018-11-27Microsoft Technology Licensing, LlcEnhanced mode control of cached data
CN107302469B (en)*2016-04-142020-03-31北京京东尚科信息技术有限公司Monitoring device and method for data update of distributed service cluster system

Citations (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5434994A (en)*1994-05-231995-07-18International Business Machines CorporationSystem and method for maintaining replicated data coherency in a data processing system

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5630116A (en)*1993-08-111997-05-13Nec CorporationAutomatic delivery system for master files in a distributed processing system
US5774668A (en)*1995-06-071998-06-30Microsoft CorporationSystem 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-291998-06-09Lucent Technologies Inc.Maintaining consistency of database replicas
US5812793A (en)*1996-06-261998-09-22Microsoft CorporationSystem and method for asynchronous store and forward data replication
US6138141A (en)*1996-10-182000-10-24At&T CorpServer to client cache protocol for improved web performance
US5787470A (en)*1996-10-181998-07-28At&T CorpInter-cache protocol for improved WEB performance
AU6967898A (en)*1997-05-271998-12-30Merrill Lynch & Co., Inc.System for network file distribution

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication numberPriority datePublication dateAssigneeTitle
US5434994A (en)*1994-05-231995-07-18International Business Machines CorporationSystem and method for maintaining replicated data coherency in a data processing system

Also Published As

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

Similar Documents

PublicationPublication DateTitle
KR100729287B1 (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
US7430616B2 (en)System and method for reducing user-application interactions to archivable form
US7266556B1 (en)Failover architecture for a distributed storage system
CN100544342C (en)Storage system
US7340505B2 (en)Content storage and replication in a managed internet content storage environment
US7734951B1 (en)System and method for data protection management in a logical namespace of a storage system environment
US7433934B2 (en)Network storage virtualization method and system
US7281168B1 (en)Failover architecture for local devices that access remote storage
US20060026262A1 (en)Content collection
JP4958951B2 (en) Content collection
US20070100980A1 (en)Computer system and method for managing log information
US7093163B2 (en)Processing takeover method in multiple computer system
US7103889B2 (en)Method, system, and article of manufacture for agent processing
JP4637382B2 (en) Data backup system
WO1998054631A2 (en)System for network file distribution
Pistoia et al.IBM WebSphere Performance Pack: Web Content Management with IBM AFS Enterprise File System
MAY et al.DOUBLE-TAKE LICENSE AGREEMENT
Protectionfor Linux/UNIX-based Operating Systems

Legal Events

DateCodeTitleDescription
PA0105International application

Patent event date:20010727

Patent event code:PA01051R01D

Comment text:International Patent Application

PG1501Laying open of application
A201Request for examination
AMNDAmendment
PA0201Request for examination

Patent event code:PA02012R01D

Patent event date:20050125

Comment text:Request for Examination of Application

E902Notification of reason for refusal
PE0902Notice of grounds for rejection

Comment text:Notification of reason for refusal

Patent event date:20060526

Patent event code:PE09021S01D

AMNDAmendment
E601Decision to refuse application
PE0601Decision on rejection of patent

Patent event date:20061226

Comment text:Decision to Refuse Application

Patent event code:PE06012S01D

Patent event date:20060526

Comment text:Notification of reason for refusal

Patent event code:PE06011S01I

AMNDAmendment
J201Request for trial against refusal decision
PJ0201Trial against decision of rejection

Patent event date:20070125

Comment text:Request for Trial against Decision on Refusal

Patent event code:PJ02012R01D

Patent event date:20061226

Comment text:Decision to Refuse Application

Patent event code:PJ02011S01I

Appeal kind category:Appeal against decision to decline refusal

Decision date:20070328

Appeal identifier:2007101000895

Request date:20070125

PB0901Examination by re-examination before a trial

Comment text:Amendment to Specification, etc.

Patent event date:20070125

Patent event code:PB09011R02I

Comment text:Request for Trial against Decision on Refusal

Patent event date:20070125

Patent event code:PB09011R01I

Comment text:Amendment to Specification, etc.

Patent event date:20060725

Patent event code:PB09011R02I

Comment text:Amendment to Specification, etc.

Patent event date:20050125

Patent event code:PB09011R02I

B701Decision to grant
PB0701Decision of registration after re-examination before a trial

Patent event date:20070328

Comment text:Decision to Grant Registration

Patent event code:PB07012S01D

Patent event date:20070228

Comment text:Transfer of Trial File for Re-examination before a Trial

Patent event code:PB07011S01I

GRNTWritten decision to grant
PR0701Registration of establishment

Comment text:Registration of Establishment

Patent event date:20070611

Patent event code:PR07011E01D

PR1002Payment of registration fee

Payment date:20070612

End annual number:3

Start annual number:1

PG1601Publication of registration
G170Re-publication after modification of scope of protection [patent]
PG1701Publication of correction
PR1001Payment of annual fee

Payment date:20100610

Start annual number:4

End annual number:4

PR1001Payment of annual fee

Payment date:20110502

Start annual number:5

End annual number:5

PR1001Payment of annual fee

Payment date:20120521

Start annual number:6

End annual number:6

FPAYAnnual fee payment

Payment date:20130520

Year of fee payment:7

PR1001Payment of annual fee

Payment date:20130520

Start annual number:7

End annual number:7

FPAYAnnual fee payment

Payment date:20140522

Year of fee payment:8

PR1001Payment of annual fee

Payment date:20140522

Start annual number:8

End annual number:8

FPAYAnnual fee payment

Payment date:20150518

Year of fee payment:9

PR1001Payment of annual fee

Payment date:20150518

Start annual number:9

End annual number:9

FPAYAnnual fee payment

Payment date:20160517

Year of fee payment:10

PR1001Payment of annual fee

Payment date:20160517

Start annual number:10

End annual number:10

FPAYAnnual fee payment

Payment date:20170522

Year of fee payment:11

PR1001Payment of annual fee

Payment date:20170522

Start annual number:11

End annual number:11

FPAYAnnual fee payment

Payment date:20180516

Year of fee payment:12

PR1001Payment of annual fee

Payment date:20180516

Start annual number:12

End annual number:12

FPAYAnnual fee payment

Payment date:20190515

Year of fee payment:13

PR1001Payment of annual fee

Payment date:20190515

Start annual number:13

End annual number:13

PC1801Expiration of term

Termination date:20200725

Termination category:Expiration of duration


[8]ページ先頭

©2009-2025 Movatter.jp