KR20110063324A - 자동화된 구성요소를 가진 모델-기반 데이터 보관 시스템 - Google Patents
자동화된 구성요소를 가진 모델-기반 데이터 보관 시스템 Download PDFInfo
- Publication number
- KR20110063324A KR20110063324A KR1020100119981A KR20100119981A KR20110063324A KR 20110063324 A KR20110063324 A KR 20110063324A KR 1020100119981 A KR1020100119981 A KR 1020100119981A KR 20100119981 A KR20100119981 A KR 20100119981A KR 20110063324 A KR20110063324 A KR 20110063324A
- Authority
- KR
- South Korea
- Prior art keywords
- data
- archive
- model
- computer
- storage
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/211—Schema design and management
- G06F16/212—Schema design and management with details for data modelling support
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/79—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
- G06F21/80—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors
- G06F21/805—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in storage media based on magnetic or optical technology, e.g. disks with sectors using a security table for the storage sub-system
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/0614—Improving the reliability of storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/06—Digital input from, or digital output to, record carriers, e.g. RAID, emulated record carriers or networked record carriers
- G06F3/0601—Interfaces specially adapted for storage systems
- G06F3/0602—Interfaces specially adapted for storage systems specifically adapted to achieve a particular effect
- G06F3/062—Securing storage systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Security & Cryptography (AREA)
- Computer Hardware Design (AREA)
- Databases & Information Systems (AREA)
- Human Computer Interaction (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- Health & Medical Sciences (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
본 발명은 모델-기반(model-driven)의 자동화된 구성요소들을 이용하는 데이터 보관 방법 또는 시스템에 관한 것이다. 본 발명은 유연한 일반 데이터 보관 솔루션을 위해, 변환 구성요소와 같은 모델-기반의 자동화된 구성 요소들을 이용하여 데이터 보관 솔루션을 제공한다. 기타 구성요소들로는, 데이터 보관을 테스트하는 테스트 구성요소, 데이터 보관 사양 모델을 배포하는 배포 구성요소, 및 보관 모델 최적화를 위하여, 보관 결과를 수신하고 보관 결과를 관찰하며 보관 결과를 피드백하는 피드백 구성 요소가 있을 수 있다.
Description
본 발명은 모델-기반(model-driven)의 자동화된 구성요소들을 이용하는 데이터 보관 방법 또는 시스템에 관한 것이다. 본 발명은, 유연한 일반 데이터 보관 솔루션을 위해, 분석 구성요소(analyzing component), 변환 구성요소(transformation component), 테스트 구성요소(testing component), 배포 구성요소(deploying component), 피드백 구성요소(feedback component) 및 모델 최적화 구성요소(model optimization component)와 같은 모델-기반의 자동화된 구성요소들을 이용하여 데이터 보관 솔루션을 제공한다.
데이터를 보관하는 주된 방법들 중 하나는 사용자가 수동으로 데이터를 선택, 이동, 및 삭제하는 것이다. 예를 들어, 데이터베이스 관리자는 SQL(Structured Query Language) 쿼리를 발생하거나 일반 데이터베이스 유틸리티를 사용하여, 관계형 데이터베이스에 대한 검색 및 선택을 하며, 결과를 파일로 저장하고, 그 다음에 FTP(File Transfer Protocol)를 통해 다른 장소로 전송한다. 이 방법은 단순하고 대규모 초기 투자 비용을 야기하지 않으나, 단점들을 가지고 있다. 구체적으로는, 이 방법은 잘못된 데이터를 보관하거나 충분한 데이터를 보관하고 있지 않을 위험을 높일 수 있으며, 자주 데이터 무결성 문제들을 야기하므로, 수동 보관 방법은 기업에 손해를 끼칠 가능성이 있고 심지어 기업 재난까지 야기한다.
기타 데이터 보관 기술들은 보통 데이터 보관을 위한 구성가능 콘솔 및 프로그램가능 도구를 제공한다. 그러나, 이들 제품도 역시 명백한 한계를 갖는다.
- 이러한 도구들은 제한된 데이터 소스와 장소 지원을 가질 수 있다. 이러한 도구들 대부분은 단지 특정의 관계형 데이터베이스(relational database)(IBM® DB2®, Oracle, 기타 등등)를 지원할 수 있을 뿐이며, 단지 테이블이나 플랫 파일(flat file)로 보관할 수 있다. [DB2는 IBM의 광범위한 정보 관리 소프트웨어 라인 내의 RDBMS(relational database management system) 소프트웨어 제품 계열들 중 하나이다. DB2®는 IBM사의 등록 상표이다. Oracle Database(흔히 Oracle RDBMS 또는 간단히 ORACLE이라고 함)는 Oracle사에 의해 제조되어 판매되는 RDBMS로 이루어져 있다. Oracle®은 Oracle사의 등록 상표이다.]
- 이러한 도구들은 제한된 데이터 형식 지원을 가질 수 있다. 이들 대부분은 관계형 데이터베이스에서 공통 데이터 형식들만을 지원한다.
- 몇몇 보관 도구들은 단지 문서들(파일들)을 단순히 복사하며(흔히 백업이라고 함), 결코 비즈니스 논리(business logic)를 고려하지 않는다. 그러나, 데이터 보관은 비즈니스 논리에 매우 민감하다. 이러한 해결방안으로는 충분하지 않다.
- 또한, 이 도구들은 보관 규칙들을 변경하기에 충분히 유연하지 않을 수 있다.
- 가장 중요한 것은, 이들 중 어느 것도 데이터 보관 사양들(data archive specifications)(즉, 요구사항들)을 모델링한 다음에 사양들을 실행가능 코드로 변환하기 위해 모델-기반 개발(MDD, model-driven development)을 이용하지 않는다는 것이다.
그러므로, 이상에서 기술한 바와 같이, 관련된 문제들을 해결해야 할 필요가 있다.
데이터를 보관하는 주된 방법들 중 하나는 사용자가 수동으로 데이터를 선택, 이동, 및 삭제하는 것이다. 예를 들어, 데이터베이스 관리자는 SQL(Structured Query Language) 쿼리를 발생하거나 일반 데이터베이스 유틸리티를 사용하여, 관계형 데이터베이스에 대한 검색 및 선택을 하며, 결과를 파일로 저장하고, 그 다음에 FTP(File Transfer Protocol)를 통해 다른 장소로 전송한다. 이 방법은 단순하고 대규모 초기 투자 비용을 야기하지 않으나, 단점들을 가지고 있다. 구체적으로는, 이 방법은 잘못된 데이터를 보관하거나 충분한 데이터를 보관하고 있지 않을 위험을 높일 수 있으며, 자주 데이터 무결성 문제들을 야기하므로, 수동 보관 방법은 기업에 손해를 끼칠 가능성이 있고 심지어 기업 재난까지 야기한다. 기타 데이터 보관 기술들은 보통 데이터 보관을 위한 구성가능 콘솔 및 프로그램가능 도구를 제공한다. 그러나, 이들 제품도 역시 명백한 한계를 갖는다. 본 발명은 이러한 종래기술의 문제를 해결하기 위해 제시된다.
본 발명은 데이터 보관 시스템 및 방법을 제공한다. 본 발명은 모델-기반 접근방식을 이용하는 유연한 일반 데이터 보관 솔루션을 제공한다. 본 발명은 데이터 보관 사양들을 모델링한 다음에 사양들을 실행가능 코드로 변환하는 모델-기반 개발(MDD)을 제공한다.
본 발명의 데이터 보관은 원래의 데이터 리포지토리(original data repository)에서 보관 데이터 리포지토리(archive data repository)로 데이터를 이동하는 동작이다. 본 발명의 모델-기반의 자동화된 변환 구성요소는 “플러그-인” 메커니즘에 기초하여 구축되어 있다. 엔터프라이즈 응용프로그램의 데이터 보관 컨텍스트가 분석되고, 데이터 보관 사양 모델(data archive specification model)이 정의된 후에, 다음과 같은 2개의 변환 단계들이 수행된다.
- 제1 단계는 데이터 보관 사양 모델을 일련의 네이티브-기반(native-based)(좀더 기계-친화적인)(예를 들어, XML-기반) 보관 사양으로 변환하는 것일 수 있다. 이러한 사양들은 데이터 보관이 필요로 하는 모든 필요한 정보들을 기록한다.
- 제2 단계는 네이티브-기반(예를 들어, XML-기반) 보관 사양을 대응하는 보관 엔진들에 대한 네이티브 보관 코드들/규칙들/사양들로 변환하는 것일 수 있다.
게다가, 본 발명은, 컨텍스트를 갖는 데이터 보관을 가지는 응용 프로그램을 갖고 또 컨텐츠를 갖는 응용 프로그램을 더 가지고 있는 시스템에서 모델-기반 접근방식을 이용하는 유연한 데이터 보관 방법을 제공하며, 이 방법은, 응용 프로그램의 데이터 보관 컨텍스트를 분석하는 단계, 데이터 보관 사양 모델을 정의하는 단계, 데이터 보관 사양 모델을 보관 사양으로 변환하는 단계, 데이터 보관이 필요로 하는 정보를 기록하는 단계, 및 보관 사양을 대응하는 보관 엔진들에 대한 네이티브 보관 사양들로 변환하는 단계를 포함할 수 있다.
게다가, 본 발명은, 모델-기반 접근방식을 이용하여 유연한 데이터 보관을 하는 컴퓨터 시스템을 제공하며, 이 컴퓨터 시스템은, CPU, 컴퓨터-판독가능 메모리 및 컴퓨터-판독가능 저장 매체, 데이터 보관을 규정하는 데이터 보관 사양 모델을 분석하는 프로그램 명령들, 및 데이터 보관 사양 모델을 네이티브 데이터 보관 사양으로 변환하고 네이티브 데이터 보관 사양을 생성 코드(generated code)로 변환하여 코드를 생성하는 프로그램 명령들을 가질 수 있다.
본 발명은 또한 유연한 데이터 보관을 위한 컴퓨터 프로그램 제품을 제공하며, 이 컴퓨터 프로그램 제품은, 컴퓨터-판독가능 저장 매체, 응용 프로그램의 데이터 보관 컨텍스트를 분석하는 프로그램 명령들, 데이터 보관 사양 모델을 정의하는 프로그램 명령들, 데이터 보관 사양 모델을 보관 사양으로 변환하는 프로그램 명령들, 데이터 보관이 필요로 하는 정보를 기록하는 프로그램 명령들, 및 보관 사양을 대응하는 보관 엔진들에 대한 하나 이상의 네이티브 보관 사양들로 변환하는 프로그램 명령들을 가질 수 있으며, 프로그램 명령들은 컴퓨터-판독가능 저장 매체에 저장된다.
게다가, 본 발명은 컴퓨터-판독가능 코드를 컴퓨팅 시스템에 통합시키는 것을 포함하는 컴퓨팅 인프라를 배포하는 방법을 제공하며, 이 코드는 컴퓨팅 시스템과 협력하여 데이터 보관 프로세스를 수행할 수 있고, 이 프로세스는, 응용 프로그램의 데이터 보관 컨텍스트를 분석하는 단계, 데이터 보관 사양 모델을 정의하는 단계, 데이터 보관 사양 모델을 보관 사양으로 변환하는 단계, 데이터 보관이 필요로 하는 정보를 기록하는 단계, 및 보관 사양을 대응하는 보관 엔진들에 대한 네이티브 보관 사양들로 변환하는 단계를 포함한다.
본 발명은, 유연한 일반 데이터 보관 솔루션을 위해, 분석 구성요소, 변환 구성요소, 테스트 구성요소, 배포 구성요소, 피드백 구성요소 및 모델 최적화 구성요소와 같은 모델-기반의 자동화된 구성요소들을 이용하여 데이터 보관 솔루션을 제공한다.
본 발명의 이들 및 기타 특징들은, 첨부된 도면들과 관련하여 기술된 본 발명의 다양한 측면들에 대한 이하의 상세한 설명로부터 더 쉽게 이해될 것이다.
도 1은 본 발명의 일 실시예를 구현하는 데 적합한 데이터 처리 시스템을 나타낸 도면.
도 2는 본 발명의 일 실시예를 구현하는 네트워크를 나타낸 도면.
도 3은 본 발명의 방법 및 시스템의 일 실시예를 나타낸 도면.
도 4는 본 발명의 시스템 및 방법을 구현하는 방법을 나타낸 도면.
도 5는 본 발명의 방법의 다른 실시예를 나타낸 도면.
도 6은 본 발명의 시스템 및 방법에 의해 생성될 수 있는 데이터 보관 XML 사양의 일례를 나타낸 도면.
도면들이 꼭 축척대로 되어 있는 것은 아니다. 도면들은 단지 개략적인 표현이며, 본 발명의 특정 파라미터들을 나타내기 위한 것이 아니다. 도면들은 본 발명의 통상적인 실시예들을 나타내기 위한 것에 불과하며, 따라서 본 발명의 범위를 제한하는 것으로 간주되어서는 안된다.
도 1은 본 발명의 일 실시예를 구현하는 데 적합한 데이터 처리 시스템을 나타낸 도면.
도 2는 본 발명의 일 실시예를 구현하는 네트워크를 나타낸 도면.
도 3은 본 발명의 방법 및 시스템의 일 실시예를 나타낸 도면.
도 4는 본 발명의 시스템 및 방법을 구현하는 방법을 나타낸 도면.
도 5는 본 발명의 방법의 다른 실시예를 나타낸 도면.
도 6은 본 발명의 시스템 및 방법에 의해 생성될 수 있는 데이터 보관 XML 사양의 일례를 나타낸 도면.
도면들이 꼭 축척대로 되어 있는 것은 아니다. 도면들은 단지 개략적인 표현이며, 본 발명의 특정 파라미터들을 나타내기 위한 것이 아니다. 도면들은 본 발명의 통상적인 실시예들을 나타내기 위한 것에 불과하며, 따라서 본 발명의 범위를 제한하는 것으로 간주되어서는 안된다.
본 발명은 데이터 보관 시스템 및 방법을 포함한다. 본 발명의 시스템 및 방법은 데이터베이스 레코드, 테이블 및 파일 레벨에서가 아니라, 엔터프라이즈 비즈니스 개체 레벨에서의 데이터 보관을 고려하고 있다. 데이터 보관은 비즈니스-지향적(business-oriented)이며, 서로 다른 엔터프라이즈 응용 프로그램들은 서로 다른 데이터 보관 규칙들을 가지고 있다. 개별 응용프로그램, 데이터베이스 및 시스템과 독립적으로, 비즈니스-지향적인 유연한 일반 종단간 데이터 보관 솔루션을 가지는 것이 매우 중요하다.
본 발명의 시스템 및 방법을 사용할 때의 장점들 중 몇몇은 다음과 같다. 본 발명은 종단간 데이터 보관 프로세스의 자동화를 가능하게 해준다. 데이터 보관이 모델-기반 프로세스에 의해 개발되기 때문에, 최종 사용자들이 코드를 작성할 필요가 없다. 본 발명은, 사양에서 변환으로 감으로써, 요구사항들로부터 코드들로의 보다 정확한 포착 및 전환을 가능하게 해주며, 유지 관리를 줄이고, 개발 시간을 가속화한다. 본 발명은 UML, XML, SQL, Web Service, JDBC 등을 사용함으로써, 표준 기반 접근 방식을 제공하고 있다. [UML(Unified Modeling Language)은 소프트웨어 엔지니어링 분야에서 표준화된 범용 모델링 언어이다. XML(Extensible Markup Language)은 문서를 전자적으로 인코딩하는 규칙들의 집합이다. SQL(Structured Query Language)은 RDBMS(relational database management systems)에서 데이터를 관리하도록 설계된 데이터베이스 컴퓨터 언어이다. 웹 서비스(Web service 또는 Web Service)는 W3C에 의해 “네트워크를 통해 상호 연동가능한 기계간 상호작용(machine-to-machine interaction)을 지원하도록 설계된 소프트웨어 시스템”이라고 정의되었다. JDBC(Java database connectivity)는 어떻게 클라이언트가 데이터베이스에 액세스할 수 있는지를 정의하는 Java 프로그램 언어의 API이다. Java와 모든 Java-기반 상표 및 로고는 미국, 기타 국가들 또는 이들 모두에서 Sun Microsystems, Inc.의 상표이다.]
본 발명의 해결방안은 다양한 데이터 소스들과 상업용 관계형 데이터베이스들에서 구현가능하다. 특정의 데이터 소스들에 대한 독점적(proprietary) 보관 구현들에 의존할 필요가 없다. 본 발명은, 데이터 보관을 위하여, 메타데이터 정보를 동적으로 획득하고 SQL을 생성하는 것을 가능하게 해준다. 본 발명은 복잡한 메타데이터 정보를 정확하게 처리하는 것을 가능하게 해준다. 본 발명은 데이터 형식의 호환성을 보장해준다. 본 발명은 솔루션들의 일관성과 품질을 향상시키며, 코드의 생성 이외에, 문서의 생성, 아티팩트(artifacts)의 테스트, 스크립트의 작성 및 배포, 기타 등등이 쉽다.
당업자라면 잘 아는 바와 같이, 본 발명의 측면들이 시스템, 방법, 또는 컴퓨터 프로그램 제품으로서 구현될 수 있다. 따라서, 본 발명의 측면들은, 전적으로 하드웨어인 실시예, 전적으로 소프트웨어인 실시예(펌웨어, 상주 소프트웨어, 마이크로코드 등을 포함함), 또는 소프트웨어와 하드웨어 측면들을 겸비한 실시예(이들 모두가 일반적으로 본 명세서에서 “회로”, “모듈” 또는 “시스템”으로서 지칭될 수 있음)의 형태를 취할 수 있다. 게다가, 본 발명의 측면들이 컴퓨터 판독가능 프로그램 코드가 구현되어 있는 하나 이상의 컴퓨터-판독가능 매체(들)에 구현된 컴퓨터 프로그램 제품의 형태를 취할 수 있다.
하나 이상의 컴퓨터-판독가능 매체(들)의 임의의 조합이 이용될 수 있다. 컴퓨터-판독가능 매체는 컴퓨터-판독가능 신호 매체 또는 컴퓨터-판독가능 저장 매체일 수 있다. 컴퓨터-판독가능 저장 매체는, 예를 들어, 전자, 자기, 광학, 전자기, 적외선, 또는 반도체 시스템, 장치, 소자 또는 이들의 임의의 적당한 조합일 수 있지만, 이들로 제한되지 않는다. 보다 구체적인 컴퓨터-판독가능 저장 매체의 일례(비전수적인 목록임)로는, 하나 이상의 전선을 갖는 전기적 연결, 휴대형 컴퓨터 디스켓(portable computer diskette), 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 소거가능 프로그램가능 판독 전용 메모리(EPROM, 또는 플래쉬 메모리), 광섬유, 휴대형 CD-ROM(compact disc read-only memory), 광 저장 장치, 자기 저장 장치, 또는 이들의 임의의 적당한 조합이 있을 것이다. 본 문서와 관련하여, 컴퓨터-판독가능 저장 매체는 명령 실행 시스템, 장치 또는 디바이스에 의해 또는 그와 관련하여 사용하기 위한 프로그램을 포함하거나 저장할 수 있는 유형의 매체(tangible medium)라면 어느 것이라도 될 수 있다.
컴퓨터-판독가능 신호 매체는 컴퓨터-판독가능 프로그램 코드가 구현되어 있는 전파 데이터 신호(propagated data signal)(예를 들어, 기저대역 내에 있거나 반송파의 일부로서 있음)를 포함할 수 있다. 이러한 전파 신호는 전자기, 광학 또는 이들의 임의의 적합한 조합(이들로 제한되지 않음)을 포함하는 다양한 형태들을 취할 수 있다. 컴퓨터-판독가능 신호 매체는, 컴퓨터-판독가능 저장 매체는 아니지만, 명령 실행 시스템, 장치, 또는 디바이스에 의해 또는 그와 관련하여 사용하기 위한 프로그램을 전달, 전파 또는 전송할 수 있는 임의의 컴퓨터-판독가능 매체일 수 있다.
컴퓨터-판독가능 매체 상에 구현된 프로그램 코드는 무선, 유선, 광섬유 케이블, RF, 기타 또는 이들의 임의의 적합한 조합(이들로 제한되지 않음)을 포함하는 임의의 적합한 매체를 사용하여 전송될 수 있다.
본 발명의 측면들에 대한 동작들을 수행하는 컴퓨터 프로그램 코드는, Java, Smalltalk, C++, 기타 등등과 같은 개체 지향 프로그래밍 언어 및 “C” 프로그램 언어 또는 유사한 프로그램 언어들과 같은 종래의 절차형 프로그래밍 언어들을 포함하는 하나 이상의 프로그램 언어들의 임의의 조합으로 작성될 수 있다. Smalltalk은 개체-지향적이고 동적 형식(dynamically typed)인 반사적 프로그래밍 언어이다. 본 발명의 측면들에 대한 동작들을 수행하는 컴퓨터 프로그램 코드는, Java, Smalltalk, C++, 기타 등등과 같은 개체 지향 프로그래밍 언어 및 “C” 프로그램 언어 또는 유사한 프로그램 언어들과 같은 종래의 절차형 프로그래밍 언어들을 포함하는 하나 이상의 프로그램 언어들의 임의의 조합으로 작성될 수 있다. Smalltalk은 개체-지향적이고 동적 형식(dynamically typed)인 반사적 프로그래밍 언어이다. C++는 정적 형식(statically typed)이고 자유형(free-form), 다중 패러다임(multi-paradigm)의 컴파일되는 범용 프로그래밍 언어이다.
후자의 시나리오에서, 원격 컴퓨터는 LAN(local area network) 또는 WAN(wide area network)을 포함하는 임의의 유형의 네트워크를 통해 사용자의 컴퓨터에 연결될 수 있거나, 그 연결이 (일례로, 인터넷 서비스 공급자를 이용하여 인터넷을 통해) 외부 컴퓨터로 이어질 수 있다. 후자의 시나리오에서, 원격 컴퓨터는 LAN(local area network) 또는 WAN(wide area network)을 포함하는 임의의 유형의 네트워크를 통해 사용자의 컴퓨터에 연결될 수 있거나, 그 연결이 (일례로, 인터넷 서비스 공급자를 이용하여 인터넷을 통해) 외부 컴퓨터로 이어질 수 있다.
본 발명의 측면들이, 예를 들어, 본 발명의 실시예들에 따른 방법, 장치(시스템), 및 컴퓨터 프로그램 제품의 플로우차트 예시 및/또는 블록도를 참조하여 이하에 기술되어 있다. 플로우차트 예시 및/또는 블록도의 각각의 블록과, 플로우차트 예시 및/또는 블록도의 블록들의 조합이 컴퓨터 프로그램 명령들에 의해 구현될 수 있다는 것을 잘 알 것이다.
컴퓨터 또는 기타 프로그램가능 데이터 처리 장치의 프로세서를 통해 실행되는 명령들이 플로우차트 및/또는 블록도 블록 또는 블록들에서 명시된 기능들/동작들을 구현하는 수단을 생성하도록 하는 머신(machine)을 생성하기 위해, 이러한 컴퓨터 프로그램 명령들이 범용 컴퓨터, 전용 컴퓨터, 또는 기타 프로그램가능 데이터 처리 장치의 프로세서에게 제공될 수 있다.
컴퓨터-판독가능 매체에 저장된 명령들이 플로우차트 및/또는 블록도 블록 또는 블록들에서 명시된 기능/동작을 구현하는 명령들을 포함하는 제조 물품을 생성하도록, 컴퓨터, 기타 프로그램가능 데이터 처리 장치, 또는 기타 디바이스들에게 특정한 방식으로 기능하도록 지시할 수 있는 이러한 컴퓨터 프로그램 명령들이 또한 컴퓨터-판독가능 매체에 저장될 수 있다.
컴퓨터 또는 기타 프로그램가능 장치 상에서 실행되는 명령들이 플로우차트 및/또는 블록도 블록 또는 블록들에 명시된 기능/동작을 구현하는 프로세스를 제공하도록 하는 컴퓨터-구현 프로세스를 생성하기 위해, 컴퓨터 프로그램 명령들은 또한 컴퓨터, 기타 프로그램가능 장치 또는 기타 디바이스 상에서 일련의 동작 단계들이 수행되게 하기 위해 컴퓨터, 기타 프로그램가능 데이터 처리 장치 또는 기타 소자에 로드될 수 있다.
도 1은 본 발명의 일 실시예를 구현하는 데 적합한 데이터 처리 시스템(102)을 가질 수 있는 시스템(100)을 나타낸 것이다. 데이터 처리 시스템(102)은 사용자에게 컴퓨터 시스템(104)에 대한 인터페이스를 제공하는 디스플레이(120), 외부 장치(들)(116) 또는 기타 주변 장치들[I/O 인터페이스(들)(114)를 통해 연결되어 있음]에 연결된 컴퓨터 시스템(104)을 가질 수 있다. 컴퓨터 시스템(104)은 처리 장치(106), I/O 인터페이스(들)(114), 네트워크 어댑터(138) 및 메모리(110)와 같은 모듈들 사이의 내부 통신을 제공하는 내부 버스(112)를 가질 수 있다. 메모리(110)는 랜덤 액세스 메모리(RAM)(130), 캐시(132) 및 저장 시스템(118), 또는 기타 형태의 메모리를 가질 수 있다. RAM은 저장된 데이터가 임의의 순서로(즉, 랜덤하게) 액세스될 수 있도록 해주는 집적 회로의 형태를 취할 수 있다. 저장 시스템(118)은 테이프, 자기 디스크 및 광 디스크의 형태를 취할 수 있으며, 일반적으로 데이터의 장기 저장을 위해 사용된다. 캐시(132)는 데이터 컬렉션을 저장하는 메모리이다. 캐시를 읽는 비용에 비해, (더 긴 액세스 시간으로 인해) 원래의 데이터를 페치(fetch)하거나 계산하는 비용이 많이 드는 경우, 다른 곳에 저장된 또는 이전에 계산된 원래의 값을 복제한다. 환언하면, 캐시는 빈번하게 액세스되는 데이터가 빠른 액세스를 위해 저장될 수 있는 임시 저장 영역이다. 데이터가 캐시에 저장되면, 원래의 데이터를 재페치 또는 재계산하기보다는 캐싱된 사본에 액세스함으로써 그 데이터가 장래에 사용될 수 있다. 통상적인 컴퓨터 응용 프로그램들에서의 액세스 패턴들이 참조 지역성(locality of reference)을 가지기 때문에, 캐시가 컴퓨팅의 많은 영역에서 아주 효과적이라는 것이 증명되었다.
도 2는 본 발명의 일 실시예를 구현하는 네트워크 시스템(200)을 나타낸 것이다. 네트워크 시스템(200)은 네트워크(210) 또는 네트워크 연결들(206과 208)을 통해 상호연결된 데이터 처리 장치들(202, 204)과 같은 컴퓨터들의 그룹을 가질 수 있으며, 예를 들어, LAN(local area network) 또는 인터네트워크(internetwork)와 같은 유형일 수 있다. 프린터(212)와 저장 장치(214)는 네트워크 연결들(216, 218)을 통해 네트워크(210)에 연결될 수 있다. 기본 네트워크 구성요소는 네트워크 인터페이스 카드, 리피터(repeaters), 허브(hubs), 브리지(bridges), 스위치 및 라우터(routers)를 포함할 수 있다. 데이터 처리 장치(202, 204)는 웹 서버 또는 개인용 컴퓨터, 또는 기타 사용자 에이전트와 같은 컴퓨터일 수 있다. 웹 서버는 일반적으로 클라이언트(웹 브라우저와 같은 사용자 에이전트)로부터 HTTP 요청을 받고 클라이언트에게 선택적인 데이터 컨텐츠와 함께 HTTP 응답을 제공하는 일을 맡고 있는 하드웨어와 소프트웨어를 가지며, 선택적인 데이터 컨텐츠는 보통 HTML 문서 및 연결된 개체(linked objects)(이미지, 기타)와 같은 웹 페이지이다. 이 문서에서, “웹 브라우저”라는 용어가 사용되고 있지만, 인터넷 상에서 정보 자원들을 검색, 제시 및 탐색(traverse)하는 어떤 응용 프로그램이라도 고려될 수 있다.
제1 단계에서, 도 3의 300에 나타낸 바와 같이, 사용자에 의해 데이터 보관 사양 모델(302)로서 입력이 생성된다. 이 모델은 Eclipse 플랫폼에서 생성될 수 있으나, 이 모델은 또한 사용자 인터페이스(UI)를 갖는 또는 갖지 않는 웹(Web) 또는 독립형(stand-alone) 응용 프로그램에서 생성될 수 있다. 이 모델은 응용 프로그램의 데이터 보관 컨텍스트를 분석하는 분석 구성요소(320)에 의해 분석되고, 이어서 XML 사양과 같은 데이터 보관 네이티브 사양(304)을 생성하기 위해 변환 구성요소(308)에 의해 306에서 처음으로 변환된다. 분석 구성요소(320)는 응용 프로그램의 데이터 보관 컨텍스트를 분석하는 프로그램 명령들을 가질 수 있다. 312에서, 데이터 보관 XML 사양(304)은, 보관 기능을 수행하는 생성 코드(generated code)를 생성하기 위해 변환 구성요소(308)에 의해 312에서 두번째로 변환된다. 여기서의 일례는 관계형 데이터베이스에 SQL을 삽입(314)하는 것이다. 변환 구성요소(308)는 데이터 보관 사양 모델을 정의하는 프로그램 명령들과, 데이터 보관 사양 모델을 보관 사양으로 변환하는 프로그램 명령들을 가질 수 있다. 변환 구성요소(308)의 특정 결과는 데이터 소스들 및 데이터 보관 사양들에 기초하여 지연될 수 있다. 배포 구성요소(316)는 데이터 보관 응용 프로그램을 배포한다. 배포 구성요소(316)는 데이터 보관이 필요로 하는 정보를 기록하는 프로그램 명령들을 가질 수 있다. 변환 구성요소(308)는 보관 사양을 대응하는 보관 엔진들에 대한 하나 이상의 네이티브 보관 사양들로 변환하는 프로그램 명령들 - 이 프로그램 명령들은 컴퓨터-판독가능 저장 매체에 저장됨 - 을 가질 수 있고 또 네이티브 보관 사양 코드들과 규칙들에 기초하여 데이터 보관 사양을 네이티브 보관 사양으로 변환하는 프로그램 명령들을 가질 수 있다. 변환 구성요소(308)는 또한 데이터 보관 사양 모델을 XML-기반 데이터 보관 사양으로 변환하는 프로그램 명령들과, 네이티브 보관 사양을 생성 코드(generated code)로 변환하는 프로그램 명령들을 가질 수 있다. 배포 구성요소(316)는 데이터 보관 사양 모델을 배포하는 프로그램 명령들을 더 가질 수 있다. 테스트 구성요소(318)는 데이터 보관 응용프로그램을 테스트하고, 피드백 구성요소(319)는, 보관 모델 최적화를 위하여, 보관 결과들을 수신하고 보관 결과들을 관찰하며 보관 결과들을 피드백한다. 테스트 구성요소(308)는 보관 응용 프로그램을 테스트하는 프로그램 명령들을 가질 수 있다. 피드백 구성요소(319)는, 보관 모델 최적화를 위하여, 보관 결과들을 수신하고 보관 결과들을 관찰하며 보관 결과들을 피드백하는 프로그램 명령들을 가질 수 있다. 모델 최적화 구성요소(322)는, 보관 모델 최적화를 위하여, 테스트 구성요소로부터 보관 결과들을 수신하고 보관 결과들을 관찰하며 보관 결과들을 변환 구성요소(308)에게 피드백한다.
도 4는 Eclipse에서 메뉴 바를 통하여 데이터 보관 사양 모델에 대한 첫번째 변환을 어떻게 호출할지에 관한 샘플 UI를 도면 부호 400으로 나타내고 있다. Eclipse는 IDE와 이를 확장하기 위한 플러그인(plug-in) 시스템을 포함하는 다중-언어 소프트웨어 개발 환경이다. 통합 디자인 환경 또는 통합 디버깅 환경이라고도 하는 통합 개발 환경(IDE, integrated development environment)은 컴퓨터 프로그래머들에게 소프트웨어 개발을 위한 광범위한 기능들을 제공하는 소프트웨어 응용프로그램이다. 다른 대안으로서, 사용자는 Eclipse 작업 영역(workspace)(402)에서 단순히 마우스 오른쪽 단추를 클릭하여, 변환 메뉴를 호출한다: Transform 404 => Run Transformation 406 => ArchiveModel to XML 408.
도 5에 500으로 도시된 바와 같이, 502에서 시작하는 본 발명의 유연한 일반 데이터 보관 솔루션을 사용하는 4개의 주요 단계들이 있다. 제1 단계는 504에서 응용 프로그램 컨텐츠를 분석하는 것이다. 응용 프로그램 컨텐츠를 분석함으로써, 데이터 보관 요구사항들을 식별하고, 데이터 형식, 관계 및 보관 규칙과 관련된 정보를 포착할 수 있다. 제2 단계는 506에서 보관 데이터를 정의하고 모델링하는 것이다. 데이터를 정의하고 보관함으로써, 본 발명에서 제공된 메타-모델(meta-model)에 기초하여 데이터 보관 모델들을 정의하고, 예를 들어, Eclipse-기반 도구들과 같은 그래픽 모델링 도구들에 기초하여 데이터 보관을 모델링할 수 있다. “메타-모델링(meta-modeling)”은 어떤 도메인 내에 “개념들”(사항들, 용어들, 기타)의 컬렉션을 구축하는 것이다. 모델은 실세계에서의 현상들의 추상화이고, 메타-모델은 모델 자체의 속성들을 강조하는 또 다른 추상화이다.
제2 단계(506)가 완료된 후에, 508에서 UML로 된 데이터 보관 사양 모델이 생성될 수 있다. UML(Unified Modeling Language)은 소프트웨어 엔지니어링 분야에서 표준화된 범용 모델링 언어이다. UML이 이 문서에서 사용되고 있지만, 임의의 다른 적합한 모델링 언어가 사용될 수도 있다. 본 발명을 이용하여, 무엇이 보관될 것인지(예를 들어, 데이터, 데이터 형식, 관계, 데이터 필터링 조건)와 언제 또 어떻게 보관할지(즉, 보관 규칙)와 같은, 엔터프라이즈 응용 프로그램에서 일련의 보관 데이터의 서로 다른 관점들(perspectives)을 지정하고 모델링할 수 있다.
제3 단계는 510에서 보관 사양과 실제 컨텍스트 및 컨텐츠에 기초하여 모델 변환을 수행하고 네이티브 보관 사양(XML-기반 등)을 생성하며 보관 응용 프로그램을 구성하는 것일 수 있다. 511에서, 데이터 보관이 필요로 하는 정보가 기록될 수 있다.
제4 단계는 512에서 모델들을 배포하고 보관 응용 프로그램을 테스트하는 것이다. 선택적으로, 본 발명의 방법 및 시스템이 514에서, 보관 모델 최적화를 위해, 보관 결과를 관찰하고 피드백함으로써 보관 모델을 최적화할 수 있다. 이 방법은 516에서 종료될 수 있다.
본 발명의 시스템 및 방법은 많은 장점들을 가지고 있다. 본 발명은, 운영 중인 응용 프로그램들의 성능을 개선하고 관리 비용과 하드웨어 및 저장 비용을 절감함으로써, 비즈니스 장점을 제공한다. 본 발명은 보관 요구사항에 대한 빠른 응답을 제공하며, 규제 준수(regulatory compliance)를 위한 위험을 완화시킨다. 본 발명은 프로젝트 수명주기를 단축시킴으로써 시장 출시 시간(time-to-market)을 감소시킨다. 본 발명은 대응하는 데이터 보관 제품들을 이용함으로써 데이터 관리 시장에서 역량을 증대시킬 수 있고, 대응하는 데이터 보관 제품들을 이용함으로써 데이터 시장으로부터의 수익을 증대시킬 수 있다. 본 발명은, 솔루션이 모델-기반 개발 방법에 기초하므로 유연하고 그래픽 모델링 도구들이 이용가능하므로 좋은 사용자 경험을 제공하기 때문에, 기술적 장점을 제공할 수 있다.
본 발명의 모델-기반 방법과 시스템은, 명시된 보관 응용 프로그램을 구성하는 대신에, 사용자가 보관 요구사항들과 규칙들에 더 중점을 둘 수 있게 해줄 수 있다. 본 발명은 더 많은 기존의 보관 도구들을 지원할 수 있는 공개 표준-기반(XML-기반 보관 사양 등)일 수 있다. XML-기반 보관 사양은 보관을 위한 정규 데이터 모델(canonical data model)로 생각될 수 있다.
본 발명의 모델-기반 방법과 시스템은, 단지 명시된 데이터 및 명시된 데이터 저장소/관리 시스템으로 제한되는 것이 아니라, 데이터 보관 솔루션들이 독립적으로 또는 IBM® DB2® Archive Expert 또는 SAP AG의 SAP Archive Tool과 같은 기존의 엔터프라이즈 보관 솔루션들과 함께 동작할 수 있는 일반 데이터 보관 솔루션을 제공한다. IBM과 DB2는 IBM사의 등록 상표들이다. SAP는 SAP AG의 상표이다.
본 발명의 한 방법은 이하의 단계들을 수행한다:
1. 엔터프라이즈 응용 프로그램의 데이터 보관 컨텍스트를 분석하는 단계,
2. 데이터 보관 사양 모델을 정의하는 단계,
3. 데이터 보관 모델-기반 모델로부터 XML-기반과 같은 네이티브 사양으로의 변환을 수행하는 단계, 및
4. 네이티브 사양을 생성 코드로 변환하는 단계.
변환이 종료되면, 네이티브 보관 코드/규칙/사양은 대응하는 보관 엔진으로 배포될 수 있다. 그 다음에, 새로운 데이터 보관 응용 프로그램이 실행을 시작할 수 있다. 본 발명에서 데이터 보관 솔루션의 핵심은 유연하고 확장가능한 메타-모델 구성요소에 있다. 데이터 보관 정의에 필요한 모든 메타데이터 정보는 데이터 보관 메타-모델에 포함되어 있다.
도 6은 도 3의 데이터 보관 사양 모델(302)의 306에서의 첫번째 변환 후에 얻어질 수 있는 예시적인 데이터 보관 XML 사양(600)[도 3의 데이터 보관 XML 사양(304)]을 나타낸 것이다.
본 발명의 시스템의 배포 프로세스는, 컴퓨터-판독가능 매체로부터 컴퓨터 시스템과 같은 컴퓨팅 장치 상에 프로그램 코드를 설치하는 단계, 하나 이상의 컴퓨팅 장치들을 컴퓨터 인프라에 추가하는 단계, 및 전산화된 인프라가 본 발명의 프로세스 단계들을 수행할 수 있게 해주도록 컴퓨터 인프라의 하나 이상의 기존 시스템들을 통합 및/또는 수정하는 단계 중 하나 이상의 프로세스 단계들을 포함할 수 있다.
본 명세서에서 사용되는 바와 같이, “프로그램 코드”와 “컴퓨터 프로그램 코드”라는 용어들은 동의어이며, 정보 처리 능력을 가진 컴퓨팅 장치로 하여금 직접 또는 다음과 같은 것들 중 어느 하나 또는 둘 이후에 특정 기능을 수행하게 하는 일련의 명령들의 임의의 표현(임의의 언어, 코드, 또는 표기법으로 되어 있음)을 의미한다: (a) 다른 언어, 코드 또는 표기법으로 변환, 및/또는 (b) 다른 유형의 형태(material form)로 재생성. 이와 같이, 프로그램 코드는 응용 프로그램/소프트웨어 프로그램, 구성요소 소프트웨어/함수들의 라이브러리, 운영 체제, 특정 컴퓨팅 및/또는 I/O 장치의 기본 I/O 시스템/드라이버, 기타 중 하나 이상으로 구현될 수 있다.
도면에서의 플로우차트와 블록도는 본 발명의 다양한 실시예들에 따른 시스템, 방법 및 컴퓨터 프로그램 제품의 가능한 구현들의 아키텍처, 기능 및 동작을 예시하고 있다. 이와 관련하여, 플로우차트 또는 블록도에서 각각의 블록은 명시된 논리적 기능(들)을 구현하는 하나 이상의 실행가능 명령들을 포함하는 코드 모듈, 코드 세그먼트 또는 코드 부분을 나타낼 수 있다. 또한, 몇몇 대안의 구현들에서, 블록에 표시된 기능들이 도면에서 표시된 순서와 다르게 일어날 수 있음에 주목해야 한다. 예를 들어, 관여된 기능에 따라, 연속하여 도시된 2개의 블록이 실제로는 거의 동시에 실행될 수 있거나, 그 블록들이 때때로 정반대의 순서로 실행될 수 있다. 또한, 유의할 점은, 블록도 및/또는 플로우차트 예시의 각각의 블록 및 블록도 및/또는 플로우차트 예시에서의 블록들의 조합들이 명시된 기능들 또는 동작들을 수행하는 전용 하드웨어-기반 컴퓨터 시스템들 또는 전용 하드웨어와 컴퓨터 명령들의 조합들에 의해 구현될 수 있다는 것이다.
본 발명의 다양한 측면들에 대한 이상의 설명은 예시 및 설명을 위해 제공되어 있다. 이는 전수적이거나 본 발명을 개시된 정확한 형태로 제한하기 위한 것이 아니며, 명백하게도 많은 수정들 및 변형들이 가능하다. 그러한 수정들과 변형들이 첨부된 특허청구범위에서 정의된 발명의 범위 내에 포함되는 것으로 보아야 한다는 것이 당업자에게는 명백할 것이다.
302: 데이터 보관 사양 모델
308: 변환 구성요소
316: 배포 구성요소
318: 테스트 구성요소
319: 피드백 구성요소
320: 분석 구성요소
314: SQL을 삽입하기 위한 생성 코드
322: 모델 최적화 구성요소
308: 변환 구성요소
316: 배포 구성요소
318: 테스트 구성요소
319: 피드백 구성요소
320: 분석 구성요소
314: SQL을 삽입하기 위한 생성 코드
322: 모델 최적화 구성요소
Claims (10)
- 컨텍스트를 갖는 데이터 보관을 가지는 응용 프로그램을 갖고 또 컨텐츠를 갖는 응용 프로그램을 더 가지고 있는 시스템에서 모델-기반 접근방식을 이용하는 유연한 데이터 보관 방법으로서,
상기 응용 프로그램의 상기 데이터 보관 컨텍스트를 분석하는 단계,
데이터 보관 사양 모델을 정의하는 단계,
상기 데이터 보관 사양 모델을 네이티브 보관 사양으로 변환하는 단계,
데이터 보관이 필요로 하는 정보를 기록하는 단계, 및
상기 네이티브 보관 사양을 대응 보관 엔진들에 대한 생성 코드로 변환하는 단계를 포함하는 데이터 보관 방법. - 제1항에 있어서, 네이티브 보관 사양 코드들과 규칙들에 기초하여 상기 보관 사양 모델을 네이티브 보관 사양으로 변환하는 단계를 더 포함하는 데이터 보관 방법.
- 제2항에 있어서, 상기 보관 사양 모델을 XML-기반 데이터 보관 사양으로 변환하는 단계를 더 포함하는 데이터 보관 방법.
- 제3항에 있어서, 상기 네이티브 보관 사양을 SQL로 된 생성 코드로 변환하는 단계를 더 포함하는 데이터 보관 방법.
- 제4항에 있어서, 상기 데이터 보관 사양 모델을 배포(deploy)하는 단계를 더 포함하는 데이터 보관 방법.
- 제5항에 있어서, 네이티브 보관 응용 프로그램을 테스트하고 보관 결과들을 제공하는 단계를 더 포함하는 데이터 보관 방법.
- 제6항에 있어서, 보관 모델 최적화를 위하여, 보관 결과들을 수신하고, 상기 보관 결과들을 관찰하며, 상기 보관 결과들을 피드백하는 단계를 더 포함하는 데이터 보관 방법.
- 모델-기반 접근방식을 이용하여 유연한 데이터 보관을 하는 컴퓨터 시스템으로서,
CPU, 컴퓨터-판독가능 메모리 및 컴퓨터-판독가능 저장 매체,
데이터 보관을 규정하는 데이터 보관 사양 모델을 분석하는 프로그램 명령들, 및
상기 데이터 보관 사양 모델을 네이티브 데이터 보관 사양으로 변환하고 상기 네이티브 데이터 보관 사양을 생성 코드(generated code)로 변환하여 코드를 생성하는 프로그램 명령들을 포함하는 컴퓨터 시스템. - 유연한 데이터 보관을 위한 컴퓨터 프로그램 제품으로서,
컴퓨터-판독가능 저장 매체,
응용 프로그램의 데이터 보관 컨텍스트를 분석하는 프로그램 명령들,
데이터 보관 사양 모델을 정의하는 프로그램 명령들,
상기 데이터 보관 사양 모델을 보관 사양으로 변환하는 프로그램 명령들,
상기 데이터 보관이 필요로 하는 정보를 기록하는 프로그램 명령들, 및
상기 보관 사양을 대응 보관 엔진들에 대한 하나 이상의 네이티브 보관 사양들로 변환하는 프로그램 명령들을 포함하며, 상기 프로그램 명령들이 상기 컴퓨터-판독가능 저장 매체에 저장되는, 컴퓨터 프로그램 제품. - 컴퓨터-판독가능 코드를 컴퓨팅 시스템에 통합시키는 것을 포함하는 컴퓨팅 인프라(computing infrastructure)를 배포하는 방법으로서, 상기 코드는 상기 컴퓨팅 시스템과 협력하여 데이터 보관 프로세스를 수행할 수 있고, 상기 프로세스는,
응용 프로그램의 데이터 보관 컨텍스트를 분석하는 단계,
데이터 보관 사양 모델을 정의하는 단계,
상기 데이터 보관 사양 모델을 보관 사양으로 변환하는 단계,
데이터 보관이 필요로 하는 정보를 기록하는 단계, 및
상기 보관 사양을 대응 보관 엔진들에 대한 네이티브 보관 사양들로 변환하는 단계를 포함하는 것인 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/631,014 US20110137872A1 (en) | 2009-12-04 | 2009-12-04 | Model-driven data archival system having automated components |
US12/631,014 | 2009-12-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20110063324A true KR20110063324A (ko) | 2011-06-10 |
Family
ID=44083005
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020100119981A KR20110063324A (ko) | 2009-12-04 | 2010-11-29 | 자동화된 구성요소를 가진 모델-기반 데이터 보관 시스템 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20110137872A1 (ko) |
KR (1) | KR20110063324A (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180118606A (ko) * | 2016-03-02 | 2018-10-31 | 핑안 테크놀로지 (션젼) 컴퍼니 리미티드 | 애플리케이션 프로그램 사용자 인터페이스 자동화 테스트 방법, 전자 기기, 시스템 및 저장 매체 |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8589439B2 (en) * | 2009-12-04 | 2013-11-19 | International Business Machines Corporation | Pattern-based and rule-based data archive manager |
CA2799877C (en) | 2011-12-29 | 2019-10-01 | Tata Consultancy Services Limited | Data archiving and de-archiving in a business environment |
US20130179798A1 (en) * | 2012-01-06 | 2013-07-11 | Microsoft Corporation | Application dissemination and feedback |
WO2013154521A1 (en) * | 2012-04-09 | 2013-10-17 | Hewlett-Packard Development Company, L.P. | Creating an archival model |
EP2779044A1 (en) | 2013-03-14 | 2014-09-17 | Tata Consultancy Services Limited | System and method to provide management of test data at various lifecycle stages |
EP3049920A1 (de) * | 2013-09-27 | 2016-08-03 | Rudolf Markus Petri | Verfahren und einrichtung zur automatisierten erzeugung und bereitstellung wenigstens einer softwareanwendung |
US20160019224A1 (en) * | 2014-07-18 | 2016-01-21 | Commvault Systems, Inc. | File system content archiving based on third-party application archiving rules and metadata |
US20170004152A1 (en) * | 2015-06-30 | 2017-01-05 | Bank Of America Corporation | System and method for dynamic data archival and purging |
US10628806B2 (en) * | 2015-12-16 | 2020-04-21 | American Express Travel Related Services Company, Inc | System and method for test data provisioning |
US10048946B2 (en) * | 2016-03-24 | 2018-08-14 | Microsoft Technology Licensing, Llc | Converting visual diagrams into code |
CN115964336A (zh) * | 2023-03-18 | 2023-04-14 | ***邦通达医疗器械有限公司 | 一种集团化主数据管理方法、***、终端及存储介质 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030193994A1 (en) * | 2001-03-21 | 2003-10-16 | Patrick Stickler | Method of managing media components |
US20020138301A1 (en) * | 2001-03-22 | 2002-09-26 | Thanos Karras | Integration of a portal into an application service provider data archive and/or web based viewer |
US20040015890A1 (en) * | 2001-05-11 | 2004-01-22 | Windriver Systems, Inc. | System and method for adapting files for backward compatibility |
AU2003272404A1 (en) * | 2002-09-16 | 2004-04-30 | Clearcube Technology, Inc. | Distributed computing infrastructure |
US7346883B2 (en) * | 2004-07-09 | 2008-03-18 | Kla-Tencor Technologies Corporation | System and method for integrated data transfer, archiving and purging of semiconductor wafer data |
EP1836613A4 (en) * | 2004-10-08 | 2009-07-01 | Approva Corp | SYSTEMS AND METHODS FOR MONITORING BUSINESS PROCESSES FOR CORPORATE APPLICATIONS |
US20060167929A1 (en) * | 2005-01-25 | 2006-07-27 | Amit Chakraborty | Method for optimizing archival of XML documents |
US20080005194A1 (en) * | 2006-05-05 | 2008-01-03 | Lockheed Martin Corporation | System and method for immutably cataloging and storing electronic assets in a large scale computer system |
US8903883B2 (en) * | 2006-05-24 | 2014-12-02 | International Business Machines Corporation | Apparatus, system, and method for pattern-based archiving of business events |
US20080263007A1 (en) * | 2007-04-20 | 2008-10-23 | Sap Ag | Managing archived data |
EP2270724A3 (en) * | 2007-10-22 | 2013-01-16 | Open Text S.A. | Method and system for managing enterprise content |
US8843522B2 (en) * | 2008-09-15 | 2014-09-23 | Thomson Reuters (Markets) Llc | Systems and methods for rapid delivery of tiered metadata |
US8260813B2 (en) * | 2009-12-04 | 2012-09-04 | International Business Machines Corporation | Flexible data archival using a model-driven approach |
US20110137875A1 (en) * | 2009-12-09 | 2011-06-09 | Oracle International Corporation | Incremental materialized view refresh with enhanced dml compression |
-
2009
- 2009-12-04 US US12/631,014 patent/US20110137872A1/en not_active Abandoned
-
2010
- 2010-11-29 KR KR1020100119981A patent/KR20110063324A/ko not_active Application Discontinuation
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20180118606A (ko) * | 2016-03-02 | 2018-10-31 | 핑안 테크놀로지 (션젼) 컴퍼니 리미티드 | 애플리케이션 프로그램 사용자 인터페이스 자동화 테스트 방법, 전자 기기, 시스템 및 저장 매체 |
Also Published As
Publication number | Publication date |
---|---|
US20110137872A1 (en) | 2011-06-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20110063324A (ko) | 자동화된 구성요소를 가진 모델-기반 데이터 보관 시스템 | |
US8260813B2 (en) | Flexible data archival using a model-driven approach | |
Capriolo et al. | Programming hive | |
KR101365832B1 (ko) | 데이터 액세스 계층 클래스 생성기 | |
Muniswamy-Reddy et al. | Provenance-aware storage systems. | |
US11726969B2 (en) | Matching metastructure for data modeling | |
US8712965B2 (en) | Dynamic report mapping apparatus to physical data source when creating report definitions for information technology service management reporting for peruse of report definition transparency and reuse | |
Tesoriero | Getting started with OrientDB | |
Guo | Software tools to facilitate research programming | |
Macko et al. | A General-Purpose Provenance Library. | |
US10592509B2 (en) | Declarative rules for optimized access to data | |
US9251222B2 (en) | Abstracted dynamic report definition generation for use within information technology infrastructure | |
US7792851B2 (en) | Mechanism for defining queries in terms of data objects | |
US10474675B2 (en) | Explain tool for optimizing SPARQL queries | |
CN111078217A (zh) | 脑图生成方法、装置和计算机可读存储介质 | |
CN110990011A (zh) | 一种自动化接口的数据请求方法 | |
Barberis et al. | The ATLAS EventIndex: a BigData catalogue for all ATLAS experiment events | |
Vanhatalo12 et al. | Repository for business processes and arbitrary associated metadata | |
KR101902191B1 (ko) | 질의 기반 소프트웨어 논리의 동적 변경 및 실행을 위한 멀티테넌트 지원 장치 및 방법 | |
Thao | A configuration management system for software product lines | |
Sinthong et al. | AFrame: Extending DataFrames for large-scale modern data analysis (Extended Version) | |
US11550556B1 (en) | Efficient semantic analysis of program code | |
Křenek et al. | gLite Job Provenance—a job‐centric view | |
Al-Wadeai et al. | Integration of Hawk for Model Metrics in the MEASURE Platform. | |
Warnke | Integrating self-describing data formats into file systems |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
E601 | Decision to refuse application |