KR20050122213A - 분산 객체들을 단일 표현으로 관리하기 위한 시스템 및방법 - Google Patents
분산 객체들을 단일 표현으로 관리하기 위한 시스템 및방법 Download PDFInfo
- Publication number
- KR20050122213A KR20050122213A KR1020057017703A KR20057017703A KR20050122213A KR 20050122213 A KR20050122213 A KR 20050122213A KR 1020057017703 A KR1020057017703 A KR 1020057017703A KR 20057017703 A KR20057017703 A KR 20057017703A KR 20050122213 A KR20050122213 A KR 20050122213A
- Authority
- KR
- South Korea
- Prior art keywords
- commands
- agent
- virtual
- collective
- services
- Prior art date
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/70—Admission control; Resource allocation
-
- 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
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/04—Network management architectures or arrangements
- H04L41/046—Network management architectures or arrangements comprising network management agents or mobile agents therefor
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain 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/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/1014—Server selection for load balancing based on the content of a request
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Computer And Data Communications (AREA)
- Multi Processors (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
- Debugging And Monitoring (AREA)
- Storage Device Security (AREA)
Abstract
자원들이 단일 실체(또는 객체)로서 공유되는 적어도 2개의 개별적인 시스템들(또는 객체들)을 관리하기 위한 아키텍쳐 및 방법이 제공된다. 에이전트 기반 시스템은 컨트롤러, 컨트롤러에 연결되는 로컬 에이전트, 및 적어도 하나의 집단 시스템을 포함한다. 적어도 하나의 집단 시스템은 적어도 2개의 개별적인 에이전트들을 포함하고 적어도 2개의 개별적인 에이전트들은 적어도 하나의 공유 자원/서비스를 공유한다. 시스템은 또한 적어도 2개의 개별적인 에이전트들을 로컬 에이전트에 연결하기 위한 가상의 비영구적인 접속을 포함한다. 적어도 하나의 공유 자원/서비스는, 적어도 하나의 집단 시스템의 적어도 2개의 개별적인 에이전트들이 단일 객체로서 표현될 수 있게 하기 위해 가상 IP 주소를 사용하여 가상의 비영구적인 접속을 통해 로컬 에이전트에 의해 액세스된다.
Description
본 출원은 본 발명의 양수인에게 일반 양도된 "System and Method for Integrating Network Services"라는 제목으로 2001년 6월 30일에 출원된 동시계속 출원번호 09/895,999와 관련된다.
본 발명은 일반적으로 네트워크 관리 영역에 관한 것이다. 보다 구체적으로, 본 발명은 에이전트 기반 시스템에서 분산 객체들을 단일 표현으로 관리하기 위한 아키텍쳐 및 방법에 관한 것이다.
전통적인 인터넷 데이터 센터들은, 기업 데이터 센터들에 웹 및 전자상거래 서버들(Web and e-Commerce servers)을 위한 하드웨어를 추가하여 확장하는 것에 특징이 있다. 전통적인 인터넷 데이터 센터들의 관리는 하드웨어 및 그 동작들에 제한을 가하고 가정들을 단순화하는 것을 포함한다. 예를 들어, 데이터 센터 내의 서비스들은 클라이언트-서버 객체 및 전송 모델을 사용하여 데이터 센터에 의해 지원되는 프로토콜들 및 인텔리전스(intelligence)를 단순화한다.
비지니스가 인터넷 경제에 계속적으로 투자를 증가시킴에 따라, 인터넷 데이터 센터들의 관리에 있어 이전에 중요했던 제한들은 더 이상 적절하지 않다. 예를 들어, 종래의 관리 툴들은 인터넷 데이터 센터 내의 제한된 수의 구성요소들을 관리 및 모니터링한 결과, 이벤트-상관(event-correlation) 및 분석(resolution) 옵션들의 책임을 다룰 조작자 또는 관리자에게 남겨둔다.
오늘날, 인터넷 서비스들의 배치, 조작, 및 정비의 복잡성이 증가함에 따라, 인터넷 데이터 센터들의 관리 및 확장(scalability)이 매우 어렵게 된다. 인터넷 서비스들이 점차 성장함에 따라, 조작자 또는 관리자에 의해 수행될 태스크들은 점점 더 번거롭게 된다. 조작자에 요구되는 번거로운 태스크들중 일부를 경감하기 위해, 인터넷 데이터 센터의 많은 구성요소들의 관리가 자동화되고 있다.
관리 프로세스들을 자동화하는 하나의 아키텍쳐는 오픈 제어 기술(open control technology)이다. 오픈 제어 기술은 기업 레벨 서비스 관리를 목표로 하는 네트워크/서비스 제어 기술이다. 오픈 제어 기술 아키텍쳐는 서비스 수명 동안 데이터 센터 서비스의 구성요소들을 관리하기 위한 구조를 기술한다. 그 아키텍쳐는 오픈 제어 기술 포드(pod)로서 배치된다. 오픈 제어 기술 포드는 컨트롤러와 고객 포드(customer pod)를 포함한다. 아키텍쳐는 데이터 센터를 가상화하는 객체 모델을 정의한다. 가상화는 추상화 및 캡슐화(encapsulation)를 통해 이루어진다.
오픈 제어 기술 아키텍쳐와 연관된 문제점은, 객체들로 표현되는 적어도 2개의 개별적인 시스템들이 공통 자원/서비스를 공유하는, 소프트웨어 또는 하드웨어일 수 있는, 집단 자원/서비스 세트를 고객 포드가 포함하는 경우 발생한다. 개별적인 시스템들은 또한 관리되고 모니터링될 필요가 있는 비집단(non-clustered) 자원들/서비스들을 포함할 수도 있다. 집단 자원들/서비스들이 관리되고 모니터링되는 경우, 개별적인 시스템들 또는 객체들은 단일 객체로서 표현될 필요가 있다. 비집단 자원들/서비스들이 관리되고 모니터링되는 경우, 개별적인 시스템들 또는 객체들은 개별적인 객체들로 표현될 필요가 있다. 전통적인 오픈 제어 기술 아키텍쳐는, 하나 이상의 공통 자원들/서비스들을 공유하기 위해 적어도 2개의 개별적인 시스템들 또는 객체들이 단일 객체로 표현될 필요가 있는 집단 자원들을 관리 및 모니터링하도록 갖추어 지지 않는다.
따라서, 개별적인 시스템들이 하나 이상의 공통 자원들 또는 서비스들을 공유할 수 있도록 개별적인 시스템들을 단일 실체(entity) 또는 객체(object)로 표현하기 위한 아키텍쳐 및 방법이 필요하다.
본원에 포함되고 명세서의 일부를 형성하는 첨부 도면들은 본 발명의 실시예들을 예시하고 상세한 설명과 함께 본 발명의 원리를 설명하고 관련 분야(들)의 통상의 지식을 가진 자가 본 발명을 구성 및 사용할 수 있게 하는 역할을 한다. 도면들에서, 유사한 참조 번호들은 일반적으로 동일하거나, 기능적으로 유사하거나, 및/또는 구조적으로 유사한 요소들을 나타낸다. 요소가 먼저 나타나는 도면은 대응하는 참조 번호의 맨좌측 숫자(들)로 표시된다.
도 1은 인터넷 데이터 센터의 예시적인 블록도를 나타낸다.
도 2는 인터넷 데이터 센터 내의 오픈 제어 기술 컨트롤러를 예시하는 블록도이다.
도 3은 오픈 제어 기술 아키텍쳐를 위한 객체 모델을 예시한다.
도 4는 적어도 2개의 개별적인 시스템들이 공통 자원들을 공유하고자 하는 경우 문제가 발생하는 종래의 에이전트 기반 오픈 제어 기술 아키텍쳐의 단순화된 도면을 예시한다.
도 5는 본 발명의 일 실시예에 따라, 적어도 2개의 개별적인 시스템들이 공통 자원들을 공유할 수 있게 하는 에이전트 기반 오픈 제어 기술 아키텍쳐의 단순화된 도면을 예시한다.
도 6은 본 발명의 일 실시예에 따라, 에이전트 기반 오픈 제어 기술 아키텍쳐가, 공통 자원들이 공유되는 적어도 2개의 개별적인 시스템들을 다룰 수 있게 하는 방법을 설명하는 흐름도이다.
도 7은 본 발명의 일 실시예에 따라, 에이전트 기반 오픈 제어 기술 아키텍쳐 내의 컨트롤러가, 공유 자원 및/또는 서비스로부터 정보에 대한 요청을 트리거(trigger)할 수 있게 하는 방법을 설명하는 흐름도이다.
도 8은 본 발명의 실시예들의 소정의 양상들이 구현될 수 있는 예시적인 컴퓨터 시스템을 예시하는 블록도이다.
본 발명은 특정 응용들을 위한 예시적인 실시예들을 참조하여 본원에 설명되지만, 본 발명이 이에 한정되지 않는다는 것을 이해하여야 한다. 본원에 제공된 계시들에 접근할 수 있는 관련 분야(들)의 당업자들은, 본 발명의 범주, 및 본 발명의 실시예들이 중요한 유틸리티일 수 있는 추가 분야들 내의 추가 수정, 응용 및 실시예들을 인식할 것이다.
명세서에서, 본 발명의 "일 실시예", "실시예" 또는 "다른 실시예"에 대한 참조는 해당 실시예와 연관되어 설명된 특정한 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 따라서, 명세서를 통해 다양한 위치에 나타나는 "일 실시예에서"라는 구문의 출현이 반드시 동일한 실시예를 지칭하는 것은 아니다.
본 발명의 실시예들은, 에이전트 기반 시스템에서 자원들이 단일 실체(또는 객체)로서 공유되는 적어도 2개의 개별적인 시스템들(또는 객체들)을 관리하기 위한 아키텍쳐 및 방법에 관한 것이다. 본 발명의 실시예들이 에이전트 기반 프레임워크에서의 오픈 제어 기술에 대해 설명되더라도, 본 발명의 실시예들은 다수의 관리되는 시스템들 또는 객체들이 자원들을 공유하는 임의의 에이전트 기반 시스템에 적용될 수 있다. 본 발명의 실시예들을 설명하기 이전에, 본 발명의 실시예들이 구현될 수 있는 예시적인 환경들이 설명될 것이다.
도 1은 통상적인 인터넷 데이터 센터(100)의 예시적인 블록도를 나타낸다. 도 1에 도시된 바와 같이, 통상적인 인터넷 데이터 센터는 다수의 컴퓨터, 네트워킹 장비 및 어플라이언스(appliances)들을 포함한다. 인터넷 데이터 센터(100)는 인터넷(106), 로드 밸런서(load balancer)(108), 프론트 엔드(front end)(110), 백엔드(back end)(114), 및 방화벽(122)을 포함한다. 클라이언트들(102) 및 관리자(104)는 인터넷 데이터 센터(100)와 통신하거나 및/또는 관리 및 모니터링하기 위해 인터넷 브라우저(도시 안됨)을 통해 각각 인터넷(106)에 연결된다. 로드 밸런서(108)는 방화벽(122)을 통해 인터넷(106), 프론트 엔드(110), 및 백엔드(114)에 연결된다. 방화벽(122)은 로드 밸런서(108), 프론트 엔드(110), 및 백엔드(114)에 연결된다.
프론트 엔드(110)는 다수의 웹 서버(112-1, ..., 112-5)를 포함한다. 웹 서버(112-1, ..., 112-5)는, 클라이언트(102) 및/또는 관리자(104)와 같은 사용자가 보기 위해 웹 페이지들을 브라우저로 전달하거나 제공하는 컴퓨터 시스템들이다. 웹 서버(112-1, ..., 112-5)는 사용자들이 웹 상의 문서들을 액세스하도록 HTML(hypertext markup language)를 저장한다.
백엔드(114)는 2개의 애플리케이션 서버(116-1, 116-2), 2개의 저장 장치(118-1, 118-2) 및 2개의 데이터베이스 서버(120-1, 120-2)를 포함한다. 애플리케이션 서버(116-1, 116-2)는 사용자들과 기업의 백엔드 비지니스 애플리케이션들 또는 데이터베이스들 간의 모든 애플리케이션 동작들을 다루는 컴퓨터 시스템들이다. 애플리케이션 서버(116-1, 116-2)는 통상적으로 고유 중복(builtin redundancy), 고성능 분산 애플리케이션 서비스들 및 복합 데이터베이스 액세스를 위한 지원을 갖는 것을 특징으로 한다. 저장 장치(118-1, 118-2)는 정보를 저장하는데 사용되고 관련 분야(들)의 당업자에게 잘 알려져 있다. 데이터베이스 서버(120-1, 120-2)는 질의들을 처리하는 컴퓨터 시스템들이다. 데이터베이스 서버(120-1, 120-2)는 데이터베이스 애플리케이션들로 구성된다. 데이터베이스 애플리케이션들은 2개 부분들로 분할된다. 제1 부분은 데이터를 표시하고 사용자(즉, 관리자(104) 및/또는 클라이언트(102))와 상호작용한다. 제2 부분은 데이터 무결성을 보존하고 데이터 저장 및 조작과 같은 대부분의 프로세서 집약형 작업을 처리한다.
인터넷(106)을 통해 전송 및 수신되는 데이터는 로드 밸런서(108)을 통과한다. 로드 밸런서(108)는 클라이언트(102) 및 관리자(104)로부터 들어오는 모든 데이터 요청들을 분석하고 그 요청들을 프론트 엔드(110) 내의 적절한 웹 서버(112-1, ..., 112-5)에 전달한다. 클라이언트 또는 관리자 요청은 웹 서버(112-1, ..., 112-5)중 하나에 저장된 특정 웹 페이지에 대한 것일 수 있다. 웹 페이지는 하나 이상의 애플리케이션 서버(116-1, 116-2), 하나 이상의 저장 장치(118-1, 118-2), 및/또는 하나 이상의 데이터베이스 서버(120-1, 120-2)에 의해 제공되는 내장형 객체들을 포함할 수 있다. 보안을 위해, 방화벽(122)은 프론트 엔드 웹 서버(112-1, ..., 112-5)와 백엔드 애플리케이션 서버(116-1, 116-2), 저장 장치(118-1, 118-2), 및 데이터베이서 서버(120-1, 120-2) 간의 데이터 트래픽을 모니터링 및 제어한다.
도 2는 인터넷 데이터 센터(200) 내의 오픈 제어 기술 컨트롤러를 예시하는 블록도이다. 오픈 제어 기술 컨트롤러(202)는 로드 밸런서(108), 프론트 엔드 웹 서버(112-1, ..., 112-5), 및 백엔드 애플리케이션 서버(116-1, 116-2), 저장 장ㅊ치(118-1, 118-2) 및 데이터베이스 서버(120-1, 120-2)에 연결된다. 오픈 제어 기술 컨트롤러(202)는 프론트 엔드(110) 및 백엔드(114) 내의 각 구성요소로부터의 정보를 관리, 모니터링 및 수집한다.
앞서 나타낸 바와 같이, 오픈 제어 기술 아키텍쳐는 인터넷 데이터 센터(200)의 인프라구조를 가상화하는 객체 모델을 정의한다. 가상화는 추상화 및 캡슐화를 사용하여 이루어진다. 추상화는 개별적인 서비스 구현의 복잡성을 감춘다. 캡슐화는 모델 내의 다양한 객체들 간의 관계를 표현한다.
도 3은 오픈 제어 기술 아키텍쳐를 위한 객체 모델(300)을 예시한다. 본 발명의 실시예들에서, 아키텍쳐 구성요소들은 하드웨어, 소프트웨어 또는 그들의 조합으로 구현될 수 있다. 객체 모델(300)은 클라이언트 인터페이스(302), 객체 관리기(304), 제공자 프레임워크(306), 제공자 인터페이스(308), 드라이버 인터페이스(310), 제공자들(312) 및 드라이버들(314)을 포함한다.
객체 관리기(304)는 오픈 제어 기술 아키텍쳐를 지원하는 객체 모델을 구현하는데 사용된다. 객체 관리기(304)는 객체들의 인스턴스들에 대한 동작들을 인스턴스화하고 수행하기 위한 메카니즘들을 제공한다. 3개의 인터페이스들이 이러한 동작들을 용이하게 하기 위해 제공된다. 인터페이스는 클라이언트 인터페이스(302), 제공자 인터페이스(308), 드라이버 인터페이스(310)를 포함한다.
클라이언트 인터페이스(302)는 객체 관리기(304)에 의해 제공되는 객체들을 구성, 질의 및/또는 조작하기 위해 클라이언트 애플리케이션들(316)에 의해 사용될 수 있는 API(application programming interface)를 제공한다. 예시적인 클라이언트 애플리케이션(316)은 GUI(graphical user interface)일 수 있다. 그래픽 사용자 인터페이스는 객체 인스턴스들이 표시되고 그래픽으로 조작될 수 있게 하는 객체 모델의 그래픽 외부 표현을 제공할 수 있다. 다른 클라이언트 애플리케이션(316)들은, 이벤트들, 상태 변화들, 또는 객체 관리기(304) 내의 객체들과 연관된 메소드들의 호출에 응답하는 규칙들을 미리 정의하기 위한 규칙 엔진들, 및 다른 자동화된 애플리케이션들을 포함할 수 있으나, 이에 한정되지 않는다.
드라이버 인터페이스(310)는 제공자 프레임워크(306)와 드라이버들(314)을 상호접속한다. 드라이버들(314)은 요청된 액션이 관리되는 서비스들 또는 자원들 상에서 실행될 수 있게 한다. 서비스들은 웹 서비스, 윈도우 서비스, 데이터베이스 서비스, 이메일 서비스 등을 포함할 수 있으나, 이에 한정되지 않는다. 자원들은 저장 장치, 데이터베이스, 로그(log) 등과 같은(이에 한정되지 않음) 시스템들의 하드웨어 및 소프트웨어 구성요소들을 포함할 수 있다. 드라이버 인터페이스(310)는, 객체 관리기(304)가 장치에 관리 동작을 수행하는 동작들(또는 APIs)의 세트이다. 관리 동작들은, 개시, 정지 및 상태 요청들을 포함하나, 이에 한정되지 않는다. 관리 동작 요청이 제공자 프레임워크(306)를 통해 전송된다.
제공자 인터페이스(308)는 드라이버들(314)을 제공자 프레임워크(306)와 상호접속시킨다. 관리되는 장치 또는 자원의 상태가 변경되는 경우, 드라이버들(314), 제공자들(312), 및 제공자 프레임워크(306) 간의 제공자 인터페이스(308)를 통한 상호작용은 객체 관리기(304)에 의해 관리되는 객체의 연관된 속성이 신뢰성있고 효율적으로 갱신되도록 한다.
제공자 프레임워크(306)는 새로운/서로 다른 유형들의 제공자들(312)이 객체 관리기(304)에 추가될 수 있게 한다. 새로운/서로 다른 유형의 제공자(312) 각각은, 객체 관리기(304)의 기능을 강화하기 위해 추가의 객체 클래스들 및/또는 동작들을 포함할 수 있다. 앞서 나타낸 바와 같이, 제공자 프레임워크(306)는 객체 관리기(304)에 의해 관리되는 객체로 표현되는 속성들에 대한 변화들이 드라이버들(314)로 전파될 수 있게 한다. 클라이언트 애플리케이션들(316)중 하나가 클라이언트 인터페이스(302)를 통해 객체의 메소드를 호출하는 경우, 관리되는 서비스 또는 자원들에 대한 요청된 액션을 궁극적으로 실행하기 위해 제공자 프레임워크(306)에 의해 액션이 드라이버들(314) 내에 신뢰성있고 효율적으로 호출된다.
앞서 나타낸 바와 같이, 종래의 오픈 제어 기술 아키텍쳐는 집단 자원들/서비스들이 에이전트 기반 프레임워크에서 단일 객체로 관리되고 모니터링되는 상황을 다룰 수 없다. 도 4는 적어도 2개의 개별적인 시스템들이 공통 자원들 및/또는 서비스들을 공유하려고 하는 경우 문제가 발생하는 오픈 제어 기술 아키텍쳐(400)의 단순화된 도면을 예시한다. 이러한 아키텍쳐가 작동하지 않는 이유에 대한 설명이 도 4를 참조하여 설명될 것이다.
아키텍쳐(400)는 컨트롤러(402) 및 예시적인 데이터 센터를 나타내는 다수의 시스템(M1, M2, M3)을 포함한다. 시스템(M1, M2, M3) 각각은 시스템(M1, M2, M3) 각각에 대해 컨트롤러(402)로부터의 커맨드들을 해석하고 컨트롤러(402)로 정보를 각각 송신하기 위한 에이전트(에이전트 1, 에이전트 2, 에이전트 3)을 포함한다. 에이전트(1, 2, 3)은 소프트웨어, 하드웨어 또는 그들의 조합으로 구현될 수 있다. 시스템(M1, M2, M3) 각각은 도 3을 참조하여 상술한 객체 모델에 따라 객체로서 표현된다. 시스템(M1, M2, M3) 각각은, 관리되고 모니터링되어야 하는, 프로세서들 및/또는 서비스/상주 프로그램(daemons)들과 같은(이에 한정되지 않음) 비집단 자원들/서비스들을 포함한다.
시스템(M1, M2)은 장애조치-집단 시스템(failover-clustered machine)으로 알려진 한 유형의 집단 시스템(408)을 나타낸다. 즉, 집단 시스템(408)은 시스템(M1, M2) 및 집단 자원들/서비스들(도 4에 "공유 R/S"로 도시됨)로 구성된다. 집단 자원들/서비스들은 시스템(M1, M2)에 의해 공유되고 윈도우 서비스, 데이터베이스 서비스, 애플리케이션 서비스, 웹 서비스, 디스크, 로그 등을 포함하나 이에 한정되지 않는다. 집단 시스템(408)의 목적은 집단 자원들/서비스들을 액세스하기 위한 장애시 안전(failsafe) 시스템으로 기능하는 것이다. 집단 자원들/서비스들이 컨트롤러(402)에 의해 액세스되는 경우, 한번에 시스템들중 단지 하나(M1 또는 M2)만이 요구된 공유 자원/서비스에 액세스할 수 있다. 따라서, 시스템(M1)이 요구된 공유 자원/서비스를 액세스하는데 이용가능하다면, 그 후 시스템(M2)은 무효 또는 비활성인 것으로 간주된다. 또한, 시스템(M2)이 요구된 공유 자원/서비스를 액세스하는데 이용가능하다면, 그 후 시스템(M1)은 무효 또는 비활성인 것으로 간주된다. 따라서, 시스템(M1)이 비활성이라면, 시스템(M1)은 장애조치(failover)될 것이고 시스템(M2)은 활성으로 될 것이며, 그 역도 마찬가지이다.
컨트롤러(402)는 시스템(M1, M2, M3)에 의해 제공되는 자원들 및 서비스들을 통합하고 관리하기 위한 관리 게이트웨이 역할을 한다. 컨트롤러(402)는, 그중에서도 특히, 제공자 인터페이스들(I/Fs)(404, 406)을 포함한다. 제공자 I/F(404)는 영구적인 표준 접속(410, 412)을 각각 사용하여 시스템(M1, M2) 상의 에이전트(1, 2)에 각각 연결된다. 제공자 I/F(406)는 영구적인 표준 접속(414)을 사용하여 시스템(M3) 상의 에이전트(3)에 연결된다. 표준 접속(410, 412, 414)은 개별적인 에이전트들(1, 2, 3)과 컨트롤러(402) 간의 관리 접속들을 제공한다.
컨트롤러(402)는 또한 인터넷(106) 및 로드 밸런서(108)를 통해 인터넷 브라우저(도시 안됨)을 사용하여 관리자(104) 및 클라이언트(102)와 통신한다. 컨트롤러(402)는 관리자(104) 및/또는 클라이언트(102)로부터 정보에 대한 요청들을 수집할 수 있다. 정보에 대한 요청이 비집단 자원/서비스로부터 획득가능한 경우, 컨트롤러(402)는 요청들로부터 커맨드들을 생성하고 커맨드들을 적절한 영구적인 표준 접속(410, 412, 또는 414)을 통해 정보가 검색될 시스템(M1, M2, 또는 M3) 상의 에이전트(에이전트 1, 2, 또는 3)에 송신한다. 비집단 자원들/서비스들에 대해, 시스템(M1, M2, M3) 각각은 개별적인 객체들로 독립적으로 작용하고 따라서, 동시에 모두 활성화될 수 있다.
제어기(402)는 관련 분야(들)의 당업자에게 잘 알려진, TCP/IP(Transmission Control Protocol/Internet Protocol)을 사용하여 시스템(M1, M2, M3)과 통신한다. TCP/IP는 네트워크 또는 데이터센터 내의 각 구성요소에 대해 고유 IP 주소를 제공한다.
컨트롤러(402)로부터 커맨드들을 수신한 후, 적절한 에이전트는 커맨드들을 해석하고, 자원 또는 서비스의 상태를 결정하는 것, 자원 또는 서비스로부터 정보를 획득하는 것 등과 같은 요청에 의해 요구되는 필요한 기능(들)을 수행할 것이다. 요청에 의해 요구되는 필요한 기능(들)을 수행한 후, 에이전트는 요청된 정보를 컨트롤러(402)에 송신할 것이다. 컨트롤러(402)는 다시 그 정보를 요청하는 실체(즉, 관리자(104) 또는 클라이언트(102))에 송신할 것이다.
시스템(M1, M2, M3) 상의 자원들 및 서비스들을 관리 및 모니터링하기 위해, 컨트롤러(402)는 시스템들중 하나(M1, M2, 또는 M3)에 위치하는 특정한 비집단 서비스 또는 자원으로부터 정보를 획득하는 것이 필요할 수 있다. 이러한 경우, 컨트롤러(402)는 커맨드들을 정보가 적절한 영구적인 표준 접속을 통해 검색될 시스템 상의 적절한 에이전트에 송신될 것이다. 다시, 적절한 에이전트는 그 커맨드들을 해석하고 정보를 얻는데 요구되는 필요한 기능(들)을 수행한다. 정보는 자원 또는 서비스의 상태, 자원 또는 서비스로부터의 정보 등 일 수 있다. 정보를 획득한 후, 에이전트는 대응하는 영구적인 표준 접속을 통해 정보를 컨트롤러(402)에 송신할 것이다.
앞서 기술한 바와 같이, 종래의 오픈 제어 기술 아키텍쳐와 연관된 문제들은, 장애조치 집단 시스템 내의 집단 자원들/서비스들이 컨트롤러(402)에 의해 관리되고 모니터링되는 경우 발생한다. 도 4에 설명된 에이전트 기반 관리 및 모니터링 솔루션에서, 각 시스템(M1, M2, M3)은, 비집단 자원들/서비스들이 활용되는 경우 컨트롤러(402)에 의해 조작 및 모니터링되는 독립형 관리 객체로 표현된다. 시스템(M1, M2)에 의해 공유되는 집단 자원들/서비스들의 경우, 동일한 공유 자원들/서비스들을 표현하는데 2개의 객체들이 요구된다. 컨트롤러(402)가 집단 시스템(408)으로부터의 공유 자원/서비스를 액세스하는 경우, 시스템(M1, M2)들중 단지 하나만이 활성화될 것이다. 따라서, 예를 들어, 컨트롤러(402)가 영구적인 표준 접속(410)을 통해 공유 자원/서비스로부터 정보에 대한 요청에 대한 커맨드를 시스템(M1)으로 송신하고 시스템(M1)이 비활성인 시스템이면, 컨트롤러(402)로 반환되는 응답은 시스템(M1)이 비활성이라는 것 또는 자원/서비스가 다운이라는 것을 나타낼 수 있다. 그 후 컨트롤러(402)는 정보가 검색될 수 없다고 가정할 것이다. 요청된 자원/서비스는 또한 시스템(M2)로부터 액세스가능하고 시스템(M2)는 활성이기 때문에 요청된 정보는 시스템(M2)로부터 검색될 수 있다. 그러나, 도 4에 제공된 아키텍쳐는, 요청이 영구적인 표준 접속(410)을 통해 송신되었기 때문에 시스템(M2)에 의한 정보의 검색을 가능케하기 위한 시스템(M2)에 대한 장애조치를 제공하지 않는다. 컨트롤러가 영구적인 접속(412)을 통해 시스템(M2)에 대해 커맨드들을 송신하고 시스템(M2)이 비활성인 경우 동일한 것이 마찬가지이며, 요청된 정보는 시스템(M1)으로부터 검색될 수 있다.
본 발명의 실시예들은 에이전트 기반 시스템에서 자원들이 단일 실체(또는 객체)로서 공유되는 적어도 2개의 개별적인 시스템들(또는 객체들)을 관리하기 위한 아키텍쳐 및 방법에 관한 것이다. 이는, 집단 시스템(408)과 같은, 장애조치 집단 시스템들에 대한 비영구적인(non-persistent) 가상 접속들을 제공하는 로컬 에이전트를 사용함으로써 달성된다. 집단 시스템을 2개의 개별적인 객체들로 표현하기 위한 장애조치 집단 시스템에 대한 영구적인 표준 접속 및 집단 시스템을 단일 객체로 표현하기 위한 장애조치 집단 시스템에 대한 비영구적인 가상 접속 모두를 사용하면, 컨트롤러(402)는 개별적인 비공유 자원들/서비스들 뿐만 아니라 단일 표현의 공유 자원들/서비스들로부터 정보를 얻을 수 있다.
도 5는 본 발명의 일 실시예에 따라 적어도 2개의 개별적인 시스템들이 공통 자원들을 공유할 수 있게 하는 에이전트 기반 오픈 제어 기술 아키텍쳐(500)의 단순화된 예시적인 도면을 나타낸다. 아키텍쳐(500)는 로컬 에이전트(502)가 추가되는 것을 제외하면 아키텍쳐(400)와 유사하다. 일 실시예에서, 로컬 에이전트(502)는 컨트롤러(402) 내에 상주한다. 다른 실시예에서, 로컬 에이전트(502)는 컨트롤러(402)에 연결된다. 로컬 에이전트(502)는 소프트웨어, 하드웨어 또는 그들의 조합으로 구현될 수 있다. 로컬 에이전트(502)는 다른 시스템으로부터 수행하기를 원하지 않는 소정의 태스크들을 실행하는데 사용될 수 있다. 예를 들어, 시스템(M1)이 실제 비활성이면, 시스템(M1)이 비활성인지를 결정하기 위해 시스템(M1)에 질의하는 것을 원하지 않는다.
본 발명의 일 실시예에서, 로컬 에이전트(502)는 집단 시스템(408)에 가상의 비영구적인 접속(504)(점선으로 도시됨)을 제공하는데 사용된다. 가상의 비영구적인 접속(504)으로 인해 로컬 에이전트(502)는 집단 시스템(408)을 단일 실체 또는 객체로 볼 수 있다. 가상의 비영구적인 접속(504)은 로컬 에이전트(502)가 단일의 고유 가상 IP 주소를 사용하여 시스템(M1) 및 시스템(M2) 모두에 접속할 수 있게 한다. 예를 들어, 시스템(M1)은 1.2.3.1의 IP 주소가 할당될 수 있고, 시스템(M2)는 1.2.3.2의 IP 주소가 할당될 수 있고 집단 시스템(408)은 1.2.3.3의 가상 IP 주소가 할당될 수 있다. 이로 인해 시스템(M1, M2) 및 시스템(M1, M2)의 조합(집단 시스템(408))은 각각 고유 IP 주소를 가질 수 있다. 시스템(M3)은 또한 예를 들어 1.2.3.4와 같은 고유 IP 주소가 할당될 수 있다.
일 실시예에서, 로컬 에이전트(502)는 집단 시스템(408)으로부터 공유 자원들/서비스들을 액세스하는데 사용된다. 앞서 설명된 바와 같이, 시스템들중 단지 하나(M1 또는 M2)만이 공유 자원들/서비스들을 액세스하는 때에 활성일 수 있다. 따라서, 컨트롤러(402)가 공유 자원/서비스로 향하는 커맨드들을 로컬 에이전트(502)로 송신하는 경우, 로컬 에이전트(502)는 오픈 가상 접속(504)일 것이고 커맨드들은 시스템(M1, M2) 모두에 송신될 것이다. 시스템(M1, M2) 모두가 커맨드들을 수신하더라도, 활성인 시스템만이 응답할 것이다. 이로 인해, 로컬 에이전트(502)는, 어느 시스템(M1 또는 M2)이 활성이고 커맨드들에 응답할 것인지를 알 필요가 없다.
아키텍쳐(500)를 사용하면, 도 4를 참조하여 상술한 바와 같이 410, 412, 414와 같은 영구적인 표준 접속들을 사용하여 비집단 자원들/서비스들이 액세스된다.
도 6은 본 발명의 일 실시예에 따라, 에이전트 기반 오픈 제어 기술 아키텍쳐가 공통 자원들이 공유되는 적어도 2개의 개별적인 시스템들을 다룰 수 있게 하는 방법을 설명한다. 본 발명은 흐름도(600)에 대해 본원에 설명된 실시예에 한정되지 않는다. 오히려, 본원에 제공된 계시들을 읽은 후 다른 기능적인 흐름도들이 본 발명의 범주 내에 있다는 것이 관련 분야(들)의 당업자들에게 자명할 것이다. 본 발명의 실시예들은 또한 자원들/서비스들을 공유하는 적어도 2개의 개별적인 시스템들에 한정되지 않는다. 관련 분야(들)의 당업자들은, 본 발명의 실시예들의 범주를 벗어나지 않으면서 2개 이상의 개별적인 시스템들이 자원들을 공유할 수 있다는 것을 알 수 있을 것이다. 프로세스는 프로세스가 즉시 블록 604로 진행하는 블록 602에서 시작한다.
블록 604에서, 컨트롤러(402)는 하나 이상의 공유 자원 및/또는 공유 서비스를 조작하기 위한 요청을 수신한다. 일 실시예에서, 요청은, 네트워크 상의 시스템들 또는 서버들이 적절하게 동작하고 있다고 확신하는 관리자(104)로부터 도달할 수 있다. 다른 실시예에서, 요청은 인터넷(106)으로부터 정보를 획득하는 사용자 또는 클라이언트(102)로부터 도달할 수 있다. 그 후 프로세스는 블록 606으로 진행한다.
블록 606에서, 컨트롤러(402)는 공유 자원/서비스를 포함하는 집단 시스템에 대해 도 5의 접속(504)과 같은 가상의 비영구적인 접속을 연다. 이는, 로컬 에이전트(502)를 사용하여 달성된다. 그 후 프로세스는 블록 608로 진행한다.
블록 608에서, 컨트롤러(402)는 요청으로부터 커맨드들을 생성하고 커맨드들을 로컬 에이전트(502)를 거쳐 가상 접속을 통해 공유 자원들을 포함하는 집단 시스템으로 송신한다. 그 후 프로세스는 블록 610으로 진행한다.
블록 610에서, 활성인 시스템이 트리거되어 커맨드들을 처리한다. 집단 시스템의 활성 시스템 내의 에이전트는 커맨드들을 해석하고, 커맨드들에 의해 요구되는 필요한 기능(들)을 수행하고 요청된 정보를 컨트롤러(402)에 송신할 것이다. 그 후 프로세스는 블록 612로 진행한다.
블록 612에서, 컨트롤러(402)는 로컬 에이전트(502)를 거쳐 가상의 비영구적인 접속(504)을 통해 요청된 정보를 수신한다. 그 후 컨트롤러(402)는 요청된 정보를 요청하는 실체(즉, 관리자(104) 또는 클라이언트(102))로 송신할 것이다. 그 후, 프로세스는 가상 접속(504)이 닫히는 블록 614로 진행한다. 대안적인 실시예에서, 가상 접속(504)은, 요청된 정보를 요청하는 실체로 송신하기 전에 닫힐 수 있다.
컨트롤러(402)는 또한 자신의 계발(edification)을 위해 공유 자원 및/또는 서비스로부터 정보에 대한 요청을 트리거할 수 있다. 그러한 정보는, 공유 자원 및/또는 서비스의 상태 확인을 포함할 수 있으나, 이에 한정되지 않는다. 도 7은 본 발명의 일 실시예에 따라, 에이전트 기반 오픈 제어 기술 아키텍쳐 내의 컨트롤러가 공유 자원 및/또는 서비스로부터 정보에 대한 요청을 트리거할 수 있게 하는 방법을 설명하는 흐름도(700)이다. 본 발명은 흐름도(700)에 대해 본원에 설명된 실시예에 한정되지 않는다. 오히려, 본원에 제공된 계시들을 읽은 후에 다른 기능적인 흐름도들이 본 발명의 범주 내에 있다는 것이 관련 분야(들)의 당업자에게 자명하게 될 것이다.
방법(700)의 프로세스는 도 6의 블록 606-610으로 기술된 방법(600)의 프로스세와 유사하다. 프로세스는 블록 702에서 시작하고 즉시 블록 704로 진행한다. 컨트롤러(402)가 공유 자원 및/또는 서비스를 조작하기 위한 요청을 수신하는 도 6의 블록 604의 프로세스와 달리, 블록 704에서는, 컨트롤러(402)가 스스로 요청을 생성한다. 즉, 컨트롤러(402)는 컨트롤러(402)가 공유 자원 및/또는 서비스로부터 필요로 하는 정보에 대한 요청을 (커맨드 형태로) 트리거한다. 그 후, 프로세스는 도 6을 참조하여 상술한 바와 같이 블록 606-610을 통해 계속된다. 에이전트가 가상의 비영구적인 접속(504)을 통해 집단 시스템(408) 내의 활성인 시스템으로부터 컨트롤러(402)에 요청된 정보를 송신한 후, 프로세스는 블록 706으로 진행한다.
블록 706에서, 컨트롤러(402)는 집단 시스템(408) 내의 활성인 시스템으로부터 정보를 수신한다. 일 실시예에서, 컨트롤러(402)는 필요한 경우 정보가 얻어진 공유 자원/서비스의 상태에 대해 관리자(104)에게 통지할 수 있다. 그 후 프로세스는 블록 614로 진행한다. 블록 614에서, 가상 접속(504)은 컨트롤러(402)를 통해 로컬 에이전트(502)에 의해 닫혀진다.
본 발명의 실시예들에서, 비영구적인 가상 접속(504)과 같은 비영구적인 가상 접속들이 계속적으로 생성 및 파괴된다. 본 발명의 일 실시예에서, 비영구적인 가상 접속의 보안을 보장하기 위해 보안 설비가 존재한다. 보안 설비는, 해커로부터의 접속이 컨트롤러 및 로컬 에이전트로부터의 신뢰된 접속이라고 장애조치 집단 시스템들이 생각하도록 속이고자 하는 해커로부터 에이전트 기반 시스템을 보호한다. 보안 설비는 영구적인 접속을 사용하여 달성된다. 영구적인 접속(신뢰된 접속으로도 표현됨)은 토큰, 사용자명, 암호 등과 같은(이에 한정되지 않음) "비밀" 정보를 장애조치 집단 시스템으로 전달하는데 사용된다. "비밀" 정보는 비영구적인 가상 접속을 생성하는데 사용된다. 즉, "비밀" 정보가 비영구적인 가상 접속에 의해 제공되지 않는다면, 장애조치 집단 시스템은 접속을 수용하지 않을 것이다.
일 실시예에서, 비밀 정보는 공개 암호 키 교환을 포함한다. 비밀 정보가 영구적인 접속을 통해 장애조치 집단 시스템에 주어지면, 비영구적인 접속을 통한 컨트롤러 및 로컬 에이전트는 공개 키를 사용하여 장애조치 집단 시스템으로 송신된 메시지들을 암호화하여야 하고 장애조치 집단 시스템은 비밀 키를 사용하여 그 메시지들을 복호/검증하여야 한다. 이러한 설비는 컨트롤러로부터의 메시지들이 인증된 것이라는 것을 확인시킨다.
본 발명의 실시예들은 하드웨어, 소프트웨어 또는 그들의 조합을 사용하여 구현될 수 있고 하나 이상의 컴퓨터 시스템들 또는 다른 처리 시스템들로 구현될 수 있다. 실제, 일 실시예에서, 본 발명은 본원에 기술된 기능을 수행할 수 있는 하나 이상의 컴퓨터 시스템들에 관한 것이다. 컴퓨터 시스템(800)의 예시적인 구현이 도 8에 도시된다. 다양한 실시예들이 이러한 예시적인 컴퓨터 시스템(800)으로 설명된다. 본 명세서를 읽은 후, 다른 컴퓨터 시스템들 및/또는 컴퓨터 아키텍쳐들을 사용하여 본 발명을 구현하는 방법이 관련 분야의 당업자들에게 자명하게 될 것이다.
컴퓨터 시스템(800)은 프로세서(803)와 같은 하나 이상의 프로세서들을 포함한다. 프로세서(803)는 통신 버스(902)에 접속된다. 컴퓨터 시스템(800)은 또한 주 메모리(802), 바람직하게는 RAM(random access memory)를 포함하고 또한 보조 메모리(810)를 포함할 수 있다. 보조 메모리(810)는 예를 들어, 하드 디스크 드라이브(812) 및/또는 플로피 디스크 드라이브, 자기 테이프 드라이브, 광 디스크 드라이브 등을 나타내는 착탈식 저장 드라이브(814)를 포함할 수 있다. 착탈식 저장 드라이브(814)는 착탈식 저장 유닛(818)에 대해 알려진 방식으로 판독 및/또는 기입한다. 착탈식 저장 유닛(818)은 착탈식 저장 드라이브(814)에 의해 판독 및 기입되는 플로피 디스크, 자기 테이프, 광 디스크 등을 나타낸다. 이해되는 바와 같이, 착탈식 저장 유닛(818)은 컴퓨터 소프트웨어 및/또는 데이터를 저장하고 있는 컴퓨터 사용가능 저장 매체를 포함한다.
대안적인 실시예들에서, 보조 메모리(810)는 컴퓨터 프로그램들 또는 다른 명령들이 컴퓨터 시스템(800)으로 로딩되게 하는 다른 유사한 수단을 포함할 수 있다. 그러한 수단은, 예를 들어 착탈식 저장 유닛(822) 및 인터페이스(820)를 포함할 수 있다. 그러한 것들의 예들은 (비디오 게임 장치들에서 발견되는 것과 같은) 프로그램 카트리지 및 카트리지 인터페이스, (EPROM(erasable programmable read-only memory) 또는 PROM(programmable read-only memory) 등과 같은) 착탈식 메모리 칩 및 관련 소켓, 및 다른 착탈식 저장 유닛들(822) 및 착탈식 저장 유닛(822)으로부터 컴퓨터 시스템(800)으로 소프트웨어 및 데이터가 전달될 수 있게 하는 인터페이스들(820)을 포함할 수 있다.
컴퓨터 시스템(800)은 또한 통신 인터페이스(824)를 포함할 수 있다. 통신 인터페이스(824)는 컴퓨터 시스템(800)과 외부 장치들 사이에서 소프트웨어 및 데이터가 전송될 수 있게 한다. 통신 인터페이스(824)의 예들은 모뎀, (이더넷 카드와 같은) 네트워크 인터페이스, 통신 포트, PCMCIA(personal computer memory card international association), 슬롯 및 카드, 무선 LAN(local area network) 인터페이스 등을 포함할 수 있다. 통신 인터페이스(824)를 통해 전송되는 소프트웨어 및 데이터는, 통신 인터페이스(824)에 의해 수신될 수 있는 전자, 전자기, 광 또는 다른 신호들일 수 있는 신호(828)들의 형태이다. 이러한 신호들(828)은 통신 경로(즉, 채널)(826)을 통해 통신 인터페이스(824)에 제공된다. 채널(826)은 신호들(828)을 운반하고 와이어 또는 케이블, 광 파이버, 전화선, 셀룰러 폰 링크, 무선 링크 및 다른 통신 채널들을 사용하여 구현될 수 있다.
본 명세서에서, "컴퓨터 프로그램 제품(computer program product)"은 착탈식 저장 유닛들(818, 822) 및 신호들(828)과 관련있다. 이러한 컴퓨터 프로그램 제품들은 컴퓨터 시스템(800)에 소프트웨어를 제공하는 수단이다. 본 발명의 실시예들은 그러한 컴퓨터 프로그램 제품들에 관한 것이다.
컴퓨터 프로그램들(컴퓨터 제어 로직으로도 불림)은 주 메모리(805) 및/또는 보조 메모리(810) 및/또는 컴퓨터 프로그램 제품에 저장된다. 컴퓨터 프로그램들은 또한 통신 인터페이스(824)를 통해 수신될 수 있다. 그러한 컴퓨터 프로그램들은, 실행되는 경우, 컴퓨터 시스템(800)이 본원에 설명된 본 발명의 특징들을 수행할 수 있게 한다. 특히, 컴퓨터 프로그램들은, 실행되는 경우, 프로세서(803)가 본 발명의 실시예들의 특징들을 수행할 수 있게 한다. 따라서, 그러한 컴퓨터 프로그램들은 컴퓨터 시스템(800)의 컨트롤러들을 나타낸다.
소프트웨어를 사용하여 본 발명이 구현되는 실시예에서, 소프트웨어는 컴퓨터 프로그램 제품에 저장되고 착탈식 저장 드라이브(814), 하드 드라이브(812) 또는 통신 인터페이스(824)를 사용하여 컴퓨터 시스템(800)에 로딩될 수 있다. 제어 로직(소프트웨어)은, 프로세서(803)에 의해 실행되는 경우, 프로세서(803)가 본원에 설명된 본 발명의 기능들을 수행할 수 있게 한다.
다른 실시예에서, 본 발명은, 예를 들어 ASICs(application specific integrated circuits)과 같은 하드웨어 구성요소들을 사용하여 주로 하드웨어로 구현된다. 본원에 설명된 기능들을 수행하도록 하드웨어 상태 시스템(들)을 구현하는 것은, 관련 분야(들)의 당업자에게 자명할 것이다. 또 다른 실시예에서, 본 발명은 하드웨어 및 소프트웨어 모두의 조합을 사용하여 구현된다.
본 발명의 다양한 실시예들이 상술되었으나, 이들은 단지 예로서 제공될 뿐이며 한정하는 것이 아니라는 것을 이해하여야 한다. 첨부된 청구범위에 정의된 본 발명의 사상 및 범위를 벗어나지 않고 형태 및 상세에 있어 다양한 변화들이 이루어질 수 있다는 것을 본 기술분야의 당업자는 이해할 것이다. 따라서, 본 발명의 넓이 및 범위는 상술한 예시적인 임의의 실시예들에 의해 한정되지 않고 다음의 청구범위 및 그 등가물들에 따라 정의되어야 한다.
Claims (37)
- 에이전트 기반 시스템을 관리하는 방법으로서,가상의 비영구적인 접속(virtual non-persistent connection)을 여는 단계;상기 가상의 비영구적인 접속을 통해 제1 커맨드 세트를 공유 자원들/서비스들을 포함하는 집단 시스템(clustered machine)으로 송신하는 단계;상기 집단 시스템 내의 활성인 시스템을 트리거하여 상기 제1 커맨드 세트를 처리하는 단계;상기 제1 커맨드 세트의 처리 결과로서 상기 활성 시스템으로부터의 정보를 수신하는 단계; 및상기 가상 접속을 닫는 단계를 포함하는 방법.
- 제1항에 있어서,가상의 비영구적인 접속을 열기 전에,하나 이상의 공유 자원들/서비스들을 조작하는 요청을 사용자로부터 수신하는 단계; 및상기 요청을 획득하기 위해 상기 제1 커맨트 세트를 생성하는 단계를 더 포함하는 방법.
- 제2항에 있어서,사용자는 관리자 및 클라이언트를 포함하는 방법.
- 제1항에 있어서,가상의 비영구적인 접속을 열기 전에,정보에 대한 요청을 트리거하는 단계; 및상기 요청을 획득하기 위해 상기 제1 커맨드 세트를 생성하는 단계를 더 포함하는 방법.
- 제1항에 있어서,상기 가상의 비영구적인 접속을 통해 상기 제1 커맨드 세트를 공유 자원들/서비스들을 포함하는 집단 시스템에 송신하는 단계는, 가상 인터넷 프로토콜(IP) 주소를 사용하여 상기 집단 시스템에 상기 제1 커맨드 세트를 송신하는 단계를 더 포함하고, 상기 가상의 비영구적인 접속 및 상기 가상 IP 주소는, 자원들/서비스들이 공유되는 적어도 2개의 개별적인 시스템들을 갖는 상기 집단 시스템이 단일 실체(entity)로서 표현될 수 있게 하는 방법.
- 제1항에 있어서,상기 가상의 비영구적인 접속을 통해 상기 제1 커맨드 세트를 공유 자원들/서비스들을 포함하는 집단 시스템에 송신하는 단계는, 가상 인터넷 프로토콜(IP) 주소를 사용하여 상기 집단 시스템에 상기 제1 커맨드 세트를 송신하는 단계를 더 포함하고, 상기 가상의 비영구적인 접속 및 상기 가상 IP 주소는, 자원들/서비스들이 공유되는 적어도 2개의 개별적인 객체들을 갖는 상기 집단 시스템이 단일 객체로서 표현될 수 있게 하는 방법.
- 제1항에 있어서,가상의 비영구적인 접속을 여는 단계는 로컬 에이전트를 사용하여 상기 가상의 비영구적인 접속을 여는 단계를 포함하는 방법.
- 제1항에 있어서,상기 집단 시스템 내의 활성 시스템을 트리거하여 상기 제1 커맨드 세트를 처리하는 단계는, 상기 활성 시스템 상의 에이전트가,상기 제1 커맨드 세트를 해석하고;상기 제1 커맨드 세트에 의해 요구되는 기능들을 수행하고;상기 가상의 비영구적인 접속을 통해 상기 제1 커맨드 세트에 관한 정보를 반환할 수 있게 하는 단계를 더 포함하는 방법.
- 제1항에 있어서,상기 제1 커맨드 세트의 처리 결과로서 상기 활성 시스템으로부터의 정보를 수신하는 단계는, 요청하는 실체로 상기 정보를 송신하는 단계를 더 포함하는 방법.
- 제1항에 있어서,비집단(non-clustered) 자원들/서비스들에 대한 요청을 사용자로부터 수신하는 단계;비집단 자원들/서비스들에 대한 상기 요청을 획득하기 위해 제2 커맨드 세트를 생성하는 단계;영구적인 접속을 통해 상기 제2 커맨드 세트를, 상기 비집단 자원들/서비스들이 상주하는 시스템에 송신하는 단계상기 시스템 상의 에이전트가 상기 제2 커맨드 세트를 처리할 수 있게 하는 단계; 및상기 제2 커맨드 세트의 처리 결과로서 상기 에이전트로부터의 정보를 수신하는 단계를 더 포함하는 방법.
- 제10항에 있어서,상기 비집단 자원/서비스가 상주하는 상기 시스템은 하나의 객체로서 표현되는 비집단 시스템중 하나 및 적어도 2개의 개별적인 시스템들을 가지는 집단 시스템을 포함하고, 상기 적어도 2개의 개별적인 시스템들은 2개의 개별적인 객체들로 표현되고, 상기 영구적인 접속을 통해 상기 제2 커맨드 세트를 상기 비집단 자원/서비스가 상주하는 상기 시스템으로 송신하는 단계는 상기 영구적인 접속을 통해 상기 제2 커맨드 세트를 상기 집단 시스템 내의 상기 적어도 2개의 개별적인 시스템들중 하나로 송신하는 단계를 포함하며, 상기 집단 시스템 내의 상기 적어도 2개의 개별적인 시스템들 각각은 개별적이고 영구적인 접속을 갖는 방법.
- 제10항에 있어서,상기 시스템 상의 에이전트가 상기 제2 커맨드 세트를 처리할 수 있게 하는 단계는,상기 에이전트가 상기 제2 커맨드 세트를 해석할 수 있게 하는 단계;상기 제2 커맨드 세트에 의해 요구되는 기능들을 상기 에이전트가 수행할 수 있게 하는 단계; 및상기 에이전트가 상기 영구적인 접속을 통해 상기 제2 커맨드 세트에 관한 정보를 반환할 수 있게 하는 단계를 더 포함하는 방법.
- 제10항에 있어서,상기 수신된 정보를 상기 사용자에게 송신하는 단계를 더 포함하는 방법.
- 제1항에 있어서,비집단 자원들/서비스들에 대한 요청을 개시하는 단계;비집단 자원들/서비스들에 대한 상기 요청을 획득하기 위해 제2 커맨드 세트를 생성하는 단계;상기 비집단 자원/서비스가 상주하는 시스템에 영구적인 접속을 통해 상기 제2 커맨드 세트를 송신하는 단계;상기 시스템 상의 에이전트가 상기 제2 커맨드 세트를 처리할 수 있게 하는 단계; 및상기 제2 커맨드 세트를 처리한 결과로서 상기 에이전트로부터의 정보를 수신하는 단계를 더 포함하는 방법.
- 제14항에 있어서,상기 비집단 자원/서비스가 상주하는 상기 시스템은 하나의 객체로서 표현되는 비집단 시스템중 하나 및 적어도 2개의 개별적인 시스템들을 갖는 집단 시스템을 포함하고, 상기 적어도 2개의 개별적인 시스템들은 2개의 개별적인 객체들로서 표현되고, 상기 비집단 자원/서비스가 상주하는 상기 시스템에 상기 영구적인 접속을 통해 상기 제2 커맨드 세트를 송신하는 단계는 상기 집단 시스템 내의 상기 적어도 2개의 개별적인 시스템들중 하나에 상기 영구적인 접속을 통해 상기 제2 커맨드 세트를 송신하는 단계를 포함하며, 상기 집단 시스템 내의 상기 적어도 2개의 개별적인 시스템들 각각은 개별적이고 영구적인 접속을 갖는 방법.
- 제14항에 있어서,상기 시스템 상의 에이전트가 상기 제2 커맨드 세트를 처리할 수 있게 하는 단계는,상기 에이전트가 상기 제2 커맨드 세트를 해석할 수 있게 하는 단계;상기 에이전트가 상기 제2 커맨드 세트에 의해 요구되는 필요한 기능들을 수행할 수 있게 하는 단계; 및상기 에이전트가 상기 영구적인 접속을 통해 상기 제2 커맨드 세트에 관한 정보를 반환할 수 있게 하는 단계를 더 포함하는 방법.
- 다수의 시스템 액세스가능 명령들을 포함하는 저장 매체를 포함하는 물품으로서,상기 명령들이 프로세서에 의해 실행되는 경우,가상의 비영구적인 접속을 여는 단계;상기 가상의 비영구적인 접속을 통해 제1 커맨드 세트를 공유 자원들/서비스들을 포함하는 집단 시스템으로 송신하는 단계;상기 집단 시스템 내의 활성 시스템을 트리거하여 상기 제1 커맨드 세트를 처리하는 단계;상기 제1 커맨드 세트를 처리하는 결과로서 상기 활성 시스템으로부터의 정보를 수신하는 단계; 및상기 가상 접속을 닫는 단계를 상기 명령들이 제공하는 물품.
- 제17항에 있어서,하나 이상의 공유 자원들/서비스들을 조작하기 위한 요청을 사용자로부터 수신하는 단계; 및상기 요청을 획득하기 위해 상기 제1 커맨드 세트를 생성하는 단계를 위한 명령들을 더 포함하는 물품.
- 제18항에 있어서,사용자는 관리자 및 클라이언트중 하나를 포함하는 물품.
- 제17항에 있어서,정보에 대한 요청을 트리거하는 단계; 및상기 요청을 획득하기 위해 상기 제1 커맨드 세트를 생성하는 단계를 위한 명령들을 더 포함하는 물품.
- 제17항에 있어서,상기 가상의 비영구적인 접속을 통해 상기 제1 커맨드 세트를 공유 자원들/서비스들을 포함하는 집단 시스템에 송신하는 단계를 위한 명령들은, 가상 인터넷 프로토콜(IP) 주소를 사용하여 상기 집단 시스템에 상기 제1 커맨드 세트를 송신하는 단계를 위한 명령들을 더 포함하고, 상기 가상의 비영구적인 접속 및 상기 가상 IP 주소는, 자원들/서비스들이 공유되는 적어도 2개의 개별적인 시스템들을 갖는 상기 집단 시스템이 단일 실체(entity)로서 표현될 수 있게 하는 물품.
- 제17항에 있어서,상기 가상의 비영구적인 접속을 통해 상기 제1 커맨드 세트를 공유 자원들/서비스들을 포함하는 집단 시스템에 송신하는 단계를 위한 명령들은, 가상 인터넷 프로토콜(IP) 주소를 사용하여 상기 집단 시스템에 상기 제1 커맨드 세트를 송신하는 단계를 위한 명령들을 더 포함하고, 상기 가상의 비영구적인 접속 및 상기 가상 IP 주소는, 자원들/서비스들이 공유되는 적어도 2개의 개별적인 객체들을 갖는 상기 집단 시스템이 단일 객체로서 표현될 수 있게 하는 물품.
- 제17항에 있어서,가상의 비영구적인 접속을 여는 단계를 위한 명령들은 로컬 에이전트를 사용하여 상기 가상의 비영구적인 접속을 여는 단계를 위한 명령들을 포함하는 물품.
- 제17항에 있어서,상기 집단 시스템 내의 활성 시스템을 트리거하여 상기 제1 커맨드 세트를 처리하는 단계를 위한 명령들은, 상기 활성 시스템 상의 에이전트가,상기 제1 커맨드 세트를 해석하고;상기 제1 커맨드 세트에 의해 요구되는 기능들을 수행하고;상기 가상의 비영구적인 접속을 통해 상기 제1 커맨드 세트에 관한 정보를 반환할 수 있게 하는 단계를 위한 명령들을 더 포함하는 물품.
- 제17항에 있어서,상기 제1 커맨드 세트의 처리 결과로서 상기 활성 시스템으로부터의 정보를 수신하는 단계를 위한 명령들은, 요청하는 실체로 상기 정보를 송신하는 단계를 위한 명령들을 더 포함하는 물품.
- 제17항에 있어서,비집단 자원들/서비스들에 대한 요청을 사용자로부터 수신하는 단계;비집단 자원들/서비스들에 대한 상기 요청을 획득하기 위해 제2 커맨드 세트를 생성하는 단계;영구적인 접속을 통해 상기 제2 커맨드 세트를, 상기 비집단 자원/서비스가 상주하는 시스템에 송신하는 단계;상기 시스템 상의 에이전트가 상기 제2 커맨드 세트를 처리할 수 있게 하는 단계; 및상기 제2 커맨드 세트의 처리 결과로서 상기 에이전트로부터의 정보를 수신하는 단계를 위한 명령들을 더 포함하는 물품.
- 제26항에 있어서,상기 비집단 자원/서비스가 상주하는 상기 시스템은 하나의 객체로서 표현되는 비집단 시스템중 하나 및 적어도 2개의 개별적인 시스템들을 가지는 집단 시스템을 포함하고, 상기 적어도 2개의 개별적인 시스템들은 2개의 개별적인 객체들로 표현되고, 상기 영구적인 접속을 통해 상기 제2 커맨드 세트를 상기 비집단 자원/서비스가 상주하는 상기 시스템으로 송신하는 단계를 위한 명령들은 상기 영구적인 접속을 통해 상기 제2 커맨드 세트를 상기 집단 시스템 내의 상기 적어도 2개의 개별적인 시스템들중 하나로 송신하는 단계를 위한 명령들을 포함하며, 상기 집단 시스템 내의 상기 적어도 2개의 개별적인 시스템들 각각은 개별적이고 영구적인 접속을 갖는 물품.
- 제27항에 있어서,상기 시스템 상의 에이전트가 상기 제2 커맨드 세트를 처리할 수 있게 하는 단계를 위한 명령들은,상기 에이전트가 상기 제2 커맨드 세트를 해석할 수 있게 하는 단계;상기 제2 커맨드 세트에 의해 요구되는 필요한 기능들을 상기 에이전트가 수행할 수 있게 하는 단계; 및상기 에이전트가 상기 영구적인 접속을 통해 상기 제2 커맨드 세트에 관한 정보를 반환할 수 있게 하는 단계를 위한 명령들을 더 포함하는 물품.
- 제27항에 있어서,상기 수신된 정보를 상기 사용자에게 송신하는 단계를 위한 명령들을 더 포함하는 물품.
- 제17항에 있어서,비집단 자원들/서비스들에 대한 요청을 개시하는 단계;비집단 자원들/서비스들에 대한 상기 요청을 획득하기 위해 제2 커맨드 세트를 생성하는 단계;상기 비집단 자원/서비스가 상주하는 시스템에 영구적인 접속을 통해 상기 제2 커맨드 세트를 송신하는 단계;상기 시스템 상의 에이전트가 상기 제2 커맨드 세트를 처리할 수 있게 하는 단계; 및상기 제2 커맨드 세트를 처리한 결과로서 상기 에이전트로부터의 정보를 수신하는 단계를 위한 명령들을 더 포함하는 물품.
- 제30항에 있어서,상기 비집단 자원/서비스가 상주하는 상기 시스템은 하나의 객체로서 표현되는 비집단 시스템중 하나 및 적어도 2개의 개별적인 시스템들을 갖는 집단 시스템을 포함하고, 상기 적어도 2개의 개별적인 시스템들은 2개의 개별적인 객체들로서 표현되고, 상기 비집단 자원/서비스가 상주하는 상기 시스템에 상기 영구적인 접속을 통해 상기 제2 커맨드 세트를 송신하는 단계를 위한 명령들은 상기 집단 시스템 내의 상기 적어도 2개의 개별적인 시스템들중 하나에 상기 영구적인 접속을 통해 상기 제2 커맨드 세트를 송신하는 단계를 위한 명령들을 포함하며, 상기 집단 시스템 내의 상기 적어도 2개의 개별적인 시스템들 각각은 개별적이고 영구적인 접속을 갖는 물품.
- 제30항에 있어서,상기 시스템 상의 에이전트가 상기 제2 커맨드 세트를 처리할 수 있게 하는 단계를 위한 명령들은,상기 에이전트가 상기 제2 커맨드 세트를 해석할 수 있게 하는 단계;상기 에이전트가 상기 제2 커맨드 세트에 의해 요구되는 기능들을 수행할 수 있게 하는 단계; 및상기 에이전트가 상기 영구적인 접속을 통해 상기 제2 커맨드 세트에 관한 정보를 반환하게 하는 단계를 위한 명령들을 더 포함하는 물품.
- 에이전트 기반 관리 시스템으로서,컨트롤러;상기 컨트롤러에 연결되는 로컬 에이전트;적어도 하나의 집단 시스템 - 상기 적어도 하나의 집단 시스템은 적어도 2개의 개별적인 에이전트들을 포함하며, 상기 적어도 2개의 개별적인 에이전트들은 적어도 하나의 공유 자원/서비스를 공유함 - ; 및상기 로컬 에이전트에 상기 적어도 2개의 개별적인 에이전트들을 연결하기 위한 가상의 비영구적인 접속을 포함하고,상기 적어도 하나의 공유 자원/서비스는, 상기 적어도 하나의 집단 시스템의 상기 적어도 2개의 개별적인 에이전트들이 단일 객체로서 표현될 수 있도록 가상 IP 주소를 사용하여 상기 가상의 비영구적인 접속을 통해 상기 로컬 에이전트에 의해 액세스되는 시스템.
- 제33항에 있어서,상기 적어도 2개의 개별적인 에이전트들 각각은 적어도 하나의 비집단 자원/서비스를 포함하고, 상기 시스템은 적어도 2개의 영구적인 접속들을 더 포함하고, 상기 적어도 2개의 영구적인 접속들 각각은 상기 컨트롤러, 및 상기 적어도 2개의 개별적인 에이전트들중 하나에 연결되고, 상기 적어도 2개의 영구적인 접속은 상기 컨트롤러가 상기 적어도 2개의 개별적인 에이전트들 각각의 상기 적어도 하나의 비집단 자원/서비스를 각각 액세스할 수 있게 하고, 상기 적어도 하나의 집단 시스템의 상기 적어도 2개의 개별적인 에이전트들이 적어도 2개의 객체들로서 표현될 수 있게 하는 시스템.
- 제33항에 있어서,에이전트 및 적어도 하나의 비집단 자원/서비스를 갖는 적어도 하나의 비집단 시스템을 더 포함하고, 상기 적어도 하나의 비집단 시스템은, 상기 컨트롤러가 상기 적어도 하나의 비집단 자원/서비스로부터의 정보에 액세스할 수 있게 하기 위해 영구적인 접속을 사용하여 상기 컨트롤러에 연결되는 시스템.
- 제33항에 있어서,상기 공유 자원/서비스에 대한 액세스는 상기 적어도 2개의 개별적인 에이전트들중 하나로부터만 액세스가능한 시스템.
- 제33항에 있어서,상기 컨트롤러는, 관리자들 및 클라이언트들이 상기 컨트롤러와 통신할 수 있게 하기 위해 상기 인터넷에 연결되는 시스템.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/393,622 | 2003-03-21 | ||
US10/393,622 US7313619B2 (en) | 2003-03-21 | 2003-03-21 | System and method for managing distributed objects as a single representation |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20050122213A true KR20050122213A (ko) | 2005-12-28 |
KR100859611B1 KR100859611B1 (ko) | 2008-09-23 |
Family
ID=32988189
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020057017703A KR100859611B1 (ko) | 2003-03-21 | 2004-02-25 | 분산 객체들을 단일 표현으로 관리하기 위한 시스템 및방법 |
Country Status (8)
Country | Link |
---|---|
US (5) | US7313619B2 (ko) |
JP (1) | JP4307448B2 (ko) |
KR (1) | KR100859611B1 (ko) |
CN (1) | CN100367214C (ko) |
DE (1) | DE112004000460T5 (ko) |
GB (1) | GB2415814B (ko) |
TW (1) | TWI242141B (ko) |
WO (1) | WO2004095269A2 (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170115085A (ko) * | 2015-02-10 | 2017-10-16 | 유니버샬 일렉트로닉스 인코포레이티드 | 시스템의 상태를 수집하고 분석하는 시스템 및 방법 |
Families Citing this family (46)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7313619B2 (en) | 2003-03-21 | 2007-12-25 | Intel Corporation | System and method for managing distributed objects as a single representation |
WO2004091138A1 (en) * | 2003-04-04 | 2004-10-21 | Computer Associates Think, Inc. | Method and system of alert notification |
US7715934B2 (en) | 2003-09-19 | 2010-05-11 | Macrovision Corporation | Identification of input files using reference files associated with nodes of a sparse binary tree |
US7877810B2 (en) * | 2004-03-02 | 2011-01-25 | Rovi Solutions Corporation | System, method and client user interface for a copy protection service |
US20060031520A1 (en) * | 2004-05-06 | 2006-02-09 | Motorola, Inc. | Allocation of common persistent connections through proxies |
US20050283531A1 (en) * | 2004-06-17 | 2005-12-22 | International Business Machines Corporation | Method and apparatus for combining resource properties and device operations using stateful Web services |
US20060069774A1 (en) * | 2004-06-17 | 2006-03-30 | International Business Machine Corporation | Method and apparatus for managing data center using Web services |
US8204931B2 (en) | 2004-12-28 | 2012-06-19 | Sap Ag | Session management within a multi-tiered enterprise network |
US20060248283A1 (en) * | 2005-04-29 | 2006-11-02 | Galin Galchev | System and method for monitoring threads in a clustered server architecture |
US7853698B2 (en) * | 2005-04-29 | 2010-12-14 | Sap Ag | Internal persistence of session state information |
US8762547B2 (en) * | 2005-04-29 | 2014-06-24 | Sap Ag | Shared memory implementations for session data within a multi-tiered enterprise network |
US20060248199A1 (en) * | 2005-04-29 | 2006-11-02 | Georgi Stanev | Shared closure persistence of session state information |
US7761435B2 (en) * | 2005-04-29 | 2010-07-20 | Sap Ag | External persistence of session state information |
US8024566B2 (en) * | 2005-04-29 | 2011-09-20 | Sap Ag | Persistent storage implementations for session data within a multi-tiered enterprise network |
US8589562B2 (en) | 2005-04-29 | 2013-11-19 | Sap Ag | Flexible failover configuration |
US7809943B2 (en) * | 2005-09-27 | 2010-10-05 | Rovi Solutions Corporation | Method and system for establishing trust in a peer-to-peer network |
US8086722B2 (en) * | 2005-12-21 | 2011-12-27 | Rovi Solutions Corporation | Techniques for measuring peer-to-peer (P2P) networks |
US8707323B2 (en) | 2005-12-30 | 2014-04-22 | Sap Ag | Load balancing algorithm for servicing client requests |
US8103698B2 (en) * | 2007-02-28 | 2012-01-24 | Jianwen Yin | Methods, apparatus and media for system management of object oriented information models |
CN101256510B (zh) * | 2008-04-11 | 2010-06-16 | 中兴通讯股份有限公司 | 一种集群系统及实现其集中管理的方法 |
US9639331B2 (en) * | 2008-07-09 | 2017-05-02 | International Business Machines Corporation | Service interface creation and modification for object-oriented services |
US9329951B2 (en) | 2009-07-31 | 2016-05-03 | Paypal, Inc. | System and method to uniformly manage operational life cycles and service levels |
US9172766B2 (en) * | 2011-01-10 | 2015-10-27 | Fiberlink Communications Corporation | System and method for extending cloud services into the customer premise |
US9015304B2 (en) * | 2012-06-15 | 2015-04-21 | Citrix Systems, Inc. | Systems and methods for supporting a SNMP request over a cluster |
TWI461907B (zh) * | 2012-10-11 | 2014-11-21 | Mstar Semiconductor Inc | 配合多個應用程式之整合系統和測試系統 |
CN103810019B (zh) * | 2014-02-08 | 2017-03-01 | 南开大学 | 一种支持进程粒度网络计算的虚拟计算环境系统 |
US10437720B2 (en) * | 2014-03-12 | 2019-10-08 | Optumsoft, Inc. | Deferred destruction for efficient resource reclamation |
US9128779B1 (en) | 2014-07-31 | 2015-09-08 | Splunk Inc. | Distributed tasks for retrieving supplemental job information |
US10642594B2 (en) * | 2014-11-21 | 2020-05-05 | Sap Se | System and method for updating monitoring software using content model with validity attributes |
US10101993B2 (en) * | 2014-11-21 | 2018-10-16 | Sap Se | System and method for updating content without downtime |
US20160147852A1 (en) * | 2014-11-21 | 2016-05-26 | Arndt Effern | System and method for rounding computer system monitoring data history |
CN104378449B (zh) * | 2014-12-09 | 2017-07-14 | 飞天诚信科技股份有限公司 | 一种虚拟ip的实现方法 |
US10003498B2 (en) * | 2015-06-29 | 2018-06-19 | Ca, Inc. | Efficient management of network configuration-dependent network functionality |
US10084657B2 (en) | 2015-06-29 | 2018-09-25 | Ca, Inc. | Normalized software-defined networking interface |
US10924473B2 (en) * | 2015-11-10 | 2021-02-16 | T Stamp Inc. | Trust stamp |
CN107135242B (zh) * | 2016-02-29 | 2020-06-05 | 阿里巴巴集团控股有限公司 | Mongodb集群访问方法、装置及系统 |
KR101648568B1 (ko) * | 2016-03-09 | 2016-08-16 | 주식회사 티맥스 소프트 | 분산된 객체를 클러스터링하여 하나의 객체처럼 활용하는 방법 및 이를 사용한 분산 시스템 |
CN106095526A (zh) * | 2016-06-06 | 2016-11-09 | 腾讯科技(深圳)有限公司 | 虚拟服务器集群及其服务器的部署方法、装置以及系统 |
US11025436B2 (en) * | 2017-03-01 | 2021-06-01 | Banco Bilbao Vizcaya Argentaria, S.A. | Self-authenticating digital identity |
US11093771B1 (en) | 2018-05-04 | 2021-08-17 | T Stamp Inc. | Systems and methods for liveness-verified, biometric-based encryption |
US11496315B1 (en) | 2018-05-08 | 2022-11-08 | T Stamp Inc. | Systems and methods for enhanced hash transforms |
US11301586B1 (en) | 2019-04-05 | 2022-04-12 | T Stamp Inc. | Systems and processes for lossy biometric representations |
US11343329B1 (en) * | 2019-05-20 | 2022-05-24 | Amazon Technologies, Inc. | Techniques for increasing persistent connection scalability |
CN110764742B (zh) * | 2019-10-18 | 2023-05-23 | 成都信息工程大学 | 一种气候观测数据线性相关度高速计算方法及系统 |
US11967173B1 (en) | 2020-05-19 | 2024-04-23 | T Stamp Inc. | Face cover-compatible biometrics and processes for generating and using same |
US12079371B1 (en) | 2021-04-13 | 2024-09-03 | T Stamp Inc. | Personal identifiable information encoder |
Family Cites Families (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5396590A (en) * | 1992-09-17 | 1995-03-07 | Apple Computer, Inc. | Non-modal method and apparatus for manipulating graphical objects |
US5872973A (en) * | 1995-10-26 | 1999-02-16 | Viewsoft, Inc. | Method for managing dynamic relations between objects in dynamic object-oriented languages |
US6553428B1 (en) * | 1996-11-18 | 2003-04-22 | International Business Machines Corporation | Distributed object instantiation of native objects in java |
US6628965B1 (en) * | 1997-10-22 | 2003-09-30 | Dynamic Mobile Data Systems, Inc. | Computer method and system for management and control of wireless devices |
US6434532B2 (en) * | 1998-03-12 | 2002-08-13 | Aladdin Knowledge Systems, Ltd. | Interactive customer support for computer programs using network connection of user machine |
US6243753B1 (en) * | 1998-06-12 | 2001-06-05 | Microsoft Corporation | Method, system, and computer program product for creating a raw data channel form an integrating component to a series of kernel mode filters |
US6731627B1 (en) * | 1998-11-17 | 2004-05-04 | Cisco Technology, Inc. | Virtual loop carrier system |
WO2000029949A2 (en) | 1998-11-18 | 2000-05-25 | The Johns Hopkins University | Enhanced virtual executor |
JP4015770B2 (ja) | 1998-12-22 | 2007-11-28 | 株式会社東芝 | クラスタシステム、サーバ計算機及び負荷分散方法 |
US6438705B1 (en) * | 1999-01-29 | 2002-08-20 | International Business Machines Corporation | Method and apparatus for building and managing multi-clustered computer systems |
US6308163B1 (en) * | 1999-03-16 | 2001-10-23 | Hewlett-Packard Company | System and method for enterprise workflow resource management |
US6615166B1 (en) * | 1999-05-27 | 2003-09-02 | Accenture Llp | Prioritizing components of a network framework required for implementation of technology |
US6597956B1 (en) * | 1999-08-23 | 2003-07-22 | Terraspring, Inc. | Method and apparatus for controlling an extensible computing system |
US20020120741A1 (en) * | 2000-03-03 | 2002-08-29 | Webb Theodore S. | Systems and methods for using distributed interconnects in information management enviroments |
US20020152305A1 (en) * | 2000-03-03 | 2002-10-17 | Jackson Gregory J. | Systems and methods for resource utilization analysis in information management environments |
US6981267B1 (en) * | 2000-06-16 | 2005-12-27 | Microsoft Corporation | System and method for parallel asynchronous execution of commands |
US7171441B2 (en) * | 2000-09-07 | 2007-01-30 | Fujitsu Limited | Virtual communication channel and virtual private community, and agent collaboration system and agent collaboration method for controlling the same |
US7533333B2 (en) * | 2001-02-14 | 2009-05-12 | Ricoh Co., Ltd. | Object-oriented method and system of remote diagnostic, control and information collection using multiple formats and multiple protocols |
US6854121B2 (en) * | 2001-02-16 | 2005-02-08 | Canon U.S.A., Inc. | Command interface to object-based architecture of software components for extending functional and communicational capabilities of network devices |
US20020152262A1 (en) * | 2001-04-17 | 2002-10-17 | Jed Arkin | Method and system for preventing the infringement of intellectual property rights |
US7831731B2 (en) * | 2001-06-12 | 2010-11-09 | Hewlett-Packard Development Company, L.P. | Method and system for a modular transmission control protocol (TCP) rare-handoff design in a streams based transmission control protocol/internet protocol (TCP/IP) implementation |
US20030005090A1 (en) | 2001-06-30 | 2003-01-02 | Sullivan Robert R. | System and method for integrating network services |
US7480705B2 (en) | 2001-07-24 | 2009-01-20 | International Business Machines Corporation | Dynamic HTTP load balancing method and apparatus |
US7051341B2 (en) * | 2001-12-14 | 2006-05-23 | International Business Machines Corporation | Method, system, and program for implementing a remote method call |
US7069413B1 (en) * | 2003-01-29 | 2006-06-27 | Vmware, Inc. | Method and system for performing virtual to physical address translations in a virtual machine monitor |
US7313619B2 (en) | 2003-03-21 | 2007-12-25 | Intel Corporation | System and method for managing distributed objects as a single representation |
-
2003
- 2003-03-21 US US10/393,622 patent/US7313619B2/en not_active Expired - Fee Related
-
2004
- 2004-02-25 CN CNB2004800105629A patent/CN100367214C/zh not_active Expired - Fee Related
- 2004-02-25 WO PCT/US2004/005665 patent/WO2004095269A2/en active Application Filing
- 2004-02-25 DE DE112004000460T patent/DE112004000460T5/de not_active Withdrawn
- 2004-02-25 KR KR1020057017703A patent/KR100859611B1/ko not_active IP Right Cessation
- 2004-02-25 JP JP2005518882A patent/JP4307448B2/ja not_active Expired - Fee Related
- 2004-02-25 GB GB0513764A patent/GB2415814B/en not_active Expired - Fee Related
- 2004-02-26 TW TW093104983A patent/TWI242141B/zh not_active IP Right Cessation
-
2007
- 2007-12-04 US US11/950,354 patent/US7831713B2/en not_active Expired - Fee Related
- 2007-12-21 US US11/963,494 patent/US8271605B2/en not_active Expired - Fee Related
-
2012
- 2012-09-14 US US13/619,868 patent/US10313260B2/en not_active Expired - Fee Related
-
2019
- 2019-06-04 US US16/431,551 patent/US20200007458A1/en not_active Abandoned
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20170115085A (ko) * | 2015-02-10 | 2017-10-16 | 유니버샬 일렉트로닉스 인코포레이티드 | 시스템의 상태를 수집하고 분석하는 시스템 및 방법 |
Also Published As
Publication number | Publication date |
---|---|
US20130254399A1 (en) | 2013-09-26 |
CN100367214C (zh) | 2008-02-06 |
GB0513764D0 (en) | 2005-08-10 |
GB2415814B (en) | 2006-09-20 |
CN1777869A (zh) | 2006-05-24 |
US20040186906A1 (en) | 2004-09-23 |
DE112004000460T5 (de) | 2008-07-17 |
US20080098407A1 (en) | 2008-04-24 |
JP4307448B2 (ja) | 2009-08-05 |
US20080091769A1 (en) | 2008-04-17 |
US10313260B2 (en) | 2019-06-04 |
US7831713B2 (en) | 2010-11-09 |
US20200007458A1 (en) | 2020-01-02 |
TW200424872A (en) | 2004-11-16 |
KR100859611B1 (ko) | 2008-09-23 |
WO2004095269A2 (en) | 2004-11-04 |
TWI242141B (en) | 2005-10-21 |
US8271605B2 (en) | 2012-09-18 |
US7313619B2 (en) | 2007-12-25 |
JP2006519424A (ja) | 2006-08-24 |
WO2004095269A3 (en) | 2005-10-06 |
GB2415814A (en) | 2006-01-04 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100859611B1 (ko) | 분산 객체들을 단일 표현으로 관리하기 위한 시스템 및방법 | |
EP3513542B1 (en) | Tenant and service management for a multi-tenant identity and data security management cloud service | |
EP3361700B1 (en) | Multi-tenant identity and data security management cloud service | |
EP2158546B1 (en) | Providing enhanced data retrieval from remote locations | |
EP3970338A1 (en) | Applying policies to apis for service graph | |
EP3841726A1 (en) | Multi-tenant identity cloud service with on-premise authentication integration | |
EP4029222A1 (en) | Multi-tenant identity cloud service with on-premise authentication integration and bridge high availability | |
US10187458B2 (en) | Providing enhanced access to remote services | |
US20080127322A1 (en) | Solicited remote control in an interactive management system | |
US20100242101A1 (en) | Method and system for securely managing access and encryption credentials in a shared virtualization environment | |
US20070038762A1 (en) | Secure gateway with proxy service capability servers for service level agreement checking | |
EP1499084A2 (en) | Managing program applications | |
US20040220882A1 (en) | Method and apparatus for a broker entity | |
CN117527840A (zh) | 一种居民服务用一卡通管理平台系统 | |
Amoson | Porting the Netsurf web browser to Plan 9 | |
Sehgal et al. | Foundations of Cloud Computing and Information Security | |
Sunita et al. | Tools for Cloud for Resource Management: NOVA and SNMP | |
Lu et al. | JdWeb: A Proxy Server for Intranet/Internet Database Application Development | |
Chang | Selective Encryption in Securing Objects of Cloud Computing | |
Koulouzis et al. | Streaming data between Web Services. Comparison of streaming protocols over a stream-enabled Web Service. |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
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: 20120904 Year of fee payment: 5 |
|
FPAY | Annual fee payment |
Payment date: 20130902 Year of fee payment: 6 |
|
FPAY | Annual fee payment |
Payment date: 20140829 Year of fee payment: 7 |
|
LAPS | Lapse due to unpaid annual fee |