KR20130018335A - Secure custom application cloud computing architecture - Google Patents

Secure custom application cloud computing architecture Download PDF

Info

Publication number
KR20130018335A
KR20130018335A KR1020127033408A KR20127033408A KR20130018335A KR 20130018335 A KR20130018335 A KR 20130018335A KR 1020127033408 A KR1020127033408 A KR 1020127033408A KR 20127033408 A KR20127033408 A KR 20127033408A KR 20130018335 A KR20130018335 A KR 20130018335A
Authority
KR
South Korea
Prior art keywords
cloud computing
server
cloud
provisioning
customized application
Prior art date
Application number
KR1020127033408A
Other languages
Korean (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 KR20130018335A publication Critical patent/KR20130018335A/en

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • 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

Abstract

사용자의 요구에 따라, 맞춤형 애플리케이션의 클라우드 컴퓨팅 환경으로의(또는 클라우드 컴퓨팅 환경으로부터의) 가상의 매끄러운 이주를 촉진시키기 위한 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 아키텍처가 제공된다. 상기 아키텍처는 맞춤형 애플리케이션 및 상기 애플리케이션을 지원하기 위해 필요한 이와 연계된 네트워크 아키텍처를 식별한다. 그 후, 상기 네트워크 아키텍처는 클라우드로 복제되고, 맞춤형 애플리케이션이 상기 클라우드로 이주된다. 일부 실시예에서, 상기 애플리케이션은 클라우드에 보관되어, 비활성화될 수 있으며, 그 후, 필요할 때 다시 활성화될 수 있다. Depending on the needs of the user, a secure custom application cloud computing architecture is provided for facilitating the smooth migration of virtual applications to (or from) the cloud computing environment. The architecture identifies the custom application and its associated network architecture needed to support the application. The network architecture is then replicated to the cloud and custom applications are migrated to the cloud. In some embodiments, the application can be stored in the cloud, deactivated, and then reactivated when needed.

Description

보안 맞춤형 애플리케이션 클라우드 컴퓨팅 아키텍처{SECURE CUSTOM APPLICATION CLOUD COMPUTING ARCHITECTURE}SECURE CUSTOM APPLICATION CLOUD COMPUTING ARCHITECTURE}

본 출원은 2009년 6월 24일자 U.S. 가특허출원 제61/220,045호와, 2009년 6월 26일자 U.S. 가특허출원 제61/220,827호와, 2009년 6월 30일자 U.S. 가특허출원 제61/229,989호로부터 우선권을 주장하며, 상기 가특허출원들은 본원에서 참조로서 인용된다. This application is dated June 24, 2009 in U.S. Provisional Patent Application 61 / 220,045, and U.S. Provisional Patent Application 61 / 220,827, issued June 30, 2009, U.S. Pat. Priority is claimed from provisional patent application 61 / 229,989, which is incorporated herein by reference.

본 출원은 저작권 보호(copyright protection) 대상이 되는 사안을 포함한다. 저작권자는 특허청에서 파일이나 레코드로 나타날 때 특허 공개에 의한 팩시밀리 복제에 대해 어떠한 반대 입장도 취하지 않으나, 그 외의 모든 경우 저작권이 보호된다.This application includes matters that are subject to copyright protection. The copyright holder does not take any objection to the facsimile reproduction by patent disclosure when it appears as a file or record at the Office, but in all other cases the copyright is protected.

본 발명은 보안 컴퓨팅 아키텍처(secure computing architecture) 분야에 관한 것이며, 더 구체적으로, 맞춤형 설계 다층 애플리케이션(custom multi-tiered application)의 배포(deployment)를 촉진시키는 클라우드 컴퓨팅 아키텍처(cloud computing architecture)에 관한 것이다. FIELD OF THE INVENTION The present invention relates to the field of secure computing architectures, and more particularly to cloud computing architectures that facilitate the deployment of custom multi-tiered applications. .

클라우드 컴퓨팅(cloud computing)은 얼마간 사용되어 온 용어이며, 일반적으로 데이터 저장소나 컴퓨팅-연산에 필요한 것을 제 3 자에게 아웃소싱(outsourcing)하는 개념을 일컬으며, 이때, 사용자는 서비스를 제공하는 것이 누구인지, 또는 서비스가 수행되는 곳은 어디인지를 인식할 필요조차 없이(즉, 서비스는 “인터넷 클라우드”에서 수행된다), 제 3 자는 모든 필수적인 인프라구조를 제공한다. 더 구체적으로, 클라우드 컴퓨팅은, 통상적으로 인터넷 기술을 이용하여, 대량으로 확장가능한(massively scalable) 정보 기술 자원이 서비스로서, 하나의, 또는 다수의 소비자에게 전달되고, 서비스의 소비자의 위치에 비해 외부 위치(off-premise)로부터 전달되는 컴퓨팅의 하나의 스타일로 볼 수 있다. 클라우드 컴퓨팅에서, 탄력적으로 확장가능한 자원은 종종 필요에 따라, 계량된 품질, 또는 양으로, 동적으로 분산 및 재분산된다. Cloud computing is a term that has been around for some time and generally refers to the concept of outsourcing to a third party what is needed for data storage or compute-computation, where the user is who provides the service. The third party provides all the necessary infrastructure, without even having to know where the service is being performed (ie, the service is performed in the “Internet cloud”). More specifically, cloud computing typically uses Internet technology to deliver massively scalable information technology resources as a service, to one or more consumers, compared to the location of the consumer of the service. It can be seen as a style of computing delivered from off-premise. In cloud computing, resiliently scalable resources are often dynamically distributed and redistributed, as required, with metered quality or quantity.

일반적으로, 클라우드 컴퓨팅은 예를 들어, SAAS(Software as a service), PAAS(Platform as a service) 및 IAAS(Infrastructure as a service)과 같은 서로 다른 타입의 서비스로 구성된 것으로 알려져 있다. SAAS는 소프트웨어가 주문형 서비스(on-demand service)로서 제공되는 소프트웨어 배포의 모델이다. 도 1은 바람직한 SAAS 환경을 도시한다. SAAS에서, 사용자는 소프트웨어를 액세스하고 사용하기 위해, 종래의 소프트웨어 라이센싱 모델과 관련된 상당한 라이센싱 선불 비용에 직면하는 대신, 비교적 낮은 비용을 정기적으로 지불한다. 통상적으로 사용자는, 라우터(120)를 통해 인터넷(130)으로 연결되는 자신의 데스크탑, 또는 랩탑, 또는 그 밖의 다른 컴퓨팅 장치(110)에서 소프트웨어를 액세스한다. 일부 경우, 사용자가 브라우저나 그 밖의 다른 소프트웨어 애플리케이션을 시작하고, 브라우저에 URL(Uniform Resource Locator)을 입력함으로써, 소프트웨어가 액세스된다. 상기 브라우저는 URL을 해석하여, 인터넷(130)을 통해 연관 요청을 인터페이스/웹 서버(140) 중 하나에게 전송한다. 인터페이스 서버는 요청을 수신하고, 요청된 소프트웨어를 백-엔드 서버(150) 및/또는 데이터베이스(160)로부터 획득한다. 그 후, 일부 경우, 인터페이스 서버(140)에 의해 소프트웨어가 로딩되어, 브라우저를 통해 사용자에게 제공되며, 이때, 인터페이스 서버(140) 상에서 대부분의 프로세싱이 발생한다. 또 다른 경우, 소프트웨어, 또는 그 일부가, 컴퓨팅 장치(110)에 의해 실행되기 위해, 상기 컴퓨팅 장치(110)로 전송된다. SAAS는 소프트웨어가 사용될 때마다, 어떤 컴퓨터에서의 어떤 위치에서든, 사용자가 가령, 임의의 패치, 확장 등을 포함하여 소프트웨어의 가장 최근 버전을 액세스할 수 있게 한다는 이점을 갖는다. 이는, 사용자가 특정 컴퓨터 상에서 사용하기 위해 소프트웨어의 특정 버전으로의 액세스를 라이센싱하는 종래의 소프트웨어 분산 모델(software distribution model)과는 대조적이다. In general, cloud computing is known to be composed of different types of services such as, for example, Software as a service (SAAS), Platform as a service (PAAS), and Infrastructure as a service (IAAS). SAAS is a model of software distribution in which software is provided as an on-demand service. 1 illustrates a preferred SAAS environment. In SAAS, users regularly pay relatively low costs to access and use the software, instead of facing significant licensing prepaid costs associated with conventional software licensing models. Typically, a user accesses software on his desktop, laptop, or other computing device 110 that is connected to the Internet 130 via a router 120. In some cases, the software is accessed by a user launching a browser or other software application and entering a Uniform Resource Locator (URL) into the browser. The browser interprets the URL and sends an association request to one of the interfaces / web servers 140 via the Internet 130. The interface server receives the request and obtains the requested software from the back-end server 150 and / or the database 160. Thereafter, in some cases, software is loaded by the interface server 140 and provided to the user via a browser, with most of the processing occurring on the interface server 140. In other cases, software, or portions thereof, are transmitted to the computing device 110 for execution by the computing device 110. SAAS has the advantage that whenever the software is used, from any location on any computer, the user can access the most recent version of the software, including, for example, any patches, extensions, and the like. This is in contrast to the conventional software distribution model in which a user licenses access to a particular version of software for use on a particular computer.

사용자가 단순히 기본 소프트웨어로의 액세스를 라이센싱하는 SAAS와는 달리, PAAS에서, 사용자는 전체 플랫폼으로의 액세스를 빌린다. 통상적으로 이러한 플랫폼은 기능부(functionality)의 핵심 세트(가령 고객 자원 관리) 주변에 구축되며, 종종 팀 협업, 웹 서비스 및 데이터베이스 통합 등을 가능하게 하도록 설계된다. 통상적으로 확장성, 저장, 영속성(persistence), 상태 관리, 애플리케이션 버저닝 및 계측(application versioning and instrumentation), 데이터베이스 통합 등과 같은 공통 문제가 PAAS 제공자에 의해 막후에서 다뤄지기 때문에, PAAS는 바람직한 것으로 알려져 있다. 도 2는 인터페이스/웹 서버(240)와, 미들웨어 서버(250)와, 백-엔드 서버(260)와, 데이터베이스(270)가 사용자 컴퓨터(210)로부터 원격으로 위치하고, 인터넷(230)을 통해 액세스되는, 바람직한 PAAS 아키텍처를 도시한다. 일반적으로, 사용자 컴퓨팅 장치(210)는 기업이나, 그 밖의 다른 그룹의 일부분이며, 하나 이상의 라우터(220)를 통해 인터넷(230)을 액세스한다. 컴퓨팅 장치(210) 상에서 브라우저나 그 밖의 다른 소프트웨어를 실행시킴으로써, 플랫폼은 액세스될 수 있다. PAAS의 예로는 잘 알려진 Google, Inc.(캘리포니아, 마운틴 뷰 소재)의 Google App Engine 플랫폼이 있다. Unlike SAAS, where the user simply licenses access to the underlying software, in PAAS, the user borrows access to the entire platform. Typically, these platforms are built around a core set of functionality, such as customer resource management, and are often designed to enable team collaboration, web services, and database integration. PAAS is known to be desirable because common issues such as scalability, storage, persistence, state management, application versioning and instrumentation, and database integration are usually covered behind the scenes by the PAAS provider. . 2 shows interface / web server 240, middleware server 250, back-end server 260, and database 270 located remotely from user computer 210 and accessed via the Internet 230. The preferred PAAS architecture is shown. In general, user computing device 210 is part of an enterprise or other group and accesses Internet 230 through one or more routers 220. By running a browser or other software on computing device 210, the platform can be accessed. An example of PAAS is the well-known Google App Engine platform from Google, Inc. (Mountain View, California).

IAAS에서, 사용자는 특정 인프라구조(infrastructure)(가령, 특정 컴퓨팅연산 기능 및/또는 저장 기능을 갖는 물리 서버, 또는 가상 서버)로의 액세스를 빌린다. 이는, 인프라구조가 어떻게 구성되어야 하는가에 관한 특정 요구조건을 설정함에 있어 유연성을 사용자에게 제공하며, 이로 인해, 사용자는 대여된 시스템의 동작을 세분할 수 있다. 도 3은 바람직한 IAAS 아키텍처를 도시한다. 제한받지 않은 예를 들자면, 금융 서비스 기관이 고성능의, 고가용성(high availability) 서버(340)를 빌려서, 라우터(320)를 통해 인터넷(330)으로 연결되는 컴퓨팅 장치(310)로부터 수신된 질의에 응답하여, 초 당 서버에 의해 실행되는 인스트럭션의 개수(예를 들어, "MIPS", 즉, millions of instruction per second)를 기초로 하여, 지불한다. 이로 인해서, 수요가 최대인 시점에서(가령, 월말 조정), 관련된 더 높은 비용을 지불하기만 하면서, 상기 기관의 사용자는 고성능 서버의 증가된 연산력(computing power)을 증가시킬 수 있다. 일반적으로, IAAS는, 사업체가 필요로 하는 인프라구조를 빌리거나, 또는 상기 인프라구조를 배달하는 서비스에 가입함으로써, 내부 IT 비용을 감소시키면서, 여전히, 최신 시스템을 액세스하기를 원하는 사업체에게 바람직하고, IAAS가 아닌 경우, 필수 인프라구조를 구축하는 것과 관련된 시작 비용이 터무니없이 높을 경우에 바람직하다. 또 다른 예에서, 특정 절기에만 사용되는, 또는 스케줄을 기초로(가령, 분기별로) 사용되는 복잡한 기업용 애플리케이션을 유지 관리하는 일을 하는 사용자가 IAAS를 사용하여, 최대 수요 시기에, 추가적인 서버를 증설할 수 있으며, 이로 인해서 상기 추가적인 서버로 수요를 분산시킬 수 있고, 전체 반응을 개선할 수 있다. 예를 들어, 대형 쇼핑 웹 사이트가 IAAS 사업자가 크리스마스 동안 추가적인 서버를 증설하고, 수요가 진정될 때는 상기 서버를 닫을 것을 요청할 수 있다. In IAAS, a user borrows access to a specific infrastructure (eg, a physical server, or a virtual server with a particular computing and / or storage function). This provides the user with flexibility in setting specific requirements as to how the infrastructure should be configured, thereby allowing the user to refine the behavior of the borrowed system. 3 illustrates a preferred IAAS architecture. For example and not by way of limitation, a financial services institution may borrow a high-performance, high availability server 340 to query queries received from a computing device 310 that is connected to the Internet 330 via a router 320. In response, a payment is made based on the number of instructions executed by the server per second (eg, "MIPS", ie millions of instructions per second). This allows users of the institution to increase the increased computing power of high performance servers at the time of peak demand (eg, at the end of the month), while only paying the associated higher costs. In general, IAAS is desirable for businesses that still want to access the latest systems while reducing internal IT costs, either by renting the infrastructure the business needs or by subscribing to a service that delivers the infrastructure, For non-IAAS, it is desirable if the starting costs associated with building the required infrastructure are extraordinarily high. In another example, a user who is responsible for maintaining complex enterprise applications that are used only for a specific season or based on a schedule (eg, quarterly) uses IAAS to add additional servers at peak demand. This can distribute the demand to the additional servers and improve the overall response. For example, a large shopping web site may ask an IAAS operator to add an additional server during Christmas and close the server when demand subsides.

클라우드 컴퓨팅은 보호할 유산 투자가 거의 없으며, 따라서 클라우드 컴퓨팅에 의해, 최신 기술을 바탕으로 자신의 사업을 구축할 수 있는 새로운 기업에게 매력적일 가능성이 높다. 마찬가지로, 비교적 적정한 시작 비용으로 상당한 컴퓨팅 자원으로의 액세스를 획득할 수 있기 때문에, 기존 기업의 새로운 프로젝트(예를 들어, 연구 개발(R&D), 실험 등)가 클라우드 컴퓨팅으로부터 수혜를 받을 수 있다. 또한 클라우드 컴퓨팅은, 수명이 다한 서버를 갖는 IT 관련 자본 지출에 관심이 있는 전통적인 사업체에 매력적으로 느껴진다.Cloud computing has few heritage investments to protect, and cloud computing is likely to be attractive to new companies that can build their businesses on the latest technology. Similarly, new projects (e.g., research and development (R & D), experimentation, etc.) of existing companies can benefit from cloud computing because access to significant computing resources can be gained at a relatively reasonable start-up cost. Cloud computing is also appealing to traditional businesses interested in IT-related capital expenditures with end-of-life servers.

새로운 사업과, 기존 사업 내 새로운 프로젝트와 달리, 다수의 현재 사용자는 그들의 사업을 클라우드(cloud) 내로 이동시키는 것을 꺼려한다. 왜냐하면 이러한 이동은, 잠재적으로 민감한 데이터(예를 들어, 의료 기록, 고객 리스트, 현재 연구 개발 프로젝트 정보 등)를 포함하여, 애플리케이션과 데이터의 제어를 제 3 자에게 전달하는 것을 포함하기 때문이다. 이러한 전달은 사업을 위험에 노출시킬 수 있을 뿐 아니라, 특정 법률적 요구사항과의 충돌을 초래할 수 있다. 이러한 문제에 대한 한 가지 제안되는 해결책으로는, 특정 클라우드형 기능이 사용자의 네트워크 인프라구조에서 수행되고, 나머지 기능은 “클라우드 내에서” 수행되어, 사용자가 클라우드 컴퓨팅의 이점들 중 일부는 여전히 이용하면서, 애플리케이션과 데이터에 대한 통제의 희망 수준을 활용하는 것을 가능하게 하는 “하이브리드 클라우드(hybrid cloud)”가 있다. 이러한 모델에 의해, 사업체는 종래의 자신의 사무실 사업 애플리케이션을 위해 공공, 또는 외부 클라우드 솔루션을 이용할 수 있으며, 이로 인해서, 핵심 업무 부하와 데이터 프로세싱을 위한 핵심 정보 기술 자원이 자유로워질 수 있다.Unlike new businesses and new projects in existing businesses, many current users are reluctant to move their business into the cloud. Because this movement involves transferring control of applications and data to third parties, including potentially sensitive data (eg, medical records, customer lists, current research and development project information, etc.). This communication not only exposes the business to risks, but can also lead to conflicts with certain legal requirements. One suggested solution to this problem is that certain cloud-like functions are performed on the user's network infrastructure and the remaining functions are performed “in the cloud,” while the user still takes advantage of some of the benefits of cloud computing. There is a "hybrid cloud," which makes it possible to leverage the desired level of control over applications and data. This model allows businesses to use public or external cloud solutions for their existing office business applications, freeing up key information technology resources for core workload and data processing.

하이브리드 클라우드가, 이러한 기존 회사들의 클라우드 컴퓨팅의 딜레마에 대한 바람직한 해결책으로 보이지만, 산업 분야에서 하이브리드 클라우드는 빨리 채택되지 않았다. 이러한 늦은 채택의 하나의 이유로는, 현재의 클라우드 컴퓨팅 제안이, 통상, 구현하기 위해서는 “전부가 아니면 전무(all or nothing)” 접근법을 필요로 하는 것처럼 보였기 때문이다. 즉, 사용자는, 클라우드 내부로 이동될 수 있는 소프트웨어, 플랫폼 및 인프라구조가 무엇인지를, 이러한 소프트웨어, 플랫폼 및 인프라구조가 상기 클라우드 내부에 영구적으로 남아 있을 것이라고 예측하고, 평가한다.While hybrid cloud appears to be a desirable solution to these existing companies' cloud computing dilemma, hybrid cloud has not been adopted quickly in industry. One reason for this late adoption is that current cloud computing proposals usually appear to require a “all or nothing” approach to implement. That is, the user predicts and evaluates what software, platform, and infrastructure can be moved into the cloud such that the software, platform, and infrastructure will remain permanently inside the cloud.

하이브리드 클라우드가 인기를 얻기까지 오래 걸린 또 다른 이유는 다수의 사업체들이 복잡한 맞춤형 애플리케이션, 또는 반-맞춤형(semi-custom) 애플리케이션에 의존하고, 다수의 이러한 애플리케이션은 이들이 적정하게 기능하기 위해서는 다층 아키텍처(multi-tier architecture)를 필요로 한다는 것이 있다. 예를 들어, 사용자는 사용될 때 상기 소프트웨어가 기성품(“off the shelf”)의 형태로 사용되는 특정 소프트웨어를 기꺼이 SAS 모델로 이동시킬 수 있다. 예를 들어, 드물게 발생하는 CAD(computer aided drafting) 소프트웨어가 실제로 필요해지는 경우에, 직원들이 상기 CAD 소프트웨어를 이용할 수 있도록 하기를 원하는 법률 사무소는, 이러한 소프트웨어를 SAAS 모델 하에서 이용 가능하도록 만드는 것이, 회사의 각각의 직원에 대해 라이센스를 구입하는 것보다, 상당히 더 비용 효율적임을 발견할 수 있다. 직원들이 CAD 소프트웨어의 표준 버전을 원할 가능성이 높기 때문에, SAAS 모델이 더 적합하다.Another reason for the hybrid cloud to take a long time to gain popularity is that many businesses rely on complex custom or semi-custom applications, and many of these applications require a multi-layered architecture in order for them to function properly. -tier architecture). For example, a user may be willing to move certain software into the SAS model when the software is used in the form of “off the shelf” when used. For example, when rarely occurring computer aided drafting (CAD) software is actually needed, a law firm that wants to make the CAD software available to employees can make it available under the SAAS model. It can be found that it is considerably more cost effective than purchasing a license for each employee of. The SAAS model is more suitable because employees are more likely to want a standard version of CAD software.

이와 달리, 다수의 현재 사업체들은 그들의 작업을 고도로 맞춤형인 애플리케이션에 의존하다. 이러한 애플리케이션의 예로는, 회계 및 급여 지급 시스템, 인적 자원 기록, 근태 관리 애플리케이션, 문서 관리 시스템, 불만 처리, 클라이언트 상태 프로세싱 등이 있다(그러나 이에 제한받지 않음). 다수의 경우, 이들 애플리케이션은 기업 전체에 걸쳐(enterprise-wide) 사용되고, "n-계층“ 아키텍처를 이용하여 구현되는 일이 잦다. 이러한 요인에 의해, 이러한 애플리케이션을 ”클라우드 내부로“ 이동시키는 것을 고려하는 것에 덜 매력을 느낄 수 있다. 예를 들어, n-계층 아키텍처가 IAAS 환경에서 구현될 수 있지만, 현재 기술은 각각의 계층에서 각각의 서버가 온라인 상태가 되어지고, 개별적으로 구성될 것을 필요로 한다. 이는 통상적으로 클라우드와 관련되는 "hands-free(인간의 손을 쓰지 않는)"의 보편적인 개념과는 반대되는 것이며, 따라서 이로 인해서, 맞춤형 환경에 있어서, 클라우드-기반의 n-계층 아키텍처가 덜 바람직해질 수 있다. 덧붙이자면, 특정 클라우드 컴퓨팅 사업자의 플랫폼이나 인프라구조를 이용하기 위해, 맞춤형 애플리케이션이 상기 사업자가 확립한 가이드라인 내에서 동작하도록 재편성되어야 한다. 이러한 이주와 관련된 비용이 상당할 수 있으며, 따라서 다수의 회사가 자신의 애플리케이션을 클라우드로 이동시키지 않고 있다.In contrast, many current businesses rely on highly customized applications for their work. Examples of such applications include, but are not limited to, accounting and payroll systems, human resource records, time and attendance applications, document management systems, complaint handling, client status processing, and the like. In many cases, these applications are used enterprise-wide and are often implemented using "n-tier" architectures. For this reason, consider moving these applications "into the cloud." For example, an n-tier architecture can be implemented in an IAAS environment, but current technology requires that each server in each tier be brought online and configured separately. This is in contrast to the universal concept of "hands-free" typically associated with the cloud, so that in a custom environment, a cloud-based n-tier architecture In addition, it may be less desirable.In addition, applications tailored to use the platform or infrastructure of a particular cloud computing provider. It must be reorganized to operate within the guidelines established by the said operator. The costs associated with these migration can be significant, and therefore does not move a large number of companies have their applications into the cloud.

맞춤형 애플리케이션 및/또는 복잡한 아키텍처를 이용하는 사업체가 클라우드-기반의 컴퓨팅을 이용할 수 있게 하는 네트워크 아키텍처, 관련 시스템 및 방법이 필요하다. 이에 따라서, 본 발명은 종래 기술의 한계와 단점으로 인한 문제 중 하나 이상의 충분히 극복하는 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 아키텍처에 관한 것이다. There is a need for network architectures, related systems and methods that enable businesses using custom applications and / or complex architectures to take advantage of cloud-based computing. Accordingly, the present invention relates to a security customized application cloud computing architecture that sufficiently overcomes one or more of the problems caused by the limitations and disadvantages of the prior art.

다음의 기재에서 특징과 장점이 제공될 것이고, 본 발명의 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 아키텍처의 실시에 의해 습득될 수 있다. 본원에서 특히 지시되는 구조에 의해, 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 아키텍처의 목적과 그 밖의 다른 이점이 실현되고 달성될 것이다. Features and advantages will be provided in the following description and may be learned by the practice of the secure customized application cloud computing architecture of the present invention. With the structure particularly pointed out herein, the objectives and other advantages of secure custom application cloud computing architectures will be realized and achieved.

도 1은 종래의 SAAS 아키텍처를 도시하는 블록 다이어그램이다.
도 2는 종래의 PAAS 아키텍처를 도시하는 블록 다이어그램이다.
도 3은 종래의 IAAS 아키텍처를 도시하는 블록 다이어그램이다.
도 4는 본원발명의 아키텍처에 의해 지원될 수 있는 바람직한 프로비저닝 로직 흐름을 나타내는 흐름도이다.
도 5는 프로비저닝 요청을 수신하기 전의 바람직한 아키텍처를 도시하는 블록 다이어그램이다.
도 6은 가상 머신에 의해 지원될 수 있는 프로비저닝 요청이 수신된 후의 바람직한 아키텍처를 도시하는 블록 다이어그램이다.
도 7은 물리적 머신에 의해 지원될 수 있는 프로비저닝 요청이 수신된 후의 바람직한 아키텍처를 도시하는 블록 다이어그램이다.
도 8은 물리적 머신 프로비저닝 요청이 수행될 때, 바람직한 아키텍처를 도시하는 블록 다이어그램이다.
도 9는 바람직한 사용자 네트워크 아키텍처를 도시하는 블록 다이어그램이다.
도 10은 일부분이 클라우드 자원으로 이주된 도 9의 바람직한 아키텍처를 도시하는 블록 다이어그램이다.
1 is a block diagram illustrating a conventional SAAS architecture.
2 is a block diagram illustrating a conventional PAAS architecture.
3 is a block diagram illustrating a conventional IAAS architecture.
4 is a flow diagram illustrating a preferred provisioning logic flow that may be supported by the architecture of the present invention.
5 is a block diagram illustrating a preferred architecture prior to receiving a provisioning request.
6 is a block diagram illustrating a preferred architecture after a provisioning request has been received that may be supported by a virtual machine.
7 is a block diagram illustrating a preferred architecture after a provisioning request has been received that may be supported by a physical machine.
8 is a block diagram illustrating a preferred architecture when a physical machine provisioning request is performed.
9 is a block diagram illustrating a preferred user network architecture.
10 is a block diagram illustrating the preferred architecture of FIG. 9 with some migrated to cloud resources.

앞서 설명된 바와 같이, 다수의 사업체가 그들 시스템의 복잡성 때문에, 클라우드 컴퓨팅(cloud computing)을 이용할 수 없다. 제한받지 않은 예를 들자면, 이러한 사업체들은 광대한 아키텍처(extensive architecture)가 구현될 것을 필요로 하는 맞춤형 애플리케이션(custom application)에 의존할 수 있다. 도 9는 네트워크 아키텍처와, 상기 아키텍처의 다양한 구성요소를 도시하는 블록 다이어그램이며, 상기 네트워크 아키텍처는 가상 병원이나 사업체에 의해 사용될 수 있다. 병원은 고가용성(high availability)의 다양한 정보, 예를 들어, 환자 기록, 재고 관리 데이터, 회계 데이터, 인적 자원 데이터 등을 필요로 하며, 상기 정보들은 보관될 수 있고, 상기 정보로의 액세스가 데이터 센터(930)를 통해 제공될 수 있다. 일부 실시예에서, 데이터 센서(900)는, 환자에게 서비스를 제공하는 지역 오피스(900)와 지리적으로 인접하게 위치할 수 있지만, 이러한 인접성이 필수인 것은 아니다. 이러한 아키텍처 및 관련 시스템과 방법이 데이터 센터(900)에 따라 다르게 도시되지만, 해당 업계 종사자에게 데이터 센터(900) 내의 컴퓨팅 시스템이 실제 데이터 센터 내에서 전개될 필요는 없으며, 본 발명의 범위 내에서, 임의의 사설 컴퓨팅 환경(private computing environment)이 이를 대체할 수 있음을 알 것이다. As described above, many businesses are unable to use cloud computing because of the complexity of their systems. By way of example, and without limitation, these businesses may rely on custom applications that require an extensive architecture to be implemented. 9 is a block diagram illustrating a network architecture and various components of the architecture, which may be used by a virtual hospital or business. Hospitals require a variety of high availability information, such as patient records, inventory management data, accounting data, human resource data, and the like, which information can be stored and access to the data May be provided through the center 930. In some embodiments, the data sensor 900 may be located geographically adjacent to the regional office 900 that serves the patient, but such proximity is not required. While these architectures and related systems and methods are shown differently depending on the data center 900, to those skilled in the art, computing systems within the data center 900 need not be deployed within the actual data center, and within the scope of the present invention, It will be appreciated that any private computing environment can replace this.

도 9에서 도시된 바람직한 아키텍처에서, 컴퓨팅 장치(910)는 실행되는 클라이언트 소프트웨어를 가지며, 상기 클라이언트 소프트웨어에 의해, 각각의 컴퓨팅 장치는 데이터 센트(930)로부터 제공되는 정보를 액세스할 수 있다. 이러한 클라이언트 소프트웨어는, 예를 들자면, 하나 이상의 맞춤형 애플리케이션(custom application), 웹 브라우저, 상기 웹 브라우저 내에서 실행되는 맞춤형 소프트웨어(가령, 플러그-인(plug-in), 애드-온(add-on), 확장(extension)) 중 하나 이상을 포함한다. 이러한 클라이언트 소프트웨어는 하나 이상의 컴퓨터에 의해 해석가능한 언어, 예를 들어, JAVA, C++, C#, AJAX(그러나 이에 제한받지 않음)로 쓰여질 수 있다. In the preferred architecture shown in FIG. 9, computing device 910 has client software that is executed by which each computing device can access information provided from data cents 930. Such client software may include, for example, one or more custom applications, a web browser, custom software running within the web browser (eg, plug-in, add-on). , Extension). Such client software may be written in languages interpretable by one or more computers, such as but not limited to JAVA, C ++, C #, AJAX.

클라이언트 소프트웨어는 사설 통신 링크(private communications link)(920)를 통해 데이터 센터(930)를 액세스하는 것이 통상적이다. 일부 실시예에서, 상기 사설 통신 링크(920)는 전용 고속 연결, 또는 다이얼-업 연결, 또는 가상 사설 네트워크 연결, 또는 이들과 유사한 연결일 수 있다. 라우터(915)는 컴퓨팅 장치(910)와 데이터 센터(930)에 의해 공유되는 사설 네트워크 내의 통신을 촉진시킬 수 있다. 데이터 센터(930) 내에서, 라우터(935)가 데이터 센터(930) 내에 전개된 사설 네트워크와 사설 통신 링크(920) 간의 통신을 촉진시킨다.Client software typically accesses data center 930 via private communications link 920. In some embodiments, the private communication link 920 may be a dedicated high speed connection, or a dial-up connection, or a virtual private network connection, or a connection similar thereto. The router 915 may facilitate communication in a private network shared by the computing device 910 and the data center 930. Within the data center 930, a router 935 facilitates communication between the private network and the private communication link 920 deployed within the data center 930.

도 9에서 도시된 바람직한 실시예에서, 환자 기록으로의 액세스가 환자 기록 시스템(patient records system)(940)을 통해 제공된다. 환자 기록 인터페이스 서버(patient records interface server)(942)는, 예를 들어, 하나 이상의 컴퓨팅 장치(910) 상에서 실행되는 적정 클라이언트 애플리케이션을 통해 입력되는 데이터에 비즈니스 처리 규칙(business process rule)을 적용하는 등의 필수 기능을 수행하기 위해 필요한 로직을 제공한다. 환자 기록 데이터베이스 서버(944)는 환자 기록 데이터베이스(946)로의 액세스를 촉진시킨다. 상기 환자 기록 데이터베이스 서버(944)는 환자 기록 인터페이스 서버(940)로부터 데이터베이스 관련 쿼리(query)를 수신하며, 상기 환자 기록 데이터베이스(946)를 검색 및/또는 업데이트하며, 환자 기록 인터페이스 서버(940)로 결과를 반환(return)할 수 있다. 환자 기록 인터페이스 서버(940)는 반환된 정보나 이들의 서브셋을, 사용자 컴퓨팅 장치(910) 중 하나 상에서 실행되는 클라이언트 소프트웨어에게 제공할 수 있다. In the preferred embodiment shown in FIG. 9, access to patient records is provided through a patient records system 940. Patient records interface server 942 may, for example, apply business process rules to data entered through appropriate client applications running on one or more computing devices 910, and the like. It provides the logic necessary to perform essential functions. Patient record database server 944 facilitates access to patient record database 946. The patient record database server 944 receives a database related query from the patient record interface server 940, retrieves and / or updates the patient record database 946, and sends it to the patient record interface server 940. You can return the result. The patient record interface server 940 can provide the returned information or a subset thereof to client software running on one of the user computing devices 910.

재고 관리 시스템(inventory management system)(950)은, 예를 들어, 현재 창고에 있는 병원 가운의 개수, 붕대의 개수, 목발의 개수, 처방 및 비-처방 약의 개수 등의 재고 정보로의 액세스를 촉진시킨다. 도시된 실시예에서, 재고 관리 웹 서버(952)는 재고 관리 시스템에 대한 HTML 및/또는 JAVA-기반의 인터페이스를 제공한다. 사용자는 단순히, 컴퓨팅 장치(910) 중 하나에서 웹 브라우저를 시동하고, 재고 관리 시스템을 액세스하기 위한 적정한 URL(Uniform Resource Locator)을 입력한다. 도시된 실시예에서, 재고 관리 웹 서버(952)는, Microsoft Corporation 사가 배포한 Windows Server 2008 운영 체제가 실행 중인 하나 이상의 마이크로프로세서를 갖는 서버 컴퓨터를 포함한다. 또한 재고 관리 웹 서버(952)는, 웹 서버 기능을 제공하는 것을 촉진시키기 위해, 운영 체제 내에서 실행 중인 인터넷 정보 서비스(IIS: Internet Information Service)를 가질 수 있다. 재고 관리 웹 서버(952)는, 상기 재고 관리 웹 서버(952)에 의해 제공되는 성능 및/또는 인터페이스를 커스터마이즈하기 위해 사용된 HTML(Hypertext Markup Language), 또는 XML(eXtensible Markup Language)뿐 아니라, 스크립트, 애플릿 등으로 쓰여진 하나 이상의 맞춤형 페이지(custom page)를 포함할 수 있다. Inventory management system 950 provides access to inventory information, such as, for example, the number of hospital gowns, bandages, crutches, prescription and non-prescription medications currently in the warehouse. Promote In the illustrated embodiment, inventory management web server 952 provides an HTML and / or JAVA-based interface to the inventory management system. The user simply launches a web browser on one of the computing devices 910 and enters the appropriate Uniform Resource Locator (URL) to access the inventory management system. In the illustrated embodiment, the inventory management web server 952 includes a server computer having one or more microprocessors running a Windows Server 2008 operating system distributed by Microsoft Corporation. The inventory management web server 952 may also have an Internet Information Service (IIS) running within the operating system to facilitate providing web server functionality. The inventory management web server 952 may be configured to include scripts, as well as Hypertext Markup Language (HTML) or eXtensible Markup Language (XML) used to customize the performance and / or interfaces provided by the inventory management web server 952. It may include one or more custom pages written in, applets, and the like.

도시된 실시예에서, 재고 관리 미들웨어 서버(953)가 재고 관리 웹 서버(952)로부터 사용자 지시, 또는 쿼리, 또는 그 밖의 다른 요청을 수신하며, 상기 수신된 요청을 바탕으로, 리포트를 생성하고, 비즈니스 로직을 적용하는 일을 한다. 도시된 실시예에서, 재고 관리 미들웨어 서버(953)는, Microsoft Corporation이 배포한 Windows Server 2008 운영 체제가 실행 중인 하나 이상의 마이크로프로세서를 갖는 서버 컴퓨터를 포함한다. 또한 재고 관리 웹 서버(952)는 재고 관리 웹 서버(952)와 재고 관리 데이터베이스 서버(954) 간의 인터페이싱을 촉진하는, 운영 체제 내에서 실행되는 하나 이상의 애플리케이션을 가질 수 있다. 이러한 애플리케이션은 완전히 스탠드-얼론(stand-alone)형이거나, 컴퓨터 코드의 하나 이상의 정적 및/또는 동적 링크 라이브러리(DLL)를 사용할 수 있다. In the illustrated embodiment, the inventory management middleware server 953 receives user instructions, queries, or other requests from the inventory management web server 952, and based on the received requests, generates a report, Do business logic. In the illustrated embodiment, the inventory management middleware server 953 includes a server computer having one or more microprocessors running a Windows Server 2008 operating system distributed by Microsoft Corporation. Inventory management web server 952 may also have one or more applications running within an operating system that facilitates interfacing between inventory management web server 952 and inventory management database server 954. Such applications may be completely stand-alone or may use one or more static and / or dynamic link libraries (DLLs) of computer code.

재고 관리 데이터베이스 서버(954)는, 예를 들어, 재고 관리 데이터베이스(956)에 저장된 데이터에 대하여 쿼리를 수행하고, 재고 관리 데이터베이스(956)로부터 기록을 추가하거나, 업데이트하거나, 제거하는 등의 재고 관리 데이터베이스(956)로의 액세스를 촉진한다. 도시된 실시예에서, 재고 관리 데이터베이스 서버(954)는, Microsoft Corporation이 배포한 Windows Server 2008 운영 체제가 실행되는 하나 이상의 마이크로프로세서를 갖는 서버 컴퓨터를 포함한다. 또한 재고 관리 데이터베이스 서버(954)는, 운영 체제 내에서 실행되는 Microsoft Corporation이 배포한 SQL Server를 가질 수 있다. 상기 SQL Server는 하나 이상의 관련 데이터베이스에 정보를 저장하는 것뿐 아니라, 저장된 정보를 불러오고 수정하는 것까지 촉진시키는 공지된 데이터베이스 서버이다. 일부 실시예에서, 복잡하거나 빈번하게 사용되는 쿼리, 또는 그 밖의 다른 커스터마이제이션(customization)은 데이터베이스 서버(954) 및/또는 재고 관리 데이터베이스(956)에 저장될 수 있다.Inventory management database server 954, for example, performs a query on data stored in inventory management database 956, and adds, updates, or removes records from inventory management database 956, and the like. Facilitate access to database 956. In the illustrated embodiment, inventory management database server 954 includes a server computer having one or more microprocessors running a Windows Server 2008 operating system distributed by Microsoft Corporation. The inventory management database server 954 may also have a SQL Server distributed by Microsoft Corporation running within an operating system. The SQL Server is a known database server that not only stores information in one or more related databases, but also facilitates loading and modifying stored information. In some embodiments, complex or frequently used queries, or other customizations, may be stored in database server 954 and / or inventory management database 956.

앞서, 재고 관리 시스템(950)이 컴퓨팅 시스템과, Windows Server 2008 운영 체제 환경에서 구축된 네트워크 아키텍처와, 이에 맞게 쓰여진 소프트웨어를 포함하는 것으로 기재되었지만, 해당업계 종사자라면, 본 발명의 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 아키텍처의 사상과 범위 내에서, 대안적 운영 체제 및/또는 소프트웨어로 대체될 수 있음을 알 것이다. 예를 들어, 재고 관리 시스템(950)을 구성하는 서버 중 하나 이상이 몇 개의 기존 Linux 운영 체제 중 하나를 운영할 수 있으며, 이때, 상기 운영 체제 내에서 실행되는 소프트웨어는 앞서 언급된 Windows Server 2008 운영 체제에서 운영되는 소프트웨어와 유사한다.While inventory management system 950 has been described previously as including a computing system, a network architecture built on a Windows Server 2008 operating system environment, and software written accordingly, those skilled in the art will appreciate that the security-customized application cloud computing of the present invention. It is to be understood that within the spirit and scope of the architecture, alternative operating systems and / or software may be substituted. For example, one or more of the servers that make up the inventory management system 950 can run one of several existing Linux operating systems, where software running within the operating system is the aforementioned Windows Server 2008 operating system. It is similar to software running on the system.

도 9에서 도시되는 실시예에서, 회계 시스템(960)이 재고 관리 시스템(950)의 아키텍처와 유사한 아키텍처를 사용하며, 이때, 재고 관리 웹 서버(952)가 회계 웹 서버(962)로 대체되고, 재고 관리 미들웨어 서버(953)가 회계 미들웨어 서버(963)로 대체되며, 재고 관리 데이터베이스 서버(954)가 회계 데이터베이스 서버(964)로 대체되고, 재고 관리 데이터베이스(956)가 회계 데이터베이스(966)로 대체된다. 마찬가지로, 인적 자원 시스템(970)도 재고 관리 시스템(950)의 것과 유사한 아키텍처를 사용하는데, 이때, 인적 자원 웹 서버(972)가 재고 관리 웹 서버(952)를 대체하고, 인적 자원 미들웨어 서버(973)가 재고 관리 미들웨어 서버(953)를 대체하며, 인적 자원 데이터베이스 서버(974)가 재고 관리 데이터베이스 서버(954)를 대체하며, 인적 자원 데이터베이스(976)가 재고 관리 데이터베이스(956)를 대체한다.In the embodiment shown in FIG. 9, accounting system 960 uses an architecture similar to that of inventory management system 950, where inventory management web server 952 is replaced by accounting web server 962, Inventory management middleware server 953 is replaced with accounting middleware server 963, inventory management database server 954 is replaced with accounting database server 964, inventory management database 956 is replaced with accounting database 966. do. Similarly, human resource system 970 uses an architecture similar to that of inventory management system 950, where human resource web server 972 replaces inventory management web server 952 and human resource middleware server 973. ) Replaces inventory management middleware server 953, human resource database server 974 replaces inventory management database server 954, and human resource database 976 replaces inventory management database 956.

도 9는 명료한 설명을 위해, 지역 오피스(900)와 데이터 센터(930) 간의 통신을, 하나의 라우터와 하나의 사설 통신 링크를 통해 발생하는 것으로 도시한다. 다수의 실제 실시예에서는, 단일 포인트 소스 오류의 가능성을 감소시키고, 이중화(redundancy)를 보강하기 위해, 다수의 라우터 및 통신 링크가 사용될 것이며, 이러한 실제 실시예는 본 발명의 일부분인 것으로 의도된다. 마찬가지로, 앞서 사설 통신 링크(920)가 사설 및/또는 보안 통신 링크로서 설명되지만, 본 발명의 사상과 범위 내에서, 인터넷이 이를 대체할 수 있다.9 illustrates communication between the local office 900 and the data center 930 via one router and one private communication link for clarity. In many practical embodiments, multiple routers and communication links will be used to reduce the likelihood of single point source errors and to enhance redundancy, which is intended to be part of the present invention. Similarly, although private communication link 920 is described above as a private and / or secure communication link, within the spirit and scope of the present invention, the Internet may replace it.

도 9는 특정 기능을, 시스템 당 하나의 서버에 의해, 그리고 시스템 당 고정된 개수의 서버에 의해 수행되는 것으로 도시하고, 이는 순전히 설명의 단순함을 위한 것이지, 본 발명을 이러한 서버의 기능과 개수로 한정하기 위한 것이 아니다. 예를 들어, 앞서 설명된 하나의 서버에 의해 제공되는 기능은 실제로, 클러스터(cluster)의 일부분으로 참여하는 다수의 서버에 의해 제공될 수 있다. 마찬가지로, 데이터 센터(930)에 의해 제공되는 다양한 시스템이 n-계층 아키텍처(n-tier architecture)를 사용하는 것처럼 도시되었지만, 본 발명의 사상과 범위 내에서, 대안적 아키텍처가 이를 대체할 수 있다. FIG. 9 illustrates certain functions performed by one server per system and by a fixed number of servers per system, which is purely for simplicity of description, and the invention is directed to the functions and number of such servers. It is not intended to be limiting. For example, the functionality provided by one server described above may in fact be provided by multiple servers participating as part of a cluster. Similarly, although the various systems provided by data center 930 are shown as using an n-tier architecture, within the spirit and scope of the present invention, alternative architectures may replace it.

도 9에서 도시된 바람직한 실시예에서, 병원은 분기 보고서(quarterly report), 또는 다른 복잡한 회계 업무를 주기적으로 수행할 필요가 있을 수 있다. 이러한 작업이 기존 시스템을 이용하여 수행되는 동안, 이러한 작업은 자원 집약적이며, 상당한 CPU 시간, 메모리 및/또는 입력/출력(I/O) 연산을 필요로 할 수 있으며, 회계 데이터베이스(966) 내에서 하나 이상의 기록이 잠금될 것을 필요로 할 수 있다. 따라서 이러한 작업은 종종, 시스템 이용 수요가 감소되는 저녁이나 그 밖의 다른 기간 동안 수행된다. 불행하게도, 오류가 발생하거나 변화가 요구될 때, 작업은 재-실행되어야 하고, 정보 요구의 긴급성에 따라서, 수요가 더 높은 기간 동아 수행될 필요가 있을 수 있다.In the preferred embodiment shown in FIG. 9, the hospital may need to periodically perform quarterly reports, or other complex accounting tasks. While these tasks are performed using existing systems, these tasks are resource intensive and may require significant CPU time, memory, and / or input / output (I / O) operations, and within accounting database 966. One or more records may need to be locked. As such, these tasks are often performed during the evening or during other periods when the demand for system use is reduced. Unfortunately, when an error occurs or a change is required, the task must be re-executed and, depending on the urgency of the information request, may need to be performed during periods of higher demand.

하나의 해결책은, 컴퓨팅 연산 요구를 해결하는 것을 돕기 위해, 온라인 추가 자원을 데이터 센터(930) 내로 가져오는 것이다. 그러나 이는 자원의 구매를 필요로 하는데, 복잡한 작업이 수행되는, 비교적 드물게 발생하는 시간 동안을 제외하고는, 이러한 자원은 아이들(idle) 상태이거나, 충분히 이용되지 않을 것이다. 이는 많은 사업체에 있어서 비용-효율적인 해결책이 아니며, 따라서 사업체는 이러한 자원에 투자하지 않을 것이다. One solution is to bring online additional resources into the data center 930 to help solve computing computational needs. However, this requires the purchase of resources, which are idle or will not be fully utilized, except during relatively rare times during which complex tasks are performed. This is not a cost-effective solution for many businesses and therefore they will not invest in these resources.

덧붙이자면, 예로 든 병원의 데이터 중 다수가 사생활과 보안에 관련된다고 가정하면, 이러한 데이터를 클라우드로 밀어 넣는 것이 바람직하지 않다. 예를 들어, 본질적으로 앞서 언급된 회계 정보는 각각의 환자의 치료, 비용, 보험 회사 등에 관한 개인 정보를 포함할 것이다. 따라서 예로 든 병원은 회계 시스템을 클라우드 내부로 이주시킬 수 없을 것이다. 시스템이 클라우드 내부로 밀어 넣어질 수 없기 때문에, 병원은 회계 시스템의 수요를 총족시키기 위해, 새로운 자원을 동적으로 도입하는 종래의 클라우드 컴퓨팅의 기능을 활용할 수 없을 것이다. In addition, assuming that many of the hospital's data are related to privacy and security, it is not desirable to push this data into the cloud. For example, the accounting information mentioned above in essence would include personal information about the treatment, costs, insurance companies, etc. of each patient. Thus, the example hospital will not be able to migrate its accounting system into the cloud. Since the system cannot be pushed into the cloud, hospitals will not be able to leverage the capabilities of conventional cloud computing to dynamically introduce new resources to meet the demands of the accounting system.

이와 대조적으로, 본 발명은, 데이터 센터(930)가 제공하는 일부 시스템이 일시적으로 클라우드 내부로 이주할 수 있고, 이에 따라서, 회계 수요에 보조를 맞추기 위해 데이터 센터(930) 내의 자원을 자유롭게 하는 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 아키텍처에 관한 것이다. 예를 들어, 도 10은 재고 관리 시스템(950)을 클라우드 자원(1000) 내부로 일시적으로 이주시키는 것을 도시하는데, 이에 따라 웹 서버(952), 미들웨어 서버(953), 데이터베이스 서버(954), 데이터베이스(956) 중 하나 이상을 자유롭게 하여, 회계 시스템의 수요를 충족하는 것을 도울 수 있다.
In contrast, the present invention provides that some systems provided by the data center 930 may temporarily migrate into the cloud, thereby freeing resources within the data center 930 to keep pace with accounting needs. It is about a custom application cloud computing architecture. For example, FIG. 10 illustrates temporarily migrating inventory management system 950 into cloud resources 1000, such as web server 952, middleware server 953, database server 954, database. One or more of (956) may be free to help meet the needs of the accounting system.

도 10에서 도시되는 실시예에서, 사용자가 컴퓨팅 장치(910)를 통해 재고 관리 시스템을 액세스하도록 시도할 때, 라우터(915)는 인터넷(1005)을 통한 라우터(1040)로의 요청을 라우팅한다. 일부 실시예에서, 이러한 라우팅은 본 발명의 출원인인 Unisys Corporation(미국, 펜실배니아, 블루 벨 소재)이 개발한 Stealth 기법을 이용할 수 있으며, 상기 Stealth 기법은 US 특허 출원 제12/346,578호, 제12/346,561호 및 제12/336,568호에서 상세히 기재되어 있으며, 상기 출원들은 본원에서 참조로서 인용된다. 도시된 실시예에서, 데이터베이스(956)에 이전에 저장된 데이터가 클라우드 데이터베이스(1056)로 복제될 수 있다. 일부 실시예에서, 데이터베이스(956)는 하나 이상의 대기 복사본(quiesce copy)을 이용할 수 있으며, 이로 인해서, 클라우드 데이터베이스(1056)로의 더 신속한 복제가 촉진될 수 있다. 복제가 완성될 때, 데이터베이스 서버(954)는 데이터베이스(956) 대신 클라우드 데이터베이스(1056)를 어드레싱하는 것을 시작할 수 있다. In the embodiment shown in FIG. 10, when a user attempts to access the inventory management system through computing device 910, router 915 routes the request to router 1040 via the Internet 1005. In some embodiments, such routing may utilize the Stealth technique developed by the applicant of the present invention, Unisys Corporation (Bluebell, Pennsylvania, USA), which stealth technique is described in US patent application Ser. No. 12 / 346,578, filed. 12 / 346,561 and 12 / 336,568, which are incorporated herein by reference. In the illustrated embodiment, data previously stored in database 956 may be replicated to cloud database 1056. In some embodiments, database 956 may use one or more standby copies, which may facilitate faster replication to cloud database 1056. When replication is complete, the database server 954 can begin addressing the cloud database 1056 instead of the database 956.

상기 데이터가 복제되는 중일 때, 클라우드 데이터베이스 서버(1054)가 프로비저닝(provisioning)될 수 있다. 클라우드 데이터베이스 서버(1054)는, 클라우드 데이터베이스 서버(1054)로의 액세스를 촉진시키는 하나 이상의 실제 서버 및/또는 가상 서버로서 프로비저닝될 수 있다. 이러한 프로비저닝(provisioning)은, 데이터베이스 서버(954) 상에 저장되거나, 상기 데이터베이스 서버에 대해 만들어지는 임의의 커스터마이제이션(customization)의 복제를 포함할 수 있다(그러나 이에 제한되는 것은 아님). 클라우드 데이터베이스 서버(1054)가 온라인 상태가 될 준비를 하면, 재고 관리 서버(953)는 임의의 데이터베이스-관련 요청을 클라우드 데이터베이스 서버(1054)에게 전달할 것을 명령받을 수 있다.When the data is being replicated, the cloud database server 1054 may be provisioned. The cloud database server 1054 may be provisioned as one or more real servers and / or virtual servers that facilitate access to the cloud database server 1054. Such provisioning may include, but is not limited to, replication of any customizations stored on or made to database server 954. When the cloud database server 1054 is ready to go online, the inventory management server 953 may be instructed to forward any database-related request to the cloud database server 1054.

클라우드 데이터베이스 서버(1054)가 프로비저닝되는 동안, 클라우드 미들웨어 서버(1052)가 또한 프로비저닝될 수 있다. 클라우드 미들웨어 서버(1054)는 하나 이상의 실제 머신 및/또는 가상 머신을 포함할 수 있고, 재고 관리 미들웨어 서버(953) 상에 저장된 임의의 커스터마이제이션(customization), 또는 상기 재고 관리 미들웨어 서버(953)에 대해 만들어진 커스터마이제이션에 따라 프로비저닝될 수 있다. 예를 들어, 재고 관리 서버(953) 상에서 실행되는 미들웨어 소프트웨어가 하나 이사의 템플릿(template), 스크립트, 또는 그 밖의 다른 커스터마이제이션을 사용할 수 있으며, 이러한 커스터마이제이션들은 재고 관리 서버(953) 상의 하나 이상의 알려진 디렉토리에 저장된다. 프로비저닝 절차의 일부분으로서, 이들 디렉토리의 내용이 클라우드 미들웨어 서버(1052)로 복제될 수 있고, 이로 인해서, 클라우드 미들웨어 서버(1052)가 동일한 기능을 수행할 수 있다. 클라우드 미들웨어 서버(1052)가 적절하게 프로비저닝되면, 재고 관리 웹 서버(952)는, 재고 관리 미들웨어 서버(953) 대신, 클라우드 미들웨어 서버(1052)를 이용하도록 명령받을 수 있다. While the cloud database server 1054 is provisioned, the cloud middleware server 1052 may also be provisioned. The cloud middleware server 1054 may include one or more physical and / or virtual machines, and for any customization stored on the inventory management middleware server 953, or for the inventory management middleware server 953. Can be provisioned according to the customizations made. For example, middleware software running on inventory management server 953 may use one director's template, script, or other customization, which customizations may include one or more known directories on inventory management server 953. Are stored in. As part of the provisioning procedure, the contents of these directories can be replicated to the cloud middleware server 1052, thereby allowing the cloud middleware server 1052 to perform the same function. Once the cloud middleware server 1052 is properly provisioned, the inventory management web server 952 may be instructed to use the cloud middleware server 1052 instead of the inventory management middleware server 953.

클라우드 미들웨어 서버(1052)가 프로비저닝되는 동안, 클라우드 웹 서버(1050)가 또한 프로비저닝될 수 있다. 클라우드 웹 서버(1050)가 하나 이상의 실제 머신 및/또는 가상 머신을 포함할 수 있으며, 재고 관리 웹 서버(952) 상에 저장되는, 또는 상기 재고 관리 웹 서버에 대해 만들어진 상기 임의의 커스터마이제이션에 따라 프로비저닝될 수 있다. 클라우드 웹 서버(952)가 적정하게 프로비저닝되면, 라우터(915) 및/또는 라우터(935)는, 모든 재고 관리에 관련된 요청을 클라우드 라우터(104)로 라우팅하도록 명령받을 수 있다. While the cloud middleware server 1052 is provisioned, the cloud web server 1050 may also be provisioned. Cloud web server 1050 may include one or more physical and / or virtual machines, and is provisioned according to any customization that is stored on inventory management web server 952 or made for the inventory management web server. Can be. Once the cloud web server 952 is properly provisioned, the router 915 and / or router 935 may be instructed to route all inventory management related requests to the cloud router 104.

앞서 프로비저닝이 잇달아(serially) 발생하는 것처럼 기재하였지만, 본 발명의 사상과 범위 내에서, 상기 프로비저닝은 병렬로 발생할 수 있다. While provisioning has been described above as occurring serially, within the spirit and scope of the present invention, the provisioning may occur in parallel.

앞서 언급된 프로비저닝 방법을 통해, 재고 관리 시스템(950)은 데이터 센터(930) 내에서, 클라우드 자원(1000)으로 쉽게 변이될 수 있다. 앞서 언급된 바와 같이, 이는 서버(952, 953 및 954)와 데이터베이스(956)를 자유롭게 하여, 회계 시스템(960)에 대한 증가하는 수요에 도움이 될 수 있다. 일부 실시예에서, 서버(952)는 회계 웹 서버(962)의 것과 유사한 소프트웨어 구성으로 재-프로비저닝(re-provisioning)될 수 있다. 마찬가지로, 서버(953)는 회계 미들웨어 서버(963)의 것과 유사한 구성으로 재-프로비저닝되고, 서버(954)는 회계 데이터베이스 서버(964)의 것과 유사한 소프트웨어 구성으로 재-프로비저닝될 수 있다. 또한 회계 데이터베이스(966)에 저장된 데이터가 데이터베이스(956)로 복제될 수 있으며, 데이터베이스는, 데이터베이스 일관성을 촉진시키기 위해 링크될 수 있다. 새로 보강된 회계 시스템(960)에 대해 재-프로비저닝이 완료되고 액세스 요청이 수신되면, 라우터(935)가 상기 요청을 회계 웹 서버(952 및 962) 중 하나로 라우팅하기 위해 라운드-로빈 방식을 이용할 수 있다. 또 다른 실시예에서, 라우터(935), 또는 또 다른 장치가 이용 통계(utilization statistics), 또는 응답 시간 등을 추적하여, 상기 요청이 라우팅되는 목적지인 적정 서버를 판단할 수 있다. 이러한 이용 통계는 라우터(935)에 의해 생성되거나, 회계 웹 서버(952 및 962) 중 하나 이상 및/또는 또 다른 장치에 의해 제공될 수 있다. Through the provisioning method mentioned above, the inventory management system 950 can be easily transformed into the cloud resource 1000 within the data center 930. As mentioned above, this frees the servers 952, 953 and 954 and the database 956, which may help with the increasing demand for the accounting system 960. In some embodiments, server 952 may be re-provisioned with a software configuration similar to that of accounting web server 962. Similarly, server 953 may be re-provisioned in a configuration similar to that of accounting middleware server 963, and server 954 may be re-provisioned in a software configuration similar to that of accounting database server 964. Data stored in the accounting database 966 can also be replicated to the database 956, which can be linked to promote database consistency. Once re-provisioning is completed for the newly enhanced accounting system 960 and an access request is received, the router 935 may use a round-robin approach to route the request to one of the accounting web servers 952 and 962. have. In another embodiment, router 935, or another device, may track utilization statistics, response time, and the like, to determine the appropriate server to which the request is routed. Such usage statistics may be generated by router 935 or provided by one or more of accounting web servers 952 and 962 and / or another device.

일부 실시예에서, 주기적이고, 예측 가능한 스케줄에 따라, 추가 자원에 대한 요구가 발생하며, 데이터 센터(930)에서 클라우드 자원(1000)으로의 이주의 개시가 상기 스케줄을 기초로 발생한다. 예를 들어, 매 4월 1일, 7월 1일, 9월 1일 및 1월 1일에 추가 자원이 요구됨을 아는 경우, 본 발명의 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 아키텍처는, 이주 프로세스를 3월 31일, 6월 30일, 8월 31일 및 12월 31일에 자동으로 개시하도록, 또는 임의의 이동-관련 문제를 추가로 완화하기 위해, 상기 날짜 전 주말에 자동으로 개시하도록 스케줄링될 수 있다. 요구가 주어진 시간 동안 지속될 가능성이 높은 경우, 앞서 설명된 프로비저닝 프로세스와 유사한 프로세스를 이용하는 자동화된 디프로비저닝(deprovisioning)이 미리 스케줄링될 수 있다. In some embodiments, in accordance with a periodic and predictable schedule, there is a need for additional resources, and initiation of migration from the data center 930 to cloud resources 1000 occurs based on the schedule. For example, if you know that additional resources are required every April 1, July 1, September 1, and January 1, the security-customized application cloud computing architecture of the present invention may have a migration process of March 31. It may be scheduled to start automatically on Sunday, June 30, August 31 and December 31, or to start automatically on the weekend before the date, to further mitigate any move-related issues. If the request is likely to last for a given time, automated deprovisioning using a process similar to the provisioning process described above can be scheduled in advance.

또 다른 실시예에서, 추가 자원에 대한 요구는, 예측 불가능한 문제를 기초로, 동적으로 발생할 수 있다. 예를 들어, 회계 웹 서버(962)에 장애가 있는 경우, 본 발명의 아키텍처는 재고 관리 웹 서버(952)를 클라우드로 동적으로 이동시킬 수 있으며, 이로 인해서, 서버(952)는 자유로워져서, 회계 웹 서버(962)가 이전에 수행한 기능을 수행할 수 있다. 일부 실시예에서, 장애극복(fail-over)이 발생하면, 재고 관리 시스템(950)의 전체가 클라우드로 이주된다. 본 발명의 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 아키텍처의 동적 속성은, 요구에 따라 매끄러운 가상 이주(virtually seamless migration)를 촉진시키고, 이로 인해서, 소비자는 특정 데이터 및 그 밖의 다른 정보는 클라우드 밖에서 유지하면서, 클라우드 컴퓨팅의 파워로의 액세스와 신뢰성을 얻을 수 있다. In yet another embodiment, the need for additional resources may occur dynamically, based on unpredictable problems. For example, if the accounting web server 962 fails, the architecture of the present invention may dynamically move the inventory management web server 952 to the cloud, thereby freeing the server 952 so that accounting The web server 962 may perform a function previously performed. In some embodiments, if a fail-over occurs, the entirety of inventory management system 950 is migrated to the cloud. The dynamic nature of the security-customized application cloud computing architecture of the present invention facilitates virtually seamless migration on demand, thereby allowing consumers to keep certain data and other information out of the cloud, Access to power and reliability can be obtained.

일부 실시예에서, 본원의 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 아키텍처가 특정 맞춤형 애플리케이션에 대한 영구 위치(permanent location)로서 사용될 수 있다. 제한받지 않은 예를 들자면, 재고 관리 시스템이 클라우드 내부로 이주되면, 병원은 상기 재고 관리 시스템으로 상시 액세스가 필요하지 않다고 판단할 수 있다. 따라서 병원은 맞춤형 애플리케이션이 나중 사용을 위해 멀리 저장될 것을 요청할 수 있다. 이러한 실시예에서, 임의의 사용자 데이터, 커스터마이제이션, 맞춤형 애플리케이션 등이 하나 이상의 저장 매체에 저장되어, 추후에 불러와질 수 있다. 그 후, 맞춤형 애플리케이션을 지원하는 임의의 가상 머신이 종료(shut down)될 수 있으며, 임의의 물리적 머신이 용도 변경될 수 있다고 표시될 수 있다. 병원이 재고 관리 시스템을 다시 사용하기를 원할 때, 병원은 프로비저닝 요청을 단순히 제출하며, (맞춤형 애플리케이션을 지원하는 네트워크 아키텍처를 포함하여) 맞춤형 애플리케이션이 본 발명의 아키텍처에 의해 재구축될 수 있다. 일부 실시예에서, 보관된(archived) 복사본이 생성될 때, 보관소(archive)가, 버퍼에 존재하는 임의의 정보, 또는 임의의 사용자의 현재 로그인 상태 등을 포함하여 정확한 시스템 구성의 스냅샷을 포함한다. 이러한 실시예에서, 보관소가 복원(restore)될 때, 시스템의 모든 측면이 복원된다. In some embodiments, the secure custom application cloud computing architecture herein can be used as a permanent location for a particular custom application. By way of example, and not by way of limitation, if an inventory management system is migrated into the cloud, the hospital may determine that there is no need for always-on access to the inventory management system. Thus, hospitals may request that custom applications be stored away for later use. In such embodiments, any user data, customizations, customized applications, etc. may be stored on one or more storage media for later recall. Thereafter, any virtual machine supporting the custom application can be shut down and indicated that any physical machine can be repurposed. When the hospital wants to use the inventory management system again, the hospital simply submits a provisioning request, and the custom application (including the network architecture supporting the custom application) can be rebuilt by the architecture of the present invention. In some embodiments, when an archived copy is created, the archive contains a snapshot of the correct system configuration, including any information present in the buffer, the current login status of any user, and the like. do. In this embodiment, all aspects of the system are restored when the repository is restored.

일부 실시예에서, 본원의 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 아키텍처로의 액세스가 서비스로서(as a service) 제공된다. 도 4는 보안 맞춤형 매플리케이션 클라우드 컴퓨팅 아키텍처에서 고객이, 하나 이상의 서버의 프로비저닝 등의 서비스를 활성화시킬 수 있는 바람직한 방법을 도시하는 흐름도이다. 도 4에서, 고객, 즉 사용자는 서비스를 신청함으로써, 시작한다(블록(400)). 그 후, 사용자의 네트워크의 모델(“블루프린트(blueprint)”)이 생성될 수 있으며, 상기 모델의 제한받지 않은 예로는, 임의의 커스터마이제이션, 링크된 라이브러리, 사용되는 그 밖의 다른 파일 등을 포함하여, 네트워크를 활성화시키는 다양한 하드웨어와 소프트웨어 자원의 목록이 있다. 일부 실시예에서, 블루프린트는 소프트웨어에 대한 임의의 커스터마이제이션이 저장되는 디렉토리의 리스트, 또는 그 밖의 다른 위치(location)를 포함할 수 있다. 또한 상기 블루프린트는 다양한 네트워크 구성요소에 관한 자세한 명세(specification)를 포함할 수 있는데, 예를 들어, 네트워크를 구성하는 컴퓨팅 장치의 최소 서브셋의 프로세서의 개수와 속도, 각각의 컴퓨팅 장치에서 이용가능한 메모리의 크기, 쿼리에 대한 평균 응답 시간, 지원되는 동시 사용자 명수 등이 있다.In some embodiments, access to the security customized application cloud computing architecture herein is provided as a service. 4 is a flow diagram illustrating a preferred method by which a customer can activate a service, such as provisioning one or more servers, in a secure tailored application cloud computing architecture. In Figure 4, the customer, i.e., the user, begins by subscribing to the service (block 400). Thereafter, a model of the user's network (“blueprint”) may be generated, including, but not limited to, any modeling, including any customization, linked libraries, other files used, and the like. In addition, there is a list of various hardware and software resources that activate the network. In some embodiments, the blueprint may include a list of directories in which any customization to the software is stored, or some other location. The blueprint may also include detailed specifications for various network components, such as the number and speed of processors in the minimum subset of computing devices that make up the network, and the memory available to each computing device. The size of the, the average response time for the query, and the number of concurrent users supported.

그 후, 상기 블루프린트 내의 정보를 바탕으로, 최적 클라우드 구성이 결정된다(블록(410)). 이러한 클라우드 구성은, 물리적 서버에 의해 현재 제공되는 일부 자원이 하나 이상의 가상 머신에 의해 제공될 수 있다는 점에서, 실제 네트워크 구성과 다를 수 있다.Then, based on the information in the blueprint, an optimal cloud configuration is determined (block 410). This cloud configuration may differ from the actual network configuration in that some resources presently provided by the physical server may be provided by one or more virtual machines.

사용자가 자신의 소프트웨어를 클라우드로 이주시키는 것을 개시할 준비가 될 때, 상기 사용자는 본 발명의 아키텍처에 의해 수신되는 프로비저닝 요청을 발생함으로써, 이를 수행한다(블록(415)). 이러한 프로비저닝 요청은 블루프린트, 또는 상기 블루프린트가 발견될 수 있는 곳을 가리키는 포인터를 포함할 수 있다. 예를 들어, 상기 블루프린트는 본 발명의 아키텍처와 연계되어 있는 데이터베이스에 저장될 수 있으며, 상기 포인터는 데이터베이스 내 상기 블루프린트의 위치에 대한 참조를 포함할 수 있다. When the user is ready to begin migrating his software to the cloud, the user does this by generating a provisioning request received by the architecture of the present invention (block 415). Such a provisioning request may include a blueprint, or a pointer to where the blueprint can be found. For example, the blueprint may be stored in a database associated with the architecture of the present invention, and the pointer may include a reference to the location of the blueprint in the database.

프로비저닝 요청이 검사되어(블록(420)), 하나 이상의 가상 머신을 완전히 만족시킬 수 있는가의 여부가 판단된다. 만족시키는 경우, 개별 가상 머신이 적정한 “페르소나”로 프로비저닝된다(블록(425)). 그 후, 블록(440)으로 진행되며, 이는 이하에서 설명된다. 상기 페르소나는 이하에서 더 상세히 설명된다.The provisioning request is examined (block 420) to determine whether one or more virtual machines can be fully satisfied. If so, then individual virtual machines are provisioned with the appropriate “persona” (block 425). Then proceed to block 440, which is described below. The persona is described in more detail below.

하나 이상의 물리적 머신이 요청되는 경우, 로직 흐름이 블록(430)으로 계속되며, 여기서, 새로운 물리적 서버의 프로비저닝이 요청된다. 일부 실시예에서, 하나 이상의 물리적 서버는 현재 아키텍처를 서비스하는 데이터 센터에서 아이들(idle) 상태로 존재하거나, 클라우드 컴퓨팅 환경의 일부분으로서 존재하여, 프로비저닝 요청을 기다린다. 또 다른 실시예에서, 이러한 서버가 즉시 이용가능하지 않은 경우, 본 발명의 아키텍처는 클라우드, 또는 데이터 센터에서, 서버들, 또는 서버의 서브셋의 통합 분석(consolidation analysis)을 수행할 수 있다. 바람직한 통합 분석은 US 특허 출원 제10/549,652호에서 기재되어 있으며, 상기 US 특허 출원은 본원에서 참조로서 인용된다. 이러한 통합 분석은 다수의 물리적 서버 상에서 현재 실행되는 소프트웨어와 서비스를, 더 적은 물리적 서버 상으로 이동시킬 수 있으며, 이로 인해서, 하나 이상의 물리적 서버가 자유로워져서, 사용자의 프로비저닝 요청을 충족시킬 수 있다.If more than one physical machine is requested, the logic flow continues to block 430 where a provisioning of a new physical server is requested. In some embodiments, one or more physical servers exist in an idle state in the data center serving the current architecture, or as part of a cloud computing environment, waiting for a provisioning request. In another embodiment, if such a server is not readily available, the architecture of the present invention may perform consolidation analysis of servers, or a subset of servers, in the cloud or in a data center. Preferred integrated analyzes are described in US patent application Ser. No. 10 / 549,652, which is incorporated herein by reference. This integrated analysis can move software and services currently running on multiple physical servers onto fewer physical servers, freeing one or more physical servers to satisfy user provisioning requests.

적합한 물리적 서버가 식별되면, 상기 물리적 서버가, 프로비저닝 요구사항을 가장 잘 충족시키는 다수의 표준 “페르소나” 중 하나로 용도 변경된다(블록(435)). 일부 실시예에서, 물리적 서버는 다수의 프로세서 및/또는 의미 있는 크기(significant quantity)의 랜덤 액세스 메모리(RAM)를 포함할 수 있다. 해당 업계 종사자에게 인지될 바와 같이, 이러한 RAM은 프로세서에 의해 사용되는 인스트럭션 및/또는 데이터를 저장할 수 있다. 이러한 인스트럭션에 의해, 프로세서는 앞서 언급된 회계 작업을 수행하는 등의 희망하는 목적을 성취하는 일련의 단계를 실행할 수 있다. Once a suitable physical server is identified, the physical server is repurposed to one of a number of standard “personas” that best meets provisioning requirements (block 435). In some embodiments, a physical server may include a number of processors and / or a random quantity of random access memory (RAM). As will be appreciated by those skilled in the art, such RAM may store instructions and / or data used by the processor. These instructions allow the processor to execute a series of steps that accomplish the desired purpose, such as performing the accounting tasks mentioned above.

일부 실시예에서, 프로비저닝 요청에 따라 선택된 페르소나가, 프로세서 및/또는 RAM의 일부분 중 하나 이상으로의 액세스를 활성화, 또는 비활성화시킬 수 있으며, 이에 따라서, 물리적 서버의 성능 특성이 변경될 수 있다. 마찬가지로, 페르소나가 특정 운영 체제와, 운영 체제 내에서 구성되는 디폴트 소프트웨어를 특정할 수 있다. 적정한 페르소나를 이용하여, 물리적 서버가 용도 변경되거나, 가상 서버가 생성되면(블록(440)), 서버의 구성이 프로비저닝 요청 및/또는 블루프린트와 비교되어, 서버로 로딩될 임의의 추가적인 소프트웨어, 또는 커스터마이제이션을 결정할 수 있다. In some embodiments, the persona selected in accordance with the provisioning request may enable or disable access to one or more of the processor and / or portions of the RAM, thereby changing the performance characteristics of the physical server. Similarly, a persona can specify a particular operating system and default software configured within the operating system. Using the appropriate persona, if the physical server is repurposed or a virtual server is created (block 440), the server's configuration is compared to the provisioning request and / or blueprint, and any additional software to be loaded into the server, or Customization can be determined.

앞서 언급된 프로비저닝 방법이 도 5-8에서 도시된다. 도 5는, 프로비저닝 요청 수신 전의, 바람직한 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 아키텍처를 도시하는 블록 다이어그램이다. 도 5에서, 플랫폼 서비스 오케스트레이터(platform service orchestrator)(500)가 아키텍처의 동작을 관리하고, 사용자로부터 프로비저닝 요청을 수신하는 일을 한다. uProvision(510)은 아키텍처 내에서 사용되는 다양한 물리적 서버와 가상 서버를 추적하는 백-엔드 서비스이다. uOrchestrate 어댑터(520)는 프로비저닝 요청으로의, 일반적으로는 아키텍처의 동작으로의 비즈니스 룰의 적용(예를 들어, 회계 및 그 밖의 다른 절차의 인스턴스화)을 자동화한다. 예를 들어, uOrchestrate 어댑터(520)는 프로비저닝된 서버의 성능을 추적하는 모니터를 인스턴스화한다. 이러한 성능 정보의 예로는, 서버에 의해 동시에 서비스되고 있는 사용자의 피크(peak) 명수와 평균 명수, 프로비저닝된 서버에 의해 수신되는 쿼리의 개수, 모니터링된 시간 주기 당 서버에 의해 실행되는 인스트럭션의 개수, 프로비저닝된 서버에 의해 사용되는 메모리 및/또는 저장 공간의 크기 등이 있다. 그 후, 이러한 성능 정보는 과금(billing) 목적으로 사용될 수 있다. 예를 들어, MIPS(million instruction per second) 단위를 바탕으로, 또는 사용되는 저장 공간의 평균 크기를 바탕으로, 또는 이와 유사한 것을 바탕으로, 사용자에게 과금될 수 있다. The aforementioned provisioning method is shown in FIGS. 5-8. 5 is a block diagram illustrating a preferred secure customized application cloud computing architecture prior to receiving a provisioning request. In FIG. 5, platform service orchestrator 500 manages the operation of the architecture and receives provisioning requests from users. uProvision 510 is a back-end service that tracks the various physical and virtual servers used within the architecture. The uOrchestrate adapter 520 automates the application of business rules (eg, instantiation of accounting and other procedures) to provisioning requests, typically to the operation of the architecture. For example, uOrchestrate adapter 520 instantiates a monitor that tracks the performance of provisioned servers. Examples of such performance information include the peak and average number of users being served simultaneously by the server, the number of queries received by the provisioned server, the number of instructions executed by the server per monitored time period, The amount of memory and / or storage space used by the provisioned server. This performance information can then be used for billing purposes. For example, the user may be charged based on units of million instruction per second (MIPS), or based on an average size of storage space used, or the like.

아키텍처를 관리하는 소프트웨어 및 서비스에 추가로, 아키텍처의 일부 실시예가, 아키텍처에 특정 기능을 제공하기 위한 하나 이상의 전용 서버를 포함할 수 있다. 예를 들어, 도 5는 아키텍처의 다양한 구성요소에 의해 사용되는 정보의 저장을 촉진시키는 데이터베이스 서버인 MsSql 서버(540)를 포함한다. 본원에서 Microsoft Corporation(미국, 워싱턴, 레드몬드 소재)이 배포한 SQL 서버의 하나의 버전을 사용하는 것으로 기재되었지만, 해당업계 종사자라면, 본 발명의 사상과 범위 내에서, 대안적 데이터베이스가 이를 대체할 수 있음을 알 것이다.In addition to the software and services that manage the architecture, some embodiments of the architecture may include one or more dedicated servers to provide specific functionality to the architecture. For example, FIG. 5 includes MsSql server 540, which is a database server that facilitates storage of information used by various components of the architecture. Although described herein as using one version of a SQL server distributed by Microsoft Corporation (Redmond, Washington, USA), those skilled in the art, within the spirit and scope of the present invention, an alternative database may replace this. You will know.

Active Directory(550)는 사용자 계정과, 아키텍처의 유지 관리와 연계되는 관련 정보를 관리하는 서버이다. Active Directory는, Microsoft Corporation에 의해 배포된 운영 체제인 Windows Server와 관련된 기술이다. 본 발명의 아키텍처가 Active Directory를 이용하는 것으로 기재될지라도, 해당업계 종사자는 본 발명의 사상과 범위 내에서, 대안적 디렉토리 및/또는 사용자 계정 설계안, 예를 들어, X.500이 사용될 수 있음을 알 것이다. Active Directory 550 is a server that manages user accounts and related information associated with the maintenance of the architecture. Active Directory is a technology associated with Windows Server, an operating system distributed by Microsoft Corporation. Although the architecture of the present invention is described as using Active Directory, those skilled in the art will appreciate that alternative directory and / or user account schemes, such as X.500, may be used within the spirit and scope of the present invention. will be.

Ticketing(560)은 특정 프로비저닝 요청을 구현을 관리하는 일을 하는 서버이다. VM Farm(570)은 하나 이상의 물리적 서버 상에서 운영되는 다수의 가상 머신이다. VCenter(530)는 아키텍처에서 운영되는 다양한 가상 머신에 대한 제어를 촉진하는 서버이다. Ticketing 560 is a server that is responsible for managing the implementation of specific provisioning requests. VM Farm 570 is a number of virtual machines running on one or more physical servers. VCenter 530 is a server that facilitates control of various virtual machines running in the architecture.

도 6에서, 새로운 프로비저닝 요청이 수신되며, 상기 프로비저닝 요청은 가장 서버로서 구현될 수 있는 서버에 대한 요청을 포함한다. 이러한 실시예에서, 플랫폼 서비스 오케스트레이터(500)가 uOrchestrate 어댑터(520)에게 새로운 프로비저닝 요청을 경보하고, uProvision(510)이 새로운 가상 머신이 생성될 것이라고 경보받는다. uProvision(510)이 프로비저닝 요청을 Ticketing(560)에게 전송하며, 상기 Ticketing(560)은 VM Farm(570) 내에서 가상 머신을 인스턴스화한다. 가상 머신은 VCenter(530)에 의해 유지 관리되는 머신의 목록에 추가된다. In FIG. 6, a new provisioning request is received, the provisioning request comprising a request for a server that can be implemented most as a server. In this embodiment, platform service orchestrator 500 alerts uOrchestrate adapter 520 a new provisioning request and uProvision 510 is alerted that a new virtual machine will be created. uProvision 510 sends a provisioning request to Ticketing 560, which instantiates a virtual machine within VM Farm 570. The virtual machine is added to the list of machines maintained by VCenter 530.

도 7에서, 새로운 프로비저닝 요청이 수신되며, 이때 프로비저닝 요청은 가상 서버로서 구현될 수 없는 요청을 포함한다. 이러한 실시예에서, 플랫폼 서비스 오케스트레이터(500)가 uOrchestrate 어댑터(520)에게 새로운 프로비저닝 요청을 경보하고, uProvision(510)은 물리적 머신이 프로비저닝될 것이라고 경보 받는다. uOrchestrate 어댑터(520)는 프로비저닝 요청을 uAdap(700)에게 전달하며, 상기 uAdapt(700)는 아키텍처와 연계되는 물리적 서버를 관리한다. uAdapt(700)는 프로비저닝 요청을 충족하도록 사용될 물리적 서버(710)를 식별한다. 앞서 설명된 바와 같이, 이러한 물리적 서버는 프로비저닝 요청을 충족하도록 용도 변경된 기존 서버, 또는 적정하게 프로비저닝되는 아이들(idle) 상태 서버일 수 있다. In FIG. 7, a new provisioning request is received, where the provisioning request includes a request that cannot be implemented as a virtual server. In this embodiment, platform service orchestrator 500 alerts uOrchestrate adapter 520 to a new provisioning request, and uProvision 510 is alerted that the physical machine will be provisioned. The uOrchestrate adapter 520 forwards a provisioning request to uAdap 700, which manages the physical server associated with the architecture. uAdapt 700 identifies physical server 710 to be used to satisfy a provisioning request. As described above, this physical server may be an existing server repurposed to satisfy a provisioning request, or an appropriately provisioned idle state server.

도 8에서 도시되는 바와 같이, 일부 실시예에서, uAdapt(700)는 물리적 서버(710)의 제어권을 uProvision(510)으로 넘기고, 이때 물리적 서버는 새로운 물리적 서버(800)(도 8)로서 재-지정된다. uProcision(510)은 새로운 물리적 서버(800) 상에서 구현될 페르소나를 특정하고, 임의의 커스터마이제이션을 포함하여, 적정한 소프트웨어가 로딩되게 한다. 그 후, 새로운 물리적 서버(800)의 제어가 uAdapt(700)로 되돌려지며, 사용자는 상기 서버가 이용가능하다는 통지를 받는다.As shown in FIG. 8, in some embodiments, uAdapt 700 transfers control of physical server 710 to uProvision 510, where the physical server re-creates as a new physical server 800 (FIG. 8). Is specified. uProcision 510 specifies the persona to be implemented on the new physical server 800 and includes any customization to ensure that the appropriate software is loaded. Thereafter, control of the new physical server 800 is returned to uAdapt 700, and the user is notified that the server is available.

해당업계 종사자에 의해 인지될 바와 같이, 사용자의 네트워크의 블루프린트가 생성됨으로써, 본 발명의 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 아키텍처가 클라우드에서 하나의 서버, 또는 전체 n-계층 아키텍처를 동적으로 복제할 수 있다. 맞춤형 소프트웨어를 사용자의 네트워크로부터 클라우드로 신속하게 이주시키기 위한 기능과 조합되어, 본 발명의 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 아키텍처는, 사용자가 클라우드 컴퓨팅을 이용하는 것을 방해하는 다수의 장애물을 미연에 제거할 수 있다. 또한 본 발명의 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 아키텍처의 특정 양태가 하드웨어, 소프트웨어, 펌웨어, 이들의 조합 중 하나 이상으로서 구현될 수 있다. 이러한 소프트웨어는 하나 이상의 컴퓨터 판독형 매체, 예를 들어, 디스크, 플로피, 플래쉬, 섬(thumb), 솔리드 스테이트 드라이브, 컴팩트 디스크(CD), DVD, EPROM 상에 확실히 저장될 수 있다. 소프트웨어는 프로세서에 의해 실행가능할 때, 프로세서로 하여금 특정 기능을 수행하게 하는 인스트럭션을 포함할 수 있다.
As will be appreciated by those skilled in the art, a blueprint of a user's network is created such that the secure custom application cloud computing architecture of the present invention can dynamically replicate one server, or the entire n-tier architecture, in the cloud. Combined with the ability to quickly migrate custom software from the user's network to the cloud, the secure custom application cloud computing architecture of the present invention can remove many obstacles that prevent users from using cloud computing. In addition, certain aspects of the secure customized application cloud computing architecture of the present invention may be implemented as one or more of hardware, software, firmware, or a combination thereof. Such software can be reliably stored on one or more computer readable media, eg, disks, floppies, flashes, thumbs, solid state drives, compact discs (CDs), DVDs, EPROMs. Software may include instructions that, when executable by a processor, cause the processor to perform a particular function.

Claims (15)

맞춤형 애플리케이션(custom application)을 사설 컴퓨팅 환경(private computing environment)으로부터 클라우드 컴퓨팅 환경(cloud computing environment)으로 이주시키는 서비스를 신청하기 위한 요청을 수신하는 단계,
상기 맞춤형 애플리케이션의 모델을 생성하는 단계,
상기 모델을 평가하고, 상기 클라우드 컴퓨팅 환경에 의해 지원되는 최적의 구성을 결정하는 단계,
프로비저닝 요청(provisioning request)을 수신하는 단계,
클라우드 컴퓨팅 환경으로 맞춤형 애플리케이션의 이주를 촉진하기 위해, 하나 이상의 물리적 머신 또는 가상 머신을 인스턴스화(instantiating)하는 단계, 그리고
상기 클라우드 컴퓨팅 환경으로 맞춤형 애플리케이션을 이주시키는 단계
를 포함하는 것을 특징으로 하는 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 방법.
Receiving a request to apply for a service for migrating a custom application from a private computing environment to a cloud computing environment,
Creating a model of the custom application,
Evaluating the model and determining an optimal configuration supported by the cloud computing environment,
Receiving a provisioning request,
Instantiating one or more physical or virtual machines to facilitate migration of custom applications to the cloud computing environment, and
Migrating a customized application to the cloud computing environment
Security customized application cloud computing method comprising a.
제 1 항에 있어서, 상기 모델은 상기 맞춤형 애플리케이션을 지원하도록 사용되는 컴퓨팅 자원의 상세 리스트를 포함하는 것을 특징으로 하는 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 방법. 2. The method of claim 1, wherein the model includes a detailed list of computing resources used to support the customized application. 제 2 항에 있어서, 상기 컴퓨팅 자원은 상기 맞춤형 애플리케이션을 지원하기 위해 사용되는 네트워크 아키텍처의 정의를 포함하는 것을 특징으로 하는 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 방법.3. The method of claim 2, wherein said computing resource includes a definition of a network architecture used to support said custom application. 제 3 항에 있어서, 상기 네트워크 아키텍처는 상기 네트워크 아키텍처의 구성요소, 또는 상기 구성요소의 서브셋의 컴퓨팅 능력(computing capability) 중 하나 이상을 포함하는 것을 특징으로 하는 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 방법. 4. The method of claim 3, wherein the network architecture comprises one or more of the computing capabilities of a component of the network architecture, or a subset of the components. 제 2 항에 있어서, 상기 컴퓨팅 자원은 맞춤형 애플리케이션에 의해 사용되는 링크된 라이브러리(linked library)와 커스터마이제이션(customization)을 포함하는 것을 특징으로 하는 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 방법. 3. The method of claim 2, wherein said computing resource comprises a linked library and customization used by a custom application. 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 시스템에 있어서, 상기 시스템은,
상기 시스템의 동작을 관리하고 프로비저닝 요청(provisioning request)을 수신하는 플랫폼 서비스 오케스트레이터(platform service orchestrator) 수단,
상기 시스템 내에서 사용되는 다양한 물리적 서버 및 가상 서버를 추적하고 관리하는 프로비저닝 서비스(provisioning service) 수단,
수신된 프로비저닝 요청으로의 비즈니스 룰(business rule)의 적용을 자동화하는 하나 이상의 어댑터(adapter) 수단,
수신된 프로비저닝 요청을 바탕으로 프로비저닝 서비스에 의해 선택된 페르소나(persona)에 따라 용도 변경되는 하나 이상의 물리적 머신, 그리고
수신된 프로비저닝 요청을 바탕으로 하나 이상의 가상 머신 상에서의 운영(running)을 촉진시키는 하나 이상의 가상 머신 팜(virtual machine farm) 수단
을 포함하는 것을 특징으로 하는 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 시스템.
A security customized application cloud computing system, the system comprising:
Platform service orchestrator means for managing the operation of the system and receiving a provisioning request;
Provisioning service means for tracking and managing various physical and virtual servers used within the system,
One or more adapter means for automating the application of business rules to received provisioning requests,
One or more physical machines that are repurposed based on the persona selected by the provisioning service based on the provisioning request received, and
One or more virtual machine farm means to facilitate running on one or more virtual machines based on received provisioning requests
Security customized application cloud computing system comprising a.
제 6 항에 있어서, 상기 프로비저닝 요청은 사용자로부터의 요청을 포함하는 것을 특징으로 하는 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 시스템. 7. The secure customized application cloud computing system of claim 6, wherein the provisioning request comprises a request from a user. 제 6 항에 있어서, 상기 프로비저닝 요청은, 맞춤형 애플리케이션(custom application)을 지원하는 시스템에 대한 블루프린트(blueprint)로의 포인터(pointer), 또는 상기 블루프린트를 포함하는 것을 특징으로 하는 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 시스템. 7. The secure customized application cloud computing of claim 6, wherein the provisioning request comprises a pointer to a blueprint or a blueprint for a system supporting a custom application. system. 제 8 항에 있어서, 상기 시스템은 맞춤형 애플리케이션의 동작을 지원하는 n-계층 아키텍처를 가지는 것을 특징으로 하는 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 시스템. 10. The secure customized application cloud computing system of claim 8, wherein the system has an n-tier architecture that supports the operation of the customized application. 제 8 항에 있어서, 상기 블루프린트는, 맞춤형 애프리케이션 클라우드 컴퓨팅 시스템 내에서 맞춤형 애플리케이션을 배포(deploy)하기 위해 필요한 정보를 더 포함하는 것을 특징으로 하는 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 시스템. 10. The secure customized application cloud computing system of claim 8, wherein the blueprint further comprises information needed to deploy the customized application within the customized application cloud computing system. 제 6 항에 있어서, 상기 플랫폼 서비스 오케스트레이터 수단은 프로비저닝 요청을 수신하고, 상기 프로비저닝 요청에 따라서, 다수의 물리적 서버와 가상 서버를 프로비저닝하도록 상기 프로비저닝 서비스 수단에게 명령하는 것을 특징으로 하는 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 시스템. 7. The secure customized application cloud of claim 6, wherein the platform service orchestrator means receives a provisioning request and instructs the provisioning service means to provision a plurality of physical servers and virtual servers in accordance with the provisioning request. Computing system. 제 11 항에 있어서, 상기 하나 이상의 어댑터가, 프로비저닝된 서버의 성능을 추적하는 모니터를 인스턴스화하는 것을 특징으로 하는 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 시스템.12. The system of claim 11, wherein the one or more adapters instantiate a monitor that tracks the performance of a provisioned server. 제 12 항에 있어서, 상기 성능은 사용자에게 과금(billling)하기 위한 토대로서 사용되는 것을 특징으로 하는 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 시스템. 13. The secure customized application cloud computing system of claim 12, wherein the performance is used as a basis for billing a user. 제 13 항에 있어서, 추적되는 성능은, 일정 시간 주기 동안 프로비저닝된 서버에 의해 실행되는 인스트럭션의 개수를 포함하는 것을 특징으로 하는 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 시스템.15. The system of claim 13, wherein the performance tracked includes a number of instructions executed by a server provisioned for a period of time. 제 13 항에 있어서, 추적되는 성능은, 일정 시간 주기 동안 프로비저닝된 서버에 의해 사용되는 저장 공간의 평균 크기를 포함하는 것을 특징으로 하는 보안 맞춤형 애플리케이션 클라우드 컴퓨팅 시스템.
The cloud computing system of claim 13, wherein the tracked performance comprises an average amount of storage space used by the provisioned server for a period of time.
KR1020127033408A 2009-06-04 2009-08-04 Secure custom application cloud computing architecture KR20130018335A (en)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US22004509P 2009-06-04 2009-06-04
US61/220,045 2009-06-24
US22082709P 2009-06-26 2009-06-26
US61/220,827 2009-06-26
US61/229,989 2009-06-30
US22998909P 2009-07-30 2009-07-30
PCT/US2009/052673 WO2010151273A1 (en) 2009-06-04 2009-08-04 Secure custom application cloud computing architecture

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
KR1020117027813A Division KR20110130538A (en) 2009-06-04 2009-08-04 Secure custom application cloud computing architecture

Publications (1)

Publication Number Publication Date
KR20130018335A true KR20130018335A (en) 2013-02-20

Family

ID=43392195

Family Applications (4)

Application Number Title Priority Date Filing Date
KR1020097016964A KR101053385B1 (en) 2009-06-04 2009-08-04 Security Custom Application Cloud Computing Architecture
KR1020127033408A KR20130018335A (en) 2009-06-04 2009-08-04 Secure custom application cloud computing architecture
KR1020117011874A KR101107434B1 (en) 2009-06-04 2009-08-04 Secure custom application cloud computing architecture
KR1020117027813A KR20110130538A (en) 2009-06-04 2009-08-04 Secure custom application cloud computing architecture

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020097016964A KR101053385B1 (en) 2009-06-04 2009-08-04 Security Custom Application Cloud Computing Architecture

Family Applications After (2)

Application Number Title Priority Date Filing Date
KR1020117011874A KR101107434B1 (en) 2009-06-04 2009-08-04 Secure custom application cloud computing architecture
KR1020117027813A KR20110130538A (en) 2009-06-04 2009-08-04 Secure custom application cloud computing architecture

Country Status (3)

Country Link
KR (4) KR101053385B1 (en)
CA (1) CA2674834A1 (en)
WO (1) WO2010151273A1 (en)

Families Citing this family (25)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101230009B1 (en) * 2011-05-06 2013-02-13 (주) 시스메이트 Network information security service system based on cloud computing
KR101297441B1 (en) * 2011-10-31 2013-08-16 삼성에스디에스 주식회사 Method and Apparatus for Provisioning SaaS Service in Multi-Tenant Environment
US20150244597A1 (en) * 2012-07-03 2015-08-27 Stephane H. Maes Managing a hybrid cloud service
EP2831746A1 (en) * 2012-07-31 2015-02-04 Hewlett-Packard Development Company, L.P. Orchestrating hybrid cloud services
US9467355B2 (en) 2012-09-07 2016-10-11 Oracle International Corporation Service association model
US9667470B2 (en) 2012-09-07 2017-05-30 Oracle International Corporation Failure handling in the execution flow of provisioning operations in a cloud environment
US9792338B2 (en) 2012-09-07 2017-10-17 Oracle International Corporation Role assignments in a cloud infrastructure
US9621435B2 (en) 2012-09-07 2017-04-11 Oracle International Corporation Declarative and extensible model for provisioning of cloud based services
US10148530B2 (en) 2012-09-07 2018-12-04 Oracle International Corporation Rule based subscription cloning
US9542400B2 (en) 2012-09-07 2017-01-10 Oracle International Corporation Service archive support
US9838370B2 (en) 2012-09-07 2017-12-05 Oracle International Corporation Business attribute driven sizing algorithms
CN103795749B (en) * 2012-10-30 2017-03-01 国际商业机器公司 The method and apparatus operating in the problem of software product in cloud environment for diagnosis
US9342333B2 (en) 2013-03-14 2016-05-17 Microsoft Technology Licensing, Llc Backend custom code extensibility
US10255063B2 (en) 2013-03-15 2019-04-09 Microsoft Technology Licensing, Llc Providing source control of custom code for a user without providing source control of host code for the user
EP3018585A4 (en) * 2013-07-02 2017-02-22 Fujitsu Limited Machine provision method, machine provision system, and machine provision program
US10164901B2 (en) 2014-08-22 2018-12-25 Oracle International Corporation Intelligent data center selection
KR102364712B1 (en) 2015-04-03 2022-02-18 한국전자통신연구원 A system and method for integrated service orchestration in distributed cloud envronment
KR102306533B1 (en) * 2015-04-07 2021-09-29 삼성전자주식회사 Method and system for managing proxy server
US10142174B2 (en) 2015-08-25 2018-11-27 Oracle International Corporation Service deployment infrastructure request provisioning
KR101882685B1 (en) 2016-07-29 2018-08-24 주식회사 스패로우 Method for providing cloud-based service
WO2018021864A1 (en) * 2016-07-29 2018-02-01 주식회사 파수닷컴 Method for providing cloud-based service
US10972366B2 (en) * 2017-12-14 2021-04-06 International Business Machines Corporation Orchestration engine blueprint aspects for hybrid cloud composition
KR102164915B1 (en) * 2020-06-11 2020-10-13 (주)아스트론시큐리티 System for generating security topology of cloud computing
CN112463363B (en) * 2020-11-06 2022-08-26 苏州浪潮智能科技有限公司 Resource arranging method, device, equipment and storage medium
KR102449282B1 (en) 2022-05-04 2022-09-29 (주) 시큐러스 Site replication devicefor enhancing website security

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080080396A1 (en) * 2006-09-28 2008-04-03 Microsoft Corporation Marketplace for cloud services resources
US20080082667A1 (en) * 2006-09-28 2008-04-03 Microsoft Corporation Remote provisioning of information technology
US8474027B2 (en) * 2006-09-29 2013-06-25 Microsoft Corporation Remote management of resource license
US8744423B2 (en) * 2007-09-28 2014-06-03 Microsoft Corporation Device migration

Also Published As

Publication number Publication date
CA2674834A1 (en) 2010-12-04
WO2010151273A1 (en) 2010-12-29
KR20110130538A (en) 2011-12-05
KR101107434B1 (en) 2012-01-19
KR101053385B1 (en) 2011-08-01
KR20110025728A (en) 2011-03-11
KR20110067169A (en) 2011-06-21

Similar Documents

Publication Publication Date Title
KR101107434B1 (en) Secure custom application cloud computing architecture
US20100332629A1 (en) Secure custom application cloud computing architecture
Villamizar et al. Cost comparison of running web applications in the cloud using monolithic, microservice, and AWS Lambda architectures
CN102521009B (en) Create and the ready virtual hard disk of deployment services
Shroff Enterprise cloud computing: technology, architecture, applications
JP6659544B2 (en) Automated experimental platform
Han Cloud computing: case studies and total cost of ownership
CN102541987B (en) Online database availability during upgrade
Sakr Cloud-hosted databases: technologies, challenges and opportunities
Lehner et al. Web-scale data management for the cloud
US20130185434A1 (en) Cloud-based Content Management System
US11762851B2 (en) Methods and systems that provide a general query interface to multiple management services and applications
US9904574B2 (en) Parallel computing without requiring antecedent code deployment
Eadline Hadoop 2 Quick-Start Guide: Learn the Essentials of Big Data Computing in the Apache Hadoop 2 Ecosystem
Yara et al. Global software development with cloud platforms
Gallagher VMware private cloud computing with vCloud Director
Jorgensen et al. Professional microsoft sql server 2012 administration
US11163603B1 (en) Managing asynchronous operations in cloud computing environments
Turkington et al. Hadoop: Data Processing and Modelling
Imran et al. Migration of CMSWEB cluster at CERN to Kubernetes: a comprehensive study
Lee et al. Mastering SQL Server 2008
Mulahuwaish et al. Improving datacenter utilization through containerized service-based architecture
Voirin et al. The State of Containerization in CERN Accelerator Controls
Wang An Analysis of Performance and Potential of Cloud Computing and Object Storage.
Barać et al. The Journey to Hyperscale Architecture in Azure SQL

Legal Events

Date Code Title Description
A107 Divisional application of patent
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid