[go: up one dir, main page]

KR20100031574A - 컴퓨터 네트워크에서의 시스템 비가동 시간 자동 관리 - Google Patents

컴퓨터 네트워크에서의 시스템 비가동 시간 자동 관리 Download PDF

Info

Publication number
KR20100031574A
KR20100031574A KR1020097026457A KR20097026457A KR20100031574A KR 20100031574 A KR20100031574 A KR 20100031574A KR 1020097026457 A KR1020097026457 A KR 1020097026457A KR 20097026457 A KR20097026457 A KR 20097026457A KR 20100031574 A KR20100031574 A KR 20100031574A
Authority
KR
South Korea
Prior art keywords
downtime
web
automatically
server
based application
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.)
Granted
Application number
KR1020097026457A
Other languages
English (en)
Other versions
KR101532450B1 (ko
Inventor
제이슨 엠. 카힐
티투스 씨. 미론
로렌 엔. 안토노프
씬 엘. 리빙스톤
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20100031574A publication Critical patent/KR20100031574A/ko
Application granted granted Critical
Publication of KR101532450B1 publication Critical patent/KR101532450B1/ko
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/28Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
    • H04L12/40Bus networks
    • H04L12/403Bus networks with centralised control, e.g. polling
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/0654Management of faults, events, alarms or notifications using network fault recovery
    • H04L41/0663Performing the actions predefined by failover planning, e.g. switching to standby network elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Environmental & Geological Engineering (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)
  • Debugging And Monitoring (AREA)
  • Computer And Data Communications (AREA)
  • Hardware Redundancy (AREA)

Abstract

컴퓨터 네트워크에서 시스템 비가동 시간을 자동으로 관리하기 위한 실시예가 제공된다. 일실시예에서, 웹 서버에 대한 시스템 비가동 시간 기간을 스케줄링하기 위하여 애플리케이션 서버에서 이벤트가 생성된다. 스케쥴링된 비가동 시간이 일어날 때, 웹 서버가 네트워크로부터 자동으로 제거되고, 웹 서버가 오프라인임을 나타내는 비가동 시간 통지 메시지가 자동으로 전달된다. 다른 실시예에서, 웹사이트를 포함하는 웹-기반 애플리케이션에 대한 비가동 시간을 스케쥴링하기 위하여 이벤트가 생성될 수 있다. 스케줄링된 비가동 시간 이전에, 웹-기반 애플리케이션으로의 요청들이 자동으로 중단되어 지정된 장소로 리다이렉트될 수 있다. 다른 실시예에서, 웹 서버의 동작이 오류 상황의 존재를 검출하기 위하여 자동으로 모니터링되고, 오류 상황이 존재하면 영향받는 웹 서버를 비가동으로 하고 비가동 웹 서버로의 요청을 대안적인 서버로 자동으로 리다이렉트하도록 하는 결정이 행해질 수 있다.
Figure P1020097026457
비가동 시간, 리다이렉트, 스케줄링

Description

컴퓨터 네트워크에서의 시스템 비가동 시간 자동 관리{AUTOMATICALLY MANAGING SYSTEM DOWNTIME IN A COMPUTER NETWORK}
많은 컴퓨터 네트워크는 단일 웹-기반 인터페이스를 통해 최종 사용자에게 자원을 제공하기 위한 복수의 컴퓨터의 공유 기반구조(shared infrastructure)를 포함한다. 이러한 컴퓨터 네트워크는 통상적으로 서버 팜(server farm)을 단일 논리 단위로서 제어하기 위한 분산 운영 체제 애플리케이션을 포함한다. 서버 팜은 통상적으로 스테이트리스 웹 프론트 엔드(stateless web front ends)(즉, 웹 서버), 애플리케이션 서버 및 서버에 의해 공유되는 데이터베이스 백엔드를 포함한다. 분산 운영 체제는 서버 자원(즉, 데이터)이 최종 사용자에게 하나 이상의 웹사이트로서 보여지게 할 수 있다.
그러나, 분산 운영 체제 애플리케이션을 사용하는 컴퓨터 네트워크는 많은 문제점이 있다. 하나의 문제점은 시스템 보수 또는 업그레이드가 요구될 때, 전체 컴퓨터 네트워크를 오프라인으로 해야할 필요가 있을 수 있다는 것이다. 결과적으로, 보수 또는 업그레이드가 완료될 때까지의 시간 기간 동안 사용자는 서버 자원에 액세스하는 웹사이트에 액세스할 수 없다. 비가동 시간 또는 운행 중지(outage) 기간 동안, 영향받는 웹사이트의 사용자는 임시로 다른 웹사이트로 리다이렉트될 수 있지만, 리다이렉트는 현재 매우 수동적인 프로세스이다. 구체적으 로, 임시적인 웹사이트를 호스팅하는 컴퓨터가 수동으로 설정되어야 하고 리다이렉트를 수행하기 위해 DNS(domain name system) 변경이 수동으로 수행되어야 한다. 그러나, DNS 변경은 통상적으로 시스템 관리자의 지식을 능가할 수 있는 기술 전문가를 요구하기 때문에 추가적인 인원이 필요하다. 결과적으로 수동 리다이렉트는 통상적으로 시간, 인력 및 자원의 측면에서 값비싼 작업이다. 이러한 사항 및 다른 점들을 고려하여 본 발명의 실시예가 개시된다.
본 설명은 아래의 실시예에 개시되는 본 발명의 발췌를 단순화된 형태로 소개하기 위하여 제공된다. 본 설명은 청구된 주요 발명의 주요 태양 또는 핵심적인 태양을 식별하기 위한 것이나, 또는 청구된 주요 발명의 범위를 결정하기 위한 목적으로서 해석되지 않는다.
본 실시예는 컴퓨터 네트워크에서 시스템 비가동 시간을 자동으로 관리하기 위해 제공된다. 일실시예에서, 컴퓨터 네트워크의 웹 서버에 대한 시스템 비가동 시간 기간을 스케줄링하기 위해 애플리케이션 서버에서 이벤트가 생성된다. 스케줄링된 비가동 시간이 일어날 때, 웹 서버가 네트워크 서버의 트래픽을 관리하는 네트워크 부하 분산기(network load balancer)로부터 자동으로 제거되고, 비가동 시간 통지 메시지가 자동으로 전달된다. 비가동 시간 통지 메시지는 시스템 관리자에게 웹 서버가 비가동(down)이고 임의의 요구되는 보수를 기다리고 있다는 것을 표시할 수 있다. 다른 실시예에서, 컴퓨터 네트워크의 웹사이트를 포함하는 웹-기반 애플리케이션에 대한 비가동 시간을 스케줄링하기 위해 이벤트가 생성될 수 있다. 스케줄링된 비가동 시간 전에, 웹-기반 애플리케이션으로의 요청이 자동으로 중단되어 지정된 장소로 리다이렉트될 수 있다. 다른 실시예에서, 웹 서버의 동작이 오류 상황의 존재를 검출하기 위해 자동으로 모니터링되고, 하나 이상의 웹 서버에서 오류 상황이 존재하면 영향받는 웹 서버를 비가동시키는 결정이 행해져서 비가동 웹 서버로의 요청이 자동으로 대안적인 서버로 리다이렉트될 수 있다.
이러한 태양 및 다른 태양과 이점들은 아래의 실시예 및 관련된 도면을 참조하여 명백해질 것이다. 전술한 일반적인 설명 및 다음의 실시예는 오직 예시이고 청구된 발명의 한정이 아니라는 것을 이해할 수 있다.
도 1은 다양한 실시예를 따라, 컴퓨터 네트워크의 시스템 비가동 시간을 자동으로 관리하도록 구성되는 시스템의 네트워크 아키텍쳐 도면.
도 2는 본 명세서에 개시되는 다양한 실시예를 구현하기 위한 컴퓨팅 환경을 도시하는 블록도.
도 3은 일실시예에 따라, 컴퓨터 네트워크의 시스템 비가동 시간을 자동으로 관리하기 위한 루틴을 도시하는 흐름도.
도 4는 대안적인 실시예에 따라, 컴퓨터 네트워크의 시스템 비가동 시간을 자동으로 관리하기 위한 루틴을 도시하는 흐름도.
도 5는 대안적인 실시예에 따라, 컴퓨터 네트워크의 시스템 비가동 시간을 자동으로 관리하기 위한 루틴을 도시하는 흐름도.
본 실시예는 컴퓨터 네트워크에서 시스템 비가동 시간을 자동으로 관리하기 위하여 제공된다. 일실시예에서, 컴퓨터 네트워크의 웹 서버에 대한 시스템 비가동 시간 기간을 스케줄링하기 위해 애플리케이션 서버에서 이벤트가 생성된다. 스케줄링된 비가동 시간이 일어날 때, 웹 서버는 네트워크 서버의 트래픽을 관리하는 네트워크 부하 분산기로부터 자동으로 제거되고, 비가동 시간 통지 메시지가 자동으로 전달된다. 비가동 시간 통지 메시지는 시스템 관리자에게 웹 서버가 비가동 상태이고 임의의 요구되는 보수를 기다리고 있다는 것을 표시할 수 있다. 다른 실시예에서, 컴퓨터 네트워크의 웹사이트를 포함하는 웹-기반 애플리케이션에 대한 비가동 시간을 스케줄링하기 위해 이벤트가 생성될 수 있다. 스케줄링된 비가동 시간 전에, 웹-기반 애플리케이션으로의 요청은 자동으로 중단되어 지정된 장소로 리다이렉트될 수 있다. 다른 실시예에서, 웹서버의 동작이 오류 상황의 존재를 검출하기 위해 자동으로 모니터링되고, 하나 이상의 웹 서버에서 오류 상황이 존재하면 영향받는 웹 서버를 비가동시키는 결정이 행해져서 비가동 웹 서버로의 요청이 자동으로 대안적인 서버로 리다이렉트될 수 있다.
동일한 번호가 동일한 구성요소를 나타내는 도면을 참조하면, 다양한 예시적인 실시예가 개시된다. 도 1은 자동으로 공유 자원으로 향하도록 구성된 컴퓨터 네트워크(100)의 네트워크 아키텍쳐 도면이다. 일실시예에서, 컴퓨터 네트워크(100)의 다양한 컴포넌트가 워싱톤, 레드몬드의 마이크로소프트사에 의해 개발된 SAHREPOINT 서비스 기술의 운영 체제와 같은 웹-기반 애플리케이션을 위한 분산 운영 체제를 사용하여 구성될 수 있다. 이러한 기술분야의 당업자에게 알려진 바와 같이, SHAREPOINT 서비스 기술은 사용자가 정보를 공유하기 위해 협업 환경(collaborative environment)을 생성, 유지 및 제공하는 것을 가능하게 한다. 본 기술을 사용하여, 사용자 또는 조직은 웹사이트와 관련된 다른 사용자에 대한 정보(예를 들어, 웹 서버 또는 웹 폴더 등의 문서)를 제공하고 공유하기 위해 하나 이상의 웹사이트를 생성할 수 있다. 본 명세서에 개시된 실시예가 SAHREPOINT 서비스 기술에 한정되는 것으로서 해석되어서는 안 되고 다른 개발자 및/또는 제조사의 다른 협업 서비스 기술이 또한 사용될 수 있다는 것을 이해할 수 있다. 컴퓨터 네트워크(100) 및 이의 컴포넌트는 다른 컴퓨팅 장치, 통신 장치 및/또는 다른 시스템과 통신하기 위한 기능을 포함하고 본 명세서에 개시되는 실시예 및 예시에 한정되는 것으로 해석되지 않는다.
도 1에 도시되는 바와 같이, 컴퓨터 네트워크(100)는, 이에 한정되지는 않지만, 백엔드 서버(101), 애플리케이션 서버(102A 및 102B), 웹 서버(112A, 112B 및 112C), DNS 서버(114), 네트워크 부하 분산기(116) 및 클라이언트 컴퓨터(150 및 152)를 포함한다. 일실시예에서, 백엔드 서버(101), 애플리케이션 서버(102A 및 102B) 및 웹 서버(112A, 112B 및 112C)는 클라이언트 컴퓨터(150 및 152)와 정보를 공유하기 위한 협업 환경을 생성하기 위해 SHAREPOINT 서비스 기술을 사용하도록 구성될 수 있다. 구체적으로, 일실시예에 따르면, 애플리케이션 서버(102A 및 102B)는 애플리케이션 프로그램의 OFFICE 스위트와 같은 클라이언트 컴퓨터 업무용 애플리케이션 프로그램(예를 들어, 워드 프로세싱, 개인용 정보 관리기(personal information manager) 및 스프레드시트 애플리케이션)과의 협업을 위한 WINDOWS SHAREPOINT SERVICES 기술 및 OFFICE SHAREPOINT SERVER 애플리케이션 프로그램을 포함하는 WINDOWS SERVER 운영 체제를 실행하도록 구성될 수 있다. 모든 전술한 운영 체제, 기술 및 애플리케이션 프로그램은 워싱톤, 레드몬드의 마이크로소프트사에 의해 개발되었다. 그러나, 본 명세서에 개시된 기술의 다른 태양을 구현하기 위해 다른 제조사의 운영 체제 및 애플리케이션 프로그램이 또한 사용될 수 있다는 것을 이해해야 한다.
백엔드 서버(101)가 (방화벽(110)을 통해) 애플리케이션 서버(102A 및 102B) 및 웹 서버(112A, 112B 및 112C)와 통신한다. 일실시예에 따르면, 백엔드 서버(101)는 네트워크(100)에서 사용되는 데이터를 저장하고 서버(102A, 102B, 112A, 112B 및 112C)에 의해 공유되는 SQL(structured query language) 데이터베이스를 포함할 수 있다.
애플리케이션 서버(102A 및 102B)는 (방화벽(110)을 통해) 백엔드 서버(101) 및 웹 서버(112A, 112B 및 112C)와 통신한다. 일반적으로, 애플리케이션 서버(102A 및 102B)는 검색 인덱싱 동작뿐만 아니라 웹 서버(112A, 112B 및 112C)에 의해 호스팅되는 웹사이트에서의 공개를 위한 액티브 디렉토리로부터 정보를 전달하기 위해 사용될 수 있다. 애플리케이션 서버(102A 및 102B)는, 이에 한정되지는 않지만, 비가동 시간 관리 서버(104A 및 104B)와 이벤트 데이터(106A 및 106B)를 포함할 수 있다. 일실시예에 따르면, 비가동 시간 관리자 애플리케이션(104A 및 104B)은 웹 서버(112A, 112B 및 112C)뿐만 아니라 웹 서버(112A, 112B 및 112C) 상에서 호스팅되는 웹-기반 애플리케이션을 위한 비가동 시간 스케줄링을 위하여 이 벤트 데이터(106A 및 106B)(즉, 이벤트)를 생성하도록 구성될 수 있다.
일실시예에서, 비가동 시간 관리 애플리케이션(104A 및 104B)은 그래픽 사용자 인터페이스에서 이벤트 데이터(106A 및 106B)에 진입하기 위하여 네트워크 관리자가 선택할 수 있는 비가동 시간 관리 하이퍼링크를 포함하는 중앙 관리 웹사이트를 생성하도록 구성될 수 있다. 이벤트 데이터(106A 및 106B)는, 이에 한정되지는 않지만, 스케줄링된 비가동 시간, 운행 중지 윈도우, 비가동 시간 메시지, 연락처 정보, 스케줄링된 비가동 시간과 관련된 우선순위 및 비가동(즉, 오프라인) 웹 서버 및/또는 웹-기반 애플리케이션으로의 서버 요청을 리다이렉트하기 위한 리다이렉트 장소(URL)를 포함할 수 있다. 다양한 실시예에 따르면, 예를 들어 비가동 시간 관리 애플리케이션(104A 및 104B) 중 하나를 사용하여, 네트워크 관리자(또는 다른 사용자)는 서버 소프트웨어 업그레이드, 서버 보수, 소프트웨어 패치의 설치, 사용자 계정 패스워드 업데이트 등을 위한 사전설정된 운행 중지 기간 동안 웹 서버(112A, 112B 또는 112C) 중 하나가 오프라인으로 되도록 스케줄링하기 위한 이벤트를 생성하고 스케줄링된 비가동 시간에 관한 이유 및 스케줄링된 비가동 시간에 관한 추가적인 정보를 획득하기 위한 연락처 데이터를 포함하는 비가동 시간 통지 메시지를 스케줄링된 비가동 시간 이전에 하나 이상의 클라이언트 컴퓨터에 송신하고, 스케줄링된 비가동 시간 기간 동안 사용자를 대안적인 서버 또는 URL로 리다이렉트할 수 있다. 일실시예에 따라, 비가동 시간 관리 애플리케이션(104A 및 104B)은 또한 웹 서버(112A, 112B 및 112C)의 동작에 관한 시스템 상태를 모니터링하도록 구성될 수 있다. 예를 들어, 웹 서버(112A, 112B 및 112C)는 오류 상황(예를 들어, 웹 서버가 백엔드 데이터베이스에 연결하는데 실패함, 웹 서버 CPU 상의 부하가 너무 높음, 웹 서버로의 요청의 최대 임계치 레벨에 이름 등)의 존재를 모니터링할 수 있고, 오류 상황이 존재하면, 영향을 받는 웹 서버로의 요청은 네트워크(100)의 대안적인 서버로 리다이렉트된다. 네트워크(100)의 시스템 비가동 시간을 관리하는데 있어서 비가동 시간 관리 애플리케이션(104A 및 104B)에 의해 수행될 수 있는 다양한 동작이 도 3 내지 5와 관련하여 아래에서 더 상세히 개시된다.
웹 서버(112A, 112B 및 112C)는 방화벽(110)을 통해 백엔드 서버(101) 및 애플리케이션 서버(102A 및 102B)와 통신한다. 웹 서버(112A, 112B 및 112C)는 또한 방화벽(118)을 통해 DNS 서버(114), 네트워크 부하 분산기(116) 및 클라이언트 컴퓨터(150 및 152)와 통신한다. 웹 서버(112A, 112B 및 112C)는, 이에 한정되지 않지만, 웹 페이지(125A 및 125B)뿐만 아니라 웹-기반 애플리케이션(127A 및 127B)을 포함할 수 있다. 웹 페이지(125A 및 125B)는 네트워크(100)의 공유 자원에 액세스하기 위해 클라이언트 컴퓨터(150 및 152)에 의해 사용되는 호스팅된 웹사이트를 포함할 수 있다. 예를 들어, 웹 페이지(125A 및 125B)는 IT(information technology) 웹사이트, 인사 관리 웹사이트 또는 법무 웹사이트와 같은 조직의 상이한 부서에 의해 사용되는 복수의 웹사이트를 포함할 수 있다.
DNS 서버(114)는 방화벽(118)을 통해 네트워크 버스(120)를 거쳐 클라이언트 컴퓨터(150 및 152)와 통신하고 도메인 네임(예를 들어, www.ITweb.com)을 IP 어드레스(예를 들어, 198.105.232.4)로 변환하도록 구성될 수 있다. 네트워크 부하 분산기(116)는 방화벽(118)을 통해 네트워크 버스(120)를 거쳐 클라이언트 컴퓨 터(150 및 152)와 통신하고 복수의 서버에 걸친 네트워크 트래픽의 부하를 분산하여 자동으로 트래픽을 동작 서버에 재분배하도록 구성될 수 있다. 클라이언트 컴퓨터(150 및 152)는 방화벽(118) 및 네트워크 버스(120)를 통해 DNS 서버(114), 네트워크 부하 분산기(116) 및 웹 서버(112A, 112B 및 112C)와 통신한다. 클라이언트 컴퓨터(150 및 152)의 각각은 범용 데스크탑, 랩탑, 휴대용, 타블렛 또는 하나 이상의 애플리케이션 프로그램을 실행할 수 있는 다른 유형의 컴퓨터를 포함할 수 있고 사용자 요청을 웹 서버(112A, 112B 및 112C)에 의해 호스팅되는 웹 페이지, 웹사이트 및 웹-기반 애플리케이션으로 송신하기 위해 사용될 수 있다.
예시적인 운영 환경
도 2를 참조하면, 다음의 개시는 본 발명의 실시예가 구현될 수 있는 적절한 컴퓨팅 환경의 간략하고, 일반적인 개시를 제공하기 위한 것으로 해석된다. 본 발명은 개인용 컴퓨터의 운영 체제 상에서 실행되는 프로그램 모듈과 함께 실행되는 프로그램 모듈의 일반적인 컨텍스트에서 개시되었지만, 본 기술분야의 당업자는 본 발명이 또한 다른 유형의 컴퓨터 시스템 및 프로그램 모듈과 결합하여 구현될 수 있다는 것을 이해할 수 있다.
일반적으로, 프로그램 모듈은 루틴, 프로그램, 컴포넌트, 데이터 구조 및 특정한 작업을 수행하거나 또는 특정한 추상 데이터 유형을 구현하는 다른 유형의 구조를 포함한다. 더 나아가, 본 기술분야의 당업자는 본 발명이 휴대용 장치, 마이크로프로세서 시스템, 마이크로프로세서-기반 또는 프로그램가능한 소비자 전자기기, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하는 다른 컴퓨터 시스템 구성으로 실시될 수 있다는 것을 이해할 수 있다. 본 발명은 또한 작업이 통신 네트워크를 통해 연결된 원격 프로세싱 장치에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 모두에 위치할 수 있다.
도 2를 참조하면, 본 발명의 실시예를 위한 예시적인 운영 환경이 개시된다. 도 2에 도시되는 바와 같이, 애플리케이션 서버(102A)는 범용 데스크탑, 랩탑, 휴대용, 타블렛 또는 하나 이상의 애플리케이션 프로그램을 실행할 수 있는 다른 유형의 컴퓨터를 포함한다. 애플리케이션 서버(102A)는 적어도 하나의 CPU(central processing unit; 8), RAM(18)을 포함하는 시스템 메모리(12), ROM(read-only memory; 20) 및 메모리와 CPU(8)를 연결시키는 시스템 버스(10)를 포함한다. 스타트업 동안 컴퓨터 내의 소자 사이의 정보의 전달을 도와주는 기본 루틴을 포함하는 기본 입/출력 시스템(basic input/output system)이 ROM(20)에 저장된다.
애플리케이션 서버(102A)는 운영 체제(32), 비가동 시간 관리 애플리케이션(104A), 이벤트 데이터(106A) 및 서버 애플리케이션(160)을 저장하기 위한 대용량 저장 장치(14)를 더 포함한다. 다양한 실시예에 따라, 운영 체제(32)는 WINDOWS SHAREPOINT SERVICES 기술이 포함된 WIDOWS SERVER 운영 체제를 포함할 수 있으며 서버 애플리케이션(160)은 (도 1과 관련하여 상기에서 개시된) OFFICE SHAREPOINT SERVER 애플리케이션 프로그램을 포함할 수 있다. 대용량 저장 장치(14)는 버스(10)에 연결된 대용량 저장소 제어기(도시되지 않음)를 통해 CPU(8)와 연결된다. 대용량 저장 장치(14) 및 이와 관련된 컴퓨터-판독가능 매체는 공유 자원 포탈(shared resources portal; 110)을 위한 비-휘발성 저장소를 제공한다. 본 명세서에 포함되는 컴퓨터-판독가능 매체의 개시는 하드디스크 또는 CD-ROM 드라이브와 같은 대용량 저장 장치를 지칭하지만, 본 기술분야의 당업자는 컴퓨터-판독가능 매체가 애플리케이션 서버(102A)에 의해 액세스되거나 사용될 수 있는 임의의 사용가능한 매체가 될 수 있다는 것을 이해할 수 있다.
한정이 아닌 예시로서, 컴퓨터-판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터-판독가능 명령어, 데이터 구조, 프로그램 모듈 및 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비-휘발성, 탈착식 및 비-탈착식 매체를 포함한다. 컴퓨터 저장 매체는 이에 한정되지는 않지만, RAM, ROM, EPROM, EEPROM, 플래시 메모리 또는 다른 솔리드 스테이트 메모리 기술, CD-ROM, DVD(digital versatile disks) 또는 다른 광 저장소, 마그네틱 카세트, 마그네틱 테이프, 마그네틱 디스크 저장소 또는 다른 마그네틱 저장 장치 또는 원하는 정보를 저장하기 위해 사용될 수 있고 애플리케이션 서버(102A)에 의해 액세스될 수 있는 임의의 다른 매체를 포함한다.
본 발명의 다양한 실시예에 따라, 애플리케이션 서버(102A)는, 예를 들어 로컬 네트워크 또는 WAN(예를 들어, 인터넷)과 같은 네트워크(4)를 통한 원격 컴퓨터와의 논리적 연결을 사용하여 네트워크 환경에서 동작할 수 있다. 애플리케이션 서버(102A)는 버스(10)와 연결된 네트워크 인터페이스 유닛(16)을 통해 네트워크(4)와 연결될 수 있다.
네트워크 인터페이스 유닛(16)은 또한 다른 유형의 네트워크 및 원격 컴퓨팅 시스템과 연결하기 위해 사용될 수 있다는 것을 이해해야 한다. 애플리케이션 서버(102A)는 키보드, 마우스, 펜, 스타일러스, 손가락 및/또는 다른 수단을 포함하는 많은 입력 유형으로부터의 입력을 수신하고 프로세싱하기 위한 입/출력 제어기(22)를 포함할 수 있다. 이와 유사하게, 입/출력 제어기(22)는 디스플레이, 프린터 또는 다른 유형의 출력 장치로 출력을 제공할 수 있다. 추가적으로, 터치 스크린은 입력 및 출력 메커니즘으로서 기능할 수 있다.
상기에서 간략하게 언급한 바와 같이, 많은 프로그램 모듈 및 데이터 파일이 워싱톤, 레드몬드의 마이크로소프트사의 WINDOWS SERVER 운영 체제와 같은 네트워크 개인용 컴퓨터의 동작을 제어하기에 적절한 운영 체제(32)를 포함하는 애플리케이션 서버(102A)의 대용량 저장 장치(14) 및 RAM(18)에 저장될 수 있다. 대용량 저장 장치(14) 및 RAM(18)은 또한 하나 이상의 프로그램 모듈을 저장할 수 있다. 구체적으로, 대용량 저장 장치(14) 및 RAM(18)은 비가동 시간 관리 애플리케이션(104A), 이벤트 데이터(106A) 및 서버 애플리케이션(160)을 포함할 수 있다.
도 3은 일실시예에 따라 컴퓨터 네트워크의 시스템 비가동 시간을 자동으로 관리하기 위한 루틴(300)을 도시하는 흐름도이다. 도 1 및 2의 컴포넌트가 도 3의 개시에서 참조되지만, 실시예는 이에 한정되지 않는다. 본 명세서에 제공되는 루틴의 개시들을 참조할 때, 본 발명의 다양한 실시예의 논리적 동작이 (1) 컴퓨팅 시스템 상에서 실행되는 컴퓨터 구현 동작의 시퀀스 또는 프로그램 모듈 및/또는 (2) 컴퓨팅 시스템 내의 상호연결된 머신 논리 회로 또는 회로 모듈로서 구현된다 는 것을 이해할 수 있다. 본 구현은 발명을 구현하는 컴퓨팅 시스템의 성능 요건에 따라 선택될 수 있다. 따라서, 도 3 내지 5에 도시되는 논리적 동작 및 본 명세서에 개시되는 본 발명의 실시예의 구성은 연산, 구조적 장치, 동작 또는 모듈로서 다양하게 참조된다. 본 기술분야의 당업자는 이러한 연산, 구조적 장치, 동작 및 모듈이 본 명세서의 청구항에 기재되는 본 발명의 사상과 범위를 벗어나지 않으면서 소프트웨어, 펌웨어, 전용 디지털 로직 및 이들의 임의의 조합으로 구현될 수 있다는 것을 이해할 수 있다.
루틴(300)은 애플리케이션 서버(102A 또는 102B)(이하 애플리케이션 프로그램(102A)으로 지칭함) 상에서 실행되는 비가동 시간 관리 애플리케이션(104A 또는 104B)이 모두 수신된 이벤트 데이터(106A)로부터 스케줄링된 비가동 시간 이벤트를 생성하기 위해 사용되는 동작(305)에서 시작한다. 도 1에서 개시된 바와 같이, 이벤트 데이터(106A)는 스케줄링된 비가동 시간에 대한 날짜, 운행 중지 윈도우, 비가동 시간 메시지, 연락처 정보, 스케줄링된 비가동 시간과 관련된 우선순위 및 비가동(즉, 오프라인) 웹 서버 및/또는 웹-기반 애플리케이션으로의 서버 요청을 리다이렉트하기 위한 리다이렉트 장소(URL)를 포함할 수 있다. 예를 들어, 서버 보수를 수행하거나 또는 소프트웨어 패치의 설치와 같은 업그레이드를 위해 웹 서버(112C)를 오프라인으로 하기 위한 비가동 시간 이벤트가 생성될 수 있다.
동작(305)으로부터, 루틴(300)은 비가동 시간 관리 애플리케이션(104A)이 비가동 시간으로 스케줄링된 웹 서버(예를 들어, 웹 서버(112C))를 네트워크 부하 분산기(116)로부터 자동으로 제거하는 동작(310)으로 진행한다. 구체적으로, 비가동 시간 관리 애플리케이션(104A)은 스케줄링된 비가동 시간에 클라이언트 컴퓨터(150 및 152)로부터의 요청을 라우팅하는 것을 중지시키기 위해 애플리케이션 서버(102A)가 자동으로 네트워크 부하 분산기(116)와 통신할 것을 지시하도록 구성될 수 있다.
동작(310)으로부터, 루틴(300)은 비가동 시간 관리 애플리케이션(104A)이 오프라인으로 스케줄링된 웹 서버가 비가동임을 나타내는 비가동 시간 통지 메시지를 자동으로 전달하는 동작(315)으로 진행한다. 일실시예에 따르면, 비가동 시간 통지 메시지는 스케줄링된 비가동 시간에 대한 이유(예를 들어, 서버 보수), 운행 중지 윈도우 및 추가적인 정보를 획득하기 위한 연락처 정보(예를 들어, 전화 번호 또는 이메일 주소)와 같은 정보를 포함한다. 비가동 시간 통지 메시지는 스케줄링된 비가동 시간 또는 그 이전에 전달될 수 있는 전자 메일(e-mail) 메시지 또는 개인용 정보 관리 캘린더 아이템이 될 수 있다. 다른 실시예에 따르면, 비가동 시간 통지 메시지는 스케줄링된 비가동 시간 이전에 영향을 받는 웹 서버 상에 호스팅되는 업데이트된 웹 페이지를 포함할 수 있다. 본 실시예에서, 비가동 시간 관리 애플리케이션(104A)은 웹 페이지가 "본 웹사이트는 사용이 불가합니다"와 같은 비가동 시간 통지 메시지를 포함하기 위한 업데이트를 위해 스케줄링된 비가동 시간 이전의 사전결정된 기간에 영향을 받는 웹 서버와 통신하도록 구성될 수 있다.
동작(315)으로부터, 루틴(300)은 비가동 시간 관리 애플리케이션(104A)이 스케줄링된 비가동 시간 기간 동안 오프라인 웹 서버로의 요청을 지정된 URL로 자동으로 리다이렉트하는 동작(320)으로 진행한다. 구체적으로, 비가동 시간 관리 애 플리케이션(104A)은 스케줄링된 비가동 시간 동안 클라이언트 컴퓨터(150 및 152)로부터의 웹 페이지 요청을 (웹 서버(112B)와 같은) 온라인 웹 서버로 리다이렉트하기 위해 애플리케이션 서버(102A)가 자동으로 DNS 서버(114)와 통신할 것을 지시하도록 구성될 수 있다. 일실시예에 따르면, 온라인 웹 서버는 스케줄링된 비가동 시간 동안 사용자 경험에 영향이 없도록 오프라인 웹 서버에 관한 중복되는 기능(즉, 동일한 웹 페이지 및/또는 웹-기반 애플리케이션의 호스팅)을 가질 수 있다. 스케줄링된 비가동 시간의 종료 시에 웹 서버를 네트워크 부하 분산기(116)에 재-추가하고 DNS 서버(114)가 요청을 이전의 URL로 다시 재-맵핑하도록 구성하여 오프라인 웹 서버가 다시 온라인 상태로 돌아갈 수 있다는 것을 이해할 수 있다. 동작(320)으로부터, 루틴(300)은 종료된다.
도 4로 돌아가면, 대안적인 실시예에 따라 컴퓨터 네트워크에서 시스템 비가동 시간을 자동으로 관리하기 위한 루틴(400)이 개시된다. 도 4에 개시된 동작이 웹-기반 애플리케이션 또는 속성(properties)은 오프라인이지만 웹 서버 자체는 비가동 시간으로 스케줄링되지 않은 영향이 없는 애플리케이션 또는 속성에 관한 기능을 유지하는 상황에 적용될 수 있다는 것을 이해할 수 있다.
루틴(400)은 수신된 이벤트 데이터(106A)로부터 스케줄링된 비가동 시간 이벤트를 생성하기 위해 애플리케이션 프로그램(102A)이 사용되는 동작(405)에서 시작한다. 도 1의 개시에서 논의한 바와 같이, 이벤트 데이터(106A)는 스케줄링된 비가동 시간에 대한 날짜, 운행 중지 윈도우, 비가동 시간 메시지, 연락처 정보, 스케줄링된 비가동 시간과 관련된 우선순위 및 비가동(즉, 오프라인) 웹-기반 애플 리케이션으로의 서버 요청을 리다이렉트하기 위한 리다이렉트 장소(URL)를 포함할 수 있다. 예를 들어, 웹 서버(112C)는 조직의 IT 부서, 인사 관리 부서 및 법무 부서에 대한 웹-기반 애플리케이션을 호스팅하기 위해 구성될 수 있다. 일실시예에 따르면, (CPU 자원을 사용하거나 또는 애플리케이션을 불안정하게 할 수 있는 새로운 최적화를 구현하는 애플리케이션 때문에) 인사 관리 부서에 대한 애플리케이션을 오프라인으로 하여 이것이 다른 웹 서버로 이동될 수 있도록 하기 위해 비가동 시간 이벤트가 생성될 수 있다.
동작(405)으로부터, 루틴(400)은 비가동 시간 관리 애플리케이션(104A)이 스케줄링된 비가동 시간 이전에 자동으로 웹-기반 애플리케이션 또는 속성에 대한 요청을 자동으로 중단시키는 동작(410)으로 진행한다. 예를 들어, 비가동 시간 관리 애플리케이션(104A)은 스케줄링된 비가동 시간 30분 전에 클라이언트 컴퓨터(150 및 152)로부터 웹-기반 애플리케이션 또는 속성으로의 인커밍 요청의 제공을 중단시키기 위해 애플리케이션 서버(102A)가 자동으로 DNS 서버와 통신할 것을 지시하도록 구성될 수 있다.
동작(410)으로부터, 루틴(400)은 비가동 시간 관리 애플리케이션(104A)이 오프라인으로 스케줄링된 웹-기반 애플리케이션 또는 속성이 비가동임을 나타내는 비가동 시간 통지 메시지를 자동으로 전달하는 동작(415)으로 진행한다. 일실시예에 따르면, 비가동 시간 통지 메시지는 스케줄링된 비가동 시간에 대한 이유, 운행 중지 윈도우 및 추가적인 정보를 획득하기 위한 연락처 정보(예를 들어, 핸드폰 번호 또는 이메일 주소)에 관한 정보를 포함할 수 있다. 비가동 시간 통지 메시지는 스 케줄링된 비가동 시간에 또는 그 이전에 전달될 수 있는 이메일 메시지 또는 개인용 정보 관리 캘린더 아이템이 될 수 있다. 비가동 시간 통지 메시지의 전달을 위한 기간은 비가동 시간 이벤트의 생성 시기에 관리자에 의해 지정될 수 있고 높은 우선순위 이벤트에 대하여 비가동 시간 통지 메시지가 스케줄링된 비가동 시간 이전의 사전 설정된 기간(예를 들어, 24시간)에 자동으로 전달되도록 비가동 시간 이벤트에 우선순위 분류(예를 들어, 낮음, 중간 및 높음)가 더 할당될 수 있다는 것을 이해할 수 있다.
동작(415)으로부터, 루틴(400)은 비가동 시간 관리 애플리케이션(104A)이 오프라인 웹-기반 애플리케이션 또는 속성에 대한 요청을 자동으로 리다이렉트하는 동작(420)으로 진행한다. 구체적으로, 비가동 시간 관리 애플리케이션(104A)은 스케줄링된 비가동 시간 동안 클라이언트 컴퓨터(150 및 152)로부터 인커밍 웹-기반 애플리케이션 요청을 리다이렉트하기 위해 애플리케이션 서버(102A)가 자동으로 DNS 서버(114)와 통신할 것을 지시하도록 구성될 수 있다. 일실시예에 따르면, 인커밍 웹-기반 애플리케이션 요청은 웹-기반 애플리케이션이 현재 사용불가하다는 것을 나타내는 웹 페이지에 대한 대안적인 URL로 리다이렉트될 수 있다. 다른 실시예에 따르면, 인커밍 웹-기반 애플리케이션 요청은 웹 서버 상의 웹-기반 애플리케이션의 제2 버전으로 리다이렉트될 수 있다. 구체적으로, 웹-기반 애플리케이션을 호스팅하는 웹 서버는 웹-기반 애플리케이션의 판독/기록 버전 및 판독-전용 버전 둘 다로 구성될 수 있다. 웹-기반 애플리케이션의 판독/기록 버전이 (예를 들어, 업그레이드를 위해) 오프라인일 때, 인커밍 요청은 판독/기록 버전의 업그레이 드가 수행될 동안 사용자가 (변경을 허용하지 않으면서) 데이터에 대한 액세스는 계속 가능할 수 있도록 판독-전용 버젼으로 리다이렉트될 수 있다. 일실시예에 따르면, 웹-기반 애플리케이션의 판독/기록 및 판독-전용 버전이 동일한 URL과 연결되어, 시스템 관리자가 복수의 URL을 관리해야 할 필요성을 제거할 수 있다는 것을 이해할 수 있다. 일실시예에서, 양 애플리케이션을 호스팅하는 웹 서버는 요청하는 사용자에게 보여줄 버전을 자동으로 검출하도록 구성될 수 있다(예를 들어, 새로운 또는 판독/기록 버젼이 업그레드 수행 중이 아니라면 이러한 버전이 보여진다). 그 다음에 루틴(400)은 종료된다.
도 5로 돌아가면, 대안적인 실시예에 따라 컴퓨터 네트워크의 시스템 비가동 시간을 자동으로 관리하기 위한 루틴(500)이 개시된다. 루틴(500)은 오류 상황을 검출하기 위해 네트워크(100)의 웹 서버(112A, 112B 및 112C)의 동작을 자동으로 모니터링하도록 비가동 시간 관리 애플리케이션 프로그램(104A)이 사용되는 동작(505)에서 시작된다. 구체적으로, 비가동 시간 관리 애플리케이션(104A)은 웹 서버가 웹사이트에 대한 컨텐츠 데이터베이스에 연결하는 것이 가능한지 그렇지 않은지와 같은 시스템 오류에 대하여 웹 서버(112A, 112B 및 112C)를 주기적으로(예를 들어, 매 시마다 또는 매 일마다) 모니터링하는 시스템 상태 및 진단 기능으로 구성될 수 있다.
동작(510)에서, 웹 서버(112A, 112B 및 112C) 중 어디에도 오류 상황이 존재하지 않는다고 판정되면, 루틴(500)은 비가동 시간 관리 애플리케이션(104A)이 오류 상황을 검출하기 위해 웹 서버 모니터링을 계속하는 동작(505)으로 진행한다. 그러나, 동작(510)에서 비가동 시간 관리 애플리케이션(104A)이 웹 서버(112A, 112B 및 112C) 중 어느 하나에 오류 상황이 존재한다고 판정하면, 루틴(510)은 비가동 시간 관리 애플리케이션(104A)이 영향받는 웹 서버가 비가동(오프라인)인 것으로 판정하는 동작(515)으로 진행한다.
동작(515)으로부터, 루틴(500)은 비가동 시간 관리 애플리케이션(104A)이 영향받는 웹 서버에 대한 요청을 네트워크(100)의 (비가동 시간 관리 애플리케이션(104A)에서 관리자에 의해 미리 지정될 수 있는) 대안적인 서버로 리다이렉트하는 동작(520)으로 진행한다. 구체적으로, 비가동 시간 관리 애플리케이션(104A)은 클라이언트 컴퓨터(150 및 152)로부터의 인커밍 요청(웹-기반 애플리케이션 및 웹 페이지 요청을 포함함)을 대안적인 서버로 리다이렉트하기 위해 애플리케이션 서버(102A)가 자동으로 DNS 서버(114)와 통신할 것을 지시하도록 구성될 수 있다.
동작(520)으로부터, 루틴(500)은 모든 인커밍 요청에 대하여 요청된 웹 페이지, 웹사이트 또는 웹-기반 애플리케이션을 호스팅하는 서버가 비가동이라는 것을 나타내는 비가동 시간 통지 메시지 웹 페이지를 보여주기 위해 비가동 시간 관리 애플리케이션(104A)이 애플리케이션 서버(102A)가 대안적인 서버와 통신할 것을 지시하도록 구성될 수 있는 동작(525)으로 진행된다. 동작(525)으로부터, 루틴(500)은 비가동 시간 관리 애플리케이션(104A)이 비가동 시간 통지 메시지를 현재 스케줄링된 비가동 시간을 야기하는 오류 상황에 대하여 응답할 수 있는 당사자에게 자동으로 전달하는 동작(530)으로 진행한다. 예를 들어, 오류 진단으로 인해 웹 서버가 비가동이라고 판정되면 비가동 시간 관리 애플리케이션(104A)은 운영 기술자 에게 자동으로 이메일을 송신하도록 구성될 수 있다. 오류를 인식하면, 기술자는 감지된 오류의 정정을 시작할 수 있다. 그 다음에 루틴(500)은 종료된다.
본 발명은 다양한 예시적인 실시예와 관련하여 개시되었지만, 본 기술분야의 당업자는 다음의 청구항의 범위 내에서 많은 수정이 행해질 수 있다는 것을 이해할 수 있다. 따라서, 본 발명의 범위는 상기 개시에 의해 한정되지 않으며, 전적으로 다음의 청구항을 참조하여 결정된다.

Claims (20)

  1. 웹-기반 애플리케이션들(127A)을 위한 분산 운영 체제를 지원하는 복수의 서버를 포함하는 컴퓨터 네트워크(100)에서 시스템 비가동 시간(system downtime)을 자동으로 관리하는 방법으로서,
    애플리케이션 서버(104A)에서, 상기 컴퓨터 네트워크(100)의 적어도 하나의 웹 서버(112A)에 관한 비가동 시간을 스케줄링하기 위한 이벤트(106A)를 생성하는 단계(305);
    상기 스케줄링된 비가동 시간에 상기 복수의 서버와 관련된 네트워크 부하 분산기(network load balancer; 116)로부터 상기 적어도 하나의 웹 서버를 자동으로 제거하는 단계(310); 및
    상기 적어도 하나의 웹 서버가 비가동(down)임을 나타내는 비가동 시간 통지 메시지(106A)를 자동으로 전달하는 단계(315)
    를 포함하는 방법.
  2. 제1항에 있어서,
    상기 스케줄링된 비가동 시간 동안 상기 적어도 하나의 웹 서버로의 요청(320)들을 처리하기 위하여 비가동 시간으로 스케줄링된 상기 적어도 하나의 웹 서버로의 상기 요청들을 상기 이벤트(106A)에서 지정된 URL(universal resource locator)로 자동으로 리다이렉트(redirecting)하는 단계를 더 포함하는 방법.
  3. 제1항에 있어서,
    비가동 시간으로 스케줄링된 상기 적어도 하나의 웹 서버로의 요청들을 상기 스케줄링된 비가동 시간에 앞서 적어도 하나의 중복된 웹 서버(112B)로 자동으로 리다이렉트하는 단계를 더 포함하는 방법.
  4. 제1항에 있어서,
    상기 스케줄링된 비가동 시간에 앞서 상기 적어도 하나의 웹 서버에 의해 호스팅되는 웹 페이지들(125A)을 비가동 시간 통지 메시지로 자동으로 업데이트하는 단계를 더 포함하는 방법.
  5. 제1항에 있어서,
    상기 컴퓨터 네트워크의 적어도 하나의 웹 서버에 관한 비가동 시간 스케줄링을 위한 이벤트를 생성하는 단계는,
    비가동 시간이 시작되기로 스케줄링된 날짜 및 시간을 포함하는 제1 데이터, 상기 비가동 시간과 관련된 운행 중지 윈도우(outage window)의 길이를 포함하는 제2 데이터, 상기 비가동 시간에 대한 이유를 포함하는 제3 데이터, 상기 비가동 시간과 관련된 추가 정보를 위한 연락처를 포함하는 제4 데이터 또는 상기 비가동 시간 동안 상기 적어도 하나의 웹 서버로의 요청들을 리다이렉트하기 위한 장소를 포함하는 제5 데이터
    중 적어도 하나를 포함하는 데이터(106A)를 수신하는 단계를 포함하는 방법.
  6. 웹-기반 애플리케이션(127A)을 위한 분산 운영 체제를 지원하는 복수의 서버를 포함하는 컴퓨터 네트워크(100)에서 시스템 비가동 시간을 자동으로 관리하기 위한 시스템(102A)으로서,
    실행가능한 프로그램 코드(104A)를 저장하기 위한 메모리(12); 및
    상기 메모리와 기능적으로 연결된 프로세서(8)
    를 포함하고,
    상기 프로세서는 상기 프로그램 코드(104A)에 포함된 컴퓨터-실행가능 명령어들에 응답하여,
    애플리케이션 서버(102A)에서, 상기 컴퓨터 네트워크(100)의 적어도 하나의 웹-기반 애플리케이션(127A)에 관한 비가동 시간을 스케줄링하기 위한 이벤트(106A)를 생성(405)하고,
    상기 스케줄링된 비가동 시간 이전에 웹 서버(112A) 상의 상기 적어도 하나의 웹-기반 애플리케이션으로의 요청들(410)을 자동으로 중단시키고,
    상기 적어도 하나의 웹-기반 애플리케이션(127A)으로의 요청들(420)을 자동으로 리다이렉트하도록 동작하는 시스템.
  7. 제6항에 있어서,
    상기 스케줄링된 비가동 시간 이전에 웹 서버 상의 상기 적어도 하나의 웹- 기반 애플리케이션으로의 요청들을 자동으로 중단시키는 상기 프로세서는 상기 적어도 하나의 웹-기반 애플리케이션과 관련된 URL로의 인커밍 요청들(incoming requests)의 제공을 중단시키도록 동작하는 시스템.
  8. 제6항에 있어서,
    상기 적어도 하나의 웹-기반 애플리케이션과 관련된 URL로의 요청들을 자동으로 리다이렉트하는 상기 프로세서는 요청들을 상기 URL로부터 대안적인 URL로 리다이렉트하도록 동작하고, 상기 대안적인 URL은 상기 스케줄링된 비가동 시간 동안 상기 적어도 하나의 웹-기반 애플리케이션이 현재 사용불가하다는 것을 나타내는 웹 페이지와 관련이 있는 시스템.
  9. 제6항에 있어서,
    상기 적어도 하나의 웹-기반 애플리케이션으로의 요청들을 자동으로 리다이렉트하는 상기 프로세서는 상기 웹 서버 상의 상기 적어도 하나의 웹-기반 애플리케이션의 제1 버전과 상기 적어도 하나의 웹-기반 애플리케이션의 제2 버전 사이에서 스위칭하도록 동작하고, 상기 적어도 하나의 웹-기반 애플리케이션의 상기 제1 및 제2 버전은 단일 URL과 관련이 있는 시스템.
  10. 제9항에 있어서,
    상기 적어도 하나의 웹-기반 애플리케이션의 상기 제2 버전은 판독-전용 버 전인 시스템.
  11. 제6항에 있어서,
    상기 컴퓨터 네트워크의 적어도 하나의 웹-기반 애플리케이션에 관한 비가동 시간을 스케줄링하기 위한 이벤트를 생성하는 상기 프로세서는 상기 이벤트에 대한 우선순위 레벨을 지정하는 우선순위 데이터를 수신하도록 동작하고, 상기 우선순위 레벨은 상기 웹-기반 에플리케이션의 사용자들이 상기 스케줄링된 비가동 시간을 어떻게 통지받을지 결정하는 시스템.
  12. 제6항에 있어서,
    상기 프로세서는 상기 스케줄링된 비가동 시간 이전에 상기 적어도 하나의 웹-기반 애플리케이션의 사용자들에게 비가동 시간 통지 메시지를 자동으로 전달하도록 더 동작하는 시스템.
  13. 제12항에 있어서,
    상기 비가동 시간 통지 메시지는 개인용 정보 관리기(personal information manager)의 캘린더 아이템(calendar item)을 포함하는 시스템.
  14. 제12항에 있어서,
    상기 비가동 시간 통지 메시지는 이메일(e-mail) 메시지를 포함하는 시스템.
  15. 제6항에 있어서,
    상기 컴퓨터 네트워크의 적어도 하나의 웹-기반 애플리케이션에 관한 비가동 시간을 스케줄링하기 위한 이벤트를 생성하는 상기 프로세서는,
    상기 비가동 시간이 시작되도록 스케줄링된 날짜 및 시간을 포함하는 제1 데이터의 수신, 상기 비가동 시간과 관련된 운행 중지 윈도우의 길이를 포함하는 제2 데이터의 수신, 상기 비가동 시간에 대한 이유를 포함하는 제3 데이터의 수신, 상기 비가동 시간과 관련된 추가 정보를 위한 연락처를 포함하는 제4 데이터의 수신 또는 상기 비가동 시간 동안 상기 적어도 하나의 웹-기반 애플리케이션에 관한 요청들을 리다이렉트하기 위한 대안적인 URL을 포함하는 제5 데이터의 수신
    중 적어도 하나를 수행하도록 동작하는 시스템.
  16. 제6항에 있어서,
    상기 적어도 하나의 웹-기반 애플리케이션은 사용자 계정 패스워드를 업데이트하기 위한 애플리케이션인 시스템.
  17. 컴퓨터 상에서 실행될 때 상기 컴퓨터가 컴퓨터 네트워크(100)에서 시스템 비가동 시간을 자동으로 관리하는 방법을 수행하도록 하는 컴퓨터 실행가능 명령어들을 포함하는 컴퓨터-판독가능 저장 매체로서,
    상기 방법은,
    네트워크의 복수의 웹 서버(112A, 112B, 112C) 중 적어도 하나에서 오류 상황의 존재를 검출하기 위해 상기 복수의 웹 서버의 동작을 자동으로 모니터링 하는 단계(505);
    오류 상황이 존재하면(510), 상기 적어도 하나의 웹 서버가 비가동임을 판정하는 단계(515); 및
    상기 비가동 웹 서버로의 요청들을 상기 네트워크의 대안적인 서버로 자동으로 리다이렉트하는 단계(520)
    를 포함하는 컴퓨터-판독가능 저장 매체.
  18. 제17항에 있어서,
    상기 대안적인 서버에 의해 호스팅되는 웹 페이지 상에 비가동 시간 통지 메시지를 표시하는 단계(525)를 더 포함하는 컴퓨터-판독가능 저장 매체.
  19. 제17항에 있어서,
    상기 네트워크의 복수의 웹 서버 중 적어도 하나에서 오류 상황의 존재를 검출하기 위해 상기 복수의 웹 서버의 동작을 자동으로 모니터링하는 단계는 상기 복수의 웹 서버의 동작을 주기적으로 모니터링하는 단계를 포함하는 컴퓨터-판독가능 저장 매체.
  20. 제19항에 있어서,
    비가동 웹 서버로 상기 요청들을 송신하는 사용자들에게 비가동 시간 통지 메시지를 자동으로 전달하는 단계(530)를 더 포함하는 컴퓨터-판독가능 저장 매체.
KR1020097026457A 2007-06-29 2008-06-14 컴퓨터 네트워크에서의 시스템 비가동 시간 자동 관리 Active KR101532450B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/771,720 2007-06-29
US11/771,720 US8181071B2 (en) 2007-06-29 2007-06-29 Automatically managing system downtime in a computer network
PCT/US2008/067045 WO2009006005A2 (en) 2007-06-29 2008-06-14 Automatically managing system downtime in a computer network

Publications (2)

Publication Number Publication Date
KR20100031574A true KR20100031574A (ko) 2010-03-23
KR101532450B1 KR101532450B1 (ko) 2015-06-29

Family

ID=40162217

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097026457A Active KR101532450B1 (ko) 2007-06-29 2008-06-14 컴퓨터 네트워크에서의 시스템 비가동 시간 자동 관리

Country Status (7)

Country Link
US (1) US8181071B2 (ko)
EP (1) EP2176775B1 (ko)
JP (1) JP5211160B2 (ko)
KR (1) KR101532450B1 (ko)
CN (1) CN101689161B (ko)
TW (1) TWI450530B (ko)
WO (1) WO2009006005A2 (ko)

Families Citing this family (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090150872A1 (en) * 2006-07-04 2009-06-11 George Russell Dynamic code update
US8181071B2 (en) 2007-06-29 2012-05-15 Microsoft Corporation Automatically managing system downtime in a computer network
US8060585B2 (en) * 2008-02-06 2011-11-15 Qualcomm Incorporated Self service distribution configuration framework
US8832259B1 (en) * 2009-10-30 2014-09-09 Hewlett-Packard Development Company, L.P. Virtual service mode methods for network remote monitoring and managing system
JP2011138225A (ja) * 2009-12-25 2011-07-14 Canon Inc クラスタシステム、情報処理装置、制御方法、及びプログラム
US8352661B1 (en) * 2010-03-24 2013-01-08 Emc Corporation Data storage systems having seamless software upgrades
US8533337B2 (en) * 2010-05-06 2013-09-10 Citrix Systems, Inc. Continuous upgrading of computers in a load balanced environment
CN102300028A (zh) * 2010-06-28 2011-12-28 株式会社东芝 数据处理装置、图像处理系统以及数据处理方法
US8484503B2 (en) * 2010-08-18 2013-07-09 International Business Machines Corporation Disaster recovery replication throttling in deduplication systems
US20120072323A1 (en) * 2010-09-17 2012-03-22 Bank Of America Corporation Maintaining online functionality during an outage
US8392526B2 (en) 2011-03-23 2013-03-05 Color Labs, Inc. Sharing content among multiple devices
US9077627B2 (en) * 2011-03-28 2015-07-07 Hewlett-Packard Development Company, L.P. Reducing impact of resource downtime
US20120259956A1 (en) * 2011-04-07 2012-10-11 Infosys Technologies, Ltd. System and method for implementing a dynamic change in server operating condition in a secured server network
US20120311375A1 (en) * 2011-06-01 2012-12-06 Microsoft Corporation Redirecting requests to secondary location during temporary outage
US8850261B2 (en) 2011-06-01 2014-09-30 Microsoft Corporation Replaying jobs at a secondary location of a service
US10585766B2 (en) 2011-06-06 2020-03-10 Microsoft Technology Licensing, Llc Automatic configuration of a recovery service
US8621019B2 (en) 2011-09-21 2013-12-31 Color Labs, Inc. Live content sharing within a social networking environment
US9152487B2 (en) * 2011-09-30 2015-10-06 Microsoft Technology Licensing, Llc Service outage details in an error message
CN102387211B (zh) * 2011-10-24 2014-07-30 浪潮(北京)电子信息产业有限公司 实现网络应用软件web服务使用的方法及系统
US9648138B1 (en) * 2012-03-27 2017-05-09 Open Text Corporation Method and system for virtual server dormancy
US10237341B1 (en) * 2012-03-29 2019-03-19 Emc Corporation Method and system for load balancing using server dormant mode
US9319274B1 (en) * 2012-03-29 2016-04-19 Emc Corporation Method and system for dynamic provisioning using server dormant mode for virtual server dormancy
US9262253B2 (en) 2012-06-28 2016-02-16 Microsoft Technology Licensing, Llc Middlebox reliability
US9229800B2 (en) 2012-06-28 2016-01-05 Microsoft Technology Licensing, Llc Problem inference from support tickets
US9184994B2 (en) * 2012-08-01 2015-11-10 Sap Se Downtime calculator
US9311305B2 (en) 2012-09-28 2016-04-12 Oracle International Corporation Online upgrading of a database environment using transparently-patched seed data tables
US9565080B2 (en) 2012-11-15 2017-02-07 Microsoft Technology Licensing, Llc Evaluating electronic network devices in view of cost and service level considerations
US20140164477A1 (en) * 2012-12-06 2014-06-12 Gary M. Springer System and method for providing horizontal scaling of stateful applications
US9154540B2 (en) * 2012-12-11 2015-10-06 Microsoft Technology Licensing, Llc Smart redirection and loop detection mechanism for live upgrade large-scale web clusters
US9497079B2 (en) * 2013-06-13 2016-11-15 Sap Se Method and system for establishing, by an upgrading acceleration node, a bypass link to another acceleration node
US9350601B2 (en) 2013-06-21 2016-05-24 Microsoft Technology Licensing, Llc Network event processing and prioritization
US9372734B2 (en) 2013-08-27 2016-06-21 Bank Of America Corporation Outage window scheduler tool
CN104951852A (zh) * 2014-03-24 2015-09-30 阿里巴巴集团控股有限公司 周期性订单信息的处理方法及系统
US11455590B2 (en) * 2014-10-09 2022-09-27 Splunk Inc. Service monitoring adaptation for maintenance downtime
JP6306499B2 (ja) * 2014-12-25 2018-04-04 クラリオン株式会社 障害情報提供サーバ、障害情報提供方法
US10320892B2 (en) 2015-01-02 2019-06-11 Microsoft Technology Licensing, Llc Rolling capacity upgrade control
CN106302595B (zh) 2015-06-02 2020-03-17 阿里巴巴集团控股有限公司 一种对服务器进行健康检查的方法及设备
US10409579B1 (en) 2016-04-19 2019-09-10 Wells Fargo Bank, N.A. Application healthcheck communicator
US10512053B2 (en) * 2016-05-10 2019-12-17 Servicenow, Inc. System and method for selectively hibernating and restarting a node of an application instance
US10868883B2 (en) * 2016-06-29 2020-12-15 Nicira, Inc. Upgrading a proxy that decouples network connections from an application during application's downtime
US10587673B2 (en) 2016-06-29 2020-03-10 Nicira, Inc. Decoupling network connections from an application while the application is temporarily down
US10896070B2 (en) 2017-09-22 2021-01-19 Open Text Corporation Stateless content management system
KR101862000B1 (ko) * 2017-11-22 2018-05-29 팝펀딩 주식회사 다중 거래소를 사용하는 암호화폐 리스크 관리시스템
US10628512B2 (en) 2018-05-04 2020-04-21 International Business Machines Corporation Callback notification for unavailable websites
US10904124B2 (en) 2018-11-07 2021-01-26 International Business Machines Corporation System and method for dynamic stopping of cloud-based provisioning requests
US11516286B2 (en) * 2019-03-28 2022-11-29 Comcast Cable Communications, Llc Managing service capacity
US10902416B1 (en) 2019-12-19 2021-01-26 Ripple Labs Inc. Network computing system implementing on-demand liquidity for cross-medium transaction services
US11570246B1 (en) 2021-11-17 2023-01-31 Saudi Arabian Oil Company Layer 7 health check automated execution framework
US11922161B2 (en) * 2022-03-07 2024-03-05 Bank Of America Corporation Scheduling a pausable automated process in a computer network

Family Cites Families (36)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5790431A (en) * 1995-11-20 1998-08-04 International Business Machines Corporation Method and system for measuring availability in a distributed network
US6021262A (en) * 1996-07-12 2000-02-01 Microsoft Corporation System and method for detection of, notification of, and automated repair of problem conditions in a messaging system
US5987513A (en) * 1997-02-19 1999-11-16 Wipro Limited Network management using browser-based technology
US6052803A (en) * 1997-09-26 2000-04-18 3Com Corporation Key-based technique for assuring and maintaining integrity of firmware stored in both volatile and non-volatile memory
US6167379A (en) * 1998-03-24 2000-12-26 Siemens Information And Communication Networks, Inc. System for user to accept or decline updating a calendar remotely with a proposed schedule update that may have schedule confliction
US6565608B1 (en) * 1998-12-16 2003-05-20 Microsoft Corporation Method and system for customizing alert messages
US6625636B1 (en) * 1999-05-13 2003-09-23 International Business Machines Corporation Job protection within a distributed processing system having subsystem downtime
US7441045B2 (en) * 1999-12-13 2008-10-21 F5 Networks, Inc. Method and system for balancing load distribution on a wide area network
US6738811B1 (en) * 2000-03-31 2004-05-18 Supermicro Computer, Inc. Method and architecture for monitoring the health of servers across data networks
US7099933B1 (en) * 2000-07-11 2006-08-29 Nortel Networks Limited System and method for regulating web site access
JP3654151B2 (ja) 2000-07-17 2005-06-02 日本電気株式会社 携帯端末を利用した保守情報通知方法及びシステム並びに記録媒体
US6981039B2 (en) * 2000-08-01 2005-12-27 Qwest Communications International, Inc. Fault management in a VDSL network
JP2002108728A (ja) * 2000-10-02 2002-04-12 Ntt Docomo Inc 障害情報の掲載方法およびプロバイダ設備
US7035921B1 (en) * 2000-11-14 2006-04-25 Hewlett-Packard Development Company, L.P. Method of and apparatus for providing web service using a network of servers
US7296268B2 (en) * 2000-12-18 2007-11-13 Microsoft Corporation Dynamic monitor and controller of availability of a load-balancing cluster
US6820215B2 (en) * 2000-12-28 2004-11-16 International Business Machines Corporation System and method for performing automatic rejuvenation at the optimal time based on work load history in a distributed data processing environment
US7325047B2 (en) * 2001-05-23 2008-01-29 International Business Machines Corporation Dynamic undeployment of services in a computing network
US6978398B2 (en) * 2001-08-15 2005-12-20 International Business Machines Corporation Method and system for proactively reducing the outage time of a computer system
US7155462B1 (en) * 2002-02-01 2006-12-26 Microsoft Corporation Method and apparatus enabling migration of clients to a specific version of a server-hosted application, where multiple software versions of the server-hosted application are installed on a network
US7039828B1 (en) * 2002-02-28 2006-05-02 Network Appliance, Inc. System and method for clustered failover without network support
US7250846B2 (en) * 2002-03-05 2007-07-31 International Business Machines Corporation Method and apparatus for providing dynamic user alert
US7149917B2 (en) * 2002-07-30 2006-12-12 Cisco Technology, Inc. Method and apparatus for outage measurement
US20040163007A1 (en) * 2003-02-19 2004-08-19 Kazem Mirkhani Determining a quantity of lost units resulting from a downtime of a software application or other computer-implemented system
US7389510B2 (en) * 2003-11-06 2008-06-17 International Business Machines Corporation Load balancing of servers in a cluster
US7516362B2 (en) * 2004-03-19 2009-04-07 Hewlett-Packard Development Company, L.P. Method and apparatus for automating the root cause analysis of system failures
JP4571937B2 (ja) 2004-03-25 2010-10-27 ソフトバンクBb株式会社 アクセスシステム及びアクセス方法
US20060224720A1 (en) * 2005-03-10 2006-10-05 Bhogal Kulvir S Method, computer program product, and system for mapping users to different application versions
US8910689B2 (en) * 2005-03-15 2014-12-16 The Procter & Gamble Company Apparatus for reducing downtime in web processes
US7308370B2 (en) * 2005-03-22 2007-12-11 Elster Electricity Llc Using a fixed network wireless data collection system to improve utility responsiveness to power outages
JP2006285315A (ja) 2005-03-31 2006-10-19 Hitachi Ltd ソフトウェア構成変更方式
US7310592B2 (en) * 2005-04-22 2007-12-18 Microsoft Corporation Method and apparatus to group sets of computers into classes for statistical analysis
US7873505B2 (en) * 2005-06-27 2011-01-18 Alcatel-Lucent Usa Inc. Method and apparatus for predicting scheduled system downtime
ATE434310T1 (de) 2005-10-31 2009-07-15 Packetfront Systems Ab Hochverfügbarkeitsnetzwerksystem
US7549079B2 (en) * 2005-11-30 2009-06-16 Oracle International Corporation System and method of configuring a database system with replicated data and automatic failover and recovery
US7676702B2 (en) * 2006-08-14 2010-03-09 International Business Machines Corporation Preemptive data protection for copy services in storage systems and applications
US8181071B2 (en) 2007-06-29 2012-05-15 Microsoft Corporation Automatically managing system downtime in a computer network

Also Published As

Publication number Publication date
US8181071B2 (en) 2012-05-15
WO2009006005A2 (en) 2009-01-08
JP5211160B2 (ja) 2013-06-12
KR101532450B1 (ko) 2015-06-29
WO2009006005A3 (en) 2009-02-12
CN101689161B (zh) 2016-03-09
EP2176775B1 (en) 2018-02-28
TW200908608A (en) 2009-02-16
TWI450530B (zh) 2014-08-21
US20090006884A1 (en) 2009-01-01
CN101689161A (zh) 2010-03-31
JP2010533905A (ja) 2010-10-28
EP2176775A2 (en) 2010-04-21
EP2176775A4 (en) 2015-01-28

Similar Documents

Publication Publication Date Title
KR101532450B1 (ko) 컴퓨터 네트워크에서의 시스템 비가동 시간 자동 관리
US10805407B2 (en) Supporting high availability for orchestrated services
US9015164B2 (en) High availability for cloud servers
US8010840B2 (en) Generation of problem tickets for a computer system
US11676158B2 (en) Automatic remediation of non-compliance events
US8943496B2 (en) Providing a hosted appliance and migrating the appliance to an on-premise environment
KR101497167B1 (ko) 분산 운영 시스템에서의 외부 하드웨어 기기의 관리
US11329869B2 (en) Self-monitoring
US8468386B2 (en) Detecting and recovering from process failures
JP2015506112A (ja) 一時的障害中における第2場所へのリクエストのリダイレクト
US7627667B1 (en) Method and system for responding to an event occurring on a managed computer system
US10740085B2 (en) Webserver interface for deployment management tool
US20020078182A1 (en) Failover service method and system
US10140155B2 (en) Dynamically provisioning, managing, and executing tasks
US8595349B1 (en) Method and apparatus for passive process monitoring
US20220164336A1 (en) System and method for efficiently transferring data for offline use
CN117078211A (zh) 报备文件的数据处理方法、装置和服务器
CN114968983A (zh) 数据处理方法、装置、设备和存储介质
Facts How do I get started?
Cornacchia Solve the data-protection-and-recovery puzzle

Legal Events

Date Code Title Description
PA0105 International application

Patent event date: 20091218

Patent event code: PA01051R01D

Comment text: International Patent Application

PG1501 Laying open of application
A201 Request for examination
PA0201 Request for examination

Patent event code: PA02012R01D

Patent event date: 20130522

Comment text: Request for Examination of Application

PE0902 Notice of grounds for rejection

Comment text: Notification of reason for refusal

Patent event date: 20141031

Patent event code: PE09021S01D

E701 Decision to grant or registration of patent right
PE0701 Decision of registration

Patent event code: PE07011S01D

Comment text: Decision to Grant Registration

Patent event date: 20150331

GRNT Written decision to grant
PR0701 Registration of establishment

Comment text: Registration of Establishment

Patent event date: 20150623

Patent event code: PR07011E01D

PR1002 Payment of registration fee

Payment date: 20150623

End annual number: 3

Start annual number: 1

PG1601 Publication of registration
FPAY Annual fee payment

Payment date: 20180529

Year of fee payment: 4

PR1001 Payment of annual fee

Payment date: 20180529

Start annual number: 4

End annual number: 4

FPAY Annual fee payment

Payment date: 20190530

Year of fee payment: 5

PR1001 Payment of annual fee

Payment date: 20190530

Start annual number: 5

End annual number: 5

PR1001 Payment of annual fee

Payment date: 20200528

Start annual number: 6

End annual number: 6

PR1001 Payment of annual fee

Payment date: 20210527

Start annual number: 7

End annual number: 7

PR1001 Payment of annual fee

Payment date: 20220517

Start annual number: 8

End annual number: 8

PR1001 Payment of annual fee

Payment date: 20240527

Start annual number: 10

End annual number: 10