KR20170022996A - 상이한 분산 네트워크 사이에서 서비스를 소비하는 통합형 api 및 ui 제공 기법 - Google Patents

상이한 분산 네트워크 사이에서 서비스를 소비하는 통합형 api 및 ui 제공 기법 Download PDF

Info

Publication number
KR20170022996A
KR20170022996A KR1020167035357A KR20167035357A KR20170022996A KR 20170022996 A KR20170022996 A KR 20170022996A KR 1020167035357 A KR1020167035357 A KR 1020167035357A KR 20167035357 A KR20167035357 A KR 20167035357A KR 20170022996 A KR20170022996 A KR 20170022996A
Authority
KR
South Korea
Prior art keywords
cloud
user
service
network
services
Prior art date
Application number
KR1020167035357A
Other languages
English (en)
Other versions
KR102391806B1 (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 KR20170022996A publication Critical patent/KR20170022996A/ko
Application granted granted Critical
Publication of KR102391806B1 publication Critical patent/KR102391806B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • 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
    • 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/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/02Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
    • H04L63/0272Virtual private networks
    • 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/16
    • H04L67/20
    • 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/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/50Network services
    • H04L67/53Network services using third party service providers
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Human Computer Interaction (AREA)
  • Computer And Data Communications (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

같은 브라우저 윈도우 내의 서로 다른 서비스에 대한 UI 확장을 호스팅함으로써, 복수의 클라우드 사이의 사용자 인터페이스 통합을 달성한다. UI 확장은 쉘에 의해서, 대응하는 클라우드에 대한 필수 보안 정황을 갖고 초기화된다. 이 쉘은, 서비스의 모든 버전에 대해서 최신 버전의 UI가 사용자에게 제시되도록 하는 비저닝을 제공한다. 로컬 클라우드의 커넥터는 서로 다른 클라우드 사이에서 API를 변환한다.

Description

상이한 분산 네트워크 사이에서 서비스를 소비하는 통합형 API 및 UI 제공 기법{INTEGRATED APIS AND UIS FOR CONSUMING SERVICES ACROSS DIFFERENT DISTRIBUTED NETWORKS}
클라우드 컴퓨팅 서비스는, 사용자가 애플리케이션을, 분산형 서버 네트워크에서 호스팅되는 가상 머신 상에서 실행시키는 것으로, 이는 다수의 서로 다른 서비스 제공자로부터 이용할 수 있다. 클라우드 컴퓨팅 서비스는, 많은 테넌트 사용자(tenant user)를 호스팅하고 있는 원격 데이터 센터와 같은, 공용 클라우드에서 호스팅될 수 있다. 또한 클라우드 컴퓨팅 서비스는, 기업과 연관된 제한된 수의 사용자만이 사용가능한 기업 데이터 센터와 같은, 사설 클라우드에서 호스팅될 수도 있다. 각각의 클라우드 컴퓨팅 서비스는, 특정한 공용 클라우드 혹은 사설 클라우드의 서비스에 액세스하는데 사용될, 자체 고유의(proprietary) 사용자 인터페이스(UI) 및 API(application programming interfaces)를 제공하고 있다.
본 개요는 이하 상세한 설명에서 상세하게 기술되는 개념 중 일부를 선택해서 간략하게 소개하기 위해서 제공되는 것이다. 본 개요는 청구 대상의 핵심적인 특성이나 필수적인 특성을 나타내는 것은 아니며, 청구 대상의 범주를 한정하는데 사용되는 것도 아니다.
본 발명의 실시예는, 다양한 클라우드에 접속해서, 통합형 UI 경험 및 통합형 API 경험을 제공하는 성능을 제공한다. UI 통합은 다수의 UI 확장을 동일한 브라우저 윈도우 내에서 호스팅함으로써 이루어지며, UI 확장 각각은 서로 다른 클라우드 서비스에 대한 UI를 제공한다. 각각의 UI 확장은, 해당 클라우드의 가입 리스트 및 클라우드 내의 데이터에 액세스하는데 필수적인 보안 토큰과 같은, 대응하는 클라우드 서비스에 관한 모든 필수적인 정황 정보를 갖고 초기화된다.
API 레벨에서, 특수한 커넥터 서비스가 클라우드 사이의 콜을 프록시함으로써, 하나의 관리 서비스에 의해 모든 클라우드로부터의 모든 서비스를 노출시킬 수 있다. 이 커넥터를 통해서, 사용자 액션 없이도, 하나의 클라우드 서비스에 대한 리소스, 사용 및 가입이 다른 클라우드 서비스에 의해 액세스될 수 있다.
한번의 로그인 경험으로 신원 제공자를 페더레이트(federate)하는 것이 가능하다. 서로 다른 클라우드를 접속시킴으로써, 원격 클라우드를 통해서 가입한 것이 로컬 클라우드로 임포트될 수 있다. 이와 달리, 원격 클라우드의 리소스가 로컬 클라우드의 기존 가입에 링크될 수도 있다. UI 및 API 통합을 통해서 사용자는, 서로 다른 클라우드로부터 제공되는 리소스 및 서비스를, 하나의 '통합된' 클라우드로부터 제공되는 것처럼 인식할 수 있다.
본 발명의 상술한 이점과 특성, 그리고 다른 특성 및 이점을 더 명확하게 하기 위해서, 본 발명의 실시예에 대한 더 특정한 설명에서는 첨부된 도면을 참조할 것이다. 이들 도면은 본 발명의 대표적인 실시예만을 도시하고 있는 것으로, 따라서 그 범주를 한정하는 것은 아니라는 점을 이해할 것이다. 본 발명은 첨부 도면을 사용하면서 추가적인 특정 사항 및 세부 사항을 갖고 기술 및 설명될 것이다.
도 1은 로컬의 현장(on-premise) 리소스에 대한 액세스 및 원격의 공용 리소스에 대한 액세스를 기업 사용자에게 제공하는 시스템의 하이레벨 블록도,
도 2는 일 실시예에 따른, 클라우드 컴퓨팅 서비스 혹은 분산형 컴퓨팅 서비스를 제공하는 데이터 센터의 블록도,
도 3은 다수의 클라우드 서비스에 대한 통합형 사용자 인터페이스 및 지속형(consistent) API를 제공하는 시스템의 일 실시예를 나타내는 블록도,
도 4는 통합형 UI 및 통합형 API를 사용해서 다수의 클라우드 서비스를 링크시키는 시스템을 나타내는 도면이다.
도 1은 로컬의 현장 리소스에 대한 액세스 및 원격의 공용 리소스에 대한 액세스를, 기업 사용자에게 제공하는 시스템의 하이레벨 블록도이다. 로컬 기업 단말(101)를 이용해서 사용자는, 현장 네트워크(103)를 통해 현장 데이터 센터(102)에 직접 액세스하는 것이 가능하게 된다. 기업(100) 밖에 위치한 사용자는 원격 단말(104)을 사용해서 데이터 센터(102)에 액세스할 수 있다. 단말(101, 104)은 예컨대, 데스크톱, 랩톱, 노트북 혹은 태블릿 컴퓨터가 될 수 있다. 전용 단말, 스마트폰, PDA 등과 같은 다른 장치가 단말(101, 104)로서 사용될 수도 있다.
방화벽(105)은 기업(100)에 대한 네트워크 보안 시스템을 제공하고, 인커밍 네트워크 트래픽 및 아웃고잉 네트워크 트래픽를 제어한다. 외부 단말(104)은 인터넷(106) 혹은 임의의 공용 네트워크나 사설 네트워크를 통해서 기업의 현장 네트워크(103)에 접속할 수 있다. 단말(104)이 적절한 크리덴셜 및 인증을 제공하는 경우에는, 방화벽(105)은 단말(104)의 현장 데이터 센터(102)로의 액세스를 허용한다. 기업 사용자는 단말(101, 104)에서 인터넷(106)을 통해서 공용 데이터 센터(107)에도 액세스할 수 있다.
현장 데이터 센터(102) 및 공용 데이터 센터(107)는 기업(100) 및 다른 사용자에게 "클라우드 컴퓨팅" 서비스를 제공할 수 있다. 클라우드 컴퓨팅은 기업 사용자가 IT 인프라스크럭쳐를 자유롭게 관리할 수 있게 함으로써, 요청시에 서비스의 크기 조정을 허용하면서, 제한없는 계산, 저장 및 저렴한 네트워크 리소스를 가상으로 제공한다.
도 2는 일 실시예에 따른, 클라우드 컴퓨팅 서비스 혹은 분산형 컴퓨팅 서비스를 제공하는 데이터 센터(200)의 블록도이다. 복수의 서버(201)는 데이터 센터 관리 제어부(202)에 의해 관리된다. 부하 밸런서(203)는 요청 및 작업 부하를 서버들(201) 사이에서 분산시킴으로써, 하나의 서버(201)가 과부하되는(overwhelmed) 상황을 방지해서 데이터 센터(200)의 사용 가능 리소스의 용량 및 성능을 최대화한다. 라우터/스위치(204)는, 서버들(201) 사이의 데이터 트래픽, 그리고 외부 네트워크(205)를 통한 데이터 센터(200)와 외부의 리소스 및 사용자와의 사이의 데이터 트래픽에 대처하며, 외부 네트워크(205)는 기업 현장 데이터 센터(102)의 경우에는 LAN이 될 수 있고, 공용 데이터 센터(107)의 경우에는 인터넷이 될 수 있다.
서버(201)는 종래의 독립형 컴퓨팅 디바이스가 될 수도 있고, 및/또는 많은 서버 장치의 랙(rack) 내의 개개의 블레이드로서 구성될 수도 있다. 서버(201)는 다른 데이터베이스 개체와의 통신을 관리하는 입출력(I/O) 커넥터를 갖고 있다. 각 서버(201)의 하나 이상의 호스트 프로세서는, 다수의 가상 머신(VM)을 지원하는 호스트 운영 체제(O/S)를 구동한다. 각각의 VM은 자체 O/S를 구동하며, 서버의 각 VM은 서로 다를 수도 있고 같을 수도 있으며, 이들의 혼합형일 수도 있다. VM O/S는 예컨대, 같은 O/S의 다른 버전일 수도 있다(예컨대, 서로 다른 VM가 Windows® 운영 체제의 서로 다른 현재의 버전 및 레거시 버전을 구동함). 이에 더해서 혹은 이와 달리, VM O/S는 서로 다른 제조사에 의해 제공될 수도 있다(예컨대, 일부 VM은 Windows® 운영 체제를 구동하고, 다른 VM은 Linux® 운영 체제를 구동함). 각 VM은 하나 이상의 애플리케이션(앱)을 구동할 수 있다. 각 서버는 또한 저장부(예컨대 하드 디스크 드라이브(HDD) 및 메모리(예컨대, RAM)를 포함하며, 이는 호스트 프로세서 및 VM이 액세스해서 사용할 수 있다.
클라우드 컴퓨팅은 서비스로서 컴퓨팅 성능을 전달하고, 연산 능력과 같은 IT 리소스에 액세스하며, 수도꼭지에서 물이 나오는 것처럼 네트워킹 및 저장을 이용할 수 있다. 어떤 유틸리티를 이용할 때, 클라우드 컴퓨팅을 이용해서 시청하는 것에 대해서만 지불한다. 클라우드 서비스를 이용함으로써, 비용을 들여서 복잡한 IT 빌딩 블록을 만들거나, 관리하거나 유지할 필요없이, 대용량 데이터 센터의 성능을 사용할 수 있다. 클라우드를 이용함으로써, IT의 복잡성이 상당히 감소되고, 이로써 자신의 비지니스와 실제로 관련된 인프라스트럭쳐, 데이터 및 애플리케이션 개발에만 집중할 수 있다.
데이터 센터(200)는 리소스의 풀(pooled resources)을 제공하며, 고객 혹은 테넌트는 서버나 추가 네트워킹을 더 추가하지 않고도, 이 리소스의 풀에 대해서 필요에 따라 유동적으로 애플리케이션을 공급 및 스케일링할 수 있다. 이로써, 애드혹 기반으로, 애플리케이션마다 인프라스트럭쳐를 구입, 공급 및 관리할 필요없이, 테넌트는 필요로 하는 컴퓨팅 리소스를 획득할 수 있다. 클라우드 컴퓨팅 데이터 센터(200)는 테넌트가 자신의 비지니스의 현재 요구에 맞춰서 리소스를 동적으로 스케일 업 및 스케일 다운하는 것을 허용한다. 나아가, 데이터 센터 운영자는 사용-기반 서비스를 테넌트에 제공해서, 테넌트가 리소스를 사용하고자 할 때, 사용하는 리소스에 대해서만 비용을 지불하게 할 수 있다. 예컨대, 테넌트는 우선 서버(201-1) 상의 하나의 VM를 이용해서 자신의 애플리케이션을 실행시킨다. 수요가 많아지면, 데이터 센터는 같은 서버에서 및/또는 새로운 서버(201-N)에서 필요에 따라서 추가 VM을 가동시킬 수 있다. 이후에 수요가 감소되면 이 추가 VM은 가동 중지될 수 있다.
데이터 센터(200)는 보장된 이용 가능성(guaranteed availability), 장애 복구 및 백업 서비스를 제공할 수 있다. 예컨대, 데이터 센터는 테넌트의 애플리케이션의 주(primary) 위치로서 서버(201-1)의 하나의 VM을 지정할 수 있고, 제 1 VM 즉 서버(201-1)가 고장난 경우에는 대기 혹은 백업으로서, 같은 서버 혹은 다른 서버의 제 2 VM을 가동시킬 수 있다. 데이터베이스 관리부(202)는, 테넌트의 개입없이도 인커밍 사용자 요청을 주 VM으로부터 백업 VM으로 자동으로 시프트시킨다. 데이터 센터(200)가 하나의 위치로 도시되어 있지만, 서버(201)는 추가적인 여분 및 장애 복구 성능을 제공하도록, 전세계의 여러 위치에 분산될 수 있다.
데이터 센터 운영자는 다양한 레벨의 클라우드 컴퓨팅 서비스를 테넌트에게 제공할 수 있다. IaaS(Infrastructure-as-a-Service) 제공을 통해서, 낮은 레벨의 IT 스택이 서비스로서 전달되고, 이는 물리적인 머신을 제공하고 네트워크를 구성하는 복잡성으로부터 개발자를 자유롭게 한다. IaaS를 통해서 테넌트는, 스케일링 가능성과 이용 가능성이 매우 높은 클라우드 환경에서, 가상 머신을 용이하게 공급하고, 솔루션을 개발하고 테스트할 수 있으며, 따라서 애플리케이션 생성을 용이하게 할 수 있다. PaaS(Platform-as-a-Service) 제공을 통해서, 런타임 동안 네트워크 접속에 관한 모든 것이 제공된다. PaaS는, 업데이트를 포함한, 애플리케이션 서비스 및 운영 체제의 유지 관리를 위한 추가적인 지원을 제공함으로써 개발을 용이하게 한다. PaaS를 통해서, 테넌트는 애플리케이션의 비지니스 로직에 집중할 수 있고, 애플리케이션을 구상 단계에서 착수 단계로 신속하게 전환시킨다. SaaS를 제공함으로써, 하나의 종료된 애플리케이션 혹은 애플리케이션 그룹이 웹 브라우저를 통해서 소비자에게 전달될 수 있고, 이 때문에 애플리케이션 코드를 포함한 IT 스택의 기본 컴포넌트를 유지 관리할 필요가 없어진다.
도 1을 다시 참조하면, 기업은 공용 데이터 센터 혹은 공용 클라우드 컴퓨팅 서비스를 이용함으로써, 비용 절감, 유지 관리 요구의 감소 혹은 특정 서비스의 제공과 같은 이점을 취할 수 있다. 반면에, 기업은 또한 현장 데이터 센터나 사설 클라우드 서비스를 이용해서, 데이터 보안을 보장하거나 혹은 예컨대, 고유의 애플리케이션을 사용할 수 있다. 기업이 사설 클라우드 서비스의 이점을 취하기 위해서는 현장 데이터 센터를 사용해야 하는 것은 아니라는 것을 이해할 것이다. 대신, 사설 클라우드 서비스는, 기업으로 액세스를 한정하는 데이터 센터에 의해서 제공될 수도 있다. 기업이 공용 클라우드 서비스 및 사설 클라우드 서비스를 모두 사용하는 것을 전체적으로 하이브리드 클라우드라고 한다.
각자의 클라우드 컴퓨팅 서비스는 각자의 API 및 각자의 UI를 필요로 할 것이다. 하이브리드 클라우드 솔루션에서, 일부 서비스는 예컨대, 현장 데이터 센터에서 실행되는 사설 클라우드 컴퓨팅에 의해 제공되고, 다른 서비스는 공용 클라우드에 의해 제공되며, 여기서 기업은 이들 각자의 API 및 UI를 관리해서, 각각의 클라우드에 대한 정확한 API 및 UI를 확실하게 이용하게 한다. 현재의 클라우드 제공자는 개개의 클라우드 서비스가 소비되게 할 수 있지만, 단일의 기존의 사용자 경험 및 단일의 기존의 API를 통해서 다수의 클라우드로부터의 서비스를 소비하는 것은 현재 불가능하다. 대신에, 현재의 서비스는 자체의 호스트 클라우드에서만 제공된다. 그 결과, 동일한 서비스가 서로 다른 클라우드에서 제공될 때, 동일한 서비스 UI 및 API를 통합 방식으로 사용해서 서로 다른 클라우드에 있는 리소스에 액세스하는 것이 가능하도록, 기존의 사설 클라우드나 현장 서비스를 공용 클라우드로 확장시키는 것은 현재 불가능하다.
본 발명의 실시예에서는 서로 다른 클라우드로부터의 서비스를 통합해서, 하나의 서비스가 다른 서비스를 이용하도록 자신을 구성을 하는 것을 가능하게 한다. 예컨대, 기업 사용자는 하나의 인터페이스에만 액세스해야 하는 반면에, 사설 클라우드에서 호스팅되는 데이터베이스 서비스는 공용 클라우드로 백업되도록 구성될 수 있다. 기존 시스템에서는 이것이 불가능했으며, 대신 사용자는 2개의 UI 애플리케이션을 오픈하고, 2개의 서로 다른 보안 메커니즘을 이용해서 서로 다른 클라우드에 대해 서로 다른 API 호출을 하게 해야 했다.
도 3은, 공용 클라우드 즉 원격 클라우드(301) 및 사설 클라우드 즉 로컬 클라우드(302)와 같은 다수의 클라우드 서비스에 대한 하나의 사용자 인터페이스 및 지속형 API를 제공하는 시스템(300)의 일 실시예를 나타내는 블록도이다. 두 클라우드 모두, 데이터베이스 서비스와 같은, 유사한 서비스를 제공할 수 있지만, 각 클라우드의 서비스는 서로 다른 아이덴티티를 가질 것이다. 데이터베이스 서비스는 유사한 UI를 가질 것이지만, 이 UI로 플러그되는 서비스는 각 클라우드마다 상이할 것이다. 본 발명의 실시예에서는, 사용자가 브라우저(303)를 통하는 등으로 UI에 액세스해서, 하나의 클라우드에서 서비스가 호스팅되는 것처럼 모든 클라우드로부터 서비스를 소비하는 방식으로, 서로 다른 클라우드를 접속시킨다. 통합된 UI는 클라우드의 경계를 사용자에게 드러내지 않음으로써, 하나의 UI를 통해서 서로 다른 클라우드를 액세스하고 관리하는 것을 가능하게 할 수 있다. 사용자는, 선택된 서비스에 대한 소망의 인터페이스를 선택할 수 있으며, 예컨대, 사설 클라우드(301)에 대한 데이터베이스 서비스 UI를 이용해서 각 클라우드로부터의 데이터베이스 서비스에 액세스할 수 있다. 사용자가 서로 다른 클라우드의 서로 다른 서비스에 액세스하고 있지만, UI는 이들을 끊김없이 통합시킨다.
다수의 클라우드를 통합하는 것은 2개의 파트, 즉 통합형 UI 및 통합형 API를 갖는다. 도 3의 예시적인 시스템에서는 브라우저(303)에 통합형 UI를 제공하는 것이 도시되어 있다. 그러나, 통합형 UI는, 두 클라우드 모두의 서비스나 데이터에 액세스하는 IDE(integrated development environment)이나 다른 툴 등의 다른 애플리케이션을 통해서 제공될 수도 있다.
브라우저(303)는 쉘(shell:304)을 로딩해서 초기화하고, 이는 사용자의 클라우드 서비스 가입 리스트를 로딩하고 있다. 쉘(304)은 JavaScript®이 될 수 있으며, 이는 예컨대, 웹 사이트로부터 로딩된다. 가입에 기초해서, 쉘은 사용자가 어떤 에셋(asset) 및 서비스를 사용하도록 등록되었는지 판정하고, 이들이 공용 클라우드(301) 혹은 사설 클라우드(302) 내의 어디에 위치되어 있는지 판정할 수 있다. 예컨대, 사용자는 VM, 웹 사이트 및/또는 SQL 데이터베이스 서비스를 관리하도록 등록될 수 있다. 이들 서비스 중 일부는 공용 클라우드(301)로부터 제공되고, 다른 일부는 사설 클라우드(302)로부터 국지적으로 제공될 수 있다.
쉘(304)은 브라우저에서 프레임(305, 306)을 생성하고, 이 프레임을, 사용자가 가입한 다른 서비스에 대한 확장을 제공하고 있는 다른 웹 사이트로 포인팅한다. 브라우저에서 클라우드 서비스 사이의 분리를 제공하는데 프레임(예컨대, HTML 아이프레임(iframe))이 사용될 수 있다. 공용 클라우드 확장(305)은 공용 클라우드(301)에 대해 웹 사이트로부터 UI를 제공하고, 사설 클라우드 확장(306)은 사설 클라우드(302)에 대해 웹 사이트로부터 UI를 제공한다. 각각의 프레임(305, 306)은 각각의 정보를 수신하고, 쉘(304)은 프레임을 서로 다른 확장을 합한 것인 통합 UI로 조정한다(coordinate). 각각의 확장은 서로 다른 클라우드로부터 로딩되고, 그 클라우드에 대한 식별 및 인증과 같은 특정한 보안 정황이 가능하도록 되어 있다. 쉘(304)은 그 클라우드 확장에 대한 특정한 구현 혹은 포맷에 대비한(expect) 기본 운영 체제로서 기능한다. 적정한(compliant) 확장이 생성될 수 있다면, 쉘(304)은 임의의 클라우드에 대해 하나의 프레임을 생성할 수 있다. 예컨대, 서로 다른 확장이 생성되어서 Microsoft Azure, WAP(Windows Azure Pack), AWS(Amazon Web Services), Google 클라우드 플랫폼 등에서 실행되고 있는 클라우드 서비스에 액세스할 수 있다. 쉘(304)은 다수의 서로 다른 동종(homogenous) 클라우드 서비스 및/또는 이종(heterogeneous) 클라우드 서비스에 대한 UI의 컨버징(converging)을 제공한다. UI는, 사용자가 클라우드 경계를 시각적으로 보지 않고서도 복합 계획(mixed plan)(서비스 혹은 서비스 영역이 클라우드 경계를 넘어서 제공됨)을 제공받을 수 있을 정도까지, 사용자에 대해 클라우드 경계를 줄일(abstract) 수 있다.
쉘(304)은, 사용자 경험이 자연스럽게 그리고 끊김없이 클라우드 경계를 넘어서 확장될 수 있도록 클라우드-관리를 제공한다. 공용 클라우드(301) 및 사설 클라우드(302)는 동일한 서비스 및 상이한 서비스를 모두 제공할 수 있다. 쉘(304)은, 개개의 서비스를 클라우드 경계를 넘어서 관리하는 네이티브한 UI 확장을 로딩한다. 이 확장에 의해 각각의 클라우드 서비스를 관리하는 적절한 버전이 로딩된다. 예컨대, 사설 클라우드(302)용으로 로딩된 VM 관리 서비스의 버전에 비해서, 더 새로운 VM 관리 서비스의 버전이 공용 클라우드(301)용으로 로딩될 수 있다.
도 3에는 공용 클라우드 및 사설 클라우드를 이용하는 시스템이 도시되어 있지만, 본 발명에서는 클라우드 서비스의 임의의 조합이 사용될 수 있다는 것을 이해할 것이다. 예컨대, 브라우저(303)는 2개의 사설 클라우드 혹은 2개의 공용 클라우드에 대한 UI를 제공할 수 있다. 쉘(304)은 사용자의 등록된 클라우드 서비스에 대한 적절한 확장을 제공한다. 다른 실시예에서, 브라우저(303)를 이용해서 2개 이상의 클라우드 서비스가 액세스될 수 있다. 각 클라우드의 업데이트 레이트는, 일부 클라우드가 다른 클라우드보다 더 최근 버전의 서비스를 갖도록 변경될 것이다. 한 클라우드에서 UI가 변경되면, 그 UI의 가장 최근 버전이 쉘(304)에 의해서 사용자에게 제공될 수 있도록, 쉘(304)은 확장을 이용해서 신속하게 업데이트될 수 있다.
쉘(304)의 서비스 진단 부분은 서로 다른 클라우드로부터 일부 파트를 로딩할 수 있다. 쉘(304)은 어느 클라우드가 최신 버전의 UI를 갖고 있는지 식별하고, 이 최신 버전을 로딩한다. 이 최신 버전에 따라서, 쉘은 오래된 버전의 UI를 로딩할 수 있는 '샌드 박스(sandbox)'를 로딩한다. 샌드 박스는 이 오래된 버전이 최신 버전인 것 처럼 쉘에 보여지게 한다. 이는, UI에 맞춰서 변경하도록 적절한 API 변환(translation)을 수행함으로써 달성될 수 있다. 이 API의 오래된 버전은 오래된 버전을 가진 클라우드에서 사용되지만, 쉘은 사용자에 대해서 서비스 UI의 새로운 버전을 로딩한다. 그 결과, 사용자가 다른 클라우드에 있는 오래된 버전의 서비스로 네비게이트하는 경우에도, 사용자에게는 업데이트된 UI 버전이 제시될 수 있다.
브라우저(303)에서 제시되는 테마는 서로 다른 클라우드에 대해서 표준화될 수 있다. 예컨대, 더 새로운 버전의 UI가 공용 클라우드(301)로부터 로딩되는 경우, 브라우저(303)는, 사설 클라우드(302)와 관련된 로컬 테마가 오래된 버전의 서비스에 대해서 생성된 것인 경우에도, 이 로컬 테마를 계속 사용할 수 있다. 이로써, 하나의 클라우드의 스타일링 및 커스텀화(customizations)가 모든 클라우드의 사용자에게 제시될 수 있다.
다른 실시예에서, 공용 클라우드(301)와 사설 클라우드(302)에 동일한 서비스가 제공되면, 브라우저(303)는 단일의 UI 확장을 사용해서 두 클라우드 사이의 리소스를 관리할 수 있다. 전개된 서비스가 서로 다른 버전인 경우에도 하나의 UI 확장이 사용될 수 있다.
브라우저(303)는 사용자 식별을 관리해서, 사용자가 사설 클라우드(302)에 대한 로그 온을 이용하면 모든 클라우드 경계를 넘어서 공용 클라우드(302)에 있는 리소스에도 액세스할 수 있게 한다.
각각의 클라우드는 포털(portal)을 갖고, 이는 브라우저(303)에 로딩된 확장에 의해서 액세스된다. 공용 클라우드 포털(307)은, 인터넷(308)을 거쳐서 공용 클라우드 확장(305)을 공용 클라우드(301)에 인터페이스시키기에 적절한 API 프레임워크를 제공한다. 방화벽(309)은 공용 클라우드(301)의 보안을 제공한다. 확장(305)은 공용 클라우드(301)에 액세스하는데 필요하다면, 방화벽(309)을 지나도록 구성된다. 사설 클라우드 포털(310)은, 사설 클라우드 확장(306)을 네트워크(311)를 거쳐서 사설 클라우드(302)에 인터페이스시키기에 적절한 API 프레임워크를 제공한다. 브라우저(303)와 사설 클라우드(302)가 동일한 위치에 있다면, 네트워크(311)는 LAN 혹은 기업 네트워크가 될 수 있다. 브라우저(303)가 사설 클라우드(302)로부터 떨어져 있다면, 네트워크(311)는 인터넷이 될 수 있다. 브라우저(303)가 인터넷 혹은 다른 공용 네트워크를 통해서 서비스에 액세스하는 시점 등에, 방화벽(312)은 사설 클라우드(302)에 대한 보안을 제공한다.
포털(307, 310)은 리소스 매니저, 사용 매니저, 및 각 클라우드에 대한 가입 매니저로의 액세스를 제공한다. 리소스 매니저는 리소스 제공자를 조정하고, 리소스 제공자는 예컨대, VM의 인스턴스, 웹 사이트, 및 데이터베이스 리소스를 제공할 수 있다. 사용 매니저는 과금을 위해서 리소스 소비를 모니터한다. 가입 관리자는, 커넥터, 접속되는 서비스 및 쿼터(quota)를 포함한 테넌트 가입을 유지한다.
클라우드(301, 302)는 RBAC(role-based access control)를 사용해서, 어떤 관리자 및 테넌트가, 기업 내의 개개의 사용자의 역할에 기초해서, 인증된 사용자로 액세스를 제한할 수 있고, 제한을 행하는지를 제어할 수 있다. 브라우저(303)는 식별/인증 관리자(313 혹은 314)에 접속하고, 이는 사용자를 입증하고 이들 사용자가 각 클라우드에서 제공받을 액세스를 결정하기에 적합한 것이다. 식별/인증 관리자(313, 314)는 또한 서로 통신이 가능하다. 이로써 사용자는 한 포털에 액세스해서 양쪽 클라우드를 보는 것이 가능하게 된다. 식별/인증 관리자(313)는 일 실시예에서 공용 클라우드(301)에 대한 포괄적인 식별 및 액세스 관리 솔루션으로서 Azure Active Directory를 사용할 수 있다. 사설 클라우드(302) 내의 식별/인증 매니저(314)는 예컨대 STS(Security Token Service)가 될 수 있으며, 이는 보안 게이트의 역할을 해서 사용자를 인증하고, 그 사용자에 대해 명시한 권한(claim)을 전달하는 보안 토큰을 발행한다.
통합형 UI과 마찬가지로, 통합형 API는 클라우드들에 대한 공통 인터페이스를 제공한다. 이는 예컨대, 이격된 공용 클라우드(301)에 접속하도록 되어 있는, 사설 클라우드 내의 커넥터 리소스 제공자(315)를 이용해서 이루어진다. 커넥터 리소스 제공자(315)는 클라우드(301)용의 네이티브 API를 변환해서, 다른 클라우드 내의 리소스 제공자 계약(resource provider contract)과 호환될 수 있게 한다. 커넥터 리소스 제공자(315)는 사설 클라우드(302)에 있는 다른 리소스 제공자와 동일한 인터페이스를 갖고 있을 뿐만 아니라, 원격 클라우드(301)로의 링크도 갖고 있다.
커넥터 리소스 제공자(315)는 사설 클라우드(302)에 있는 리소스 매니저 API를, 사설 클라우드(302)에서 사용되는 리소스 매니저 API로 변환한다. 커넥터 리소스 제공자(315)는 또한 사설 클라우드(302)의 사용 API를 공용 클라우드(302)의 사용 API로 변환한다. 이로써, 예컨대 원격 클라우드에서의 리소스 소비가 종합 과금을 위해서 사설 클라우드에서 사용되는 것이 가능하게 된다. 커넥터 리소스 제공자(315)는 또한 사설 클라우드(302)의 가입 관리 API를 공용 클라우드(302)의 가입 관리 API로 변환한다. 이로써 사설 클라우드(302)는 공용 클라우드(301)에서 적용되는 쿼터를 커넥터 리소스 제공자(315)를 통해서 구성하는 것이 가능하게 된다.
커넥터 리소스 제공자(315)를 통해서 사설 클라우드(302) 내의 사용자가 로컬 API 엔드포인트에 도달하면, 리소스가 물리적으로 원격 클라우드에 있는 경우에도, 리소스가 로컬하게 등록되어 있는 것처럼, 사설 클라우드(302)와 공용 클라우드(301) 모두로부터 이용 가능한 리소스의 리스트를 볼 것이다.
예컨대, 사용자는 사설 클라우드 상의 데이터베이스 서비스를 가질 수 있지만, 공용 클라우드는 추가 데이터베이스 서비스를 제공할 수 있다. 사용자는 커넥터 리소스 제공자(315)를 사용해서, 사설 클라우드 상의 이들 추가 데이터베이스 서비스가 로컬하게 있는 것처럼, 추가 데이터베이스 서비스에 대한 액세스를 가질 것이다.
API 레벨에서 특수 커넥터 서비스를 이용해서, 커넥터(315)는 클라우드를 가로질러서 호출을 프록시함으로써, 하나의 관리 서비스를 통해서 모든 서비스를 모든 클라우드로부터 노출시킬 수 있다.
커넥터 리소스 제공자(315)는 사용자에게 단 한 번의 사인-온 과정만을 제공함으로써 클라우드(301, 302) 사이에서 식별을 페더레이트한다. 각각의 클라우드는 서로 다른 식별 제공자(313, 314)를 사용해서 API에 접속할 수 있다. 커넥터 리소스 제공자(315)를 통해서, 사용자는 사설 클라우드(302)에 로그인해서, 사설 클라우드(302)에 다시 로그인할 필요없이 공용 클라우드(301)로부터의 서비스를 소비하는 것이 가능하다. 일 실시예에서 이는, 식별/인증 관리자(313, 314)를 동기화함으로써 달성될 수 있다.
일 실시예에서, 클라우드 사이의 접속을 제공하는 관리식(managed) 옵션과 비관리식(unmanaged) 옵션이 있다. 사용자가 서로 다른 클라우드의 리소스에 액세스할 수 있도록, 각각의 옵션은 두 클라우드 사이의 관련을 성립시킨다. 사용자는 두 클라우드에 가입하거나 혹은 두 클라우드로부터의 서비스를 요청하고 그 접속을 관리해야 한다.
비관리형 액세스의 경우에, 최종 사용자는, 로컬 클라우드의 포털로부터 원격 클라우드 내의 가입에 대한 관찰되지 않고(un-scoped) 관리되지 않는(ungoverned) 액세스를 제공받는다. 원격 클라우드 제공자와의 과금 관계는 최종 사용자가 소유한다. 원격 가입의 서비스, 쿼터 및 리소스는 로컬 가입과는 결부(tie)되지 않는다. 최종 사용자는, 로컬 클라우드 제공자로부터의 가입 및 원격 클라우드 제공자로부터의 별도의 가입을 허용받는다. 최종 사용자는 로컬 클라우드 제공자를 이용해서 원격 가입에 등록함으로써, 원격 클라우드 내의 서비스에 액세스할 수 있다.
관리형 액세스의 경우에, 최종 사용자는, 로컬 클라우드의 포털로부터 원격 클라우드 내의 가입에 대한 관찰되고 관리되는 액세스를 제공받는다. 원격 클라우드와의 과금 관계는 로컬 클라우드 제공자가 처리하고, 제공자와의 과금 관계는 최종 사용자가 처리한다. 원격 가입의 서비스, 쿼터 및 리소스에는 로컬 가입의 서비스, 쿼터 혹은 리소스가 탑재 혹은 첨부된다. 최종 사용자는 한번의 가입만 허용되며, 이는 로컬 클라우드 제공자를 통한 것이다.
관리 API(316)는 로컬의 사설 클라우드(302)를 이용해서 원격의 공용 클라우드(301)를 등록하는데 사용된다. 관리 API(316)는, 사설 클라우드(302)가 공용 클라우드(301)를 인식해서 공용 클라우드(301)로부터 외부 리소스를 가져올 수 있게 하는 데, 사용될 수 있다. 관리 API(316)를 통해서, 사용자는 사설 클라우드(302)에서의 기존의 가입을, 공용 클라우드(301)에서 이용가능한 서비스에 링크시킬 수 있다. 이와 달리, 사설 클라우드 포털(310)은 테넌트 API로, 이는 공용 클라우드(301)로부터 기존의 가입을 임포트(import)해서 사설 클라우드(302)에서 이용가능한 서비스로의 액세스를 제공하는데 사용될 수 있다. 임포트된 가입은 사설 클라우드(302)에 등록되고 그 결과, 사용자는 두 클라우드로부터 서비스에 액세스할 수 있게 된다. 이로써 사용자는 자신의 기존 공용 클라우드 가입을 사설 클라우드 계정으로 옮길 수 있다. 가입이 로컬하게 등록되는 것으로, 사용자는 원격 서비스에 액세스할 수 있게 된다. 이후 공용 클라우드(301)의 사용 매니저는 사설 클라우드(302)로부터의 리소스 사용을 과금을 위해서 특정 가입과 연관시킬 수 있다.
설명을 간결하게 하기 위해서, 상기 설명된 예시에서는 로컬의 사설 클라우드와 원격의 공용 클라우드의 2개의 클라우드 서비스만을 이용하고 있다. 그러나, 몇 개의 서로 다른 클라우드가 이러한 방식으로 접속되는지는 제한되지 않는다는 것을 이해할 것이다. 하나의 클라우드 서비스를 하나 이상의 추가 클라우드 서비스로 링크시키는데, 커넥터 혹은 커넥터 리소스 제공자의 복수의 인스턴스가 사용될 수 있다.
도 4는 통합형 UI 및 통합형 API를 이용해서 3개의 클라우드 서비스를 링크시키는 시스템(400)을 나타내고 있다. 이 예에서, 사용자는 클라우드 서비스(401, 402, 403)로부터 서비스에 가입되어 있다. 이들 클라우드 서비스(401, 402, 403)는 사설 클라우드 및/또는 공용 클라우드의 임의의 조합이 될 수 있다. 클라우드 서비스(401, 402, 403)는, 제한된 사용자 그룹에 대해 사설 클라우드 서비스를 유지 관리하는 기업 IT 부서나 혹은 다수의 테넌트가 이용 가능한 공용 클라우드 서비스를 유지 관리하는 원격 서비스 제공자와 같은, 서로 다른 서비스 제공자에 의해 지원될 수 있다. 클라우드 서비스(401, 402, 403)는, 서로 이격되어 있으며 동일한 혹은 서로 다른 제공자에 의해 유지 관리되고 있는 데이터 센터에 위치될 수 있다. 다른 방안으로 클라우드 서비스(401, 402, 403)는 같은 위치에는 위치되어 있지만, 같은 데이터 센터의 격리된 서브-섹션에 위치될 수도 있다.
사용자는 브라우저(404)를 사용해서 클라우드 서비스에 액세스한다. 다른 실시예에서, 브라우저(404)는 클라우드 서비스(401~403) 모두로부터 이격되어 있는 머신에서 실행될 수도 있고, 혹은 사설 클라우드와 같은 위치에 위치된 기업용 머신과 같이, 클라우드 서비스(401~403) 중 하나 이상과 함께 위치되어 있는 머신에서 실행될 수도 있다. 브라우저(404)는 쉘(405)을 로딩하고, 이는 사용자의 클라우드 서비스 가입 리스트를 로딩한다. 이 가입에 기초해서, 쉘은 사용자가 어느 에셋 및 서비스에 등록되어 있는지 판정하고, 이들이 클라우드 서비스(401~403)의 어디에 위치되어 있는지 판정할 수 있다. 쉘(405)은 클라우드 서비스(401~403)에 각각 대응하는 네이티브 UI 확장(406, 407, 408)을 로딩한다. 쉘(405) 및 클라우드 확장(406~408)은 예컨대, 로컬하게 호스팅된 웹 페이지로부터 혹은 클라우드 서비스(401~403) 중 하나에 의해 호스팅되는 원격 웹 페이지로부터 로딩될 수 있다. 클라우드 확장(406~408) 각각은 대응하는 클라우드 서비스(401~403)에 대해서 클라우드 포털(409, 410, 411)에 접속되도록 되어 있다.
쉘(405)은 브라우저(404) 내에 프레임을 생성하고, 이 프레임을 사용자가 가입한 클라우드 서비스에 대한 클라우드 확장으로 포인팅한다. 각각의 프레임은 개개의 정보를 수신하고, 쉘(405)은 이 프레임을 사용자에 대한 통합 UI로 조정한다. 각각의 클라우드에 대한 확장(406~408)은 그 클라우드에 대한 특정 보안 정황을 인에이블시키도록 되어 있다.
클라우드 포털(409~411)은, 그들의 각각의 클라우드 확장 및 클라우드 서비스를 네트워크(412)를 통해서 인터페이스시키기에 적합한 API 프레임워크를 제공하며, 이는 머신 실행 브라우저(404) 및 각각의 클라우드 서비스(401~403)의 위치에 따라서는 기업 LAN 혹은 공용 인터넷이 될 수 있다. 포털(409~410)은 각각의 클라우드 서비스에 대한 리소스, 사용 및 가입(413, 414, 415)에 대한 액세스를 제공한다.
커넥터(416)가 네이티브 API를 각 클라우드 서비스용으로 변환하는 통합 API를 제공함으로써, 다른 클라우드 서비스 내의 리소스 제공자 계약과 호환 가능하게 할 수 있다. 커넥터(416)는 클라우드 서비스(401)의 리소스 매니저 API를 클라우드 서비스(402, 403)에서 사용되는 리소스, 사용 및 가입 관리 API로 변환한다. 이로써, 사용자는 클라우드 서비스(401~403) 모두를 통해 이용 가능한 가입 리소스의 리스트를 볼 수 있다. 이들 리소스는, 원격 클라우드(402, 403)에 물리적으로 위치되어 있는 경우에도, 클라우드 서비스(401)에 로컬하게 등록되어 있는 것처럼 사용자에게 보여지게 된다.
커넥터(416) 혹은 커넥터(416)의 다수의 인스턴스가 하나의 클라우드 서비스를 다수의 다른 클라우드 서비스에 링크시키는데 사용될 수 있다. 다른 실시예에서, 원격 클라우드 서비스(402)의 커넥터(417)가, 원격 클라우드 서비스(402)와 원격 클라우드 서비스(403) 사이에서 서비스와 리소스를 링크시키는데 사용될 수 있다. 이로써 사용자가 클라우드 서비스(402)에서 가입한 리소스가 클라우드 서비스(403)의 관련 리소스에 직접 액세스하는 것을, 해당 상호 액션의 제 3자인 클라우드 서비스(401)로부터의 액션없이도, 가능하게 한다.
청구 대상을 구조적인 특성 및/또는 방법적인 동작에 특정된 언어로 기술했지만, 첨부된 청구항에 정의된 청구 대상이 상술한 특정한 특성 혹은 동작으로 반드시 한정되는 것은 아니라는 점을 이해할 것이다. 상술한 특정한 특성 및 동작은 청구항을 실시하는 예시적인 형태로서 기술된 것이다.

Claims (15)

  1. 컴퓨터 구현식 방법으로서,
    컴퓨터에서 실행되는 브라우저에, 2개 이상의 네트워크의 서비스에 대한 가입 리스트를 식별하는 쉘(shell)을 로딩하는 단계와,
    상기 네트워크 각각에 대한 사용자 인터페이스 확장을 상기 브라우저에 개개의 프레임으로 로딩하는 단계 - 상기 사용자 인터페이스 확장은 각각이 상기 네트워크 중 하나에 대한 사용자 인터페이스 포털과 연관되어 있음 - 와,
    네트워크 경계 사이의 구별없이 각 네트워크에서 가입된 서비스에 액세스하는 것을 가능하게 하는 통합된 사용자 인터페이스를, 상기 브라우저에 제공하는 단계
    를 포함하는 컴퓨터 구현식 방법.
  2. 제 1 항에 있어서,
    상기 2개 이상의 네트워크는, 서로 다른 서비스 제공자에 의해 동작되는 서로 다른 데이터 센터인
    컴퓨터 구현식 방법.

  3. 제 1 항에 있어서,
    상기 2개 이상의 네트워크는 서로 다른 클라우드 컴퓨팅 서비스인
    컴퓨터 구현식 방법.
  4. 제 1 항에 있어서,
    제 1 네트워크는 기업이 호스팅하는 사설 클라우드이고,
    제 2 네트워크는 제 3 자 서비스 제공자가 호스팅하는 공용 클라우드인
    컴퓨터 구현식 방법.
  5. 제 1 항에 있어서,
    제 1 네트워크에 대한 제 1 사용자 인터페이스 확장을 로딩하는 단계 - 상기 제 1 사용자 인터페이스 확장은 제 1 버전의 서비스에 대응함 - 와,
    제 2 네트워크에 대한 제 2 사용자 인터페이스 확장을 로딩하는 단계 - 상기 제 2 사용자 인터페이스 확장은 제 2 버전의 서비스에 대응함 - 와,
    상기 제 1 사용자 인터페이스 확장이 가장 최신 버전의 서비스에 대응하는 것이라고 식별하는 단계와,
    상기 제 1 사용자 인터페이스 확장을 이용해서 상기 제 2 버전의 서비스에 대한 액세스를 제공하는 단계
    를 더 포함하는 컴퓨터 구현식 방법.
  6. 제 5 항에 있어서,
    상기 브라우저에 상기 제 1 사용자 인터페이스 확장만을 노출시키는 단계와,
    상기 제 1 사용자 인터페이스 확장을 통해서 상기 제 1 버전의 서비스와 상기 제 2 버전의 서비스 모두에 대한 사용자 요청을 수신하는 단계
    를 더 포함하는 컴퓨터 구현식 방법.
  7. 제 1 항에 있어서,
    특정 네트워크 혹은 서비스와 관련해서 선택된 사용자-인터페이스 테마를 식별하는 단계와,
    상기 선택된 사용자-인터페이스 테마를 상기 통합된 사용자 인터페이스에 적용하는 단계
    를 더 포함하는 컴퓨터 구현식 방법.
  8. 제 1 항에 있어서,
    대응하는 네트워크에 대한 보안 정황 정보를 갖고 각각의 사용자 인터페이스 확장을 초기화하는 단계와,
    상기 2개 이상의 네트워크 중 하나에 대한 보안 크리덴셜을 제공한 이후에, 다른 네트워크에 대한 보안 크리덴셜을 요청하는 일없이, 상기 2개 이상의 네트워크 모두에 대한 사용자의 액세스를 허용하는 단계
    를 더 포함하는 컴퓨터 구현식 방법.
  9. 시스템으로서,
    서비스를 사용자에게 제공하도록 구성된 로컬 네트워크의 로컬 리소스와,
    상기 로컬 리소스와 외부 네트워크의 원격 리소스 사이의 인터페이스를 제공하는 커넥터
    를 포함하고,
    상기 커넥터는, 상기 로컬 리소스와 관련된 API와 상기 원격 리소스와 관련된 API 사이에서 변환하도록 구성되는
    시스템.
  10. 제 9 항에 있어서,
    상기 외부 네트워크의 원격 가입에 대한 액세스를, 상기 로컬 네트워크에 의한 상기 원격 가입을 제한하는 일없이, 제공하는 로컬 포털
    을 더 포함하는 시스템.
  11. 제 9 항에 있어서,
    상기 외부 네트워크의 원격 가입에 대한 액세스를 제공하는 로컬 포털
    을 더 포함하고,
    상기 원격 가입은 상기 로컬 네트워크에 의해 관리되는
    시스템.
  12. 제 9 항에 있어서,
    상기 커넥터는, 상기 원격 리소스가 제공하는 서비스에 대한 리소스 소비 쿼터(resource consumption quota)를 적용하도록 구성되고,
    상기 쿼터는 상기 로컬 리소스와 연관되는
    시스템.
  13. 제 9 항에 있어서,
    상기 커넥터는 상기 로컬 리소스와 관련된 사용자 가입을 식별하고, 상기 사용자 가입을 상기 원격 리소스에 적용하도록 구성되는
    시스템.
  14. 제 9 항에 있어서,
    상기 커넥터는 상기 원격 리소스와 관련된 사용자 가입을 식별하고, 상기 사용자 가입을 상기 로컬 리소스에 적용하도록 구성되는
    시스템.
  15. 제 9 항에 있어서,
    상기 커넥터는 복수의 상기 리소스와 관련된 사용자 가입을 식별하고, 상기 사용자 가입을 상기 원격 리소스에 적용하도록 구성되는
    시스템.
KR1020167035357A 2014-06-19 2015-06-17 상이한 분산 네트워크 사이에서 서비스를 소비하는 통합형 api 및 ui 제공 기법 KR102391806B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/309,846 2014-06-19
US14/309,846 US9560037B2 (en) 2014-06-19 2014-06-19 Integrated APIs and UIs for consuming services across different distributed networks
PCT/US2015/036111 WO2015195724A2 (en) 2014-06-19 2015-06-17 Integrated apis and uis for consuming services across different distributed networks

Publications (2)

Publication Number Publication Date
KR20170022996A true KR20170022996A (ko) 2017-03-02
KR102391806B1 KR102391806B1 (ko) 2022-04-27

Family

ID=53490302

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167035357A KR102391806B1 (ko) 2014-06-19 2015-06-17 상이한 분산 네트워크 사이에서 서비스를 소비하는 통합형 api 및 ui 제공 기법

Country Status (5)

Country Link
US (1) US9560037B2 (ko)
EP (1) EP3158448A2 (ko)
KR (1) KR102391806B1 (ko)
CN (1) CN106462467B (ko)
WO (1) WO2015195724A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220029795A (ko) * 2020-08-26 2022-03-08 쿠팡 주식회사 자동화 된 애플리케이션 프로그래밍 인터페이스 평가 및 마이그레이션을 위한 시스템 및 방법

Families Citing this family (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10785029B2 (en) * 2018-10-31 2020-09-22 Nutanix, Inc. Systems and methods for pairing on-premise clusters to clouds using identity service providers
US10129344B2 (en) 2014-06-19 2018-11-13 Microsoft Technology Licensing, Llc Integrated user interface for consuming services across different distributed networks
US10880283B1 (en) * 2014-06-27 2020-12-29 Amazon Technologies, Inc. Techniques for remote access to a computing resource service provider
US9667657B2 (en) * 2015-08-04 2017-05-30 AO Kaspersky Lab System and method of utilizing a dedicated computer security service
US10884992B2 (en) * 2015-12-23 2021-01-05 EMC IP Holding Company LLC Multi-stream object-based upload in a distributed file system
US10439954B1 (en) * 2015-12-28 2019-10-08 EMC IP Holding Company LLC Virtual-enterprise cloud computing system
JP6871943B2 (ja) * 2016-03-28 2021-05-19 オラクル・インターナショナル・コーポレイション モバイルクラウドサービスのための予め形成された命令
WO2017177076A1 (en) 2016-04-08 2017-10-12 Cloud Knox, Inc. Activity based access control in heterogeneous environments
CN107464107A (zh) * 2016-06-06 2017-12-12 阿尔卡特朗讯 用于云系统的在线计费的方法、系统和设备
EP3484125B1 (en) * 2016-07-08 2022-09-07 Tencent Technology (Shenzhen) Company Limited Method and device for scheduling interface of hybrid cloud
US10484460B2 (en) * 2016-07-22 2019-11-19 Microsoft Technology Licensing, Llc Access services in hybrid cloud computing systems
US10225253B2 (en) 2016-07-22 2019-03-05 Microsoft Technology Licensing, Llc Usage tracking in hybrid cloud computing systems
US10614229B2 (en) * 2016-08-24 2020-04-07 International Business Machines Corporation Security and privacy controls for remote-access support services
US10397136B2 (en) 2016-08-27 2019-08-27 Nicira, Inc. Managed forwarding element executing in separate namespace of public cloud data compute node than workload application
US10333959B2 (en) 2016-08-31 2019-06-25 Nicira, Inc. Use of public cloud inventory tags to configure data compute node for logical network
US11533377B2 (en) 2016-09-22 2022-12-20 Spectra Logic Corporation Hybrid cloud
US10645165B2 (en) 2016-09-22 2020-05-05 Spectra Logic Corporation Hybrid cloud
US10585722B2 (en) 2016-12-08 2020-03-10 International Business Machines Corporation Integrating heterogeneous business events in hybrid cloud environments
KR101884404B1 (ko) * 2017-01-17 2018-08-02 부산대학교 산학협력단 중앙 집중식 제어 구조 서버를 갖는 포그 컴퓨팅 운용을 위한 시스템 및 그의 제어 방법
US10552191B2 (en) * 2017-01-26 2020-02-04 Cisco Technology, Inc. Distributed hybrid cloud orchestration model
US10547598B2 (en) * 2017-02-13 2020-01-28 Thales Esecurity, Inc. Abstracted cryptographic material management across multiple service providers
US10949903B2 (en) * 2017-05-05 2021-03-16 Servicenow, Inc. System, computer-readable medium, and method for blueprint-based cloud management
US10491516B2 (en) 2017-08-24 2019-11-26 Nicira, Inc. Packet communication between logical networks and public cloud service providers native networks using a single network interface and a single routing table
US10567482B2 (en) 2017-08-24 2020-02-18 Nicira, Inc. Accessing endpoints in logical networks and public cloud service providers native networks using a single network interface and a single routing table
WO2019046071A1 (en) 2017-08-27 2019-03-07 Nicira, Inc. EXECUTING AN ONLINE SERVICE IN A PUBLIC CLOUD
US10756981B2 (en) 2017-11-28 2020-08-25 Hewlett Packard Enterprise Development Lp Efficiency indexes
US10944685B2 (en) 2017-11-29 2021-03-09 International Business Machines Corporation Abstracted, extensible cloud access of resources
US10862753B2 (en) * 2017-12-04 2020-12-08 Nicira, Inc. High availability for stateful services in public cloud logical networks
US10601705B2 (en) 2017-12-04 2020-03-24 Nicira, Inc. Failover of centralized routers in public cloud logical networks
CN109145039B (zh) * 2017-12-25 2022-01-28 北极星云空间技术股份有限公司 一种适用于联邦制工作流集成的ui桥接的方法
US10613911B2 (en) 2018-01-09 2020-04-07 International Business Machines Corporation Integrating multiple distributed data processing servers with different data partitioning and routing mechanisms, resource sharing policies and lifecycles into a single process
US10620934B2 (en) * 2018-01-24 2020-04-14 Citrix Systems, Inc. Systems and methods for versioning a cloud environment for a device
US10496387B2 (en) * 2018-04-03 2019-12-03 Microsoft Technology Licensing, Llc Crowdsourced API resource consumption information for integrated development environments
US11343229B2 (en) 2018-06-28 2022-05-24 Vmware, Inc. Managed forwarding element detecting invalid packet addresses
US11374794B2 (en) 2018-08-24 2022-06-28 Vmware, Inc. Transitive routing in public cloud
US11196591B2 (en) 2018-08-24 2021-12-07 Vmware, Inc. Centralized overlay gateway in public cloud
US10491466B1 (en) 2018-08-24 2019-11-26 Vmware, Inc. Intelligent use of peering in public cloud
JP2020088759A (ja) * 2018-11-29 2020-06-04 キヤノン株式会社 データ処理システム、データ処理システムの制御方法、及びプログラム
US11050837B2 (en) * 2019-01-31 2021-06-29 Hewlett Packard Enterprise Development Lp Providing cloud services associated with unused hardware resources of private cloud providers
US11496414B2 (en) * 2019-03-18 2022-11-08 Tencent America LLC Interoperable cloud based media processing using dynamic network interface
TWI723410B (zh) 2019-05-31 2021-04-01 伊雲谷數位科技股份有限公司 雲端資源管理系統、雲端資源管理方法以及非暫態電腦可讀取記錄媒體
US11392622B2 (en) 2019-07-02 2022-07-19 Hewlett Packard Enterprise Development Lp Cloud service categorization
CN112783497B (zh) * 2019-11-04 2024-05-28 中国移动通信集团陕西有限公司 新业务的生成方法、装置及计算设备
CN111176715B (zh) * 2019-12-16 2023-05-12 青岛聚看云科技有限公司 一种信息调用方法及服务器
US20210182054A1 (en) * 2019-12-16 2021-06-17 Intuit Inc. Preventing unexpected behavior in software systems due to third party artifacts
CN111416854B (zh) * 2020-03-16 2022-04-19 海南大学 云服务发布方法、订阅方法、装置和系统
GB2594316A (en) * 2020-04-23 2021-10-27 Immersive Labs Holdings Ltd Resource management
US10951704B1 (en) 2020-12-15 2021-03-16 Spectra Logic Corporation Data object sync
US11782748B2 (en) * 2021-05-14 2023-10-10 Oracle International Corporation Cloud shell extension framework
US11789718B2 (en) * 2022-01-07 2023-10-17 Dell Products L.P. System and method for subscription based solution modification implementation
US11861577B2 (en) 2022-01-07 2024-01-02 Dell Products L.P. System and method for distributed enforcement of configuration limitations
US11907153B2 (en) 2022-01-07 2024-02-20 Dell Products L.P. System and method for distributed subscription management
US11888690B2 (en) 2022-01-07 2024-01-30 Dell Products L.P. System and method for subscription limitation enforcement in distributed system
US11947433B2 (en) 2022-01-07 2024-04-02 Dell Products L.P. System and method for subscription based solution management
US11829740B2 (en) 2022-01-07 2023-11-28 Dell Products L.P. System and method for deployment level management of subscription based solutions

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013071087A1 (en) * 2011-11-09 2013-05-16 Unisys Corporation Single sign on for cloud
US20130282748A1 (en) * 2012-04-23 2013-10-24 Microsoft Corporation Self-Service Composed Web APIs
US20130291121A1 (en) * 2012-04-26 2013-10-31 Vlad Mircea Iovanov Cloud Abstraction
US20140059226A1 (en) * 2012-08-21 2014-02-27 Rackspace Us, Inc. Multi-Level Cloud Computing System
US20140101676A1 (en) * 2012-10-05 2014-04-10 Release Consulting Limited Publishing of an application program interface

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9489647B2 (en) * 2008-06-19 2016-11-08 Csc Agility Platform, Inc. System and method for a cloud computing abstraction with self-service portal for publishing resources
US20110138453A1 (en) 2009-12-03 2011-06-09 Samsung Electronics Co., Ltd. Single sign-on in mixed http and sip environments
US8924569B2 (en) 2009-12-17 2014-12-30 Intel Corporation Cloud federation as a service
US8719804B2 (en) * 2010-05-05 2014-05-06 Microsoft Corporation Managing runtime execution of applications on cloud computing systems
CN102255933B (zh) * 2010-05-20 2016-03-30 中兴通讯股份有限公司 云服务中介、云计算方法及云系统
US20120159517A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Managing a model-based distributed application
US9009697B2 (en) 2011-02-08 2015-04-14 International Business Machines Corporation Hybrid cloud integrator
US20120233589A1 (en) 2011-03-10 2012-09-13 Infosys Technologies Ltd. Software development kit for blended services
US9336060B2 (en) 2011-06-17 2016-05-10 Microsoft Technology Licensing, Llc Middleware services framework for on-premises and cloud deployment
KR101339766B1 (ko) 2011-11-29 2013-12-11 삼성에스디에스 주식회사 클라우드 서비스 컴포넌트간 매쉬업을 통한 통합 클라우드 서비스 시스템
US9203784B2 (en) * 2012-04-24 2015-12-01 Cisco Technology, Inc. Distributed virtual switch architecture for a hybrid cloud
EP2859439A4 (en) * 2012-06-08 2016-03-30 Hewlett Packard Development Co CLOUD APPLICATION DEPLOYMENT
WO2014007811A1 (en) 2012-07-03 2014-01-09 Hewlett-Packard Development Company, L.P. Managing a hybrid cloud service
US8781104B1 (en) * 2013-01-11 2014-07-15 American Express Travel Related Services Company, Inc. System and method for enabling tracking of contract provisions in a service message switching marketplace
CN103561080A (zh) * 2013-10-30 2014-02-05 威盛电子股份有限公司 无线网络的远程资源服务装置、方法和远程显示服务系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013071087A1 (en) * 2011-11-09 2013-05-16 Unisys Corporation Single sign on for cloud
US20130282748A1 (en) * 2012-04-23 2013-10-24 Microsoft Corporation Self-Service Composed Web APIs
US20130291121A1 (en) * 2012-04-26 2013-10-31 Vlad Mircea Iovanov Cloud Abstraction
US20140059226A1 (en) * 2012-08-21 2014-02-27 Rackspace Us, Inc. Multi-Level Cloud Computing System
US20140101676A1 (en) * 2012-10-05 2014-04-10 Release Consulting Limited Publishing of an application program interface

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20220029795A (ko) * 2020-08-26 2022-03-08 쿠팡 주식회사 자동화 된 애플리케이션 프로그래밍 인터페이스 평가 및 마이그레이션을 위한 시스템 및 방법
US11307913B2 (en) 2020-08-26 2022-04-19 Coupang Corp. Systems and methods for automated application programming interface evaluation and migration

Also Published As

Publication number Publication date
US20150373012A1 (en) 2015-12-24
KR102391806B1 (ko) 2022-04-27
EP3158448A2 (en) 2017-04-26
CN106462467A (zh) 2017-02-22
WO2015195724A2 (en) 2015-12-23
US9560037B2 (en) 2017-01-31
CN106462467B (zh) 2020-03-03
WO2015195724A3 (en) 2016-03-17

Similar Documents

Publication Publication Date Title
KR102391806B1 (ko) 상이한 분산 네트워크 사이에서 서비스를 소비하는 통합형 api 및 ui 제공 기법
US10827008B2 (en) Integrated user interface for consuming services across different distributed networks
EP3170071B1 (en) Self-extending cloud
US9489227B2 (en) Apparatus and method for virtual desktop service
KR102328193B1 (ko) 가상 데스크탑 서비스를 위한 장치 및 방법
US9086897B2 (en) Method and architecture for virtual desktop service
US10360410B2 (en) Providing containers access to container daemon in multi-tenant environment
US20180004585A1 (en) Application Programming Interface (API) Hub
US20130159392A1 (en) System and method for providing virtual device
US20170168813A1 (en) Resource Provider SDK
US11520609B2 (en) Template-based software discovery and management in virtual desktop infrastructure (VDI) environments
KR20150124001A (ko) 클라우드 기반 웹 호스팅 시스템
EP3387816B1 (en) Connecting and retrieving security tokens based on context
US10637924B2 (en) Cloud metadata discovery API
Irakoze Cloud-Based Mobile Applications
WO2021021282A1 (en) Desktop virtualization with linked power management to client devices
Patil A Survey on Opensource Private Cloud Platforms
Ayoola On-premise cloud computing: deploying a private cloud infrastructure with Ubuntu Server 10.04 Enterprise Cloud (UEC)

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