KR960016882B1 - 이질의 데이타베이스 시스템간에 전송되는 데이타 변환 방법 및 장치와 다수의 데이타베이스 관리자간에 전송되는 데이타 변환을 최소화하는 방법 - Google Patents
이질의 데이타베이스 시스템간에 전송되는 데이타 변환 방법 및 장치와 다수의 데이타베이스 관리자간에 전송되는 데이타 변환을 최소화하는 방법 Download PDFInfo
- Publication number
- KR960016882B1 KR960016882B1 KR1019910003174A KR910003174A KR960016882B1 KR 960016882 B1 KR960016882 B1 KR 960016882B1 KR 1019910003174 A KR1019910003174 A KR 1019910003174A KR 910003174 A KR910003174 A KR 910003174A KR 960016882 B1 KR960016882 B1 KR 960016882B1
- Authority
- KR
- South Korea
- Prior art keywords
- database
- machine
- data
- descriptor
- manager
- Prior art date
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/912—Applications of a database
- Y10S707/922—Communications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99941—Database schema or data structure
- Y10S707/99942—Manipulating data structure, e.g. compression, compaction, compilation
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10—TECHNICAL SUBJECTS COVERED BY FORMER USPC
- Y10S—TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y10S707/00—Data processing: database and file management or data structures
- Y10S707/99951—File or database maintenance
- Y10S707/99952—Coherency, e.g. same view to multiple users
- Y10S707/99954—Version management
Abstract
내용없음.
Description
제1a도는 이질의 데이타베이스 시스템 사이에 전송되는 사용자 데이타를 예시하는 도면.
제1b도는 제1a도에 예시된 사용자 데이타의 환경 컨텍스트를 한정하는 모든 설명자의 관계의 상부 레벨 표시를 도시한 도면.
제2a도 내지 제2d도는 머신 설명자를 도시한 도면.
제3a도 및 3b도는 머신 설명자에 대한 그들의 기준과 함께 시스템 설명자를 도시한 도면.
제4a도 및 4b도는 머신 및 설명자에 대한 기준과 함께 본 발명의 사용자 데이타 설명자를 도시한 도면.
제5도는 요구 머신과 제공 머신 사이에 사용자 데이타 셋트를 셋-업하고 요구하기 위한 커맨드 및 데이타 흐름의 실시예로 본 발명에 따른 방법을 예시한 도면.
제6도는 본 발명이 실시될 수도 있는 대표적인 시스템 구조를 도시한 도면.
제7도는 중간 DBMS 시스템을 통과하는 요구 머신과 제공 머신 사이의 커맨드 및 데이타 흐름의 실시예로 본 발명에 따른 방법을 예시한 도면.
* 도면의 주요부분에 대한 부호의 설명
40 : 퍼스널 컴퓨터 머신 환경50 : 메인프레임 머신 환경
41 : 머신 명칭42 : 코드 페이지
44 : 머신 레벨표시 설명자45 : 시스템 레벨 설명자
46 : 언어 레벨47 : 애플리케이션 레벨 사용자 데이타 설명자
45a,47b : 머신 레벨 기준47a : 시스템 레벨 기준
본 발명은 프로세스간의 데이타 교환을 위한 데이타의 특정화 기술 및 변환(characterization and conversion of data)에 관한 것으로 특히, 이질의(heterogeneous) 관계 데이타베이스 관리 시스템(relational database management system ; DBMS) 사이에 교환되는 데이타를 이질의 DBMS 상호간에 이해하고 보존하는데 필요한 컨텍스트(context)의 확립하고 데이타 변환을 최소화하는 것에 관한 것이다.
현재, 다수의 데이타베이스 관리 사이트(multiple database management sites)를 함께 결합하여, 임의 사이트의 임의 사용자에게 임의의 다른 사이트에 저장된 데이타를 액세스할 수 있도록 하는 분산 시스템을 형성하는데 큰 관심이 있다. 예를 들면, AN INTRODUCTION TO DATABASE SYSTEMS(Vol.1.1. by C.J.Date(4th Edition, 1986), pp.587-622에서 저자 데이트(C.J.Date)는 각 사이트가 자신의 데이타베이스 관리 시스템(database management system ; DBMS), 터미널, 사용자, 저장장치 및 CPU로 완전한 데이타 베이스 시스템을 구성하도록 구상하였다.
씨, 제이, 데이트에 의해 기술된 것과 같은 분산 시스템에서는, 임의 사이트의 DBMS가 다른 사이트의 머신 형태(machine type)와 상이한 머신 형태상에서 동작할 수도 있다. 실제로, 사이트 수만큼 많은 상이한 머신 형태가 존재한다. 예를 들면, IBM사(본 특허 출원의 양수인)는 System/370 머신, AS/400 머신 및 PS/2 머신상에서 동작하는 DBMS를 갖고 있다.
이질 데이타베이스 시스템의 DBMS가 실행되는 머신은 모두 정보를 상이한 내부 포맷으로 표시한다. 예를 들면, PS/2상에서의 수치 정보는 하위에서 상위 순서로의 바이트(byte)로 저장된다. 다른 머신에서, 이 정보는 상위에서 하위로의 순서로 저장될 수도 있다. 부동 소수점 정보의 경우에는, IEEE 부동 소수점 머신 및 16진 부동 소수점 머신이 있다. 문자 정보(character information)는 다수의 상이한 코드 표시로 처리되며, 그의 선택은 역사적 또는 문화적 기원을 반영한다.
DBMS는 시간이 지남에 따라 성장하고 발달하여, 일련의 버전 또는 릴리즈로(in a series of versions or releases) 구현될 수도 있다. 이들 각각은 분산 데이타베이스 시스템내에서 교환되어야 할 정보를 추가시킬 수도 있다. 또한, 이러한 변화가 발생되었을 때에는 이것이 모든 사이트에 알려져야 한다.
데이타베이스 프로그램이 하나의 환경(머신 및 DBMS)에서 프로그램되어 컴파일되어 실행될 경우, 이 데이타베이스 프로그램은 자신이 처리하는 데이타의 정확한 표면에 대하여 그다지 민감하지 않다. 프로그램으로 컴파일된 데이타 및 데이타베이스 구조내에 저장된 데이타는 모두 동일하게 표현되므로, 동작(operations)은 예측된 대로 수행된다. 따라서, 단일의 데이타베이스 환경에서 실행되는 COMPARE(비교) 커맨드는 항상 단지 시스템의 고급 언어 동작을 이용하므로써 올바르게 데이타를 조작하도록 형성될 수 있다.
그러나, 다양한 머신 형태와 DBMS가 존재하기 때문에, 임의 사이트가 다른 사이트의 머신 및 DBMS의 조합과 상이한 조합에 의해 데이타베이스를 관리할 수도 있다는 점에서 분산 데이타베이스 시스템이 이질적일 수 있음은 불가피하다.
종래에도 이와 같은 분산된 이질의 데이타베이스 시스템에서 시스템 및 머신의 호환성 문제를 해결하기 위한 방법은 있었다. 그중 세가지의 해결책을 살펴본다.
최초의 해결책은 "애플리케이션 주의(application beware)"라는 용어로 언급될 수도 있다. 이 해결책은 통상 동일한 데이타베이스 시스템간의 접속으로서 시작하며, 시간이 지남에 따라 최초의 머신으로부터 약간 상이한 몇몇 머신을 구비하게 된다. 이 해결책에서는, 시스템이 자동적으로 상이성을 해결할 수 없으므로, 애플리케이션 프로그램이 이 책임을 지게 된다. 이질 데이타베이스에 대한 액세스가 심하게 요구되는 경우, 어떤 필요한 적합화를 위해 애플리케이션 프로그램이 수정되어야 한다.
두번째 해결책은 데이타의 공통의(canonical) 표시를 이용하는 것이다. 이 접근 방법은 하나의 데이타베이스 사이트로부터 다른 데이타베이스 사이트로 데이타를 전송하기 전에 데이타를 단일의, 일반(공통의) 표시로 변환할 것을 요구한다. 표면적으로, 이 해결책은 상이한 데이타베이스간의 상이성을 해결하도록 시스템을 자동화시키는 문제를 해결한다. 그러나 이 접근 방법은 비효율적인 많은 추가의 변환을 요구하고, 그러나 이 접근 방법은 비효율적인 많은 추가의 변환을 요구하고, 이에 따라 많은 변환 에러가 초래되어, 결국 이 접근 방법을 부정확하게 한다. 예를 들면, 부동 소수점 수의 변환은 항상 라운딩 오프(rounding off)를 요구하며, 이것은 정확도를 손실시킨다. 하나의 부동 소수점 표시로부터 다른 부동 소수점 표시로 변환할 때, 즉, IEEE 표시로부터 16진수 표시로 변환할 때, 정확도(precision)가 손실된다. 16진수 표시로부터 IEEE 표시로 변환할 때는 스케일(scale)이 손실된다. 문자 변환이 수행되는 경우에는, 문자 코드간에 등가 문자 코드의 부족으로 인해 많은 특수 문자가 손실된다. 이 해결책에서는 발생하는 변환 에러가 애플리케이션으로부터 멀리 떨어져 있는 프로세스내의 임의 지점에까지 도입된다. 이것은 에러를 식별하여 응답하는 것을 더욱 어렵게 한다.
마지막 해결책은 게이트웨이 변환(gateway conversion)을 채용하는 것으로서, 이 경우에 중앙의 설비는 임의의 데이타베이스 표시를 임의의 다른 데이타베이스 표시에 정합시켜야 할 책임이 있다. 이상적으로, 이 해결책은, 필요하지 않을 때는 변환을 회피할 수 있기 때문에, 공통 데이타 표현의 비효율성, 부정확성 및 에러 발생 경향은 감소시킨다. 그러나 사이트간 통신은 길어지고, 느리고 고가이다. 여기서 게이트웨이는 모든 상호작용에 대하여 모든 사이트간 경로가 접속하는 단일의 노드(node)이다. 두개의 참여하는 사이트간의 요구 및 응답 대신에, 모든 데이타 전송에 대하여 두개의 요구 및 두개의 응답이 존재한다. 변환이 요구되면, 변환은 당연히 애플리케이션으로부터 멀리 떨어져 있는 분산 시스템의 일부에서 수행된다.
따라서, 분산된, 이질의 데이타베이스 시스템에서는, 변환의 수 및 통신의 오버헤드를 감소시키면서, 효과적이고 정확한 데이타의 교환을 지원해야 할 명백한 필요가 존재한다. 변환되는 데이타가 처리될 사이트에서 어떤 필요한 변환을 수행하는 것이 또한 바람직하다.
본 발명은 이질의 관계 DBMS간에 교환되는 데이타가 상호간에 이해 및 보존될 수 있는 컨텍스트의 확립 및 최소화된 데이타 변환을 위한 시스템 및 방법을 기술한다. 특히, 데이타베이스로 하여금 비-고유 형식으로 표현된 데이타를 요구 또는 수신할 수 있게 하는 정보 전송의 시퀀스(a sequence of information tranfer)가 기술된다. 따라서, 본 발명을 실시하므로써, DBMS는 이질의 포맷으로 데이타를 수신할 수도 있고, DBMS 스스로 데이타의 필요한 변환을 수행할 수도 있다.
변환의 수를 최소화시키기 위하여, 데이타가 처리를 위한 특정 포맷으로 요구되기 전까지는 전혀 변환되지 않도록 하는 방법이 제공된다. 본 방법은 각각의 시스템으로 하여금 항상 모든 데이타를 자신의 바람직한(고유의) 포맷 또는, 데이타가 단지 처리되지 않고 중간 시스템(an intermediate ststem)을 통과한 경우 그 데이타의 현재 포맷으로 송신할 수 있게 한다. 데이타가 수신되면, 이 데이타는 자신의 최종 종착시(final destination)에 도달(애플리케이션으로 보내지거나, 또는 데이타베이스에 저장됨)되어 시스템의 고유 포맷으로 변환된다.
본 발명에 따르면, 분산된, 이질의 데이타베이스 시스템내의 데이타베이스가 시스템내의 모든 머신 환경에 대한 사전정의된 설명(predefined descriptions)(머신 설명자(machine descriptors)) 및 데이타베이스가 데이타 교환을 수행할 수 있는 각 DBMS에 대한 데이타베이스 언어 구조(database language structures)의 사전정의된 설명(시스템 설명자(ststem descriptors))을 포함한다. 데이타베이스가 정보 교환을 위해 두개의 이질 데이타베이스를 필요로 하는 동작을 시작할 때, 그들 사이에 통신 링크(communication links)가 형성된다. 다음으로, 각 DBMS는 자신의 머신 및 시스템 설명자를 다른 DBMS에게 확인시킨다. 이것은 데이타 컨텍스트(data context)를 형성하며, 해당 통신 링크가 형성되는 처음에 단 한번 수행된다. 일단 데이타 컨텍스트가 형성되면, 요구(repuests), 응답(responses) 및 데이타가 송신 또는 수신될 수 있다. 임의의 데이타가 송신될 때, 이 데이타는 송신자(sender)의 고유 포맷으로 송신된다. 이 데이타 자체에 선행하여 데이타의 특정의 설명(specific descriptions)이 보내지며, 앞서 확인된 머신 및 시스템 설명자를 참조한다. 데이타가 수신되면, 이 특정의 설명내에 포함된 정보는 이들 설명으로 하여금 머신 및 시스템 설명자를 참조할 수 있게 하고 수신측에서의 변환 처리로 보내진다. 특정의 설명과, 그들이 참조하는 머신 및 시스템 설명자가 함께 취합되어, 데이타가 발생된 환경의 특징을 정확하게 기술하며, 수신측에서는 이 데이타를 수신 사이트의 머신/시스템 조합에 고유한 포맷으로 정확히 변환하기 위한 컨텍스트를 확립한다.
본 발명은, 불필요한 데이타 변환을 제거하여 데이타 요구가 서비스되는 속도를 증가시키므로써, 데이타 요구를 발생하고 응답하는데 요구되는 전체적인 오버헤드를 감소시킨다. 본 발명은 또한, 결코 시스템의 고유 포맷으로부터 어떤 다른 포맷으로가 아니라 시스템의 고유 포맷으로만의 변환을 요구하므로써, 각 시스템에서 요구되는 필수적인 변환 루틴(necessary conbersion routines)을 최소화한다.
본 명세서에서, "설명자(descriptor)"라는 용어는 정보를 특징화 또는 분류하는데 사용되는 데이타의 단위를 의미하며, "데이타 객체(data object)"라는 용어는 프로그램을 수행하는데 필요한 데이타 구조 요소로서, 지명되거나 그렇지 않으면 프로그램에 의해 지정되는 데이타 구조 요소를 의미하는데 사용된다. "기준(reference)"은 선언된 객체(declared object)를 가리키는 포인터와 같은 구성이다. 설명자, 데이타 객체 및 기준은 모두 프로그래밍 언어의 환경에서 이해되어야 한다. 관계 DBMS에서 잘 알려진 관계 언어(relational language)는 SQL이다.
"환경 컨텍스트(environmental context)"는 사용자 데이타의 블럭을 발생하는 데이타베이스 시스템을 설명하는 정보 세트(an information set)이다. 해당 데이타를 처리하는 데이타베이스 시스템에 의해 사용된 형식으로 데이타 형태 및 제어 정보를 이루고 있는 경우의 데이타를 "고유형(native form)"이라고 하며, 그렇지 않은 경우의 데이타를 "비-고유형(non-native form)" 또는 "이질형(foreign form)"이라고 한다. 데이타베이스 시스템 "환경"은 데이타베이스 관리를 지원하는데 사용되는 논리적 및 물리적 자원의 세트(the set of logical and physical resources)이다.
관계 데이타베이스 시스템의 경우, SQL 언어는 몇 개의 상이한 데이타 형태를 기술한다. 이들 형태는 INTEGER, FLOAT, VARCHAR 등을 포함한다. SQL 데이타베이스 관리자가 구현되는 머신에 따라, SQL 데이타 형태를 갖는 데이타 값의 실제 비트 표시(actual bit representations)가 변화된다. 예를 들면, IBM 시스템/370은 16진수 부동소수점 표시를 채용하고, IBM AS/400은 IEEE 포맷을 채용하며, IBM OS/2 머신에서는 IEEE 바이트 역전된 포맷(byte reversed formats)이 사용된다. 이들 차이는 머신 환경에 따르며, 정식으로는 이 환경에서 실행되는 애플리케이션 프로그램에 노출되지 않는다.
또한, SQL 형태로 한정되는 SQL 통신 영역(communication area)(SQLCA)과 같은 다수의 SQL 동일성 확인 표준 제어 블럭(the SQL identified standard control blocks)이 존재한다. 앞에서 한정된 머신 환경에서 SQLCA는 동일하지 않다. 본 발명은, 데이타를 고유형으로 변환하기 위해 실행시에는 어떠한 설명적 정보도 거의 또는 전혀 교환되지 않도록 이질의 DBMS간에 머신 특성 및 DBMS 언어 구조에 대한 정보를 교환하는 방법 및 수단을 정형화한다. 또한 데이타베이스 사이트가 정합되는 경우, 비록 데이타가 정합하지 않는 중간 DBMS 시스템을 통해 전송될지라도, 어떠한 변환도 수행되지 않으며, 따라서 교환되는 데이타의 보전성을 완전히 유지한다. 이들 사이트가 정합하지 않는 경우에는, 불완전한 변환에 의해 발생된 에러가 요구 애플리케이션의 필요에 따라 처리될 수 있는 경우에 사용하는 최종 포인트 가까이에서 데이타 변환이 수행된다.
본 발명은 단순한 머신, 데이타베이스 관리 시스템 및 사용자 데이타를 이용하여 기술된다. 당 분야에 숙련된 자라면, 본 발명의 상세한 구현이 이후에 설명된 것보다 많은 다수의 범용 데이타 형태, 다수의 DBMS 정보 블럭 및 다수의 필드를 갖는 사용자 데이타에 대한 지원을 요구하게 됨을 이해할 것이다. 이들 경우를 처리하기 위한 확장이 분명 가능하지만, 여기서 나타내어지면 본 발명을 불필요하게 모호하게 하는 작용만을 할 뿐일 것이다.
제1a도는 16진수 포맷의 사용자 데이타를 도시한다. 이 데이타는 두개의 형식(10,20)으로 도시되어 있다. 사용자 데이타(10)는 전형적인 퍼스널 컴퓨터 환경에서 사용되는 형식을 나타낸 것이다. 데이타(20)는, 이 데이타가 전형적인 메인프레임(mainframe) 환경에서 사용되는 형식으로 나타내어졌다는 것을 제외하면 데이타(10)와 동일한 의미를 갖는다.
제1a도에 도시된 사용자 데이타 형식은 본발명의 설명이 기초로 하는 실시예를 형성한다. 사용자 데이타가 방향(31-30)으로 도시된 바와 같이 퍼스널 컴퓨터 환경으로부터 메인프레임 환경으로 전송되어야 하는 경우, 형식(10)으로부터 형식(20)으로의 변환이 이루어져야 한다. 역으로, 사용자 데이타가 메인프레임 환경으로부터 퍼스널 컴퓨터 환경 즉, 방향(30-31)으로 전송되어야 하는 경우는, 형식(20)으로부터 형식(10)으로의 변환이 이루어져야 한다.
전송될 실제 데이타는 세개의 행(row)으로 구성된다. 각 행은, SQL 구문의 결과(outcome of statement)를 기술하는데 필요한 모든 필드를 포함하는 엔티티(entity)이다. 각 사용자 데이타내의 행을 참조하면, 제1필드(11,21)는 SQL 구문의 결과를 기술하는 SQL 통신 영역(communication areas)이다. 이에 관련하여, SQL 구문은 데이타베이스에서 데이타의 조작을 초래하는 SQL 언어로 된 커맨드로 가정된다. 본 실시예에서, SQL 구문의 결과에 따른 데이타는 다섯개 필드이다. 제1행에서, 제1필드(12,22)는 정수 값 100을 포함하며, 제2필드(13,23)는 문자 값 "ABC"를 포함하며, 제3필드(14,24)는 정수 값 80을 포함하며, 제4필드(15,25)는 문자 값 "ZYX"을 포함하며, 최종 필드(16,26)는 부동소수점 값 12.3을 포함한다.
제1a도에 도시된 각 표시의 제2행은 SQL 통신 영역, 정수 값 200, 문자 값 "DEF", 정수 값 160, 문자 값 "WVU" 및 부동소수점 값 45.6으로 구성된다. 마찬가지로, 제3행은 SQL 통신 영역, 정수 값 300, 문자 값 "GHI", 정수 값 240, 문자 값 "TSR" 및 부동소수점 78.9를 포함한다.
사용자 데이타(10)내의 정수는 하위에서 상위 순차이며, 사용자 데이타(20)내의 정수는 상위에서 하위 순차임을 알 수 있다. 문자는 퍼스널 컴퓨터 사용자 데이타에서는 아스킷코드(ASCII)로 코드화되며 메인프레임 사용자 데이타에서는 EBCDIC로 코드화된다. 부동소수점 값은 사용자 데이타(10)의 필드(16)에서 IEEE 하위에서 상위로 표시되며, 사용자 데이타(20)의 필드(26)에서는 16진수 64-초과 16진수로 표시된다. 퍼스널 컴퓨터 머신 사용자 포맷내의 통신 영역(11)은 메인프레임 환경의 SQL 통신 영역(21)과 다른 포맷을 사용한다.
제1a도에 예시된 데이타가 어느 방향으로 전송되느냐에 따라서는 아직 어떤 차이도 없다. 즉, 어느 환경이 서버(server)이며 어느 환경이 데이타 요구자(receiver)이냐에 따라 구문이 형성되지는 않는다. 본 발명의 방법은 완전히 대칭적이므로 역실행가능하다. 그러나, 설명을 간략히 하기 위하여, 사용자 데이타에 대한 요구는 퍼스널 컴퓨터 DBMS에 의해 이루어지고, 메인프레임 DBMS 서버가 이 요구를 수신하여 자신의 데이타베이스내에서 사용자 데이타를 획득한 후 이 사용자 데이타를 송신하며, 이 사용자 데이타는 요구 머신에 의해 수신되는 것으로 가정한다. 제1a도와 관련하여 설명하면, 요구된 데이타는, 결국 사용자 데이타(10)에 의해 표시된 형식으로 제공되어야 하는 사용자 데이타(20)이다. 본 발명은, 수신기가 사용자 데이타(20)를 수신하여 이 데이타를 사용자 데이타(10)에 의해 표시된 포맷으로 변환하기 위해 준비할 수 있는 컨텍스트를 확립한다. 본 발명은 실제의 변환 처리 자체에 관한 것이 아니라, 수신기 머신 환경이 변환을 수행할 준비가 되도록 인에이블시키는 방법 및 수단과, 데이타가 처리되어야 하는 지역에 도달할 때까지 변환을 지연하는 방법 및 수단에 관한 것이다.
제1b도는 퍼스널 컴퓨터 머신 환경(40)("요구자(receiver)") 및 메인프레임 머신 환경(50)("서버(server)")을 예시한다. 이 퍼스널 컴퓨터 환경은, 예를 들면, OS/2 SQL계 데이타베이스 관리 시스템으로 프로그램된 IBM PS/2 제품을 포함할 수 있다. 편의를 위해, 퍼스널 컴퓨터(40)의 머신 명칭은 참조 부호(41)로 표시된다. 머신(40)상에서 동작하는 DBMS는 문자 및 제어 기능 의미(control function meanings)를 표시하기 위해 코드를 이용한다. 이러한 목적을 위해, 코드 페이지(a code page)는 DBMS에 의해 이용되는 그래픽 문자 및 제어 기능 의미에 대한 모든 코드 포인트(code points)를 맵(map)한다. 이러한 코드페이지는 참조 부호(42)로 표시된다. DBMS는 언어에 기초한 시스템이며, 본 실시예에서, DBMS는 SQL 언어에 기초한 시스템으로 가정한다. 또한, 언어의 버젼 또는 레벨은 SQLAM3로 가정하며, 도면중에 참조 부호(46)로 표시된다.
그러므로 사용자 데이타(10)를 처리하는 퍼스널 컴퓨터 환경의 완전한 특징화는 이 데이타를 처리하는 머신의 형태에 대한 표시, 머신내에 존재하는 데이타 형태와 같은 머신-레벨(machine-level) 정보에 대한 표시 및 이 머신내에 존재하는 데이타가 어떤 형식으로 나타나는가에 대한 정보를 포함해야 한다. 제1a도의 실시예에서, 데이타 형태는 정수, 부동소수점 수 및 문자 스트링(strings)이다. 퍼스널 컴퓨터에서, 정수는 하위에서 상위 순차로, 문자는 아스킷코드로, 부동소수점 수는 IEEE 하위에서 상위순차로 표시된다. 본 발명에서 이러한 모든 정보는 머신-레벨 표시 설명자로 표시된다. 제1b도에서, 퍼스널 컴퓨터 머신에 대한 머신-레벨 표시 설명자는 참조 부호(44)로 표시된다.
변환용 컨텍스트는, 정보는 송신하는 DBMS가 기입되는 언어의 특성을 설명하는 정보를 또한 요구한다. 본 설명에서는, 모든 DBMS 사이트가 하나 또는 다른 버전의 SQL에 기초한 언어로 기입된다고 가정한다. 이들 다양한 버전에 의해 생성되는 제어 정보의 부정합되는 표시를 정합시키기 위하여, 시스템 레벨 언어 특징 설명자가 변환 머신(converting machine)에 이용되어 사용자 데이타의 언어-지정부(language-specific portions of the user data)를 변환할 수 있어야 한다. 제1a도에서, 언어 지정부는 통신 영역이다. 언어 특성에 관한 일한 시스템-레벨 정보를 제공하기 위하여, 변환 머신에는 시스템-레벨 정보 유니트 설명자(system-level information unit descriptor)가 제공된다. 제1b도에서 퍼스널 컴퓨터 언어 환경에 대한 시스템-레벨 설명자는 참조 부호(45)로 표시된다.
컨텍스트는 전송되는 사용자 데이타에 특정된 애플리케이션 레벨 정보(application level information specific to the user data)를 제공함으로써 완료된다. 이 정보는 애플리케이션 레벨 사용자 데이타 설명자의 형식으로 제공된다. 퍼스널 컴퓨터 머신 환경에서, 이 설명자는 참조 부호(47)로 표시된다. 이 애플리케이션 레벨 설명자는 협동하는 DBMS간에 정보를 전달하는 제어 블럭(a control block)을 포함한다. 이 설명자는 요구자로 전송되는 사용자 데이타에 부착되는 접두어(a prefix appended to user data)의 형식을 갖는다. 이 접두어는 전송되는 데이타의 머신 및 시스템-레벨 특성을 설명하는 정보를 포함한다. 이 시스템-레벨 특성을 설명하는 정보는 서버 시스템(serving system)의 언어 버전에 대응하는 시스템-레벨 설명자내의 시스템-레벨 정보에 대한 기준(a .reference)은 물론, 서버 머신(sever machine)을 표시하는 머신-레벨 설명자의 머신-레벨 정보에 대한 기준을 제공한다. 제1b도에서, 참조 부호(47a)는 애플리케이션 레벨 설명자(47)에서 만들어진 시스템-레벨 기준을 표시하며, 참조 부호(47b)는 애플리케이션 레벨 설명자에서 형성된 머신-레벨 기준을 표시한다.
제1b도에 도시된 바와 같이, 머신-레벨 설명자에 대한 기준은 시스템-레벨 설명자에 의해서도 또한 만들어진다. 제1b도에서 참조 부호(45a)는 시스템 레벨 설명자(45)에서 만들어진 머신-레벨 기준을 표시한다.
사용자 데이타 컨텍스트는, 사용자 데이타가 전송될 때마다, 이 데이타에 머신, 시스템 및 애플리케이션 레벨 설명자를 부착하므로써 모두 전달될 수 있음이 분명하다. 이것은 비동기 통신 환경(an asynchronous communication environment)에서 적절히 채용된다. 동기 통신 환경(a synchronous communication environment)에서는, 컨텍스트가, 먼저 머신 및 시스템-레벨 설명자를 전송하고 뒤이어 애플리케이션 레벨 설명자를 전송한 후, 요구자 측에서 이 수신된 애플리케이션 레벨 설명자를 머신 및 시스템-레벨 설명자에 결합하므로써 완전히 전달될 수 있다. 양자의 경우에서, 머신 및 시스템 레벨 설명자는 양 사이트간에 적어도 한번 모두 전송되어야 한다. 본 발명에서는 이러한 전송이 필요없다.
따라서 메인프레임 머신(50)이 데이타를 전송하는 것으로 가정하는 제1b도에서, 메인프레임의 머신-레벨 및 시스템-레벨 설명자(54,55)는 요구 퍼스널 컴퓨터 머신(40)에서 이용가능해야 하고, 제1a도의 사용자 데이타를 표시(20)로부터 표시(10)로 변환하기 위하여 애플리케이션 레벨 설명자(57)에 결합되어야 한다. 이와 관련하여, 설명자(54,55,57)는 머신(40)에서 이용가능해야 한다. 마찬가지로, 데이타가 반대 방향, 즉, 퍼스널 컴퓨터 머신(40)으로부터 메인프레임 머신(50)으로 전송되는 경우, 설명자(44,45,47)는, 제1a도에 도시된 사용자 데이타(10)를 사용자 데이타(20)의 형식으로 변환하기 위해 메인프레임 머신(50)에서 이용가능해야 한다.
본 발명의 실시에, 분산된, 이질의 데이타베이스 시스템에 관여하는 각 DBMS 사이트의 실행 동안에, 사이트에 어느 특정의 머신 표시가 지원되는냐에 대한 결정(a decision)이 이루어지는 것으로 가정된다. 사이트의 DBMS가 동작하는 머신의 표시가 "고유형"으로 지원되는 것으로 가정한다. 즉, 다른 DBMS로부터 수신측 DBMS와 동일한 데이타가 수신된 경우, 표시는 "고유형"이며 어떠한 변환도 필요없다. 또한 상대측에 다른 머신 형태가 지지되는 경우, 일반적으로, 이러한 "비-고유형" 데이타 표시 형태는 수신측에서 처리하기 전에 "고유형"으로 변환된다. 바람직한 살시예에서, 각 사이트에는, 각 사이트에서 허용가능한 상대측 머신 형태의 리스트(a list of acceptable machine partner types)가 유지된다. 그러므로 퍼스널 컴퓨터 머신(40)의 사이트에서, 허용가능한 머신 형태의 리스트는 머신(50)내의 식별자(51,52)에 대응하는 머신 명칭 및 코드 페이지를 포함한다. 이 리스트는 모든 허용가능한 상대측 시스템에 대한 머신-레벨 및 시스템-레벨 설명자를 포함하는 설명자 세트를 색인화한다. 그러므로써, 퍼스널 컴퓨터 머신(40)이 단순히 사이트(50)에 존재하는 머신 및 언어의 식별자를 수신하는 경우, 이들 식별자는, 설명자(54,55)에 대응하는 색인화된 설명자인, 설명자 리스트중에서 필요한 설명자를 색인화하게 되는 리스트가 될 수 있다.
그러므로 퍼스널 컴퓨터(40)가 머신(50)상에서 동작하는 DBMS로부터 데이타 요구를 발생하면, 요구자 머신(40)는 자신의 머신 명칭, 코드 페이즈 및 시스템-레벨 명칭(PS/2, 437, SQLAM3)을, 접속이 이루어지길 바라는 시스템, 즉, 본 실시예의 경우에 머신(50)에 전송한다. 머신(50)이 이들 명칭을 허용불가능한(자신의 리스트에 없음) 것으로 판정하면, 그때 요구자로 에러(an error)가 복귀되며 접속이 파괴된다. 머신(50)이 명칭을 허용가능한 것으로 판정하면, 머신(50)은 서버의 상태를 가장하여, 자신의 머신 및 시스템-레벨 명칭을 수신 머신(40)에 전송함으로써 접속을 완료한다. 이들 명칭이 요구자에서 허용가능하면 그때 접속이 이루어지며, 그렇지 않으면 접속은 파괴된다.
접속이 이루어지면, 요구자는 제공자/서버 머신(50)으로 데이타 요구 신호를 송신한다. 이 제공자/서버는, 요구된 데이타의 특성, 즉, 본 실시예에서는 제1a도에 도시된 사용자 데이타(20)의 특성에 따라 사용자 데이타 설명자(57)를 구성한다. 본 실시예에서, 설명자는 SQL 통신 영역(21) 및 다섯개의 사용자 데이타 필드(22,23,23,25,26)의 존재를 반영하도록 구축된다. 그리고 나서, 제공자/서버 머신(50)은 설명자(57) 및 사용자 데이타(20)를 요구자 머신(40)으로 송신한다.
요구자는, 설명자를 수신하면, 머신(50)에 의해 송신된 머신 및 시스템-레벨 식별자에 응답하여 얻어진 설명자 및 애플리케이션 레벨 설명자(57)내에 포함된 기준을 사용하여, 게속되는 처리를 위해 사용자 데이타를 제공자의 표시로부터 요구자의 표시로 변환한다.
머신과 사용자 데이타 설명자 사이에 교환되는 식별자는 양 시스템에 의해 이해되는 규정 형식이어야 함을 알아야 한다. 바람직한 실시예에서, 이 형식은 특정의 코드 페이지에 의해 EBCDIC로 한정된다. 이해를 위해 이러한 공통된 사항을 기초로 하여, 분산 시스템내의 각 사이트는 임의의 다른 사이트의 식별자 및 사용자 데이타 설명자를 인지한다.
이하 본 발명에 따른 머신-레벨 표시 설명자의 구조 및 내용의 이해를 위해 제2a도 내지 제2d도를 참조한다. 4개의 머신 형태에 대한 설명자가 도시된다. 설명자(60)는 IBM PS/2에서 실행되고 문자 코딩용 코드 페이지 437을 사용하는 BMS에 의해 예시화된 머신을 나타낸다. 설명자(70)는 시스템/370 형태의 메인프레임 머신에서 실행되고 코드 페이지 037을 사용하는 DBMS를 특징화한다. 설명자(80)는 코드 페이지 037을 사용하는 AS/400 머신에 대한 것이다. 설명자(9)는 문자 인코딩을 위해 코드 페이지 850을 사용하며 OTHER로 불리우는 가정적 머신(a hypothetical machine)에 대한 것이다. 이들 도면의 설명자는 매우 간략화된 항목으로 머신을 표시한다. 이들 표시는 분산 시스템내의 모든 데이타베이스 사이트에 의해 인지되고 사용되는 범용 데이타 형태와 일치한다. 이 도면에서, 데이타 형태는, 정수에 대하여는 INTEGER로, 부동소수점 수에 대하여는 FLOAT로, 알파벳 문자와 같은 수 아닌 정보(non-numeric information)에 대하여는 CHARACTER로 나타내었다. 각각의 범용 데이타 형태는 또한 설명자가 나타내는 머신에 특정된 포맷으로 설명된다.
제2a도 내지 제2d도에 도시된 머신-레벨 설명자는 다중-필드 데이타 객체로서 도시되며, 이 필드는 범용 데이타 형태 또는 데이타 형태 포맷에 관한 정보를 포함한다. 그러므로, INTEGER 데이타 형태의 상세한 설명은 머신-레벨 설명자의 다중-필드 섹션(62,72,82,92)에 포함된다. 이들 머신에 대한 부동소수점 수의 표시에 대한 상세한 설명은 설명자의 섹션(64,74,84,94)에 포함된다. 문자 표시에 대한 상세한 설명은 설명자의 섹션(66,76,86,96)에 포함된다.
도시된 설명자에서, 각각의 범용 데이타 형태는 초기에 마커 정의(marker definition ; MD)에 의해 식별된다. 정수의 경우, 마커는 설명자의 필드(67,77,87,97)에 놓인다. 각 머신 설명자 세트내에서 각 범용 형태에 대한 마커는 동일하다. 마커는 후속하는 표시의 범용 형태를 명백하게 식별한다. 각 MD 뒤에는 형태 정의(type definition ; TD)가 따른다. 형태 정의는, 이 설명자에 의해 식별된 머신내에서 데이타가 표시되는 방법을 비트까지 정확하게 도시한다. 정수를 예로 들면, 도시된 네개의 TD가 상이한 세개의 비트 표시를 갖는다. 두 머신은 필드(88,78)에서, 정수가 상위에서 하위 유효성으로 순차된 바이트를 갖는 2진 값임을 표시한다. 한 머신은 설명자(60)의 필드(68)에 표시된 바와 같이, 바이트 순서를 역전하여 하위 유효 바이트를 먼저 저장하는 2진 값을 사용한다. 설명자(90)에 의해 표시된 머신은 필드(98)에 의해 표시된 바와 같이 팩된 포맷(a packed format)의 10디지트로 정수를 표시한다. 도시된 TD는 모두 동일하지는 않다. 그러나, 동일한 의미의 정확히 동일한 것의 TD는 설명자중에 정확히 동일한 방법으로 표시된다. 예를 들면, 설명자(70,80)의 필드(78,88)에서 정수를 상위→하위로 표시한 것은 정확히 하나의 표시이다.
본 발명에서, MD-TD쌍은 각각, 형태들의 패밀리(a family of types)를 표시할 수 있다. 1,2,3,4,…바이트 길이의 정수는 모두 동일한 설명자를 공유할 수 있다. 마찬가지로, 문자의 경우 이 형태와 연관되는 실제코드 페이지는 개별적인 파라미터이다. TD내에 특정된 코드 페이지(69,79,89,99)에 지정된 코드 페이지는 우선될 수 있는 디폴드(a default)이다. 이에 관하여는 제3a 및 제3d도를 참조하여 아래에서 설명된다.
TD의 의미는 단일의 범용 데이타 형태와 연관되어야 하는 것으로 제한되지 않는다. 따라서, 동일한 TD가, 여러개의 상이한 범용 데이타 형태 또는 MD의 표시로서 사용될 수도 있다. 예를 들어, WEIGHT로 불리우는 범용 데이타 형태가 있다면, 이 데이타는 부동소수점 수 또는 정수로 표시될 수 있다. 이 경우 아마도 상이한 머신이 상이하게 이 데이타를 지원하게 될 것이다. 이와 같은 변형은 본 발명에 의한 충분히 지원된다. 따라서, 범용 데이타 형태는 MD에 의해 특별히 명명되며, 이 데이타 형태가 표시되는 방법은 TD에 의해 특정된다.
당분야에 통상의 지식을 가진 숙련된 실시자에게는 명백하게 될 한가지 다른 특징은, 범용 형태 설명의 순서(MD-TD쌍)는 머신-레벨 설명자의 의미에 대해 중요하지 않다는 것이다. MD에 의해 세트된 의미는, 시스템-레벨 설명자와 같은 상위 레벨 설명자로부터의 적절한 TD에 대한 접속을 확립하는데 사용된다.
제3a도 및 제3b도는 시스템-레벨 설명자의 구조 및 내용과, 이들 설명자가 머신-레벨 설명자에게 참조되는 방법을 예시한다. 제3a도 및 제3b도에서, 시스템-레벨 설명자는 두개의 상이한 언어 지원 레벨을 도시한다. 이와 관련하여, 제3a도의 설명자(100)는 SQLAM3로 불리는 레벨에 대한 것이며, 제3b도의 설명자(120)는 SQLAM4로 불리는 레벨에 대한 것이다.
SQL 콜(calls), 즉, SQLCA의 상태를 포함하는 SQL 정보 블럭에 대한 시스템-레벨 설명자는 마커(MD), 설명자 군(grouping description ; GD) 및 행 설명자(row description ; RD)로 구성된다. 지금부터 두개의 시스템-레벨 설명자(100,120)를 생각해 보자, 이들 설명자중에서, 제1마커(102,122)는 각각 SQL 통신 영역에 포함되는 필드 군을 식별한다. 이들 마커는 후속하는 필드 군에 대한 범용적인 의미를 제공하며, 모든 DBMS 실행 레벨에서 동일하다. 각 설명자내에서 이 군 마커(group marker)는 SQLCAGRP로서 식별된다.
시스템-레벨 설명자내에서, 군 마커에는 설명자 군(GD)(104,124)이 후속되며, 이것은 사용자 데이타용 SQL 통신 영역내에 정확히 어느 필드가 포함되어야 하는지를 표시한다.
설명자 군은 기술된 군의 구성요소가 순서대로 정돈되어 있으나 필드의 선형 벡터(a linear vector of field)로 배열되지는 않는 특성을 갖는다.
설명자 군의 다른 특성은, 설명자 군(104)이 정수-4- 및 문자-80의 머신-레벨 기준을 포함하는 제3a도를 참조하여 이해될 수 있다. 이들 표시된 군의 구성요소는 머신-레벨 설명자내의 마커 정의에 의해 식별되는 데이타 형태에 대한 기준이다. 제3a도가 도시하는 바와 같이, 이러한 기준은(제2a도의 설명자와 동일한) 머신-레벨 설명자(60)의 정수 및 문자 MD에 대해 직접 기준을 제공한다. 이 기준은 도면중에 연결선(112,114)으로 표시되었다. 본 발명에서, 이 기준으로 특정된 값은 머신 설명자내에 설정된 디폴트 길이에 우선하여 사용된다. 따라서, 제3a도의 기준(114)은 머신-레벨 설명자(60)내의 각 정수 표시의 머신 길이를 4바이트로 우선하여 디폴트시킨다. 제3b도에서, 기준(133,134)은 또한 정수에 대하여 머신 길이를 4바이트로 우선하여 디폴트시킨다.
제3b도에서, 시스템-레벨 설명자(120)는 SQL 통신 영역에 앞서 설명된 SQLAM3에 대한 시스템-레벨 설명자(100)보다 하나 더 많은 필드를 표시한다. 그러므로 이 하나 더 많은 값은 이 보다 상위 레벨에서 사용자 데이타의 CA내의 상태(status)로 복귀된다. 본 발명의 실시시에, 접속 처리 동안 요구 DBMS 및 수신 DBMS 양측이 다른 것을 기대하고 있음을 나타내는 것으로 간주된다. 바람직하기로는, 이 시스템은 동일한 시스템 설명자 레벨 및 보다 하위의 레벨에서의 동작을 승낙한다.
제3a도의 설명자 군(104) 및 제3b도의 설명자 군(124)에는 또 다른 마커, 즉, 제3a도에서 마커(106), 제3b도에서 마커(126)가 후속된다. 이 마커는 SQL 통신 영역에 대한 행 설명자가 후속하고 있음을 표시한다. 각각의 경우에, 행 설명자는, 제3a에서 (110) 및 제3b도에서 (130)으로 도시한 바와 같이, 앞서 설명된 군을 참조한다. 이것은 모든 필드를 벡터화하고 교환될 수 있는 정보의 정의를 완료한다. 이 행 형식에서, SQL 통신 영역은, 사용자 데이타를 포함하지 않고 시스템 상태 정보를 포함하는 커맨드로 교환될 수 있다.
이 행 설명자(108,128)는 양 레벨에서 동일하고 상이한 정보를 포함하는 군(104,124)을 참조하며, 계속해서 이들 군은 상이한 머신 설명자(60,70)를 참조한다. 그러므로 이 행 설명자는 언어 레벨 또는 버전에 의존하는 실제 블럭을 형성하고 또한 식별된 머신과 관련하여 측정된 블럭을 형성한다.
제3a도 및 제3b도에 도시한 양 레벨의 시스템-레벨 설명자 블럭은 머신내 설명자의 순서에 관계없이 머신 설명자중 어느 것에도 맵할 수 있다. 이 기준이 머신 설명자에서 MD 엔트리가 된다. SQL 통신 영역내 필드의 범용 형태는 머신-레벨 설명자내의 이 범용 형태의 표시에 연결된다. 따라서 설명된 바와 같이, 시스템-레벨 설명자는 머신에 관계없이 DBMS간에 교환되는 정보 블럭의 내용을 지정하는 방법을 제공할 수 있다. 정보 블럭의 내용은(상위 레벨 설명자에 의해 사용되는) 설명자 군과, 교환될 수도 있는 완전한 객체를 기술하는 행 설명자 양자를 제공한다. 시스템-레벨 설명자내에 포함된 행 설명자는 다른 설명자에 의해 참조되어 어레이(an array)를 생성할 수 있다. 이에 관하여는 이후 제4도를 참조하여 도시되고 설명된다. 시스템-레벨 설명자는 DBMS의 실행시 초기에 확립되어 세트(set)로 조립된다. 임의의 실행 레벨에 대해 요구되는 세트는 임의의 다른 실행이 이해하게 되는 명칭으로 제공될 수 있다. 이러한 관점에서, 제3a도의 시스템-레벨 설명자(100)의 명칭은 "SQLAM3"이고, 제3b도의 설명자(120)의 명칭은 "SQLAM4"이다. 본 발명의 실시시, 통신접속이 이루어질 때는 단지 이들 명칭만이 교환되므로, 설명자 자체를 교환할 필요가 없게 된다.
이제부터 사용자 데이타 설명자의 구조 및 내용과, 사용자 데이타 설명자가 머신 및 시스템 레벨 설명자와 연결되어 요구자 DBMS가 이질형의 사용자 데이타를 받아들여 고유형으로 변환하도록 인에이블시키는 완전한 컨텍스트를 제공하는 방법의 이해를 돕기 위하여 제4도를 참조한다. 사용자 데이타 설명자(200)는 시스템-레벨 및 머신-레벨에 무관하게 사용자 데이타를 기술하는 방법을 제공한다. 이 설명자는, DBMS가 설치된 후 이 DBMS내에 관계 테이블이 생성되어 소정위치에 놓여지기 전까지는 사용자 데이타의 상세한 사항들이 알려지지 않으므로, 실행 시간 전까지 및 데이타에 대한 특정의 요구가 수신되기 전까지는 설명되지 않은 것으로 간주된다.
앞서 기술된 시스템 및 머신 레벨 설명자와 같은 사용자 데이타 설명자(200)는 마커 및 다른 설명자로 구성된다. 제1마커는, 시스템-레벨 설명자(100)에 대한 SQL 통신 영역 기준(213) 및 머신-레벨 설명자(70)에 대한 5개의 기준(214,215,216,218,220)으로 구성되는 군(212)을 태그한다. 이들 6개의 기준은 제4b도에서 편리하게 재생되는 사용자 데이타(20)의 각 행을 형성하는 6개의 필드에 대응한다. 따라서, 이 군(212)은 임의 행의 사용자 데이타내에서 필드를 필드 단위로 식별하며, 각 필드내의 범용적인 데이타의 형태를 나타내며, 데이타 크기를 지정한다. 예를 들어, 군(212)은, 사용자 데이타 행의 제1필드가 SQL 통신 영역을 구성하게 될 것임을 표시하는 제1기준 SQLCAGRP-0를 갖는다. 제4b도에 도시된 바와 같이, 사용자 데이타(20)의 각 행위 제1필드(21)에 통신 영역 "CA"가 놓인다. 마찬가지로, 사용자 데이타 행의 제2필드(22)에는 2-바이트 정수가 놓이며, 제3필드(23)에는 3-바이트 문자가 놓이며, 제4필드(24)에는 2-바이트 정수가 놓이며, 제5필드(25)에는 3-바이트 문자가 놓이며, 마지막 필드(26)에는 4-바이트 부동소수점 수가 놓인다.
6개의 기준(213,214,215,216,218,220)은 시스템-레벨 설명자로부터의 2개(정수-4 및 문자-80)와 사용자 데이타로부터의 5개의 구성된 7개의 필드를 갖눈 군(a group)을 형성하게 된다 이들 모든 기준은 특정이 언어 레벨 및 특정의 머신과 무관하다. 설명된 데이타는 이들 설명자 레벨에 크게 좌우되는 것이 분명하지만, 본 발명의 요점은 데이타의 설명이 아니다.
제4a도에 도시된 사용자 데이타 설명자(200)의 설명으로 돌아가서, 그 다음 MD 마커(224)는 마커(211)에 대한 기준(226)을 갖는 행 설명자 RD를 태그한다. 이 기준은 사용자 데이타 행내의 행 구성 요소(a row of elements)들을 정의하는데 사용된다. 앞서 설명된 바와 같이, 이 행은 7개의 필드, 즉, SQL 통신 영역의 2개 필드와, 그에 후속하는 5개의 사용자 데이타 필드를 순서대로 포함한다. 이것은 이질의 DBMS간에 교환될 수 있는 하나의 객체에 대한 필드를 완전히 열거한다. 이 행은 데이타와 함께, 이 데이타를 페치하였던 요구와 관련된 상태에 따라 통신 영역내의 정보를 포함하며, MD(224)에는, 정의된 군의 각 구성요소의 한개 카피(one copy)가 마지막 행에 포함되어야 함을 표시하는, 수정자(a modifier) "1"을 갖는 RD(232)가 후속된다.
마지막 MD(228)는 행 설명자(232)에 대한 기준(230)를 갖는 RD(234)를 태그한다. 이 설명자는 제4b도에 도시된 사용자 데이타(20)를 포함하는 행 세트 테이블 또는 어레이를 형성하는데 사용된다. 이 RD(234)내의 수정자 "0"는, 기준된 행이 후속하는 데이타를 모두 포함하는데 필요한만큼 여러회 반복되어야 함을 표시한다. 이것은, 요구자에 최초의 행 수(및 사용자 데이타 설명자)를 전송하기 전에 응답 세트(an answer set)내의 최종 행 수를 예측하는 것은 거의 불가능하기 때문에, 질의시에 상당히 중요하다.
요약하면, 사용자 데이타 설명자는 기술된 데이타내의 시스템-레벨 및 머신-레벨 인위구조(artifacts)에 무관한 데이타를 기술하는 모드(a mode of describing)를 제공한다. 기술된 데이타는 DBMS 상태 정보 및 적절한 사용자 데이타를 포함한다. 따라서, 사용자 데이타 설명자는 사용자가 DBMS로부터 회수(또는 DBMS로 송신)할 수 있는 임의의 데이타 정의를 공급한다. 사용자 데이타 설명자가 시스템-레벨 설명자 및 머신-레벨 설명자 양측에 기준으로서 연결될 때, 실제 데이타는 물리적 용어(phisical terms)로써 이해될 수 있다. 따라서, 머신-레벨 설명자(70) 및 시스템-레벨 설명자(100)에 대한 기준(연결(bindings))은 군(212)의 기준 구성요소(referencing members)에 물리적 의미를 제공한다. 이들 기준은 통상적으로 표준연결 기법에 의해 실행될 수 있다.
제5도는 앞서 설명된 구조 및 기능을 갖는 데이타 객체를 이용하여 변환 컨텍스트를 확립하는 절차(aprocedure)를 나타낸다. 이 절차는 통신 접속을 요구 및 완료하며 데이타를 요구 및 제공하는 범용적인 커맨드를 포함한다. 제5도에 도시된 절차는, 요구 머신과 제공 머신 사이에 데이타를 전송하고 이 데이타의 변환을 위해 수신 머신내에 변환 컨텍스트를 확립하는 동안, 필수적으로 교환되어야 하는 파라미터만을 도시하는 간략화된 순서로서 도시되었다. 본 발명에 따른 이 절차는 데이타가 변환되는 방법과 관련된 것이 아니라, 데이타가 변환되는 장소와 관련된 것임을 다시 한번 강조한다. 특히, 본 발명은, 이들 파라미터에 대한 특정 값을 확립하기 위하여 데이타의 요구자로 하여금 데이타를 변환할 수 있게 한다.
제5도에 도시된 구조를 살펴보면, 요구 머신의 모든 동작은 도면의 좌측에, 제공 머신의 모든 동작은 도면의 우측에 나타내었다. 이 도면에 따라 설명하면, 단계(240)에서, 요구 머신측의 사용자는 우선 제공 머신(serving machine)내의 DBMS에 의해 유지되는 데이타에 대한 요구를 송출한다. 다음으로, 단계(252)에서, 요구 머신은 제공 머신으로 향하는 접속-요구(REQUEST-CONNECTION) 커맨드 순차(command sequence ; 249)를 실행한다. 이 접속-요구 순차는 요구 머신, 그의 문자 코드 및 그의 언어 레벨을 식별시키는 파라미터를 포함한다. 이 실시예에서, 요구 머신은 PS/2 퍼스널 컴퓨터에서 실행되는 DBMS로서 식별되며, 문자 코딩용으로 특정의 코드 페이지(437)를 이용하며, 특정의 DBMS 언어 레벨(SQLAM3)에서 동작한다. 접속-요구 단계에서의 파라미터는 식별자 뿐이다. 다음으로, 단계(254)에서 제공 머신은 접속 요구를 수신하여, 머신 및 시스템-레벨 식별자를 확인하며, 이들 식별을 머신 및 시스템-레벨 설명자를 색인하는데 사용한다. 제공 머신이 접속 요구 단계에서 식별된 머신 및 시스템 레벨 설명자를 인식하며 소유하고 있을 경우, 단계(256)에서, 요구 머신으로 머신- 및 시스템-레벨 식별을 제공하는 파라미터를 포함하는 접속-완료(COMPLETE-CONNECTION) 커맨드 순차로 실행한다. 단계(258)에서, 제공 머신으로부터 수신된 접속-완료 응답이 요구 머신내에서 확인되면 이 식별자는 적절한 머신 및 시스템 레벨 설명자를 색인하는데 사용된다. 예를 들어, 제5도의 실시예에서, 요구 머신은 제2b,3b 및 4a도에 도시된 머신 설명자(70) 및 시스템 설명자(100)를 색인하게 된다.
다음으로, 단계(260)에서, 요구 머신은 데이타 요구를 어셈블리하여, 단계(263)에서 이것을 데이타-요구(REQUEST-DATA) 커맨드로서 제공 머신으로 전송한다. 이 데이타-요구는, 실행되어야 할 SQL에 적합하다면, 선택적 입력 데이타와 함께(단계(262)에서 형성된) 입력 데이타 설명자를 선택적으로 포함한다. 단계(265)에서, 제공 머신은 선택사양적 입력 데이타 및 설명자를 포함하는 데이타-요구 커맨드를 수신한다. 입력 데이타가 존재하면, 단계(267)에서 변환 처리가 호출된다. 제공 머신은, 단계(269)에서 요구된 사용자 데이타를 획득하고, 예를 들면, 4a도에 도시된 설명자(200)와 같은 사용자-데이타 설명자를 형성하므로써 데이타-요구 커맨드에 응답하며, 단계(270)에서 사용자-데이타 설명자 및, 예를 들면, 제1a도 및 제4b도에 도시된 사용자 데이타(20)의 첫번째 행과 같은 사용자 데이타를 송신하므로써 데이타-제공(PROVIDE-DATA) 커맨드를 실행한다. 다음으로, 단계(272)에서 요구 머신은 전송된 설명자 및 사용자 데이타를 수신하여 이 데이타를 변환하기 위한 변환 처리를 호출한다. 특정 실행시의 필요에 따라, 사용자 데이타 설명자와 색인된 머신 및 시스템 설명자 사이의 연결(bindings)이 단계(272)에서 수행되거나 또는 호출된 변환 처리를 위해 남겨질 수 있다. 단계(274)에서 두번째 데이타-요구 커맨드가 송신되고 그의 파라미터가 처리되며, 단계(276)에서 제공자는 이 요구된 사용자 데이타를 획득하여 다른 데이타-제공 커맨드로 이 획득된 사용자 데이타를 복귀(단계 278)한다. 요구 머신은 다시 단계(279)에서 첫번째 데이타-제공 커맨드와 함께 수신된 사용자 데이타 설명자 및, 접속 처리 부분 동안에 수신된 시스템 레벨, 머신 형태 및 코드 페이지 값에 따라 데이타를 처리한다. 이후 요구자가 더 많은 데이타를 요구할 경우, 요구자는 다른 데이타-요구 커맨드를 송출하고 제공자는 다른 데이타-제공 커맨드로 데이타를 복귀시키는 등으로 처리는 진행된다.
제5도의 절차를 실행하는 구성(an architecture for implementing)이 제6도에 도시된다. 제6도에서, 요구머신은 앞서 설명한 바와 같이 PS/2 퍼스널 컴퓨터이며, 서버는 시스템/370 형태의 메인프레임인 것으로 가정한다. 요구자는 참조 부호(280)로 표시되고 서버는 참조 부호(282)로 표시된다. 요구자(280)는 통상적으로 CPU, 저장장치(storage), 제공 머신(282)과의 통신을 위한 통신 어댑터(communications sdapter) 및 사용자로부터 커맨드를 수신하여 사용자에게 응답을 제공하는 사용자 인터페이스(a user interface)로 구성된다. 저장장치내에는 애플리케이션 프로그램, SQL 애플리케이션 관리자(306)를 포함하는 SQL 형태의 관계 DBMS 및 통신 에이전트(a communications agent)(310)가 저장된다. 또한, 머신 설명자(사전(342))와 시스템-레벨 설명자(사전(346))를 포함하는 두 개의 사전(two dictionaries)(342,346)이 저장된다.
제공 머신(282)은 SQL-형태 DBMS(334)를 갖는, 통상적으로 프로그램된 시스템/370 메인프레임 컴퓨터를 구비할 수 있다. SQL 애플리케이션 관리자(318)는 DBMS(334)와 통신 에이전트(314)를 인터페이스한다. 시스템-레벨 설명자(사전(322))와 머신-레벨 설명자(사전(326))를 저장하기 위하여 두 개의 사전(322,326)이 제공된다.
제5도의 절차는 이 애플리케이션 프로그램(300)이 데이타베이스 관리 요구를 송출한 때에 초기하된다. 예를 들어, 이 요구는 SQL 구문 개방(statement OPEN)일 수 있다. 이 요구는 애플리케이션 관리자(306)에 대한 호출(a call)(304)을 발생한다. 요구자의 애플리케이션 관리자(306)는 우선 소망하는 데이타베이스 관리 시스템과의 접속을 확립해야 한다. 이것은, 송신 DBMS를 식별하는(도시되지 않은)파라미터는 물론, 자신(머신 및 코드 페이지 명칭) 및 요구되는 DBMS 서비스의 레벨(본 실시예의 경우에 SQLAM3)을 기술하는 파라미터 값과 함께 제5도에 따라 접속-요구 커맨드를 작성하므로써 성취된다. 이 커맨드는, 참조 부호(308)를 통해, 식별된 제공 머신과의 통신 링크(communication link)를 확립해야 할 책임이 있는 통신 에이전트(310)로 보내진다. 이 접속-요구 커맨드는 통상의 통신 링크(312)를 통해, 이 통신 채널(communication channel)의 다른 한쪽에 연결된 통신 에이전트(314)로 보내진다. 이 에이전트(314)는 DBMS 파라미터를 조사(제5도 참조)하여 어느 레벨의 서버 SQL 애플리케이션 관리자를 호출해야할지를 결정한다. 일단 결정 및 호출이 완료되면, 에이전트(314)는, 참조 부호(316)를 통해, 호출된 SQL 애플리케이션 관리자(318)로 요구를 발송한다. 이 관리자(318)는 참조 부호(320)을 통해 DBMS 레벨 사전(322)을 액세스하여 요구자가 요구하는 기능 레벨과 부합하는 설명자를 획득한다.(본 바람직한 실시에 있어서, 이 설명자의 내용은 진행 사이클의 초기에 알려지며, 처리의 효율성을 위해 애플리케이션 관리자(318)내에 형성된다.) 마찬가지로, 이 관리자(318)는, 참조 부호(324)를 통해, 식별된 머신 레벨 설명자를 사전(326)으로부터 액세스한다. 이것은 접속-요구 커맨드의 MACH 파라미터내에 명시된 머신 및 코드 페이지(CODE PAGE) 파라미터내에 식별된 코드 페이지에 부합하는 설명자를 포함한다.
요구자의 환경이 처리될 수 있는 것으로 확인되면, 애플리케이션 관리자(318)는 제5도에 도시된 바와 같은 접속-완료 커맨드를 작성한다. 이 커맨드는 MACH 코드 페이지 파라미터내의 제공 머신의 특성 및 제공 머신이 DBMS 파라미터로 지원하게 되는 시스템 기능 레벨을 나타낸다. 본 발명에서 이 접속 단계는 최초에 요구된 것과 상이한 시스템 레벨에 대한 협상(negotation)을 지원하기 위해 반복될 수도 있는 것으로 간주된다. 다음으로, 접속-완료 응답이 참조 부호(328)을 통해 에이전트(314)로 보내지고 다시 통신 링크(312)를 통해 요구자 에이전트(310)로 보내지므로써 요구 머신(280)으로 복귀된다. 요구자 에이전트(310)는 참조 부호(330)를 통해 접속-완료 커맨드 및 파라미터를 애플리케이션 관리자(306)로 보낸다. 관리자(318)와 유사한 방법으로, 관리자(306)는 사전(342,346)으로부터 서버 머신 및 시스템 특성을 기술하는 시스템 및 머신-레벨 설명자를 액세스한다. 접속이 확립되었음이 확인되고, 접속이 양측에서 머신 및 시스템-레벨 설명자를 획득하면, 처리가 계속된다. 요구자의 애플리케이션 관리자(306)는 애플리케이션 프로그램(300)으로부터의 개방(OPEN) 요구에 대응하는 데이타-요구 커맨드를 작성한다. 이 커맨드는 선택사양적 입력 데이타 설명자 및 입력 데이타를 포함할 수도 있다. 이 커맨드는 참조 부호(308,310,312,314,316)를 통해 서버 애플리케이션 관리자(318)로 보내진다. 애플리케이션 관리자(318)는 "제1요구(first request)"를 인식하여, 존재하는 입력 데이타 설명자를 처리하고 존재하는 입력 데이타를 변환하며, 지역 DBMS(334)로 개방 커맨드(332)를 송출하며, 이것은 SQL 통신 영역(336)의 형식으로 상태(status)를 복귀한다. 다음으로, 관리자(318)는 응답 세트의 포맷(the format of the answer set)을 결정하도록 하는 요구를 참조 부호(332)상으로 송출한다. DBMS는 복귀될 행을 설명하는 SQL 데이타 영역을 형성한다. 이 데이타 영역은 참조 부호(336)를 통해, 데이타용 사용자 데이타 설명자를 작성하는 서버 애플리케이션 관리자(318)에게로 복귀된다. 데이타가 관리자(318)내로 완충되고 버퍼(buffer)내에 공간이 있는 경우, 제공자의 애플리케이션 관리자(318)는 참조 부호(332)를 통해 DBMS(334)로 SQL 페치 요구(FETCH request)를 송출하며, DBMS(334)는 참조 부호(336)상으로 데이타의 제1행을 복귀한다.(이 때 복귀되는 데이타는 제1a 및 제4b도에 도시된 사용자 데이타(20)에 대응한다고 가정한다.) 다음으로, 제공자 애플리케이션 관리자(318)는 이 데이타를 응답버퍼(a reply buffer)내에 위치시키며, 데이타-제공(PROVIDE-DATA) 커맨드를 송출하여 참조 부호(328,314,312,310,330)를 통해 요구자의 애플리케이션 관리자(306)에게로 데이타를 전송한다. 요구되지 않은 경우를 제외하고, 제공자의 애플리케이션 관리자(318)는 다음 데이타-요구(REQUEST-DATA) 커맨드를 예기하여 버퍼를 채우기 앞서 판독할 수도 있는 것으로 간주된다.
제1데이타-제공 커맨드와 함께 데이타를 수신하면, 요구자의 애플리케이션 관리자(306)는 사용자 데이타 설명자를 처리하여 정확성을 확인하고 잇따라 수신된 데이타를 변환하도록 준비한다. 어떠한 에러도 발견되지 않지만, 이 때 애플리케이션 관리자(306)는 개방 커맨드의 결과를 참조 부호(338)상으로 애플리케이션 프로그램(300)에게 되전송한다. 이때부터 요구자의 애플리케이션 관리자(306)는, 요구되지 않은 경우를 제외하고, 페치 요구에 대비하여 제공자의 애프리케이션 관리자(318)로부터 추가의 버퍼를 요구하기에 앞서 판독할 수도 있다.
성공적으로 커서(a cursor)가 개방되면, 애플리케이션 프로그램(300)은 요구자 애플리케이션 관리자(306)에 의해 처리되는 SQL 페치를 송출한다. 이 때에, 요구자의 애플리케이션 관리자(306)는 복귀할 데이타 행을 가지며, 이 데이타를 변환하여 참조 부호(338)를 통해 애플리케이션 프로그램(300)에게로 복귀한다. 이 애플리케이션(300)은 수신된 데이타 및 SQL 통신 영역을 처리하여, 잇따라 참조 부호(304)상으로 다른 페치 커맨드를 송출하여 다른 데이타 행을 획득한다. 요구자의 애플리케이션 관리자(306)가 이러한 요구를 만족시키는 어떠한 데이타도 갖고 있지 않은 경우에는 참조 부호(308,310,312,314,316)을 통해 제공자의 애플리케이션 관리자(318)에게로 다른 데이타-요구 커맨드를 송신한다. 앞서 판독하는 제공자의 애플리케이션 관리자(318)는 데이타의 최종 두 행을 포함하는 버퍼를 갖는다. 이들 행은 데이타-제공 커맨드와 함께 참조부호(328,314,312,310,330)를 통해 요구자의 애플리케이션 관리자(306)에게로 전송된다. 이 때, 애플리케이션 관리자(306)는 이전에 작성된 변환 설명자를 사용하여 버퍼의 제1행을 변환하여 참조 부호(338)을 통해 애플리케이션 프로그램(300)에게 보낸다.
본 실시예를 완료하기 위해, 애플리케이션 프로그램(300)은 참조 부호(304)상으로 다른 SQL 페치 요구를 송출하여 응답 세트의 최종 행을 요구한다. 요구자의 애플리케이션 관리자(306)는 데이타의 이 최종 행을 변환하여 애플리케이션 프로그램에게로 복귀한다.
본 실시예에서, 질의의 종료(end-of-query)는 달성된 결과의 내용으로 애플리케이션에 의해 이해된다. 추가의 페치 요구는, 질의 종료를 표시하는 SQL 통신 영역으로써 요구되며, 이것은 DBMS(334)가 이러한 상태를 애플리케이션 프로그램에게 신호하도록 허락하기 위해 작성된다. 그러나, 이것은 본 발명의 범위내에 놓이지 않으므로 여기서는 논의되지 않는다.
제7도는, 요구 데이타베이스 머신이 중간 데이타베이스 제공자/라우터(server/router)를 통해 제공 데이타 베이스 머신으로부터 데이타를 요구하는 다른 환경에서의 본 발명의 장점을 예시한다. 본 실시예를 위하여, 중간 제공자/라우터 머신은 최초의 요구를 만족시키도록 추가의 데이타베이스 기능을 수행할 필요가 없다. 그러나, 이러한 기능은 본 발명에 의해 배제되는 것은 아니다.
본 실시예의 경우, 요구 머신과 제공자/라우더 머신 사이 및 제공자/라우더 머신과 제공 머신 사이의 접속은(제5도에서 도시된 바와 같이) 이미 형성된 것으로 또한 가정한다.
단계(710)에서, 요구 머신은 데이타 요구를 어셈블하여, (본 실시예의 경우) 입력 데이타 설명자 및 입력 데이타를 포함하는 데이타-요구 커맨드(72)를 송신한다. 단계(730)에서, 제공자/라우터 머신은 이 입력 데이타 설명자 및 입력 데이타와 함께 데이타-요구 커맨드를 수신하며, 제공자/라우터 머신은 이 요구에 대하여 입력 데이타의 어떠한 처리를 해야할 필요가 없고 이 요구는 제공 머신에 의해 처리되어야 한다고 판정한다. 그러므로, 제공자/라우터 머신은 입력 데이타를 어떠한 변환도 하지 않는다. 제공자/라우터 머신은, 액티브 머신 및 시스템 레벨 설명자가 요구 머신에 대응함을 확인한 후, 입력 데이타 설명자 및 입력 데이타와 함께 데이타-요구 커맨드(여전히 요구 머신의 고유 포맷임)를 처리를 위해 제공 머신으로 전송한다.
단계(740)에서, 제공 머신은 데이타-요구 커맨드, 입력 데이타 설명자 및 입력 데이타를 수신하여, 필요하다면 변환 처리를 호출한다.
만약 요구 머신의 고유 포맷이 제공 머신의 고유 포맷과 동일하다면, 비록 중간 제공자/라우더 머신의 고유 포맷이 상이하더라도 입력 데이타의 어떤 변환도 필요없게 됨에 주목하여야 한다. 만약 요구 머신의 고유 포맷이 제공 머신의 고유 포맷과 상이하다면, 비록 중간 제공자/라우터 머신의 포맷이 이들 요구 머신 및 제공 머신으로부터 모두 상이하더라도 변환은 단 한 번 수행됨에 또한 주목하여야 한다.
제공 머신은 사용자 데이타 설명자를 형성하고 사용자 데이타를 획득하기 위하여 지역 DBMS를 액세스한다. 그리고 나서, 이렇게 형성된 사용자 데이타 설명자, SQLCA 및 사용자 데이타(제공 머신의 고유 포맷으로)를 포함하는 데이타-제공 커맨드(750)가 제공자/라우터 머신으로 보내진다.
제공자/라우터 머신은 이 사용자 데이타상에 어떤 처리도 요구되지 않음을 인식하고 있으므로, 이 사용자 데이타에 어떤 변환도 수행하지 않는다. 제공자/라우터(760)는, 액티브 머신 및 시스템 레벨 설명자가 제공머신에 대응함을 확인한 후, 사용자 데이타 설명자 및 사용자 데이타와 함께 데이타-제공 커맨드(여전히 제공 머신의 고유 포맷임)를 요구 머신으로 전송한다.
단계(770)에서, 요구 머신은 사용자 데이타 설명자 및 사용자 데이타와 함께 데이타-제공 커맨드를 수신하여, 필요하다면 변환 처리를 호출하며, 사용자에게 사용자 데이타를 복귀한다.
만약 제공 머신 및 요구 머신의 고유 포맷이 동일하다면, 비록 중간 제공자/라우터 머신의 고유 포맷이 상이하더라도 사용자 데이타의 어떤 변환도 수행되지 않음에 주목해야 한다. 만약 제공 머신 및 요구 머신의 고유 포맷이 상이하다면, 비록 중간 제공자/라우터 머신의 고유 포맷이 이들 제공 머신 및 요구 머신 모두로부터 상이하더라도 사용자 데이타의 변환은 단 한 번 수행됨에 주목해야 한다.
도면중 어디에도 데이타 포맷 변환기는 구성요소로서 도시되지 않았으며, 데이타 포맷 변환은 당분야에 잘 알려져 있는 것으로 이해되어야 한다. 예를 들면, 본 발명의 양수인에게 양도된 미합중국 특허 제4,559,614호는 두개의 상이한 컴퓨터 시스템간에송신되는 데이타에 대해 제1내부 코드 포맷으로부터 제2내부 코드 포맷으로(a first to a second internal code format)의 변환이 달성되는 방법을 상세히 기술한다. 이 특허는 본 명세서에서 필요한만큼 참조로 인용된다.
본 명세서에서는 예시를 목적으로 본 발명의 특정 실시예가 설명되었지만 본 발명의 사상 및 범주로부터 벗어나지 않고 다양한 변형이 이루어질 수도 있음이 분명하다. 따라서, 본 발명의 보호 범위는 다음의 특허청구범위 및 그들의 등가물에 의해서만 제한되어야 한다.
Claims (11)
- 제1데이타 포맷(a first data format)을 갖는 데이타를 포함하는 제1데이타베이스(a first database)를 관리하는 제1데이타베이스 시스템(a first database system)과 제2데이타 포맷(a second data format)을 갖는 데이타를 포함하는 제2데이타베이스(a second database)를 관리하는 제2데이타베이스 시스템(s second database system)을 포함하는 시스템에서, 상기 제1 및 제2데이타베이스 시스템간에 전송되는 데이타를 변환하는 방법에 있어서, 머신 데이타 포맷(machine data format) 및 문자 코드 세트(character code sets)를 설명하는 머신 설명자(machine descriptors)와, 시스템 언어 특성(system language characteristics)을 설명하는 시스템 설명자(system descriptors)의 각각의 세트를 상기 제1데이타베이스 시스템 및 상기 제2데이타베이스 시스템에 저장하는 단계와; 상기 제1데이타베이스 시스템이 실행되는 제1머신(a first maching), 상기 제1머신에 의해 사용되는 문자 코드 및 상기 제1데이타베이스 시스템에 의해 사용되는 시스템 언어를 식별하는 정보를 포함하는 접속 요구(a request for connection)를 상기 제1데이타베이스 시스템으로부터 상기 제2데이타베이스 시스템으로 송신하는 단계와; 상기 접속 요구에 응답하여, 상기 제2데이타베이스 시스템에 저장된 상기 제1머신에 의해 사용되는 머신 데이타 포맷 및 문자 코드를 설명하는 제1머신 설명자 및 상기 제2데이타베이스 시스템에 저장된 상기 제1데이타베이스 시스템에 의해 사용되는 시스템 언어를 설명하는 제1시스템 설명자를 확인하는 단계와; 상기 제2데이타베이스 시스템이 실행하는 제2머신(a second machine), 상기 제2머신에 의해 사용되는 문자 코드 및 상기 제2데이타베이스 시스템에 의해 사용되는 시스템 언어를 식별하는 정보를 포함하는 접속 응답(a connection response)을 상기 제2데이타베이스 시스템으로부터 상기 제1데이타베이스 시스템으로 송신하는 단계와; 상기 접속 응답에 응답하여, 상기 제1데이타베이스 시스템에 저장된 상기 제2머신에 의해 사용되는 머신 데이타 포맷 및 문자 코드를 설명하는 제2머신 설명자 및 상기 제1데이타베이스 시스템에 저장된 상기 제2데이타베이스 시스템에 의해 사용되는 시스템 언어를 설명하는 제2시스템 설명자를 확인하는 단계와; 상기 제1데이타베이스 시스템으로부터 상기 제2데이타베이스 시스템으로 상기 제1데이타 포맷으로 된 데이타를 포함하는 데이타베이스 질의 커맨드(a database query command)를 전송하는 단계와; 상기 제2데이타베이스 시스템에서, 상기 데이타베이스 질의 커맨드내의 데이타를 상기 확인된 제1머신 설명자 및 제1시스템 설명자를 사용하여 상기 제2데이타 포맷으로 변환하는 단계와; 상기 제2데이타베이스 시스템에서, 상기 데이타베이스 질의 커맨드 및 상기 제2데이타 포맷으로 된 데이타에 응답하여 상기 제2데이타베이스로부터 결과 데이타(resulting data)를 획득하는 단계와; 상기 결과 데이타를 변환하지 않고 상기 제1데이타베이스 시스템으로 전송하는 단계와; 상기 제1데이타베이스 시스템에서, 상기 결과 데이타를 상기 제2데이타 포맷으로부터 상기 제1데이타 모새으로 상기 제2머신 설명자 및 상기 제2시스템 설명자를 사용하여 변환하는 단계를 포함하는 이질의 데이타베이스 시스템간에 전송되는 데이타를 변환하는 방법.
- 제1데이타 포맷을 갖는 데이타를 처리하는 프로세서 시스템과 제2데이타 포맷을 갖는 데이타를 포함하는 데이타베이스를 관리하는 데이타베이스 시스템을 포함하는 시스템에서, 상기 프로세서 시스템과 상기 데이타베이스 시스템간에 전송되는 데이타를 변환하는 장치에 있어서, 머신 데이타 포맷을 설명하는 머신 설명자 세트(a set of machine descriptors), 문자 코드 세트(a character code set) 및 시스템 언어 특성을 설명하는 시스템 설명자 세트(a set of system descriptors)를 저장하는 프로세서 시스템 저장장치(processor system storage)와; 머신 데이타 포맷을 설명하는 머신 설명자 세트, 문자 코드 세트 및 시스템 언어 특성을 설명하는 시스템 설명자 세트를 저장하는 데이타베이스 시스템 저장장치(database system storage)와; 통신을 위해 상기 프로세서 시스템과 상기 데이타베이스 시스템을 접속하는 통신 링크(a communication link)와; 상기 프로세서 시스템의 제1머신, 상기 제1머신에 의해 사용되는 문자 코드 및 상기 프로세서 시스템ㄹ에 의해 사용되는 시스템 언어를 식별하는 정보를 포함하는 접속요구를 상기 송신하는 프로세서 시스템으로부터 상기 데이타베이스 시스템으로 송신하는 프로세서 시스템내의 수단과; 상기 접속요구에 응답하여, 상기 데이타베이스 시스템 저장장치내에 저장된, 상기 제1머신에 의해 사용되는 머신 데이타 포맷 및 문자 코드를 설명하는, 제1머신 설명자 및 상기 데이타베이스 시스템 저장장치내에 저장된, 상기 프로세서에 의해 사용되는 시스템 언어를 설명하는, 제1시스템 설명자를 확인하는, 상기 데이타베이스 시스템내의 수단과; 상기 데이타베이스 시스템의 제2머신, 상기 제2머신에 의해 사용되는 문자 코드 및 상기 데이타베이스 시스템에 의해 사용되는 시스템 언어를 식별하는 정보를 포함하는 접속응답을 상기 데이타베이스 시스템으로부터 상기 프로세서 시스템으로 송신하는, 상기 데이타베이스 시스템내의 수단과; 상기 접속 응답에 응답하여, 상기 프로세서 시스템 저장장치내에 저장된, 상기 제2머신에 의해 사용되는 머신 데이타 포맷과 문자 코드를 설명하는, 제2머신 설명자 및 상기 프로세서 시스템 저장장치내에 저장된, 상기 데이타베이스 시스템에 의해 사용되는 시스템 언어를 설명하는, 제2시스템 설명자를 확인하는, 상기 프로세서 시스템내의 수단과; 상기 제1데이타 포맷으로 된 데이타를 포함하는 데이타베이스 질의 커맨드를 상기 프로세서 시스템으로부터 상기 데이타베이스 시스템으로 송신하는 상기 프로세서 시스템내의 수단과; 상기 확인된 제1머신 설명자 및 제1시스템 설명자를 사용하여 상기 데이타베이스 질의 커맨드를 상기 제2데이타 포맷으로 변환하고, 상기 변환된 데이타베이스 질의 커맨드에 응답하여 상기 데이타베이스로부터 상기 제2포맷으로 된 결과 데이타를 획득하여 변환하지 않고 상기 프로세서 시스템으로 전송하기 위한, 상기 데이타베이스 시스템내의 수단과; 상기 확인된 제2머신 설명자 및 상기 제2시스템 설명자를 사용하여 상기 결과 데이타를 상기 제2데이타 포맷으로부터 상기 제1데이타 포맷으로 변환하는 상기 프로세서 시스템내의 수단을 포함하는 프로세서 시스템과 데이타베이스 시스템간에 전송되는 데이타를 변환하는 장치.
- 제2항에 있어서, 상기 프로세서 시스템과 상기 데이타베이스 시스템간의 통신 링크내에 접속된 라우터 머신(a router machine)을 더 포함하되, 상기 라우터 머신은, 상기 데이타베이스 질의 커맨드를 수신하는 수단과, 상기 데이타베이스 질의 커맨드내의 데이타가 상기 라우터 머신에서는 변환될 필요가 없음을 판정하는 수단과, 상기 데이타베이스 질의 커맨드내의 데이타를 변환하지 않고 상기 데이타베이스 질의 커맨드를 상기 데이타베이스 시스템으로 전송하는 수단을 포함하는 프로세서 시스템과 데이타베이스 시스템간에 전송되는 데이타를 변환하는 장치.
- 제1항에 있어서, 상기 시스템은 상기 제1데이타베이스 시스템과 상기 제2데이타베이스 시스템간에 접속된 제1데이타베이스 시스템 유닛(a first database system unit)을 더 포함하고, 상기 데이타베이스 질의 커맨드를 송신하는 단계는 상기 제1데이타베이스 시스템 유닛에서 상기 데이타베이스 질의 커맨드를 수신하는 단계 및, 상기 데이타베이스 질의 커맨드내의 데이타를 상기 제1데이타베이스 시스템 유닛에 고유한 데이타 포맷으로 변환하지 않고 상기 제1데이타베이스 시스템 유닛으로부터 상기 제2데이타베이스 시스템으로 상기 데이타베이스 질의 커맨드를 송신하는 단계를 포함하는 이질의 데이타베이스 시스템간에 전송되는 데이타를 변환하는 방법.
- 제4항에 있어서, 상기 시스템은 상기 제1데이타베이스 시스템과 상기 제2데이타베이스 시스템간에 접속된 제2데이타베이스 시스템 유닛(a second database system unit)을 더 포함하고, 상기 결과 데이타를 전송하는 단계는, 상기 제2데이타베이스 시스템 유닛에서 상기 결과 데이타를 수신하는 단계 및, 상기 제2데이타베이스 시스템 유닛에서 상기 결과 데이타의 데이타 포맷을 변환하지 않고 상기 제2데이타베이스 시스템 유닛으로부터 상기 제1데이타베이스 시스템으로 전송하는 단계를 포함하는 이질의 데이타베이스 시스템간에 전송되는 데이타를 변환하는 방법.
- 제1항에 있어서, 상기 제1데이타베이스 시스템은 데이타베이스 관리 시스템의 제1버전이고 상기 제2데이타베이스 시스템은 상기 데이타베이스 관리 시스템의 제2버전이며, 상기 제1 및 제2버전은 동일하지 않은, 이질의 데이타베이스 시스템간에 전송되는 데이타를 변환하는 방법.
- 제1항에 있어서, 상기 제1데이타베이스 시스템은 데이타를 제1내부 포맷(a first internal format)으로 나타내는 제1디지탈 컴퓨터(a first digital computer)상에서 실행하며, 상기 제2데이타베이스 시스템은 데이타를 제2내부 포맷으로 나타내는 제2디지탈 컴퓨터상에서 실행하며, 상기 제1 및 제2내부 포맷은 동일하지 않은 이질의 데이타베이스 시스템간에 전송되는 데이타를 변환하는 방법.
- 각각의 디지탈 컴퓨터내에서 제각기 실행되는 다수의 데이타베이스 관리자(a plurality of database managers)를 포함하는 분산 데이타베이스 시스템(a distributed database system)에서, 상기 다수의 데이타베이스 관리자간에 전송되는 데이타의 변환을 최소화하는 방법에 있어서, 머신 데이타 포맷 및 문자 코드세트를 설명하는 머신 설명자와, 시스템 언어 특성을 설명하는 시스템 설명자의 각각의 세트를 제1데이타베이스 관리자 및 제2데이타베이스 관리자에 제각기 저장하는 단계와; 상기 제1데이타베이스 관리자의 제1머신, 상기 제1머신에 의해 사용되는 문자 코드 및 상기 제1데이타베이스 관리자에 의해 사용되는 시스템 언어를 식별하는 정보를 포함하는 접속요구를 상기 제1데이타베이스 관리자로부터 상기 제2데이타베이스 관리자자로 송신하는 단계와; 상기 접속 요구에 응답하여, 상기 제2데이타베이스 관리자에 저장된 제1머신 설명자 및 제1시스템 설명자를 확인하는 단계로서, 상기 제1머신 설명자는 상기 제1머신에 의해 사용되는 머신 데이타 포맷 및 문자 코드를 설명하고, 상기 제1시스템 설명자는 상기 제1데이타베이스 관리자에 의해 사용되는 시스템 언어를 설명하는, 상기 확인하는 단계와; 상기 제2데이타베이스 관리자가 실행되는 제2머신, 상기 제2머신에 의해 사용되는 문자 코드 및 상기 제2데이타베이스 관리자에 의해 사용되는 시스템 언어를 식별하는 정보를 포함하는 접속응답을 상기 제2데이타베이스 관리자로부터 상기 제1데이타베이스 관리자로 전송하는 단계와; 상기 접속 응답에 응답하여, 상기 제1데이타베이스 관리자에 저장된 제2머신 설명자 및 제2시스템 설명자를 확인하는 단계로서, 상기 제2머신 설명자는 상기 제2머신에 의해 사용되는 머신 데이타 포맷 및 문자 코드를 설명하고, 상기 제2시스템 설명자는 상기 제2데이타베이스 관리자에 의해 사용되는 시스템 언어를 설명하는, 상기 확인하는 단계와; 상기 제1데이타베이스 관리자에 의해 사용되는 제1데이타포맷을 갖는 입력 데이타(input data)를 포함하는 데이타베이스 질의 커맨드를, 상기 제1데이타베이스 관리자로부터 상기 제2데이타베이스 관리자로, 전송하는 단계와; 상기 제2데이타베이스 관리자에서, 상기 제2데이타베이스 관리자가 상기 제1데이타베이스 관리자에 의해 사용되는 제1데이타 포맷과 동일하지 않은 데이타 포맷을 사용하는 경우, 상기 확인된 제1머신 설명자 및 제1시스템 설명자를 사용하여 상기 입력 데이타를 상기 제1데이타 포맷으로부터 상기 제2데이타베이스 관리자에 의해 사용되는 제2데이타 포맷으로 변환하고, 그렇지 않은 경우에는 상기 입력 데이타를 상기 제1데이타 포맷으로 유지하는 단계와; 상기 제2데이타 베이스 관리자에서, 상기 제2데이타베이스 관리자에 의해 사용되는 데이타 포맷으로 데이타베이스로부터 결과 데이타를 획득하는 단계와; 상기 제2데이타베이스 관리자에 의해 사용되는 데이타 포맷의 상기 결과 데이타를 상기 제1데이타베이스 관리자로 송신하는 단계와; 상기 제1데이타베이스 관리자에서, 상기 제1데이타베이스 관리자에 의해 사용되는 데이타 포맷이 상기 제2데이타베이스 관리자에 의해 사용되는 데이타 포맷과 동일하지 않은 경우, 상기 확인된 제2머신 설명자 및 제2시스템 설명자를 사용하여 상기 결과 데이타를 상기 제1데이타베이스 관리자에 의해 사용되는 제1데이타 포맷으로 변환하는 단계를 포함하는 다수의 데이타베이스 관리자간에 전송되는 데이타의 변환을 최소화하는 방법.
- 사용자 데이타베이스 관리자(a user database manager)가 제1데이타베이스를 제어하고 서버 데이타베이스 관리자(a server database manager)가 제2데이타베이스를 제어하는 시스템에서, 상기 사용자 데이타베이스 관리자와 서버 데이타베이스 관리자간에 전송되는 데이타의 변환을 최소화하는 방법에 있어서, 머신 데이타 포맷 및 문자 코드 세트를 설명하는 머신 설명자와, 시스템 언어 특성을 설명하는 시스템 설명자의 각각의 세트를 상기 사용자 데이타베이스 관리자 및 상기 서버 데이타베이스 관리자에 저장하는 단계와; 상기 사용자 데이타베이스 관리자의 제1머신, 상기 제1머신에 의해 사용되는 문자 코드 및 상기 사용자 데이타베이스 관리자에 의해 사용되는 시스템 언어를 식별하는 정보를 포함하는 접속요구를 상기 사용자 데이타베이스 관리자로부터 상기 서버 데이타베이스 관리자로 전송하는 단계와; 상기 접속 요구에 응답하여, 상기 서버 데이타베이스 관리자에 저장된 제1머신 설명자 및 제1시스템 설명자를 확인하는 단계로서, 상기 제1머신 설명자는 상기 제1머신에 의해 사용되는 머신 데이타 포맷 및 문자 코드를 설명하고, 상기 제1시스템 설명자는 상기 사용자 데이타베이스 시스템에 의해 사용되는 시스템 언어를 설명하는, 상기 확인하는 단계와; 상기 서버 데이타베이스 관리자의 제2머신, 상기 제2머신에 의해 사용되는 문자 코드 및 상기 서버 데이타베이스 관리자에 의해 사용되는 시스템 언어를 식별하는 정보를 포함하는 접속응답을 상기 서버 데이타베이스 관리자로부터 상기 사용자 데이타베이스 관리자로 전송하는 단계와; 상기 접속 응답에 응답하여, 상기 사용자 데이타베이스 관리자에 저장된 제2머신 설명자 및 제2시스템 설명자를 확인하는 단계로서, 상기 제2머신 설명자는 상기 제2머신에 의해 사용되는 머신 데이타 포맷 및 문자 코드를 설명하고, 상기 제2시스템 설명자는 상기 서버 데이타베이스 관리자에 의해 사용되는 시스템 언어를 설명하는, 상기 확인하는 단계와; 상기 사용자 데이타베이스 관리자에 고유한 데이타 포맷을 갖는 입력 데이타를 포함하는 커맨드를, 상기 사용자 데이타베이스 관리자로부터 상기 서버 데이타베이스 관리자로, 전송하는 단계와; 상기 서버 데이타베이스 관리자에서, 상기 확인된 제1머신 설명자 및 제1시스템 설명자를 사용하여 상기 입력 데이타를 상기 사용자 데이타베이스 관리자에 고유한 데이타 포맷으로부터 상기 서버 데이타베이스 관리자에 고유한 데이타 포맷으로 변환하는 단계와; 상기 서버 데이타베이스 관리자에서, 상기 입력 데이타를 변환한 후 상기 입력 데이타를 처리하므로써 상기 커맨드를 실행하는 단계와; 상기 커맨드의 실행에 응답하여, 상기 제2데이타베이스로부터 결과 데이터를 획득하는 단계로서, 상기 결과 데이타는 상기 서버 데이타베이스 관리자에 고유한 데이타 포맷을 갖는 상기 획득하는 단계와; 상기 서버 데이타베이스 관리자에 고유한 데이타 포맷의 상기 결과 데이타를 상기 사용자 데이타베이스 관리자로 송신하는 단계와; 상기 사용자 데이타베이스 관리자에서, 상기 확인된 제2머신 설명자 및 제2시스템 설명자를 사용하여 상기 결과 데이타를, 상기 서버 데이타베이스 관리자에 고유한 데이타 포맷으로부터 상기 사용자 데이타베이스 관리자에 고유한 데이타 포맷으로, 변환하는 단계를 포함하는 사용자 데이타베이스 관리자와 서버 데이타베이스 관리자간에 전송되는 데이타 변환을 최소화하는 방법.
- 제각기 상이한 머신 환경(different machine environments) 및 데이타 포맷(data formats)을 갖는, 제1데이타베이스 시스템 및 제2데이타베이스 시스템을 포함하는 다중-데이타베이스(multi-database) 시스템에서, 상기 제1 및 제2데이타베이스 시스템간에 교환되는 머신 환경 및 데이타 포맷을 기술하는(describing) 방법에 있어서, 상기 제1 및 제2데이타베이스 시스템간에 통신 링크(a communication link)를 확립하는(establishing) 단계와; 상기 통신 링크상으로, 상기 제1데이타베이스 시스템으로부터 상기 제2데이타베이스 시스템으로, 상기 제1데이타베이스 시스템의 머신 환경의 설명(a description)을 전송(communicating)하고, 상기 제2데이타베이스 시스템으로부터 상기 제1데이타베이스 시스템으로 상기 제2데이타베이스 시스템의 머신 환경의 설명을 전송하는 단계와; 상기 머신 환경의 설명을 재전송하지 않고, 상기 제1데이타베이스 시스템으로부터 상기 제2데이타베이스 시스템으로 적어도 두개의 데이타베이스 액세스요구(at least two database access requests)를 송신하는 단계와; 상기 적어도 두개의 데이타베이스 액세스 요구중 첫번째 요구에 응답하여, 상기 제1데이타베이스 시스템의 머신 환경의 설명을 송신하지 않고 상기 제2데이타베이스 시스템으로부터 상기 제1데이타베이스 시스템으로 상기 제2데이타베이스 시스템에 고유한 데이타 포맷의 사용자 데이타(user data) 및 상기 데이타 포맷의 설명을 전송하는 단계와; 상기 첫번째 데이타베이스 액세스 요구에 후속하는 각각의 데이타베이스 액세스 요구에 응답하여, 상기 머신 환경 또는 상기 데이타 포맷의 설명을 송신하지 않고, 상기 제2데이타베이스 시스템으로부터 상기 제1데이타베이스 시스템으로, 상기 제2데이타베이스 시스템에 고유한 데이타 포맷의 사용자 데이타를 전송하는 단계를 포함하여, 상기 제2데이타베이스 시스템에 고유한 포맷의 사용자 데이타가, 상기 제1데이타베이스 시스템에 의해, 상기 제2데이타베이스 시스템의 머신 환경의 설명 및 포맷의 설명을 사용하여 상기 제1데이타베이스 시스템에 고유한 포맷으로 변환되는 이질의 관계 데이타베이스 관리 시스템간에 교환되는 머신 환경 및 데이타 포맷 기술 방법.
- 제10항에 있어서, 상기 제2데이타베이스 시스템에 고유한 데이타 포맷의 설명 및 상기 제2데이타베이스 시스템의 머신 환경의 설명에 응답하여, 상기 제1데이타베이스 시스템에서 상기 사용자 데이타를 상기 제1데이타베이스 시스템에 고유한 포맷으로 변환하는 단계를 더 포함하는 이질의 관계 데이타베이스 관리 시스템간에 교환되는 데이타에 대한 머신 환경 및 데이타 포맷 기술 방법.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US50003190A | 1990-03-27 | 1990-03-27 | |
US500,031 | 1990-03-27 |
Publications (2)
Publication Number | Publication Date |
---|---|
KR910017272A KR910017272A (ko) | 1991-11-05 |
KR960016882B1 true KR960016882B1 (ko) | 1996-12-26 |
Family
ID=23987748
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1019910003174A KR960016882B1 (ko) | 1990-03-27 | 1991-02-27 | 이질의 데이타베이스 시스템간에 전송되는 데이타 변환 방법 및 장치와 다수의 데이타베이스 관리자간에 전송되는 데이타 변환을 최소화하는 방법 |
Country Status (9)
Country | Link |
---|---|
US (2) | US5416917A (ko) |
EP (1) | EP0449494B1 (ko) |
JP (1) | JP2680201B2 (ko) |
KR (1) | KR960016882B1 (ko) |
BR (1) | BR9101161A (ko) |
CA (1) | CA2034905C (ko) |
DE (1) | DE69131543T2 (ko) |
ES (1) | ES2135387T3 (ko) |
TW (1) | TW226047B (ko) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017040103A1 (en) * | 2015-08-28 | 2017-03-09 | Honeywell International Inc. | Converting data sets in a shared communication environment |
Families Citing this family (200)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5873088A (en) * | 1990-08-31 | 1999-02-16 | Fujitsu Limited | Derived data base processing system enabling one program to access a plurality of data basis |
JPH0619771A (ja) * | 1992-04-20 | 1994-01-28 | Internatl Business Mach Corp <Ibm> | 異種のクライアントによる共用ファイルのファイル管理機構 |
CA2098461A1 (en) * | 1992-06-17 | 1993-12-18 | Antony S. Williams | Method and system for registering data formats for objects |
JP3261201B2 (ja) * | 1993-04-09 | 2002-02-25 | 富士通株式会社 | 点数管理システム |
US20070038540A1 (en) * | 1993-04-09 | 2007-02-15 | Fujitsu Limited | Service point management system for use in sales promotion services |
US6965869B1 (en) * | 1993-04-09 | 2005-11-15 | Fujitsu Limited | Service point management system for use in sales promotion services |
US5680618A (en) * | 1993-05-26 | 1997-10-21 | Borland International, Inc. | Driver query and substitution for format independent native data access |
US5493671A (en) * | 1993-06-04 | 1996-02-20 | Marcam Corporation | Method and apparatus for conversion of database data into a different format on a field by field basis using a table of conversion procedures |
JP3670303B2 (ja) * | 1993-09-01 | 2005-07-13 | 富士通株式会社 | データ変換方法及びデータ変換装置 |
US5600833A (en) * | 1993-09-17 | 1997-02-04 | Digital Equipment Corp. | Attribute portion based document retrieval system with system query language interface |
US6012072A (en) * | 1993-09-17 | 2000-01-04 | Digital Equipment Corporation | Display apparatus for the display of documents in a three-dimensional workspace |
US5619682A (en) * | 1993-09-28 | 1997-04-08 | Bull Hn Information Systems Inc. | Executing network layered communications of a first system on a second system using a communication bridge transparent to the different communication layers |
US5721904A (en) * | 1993-12-20 | 1998-02-24 | Hitachi, Ltd. | Database access system and method of controlling access management to a database access system for a plurality of heterogeneous database servers using SQL |
US5909570A (en) * | 1993-12-28 | 1999-06-01 | Webber; David R. R. | Template mapping system for data translation |
US5781743A (en) * | 1994-02-18 | 1998-07-14 | Hitachi, Ltd. | System and method for distributed data processing using different server system specifications |
US6141663A (en) * | 1994-03-18 | 2000-10-31 | Unimax Systems Corporation | Automatic external data synchronization method |
US5555498A (en) * | 1994-03-18 | 1996-09-10 | Chrysler Corporation | Circuit and method for interfacing vehicle controller and diagnostic test instrument |
CA2186347C (en) * | 1994-04-01 | 2003-07-29 | Ulf Mikael Ronstrom | Mobility in telecommunication networks |
US5794053A (en) * | 1994-05-18 | 1998-08-11 | Bell Communications Research, Inc. | Method and system for dynamic interface contract creation |
US6381595B1 (en) * | 1994-09-29 | 2002-04-30 | International Business Machines Corporation | System and method for compensation of functional differences between heterogeneous database management systems |
US5764949A (en) * | 1994-09-29 | 1998-06-09 | International Business Machines Corporation | Query pass through in a heterogeneous, distributed database environment |
JP2816313B2 (ja) * | 1994-11-14 | 1998-10-27 | 富士重工業株式会社 | 故障診断装置 |
JP3042341B2 (ja) * | 1994-11-30 | 2000-05-15 | 日本電気株式会社 | クラスタ結合型マルチプロセッサシステムにおけるローカル入出力制御方法 |
EP1463264A3 (en) * | 1994-12-01 | 2005-11-23 | Sharp Kabushiki Kaisha | Communication equipment |
US5608874A (en) * | 1994-12-02 | 1997-03-04 | Autoentry Online, Inc. | System and method for automatic data file format translation and transmission having advanced features |
US5715397A (en) * | 1994-12-02 | 1998-02-03 | Autoentry Online, Inc. | System and method for data transfer and processing having intelligent selection of processing routing and advanced routing features |
US5701461A (en) * | 1995-01-27 | 1997-12-23 | Microsoft Corporation | Method and system for accessing a remote database using pass-through queries |
US5740421A (en) * | 1995-04-03 | 1998-04-14 | Dtl Data Technologies Ltd. | Associative search method for heterogeneous databases with an integration mechanism configured to combine schema-free data models such as a hyperbase |
US5819264A (en) * | 1995-04-03 | 1998-10-06 | Dtl Data Technologies Ltd. | Associative search method with navigation for heterogeneous databases including an integration mechanism configured to combine schema-free data models such as a hyperbase |
FI100497B (fi) * | 1995-04-13 | 1997-12-15 | Nokia Telecommunications Oy | Mukautuva käyttöliittymä |
GB2293036B (en) * | 1995-09-08 | 1996-09-04 | Omnimedia Plc | System for providing information in compatible formats |
DE19535306A1 (de) * | 1995-09-22 | 1997-03-27 | Siemens Ag | Verfahren zum Konvertieren sich unterscheidender Datenformate |
DE19536649A1 (de) * | 1995-09-30 | 1997-04-03 | Sel Alcatel Ag | Verfahren zur Kopplung von Datenbearbeitungseinheiten, Verfahren zum Steuern einer Vermittlungsstelle, Datenbearbeitungseinheit, Steuerung und Vermittlungsstelle |
US5838750A (en) * | 1995-10-31 | 1998-11-17 | Otis Elevator Company | Binary data electronic communication system |
AU1122997A (en) | 1995-11-07 | 1997-06-11 | Cadis, Inc. | Search engine for remote object oriented database management system |
US6122642A (en) * | 1996-01-18 | 2000-09-19 | Sabre Inc. | System for propagating, retrieving and using transaction processing facility airline computerized reservation system data on a relational database processing platform |
US6714945B1 (en) | 1995-11-17 | 2004-03-30 | Sabre Inc. | System, method, and article of manufacture for propagating transaction processing facility based data and for providing the propagated data to a variety of clients |
US5754844A (en) * | 1995-12-14 | 1998-05-19 | Sun Microsystems, Inc. | Method and system for accessing chunks of data using matching of an access tab and hashing code to generate a suggested storage location |
NL1001955C2 (nl) * | 1995-12-21 | 1997-06-24 | Bernard Munnik | Werkwijze voor het communiceren van gegevens tussen verschillend gestructureerde gegevensbestanden. |
US6625617B2 (en) | 1996-01-02 | 2003-09-23 | Timeline, Inc. | Modularized data retrieval method and apparatus with multiple source capability |
US6631382B1 (en) | 1996-01-02 | 2003-10-07 | Timeline, Inc. | Data retrieval method and apparatus with multiple source capability |
US5878419A (en) * | 1996-01-19 | 1999-03-02 | Novell, Inc. | Method for creating a relational description of a formatted transaction |
SE509645C2 (sv) * | 1996-02-08 | 1999-02-15 | Ericsson Telefon Ab L M | En metod för att samtidigt med protokollbaserad funktionsändring i en databas utföra verifiering av konverterad data |
WO1997036250A1 (de) * | 1996-03-25 | 1997-10-02 | Rolf Wadewitz | Verfahren zur datenkonvertierung |
US6003007A (en) * | 1996-03-28 | 1999-12-14 | Dirienzo; Andrew L. | Attachment integrated claims system and operating method therefor |
US9619841B2 (en) | 1996-03-28 | 2017-04-11 | Integrated Claims Systems, Llc | Systems to assist in the creation, transmission, and processing of health insurance claims |
US5913214A (en) | 1996-05-30 | 1999-06-15 | Massachusetts Inst Technology | Data extraction from world wide web pages |
US5953716A (en) * | 1996-05-30 | 1999-09-14 | Massachusetts Inst Technology | Querying heterogeneous data sources distributed over a network using context interchange |
US5884310A (en) * | 1996-06-14 | 1999-03-16 | Electronic Data Systems Corporation | Distributed data integration method and system |
US5768589A (en) * | 1996-07-12 | 1998-06-16 | Oracle Corporation | Method and apparatus for executing stored procedures in a foreign database management system |
US5857194A (en) * | 1996-11-07 | 1999-01-05 | General Electric Company | Automatic transmission of legacy system data |
US5835908A (en) * | 1996-11-19 | 1998-11-10 | Microsoft Corporation | Processing multiple database transactions in the same process to reduce process overhead and redundant retrieval from database servers |
JP2001511923A (ja) * | 1997-02-07 | 2001-08-14 | ニューフレーム・コーポレーション・リミテッド | 異種コンピュータ・システムにおいてデータを共用する方法およびデータ共用を有するコンピュータ・システム |
US7046682B2 (en) * | 1997-02-12 | 2006-05-16 | Elster Electricity, Llc. | Network-enabled, extensible metering system |
US6240186B1 (en) | 1997-03-31 | 2001-05-29 | Sun Microsystems, Inc. | Simultaneous bi-directional translation and sending of EDI service order data |
US6724896B1 (en) * | 1997-03-31 | 2004-04-20 | Sun Microsystems, Inc. | Event-driven servers for data extraction and merge for EDI transaction processing using the internet |
US6240441B1 (en) | 1997-03-31 | 2001-05-29 | Sun Microsystems, Inc. | Secure event-driven EDI transaction processing using the internet |
KR100204917B1 (ko) * | 1997-05-17 | 1999-06-15 | 윤종용 | 디지탈 무선 이동 통신을 위한 에이치엘알 시스템의 데이타베이스 변경을 위한 방법 |
US6226649B1 (en) | 1997-06-23 | 2001-05-01 | Oracle Corporation | Apparatus and method for transparent access of foreign databases in a heterogeneous database system |
US6041344A (en) * | 1997-06-23 | 2000-03-21 | Oracle Corporation | Apparatus and method for passing statements to foreign databases by using a virtual package |
US5987463A (en) * | 1997-06-23 | 1999-11-16 | Oracle Corporation | Apparatus and method for calling external routines in a database system |
US6049800A (en) * | 1997-06-23 | 2000-04-11 | Oracle Corporation | Mechanism and method for performing callbacks |
US6236997B1 (en) | 1997-06-23 | 2001-05-22 | Oracle Corporation | Apparatus and method for accessing foreign databases in a heterogeneous database system |
US6016499A (en) * | 1997-07-21 | 2000-01-18 | Novell, Inc. | System and method for accessing a directory services respository |
SE521056C2 (sv) * | 1997-07-21 | 2003-09-23 | Ericsson Telefon Ab L M | Metod för genomförande av schemaförändringar i en databas |
US6055363A (en) * | 1997-07-22 | 2000-04-25 | International Business Machines Corporation | Managing multiple versions of multiple subsystems in a distributed computing environment |
US5956515A (en) * | 1997-07-22 | 1999-09-21 | International Business Machines Corporation | Method for managing multiple versions of multiple subsystems in a distributed computing environment |
US5995974A (en) | 1997-08-27 | 1999-11-30 | Informix Software, Inc. | Database server for handling a plurality of user defined routines (UDRs) expressed in a plurality of computer languages |
US6009428A (en) * | 1997-09-15 | 1999-12-28 | International Business Machines Corporation | System and method for providing a single application program interface for heterogeneous databases |
US6708189B1 (en) * | 1997-09-30 | 2004-03-16 | Desknet, Inc. | Computer file transfer system |
US6134544A (en) * | 1997-11-21 | 2000-10-17 | Telefonaktiebolaget Lm Ericsson (Publ) | Query supporting interface between a customer administrative system and database network elements in a telecommunications system |
US6009422A (en) * | 1997-11-26 | 1999-12-28 | International Business Machines Corporation | System and method for query translation/semantic translation using generalized query language |
US5940845A (en) * | 1997-12-05 | 1999-08-17 | International Business Machines Corporation | System for accessing databases with different character sets |
US6085266A (en) * | 1997-12-12 | 2000-07-04 | Unisys Corporation | System for unwrapping a single file from a compact disk for utilization by various computer platforms |
US6088747A (en) * | 1998-02-20 | 2000-07-11 | Unisys Corp | System for reformatting and burning of data files having a first format onto a compact disk to be utilized in a network using different format |
US6128628A (en) * | 1998-02-27 | 2000-10-03 | Mci Communication Corporation | Meta data processing for converting performance data into a generic format |
DE19808679C1 (de) * | 1998-03-02 | 1999-07-08 | Karl Hehl | Verfahren zur Konvertierung von Einstelldaten |
JP2002507018A (ja) * | 1998-03-12 | 2002-03-05 | ヌーチー ソリューションズ インコーポレイテッド | クライアント定義による規則で動作するシステム |
US6016501A (en) * | 1998-03-18 | 2000-01-18 | Bmc Software | Enterprise data movement system and method which performs data load and changed data propagation operations |
US6029178A (en) * | 1998-03-18 | 2000-02-22 | Bmc Software | Enterprise data movement system and method which maintains and compares edition levels for consistency of replicated data |
US6035307A (en) * | 1998-03-30 | 2000-03-07 | Bmc Software | Enterprise data movement system and method including opportunistic performance of utilities and data move operations for improved efficiency |
US6233586B1 (en) | 1998-04-01 | 2001-05-15 | International Business Machines Corp. | Federated searching of heterogeneous datastores using a federated query object |
US6272488B1 (en) | 1998-04-01 | 2001-08-07 | International Business Machines Corporation | Managing results of federated searches across heterogeneous datastores with a federated collection object |
US6263342B1 (en) | 1998-04-01 | 2001-07-17 | International Business Machines Corp. | Federated searching of heterogeneous datastores using a federated datastore object |
US6151608A (en) * | 1998-04-07 | 2000-11-21 | Crystallize, Inc. | Method and system for migrating data |
US6336114B1 (en) | 1998-09-03 | 2002-01-01 | Westcorp Software Systems, Inc. | System and method for restricting access to a data table within a database |
US6275939B1 (en) | 1998-06-25 | 2001-08-14 | Westcorp Software Systems, Inc. | System and method for securely accessing a database from a remote location |
US6385730B2 (en) | 1998-09-03 | 2002-05-07 | Fiware, Inc. | System and method for restricting unauthorized access to a database |
US6530044B1 (en) * | 1998-08-31 | 2003-03-04 | Scott A. Beeker | System and disassembling test data and method |
KR100420254B1 (ko) * | 1998-09-03 | 2004-05-31 | 엘지전자 주식회사 | 데이터베이스관리방법 |
US6700902B1 (en) | 1998-10-19 | 2004-03-02 | Elster Electricity, Llc | Method and system for improving wireless data packet delivery |
US6381616B1 (en) * | 1999-03-24 | 2002-04-30 | Microsoft Corporation | System and method for speeding up heterogeneous data access using predicate conversion |
US7039639B2 (en) * | 1999-03-31 | 2006-05-02 | International Business Machines Corporation | Optimization of system performance based on communication relationship |
US7058517B1 (en) | 1999-06-25 | 2006-06-06 | Genaissance Pharmaceuticals, Inc. | Methods for obtaining and using haplotype data |
US6944762B1 (en) | 1999-09-03 | 2005-09-13 | Harbor Payments Corporation | System and method for encrypting data messages |
US6674767B1 (en) * | 1999-10-04 | 2004-01-06 | Microsoft Corporation | Flexible system and method for communicating between a broad range of networks and devices |
US6526340B1 (en) | 1999-12-21 | 2003-02-25 | Spx Corporation | Multi-vehicle communication interface |
US7050892B1 (en) | 1999-12-21 | 2006-05-23 | Spx Corporation | Diagnostic tool security key |
US6236917B1 (en) | 1999-12-21 | 2001-05-22 | Spx Corporation | Open architecture diagnostic tool |
US6473765B1 (en) | 1999-12-23 | 2002-10-29 | Ncr Corporation | Matching/merging two data warehouse physical data models |
US6662087B1 (en) | 2000-01-03 | 2003-12-09 | Spx Corporation | Backward compatible diagnostic tool |
JP4010516B2 (ja) * | 2000-01-27 | 2007-11-21 | 株式会社日立製作所 | 変換規則導出システム |
US6574637B1 (en) * | 2000-02-23 | 2003-06-03 | Orillion International, Inc. | Browser oriented method of viewing database structures |
US6691309B1 (en) * | 2000-02-25 | 2004-02-10 | International Business Machines Corporation | Long term archiving of digital information |
US6601072B1 (en) * | 2000-06-21 | 2003-07-29 | International Business Machines Corporation | Method and system for distribution of application data to distributed databases of dissimilar formats |
US6931326B1 (en) | 2000-06-26 | 2005-08-16 | Genaissance Pharmaceuticals, Inc. | Methods for obtaining and using haplotype data |
AU2001272371A1 (en) * | 2000-07-11 | 2002-01-21 | Columbus It Partner Consulting A/S | Database conversion or integration |
EP1172735A1 (en) * | 2000-07-11 | 2002-01-16 | Columbus IT Partner Consulting A/S | Database conversion or integration |
US7152058B2 (en) * | 2000-07-13 | 2006-12-19 | Biap Systems, Inc. | Apparatus for and method of selectively retrieving information and enabling its subsequent display |
US7313588B1 (en) | 2000-07-13 | 2007-12-25 | Biap Systems, Inc. | Locally executing software agent for retrieving remote content and method for creation and use of the agent |
US7613790B2 (en) * | 2000-07-13 | 2009-11-03 | Biap Systems, Inc. | Apparatus for and method of executing customized interactive computing services in a broadband network environment |
JP3794252B2 (ja) * | 2000-07-26 | 2006-07-05 | 東芝機械株式会社 | 電動式射出成形機および電動式射出成形機の射出制御方法 |
US6728722B1 (en) | 2000-08-28 | 2004-04-27 | Sun Microsystems, Inc. | General data structure for describing logical data spaces |
US6865579B1 (en) | 2000-08-28 | 2005-03-08 | Sun Microsystems, Inc. | Simplified thread control block design |
US7089096B2 (en) * | 2000-10-17 | 2006-08-08 | Spx Corporation | Apparatus and method for displaying diagnostic values |
US6640166B2 (en) * | 2000-10-17 | 2003-10-28 | Spx Corporation | Diagnostic tool graphical display apparatus and method |
US6874680B1 (en) | 2000-10-17 | 2005-04-05 | Spx Corporation | Remote updating method and apparatus |
US7620665B1 (en) | 2000-11-21 | 2009-11-17 | International Business Machines Corporation | Method and system for a generic metadata-based mechanism to migrate relational data between databases |
US7853553B2 (en) * | 2001-03-26 | 2010-12-14 | Siebel Systems, Inc. | Engine for converting data from a source format to a destination format using user defined mappings |
US7062551B2 (en) * | 2001-05-24 | 2006-06-13 | International Business Machines Corporation | Method and apparatus to solve compatibility between heterogeneous web server access logs formats |
DE10140519B4 (de) * | 2001-08-17 | 2004-07-22 | Daimlerchrysler Ag | Kommunikationsverfahren und Kommunikationsmodul |
US6915287B1 (en) | 2001-12-13 | 2005-07-05 | Novell, Inc. | System, method and computer program product for migrating data from one database to another database |
US7139766B2 (en) * | 2001-12-17 | 2006-11-21 | Business Objects, S.A. | Universal drill-down system for coordinated presentation of items in different databases |
US20030158944A1 (en) * | 2002-02-19 | 2003-08-21 | International Business Machines Corporation | Software control in a business transaction environment |
US6912539B1 (en) * | 2002-03-29 | 2005-06-28 | Serena Software, Inc. | Method and apparatus for verifying converted database commands |
US7178153B1 (en) | 2002-05-10 | 2007-02-13 | Oracle International Corporation | Method and mechanism for implementing an access interface infrastructure |
US7119713B2 (en) * | 2002-06-27 | 2006-10-10 | Elster Electricity, Llc | Dynamic self-configuring metering network |
US20040054626A1 (en) * | 2002-09-17 | 2004-03-18 | Adn Technologies | Device for processing local accounts data with different formats, equipment and a method for treating associated data |
US7925246B2 (en) | 2002-12-11 | 2011-04-12 | Leader Technologies, Inc. | Radio/telephony interoperability system |
US8195714B2 (en) | 2002-12-11 | 2012-06-05 | Leaper Technologies, Inc. | Context instantiated application protocol |
US20040117793A1 (en) * | 2002-12-17 | 2004-06-17 | Sun Microsystems, Inc. | Operating system architecture employing synchronous tasks |
US8538840B2 (en) * | 2002-12-20 | 2013-09-17 | Siebel Systems, Inc. | Financial services data model |
US7856454B2 (en) | 2002-12-20 | 2010-12-21 | Siebel Systems, Inc. | Data model for business relationships |
US8392298B2 (en) * | 2003-03-04 | 2013-03-05 | Siebel Systems, Inc. | Invoice adjustment data object for a common data object format |
US8473399B2 (en) * | 2003-03-04 | 2013-06-25 | Siebel Systems, Inc. | Invoice data object for a common data object format |
US20070208577A1 (en) * | 2003-03-24 | 2007-09-06 | Leon Maria T B | Position common object |
US8489470B2 (en) * | 2003-03-24 | 2013-07-16 | Siebel Systems, Inc. | Inventory location common object |
US8510179B2 (en) * | 2003-03-24 | 2013-08-13 | Siebel Systems, Inc. | Inventory transaction common object |
US7904340B2 (en) * | 2003-03-24 | 2011-03-08 | Siebel Systems, Inc. | Methods and computer-readable medium for defining a product model |
WO2004086198A2 (en) * | 2003-03-24 | 2004-10-07 | Siebel Systems, Inc. | Common common object |
US7912932B2 (en) * | 2003-03-24 | 2011-03-22 | Siebel Systems, Inc. | Service request common object |
US9704120B2 (en) * | 2003-03-24 | 2017-07-11 | Oracle International Corporation | Inventory balance common object |
US20070226037A1 (en) * | 2003-03-25 | 2007-09-27 | Shailendra Garg | Modeling of opportunity data |
US7227350B2 (en) * | 2004-03-18 | 2007-06-05 | Elster Electricity, Llc | Bias technique for electric utility meter |
US7315162B2 (en) * | 2004-03-18 | 2008-01-01 | Elster Electricity, Llc | Reducing power consumption of electrical meters |
JP4477928B2 (ja) * | 2004-04-06 | 2010-06-09 | 株式会社エヌ・ティ・ティ・ドコモ | メモリマッピング制御装置、情報記憶制御装置、データ移行方法及びデータ移行プログラム |
US20050251812A1 (en) * | 2004-04-27 | 2005-11-10 | Convertabase, Inc. | Data conversion system, method, and apparatus |
US8112296B2 (en) * | 2004-05-21 | 2012-02-07 | Siebel Systems, Inc. | Modeling of job profile data |
US7865390B2 (en) * | 2004-05-21 | 2011-01-04 | Siebel Systems, Inc. | Modeling of employee performance result data |
US7681184B1 (en) | 2004-05-24 | 2010-03-16 | Borland Software Corporation | System and methodology for cross language type system compatibility |
US7702594B2 (en) | 2004-09-24 | 2010-04-20 | Elster Electricity, Llc | System and method for automated configuration of meters |
US7742430B2 (en) | 2004-09-24 | 2010-06-22 | Elster Electricity, Llc | System for automated management of spontaneous node migration in a distributed fixed wireless network |
US7725728B2 (en) * | 2005-03-23 | 2010-05-25 | Business Objects Data Integration, Inc. | Apparatus and method for dynamically auditing data migration to produce metadata |
US7958133B2 (en) * | 2005-04-27 | 2011-06-07 | At&T Intellectual Property Ii, L.P. | Application conversion of source data |
US7761430B2 (en) * | 2005-05-12 | 2010-07-20 | Microsoft Corporation | Verification of cross domain data system query results |
US20060265352A1 (en) * | 2005-05-20 | 2006-11-23 | International Business Machines Corporation | Methods and apparatus for information integration in accordance with web services |
US7747647B2 (en) * | 2005-12-30 | 2010-06-29 | Microsoft Corporation | Distributing permission information via a metadirectory |
FR2899354A1 (fr) * | 2006-03-28 | 2007-10-05 | St Microelectronics Sa | Traitement de donnees avec transfert de donnees entre memoires. |
US7571035B2 (en) * | 2006-03-31 | 2009-08-04 | Spx Corporation | Simultaneous vehicle protocol communication apparatus and method |
US7747569B2 (en) * | 2006-09-22 | 2010-06-29 | Raytheon Company | Systems, methods, and language for selection and retrieval of information from databases |
US8073384B2 (en) | 2006-12-14 | 2011-12-06 | Elster Electricity, Llc | Optimization of redundancy and throughput in an automated meter data collection system using a wireless network |
US20080183766A1 (en) * | 2007-01-31 | 2008-07-31 | Weston David W | Methods and systems for inductive data transformation |
US8320302B2 (en) | 2007-04-20 | 2012-11-27 | Elster Electricity, Llc | Over the air microcontroller flash memory updates |
US8103704B2 (en) * | 2007-07-31 | 2012-01-24 | ePrentise, LLC | Method for database consolidation and database separation |
NZ586190A (en) | 2007-12-26 | 2013-05-31 | Elster Electricity Llc | A utility meter network wherein meters can transmit electrical and other readings to a collector by using other meters as repeaters |
US8525692B2 (en) | 2008-06-13 | 2013-09-03 | Elster Solutions, Llc | Techniques for limiting demand from an electricity meter with an installed relay |
US8498996B2 (en) * | 2008-11-03 | 2013-07-30 | Sas Institute Inc. | Computer-implemented method and system for handling and transforming database queries in a fourth generation language |
US8203463B2 (en) | 2009-02-13 | 2012-06-19 | Elster Electricity Llc | Wakeup and interrogation of meter-reading devices using licensed narrowband and unlicensed wideband radio communication |
US9229998B2 (en) * | 2010-05-13 | 2016-01-05 | Appsfreedom, Inc. | Method and system for exchanging information between back-end and front-end systems |
US10614098B2 (en) | 2010-12-23 | 2020-04-07 | Mongodb, Inc. | System and method for determining consensus within a distributed database |
US10262050B2 (en) * | 2015-09-25 | 2019-04-16 | Mongodb, Inc. | Distributed database systems and methods with pluggable storage engines |
US11544288B2 (en) | 2010-12-23 | 2023-01-03 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US10698775B2 (en) | 2016-05-31 | 2020-06-30 | Mongodb, Inc. | Method and apparatus for reading and writing committed data |
US10713280B2 (en) | 2010-12-23 | 2020-07-14 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US10366100B2 (en) | 2012-07-26 | 2019-07-30 | Mongodb, Inc. | Aggregation framework system architecture and method |
US11615115B2 (en) | 2010-12-23 | 2023-03-28 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US10346430B2 (en) | 2010-12-23 | 2019-07-09 | Mongodb, Inc. | System and method for determining consensus within a distributed database |
US10997211B2 (en) | 2010-12-23 | 2021-05-04 | Mongodb, Inc. | Systems and methods for database zone sharding and API integration |
US10977277B2 (en) | 2010-12-23 | 2021-04-13 | Mongodb, Inc. | Systems and methods for database zone sharding and API integration |
US10740353B2 (en) | 2010-12-23 | 2020-08-11 | Mongodb, Inc. | Systems and methods for managing distributed database deployments |
US9881034B2 (en) | 2015-12-15 | 2018-01-30 | Mongodb, Inc. | Systems and methods for automating management of distributed databases |
US8572031B2 (en) | 2010-12-23 | 2013-10-29 | Mongodb, Inc. | Method and apparatus for maintaining replica sets |
US9740762B2 (en) | 2011-04-01 | 2017-08-22 | Mongodb, Inc. | System and method for optimizing data migration in a partitioned database |
US9805108B2 (en) | 2010-12-23 | 2017-10-31 | Mongodb, Inc. | Large distributed database clustering systems and methods |
US8996463B2 (en) | 2012-07-26 | 2015-03-31 | Mongodb, Inc. | Aggregation framework system architecture and method |
US9094304B2 (en) | 2012-05-10 | 2015-07-28 | Cognex Corporation | Systems and methods for dynamically configuring communication data items |
US11403317B2 (en) | 2012-07-26 | 2022-08-02 | Mongodb, Inc. | Aggregation framework system architecture and method |
US11544284B2 (en) | 2012-07-26 | 2023-01-03 | Mongodb, Inc. | Aggregation framework system architecture and method |
US10872095B2 (en) | 2012-07-26 | 2020-12-22 | Mongodb, Inc. | Aggregation framework system architecture and method |
US9411845B2 (en) | 2013-06-13 | 2016-08-09 | Sap Se | Integration flow database runtime |
US10496669B2 (en) | 2015-07-02 | 2019-12-03 | Mongodb, Inc. | System and method for augmenting consensus election in a distributed database |
US10673623B2 (en) | 2015-09-25 | 2020-06-02 | Mongodb, Inc. | Systems and methods for hierarchical key management in encrypted distributed databases |
US10846411B2 (en) | 2015-09-25 | 2020-11-24 | Mongodb, Inc. | Distributed database systems and methods with encrypted storage engines |
US10423626B2 (en) | 2015-09-25 | 2019-09-24 | Mongodb, Inc. | Systems and methods for data conversion and comparison |
US10394822B2 (en) | 2015-09-25 | 2019-08-27 | Mongodb, Inc. | Systems and methods for data conversion and comparison |
US10621050B2 (en) | 2016-06-27 | 2020-04-14 | Mongodb, Inc. | Method and apparatus for restoring data from snapshots |
US10866868B2 (en) | 2017-06-20 | 2020-12-15 | Mongodb, Inc. | Systems and methods for optimization of database operations |
CN112507013B (zh) * | 2021-02-07 | 2021-07-02 | 北京工业大数据创新中心有限公司 | 一种工业设备数据的存储方法及装置 |
US11797561B2 (en) | 2021-02-11 | 2023-10-24 | International Business Machines Corporation | Reducing character set conversion |
US11695848B2 (en) * | 2021-08-25 | 2023-07-04 | Sap Se | Integration and transformation framework |
Family Cites Families (24)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
UST940012I4 (en) * | 1974-06-21 | 1975-11-04 | Rules driven data management process | |
US4455605A (en) * | 1981-07-23 | 1984-06-19 | International Business Machines Corporation | Method for establishing variable path group associations and affiliations between "non-static" MP systems and shared devices |
US4604710A (en) * | 1981-10-09 | 1986-08-05 | International Business Machines Corporation | System for converting data processing information to text processing format and vice versa |
JPS58169265A (ja) * | 1982-03-30 | 1983-10-05 | Fujitsu Ltd | デ−タ変換処理方式 |
US4574350A (en) * | 1982-05-19 | 1986-03-04 | At&T Bell Laboratories | Shared resource locking apparatus |
US4648061A (en) * | 1982-11-09 | 1987-03-03 | Machines Corporation, A Corporation Of New York | Electronic document distribution network with dynamic document interchange protocol generation |
SU1111176A1 (ru) * | 1983-05-05 | 1984-08-30 | Омский политехнический институт | Устройство дл преобразовани зыков |
US4788657A (en) * | 1983-12-27 | 1988-11-29 | American Telephone And Telegraph Company | Communication system having reconfigurable data terminals |
US4755929A (en) * | 1984-09-28 | 1988-07-05 | The Boeing Company | Apparatus and method for retrieving data in the form of binary, multiple bit, digital communication words from a system bus |
US4677552A (en) * | 1984-10-05 | 1987-06-30 | Sibley Jr H C | International commodity trade exchange |
US4774655A (en) * | 1984-10-24 | 1988-09-27 | Telebase Systems, Inc. | System for retrieving information from a plurality of remote databases having at least two different languages |
US4868866A (en) * | 1984-12-28 | 1989-09-19 | Mcgraw-Hill Inc. | Broadcast data distribution system |
FR2575842B1 (fr) * | 1985-01-04 | 1988-04-01 | Fms | Dispositif pour le pilotage informatise des machines automatisees |
US4714995A (en) * | 1985-09-13 | 1987-12-22 | Trw Inc. | Computer integration system |
US4845658A (en) * | 1986-12-01 | 1989-07-04 | Massachusetts Institute Of Technology | Information method and apparatus using simplex and duplex communications |
FR2612661A1 (fr) * | 1987-03-20 | 1988-09-23 | Reiga | Dispositif d'interconnexion a multiprocesseurs entre calculateurs, automates programmables et terminaux peripheriques |
US5109483A (en) * | 1987-06-15 | 1992-04-28 | International Business Machines Corp. | Node initiating xid exchanges over an activated link including an exchange of sets of binding signals between nodes for establishing sessions |
US5058000A (en) * | 1987-06-30 | 1991-10-15 | Prime Computer, Inc. | System for accessing remote heterogeneous database including formatting retrieved data into applications program format |
US4803643A (en) * | 1987-08-10 | 1989-02-07 | Oclc Online Computer Library Center Incorporated | System and method for creating memory-retained, formatted pages of text, tabulation, and graphic data |
JPH01155432A (ja) * | 1987-12-11 | 1989-06-19 | Mitsubishi Electric Corp | データ変換方式 |
JPH0234037A (ja) * | 1988-07-25 | 1990-02-05 | Hitachi Ltd | 数値データ変換方式 |
JPH02224164A (ja) * | 1989-02-27 | 1990-09-06 | Nec Corp | ファイル転送システム |
JPH02230351A (ja) * | 1989-03-02 | 1990-09-12 | Nippon Telegr & Teleph Corp <Ntt> | データ転送管理システム |
US5278978A (en) * | 1990-03-26 | 1994-01-11 | International Business Machines Corporation | Method and system for describing and exchanging data between heterogeneous database systems with data converted by the receiving database system |
-
1990
- 1990-12-05 TW TW079110242A patent/TW226047B/zh active
-
1991
- 1991-01-24 CA CA002034905A patent/CA2034905C/en not_active Expired - Lifetime
- 1991-02-27 KR KR1019910003174A patent/KR960016882B1/ko not_active IP Right Cessation
- 1991-02-28 JP JP3055541A patent/JP2680201B2/ja not_active Expired - Lifetime
- 1991-03-20 ES ES91302408T patent/ES2135387T3/es not_active Expired - Lifetime
- 1991-03-20 DE DE69131543T patent/DE69131543T2/de not_active Expired - Lifetime
- 1991-03-20 EP EP91302408A patent/EP0449494B1/en not_active Expired - Lifetime
- 1991-03-25 BR BR919101161A patent/BR9101161A/pt unknown
-
1993
- 1993-05-21 US US08/066,323 patent/US5416917A/en not_active Expired - Lifetime
-
1994
- 1994-08-11 US US08/288,837 patent/US5566332A/en not_active Expired - Lifetime
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017040103A1 (en) * | 2015-08-28 | 2017-03-09 | Honeywell International Inc. | Converting data sets in a shared communication environment |
US10216742B2 (en) | 2015-08-28 | 2019-02-26 | Honeywell International Inc. | Converting data sets in a shared communication environment |
Also Published As
Publication number | Publication date |
---|---|
EP0449494A3 (en) | 1993-05-19 |
US5566332A (en) | 1996-10-15 |
EP0449494B1 (en) | 1999-08-25 |
KR910017272A (ko) | 1991-11-05 |
JP2680201B2 (ja) | 1997-11-19 |
DE69131543D1 (de) | 1999-09-30 |
ES2135387T3 (es) | 1999-11-01 |
TW226047B (ko) | 1994-07-01 |
US5416917A (en) | 1995-05-16 |
DE69131543T2 (de) | 2000-03-30 |
EP0449494A2 (en) | 1991-10-02 |
CA2034905A1 (en) | 1991-09-28 |
BR9101161A (pt) | 1991-11-05 |
CA2034905C (en) | 1998-09-22 |
JPH04223538A (ja) | 1992-08-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR960016882B1 (ko) | 이질의 데이타베이스 시스템간에 전송되는 데이타 변환 방법 및 장치와 다수의 데이타베이스 관리자간에 전송되는 데이타 변환을 최소화하는 방법 | |
US5278978A (en) | Method and system for describing and exchanging data between heterogeneous database systems with data converted by the receiving database system | |
US20210263948A1 (en) | Content transfer | |
US5339434A (en) | Heterogeneous data translation system | |
US7711695B2 (en) | Reducing memory used by metadata for duplicate user defined types | |
US6058401A (en) | Method for data replication with conflict detection | |
US5475836A (en) | Interface for providing access to external data sources/sinks | |
US7219351B2 (en) | Multi-view conversion system and method for exchanging communications between heterogeneous applications | |
US6804671B1 (en) | Pluggable tablespaces for database systems | |
US6574673B1 (en) | Data type mapping for external callouts | |
EP0449500A2 (en) | Apparatus and methods for performing an application-defined operation on data as part of a system-defined operation on the data | |
KR100293795B1 (ko) | 분산형데이터베이스시스템및데이터엔티티액세스방법 | |
US7599922B1 (en) | System and method for federated searching | |
US7299240B1 (en) | Method for translating computer data from one record structure to another | |
JPH0673118B2 (ja) | 汎用データストリーム・パーザ | |
WO2002037335A2 (en) | Object-oriented database abstraction and statement generation | |
US6763361B1 (en) | Object-oriented database abstraction and statement generation | |
US20050010595A1 (en) | System and method for automating an identification mechanism and type information configuration process for a real-time data feed to a database | |
US20040162823A1 (en) | Message translation using adaptive agents | |
US8433720B2 (en) | Enabling an application to interact with an LDAP directory as though the LDAP directory were a database object | |
JPH0619756A (ja) | Ediフォーマット変換方法 | |
CN113190264B (zh) | 一种基于jpa的自动化数据版本生成及应用的装置和方法 | |
JPH11250093A (ja) | データベース移行方法 | |
CN113761016A (zh) | 数据查询方法、装置、设备及存储介质 | |
Kintzer | Translating data base procedures |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A201 | Request for examination | ||
E902 | Notification of reason for refusal | ||
AMND | Amendment | ||
E601 | Decision to refuse application | ||
J2X1 | Appeal (before the patent court) |
Free format text: APPEAL AGAINST DECISION TO DECLINE REFUSAL |
|
G160 | Decision to publish patent application | ||
B701 | Decision to grant | ||
GRNT | Written decision to grant | ||
FPAY | Annual fee payment |
Payment date: 20101109 Year of fee payment: 15 |
|
EXPY | Expiration of term |