KR20100015398A - 확장가능하고 프로그래밍가능한 멀티-테넌트 서비스 아키텍처 - Google Patents
확장가능하고 프로그래밍가능한 멀티-테넌트 서비스 아키텍처 Download PDFInfo
- Publication number
- KR20100015398A KR20100015398A KR1020097020861A KR20097020861A KR20100015398A KR 20100015398 A KR20100015398 A KR 20100015398A KR 1020097020861 A KR1020097020861 A KR 1020097020861A KR 20097020861 A KR20097020861 A KR 20097020861A KR 20100015398 A KR20100015398 A KR 20100015398A
- Authority
- KR
- South Korea
- Prior art keywords
- service
- client
- organizational
- organization
- access
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/51—Discovery or management thereof, e.g. service location protocol [SLP] or web services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F15/00—Digital computers in general; Data processing equipment in general
- G06F15/16—Combinations 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
- G06F15/163—Interprocessor communication
- G06F15/173—Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/50—Network services
- H04L67/56—Provisioning of proxy services
- H04L67/563—Data redirection of data network streams
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1023—Server selection for load balancing based on a hash applied to IP addresses or costs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Computing Systems (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Information Transfer Between Computers (AREA)
- Stored Programmes (AREA)
- Telephonic Communication Services (AREA)
Abstract
확장가능 다중 테넌트 서비스로서의 소프트웨어 비즈니스 애플리케이션 플랫폼은 복수의 조직을 호스팅하기 위해 제공된다. 조직 서비스는 크기 조정 가능 그룹들 내에 어셈블된 전용 데이터 저장소를 갖는 가상 또는 실제 서버에 의해 제공된다. 크기 조정 가능 그룹들의 컴포넌트들 사이의 분산 상호작용은 확장성 및 신뢰성을 가능하게 할 수 있는 반면, 조직 서비스의 위치 변경은 서비스로의 클라이언트의 끊어짐 없는 계속적인 액세스를 위해 클라이언트(들)에 제공된다. 플러그 가능 제3자 인증 서비스 및 다른 조직으로부터 분리된 각 조직의 데이터 및 애플리케이션을 액세스하는 사용자 지정 가능하고 동적인 API가 또한 플랫폼 내로 통합될 수 있다.
테넌트, 서버 클러스터, 조직 서비스, 서비스 위치, 인증 모드, 확장성
Description
본 발명은 확장 가능하고 프로그램 가능한 다중 테넌트 서비스 아키텍처에 관한 것이다.
기업의 노력은 고객의 요구에 신속하게 응하고, 시장에 제품을 더 빨리 내놓으며, 전체 수익성을 증가시키고, 끊임없이 경쟁사보다 우수한 기량을 발휘하려고 힘쓴다. 이러한 일반적인 시장 도전과제에 대처하는 능력인 민첩성은 고정된 비즈니스 애플리케이션 기술 플랫폼에 의존한다. 비즈니스 민첩성을 달성하기 위해, 다각적인 지능형 소프트웨어 인프라가 요구되는데, 이것은 애플리케이션 통합을 위해 설계된다.
비즈니스 애플리케이션 플랫폼은 통상적으로 단일 테넌트(tenant)로 구축되는데, 이것은 비즈니스 애플리케이션 플랫폼이 단일 조직을 위해서만 애플리케이션을 호스팅할 수 있고, 모든 플랫폼 자원이 그 단일 조직에만 전용으로 사용된다는 것을 의미한다. 이러한 플랫폼은 통상적으로 고객에 의해 호스팅되고, 그들의 회사 건물 내에 설치되고 배치된다. 이러한 플랫폼을 배치하고 유지하는 비용은 고가일 수 있고, 투자 수익이 최적화되지 않을 수 있다.
한편, 다중 테넌트 시스템의 설계 및 관리는 그 자체의 도전과제를 갖는다. 실제 다중 테넌트 시스템에서, 각각의 클라이언트는 그들의 조직에 접속하는 스키마가 서로 다를 수 있다. 더욱이, 각각의 클라이언트는 다수의 조직에 접속할 수 있는데, 이것은 이러한 시스템의 관리를 보안, 트래픽 관리, 신뢰성 및 확장성 면에서 매우 복잡한 작업이 되게 할 수 있다.
이 요약은 아래의 상세한 설명에서 더욱 설명되는 개념들의 선택된 개념을 단순화된 형태로 소개하기 위해 제공된다. 이 요약은 청구된 주제의 중요한 특징이나 본질적인 특징을 식별하고자 하는 것도 아니고, 청구된 주제의 범위를 결정하는데 도움을 주고자 하는 것도 아니다.
실시예는 단일 플랫폼으로부터의 다수의 조직에 서비스를 제공하는 확장가능 다중 테넌트 서비스로서의 소프트웨어(software-as-a-service) 모델을 제공하는 것에 관한 것이다. 실시예에 따른 플랫폼은 플랫폼에 의해 호스팅된 조직 서비스의 위치 및 구성과 관련된 정보를 클라이언트에 제공하는 검색(discovery) 서비스를 포함할 수 있다. 그러면, 클라이언트는 크기 조정 가능 클러스터 내에서 호스팅될 수 있는 조직 서비스를 액세스할 수 있게 된다. 위치 변경은 요청된 서비스(들)로의 클라이언트의 중단되지 않은 액세스를 위해 클라이언트(들)에 제공될 수 있다.
이들 및 그외 다른 특징 및 장점은 다음의 상세한 설명을 읽어보고 관련된 도면을 검토해 보면 명백해질 것이다. 상기 일반적인 설명과 다음의 상세한 설명 둘 다는 단지 설명을 위한 것이고, 주장대로 실시양상을 제한하지 않는다는 것을 이해할 것이다.
도 1은 예시적인 단일 테넌트 서비스 모델을 도시한 도면.
도 2는 예시적인 다중 테넌트 서비스 모델을 도시한 도면.
도 3은 실시예에 따른 확장가능 다중 테넌트 서비스 아키텍처를 도시한 도면.
도 4는 다중 테넌트 서비스의 조직 서비스 부분의 예시적인 컴포넌트를 도시한 도면.
도 5는 동작 동안 다중 테넌트 서비스의 컴포넌트와 클라이언트 사이의 상호작용을 도시한 동작도.
도 6은 실시예가 구현될 수 있는 예시적인 네트워크화 환경을 도시한 도면.
도 7은 실시예가 구현될 수 있는 예시적인 컴퓨팅 운영 환경의 블록도.
도 8은 확장가능 다중 테넌트 서비스를 클라이언트에 제공하는 프로세스의 논리 흐름도.
위에서 간략하게 설명된 바와 같이, 확장가능 다중 테넌트 비즈니스 애플리케이션 플랫폼은 검색 서비스 및 크기 조정 가능 서버 클러스터를 이용하여 제공될 수 있다. 다음의 상세한 설명에서, 그 일부를 형성하고, 특정 실시예 또는 예를 예시적으로 도시한 첨부 도면을 참조한다. 이들 실시양상은 결합될 수 있고, 그외 다른 실시양상이 이용될 수 있으며, 본 발명의 정신 또는 범위를 벗어나지 않고서 구조적으로 변경될 수 있다. 그러므로, 다음의 상세한 설명은 제한적인 의미로 해석되어서는 안 되고, 본 발명의 범위는 첨부된 청구범위 및 그 등가물에 의해 정의된다.
실시예는 개인용 컴퓨터상의 운영 체제상에서 실행되는 애플리케이션 프로그램과 함께 실행되는 프로그램 모듈과 일반적으로 관련하여 설명되지만, 본 분야에 숙련된 기술자들은 실시양상이 또한 그외 다른 프로그램 모듈과 결합하여 구현될 수 있다는 것을 인식할 것이다.
일반적으로, 프로그램 모듈은 특정 작업을 수행하거나 특정 추상 데이터 유형을 구현하는 루틴, 프로그램, 컴포넌트, 데이터 구조 및 기타 구조 유형을 포함한다. 더구나, 본 분야에 숙련된 기술자들은 실시예가 핸드헬드 장치, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능 소비자 전자제품, 미니컴퓨터, 메인 프레임 컴퓨터 등을 포함하는 기타 컴퓨터 시스템 구성으로 실시될 수 있다는 것을 알 수 있을 것이다. 실시예는 또한, 통신 네트워크를 통해 연결되는 원격 처리 장치에 의해 작업이 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 장치의 둘 다에 위치할 수 있다.
실시예는 컴퓨터 프로세스(방법), 컴퓨팅 시스템, 또는 컴퓨터 프로그램 제품 또는 컴퓨터 판독가능 매체와 같은 제조품으로서 구현될 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 시스템에 의해 판독가능하고, 컴퓨터 프로세스를 실행하는 명령어들의 컴퓨터 프로그램을 부호화한 컴퓨터 저장 매체일 수 있다. 컴퓨터 프로 그램 제품은 또한 컴퓨터 시스템에 의해 판독가능하고, 컴퓨터 프로세스를 실행하는 명령어들의 컴퓨터 프로그램을 부호화한 반송파 상의 전달 신호일 수 있다.
도 1을 참조하면, 예시적인 단일 테넌트 서비스 모델의 도면(100)이 도시된다. 앞에서 설명된 바와 같이, 통상적인 비즈니스 애플리케이션 플랫폼을 위한 프로그램 가능 아키텍처는 단일 테넌트로 구축되고, 온 프레미스(on-premise) 호스팅된 애플리케이션에 적합하다.
이러한 통상적인 단일 테넌트화 플랫폼에서, 클라이언트(102)는 네트워크(104)를 통해 웹 서비스(106)에 의해 호스팅되는 단일 테넌트와 관련된 데이터 및 비즈니스 애플리케이션을 액세스한다. 네트워크(104)는 인터넷일 수 있지만, 일반적으로 인트라넷 유형의 네트워크 조합이다. 단일 테넌트가 서비스에 의해 호스팅되기 때문에, 인증, 보안 및 기타 예비 동작은 제3자 서비스를 사용하기보다는 오히려, 서비스 자체에 의해 실행될 수 있다. 중복 및 소정의 로드 균형 조정 동작이 다수의 서버 및/또는 서버 클러스터의 사용을 수반할 수 있지만, 서비스의 위치는 통상적으로 바뀌지 않는다.
그러므로, 단일 테넌트화 시스템에서의 동작은 비교적 단순하고 간단하다. 그러나, 오늘날의 비즈니스 세계에서, 다수의 조직은 효율적이고, 비용-효과적이며, 신뢰성 있는 서비스를 제공할 수 있는 엔티티에 그들의 비즈니스 애플리케이션 플랫폼을 아웃소싱하는 것을 더 좋아한다. 그들의 비즈니스를 능률화하고 그들의 자원을 효율적으로 이용하기 위해, 이러한 엔티티는 다수의 조직을 위한 서비스를 호스팅하는 것을 더 좋아할 수 있다. 더욱이, 몇몇 클라이언트는 다수의 조직과 관련될 수 있는데, 이 경우에 클라이언트가 단일 접촉점을 통해 모든 조직을 액세스하는 것이 이해될 수 있다.
도 2는 예시적인 다중 테넌트 서비스 모델(200)을 도시한 것이다. 다중 테넌트 서비스에서, 비즈니스 애플리케이션 플랫폼은 다수의 조직을 위한 서비스를 호스팅한다. 임의의 수의 클라이언트(202)는 하나 이상의 조직과 관련된 데이터 및 애플리케이션에 액세스하기 위해 네트워크(204)를 통해 웹 서비스(206)에 방문할 수 있는데, 네트워크(204)는 이 경우에 인터넷, 또는 다양한 네트워크들의 조합일 가능성이 크다.
웹 서비스(206)는 관리 서비스를 실행하고, 클라이언트를 조직 특정 웹 서비스(208)로 안내할 수 있다. 게다가, 웹 서비스(206)는 제3자 서비스를 선택적으로 사용하여 인증, 보안 확인 및 이와 유사한 예비 서비스를 실행할 수 있다. 조직 특정 웹 서비스(208)는 개별 조직의 동작이 로드 균형 조정 및 그외 다른 이유로 이동될 수 있는 크기 조정 가능 클러스터를 포함할 수 있다. 웹 서비스(206)는 이러한 변화를 모니터하고, 이 변화가 클라이언트에 투명하게 반영되도록, 변화에 따라 호출 클라이언트의 방향을 변경할 수 있다.
클라이언트는 씬(thin) 또는 씨크(thick) 클라이언트일 수 있는데, 씬 클라이언트의 경우에 제3자 애플리케이션에 의해 추가 서비스가 선택적으로 제공된다. 상이한 클라이언트는 별개의 스키마를 사용하여 상이한 서비스를 액세스할 수 있다. 몇몇 서비스는 또한 스키마를 공유할 수 있다.
도 2의 아키텍처는(이 점에 관해서는 도 1의 아키텍처도 또한) 서비스로서의 소프트웨어 플랫폼의 개요를 나타내기 위한 것이다. 간략하게 하기 위해 필수 컴포넌트만이 도시된다. 실제로, 이러한 시스템은 특정 작업 및 통신 방법을 갖는 더 많은 컴포넌트를 포함한다. 실시예에 따른 이러한 플랫폼의 더욱 상세한 설명은 아래에 제공된다.
도 3은 실시예에 따른 확장가능 다중 테넌트 서비스 아키텍처(300)를 도시한 것이다. 실시예에 따른 서비스로서의 소프트웨어 비즈니스 애플리케이션 플랫폼(320)은 상이한 사이트에서 구현될 수 있고, 각 사이트에서 다수 조직의 데이터 및 애플리케이션을 호스팅할 수 있다. 플랫폼(320)의 각 사이트 설치는 크기 조정 능력이 뛰어나서, 서비스의 높은 성능 및 사용 가능성을 가능하게 할 수 있다. 사이트들은 인터넷 또는 인트라넷 상에서 호스팅될 수 있다.
몇몇 실시예에 따르면, 서비스는 각 조직의 사용자(클라이언트(302))를 인증하는 선택적 제3 신뢰 기관 인증 서비스(예를 들어, 티켓 서비스(312))를 사용할 수 있다. 독립적 플러그-인 인증 서비스는 또한 인터넷 또는 인트라넷 모드에 사용될 수 있다. 그외 다른 실시예에 따르면, 각 조직의 데이터 및 동작으로의 액세스는 보안 임무와 권한 및 조직 멤버십에 기초하여 제한될 수 있다.
몇몇 구현에 따르면, 각 조직의 데이터 및 애플리케이션은 다른 조직으로부터 분리될 수 있고, 전용 API들의 집합을 통해 액세스될 수 있다. API는 개발자가 인터넷을 통해 원격으로 비즈니스 프로세스 및 로직을 정의/호출/변경할 수 있게 할 뿐만 아니라 비즈니스 데이터를 액세스하고 변경할 수 있게 할 수 있다. API는 자동으로 생성되고 동적일 수 있으므로, 새로운 조직이 플랫폼에 추가되거나 플랫 폼에서 제거될 때마다, API는 자동으로 조정될 수 있다. API는 또한 사용자 지정이 가능하여, 사용자 지정 개체 및 동작이 그외 다른 조직과 분리된 각 조직에 추가될 수 있게 할 수 있다.
검색 서비스(322)는 인증 및 조직 검색 서비스를 제공하여, 클라이언트(302)가 플랫폼(320)에 서명하여 들어갈 수 있게 하고, 자신이 멤버로 있는 모든 조직을 검색할 수 있게 한다. 검색 서비스(322)는 직접 액세스를 위한 플랫폼 내의 위치를 포함하여 각 조직에 대한 상세한 구성 데이터, 및 기타 구성 정보를 제공할 수 있다. 구성 정보는 구성 저장소(324)에 저장되고, 구성 저장소(324)로부터 검색될 수 있다. 한 사용자(클라이언트)는 한 사이트에서 호스팅된 하나 이상의 조직의 멤버일 수 있다. 검색 서비스(322)는 다수의 인증 모드에서 동작할 수 있다. 각 인증 모드는 그 자체의 전용 종점을 가질 수 있어서, 어떤 인증이 사용될 것인지 클라이언트가 지정할 수 있게 한다.
다른 실시예에 따르면, 각각의 API 종점은 다수의 조직에 서비스를 제공할 수 있다. API에 대한 각 호출은 도달하고자 하는 타깃 조직을 식별할 수 있다. 검색 서비스(322)는 조직 구성 데이터를 검색하기 위해 구성 저장소(324)를 사용할 수 있다. 관리자는 구성 저장소(324)를 액세스하고 유지할 수 있게 될 수 있다.
조직 데이터 및 동작은 플랫폼(320)의 서비스 클러스터(330) 내에서 사용 가능한 다수의 크기 조정 가능 그룹(서비스 위치 1, 2 등등) 내에 배치될 수 있다. 조직의 위치는 로드 균형 조정을 위해 크기조정 가능 그룹들 사이에서 변경될 수 있고 이동할 수 있다. 확장가능 다중 테넌트 서비스 모델은 이동 후에도 타깃 조 직의 위치를 찾아낼 수 있다는 점에서 동적이다. 각 서비스 위치(332, 334...)는 서비스를 제공하는 하나 이상의 가상 또는 실제 서버를 포함할 수 있다.
도 4는 다중 테넌트 서비스의 조직 서비스 부분의 예시적인 컴포넌트를 도시한 것이다. 위에서 설명된 바와 같이, 크기 조정 가능 서버 클러스터(430)는 확장가능 다중 테넌트 서비스로서의 소프트웨어 플랫폼의 핵심이다. 몇몇 실시예에 따르면, 서버 클러스터(430)는 가상 또는 실제 웹 서버 그룹(431)을 포함할 수 있는데, 이들 웹 서버(431)는 클라이언트 요청을 수신하고, 동기 요청을 처리하며, 조직 데이터베이스(433)로의 액세스를 관리한다. 웹 서버(431) 중의 특정 서버는 미리 정의된 알고리즘(예를 들어, 로드 균형 조정 알고리즘) 등에 따라, 무작위 선택에 의해 클라이언트에 할당될 수 있다. 조직 데이터베이스(433)는 플랫폼에 의해 제공된 각 조직(또는 테넌트)에 대한 실제 또는 가상 데이터 저장소를 포함할 수 있다. 예를 들어, 금융 서비스 시스템은 계정 정보, 계정 액세스 정보 등을 저장하는 참여 금융 조직(은행 등)의 각각에 대한 분리된 데이터베이스를 포함할 수 있다. 개별 데이터베이스, 그 구성, 임의의 중복성 등에 대한 정보는 도 3의 구성 저장소(324)에 저장될 수 있다.
그외 다른 실시예에 따르면, 로케이터(locator) 서비스(도시 생략)는 웹 서버에 의해 어떤 데이터베이스(들)이 사용될 수 있는 지에 대한 정보를 제공할 수 있다. 웹 서버(433)는 또한, 조직 데이터베이스(433)와 함께 비동기 서버(435)에 의해 처리되도록 비동기 서비스 요청을 큐 내에 배치할 수 있다. 클라이언트 요청이 큐에 들어올 때, 비동기 서버(435) 중 하나는 요청을 처리하기 위해 접촉될 수 있다. 비동기 서버와 개별 조직 데이터베이스 사이의 관계는 분산된 관계일 수 있는데, 각 서버는 어느 하나의 데이터베이스와 함께 작업할 수 있다. 비동기 서버와 조직 데이터베이스 사이의 이러한 분산 상호작용은 한 서버가 고장날 때 다른 사용 가능한 서버에 데이터베이스가 접속할 수 있게 함으로써 비동기 처리 기계에서의 고장으로부터 자동으로 복구하는 능력을 제공할 수 있다.
동기와 비동기 작업 및 서버와 데이터베이스 사이의 상호작용의 독립적인 분산으로 인해, 서버 클러스터(430)의 임의의 부분은 크기 조정이 가능하다. 그러므로, 서버(및/또는 데이터베이스)의 다수의 인스턴스는 증가한 작업 로드, 추가 조직, 데이터 용량 등을 처리하기 위해 제공될 수 있다.
도 5는 동작 동안 다중 테넌트 서비스의 컴포넌트와 클라이언트 사이의 상호작용을 나타낸 동작도이다. 동작도(500)에서의 상호작용은 특정 단계에 따른 예시적인 동작을 나타낸다. 실시예에 따른 다중 테넌트 플랫폼에서의 상호작용은 상호작용의 상이한 순서뿐만 아니라 더 적거나 많은 수의 단계를 갖는 상이한 교환을 포함할 수 있다.
예시적인 동작에 따르면, 클라이언트(504)는 검색 서비스(506)로부터 사이트 정책을 요청함으로써 호출을 시작한다. 검색 서비스(506)는 (예를 들어, 인증을 위해) 선택적 티켓 서비스(502)를 식별할 수 있는 사이트 정책으로 응답한다. 선택적 제3자 티켓 서비스(502)가 사용되는 경우, 클라이언트(504)는 티켓 서비스(502)에 티켓 요청을 보내고, 요청한 조직(테넌트)으로의 액세스를 위해 클라이언트의 자격증명이 확인되는 경우에 서비스 티켓을 받을 수 있다.
그 다음, 클라이언트(504)는 티켓 서비스(502)로부터의 서비스 티켓과 함께 사이트 티켓 요청을 검색 서비스(506)에 제출한다. 검색 서비스(506)는 사이트 티켓으로 응답한다. 그 다음, 클라이언트(504)는 요청 조직의 목록을 검색 서비스(506)에 제출할 수 있고, 검색 서비스(506)는 요청 조직의 위치 및 기타 구성 정보(스키마 등)의 목록으로 응답한다. 그 후, 클라이언트(504)는 검색 서비스(506)에 의해 제공된 위치 및 구성 정보를 사용하여 조직 서비스(508)를 통해 타깃 조직을 액세스할 수 있다. 앞에서 나타낸 바와 같이, 조직 서비스의 위치는 크기 조정, 로드 균형 조정 등으로 인해 변경될 수 있다. 검색 서비스(506)는 조직 서비스로의 클라이언트의 액세스가 끊어짐 없이 계속될 수 있도록, 변경된 위치 정보로 클라이언트를 업데이트할 수 있다.
도 5를 통해 설명된 도 3의 크기 조정 가능 다중 테넌트 시스템 및 동작은 예시 목적을 위한 좋은 예이다. 확장가능 다중 테넌트 서비스를 위한 시스템은 여기에서 설명된 원리를 사용하여 더 많거나 적은 수의 컴포넌트 및 동작으로 구현될 수 있다.
도 6은 실시예가 구현될 수 있는 예시적인 네트워크화 환경이다. 확장가능 다중 테넌트 서비스 시스템은 다수의 실제 및 가상 클라이언트 및 서버를 통해 분산 방식으로 구현될 수 있다. 이들은 또한, 하나 이상의 네트워크(예를 들어, 네트워크(들)(610))를 통해 통신하는 다수의 노드를 이용하여 비클러스터 시스템 또는 클러스터 시스템에서 구현될 수 있다.
이러한 시스템은 서버, 클라이언트, 인터넷 서비스 제공자 및 통신 매체의 임의의 토폴로지를 포함할 수 있다. 또한, 시스템은 정적 또는 동적 토폴로지를 가질 수 있다. "클라이언트"라는 용어는 클라이언트 애플리케이션 또는 클라이언트 장치를 칭할 수 있다. 확장가능 다중 테넌트 서비스를 구현하는 네트워크화 시스템이 더 많은 컴포넌트를 수반할 수 있지만, 관련된 컴포넌트들이 이 도면과 함께 설명된다.
액세스 요청은 네트워크화된 다중 테넌트 시스템 내의 개별 클라이언트 장치(602-606) 또는 애플리케이션 서버(608)를 사용하는 테넌트로부터 발생할 수 있다. 이러한 시스템은 또한 하나 이상의 서버(예를 들어, 서버(612, 614))에서 구현될 수 있고, 클라이언트 장치(또는 애플리케이션)에 의해 액세스될 수 있다. 웹 서버(612)와 같은 하나 이상의 웹 서버(실제 또는 가상)는 요청을 받고, 그 요청을 적절한 자원으로 보낼 수 있다. 자원은 동기 및 비동기 서버, 조직 데이터베이스 및 기타 컴포넌트를 갖는 크기 조정 가능 서버 클러스터를 포함할 수 있다.
조직 데이터베이스는 데이터 저장소(618)와 같은 단일 데이터 저장소 내에 통합되거나, 다수의 데이터 저장소에 걸쳐 분산될 수 있다. 전용 데이터베이스 서버(예를 들어, 데이터베이스 서버(616))는 하나 이상의 이러한 데이터 저장소 내의 데이터 검색 및 저장을 조정하기 위해 사용될 수 있다.
네트워크(들)(610)는 기업 네트워크와 같은 안전한 네트워크, 무선 개방형 네트워크와 같은 비보안 네트워크, 또는 인터넷을 포함할 수 있다. 네트워크(들)(610)는 여기에서 설명된 노드들 사이에 통신을 제공한다. 예시적으로(제한적이지 않음), 네트워크(들)(610)는 유선 네트워크 또는 직접 배선 접속과 같은 유선 매체, 및 음향, RF, 적외선 및 기타 무선 매체와 같은 무선 매체를 포함할 수 있다.
컴퓨팅 장치, 애플리케이션, 데이터 소스, 데이터 분산 시스템의 다수의 기타 구성은 확장가능 다중 테넌트 서비스 플랫폼을 구현하기 위해 이용될 수 있다. 더욱이, 도 6에서 설명된 네트워크화 환경은 단지 예시를 위한 것이다. 실시예는 예시적인 애플리케이션, 모듈 또는 프로세스에 제한되지 않는다.
도 7 및 관련 설명은 실시예가 구현될 수 있는 적합한 컴퓨팅 환경의 간략하고 일반적인 설명을 제공하고자 하는 것이다. 도 7을 참조하면, 컴퓨팅 장치(700)와 같은 예시적인 컴퓨팅 운영 환경의 블록도가 도시된다. 기본 구성에서, 컴퓨팅 장치(700)는 확장가능 다중 테넌트 서비스와 관련된 관리 서비스를 제공하는 서버일 수 있고, 통상적으로 적어도 하나의 처리 장치(702) 및 시스템 메모리(704)를 포함한다. 컴퓨팅 장치(700)는 또한 프로그램 실행시에 협동하는 다수의 처리 장치를 포함할 수 있다. 컴퓨팅 장치의 정확한 구성 및 유형에 의존하여, 시스템 메모리(704)는 (RAM과 같은) 휘발성, (ROM, 플래시 메모리 등과 같은) 비휘발성, 또는 이 둘의 소정의 조합일 수 있다. 시스템 메모리(704)는 미국 워싱턴 레드몬드에 위치한 마이크로소프트사 제품의 WINDOWS® 운영 체제와 같은, 네트워크화 퍼스널 컴퓨터의 동작을 제어하기 적합한 운영 체제(705)를 통상적으로 포함한다. 시스템 메모리(704)는 프로그램 모듈(706), 웹 서비스(722), 웹 서비스(722) 내의 검색 서비스(724), 및 선택적 로케이터 서비스(726)와 같은 하나 이상의 소프트웨어 애플리케이션을 또한 포함할 수 있다.
웹 서비스(722)는 컴퓨팅 장치(700)와 관련된 클라이언트 애플리케이션에 데이터 및 처리 서비스를 제공하는 호스팅된 다중 테넌트 서비스 플랫폼의 분리된 애플리케이션 또는 통합된 모듈일 수 있다. 검색 서비스(724)는 개별 조직(테넌트) 서비스와 관련된 위치 및 구성 정보를, 이 서비스로의 액세스를 요청하는 클라이언트에 제공할 수 있다. 선택적 로케이터 서비스(726)는 서비스 목적의 판정, 및 앞에서 설명된 바와 같이, 비동기 처리 서버뿐만 아니라 웹 서버를 위해 어떤 데이터베이스를 사용할 것인지의 판정과 관련된 서비스를 제공할 수 있다. 이 기본 구성은 점선(708) 내의 컴포넌트들에 의해 도 7에 도시된다.
컴퓨팅 장치(700)는 추가 특징 또는 기능을 가질 수 있다. 예를 들어, 컴퓨팅 장치(700)는 예를 들어, 자기 디스크, 광 디스크 또는 테이프와 같은 추가 데이터 저장 장치(이동식 및/또는 비이동식)를 또한 포함할 수 있다. 이러한 추가 저장 장치는 이동식 저장장치(709) 및 비이동식 저장장치(710)로 도 7에 도시된다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보를 저장하기 위한 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성, 이동식 및 비이동식 매체를 포함할 수 있다. 시스템 메모리(704), 이동식 저장장치(709) 및 비이동식 저장장치(710)는 모두 컴퓨터 저장 매체의 예이다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD(digital versatile disk) 또는 기타 광 저장장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 기타 자기 저장 장치, 또는 원하는 정보를 저장하기 위해 사용될 수 있고 컴퓨팅 장치(700)에 의해 액세스될 수 있는 임의 의 기타 매체를 포함하는데, 이에 제한되는 것은 아니다. 임의의 이러한 컴퓨터 저장 매체는 장치(700)의 일부일 수 있다. 컴퓨팅 장치(700)는 또한 키보드, 마우스, 펜, 음성 입력 장치, 터치 입력 장치 등과 같은 입력 장치(들)(712)를 가질 수 있다. 디스플레이, 스피커, 프린터 등과 같은 출력 장치(들)(714)가 또한 포함될 수 있다. 이들 장치는 본 분야에 잘 알려져 있으므로, 여기에서 더 이상 설명될 필요가 없다.
컴퓨팅 장치(700)는 이를테면, 분산 컴퓨팅 환경에서의 무선 네트워크, 예를 들어 인트라넷 또는 인터넷을 통해, 컴퓨팅 장치(700)가 기타 컴퓨팅 장치(718)와 통신할 수 있게 하는 통신 접속(716)을 또한 포함할 수 있다. 기타 컴퓨팅 장치(718)는 위치 서비스 또는 그외 다른 서비스와 관련된 애플리케이션을 실행하는 서버(들)를 포함할 수 있다. 통신 접속(716)은 통신 매체의 한 예이다. 통신 매체는 통상적으로 반송파 또는 기타 전송 메커니즘과 같은 피변조 데이터 신호 내의 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터에 의해 구현될 수 있고, 모든 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는, 신호 내에 정보를 인코딩하도록 그 신호의 특성들 중 하나 이상을 설정 또는 변경시킨 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 배선 접속과 같은 유선 매체, 그리고 음향, RF, 적외선 및 기타 무선 매체와 같은 무선 매체를 포함하는데, 이에 제한되는 것은 아니다. 여기에서 설명된 컴퓨터 판독가능 매체라는 용어는 저장 매체 및 통신 매체 둘 다를 포함한다.
청구된 주제는 또한 방법을 포함한다. 이들 방법은 이 명세서에서 설명된 구조를 포함하여 임의 수의 방식으로 구현될 수 있다. 한가지 이러한 방식은 이 명세서에서 설명된 유형의 장치의 기계 동작에 의한 것이다.
다른 선택적 방식은 한 명 이상의 운용자가 어떤 동작을 실행하는 것과 관련하여 방법의 하나 이상의 개별 동작이 실행되는 것이다. 이들 운용자는 서로 같이 있어야 하는 것이 아니라, 각 운용자가 프로그램의 일부를 실행하는 기계를 지니고 있으면 된다.
도 8은 확장가능 다중 테넌트 서비스를 클라이언트에 제공하는 프로세스(800)의 논리 흐름도를 도시한 것이다. 프로세스(800)는 서비스로서의 소프트웨어 비즈니스 애플리케이션 플랫폼의 일부로서 구현될 수 있다.
프로세스(800)는 하나 이상의 조직을 액세스하는 요청이 클라이언트 자격증명과 함께 클라이언트로부터 수신되는 동작(802)에서 시작된다. 앞에서 설명된 바와 같이, 다중 테넌트 호스팅 서비스의 클라이언트는 통상적으로 조직 또는 테넌트와 관련되는데, 이들 각각은 시스템 내에 전용 데이터베이스를 포함하는 서비스를 갖는다. 요청을 수신하기 이전에, 클라이언트는 선택적으로 제3자 인증 서비스를 사용할 수 있다. 처리는 동작(802)에서 판정 동작(804)으로 진행한다.
판정 동작(804)에서, 클라이언트가 인증받았는지 판정이 이루어진다. 판정은 또한 요청된 조직(들)이 다중 테넌트 서비스 플랫폼에 의해 호스팅되는 지의 확인을 포함할 수 있다. 클라이언트가 인증받은 경우, 프로세스는 동작(806)으로 진행한다. 그렇지 않으면, 처리는 다른 동작을 위한 호출 프로세스로 이동한다.
동작(806)에서, 요청된 조직 서비스의 위치가 판정된다. 처리는 동작(806) 에서 동작(808)으로 이동하여, 조직 서비스의 위치가 액세스를 위해 클라이언트에 제공된다. 추가 구성 정보가 또한 위치 정보와 함께 제공될 수 있다. 동작(808) 후, 처리는 판정 동작(810)으로 이동한다.
판정 동작(810)에서, 조직 서비스의 위치가 크기 조정, 로드 균형 조정 등으로 인해 변경되는지 판정이 이루어진다. 위치 변경이 판정되면, 처리는 동작(812)으로 이동한다. 그렇지 않으면, 처리는 다른 동작을 위한 호출 프로세스로 이동한다.
동작(812)에서, 조직 서비스로의 클라이언트의 액세스가 끊어짐 없이 계속될 수 있도록 조직 서비스의 위치 변경이 클라이언트에 제공된다. 동작(812) 후, 처리는 다른 동작을 위한 호출 프로세스로 이동한다.
프로세스(800)에 포함된 동작은 예시를 위한 것이다. 확장가능 다중 테넌트 서비스를 클라이언트에 제공하는 것은 여기에서 설명된 원리를 사용하여 동작의 상이한 순서뿐만 아니라, 더 적거나 더 많은 수의 단계를 갖는 유사한 프로세스에 의해 구현될 수 있다.
상기 명세서, 예 및 데이터는 실시예의 구성의 제조 및 사용에 관한 완전한 설명을 제공한다. 주제가 구조적 특징 및/또는 방법적 동작에 특정된 언어로 설명되었지만, 첨부된 청구범위에 정의된 주제는 반드시 상기 설명된 특정 특징 또는 동작에 제한되는 것은 아니라는 것을 이해할 것이다. 오히려, 상기 설명된 특정 특징 및 동작은 청구범위 및 실시예를 구현하는 예시적인 형태로서 개시된다.
Claims (20)
- 확장가능 다중 테넌트(multi-tenant) 서비스 플랫폼을 제공하기 위해 컴퓨팅 장치에서 적어도 부분적으로 실행되는 방법으로서,클라이언트로부터 액세스에 대한 요청을 수신하는 단계(802) - 각 클라이언트는 상기 플랫폼에 의해 호스팅된 적어도 하나의 조직 서비스와 관련됨 - ;상기 조직 서비스의 위치를 판정하는 단계(806) - 상기 조직 서비스들은 상기 플랫폼 내의 크기 조정 가능(scalable) 그룹들 내에서 조직됨 - ;상기 조직 서비스에 액세스할 수 있게 하기 위해 상기 조직 서비스의 위치를 상기 클라이언트에 제공하는 단계(808); 및상기 조직 서비스의 위치가 상기 액세스 동안에 변경되면(810), 상기 조직 서비스로의 상기 클라이언트의 계속된 액세스를 위해 상기 변경된 위치를 상기 클라이언트에 제공하는 단계(812)를 포함하는 확장가능 다중 테넌트 서비스 플랫폼 제공 방법.
- 제1항에 있어서,통합된 인증 서비스 및 제3자 인증 서비스 중 하나를 사용하여 상기 조직 서비스의 위치를 제공하기 전에 상기 클라이언트를 인증하는 단계(804)를 더 포함하는 확장가능 다중 테넌트 서비스 플랫폼 제공 방법.
- 제2항에 있어서,상기 요청된 조직 서비스(208)로의 상기 클라이언트(202)의 액세스는 클라이언트 접속의 보안 상태, 클라이언트 자격증명(credential) 및 조직 멤버십의 집합 중에서 적어도 하나에 기초하여 제한되는 확장가능 다중 테넌트 서비스 플랫폼 제공 방법.
- 제2항에 있어서,복수의 인증 모드들을 제공하는 단계를 더 포함하고, 각 인증 모드는 상기 클라이언트(202)가 원하는 인증 모드를 지정할 수 있게 되도록 전용 종점(dedicated endpoint)을 포함하는 확장가능 다중 테넌트 서비스 플랫폼 제공 방법.
- 제1항에 있어서,상기 요청된 조직 서비스(208)로의 상기 클라이언트의 액세스와 관련된 구성 정보를 상기 클라이언트(202)에 제공하는 단계를 더 포함하는 확장가능 다중 테넌트 서비스 플랫폼 제공 방법.
- 제1항에 있어서,상기 크기 조정 가능 그룹들(430)은 상기 플랫폼에 의해 호스팅된 조직 서비스들과 관련된 애플리케이션들의 수직 및 수평 확장성(extensibility)을 가능하게 하도록 구성되는 확장가능 다중 테넌트 서비스 플랫폼 제공 방법.
- 제1항에 있어서, 상기 플랫폼은 상기 플랫폼에 의해 호스팅된 조직 서비스들(208)에 대한 메타데이터 액세스를 제공하도록 구성되어 있는 확장가능 다중 테넌트 서비스 플랫폼 제공 방법.
- 확장가능 다중 테넌트 서비스들을 호스팅하는 시스템으로서,검색(discovery) 서비스(506) - 상기 검색 서비스는상기 시스템에 의해 호스팅된 적어도 하나의 조직 서비스와 관련된 클라이언트로부터 액세스에 대한 요청을 수신하고(802);상기 요청된 조직 서비스의 위치를 판정하며(806);상기 조직 서비스에 액세스할 수 있게 하기 위해 상기 조직 서비스의 위치를 상기 클라이언트에 제공하도록(808) 구성됨 - ;상기 조직 서비스(508)를 제공하도록 구성된 복수의 크기 조정 가능 서비스 클러스터들; 및상기 조직 서비스로의 상기 클라이언트의 액세스 동안의 상기 조직 서비스의 위치 변경이 상기 조직 서비스로의 상기 클라이언트의 계속된 액세스를 위해 상기 클라이언트에 제공되도록, 상기 복수의 서비스 클러스터들과 관련된 구성 및 위치 정보를 저장하게 구성되어 있는 상기 검색 서비스와 관련된 구성 저장소를 포함하는 호스팅 시스템.
- 제8항에 있어서,상기 검색 서비스(506) 및 상기 서비스 클러스터들은 웹 서비스들로서 제공되는 호스팅 시스템.
- 제8항에 있어서,상기 검색 서비스(506)는 플러그 가능 인증 서비스를 통해 복수의 인증 모드들을 이용하여 상기 클라이언트를 인증하도록(804) 더 구성되어 있는 호스팅 시스템.
- 제8항에 있어서,각 조직 서비스와 관련된 데이터 및 애플리케이션들이 그외 다른 조직 서비스들(508)로부터 분리되도록, 상기 조직 서비스들로의 액세스를 제공하기 위해 구성된 복수의 전용 애플리케이션 프로그래밍 인터페이스(API)들을 더 포함하는 호스팅 시스템.
- 제11항에 있어서,상기 API들은, 사용권한을 가진 사용자가 사용자 지정 개체 및 사용자 지정 동작 중의 적어도 하나를, 선택된 조직 서비스(508)에 추가할 수 있게 되도록 사용자 지정 가능한(customizable) 호스팅 시스템.
- 제11항에 있어서,상기 API들은 사용권한을 가진 사용자들로 하여금,조직 서비스(508)와 관련된 데이터를 변경하는 동작;상기 조직 서비스와 관련된 프로세스 및 로직 중 하나를 정의하는 동작;상기 조직 서비스와 관련된 프로세스 및 로직 중 하나를 호출하는 동작; 및상기 조직 서비스와 관련된 프로세스 및 로직 중 하나를 변경하는 동작을 포함하는 동작들을 수행할 수 있게 하도록 구성되는 호스팅 시스템.
- 제11항에 있어서,상기 API들이 상기 시스템 내에서의 조직 서비스(508)의 추가 및 제거 중 하나에 적응되도록 상기 API들이 동적으로 생성되는 호스팅 시스템.
- 제11항에 있어서,상기 서비스 클러스터들은 분산 방식으로 상호작용하도록 구성된 복수의 웹 서버들(431), 조직 데이터베이스들(433) 및 비동기 처리 서버들(435)을 포함하는 호스팅 시스템.
- 제15항에 있어서,상기 복수의 웹 서버들(431), 조직 데이터베이스들(433) 및 비동기 처리 서 버들(435) 중 적어도 일부는 가상(virtual)인 호스팅 시스템.
- 제15항에 있어서,상기 복수의 웹 서버들(431), 조직 데이터베이스들(433) 및 비동기 처리 서버들(435)의 다수의 인스턴스들이 크기 조정 가능성(scalability), 로드 발랜싱(load balancing) 및 고장 복구가 가능하도록 제공되는 호스팅 시스템.
- 확장가능 다중 테넌트 서비스 플랫폼을 제공하는 명령어들이 저장되어 있는 컴퓨터 판독가능 저장 매체로서,상기 명령어들은,상기 플랫폼에 의해 호스팅된 적어도 하나의 조직 서비스와 관련된 클라이언트로부터 액세스에 대한 요청을 수신하고(802) - 상기 요청은 상기 클라이언트의 자격증명을 포함함 - ;상기 클라이언트의 자격증명에 기초하여 상기 클라이언트에 사용가능한 조직 서비스들의 목록을 판정하고;상기 조직 서비스들의 목록을 상기 클라이언트에 제공하고;상기 목록으로부터 적어도 하나의 조직 서비스를 액세스하기 위한 요청을 수신하고;상기 적어도 하나의 요청된 조직 서비스의 위치를 판정하고(806) - 상기 조직 서비스들은 상기 플랫폼에 의해 호스팅된 크기 조정 가능 서비스 클러스터들에 의해 제공됨 - ;상기 조직 서비스에 액세스할 수 있게 하기 위해 상기 적어도 하나의 조직 서비스의 위치를 상기 클라이언트에 제공하고(808);상기 조직 서비스의 위치가 상기 액세스 동안에 변경되면(810), 상기 조직 서비스로의 상기 클라이언트의 계속된 액세스를 위해 상기 변경된 위치를 상기 클라이언트에 제공하는(812)것을 포함하는 컴퓨터 판독가능 저장 매체.
- 제18항에 있어서,상기 명령어들은 상기 클라이언트에 의해 요청된 각 조직 서비스마다 적어도 하나의 인증 모드를 사용하여 상기 클라이언트를 인증하는 것(804)을 더 포함하는 컴퓨터 판독가능 저장 매체.
- 제18항에 있어서,상기 명령어들은 상기 API들이 상기 플랫폼 내에서의 조직 서비스의 추가 및 제거 중 하나에 적응되도록 관리자에 의해 각 조직 서비스(508)와 관련된 데이터 및 프로세스 중의 적어도 하나의 변경을 할 수 있게 하기 위해 상기 플랫폼에 의해 호스팅된 각 조직 서비스에 대한 전용 API들의 집합을 동적으로 제공하는 것을 더 포함하는 컴퓨터 판독가능 저장 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/787,134 | 2007-04-13 | ||
US11/787,134 US8019812B2 (en) | 2007-04-13 | 2007-04-13 | Extensible and programmable multi-tenant service architecture |
PCT/US2008/059061 WO2008127871A1 (en) | 2007-04-13 | 2008-04-01 | Extensible and programmable multi-tenant service architecture |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20100015398A true KR20100015398A (ko) | 2010-02-12 |
KR101279740B1 KR101279740B1 (ko) | 2013-06-28 |
Family
ID=39854989
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020097020861A KR101279740B1 (ko) | 2007-04-13 | 2008-04-01 | 확장가능하고 프로그래밍가능한 멀티-테넌트 서비스 아키텍처 |
Country Status (10)
Country | Link |
---|---|
US (4) | US8019812B2 (ko) |
EP (1) | EP2156308B1 (ko) |
JP (2) | JP2010526358A (ko) |
KR (1) | KR101279740B1 (ko) |
CN (1) | CN101657804B (ko) |
BR (1) | BRPI0809083B1 (ko) |
ES (1) | ES2709436T3 (ko) |
RU (1) | RU2463652C2 (ko) |
TW (1) | TWI473029B (ko) |
WO (1) | WO2008127871A1 (ko) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170030517A (ko) * | 2014-07-07 | 2017-03-17 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 서버 플랫폼 상에서 원자적 태스크의 개시를 제어하는 기법 |
US9880889B2 (en) | 2010-04-06 | 2018-01-30 | Microsoft Technology Licensing, Llc | Virtual application extension points |
KR20190133404A (ko) | 2018-05-23 | 2019-12-03 | 삼성에스디에스 주식회사 | 마이크로 서비스 아키텍처 기반의 서비스 시스템 및 상기 시스템에서의 멀티 테넌트 설정 관리 방법 |
TWI682453B (zh) * | 2015-02-03 | 2020-01-11 | 日商東京威力科創股份有限公司 | 蝕刻方法 |
Families Citing this family (79)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070050471A1 (en) * | 2005-08-31 | 2007-03-01 | Microsoft Corporation | Portable Remoting Component With A Scaleable Feature Set |
US8019812B2 (en) * | 2007-04-13 | 2011-09-13 | Microsoft Corporation | Extensible and programmable multi-tenant service architecture |
US8966038B2 (en) * | 2008-08-28 | 2015-02-24 | Nec Corporation | Virtual server system and physical server selection method |
US8255490B1 (en) * | 2008-10-22 | 2012-08-28 | Amazon Technologies, Inc. | Dynamic service-oriented architecture using customization code |
US20100262632A1 (en) * | 2009-04-14 | 2010-10-14 | Microsoft Corporation | Data transfer from on-line to on-premise deployment |
US20100286992A1 (en) * | 2009-05-08 | 2010-11-11 | Microsoft Corporation | Integration of Third-Party Business Applications with Hosted Multi-Tenant Business Software System |
US20100318609A1 (en) * | 2009-06-15 | 2010-12-16 | Microsoft Corporation | Bridging enterprise networks into cloud |
US20100325139A1 (en) * | 2009-06-18 | 2010-12-23 | Microsoft Corporation | Service Provider Management Console |
US8561055B2 (en) * | 2009-10-15 | 2013-10-15 | Blackberry Limited | Method, system and apparatus for management of push content |
US8364810B2 (en) * | 2009-11-06 | 2013-01-29 | Research In Motion Limited | Method, system and apparatus for management of push content when changing computing devices |
US8505034B2 (en) * | 2009-12-17 | 2013-08-06 | Amazon Technologies, Inc. | Automated service interface optimization |
US8645550B2 (en) | 2010-02-18 | 2014-02-04 | Microsoft Corporation | Database virtualization |
EP2365677B1 (en) * | 2010-03-03 | 2020-04-08 | BlackBerry Limited | Method, system and apparatus for configuring a device for interaction with a server |
EP2363998B1 (en) * | 2010-03-03 | 2015-01-07 | BlackBerry Limited | Method, system and apparatus for managing push data transfers |
US8370905B2 (en) | 2010-05-11 | 2013-02-05 | Microsoft Corporation | Domain access system |
US20110302265A1 (en) * | 2010-06-03 | 2011-12-08 | Microsoft Corporation | Leader arbitration for provisioning services |
US8539078B2 (en) * | 2010-07-08 | 2013-09-17 | International Business Machines Corporation | Isolating resources between tenants in a software-as-a-service system using the estimated costs of service requests |
US8904511B1 (en) | 2010-08-23 | 2014-12-02 | Amazon Technologies, Inc. | Virtual firewalls for multi-tenant distributed services |
US8751656B2 (en) | 2010-10-20 | 2014-06-10 | Microsoft Corporation | Machine manager for deploying and managing machines |
US9075661B2 (en) | 2010-10-20 | 2015-07-07 | Microsoft Technology Licensing, Llc | Placing objects on hosts using hard and soft constraints |
US8417737B2 (en) | 2010-10-20 | 2013-04-09 | Microsoft Corporation | Online database availability during upgrade |
US8386501B2 (en) * | 2010-10-20 | 2013-02-26 | Microsoft Corporation | Dynamically splitting multi-tenant databases |
US8799453B2 (en) | 2010-10-20 | 2014-08-05 | Microsoft Corporation | Managing networks and machines for an online service |
US9304614B2 (en) | 2010-10-20 | 2016-04-05 | Salesforce.Com, Inc. | Framework for custom actions on an information feed |
US20120109947A1 (en) * | 2010-11-02 | 2012-05-03 | BrightEdge Technologies | Multi-tenant analytics processing |
US8850550B2 (en) | 2010-11-23 | 2014-09-30 | Microsoft Corporation | Using cached security tokens in an online service |
KR20120062514A (ko) * | 2010-12-06 | 2012-06-14 | 한국전자통신연구원 | SaaS 환경에서의 권한 관리 장치 및 방법 |
CN102012989B (zh) * | 2010-12-07 | 2013-11-27 | 江苏风云网络服务有限公司 | 软件即服务中基于门限与密钥的授权方法 |
US9721030B2 (en) | 2010-12-09 | 2017-08-01 | Microsoft Technology Licensing, Llc | Codeless sharing of spreadsheet objects |
US8762795B2 (en) * | 2010-12-17 | 2014-06-24 | Microsoft Corporation | Alerting recipients to errors occurring when accessing external services |
US10019503B2 (en) | 2010-12-22 | 2018-07-10 | Microsoft Technology Licensing, Llc | Database transfers using constraint free data |
US20120174092A1 (en) * | 2010-12-29 | 2012-07-05 | Wolfgang Faisst | Integrated commercial infrastructure and business application platform |
CN102103637A (zh) * | 2011-01-24 | 2011-06-22 | 上海银杏界信息科技有限公司 | SaaS软件数据模型的实现方法 |
US8903884B2 (en) * | 2011-02-21 | 2014-12-02 | Microsoft Corporation | Multi-tenant services gateway |
US8667024B2 (en) * | 2011-03-18 | 2014-03-04 | International Business Machines Corporation | Shared data management in software-as-a-service platform |
US8627431B2 (en) | 2011-06-04 | 2014-01-07 | Microsoft Corporation | Distributed network name |
US9652469B2 (en) | 2011-06-04 | 2017-05-16 | Microsoft Technology Licensing, Llc | Clustered file service |
US9652790B2 (en) * | 2011-06-17 | 2017-05-16 | International Business Machines Corporation | Open data marketplace for municipal services |
US8671407B2 (en) | 2011-07-06 | 2014-03-11 | Microsoft Corporation | Offering network performance guarantees in multi-tenant datacenters |
US8856518B2 (en) | 2011-09-07 | 2014-10-07 | Microsoft Corporation | Secure and efficient offloading of network policies to network interface cards |
US8635152B2 (en) | 2011-09-14 | 2014-01-21 | Microsoft Corporation | Multi tenancy for single tenancy applications |
US8589481B2 (en) | 2011-09-14 | 2013-11-19 | Microsoft Corporation | Multi tenant access to applications |
US8819801B2 (en) * | 2011-10-31 | 2014-08-26 | Microsoft Corporation | Secure machine enrollment in multi-tenant subscription environment |
US9110729B2 (en) * | 2012-02-17 | 2015-08-18 | International Business Machines Corporation | Host system admission control |
US9075687B1 (en) | 2012-04-19 | 2015-07-07 | NetSuite Inc. | System and methods for declaration-based extension management for multi-tenant environments |
US9509571B1 (en) * | 2012-07-25 | 2016-11-29 | NetSuite Inc. | First-class component extensions for multi-tenant environments |
TWI476614B (zh) * | 2012-12-27 | 2015-03-11 | Chunghwa Telecom Co Ltd | Multi - tenant Cloud Warehouse Integrated Retrieval System and Its Method |
US9195513B2 (en) | 2013-02-22 | 2015-11-24 | Sas Institute Inc. | Systems and methods for multi-tenancy data processing |
US9607166B2 (en) | 2013-02-27 | 2017-03-28 | Microsoft Technology Licensing, Llc | Discretionary policy management in cloud-based environment |
US20140278812A1 (en) * | 2013-03-14 | 2014-09-18 | Microsoft Corporation | Diagnostics storage within a multi-tenant data center |
US9515947B1 (en) * | 2013-03-15 | 2016-12-06 | EMC IP Holding Company LLC | Method and system for providing a virtual network-aware storage array |
US9043458B2 (en) | 2013-03-19 | 2015-05-26 | Cognizant Technology Solutions India Pvt. Ltd. | Framework for facilitating implementation of multi-tenant SaaS architecture |
JP6056607B2 (ja) | 2013-03-28 | 2017-01-11 | 富士通株式会社 | 情報処理システム及び情報処理システムの制御方法 |
US9411973B2 (en) | 2013-05-02 | 2016-08-09 | International Business Machines Corporation | Secure isolation of tenant resources in a multi-tenant storage system using a security gateway |
US20150081400A1 (en) * | 2013-09-19 | 2015-03-19 | Infosys Limited | Watching ARM |
US9154492B2 (en) * | 2013-09-27 | 2015-10-06 | The University Of North Carolina At Charlotte | Moving target defense against cross-site scripting |
US9621673B2 (en) | 2013-12-12 | 2017-04-11 | Sap Se | Customer initiated tenant operations in a multitenant cloud environment |
WO2015163924A1 (en) | 2014-04-25 | 2015-10-29 | Hewlett-Packard Development Company, L.P. | Data management in a distributed computing environment |
US20160028833A1 (en) * | 2014-07-25 | 2016-01-28 | Violeta Georgieva | Tenant aware session manager |
US9391972B2 (en) | 2014-09-12 | 2016-07-12 | Oracle International Corporation | Multi-tenant application using hierarchical bean factory container |
KR101770240B1 (ko) * | 2014-09-29 | 2017-08-22 | 삼성전자주식회사 | Ui 제공을 위한 디스플레이 장치, 시스템 및 그 제공 방법 |
US10942900B2 (en) | 2015-06-02 | 2021-03-09 | Oracle International Corporation | Techniques for tenant controlled visualizations and management of files in cloud storage systems |
US9996321B2 (en) * | 2015-06-23 | 2018-06-12 | Microsoft Technology Licensing, Llc | Multi-tenant, tenant-specific applications |
US10748070B2 (en) * | 2015-07-31 | 2020-08-18 | Microsoft Technology Licensing, Llc | Identification and presentation of changelogs relevant to a tenant of a multi-tenant cloud service |
US9667725B1 (en) | 2015-08-06 | 2017-05-30 | EMC IP Holding Company LLC | Provisioning isolated storage resource portions for respective containers in multi-tenant environments |
US10146936B1 (en) | 2015-11-12 | 2018-12-04 | EMC IP Holding Company LLC | Intrusion detection for storage resources provisioned to containers in multi-tenant environments |
US9983909B1 (en) | 2016-03-15 | 2018-05-29 | EMC IP Holding Company LLC | Converged infrastructure platform comprising middleware preconfigured to support containerized workloads |
US10326744B1 (en) | 2016-03-21 | 2019-06-18 | EMC IP Holding Company LLC | Security layer for containers in multi-tenant environments |
US10754838B1 (en) * | 2016-03-31 | 2020-08-25 | EMC IP Holding Company LLC | Registration framework for an analytics platform |
US10013213B2 (en) | 2016-04-22 | 2018-07-03 | EMC IP Holding Company LLC | Container migration utilizing state storage of partitioned storage volume |
US10187395B2 (en) | 2016-04-28 | 2019-01-22 | Microsoft Technology Licensing, Llc | Resource sharing and designation of permissions for other tenants and unregistered users of same tenant |
US10284557B1 (en) | 2016-11-17 | 2019-05-07 | EMC IP Holding Company LLC | Secure data proxy for cloud computing environments |
US11128437B1 (en) | 2017-03-30 | 2021-09-21 | EMC IP Holding Company LLC | Distributed ledger for peer-to-peer cloud resource sharing |
RU2646306C1 (ru) * | 2017-06-15 | 2018-03-02 | Федеральное Государственное унитарное предприятие Государственный научно-исследовательский институт гражданской авиации (ФГУП ГосНИИ ГА) | Система мониторинга ставок арендных платежей операторов аэродромов за пользование имуществом аэродромов |
US11063745B1 (en) | 2018-02-13 | 2021-07-13 | EMC IP Holding Company LLC | Distributed ledger for multi-cloud service automation |
US10747600B2 (en) * | 2018-06-12 | 2020-08-18 | commercetools GmbH | Extensibility for third party application programming interfaces |
US10445223B1 (en) * | 2018-10-25 | 2019-10-15 | Capital One Services, Llc | Service virtualization platform |
RU2737601C2 (ru) * | 2019-03-13 | 2020-12-01 | Анастасия Надеровна Рубцова | Автоматизированная информационная система для размещения расширяемых служб с множеством арендаторов и субъектов (потребителей) |
EP4059162A1 (en) * | 2020-08-17 | 2022-09-21 | Google LLC | System service sharing between endpoint devices for increased endpoint device capability |
Family Cites Families (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6434619B1 (en) * | 1998-04-29 | 2002-08-13 | Alcatel Canada Inc. | Internet-enabled service management system and method |
US7162464B1 (en) * | 1998-10-02 | 2007-01-09 | Ncr Corporation | Data mining assists in a relational database management system |
RU2237275C2 (ru) * | 1999-02-18 | 2004-09-27 | Ситрикс Системз, Инк. | Сервер и способ (варианты) определения программного окружения клиентского узла в сети с архитектурой клиент/сервер |
US20020049841A1 (en) * | 2000-03-03 | 2002-04-25 | Johnson Scott C | Systems and methods for providing differentiated service in information management environments |
US20020065864A1 (en) * | 2000-03-03 | 2002-05-30 | Hartsell Neal D. | Systems and method for resource tracking in information management environments |
US20020120741A1 (en) * | 2000-03-03 | 2002-08-29 | Webb Theodore S. | Systems and methods for using distributed interconnects in information management enviroments |
US20050049937A1 (en) | 2000-08-16 | 2005-03-03 | Aaron Sanders | Business method and processing system |
EP1410198A2 (en) * | 2000-08-22 | 2004-04-21 | Symbian Limited | A method of enabling a wireless information device to access data services |
US6643635B2 (en) * | 2001-03-15 | 2003-11-04 | Sagemetrics Corporation | Methods for dynamically accessing, processing, and presenting data acquired from disparate data sources |
JP2003281007A (ja) * | 2002-03-20 | 2003-10-03 | Fujitsu Ltd | 動的構成制御装置および動的構成制御方法 |
US7636499B1 (en) * | 2002-04-05 | 2009-12-22 | Bank Of America Corporation | Image processing system |
US8255548B2 (en) * | 2002-06-13 | 2012-08-28 | Salesforce.Com, Inc. | Offline web services API to mirror online web services API |
US7146499B2 (en) * | 2002-09-30 | 2006-12-05 | International Business Machines Corporation | Security system for replicated storage devices on computer networks |
JP2004151942A (ja) * | 2002-10-30 | 2004-05-27 | Ricoh Co Ltd | ウェブサービス提供装置、ウェブサービス提供方法およびウェブサービス提供プログラム |
US7076562B2 (en) | 2003-03-17 | 2006-07-11 | July Systems, Inc. | Application intermediation gateway |
US7447212B2 (en) | 2003-09-03 | 2008-11-04 | At&T Intellectual Property I, L.P. | Method and system for automating membership discovery in a distributed computer network |
US7779039B2 (en) * | 2004-04-02 | 2010-08-17 | Salesforce.Com, Inc. | Custom entities and fields in a multi-tenant database system |
US7669177B2 (en) * | 2003-10-24 | 2010-02-23 | Microsoft Corporation | System and method for preference application installation and execution |
JP2005157613A (ja) * | 2003-11-25 | 2005-06-16 | Canon Inc | 情報管理装置 |
US20060184410A1 (en) * | 2003-12-30 | 2006-08-17 | Shankar Ramamurthy | System and method for capture of user actions and use of capture data in business processes |
JP4873852B2 (ja) * | 2004-02-26 | 2012-02-08 | 株式会社リコー | 第一の通信装置、情報処理装置、情報処理プログラム、記録媒体 |
US8533229B2 (en) | 2004-06-16 | 2013-09-10 | Salesforce.Com, Inc. | Soap-based web services in a multi-tenant database system |
US20060015471A1 (en) * | 2004-07-01 | 2006-01-19 | Gmorpher Incorporated | System, Method, and Computer Program Product of Building A Native XML Object Database |
US7549054B2 (en) * | 2004-08-17 | 2009-06-16 | International Business Machines Corporation | System, method, service method, and program product for managing entitlement with identity and privacy applications for electronic commerce |
JP4748763B2 (ja) * | 2004-09-06 | 2011-08-17 | キヤノン株式会社 | 情報処理装置、情報処理装置の制御方法、ならびにプログラム、記憶媒体 |
JP4392343B2 (ja) * | 2004-12-28 | 2009-12-24 | 株式会社日立製作所 | メッセージ配布方法、待機系ノード装置およびプログラム |
US20060235715A1 (en) | 2005-01-14 | 2006-10-19 | Abrams Carl E | Sharable multi-tenant reference data utility and methods of operation of same |
US20060235831A1 (en) | 2005-01-14 | 2006-10-19 | Adinolfi Ronald E | Multi-source multi-tenant entitlement enforcing data repository and method of operation |
US7593994B2 (en) * | 2005-03-08 | 2009-09-22 | Microsoft Corporation | Generating a dynamic web service and dynamic service surrogate for legacy application components |
JP4702835B2 (ja) * | 2005-07-06 | 2011-06-15 | 株式会社日立ソリューションズ | Webサービスカスタマイズシステム |
US20070038697A1 (en) * | 2005-08-03 | 2007-02-15 | Eyal Zimran | Multi-protocol namespace server |
US8069153B2 (en) * | 2005-12-02 | 2011-11-29 | Salesforce.Com, Inc. | Systems and methods for securing customer data in a multi-tenant environment |
US20070162537A1 (en) | 2006-01-11 | 2007-07-12 | Gearworks, Inc. | Common application services framework |
US7937711B2 (en) | 2006-06-30 | 2011-05-03 | Dell Products L.P. | Method and apparatus for providing a consolidated namespace to client applications in multi-tenant common information model (CIM) environments |
US8190724B2 (en) * | 2006-10-13 | 2012-05-29 | Yahoo! Inc. | Systems and methods for establishing or maintaining a personalized trusted social network |
WO2008061146A2 (en) * | 2006-11-14 | 2008-05-22 | Neveu Holdings, Llc | Remote time and attendance system and method |
CA2672735A1 (en) * | 2006-12-13 | 2008-06-19 | Quickplay Media Inc. | Mobile media platform |
US8201231B2 (en) | 2007-02-21 | 2012-06-12 | Microsoft Corporation | Authenticated credential-based multi-tenant access to a service |
US20100153569A1 (en) * | 2007-03-09 | 2010-06-17 | Ghost, Inc. | System and Method for a Virtual Hosted Operating System |
US7680848B2 (en) | 2007-03-29 | 2010-03-16 | Microsoft Corporation | Reliable and scalable multi-tenant asynchronous processing |
US8019812B2 (en) | 2007-04-13 | 2011-09-13 | Microsoft Corporation | Extensible and programmable multi-tenant service architecture |
US7840413B2 (en) * | 2007-05-09 | 2010-11-23 | Salesforce.Com, Inc. | Method and system for integrating idea and on-demand services |
US8516366B2 (en) * | 2008-06-20 | 2013-08-20 | Wetpaint.Com, Inc. | Extensible content service for attributing user-generated content to authored content providers |
US20100082737A1 (en) * | 2008-09-26 | 2010-04-01 | Carlson Marketing Worldwide, Inc. | Dynamic service routing |
US10057775B2 (en) * | 2009-01-28 | 2018-08-21 | Headwater Research Llc | Virtualized policy and charging system |
US8243949B2 (en) * | 2009-04-14 | 2012-08-14 | Plantronics, Inc. | Network addressible loudspeaker and audio play |
US9229793B2 (en) * | 2010-04-22 | 2016-01-05 | Salesforce.Com, Inc. | System, method and computer program product for routing messages to a server |
-
2007
- 2007-04-13 US US11/787,134 patent/US8019812B2/en active Active
-
2008
- 2008-04-01 RU RU2009137767/08A patent/RU2463652C2/ru active
- 2008-04-01 CN CN200880011804.4A patent/CN101657804B/zh active Active
- 2008-04-01 WO PCT/US2008/059061 patent/WO2008127871A1/en active Application Filing
- 2008-04-01 ES ES08744888T patent/ES2709436T3/es active Active
- 2008-04-01 JP JP2010503123A patent/JP2010526358A/ja active Pending
- 2008-04-01 EP EP08744888.2A patent/EP2156308B1/en active Active
- 2008-04-01 BR BRPI0809083-1A patent/BRPI0809083B1/pt active IP Right Grant
- 2008-04-01 KR KR1020097020861A patent/KR101279740B1/ko active IP Right Grant
- 2008-04-08 TW TW097112680A patent/TWI473029B/zh not_active IP Right Cessation
-
2011
- 2011-06-24 US US13/168,557 patent/US8195743B2/en active Active
-
2012
- 2012-04-18 US US13/450,022 patent/US8533261B2/en active Active
-
2013
- 2013-09-09 US US14/021,352 patent/US20140012900A1/en not_active Abandoned
-
2014
- 2014-01-06 JP JP2014000296A patent/JP2014132462A/ja active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9880889B2 (en) | 2010-04-06 | 2018-01-30 | Microsoft Technology Licensing, Llc | Virtual application extension points |
KR20170030517A (ko) * | 2014-07-07 | 2017-03-17 | 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 | 서버 플랫폼 상에서 원자적 태스크의 개시를 제어하는 기법 |
TWI682453B (zh) * | 2015-02-03 | 2020-01-11 | 日商東京威力科創股份有限公司 | 蝕刻方法 |
KR20190133404A (ko) | 2018-05-23 | 2019-12-03 | 삼성에스디에스 주식회사 | 마이크로 서비스 아키텍처 기반의 서비스 시스템 및 상기 시스템에서의 멀티 테넌트 설정 관리 방법 |
Also Published As
Publication number | Publication date |
---|---|
JP2014132462A (ja) | 2014-07-17 |
KR101279740B1 (ko) | 2013-06-28 |
US20080256607A1 (en) | 2008-10-16 |
ES2709436T3 (es) | 2019-04-16 |
EP2156308A4 (en) | 2014-06-04 |
RU2009137767A (ru) | 2011-04-20 |
RU2463652C2 (ru) | 2012-10-10 |
US8533261B2 (en) | 2013-09-10 |
JP2010526358A (ja) | 2010-07-29 |
US20140012900A1 (en) | 2014-01-09 |
BRPI0809083B1 (pt) | 2019-05-07 |
US20110252089A1 (en) | 2011-10-13 |
BRPI0809083A8 (pt) | 2016-12-20 |
CN101657804A (zh) | 2010-02-24 |
CN101657804B (zh) | 2015-07-08 |
BRPI0809083A2 (pt) | 2014-09-09 |
WO2008127871A1 (en) | 2008-10-23 |
EP2156308A1 (en) | 2010-02-24 |
EP2156308B1 (en) | 2018-11-07 |
TW200847055A (en) | 2008-12-01 |
US20120210390A1 (en) | 2012-08-16 |
US8195743B2 (en) | 2012-06-05 |
TWI473029B (zh) | 2015-02-11 |
US8019812B2 (en) | 2011-09-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101279740B1 (ko) | 확장가능하고 프로그래밍가능한 멀티-테넌트 서비스 아키텍처 | |
US11411881B2 (en) | Organization level identity management | |
JP5787640B2 (ja) | 認証システムおよび認証方法およびプログラム | |
US9485256B1 (en) | Secure assertion attribute for a federated log in | |
EP2962244B1 (en) | Discretionary policy management in cloud-based environment | |
CN102947797A (zh) | 使用横向扩展目录特征的在线服务访问控制 | |
US11100125B2 (en) | Migrating data between partitioned databases | |
EP2715971A1 (en) | Automating cloud service reconnections | |
US8219654B2 (en) | Highly available central controller to store and enforce valid state transitions of distributed components | |
US7636852B1 (en) | Call center dashboard | |
CN112100590A (zh) | 一种旅游大数据云平台及其用户权限管理的方法 | |
CN111611561B (zh) | 一种面向边缘分级用户的认证授权统一管控方法 | |
US10176059B2 (en) | Managing server processes with proxy files | |
US20220385596A1 (en) | Protecting integration between resources of different services using service-generated dependency tags | |
US11297065B2 (en) | Technology for computing resource liaison | |
JP5732419B2 (ja) | 統合アクセス制御システム | |
US11588801B1 (en) | Application-centric validation for electronic resources | |
CN118202615A (zh) | 多区域登录 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
A302 | Request for accelerated examination | ||
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20160517 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20170522 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20180516 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20190515 Year of fee payment: 7 |