KR20140025501A - 임시 중단 중에 이차 위치로 요청을 재전송하는 기법 - Google Patents

임시 중단 중에 이차 위치로 요청을 재전송하는 기법 Download PDF

Info

Publication number
KR20140025501A
KR20140025501A KR1020137031843A KR20137031843A KR20140025501A KR 20140025501 A KR20140025501 A KR 20140025501A KR 1020137031843 A KR1020137031843 A KR 1020137031843A KR 20137031843 A KR20137031843 A KR 20137031843A KR 20140025501 A KR20140025501 A KR 20140025501A
Authority
KR
South Korea
Prior art keywords
location
online service
temporary
primary
request
Prior art date
Application number
KR1020137031843A
Other languages
English (en)
Inventor
싯다르스 라젠드라 샤
제프리 맥도웰
빅토리야 타라노브
다니엘 블루드
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20140025501A publication Critical patent/KR20140025501A/ko

Links

Images

Classifications

    • 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/1034Reaction to server failures by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping
    • H04L61/4505Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols
    • H04L61/4511Network directories; Name-to-address mapping using standardised directories; using standardised directory access protocols using domain name system [DNS]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/40Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/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/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Power Sources (AREA)
  • Computer And Data Communications (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

온라인 서비스를 위한 일차 위치에서의, 지속시간이 일시적인 중단(예, "임시 중단") 중에, 요청이 온라인 서비스를 위한 일차 위치에서 이차 위치로 일시적으로 스위칭된다. 임시 중단은 많은 다른 이유(예, 전력 중단, 계획된 정비 등)에 기인할 수 있다. 사용자가 데이터에 변경을 가하지 않고 임시 중단 중에 자신의 데이터를 계속 액세스할 수 있도록, 이차 위치는 임시 중단 중에 판독만 가능하게 구성될 수 있다. 온라인 서비스의 일차 위치에 대한 요청은 이차 위치에 의해 처리도되록 자동으로 재전송된다. 임시 중단이 종료되면, 요청이 자동으로 다시 일차 위치로 스위칭된다.

Description

임시 중단 중에 이차 위치로 요청을 재전송하는 기법{REDIRECTING REQUESTS TO SECONDARY LOCATION DURING TEMPORARY OUTAGE}
웹-기반 애플리케이션은 데이터베이스에 저장되는 데이터와 함께 웹 서버에 배치되는 파일을 포함한다. 예를 들어, 네트워크 장치로 전송되는 트래픽을 처리하기 위한 많은 수의 서버가 존재할 수 있다. 이러한 네트워크는 흔히 네트워크 서비스의 오류로 이어질 수 있는 신뢰할 수 없는 컴퓨터 및 소프트웨어뿐 아니라 신뢰할 수 없는 통신을 포함할 수 있다. 이러한 오류를 처리하기 위한 장애 복구 전환 프로세스(fail-over transition process)는 완료하는 데 비용이 많이 드는 작업이며, 긴 시간이 걸릴 수 있다.
본 요약은 이하의 상세한 설명에서 추가로 설명되는 선택 개념을 간략한 형태로 소개하기 위해 제공된다. 본 요약은 청구된 발명의 대상의 주요 특징 또는 핵심 특징을 식별하기 위한 것이 아니며 청구된 발명의 대상의 범주를 정하는 데 있어 보조내용으로 사용하기 위한 것도 아니다.
온라인 서비스를 위한 일차 위치(primary location)에서의, 지속시간이 일시적인 중단(예를 들면, "임시 중단(temporary outage)") 중에, 요청이 온라인 서비스를 위한 일차 위치에서 이차 위치(secondary location)로 일시적으로 스위칭된다. 임시 중단은 많은 상이한 이유(예, 전력 중단, 계획된 정비 등)로 일어날 수 있다. 이차 위치는 임시 중단 중에만 판독되도록 구성될 수 있어 사용자가 데이터를 변경시키지 않고 임시 중단 중에 여전히 자신의 데이터에 액세스하는 것을 가능하게 할 수 있다. 온라인 서비스의 일차 위치로의 요청은 이차 위치에 의해 처리되도록 자동으로 재전송(redirecting)된다. 임시 중단이 종료되면, 요청이 자동으로 다시 일차 위치로 스위칭된다.
도 1은 예시적인 컴퓨팅 환경을 도시한다.
도 2는 임시 중단 중에 요청을 온라인 서비스의 이차 위치로 재전송하는 시스템을 도시한다.
도 3은 임시 중단 중에 요청을 이차 위치로 재전송하는 것을 구성하는 프로세스를 도시한다.
도 4는 임시 중단 중에 수신된 요청을 처리하는 프로세스를 도시한다.
지금부터 도면을 참조하여 다양한 실시예가 설명될 것이며, 도면에서 동일한 번호는 동일한 구성요소를 나타낸다. 구체적으로, 도 1 및 이에 대응하는 논의는 실시예가 구현될 수 있는 적합한 컴퓨팅 환경에 대한 간략하고 포괄적인 설명을 제공하기 위한 것이다.
일반적으로, 프로그램 모듈은 루틴, 프로그램, 컴포넌트, 데이터 구조 및 특정한 태스크를 수행하거나 특정한 추상 데이터 유형을 구현하는 다른 유형의 구조들을 포함한다. 또한, 다른 컴퓨터 시스템 구성(휴대용 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램 가능한 가전 기기, 미니 컴퓨터, 메인프레임 컴퓨터 등을 포함함)이 사용될 수도 있다. 또한, 분산형 컴퓨팅 환경(통신 네트워크를 통해 연결되는 원격 프로세싱 장치에 의해 태스크가 수행됨)이 사용될 수 있다. 분산형 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치 모두에 배치될 수 있다.
지금부터 도 1을 참조하면, 다양한 실시예에서 사용되는 컴퓨터(100)에 관한 예시적인 컴퓨팅 환경이 설명된다. 도 1에 도시된 컴퓨터 환경은 각각이 모바일 컴퓨팅 장치(예, 폰, 태블릿, 넷북, 랩탑), 서버, 데스크탑 또는 일부 다른 유형의 컴퓨팅 장치로서 구성될 수 있는 컴퓨팅 환경을 포함하며, CPU(contral processing unit, 5), 시스템 메모리(7)(RAM(9) 및 ROM(10)을 포함함) 및 CPU(5)에 메모리를 연결하는 시스템 버스(12)를 포함한다.
컴퓨터 내의 구성 요소들 사이에 정보를 전달하는 것을 돕는 베이직 루틴(basic routines)을 포함하는 베이직 입/출력 시스템이 ROM(10)에 저장된다. 추가로 컴퓨터(100)는 이하에 보다 상세히 설명될 운영 체제(16), 애플리케이션(들)(24), 웹 브라우저(25) 및 중단 매니저(26)를 저장하는 대용량 저장 장치(14)를 포함한다.
대용량 저장 장치(14)는 버스(12)에 연결된 대용량 저장소 컨트롤러(도시되지 않음)를 통해 CPU(5)에 연결된다. 대용량 저장 장치(14) 및 이와 연관된 컴퓨터 판독가능 매체는 컴퓨터(100)를 위한 비휘발성 저장소를 제공한다. 본 명세서에 포함된 컴퓨터 판독가능 매체에 대한 설명은 대용량 저장 장치(예, 하드 디스크 또는 CD-ROM 드라이브)를 지칭하나, 컴퓨터 판독가능 매체는 컴퓨터(100)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다.
예시로서(제한이 아님), 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함할 수 있다. 컴퓨터 저장 매체는 정보의 저장을 위한 임의의 기법 또는 기술(예, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터)로 구현된 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함한다. 컴퓨터 저장 매체(이에 한정되는 것은 아님)는 RAM, ROM, EPROM(Erasable Programmable Read Only Memory), EEPROM(Electrically Erasable Programmable Read Only Memory), 플래시 메모리 또는 기타 솔리드 스테이트 메모리 기술, CD-ROM, DVD 또는 다른 광학 저장소, 자기 카세트, 자기 테이프, 자기 디스크 저장소 또는 기타 자기 저장 장치, 또는 원하는 정보를 저장하는데 사용될 수 있고 컴퓨터(100)에 의해 액세스될 수 있는 임의의 다른 매체를 포함한다.
컴퓨터(100)는 네트워크(18)(예, 인터넷)를 통한 원격 컴퓨터로의 로직 연결을 사용하는 네트워크 환경에서 동작한다. 컴퓨터(100)는 버스(12)에 연결된 네트워크 인터페이스 유닛(20)을 통해 네트워크(18)에 연결될 수 있다. 네트워크 연결은 무선 및/또는 유선일 수 있다. 네트워크 인터페이스 유닛(20)은 다른 유형의 네트워크 및 원격 컴퓨터 시스템에 연결하는 데 사용될 수 있다. 또한, 컴퓨터(100)는 복수의 다른 장치(키보드, 마우스 또는 전자 스타일러스(도 1에 도시되지 않음))로부터 입력을 수신하고 처리하는 입/출력 컨트롤러(22)를 포함할 수 있다. 유사하게, 입/출력 컨트롤러(22)는 디스플레이 스크린(23), 프린터 또는 다른 유형의 출력 장치로 입/출력을 제공할 수 있다.
간략히 전술한 바와 같이, 복수의 프로그램 모듈 및 데이터 파일(컴퓨터의 동작을 제어하는데 적합한 운영 체제(16)(예, 워싱턴, 레드몬드에 위치한 MICROSOFT 사의 WINDOWS 7® 또는 WINDOWS SEVER ® 또는 WINDOWS PHONE 7® 운영 체제)가 컴퓨터(100)의 대용량 저장 장치(14) 및 RAM(9)에 저장될 수 있다. 또한, 대용량 저장 장치(14) 및 RAM(9)은 하나 이상의 프로그램 모듈을 저장할 수 있다. 구체적으로, 대용량 저장 장치(14) 및 RAM(9)은 하나 이상의 애플리케이션(들)(24) 및 웹 브라우저(25)를 포함하는 하나 이상의 애플리케이션 프로그램을 저장할 수 있다. 일 실시예에 따르면, 애플리케이션(24)은 온라인 서비스(상이한 테넌트들(tenants)에 대한 서비스를 제공하는 솔루션 서비스의 비즈니스 포인트)와 상호작용하도록 구성되는 애플리케이션이다. 또한, 다른 애플리케이션이 사용될 수 있다. 예를 들어, 애플리케이션(24)은 데이터와 상호작용하도록 구성된 클라이언트 애플리케이션일 수 있다. 애플리케이션은 많은 상이한 유형의 데이터(문서, 스프레드시트, 슬라이드, 노트 등을 포함하나 이에 제한되는 것은 아님)와 상호작용하도록 구성될 수 있다.
네트워크 스토어(27)는 테넌트에 대한 테넌트 데이터와 같은 데이터를 저장하도록 구성된다. 네트워크 스토어(27)는 IP 네트워크(18)를 통해 하나 이상의 컴퓨팅 장치/사용자에게 액세스 가능하다. 예를 들어, 네트워크 스토어(27)는 온라인 서비스(17)와 같은 온라인 서비스를 위한 하나 이상의 테넌트에 대한 테넌트 데이터를 저장할 수 있다. 다른 네트워크 스토어도 테넌트에 대한 데이터를 저장하도록 구성될 수 있다. 또한, 테넌트 데이터는 하나의 네트워크 스토어에서 다른 네트워크 스토어로 이동할 수 있다. 설명한 바와 같이, 온라인 서비스는 일차 위치(17) 및 이차 위치(17')를 포함한다. 실시예에 따르면, 이차 위치(17')는 일차 온라인 서비스(17)의 미러(mirror)이다. 일반적으로, 이차 위치(17')는 일차 온라인 서비스(17)에 의해 제공되는 데이터 및 서비스의 사본을 제공한다. 정상 동작 중에는, 온라인 서비스로의 요청이 일차 위치(17)로 전송된다. 일차 위치가 활성화 상태인 동안에, 일차 네트워크에서 일어나는 콘텐트 변경 및 액션(actions)은 이차 위치에서 반영(mirroring)된다. 이렇게 하여, 일차 위치 및 이차 위치는 동일한 방식으로 구성된 채 유지되고 동일한 콘텐트를 포함한다.
중단 매니저(26)는 임시 중단 중에 온라인 서비스의 일차 위치로 전송되는 요청을 자동으로 온라인 서비스의 이차 위치로 재전송하도록 구성된다. 중단 매니저(26)는 온라인 서비스(17)와 같은 온라인 서비스의 일부일 수 있고, 중단 매니저(26)에 의해 제공되는 기능의 전부/일부가 애플리케이션의 내/외부에 배치될 수 있다.
지속시간 면에서 일시적인, 일차 위치(17)에 영향을 미치는 중단(예, "임시 중단") 중에, 사용자 요청이 일차 위치(17)로부터 이차 위치(17')로 일시적으로 스위칭된다. 임시 중단의 시간은 상이할 수 있다(예를 들면, 10분, 30분, 1시간, 2시간 등). 일반적으로, 임시 중단은 일부 알려진 지속 시간 내에서 해결가능한 것으로 여겨지는 중단이다. 임시 중단은 많은 상이한 이유(예, 전력 중단, 계획된 정비 등)에 기인할 수 있다. 일 실시예에 따르면, 이차 위치(17')는 임시 중단 중에만 판독되는 것으로 구성되어 임시 중단의 기간 동안 사용자가 이차 위치에서 자신의 데이터에 계속 접속할 수 있도록 한다. 임시 중단 중에, 온라인 서비스로의 요청은 요청을 온라인 서비스의 이차 위치의 네트워크 어드레스로 재전송하도록 DNS 엔트리를 변경함으로써 이차 위치로 재전송된다. 임시 중단이 해결되는 경우에, 일차 위치를 어드레스하는 DNS 엔트리로 다시 변경함으로써 요청은 다시 일차 네트워크로 자동으로 스위칭된다. 중단 매니저에 관한 보다 상세한 내용이 이하에서 설명된다.
도 2는 임시 중단 중에 요청을 온라인 서비스의 이차 위치로 재전송하기 위한 시스템을 도시한다. 도시된 바와 같이, 시스템(200)은 일차 서비스(210), 이차 서비스(220), 데이터 스토어(230) 및 컴퓨팅 장치(들)(240)를 포함한다.
사용되는 컴퓨팅 장치는 컴퓨팅 장치의 사용과 관련된 동작을 수행하도록 구성되는 임의의 유형의 컴퓨팅 장치일 수 있다. 예를 들어, 컴퓨팅 장치 중 일부는 모바일 컴퓨팅 장치(예, 셀룰러 폰, 태블릿, 스마트 폰, 랩탑 등)일 수 있고, 일부는 데스크탑 컴퓨팅 장치일 수 있으며, 다른 컴퓨팅 장치는 서버로서 구성될 수 있다. 일부 컴퓨팅 장치는 예를 들면, 온라인 클라우드 기반 서비스(예, 서비스(210) 및 서비스(220))를 제공하도록 배치될 수 있고, 일부는 데이터 저장 서비스를 제공하는 데이터 쉐어(data shares)로서 배치될 수 있으며, 일부는 인터넷을 통해 액세스가능한 네트워크에 배치될 수 있다.
컴퓨팅 장치는 네트워크(18)를 통해 연결된다. 네트워크(18)는 여러 상이한 유형의 네트워크일 수 있다. 예를 들어, 네트워크(18)는 IP 네트워크, 셀룰러 통신을 위한 이동통신 네트워크(carrier network) 등일 수 있다. 일반적으로, 네트워크(18)는 컴퓨팅 장치들(예를 들면, 서비스(210), 서비스(220), 데이터 스토어(230) 및 컴퓨팅 장치(들)(240)) 사이에 데이터를 전송하는 데 사용된다.
컴퓨팅 장치(들)(240)는 애플리케이션(242), 웹 브라우저(244) 및 사용자 인터페이스(246)를 포함한다. 설명된 것과 같이, 컴퓨팅 장치(240)는 온라인 서비스(예, 서비스(210))와 상호작용하기 위해 사용자에 의해 사용된다. 일 실시예에 따르면, 서비스(210 및 220)는 멀티-테넌시 서비스(multi-tenancy service)이다. 일반적으로, 멀티-테넌시는 커스터머(customers) 사이의 데이터(백업을 포함함), 사용 및 등록(administration)의 분리(isolation)를 나타낸다. 다르게 설명하면, 각각의 테넌트로부터의 데이터가 동일한 데이터 스토어 내에 동일한 데이터베이스에 저장될 수 있는 경우에도 하나의 커스터머(테넌트 1)로부터의 데이터는 다른 커스터머(네턴트 2)에 의해 액세스될 수 없다.
사용자 인터페이스(UI, 246)는 컴퓨팅 장치(240)에 대해 로컬일/로컬이 아닐 수 있는 다양한 애플리케이션과 상호작용하는 데 사용된다. 하나 이상의 유형의 하나 이상의 사용자 인터페이스가 콘텐트와의 상호작용에 사용될 수 있다. 예를 들어, UI(246)는 콘텍스트 메뉴의 사용, 메뉴 바 내의 메뉴, 리본 사용자(ribbon user)로부터 선택된 메뉴 아이템을 포함할 수 있다. 일반적으로, UI(246)는 사용자가 애플리케이션의 기능과 쉽게 상호작용할 수 있도록 구성된다. 예를 들어, 사용자는 서비스(210)에 의해 관리되는 콘텐트를 검색하는 등의 동작을 수행하기 위해 UI(246) 내의 옵션을 간단히 선택할 수 있다.
데이터 스토어(230)는 테넌트 데이터를 저장하도록 구성된다. 데이터 스토어는 다양한 컴퓨팅 장치에 의해 액세스될 수 있다. 예를 들어, 네트워크 스토어는 솔루션 서비스의 온라인 비즈니스 포인트를 지원하는 온라인 서비스와 연관될 수 있다. 예를 들어, 온라인 서비스는 데이터 서비스, 워드 프로세싱 서비스, 스프레드시트 서비스 등을 제공할 수 있다.
설명된 것과 같이, 데이터 스토어(230)는 N개의 다른 테넌트에 대한 대응하는 백업 데이터를 포함하는 테넌트 데이터를 포함한다. 데이터 저장소는 테넌트 데이터의 전부/일부를 저장할 수 있다. 예를 들어, 일부 테넌트는 하나 이상의 데이터 스토어를 사용할 수 있으며, 반면에 다른 테넌트는 많은 다른 테넌트와 데이터 스토어를 공유한다. 테넌트에 대한 대응하는 백업 데이터가 동일한 데이터 스토어 내에 도시되었으나, 백업 데이터는 다른 위치에 저장될 수도 있다. 예를 들어, 하나의 데이터 스토어가 테넌트 데이터를 저장하는데 사용될 수 있고, 하나 이상의 다른 데이터 스토어가 대응하는 백업 데이터를 저장하는데 사용될 수 있다. 데이터 스토어(230)는 또한 서비스(예, 서비스(210) 및 서비스(22))의 동작에 관한 데이터를 포함할 수 있다. 또한, 하나 이상의 데이터 스토어(예, 일차 서비스(210)에 대한 데이터 스토어(212) 및 이차 서비스(220)에 대한 데이터 스토어(212'))가 온라인 서비스의 네트워크 내에 저장될 수 있다. 일반적으로, 데이터 스토어(212')의 데이터는 데이터 스토어(212)의 데이터의 미러(mirror)이다. 일차 서비스(210)와 연관된 데이터에 이루어진 변경(즉, 행정적 변경과 관련된 데이터 및 테넌트 데이터)은 이차 서비스(22)에 반영된다. 일 실시예에 따르면, 전체 백업(예를 들면, 매주), 점진적 백업(예를 들면, 매시, 매일) 및 트랜잭션 로그(transaction logs)가 행해진 변경을 유지하는 데 사용된다. 일 실시예에 따르면, 일차 서비스에 이루어진 변경은 이차 서비스가 일차 서비스와 실질적으로 동기화된 상태를 유지하도록 이차 서비스로 복사된다(예를 들면, 5분, 10분 내에). 주기적으로, 이차 서비스로 복사된 데이터가 검증되어 그 데이터가 정확하게 복사되었는지를 보증하는 것을 돕는다. 검증을 수행하는 데 상이한 방법이 사용될 수 있다(예, 체크섬(checksums), 해시 함수(hash functions) 등).
서비스(210 및 220)는 데이터 스토어(212 및 212') 및 웹 렌더러(216 및216')를 포함하는 웹 애플리케이션(214 및 214')을 포함한다. 서비스(210)는 복수의 테넌트로부터의 데이터와의 상호작용을 디스플레이하는 것과 관련된 서비스를 제공하도록 구성되는 온라인 서비스로 구성된다. 서비스(210)는 복수의 테넌트를 위한 공유 인프라스트럭처(shared infrastructure)를 제공한다. 일 실시예에 따르면, 서비스(210)는 MICROSOFT'S SHAREPOINT ONLINE 서비스이다. 다른 테넌트들이 서비스(210)를 사용하여 자신의 웹 애플리케이션/사이트 콜렉션을 호스팅할 수 있다. 또한, 테넌트는 단독으로 또는 서비스(210)에 의해 제공되는 서비스와 결합하여 사용할 수 있다. 웹 애플리케이션(214)은 데이터에 관한 요청을 수신하고 이에 응답하도록 구성된다. 예를 들어, 서비스(210)는 데이터 스토어(212) 및/또는 데이터 스토어(230)에 저장된 테넌트의 데이터에 액세스할 수 있다. 웹 애플리케이션(214)은 컴퓨팅 장치(예, 컴퓨팅 장치(240))의 사용자에게 네트워크(18)를 통해 액세스 가능한 데이터와 상호작용하기 위한 인터페이스를 제공하도록 동작할 수 있다. 웹 애플리케이션(214)은 서비스와 관련된 동작을 수행하는 데 사용되는 다른 서비스와 통신할 수 있다. 컴퓨팅 장치는 문서 및/또는 서비스(210)와 연관된 다른 데이터와 상호 작용하기 위한 요청을 송신할 수 있다.
DNS(205)는 서비스에 액세스하는 데 사용되는 컴퓨팅 장치(240)로 서비스의 어드레스를 제공한다. 임시 중단이 발생하는 경우에, DNS(205)는 컴퓨팅 장치(240)로부터의 온라인 서비스에 대한 요청이 사용자의 데이터에 대한 액세스 시에 거의 또는 전혀 방해가 없이 계속 서비스될 수 있도록 이차 서비스(220)의 어드레스를 제공한다. 임시 중단이 검출되면(또는 알려진 임시 중단 및/또는 계획된 이벤트의 경우에 스케줄링된 시간에), 중단 매니저(26)(또는 일부 다른 승인된 사용자)가 임시 중단의 기간 동안 이차 서비스(220)를 어드레스하도록 일차 서비스(210)에 대한 엔트리를 스위칭한다.
서비스에서 요청을 수신하는 것에 응답하여, 웹 애플리케이션(214)은 위치(예를 들면, 네트워크 쉐어(230) 및/또는 일부 다른 데이터 스토어)로부터 데이터를 획득한다. 디스플레이될 데이터가 마크업 언어 포맷(예, ISO/IEC 29500 포맷)으로 변환된다. 데이터는 서비스(210)에 의해 또는 하나 이상의 다른 컴퓨팅 장치에 의해 변환될 수 있다. 웹 애플리케이션(214)이 장치의 마크업 언어 표현을 수신하면, 서비스가 웹 렌더러(216)를 사용하여 마크업 언어 포맷화된 문서를 컴퓨터 장치(24) 상의 웹 브라우저(244)와 같은 웹 브라우저 애플리케이션에 의해 렌더링될 수 있는 데이터의 표현(representation)으로 변환한다. 렌더링된 데이터는 동일한 데이터를 미리보기 하는데 사용되는 경우에 대응하는 데스크탑 애플리케이션의 출력과 실질적으로 유사하게 보인다. 웹 렌더러(216)가 파일의 렌더링을 완료하면, 서비스에 의해 렌더링된 파일이 웹 브라우저(244)에 의해 렌더링될 수 있는 요청 컴퓨팅 장치로 반환된다.
웹 렌더러(216)는 컴퓨팅 장치(예, 컴퓨팅 장치(240))의 사용자로 하여금 웹 브라우저(244)의 콘텍스트 내의 데이터와 상호작용하는 것을 가능하게 하는 하나 이상의 스크립트를 마크업 언어 파일로 렌더링하도록 구성될 수도 있다. 웹 렌더러(215)는 웹 브라우저 애플리케이션(244)에 의해 실행가능한 스크립트 코드를 반환된 웹 페이지로 렌더링하도록 동작할 수 있다. 스크립트는 예를 들면, 사용자로 하여금 데이터의 섹션을 변경하고 또는 데이터와 관련된 값을 수정하는 것을 가능하게 하는 기능을 제공할 수 있다. 소정의 유형의 사용자 입력에 응답하여, 스크립트가 실행될 수 있다. 스크립트가 실행되는 경우에, 이루어진 상호작용의 유형을 식별하고 추가로 데이터에 수행되어야하는 기능(function)을 웹 애플리케이션(214)에게 확인시키도록, 문서에 작업이 이루어졌다는 것을 나타내는 응답을 서비스(210)로 전송(transmit)할 수 있다.
일 실시예에 따르면, 임시 중단이 발생하고 요청이 이차 서비스로 자동으로 재전송되는 경우에 이차 서비스가 요청을 서비스하는 것이 즉시 가능하도록, 이차 서비스가 요청을 수신하지 않는 경우에도 이차 서비스(220)는 리드 온리 모드(read only mode)에서 활성화 상태를 유지한다.
도 3 및 4는 임시 중단 중에 요청을 이차 위치로 일시적으로 재전송(redirecting)하는 예시적인 프로세스를 도시한다. 본 명세서에 제시된 루틴에 관한 논의에 의해, 다양한 실시예에 대한 논리 동작(logical operations)이 (1) 컴퓨팅 시스템에서 실행되는 구현된 액트의 시퀀스 또는 프로그램 모듈 및/또는 (2) 컴퓨팅 시스템 내의 상호 연결된 머신 로직 회로 또는 회로 모듈로서 구현된다는 것을 이해해야 한다. 이러한 구현은 본 발명을 구현하는 컴퓨팅 시스템의 성능 요건에 따른 선택의 문제이다. 따라서, 본 명세서에 도시된 로직 동작 및 설명된 실시예를 구성하는 것은 동작(operations), 구조적 장치, 액트 또는 모듈로서 다양하게 나타낸다. 이러한 동작, 구조적 장치, 액트 및 모듈은 소프트웨어, 펌웨어, 전용 디지털 로직 및 이들의 임의의 조합으로 구현될 수 있다.
도 3은 임시 중단 중에 요청을 이차 위치로 재전송하는 것을 구성하는 프로세스를 도시한다.
시작 블록 후에, 프로세스(300)는 임시 중단이 발생하는 경우에 대한 판정이 이루어지는 동작(310)으로 이동한다. 임시 중단은 계획적으로 및/또는 비 계획적으로 발생할 수 있다. 예를 들어, 전력 중단이 특정한 시간 및 최종 예측된 일부 기간에 발생할 것이라는 것이 알려질 수 있다. 유사하게, 일차 위치에서 정비를 수행하기 위해 계획된 중단이 예정될 수 있다. 일부의 경우에, 완전 고장(full failure)으로 여겨지지 않는 임시 중단이 일차 위치에서 발생될 수 있다. 예를 들어, 뇌우가 일차 위치에서 전력에 일시적인 영향을 미칠 수 있으나, 일정 시간(예, 1 시간, 2 시간) 전에 전력이 복구될 것으로 예상된다.
동작(320)으로 진행하여, 온라인 서비스의 이차 위치는 리드 온리 모드에 배치될 수 있고 또는 이미 리드 온리 모드에 있을 수 있다. 일 실시예에 따르면, 이차 위치는 리드 온리 모드에 배치되지 않는다. 임시 중단 중에 이차 위치를 리드 온리 모드에 두는 것은, 임시 중단의 기간 중에 일차 위치가 이차 위치로 반영된(mirrored) 상태를 유지하고 있다는 것을 보장하는 것을 돕는다. 사용자는 임시 중단 중에 일차 위치에 있던 자신의 콘텐트를 이차 위치로부터 계속 액세스할 수 있다. 일차 위치에 대해 이루어진 최근 변화(예를 들면, 일차 위치에 대해 이루어진 마지막 5분 또는 10분의 콘텐트 변화)에 대한 사본을 만들거나 이차 위치에 변경을 적용할 시간이 충분하지 않은 경우에, 콘텐트의 작은 부분이 이차 위치에서 초기에 이용가능하지 않을 수 있다. 일부의 경우에, 임시 중단 전에 콘텐트가 이차 위치로 복사되었을 수 있으나 아직 적용되지 않았을 수 있다. 이러한 경우에, 이차 위치는 이차 위치가 수 분(예, 5분, 10분) 후에 일차 위치를 반영하도록 임시 중단 중에도 콘텐트가 계속하여 업데이트 되도록 할 수 있다.
동작(330)으로 진행하여, 일차 위치에 대한 DNS 엔트리가 이차 위치를 어드레스하도록 스위칭된다. 일차 위치로부터 이차 위치로의 DNS 엔트리의 스위칭은 최종 사용자에게 끊김 없는(seamless) 것으로 여겨지게 하는 고속 동작이다.
동작(340)으로 가서, 임시 중단이 종료된 경우에 대한 판정이 이루어진다. 이러한 판정은 상이한 팩터(예, 일차 위치가 다시 온라인 된 경우, 사전 예정된 시간인 경우, 및/또는 승인된 사용자가 일차 위치가 이용가능하다고 표시한 경우)에 기반하여 이루어진다.
동작(350)으로 진행하여, DNS 엔트리는 일차 위치로 다시 스위칭된다. 사용자는 이제 온라인 서비스에 대한 현저한 방해를 경험하지 않고 자신의 모든 콘텐트를 액세스(판독/기입)할 수 있다. 이차 위치가 임시 중단 중에 리드 온리 모드에 배치되는 경우에, 일차 위치에 대해 아무런 변경이 이루어지지 않는다. 이와 같이, 일차 위치는 임시 중단이 존재하지 않았던 것처럼 서비스를 재개한다.
이후에 프로세스는 종료 블록으로 이어지고 다른 동작의 처리로 복귀한다.
도 4는 임시 중단 중에 수신된 요청을 처리하는 프로세스를 도시한다.
시작 블록 후에, 프로세스는 온라인 서비스로 전송되는 요청이 수신되는 동작(410)으로 이동한다.
동작(420)으로 이동하여, 수신된 요청은 임시 중단 기간 중에 이차 위치로 전송된다. 수신된 요청은 온라인 서비스의 클라이언트가 일차 위치에서 그랬던 것처럼 이차 위치에 액세스하도록 이차 위치로 자동으로 전송된다.
동작(430)으로 이동하여, 임시 중단 기간 중에 요청이 일차 위치 대신에 이차 위치에 의해 수신된다. 일 실시예에 따르면, 이차 위치는 클라이언트가 자신의 콘텐트 전부를 판독할 수 있으나 콘텐트를 변경하지는 못하도록 리드 온리 모드에 배치된다.
이후에 프로세스가 종료 블록으로 이어지고 다른 동작의 처리로 복귀한다.
전술한 세부내용, 예시 및 데이터는 본 발명의 구성의 제조 및 이용에 대한 완성된 설명을 제공한다. 본 발명에 대한 많은 실시예가 본 발명의 사상 및 범주를 벗어나지 않는 범위에서 만들어질 수 있기 때문에, 본 발명은 이하에 첨부된 청구범위에 의한다.

Claims (10)

  1. 임시 중단(temporary outage) 중에 요청을 일차 위치로부터 이차 위치로 재전송(redirecting)하는 방법으로서,
    온라인 서비스의 일차 위치에 영향을 미치는 임시 중단(temporary outage)이 언제 발생하는지를 판정하는 단계와,
    상기 임시 중단 중에 온라인 서비스에 액세스하기 위한 요청을 수신하는 단계와,
    상기 임시 중단 중에 상기 온라인 서비스의 일차 위치 대신에 이차 위치에 액세스하도록 상기 요청을 재전송하는 단계
    를 포함하는 재전송 방법.
  2. 제1항에 있어서,
    상기 임시 중단 중에 상기 온라인 서비스의 일차 위치 대신에 상기 이차 위치에 액세스하도록 상기 요청을 재전송하는 단계는, DNS(Domain Name System) 엔트리를 상기 온라인 서비스를 위한 상기 일차 위치의 일차 네트워크 어드레스에서 상기 이차 위치의 이차 네트워크 어드레스로 변경하는 단계를 포함하는
    재전송 방법.
  3. 제1항에 있어서,
    상기 온라인 서비스의 상기 이차 위치를 리드 온리 모드(read only mode)로 두는 단계와,
    상기 임시 중단 전에 상기 일차 서비스로부터 획득된 콘텐트로 상기 이차 위치를 계속하여 업데이트하는 단계
    를 더 포함하는 재전송 방법.
  4. 제1항에 있어서,
    상기 임치 중단이 언제 발생하는지를 판정하는 단계는
    상기 온라인 서비스의 상기 일차 위치에 대한 액세스에 영향을 미치는 계획된 정비(planned maintanance)가 언제 이루어질지를 판정하는 단계와,
    상기 온라인 서비스의 상기 일차 위치에 대한 액세스에 영향을 미치는 전력 중단이 언제 발생할지를 판정하는 단계
    중 적어도 하나를 포함하는 재전송 방법.
  5. 제1항에 있어서,
    상기 임시 중단이 언제 종료되는지 및 상기 온라인 서비스의 상기 일차 위치가 언제 다시 이용가능하게 되는지를 판정하는 단계
    를 더 포함하는 재전송 방법.
  6. 제1항에 있어서,
    상기 온라인 서비스의 상기 이차 위치는 상기 온라인 서비스의 상기 일차 위치에 대한 실질적인 미러(mirror)이고,
    상기 이차 위치는 상기 일차 위치의 콘텐트를 실질적으로 포함하며, 상기 임시 중단 전 및 후에 액세스가능한 상태를 유지하고, 하루 동안 주기적으로 상기 일차 위치에 대해 이루어진 변경(changes)으로 업데이트되는
    재전송 방법.
  7. 임시 중단 중에 요청을 일차 위치에서 이차 위치로 재전송하는 방법을 수행하는 컴퓨터 실행가능 명령어를 포함하는 컴퓨터 판독가능 저장 매체로서,
    상기 방법은
    온라인 서비스의 일차 위치에 영향을 미치는 임시 중단(temporary outage)이 언제 발생하는지를 판정하는 단계와,
    상기 임시 중단 중에 온라인 서비스에 액세스하기 위한 요청을 수신하는 단계와,
    상기 임시 중단 중에 상기 온라인 서비스의 상기 일차 위치 대신에 상기 이차 위치에 액세스하도록 상기 요청을 재전송하는 단계와,
    상기 임시 중단 중에 상기 이차 위치의 콘텐트가 변경되지 않고 유지되도록 상기 온라인 서비스의 상기 이차 위치를 리드 온리 모드로 두는 단계와,
    상기 임시 중단이 언제 발생하는지 판정하는 것에 응답하여 DNS(Domain Name System) 엔트리를 상기 온라인 서비스를 위한 상기 일차 위치의 일차 네트워크 어드레스로부터 상기 이차 위치의 이차 네트워크 어드레스로 변경하는 단계와,
    상기 임시 중단이 종료되는 경우에 상기 일차 위치에 액세스하도록 상기 요청을 전송(directing)하는 단계
    를 포함하는 컴퓨터 판독가능 저장 매체.
  8. 임시 중단 중에 요청을 일차 위치에서 이차 위치로 재전송(redirecting)하는 시스템으로서,
    네트워크에 연결되도록 구성되는 네트워크 연결부와,
    프로세서와,
    메모리와,
    컴퓨터 판독가능 저장 매체를 포함하되,
    상기 컴퓨터 판독가능 저장 매체는,
    상기 프로세서에서 실행되는 운영 환경과,
    상이한 테넌트들과 연관된 테넌트 데이터를 저장하는 데이터 스토어와,
    중단 매니저를 포함하고,
    상기 중단 매니저는
    온라인 서비스의 일차 위치에 영향을 미치는 임시 중단이 언제 발생하는지를 판정하고,
    상기 임시 중단 중에 상기 온라인 서비스에 액세스하기 위한 요청을 수신하며,
    상기 임시 중단 중에 상기 온라인 서비스의 일차 위치 대신에 이차 위치에 액세스하도록 상기 요청을 재전송하고,
    상기 임시 중단이 종료하는 경우에 상기 일차 위치에 액세스하도록 상기 요청을 전송하도록 구성되는
    시스템.
  9. 제8항에 있어서,
    상기 중단 매니저는 추가로,
    상기 임시 중단이 언제 발생하는지를 판정하는 것에 응답하여, DNS 엔트리를 상기 온라인 서비스를 위한 상기 일차 위치의 일차 네트워크 어드레스로부터 상기 이차 위치의 이차 네트워크 어드레스로 변경하는
    시스템.
  10. 제8항에 있어서,
    상기 중단 매니저는 추가로,
    상기 임시 중단 중에 상기 이차 위치의 콘텐트가 변경되지 않고 유지되도록 상기 온라인 서비스의 이차 위치를 리드 온리 모드로 두고,
    상기 온라인 서비스의 이차 위치는 상기 온라인 서비스의 일차 위치에 대한 실질적인 미러이며,
    상기 이차 위치는 일차 위치의 콘텐트를 실질적으로 포함하고, 상기 임시 중단 전 및 후에 액세스가능하게 유지되는
    시스템.
KR1020137031843A 2011-06-01 2012-05-29 임시 중단 중에 이차 위치로 요청을 재전송하는 기법 KR20140025501A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/151,092 2011-06-01
US13/151,092 US20120311375A1 (en) 2011-06-01 2011-06-01 Redirecting requests to secondary location during temporary outage
PCT/US2012/039789 WO2012166690A2 (en) 2011-06-01 2012-05-29 Redirecting requests to secondary location during temporary outage

Publications (1)

Publication Number Publication Date
KR20140025501A true KR20140025501A (ko) 2014-03-04

Family

ID=47260239

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137031843A KR20140025501A (ko) 2011-06-01 2012-05-29 임시 중단 중에 이차 위치로 요청을 재전송하는 기법

Country Status (6)

Country Link
US (1) US20120311375A1 (ko)
EP (1) EP2715543A4 (ko)
JP (1) JP2015506112A (ko)
KR (1) KR20140025501A (ko)
CN (1) CN103562876A (ko)
WO (1) WO2012166690A2 (ko)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8850261B2 (en) 2011-06-01 2014-09-30 Microsoft Corporation Replaying jobs at a secondary location of a service
CN104348842B (zh) * 2013-07-23 2019-03-15 腾讯科技(深圳)有限公司 分布式存储系统路由方法、路由管理服务器及系统
WO2015117667A1 (en) * 2014-02-07 2015-08-13 Telefonaktiebolaget L M Ericsson (Publ) Handling of access to a service on a server in a communications network
US10348837B2 (en) * 2014-12-16 2019-07-09 Citrix Systems, Inc. Methods and systems for connecting devices to applications and desktops that are receiving maintenance
US9390275B1 (en) * 2015-01-27 2016-07-12 Centurion Holdings I, Llc System and method for controlling hard drive data change
CA3026475A1 (en) * 2016-06-10 2017-12-14 Schneider Electric Industries Sas Method and system for providing proxy service in an industrial system
JP6514801B1 (ja) * 2018-03-14 2019-05-15 三菱電機エンジニアリング株式会社 情報処理システム及び情報処理システムの電源障害時通信接続切換方法

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7281031B1 (en) 2000-03-22 2007-10-09 Emc Corporation Method and apparatus for providing additional resources for a host computer
JP2004032103A (ja) * 2002-06-21 2004-01-29 Ntt Docomo Tokai Inc ネットワークシステム及びサーバ切り替え方法
WO2004023259A2 (en) * 2002-09-06 2004-03-18 Samy Mahmoud Aboel-Nil Method and system for processing email during an unplanned outage
DE60330035D1 (de) * 2002-09-09 2009-12-24 Dell Marketing Usa L P System und verfahren zur anwendungsüberwachung und automatischen katastrophenbehebung für hohe verfügbarkeit
US7623848B2 (en) * 2003-03-20 2009-11-24 Dell Marketing Usa L.P. Method and system for providing backup messages to wireless devices during outages
US7188273B2 (en) * 2003-11-24 2007-03-06 Tsx Inc. System and method for failover
JP2005250626A (ja) * 2004-03-02 2005-09-15 Hitachi Ltd コンピュータシステム及びそのプログラム。
US7349903B2 (en) * 2004-11-17 2008-03-25 International Business Machines Corporation Apparatus, system, and method for an alternate lock facility connection path
US7668962B2 (en) * 2005-02-07 2010-02-23 Symantec Operating Corporation System and method for connection failover using redirection
US20070174723A1 (en) * 2006-01-18 2007-07-26 Omar Cardona Sub-second, zero-packet loss adapter failover
US7917469B2 (en) * 2006-11-08 2011-03-29 Hitachi Data Systems Corporation Fast primary cluster recovery
US8181071B2 (en) * 2007-06-29 2012-05-15 Microsoft Corporation Automatically managing system downtime in a computer network
US20090019094A1 (en) * 2007-07-13 2009-01-15 Scott David Lashley Redirected updates on a backup server
US9258360B2 (en) * 2007-11-07 2016-02-09 International Business Machines Corporation Intelligent disaster recovery for database connection failures
US7836207B2 (en) * 2007-12-20 2010-11-16 Fast Health Corporation System and method for redirecting a website upon the occurrence of a disaster or emergency event
US7793141B1 (en) * 2008-05-15 2010-09-07 Bank Of America Corporation eCommerce outage customer notification

Also Published As

Publication number Publication date
US20120311375A1 (en) 2012-12-06
JP2015506112A (ja) 2015-02-26
WO2012166690A2 (en) 2012-12-06
EP2715543A2 (en) 2014-04-09
CN103562876A (zh) 2014-02-05
EP2715543A4 (en) 2015-01-21
WO2012166690A3 (en) 2013-03-28

Similar Documents

Publication Publication Date Title
JP6463393B2 (ja) テナント移行にわたるテナント・データのリカバリ
US10073747B2 (en) Reducing recovery time in disaster recovery/replication setup with multitier backend storage
KR20140025501A (ko) 임시 중단 중에 이차 위치로 요청을 재전송하는 기법
US10025679B2 (en) Disaster recovery service
US11003437B2 (en) Automated transparent distribution of updates to server computer systems in a fleet
US8181071B2 (en) Automatically managing system downtime in a computer network
ES2566947T3 (es) Localización de servicio de recuperación para un servicio
CN106789249B (zh) 热更新方法、客户端及服务器
US10855776B2 (en) Method and device for managing sessions
CN110633046A (zh) 一种分布式系统的存储方法、装置、存储设备及存储介质
US20130339307A1 (en) Managing system image backup
US20120310912A1 (en) Crawl freshness in disaster data center
CN110471906A (zh) 数据库切换方法、装置及设备
CN115827316A (zh) 数据备份方法、装置、设备及存储介质
US11386043B2 (en) Method, device, and computer program product for managing snapshot in application environment
KR101618992B1 (ko) 가상 데스크탑 서비스 제공 시스템 및 그 제어방법과, 그 제어방법을 실행하기 위한 프로그램을 기록한 기록 매체와, 하드웨어와 결합되어 그 제어방법을 실행시키기 위하여 매체에 저장된 애플리케이션
JP6169485B2 (ja) 分散処理システム
KR102038802B1 (ko) 웹 페이지의 통합관리 방법 및 장치
CN117453825A (zh) 数据同步方法、装置、介质和存储设备
CN114968983A (zh) 数据处理方法、装置、设备和存储介质
Anitha Fault Tolerant Platform for Application Mobility across devices
CN118673078A (zh) 一种逻辑复制槽的同步方法和相关装置
KR20150116343A (ko) 멀티 스케일 맞춤형 융합 서비스 플랫폼 제공 방법 및 장치

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid