KR20160143519A - 시스템, 서버 시스템, 방법 및 프로그램 - Google Patents

시스템, 서버 시스템, 방법 및 프로그램 Download PDF

Info

Publication number
KR20160143519A
KR20160143519A KR1020160063872A KR20160063872A KR20160143519A KR 20160143519 A KR20160143519 A KR 20160143519A KR 1020160063872 A KR1020160063872 A KR 1020160063872A KR 20160063872 A KR20160063872 A KR 20160063872A KR 20160143519 A KR20160143519 A KR 20160143519A
Authority
KR
South Korea
Prior art keywords
application server
server system
resource
web browser
service
Prior art date
Application number
KR1020160063872A
Other languages
English (en)
Other versions
KR102006640B1 (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 KR20160143519A publication Critical patent/KR20160143519A/ko
Application granted granted Critical
Publication of KR102006640B1 publication Critical patent/KR102006640B1/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/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • 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/16
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/70Software maintenance or management
    • G06F8/71Version control; Configuration management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44536Selecting among different versions
    • 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/2842
    • H04L67/36
    • 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/568Storing data temporarily at an intermediate stage, e.g. caching
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • 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/75Indicating network or usage conditions on the user display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)

Abstract

웹 브라우저로부터 화면의 표시에 관한 요구를 접수하고 요구에 포함되는 데이터가 오래된 리소스에 관련되는 것을 확인한 경우, 새로운 어플리케이션 서버 시스템은 보존부로부터 오래된 리소스를 취득하여 이 오래된 리소스를 웹 브라우저에 송신한다.

Description

시스템, 서버 시스템, 방법 및 프로그램{SYSTEM, SERVER SYSTEM, METHOD AND PROGRAM}
본 발명은, 클라우드 서비스를 제공하는 시스템, 서버 시스템, 방법 및 프로그램에 관한 것이다.
최근 인터넷 상에서 제공되는 클라우드 서비스가 널리 보급되고 있다. 클라우드 서비스는 세계 각국에서 항상 이용된다. 따라서, 종래의 서비스와 달리, 클라우드 서비스는, 이용자 수가 적은 야간에 시스템을 정지하면서 메인티넌스를 행하는 것이 어렵다. 그 때문에, 서비스의 정지를 하지 않고 메인티넌스 작업을 하도록 하는 요구가 높아지고 있다. 종래에, 일본국 특개 2013-182413 및 일본국 특개 2013-182397에 개시되어 있는 것과 같이, 세션 관리하에서 무정지의 버전 업그레이드를 행하여 세션 기반의 할당처리를 행함으로써, 이와 같은 메인티넌스 작업을 행해 왔다.
웹 어플리케이션의 기술이 진행함에 따라, 서버 사이드에서 화면의 생성의 처리를 행하여 클라이언트에 처리 결과를 반환하는 종래의 구성이, representational state transfer(REST)-ful model-view-controller(MVC) 및 클라이언트 사이드 MVC 등의 기술로 변화되어 오고 있다. 이들 서버는 REST 인터페이스(I/F)를 거쳐 처리를 실행하도록 구성되고, 클라이언트에 데이터만을 되돌려 화면을 클라이언트측에서 생성하도록 구성된다.
본 발명의 일면에 따르면, 단말에 포함된 웹 브라우저로부터의 요구에 따라 서비스를 제공하는 어플리케이션 서버 시스템을 포함하는 서버 시스템은, 제1 어플리케이션 서버 시스템에 배치된 상기 서비스를 실현하기 위한 복수의 모듈과는 적어도 일부의 구성이 다른 복수의 모듈을 제2 어플리케이션 서버 시스템에 배치하도록 구성된 배치부와, 상기 웹 브라우저에 의해 표시되는 화면의 표시에 필요한, 상기 제1 어플리케이션 서버 시스템에 배치된 상기 복수의 모듈에 대응하는 제1 리소스 및 상기 제2 어플리케이션 서버 시스템에 배치된 상기 복수의 모듈에 대응하는 제2 리소스를 스토리지 서비스 내부에 보존하도록 구성된 보존부와, 상기 배치부에 의한 배치가 행해진 후, 상기 서비스의 제공원을 상기 제1 어플리케이션 서버 시스템으로부터 상기 제2 어플리케이션 서버 시스템으로 전환하도록 구성된 전환부를 구비하고, 상기 전환부에 의한 전환후, 상기 웹 브라우저로부터 상기 화면의 표시에 관한 요구를 접수하고 상기 요구에 포함되는 데이터가 상기 제1 리소스에 관련되는 것을 확인한 경우, 상기 제2 어플리케이션 서버 시스템은 상기 보존부로부터 상기 제1 리소스를 취득하여 상기 제1 리소스를 상기 웹 브라우저에 송신한다.
본 발명의 또 다른 특징 및 국면은 첨부된 도면을 참조하여 주어지는 이하의 실시형태의 상세한 설명으로부터 명백해질 것이다.
도 1은 시스템 구성도이다.
도 2는 각 장치의 하드웨어 구성도이다.
도 3은 각 장치의 소프트웨어 모듈 구성도이다.
도 4는 프로그램을 실행가능한 형식으로 빌드하는 처리를 나타낸 흐름도이다.
도 5는 빌드 처리에 의해 생성된 hypertext markup language(HTML)와 JavaScript(등록상표)의 일례이다.
도 6은 모듈을 배치하는 처리를 나타낸 흐름도이다.
도 7은 클라이언트 단말이 어플리케이션 서비스를 이용하는 시퀀스이다.
도 8은 예상밖의 리퀘스트를 수신했을 때의 representational state transfer(REST) application programming interface(API)의 처리를 나타낸 흐름도이다.
도 9는 프로그램의 빌드로부터 배치까지의 처리를 나타낸 모식도이다.
도 10은 클라이언트 단말이 어플리케이션 서비스를 이용하는 시퀀스의 모식도이다.
무정지 업그레이드를 실현하기 위한 새로운 수법으로서, 블루-그린 배치(blue-green deployment)로 불리는 방법을 사용한다. 이 기술은, 현재 가동하고 있는 서비스를 가동시킨 채, 업그레이드된 서비스를 다른 시스템에서 구축하고, 서비스의 제공원을 구축한 시스템으로 전환한다고 하는 과정을 포함한다.
이 블루-그린 배치에 의해, 2개의 시스템을 도메인 네임 시스템(DNS)의 설정을 변경함으로써 단숨에 전환하게 된다. 단, 클라이언트측의 웹 브라우저나 인터넷 경로 상에서 캐시된 하이퍼텍스트 마크업 언어(HTML) 및/또는 JavaScript(등록상표)의 콘텐츠는, 서버가 전환되었다고 하더라도, 곧바로 최신의 콘텐츠로 갱신된다고는 할 수 없다. 이 경우, 업그레이드 전의 구 어플리케이션의 HTML로부터, 업그레이된후의 새로운 어플리케이션의 REST 어플리케이션 프로그래밍 인터페이스(API)로 처리 요구가 행해질 수도 있다. REST API의 I/F들 사이에 호환성을 우지하면서 어플리케이션이 업그레이드되기 때문에, 이와 같은 API의 호출이 허용된다.
문제는, REST API에 의해 취득하는 화면의 리소스 데이터(표시 텍스트) 등의 화면의 HTML과 밀접하게 관련된 콘텐츠는 I/F의 호환성 만으로는 대처할 수 없다는 것이다. 예를 들면, 구 버전의 HTML이 신 버전의 REST API로부터 호환성이 없는 신 버전의 어플리케이션의 리소스를 취득하는 경우, 적정한 화면 표시가 행해지지 않는다.
본 발명은 서비스를 무정지로 제공하기 위한 메카니즘을 포함하는 시스템에 있어서, I/F의 호환성 이외에 화면의 HTML의 호환성을 유지하는 것을 목적으로 한다.
이하, 본 발명을 실시하기 위한 구성에 대해 도면을 참조하여 설명한다.
이하, 제 1 실시형태를 설명한다. 본 실시형태에 있어서는, 인터넷 상의 각 서버에 어플리케이션이 설치되어 있는 것을 상정하고 있다. 어플리케이션은 클라이언트 단말과 연계하여 다양한 기능을 제공하는 것을 상정하고 있다. 이러한 기능을 제공하는 실체를 서비스로 부른다. 기능을 클라이언트 단말에 제공하는 것을 서비스의 제공으로 부른다.
본 실시형태에 따른 클라우드 서비스를 제공하는 정보처리장치는, 도 1에 나타낸 것과 같은 구성을 갖는 네트워크 상에 실현된다. 본 발명의 실시형태에서, Wide Area Network(WAN(100))는 World Wide Web(WWW) 시스템으로 구축되어 있다. Local Area Network(LAN) 101은 각 구성요소를 접속한다. LAN102는 LAN 101과 마찬가지이지만, WAN(100)을 거쳐 액세스를 할 수 없는 내부 네트워크로 구성되는 경우가 많다. LAN 101과 마찬가지로, LAN 102는 WAN(100)에 직접 접속되어 액세스할 수 있도록 하여도 된다. 어플리케이션 서버(110, 120)는 일반적으로 각각 복수의 정보처리장치를 포함한다. 어플리케이션 서버 110이 현재 클라우드 서비스를 제공중인 시스템이다. 어플리케이션 서버 120이 업그레이드후의 클라우드 서비스를 제공하는 시스템이다. 스토리지 서버(130)는 일반적으로 복수의 정보처리장치로 구성된다.
스토리지 서버(130)는 어플리케이션 서버 110, 120으로부터 액세스되고, 어플리케이션 서버를 위한 리소스 데이터를 유지한다. 관리 서버(140)는 일반적으로 복수의 정보처리장치로 구성된다. 관리 서버(140)는 어플리케이션 서버 110, 120에 대한 프로그램의 관리, 어플리케이션 서버 110, 120의 시스템의 구축과, 서비스를 제공하고 있는 제공원인 서버 시스템의 전환 처리를 행한다. 클라이언트 단말(150)은 웹 브라우저가 인스톨되어 있는 정보처리장치이다. 클라이언트 단말(150)의 예로는 퍼스널컴퓨터, 스마트 폰 등의 모바일 단말을 들 수 있다.
DNS(180)은, 인터넷 상의 서버의 호스트 명을 해결하여 액세스하려는 인터넷 프로토콜(IP) 어드레스를 반환하는 시스템이다. 블루-그린 배치에 의한 서비스 전환은, DNS에 등록된 호스트 명에 대응한 IP 어드레스를 어플리케이션 서버 110의 것으로부터 어플리케이션 서버 120의 것으로 전환할 때 실현한다. 클라이언트 단말(150)이 클라우드 서비스를 이용할 때, 클라이언트 단말(150)은 웹 브라우저 상에서 입력한 호스트 명에 대응한 서버의 IP 어드레스를 DNS(180)에서 취득하고, 취득한 IP 어드레스를 기초로 그 때 가동중인 어플리케이션 서버를 액세스한다.
본 실시형태에서는, 서버가 각각 1대의 장치를 구비하는 것으로 나타내고 있다. 그러나, 전술한 것과 같이, 각각의 서버는 복수의 장치로 구성되어 있어도 된다. 따라서, 본 실시형태에서는, 1대 또는 복수대의 장치로 구성되어 있는 서버를 서버 시스템으로 부른다. 예를 들면, 어플리케이션 서버 시스템은, 1대 또는 복수대의 장치를 포함하고 어플리케이션 서비스를 제공하는 시스템을 말한다.
도 2는 본 실시형태에 따른, 어플리케이션 서버 110, 120, 스토리지 서버(130), 관리 서버(140), 클라이언트 단말(150), DNS(180)을 구성하는 정보처리장치의 일반적인 구성이다. 중앙처리장치(CPU)(231)는, 판독 전용 메모리(ROM)(233)의 프로그램용 ROM에 기억되거나, 또는 하드디스크(HD) 등의 외부 메모리(241)로부터 랜덤 액세스 메모리(RAM)(232)에 로드된 운용체계(OS) 및 어플리케이션 등의 프로그램을 실행한다. CPU(231)은, 시스템 버스(234)에 접속되는 각 블록을 제어한다. 후술하는 각 시퀀스의 처리는 이 프로그램의 실행에 의해 실현된다. RAM(232)은, CPU(231)의 주 메모리 및 워크 에어리어로서 기능한다. 조작부 I/F(235)는, 조작부(239)로부터의 입력을 제어한다. 음극선 관(CRT) 콘트롤러(CRTC)(236)는, CRT 디스플레이(240)의 표시를 제어한다. 디스크 콘트롤러(DKC)(237)는 각종 데이터를 기억하는 HD 등의 외부 메모리(241)에 있어서의 데이터 액세스를 제어한다. 네트워크 콘트롤러(NC)(238)는 WAN(100) 또는 LAN 101, 102를 거쳐 접속된 서버 컴퓨터와 다른 기기와의 통신제어 처리를 실행한다.
모든 설명에 있어서는, 특별히 기재하지 않는 한 후술하는 동작을 실행하는 하드웨어 상의 주체는 CPU(231)이다. 소프트웨어 상의 주체는 외부 메모리(241)에 인스톨된 모듈이다. 모듈은 CPU(231)에 의해 실행되는 경우 기능을 발휘한다.
도 3은, 어플리케이션 서버 110, 120, 스토리지 서버(130), 관리 서버(140), 클라이언트 단말(150) 및 DNS(180)의 각각의 모듈 구성을 도시한 도면이다. 이들 모듈은 외부 메모리(241)에 보존되어 있고 CPU(231)에 의해 실행된다.
어플리케이션 서버 110, 120은 어플리케이션 서비스(319)를 갖는다. 어플리케이션 서비스(319)는 웹 서버 모듈(310)과 API 모듈(311)에 의해 실현된다. 웹 서버 모듈(310)은, 일반적으로 Jetty나 Apache Tomcat을 이용하여 HTML 및 스크립트, 즉 JavaScript(등록상표)의 분배와, API 모듈(311)의 실행 환경을 제공한다. 어플리케이션 서버 110, 120은, 웹 서버 모듈(310)을 실행함으로써 Hypertext Transfer Protocol(HTTP)에 관한 처리를 실현한다. 어플리케이션 서버 110, 120은, API 모듈(311)을 실행함으로써 API의 처리를 실현한다. 본 발명의 실시형태에서는, 업그레이드를 위한 블루-그린 배치를 상정하고 있고, 전환전의 어플리케이션 서버 110의 모듈과 전환후의 어플리케이션 서버 120의 모듈의 구성에는 일부의 차이가 있는 것을 상정하고 있다. 이와 같은 차이의 예로는, HTML의 표현을 바꾼 것에 의한 웹 서버 모듈(310)의 구성의 변경을 들 수 있다.
스토리지 서버(130)는 스토리지 서비스(330)를 갖는다. 스토리지 서버(130)는 데이터의 관리와 어플리케이션 서버 110, 120에 대한 데이터 관리기능의 제공을 행한다. 스토리지 서비스(330)는 스토리지 모듈(미도시)에 의해 실현된다. 관리 서버(140)는 관리 서비스(349)를 갖는다. 관리 서비스(349)는 프로그램 관리 모듈(340)과 빌드 모듈(341)과 배치 모듈(342)을 갖는다. 프로그램 관리 모듈(340)은 어플리케이션 서버 110, 120을 제공하는 프로그램의 관리를 행한다. 빌드 모듈(341)은 프로그램 관리 모듈(340)에 의해 관리되고 있는 프로그램을 실행가능한 형식의 모듈로 구성한다. 배치 모듈(342)은 빌드 모듈(341)에 의해 생성한 실행가능한 형식의 모듈을 이용하여, 어플리케이션 서버 110, 120의 환경을 구축하고, 어플리케이션 서비스(319)의 업그레이드 처리를 실시한다.
클라이언트 단말(150)은 어플리케이션 서버 110, 120에 액세스하기 위한 웹 브라우저(350)를 갖는다. 웹 브라우저(350)는 어플리케이션 서버 110, 120으로부터 화면 표시를 위한 각종 데이터를 수신한다. DNS(180)은, DNS 서비스(380)를 갖고 후술하는 서버 시스템의 전환을 실현한다. DNS 서비스(380)는 DNS 모듈(미도시)에 의해 실현된다.
도 4 내지 도 6을 참조해서 본 실시형태에 따른, 어플리케이션 서버 110, 120의 구축의 상세한 흐름도를 설명한다. 처리 흐름도를 모식적으로 나타낸 도 9를 함께 설명한다. 도 4는, 관리 서버(140)의 빌드 모듈(341)이 어플리케이션 서버 110, 120을 구성하는 모듈의 프로그램을 실행가능한 형식으로 빌드하는 처리의 흐름도를 나타낸 도면이다.
빌드 모듈(341)은 스텝 S401에서, 빌드 처리를 고유하게 식별하는 것이 가능한 식별 정보로서 빌드 버전을 생성한다. 예를 들면, 빌드 모듈(341)은 "20150515.1" 등의 날짜와 시퀀셜 값의 조합을 포함하는 문자열을 생성한다. 빌드 모듈(341)이 어플리케이션 서버 110, 120을 실현하기 위한 프로그램이 배치하기 위한 프로그램을 빌드할 때마다, 빌드 모듈(341)은 고유한 식별 정보를 생성한다. 중복은 허용되지 않는다.
빌드 모듈(341)은 스텝 S402에서 프로그램 관리 모듈(340)에 의해 관리되고 있는 어플리케이션 서비스(319)의 최신 프로그램의 세트를 취득한다. 최신 프로그램의 세트는 도 9에서 나타낸 어플리케이션 서비스 프로그램(901)을 포함한다. 어플리케이션 서비스 프로그램(901)은, 화면 표시용의 HTML, 화면 표시에 이용하는 리소스를 취득하는 명령 및 HTML을 묘화하기 위한 명령이 기재된 스크립트인 JavaScript(등록상표), API 모듈(311)의 프로그램, 화면 표시에 사용하는 텍스트 데이터와 화상 데이터 등의 리소스로 이루어진다.
빌드 모듈(341)은 스텝 S403에서 빌드 처리를 행한다. 빌드 모듈(341)은 프로그램 코드의 실행가능한 형식으로의 컴파일하고, HTML 및 JavaScript(등록상표) 중에 포함되는 API 호출 내에, 스텝 S401에서 생성한 빌드 버전을 매립하는 처리를 실시한다. 도 5는 실제로 생성한 JavaScript(등록상표)와 HTML의 일례의 발췌이다. JavaScript(등록상표)(500)에서, REST API를 호출하는 처리의 파라미터(501)에 스텝 S401에서 생성된 빌드 버전 "20150515.1"을 매립하고 있다. HTML(510)에서, JavaScript(등록상표)(500)를 판독하도록, 판독 패스(511)에 스텝 S401에서 생성된 빌드 버전 "20150515.1"을 매립하고 있다. 이에 따라, HTML(510)은 항상 동시에 생성된 JavaScript(등록상표)(500)를 이용하게 되고, JavaScript(등록상표)(500)를 거쳐 REST API에 대해 빌드 버전을 포함하는 리퀘스트를 송신할 수 있다. 빌드 모듈(341)은, 스텝 S404에서, 스텝 S403에서 생성한 성과물을 스텝 S401에서 생성한 빌드 버전과 관련시켜 보존한다.
도 9는 빌드 버전 "20150515.1"에서 생성된 성과물(902)과 "20150517.2"에서 생성된 성과물(903)을 나타낸 것이다. 이들 성과물 902 및 903은 모두 각각의 빌드 시점에서의 최신 프로그램으로 구성되어 있고, HTML과 JavaScript(등록상표)에는 각각의 빌드 버전이 매립되어 있다. 예를 들면, 도 9의 성과물 902가 어플리케이션 서버 110을 구성한다. 성과물 903이 어플리케이션 서버 120을 구성한다. 이렇게, 빌드 모듈(341)은 업그레이드마다 성과물을 생성하여 관리한다. 이상이, 관리 서버(140)의 빌드 모듈(341)이 어플리케이션 서버 110, 120의 프로그램을 실행가능한 형식으로 빌드하는 처리의 설명이다.
도 6은, 본 발명에 따라 관리 서버(140)의 배치 모듈(342)이 어플리케이션 서버 110, 120을 배치하는 처리의 흐름도를 나타낸 도면이다. 배치 모듈(342)은, 스텝 S601에서, 배치해야 할 성과물을 결정한다. 구체적으로는 배치 모듈(342)은, 배치 대상의 빌드 버전을 특정한다. 배치 모듈(342)은, 스텝 S602에서, 배치처가 되는 정보처리장치 군을 구축한다. 구체적으로는, 배치 모듈(342)은, 프로그램을 호스팅하기 위한 정보처리장치를 구성한다. 블루-그린 배치를 실시하는 경우, 가상적인 정보처리장치로 구성하는 것이 일반적이다. 가상적인 정보처리장치는, 정보처리장치 하드웨어 상에 가상적인 복수의 정보처리장치를 생성하는 기술이다. 가상적인 정보처리장치의 생성과 삭제를 프로그램에 의해 제어 가능해진다. 예를 들면, 배치시마다, 가상적인 정보처리장치가 필요할 만큼 생성가능하고, 그 가상적인 정보처리장치에 대해 프로그램을 배치하는 것이 가능해진다. 더구나, 더 이상 필요하지 않은 정보처리장치를 곧바로 삭제하는 것이 가능해진다. 이에 따라, 블루-그린 배치를 신속하고도 용이하게 실현 가능해진다. 본 발명에서 구성되는 정보처리장치는 가상적인 정보처리장치에 한정되지 않고, 물리적인 정보처리장치로 구성해도 된다. 그 경우, 정보처리장치에 대해, 각각의 어플리케이션 서버 110용과 120용의 환경을 사전에 구축해 놓을 필요가 있으며, 이와 같은 환경에서 모듈들이 배치된다. 시스템의 구성요소로부터 삭제된 어플리케이션 서버가 제외된다.
배치 모듈(342)은 스텝 S603에서, 모듈의 배치를 실시한다. 배치 모듈(342)은 스텝 S602에서 구축된 정보처리장치에 대상이 되는 모듈을 배치한다. 도 9에서 나타낸 어플리케이션 서버 110, 120이 각각의 버전으로 구성된다. 각각의 어플리케이션 서비스(319)에는, HTML, JavaScript(등록상표) 및 API 모듈을 포함하는 대응한 빌드 버전의 모듈이 배치된다.
배치 모듈(342)은 스텝 S604에서 리소스의 배치를 실시한다. 리소스의 배치 처리에서는, 배치 모듈(342)은 스토리지 서버(130)에 빌드 버전을 특정할 수 있는 정보를 부여하여, 스텝 S403에서 생성된 성과물에 포함된 텍스트와 화상의 리소스를 보존한다. 예를 들면, 스토리지 서비스(330)가 일반적인 파일 공유 서버와 같이 디렉토리 구성으로 데이터를 관리할 수 있는 것으로 가정한다. 도 9의 정보 904에서 나타낸 것과 같이, 배치 모듈(342)은 빌드 버전으로 디렉토리를 작성하고, 이 디렉토리 아래에 텍스트와 화상의 파일을 보존한다.
이상이, 어플리케이션 서버 110, 120의 배치 처리이다. 업그레이드 작업에 의한 배치의 경우에는, 기존의 어플리케이션 서버 110의 환경 이외에 새롭게 어플리케이션 서버 120의 다른 환경을 추가하게 된다. 스텝 S604에서는, DNS(180)의 설정이 아직 변경되지 않으며, 클라이언트 단말(150)은 어플리케이션 서버 110을 계속 액세스한다.
스텝 S605에서, DNS 서비스(380)가 전환을 실시한다. 본 처리는 일반적으로 스텝 S604에서의 처리가 행해지고 어플리케이션 서버 120이 정상적으로 가동하고 있는 것을 확인한 후에 실시된다. DNS 전환 처리에서는, DNS(180)에 등록되어 있는 어플리케이션 서버 110, 120의 호스트 명에 대응한 IP 어드레스를 어플리케이션 서버 110의 값으로부터 어플리케이션 서버 120의 값으로 변경한다.
도 7은 본 실시형태에 따른, 클라이언트 단말(150)이 어플리케이션 서버 110을 이용하는 경우의 일반적인 흐름을 나타낸 도면이다. 우선, 웹 브라우저(350)가 RESTful MVC로 구성된 어플리케이션을 이용하는 경우에 행해지는 처리의 개요를 설명한다. 웹 브라우저(350)는 화면을 묘화하기 위한 HTML을 어플리케이션 서버 110에서 취득한다. HTML는 JavaScript(등록상표)에 대한 링크를 포함하므로, 웹 브라우저(350)는 JavaScript(등록상표)를 취득한다. 웹 브라우저(350) 상에서는 취득한 JavaScript(등록상표)가 실행되고, 웹 브라우저(350)는 어플리케이션 서버 110에서 공개되어 있는 REST API를 호출하여 데이터의 취득을 행한다. 예를 들면, 웹 브라우저(350)는 화면 표시용의 텍스트가 표시되는 원하는 언어를 지정한 후 API를 호출하여 대응하는 언어의 텍스트 데이터를 취득하는 처리를 행한다. 웹 브라우저(350)는 HTML의 표시 텍스트를 취득한 언어의 텍스트 데이터로 고쳐씀으로써, 화면을 생성하여 표시를 행한다. 웹 브라우저(350)에서 각종 조작을 행한 경우도, 웹 브라우저(350)는 REST API를 호출하고, 그 결과를 취득해서 화면을 갱신한다. 즉, HTML에 의해 정의되어 있는 표시 텍스트와 REST API에 의해 취득한 텍스트 데이터 사이에 차이가 있으면, HTML에 적절한 텍스트가 표시되지 않을 수도 있다. 이와 같은 현상의 발생 요인에 대해서는 과제와 관련하여 설명하였다.
이어서 상세한 처리의 흐름을 설명한다. 웹 브라우저(350)가 어플리케이션 서버 110의 이용을 개시하는 것으로 가정한다. 스텝 S701에서, 웹 브라우저(350)는 어플리케이션 서버 110의 HTML이 캐시에 존재하는지 확인한다. 어플리케이션 서버 110의 HTML이 캐시에 존재하는 경우에는, 웹 브라우저(350)가 캐시된 HTML을 이용한다. 존재하지 않는 경우에는, 웹 브라우저(350)가 스텝 S704 및 S705에서 HTML의 취득의 처리를 행한다. HTML을 취득하는 경우, 스텝 S702에서, 웹 브라우저(350)가 이름 해결의 리퀘스트를 DNS(180)에 행한다. DNS(180)은 스텝 S703에서 어플리케이션 서버 110에 대응한 IP 어드레스를 리스폰스한다. 스텝 S702, S703의 처리는 웹 브라우저(350) 기동후, 웹 브라우저(350)가 어플리케이션 서버 110에 리퀘스트를 발행할 때에 실시된다. 즉, 스텝 S702 및 S703의 처리는 스텝 S704, 스텝 S707 및 스텝 S709의 직전에 실시된다. 일반적인 브라우저는 한번 DNS에서 취득한 IP 어드레스를 당분간은 캐시하기 때문에, DNS의 문의는 생략되는 경우도 있다. 따라서, DNS 전환의 반영 타이밍은 클라이언트 단말(150)의 종류에 의존한다.
HTML을 취득한 것에 따라, 웹 브라우저(350)는 HTML에 대응한 JavaScript(등록상표)의 취득을 행한다. 스텝 S706에서는, HTML와 마찬가지로, 웹 브라우저(350)가 JavaScript(등록상표)가 캐시에 존재하는지의 확인을 행한다. JavaScript(등록상표)가 캐시에 존재하는 경우에는, 웹 브라우저(350)가 캐시를 이용한다. 존재하지 않는 경우에는, 웹 브라우저(350)는 JavaScript(등록상표)에 대한 스텝 S707, S708의 취득 처리를 HTML과 마찬가지로 행한다. JavaScript(등록상표)를 취득한 것에 따라, 스텝 S709에서 웹 브라우저(350)는 JavaScript(등록상표)에 기재된 REST API를 호출한다. 본 API 호출의 파라미터는 빌드 버전을 포함한다. 스텝 S710, S711에서, 어플리케이션 서버 110은 API 호출에 의해 지정된 빌드 버전의 리소스를 스토리지 서버(130)에서 취득한다. 스텝 S712에서, 어플리케이션 서버 110은 웹 브라우저(350)에 대해 리스폰스한다. 스텝 S713에서, 웹 브라우저(350)는, 리스폰스를 받을 때, HTML과 HTML에 대응한 리소스를 기초로 화면 표시를 행한다. 이상이, 클라이언트 단말(150)이 어플리케이션 서버 110을 이용하는 경우에 행해지는 처리이다. 이 서비스의 이용중에 업그레이드 처리가 행해지게 된다.
도 7을 참조하여, 클라이언트 단말(150)이 업그레이드 처리후에 어플리케이션 서버 120을 이용한 경우에 행해지는 처리의 일례를 설명한다. 도 10은 본 처리의 흐름을 모식적으로 나타낸 도면이다. 예를 들면, 웹 브라우저(350)는 이미 구 버전을 이용하고 있으며 도 10과 같이 어플리케이션 서버 110에서 취득한 HTML과 JavaScript(등록상표)를 캐시하고 있다. 그 결과, 도 7의 스텝 S702, S703의 이름 해결 처리는 실시되지 않는다. 스텝 S704, S705의 HTML 취득 처리와, 스텝 S707, S708의 JavaScript(등록상표) 취득 처리도 스킵된다. 스텝 S709에서, 웹 브라우저(350)는 API 호출을 행한다. 이때, 처음으로 웹 브라우저(350)는 DNS에서 어플리케이션 서버의 IP을 취득하기 위해 스텝 S702, S703의 이름 해결 처리를 실시한다. 도 10에서 나타낸 것과 같이, 본 처리에서 취득할 수 있는 IP 어드레스는 어플리케이션 서버 120의 IP 어드레스이다. 따라서, 스텝 S709의 API 호출은 어플리케이션 서버 120에 대해 행해진다. 이와 같은 API 호출중에, 파라미터로서는 어플리케이션 서버 110에 대응한 빌드 버전이 어플리케이션 서버 120에 건네지게 된다. 도 10에서 나타낸 것과 같이, 본 실시형태에서는, 어플리케이션 서버 110에 의해 제공된 빌드 버전 "20150515.1"이 어플리케이션 서버 120에 건네진다. 어플리케이션 서버 120은 빌드 버전들이 서로 일치하는지 확인한다. 스텝 S710, S711의 처리에서, 어플리케이션 서버 120은 스토리지 서버(130)로부터 어플리케이션 서버 110에 대응한 리소스를 취득한다. 스텝 S712에서, 어플리케이션 서버 120이 리스폰스한다. 스텝 S713에서는, 웹 브라우저(350)는 어플리케이션 서버 110으로부터 취득한 캐시된 HTML 및 JavaScript(등록상표)와 어플리케이션 서버 120으로부터 취득한 대응하는 리소스를 기초로, 처리를 정상적으로 실시하여, 화면을 표시할 수 있다.
전술한 것과 같이, 본 실시형태에 따르면, 서비스를 무정지로 제공하기 위한 메카니즘을 포함하는 시스템이, I/F의 호환성 이외에 화면의 HTML의 호환성을 유지하는 것이 가능하다.
이하, 제2 실시형태를 설명한다. 본 발명의 실시형태 1에 추가해서 실시가능한 처리를 설명한다. 본 처리는, 업그레이드 종료후 일정 시간 경과한 후, 어플리케이션 서버 110의 환경을 삭제하기 위한 처리와, 삭제후에 어플리케이션 서버 110의 리소스가 요구된 경우의 처리에 관한 것이다.
관리 서버(140)의 배치 모듈(342)은 업그레이드 종료후의 어플리케이션 서버 110을 삭제하는 처리를 실시한다. 배치 모듈(342)은 서비스를 제공하기 위해 구성되어 있는 시스템의 구성요소들로부터 어플리케이션 서버 110을 제거함으로써, 어플리케이션 서버 110을 삭제한다. 이때, 어플리케이션 서버 110에 대응한 빌드 버전의 리소스 데이터도 스토리지 서버(130)에서 삭제된다. 본 처리에서, 어플리케이션 서버 110은 모두 삭제된다. 유저는 삭제 지정을 임의의 타이밍으로 행한다.
다음에, 어플리케이션 서버 110의 리소스가 요구된 경우에 행해지는 처리에 관한 설명한다. 이때, HTML의 캐시의 유효기한이 만료되고, 어플리케이션 서버 110에 대응한 리소스 요구가 더 이상 존재하지 않는 시점을 상정한다. 인터넷 상의 캐시는 서버 시스템에 의해 제어할 수 없기 때문에, 예상밖의 원인으로 인해 리소스 삭제후에 어플리케이션 서버 110에 대응한 리소스가 요구되는 경우가 있다.
도 8은, 예상밖의 리퀘스트를 받은 것을 고려한 API 모듈(311)의 처리의 흐름을 나타낸다. 단계 S709에서 API 모듈(311)이 웹 브라우저(350)로부터 API 호출을 받은 것으로 가정한다. 스텝 S801에서, API 모듈(311)은 파라미터에 의해 지정된 빌드 버전에 대응한 리소스의 취득 처리를 실시한다. 대응한 리소스가 스토리지 서버(130)에 존재하면(스텝 S801에서 OK), 스텝 S802에서, API 모듈(311)은 그 리소스를 리스폰스한다. 만약 존재하지 않는 경우에는(스텝 S801에서 NG), 스텝 S803에서, API 모듈(311)이 에러 응답을 생성하여 리스폰스를 행한다. 에러 응답의 한가지 의미는, 웹 브라우저(350)에 대해 캐시를 파기하고 다시 HTML을 취득하도록 지시하는 것이다. 에러 응답을 수신시에, 웹 브라우저(350)는 JavaScript(등록상표)를 사용하여 자신을 리로드한다. 리로드 처리를 실시함으로써 캐시된 HTML을 제거하고, 웹 브라우저(350)는 어플리케이션 서버 120에서 새로운 HTML 및 JavaScript(등록상표)를 취득한다. 웹 브라우저(350)는, 어플리케이션 서버 120에 대응한 리소스를 취득하기 위한 API 호출을 더 행한다. 따라서, 웹 브라우저(350)는 어플리케이션 서버 120의 올바른 화면을 표시하는 것이 가능해진다.
기타 실시형태
본 발명의 실시형태는, 본 발명의 전술한 실시형태(들)의 1개 이상의 기능을 수행하기 위해 기억매체('비일시적인 컴퓨터 판독가능한 기억매체'로서 더 상세히 언급해도 된다)에 기록된 컴퓨터 실행가능한 명령(예를 들어, 1개 이상의 프로그램)을 판독하여 실행하거나 및/또는 전술한 실시예(들)의 1개 이상의 기능을 수행하는 1개 이상의 회로(예를 들어, 주문형 반도체 회로(ASIC)를 포함하는 시스템 또는 장치의 컴퓨터나, 예를 들면, 전술한 실시형태(들)의 1개 이상의 기능을 수행하기 위해 기억매체로부터 컴퓨터 실행가능한 명령을 판독하여 실행함으로써, 시스템 또는 장치의 컴퓨터에 의해 수행되는 방법에 의해 구현될 수도 있다. 컴퓨터는, 1개 이상의 중앙처리장치(CPU), 마이크로 처리장치(MPU) 또는 기타 회로를 구비하고, 별개의 컴퓨터들의 네트워크 또는 별개의 컴퓨터 프로세서들을 구비해도 된다. 컴퓨터 실행가능한 명령은, 예를 들어, 기억매체의 네트워크로부터 컴퓨터로 주어져도 된다. 기록매체는, 예를 들면, 1개 이상의 하드디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 분산 컴퓨팅 시스템의 스토리지, 광 디스크(콤팩트 디스크(CD), 디지털 다기능 디스크(DVD), 또는 블루레이 디스크(BD)TM 등), 플래시 메모리소자, 메모리 카드 등을 구비해도 된다.
본 발명은, 상기한 실시형태의 1개 이상의 기능을 실현하는 프로그램을, 네트워크 또는 기억매체를 개입하여 시스템 혹은 장치에 공급하고, 그 시스템 혹은 장치의 컴퓨터에 있어서 1개 이상의 프로세서가 프로그램을 읽어 실행하는 처리에서도 실행가능하다. 또한, 1개 이상의 기능을 실현하는 회로(예를 들어, ASIC)에 의해서도 실행가능하다.
예시적인 실시형태들을 참조하여 본 발명을 설명하였지만, 본 발명이 이러한 실시형태에 한정되지 않는다는 것은 자명하다. 이하의 청구범위의 보호범위는 가장 넓게 해석되어 모든 변형, 동등물 구조 및 기능을 포괄하여야 한다.

Claims (10)

  1. 단말에 포함된 웹 브라우저로부터의 요구에 따라 서비스를 제공하는 어플리케이션 서버 시스템을 포함하는 서버 시스템으로서,
    제1 어플리케이션 서버 시스템에 배치된 상기 서비스를 실현하기 위한 복수의 모듈과는 적어도 일부의 구성이 다른 복수의 모듈을 제2 어플리케이션 서버 시스템에 배치하도록 구성된 배치수단과,
    상기 웹 브라우저에 의해 표시되는 화면의 표시에 필요한, 상기 제1 어플리케이션 서버 시스템에 배치된 상기 복수의 모듈에 대응하는 제1 리소스 및 상기 제2 어플리케이션 서버 시스템에 배치된 상기 복수의 모듈에 대응하는 제2 리소스를 스토리지 서비스 내부에 보존하도록 구성된 보존수단과,
    상기 배치수단에 의한 배치가 행해진 후, 상기 서비스의 제공원을 상기 제1 어플리케이션 서버 시스템으로부터 상기 제2 어플리케이션 서버 시스템으로 전환하도록 구성된 전환수단을 구비하고,
    상기 전환수단에 의한 전환후, 상기 웹 브라우저로부터 상기 화면의 표시에 관한 요구를 접수하고 상기 요구에 포함되는 데이터가 상기 제1 리소스에 관련되는 것을 확인한 경우, 상기 제2 어플리케이션 서버 시스템은 상기 보존수단으로부터 상기 제1 리소스를 취득하여 상기 제1 리소스를 상기 웹 브라우저에 송신하는 서버 시스템.
  2. 제 1항에 있어서,
    상기 요구에 포함되는 상기 데이터는 식별 정보이고,
    상기 보존수단은, 상기 제1 리소스 및 상기 제2 리소스를 각각의 고유한 상기 식별 정보와 관련시켜 보존하고,
    상기 서버 시스템은 상기 식별 정보의 일치의 확인에 의해 상기 제1 리소스 또는 상기 제2 리소스를 상기 웹 브라우저에 송신하는 서버 시스템.
  3. 제 2항에 있어서,
    상기 화면의 표시를 위한 HTML, 상기 HTML을 기초로 상기 화면을 묘화하기 위한 스크립트 및 리소스를 상기 웹 브라우저에 송신하고, 상기 스크립트는 상기 식별 정보를 포함하고, 상기 웹 브라우저가 상기 스크립트를 실행함으로써 송신된 상기 식별 정보를 수신하는 서버 시스템.
  4. 제 2항 또는 제 3항에 있어서,
    상기 식별 정보는 복수의 모듈이 상기 어플리케이션 서버 시스템에 배치될 때마다 생성되는 식별 정보이고, 상기 식별 정보는 날짜와 시퀀셜 값으로부터 생성되는 서버 시스템.
  5. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    상기 전환수단에 의한 전환후, 상기 서버 시스템의 구성요소들로부터 상기 제1 어플리케이션 서버를 제외하고, 상기 제1 리소스를 상기 스토리지 서비스로부터 삭제하는 서버 시스템.
  6. 제 1항 내지 제 3항 중 어느 한 항에 있어서,
    상기 스토리지 서비스로부터 상기 제1 리소스가 삭제되는 경우, 상기 웹 브라우저에게 상기 화면에 관한 캐시를 파기하게 하고 상기 화면의 표시를 위한 HTML 및 상기 HTML을 기초로 상기 화면을 묘화하기 위한 스크립트 및 상기 제1 리소스를 수신하게 하는 데이터를 송신하고, 상기 HTML, 상기 스크립트 및 상기 제1 리소스는 상기 제2 어플리케이션 서버 시스템에 의해 송신되는 서버 시스템.
  7. 웹 브라우저를 구비한 단말과, 상기 단말의 상기 웹 브라우저로부터의 요구에 따라 서비스를 제공하는 어플리케이션 서버 시스템을 포함하는 시스템으로서,
    제1 어플리케이션 서버 시스템에 배치된 상기 서비스를 실현하기 위한 복수의 모듈과는 적어도 일부의 구성이 다른 복수의 모듈을 제2 어플리케이션 서버 시스템에 배치하도록 구성된 배치수단과,
    상기 웹 브라우저에 의해 표시되는 화면의 표시에 필요한, 상기 제1 어플리케이션 서버 시스템에 배치된 상기 복수의 모듈에 대응하는 제1 리소스 및 상기 제2 어플리케이션 서버 시스템에 배치된 상기 복수의 모듈에 대응하는 제2 리소스를 스토리지 서비스 내부에 보존하도록 구성된 보존수단과,
    상기 배치수단에 의한 배치가 행해진 후, 상기 서비스의 제공원을 상기 제1 어플리케이션 서버 시스템으로부터 상기 제2 어플리케이션 서버 시스템으로 전환하도록 구성된 전환수단을 구비하고,
    상기 전환수단에 의한 전환후, 상기 웹 브라우저로부터 상기 화면의 표시에 관한 요구를 접수하고 상기 요구에 포함되는 데이터가 상기 제1 리소스에 관련되는 것을 확인한 경우, 상기 제2 어플리케이션 서버 시스템은 상기 보존수단으로부터 상기 제1 리소스를 취득하여 상기 제1 리소스를 상기 웹 브라우저에 송신하는 시스템.
  8. 단말에 포함된 웹 브라우저로부터의 요구에 따라 서비스를 제공하는 어플리케이션 서버 시스템을 포함하는 서버 시스템에 의해 실행되는 방법으로서,
    배치수단에 의해, 제1 어플리케이션 서버 시스템에 배치된 상기 서비스를 실현하기 위한 복수의 모듈과는 적어도 일부의 구성이 다른 복수의 모듈을 제2 어플리케이션 서버 시스템에 배치하는 단계와,
    보존수단에 의해, 상기 웹 브라우저에 의해 표시되는 화면의 표시에 필요한, 상기 제1 어플리케이션 서버 시스템에 배치된 상기 복수의 모듈에 대응하는 제1 리소스 및 상기 제2 어플리케이션 서버 시스템에 배치된 상기 복수의 모듈에 대응하는 제2 리소스를 스토리지 서비스 내부에 보존하는 단계와,
    전환수단에 의해, 상기 배치수단에 의한 배치가 행해진 후, 상기 서비스의 제공원을 상기 제1 어플리케이션 서버 시스템으로부터 상기 제2 어플리케이션 서버 시스템으로 전환하는 단계를 포함하고,
    상기 전환수단에 의한 전환후, 상기 웹 브라우저로부터 상기 화면의 표시에 관한 요구를 접수하고 상기 요구에 포함되는 데이터가 상기 제1 리소스에 관련되는 것을 확인한 경우, 상기 제2 어플리케이션 서버 시스템은 상기 보존수단으로부터 상기 제1 리소스를 취득하여 상기 제1 리소스를 상기 웹 브라우저에 송신하는 방법.
  9. 웹 브라우저를 구비한 단말과, 상기 웹 브라우저로부터의 요구에 따라 서비스를 제공하는 어플리케이션 서버 시스템을 포함하는 시스템에서 실행되는 방법으로서,
    배치수단에 의해, 제1 어플리케이션 서버 시스템에 배치된 상기 서비스를 실현하기 위한 복수의 모듈과는 적어도 일부의 구성이 다른 복수의 모듈을 제2 어플리케이션 서버 시스템에 배치하는 단계와,
    보존수단에 의해, 상기 웹 브라우저에 의해 표시되는 화면의 표시에 필요한, 상기 제1 어플리케이션 서버 시스템에 배치된 상기 복수의 모듈에 대응하는 제1 리소스 및 상기 제2 어플리케이션 서버 시스템에 배치된 상기 복수의 모듈에 대응하는 제2 리소스를 스토리지 서비스 내부에 보존하는 단계와,
    전환수단에 의해, 상기 배치수단에 의한 배치가 행해진 후, 상기 서비스의 제공원을 상기 제1 어플리케이션 서버 시스템으로부터 상기 제2 어플리케이션 서버 시스템으로 전환하는 단계를 포함하고,
    상기 전환수단에 의한 전환후, 상기 웹 브라우저로부터 상기 화면의 표시에 관한 요구를 접수하고 상기 요구에 포함되는 데이터가 상기 제1 리소스에 관련되는 것을 확인한 경우, 상기 제2 어플리케이션 서버 시스템은 상기 보존수단으로부터 상기 제1 리소스를 취득하여 상기 제1 리소스를 상기 웹 브라우저에 송신하는 방법.
  10. 청구항 8에 기재된 방법을 서버 시스템에 실행시키기 위해 매체에 기억된 프로그램.
KR1020160063872A 2015-06-05 2016-05-25 시스템, 서버 시스템, 방법 및 프로그램 KR102006640B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2015115166A JP2017004120A (ja) 2015-06-05 2015-06-05 システム、サーバーシステム、方法、およびプログラム
JPJP-P-2015-115166 2015-06-05

Publications (2)

Publication Number Publication Date
KR20160143519A true KR20160143519A (ko) 2016-12-14
KR102006640B1 KR102006640B1 (ko) 2019-08-02

Family

ID=56116266

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160063872A KR102006640B1 (ko) 2015-06-05 2016-05-25 시스템, 서버 시스템, 방법 및 프로그램

Country Status (5)

Country Link
US (1) US20160360011A1 (ko)
EP (1) EP3101539B1 (ko)
JP (1) JP2017004120A (ko)
KR (1) KR102006640B1 (ko)
CN (1) CN106254411B (ko)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110191141B (zh) * 2018-02-23 2022-03-29 阿里巴巴集团控股有限公司 服务调用信息处理方法、装置及计算机***
US11356532B1 (en) * 2018-08-10 2022-06-07 Meta Platforms, Inc. Systems and methods for packaging web resources
CN113127023B (zh) * 2019-12-31 2024-04-09 华为技术有限公司 业务升级的方法、装置和***
CN113032049B (zh) * 2021-04-13 2024-06-11 北京华胜天成科技股份有限公司 基于任务启动策略的应用***部署方法及装置和电子设备

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6539494B1 (en) * 1999-06-17 2003-03-25 Art Technology Group, Inc. Internet server session backup apparatus
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
US20080320460A1 (en) * 2007-06-19 2008-12-25 Microsoft Corporation Fulfillment of requirement for versioned resource

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667115A (zh) * 2008-09-02 2010-03-10 ***通信集团公司 一种部署客户端应用的终端、***及方法
US8645936B2 (en) * 2009-09-30 2014-02-04 Zynga Inc. Apparatuses, methods and systems for an a API call abstractor
US8782630B2 (en) * 2011-06-30 2014-07-15 International Business Machines Corporation Smart rebinding for live product install
US8370467B1 (en) * 2011-10-07 2013-02-05 Google Inc. Method for seamlessly providing incremental application updates to users while serving continuous live traffic
CN103186391B (zh) * 2011-12-29 2016-05-11 腾讯科技(深圳)有限公司 浏览器升级方法和***以及一种升级服务器
JP5662956B2 (ja) 2012-03-01 2015-02-04 日本電信電話株式会社 クラスタシステム
JP5750072B2 (ja) 2012-03-01 2015-07-15 日本電信電話株式会社 クラスタシステム
US9338254B2 (en) * 2013-01-09 2016-05-10 Microsoft Corporation Service migration across cluster boundaries
US9396126B2 (en) * 2013-01-30 2016-07-19 Google Inc. Clearing an application cache
US9940610B1 (en) * 2013-02-15 2018-04-10 Amazon Technologies, Inc. Payments portal
US9838375B2 (en) * 2013-02-28 2017-12-05 Microsoft Technology Licensing, Llc RESTlike API that supports a resilient and scalable distributed application
WO2015146355A1 (ja) * 2014-03-28 2015-10-01 株式会社Nttドコモ 更新管理システムおよび更新管理方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6539494B1 (en) * 1999-06-17 2003-03-25 Art Technology Group, Inc. Internet server session backup apparatus
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
US20080320460A1 (en) * 2007-06-19 2008-12-25 Microsoft Corporation Fulfillment of requirement for versioned resource

Also Published As

Publication number Publication date
EP3101539B1 (en) 2021-01-20
CN106254411A (zh) 2016-12-21
CN106254411B (zh) 2019-05-17
JP2017004120A (ja) 2017-01-05
KR102006640B1 (ko) 2019-08-02
EP3101539A1 (en) 2016-12-07
US20160360011A1 (en) 2016-12-08

Similar Documents

Publication Publication Date Title
US10412176B2 (en) Website access method, apparatus, and website system
JP6774499B2 (ja) オフラインでのハイブリッドアプリケーションへのアクセスの提供
RU2653292C2 (ru) Перенос служб через границы кластеров
JP6945782B2 (ja) ウェブページとネイティブアプリケーションの間の通信を実現する方法及び装置並びに電子装置
US20150264035A1 (en) Method and system for securely transmitting volumes into cloud
KR102006640B1 (ko) 시스템, 서버 시스템, 방법 및 프로그램
US11838296B1 (en) Providing secure software project development environments
CN112887440B (zh) 一种ip地址管理方法和装置
JP6482204B2 (ja) 情報処理端末、その制御方法及びプログラム
US20150113093A1 (en) Application-aware browser
US20200195513A1 (en) Methods, apparatuses and systems for configuring a network environment for a server
US11184431B2 (en) System and control method
US10348673B2 (en) Management server system, system, method of system, and storage medium
JP6568232B2 (ja) 計算機システム、及び、装置の管理方法
US11853560B2 (en) Conditional role decision based on source environments
US11843659B2 (en) Server system, information processing method, and storage medium
KR101173821B1 (ko) 모바일 기기의 구성 정보 관리 시스템
US11449512B2 (en) Value help functionality in distributed cloud environment
JP6649580B2 (ja) ソフトウエア検証プログラム、ソフトウエア検証装置及びソフトウエア検証方法
CN113138975A (zh) 一种数据迁移方法和装置
CN117131295A (zh) 资源管理方法、***、装置、电子设备及存储介质
JP2015075901A (ja) 通信端末、通信処理方法および通信処理プログラム
US20140189076A1 (en) Configuration of computer systems via simple object access protocol connections
JP2009211688A (ja) ファイルをマイグレートする方法、システムおよびコンピュータ・プログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant