KR101279740B1 - 확장가능하고 프로그래밍가능한 멀티-테넌트 서비스 아키텍처 - Google Patents

확장가능하고 프로그래밍가능한 멀티-테넌트 서비스 아키텍처 Download PDF

Info

Publication number
KR101279740B1
KR101279740B1 KR1020097020861A KR20097020861A KR101279740B1 KR 101279740 B1 KR101279740 B1 KR 101279740B1 KR 1020097020861 A KR1020097020861 A KR 1020097020861A KR 20097020861 A KR20097020861 A KR 20097020861A KR 101279740 B1 KR101279740 B1 KR 101279740B1
Authority
KR
South Korea
Prior art keywords
service
organizational
client
access
organization
Prior art date
Application number
KR1020097020861A
Other languages
English (en)
Other versions
KR20100015398A (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 KR20100015398A publication Critical patent/KR20100015398A/ko
Application granted granted Critical
Publication of KR101279740B1 publication Critical patent/KR101279740B1/ko

Links

Images

Classifications

    • 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
    • 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
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • 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
    • 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/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1023Server selection for load balancing based on a hash applied to IP addresses or costs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1029Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1031Controlling 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

확장가능하고 프로그래밍가능한 멀티-테넌트 서비스 아키텍처{EXTENSIBLE AND PROGRAMMABLE MULTI-TENANT SERVICE ARCHITECTURE}
본 발명은 확장 가능하고 프로그램 가능한 다중 테넌트 서비스 아키텍처에 관한 것이다.
기업의 노력은 고객의 요구에 신속하게 응하고, 시장에 제품을 더 빨리 내놓으며, 전체 수익성을 증가시키고, 끊임없이 경쟁사보다 우수한 기량을 발휘하려고 힘쓴다. 이러한 일반적인 시장 도전과제에 대처하는 능력인 민첩성은 고정된 비즈니스 애플리케이션 기술 플랫폼에 의존한다. 비즈니스 민첩성을 달성하기 위해, 다각적인 지능형 소프트웨어 인프라가 요구되는데, 이것은 애플리케이션 통합을 위해 설계된다.
비즈니스 애플리케이션 플랫폼은 통상적으로 단일 테넌트(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) 서비스(도시 생략)는 웹 서버에 의해 어떤 데이터베이스(들)이 사용될 수 있는 지에 대한 정보를 제공할 수 있다. 웹 서버(431)는 또한, 조직 데이터베이스(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)

  1. 확장가능 다중 테넌트(multi-tenant) 서비스 플랫폼을 제공하기 위해 컴퓨팅 장치에서 실행되는 방법으로서,
    클라이언트로부터 액세스 요청을 수신하는 단계 - 복수의 클라이언트 내의 각 클라이언트는 상기 플랫폼에 의해 호스팅되는 적어도 하나의 조직 서비스(organization service)와 관련됨 - ;
    조직 서비스의 위치를 판정하는 단계 - 상기 플랫폼 내의 크기 조정 가능(scalable) 그룹들로 복수의 조직 서비스가 조직됨 - ;
    상기 조직 서비스에 액세스할 수 있게 하기 위해 상기 조직 서비스의 위치를 상기 클라이언트에게 제공하는 단계;
    상기 조직 서비스의 위치가 상기 액세스 동안에 변경될 경우, 상기 조직 서비스로의 상기 클라이언트의 액세스가 계속되도록 하기 위해 상기 변경된 위치를 상기 클라이언트에게 제공하는 단계; 및
    상기 조직 서비스와 관련된 데이터 및 애플리케이션이 상기 복수의 조직 서비스 내의 다른 조직 서비스와 분리되도록, 상기 복수의 조직 서비스에 대한 액세스를 제공하도록 구성된 복수의 동적이며 전용인 API(Application Programming Interface)를 자동으로 생성하는 단계 - 상기 복수의 API는 조직 서비스의 추가 및 제거 중 하나에 적응됨 - 를 포함하는,
    확장가능 다중 테넌트 서비스 플랫폼 제공 방법.
  2. 제1항에 있어서,
    상기 조직 서비스의 위치를 제공하기 전에 통합 인증 서비스 및 제3자 인증 서비스 중 하나를 사용하여 상기 클라이언트를 인증하는 단계를 더 포함하는,
    확장가능 다중 테넌트 서비스 플랫폼 제공 방법.
  3. 제2항에 있어서,
    상기 요청된 조직 서비스로의 상기 클라이언트의 액세스는 클라이언트 접속의 보안 상태, 클라이언트 자격증명(credential) 및 조직 멤버십의 집합 중에서 적어도 하나에 기초하여 제한되는,
    확장가능 다중 테넌트 서비스 플랫폼 제공 방법.
  4. 제2항에 있어서,
    복수의 인증 모드들을 제공하는 단계를 더 포함하고, 각 인증 모드는 상기 클라이언트가 원하는 인증 모드를 지정할 수 있게 되도록 전용 종점(dedicated endpoint)을 포함하는,
    확장가능 다중 테넌트 서비스 플랫폼 제공 방법.
  5. 제1항에 있어서,
    상기 요청된 조직 서비스로의 상기 클라이언트의 액세스와 관련된 구성 정보를 상기 클라이언트에게 제공하는 단계를 더 포함하는,
    확장가능 다중 테넌트 서비스 플랫폼 제공 방법.
  6. 제1항에 있어서,
    상기 크기 조정 가능 그룹들은 상기 플랫폼에 의해 호스팅되는 조직 서비스들과 관련된 애플리케이션들의 수직 및 수평 확장성(extensibility)을 가능하게 하도록 구성되는,
    확장가능 다중 테넌트 서비스 플랫폼 제공 방법.
  7. 제1항에 있어서,
    상기 플랫폼은 상기 플랫폼에 의해 호스팅되는 조직 서비스들에 대한 메타데이터 액세스를 제공하도록 구성되어 있는,
    확장가능 다중 테넌트 서비스 플랫폼 제공 방법.
  8. 확장가능 다중 테넌트 서비스들을 호스팅하는 시스템으로서,
    검색(discovery) 서비스를 제공하는 수단 - 상기 검색 서비스는
    상기 시스템에 의해 호스팅되는 적어도 하나의 조직 서비스와 관련된 클라이언트로부터 액세스 요청을 수신하고;
    상기 요청된 적어도 하나의 조직 서비스의 위치를 판정하며;
    상기 적어도 하나의 조직 서비스에 액세스할 수 있게 하기 위해 상기 조직 서비스의 위치를 상기 클라이언트에게 제공함 - ;
    상기 적어도 하나의 조직 서비스를 제공하도록 구성된 복수의 크기 조정 가능 서버 클러스터들;
    상기 적어도 하나의 조직 서비스로의 상기 클라이언트의 액세스 동안의 상기 적어도 하나의 조직 서비스의 위치 변경이 상기 클라이언트에게 제공되어 상기 적어도 하나의 조직 서비스로의 상기 클라이언트의 액세스가 계속되도록 하기 위해, 상기 복수의 서버 클러스터들과 관련된 구성 및 위치 정보를 저장하도록 구성되어 있는, 상기 검색 서비스를 제공하는 수단과 관련된 구성 저장소; 및
    상기 적어도 하나의 조직 서비스와 관련된 데이터 및 애플리케이션이 다른 조직 서비스와 분리되도록 상기 적어도 하나의 조직 서비스에 대한 액세스를 제공하는 복수의 전용 API(Application Programming Interface)를 제공하는 수단 - 상기 복수의 전용 API는 자동으로 생성되고 동적이며, 상기 복수의 API는 조직 서비스의 추가 및 제거 중 하나에 적응됨 - 을 포함하는,
    호스팅 시스템.
  9. 제8항에 있어서,
    상기 검색 서비스를 제공하는 수단 및 상기 서버 클러스터들은 웹 서비스 제공부로서 제공되는,
    호스팅 시스템.
  10. 제8항에 있어서,
    상기 검색 서비스는 또한 플러그 가능 인증 서비스를 통해 복수의 인증 모드들을 이용하여 상기 클라이언트를 인증하는,
    호스팅 시스템.
  11. 제8항에 있어서,
    상기 API들은, 사용권한을 가진 사용자가 사용자 지정 개체 및 사용자 지정 동작 중의 적어도 하나를 선택된 조직 서비스에 추가할 수 있도록 사용자 지정 가능한(customizable),
    호스팅 시스템.
  12. 제8항에 있어서,
    상기 API들은 사용권한을 가진 사용자들로 하여금,
    조직 서비스와 관련된 데이터를 변경하는 동작;
    상기 조직 서비스와 관련된 프로세스 및 로직 중 하나를 정의하는 동작;
    상기 조직 서비스와 관련된 프로세스 및 로직 중 하나를 호출하는 동작; 및
    상기 조직 서비스와 관련된 프로세스 및 로직 중 하나를 변경하는 동작
    을 포함하는 동작들을 수행할 수 있게 하는,
    호스팅 시스템.
  13. 제8항에 있어서,
    상기 서버 클러스터들은 분산 방식으로 상호작용하도록 구성된 복수의 웹 서버들, 조직 데이터베이스들 및 비동기 처리 서버들을 포함하는,
    호스팅 시스템.
  14. 제13항에 있어서,
    상기 복수의 웹 서버들, 조직 데이터베이스들 및 비동기 처리 서버들 중 적어도 일부는 가상 서버인,
    호스팅 시스템.
  15. 제13항에 있어서,
    상기 복수의 웹 서버들, 조직 데이터베이스들 및 비동기 처리 서버들의 다수의 인스턴스들이 크기 조정 가능성(scalability), 로드 발랜싱(load balancing) 및 고장 복구가 가능하도록 제공되는,
    호스팅 시스템.
  16. 컴퓨터에 의해 실행될 경우 확장가능 다중 테넌트 서비스 플랫폼을 제공하는 방법을 수행하는 명령어들이 저장되어 있는 컴퓨터 판독가능 저장 장치로서,
    상기 방법은,
    상기 플랫폼에 의해 호스팅되는 적어도 하나의 조직 서비스와 관련된 클라이언트로부터 액세스 요청을 수신하는 단계 - 상기 요청은 상기 클라이언트의 자격증명을 포함함 - ;
    상기 클라이언트의 자격증명에 기초하여 상기 클라이언트에 사용가능한 조직 서비스들의 목록을 판정하는 단계;
    상기 조직 서비스들의 목록을 상기 클라이언트에게 제공하는 단계;
    상기 목록으로부터 상기 적어도 하나의 조직 서비스를 액세스하기 위한 요청을 수신하는 단계;
    상기 적어도 하나의 요청된 조직 서비스의 위치를 판정하는 단계 - 상기 조직 서비스들의 목록 내의 조직 서비스는 상기 플랫폼에 의해 호스팅되는 크기 조정 가능 서비스 클러스터들에 의해 제공됨 - ;
    상기 조직 서비스에 액세스할 수 있게 하기 위해 상기 적어도 하나의 조직 서비스의 위치를 상기 클라이언트에게 제공하는 단계;
    상기 조직 서비스의 위치가 상기 액세스 동안에 변경될 경우, 상기 적어도 하나의 조직 서비스로의 상기 클라이언트의 액세스가 계속되도록 하기 위해 상기 변경된 위치를 상기 클라이언트에게 제공하는 단계; 및
    복수의 동적이며 전용인 API(Application Programming Interface)를 자동으로 생성하는 단계 - 상기 API는 상기 적어도 하나의 조직 서비스에 대한 액세스를 제공하도록 구성되고, 상기 복수의 API는 조직 서비스의 추가 및 제거 중 하나에 적응됨 - 를 포함하는,
    컴퓨터 판독가능 저장 장치.
  17. 제16항에 있어서,
    상기 방법은 상기 클라이언트에 의해 요청된 각 조직 서비스마다 적어도 하나의 인증 모드를 사용하여 상기 클라이언트를 인증하는 단계를 더 포함하는,
    컴퓨터 판독가능 저장 장치.
  18. 제16항에 있어서,
    상기 방법은 상기 요청된 조직 서비스에 대한 상기 클라이언트의 액세스와 관련된 구성 정보를 상기 클라이언트에게 제공하는 단계를 더 포함하는,
    컴퓨터 판독가능 저장 장치.
  19. 제16항에 있어서,
    상기 크기 조정 가능 서비스 클러스터들은 상기 플랫폼에 의해 호스팅되는 적어도 하나의 조직 서비스와 관련된 애플리케이션의 수직 및 수평 확장가능성을 가능하게 하도록 구성되는,
    컴퓨터 판독가능 저장 장치.
  20. 제16항에 있어서,
    상기 플랫폼은 상기 플랫폼에 의해 호스팅되는 상기 적어도 하나의 조직 서비스에 대한 메타데이터 액세스를 제공하도록 구성되는,
    컴퓨터 판독가능 저장 장치.
KR1020097020861A 2007-04-13 2008-04-01 확장가능하고 프로그래밍가능한 멀티-테넌트 서비스 아키텍처 KR101279740B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/787,134 US8019812B2 (en) 2007-04-13 2007-04-13 Extensible and programmable multi-tenant service architecture
US11/787,134 2007-04-13
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 KR20100015398A (ko) 2010-02-12
KR101279740B1 true 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)

Families Citing this family (83)

* Cited by examiner, † Cited by third party
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
JPWO2010024027A1 (ja) * 2008-08-28 2012-01-26 日本電気株式会社 仮想サーバシステム及び物理サーバ選択方法
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
EP2320376A1 (en) * 2009-11-06 2011-05-11 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
US8489708B2 (en) 2010-04-06 2013-07-16 Microsoft Corporation Virtual application extension points
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
US9304614B2 (en) 2010-10-20 2016-04-05 Salesforce.Com, Inc. Framework for custom actions on an information feed
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
US8417737B2 (en) 2010-10-20 2013-04-09 Microsoft Corporation Online database availability during upgrade
US9075661B2 (en) 2010-10-20 2015-07-07 Microsoft Technology Licensing, Llc Placing objects on hosts using hard and soft constraints
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
US8589481B2 (en) 2011-09-14 2013-11-19 Microsoft Corporation Multi tenant access to applications
US8635152B2 (en) * 2011-09-14 2014-01-21 Microsoft Corporation Multi tenancy for single tenancy 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
US10110501B2 (en) * 2014-07-07 2018-10-23 Microsoft Technology Licensing, Llc Tenant control in initiating atomic platform tasks
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 제공을 위한 디스플레이 장치, 시스템 및 그 제공 방법
JP6426489B2 (ja) * 2015-02-03 2018-11-21 東京エレクトロン株式会社 エッチング方法
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
KR102544820B1 (ko) 2018-05-23 2023-06-16 삼성에스디에스 주식회사 마이크로 서비스 아키텍처 기반의 서비스 시스템 및 상기 시스템에서의 멀티 테넌트 설정 관리 방법
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 Анастасия Надеровна Рубцова Автоматизированная информационная система для размещения расширяемых служб с множеством арендаторов и субъектов (потребителей)
CN114930790A (zh) * 2020-08-17 2022-08-19 谷歌有限责任公司 用于增加端点设备能力的端点设备之间的系统服务共享

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070130130A1 (en) 2005-12-02 2007-06-07 Salesforce.Com, Inc. Systems and methods for securing customer data in a multi-tenant environment

Family Cites Families (46)

* Cited by examiner, † Cited by third party
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 株式会社日立製作所 メッセージ配布方法、待機系ノード装置およびプログラム
US20060235831A1 (en) 2005-01-14 2006-10-19 Adinolfi Ronald E Multi-source multi-tenant entitlement enforcing data repository and method of operation
US20060235715A1 (en) 2005-01-14 2006-10-19 Abrams Carl E Sharable multi-tenant reference data utility and methods of operation of same
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
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
US9064010B2 (en) * 2006-12-13 2015-06-23 Quickplay Media Inc. Encoding and transcoding for mobile media
US8201231B2 (en) 2007-02-21 2012-06-12 Microsoft Corporation Authenticated credential-based multi-tenant access to a service
WO2008111048A2 (en) * 2007-03-09 2008-09-18 Ghost, Inc. System and method for browser within a web site and proxy server
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070130130A1 (en) 2005-12-02 2007-06-07 Salesforce.Com, Inc. Systems and methods for securing customer data in a multi-tenant environment

Also Published As

Publication number Publication date
US20120210390A1 (en) 2012-08-16
BRPI0809083A8 (pt) 2016-12-20
EP2156308A4 (en) 2014-06-04
EP2156308B1 (en) 2018-11-07
WO2008127871A1 (en) 2008-10-23
CN101657804A (zh) 2010-02-24
RU2009137767A (ru) 2011-04-20
US8533261B2 (en) 2013-09-10
US8019812B2 (en) 2011-09-13
JP2010526358A (ja) 2010-07-29
CN101657804B (zh) 2015-07-08
JP2014132462A (ja) 2014-07-17
US20110252089A1 (en) 2011-10-13
TW200847055A (en) 2008-12-01
EP2156308A1 (en) 2010-02-24
TWI473029B (zh) 2015-02-11
RU2463652C2 (ru) 2012-10-10
US20140012900A1 (en) 2014-01-09
BRPI0809083A2 (pt) 2014-09-09
KR20100015398A (ko) 2010-02-12
US20080256607A1 (en) 2008-10-16
BRPI0809083B1 (pt) 2019-05-07
ES2709436T3 (es) 2019-04-16
US8195743B2 (en) 2012-06-05

Similar Documents

Publication Publication Date Title
KR101279740B1 (ko) 확장가능하고 프로그래밍가능한 멀티-테넌트 서비스 아키텍처
JP5787640B2 (ja) 認証システムおよび認証方法およびプログラム
KR20210133289A (ko) 블록체인 네트워크에서 데이터 추출
US9998474B2 (en) Secure assertion attribute for a federated log in
US11962511B2 (en) Organization level identity management
EP2715971B1 (en) Automating cloud service reconnections
EP2962244B1 (en) Discretionary policy management in cloud-based environment
CN102947797A (zh) 使用横向扩展目录特征的在线服务访问控制
CN111327613B (zh) 分布式服务的权限控制方法、装置及计算机可读存储介质
US20190251094A1 (en) Techniques for interruption-free partitioning
US8219654B2 (en) Highly available central controller to store and enforce valid state transitions of distributed components
CN111611561B (zh) 一种面向边缘分级用户的认证授权统一管控方法
US10176059B2 (en) Managing server processes with proxy files
EP3513316B1 (en) Personalized search environment
US20220385596A1 (en) Protecting integration between resources of different services using service-generated dependency tags
JP2013190971A (ja) 統合アクセス制御システム
US11588801B1 (en) Application-centric validation for electronic resources
CN103907111A (zh) 用于为ldap客户端提供服务的方法、装置和中央服务器

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