KR102001190B1 - 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트/언디플로이먼트를 지원하기 위한 시스템 및 방법 - Google Patents

트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트/언디플로이먼트를 지원하기 위한 시스템 및 방법 Download PDF

Info

Publication number
KR102001190B1
KR102001190B1 KR1020147008933A KR20147008933A KR102001190B1 KR 102001190 B1 KR102001190 B1 KR 102001190B1 KR 1020147008933 A KR1020147008933 A KR 1020147008933A KR 20147008933 A KR20147008933 A KR 20147008933A KR 102001190 B1 KR102001190 B1 KR 102001190B1
Authority
KR
South Korea
Prior art keywords
transactional
application
transactional middleware
machines
middleware machine
Prior art date
Application number
KR1020147008933A
Other languages
English (en)
Other versions
KR20140070583A (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 KR20140070583A publication Critical patent/KR20140070583A/ko
Application granted granted Critical
Publication of KR102001190B1 publication Critical patent/KR102001190B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/70Admission control; Resource allocation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/508Monitor

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Debugging And Monitoring (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Multi Processors (AREA)

Abstract

시스템 및 방법이 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트를 지원할 수 있다. 디플로이먼트 센터(deployment center)가 하나 이상의 어플리케이션 패키지들을 수신할 수 있고, 상기 어플리케이션 패키지들 각각은 하나 이상의 트랜잭셔널 서버들에 대한 바이너리 파일들, 및 어플리케이션 패키지 내의 하나 이상의 트랜잭셔널 서버들의 관계 및 파라미터들을 기술하는 구성 정보를 포함한다. 상기 디플로이먼트 센터는 상기 하나 이상의 어플리케이션 패키지들에 근거하여 상기 트랜잭셔널 미들웨어 머신 환경에서의 각각의 트랜잭셔널 미들웨어 머신에 대한 하나 이상의 분배 패키지(distribution package)들을 더 생성할 수 있다. 그 다음, 상기 디플로이먼트 센터는 상기 트랜잭셔널 미들웨어 머신 환경에서의 복수의 트랜잭셔널 미들웨어 머신들에 상기 하나 이상의 분배 패키지들을 디플로이할 수 있다.

Description

트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트/언디플로이먼트를 지원하기 위한 시스템 및 방법{SYSTEM AND METHOD FOR SUPPORTING AUTOMATICALLY DEPLOYING/UNDEPLOYING APPLICATION COMPONENTS IN A TRANSACTIONAL MIDDLEWARE MACHINE ENVIRONMENT}
저작권 공지
본 명세서에서 개시된 부분은 저작권 보호를 받는 내용을 포함한다. 저작권자는 미국특허상표청의 특허 파일 또는 기록에 나타난 대로 본 특허 문서 또는 특허 개시내용을 어느 누군가가 팩시밀리 재생하는 것은 반대하지 않지만, 그 밖의 모든 것은 저작권으로 보호된다.
기술분야
본 발명은 일반적으로, 미들웨어와 같은 컴퓨터 시스템들 및 소프트웨어에 관한 것이며, 특히 트랜잭셔널 미들웨어 머신 환경(transactional middleware machine environment)을 지원하는 것에 관한 것이다.
트랜잭셔널 미들웨어 시스템 또는 트랜잭션 지향 미들웨어(transaction oriented middleware)는 조직 내에서 다양한 트랜잭션들을 프로세스할 수 있는 기업 어플리케이션 서버들을 포함한다. 고성능 네트워크 및 멀티프로세서 컴퓨터와 같은 새로운 기술들의 발달에 따라, 트랜잭셔널 미들웨어의 성능을 더 향상시킬 필요가 있다. 이러한 것들은 대체로 본 발명의 실시예들이 해결하도록 의도된 영역들이다.
트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트를 지원하기 위한 시스템 및 방법이 본 명세서에 개시된다. 디플로이먼트 센터(deployment center)가 하나 이상의 어플리케이션 패키지들을 수신할 수 있고, 상기 어플리케이션 패키지들 각각은 하나 이상의 트랜잭셔널 서버들에 대한 바이너리 파일들, 및 어플리케이션 패키지 내의 하나 이상의 트랜잭셔널 서버들의 관계 및 파라미터들을 기술하는 구성 정보를 포함한다. 상기 디플로이먼트 센터는 상기 하나 이상의 어플리케이션 패키지들에 근거하여 상기 트랜잭셔널 미들웨어 머신 환경에서의 각각의 트랜잭셔널 미들웨어 머신에 대한 하나 이상의 분배 패키지(distribution package)들을 더 생성할 수 있다. 그 다음, 상기 디플로이먼트 센터는 상기 트랜잭셔널 미들웨어 머신 환경에서의 복수의 트랜잭셔널 미들웨어 머신들에 상기 하나 이상의 분배 패키지들을 디플로이할 수 있다.
도 1은 본 발명의 실시예에 따른 동적 리소스 브로커를 지원하는 트랜잭셔널 미들웨어 머신 환경의 예를 도시한다.
도 2는 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들을 자동으로 디플로이/언디플로이하는 것을 지원하기 위한 예시적인 흐름도를 도시한다.
도 3은 본 발명의 실시예에 따른 미들웨어 머신 환경에서의 어플리케이션 패키지의 내부 구조의 예를 도시한다.
도 4는 본 발명의 실시예에 따른 미들웨어 머신 환경에서의 어플리케이션 디렉토리의 내부 구조의 예를 도시한다.
도 5는 본 발명의 실시예에 따른 어플리케이션 패키지를 준비하는 것의 예를 도시한다.
도 6은 본 발명의 실시예에 따른 GUI 콘솔(console)에서 머신 목록을 생성하는 것의 예를 도시한다.
도 7은 본 발명의 실시예에 따른 어플리케이션 패키지들을 업로드하는 것의 예를 도시한다.
도 8은 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 환경에서 도메인을 생성하는 것의 예를 도시한다.
도 9는 본 발명의 실시예에 따른 도메인에서 가상 머신에 물리 머신을 결속시키는 것의 예를 도시한다.
도 10은 본 발명의 실시예에 따른 도메인에서 가상 머신에 어플리케이션 패키지를 추가하는 것의 예를 도시한다.
도 11은 본 발명의 실시예에 따른 도메인에서 복수의 가상 머신들을 설정(setting up)하는 것의 예를 도시한다.
도 12는 본 발명의 실시예에 따른 데이터 보관소(data repository)의 내부 구조의 예를 도시한다.
도 13은 본 발명의 실시예에 따른 어플리케이션 디렉토리의 구조의 예를 도시한다.
도 14는 본 발명의 실시예에 따른 도 1의 동적 리소스 브로커를 지원하는 트랜잭셔널 미들웨어 머신 환경의 보다 세부적인 사항을 도시한다.
복수의 프로세서들을 가진 고속 머신들 및 고성능 네트워크 연결의 장점을 취할 수 있는 트랜잭셔널 미들웨어 시스템을 지원하기 위한 시스템 및 방법이 본 명세서에 기술된다. 동적 리소스 브로커는 리소스 사용 변경들에 따라 그룹들 및 머신들을 추가/제거함으로써 트랜잭셔널 미들웨어 머신 환경에서 트랜잭셔널 시스템을 동적으로 스케일링 업/다운시킬 수 있다. 트랜잭셔널 미들웨어 머신 환경은 상기 트랜잭셔널 미들웨어 머신 환경 내에 디플로이먼트 센터를 포함할 수 있고, 여기서 상기 디플로이먼트 센터는 상기 트랜잭셔널 미들웨어 머신 환경을 위한 하나 이상의 디플로이먼트 정책들 및 하나 이상의 디플로이먼트 에이전트들을 유지하며, 상기 하나 이상의 디플로이먼트 에이전트들 각각은 상기 트랜잭셔널 미들웨어 머신 환경에서의 트랜잭셔널 도메인 내의 복수의 트랜잭셔널 미들웨어 머신들 중 트랜잭셔널 미들웨어 머신과 관련된다. 상기 디플로이먼트 센터는 하나 이상의 디플로이먼트 에이전트들로부터 머신 사용 정보를 수신하고, 상기 하나 이상의 디플로이먼트 에이전트들에 의해 수집되는 리소스 사용 정보에 근거하여 트랜잭셔널 도메인에서 사용되는 리소스를 동적으로 스케일링 업 또는 다운시키는 동작을 한다.
본 발명의 실시예에 따르면, 시스템은, 신속하게 준비될 수 있고 수요에 따라 스케일링될 수 있는 대량의 병렬 인-메모리 그리드(massively parallel in-memory grid)를 포함하는 완전한 Java EE 어플리케이션 서버 컴플렉스를 제공하기 위해 WebLogic Suite와 같은 어플리케이션 서버 또는 미들웨어 환경과 함께 고성능 하드웨어, 예컨대 64-비트 프로세서 기술, 고성능 대용량 메모리 및 리던던트 인피니밴드(redundant InfiniBand) 및 이더넷 네트워킹의 조합을 포함한다. 실시예에 따르면, 시스템은 전체, 절반 또는 1/4 랙(rack) 또는 다른 구성으로 디플로이될 수 있고, 상기 시스템은 어플리케이션 서버 그리드, 스토리지 영역 네트워크 및 인피니밴드(IB) 네트워크를 제공한다. 미들웨어 머신 소프트웨어는 예컨대, WebLogic Server, JRockit 또는 Hotspot JVM, Oracle Linux 또는 Solaris, 및 Oracle VM과 같은 어플리케이션 서버, 미들웨어 및 다른 기능을 제공할 수 있다. 실시예에 따르면, 시스템은 IB 네트워크를 통해 서로와 통신하는 복수의 컴퓨팅 노드들, IB 스위치 게이트웨이 및 스토리지 노드들 또는 유닛들을 포함할 수 있다. 랙 구성으로 구현될 때, 랙의 사용되지 않은 부분들은 비어있는 채로 있거나 필러(filler)들에 의해 채워질 수 있다.
"Sun Oracle Exalogic" 또는 "Exalogic"으로 본 명세서에서 지칭되는 본 발명의 실시예에 따르면, 시스템은 Oracle Middleware SW suite 또는 Weblogic과 같은 미들웨어 또는 어플리케이션 서버 소프트웨어를 호스팅하기 위한 디플로이가 용이한 솔루션(easy-to-deploy solution)이다. 본 명세서에 기술된 바와 같이, 실시예에 따르면, 시스템은 하나 이상의 서버들, 스토리지 유닛들, 스토리지 네트워킹을 위한 IB 페브릭 및 미들웨어 어플리케이션을 호스팅하는 데 요구되는 모든 다른 컴포넌트들을 포함하는 "박스 내의 그리드"이다. 상당한 성능이 예컨대, 리얼 어플리케이션 클러스터(Real Application Cluster)들 및 엑사로직 오픈 스토리지(Exalogic Open storage)를 이용하여 대량의 병렬 그리드 구조를 활용함으로써 모든 타입의 미들웨어 어플리케이션들에 제공될 수 있다. 시스템은 선형적 I/O 확장성(scalability)을 포함하는 개선된 성능을 제공하고, 사용 및 관리하기에 간단하며, 작업상 중대한(mission-critical) 가용성 및 신뢰성을 제공한다.
본 발명의 실시예에 따르면, 트랜잭셔널 시스템, 예컨대 Tuxedo는 고성능, 분산형 비즈니스 어플리케이션들의 구성, 실행 및 관리(administration)를 할 수 있는 소프트웨어 모듈들의 세트이며, 다수의 다단(multi-tier) 어플리케이션 개발 툴들에 의해 트랜잭셔널 미들웨어로서 사용되었다. Tuxedo는 분산형 컴퓨팅 환경들에서 분산형 트랜잭션 프로세싱을 관리하는 데 사용될 수 있는 미들웨어 플랫폼이다. 이는, 기업의 레거시 어플리케이션들을 언락킹하고 상기 어플리케이션들을 서비스 지향식 구조로 확장하면서도 비제한적 확장성 및 표준-기반의 상호운용성을 제공하기 위한 검증된 플랫폼이다.
동적 리소스 브로커는 트랜잭셔널 미들웨어 머신 환경에서 트랜잭셔널 시스템, 예컨대 Tuxedo의 어플리케이션 컴포넌트들을 자동으로 디플로이할 수 있다. 따라서, 트랜잭셔널 시스템은 복수의 프로세서들, 예컨대 엑사로직 미들웨어 머신들을 가진 고속 머신들 및 고성능 네트워크 연결, 예컨대 인피니밴드(IB) 네트워크의 장점을 취할 수 있다.
동적 리소스 브로커
본 발명의 실시예에 따르면, 동적 리소스 브로커는 사용자들이 여러 가지 서로 다른 원격 머신들에 트랜잭셔널 미들웨어 어플리케이션들을 자동으로 디플로이/언디플로이하게 할 수 있다. 이는 트랜잭셔널 미들웨어 어플리케이션들의 사용자들에게 유익할 수 있다. 예를 들어, 커맨드 라인 스타일 미들웨어 제품(command line style middleware product)으로서, Tuxedo 어플리케이션들은 또한, 단일 머신 또는 복수의 네트워크에 연결된 머신들에 수동으로 디플로이될 수 있다. 그러나, 수동 모드를 사용하면, 사용자들은 다수의 네트워크에 연결된 머신들이 존재할 때에도 자신들의 어플리케이션들을 디플로이하기 위해 모든 머신에 로그인할 필요가 있다.
도 1은 본 발명의 실시예에 따른 어플리케이션 컴포넌트들을 자동으로 디플로이/언디플로이하는 것을 지원하는 트랜잭셔널 미들웨어 머신 환경의 예를 도시한다. 도 1에 도시된 바와 같이, 트랜잭셔널 미들웨어 머신 환경(100)은 머신들 A 내지 D(101 내지 103, 및 110)와 같은 복수의 트랜잭셔널 미들웨어 머신들을 포함한다.
동적 리소스 브로커는 머신 D(110) 상의 데이터 보관소(105), 머신 D(110) 상의 디플로이먼트 센터(106) 및 하나 이상의 디플로이먼트 에이전트 즉, 에이전트들(111 내지 113)과 같은 컴포넌트들을 포함하고, 상기 에이전트들 각각은 트랜잭셔널 미들웨어 머신 환경(100)에서의 트랜잭셔널 미들웨어 머신 즉, 머신들 A 내지 C(101 내지 103) 상에 상주한다.
데이터 보관소(105)는 메모리에 상주한다. 데이터 보관소(105)는 어플리케이션 패키지들, 분배 패키지들 및 구성 파일들과 같은 관련 정보를 저장하기 위해 사용될 수 있다. 디플로이먼트 센터(106)는 하나 이상의 프로세서들에 의해 동작(run)한다. 디플로이먼트 센터(106)는 모든 사용자 입력(107)을 수신할 수 있고, 하나 이상의 디플로이먼트 정책들(116)에 근거하여 명령들/패키지들을 목적지 머신 즉, 머신들 A 내지 C(101 내지 103)에 분배하는 역할을 한다. 더욱이, 디플로이먼트 센터(106)는 목적지 머신들 즉, 머신들 A 내지 C(101 내지 103)로부터 실행(execution) 결과를 수신하는 역할을 한다. 각각의 디플로이먼트 에이전트 즉, 에이전트(111 내지 113)는 분배 패키지들을 수신하고, 디플로이먼트/언디플로이먼트/관리 태스크들을 실행시키며 그리고 디플로이먼트 센터(106)에 실행 결과를 다시 제공하는 역할을 한다.
도 1에 도시된 바와 같은 예에서, 사용자는 먼저, 데이터 보관소(105)에 어플리케이션 패키지들을 업로드할 수 있다. 그 다음, 상기 사용자는 두 개의 머신들 즉, 머신 A(101) 및 머신 B(102)를 포함하는 도메인 즉, 도메인 A(109)를 생성할 수 있다. 그 다음, 상기 사용자는 디플로이먼트 센터(106)에게 디플로이먼트 태스크들을 수행하도록 통지할 수 있다. 디플로이먼트 센터(106)는 머신 A(101) 및 머신 B(102)에 분배 패키지들을 디플로이하고 도메인 A(109)를 부팅시킬 수 있다.
추가적으로, 도메인 A(109)는 런타임 시 동적으로 활성화될 수 있는 후보 머신으로서 제3 머신 즉, 머신 C(103)를 포함할 수 있다. 예를 들어, 머신 B(102)의 CPU 사용이 100%로 증가될 때, 디플로이먼트 센터는 머신 B(102)와 로드를 공유하도록 머신 C(103)를 활성화시킬 수 있다. 디플로이먼트 센터(106)는 머신 C에 패키지들을 분배하고, Tuxedo 관리 정보 베이스(MIB) 동작들과 같은 관리 태스크들을 수행하도록 디플로이먼트 에이전트 즉, 에이전트 C(113)에게 명령할 수 있다. 일단 관리 태스크들이 성공적으로 수행되면, 머신 C(103)는 도메인 A에 동적으로 추가될 수 있고, 머신 C(103) 상의 모든 서버들 및 서비스들은 활성화될 수 있다.
도 2는 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들을 자동으로 디플로이/언디플로이하는 것을 지원하기 위한 예시적인 흐름도를 도시한다. 도 2에 도시된 바와 같이, 단계(201)에서, 데이터 보관소는 하나 이상의 어플리케이션 패키지들을 수신할 수 있고, 여기서 각각의 어플리케이션 패키지는 하나 이상의 트랜잭셔널 서버들에 대한 바이너리 파일들, 및 어플리케이션 패키지 내의 하나 이상의 트랜잭셔널 서버들의 관계 및 파라미터들을 기술하는 구성 정보를 포함한다. 그 다음, 단계(202)에서, 디플로이먼트 센터는 하나 이상의 어플리케이션 패키지들에 근거하여 트랜잭셔널 미들웨어 머신 환경에서의 복수의 트랜잭셔널 미들웨어 머신들 중 각각의 트랜잭셔널 미들웨어 머신에 대해 하나 이상의 마이크로프로세서들 상에서 하나 이상의 분배 패키지들을 생성할 수 있다. 마지막으로, 단계(203)에서, 상기 디플로이먼트 센터는 상기 트랜잭셔널 미들웨어 머신 환경에서의 상기 복수의 트랜잭셔널 미들웨어 머신들에 상기 하나 이상의 분배 패키지들을 디플로이할 수 있다.
본 발명의 실시예에 따르면, 그리고 하기에 기술된 바와 같이, Tuxedo 어플리케이션과 같은 트랜잭셔널 어플리케이션의 디플로이먼트는 여러 단계들 즉, 어플리케이션 패키지들 분배, Tuxedo 시스템 환경 설정, Tuxedo 구성 파일들 생성 및 Tuxedo 시스템 부팅을 포함하고, 상기 단계들 각각은 하기의 섹션들에서 논의될 것이다.
어플리케이션 패키지
본 발명의 실시예에 따르면, 어플리케이션 패키지는 사용자들 또는 커스토머(customer)들에 의해 준비되고 하나 이상의 미들웨어 머신들 상에 디플로이될 수 있는 아카이브 패키지(archive package)이다. 어플리케이션 패키지는 컴파일된 바이너리 파일들 및 다른 환경 파일들을 포함하고, 트랜잭셔널 어플리케이션들이 디플로이될머신에 근거하여 조직화될 수 있다.
예를 들어, Tuxedo 어플리케이션과 같은 트랜잭셔널 어플리케이션은 하나 이상의 어플리케이션 패키지들에 근거할 수 있고, 상기 어플리케이션 패키지들 각각은 집 파일(zip file)일 수 있다. Tuxedo 어플리케이션(도메인)은 UXCONFIG 또는 UBBCONFIG 구성 파일에서 정의될 수 있고, 상기 구성 파일은 머신들, 서버들 및 다른 리소스들의 세트를 특정한다. Tuxedo 어플리케이션은 단일 머신 상에 또는 복수의 네트워크에 연결된 머신들에 걸쳐 존재할 수 있다. 사용자들은 Tuxedo 어플리케이션을 디플로이하기 위해 먼저, 자신들의 어플리케이션 패키지들을 업로드할 수 있다.
도 3은 본 발명의 실시예에 따른 미들웨어 머신 환경에서의 어플리케이션 패키지의 내부 구조의 예를 도시한다. 도 3에 도시된 바와 같이, 어플리케이션 패키지(300)는 복수의 티어(tier)들 예컨대, 티어 1(301), 티어 2(302) 및 티어 3(303)을 포함할 수 있다.
티어 1(301)은 어플리케이션 패키지(300)에 대한 이름을 포함하고, 상기 이름은 모든 업로드된 어플리케이션 패키지 이름들 내에서 고유할 수 있다.
티어 2(302)는 티어 1(301) 하의 차일드 디렉토리(child directory)일 수 있다. 티어 2(302)는 어플리케이션 패키지(300)가 디플로이될 수 있는 플랫폼에 관한 정보를 나타내는 이름을 포함한다. 도 3에 도시된 바와 같이, 티어 2는 머신 타입, OEL55_64_ExaX22X8664을 표시하기 위해 사용될 수 있다.
티어 3(303)은 차일드 디렉토리들 티어 2(302)을 포함하고, 상기 티어 2는 어플리케이션 서버들, TMS 서버들, 클라이언트들 및 기타 등등과 같은 트랜잭셔널 시스템에 의해 사용되는 컴파일된 바이너리 파일들을 포함한다. 도 3에 도시된 바와 같이, OEL55_64_ExaX22X8664(티어 2(302)) 하에서, 서브-디렉토리 "서버들"이 두 개의 컴파일된 서버 바이너리 파일들 즉, 서버1 및 서버2를 가질 수 있다.
더욱이, 티어 3(303)은 Tuxedo 머신 레벨 ENVFILE, Tuxedo 그룹 레벨 ENVFILE, Tuxedo 서버 레벨 ENVFILE, 및 Tuxedo 서버 레벨 RCMD과 같은 여러 가지 서로 다른 환경 파일들을 포함할 수 있다. 추가적으로, 티어 3(303) 하에, 사용자들이 자신의 어플리케이션들을 조직화할 수 있는 서브-디렉토리들이 존재할 수 있다.
추가적으로, 티어 3(303)은 그룹 레벨 UBBCONFIG 파일인 Tuxedo UBB_part 파일과 같은 범용 게시판(universal bulletin board) 구성 파일을 포함할 수 있다. Tuxedo UBB_part 파일은 완전한 UBBCONFIG 파일의 GROUPS, RMS, SERVERS, SERVICES, ROUTINGS 섹션들을 포함하며, 주로 이 패키지 내의 모든 서버들의 관계 및 파라미터들을 기술하기 위해 사용된다. Tuxedo UBB_part 파일은 일 머신에 이 패키지들을 디플로이하는 것을 결정할 때 UBBCONFIG 파일을 생성하기 위해 사용될 수 있고, 상기 파일의 컨텐트는 이 시점에 수정될 수 있다.
어플리케이션 디렉토리
본 발명의 실시예에 따르면, 어플리케이션 패키지는 트랜잭셔널 미들웨어 머신 환경에서 반복적으로 사용될 수 있다. 예를 들어, 어플리케이션 패키지는 여러 가지 서로 다른 도메인들, 일 도메인에서의 여러 가지 서로 다른 머신들에 또는 복수 회 동안 일 도메인에서의 단일 머신에 적용될 수 있다.
추가적으로, 동적 리소스 브로커는 어플리케이션 패키지들에 근거하여 목적지 머신들에 디플로이되는 분배 패키지들을 생성할 수 있다. 분배 패키지가 목적지 머신에 디플로이된 이후에, 트랜잭셔널 시스템은 목적지 머신들 상에 어플리케이션 디렉토리를 생성할 수 있다.
도 4는 본 발명의 실시예에 따른 미들웨어 머신 환경에서의 어플리케이션 디렉토리의 내부 구조의 예를 도시한다. 도 4에 도시된 바와 같이, Tuxedo 어플리케이션 디렉토리 APPDIR(401)와 같은 어플리케이션 디렉토리는 여러 가지 서로 다른 어플리케이션들에 대한 분배 패키지들을 포함하기 위해 복수의 서브-디렉토리들 즉, APP1(402) 및 APP2(403)을 포함할 수 있다. 어플리케이션 디렉토리 APPDIR(401) 하의 디플로이된 Tuxedo 어플리케이션(400)의 구조는 Tuxedo UBB_part 파일을 제외하고 어플리케이션 패키지들의 구조와 유사할 수 있다.
어플리케이션 패키지 업로드
본 발명의 실시예에 따르면, 사용자들은 데이터 보관소에 하나 이상의 준비된 어플리케이션 패키지들을 업로드할 수 있다. 일단, 어플리케이션 패키지들의 업로드가 성공적이면, 시스템은 사용자들이 어플리케이션 패키지 정보 목록을 채우도록 할 수 있고, 상기 어플리케이션 패키지 정보 목록의 컨텐트가 다음의 표 1에 도시된다.
항목 설명
어플리케이션 패키지 이름 어플리케이션 패키지 이름, 예컨대 APP1.
Tuxedo 버젼 이 패키지가 구축된(built on) Tuexdo 버젼, 예컨대 TUX11g. 이 항목은 단지, 사용자들이 이 패키지를 추후에 사용할 때 표시하기 위해 사용된다.
지원되는 운영 체제 이 패키지가 디플로이될 수 있는 운영 체제. 이 정보는 디플로이 시 머신 목록의 대응하는 항목과 비교될 것이다. 예를 들어, "Oracle Enterprise Linux 5.5" 및 "Oracle Solaris 11 Express".
Tuxedo 워드 사이즈 이 패키지가 구축되는 워드 사이즈를 기술하기 위한 것. 예를 들어, 32 비트 또는 64 비트. 이 정보는 디플로이 시 머신 목록의 대응하는 항목과 비교될 수 있다.
머신 구조 이 패키지가 적용할 수 있는 머신 구조를 기술하기 위한 것. 후보는 "Exalogic X2-2, X86-64" 및 "Exalogic X2-2, SPARC"이다. 이는 디플로이 시 머신 목록의 대응하는 항목과 비교될 수 있다.
서비스들 이 패키지에 의해 적용된 모든 서비스 이름들. 예를 들어, TOUPPER1, TOUPPER2.
종속 서비스들 이 패키지의 종속 서비스. 이는 사용자들이 이 패키지를 디플로이할 때 사용자들은 종속 서비스를 포함하는 패키지들 또한 배치되게 해야 함을 의미한다. 이 정보는 단지 사용자들이 참조하기 위한 것이며, 시스템은 이 정보를 자동으로 체크하지 않을 것이다.
데이터 베이스 타입 만일 이 패키지 내의 어플리케이션이 데이터 베이스와 관련되는 경우, 데이터 베이스 타입을 표시해야 한다. 이 정보는 사용자들이 추후에 참조하기 위한 것이며, 시스템은 이 정보를 자동으로 체크하지 않을 것이다.
데이터 베이스 버젼 만일 이 패키지 내의 어플리케이션이 데이터 베이스와 관련되는 경우, 데이터 베이스 버젼을 표시해야 한다. 이 정보는 사용자들이 추후에 참조하기 위한 것이며, 시스템은 이 정보를 자동으로 체크하지 않을 것이다.
머신 목록 생성
본 발명의 실시예에 따르면, 도메인이 생성되기 전에, 사용자들은 어플리케이션 패키지들이 디플로이되는 머신들의 목록을 생성할 수 있다. 각각의 머신에 대해, 사용자들은 이 특별한 머신을 기술하는 양식(form)을 채울 수 있다. 이 양식의 컨텐트는 다음의 표 2에 도시된다.
항목 설명
로직 이름(logical name) 이 항목은 이 머신의 로직 이름이며, 커스토머에 의해 명명된다. 로직 이름의 길이는 30 글자(character) 이하여야 한다. 이 이름은 모든 머신들 간에 고유해야하며, 머신의 물리 이름과 동일할 수 있다.
물리 이름(physical name) 이 항목은 프로세서의 물리 이름, 예컨대 UNIX 시스템 uname -n 커맨드에 의해 생성된 값이다. 물리 이름의 길이는 30 글자 이하여야 한다.
운영 체제 이 머신 상에 설치된 운영체제.
머신 구조 이 머신의 구조를 기술하기 위한 것. 후보는 "Exalogic X2-2, X86-64" 및 "Exalogic X2-2, SPARC"이다. 이는 디플로이 시 어플리케이션 패키지 목록의 "머신 구조" 항목과 비교될 것이다.
C/C++ 및 COBOL 컴파일러 이 항목은 cc 버젼 및 기타 등등을 특정한다. 그리고 이 정보는 단지 사용자들이 참조하기 위한 것이다.
Tuexdo 설치 Tuexdo의 설치 OS 버젼을 특정한다. 이 정보는 이 머신에 어플리케이션 패키지를 디플로이할 때 어플리케이션 패키지 목록의 대응하는 항목 "지원되는 운영 체제"와 비교될 것이다. 이제, 이 특징은 오직 "Oracle Enterprise Linux 5.5" 및 "Oracle Solaris 11 Express"를 지원한다.
Tuexdo 워드 사이즈 이 머신 상에 설치된 Tuexdo의 워드 사이즈를 기술하기 위한 것. 예를 들어, 32 비트 또는 64 비트. 이 정보는 이 머신에 어플리케이션 패키지를 디플로이할 때 어플리케이션 패키지 목록의 대응하는 항목 "Tuxedo 워드 사이즈"와 비교될 것이다.
Tuexdo 버젼 Tuxedo 버젼, 예컨대 TUX11g. 이 항목은 단지, 사용자들이 이 머신을 사용할 때 참조하기 위해 사용된다.
TUXDIR 이 머신에 설치된 Tuxedo 시스템에 대한 TUXDIR. 우리는 오직 일 머신에 일 TUXDIR 디렉토리를 응답확인(acknowledge)한다.
데이터 베이스 타입 이 머신 상에 설치된 모든 데이터 베이스 타입들. 이 항목은 단지, 사용자들이 이 머신을 사용할 때 참조하기 위해 사용된다.
데이터 베이스 버젼 이 머신 상에 설치된 모든 데이터 베이스 버젼들. 이 항목은 단지, 사용자들이 이 머신을 사용할 때 참조하기 위해 사용된다.
상기 머신 목록에서, 모든 머신들은 자신의 로직 이름들에 의해 명명될 수 있다. 머신의 로직 이름은 머신 목록에서 고유할 수 있고, 머신의 로직 이름은 머신의 물리 이름과 동일할 수 있다. 따라서, 일 물리 머신은 하나보다 많은 로직 이름을 가질 수 있고, 머신 목록에 하나 보다 많은 인스턴스를 가질 수 있다. 그러므로, 사용자들은 일 물리 머신에 대해 다수의 로직 이름들을 특정할 수 있고, 예컨대, 테스트 환경에서 가짜(faked) MP 모델의 경우 동일한 머신에 여러 가지 서로 다른 어플리케이션 패키지들을 디플로이할 수 있다.
UBBCONFIG 자동 생성 룰들
본 발명의 실시예에 따르면, 사용자들은 트랜잭셔널 서버들에 대한 구성 파일들 예컨대, 각각의 Tuxedo 서버에 대한 UBBCONFIG 파일을 자동으로 생성하는 것을 선택할 수 있다. UBBCONFIG 파일은 RESOURCE 섹션, MACHINES 섹션, GROUPS 섹션, RMS 섹션, NETGROUPS 섹션, NETWORK 섹션, SERVERS 섹션, SERVICES 섹션, ROUTING 섹션과 같은 여러 가지 서로 다른 섹션들을 포함할 수 있다.
트랜잭셔널 미들웨어 머신 시스템에서 동적 리소스 브로커를 지원하는 것에 관한 추가 정보, 및 본 발명의 전반에 걸쳐 기술되는 플랫폼의 다양한 다른 양상을 제공하는 Appendix A가 첨부되어 있다. Appendix A의 정보는 예시적인 목적들을 위해 제공되며, 본 발명의 실시예들 모두를 제한하는 것으로 해석되어서는 안된다.
Tuxedo 에서의 자동 디플로이먼트의 예
다음 섹션들에서, 일 예가 트랜잭셔널 미들웨어 환경에서 Tuxedo 어플리케이션들을 자동으로 디플로이 또는 언디플로이하는 것의 절차를 예시하기 위해 사용된다. 이 예에서, 두 개의 Tuxedo 어플리케이션들, APP1 및 APP2는 두 개의 미들웨어 머신들 lclnx 24 및 lcln 16 상에 자동으로 디플로이될 수 있다. 다른 예들에서, 여러 가지 서로 다른 구성들이 제한 없이 트랜잭셔널 미들웨어 환경에서 사용될 수 있다.
Tuxedo 도메인 생성
본 발명의 실시예에 따르면, 사용자들은 트랜잭셔널 어플리케이션들을 디플로이하기 위해 트랜잭셔널 미들웨어에 도메인을 생성하기 전에 어플리케이션 패키지들을 준비할 수 있다. 이 예에서, 도메인 내의 모든 머신은 일 어플리케이션 패키지를 사용한다. 다른 예들에서, 머신은 필요에 따라 하나 이상의 어플리케이션 패키지들을 가질 수 있다.
도 5는 본 발명의 실시예에 따른 어플리케이션 패키지(500)를 준비하는 것의 예를 도시한다. 도 5에 도시된 바와 같이, 어플리케이션 패키지, APP1.zip(501)은 UBB_part 섹션(502) 및 서버들 섹션(503)을 포함할 수 있다. 다음의 목록 1은 APP1.zip 내의 UBB_part 섹션 섹션들을 도시한다.
[목록 1]
Figure 112014032256513-pct00001
상기 도 1 및 목록 1은 제1 어플리케이션 APP1을 디플로이하기 위한 어플리케이션 패키지 APP1.zip을 도시한다.
추가적으로, 이 예에서, 다른 어플리케이션 패키지 APP2.zip은 제2 어플리케이션 APP2를 디플로이하기 위해 유사한 방식으로 준비될 수 있다.
도 6은 본 발명의 실시예에 따른 GUI 콘솔 내의 도메인에 대한 머신 목록을 생성하는 것의 예를 도시한다. 도 6에 도시된 바와 같이, GUI 콘솔은 로직 이름 lclnx24(601)을 가진 특별한 머신과 관련된 여러 가지 서로 다른 특성들을 정의하기 위해 머신 양식(600)을 사용한다. 또한, 도 6에 도시된 바와 같이, 머신 양식(600)에의 입력들은 상기에 개시된 바와 같은 표 2에 근거할 수 있다.
추가적으로, 이 예에서, 다른 유사한 머신 양식(미도시)이 시스템의 제2 머신을 설정하기 위해 사용될 수 있다.
도 7은 본 발명의 실시예에 따른 어플리케이션 패키지을 업로드하는 것의 예를 도시한다. 도 7에 도시된 바와 같이, 어플리케이션 패키지 양식(700)은 사용자들이 어플리케이션 패키지(701)를 성공적으로 업로드할 때 사용자에게 파일링하도록 요구하기 위해 디스플레이될 수 있다. 도 7에 도시된 바와 같이, 머신 양식(700)에서의 다양한 입력들은 상기 개시된 바와 같은 표 2에 근거할 수 있다.
마찬가지로, 어플리케이션 패키지 APP2.zip을 업로드하기 위한 다른 어플리케이션 패키지 양식(미도시)이 존재할 수 있다.
도 8은 본 발명의 실시예에 따른 트랜잭셔널 미들웨어 환경에서 도메인을 생성하는 것의 예를 도시한다. 도 8에 도시된 바와 같이, 사용자들은 고유한 도메인 이름 예컨대, DOM1(801)을 갖는 도메인을 생성할 수 있다. 이 도메인은 머신 목록(802)으로부터의 머신들을 포함하고, 패키지 목록(903)으로부터의 어플리케이션 패키지들을 동작시키도록 구성될 수 있다.
도메인이 트랜잭셔널 미들웨어 환경에서 생성될 때, 여러 가지 서로 다른 템플릿(template)들이 디플로이먼트를 위한 구성 파일을 자동으로 생성하기 위해 사용될 수 있다. 예를 들어, 자동으로 생성된 Tuxedo 구성 파일들의 컨텐트들은 Appendix A에서 세부화될 수 있다.
추가적으로, Tuxedo에서, 두 개의 디폴트 UBBCONFIG 템플릿들이 존재할 수 있는 바, 상기 두 개의 템플릿들은 UBB_Resource로 명명된 RESOURCES 부분에 대한 일 UBBCONFIG 템플릿 및 UBB_Machine으로 명명된 MACHINES 부분에 대한 다른 UBBCONFIG 템플릿이다. 또한, 사용자들은 추가적인 템플릿들을 정의하고, 이 추가적인 템플릿들을 데이터 보관소에 저장할 수 있다.
도 8에 도시된 바와 같이, DOM1(801)이 생성될 시에, 사용자들은 디폴트 UBB_Resource 템플릿을 선택할 수 있고, 도메인이 MP 모드에 있음을 나타낼 수 있다. 더욱이, 사용자들은 구성 파일 내의 RESOURCES 섹션에 대한 값을 수정 및 추가할 수 있다.
Tuxedo 도메인에 가상 머신들 생성
본 발명의 실시예에 따르면, 사용자들은 도메인에 하나 이상의 가상 머신들을 생성할 수 있다. 가상 머신은 실제 물리 머신을 나타내지 않는 심볼이다. 머신 목록으로부터의 로직 머신은 가상 머신에 결속될 수 있다. 가상 머신에 대한 명명 룰은 로직 머신의 룰과 동일할 수 있고, 가상 머신에 대한 이름은 일 도메인 내의 모든 가상 머신들 간에 고유할 수 있다.
도 9는 본 발명의 실시예에 따른 도메인 내의 가상 머신에 로직 머신을 결속시키는 것의 예를 도시한다. 도 9에 도시된 바와 같이, 가상 머신 M1(902)은 DOM1(901)에 생성된다. 추가적으로, 사용자들은 가상 머신 M1(902)에 머신 목록으로부터의 로직 머신 lclnx24(903)을 결속시킬 수 있고, 이 로직 머신 lclnx24(903)이 도메인 DOM1(901)에 대한 마스터임을 나타낼 수 있다. 그 다음, 디폴트 UBB_Resource 섹션(904)은 UBBCONFIG 파일에 추가될 수 있고, 컨텐트는 머신 목록의 lclnx24(903)에 관련된 정보에 따라 수정될 수 있다. 더욱이, 사용자들은 또한, MACHINES 섹션(905) 및 NETWORK 섹션(906)의 대응하는 항목들에 대한 값들을 수정 또는 추가할 수 있다.
도 10은 본 발명의 실시예에 따른 도메인 내의 가상 머신에 어플리케이션 패키지를 추가하는 것의 예를 도시한다. 도 10에 도시된 바와 같이, 사용자들은 도메인 DOM1(1001) 내의 가상 머신 M1(1002)에 패키지 목록으로부터의 어플리케이션 패키지 APP1(1003)을 추가할 수 있다. 그 다음, 어플리케이션 패키지 APP1으로부터의 UBB_part, 예컨대 디폴트 UBB_Resource 섹션(1004)은 UBBCONFIG 파일에 추가될 수 있고, 컨텐트는 가상 머신 M1(1002)에 결속되는 로직 머신 lclnx24의 정보에 따라 수정될 수 있다. 추가적으로, 사용자들은 MACHINES, GROUPS, SERVERS 및 SERVICES 섹션들(1005 내지 1009)에서의 항목들에 대한 값들을 수정 또는 추가할 수 있다.
도 11은 본 발명의 실시예에 따른 도메인 내의 복수의 가상 머신들을 설정하는 것의 예를 도시한다. 도 1에 도시된 바와 같이, 사용자들은 도메인 DOM1(1101) 내의 가상 머신 M1(1102) 및 가상 머신 M2(1103)과 같은 복수의 가상 머신들을 생성할 수 있다. 더욱이, 사용자들은 가상 머신에 로직 머신을 결속시킬 수 있다. 예를 들어, 로직 머신 lclnx16은 가상 머신 M1(1002)에 결속되고, 어플리케이션 패키지 AZPP1을 동작시키는 역할을 할 수 있으며, 로직 머신 lclnx24는 가상 머신 M2에 결속되고, 다른 어플리케이션 패키지 APP2를 동작시키는 역할을 할 수 있다.
시스템은 아카이브 패키지가 로직 머신에 결속된 가상 머신에 추가될 때마다, 머신 양식과 어플리케이션 패키지 양식의 정보를 비교할 수 있다. 만일 에러가 존재하면, 시스템은 이 에러를 사용자들에게 보고할 수 있다.
Tuxedo 도메인 구성
본 발명의 실시예에 따르면, 시스템은 도메인 내의 각각의 머신에 구성 템플릿들을 제공할 수 있다.
Tuxedo에서, 사용자들은 데이터 보관소로부터의 디폴트 DMCONFIG 템플릿들을 선택 및 수정할 수 있다. 추가적으로, 데이터 보관소는 각각의 머신에 setenv.ksh 템플릿을 제공할 수 있다. 사용자들은 Tuxedo 어플리케이션들에 대한 다양한 환경 변수들, 예컨대 TUXDIR, PATH 및 APPDIR을 설정하기 위해 setenv.ksh 템플릿을 사용할 수 있다.
더욱이, 시스템은 상기 정보에 따라 각각의 머신에 디플로이먼트 디스크립터 및 언디플로이먼트 디스크립터를 제공한다. 사용자들은 자신만의 요건들에 따라 두 개의 디스크립터들을 수정할 수 있다.
상기 디플로이먼트 디스크립터는 분배 패키지가 목적지 머신들에 분배된 이후에 이루어질 수 있는 단계들을 기술하는 스트립트이다. 다음의 목록 2는 예시적인 디플로이먼트 디스크립터를 도시한다.
[목록 2]
Figure 112014032256513-pct00002
언디플로이먼트 디스크립터는 사용자들이 도메인을 언디플로이하기 원할 때, 이루어질 수 있는 단계들을 기술하는 스크립트이다. 다음의 목록 3은 예시적인 언디플로이먼트 디스크립터를 도시한다.
[목록 3]
Figure 112014032256513-pct00003
본 발명의 실시예에 따르면, 분배 패키지들은 수정된 setenv.ksh (setenv.cmd) 템플릿, UBBCONFIG, DMCONFIG, 디플로이먼트/언디플로이먼트 디스크립터 및 컴파일된 바이너리 실행가능 파일들을 포함하도록 생성될 수 있다.
데이터 보관소
본 발명의 실시예에 따르면, 어플리케이션 패키지들 및 분배 패키지들 둘 모두는 데이터 보관소에 저장될 수 있다.
도 12는 본 발명의 실시예에 따른 데이터 보관소의 내부 구조의 예를 도시한다. 도 12에 도시된 바와 같이, 데이터 보관소 즉, 보관소(1201)는 어플리케이션 패키지 디렉토리 즉, AppPackage(1202) 및 디플로이먼트 디렉토리 즉, DeployDir(1203)를 포함한다. 본래의 업로드된 어플리케이션 패키지들은 AppPackage 디렉토리(1202) 하에 저장되고, 도메인들과 같은 디플로이먼트 유닛은 DeployDir 디렉토리(1203) 하에 저장된다.
도 12에 도시된 바와 같이, 도메인 이름은 'DOM1'이고, 머신 이름들은 'lclnx24' 및 'lclnx26'이며, 상기 머신들 각각은 디플로이 디스크립터, 언디플로이디 스크립터 및 다양한 분배 패키지들을 포함한다.
추가적으로, 일 어플리케이션 패키지는 복수 회 동안 도메인 내의 단일 머신에 추가될 수 있고, 이 경우, 시스템은 이를 위한 색인(index), 예컨대, APP1_1 , APP1_2, 등을 자동으로 생성할 수 있다.
Tuxedo 도메인 디플로이 / 언디플로이
본 발명의 실시예에 따르면, 디플로이먼트 센터는 분배 파일에 따른 모든 목적지 머신에 분배 아카이브 파일들을 디플로이할 수 있다. 후속적으로, 디플로이먼트 에이전트는 Tuxedo 시스템을 구성 및 설정할 수 있다. 만일 성공적인 경우, 시스템은 Tuxedo 시스템의 상태를 상태 파일에 기록할 수 있다. 만일 도메인 내의 어느 머신의 배치가 이루어지지 못하면, 시스템은 행해 왔던 배치 동작들을 롤 백(roll back)할 수 있다.
도 13은 본 발명의 실시예에 따른 어플리케이션 디렉토리의 구조의 예를 도시한다. 도 13에 도시된 바와 같이, 어플리케이션 디렉토리 APPDIR(1301)는 성공적인 디플로이먼트 이후에 여러 가지 서로 다른 어플리케이션들에 대한 디플로이먼트 파일을 포함하기 위한 복수의 서브-디렉토리들, APP1(1302) 및 APP2(1303)을 포함하도록 생성된다.
추가적으로, 도메인이 셧다운 상태에 있을 때, 사용자들은 Tuxedo 어플리케이션을 언디플로이할 수 있다. 더욱이, 디플로이된 머신 상의 디플로이먼트 에이전트는 언디플로이먼트 태스크들을 수행하기 위해 언디플로이먼트 디스크립터를 사용할 수 있다.
도 14는 본 발명의 실시예에 따른 도 1의 어플리케이션 컴포넌트들을 자동으로 디플로이/언디플로이하는 것을 지원하는 트랜잭셔널 미들웨어 머신 환경의 보다 세부적인 사항을 도시한다. 도 1의 컴포넌트들과 같은 도 14의 일부 컴포넌트들은 동일한 도면 부호로 나타내지고, 이들의 세부적인 설명은 생략된다.
도 14에 도시된 바와 같이, 디플로이먼트 센터(106)는 하나 이상의 어플리케이션 패키지들을 수신하는 어플리케이션 패키지 수신 유닛(1061)과, 여기서 각각의 어플리케이션 패키지는 하나 이상의 트랜잭셔널 서버들에 대한 바이너리 파일들, 및 어플리케이션 패키지 내의 하나 이상의 트랜잭셔널 서버들의 관계 및 파라미터들을 기술하는 구성 정보를 포함하며, 상기 하나 이상의 어플리케이션 패키지들에 근거하여 상기 트랜잭셔널 미들웨어 머신 환경에서의 복수의 트랜잭셔널 미들웨어 머신 중 각각의 트랜잭셔널 미들웨어 머신에 대한 하나 이상의 분배 패키지들을 생성하는 분배 패키지 생성 유닛(1062)과, 그리고 상기 트랜잭셔널 미들웨어 머신 환경에서의 상기 복수의 트랜잭셔널 미들웨어 머신들에 상기 하나 이상의 분배 패키지들을 디플로이하는 분배 패키지 디플로이 유닛(1063)을 포함한다.
바람직하게는, 각각의 어플리케이션 패키지는 어플리케이션 패키지가 디플로이되는 플랫폼에 관한 정보를 포함하도록 될 수 있다.
바람직하게는, 어플리케이션 패키지는 여러 가지 서로 다른 트랜잭셔널 도메인들에 적용되며, 여기서 각각의 트랜잭셔널 도메인은 하나 이상의 트랜잭셔널 미들웨어 머신들을 포함한다.
바람직하게는, 상기 하나 이상의 어플리케이션 디렉토리들은 어플리케이션 패키지들에 근거하여, 하나 이상의 트랜잭셔널 서버들이 디플로이되는 각각의 트랜잭셔널 미들웨어 머신 상에서 생성된다.
바람직하게는, 디플로이먼트 센터(106)는 동일한 어플리케이션 디렉토리 내로 복수의 어플리케이션 패키지들을 디플로이하는 디플로이 유닛(1064)을 더 포함한다.
바람직하게는, 디플로이먼트 센터(106)는 어플리케이션 패키지 내의 구성 정보에 근거하여, 하나 이상의 트랜잭셔널 서버들이 디플로이되는 각각의 트랜잭셔널 미들웨어 머신에 대한 구성 메타데이터를 자동으로 생성하는 구성 메타데이터 생성 유닛(1065)을 더 포함한다.
바람직하게는, 데이터 보관소(105)는 사용자에 의해 업로드되는 하나 이상의 어플리케이션 패키지들을 저장한다.
바람직하게는, 디플로이먼트 센터(106)는 복수의 어플리케이션 패키지들을 포함하는 트랜잭셔널 어플리케이션을 단일 트랜잭셔널 미들웨어 머신 또는 복수의 상호-연결된 트랜잭셔널 미들웨어 머신들에 디플로이하는 트랜잭셔널 어플리케이션 디플로이 유닛(1066)을 더 포함한다.
바람직하게는, 각각의 상기 어플리케이션 패키지는 어플리케이션 패키지의 이름들을 포함하는 제1 티어, 어플리케이션 패키지 내의 하나 이상의 트랜잭셔널 서버들의 관계 및 파라미터를 기술하는 구성 정보를 포함하는 제2 티어, 및 트랜잭셔널 서버들에 대한 컴파일된 바이너리 파일들을 포함하는 제3 티어를 포함하는 압축된 파일이다.
바람직하게는, 디플로이먼트 센터(106)는 트랜잭셔널 미들웨어 머신 환경에서의 복수의 트랜잭셔널 미들웨어 머신들로부터 적어도 하나의 분배 패키지를 언디플로이하는 언디플로이 유닛(1067)을 더 포함한다.
이 유닛들 및 컴포넌트들은 소프트웨어 및/또는 하드웨어로 구현될 수 있다.
Tuxedo 어플리케이션 부팅/ 셧타운
본 발명의 실시예에 따르면, Tuxedo 어플리케이션이 목적지 머신에 디플로이된 이후에, 디플로이먼트 센터는 디플로이 에이전트들과 연결될 수 있고, 그래서 사용자들은 전체 시스템을 부팅하는 것을 선택할 수 있다. 시스템이 성공저으로 부팅될 때, 시스템은 상태 파일에 상태를 기록하고, 도메인의 상태를 갱신할 수 있다. 일단 도메인이 성공적으로 부팅되면, 사용자들은 동적 디플로이먼트를 수행하도록 될 수 있다. 한편, 부팅된 Tuxedo 시스템은 만일 어떤 에러가 발견되면 셧다운될 수 있다.
본 발명은 본 발명의 교시들에 따라 프로그램된 하나 이상의 프로세서들, 메모리 및/또는 컴퓨터 판독가능 스토리지 매체를 포함하는 하나 이상의 종래의 범용 또는 특수 디지털 컴퓨터, 컴퓨팅 디바이스, 머신 또는 마이크로프로세서를 이용하여 통상적으로 구현될 수 있다. 적절한 소프트웨어 코딩은 소프트웨어 기술 분야의 숙련자들에게 분명할 바와 같이, 본 발명의 교시들에 근거하여 숙련된 프로그래머들에 의해 쉽게 준비될 수 있다.
일부 실시예들에서, 본 발명은 본 발명의 프로세스들 중 어느 것을 수행하도록 컴퓨터를 프로그램하는 데 사용될 수 있는/명령어들이 저장된 스토리지 매체 또는 컴퓨터 판독가능 매체(들)인 컴퓨터 프로그램 제품을 포함한다. 스토리지 매체는 이들로만 한정되는 것은 아니지만, 플로피 디스크(disk)들, 광학 디스크(disc)들, DVD, CD-ROM들, 마이크로드라이브 및 자기-광학 디스크(disk)들을 포함하는 어떤 타입의 디스크, ROM들, RAM들, EPROM들, EEPROM들, DRAM들, VRAM들, 플래시 메모리 디바이스들, 자기 또는 광학 카드들, (분자 메모리 IC들을 포함하는)나노시스템들 또는, 명령어들 및/또는 데이터를 저장하기에 적절한 어떤 타입의 매체 또는 디바이스를 포함할 수 있다.
본 발명의 상기 상세한 설명은 예시 및 설명을 위해 제공되었다. 본 설명은 완전한 것이거나 또는 정확히 개시된 형태들로만 본 발명을 제한하고자 의도된 것이 아니다. 많은 수정들 및 변형들이 이 기술분야의 숙련자에게 분명할 것이다. 위 실시예들은 본 발명의 원리 및 이의 실용적 응용을 가장 잘 설명하기 위해 선택 및 기술되었으며, 그럼으로써 이 기술분야의 숙련자들은 본 발명에 대한 다양한 실시예들 및 고려되는 특별한 사용에 적합한 다양한 수정들을 이해할 수 있다. 본 발명의 범위는 다음의 특허 청구 범위 및 이의 균등물에 의해 한정되어야 함이 의도된다.
Appendix A
본 발명의 실시예에 따르면, 시스템은 RESOURCE 섹션을 정의하기 위해 Tuxedo 사용자들에게 UBB_Resource 템플릿을 제공할 수 있다. 도메인을 생성할 때, 사용자는 UBBCONFIG에 대한 RESOURCES 섹션을 생성하기 위해 이 템플릿을 선택할 수 있다. 템플릿 내의 예시적인 항목 목록이 다음의 표 3에 도시된다.
항목
IPCKEY 33333
MASTER 널(NULL)
사용자들이 어느 머신이 마스터인지 특정할 때, 이 항목은 자동으로 생성될 것이다.
MODE 사용자는 SHM 또는 MP를 특정할 수 있다.
상기 표 3의 항목들은 MASTER 항목을 제외하고 사용자들에 의해 수정될 수 있다. MASTER 항목은 사용자들이 어느 머신이 도메인 내의 마스터인지 그리고 어느 머신이 백업인지 특정할 때 채워질 수 있다. 사용자들은 이 파라미터들 외에 다른 파라미터들을 추가할 수 있다. 사용자들은 또한, 자신만의 UBB_Resource 템플릿들을 생성하고, 이들을 시스템에 저장할 수 있다. 모든 템플릿들에서, MASTER는 상기 룰들을 자동으로 따르는 시스템에 의해 채워질 수 있다.
본 발명의 실시예에 따르면, 시스템은 Tuxedo 사용자들에게 UBB_Machine 템플릿을 제공할 수 있다. 도메인을 생성하고 머신을 특정할 때, 사용자는 UBBCONFIG 파일에 대한 MACHINES 섹션을 생성하기 위해 이 템플릿을 선택할 수 있다. 템플릿 내의 예시적인 항목 목록이 다음의 표 4에 도시된다.
항목
ADDRESS 이는 머신의 로직 이름에 따라 시스템에 의해 생성된다. 사용자들에 의해 수정될 수 없다.
LMID 이는 시스템에 의해 자동으로 생성된다. 명명 룰은 SITE1, SITE2...이고, 사용자들에 의해 수정될 수 없다.
APPDIR 사용자들이 일 도메인에 머신들을 추가할 때 사용자들에 의해 특정된다.
TUXCONFIG 디폴트이며, 이는
Figure 112014032256513-pct00004
이다. tuxconfig가 로우 디스크(raw disk)에 위치될 수 있기 때문에, 사용자들은 다른 값으로 이를 채울 수 있고, 이 특징은 tuxconfig를 그 값에 따른 해당 위치에 디플로이할 것이다.
TUXDIR 이는 머신 목록에 의해 특정된 TUXDIR을 이용하여 시스템에 의해 자동으로 생성된다. 사용자들은 이 값을 수정할 수 없다.
사용자들은 UBBCONFIG 파일에 MACHINES 섹션의 다른 파라미터들을 추가할 수 있다. 사용자들은 또한, 로우 디스크에 TLOG를 특정할 수 있고, 시스템은 이 도메인을 언디플로이할때 상기 TLOG를 삭제할 수 있다. 사용자는 또한, 추가적인 UBB_Machine 템플릿들을 생성하고, 이들을 시스템에 저장할 수 있다. 파라미터들 교체 룰은 상기를 따를 수 있다.
본 발명의 실시예에 따르면, 사용자들이 일 도메인에 어플리케이션 패키지를 추가할 때, 시스템은 그 패키지의 UBB_part에서 GROUPS 섹션의 일부 파라미터들을 교체할 수 있다. 템플릿 내의 예시적인 항목 목록이 다음의 표 5에 도시된다.
항목
GROUPNAME 이는 시스템에 의해 자동으로 생성된다. 명명 룰은 GROUP1, GROUP2...이며, 사용자들에 의해 수정될 수 없다.
LMID 이는 패키지가 디플로이되는 머신에 따라 시스템에 의해 생성된다.
GRPNO 이는 시스템에 의해 자동으로 생성된다. 이는 커스토머들에 의해 수정될 수 없다.
시스템은 UBB_part 파일에서 GROUPS 섹션의 다른 파라미터들의 값들을 유지할 수 있고, 사용자들이 이 값들을 자유롭게 수정하도록 할 수 있다. 마찬가지로, 사용자들은 UBBCONFIG 파일에 다른 파라미터들을 추가할 수 있다.
본 발명의 실시예에 따르면, 일 도메인에 어플리케이션 패키지를 추가할 때, 시스템은 그 패키지의 UBB_part에서 RMS 섹션의 일부 파라미터들을 교체할 수 있다. 템플릿 내의 예시적인 항목 목록이 다음의 표 6에 도시된다.
항목
RMSNAME 이는 시스템에 의해 자동으로 생성된다. 명명 룰은 RMS1, RMS2...이고, 사용자들에 의해 수정될 수 없다.
SRVGRP 이는 시스템에 의해 이전에 생성된 그룹의 새로운 이름과 교체될 것이다. 이는 커스토머들에 의해 수정될 수 없다.
RMID 이는 시스템에 의해 자동으로 생성된다. 명명 룰은 1, 2 및 기타 등등이다. 이는 커스토머들에 의해 수정될 수 없다.
시스템은 UBB_part 파일에서 RMS 섹션의 다른 파라미터들의 값들을 유지할 수 있고, 사용자들이 이 값들을 자유롭게 수정하도록 할 수 있다. 마찬가지로, 사용자들은 UBBCONFIG 파일에 다른 파라미터들을 추가할 수 있다.
본 발명의 실시예에 따르면, NETGROUPS 섹션 내의 모든 파라미터들은 필요로 하는 경우 사용자들 스스로에 의해 채워질 수 있다.
본 발명의 실시예에 따르면, NETWORK 섹션이 또한, UBB_Machine 템플릿에 있다. 만일 도메인이 MP 모드에 있으면, 시스템은 UBBCONFIG에 이 섹션을 자동으로 추가할 수 있다. 템플릿 내의 예시적인 항목 목록이 다음의 표 7에 도시된다.
항목
LMID 이는 시스템에 의해 자동으로 생성된다. 사용자들은 이를 수정할 수 없다.
NADDR 시스템은 //hostname:port_number를 생성할 것이며, 사용자들은 이 port_number를 수정할 수 있다.
NLSADDR 시스템은 //hostname:port_number를 생성할 것이며, 사용자들은 이 port_number를 수정할 수 있다.
추가적으로, 사용자들은 NETWORK 섹션에 다른 파라미터들을 추가할 수 있다.
본 발명의 실시예에 따르면, 일 도메인에 어플리케이션 패키지를 추가할 때, 시스템은 그 패키지의 UBB_part에서 SERVERS 섹션의 일부 파라미터들을 교체할 수 있다. 템플릿 내의 예시적인 항목 목록이 다음의 표 8에 도시된다.
항목
SVRGRP 이는 시스템에 의해 이전에 생성된 그룹의 새로운 이름과 교체될 것이다. 이는 커스토머들에 의해 수정될 수 없다.
SRVID 이는 시스템에 의해 자동으로 생성된다. 명명 룰은 1, 2,...이며, 사용자들에 의해 수정될 수 없다.
시스템은 UBB_part 파일에서 SERVERS 섹션의 다른 파라미터들의 값들을 유지할 수 있고, 사용자들이 이 값들을 자유롭게 수정하도록 할 수 있다. 마찬가지로, 사용자들은 UBBCONFIG 파일에 다른 파라미터들을 추가할 수 있다.
본 발명의 실시예에 따르면, 일 도메인에 어플리케이션 패키지를 추가할 때, 시스템은 그 패키지의 UBB_part에서 SERVICES 섹션의 일부 파라미터들을 교체할 수 있다. 템플릿 내의 예시적인 항목 목록이 다음의 표 9에 도시된다.
항목
SRVGRP 만일 UBB_part가 이 파라미터를 가지면, 시스템은 이전에 생성된 대응하는 그룹과 이 파라미터를 교체할 것이다. 비록 이 파라미터가 요구되는 파라미터는 아니지만, 우리는 사용자들에게 이 파라미터를 추가할 것을 권고한다. 여러 가지 서로 다른 어플리케이션 패키지들에 동일한 서비스들이 존재할 때, 이들은 여러 가지 서로 다른 동작들을 가질 수 있다.
ROUTING 만일 UBB_part가 이 파라미터를 가지면, 시스템은 시스템에 의해 생성된 대응하는 라우팅 이름과 이 파라미터를 교체할 것이다.
시스템은 UBB_part 파일에서 SERVICES 섹션의 다른 파라미터들의 값들을 유지할 수 있고, 사용자들이 이 값들을 자유롭게 수정하도록 할 수 있다. 마찬가지로, 사용자들은 UBBCONFIG 파일에 다른 파라미터들을 추가할 수 있다.
본 발명의 실시예에 따르면, 일 도메인에 어플리케이션 패키지를 추가할 때, 시스템은 그 패키지의 UBB_part에서 ROUTING 섹션의 일부 파라미터들을 교체할 수 있다. 템플릿 내의 예시적인 항목 목록이 다음의 표 10에 도시된다.
항목
ROUTING_CRITERIA_NAME 이는 시스템에 의해 자동으로 생성된다. 명명 룰은 ROUTING1, ROUTING 2, ...이며, 사용자들에 의해 수정될 수 없다.
RANGES 이 파라미터의 그룹은 시스템에 의해 교체될 것이다.
시스템은 UBB_part 파일에서 ROUTING 섹션의 다른 파라미터들의 값들을 유지할 수 있고, 사용자들이 이 값들을 자유롭게 수정하도록 할 수 있다. 마찬가지로, 사용자들은 UBBCONFIG 파일에 다른 파라미터들을 추가할 수 있다.

Claims (22)

  1. 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트(depolyment)를 지원하기 위한 방법으로서,
    하나 이상의 어플리케이션 패키지들을 수신하는 단계와, 여기서 각각의 어플리케이션 패키지는 하나 이상의 트랜잭셔널 서버들에 대한 바이너리 파일(binary file)들, 및 상기 어플리케이션 패키지 내의 상기 하나 이상의 트랜잭셔널 서버들의 관계 및 파라미터들을 기술하는 구성 정보를 포함하고;
    상기 하나 이상의 어플리케이션 패키지들에 근거하여 상기 트랜잭셔널 미들웨어 머신 환경에서의 복수의 트랜잭셔널 미들웨어 머신들 중 각각의 트랜잭셔널 미들웨어 머신에 대해 하나 이상의 마이크로프로세서들 상에서 하나 이상의 분배 패키지(distribution package)들을 생성하는 단계와; 그리고
    상기 어플리케이션 패키지 내의 상기 구성 정보에 기초하여 상기 트랜잭셔널 미들웨어 머신 환경에서의 복수의 트랜잭셔널 미들웨어 머신들 중 각각의 트랜잭셔널 미들웨어 머신에 대한 구성 메타데이터를 자동 생성하는 단계와, 여기서 각각의 분배 패키지는 복수의 어플리케이션 패키지들을 포함하고, 각 어플리케이션 패키지에 대해 복수의 후보 트랜잭셔널 미들웨어 머신들을 식별하고, 상기 식별된 복수의 후보 트랜잭셔널 미들웨어 머신들의 각각에 대해, 자동 생성된 구성 메타데이터, 상기 하나 이상의 트랜잭셔널 서버들에 대한 상기 바이너리 파일들 중 하나 이상, 상기 하나 이상의 트랜잭셔널 서버들의 각각에 대한 환경 파일을 포함하고;
    상기 트랜잭셔널 미들웨어 머신 환경에서의 상기 복수의 후보 트랜잭셔널 미들웨어 머신들에 상기 하나 이상의 분배 패키지들을 동적으로 디플로이하는 단계와;
    리소스 사용 정보에 응답하여 상기 복수의 후보 트랜잭셔널 미들웨어 머신들 중 선택된 트랜잭셔널 미들웨어 머신들 상의 상기 하나 이상의 분배 패키지들로부터 선택된 트랜잭셔널 서버들을 자동적으로 부팅하는 단계를 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트를 지원하기 위한 방법.
  2. 제1항에 있어서,
    각각의 어플리케이션 패키지로 하여금 상기 어플리케이션 패키지가 디플로이될 수 있는 플랫폼에 관한 정보를 포함하도록 하는 것을 더 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트를 지원하기 위한 방법.
  3. 제1항에 있어서,
    여러 가지 서로 다른 트랜잭셔널 도메인들에 어플리케이션 패키지를 적용시키는 것을 더 포함하며, 여기서 각각의 트랜잭셔널 도메인은 하나 이상의 트랜잭셔널 미들웨어 머신들을 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트를 지원하기 위한 방법.
  4. 제1항에 있어서,
    상기 어플리케이션 패키지들에 근거하여, 하나 이상의 트랜잭셔널 서버들이 디플로이되는 각각의 트랜잭셔널 미들웨어 머신 상에 하나 이상의 어플리케이션 디렉토리를 생성하는 것을 더 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트를 지원하기 위한 방법.
  5. 제1항에 있어서,
    어플리케이션 디렉토리 내로 복수의 어플리케이션 패키지들을 디플로이하는 것을 더 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트를 지원하기 위한 방법.
  6. 삭제
  7. 제1항에 있어서,
    사용자에 의해 업로드되는 상기 하나 이상의 어플리케이션 패키지들을 저장하는 데이터 보관소(data repository)를 제공하는 것을 더 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트를 지원하기 위한 방법.
  8. 제1항에 있어서,
    복수의 어플리케이션 패키지들을 포함하는 트랜잭셔널 어플리케이션을 단일의 트랜잭셔널 미들웨어 머신 또는 복수의 상호-연결된 트랜잭셔널 미들웨어 머신들에 디플로이하는 것을 더 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트를 지원하기 위한 방법.
  9. 제1항에 있어서,
    각각의 상기 어플리케이션 패키지는 압축 파일(compressed file)이며, 상기 압축 파일은,
    상기 어플리케이션 패키지의 이름들을 포함하는 제1 티어(tier)와,
    상기 어플리케이션 패키지 내의 상기 하나 이상의 트랜잭셔널 서버들의 관계 및 파라미터들을 기술하는 상기 구성 정보를 포함하는 제2 티어와, 그리고
    상기 트랜잭셔널 서버들에 대한 컴파일된 바이너리 파일들을 포함하는 제3 티어를 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트를 지원하기 위한 방법.
  10. 제1항에 있어서,
    상기 트랜잭셔널 미들웨어 머신 환경에서의 상기 복수의 트랜잭셔널 미들웨어 머신들로부터 적어도 하나의 분배 패키지를 언디플로이(undeploying)하는 것을 더 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트를 지원하기 위한 방법.
  11. 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트를 지원하기 위한 시스템으로서,
    하나 이상의 마이크로프로세서들과; 그리고
    상기 트랜잭셔널 미들웨어 머신 환경에서의 상기 하나 이상의 마이크로프로세서들 상에서 동작(running)하는 디플로이먼트 센터를 포함하여 구성되고, 여기서 상기 디플로이먼트 센터는,
    하나 이상의 어플리케이션 패키지들을 수신하고, 각각의 어플리케이션 패키지는 하나 이상의 트랜잭셔널 서버들에 대한 바이너리 파일들, 및 상기 어플리케이션 패키지 내의 상기 하나 이상의 트랜잭셔널 서버들의 관계 및 파라미터들을 기술하는 구성 정보를 포함하며,
    상기 하나 이상의 어플리케이션 패키지들에 근거하여, 상기 트랜잭셔널 미들웨어 머신 환경에서의 복수의 트랜잭셔널 미들웨어 머신들 중 각각의 트랜잭셔널 미들웨어 머신에 대한 하나 이상의 분배 패키지들을 생성하고, 그리고
    상기 어플리케이션 패키지 내의 상기 구성 정보에 기초하여 상기 트랜잭셔널 미들웨어 머신 환경에서의 복수의 트랜잭셔널 미들웨어 머신들 중 각각의 트랜잭셔널 미들웨어 머신에 대한 구성 메타데이터를 자동 생성하고, 여기서 각각의 분배 패키지는 복수의 어플리케이션 패키지들을 포함하고, 각 어플리케이션 패키지에 대해 복수의 후보 트랜잭셔널 미들웨어 머신들을 식별하고, 상기 식별된 복수의 후보 트랜잭셔널 미들웨어 머신들의 각각에 대해, 자동 생성된 구성 메타데이터, 상기 하나 이상의 트랜잭셔널 서버들에 대한 상기 바이너리 파일들 중 하나 이상, 상기 하나 이상의 트랜잭셔널 서버들의 각각에 대한 환경 파일을 포함하고;
    상기 트랜잭셔널 미들웨어 머신 환경에서의 상기 복수의 후보 트랜잭셔널 미들웨어 머신들에 상기 하나 이상의 분배 패키지들을 동적으로 디플로이하고,
    리소스 사용 정보에 응답하여 상기 복수의 후보 트랜잭셔널 미들웨어 머신들 중 선택된 트랜잭셔널 미들웨어 머신들 상의 상기 하나 이상의 분배 패키지들로부터 선택된 트랜잭셔널 서버들을 자동적으로 부팅하기 위해 구성되는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트를 지원하기 위한 시스템.
  12. 제11항에 있어서,
    각각의 어플리케이션 패키지는 상기 어플리케이션 패키지가 디플로이될 수 있는 플랫폼에 관한 정보를 포함하도록 되는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트를 지원하기 위한 시스템.
  13. 제11항에 있어서,
    어플리케이션 패키지는 여러 가지 서로 다른 트랜잭셔널 도메인들에 적용되고, 여기서 각각의 트랜잭셔널 도메인은 하나 이상의 트랜잭셔널 머신들을 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트를 지원하기 위한 시스템.
  14. 제11항에 있어서,
    하나 이상의 어플리케이션 디렉토리들은 상기 어플리케이션 패키지들에 근거하여, 하나 이상의 트랜잭셔널 서버들이 디플로이되는 각각의 트랜잭셔널 미들웨어 머신 상에 생성되는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트를 지원하기 위한 시스템.
  15. 제11항에 있어서,
    상기 디플로이먼트 센터는 어플리케이션 디렉토리 내로 복수의 어플리케이션 패키지들을 디플로이할 수 있는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트를 지원하기 위한 시스템.
  16. 삭제
  17. 제11항에 있어서,
    사용자에 의해 업로드되는 상기 하나 이상의 어플리케이션 패키지들을 저장하는 데이터 보관소를 더 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트를 지원하기 위한 시스템.
  18. 제11항에 있어서,
    상기 디플로이먼트 센터는 복수의 어플리케이션 패키지들을 포함하는 트랜잭셔널 어플리케이션을 단일의 트랜잭셔널 미들웨어 머신 또는 복수의 상호-연결된 트랜잭셔널 미들웨어 머신들에 디플로이할 수 있는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트를 지원하기 위한 시스템.
  19. 제11항에 있어서,
    각각의 상기 어플리케이션 패키지는 압축 파일이며, 상기 압축 파일은,
    상기 어플리케이션 패키지의 이름들을 포함하는 제1 티어와,
    상기 어플리케이션 패키지 내의 상기 하나 이상의 트랜잭셔널 서버들의 관계 및 파라미터들을 기술하는 상기 구성 정보를 포함하는 제2 티어와, 그리고
    상기 트랜잭셔널 서버들에 대한 컴파일된 바이너리 파일들을 포함하는 제3 티어를 포함하는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트를 지원하기 위한 시스템.
  20. 제11항에 있어서,
    상기 디플로이먼트 센터는 상기 트랜잭셔널 미들웨어 머신 환경에서의 상기 복수의 트랜잭셔널 미들웨어 머신들로부터 적어도 하나의 분배 패키지를 언디플로이할 수 있는 것을 특징으로 하는 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트를 지원하기 위한 시스템.
  21. 삭제
  22. 컴퓨터 판독가능 비-휘발성 저장 매체로서,
    컴퓨터로 하여금 청구항 제1 내지 5항 및 제7 내지 10항 중 어느 한 항의 방법을 수행하도록 하는 프로그램을 저장하는 컴퓨터 판독가능 비-휘발성 저장 매체.
KR1020147008933A 2011-09-29 2012-09-25 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트/언디플로이먼트를 지원하기 위한 시스템 및 방법 KR102001190B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161541059P 2011-09-29 2011-09-29
US61/541,059 2011-09-29
US13/423,035 US9003397B2 (en) 2011-09-29 2012-03-16 System and method for supporting automatically deploying/undeploying application components in a transactional middleware machine environment
US13/423,035 2012-03-16
PCT/US2012/057136 WO2013049074A1 (en) 2011-09-29 2012-09-25 System and method for supporting automatically deploying/undeploying application components in a transactional middleware machine environment

Publications (2)

Publication Number Publication Date
KR20140070583A KR20140070583A (ko) 2014-06-10
KR102001190B1 true KR102001190B1 (ko) 2019-10-01

Family

ID=47993740

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147008196A KR102017248B1 (ko) 2011-09-29 2012-09-25 트랜잭셔널 미들웨어 머신 환경에서 동적 리소스 브로커를 지원하기 위한 시스템 및 방법
KR1020147008933A KR102001190B1 (ko) 2011-09-29 2012-09-25 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트/언디플로이먼트를 지원하기 위한 시스템 및 방법

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020147008196A KR102017248B1 (ko) 2011-09-29 2012-09-25 트랜잭셔널 미들웨어 머신 환경에서 동적 리소스 브로커를 지원하기 위한 시스템 및 방법

Country Status (6)

Country Link
US (3) US8825864B2 (ko)
EP (2) EP2761445A4 (ko)
JP (2) JP6129851B2 (ko)
KR (2) KR102017248B1 (ko)
CN (2) CN103827850B (ko)
WO (2) WO2013049072A1 (ko)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130117749A1 (en) * 2011-11-03 2013-05-09 Microsoft Corporation Provisioning and Managing an Application Platform
CN106796508B (zh) * 2014-04-30 2020-09-04 皮沃塔尔软件公司 在云平台上的快速部署
CN104077131B (zh) * 2014-06-13 2017-08-25 科大讯飞股份有限公司 一种组件部署系统及方法
CN104090799B (zh) * 2014-07-11 2017-10-27 百度在线网络技术(北京)有限公司 一种环境部署方法及装置
US10078619B2 (en) 2014-12-16 2018-09-18 International Business Machines Corporation Dynamic association of application workload tiers to infrastructure elements in a cloud computing environment
WO2016109733A1 (en) * 2014-12-30 2016-07-07 The Regents Of The University Of California Highly sensitive detection of biomolecules using proximity induced bioorthogonal reactions
CN105068868A (zh) * 2015-08-27 2015-11-18 浪潮软件股份有限公司 一种基于Linux的消息中间件快速部署的方法
WO2017066966A1 (en) 2015-10-22 2017-04-27 Oracle International Corporation System and method for providing mssq notifications in transactional processing environment
WO2017066953A1 (en) 2015-10-22 2017-04-27 Oracle International Corporation System and method for providing distributed caching in transactional processing environment
CN105912375A (zh) * 2016-05-31 2016-08-31 乐视控股(北京)有限公司 将应用程序部署至服务器的方法及装置
US11169982B2 (en) 2016-06-30 2021-11-09 Microsoft Technology Licensing, Llc Dynamic deactivation of cold database in database service
US10922301B1 (en) * 2016-07-26 2021-02-16 Amdocs Development Limited Apparatus, computer program, and method for trigger-based tracking of database modifications
CN107885539A (zh) * 2016-09-28 2018-04-06 平安科技(深圳)有限公司 一种中间件管理方法及服务器
US10326834B2 (en) 2016-10-17 2019-06-18 At&T Intellectual Property I, L.P. Efficient un-allocation of cloud resources
CN106598761B (zh) * 2016-12-19 2020-07-14 北京奇虎科技有限公司 基于中间件的事务连接建立方法及装置
EP3568751B1 (en) * 2017-01-13 2023-06-07 Oracle International Corporation System and method for conditional call path monitoring in a distributed transactional middleware environment
US10498859B2 (en) * 2017-04-06 2019-12-03 Genesys Telecommunications Laboratories, Inc. System and method for self-deploying and self-adapting contact center components
US10120671B1 (en) 2017-08-08 2018-11-06 International Business Machines Corporation Multi-level image extraction
US11074093B2 (en) 2018-06-21 2021-07-27 Hewlett Packard Enterprise Development Lp Virtual machine migration using tracked error statistics for target fibre channel ports
US11228561B2 (en) * 2019-04-23 2022-01-18 Red Hat, Inc. Safe MAC programming support for vNIC
CN110321133B (zh) * 2019-07-05 2023-03-14 恒生电子股份有限公司 H5应用部署方法及装置
CN114766003B (zh) 2019-10-07 2024-03-26 波士顿偏振测定公司 用于利用偏振增强传感器系统和成像系统的系统和方法
CN111124428A (zh) * 2019-12-18 2020-05-08 广东电网有限责任公司 一种基于中创中间件的应用自动化发布方法和相关装置
US11677810B2 (en) 2021-07-23 2023-06-13 International Business Machines Corporation Configuration tool for deploying an application on a server
WO2024034708A1 (ko) * 2022-08-11 2024-02-15 엘지전자 주식회사 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치
WO2024034709A1 (ko) * 2022-08-11 2024-02-15 엘지전자 주식회사 신호 처리 장치, 및 이를 구비하는 차량용 디스플레이 장치

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030172135A1 (en) * 2000-09-01 2003-09-11 Mark Bobick System, method, and data structure for packaging assets for processing and distribution on multi-tiered networks
US6640238B1 (en) 1999-08-31 2003-10-28 Accenture Llp Activity component in a presentation services patterns environment
US7458073B1 (en) 2003-12-02 2008-11-25 Cisco Technology, Inc. Development and build environment for packaged software delivery

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6075938A (en) 1997-06-10 2000-06-13 The Board Of Trustees Of The Leland Stanford Junior University Virtual machine monitors for scalable multiprocessors
US5995945A (en) 1997-08-25 1999-11-30 I2 Technologies, Inc. System and process for inter-domain planning analysis and optimization using model agents as partial replicas of remote domains
US7657887B2 (en) * 2000-05-17 2010-02-02 Interwoven, Inc. System for transactionally deploying content across multiple machines
US7051098B2 (en) 2000-05-25 2006-05-23 United States Of America As Represented By The Secretary Of The Navy System for monitoring and reporting performance of hosts and applications and selectively configuring applications in a resource managed system
JP2002325111A (ja) * 2001-04-25 2002-11-08 Murata Mfg Co Ltd 通信データ処理装置、通信データ処理プログラム及び記録媒体
US7559059B2 (en) * 2001-09-21 2009-07-07 Bea Systems, Inc. Method and apparatus for smart directories for application deployment
US7107589B1 (en) * 2001-09-28 2006-09-12 Siebel Systems, Inc. Infrastructure for the automation of the assembly of schema maintenance scripts
US7937406B2 (en) * 2003-09-11 2011-05-03 Oracle America, Inc. Mechanism for automatically establishing a resource grid
US7506335B1 (en) * 2003-11-29 2009-03-17 Cisco Technology, Inc. Method and apparatus for software loading and initialization in a distributed network
US7613881B2 (en) * 2004-06-08 2009-11-03 Dartdevices Interop Corporation Method and system for configuring and using virtual pointers to access one or more independent address spaces
US20060036721A1 (en) * 2004-06-15 2006-02-16 Dong Zhao Run-time tool for network management application
US7712102B2 (en) 2004-07-30 2010-05-04 Hewlett-Packard Development Company, L.P. System and method for dynamically configuring a plurality of load balancers in response to the analyzed performance data
US7530065B1 (en) * 2004-08-13 2009-05-05 Apple Inc. Mechanism for determining applicability of software packages for installation
US7386585B2 (en) 2004-10-30 2008-06-10 International Business Machines Corporation Systems and methods for storage area network design
JP2008527538A (ja) * 2005-01-06 2008-07-24 テーベラ・インコーポレーテッド メッセージング・システム内のキャッシング・エンジン
US20060245354A1 (en) 2005-04-28 2006-11-02 International Business Machines Corporation Method and apparatus for deploying and instantiating multiple instances of applications in automated data centers using application deployment template
US7870568B2 (en) * 2005-06-07 2011-01-11 Datasynapse, Inc. Adaptive shared computing infrastructure for application server-based deployments
WO2007021836A2 (en) * 2005-08-15 2007-02-22 Toutvirtual Inc. Virtual systems management
US20070180453A1 (en) * 2006-01-27 2007-08-02 International Business Machines Corporation On demand application scheduling in a heterogeneous workload environment
US7519711B2 (en) * 2006-06-15 2009-04-14 International Business Machines Corporation Method for middleware assisted system integration in a federated environment
US8145760B2 (en) * 2006-07-24 2012-03-27 Northwestern University Methods and systems for automatic inference and adaptation of virtualized computing environments
US8443438B1 (en) * 2006-09-06 2013-05-14 Bmc Software, Inc. Method and system for deployment of agents
US7827549B2 (en) * 2006-09-15 2010-11-02 Symantec Corporation Method and system for creating and executing generic software packages
US7865619B2 (en) 2006-09-29 2011-01-04 Intuit Inc. Method and apparatus for building centralized middleware
US8028048B2 (en) * 2007-02-27 2011-09-27 International Business Machines Corporation Method and apparatus for policy-based provisioning in a virtualized service delivery environment
KR100893601B1 (ko) * 2007-06-28 2009-04-20 한국전자통신연구원 가상화 어플라이언스를 활용한 소프트웨어 벤딩머신에서의서비스 프로비저닝 시스템 및 방법
US20090083732A1 (en) * 2007-09-26 2009-03-26 Microsoft Corporation Creation and deployment of distributed, extensible applications
JP5598762B2 (ja) * 2008-03-07 2014-10-01 日本電気株式会社 仮想マシンパッケージ生成システム、仮想マシンパッケージ生成方法および仮想マシンパッケージ生成プログラム
US8301742B2 (en) * 2008-04-07 2012-10-30 International Business Machines Corporation Systems and methods for coordinated management of power usage and runtime performance in performance-managed computing environments
US8903981B2 (en) * 2008-05-05 2014-12-02 International Business Machines Corporation Method and system for achieving better efficiency in a client grid using node resource usage and tracking
US8516037B2 (en) * 2008-06-16 2013-08-20 International Business Machines Corporation Methods for dynamic partitioning of applications in client-server environments
US8429650B2 (en) * 2008-11-14 2013-04-23 Oracle International Corporation System and method of security management for a virtual environment
JPWO2010100867A1 (ja) * 2009-03-05 2012-09-06 日本電気株式会社 仮想計算機管理システム
JP5427504B2 (ja) * 2009-08-03 2014-02-26 株式会社エヌ・ティ・ティ・データ サービス実行装置、サービス実行方法
US8924569B2 (en) * 2009-12-17 2014-12-30 Intel Corporation Cloud federation as a service
US9122536B2 (en) * 2009-12-30 2015-09-01 Bmc Software, Inc. Automating application provisioning for heterogeneous datacenter environments
US8346935B2 (en) 2010-01-15 2013-01-01 Joyent, Inc. Managing hardware resources by sending messages amongst servers in a data center
CN102135899B (zh) * 2010-01-26 2013-08-28 华为技术有限公司 一种事务控制方法及装置
US8402139B2 (en) 2010-02-26 2013-03-19 Red Hat, Inc. Methods and systems for matching resource requests with cloud computing environments
US10514940B2 (en) * 2010-03-17 2019-12-24 Microsoft Technology Licensing, Llc Virtual application package reconstruction
US8572612B2 (en) * 2010-04-14 2013-10-29 International Business Machines Corporation Autonomic scaling of virtual machines in a cloud computing environment
US8812653B2 (en) * 2010-08-05 2014-08-19 Novell, Inc. Autonomous intelligent workload management
US20120096453A1 (en) * 2010-10-14 2012-04-19 Meilstrup Jon A Software Package Management Mechanism
US8863114B2 (en) * 2010-12-06 2014-10-14 Red Hat, Inc. Managing software packages using a version control system
US8607225B2 (en) * 2010-12-28 2013-12-10 Oracle International Corporation Managed upgrades of components in an integrated software and hardware system
US9600523B2 (en) * 2011-01-19 2017-03-21 Oracle International Corporation Efficient data collection mechanism in middleware runtime environment
US9054886B2 (en) * 2011-07-11 2015-06-09 Oracle International Corporation System and method for using a multicast group to support a flooding mechanism in a middleware machine environment
US8856337B2 (en) * 2011-08-16 2014-10-07 Hitachi, Ltd. Method and apparatus of cluster system provisioning for virtual maching environment
US8832239B2 (en) * 2011-09-26 2014-09-09 International Business Machines Corporation System, method and program product for optimizing virtual machine placement and configuration

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6640238B1 (en) 1999-08-31 2003-10-28 Accenture Llp Activity component in a presentation services patterns environment
US20030172135A1 (en) * 2000-09-01 2003-09-11 Mark Bobick System, method, and data structure for packaging assets for processing and distribution on multi-tiered networks
US7458073B1 (en) 2003-12-02 2008-11-25 Cisco Technology, Inc. Development and build environment for packaged software delivery

Also Published As

Publication number Publication date
US20140337533A1 (en) 2014-11-13
EP2761494B1 (en) 2019-03-13
CN103827850A (zh) 2014-05-28
EP2761494A4 (en) 2015-08-26
US20130086271A1 (en) 2013-04-04
WO2013049072A1 (en) 2013-04-04
EP2761445A4 (en) 2015-08-26
CN103827850B (zh) 2017-07-28
JP6010623B2 (ja) 2016-10-19
EP2761445A1 (en) 2014-08-06
JP2014528613A (ja) 2014-10-27
US9003397B2 (en) 2015-04-07
US8825864B2 (en) 2014-09-02
KR20140074311A (ko) 2014-06-17
KR20140070583A (ko) 2014-06-10
JP6129851B2 (ja) 2017-05-17
CN103827822B (zh) 2017-06-13
EP2761494A1 (en) 2014-08-06
US9559977B2 (en) 2017-01-31
JP2014528614A (ja) 2014-10-27
CN103827822A (zh) 2014-05-28
US20130086576A1 (en) 2013-04-04
WO2013049074A1 (en) 2013-04-04
KR102017248B1 (ko) 2019-09-02

Similar Documents

Publication Publication Date Title
KR102001190B1 (ko) 트랜잭셔널 미들웨어 머신 환경에서 어플리케이션 컴포넌트들의 자동 디플로이먼트/언디플로이먼트를 지원하기 위한 시스템 및 방법
US11249956B2 (en) Scalable distributed storage architecture
AU2014311783B2 (en) Virtual disk blueprints for a virtualized storage area network
US10649802B2 (en) Component based dynamic guest instantiation
US20090271498A1 (en) System and method for layered application server processing
US8751656B2 (en) Machine manager for deploying and managing machines
US10931517B2 (en) Methods and systems that synchronize configuration of a clustered application
US10503630B2 (en) Method and system for test-execution optimization in an automated application-release-management system during source-code check-in
US20220206832A1 (en) Configuring virtualization system images for a computing cluster
US10203976B2 (en) Virtual appliance management in a virtualized computing environment based on operational modes associated with virtual appliance
US10891148B2 (en) Methods and systems for identifying application components in distributed computing facilities
US10534640B2 (en) System and method for providing a native job control language execution engine in a rehosting platform
Baranowski et al. Evolution of the hadoop platform and ecosystem for high energy physics
CN111488322A (zh) 文件系统服务方法、装置以及服务端设备
Oral et al. OneService-Generic Cache Aggregator Framework for Service Dependent Cloud Applications
US11860819B1 (en) Auto-generation of partition key

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant