KR101270663B1 - 데이터 베이스에서 정보를 캡슐화하는 방법, 통신시스템에서 사용하기 위한 캡슐화된 데이터 베이스, 그리고시스템에서 데이터 베이스가 즉석 메시지를 전달하는 방법 - Google Patents

데이터 베이스에서 정보를 캡슐화하는 방법, 통신시스템에서 사용하기 위한 캡슐화된 데이터 베이스, 그리고시스템에서 데이터 베이스가 즉석 메시지를 전달하는 방법 Download PDF

Info

Publication number
KR101270663B1
KR101270663B1 KR1020087000164A KR20087000164A KR101270663B1 KR 101270663 B1 KR101270663 B1 KR 101270663B1 KR 1020087000164 A KR1020087000164 A KR 1020087000164A KR 20087000164 A KR20087000164 A KR 20087000164A KR 101270663 B1 KR101270663 B1 KR 101270663B1
Authority
KR
South Korea
Prior art keywords
database
message
encapsulated
entries
preset
Prior art date
Application number
KR1020087000164A
Other languages
English (en)
Other versions
KR20080031253A (ko
Inventor
크리스토퍼 비 에이 코커
Original Assignee
엔캡사 테크놀러지스, 아이엔씨
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 엔캡사 테크놀러지스, 아이엔씨 filed Critical 엔캡사 테크놀러지스, 아이엔씨
Publication of KR20080031253A publication Critical patent/KR20080031253A/ko
Application granted granted Critical
Publication of KR101270663B1 publication Critical patent/KR101270663B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
    • G06F21/6227Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
    • 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/28Databases characterised by their database models, e.g. relational or object models
    • G06F16/289Object oriented databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/40Data acquisition and logging
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F7/00Methods or arrangements for processing data by operating upon the order or content of the data handled

Abstract

데이터 베이스에서 정보를 캡슐화하는 방법에 있어서, 메시지는 데이터 베이스 내의 복수의 객체 계층 엔트리들로 분할될 수 있다. 객체 계층 엔트리들 각각은 데이터 베이스 내에서 미리 설정된 계층 구조를 갖는 복수의 객체 계층들 중 하나의 객체 계층의 일부를 구성할 수 있다. 하나 또는 그 이상의 포인터가 생성될 수 있다. 포인터들은 복수의 객체 계층 엔트리들 중 적어도 하나를 지정한다. 객체 계층 엔트리들은 데이터 베이스 내의 인접하지 않은 저장 장소들에 저장될 수 있다. 복수의 객체 계층 엔트리들 중 적어도 하나는 생성된 적어도 하나의 포인터와 함께 저장되고, 적어도 하나의 포인터는 계층 구조로 된 객체 계층에 의해 결정된 바와 같이 포인터와 함께 저장된 적어도 하나의 객체 계층 엔트리보다 상위 레벨의 객체 계층 엔트리를 지정한다.

Description

데이터 베이스에서 정보를 캡슐화하는 방법, 통신 시스템에서 사용하기 위한 캡슐화된 데이터 베이스, 그리고 시스템에서 데이터 베이스가 즉석 메시지를 전달하는 방법{METHOD OF ENCAPSULATING INFORMATION IN A DATABASE, AN ENCAPSULATED DATABASE FOR USE IN A COMMUNICATION SYSTEM AND A METHOD BY WHICH A DATABASE MEDIATES AN INSTANT MESSAGE IN THE SYSTEM}
본 발명의 실시 예들은 통신 시스템의 데이터 베이스에서 정보를 캡슐화하는 방법, 그 통신 시스템에서 캡슐화된 데이터 베이스, 그리고 그 통신 시스템에서 그 데이터 베이스를 이용하여 메시지를 전달하는 방법에 관한 것이다.
통상적인 데이터 베이스들(data bases)은 개별 레코드(record) 형식을 이용하여 사용자와 관련된 정보를 저장한다. 레코드는 특정 데이터 베이스에서 일정한 개수의 필드들(fields)을 포함한다. 일반적으로, 레코드는 사용자를 인증 또는 확인하기 위해 사용되는 필드들, 그리고 사용자와 관련된 데이터를 저장하기 위해 사용되는 필드들을 포함한다.
예를 들면, 식별 필드들은 이름(first name) 필드, 성 필드(last name), 사회 보장 번호(social security number) 필드 그리고/또는 잘 알려진 다른 식별/인증 사인(예를 들면, 사용자 지문의 생물학적 사인, 망막 스캔 등)을 포함할 수 있 다. 다른 예로서, 데이터 필드들은 신용 기록, 진료 기록 그리고/또는 잘 알려진 형태의 사용자 관련 데이터를 포함할 수 있다.
동일한 레코드 필드들을 사용하는 데이터 베이스들은 표준 통신 인터페이스 프로토콜(communication interface protocol, 이하 CIP라 칭함)을 이용하여 서로 통신할 수 있다. 예를 들면, 제 1 및 제 2 오라클(Oracle) 데이터 베이스들은 동일하거나, 적어도 호환되는 레코드 필드 구조들을 포함할 수 있다. 제 1 및 제 2 오라클 데이터 베이스들은 오라클 CIP를 이용하여 각각의 레코드 필드들에 저장된 정보를 공유할 수 있다. 왜냐하면, 제 1 및 제 2 오라클 데이터 베이스들의 레코드 필드 구조는 각각의 데이터 베이스에서 인식되기 때문이다.
그러나, 일반적으로 상이한 데이터 베이스들은 호환되지 않는 CIP를 가진 개별 레코드 필드 구조를 포함한다. 예를 들면, 비 오라클(non-Oracle) 데이터 베이스가 오라클 CIP를 비 오라클(non-Oracle) CIP로 전환하는 번역 어플리케이션(application)을 갖지 않는 경우, 비 오라클 데이터 베이스는 오라클 CIP를 이용하여 액세스(access)될 수 없으며, 그 반대의 경우도 마찬가지이다. 번역 어플리케이션은 제작 및 유지하기 비싸고, 데이터 베이스들 상호간의 통신을 복잡하게 한다. 그리고, 다른 데이터 베이스가 소스(source) 데이터 베이스와 통신할 수 있는 번역 어플리케이션을 갖는지 확인하는 것이 쉽지 않으므로, 통신의 성공이 보장되지 않는다.
일반적으로, 레코드 필드들은 인접한 메모리 어드레스들에 함께 저장된다. 즉, 종래의 데이터 베이스들에서, 식별 필드들 및 데이터 필드들은 인접한 메모리 어드레스들에 저장된다. 따라서, 종래의 데이터 베이스가 해커에 의해 노출되는 경우, 해커는 식별 필드들 및 식별 필드들에 연관된 데이터 필드들을 결합하여, 데이터 필드들의 연관성을 비교적 쉽게 획득할 수 있다.
노출된 데이터로부터 연관성을 획득하는(예를 들면, 노출된 데이터를 사용자 정보와 결합하는) 해킹을 방지하기 위한 종래의 기술들은 데이터 베이스 저장 프로토콜에 능동적인 암호화 층을 추가한다. 예를 들면, 복수의 레코드들을 저장하는 데이터 베이스는 데이터 베이스를 복호화하기 위한 키(key)가 없으면, 해커가 데이터 베이스로부터 어떠한 정보도 읽을 수 없도록 암호화될 수 있다.
그러나, 권한이 부여된 사용자 또한 저장된 정보를 액세스하기 위해 데이터 베이스를 복호화해야 하므로, 추가적인 프로세스가 요구되고 데이터 베이스 액세스가 지연된다. 게다가, 해커가 데이터 베이스의 복호화에 성공하면, 해커는 종래 형식의 레코드들(예를 들면, 인접한 메모리 어드레스들에 저장된 레코드 필드들)에 접근할 수 있다. 또한, 권한이 부여된 사용자가 데이터 베이스를 복호화하기 위한 키를 분실하는 경우, 인증된 사용자는 대체 키를 받을 때까지 데이터 베이스를 액세스할 수 없다. 대체 키를 받는 것은 번거로운 일이다. 예를 들면, 대체 키를 받기 위해, 재인증 및 대체 키 배부가 요구될 수 있다.
본 발명의 일 실시 예는 데이터 베이스에서 정보를 캡슐화하는 방법에 관련된다. 상기 방법에서 메시지는 상기 데이터 베이스 내의 복수의 객체 계층 엔트리로 분할될 수 있다. 상기 복수의 객체 계층 엔트리 각각은 상기 데이터 베이스 내에서 미리 설정된 계층 구조를 갖는 복수의 객체 계층들 중에서 하나의 객체 계층의 일부를 형성할 수 있다. 상기 복수의 객체 계층 엔트리 중 적어도 하나를 지정하는 적어도 하나의 포인터가 생성될 수 있다. 상기 복수의 객체 계층 엔트리 중 적어도 하나는 상기 생성된 적어도 하나의 포인터와 함께 저장되어, 상기 적어도 하나의 포인터가 상기 적어도 하나의 포인터와 함께 저장된 상기 적어도 하나의 객체 계층 엔트리보다, 상기 계층 구조로 된 객체 계층에 의해 결정된 바와 같이, 상위 레벨의 객체 계층 엔트리를 지정하도록, 상기 복수의 객체 계층 엔트리는 상기 데이터 베이스 내의 인접하지 않은 저장 장소들에 저장될 수 있다.
본 발명의 다른 실시 예는 통신 시스템에 사용하기 위해 캡슐화된 데이터 베이스에 관련된다. 상기 데이터 베이스는 상기 통신 시스템 내의 미리 설정된 통신 주체로부터 수신된 수신 메시지 내의 미리 설정된 필드들에 대응하는 복수의 객체 계층 엔트리를 포함할 수 있다. 상기 메시지는 상기 필드들이 대응하는 객체 계층 엔트리들에 할당되도록 분할된다. 상기 각 객체 계층 엔트리는 미리 설정된 계층 구조를 갖는 복수의 객체 계층 중에서 미리 설정된 객체 계층의 일부를 구성한다. 상기 데이터 베이스는 각각 상기 객체 계층 엔트리들을 중 하나 또는 그보다 많은 객체 계층 엔트리들을 지정하는 복수의 포인터 및 복수의 저장 장소를 포함한다. 상기 메시지의 상기 필드들에 대응하는 상기 복수의 객체 계층 엔트리 각각은 인접하지 않은 저장 장소들에 저장된다. 미리 설정된 객체 계층 엔트리는 미리 설정된 포인터와 함께 저장되어, 상기 미리 설정된 포인터가 상기 미리 설정된 포인터와 함께 저장되는 상기 미리 설정된 객체 계층 엔트리보다, 상기 객체 계층 구조에 의해 결정된 바와 같이, 상위 레벨의 객체 계층 엔트리를 지정한다.
본 발명의 또 다른 실시 예는 통신 시스템에서 데이터 베이스가 제 1 사용자로부터 제 2 사용자로 즉석 메시지를 전달하는 방법에 관련된 것이다. 상기 제 2 사용자는 상기 제 1 사용자가 즉석 메시지를 전송하기 위해 데이터 베이스에 로그 온한 때에 상기 데이터 베이스에 로그 온 하지 않는다. 이 방법에서, 상기 제 1 사용자는 상기 데이터 베이스에 의해 인식되는 공통적인 통신 인터페이스 프로토콜에 따라, 상기 즉석 메시지를 구성하고 상기 구성된 즉석 메시지를 상기 데이터 베이스에 전송한다. 상기 데이터 베이스는 상기 수신된 즉석 메시지를 캡슐화한다. 상기 메시지의 캡슐화는 상기 메시지를 상기 데이터 베이스 내의 복수의 객체 계층 엔트리들로 분할하되, 상기 복수의 객체 계층 엔트리들 각각은 상기 데이터 베이스 내에서 미리 설정된 계층 구조로 된 복수의 객체 계층들 중에서 하나의 객체 계층의 일부를 형성하는 것을 더 포함한다. 상기 캡슐화는 상기 객체 계층 엔트리들 중 하나 또는 그보다 많은 객체 계층 엔트리들을 지정하는 하나 또는 그보다 많은 포인터들을 생성하고 상기 데이터 베이스 내의 인접하지 않은 저장 장소들에 상기 복수의 객체 계층 엔트리들을 저장하는 것을 포함한다. 미리 설정된 객체 계층 엔트리는 미리 설정된 포인터와 함께 저장되어, 상기 미리 설정된 포인터가 상기 미리 설정된 포인터와 함께 저장된 상기 미리 설정된 객체 계층 엔트리보다, 상기 객체 계층 구조에 의해 결정된 바와 같이, 상위 레벨의 객체 계층 엔트리를 지정한다. 상기 즉석 메시지를 상기 제 2 사용자에게 전달하기 위해서, 상기 데이터 베이스는 상기 제 2 사용자에 의해 상기 데이터 베이스에 전달된 정보 요청에 부합하는 하나 또는 그보다 많은 미리 설정된 객체 계층 엔트리들에 의거하여, 상기 즉석 메시지를 추출한다.
본 발명의 또 다른 실시 예는 통신 시스템에 관련된다. 상기 통신 시스템은 데이터 베이스들에 액세스할 수 있는 통신 시스템의 통신 주체들 사이의 메시지 통신을 용이하게 하기 위한 복수의 캡슐화된 데이터 베이스들을 포함한다. 상기 각각의 데이터 베이스는 수신된 메시지 내의 미리 설정된 필드들에 대응하는 복수의 객체 계층 엔트리를 포함한다. 각 데이터 베이스는 상기 객체 계층 엔트리들 중 하나 또는 그보다 많은 객체 계층 엔트리들을 지정하는 복수의 포인터를 포함한다.
상기 메시지는 주어진 데이터 베이스에서 제 1 통신 주체로부터 접수되는 즉식 객체 계층들의 계층 구조를 갖는 객체 계층 엔트리들로 분리된다. 상기 객체 계층들은 상기 메시지의 출처 부서, 상기 메시지의 발송자, 상기 메시지의 형태 및 상기 메시지의 내용에 연관된다. 각각의 분리된 객체 계층 엔트리들은 최상위로부터 최하위까지의 상기 계층의 순서가 부서, 발송자, 메시지의 형태, 그리고 내용이 되도록 상기 주어진 데이터 베이스의 인접하지 않은 저장 장소들에 저장된다. 미리 설정된 객체 계층 엔트리는 미리 설정된 포인터와 함께 저장되어, 상기 미리 설정된 포인터가 상기 미리 설정된 포인터와 함께 저장된 상기 미리 설정된 객체 계층 엔트리보다, 객체 계층 구조에 의해 결정된 바와 같이, 상위 레벨의 객체 계층 엔트리를 지정하도록 한다.
이 실시 예에서, 상기 메시지 객체 계층 엔트리의 형태는 상기 시스템의 상기 데이터 베이스들 각각에서 동일하게 유지되고, 상기 제 1 통신 주체로부터 전송되어 저장된 메시지의 검색을 요청하는 제 2 통신 주체를 위해, 형식-내용 객체 계층 엔트리들의 페어링(pairing)은 상기 데이터 베이스로부터 필요한 정보를 일정하게 검색할 수 있는 능력을 제공한다.
본 발명의 예시적인 실시 예들은 이하의 상세한 설명 및 첨부된 도면들을 통해서 더욱 상세히 이해될 것이며, 첨부된 도면들은 단지 설명을 위한 것으로서, 여러 도면들에서 동일한 참조번호는 대응하는 부분들을 가리킨다.
도 1은 본 발명의 일 실시 예에 따른 시스템을 보여주는 다이어그램이다.
도 2는 본 발명의 실시 예에 따라 캡슐화된 데이터 베이스에 정보를 저장하는 과정을 보여주는 순서도이다.
도 3은 도 2의 S205 단계를 상세하게 보여주는 순서도이다.
도 4는 본 발명의 실시 예에 따른 캡슐화된 데이터 베이스에서 정보를 캡슐화하는 과정을 보여주는 순서도이다.
도 5는 본 발명의 실시 예에 따른 캡슐화된 데이터 베이스로부터 정보를 다운로드하는 과정을 보여주는 순서도이다.
도 6은 본 발명의 실시 예에 따른 캡슐화된 데이터 베이스로부터 정보를 추출하는 과정을 보여주는 순서도이다.
도 7은 본 발명에 따른 열거 명령을 위한 도 6의 추가적인 단계를 보여주는 순서도이다.
도 8은 본 발명의 실시 예에 따른 캡슐화된 데이터 베이스에 의해 즉석 메시 지가 전달되는 과정을 보여주는 순서도이다.
도 9는 본 발명의 실시 예에 따른 캡슐화된 데이터 베이스들 및 디스커버리 서버에 의한 즉석 메시지 전송 과정을 보여주는 순서도이다.
본 발명에 대한 보다 나은 이해를 위해서, 예시적인 통신 시스템이 설명되고 이어서 예시적인 캡슐화된 데이터 베이스 및 상기 예시적인 통신 시스템 내에서 수행되는 캡슐화된 데이터 베이스 데이터 전달(mediation) 동작을 설명한다. 그리고, 사용자들 사이의 즉석 메시지 교환을 포함하는 더욱 상세한 데이터 전달 동작이 설명될 것이다.
예시적인 시스템
배경기술 부분에서 기술하였듯이, 통상적인 데이터 베이스들은 사용자 레코드들을 인접한 메모리 어드레스들에 저장한다. 본 발명의 일 실시 예는 사용자 레코드들 또는 메시지들과 같은 정보를 인접하지 않게 또는 분산하여 객체 계층(object class)에 저장하는 캡슐화된 데이터 베이스(encapsulated database)인 것을 특징으로 한다. 캡슐화된 데이터 베이스를 설명하기 위해 사용된 용어들은 다음과 같다.
객체 계층(Object Class)- 객체 계층은 캡슐화된 데이터 베이스에 저장되며 계층적으로 정의된 복수의 필드 중 하나를 나타낸다. 객체 계층은 객체 계층의 최상위 레벨로부터 최하위 레벨까지의 순서에 따라 폴더(Folder), 폼(Form), 토픽(Topic), 그리고 데이터(Data)를 포함한다.
포인터(Pointer)-포인터는 목표 메모리 어드레스의 링크(link)를 나타낸다. 예를 들면, 포인터는 실질적, 물리적 메모리 어드레스일 수 있다. 다른 예로서, 포인터는 키 또는 알고리즘에 의해 인코딩될 수 있으며, 포인터로부터 물리적 메모리 어드레스를 추출하려면 키 또는 알고리즘이 요구될 수 있다.
도 1은 본 발명의 일 실시 예에 따른 시스템(100)을 보여준다. 도 1을 참조하면, 시스템(100)은 사용자들(105, 110), 인터넷(120), 캡슐화된 데이터 베이스들(130, 135), 그리고 디스커버리 서버(discovery server, 140)를 포함한다. 사용자들(105, 110), 캡슐화된 데이터 베이스들(130, 150), 그리고 디스커버리 서버(140) 각각은 인터넷(120)을 통해 연결되고, 서로 액세스할 수 있다. 예시적으로, 사용자들(105, 110)은 데스크톱 컴퓨터(desktop computer), 노트북 컴퓨터(notebook computer), PDA, 또는 휴대폰과 같은 잘 알려진 통신 장치일 수 있다. 예시적으로, 캡슐화된 데이터 베이스들(130, 135) 및 디스커버리 서버(140)는 오라클 서버, 메인프레임 컴퓨터(mainframe computer), 또는 저장 서버로 동작하도록 구성된 노트북/데스크톱 컴퓨터와 같은 형태의 저장 서버일 수 있다. 디스커버리 서버(140)는 캡슐화된 데이터 베이스 서버들(130, 135) 중 하나에 로그 온(log on) 한 그리고/또는 로그 오프(log off) 하였더라도 캡슐화된 데이터 베이스 서버들(130, 135) 중 하나의 계정을 가진 모든 사용자들(105, 110)을 위해 사용자 정보의 저장 장소들의 배치 또는 캡슐화된 데이터 베이스의 연결 관계를 유지한다.
이하에서, 도 1의 시스템(100)을 참조하여 캡슐화된 데이터 베이스 및 캡슐화된 데이터 베이스의 동작의 실시 예가 설명된다.
캡슐화된 데이터 베이스의 형성
도 1의 시스템(100)을 참조하여 캡슐화된 데이터 베이스(130)를 형성하거나 캡슐화된 데이터 베이스(130)에 정보를 업로드(upload)하는 실시 예가 설명된다.
도 2는 본 발명의 일 실시 예에 따라 캡슐화된 데이터 베이스에 정보를 저장하는 과정을 보여준다. 도 2의 일 실시 예에서, S200 단계에서, 캡슐화된 데이터 베이스(130)는 통신 주체로부터 정보 저장 요청(information storage request)을 수신한다. 예를 들어, 캡슐화된 데이터 베이스(130) 내에 저장되도록 요청된 정보는 S200 단계에서 수신된 요청(request)에 포함될 수 있다. 예를 들어, 통신 주체는 캡슐화된 데이터 베이스(130)를 직접 또는 간접적으로 액세스할 수 있는 임의의 장치일 수 있다. 예를 들면, 통신 주체는 인터넷(120)을 통해 정보 저장 요청을 전달하는 사용자(105)일 수 있다.
S205 단계에서, 캡슐화된 데이터 베이스(130)의 요청된 저장 장소에 메시지의 정보를 저장하기 위해, 캡슐화된 데이터 베이스(130)는 통신 주체 및 정보 저장 요청을 평가하여 통신 주체가 정보 저장 요청에 의해 지정된 객체 계층(object class)을 변경할 수 있도록 권한이 부여된(authorized) 통신 주체인지 평가한다. S205 단계의 권한 확인 과정은 도 3에 도시된 바와 같이 몇 개의 단계들을 포함할 수 있다.
도 3은 도 2의 S205 단계를 상세하게 보여준다. 도 3의 예시적인 실시 예에서, S300 단계에서, 통신 주체는 캡슐화된 데이터 베이스(130)를 사용하여 스스로에 대해 인증(authentication)을 수행한다. 통신 주체를 인증하기 위해, 캡슐화된 데이터 베이스(130)는 잘 알려진 인증 절차를 사용할 수 있다. 예를 들면, 통신 주체는 패스워드(password)를 입력하도록 요구될 수 있다. 다른 예로써, 통신 주체는 자신을 인증하기 위해 디지털 인증서(예를 들면, Diffie-Hellman 키 교환 방식으로 획득된)를 제시하도록 요청받을 수 있다. 또는 통신 주체가 최근에 인증된 경우, S300 단계의 인증은 생략될 수 있다. 예를 들면, 통신 주체가 이미 로그 온(log on) 상태인 경우, S300 단계는 생략될 수 있다. 예시적으로, 패스워드 입력 방식의 경우, 통신 주체는 인증된 후 일정 시간(예를 들면, 30분, 60분, 또는 하루 등)이 경과 한 경우에만 재인증(예를 들면, 패스워드 재입력)을 요청받을 수 있다.
S305 단계에서, 캡슐화된 데이터 베이스(130)는 통신 주체의 권한 레벨 및 S200 단계의 정보 저장 요청을 비교하여, 통신 주체가 요청된 저장 장소에 정보를 저장하기에 충분한 권한을 가지는지 판별한다. 통신 주체의 권한 레벨은 캡슐화된 데이터 베이스(130)에 국부적(locally)으로 유지된다. 예를 들면, 정보 저장 요청이 사용자(105)로부터 사용자(110)에 전달되는 즉석 메시지(instant massage, IM)인 경우, 사용자(105)가 사용자(110)의 승인된 발송자 목록(Approved Sender's List)에 존재하면 사용자(105)는 사용자(110)에게 즉석 메시지(IM)를 전송할 수 있는 권한을 가진다. 예를 들어, 동일한 회사 또는 동일한 회사 내의 동일한 팀 또는 동일한 분과 내의 고용인들은 서로 통신할 수 있도록 자동으로 승인될 수 있다. 다른 예로써, 사용자(110)는 사용자(105)의 통신 또는 저장 권한을 승인하기 위해 사용자(105)를 승인된 발송자 목록에 직접 추가할 수 있다.
S310 단계에서, 캡슐화된 데이터 베이스(130)는 S300 단계의 인증 및 S305 단계의 권한 확인에 의거하여 정보 저장 요청을 승인할지의 여부를 판별한다. S300 단계에서 통신 주체가 인증되고, S305 단계에서 통신 주체가 요청된 저장 장소에 정보를 저장하기에 충분한 권한을 가진 것으로 판별되면, S310 단계에서 정보 저장 요청이 승인된다. 그렇지 않으면, 정보 저장 요청의 권한이 부여되지 않는다.
다시 도 2를 참조하면, S205 단계에서, 통신 주체가 정보 저장 요청을 수행하도록 권한이 부여되지 않은 경우 (예를 들면, 도 3의 과정으로부터 결정된 바와 같이), 정보 저장 요청은 무시되고 캡슐화된 데이터 베이스(130)는 동작하지 않는다 (예를 들면, 정보 저장 요청이 거부되었음을 통신 주체에게 통지하지 않는 경우). S205 단계에서 통신 주체에게 권한이 부여된 경우, S210 단계가 수행된다. S210 단계에서, 통신 주체로부터 캡슐화된 데이터 베이스(130)에 전달된 정보가 캡슐화(encapsulate)된다. 이하에서, 도 4를 참조하여 캡슐화를 설명하기로 한다.
도 4는 본 발명의 다른 실시 예에 따른 캡슐화된 데이터 베이스에서 정보를 캡슐화하는 과정을 보여준다. 도 4를 참조하면, S400 단계에서, 정보 저장 요청은 네 개의 계층 구조로 된 객체 계층(object class)들로 분할된다. 본 발명의 실시 예에 따른 캡슐화된 데이터 베이스는 네 개의 객체 계층들을 저장하지만, 객체 계층들의 수는 다양하게 응용될 수 있다. 상술한 바와 같이, 계층 구조로 된 객체 계층들의 최상위로부터 계층 구조로 된 객체 계층들의 최하위까지의 네 개의 객체 계층들은 폴더(Folder), 폼(Form), 토픽(Topic), 그리고 데이터(Data)이다.
예시적으로, 정보 저장 요청이 Mike Rogers로부터 Joe Smith에게 전달되는 즉석 메시지(IM)이고, Mike Rogers 및 Joes Smith는 각각 OO 회사의 회계 부서에 근무하고, 메시지의 내용은 "회의에 30분 늦음"인 경우, 메시지는 표 1과 같이 분할된다.
표 1
객체 계층 객체 계층 엔트리 (내용)
폴더 OO 회사 : 회계 부서
Joe Smith
토픽 즉석 메시지
데이터 Mike Rogers : "회의에 30분 늦음"
표 1은 객체 계층들인 폴더, 폼, 토픽 및 데이터에 저장되는 값들을 단순화한 형태로 이해될 수 있다. 예를 들면, 데이터 객체 계층은 Mike Rogers로부터 전달된 즉석 메시지가 캡슐화된 데이터 베이스(130, 도 1 참조)에 전달된 시간을 나타내는 타임 스탬프(time stamp) 그리고/또는 다른 데이터 필드들을 포함할 수 있다. 다른 예로써, 즉석 메시지는 Mike Rogers 및 Joe Smith 사이에서 종전에 전달된 즉석 메시지들의 집합에 추가되고, "대화"로써 참조될 수 있다. 또한, 표 1에 게시되지는 않았지만, 폴더, 폼, 토픽, 그리고 데이터 객체 계층 엔트리들 각각은 관련된 포인터(pointer)와 함께 저장될 수 있다. 포인터는 이하에서 상세하게 설명된다.
S405 단계에서, 캡슐화된 데이터 베이스(130)는 폼, 토픽, 그리고 데이터 객체 계층들과 함께 저장되는 객체 계층 ID 또는 객체 계층 포인터를 생성하기 위해 포인터 키 알고리즘(pointer key algorithm)을 수행한다. 각각의 포인터는 관련된 상위 레벨 객체 계층을 식별하기 위해 이용된다. 예를 들면, 토픽 포인터, 폼 포인터, 그리고 폴더 포인터가 생성된다. 토픽 포인터는 데이터 엔트리(data entry)와 함께 데이터 객체 계층에 저장된다. 폼 포인터는 토픽 엔트리와 함께 토픽 객체 계 층에 저장된다. 폴더 포인터는 폼 엔트리와 함께 폼 객체 계층에 저장된다.
예를 들어, S405 단계에서 생성된 포인터는 포인터가 지정하는 객체 계층 엔트리의 실질적 물리적 어드레스일 수 있다. 다른 예로써, S405 단계에서 생성된 포인터는 포인터 키 알고리즘의 수행을 통해 객체 계층 엔트리의 실질적 물리적 어드레스로 변환되는 변수(variable)일 수 있다. 이러한 방법으로 포인터를 인코딩함으로써, 캡슐화된 데이터 베이스(130)에 액세스한 해커는 포인터 키 알고리즘 없이 데이터 객체 계층 엔트리에 액세스하고 그리고 연관된 상위 객체 계층(예를 들면, 토픽, 폼, 폴더 등)을 찾는 것이 불가능하다.
포인터를 생성하는 방법이 예를 들어 상세하게 설명된다. 본 발명의 실시 예의 이해를 돕기 위해, 간단한 포인터 키 알고리즘의 예가 설명된다. 그러나, 본 발명에 따른 실시 예에서, 더욱 복잡한 포인터 키 알고리즘이 이용될 수 있음이 이해될 수 있다.
포인터 키 알고리즘에서, 토픽, 폼, 그리고 폴더 객체 계층들 각각을 지정하는 포인터들은 수학식 1로부터 도출될 수 있다.
수식:
포인터 = 객체 계층 엔트리의 물리적 주소 × 2 - 1 (수식 1)
수식 1에 나타난 바와 같이, 포인터 키 알고리즘은 객체 계층 엔트리의 물리적 주소에 2를 곱하고 1을 빼는 것과 같이 간단할 수 있다. 표 1의 분할된 즉석 메시지를 참조하여 포인터 키 알고리즘이 수행되는 과정이 설명된다. 표 1의 객체 계층의 토픽 객체 계층 엔트리(즉석 메시지), 폼 객체 계층 엔트리(Joe Smith), 그리 고 폴더 객체 계층 엔트리(회계 부서)가 각각 물리적 주소 46, 98, 그리고 112에 저장되어 있다고 가정하자. 일반적인 메모리 어드레스는 보다 복잡한 형태일 수 있지만, 설명을 용이하게 하기 위하여 간단한 어드레스가 사용된다. 데이터 객체 계층 엔트리가 저장되는 물리적 주소는 포인터 키 알고리즘에 의해 생성되지 않는다. 데이터 객체 계층 엔트리가 저장되는 물리적 주소는 데이터 객체 계층 엔트리들을 위해 설정된 큐(queue)의 사용 가능한 다음 어드레스일 수 있다. 캡슐화된 데이터 베이스(130)는 사용 가능한 다음 어드레스를 유지한다. 예를 들어, 사용 가능한 다음 어드레스는 144인 것으로 가정하자.
수식 1의 포인터 키 알고리즘을 적용하면, 토픽 객체 계층 포인터는 91이 되고, 폼 객체 계층 포인터는 195가 되고, 그리고 폴더 객체 계층 포인터는 223이 된다. 포인터들이 생성되면, 표 1은 표 2와 같이 전개될 수 있다.
표 2
객체 계층
객체 계층 엔트리
내용 저장된 포인터 객체 계층 ID 물리적 어드레스
폴더 OO 회사 : 회계 부서 N/A 223 112
Joe Smith 223 195 98
토픽 즉석 메시지 195 91 46
데이터 Mike Rogers :
"회의에 30분 늦음"
91 N/A 144
표 2에 게시된 바와 같이, 포인터들 및 객체 계층 ID들은 폼 및 토픽 객체 계층에 저장되고, 데이터 및 폴더 객체 계층에는 저장되지 않는다. 객체 계층들의 계층적 배열로 인해, 데이터 객체 계층은 토픽 객체 계층 엔트리를 지정하는 포인터를 포함한다. 해커가 상위 레벨 객체 계층(폴더, 토픽, 폼 등)에 용이하게 액세스할 수 없고 그리고 연관된 하위 레벨 객체 계층으로 진행할 수 없도록 보안성을 강화하기 위해, 일 방향성의 포인터 스트링(string)이 사용된다. 폴더 객체 계층은 최상위 객체 계층이고, 지정할 상위 레벨 객체 계층이 존재하지 않으므로, 포인터를 포함하지 않는다.
표 2에 게시되지는 않았지만, 하위 레벨 객체 계층 엔트리(예를 들면, 폼, 토픽, 데이터 등)는 하나 이상의 상위 객체 계층(예를 들면, 폴터, 폼, 토픽 등) 포인터들을 포함할 수 있다. 예를 들면, 데이터 객체 계층 엔트리는 폼 및 폴더 객체 계층 엔트리들 각각의 포인터를 더 포함할 수 있으며, 상위 레벨인 토픽 객체 계층 포인터만을 저장하는 것으로 한정되지 않는다.
다시 도 4를 참조하면, S410 단계에서, 데이터/토픽/폼/폴더 객체 계층들의 객체 계층 엔트리들은 각각 상위 객체 계층 포인터들과 결합되어, 캡슐화된 데이터 베이스(130, 도 1 참조) 내에 할당된 물리적 어드레스들(예를 들면, 46, 98, 112, 144 등)에 각각 저장된다.
캡슐화된 데이터 베이스로부터 정보를 회수
도 1의 시스템(100)을 참조하여, 캡슐화된 데이터 베이스(130)에 저장된 정보를 회수 또는 다운로드(download)하는 과정이 예를 들어 설명된다. 도 5는 본 발명의 일 실시 예에 따른 캡슐화된 데이터 베이스(130)로부터 정보를 다운로드하는 과정을 보여준다.
도 5에 나타난 일 실시 예에서, S500 단계에서, 캡슐화된 데이터 베이스(130)는 통신 주체로부터 정보 요청(information request)을 전달받는다. 예 시적으로, 통신 주체는 사용자들(105, 110) 또는 캡슐화된 데이터 베이스(135)일 수 있다. 표 3은 가능한 정보 요청들의 집합을 나타낸다.
표 3
요청 번호 정보 요청
1 이름이 John이고, 성이 Jones이면 모든 정보를 반환
2 성이 Smith 또는 Jones이면 성, 이름, 그리고 전화 번호를 열거
3 성이 Smith 또는 Jones이면 즉석 메시지 기록을 열거
표 3은 이후에 S510 단계 및 도 6을 참조하여 상세하게 설명된다.
S505 단계에서, 캡슐화된 데이터 베이스(130)는 통신 주체 및 S500 단계의 정보 요청을 평가하여, 통신 주체가 정보 요청에 의해 지정된 객체 계층을 액세스할 수 있는 권한을 갖는지 판별한다. 예를 들어, S505 단계는 도 3의 권한 확인 과정을 참조하여 설명된 도 2의 S205 단계와 동일한 방법으로 수행될 수 있다. 그러나, 통신 주체가 쓰기 또는 업로드 권한과 동일한 읽기 또는 다운로드 권한을 가질 필요는 없다. 예를 들면, 일반적인 데이터 베이스 시스템에서, 보안을 위해, 정보를 쓸 수 있는 권한을 가진 사용자들의 수는 정보를 읽을 수 있는 권한을 가진 사용자들의 수보다 적다. 따라서, S505 단계는 도 2의 S205 단계와 동일한 방법으로 수행되지만, S505 단계의 결과는 도 3의 S305 단계의 권한 확인의 결과와 다를 수 있다.
통신 주체가 요청된 정보를 액세스할 수 있는 권한을 갖지 않은 경우(예를 들면, 도 3의 과정으로부터 결정된 바와 같이), S500 단계의 정보 요청은 무시되고 캡슐화된 데이터 베이스(130)는 동작하지 않는다(예를 들면, 정보 요청이 거부되었음을 통신 주체에게 통지하지 않는 경우). S505 단계에서 통신 주체가 권한을 가진 것으로 판별된 경우, S510 단계가 수행된다. S510 단계에서, 요청된 정보가 캡슐화된 데이터 베이스(130)로부터 추출된다. S510 단계는 도 6을 참조하여 상세하게 설명된다.
도 6은 본 발명의 일 실시 예에 따라 캡슐화된 데이터 베이스(130)로부터 정보를 추출하는 과정을 보여준다. 도 6에 나타나 일 실시 예에서, S600 단계에서, 캡슐화된 데이터 베이스(130)는 정보 요청에 대응하는 데이터 필드들(예를 들면, 데이터 객체 계층 엔트리들의 일부)을 찾기 위해, 국부적(locally)으로 저장되어 있는 모든 데이터 객체 계층 엔트리들(예를 들면, 캡슐화된 데이터 베이스(130)에 저장되어 있는)을 검색한다. S603 단계에서, 캡슐화된 데이터 베이스(130)는 S600 단계의 검색 결과를 평가한다. S600 단계에서 검색 조건에 부합하는(match) 하나 또는 그 이상의 데이터 필드들을 갖는 데이터 객체 계층 엔트리들이 검색된 경우, S605 단계가 수행된다. S600 단계에서 검색 조건에 부합하는 데이터 객체 엔트리들이 검색되지 않은 경우, S625 단계에서 검색이 종료된다.
S605 단계에서, 캡슐화된 데이터 베이스(130)는 S600 단계에서 획득된 데이터 객체 계층 엔트리들 각각에 저장된 토픽 객체 계층 포인터들을 디코딩한다. S610 단계에서, 캡슐화된 데이터 베이스(130)는 S605 단계에서 디코딩된 토픽 객체 계층 포인터들이 지정하는 토픽 객체 계층 엔트리들을 평가한다. S615 단계에서, 캡슐화된 데이터 베이스(130)는 S610 단계의 하나 또는 그 이상의 토픽 객체 계층 엔트리들이 S500(도 5 참조) 단계에서 정보 요청된 하나 또는 그 이상의 토픽들에 부합하는지 판별한다. 부합하지 않는 경우, S625 단계에서 검색이 종료된다. 부합 하는 경우, S620 단계가 수행된다. S620 단계에서, 캡슐화된 데이터 베이스(130)는 대응하는 토픽 객체 계층 엔트리들에 의해 지정된 나머지 상위 객체 계층 엔트리들을 지정하는 포인터들을 모두 디코딩한다.
다시 도 5를 참조하면, S515 단계에서, 캡슐화된 데이터 베이스(130)는 S510 단계에서 추출된 정보를 통신 주체에게 전송한다. 추출된 정보는 S615(도 6 참조) 단계의 대응하는 토픽 객체 계층 엔트리들에 관련된 모든 객체 계층 엔트리들을 포함한다. 예를 들면, 추출된 정보는 부합하는 토픽 객체 계층 엔트리들을 지정하며 S603 단계에서 추출된 데이터 객체 계층 엔트리들, S615 단계에서 추출된 대응하는 토픽 객체 계층 엔트리들, 그리고 S620 단계에서 추출된 폼/폴더 객체 계층 엔트리들을 포함한다.
표 3을 참조하여, 도 6의 검색 과정이 예를 들어 설명된다.
표 3의 제 1 정보 요청
도 6의 S600 단계에서, 캡슐화된 데이터 베이스(130)는 국부적으로 저장되어 있는 모든 데이터 객체 계층 엔트리들을 검색하여, "John Smith"에 대응하는 하나 또는 그 이상의 데이터 필드들을 갖는 데이터 객체 계층 엔트리들을 반환한다. S603 단계에서 "John Smith"에 부합하는 적어도 하나의 데이터 객체 계층 엔트리가 존재하는 것으로 가정하고, S605 단계가 수행된다. S605 단계에서, 적어도 하나의 부합하는 데이터 객체 계층 엔트리의 모든 토픽 객체 계층 포인터들이 디코딩된다. S610 단계에서, 캡슐화된 데이터 베이스(130)는 디코딩된 데이터 객체 계층 포인터들이 지정하는 토픽 객체 계층 엔트리들을 분석한다. S615 단계에서, 디코딩된 토 픽 객체 계층 포인터들이 지정하는 토픽 객체 계층 엔트리들은 성 및 이름을 지정하는 토픽 객체 엔트리들을 포함하는 것으로 가정한다. 따라서, S615 단계는 S620 단계로 진행되고, 캡슐화된 데이터 베이스(130)는 데이터 객체의 폼/폴더 엔트리들이 지정하는 폼/폴더 객체 계층 엔트리들을 수집한다.
표 3의 제 2 정보 요청
도 6의 S600 단계에서, 캡슐화된 데이터 베이스(130)는 국부적으로 저장되어 있는 모든 데이터 객체 계층 엔트리들을 검색하여, "Smith" 또는 "John"에 대응하는 하나 또는 그 이상의 데이터 필드들을 갖는 데이터 객체 계층 엔트리들을 반환한다. S603 단계에서, "Smith" 또는 "John"에 대응하는 적어도 하나의 데이터 객체 계층 엔트리가 존재하는 것으로 가정하면, S605 단계가 수행된다. S605 단계에서, 적어도 하나의 대응하는 데이터 객체 계층 엔트리의 모든 토픽 객체 계층 포인터들이 디코딩된다. S610 단계에서, 캡슐화된 데이터 베이스(130)는 디코딩된 데이터 객체 계층 토픽 포인터들이 지정하는 토픽 객체 계층 엔트리들을 분석한다. S615 단계에서, 디코딩된 데이터 객체 계층 토픽 포인터들이 지정하는 토픽 객체 계층 엔트리들은 성 또는 이름 토픽 객체 계층 엔트리들을 포함하는 것으로 가정한다. 따라서, S615 단계는 S620 단계로 진행되고, 캡슐화된 데이터 베이스(130)는 데이터 객체의 토픽 계층 엔트리들이 지정하는 폼/폴더 객체 계층 엔트리들을 수집한다.
제 2 정보 요청은 열거(LIST) 명령이므로, 도 6의 S620 단계 이후 그리고 도 5의 S515 단계 전에 추가적인 단계가 수행된다.
도 7은 본 발명의 다른 실시 예에 따른 열거 명령을 위한 도 6의 추가적인 단계를 보여준다. 도 7을 참조하면, S625 단계에서, 캡슐화된 데이터 베이스(130)는 성, 이름, 그리고 전화 번호 토픽 객체 계층 엔트리들을 지정하며, 도 6의 S620 단계에서 추출된 폼 및 폴더 객체 계층 엔트리들을 지정하는 모든 데이터 객체들을 검색 및 수집한다. 열거가 요청된 토픽 객체 계층 엔트리들을 수집한 후, 도 5의 S515 단계가 수행된다. S515 단계에서, S600 단계에서 부합하는 데이터 객체 계층 엔트리들, S615 단계에서 부합하는 토픽 객체 계층 엔트리들, 도 6의 S620 단계에서 수집된 폼 및 폴더 객체 계층 엔트리들, 그리고 S625 단계에서 수집된 데이터 객체 계층 엔트리들이 통신 주체에게 전달된다.
표 3의 제 3 정보 요청
표 3의 제 3 정보 요청은 열거가 요청된 토픽 객체 계층 엔트리들이 즉석 메시지 기록인 것을 제외하고, 표 3의 제 2 정보 요청과 유사하다. 따라서, 표 3의 제 3 정보 요청의 수행 과정은 S625 단계에서 성, 이름, 그리고 전화 번호 토픽 객체 계층 엔트리들을 수집하는 대신, S620 단계에서 추출된 폼/폴더 객체 계층 엔트리들을 지정하는 모든 즉석 메시지 데이터 객체 계층 엔트리들이 수집되는 것을 제외하면, 표 3의 제 2 정보 요청의 수행 과정과 유사하다.
도 6 및 7의 과정 동안, 캡슐화된 데이터 베이스(130)에서 열거 이외의 다양한 종류의 명령이 수행될 수 있음은 해당 분야의 통상적인 기술을 갖는 자에게 충 분히 이해될 수 있다. 따라서, 설명의 중복을 피하기 위하여, 다른 명령어들에 대한 설명은 생략된다.
상이한 캡슐화된 데이터 베이스들 사이의 정보 공유
본 발명의 실시 예들은 하나의 캡슐화된 데이터 베이스(130)에서 수행되는 것으로 설명되었다. 그러나, 도 1의 시스템(100)에 도시된 바와 같이, 복수의 캡슐화된 데이터 베이스들(130, 135)이 배치될 수 있다. 본 발명의 다른 실시 예로써, 캡슐화된 데이터 베이스들(130, 135) 각각은 동일한 토픽 객체 계층 엔트리들을 갖도록 구성될 수 있다. 캡슐화된 데이터 베이스들(130, 135) 및 시스템(100) 각각에서 토픽 객체 계층 엔트리들은 일정하게 또는 적어도 호환되게 유지되므로, 각각의 데이터 베이스들로부터 요구되는 정보를 쉽게 획득할 수 있도록 데이터 객체-토픽 객체 계층 엔트리들의 페어링(pairing)이 사용될 수 있다. 폴더, 폼, 및 데이터 객체 계층들과 표준 레코드 구조는 회사, 사용자, 그리고/또는 케이스(case) 마다 각각 특징이 있으며, 하나의 캡슐화된 데이터 베이스(비슷하지 않은 사용으로 인해) 그리고 데이터 베이스들 사이(예를 들면, 캡슐화된 또는 캡슐화되지 않은)에서 변화할 수 있음이 이해될 것이다.
예를 들면, 즉석 메시지를 시스템(100)의 모든 캡슐화된 데이터 베이스들(130, 135)을 위한 토픽 객체 계층 엔트리로 정의하면, 사용자에 대한 즉석 메시지를 요청하는 것은 대단히 단순화된다. 데이터 베이스가 캡슐화 방법으로써 데이터 객체-토픽 객체 페어링(pairing)을 포함하도록 구성되지 않는 경우, 데 이터 베이스 또는 사용자가 다른 데이터 베이스들로부터 성공적으로 정보를 획득하기가 어렵다는 것은 해당 분야에 통상적인 기술을 가진 자에게 이해될 수 있다. 예를 들면, 캡슐화 방법으로써 토픽-데이터 객체 계층 페어링이 사용되지 않은 경우, 즉석 메시지 정보를 요청하는 것은 사용자가 상세한 폼 또는 레코드 구조의 지식 없이 복합적인 레코드 또는 폼을 검색하게 하므로 너무 포괄적이다.
캡슐화된 데이터 베이스들(130, 135)은 동일한 CIP(communication inferface protocol)를 이용하여 통신할 수 있다. 캡슐화된 데이터 베이스들과 외부 통신(예를 들면 연결어 있는 캡슐화된 데이터 베이스와)을 위해 동일한 CIP를 사용하는 경우, 상이한 내부 데이터 베이스 프로토콜(예를 들면 오라클)을 사용하는 데이터 베이스들도 서로 통신 및 정보 공유를 할 수 있음은 당업자에게 이해될 수 있다. 따라서, 캡슐화된 데이터 베이스들(130, 135) 각각은 통일한 CIP를 사용하도록 구성된다.
예를 들어, CIP는 도 5의 S500 단계에서 설명된 정보 요청 포맷(format) 그리고/또는 도 2의 S200 단계에서 설명된 정보 저장 요청을 포함할 수 있다. 따라서, 모든 캡슐화된 데이터 베이스들의 CIP를 표준화함으로써, 비싸고 상대적으로 비효율적인 데이터 베이스 포맷 변환 소프트웨어는 개발 및 실행될 필요가 없다.
사용자 메시지의 캡슐화된 데이터 베이스 전달
도 1의 시스템(100)의 캡슐화된 데이터 베이스들(130, 135)에 의해 사용자 메시지가 전달되는 예가 도 8 및 9를 참조하여 설명된다.
도 8은 본 발명의 실시 예에 따른 캡슐화된 데이터 베이스(130)에 의해 즉석 메시지가 전달되는 과정을 보여준다. 도 8을 참조하면, S800 단계에서, 사용자(105)는 캡슐화된 데이터 베이스(130)에 로그 온(log on)한다. 예를 들어, 사용자(105)는 도 3의 S300 단계의 인증에 의해 캡슐화된 데이터 베이스(130)에 로그 온 한다. 도 8에서, 사용자(105)는 캡슐화된 데이터 베이스(130)에 의해 유지되는 계정을 이미 가지고 있고, 사용자(110)에게 즉석 메시지(IM)를 보내고자 하는 것으로 가정한다.
S805 단계에서, 사용자(105)는 캡슐화된 데이터 베이스(130)의 CIP에 따라 즉석 메시지(IM)를 작성하고, 작성된 즉석 메시지(IM)를 캡슐화된 데이터 베이스(130)에 전송한다. S810 단계에서, 캡슐화된 데이터 베이스(130)는 즉석 메시지(IM)를 수신한다. S810 단계는 도 2의 S200 단계와 유사하다. 왜냐하면, 캡슐화된 데이터 베이스에 의해 즉석 메시지(IM)가 전달되는 것은 저장된 정보의 액세스가 즉석 메시지의 수령인에게 제한되도록, 하나 또는 그 이상의 캡슐화된 데이터 베이스에 정보를 저장 및 분산하는 것이기 때문이다.
S815 단계에서, 캡슐화된 데이터 베이스(130)는 즉석 메시지(IM)의 수령인이 캡슐화된 데이터 베이스(130)에 국부적으로 유지되는 계정을 갖는지 판별한다. 예를 들면, 즉석 메지지(IM)의 수령인은 사용자(110)일 수 있다. 사용자(110)가 국부적 계정을 갖는 것으로 판별되면, S820 단계가 수행된다. 상이한 캡슐화된 데이터 베이스들 사이의 즉석 메시지(IM) 전달 과정은 도 9를 참조하여 더 상세하게 설명 된다.
S820 단계에서, 캡슐화된 데이터 베이스(130)는 도 3을 참조하여 상세하게 설명된 도 2의 S205 단계를 수행한다. S820 단계에서, 사용자(105)는 S800 단계에서 이미 로그온 하였으므로, S300 단계의 인증이 수행될 필요는 없다. 따라서, 캡슐화된 데이터 베이스(130)는 도 3의 S305 단계와 같이 사용자(105)가 사용자(110)에게 즉석 메시지(IM)를 보내기에 충분한 권한을 갖는지 확인한다. 설명을 위해 사용자(105)가 충분한 권한을 갖는 것으로 가정하면, S825 단계가 수행된다.
S825 단계에서, 캡슐화된 데이터 베이스(130)는 즉석 메시지(IM)를 캡슐화하고, 사용자(110)를 위한 적절한 폴더/폼/토픽/데이터 객체 계층 엔트리들에 저장한다. S825 단계의 캡슐화는 도 2의 S210 단계 및 도 4를 참조하여 이미 설명되었으므로, 간결한 설명을 위해 더 이상 설명되지 않는다.
S830 단계에서, 사용자(110)는 S800 단계를 참조하여 설명한 것과 동일한 방법으로 캡슐화된 데이터 베이스(130)에 로그 온 한다. 캡슐화된 데이터 베이스(130)는 S830 단계의 로그 온을 사용자(110)가 캡슐화된 데이터 베이스(130)에 마지막으로 로그 온한 이후로 사용자(110)에게 전송된 새로운 즉석 메시지들(IM)의 수신 요청으로 간주한다. 따라서, S835 단계에서, 캡슐화된 데이터 베이스(130)는 즉석 메시지(IM)를 추출하여 사용자(110)에게 전송한다. 예시적으로, 읽지 않은 다른 즉석 메시지들도 함께 전송될 수 있다. 캡슐화된 정보의 추출은 도 5 내지 7을 참조하여 설명되었으며, 간결한 설명을 위해 더 이상 설명되지 않는다.
도 8에서, 사용자(110)는 즉석 메시지가 전송된 후에 캡슐화된 데이터 베이스(130)에 로그 온 한다. 그러나, 본 발명의 다른 예로써, S805 단계에서 사용자(105)가 메시지를 전송할 때, 사용자(110)는 이미 캡슐화된 데이터 베이스(130)에 로그 온한 상태일 수 있다. 이때, S825 단계의 캡슐화 후에 S835 단계가 수행되며, S830 단계의 로그 온은 요구되지 않는다.
상이한 캡슐화된 데이터 베이스들에 로그 온한 사용자들 사이의 메시지 전송
도 9는 본 발명의 다른 실시 예에 따른 캡슐화된 데이터 베이스들(130, 135) 및 디스커버리 서버(140)에 의한 즉석 메시지 전송 과정을 보여주는 순서도이다. 도 9를 참조하면, S900 단계 내지 S910 단계는 각각 도 8의 S800 단계 내지 S810 단계를 참조하여 설명한 것과 동일한 방법으로 수행된다. 따라서, 간결한 설명을 위하여 더 이상의 설명은 생략된다.
S915 단계에서, 캡슐화된 데이터 베이스(130)는 수신된 즉석 메시지(IM)의 수령자가 캡슐화된 데이터 베이스(130)에 국부적으로 유지되는 계정을 갖는지 판별한다. 예를 들어, 수신된 즉석 메시지(IM)의 수령자는 사용자(110)일 수 있다. 도 8의 S815 단계와 달리, S915 단계는 사용자(110)가 캡슐화된 데이터 베이스(130)에 국부적으로 유지되는 계정을 갖지 않는 것으로 판별한다. 캡슐화된 데이터 베이스(130)는 사용자(110)에 할당된 캡슐화된 데이터 베이스의 ID를 디스커버리 서버(140)에 요청한다.
디스커버리 서버(140)는 시스템(100)에서 캡슐화된 데이터 베이스들에 할당 된 사용자들의 목록을 유지한다. 예를 들면, 사용자가 로그 온 하거나 하나 또는 그 이상의 캡슐화된 데이터 베이스들에서 유지되는 계정을 갖는 경우, 하나 또는 그 이상의 캡슐화된 데이터 베이스들은 사용자들의 저장 장소에 대한 정보를 디스커버리 서버(140)에 보고한다. 디스커버리 서버(140)는 보고된 정보를 저장되어 있는 사용자 할당 목록에 추가한다.
따라서, S920 단계에서, 디스커버리 서버(140)는 사용자(110)의 저장 장소의 수신 요청을 전달받고, 저장되어 있는 사용자 할당 목록을 검색하고, 그리고 사용자(110)의 저장 장소의 정보를 캡슐화된 데이터 베이스(130)에 전달한다. 도 9의 실시 예에서, 디스커버리 서버(140)로부터 전달된 저장 장소는 캡슐화된 데이터 베이스(140)인 것으로 가정한다. 따라서, S925 단계에서, 캡슐화된 데이터 베이스(130)는 S905 단계에서 사용자(105)에 의해 전송된 즉석 메시지(IM)를 캡슐화된 데이터 베이스(135)에 전송한다.
S930 단계에서, 캡슐화된 데이터 베이스(135)는 전달된 즉석 메시지(IM)를 수신하고, 도 3을 참조하여 상세하게 설명된 도 2의 S205 단계를 수행한다. S900 단계에서 사용자(105)가 이미 로그 온 하였으므로, 도 3의 S300 단계의 인증은 수행될 필요가 없다. 따라서, 캡슐화된 데이터 베이스(135)는 사용자(105)가 즉석 메시지(IM)를 사용자(110)에게 보내기에 충분한 권한을 갖는지 입증한다. 예를 들면, 도 3의 S305 및S310 단계가 수행될 수 있다. 설명을 위하여 사용자(105)가 충분한 권한을 갖는 것으로 가정하면, S935 단계가 수행된다.
S935 단계에서, 캡슐화된 데이터 베이스(135)는 전달된 즉석 메시지(IM)를 캡슐화하고, 사용자(110)를 위한 적절한 폴더/폼/토픽/데이터 객체 계층에 저장한다. S935 단계의 캡슐화는 도 2의 S210 단계, 도 4, 그리고 도 8의 S825 단계를 참조하여 설명되었다. 따라서, 간결한 설명을 위하여 더 이상의 설명은 생략된다.
S940 단계에서, 사용자(110)는 도 8의 S800 및S830 단계와 도 9의 S900 단계를 참조하여 설명한 것과 동일한 방법으로 캡슐화된 데이터 베이스(135)에 로그 온 한다. 캡슐화된 데이터 베이스(130)는 S940 단계의 로그 온을 사용자(110)가 캡슐화된 데이터 베이스(135)에 마지막으로 로그 온한 이후에 사용자(110)에게 전송된 새로운 즉석 메시지들(IM)의 수신 요청으로 간주한다. 따라서, S945 단계에서, 캡슐화된 데이터 베이스(135)는 즉석 메시지(IM)를 추출하여 사용자(110)에게 전송한다. 캡슐화된 정보의 추출은 도 5 내지 7을 참조하여 설명되었으므로, 간결한 설명을 위하여 더 이상의 설명은 생략된다.
도 9에서, 사용자(110)는 즉석 메시지(IM)가 전송된 후에 캡슐화된 데이터 베이스에 로그 온 하는 것으로 도시되어 있다. 그러나, 본 발명에 따른 다른 실시 예로써, 캡슐화된 데이터 베이스(130)가 S925 단계에서 즉석 메시지를 전송할 때, 사용자(110)는 이미 로그 온한 상태일 수 있다. 이때, S935 단계의 캡슐화 이후에 S945 단계가 수행되며, S940 단계는 요구되지 않는다.
캡슐화된 데이터 베이스의 보안 특성
상술한 바와 같이, 캡슐화된 데이터 베이스 구조는 해커에 의한 공격으로부터 데이터를 보호하는 수동적 암호화 레벨을 제공한다. 종래의 레코드 저장은 성, 이름, 데이터 들의 모든 사용자 필드들을 데이터 베이스의 인접한 메모리 어드레스들에 저장한다.
반면, 본 발명의 실시 예에 따른 캡슐화된 데이터 베이스들(130, 135)은 상위 레벨 객체 계층들을 지정하는 하위 레벨 객체 계층들을 갖는 복합적인 계층적 객체 계층들을 포함한다. 상이한 레벨의 객체 계층들이 분할되어 저장되므로, 특정한 사용자의 정보는 캡슐화된 데이터 베이스들(130, 135)에 분산된다.
캡슐화는 그 자체로 암호화를 구성하지 않는다. 캡슐화는 특정한 객체 계층에 대응하는 테이블에 저장하기 위해, 메시지와 같은 정보를 객체 계층으로 분할하는 수동적 방식의 보안이다. 예를 들어, 테이블은 캡슐화된 데이터 베이스에서 객체 계층들 중 하나에 할당된 인접한 저장 장소 영역일 수 있다. 캡슐화된 데이터 베이스들(130, 135)의 테이블들에서 하위 객체 계층들이 상위 계층들을 나타내는 포인터들과 함께 저장되는 방식이 임의적(random)이지 않더라도, 수동적 보안 메커니즘(machanism)은 암호화의 한 형태로 작용한다. 다시 말하면, 캡슐화된 어드레스 할당 방식의 일부로써, 캡슐화된 데이터 베이스들(130, 135)의 상이한 저장 테이블들에 객체 계층들을 분리하는 것은 해커가 계층 구조의 상이한 객체 계층들에 걸쳐서 객체 계층들의 연관 관계를 획득하는 것을 어렵게 한다.
따라서, 캡슐화된 데이터 베이스들(130, 135)에 저장된 데이터를 얻거나 연관성을 얻기 위해, 해커는 계층 구조로 된 객체 계층의 각각의 객체 계층에서 객체 계층 엔트리들을 획득해야 한다. 계층 구조로 된 객체 계층에서 상이한 객체 계층들은 캡슐화된 데이터 베이스들(130, 135)에서만 액세스 가능한 포인터 키 알고리 즘으로 인코딩된 포인터에 의해 연계(link)된다. 따라서, 해커가 캡슐화된 데이터 베이스들(130, 135)로부터 모든 하드 드라이브(hard drive)들을 훔친 경우에도, 해커는 포인터 키 알고리즘 없이 저장된 데이터를 이해할 수 없다는 점이 이해될 것이다.
또한, 캡슐화된 데이터 베이스들(130, 135)의 어드레스 할당 및 저장 방식은 수동적 암호화 또는 수동적 보안을 제공하지만, 캡슐화된 데이터 베이스들(130, 135)에 적극적 암호화 또는 보안이 추가적으로 적용될 수 있음이 이해될 것이다. 예를 들어, 캡슐화된 데이터 베이스들(130, 135)은 잘 알려진 암호화 프로토콜로 암호화될 수 있다. 다른 예로써, 하위 레벨 객체 계층들에 저장된 포인터들은 추가적인 보호를 제공하기 위해 더 암호화 될 수 있다. 이러한 적극적 암호화 기술들은 당해 기술 분야에 잘 알려져 있으므로, 간결한 설명을 위하여 더 이상의 설명은 생략된다.
본 발명에 따른 실시 예는 다양한 방법으로 변형될 수 있음은 자명하다. 예를 들면, 상술한 실시 예는 시스템(100) 내의 두 개의 캡슐화된 데이터 베이스들을 참조하여 설명되었지만, 본 발명에 따른 실시 예는 다양한 수의 캡슐화된 데이터 베이스들에 적용될 수 있음이 이해될 것이다. 마찬가지로, 단순히 네 개의 객체 계층들(폴더, 폼, 토픽, 데이터)이 아닌, 다른 수 또는 형태의 객체 계층들이 사용될 수 있다. 이러한 변형은 본 발명의 실시 예로부터 벗어난 것은 아니며, 본 발명의 범위 내에 포함되는 것이다.
본 발명에 따른 캡슐화된 데이터 베이스, 캡슐화된 데이터 베이스의 메시지 전달 방법, 그리고 캡슐화된 데이터 베이스를 포함하는 통신 시스템은 객체 계층 엔트리들을 객체 계층 엔트리들의 상위 레벨의 객체 계층 엔트리들을 지정하는 포인터들과 함께 저장한다. 따라서, 수동적 보안이 제공된다. 본 발명에 따른 캡슐화된 데이터 베이스들 각각은 동일한 토픽 객체 계층을 사용한다. 따라서, 서로 다른 캡슐화된 데이터 베이스들에 저장되어 있는 정보들이 일정하게 검색될 수 있다.

Claims (21)

  1. 데이터 베이스에서 정보를 캡슐화하는 방법에 있어서:
    메시지를 상기 데이터 베이스 내의 복수의 객체 계층 엔트리로 분할하되, 상기 복수의 객체 계층 엔트리 각각은 상기 데이터 베이스 내에서 미리 설정된 계층 구조를 갖는 복수의 객체 계층 중에서 하나의 객체 계층의 일부를 형성하고;
    상기 복수의 객체 계층 엔트리 중 적어도 하나를 지정하는 적어도 하나의 포인터를 생성하고; 그리고
    상기 데이터 베이스 내의 인접하지 않은 저장 장소들에 상기 복수의 객체 계층 엔트리를 저장하되, 상기 복수의 객체 계층 엔트리 중 적어도 하나는 상기 생성된 적어도 하나의 포인터와 함께 저장되어, 상기 적어도 하나의 포인터가 상기 적어도 하나의 포인터와 함께 저장된 상기 적어도 하나의 객체 계층 엔트리보다, 상기 계층 구조로 된 객체 계층에 의해 결정된 바와 같이, 상위 레벨의 객체 계층 엔트리를 지정하도록 하는 것을 포함하는 캡슐화 방법.
  2. 제 1 항에 있어서,
    상기 데이터 베이스의 미리 설정된 저장 장소에 상기 메시지를 저장하거나 상기 데이터 베이스로부터 저장된 메시지를 회수할 것을 요청하는 통신 시스템의 통신 주체로부터 정보 저장 요청을 수신하는 것을 더 포함하는 캡슐화 방법.
  3. 제 2 항에 있어서,
    상기 데이터 베이스에서 상기 메시지를 분할하기 전에 또는 저장된 메시지를 회수하기 전에, 상기 통신 주체 및 정보 저장 요청에 권한을 부여하는 것을 더 포함하는 캡슐화 방법.
  4. 제 3 항에 있어서,
    상기 권한을 부여하는 것은:
    통신 주체를 인증하고, 그리고
    상기 통신 주체가 상기 요청된 저장 장소에 정보를 저장하기 위해 또는 미리 설정된 저장 장소로부터 정보를 추출하기 위해 요구되는 권한을 가지는지 판별하는 것을 포함하며, 상기 통신 주체가 권한을 부여받지 않았거나 요구되는 권한을 갖지 않는 경우, 상기 정보 저장 요청을 무시하는 것을 포함하는 캡슐화 방법.
  5. 제 1 항에 있어서,
    상기 분할하는 것은:
    상기 메시지의 출처 부서, 상기 메시지의 발송자, 상기 발송된 메시지의 형태, 그리고 상기 메시지의 내용에 연관된 객체 계층들 내의 복수의 계층 구조로 된 객체 계층 엔트리들로 상기 메시지를 분리하는 것을 더 포함하는 캡슐화 방법.
  6. 제 5 항에 있어서,
    최상위로부터 최하위까지의 객체 계층의 계층 순서는 부서, 발송자, 메시지의 형태, 그리고 내용이고,
    상기 발송자, 상기 메시지의 형태, 그리고 상기 내용 객체 계층들에 저장된 객체 계층 엔트리들은 대응하는 다음 상위 객체 계층들의 부서, 발송자, 그리고 메시지의 형태를 지정하는 포인터들을 포함하는 캡슐화 방법.
  7. 제 1 항에 있어서,
    N 개의 객체 계층들 및 N-1 개의 포인터들이 포함된 캡슐화 방법.
  8. 제 7 항에 있어서,
    상기 적어도 하나의 포인터를 생성하는 것은
    N-1 개의 객체 계층들과 함께 저장되며, 연관된 다음 상위 레벨 객체 계층을 식별하도록 구성된 N-1 개의 포인터들을 생성하기 위해 포인터 키 알고리즘을 수행하는 것을 포함하는 캡슐화 방법.
  9. 제 1 항에 있어서,
    미리 설정된 포인터는 상기 데이터 베이스에 상기 미리 설정된 포인터와 함께 저장되는 상기 미리 설정된 객체 계층 엔트리보다 하나 또는 그보다 많은 상위 객체 계층 엔트리들 방향으로 지정하는 캡슐화 방법.
  10. 삭제
  11. 삭제
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 복수의 사용자;
    각각 청구항 10에 기재된 바와 같이 구성된 복수의 캡슐화된 데이터 베이스; 그리고
    상기 캡슐화된 데이터 베이스들 중 하나에 로그 온 한 모든 사용자들을 위해, 캡슐화된 데이터 베이스들의 연관 관계를 유지하는 디스커버리 서버를 포함하고,
    상기 사용자들, 캡슐화된 데이터 베이스들, 그리고 디스커버리 서버 각각은 인터넷을 통해 서로 연결되거나 서로 접근가능하고,
    상기 캡슐화된 데이터 베이스들 각각은 서로 통신 및 정보 공유를 할 수 있도록, 적어도 외부 통신을 위해 동일한 통신 인터페이스 프로토콜을 사용하는 통신 시스템.
  17. 제 16 항에 있어서,
    상기 복수의 캡슐화된 데이터 베이스 각각은 내용과 연관된 제 1 객체 계층 및 내용의 형태를 식별하는 제 2 객체 계층을 포함하고, 상기 제 1 객체 계층은 상기 제 2 객체 계층과 비교하여 낮은 레벨의 객체 계층이며 상기 제 2 객체 계층을 지정하고, 그리고 상기 제 2 객체 계층에 의해 식별되는 상기 내용의 형태는 상기 복수의 캡슐화된 데이터 베이스 각각에서 동일한 통신 시스템.
  18. 통신 시스템에서 데이터 베이스가 제 1 사용자로부터 즉석 메시지를 제 2 사용자에게 전달하는 방법에서, 상기 제 2 사용자는 상기 제 1 사용자가 상기 즉석 메시지를 전송하기 위해 데이터 베이스에 로그 온한 때에 상기 데이터 베이스에 로그 온 하지 않고, 상기 방법은:
    상기 데이터 베이스에 의해 인식되는 공통적인 통신 인터페이스 프로토콜에 따라, 상기 제 1 사용자에 의해 상기 즉석 메시지를 구성하고;
    상기 구성된 즉석 메시지를 상기 데이터 베이스에 전송하고; 그리고,
    상기 데이터 베이스에서 상기 수신된 즉석 메시지를 캡슐화하는 것을 포함하며,
    상기 캡슐화하는 것은:
    상기 메시지를 상기 데이터 베이스 내의 복수의 객체 계층 엔트리로
    분할하되, 상기 복수의 객체 계층 엔트리 각각은 상기 데이터 베이스 내에서
    미리 설정된 계층 구조로 된 복수의 객체 계층 중에서 하나의 객체 계층의
    일부를 형성하도록 하고;
    상기 객체 계층 엔트리들 중 하나 또는 그보다 많은 객체 계층 엔트리
    들을 지정하는 하나 또는 그보다 많은 포인터들을 생성하고;
    상기 데이터 베이스 내의 인접하지 않은 저장 장소들에 상기 복수의
    객체 계층 엔트리를 저장하되, 미리 설정된 객체 계층 엔트리는 미리 설정된
    포인터와 함께 저장되어, 상기 미리 설정된 포인터가 상기 미리 설정된 포인
    터와 함께 저장된 상기 미리 설정된 객체 계층 엔트리보다, 상기 객체 계층
    구조에 의해 결정된 바와 같이, 상위 레벨의 객체 계층 엔트리를 지정 하도
    록 하고; 그리고
    상기 데이터 베이스에서, 상기 제 2 사용자에 의해 상기 데이터 베이
    스에 전달된 정보 요청에 부합하는 하나 또는 그보다 많은 미리 설정된 객체
    계층 엔트리들에 의거하여, 상기 제 2 사용자에게 전달하기 위한 상기 즉석
    메시지를 추출하는 것을 포함하는 즉석 메시지 전달 방법.
  19. 제 18 항에 있어서,
    상기 제 1 및 제 2 사용자들은 상기 데이터 베이스에 로그 온 함으로써 상기 데이터 베이스에 의해 권한 확인되고,
    상기 방법은 상기 수신된 즉석 메시지를 캡슐화하기 전에:
    상기 데이터 베이스에서, 상기 제 2 사용자가 상기 캡슐화된 데이터 베이스에 국부적으로 유지되는 계정을 갖는지 판별하고; 그리고
    상기 데이터 베이스에서, 상기 제 1 사용자가 상기 즉석 메시지를 상기 제 2 사용자에게 전송하기에 충분한 권한은 갖는지 판별하는 것을 더 포함하는 즉석 메시지 전달 방법.
  20. 삭제
  21. 데이터 베이스들에 접근할 수 있는 통신 시스템의 통신 주체들 사이의 메시지 통신을 용이하게 하기 위한 복수의 캡슐화된 데이터 베이스를 포함하고,
    상기 각각의 데이터 베이스는 수신된 메시지 내의 미리 설정된 필드들에 대응하는 복수의 객체 계층 엔트리 및 각각 상기 객체 계층 엔트리들 중 하나 또는 그보다 많은 객체 계층 엔트리를 지정하는 복수의 포인터를 포함하고,
    제 1 통신 주체로부터 미리 설정된 데이터 베이스에 수신된 상기 메시지는 상기 메시지 내의 상기 메시지의 출처 부서, 상기 메시지의 발송자, 상기 메시지의 형태, 그리고 내용에 연관된 객체 계층들의 계층 구조로 된 객체 계층 엔트리들로 분리되고, 상기 분리된 객체 계층 엔트리들 각각은 상기 미리 설정된 데이터 베이스의 인접하지 않은 저장 장소들에 저장되고, 최상위로부터 최하위까지의 상기 계 층의 순서는 부서, 발송자, 메시지의 형태, 그리고 내용이고,
    미리 설정된 객체 계층 엔트리는 미리 설정된 포인터와 함께 저장되어, 상기 미리 설정된 포인터가 상기 미리 설정된 포인터와 함께 저장된 상기 미리 설정된 객체 계층 엔트리보다, 객체 계층 구조에 의해 결정된 바와 같이, 상위 레벨의 객체 계층 엔트리를 지정하도록 하고,
    상기 메시지 객체 계층 엔트리들의 형태는 상기 시스템의 상기 데이터 베이스들 각각에서 동일하게 유지되고, 권한이 확인되었으며 상기 제 1 통신 주체로부터 전송되어 저장된 메시지의 검색을 요청하는 제 2 통신 주체를 위해, 형식-내용 객체 계층 엔트리들의 페어링(pairing)은 상기 데이터 베이스로부터 필요한 정보를 일정하게 검색할 수 있는 능력을 제공하는 통신 시스템.
KR1020087000164A 2005-07-05 2006-06-30 데이터 베이스에서 정보를 캡슐화하는 방법, 통신시스템에서 사용하기 위한 캡슐화된 데이터 베이스, 그리고시스템에서 데이터 베이스가 즉석 메시지를 전달하는 방법 KR101270663B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US59542905P 2005-07-05 2005-07-05
US60/595,429 2005-07-05
PCT/US2006/025897 WO2007005784A2 (en) 2005-07-05 2006-06-30 Encapsulating information in a database for use in a communication system

Publications (2)

Publication Number Publication Date
KR20080031253A KR20080031253A (ko) 2008-04-08
KR101270663B1 true KR101270663B1 (ko) 2013-06-03

Family

ID=37605116

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020087000164A KR101270663B1 (ko) 2005-07-05 2006-06-30 데이터 베이스에서 정보를 캡슐화하는 방법, 통신시스템에서 사용하기 위한 캡슐화된 데이터 베이스, 그리고시스템에서 데이터 베이스가 즉석 메시지를 전달하는 방법

Country Status (7)

Country Link
US (1) US7752231B2 (ko)
EP (1) EP1899802A2 (ko)
JP (1) JP4870160B2 (ko)
KR (1) KR101270663B1 (ko)
CN (1) CN101238434B (ko)
CA (1) CA2614303A1 (ko)
WO (1) WO2007005784A2 (ko)

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070174897A1 (en) * 2006-01-10 2007-07-26 Intel Corporation Method and apparatus for protecting data stored in data storage devices
US7689625B2 (en) * 2007-01-10 2010-03-30 Microsoft Corporation Taxonomy object modeling
US8104080B2 (en) * 2007-01-26 2012-01-24 Microsoft Corporation Universal schema for representing management policy
US20080184277A1 (en) * 2007-01-26 2008-07-31 Microsoft Corporation Systems management policy validation, distribution and enactment
US20080222515A1 (en) * 2007-02-26 2008-09-11 Microsoft Corporation Parameterized types and elements in xml schema
US7765241B2 (en) * 2007-04-20 2010-07-27 Microsoft Corporation Describing expected entity relationships in a model
US20110093343A1 (en) * 2009-10-21 2011-04-21 Hamid Hatami-Hanza System and Method of Content Generation
US20100011427A1 (en) * 2008-07-10 2010-01-14 Zayas Fernando A Information Storage Device Having Auto-Lock Feature
CN102129425B (zh) * 2010-01-20 2016-08-03 阿里巴巴集团控股有限公司 数据仓库中大对象集合表的访问方法及装置
WO2012110984A2 (en) * 2011-02-18 2012-08-23 Kanumuru Rahul Raju Global value networks
JP5393816B2 (ja) * 2012-02-08 2014-01-22 株式会社Nttドコモ 情報検索装置および情報検索方法
TWI495307B (zh) * 2013-03-14 2015-08-01 Realtek Semiconductor Corp 訊號準位決定裝置及方法
CN104065489B (zh) * 2013-03-20 2017-06-16 瑞昱半导体股份有限公司 信号电平决定装置及方法
CN105338044B (zh) * 2014-08-12 2020-02-11 腾讯科技(北京)有限公司 一种发布信息流的方法、装置和系统
US10244550B2 (en) * 2015-04-23 2019-03-26 Telefonaktiebolaget Lm Ericsson (Publ) Technique for scheduling transmission of content in an access network
US20170068822A1 (en) * 2015-09-03 2017-03-09 Bit Sphere Inc. Method for binding a software application's functionality to specific storage media
KR20200111687A (ko) * 2018-01-30 2020-09-29 엔캡사 테크놀로지 엘엘씨 다중의 이종 데이터 소스에서 정보를 캡슐화하고 저장하기 위한 방법 및 시스템

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5794039A (en) * 1996-12-18 1998-08-11 Unisys Corp. Method for abstracting messages of various protocols into objects for storage in a database

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2281396A1 (en) * 1998-10-30 2000-04-30 Philip William Gillis Method and apparatus for storing data as liquid information
AU2001245930A1 (en) * 2000-03-22 2001-10-03 Omnipod, Inc. Integrated system and method of providing online access to files and information
US7185105B2 (en) * 2001-05-11 2007-02-27 Bea Systems, Inc. Application messaging system with flexible message header structure

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5794039A (en) * 1996-12-18 1998-08-11 Unisys Corp. Method for abstracting messages of various protocols into objects for storage in a database

Also Published As

Publication number Publication date
JP2009500733A (ja) 2009-01-08
JP4870160B2 (ja) 2012-02-08
US7752231B2 (en) 2010-07-06
WO2007005784A2 (en) 2007-01-11
WO2007005784A3 (en) 2007-09-20
CA2614303A1 (en) 2007-01-11
CN101238434A (zh) 2008-08-06
US20070011193A1 (en) 2007-01-11
EP1899802A2 (en) 2008-03-19
CN101238434B (zh) 2011-12-28
KR20080031253A (ko) 2008-04-08

Similar Documents

Publication Publication Date Title
KR101270663B1 (ko) 데이터 베이스에서 정보를 캡슐화하는 방법, 통신시스템에서 사용하기 위한 캡슐화된 데이터 베이스, 그리고시스템에서 데이터 베이스가 즉석 메시지를 전달하는 방법
US10002151B2 (en) Client computer for updating a database stored on a server via a network
US7788222B2 (en) Information exchange engine providing a critical infrastructure layer and methods of use thereof
US7454421B2 (en) Database access control method, database access controller, agent processing server, database access control program, and medium recording the program
US8015214B2 (en) Method of encapsulating information in a database and an encapsulated database
US9558366B2 (en) Computer system for storing and retrieval of encrypted data items, client computer, computer program product and computer-implemented method
US20070011749A1 (en) Secure clipboard function
US8504590B2 (en) Methods of encapsulating information in records from two or more disparate databases
EP1757006A2 (en) Structure preserving database encryption method and system
US20210306139A1 (en) Restricted partial key storage
US10313371B2 (en) System and method for controlling and monitoring access to data processing applications
JP2007509574A (ja) 名前解決のためのシステムおよび方法
JP4119416B2 (ja) 文書管理システム、文書管理サーバ、文書再生端末、文書管理方法、文書再生方法、文書管理プログラム、及び文書再生プログラム
JP2003271438A (ja) アクセス管理プログラム及びシステム並びに方法
US20200117816A1 (en) Methods for securing and accessing a digital document
JP2001298447A (ja) 電子データ取得方法、電子データ払い出し方法及び記憶媒体
CN112632625A (zh) 数据库安全网关系统、数据处理方法、电子设备
KR20030006105A (ko) 공개키 관리 서버 시스템 및 공개키 관리 방법
KR20040099231A (ko) 프라이빗 다중 사용자의 선택적 공유를 지원하는 웹상의 하드 디스크 운용 방법

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160530

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170530

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20180521

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20190411

Year of fee payment: 7