KR960016882B1 - 이질의 데이타베이스 시스템간에 전송되는 데이타 변환 방법 및 장치와 다수의 데이타베이스 관리자간에 전송되는 데이타 변환을 최소화하는 방법 - Google Patents

이질의 데이타베이스 시스템간에 전송되는 데이타 변환 방법 및 장치와 다수의 데이타베이스 관리자간에 전송되는 데이타 변환을 최소화하는 방법 Download PDF

Info

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
Application number
KR1019910003174A
Other languages
English (en)
Other versions
KR910017272A (ko
Inventor
개리 아데어 죤
제롬 코일 2세 다니엘
죠셉 그레이프 로버트
길벗 린제이 브루스
앨런 레인치 로저
피터 레쉬 로버트
그리핍쓰 셀린저 패트리셔
Original Assignee
인터내셔널 비지네스 머신즈 코포레이션
하워드 지. 피거로아
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 인터내셔널 비지네스 머신즈 코포레이션, 하워드 지. 피거로아 filed Critical 인터내셔널 비지네스 머신즈 코포레이션
Publication of KR910017272A publication Critical patent/KR910017272A/ko
Application granted granted Critical
Publication of KR960016882B1 publication Critical patent/KR960016882B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/25Integrating or interfacing systems involving database management systems
    • G06F16/258Data format conversion from or to a database
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/912Applications of a database
    • Y10S707/922Communications
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99941Database schema or data structure
    • Y10S707/99942Manipulating data structure, e.g. compression, compaction, compilation
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99951File or database maintenance
    • Y10S707/99952Coherency, e.g. same view to multiple users
    • Y10S707/99954Version 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. 제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시스템 설명자를 사용하여 변환하는 단계를 포함하는 이질의 데이타베이스 시스템간에 전송되는 데이타를 변환하는 방법.
  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데이타 포맷으로 변환하는 상기 프로세서 시스템내의 수단을 포함하는 프로세서 시스템과 데이타베이스 시스템간에 전송되는 데이타를 변환하는 장치.
  3. 제2항에 있어서, 상기 프로세서 시스템과 상기 데이타베이스 시스템간의 통신 링크내에 접속된 라우터 머신(a router machine)을 더 포함하되, 상기 라우터 머신은, 상기 데이타베이스 질의 커맨드를 수신하는 수단과, 상기 데이타베이스 질의 커맨드내의 데이타가 상기 라우터 머신에서는 변환될 필요가 없음을 판정하는 수단과, 상기 데이타베이스 질의 커맨드내의 데이타를 변환하지 않고 상기 데이타베이스 질의 커맨드를 상기 데이타베이스 시스템으로 전송하는 수단을 포함하는 프로세서 시스템과 데이타베이스 시스템간에 전송되는 데이타를 변환하는 장치.
  4. 제1항에 있어서, 상기 시스템은 상기 제1데이타베이스 시스템과 상기 제2데이타베이스 시스템간에 접속된 제1데이타베이스 시스템 유닛(a first database system unit)을 더 포함하고, 상기 데이타베이스 질의 커맨드를 송신하는 단계는 상기 제1데이타베이스 시스템 유닛에서 상기 데이타베이스 질의 커맨드를 수신하는 단계 및, 상기 데이타베이스 질의 커맨드내의 데이타를 상기 제1데이타베이스 시스템 유닛에 고유한 데이타 포맷으로 변환하지 않고 상기 제1데이타베이스 시스템 유닛으로부터 상기 제2데이타베이스 시스템으로 상기 데이타베이스 질의 커맨드를 송신하는 단계를 포함하는 이질의 데이타베이스 시스템간에 전송되는 데이타를 변환하는 방법.
  5. 제4항에 있어서, 상기 시스템은 상기 제1데이타베이스 시스템과 상기 제2데이타베이스 시스템간에 접속된 제2데이타베이스 시스템 유닛(a second database system unit)을 더 포함하고, 상기 결과 데이타를 전송하는 단계는, 상기 제2데이타베이스 시스템 유닛에서 상기 결과 데이타를 수신하는 단계 및, 상기 제2데이타베이스 시스템 유닛에서 상기 결과 데이타의 데이타 포맷을 변환하지 않고 상기 제2데이타베이스 시스템 유닛으로부터 상기 제1데이타베이스 시스템으로 전송하는 단계를 포함하는 이질의 데이타베이스 시스템간에 전송되는 데이타를 변환하는 방법.
  6. 제1항에 있어서, 상기 제1데이타베이스 시스템은 데이타베이스 관리 시스템의 제1버전이고 상기 제2데이타베이스 시스템은 상기 데이타베이스 관리 시스템의 제2버전이며, 상기 제1 및 제2버전은 동일하지 않은, 이질의 데이타베이스 시스템간에 전송되는 데이타를 변환하는 방법.
  7. 제1항에 있어서, 상기 제1데이타베이스 시스템은 데이타를 제1내부 포맷(a first internal format)으로 나타내는 제1디지탈 컴퓨터(a first digital computer)상에서 실행하며, 상기 제2데이타베이스 시스템은 데이타를 제2내부 포맷으로 나타내는 제2디지탈 컴퓨터상에서 실행하며, 상기 제1 및 제2내부 포맷은 동일하지 않은 이질의 데이타베이스 시스템간에 전송되는 데이타를 변환하는 방법.
  8. 각각의 디지탈 컴퓨터내에서 제각기 실행되는 다수의 데이타베이스 관리자(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데이타 포맷으로 변환하는 단계를 포함하는 다수의 데이타베이스 관리자간에 전송되는 데이타의 변환을 최소화하는 방법.
  9. 사용자 데이타베이스 관리자(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시스템 설명자를 사용하여 상기 결과 데이타를, 상기 서버 데이타베이스 관리자에 고유한 데이타 포맷으로부터 상기 사용자 데이타베이스 관리자에 고유한 데이타 포맷으로, 변환하는 단계를 포함하는 사용자 데이타베이스 관리자와 서버 데이타베이스 관리자간에 전송되는 데이타 변환을 최소화하는 방법.
  10. 제각기 상이한 머신 환경(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데이타베이스 시스템에 고유한 포맷으로 변환되는 이질의 관계 데이타베이스 관리 시스템간에 교환되는 머신 환경 및 데이타 포맷 기술 방법.
  11. 제10항에 있어서, 상기 제2데이타베이스 시스템에 고유한 데이타 포맷의 설명 및 상기 제2데이타베이스 시스템의 머신 환경의 설명에 응답하여, 상기 제1데이타베이스 시스템에서 상기 사용자 데이타를 상기 제1데이타베이스 시스템에 고유한 포맷으로 변환하는 단계를 더 포함하는 이질의 관계 데이타베이스 관리 시스템간에 교환되는 데이타에 대한 머신 환경 및 데이타 포맷 기술 방법.
KR1019910003174A 1990-03-27 1991-02-27 이질의 데이타베이스 시스템간에 전송되는 데이타 변환 방법 및 장치와 다수의 데이타베이스 관리자간에 전송되는 데이타 변환을 최소화하는 방법 KR960016882B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (2)

* Cited by examiner, † Cited by third party
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