KR20040104465A - 수직구조 레코드세트에서의 레코드 불러오기, 추가, 선택방법 및 장치 - Google Patents

수직구조 레코드세트에서의 레코드 불러오기, 추가, 선택방법 및 장치 Download PDF

Info

Publication number
KR20040104465A
KR20040104465A KR10-2004-7013494A KR20047013494A KR20040104465A KR 20040104465 A KR20040104465 A KR 20040104465A KR 20047013494 A KR20047013494 A KR 20047013494A KR 20040104465 A KR20040104465 A KR 20040104465A
Authority
KR
South Korea
Prior art keywords
records
vertical
data
tag
value
Prior art date
Application number
KR10-2004-7013494A
Other languages
English (en)
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 KR20040104465A publication Critical patent/KR20040104465A/ko

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/30Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
    • G06F16/81Indexing, e.g. XML tags; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • 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/99931Database or file accessing
    • 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/99931Database or file accessing
    • Y10S707/99932Access augmentation or optimizing
    • 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/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching
    • 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/99931Database or file accessing
    • Y10S707/99937Sorting
    • 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/99941Database schema or data structure
    • Y10S707/99943Generating database or data structure, e.g. via user interface
    • 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/99944Object-oriented database structure
    • 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/99944Object-oriented database structure
    • Y10S707/99945Object-oriented database structure processing
    • 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/99948Application of database or data structure, e.g. distributed, multimedia, or image

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Resources & Organizations (AREA)
  • General Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Software Systems (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Mathematical Physics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

다수의 수직구조 레벨과 다수의 수직구조 깊이를 가진(단계 204) 레코드들의 수직구조 세트에서 레코드들을 불러들이는(단계 202) 방법, 장치, 그리고 컴퓨터 판독형 매체가 공개된다. 이때, 각각의 레코드는 레코드들의 수직구조 세트 내에서 고유한 태그를 가지며, 상기 방법은,
- 레코드들의 수직구조 세트에서 레코드들 중 하나를 식별하고,
- 상기 태그를 수정하여 키를 생성하며,
- 레코드들의 수직구조 세트를 한번에 인덱싱하여(단계 208), 레코드들의 수직구조 세트 내에서 레코드들 중 한 개 이상을 선택하고, 이때, 레코드들의 수직구조 세트를 한번에 인덱싱하는 것은 레코드들의 수직구조 세트에 상기 키를 적용하며(단계 208), 그리고
- 선택된 레코드들을 불러들이는(단계 210)
단계들을 포함한다.

Description

수직구조 레코드세트에서의 레코드 불러오기, 추가, 선택 방법 및 장치{EFFICIENTLY STORING INDENTED THREADS IN THREADED APPLICATION}
수직구조형 데이터는 유용하고 대중적으로 인기가 있다. 이러한 데이터 세트들은 여러개의 레코드들로 구성되는 것이 일반적이다. 레코드들의 수직구조 세트에서, 레코드는 수직구조의 로우 레벨에 존재하는, 레코드에 관련된, 여러개의 "칠드런(children)"을 가질 수 있다. 이러한 레코드는 칠드런 레코드들의 "페어런트 레코드(parent record)"라 불린다. 레코드의 칠드런은 데이터베이스의 크기에 의해서만 제한되는 칠드런 등을 가질 수 있다. 단일 레코드의 칠드런 세트 내에서, 제 1 차일드, 제 2 차일드, 등등처럼, 칠드런의 순서를 정하는 것이 유용한 경우가 자주 있다.
오늘날까지, 이 수직구조 데이터 세트의 유용성은 데이터 관리에 가용한 툴들의 효율에 의해 제한받아왔다. 데이터베이스에 수직구조 데이터를 저장하는 종래의 방식들은 데이터베이스를 업데이트하고 데이터베이스에 질의하기 위해 여러 가지 값비싼 호출을 수반한다. 예를 들어, 한 레코드의 제 2 그랜드차일드를 선택하기 위해, 세 개의 질의가 필요하다. 제 1 질의는 레코드의 차일드(child)를 선택한다. 제 2 질의는 상기 차일드의 제 1 차일드를 선택한다. 제 3 질의는 상기 차일드의 제 2 차일드를 선택한다.
본 발명은 데이터 관리에 관한 것으로서, 특히 수직구조 방식으로 저장되는 데이터를 관리하는 분야에 관한 것이다.
도 1은 톱니형 스레디드 디스커션(indented threaded discussion)의 디스플레이 화면.
도 2는 한 구현에 따른 톱니형 스레디드 디스커션에서 메시지의 페어런트를 불러들이는 과정의 순서도.
도 3은 한 구현에 따른 톱니형 스레디드 디스커션에서 메시지의 칠드런을 불러들이는 과정의 순서도.
도 4는 한 구현에 따른 톱니형 스레디드 디스커션에 메시지를 추가하는 과정의 순서도.
일반적으로, 한 태양에서, 본 발명은 다수의 수직구조 레벨과 다수의 수직구조 깊이를 가진 레코드들의 수직구조 세트에서 레코드들을 불러들이는 방법, 장치, 그리고 컴퓨터 판독형 매체를 특징으로 한다. 이때, 각각의 레코드는 레코드들의 수직구조 세트 내에 고유한 태그를 가진다. 이 방법은,
- 레코드들의 수직구조 세트에서 레코드들 중 하나를 식별하고,
- 그 태그를 수정하여, 키를 생성하며,
- 레코드들의 수직구조 세트를 한번에 인덱싱하여, 레코드들의 수직 구조 세트 내에 레코드들 중 한 개 이상을 선택하고, 이때, 이러한 인덱싱은 레코드들의 수직구조 세트에 상기 키를 적용하는 과정을 포함하며, 그리고
- 선택된 레코드들을 불러들이는
단계를 포함한다. 특정 구현들은 다음의 특징들 중 한가지 이상을 포함할 수 있다. 상기 키 적용 과정은 상기 키와 부합하는 태그를 가진 레코드들의 수직구조 세트에서 레코드들 중 일부를 선택하는 과정을 포함한다. 레코드들 중 하나를 식별하는 단계는 사용자로부터 레코드들 중 상기 레코드의 선택을 수신하고, 사용자로부터 명령을 수신하는 단계들을 포함한다. 그리고 태그를 수정하는 단계는 사용자로부터의 명령을 바탕으로 한다.각각의 레코드는 한 개 이상의 필드를 가지며, 구현들은 불러들인 레코드들 각각의 필드를 디스플레이 장치 상에 디스플레이하는 단계를 포함하며, 이때, 디스플레이 장치 상에서 각 필드의 위치는 불러들인 레코드들 중 해당 레코드의 수직구조 깊이와 수직구조 레벨을 나타낸다. 각각의 태그는 다수의 자리(digits)를 가지는 수치이며, 이 자리(digits)들 각각의 위치는 수직구조 깊이들 중 하나를 표현한다. 이 자리(digits) 각각의 값은 수직구조 레벨들 중 하나를 표현한다. 또한 태그를 수정하는 것은 사용자로부터의 명령에 따라 자리들 중 한가지 이상을 선택하고, 사용자로부터의 명령에 따라 선택된 자리들의 값을 변화시키는 단계들을 포함한다. 각각의 태그는 다수의 자리들을 가지는 수치이고,
각 자리의 위치는 수직구조 깊이 중 하나를 나타내며,
각 자리의 값은 수직구조 레벨 중 하나를 나타내고, 그리고
사용자로부터의 명령은 식별된 레코드의 칠드런을 불러들이는 것을 요청하며,
태그를 수정하는 상기 단계는,
- 식별된 레코드의 수직구조 깊이에 대응하는 자리를 선택하고, 그리고
- 선택된 자리에 대응하는 수직구조 깊이 아래의 수직구조 깊이에 대응하는 각 자리의 값을 와일드카드 값으로 설정하는
단계들을 포함한다.
각각의 태그는 다수의 자리들을 가지는 수치이고,
각 자리의 위치는 수직구조 깊이 중 하나를 나타내며,
각 자리의 값은 수직구조 레벨 중 하나를 나타내고,
사용자로부터의 명령은 식별된 레코드의 페어런트를 불러오는 것을 요청하며,
태그를 수정하는 상기 단계는,
- 식별된 레코드의 수직구조 깊이에 대응하는 자리를 선택하고, 그리고
- 선택된 자리의 값을 널 값으로 설정하는
단계들을 포함한다. 각각의 레코드는 메시지와 폴더 중 하나를 나타낸다.
일반적으로, 한 태양에서, 발명은 다수의 수직구조 레벨과 다수의 수직구조 깊이를 가지는 레코드들의 수직구조 세트에 새 레코드를 추가하는 방법, 장치, 그리고 컴퓨터 판독형 매체를 포함하는 데, 이때, 레코드들의 수직구조 세트 내의 각각의 레코드는 레코드들의 수직구조 세트 내에서 고유한 태그를 가지며, 상기 방법은,
- 새 레코드의 페어런트로 레코드들의 수직구조 세트 내 레코드들 중 하나를 식별하고,
- 태그를 수정하여 키를 생성하며,
- 상기 키를 새 레코드에 추가하고, 그리고
- 레코드들의 수직구조 세트를 한번에 인덱싱하여, 레코드들의 수직구조 세트에 새 레코드를 추가하며, 이때, 레코드들의 수직구조 세트를 한번에 인덱싱하는 것은 레코드들의 수직구조 세트에 상기 키를 적용하는
단계를 포함한다.
특정 구현들은 다음 특징들 중 한가지 이상을 포함할 수 있다. 레코드들 중하나를 식별하는 단계는 사용자로부터 레코드들 중 상기 하나의 선택을 수신하는 단계를 포함한다. 각각의 태그는 다수의 자리들을 가지는 수치이고, 각 자리의 위치는 수직구조 깊이들 중 하나를 나타내며, 각 자리의 값은 수직구조 레벨들 중 하나를 나타내고, 식별된 레코드는 메시지를 나타내며,
레코드들 중 하나를 식별하는 것은 메시지에 대한 응답을 요청하는 사용자로부터의 명령을 수신하는 단계를 포함하고,
태그를 수정하는 것은,
- 식별된 레코드의 수직구조 깊이 바로 아래의 수직구조 깊이에 대응하는 자리를 선택하고, 그리고
- 선택된 자리의 값을 증분하는
단계를 포함한다. 레코드들의 수직구조 세트에 상기 키를 적용하는 것은, 상기 키와 부합하는 태그를 가진 레코드들의 수직구조 세트 내 레코드들을 선택하는 단계를 포함한다. 각각의 태그는 다수의 자리들을 포함하고, 각 자리의 위치는 수직구조 깊이 중 하나를 나타내며, 그리고 각 자리의 값은 수직구조 레벨 중 하나를 나타낸다.
일반적으로 한 태양에서, 발명은 다수의 수직구조 레벨들과 다수의 수직구조 깊이들을 가진 레코드들의 수직구조 세트에서 레코드들을 선택하는 방법, 장치, 그리고 컴퓨터 판독형 매체를 포함하는 데, 이때, 각각의 레코드는 레코드들의 수직구조 세트 내에서 고유한 태그를 가지며, 이 방법은,
- 레코드들의 수직구조 세트 내에서 레코드들 중 하나를 식별하고,
- 태그를 수정하며, 그리고
- 레코드들의 수직구조 세트를 한번에 인덱싱하여, 레코드들의 수직구조 세트 내에서 레코드들 중 한 개 이상을 선택하고, 이때, 레코드들의 수직구조 세트를 한번에 인덱싱하는 것은, 레코드들의 수직구조 세트에 수정된 태그를 적용하는
단계를 포함한다.
특정 구현들을 다음 특징들 중 한가지 이상을 포함할 수 있다. 각각의 태그는 다수의 자리들을 포함하고, 각 자리의 위치는 수직구조 깊이들 중 하나를 나타내며, 그리고 각 자리의 값은 수직구조 레벨들 중 하나를 나타낸다. 수정된 태그를 수직구조 세트에 적용하는 것은,
- 상기 키와 부합하는 태그를 가진 레코드들의 수직구조 세트 내의 레코드들을 선택하는
단계를 포함한다.
발명의 구현에서 나타날 수 있는 장점들은 다음 중 한가지 이상을 포함할 수 있다. 본 발명의 구현들은 데이터베이스에 한번만 액세스함으로서 톱니형 스레디드 디스커션을 나타내는 데이터베이스를 조작할 수 있다. 예를 들어, 메시지들이 질의나 호출같은 단일 데이터베이스 액세스를 통해 추가되고, 삭제되며, 불러들여질 수 있다.
*주: 본원 기재에서 톱니형이라는 것은 "indented"를 번역한 어구로서, 도 1의 도면에서처럼 각 항목의 첫단이 한단위, 두단위, 세단위 등으로 들어가서 전체적으로 톱니형으로 보이는 것을 의미한다.
한가지 공통적 형태의 수직구조 데이터는 톱니형 스레디드 디스커션(indented threaded discussion)이다. 인터넷 뉴스그룹에서만 처음에 나타났던 톱니형 스레디드 디스커션은 여러 참가자들 사이의 디스커션(discussion)을 관리하고 디스플레이하는 방식으로 폭넓은 호응을 받고 있다. 톱니형 스레디드 디스커션 관리 툴은 e-메일 소프트웨어 프로그램같은 소비자 제품에서 발견되고 있다.
도 1은 톱니형 스레디드 디스커션의 디스플레이 화면이다. 사용자가 여러 사용자에게 가용한 포럼(forum)으로 메시지(102)를 보낼 때 톱니형 스레디드 디스커션이 시작된다. 이때, 전송된 메시지는 또다른 메시지에 대한 답변 메시지가 아니다. 이러한 메시지는 디스커션의 "오리진(origin)" 메시지로 불린다. 오리진 메시지는 스레드의 헤드(head)를 구성한다. 따라서 메시지(102)는 디스커션의 오리진메시지이면서, 스레드의 헤드이다. 메시지에 대한 모든 답변들은 스레드의 파트(part)이다. 물론, 한 개의 포럼이 여러 가지 디스커션을 가질 수 있다.
사용자가 메시지에 대한 답변을 전송할 때, 답변은 메시지 아래에 오목하게 한번 들어가 디스플레이되는 것이 일반적이다. 답변을 가진 어떤 상위 메시지도 스레드의 헤드가 된다. 따라서 디스커션은 여러개의 스레드를 가질 수 있다. 스레드의 헤드는 답변이 달리는 상위 메시지에 대해 오목하게 한번 들어간다.
메시지(104)는 메시지(102)에 대한 답변이다. 따라서, 답변(104)은 메시지(102) 아래에 한단위 들어가 디스플레이된다(도 1 참조). 답변(104)에 대한 답변(106)은 한단위 더 들어가 디스플레이된다. 답변(106)에 대한 답변(108)은 또한번 들어가 디스플레이된다.
사용자가 오리진 메시지(102)에 또다른 답변(110)을 전송할 때, 한단위 들어간 위치에서, 메시지(104)와 그 칠드런(106, 108) 아래에 도시된다. 오리진 메시지(102)에 대한 또하나의 답변(112)이 한단위 들어가 도시되며, 메시지(110) 아래에 도시된다. 메시지(112)에 대한 답변(114)은 두단위 들어가 도시되며, 메시지(112) 아래에 도시된다.
도 1의 디스플레이 화면과 같은 전개에 의해, 사용자가 디스커션 수직구조의 구조를 신속하게 이해할 수 있고, 수직구조 내에서 각각의 메시지가 차지하는 위치를 손쉽게 이해할 수 있다. 수직구조 내에서 메시지의 위치가 2차원 형태의 수직구조(즉, 레벨 및 깊이)로 기술될 수 있다. 메시지의 깊이는 메시지를 지닌 스레드들의 수에 해당한다. 예를 들어 도 1에서, 메시지(108)의 깊이는 3이다. 왜냐하면,메시지(106, 104, 102)들을 헤드로 하는 스레드들이 메시지(108)를 지니기 때문이다. 메시지(102)같은 오리진 메시지의 깊이는 0이다.
특정 깊이에서의 메시지의 레벨은 상기 메시지에 선행하는 상기 특정 깊이에서의 메시지들의 수를 나타낸다. 예를 들어 도 1에서, 메시지(112)의 레벨은 3이다. 왜냐하면, 메시지는 1의 깊이를 가지며, 역시 1의 깊이를 가진 메시지(110, 104)들에 뒤따르기 때문이다. 각각의 수직구조 깊이 내의 선행성 순서는 인자들의 수나 그 조합들에 의해 결정될 수 있다. 스레디드 디스커션 그룹에서, 각 메시지의 전송 시간 및 일자에 의해 결정되는 메시지들의 시계열적 순서가 가장 흔하게 사용된다. 수직 구조 데이터 세트 내 레코드들이 폴더같은 컨테이너들을 나타낼 때, 폴더 명칭의 알파벳 순서가 사용될 수 있다. 추가적으로, 디스플레이 장치의 사용자는 레코드들 내 필드를 선택할 수 있고, 따라서, 상기 필드의 콘텐트로 하여금 선행도의 순서를 결정하게 할 수 있다. 메시지(102)같은 오리진 메시지의 레벨은 0이다.
도 1에서, 메시지(104, 110, 112)같은 단일 수직구조 레벨의 메시지는 시계열적 순서로 도시되며, 메시지의 칠드런은 상기 메시지 아래에, 그리고 동일한 수직구조 레벨에 놓인 다음 메시지 위에 나타난다. 사용자에게 디스플레이되는 메시지들은 표처럼 어떤 종류의 데이터베이스에 저장되는 것이 일반적이다. 표에서의 각각의 행은 메시지를 표현하고, 각각의 메시지는 제목, 글쓴이, 텍스트, 전송일자 등과 같은 여러 가지 필드들을 가진다. 각각의 열은 필드들 중 하나를 표현한다.
이러한 톱니형 스레디드 디스커션들을 관리하는 종래의 툴은 매우 비효율적이라고 알려져 있다. 표의 여러 행들이 새 메시지의 생성에 따라 업데이트되어야만 하고, 또는, 안쪽으로 들어간 스레드를 디스플레이하기 위해 여러 질의들이 실행되어야만 한다. 업데이트를 필요로하는 행들의 수는 스레드 내 메시지들의 수만큼 클 수 있다.
본 발명의 구현들은 레코드들의 수직구조 세트 내의 각각의 레코드에 태그를 상관시켜서, 레코드들의 수직구조 세트 내에서 태그가 고유한 것이 되도록 한다. 일반적으로 태그는 레코드들의 필드 중 하나이다. 표 1은 한구현에 따라 도 1의 디스커션을 나타내는 데이터베이스 표의 일부분이다.
표 1
태그 깊이 레벨 제목
0000 0 0 Bike Rides in the Bay Area
1000 1 1 Old La Honda
1100 2 1 re: Old La Honda
1110 3 1 re: re: Old La Honda
2000 1 2 Page Mill Road
3000 1 3 The Bears Loop
3100 2 1 re: The Bears Loop
각각의 태그는 다수의 자리들(digits)을 가지는 수치이며, 각각의 자리는 수직구조의 깊이를 나타낸다. 표 1의 수직구조는 네 개의 깊이(0, 1, 2, 3)를 가진다. 따라서 각각의 태그는 네자리를 가진다. 한 구현에서, 최대유효자리가 수직구조의 제 1 깊이를 나타내고, 다음번 자리가 수직구조의 제 2 깊이를 나타내며, 등등 하여 자리들을 배열한다. 이와 다른 구현들은 자리들의 이와 다른 배열을 이용한다.
각각의 자리의 값은 수직구조의 레벨을 나타낸다. 표 1의 수직구조가 4개의레벨을 가진다고 가정하자. 각각의 자리는 0부터 3까지 범위의 값을 가질 수 있다. 0 값은 메시지가 수직구조의 상기 깊이에 존재하지 않음을 나타낸다. 물론, 레벨 및 깊이들에 대한 다른 범위들도 가능하다. 이는 당 분야의 통상의 지식을 가진 자에게 있어 명백하게 이해될 것이다. 한가지 구현은 16개의 레벨과 16개의 깊이를 지원한다. 이 구현에서, 태그는 "big int"로 표현되는 16자리 16진수이고, 64비트 수가 -263~ +263까지 범위의 값들을 가진다.
각각의 테그는 수직구조 내 레코드의 위치를 고유하게 식별한다. 예를 들어, 태그 "3100"은 레코드가 오리진 메시지의 제 3 차일드의 제 1 차일드임을 보여준다.
공개되는 태그의 한가지 장점은 관련 레코드의 태그를 수정함으로서, 데이터베이스에 대한 인덱싱없이, 신속하고 용이하게 레코드의 태그를 결정할 수 있다는 점이다.
도 2는 한 구현에 따른 톱니형 스레디드 디스커션에서 메시지의 페어런트를 불러들이는 과정(200)의 순서도이다. 이 과정(200)은 사용자로부터 명령을 수신한다(단계 202). 이 명령은 메시지(108)를 식별하고, 메시지(108)의 페어런트를 불러오기 요청한다. 이 과정(200)은 키를 생성하기 위해 메시지(108)의 태그를 수정한다. 이를 위해, 과정(200)은 메시지(108)의 수직구조 깊이에 대응하는 자리를 선택한다(단계 204). 표 1을 참고할 때, 메시지(108)는 3의 깊이를 가진다. 따라서 과정(200)은 메시지(108)의 태그의 제 3 최대 유효 자리를 선택한다. 각 메시지의 깊이가 표에 저장될 필요는 없으나, 실시간으로 결정될 수 있다. 이때, 수직구조 깊이는 각각의 자리에 의해 표현된다. 수직구조의 깊이 증가에 따라 배열되는 자리들을 태그가 가질 때(표 1의 태그 참조), 0이 아닌 최소 유효 자리를 단순히 선택함으로서 메시지의 수직구조 깊이에 대응하는 자리를 선택할 수 있다.
과정(200)은 선택된 자리의 값을 널(null) 값으로 설정한다(단계 206). 표 1의 태그에서, 널 값은 0이다. 물론, 다른 값들로 널 값으로 선택될 수 있다. 결과적인 키는 "1100"이고, 이는 메시지(108)의 페어런트인 메시지(106)의 태그이다. 과정(200)은 상기 키를 데이터베이스에 적용함으로서 데이터베이스를 한번 인덱싱하여(단계 208), 메시지(106)에 대한 레코드를 선택한다. 과정(200)은 그후 메시지(106)를 불러들여(단계 210), 메시지(106)를 사용자에게 디스플레이한다(단계 212).
도 3은 한 구현에 따른 톱니형 스레디드 디스커션에서 메시지의 칠드런을 불러들이는 과정(300)의 순서도이다. 과정(300)은 사용자로부터 명령을 수신한다(단계 302). 이 명령은 메시지(104)를 식별하고 메시지(104)를 헤드로 하는 스레드의 모든 메시지들을 불러오도록 요청한다. 이 메시지들은 메시지(104)의 칠드런과, 메시지(104)의 칠드런의 칠드런 등을 포함한다.
과정(300)은 키를 생성하기 위해 메시지(104)의 태그를 수정한다. 이를 위해, 과정(300)은 메시지(104)의 수직구조 깊이에 대응하는 자리를 먼저 선택한다(단계 304). 표 1에서, 메시지(104)는 한 개의 깊이를 가진다. 따라서, 과정(300)은 메시지(104)의 태그의 최대 유효 자리를 선택한다. 과정(300)은 그후 선택된 자리의 수직구조 깊이 아래의 수직구조 깊이에 대응하는 각 자리의 값을 와일드카드 값으로 설정한다(308). 결과적인 키는 "1XXX"이고, 이때, X는 어떤 값에도 부합할 수 있는 와일드카드 값을 나타낸다.
한 구현에서, 데이터베이스에 키를 공급하는 것은 키와 부합하는 태그들을 가진 데이터베이스 내 모든 레코드들을 선택한다. 과정(300)은 데이터베이스에 키를 공급함으로서 한번에 데이터베이스를 인덱싱하며, 따라서, 메시지(104)를 헤드로 하는 스레드의 메시지들에 대한 레코드들을 선택한다. 표 1에서, 키 "1XXX"는 메시지(106, 108)에 대응하는 레코드들에 대한 태그와 부합한다. 과정(300)은 메시지(106, 108)들을 불러들이고(단계 312), 메시지(106, 108)를 사용자에게 디스플레이한다(단계 314).
과정(300)은 메시지를 삭제하는 데 사용될 수도 있다. 메시기가 삭제될 때, 그 모든 칠드런도 삭제된다. 과정(300)은 메시지와 그 칠드런 모두를 선택한다. 그후 선택된 메시지들에 대응하는 레코드들이 삭제된다.
도 4는 한 구현에 따른 톱니형 스레디드 디스커션에 메시지를 추가하는 과정(400)의 순서도이다. 과정은 사용자로부터 명령을 수신한다(단계 402). 이 명령은 메시지(114)를 식별하고, 메시지(114)에 대한 응답을 요청한다. 과정(400)은 키를 생성하기 위해 메시지(114)의 태그를 수정한다. 이를 위해, 과정(400)은 메시지(114)의 수직구조 깊이 바로 아래의 수직구조 깊이에 대응하는 자리를 먼저 선택한다(단계 404). 표 1에서, 메시지(114)는 2의 깊이를 가진다. 따라서, 과정(400)은 메시지(104)의 태그의 제 3 최대 유효 자리를 선택한다. 과정(400)은 그후 선택된자리의 값을 증분한다(단계 406). 결과적인 키는 "3110"이다. 과정(400)은 태그로 상기 키를 가지는 레코드를 데이터베이스에 추가함으로서 한번에 데이터베이스를 인덱싱한다(단계 408). 이 레코드는 새 메시지에 대응한다.
발명은 디지털 전자 회로, 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 또는 이들의 조합으로 구현될 수 있다. 발명의 장치는 프로그램형 프로세서에 의해 실행되는 기계판독형 저장 장치에서 유형으로 구현되는 컴퓨터 프로그램 프로덕트로 구현될 수 있다. 발명의 방법은 입력 데이터에 대해 동작하고 출력을 발생시킴으로서 발명의 기능들을 실행하기 위핸 명령들의 프로그램을 실행하는 프로그램형 프로세서에 의해 실행될 수 있다. 발명은 데이터 저장 시스템, 한 개 이상의 입력 장치, 그리고 한 개 이상의 출력 장치로부터 데이터 및 명령들을 수신하고 이들로부터 데이터 및 명령들을 전송하도록 연결된 한 개 이상의 프로그램형 프로세서를 포함하는 프로그램형 시스템에서 실행될 수 있는 한 개 이상의 컴퓨터 프로그램으로 구현되는 것이 바람직할 수 있다. 각각의 컴퓨터 프로그램은 하이-레벨 절차형 또는 객체-지향 프로그래밍 언어이거나 어셈블리 또는 기계어로 구현될 수 있다. 어떤 경우에도, 언어는 컴파일되거나 인터프리팅되는 언어일 수 있다. 적절한 프로세서로는 범용 마이크로프로세서와 전용 마이크로프로세서가 모두 가능하다. 일반적으로, 프로세서는 ROM과 RAM으로부터 명령과 데이터를 수신할 것이다. 일반적으로, 컴퓨터는 데이터 파일들을 저장하기 위한 한 개 이상의 대량 저장 장치를 포함할 것이다. 이러한 장치로는 내장형 하드디스크 및 탈착식 디스크같은 자기 디스크, 자기광학 디스크, 광학 디스크 등이 있다. 컴퓨터 프로그램 명령 및 데이터를 유형으로 구현하는 데 적합한 저장 장치들은 반도체 메모리 소자같은 모든 형태의 비휘발성 메모리를 포함한다. 예를 들어, EPROM, EEPROM, 플래시 메모리 디바이스, 자기디스크(내장형 하드디스크, 탈착식 디스크), 자기광학 디스크, 그리고 CD-ROM 디스크 등이 있다. 앞서 사항들 중 어느것도 ASIC에 의해 보완되거나 ASIC에 통합될 수 있다.

Claims (82)

  1. 다수의 수직구조 레벨과 다수의 수직구조 깊이를 가지는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 방법으로서, 이때, 각각의 레코드는 레코드들의 수직구조 세트 내에서 고유한 태그를 가지며, 상기 방법은,
    - 레코드들의 수직구조 세트에서 레코드들 중 하나를 식별하고,
    - 상기 태그를 수정하여 키를 생성하며,
    - 레코드들의 수직구조 세트를 한번에 인덱싱하여, 레코드들의 수직구조 세트 내에서 레코드들 중 한 개 이상을 선택하고, 이때, 레코드들의 수직구조 세트를 한번에 인덱싱하는 것은 레코드들의 수직구조 세트에 상기 키를 적용하며, 그리고
    - 선택된 레코드들을 불러들이는
    단계들을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 방법.
  2. 제 1 항에 있어서, 수직구조 세트에 상기 키를 적용하는 것은, 상기 키와 부합하는 태그를 가진 레코드들의 수직구조 세트 내의 레코드들을 선택하는 단계를 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 방법.
  3. 제 2 항에 있어서, 레코드들 중 하나를 식별하는 상기 단계는,
    - 사용자로부터 레코드들 중 상기 하나의 선택을 수신하고, 그리고
    - 사용자로부터 명령을 수신하는
    단계들을 포함하며, 그리고 태그를 수정하는 상기 단계는 사용자로부터의 명령을 바탕으로 하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 방법.
  4. 제 3 항에 있어서, 각각의 레코드는 한 개 이상의 필드를 가지며, 상기 방법은,
    - 불러들인 레코드들 각각의 필드를 디스플레이 장치 상에서 디스플레이하는
    단계를 포함하며, 이때, 디스플레이 장치 상의 각 필드의 위치는 불러들인 레코드들 중 해당하는 레코드의 수직구조 깊이와 수직구조 레벨을 나타내는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 방법.
  5. 제 2 항에 있어서,
    각각의 태그는 다수의 자리들을 가지는 수치이고,
    각 자리들의 위치는 수직구조 깊이 중 하나를 나타내며,
    각 자리의 값은 수직구조 레벨 중 하나를 나타내며, 그리고
    태그를 수정하는 단계는,
    - 사용자로부터의 명령에 따라 자리들 중 한 개 이상을 선택하고, 그리고
    - 사용자로부터의 명령에 따라 선택된 자리들의 값을 변경하는
    단계들을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 방법.
  6. 제 2 항에 있어서,
    각각의 태그는 다수의 자리들을 가지는 수치이고,
    각 자리의 위치는 수직구조 깊이 중 하나를 나타내며,
    각 자리의 값은 수직구조 레벨 중 하나를 나타내고, 그리고
    사용자로부터의 명령은 식별된 레코드의 칠드런을 불러들이는 것을 요청하며,
    태그를 수정하는 상기 단계는,
    - 식별된 레코드의 수직구조 깊이에 대응하는 자리를 선택하고, 그리고
    - 선택된 자리에 대응하는 수직구조 깊이 아래의 수직구조 깊이에 대응하는 각 자리의 값을 와일드카드 값으로 설정하는
    단계들을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 방법.
  7. 제 2 항에 있어서,
    각각의 태그는 다수의 자리들을 가지는 수치이고,
    각 자리의 위치는 수직구조 깊이 중 하나를 나타내며,
    각 자리의 값은 수직구조 레벨 중 하나를 나타내고,
    사용자로부터의 명령은 식별된 레코드의 페어런트를 불러오는 것을 요청하며,
    태그를 수정하는 상기 단계는,
    - 식별된 레코드의 수직구조 깊이에 대응하는 자리를 선택하고, 그리고
    - 선택된 자리의 값을 널 값으로 설정하는
    단계들을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 방법.
  8. 제 2 항에 있어서, 각각의 레코드는 메시지와 폴더 중 하나를 나타내는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 방법.
  9. 다수의 수직구조 레벨과 다수의 수직구조 깊이를 가지는 레코드들의 수직구조 세트에 새 레코드를 추가하는 방법으로서, 이때, 레코드들의 수직구조 세트 내의 각각의 레코드는 레코드들의 수직구조 세트 내에서 고유한 태그를 가지며, 상기 방법은,
    - 새 레코드의 페어런트로 레코드들의 수직구조 세트 내 레코드들 중 하나를 식별하고,
    - 태그를 수정하여 키를 생성하며,
    - 상기 키를 새 레코드에 추가하고, 그리고
    - 레코드들의 수직구조 세트를 한번에 인덱싱하여, 레코드들의 수직구조 세트에 새 레코드를 추가하며, 이때, 레코드들의 수직구조 세트를 한번에 인덱싱하는 것은 레코드들의 수직구조 세트에 상기 키를 적용하는
    단계를 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에 새 레코드를 추가하는 방법.
  10. 제 9 항에 있어서, 레코드들 중 하나를 식별하는 단계는 사용자로부터 레코드들 중 상기 하나의 선택을 수신하는 것을 특징으로 하는 레코드들의 수직구조 세트에 새 레코드를 추가하는 방법.
  11. 제 10 항에 있어서,
    각각의 태그는 다수의 자리들을 가지는 수치이고,
    각 자리의 위치는 수직구조 깊이들 중 하나를 나타내며,
    각 자리의 값은 수직구조 레벨들 중 하나를 나타내고,
    식별된 레코드는 메시지를 나타내며,
    레코드들 중 하나를 식별하는 것은 메시지에 대한 응답을 요청하는 사용자로부터의 명령을 수신하는 단계를 포함하고,
    태그를 수정하는 것은,
    - 식별된 레코드의 수직구조 깊이 바로 아래의 수직구조 깊이에 대응하는 자리를 선택하고, 그리고
    - 선택된 자리의 값을 증분하는
    단계를 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에 새 레코드를 추가하는 방법.
  12. 제 9 항에 있어서, 레코드들의 수직구조 세트에 상기 키를 적용하는 것은, 상기 키와 부합하는 태그를 가진 레코드들의 수직구조 세트 내 레코드들을 선택하는 단계를 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에 새 레코드를 추가하는 방법.
  13. 제 9 항에 있어서,
    각각의 태그는 다수의 자리들을 포함하고,
    각 자리의 위치는 수직구조 깊이 중 하나를 나타내며, 그리고
    각 자리의 값은 수직구조 레벨 중 하나를 나타내는 것을 특징으로 하는 레코드들의 수직구조 세트에 새 레코드를 추가하는 방법.
  14. 다수의 수직구조 레벨들과 다수의 수직구조 깊이들을 가진 레코드들의 수직구조 세트에서 레코드들을 선택하는 방법으로서, 이때, 각각의 레코드는 레코드들의 수직구조 세트 내에서 고유한 태그를 가지며, 이 방법은,
    - 레코드들의 수직구조 세트 내에서 레코드들 중 하나를 식별하고,
    - 태그를 수정하며, 그리고
    - 레코드들의 수직구조 세트를 한번에 인덱싱하여, 레코드들의 수직구조 세트 내에서 레코드들 중 한 개 이상을 선택하고, 이때, 레코드들의 수직구조 세트를 한번에 인덱싱하는 것은, 레코드들의 수직구조 세트에 수정된 태그를 적용하는
    단계를 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 선택하는 방법.
  15. 제 14 항에 있어서,
    각각의 태그는 다수의 자리들을 포함하고,
    각 자리의 위치는 수직구조 깊이들 중 하나를 나타내며, 그리고
    각 자리의 값은 수직구조 레벨들 중 하나를 나타내는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 선택하는 방법.
  16. 제 14 항에 있어서, 수정된 태그를 수직구조 세트에 적용하는 것은,
    - 상기 키와 부합하는 태그를 가진 레코드들의 수직구조 세트 내의 레코드들을 선택하는
    단계를 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 선택하는 방법.
  17. 다수의 수직구조 레벨들과 다수의 수직구조 깊이들을 가진 레코드들의 수직구조 세트에서 레코드들을 불러들이는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터로서, 이때, 각각의 레코드는 레코드들의 수직구조 세트 내에서 고유한태그를 가지며, 상기 과정은,
    - 레코드들의 수직구조 세트에서 레코드들 중 하나를 식별하고,
    - 상기 태그를 수정하여 키를 생성하며,
    - 레코드들의 수직구조 세트를 한번에 인덱싱하여, 레코드들의 수직구조 세트 내에서 레코드들 중 한 개 이상을 선택하고, 이때, 레코드들의 수직구조 세트를 한번에 인덱싱하는 것은 레코드들의 수직구조 세트에 상기 키를 적용하며, 그리고
    - 선택된 레코드들을 불러들이는
    단계들을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터.
  18. 제 17 항에 있어서, 수직구조 세트에 상기 키를 적용하는 것은, 상기 키와 부합하는 태그를 가진 레코드들의 수직구조 세트 내의 레코드들을 선택하는 단계를 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터.
  19. 제 18 항에 있어서, 레코드들 중 하나를 식별하는 상기 단계는,
    - 사용자로부터 레코드들 중 상기 하나의 선택을 수신하고, 그리고
    - 사용자로부터 명령을 수신하는
    단계들을 포함하며, 그리고 태그를 수정하는 상기 단계는 사용자로부터의 명령을 바탕으로 하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을불러들이는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터.
  20. 제 19 항에 있어서, 각각의 레코드는 한 개 이상의 필드를 가지며, 상기 과정은,
    - 불러들인 레코드들 각각의 필드를 디스플레이 장치 상에서 디스플레이하는
    단계를 포함하며, 이때, 디스플레이 장치 상의 각 필드의 위치는 불러들인 레코드들 중 해당하는 레코드의 수직구조 깊이와 수직구조 레벨을 나타내는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터.
  21. 제 18 항에 있어서,
    각각의 태그는 다수의 자리들을 가지는 수치이고,
    각 자리들의 위치는 수직구조 깊이 중 하나를 나타내며,
    각 자리의 값은 수직구조 레벨 중 하나를 나타내며, 그리고
    태그를 수정하는 단계는,
    - 사용자로부터의 명령에 따라 자리들 중 한 개 이상을 선택하고, 그리고
    - 사용자로부터의 명령에 따라 선택된 자리들의 값을 변경하는
    단계들을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터.
  22. 제 18 항에 있어서,
    각각의 태그는 다수의 자리들을 가지는 수치이고,
    각 자리의 위치는 수직구조 깊이 중 하나를 나타내며,
    각 자리의 값은 수직구조 레벨 중 하나를 나타내고, 그리고
    사용자로부터의 명령은 식별된 레코드의 칠드런을 불러들이는 것을 요청하며,
    태그를 수정하는 상기 단계는,
    - 식별된 레코드의 수직구조 깊이에 대응하는 자리를 선택하고, 그리고
    - 선택된 자리에 대응하는 수직구조 깊이 아래의 수직구조 깊이에 대응하는 각 자리의 값을 와일드카드 값으로 설정하는
    단계들을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터.
  23. 제 18 항에 있어서,
    각각의 태그는 다수의 자리들을 가지는 수치이고,
    각 자리의 위치는 수직구조 깊이 중 하나를 나타내며,
    각 자리의 값은 수직구조 레벨 중 하나를 나타내고,
    사용자로부터의 명령은 식별된 레코드의 페어런트를 불러오는 것을 요청하며,
    태그를 수정하는 상기 단계는,
    - 식별된 레코드의 수직구조 깊이에 대응하는 자리를 선택하고, 그리고
    - 선택된 자리의 값을 널 값으로 설정하는
    단계들을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터.
  24. 제 18 항에 있어서, 각각의 레코드는 메시지와 폴더 중 하나를 나타내는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터.
  25. 다수의 수직구조 레벨과 다수의 수직구조 깊이를 가지는 레코드들의 수직구조 세트에 새 레코드를 추가하는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터로서, 이때, 레코드들의 수직구조 세트 내의 각각의 레코드는 레코드들의 수직구조 세트 내에서 고유한 태그를 가지며, 상기 과정은,
    - 새 레코드의 페어런트로 레코드들의 수직구조 세트 내 레코드들 중 하나를 식별하고,
    - 태그를 수정하여 키를 생성하며,
    - 상기 키를 새 레코드에 추가하고, 그리고
    - 레코드들의 수직구조 세트를 한번에 인덱싱하여, 레코드들의 수직구조 세트에 새 레코드를 추가하며, 이때, 레코드들의 수직구조 세트를 한번에 인덱싱하는 것은 레코드들의 수직구조 세트에 상기 키를 적용하는
    단계를 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에 새 레코드를 추가하는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터.
  26. 제 25 항에 있어서, 레코드들 중 하나를 식별하는 단계는 사용자로부터 레코드들 중 상기 하나의 선택을 수신하는 것을 특징으로 하는 레코드들의 수직구조 세트에 새 레코드를 추가하는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터.
  27. 제 26 항에 있어서,
    각각의 태그는 다수의 자리들을 가지는 수치이고,
    각 자리의 위치는 수직구조 깊이들 중 하나를 나타내며,
    각 자리의 값은 수직구조 레벨들 중 하나를 나타내고,
    식별된 레코드는 메시지를 나타내며,
    레코드들 중 하나를 식별하는 것은 메시지에 대한 응답을 요청하는 사용자로부터의 명령을 수신하는 단계를 포함하고,
    태그를 수정하는 것은,
    - 식별된 레코드의 수직구조 깊이 바로 아래의 수직구조 깊이에 대응하는 자리를 선택하고, 그리고
    - 선택된 자리의 값을 증분하는
    단계를 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에 새 레코드를 추가하는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터.
  28. 제 25 항에 있어서, 레코드들의 수직구조 세트에 상기 키를 적용하는 것은, 상기 키와 부합하는 태그를 가진 레코드들의 수직구조 세트 내 레코드들을 선택하는 단계를 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에 새 레코드를 추가하는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터.
  29. 제 25 항에 있어서,
    각각의 태그는 다수의 자리들을 포함하고,
    각 자리의 위치는 수직구조 깊이 중 하나를 나타내며, 그리고
    각 자리의 값은 수직구조 레벨 중 하나를 나타내는 것을 특징으로 하는 레코드들의 수직구조 세트에 새 레코드를 추가하는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터.
  30. 다수의 수직구조 레벨들과 다수의 수직구조 깊이들을 가진 레코드들의 수직구조 세트에서 레코드들을 선택하는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터로서, 이때, 각각의 레코드는 레코드들의 수직구조 세트 내에서 고유한 태그를 가지며, 이 과정은,
    - 레코드들의 수직구조 세트 내에서 레코드들 중 하나를 식별하고,
    - 태그를 수정하며, 그리고
    - 레코드들의 수직구조 세트를 한번에 인덱싱하여, 레코드들의 수직구조 세트 내에서 레코드들 중 한 개 이상을 선택하고, 이때, 레코드들의 수직구조 세트를 한번에 인덱싱하는 것은, 레코드들의 수직구조 세트에 수정된 태그를 적용하는
    단계를 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 선택하는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터.
  31. 제 30 항에 있어서,
    각각의 태그는 다수의 자리들을 포함하고,
    각 자리의 위치는 수직구조 깊이들 중 하나를 나타내며, 그리고
    각 자리의 값은 수직구조 레벨들 중 하나를 나타내는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 선택하는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터.
  32. 제 30 항에 있어서, 수정된 태그를 수직구조 세트에 적용하는 것은,
    - 상기 키와 부합하는 태그를 가진 레코드들의 수직구조 세트 내의 레코드들을 선택하는
    단계를 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 선택하는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터.
  33. 다수의 수직구조 레벨과 다수의 수직구조 깊이를 가지는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 장치로서, 이때, 각각의 레코드는 레코드들의수직구조 세트 내에서 고유한 태그를 가지며, 상기 장치는,
    - 레코드들의 수직구조 세트에서 레코드들 중 하나를 식별하는 식별 수단,
    - 상기 태그를 수정하여 키를 생성하는 수정 수단,
    - 레코드들의 수직구조 세트를 한번에 인덱싱하여, 레코드들의 수직구조 세트 내에서 레코드들 중 한 개 이상을 선택하는 인덱싱 수단으로서, 이때, 상기 인덱싱 수단은 레코드들의 수직구조 세트에 상기 키를 적용하는 적용 수단을 포함하는, 이러한 인덱싱 수단, 그리고
    - 선택된 레코드들을 불러들이는 불러오기 수단
    을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 장치.
  34. 제 33 항에 있어서, 수직구조 세트에 상기 키를 적용하는 수단은, 상기 키와 부합하는 태그를 가진 레코드들의 수직구조 세트 내의 레코드들을 선택하는 수단을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 장치.
  35. 제 34 항에 있어서, 상기 식별 수단은,
    - 사용자로부터 레코드들 중 상기 하나의 선택을 수신하는 수단, 그리고
    - 사용자로부터 명령을 수신하는 수단
    을 포함하며, 그리고 태그를 수정하는 것은 사용자로부터의 명령을 바탕으로하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 장치.
  36. 제 35 항에 있어서, 각각의 레코드는 한 개 이상의 필드를 가지며, 상기 장치는,
    - 불러들인 레코드들 각각의 필드를 디스플레이 장치 상에서 디스플레이하는 수단
    을 추가로 포함하며, 이때, 디스플레이 장치 상의 각 필드의 위치는 불러들인 레코드들 중 해당하는 레코드의 수직구조 깊이와 수직구조 레벨을 나타내는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 장치.
  37. 제 34 항에 있어서,
    각각의 태그는 다수의 자리들을 가지는 수치이고,
    각 자리들의 위치는 수직구조 깊이 중 하나를 나타내며,
    각 자리의 값은 수직구조 레벨 중 하나를 나타내며, 그리고
    태그를 수정하는 상기 수정 수단은,
    - 사용자로부터의 명령에 따라 자리들 중 한 개 이상을 선택하는 수단, 그리고
    - 사용자로부터의 명령에 따라 선택된 자리들의 값을 변경하는 수단
    을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을불러들이는 장치.
  38. 제 34 항에 있어서,
    각각의 태그는 다수의 자리들을 가지는 수치이고,
    각 자리의 위치는 수직구조 깊이 중 하나를 나타내며,
    각 자리의 값은 수직구조 레벨 중 하나를 나타내고, 그리고
    사용자로부터의 명령은 식별된 레코드의 칠드런을 불러들이는 것을 요청하며,
    태그를 수정하는 상기 수정 수단은,
    - 식별된 레코드의 수직구조 깊이에 대응하는 자리를 선택하는 수단, 그리고
    - 선택된 자리에 대응하는 수직구조 깊이 아래의 수직구조 깊이에 대응하는 각 자리의 값을 와일드카드 값으로 설정하는 수단
    을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 장치.
  39. 제 34 항에 있어서,
    각각의 태그는 다수의 자리들을 가지는 수치이고,
    각 자리의 위치는 수직구조 깊이 중 하나를 나타내며,
    각 자리의 값은 수직구조 레벨 중 하나를 나타내고,
    사용자로부터의 명령은 식별된 레코드의 페어런트를 불러오는 것을 요청하며,
    태그를 수정하는 상기 수정 수단은,
    - 식별된 레코드의 수직구조 깊이에 대응하는 자리를 선택하는 수단, 그리고
    - 선택된 자리의 값을 널 값으로 설정하는 수단
    을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 장치.
  40. 제 34 항에 있어서, 각각의 레코드는 메시지와 폴더 중 하나를 나타내는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 장치.
  41. 다수의 수직구조 레벨과 다수의 수직구조 깊이를 가지는 레코드들의 수직구조 세트에 새 레코드를 추가하는 장치로서, 이때, 레코드들의 수직구조 세트 내의 각각의 레코드는 레코드들의 수직구조 세트 내에서 고유한 태그를 가지며, 상기 장치는,
    - 새 레코드의 페어런트로 레코드들의 수직구조 세트 내 레코드들 중 하나를 식별하는 식별 수단,
    - 태그를 수정하여 키를 생성하는 수정 수단,
    - 상기 키를 새 레코드에 추가하는 추가 수단, 그리고
    - 레코드들의 수직구조 세트를 한번에 인덱싱하여, 레코드들의 수직구조 세트에 새 레코드를 추가하는 인덱싱 수단으로서, 이때, 상기 인덱싱 수단은 레코드들의 수직구조 세트에 상기 키를 적용하는 적용 수단을 포함하는, 이러한 인덱싱 수단
    을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에 새 레코드를 추가하는 장치.
  42. 제 41 항에 있어서, 레코드들 중 하나를 식별하는 수단은 사용자로부터 레코드들 중 상기 하나의 선택을 수신하는 수단을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에 새 레코드를 추가하는 장치.
  43. 제 42 항에 있어서,
    각각의 태그는 다수의 자리들을 가지는 수치이고,
    각 자리의 위치는 수직구조 깊이들 중 하나를 나타내며,
    각 자리의 값은 수직구조 레벨들 중 하나를 나타내고,
    식별된 레코드는 메시지를 나타내며,
    레코드들 중 하나를 식별하는 수단은 메시지에 대한 응답을 요청하는 사용자로부터의 명령을 수신하는 수단을 포함하고,
    태그를 수정하는 수단은,
    - 식별된 레코드의 수직구조 깊이 바로 아래의 수직구조 깊이에 대응하는 자리를 선택하는 수단, 그리고
    - 선택된 자리의 값을 증분하는 수단
    을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에 새 레코드를 추가하는 장치.
  44. 제 41 항에 있어서, 레코드들의 수직구조 세트에 상기 키를 적용하는 수단은, 상기 키와 부합하는 태그를 가진 레코드들의 수직구조 세트 내 레코드들을 선택하는 수단을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에 새 레코드를 추가하는 장치.
  45. 제 41 항에 있어서,
    각각의 태그는 다수의 자리들을 포함하고,
    각 자리의 위치는 수직구조 깊이 중 하나를 나타내며, 그리고
    각 자리의 값은 수직구조 레벨 중 하나를 나타내는 것을 특징으로 하는 레코드들의 수직구조 세트에 새 레코드를 추가하는 장치.
  46. 다수의 수직구조 레벨들과 다수의 수직구조 깊이들을 가진 레코드들의 수직구조 세트에서 레코드들을 선택하는 장치로서, 이때, 각각의 레코드는 레코드들의 수직구조 세트 내에서 고유한 태그를 가지며, 이 장치는,
    - 레코드들의 수직구조 세트 내에서 레코드들 중 하나를 식별하는 식별 수단,
    - 태그를 수정하는 수정 수단, 그리고
    - 레코드들의 수직구조 세트를 한번에 인덱싱하여, 레코드들의 수직구조 세트 내에서 레코드들 중 한 개 이상을 선택하는 인덱싱 수단으로서, 이때, 상기 인덱싱 수단은 레코드들의 수직구조 세트에 수정된 태그를 적용하는 적용 수단을 포함하는, 이러한 인덱싱 수단
    을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 선택하는 장치.
  47. 제 46 항에 있어서,
    각각의 태그는 다수의 자리들을 포함하고,
    각 자리의 위치는 수직구조 깊이들 중 하나를 나타내며, 그리고
    각 자리의 값은 수직구조 레벨들 중 하나를 나타내는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 선택하는 장치.
  48. 제 46 항에 있어서, 수정된 태그를 수직구조 세트에 적용하는 상기 수단은,
    - 상기 키와 부합하는 태그를 가진 레코드들의 수직구조 세트 내의 레코드들을 선택하는 수단
    을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 선택하는 장치.
  49. 다수의 수직구조 레벨들과 다수의 수직구조 깊이들을 가진 레코드들의 수직구조 세트에서 레코드들을 불러들이는 과정을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체로서, 이때, 각각의 레코드는 레코드들의 수직구조 세트 내에서 고유한 태그를 가지며, 상기 과정은,
    - 레코드들의 수직구조 세트에서 레코드들 중 하나를 식별하고,
    - 상기 태그를 수정하여 키를 생성하며,
    - 레코드들의 수직구조 세트를 한번에 인덱싱하여, 레코드들의 수직구조 세트 내에서 레코드들 중 한 개 이상을 선택하고, 이때, 레코드들의 수직구조 세트를 한번에 인덱싱하는 것은 레코드들의 수직구조 세트에 상기 키를 적용하며, 그리고
    - 선택된 레코드들을 불러들이는
    단계들을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 과정을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체.
  50. 제 49 항에 있어서, 수직구조 세트에 상기 키를 적용하는 것은, 상기 키와 부합하는 태그를 가진 레코드들의 수직구조 세트 내의 레코드들을 선택하는 단계를 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 과정을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체.
  51. 제 50 항에 있어서, 레코드들 중 하나를 식별하는 상기 단계는,
    - 사용자로부터 레코드들 중 상기 하나의 선택을 수신하고, 그리고
    - 사용자로부터 명령을 수신하는
    단계들을 포함하며, 그리고 태그를 수정하는 상기 단계는 사용자로부터의 명령을 바탕으로 하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 과정을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체.
  52. 제 51 항에 있어서, 각각의 레코드는 한 개 이상의 필드를 가지며, 상기 과정은,
    - 불러들인 레코드들 각각의 필드를 디스플레이 장치 상에서 디스플레이하는
    단계를 포함하며, 이때, 디스플레이 장치 상의 각 필드의 위치는 불러들인 레코드들 중 해당하는 레코드의 수직구조 깊이와 수직구조 레벨을 나타내는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 과정을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체.
  53. 제 50 항에 있어서,
    각각의 태그는 다수의 자리들을 가지는 수치이고,
    각 자리들의 위치는 수직구조 깊이 중 하나를 나타내며,
    각 자리의 값은 수직구조 레벨 중 하나를 나타내며, 그리고
    태그를 수정하는 단계는,
    - 사용자로부터의 명령에 따라 자리들 중 한 개 이상을 선택하고, 그리고
    - 사용자로부터의 명령에 따라 선택된 자리들의 값을 변경하는
    단계들을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 과정을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체.
  54. 제 50 항에 있어서,
    각각의 태그는 다수의 자리들을 가지는 수치이고,
    각 자리의 위치는 수직구조 깊이 중 하나를 나타내며,
    각 자리의 값은 수직구조 레벨 중 하나를 나타내고, 그리고
    사용자로부터의 명령은 식별된 레코드의 칠드런을 불러들이는 것을 요청하며,
    태그를 수정하는 상기 단계는,
    - 식별된 레코드의 수직구조 깊이에 대응하는 자리를 선택하고, 그리고
    - 선택된 자리에 대응하는 수직구조 깊이 아래의 수직구조 깊이에 대응하는 각 자리의 값을 와일드카드 값으로 설정하는
    단계들을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 과정을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체.
  55. 제 50 항에 있어서,
    각각의 태그는 다수의 자리들을 가지는 수치이고,
    각 자리의 위치는 수직구조 깊이 중 하나를 나타내며,
    각 자리의 값은 수직구조 레벨 중 하나를 나타내고,
    사용자로부터의 명령은 식별된 레코드의 페어런트를 불러오는 것을 요청하며,
    태그를 수정하는 상기 단계는,
    - 식별된 레코드의 수직구조 깊이에 대응하는 자리를 선택하고, 그리고
    - 선택된 자리의 값을 널 값으로 설정하는
    단계들을 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 과정을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체.
  56. 제 50 항에 있어서, 각각의 레코드는 메시지와 폴더 중 하나를 나타내는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 불러들이는 과정을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체.
  57. 다수의 수직구조 레벨과 다수의 수직구조 깊이를 가지는 레코드들의 수직구조 세트에 새 레코드를 추가하는 과정을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체로서, 이때, 레코드들의 수직구조 세트 내의 각각의 레코드는 레코드들의 수직구조 세트 내에서 고유한 태그를 가지며, 상기 과정은,
    - 새 레코드의 페어런트로 레코드들의 수직구조 세트 내 레코드들 중 하나를 식별하고,
    - 태그를 수정하여 키를 생성하며,
    - 상기 키를 새 레코드에 추가하고, 그리고
    - 레코드들의 수직구조 세트를 한번에 인덱싱하여, 레코드들의 수직구조 세트에 새 레코드를 추가하며, 이때, 레코드들의 수직구조 세트를 한번에 인덱싱하는 것은 레코드들의 수직구조 세트에 상기 키를 적용하는
    단계를 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에 새 레코드를 추가하는 과정을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체.
  58. 제 57 항에 있어서, 레코드들 중 하나를 식별하는 단계는 사용자로부터 레코드들 중 상기 하나의 선택을 수신하는 것을 특징으로 하는 레코드들의 수직구조 세트에 새 레코드를 추가하는 과정을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체.
  59. 제 58 항에 있어서,
    각각의 태그는 다수의 자리들을 가지는 수치이고,
    각 자리의 위치는 수직구조 깊이들 중 하나를 나타내며,
    각 자리의 값은 수직구조 레벨들 중 하나를 나타내고,
    식별된 레코드는 메시지를 나타내며,
    레코드들 중 하나를 식별하는 것은 메시지에 대한 응답을 요청하는 사용자로부터의 명령을 수신하는 단계를 포함하고,
    태그를 수정하는 것은,
    - 식별된 레코드의 수직구조 깊이 바로 아래의 수직구조 깊이에 대응하는 자리를 선택하고, 그리고
    - 선택된 자리의 값을 증분하는
    단계를 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에 새 레코드를 추가하는 과정을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체.
  60. 제 57 항에 있어서, 레코드들의 수직구조 세트에 상기 키를 적용하는 것은, 상기 키와 부합하는 태그를 가진 레코드들의 수직구조 세트 내 레코드들을 선택하는 단계를 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에 새 레코드를 추가하는 과정을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체.
  61. 제 57 항에 있어서,
    각각의 태그는 다수의 자리들을 포함하고,
    각 자리의 위치는 수직구조 깊이 중 하나를 나타내며, 그리고
    각 자리의 값은 수직구조 레벨 중 하나를 나타내는 것을 특징으로 하는 레코드들의 수직구조 세트에 새 레코드를 추가하는 과정을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체.
  62. 다수의 수직구조 레벨들과 다수의 수직구조 깊이들을 가진 레코드들의 수직구조 세트에서 레코드들을 선택하는 과정을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체로서, 이때, 각각의 레코드는 레코드들의 수직구조 세트 내에서 고유한 태그를 가지며, 이 과정은,
    - 레코드들의 수직구조 세트 내에서 레코드들 중 하나를 식별하고,
    - 태그를 수정하며, 그리고
    - 레코드들의 수직구조 세트를 한번에 인덱싱하여, 레코드들의 수직구조 세트 내에서 레코드들 중 한 개 이상을 선택하고, 이때, 레코드들의 수직구조 세트를 한번에 인덱싱하는 것은, 레코드들의 수직구조 세트에 수정된 태그를 적용하는
    단계를 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 선택하는 과정을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체.
  63. 제 62 항에 있어서,
    각각의 태그는 다수의 자리들을 포함하고,
    각 자리의 위치는 수직구조 깊이들 중 하나를 나타내며, 그리고
    각 자리의 값은 수직구조 레벨들 중 하나를 나타내는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 선택하는 과정을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체.
  64. 제 62 항에 있어서, 수정된 태그를 수직구조 세트에 적용하는 것은,
    - 상기 키와 부합하는 태그를 가진 레코드들의 수직구조 세트 내의 레코드들을 선택하는
    단계를 포함하는 것을 특징으로 하는 레코드들의 수직구조 세트에서 레코드들을 선택하는 과정을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체.
  65. 다수의 수직구조 레벨과 다수의 수직구조 깊이를 가진 수직구조 데이터 내 한 데이터를 태그(tagging)하는 방법으로서, 이 방법은,
    - 데이터의 수직구조 레벨을 결정하고,
    - 데이터의 수직구조 깊이를 결정하며, 그리고
    - 상기 데이터에 한 개의 태그를 할당하는
    단계들을 포함하고, 상기 할당 단계는,
    - 데이터의 인접 페어런트를 결정하고,
    - 데이터의 인접 페어런트의 태그를 선택하며, 이때, 상기 태그는 수직구조 데이터 세트의 수직구조 깊이 중 하나를 각기 표현하는 여러 자리들을 가진 수치이며,
    - 데이터의 수직구조 깊이를 나타내는 선택된 태그의 자리를 선택하고, 그리고
    - 데이터의 수직구조 레벨을 나타내는 값을 선택된 자리에 할당하는
    단계들을 포함하는 것을 특징으로 하는 수직구조 데이터 내 한 데이터를 태그(tagging)하는 방법.
  66. 제 65 항에 있어서, 한 개의 값을 선택된 자리에 할당하는 상기 단계는,
    - 이미 태그된 데이터의 인접 페어런트의 칠드런 수를 결정하고,
    - 증분된 수치를 얻기 위해 칠드런의 수를 증분하며, 그리고
    - 선택된 자리의 값을 증분된 수치의 값과 동일하게 설정하는
    단계를 포함하는 것을 특징으로 하는 수직구조 데이터 내 한 데이터를 태그(tagging)하는 방법.
  67. 제 65 항에 있어서,
    각각의 데이터는 한 개의 메시지를 나타내고,
    데이터의 차일드는 상기 데이터에 의해 표현되는 메시지에 대한 답변을 나타내며,
    데이터의 페어런트는 상기 데이터에 의해 표현되는 답변이 달리게되는 메시지를 나타내는 것을 특징으로 하는 수직구조 데이터 내 한 데이터를 태그(tagging)하는 방법.
  68. 제 65 항에 있어서,
    각각의 데이터는 컨테이너를 나타내고,
    데이터의 차일드는 상기 데이터에 의해 표현되는 컨테이너 내의 컨테이너를 나타내며,
    데이터의 페어런트는 상기 데이터에 의해 표현되는 컨테이너를 지닌 컨테이너를 나타내는 것을 특징으로 하는 수직구조 데이터 내 한 데이터를 태그(tagging)하는 방법.
  69. 다수의 수직구조 레벨과 다수의 수직구조 깊이를 가진 수직구조 데이터 내 한 데이터를 태그(tagging)하는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터로서, 이 과정은,
    - 데이터의 수직구조 레벨을 결정하고,
    - 데이터의 수직구조 깊이를 결정하며, 그리고
    - 상기 데이터에 한 개의 태그를 할당하는
    단계들을 포함하고, 상기 할당 단계는,
    - 데이터의 인접 페어런트를 결정하고,
    - 데이터의 인접 페어런트의 태그를 선택하며, 이때, 상기 태그는 수직구조 데이터 세트의 수직구조 깊이 중 하나를 각기 표현하는 여러 자리들을 가진 수치이며,
    - 데이터의 수직구조 깊이를 나타내는 선택된 태그의 자리를 선택하고, 그리고
    - 데이터의 수직구조 레벨을 나타내는 값을 선택된 자리에 할당하는
    단계들을 포함하는 것을 특징으로 하는 수직구조 데이터 내 한 데이터를 태그(tagging)하는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터.
  70. 제 69 항에 있어서, 한 개의 값을 선택된 자리에 할당하는 상기 단계는,
    - 이미 태그된 데이터의 인접 페어런트의 칠드런 수를 결정하고,
    - 증분된 수치를 얻기 위해 칠드런의 수를 증분하며, 그리고
    - 선택된 자리의 값을 증분된 수치의 값과 동일하게 설정하는
    단계를 포함하는 것을 특징으로 하는 수직구조 데이터 내 한 데이터를 태그(tagging)하는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터.
  71. 제 69 항에 있어서,
    각각의 데이터는 한 개의 메시지를 나타내고,
    데이터의 차일드는 상기 데이터에 의해 표현되는 메시지에 대한 답변을 나타내며,
    데이터의 페어런트는 상기 데이터에 의해 표현되는 답변이 달리게되는 메시지를 나타내는 것을 특징으로 하는 수직구조 데이터 내 한 데이터를 태그(tagging)하는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터.
  72. 제 69 항에 있어서,
    각각의 데이터는 컨테이너를 나타내고,
    데이터의 차일드는 상기 데이터에 의해 표현되는 컨테이너 내의 컨테이너를 나타내며,
    데이터의 페어런트는 상기 데이터에 의해 표현되는 컨테이너를 지닌 컨테이너를 나타내는 것을 특징으로 하는 수직구조 데이터 내 한 데이터를 태그(tagging)하는 과정을 실행하도록 프로그래밍된 한 개 이상의 컴퓨터.
  73. 다수의 수직구조 레벨과 다수의 수직구조 깊이를 가진 수직구조 데이터 내 한 데이터를 태그(tagging)하는 장치로서, 이 장치는,
    - 데이터의 수직구조 레벨을 결정하는 수단,
    - 데이터의 수직구조 깊이를 결정하는 수단, 그리고
    - 상기 데이터에 한 개의 태그를 할당하는 수단
    을 포함하고, 상기 할당 수단은,
    - 데이터의 인접 페어런트를 결정하는 수단,
    - 데이터의 인접 페어런트의 태그를 선택하는 수단으로서, 이때, 상기 태그는 수직구조 데이터 세트의 수직구조 깊이 중 하나를 각기 표현하는 여러 자리들을 가진 수치인, 이러한 수단,
    - 데이터의 수직구조 깊이를 나타내는 선택된 태그의 자리를 선택하는 수단, 그리고
    - 데이터의 수직구조 레벨을 나타내는 값을 선택된 자리에 할당하는 수단
    을 포함하는 것을 특징으로 하는 수직구조 데이터 내 한 데이터를 태그(tagging)하는 장치.
  74. 제 73 항에 있어서, 한 개의 값을 선택된 자리에 할당하는 상기 수단은,
    - 이미 태그된 데이터의 인접 페어런트의 칠드런 수를 결정하는 수단,
    - 증분된 수치를 얻기 위해 칠드런의 수를 증분하는 수단, 그리고
    - 선택된 자리의 값을 증분된 수치의 값과 동일하게 설정하는 수단
    을 포함하는 것을 특징으로 하는 수직구조 데이터 내 한 데이터를 태그(tagging)하는 장치.
  75. 제 73 항에 있어서,
    각각의 데이터는 한 개의 메시지를 나타내고,
    데이터의 차일드는 상기 데이터에 의해 표현되는 메시지에 대한 답변을 나타내며,
    데이터의 페어런트는 상기 데이터에 의해 표현되는 답변이 달리게되는 메시지를 나타내는 것을 특징으로 하는 수직구조 데이터 내 한 데이터를 태그(tagging)하는 장치.
  76. 제 73 항에 있어서,
    각각의 데이터는 컨테이너를 나타내고,
    데이터의 차일드는 상기 데이터에 의해 표현되는 컨테이너 내의 컨테이너를 나타내며,
    데이터의 페어런트는 상기 데이터에 의해 표현되는 컨테이너를 지닌 컨테이너를 나타내는 것을 특징으로 하는 수직구조 데이터 내 한 데이터를 태그(tagging)하는 장치.
  77. 다수의 수직구조 레벨과 다수의 수직구조 깊이를 가진 수직구조 데이터 내 한 데이터를 태그(tagging)하는 방법을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체로서, 이 방법은,
    - 데이터의 수직구조 레벨을 결정하고,
    - 데이터의 수직구조 깊이를 결정하며, 그리고
    - 상기 데이터에 한 개의 태그를 할당하는
    단계들을 포함하고, 상기 할당 단계는,
    - 데이터의 인접 페어런트를 결정하고,
    - 데이터의 인접 페어런트의 태그를 선택하며, 이때, 상기 태그는 수직구조 데이터 세트의 수직구조 깊이 중 하나를 각기 표현하는 여러 자리들을 가진 수치이며,
    - 데이터의 수직구조 깊이를 나타내는 선택된 태그의 자리를 선택하고, 그리고
    - 데이터의 수직구조 레벨을 나타내는 값을 선택된 자리에 할당하는
    단계들을 포함하는 것을 특징으로 하는 수직구조 데이터 내 한 데이터를 태그(tagging)하는 방법을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체.
  78. 제 77 항에 있어서, 한 개의 값을 선택된 자리에 할당하는 상기 단계는,
    - 이미 태그된 데이터의 인접 페어런트의 칠드런 수를 결정하고,
    - 증분된 수치를 얻기 위해 칠드런의 수를 증분하며, 그리고
    - 선택된 자리의 값을 증분된 수치의 값과 동일하게 설정하는
    단계를 포함하는 것을 특징으로 하는 수직구조 데이터 내 한 데이터를 태그(tagging)하는 방법을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체.
  79. 제 77 항에 있어서,
    각각의 데이터는 한 개의 메시지를 나타내고,
    데이터의 차일드는 상기 데이터에 의해 표현되는 메시지에 대한 답변을 나타내며,
    데이터의 페어런트는 상기 데이터에 의해 표현되는 답변이 달리게되는 메시지를 나타내는 것을 특징으로 하는 수직구조 데이터 내 한 데이터를 태그(tagging)하는 방법을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체.
  80. 제 77 항에 있어서,
    각각의 데이터는 컨테이너를 나타내고,
    데이터의 차일드는 상기 데이터에 의해 표현되는 컨테이너 내의 컨테이너를 나타내며,
    데이터의 페어런트는 상기 데이터에 의해 표현되는 컨테이너를 지닌 컨테이너를 나타내는 것을 특징으로 하는 수직구조 데이터 내 한 데이터를 태그(tagging)하는 방법을 실행하도록 컴퓨터에 의해 실행되는 명령들을 유형으로 구현하는 컴퓨터 판독형 매체.
  81. 다수의 수직구조 레벨과 다수의 수직구조 깊이를 가진 수직구조 데이터 세트 내의 한 데이터에 대한 고유 태그로서, 이 태그는
    - 수직구조 데이터 세트의 수직구조 깊이 중 하나를 각기 표현하는 다수의 자리들을 가진 수치
    를 포함하며, 이때,
    0이 아닌 최소 유효 자리의 위치는 데이터의 수직구조 깊이를 나타내고,
    0이 아닌 최소 유효 자리의 값은 데이터의 수직구조 레벨을 나타내며,
    0이 아닌 최소 유효 자리보다 높은 자리들은 데이터의 페어런트를 나타내는 것을 특징으로 하는 수직구조 데이터 세트 내의 한 데이터에 대한 고유 태그.
  82. 데이터 처리 시스템에서 실행되는 응용 프로그램에 의해 액세스하기 위한 데이터를 저장하는 메모리로서, 이 메모리는
    - 메모리에 저장된 데이터 구조
    를 포함하고, 이 데이터 구조는 다수의 수직구조 레벨과 다수의 수직구조 깊이를 가진 수직구조 데이터 세트를 포함하며, 상기 수직구조 데이터 세트는 데이터에 대한 고유 태그를 포함하고, 이 태그는
    - 수직구조 데이터 세트의 수직구조 깊이 중 하나를 각기 표현하는 다수의 자리들을 가진 수치
    를 포함하며, 이때,
    0이 아닌 최소 유효 자리의 위치는 데이터의 수직구조 깊이를 나타내고,
    0이 아닌 최소 유효 자리의 값은 데이터의 수직구조 레벨을 나타내며,
    0이 아닌 최소 유효 자리보다 높은 자리들은 데이터의 페어런트를 나타내는 것을 특징으로 하는 데이터 처리 시스템에서 실행되는 응용 프로그램에 의해 액세스하기 위한 데이터를 저장하는 메모리.
KR10-2004-7013494A 2002-02-28 2003-02-28 수직구조 레코드세트에서의 레코드 불러오기, 추가, 선택방법 및 장치 KR20040104465A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US10/085,780 US7031977B2 (en) 2002-02-28 2002-02-28 Efficiently storing indented threads in a threaded discussion application
US10/085,780 2002-02-28
PCT/US2003/006694 WO2003073263A1 (en) 2002-02-28 2003-02-28 Efficiently storing indented threads in threaded application

Publications (1)

Publication Number Publication Date
KR20040104465A true KR20040104465A (ko) 2004-12-10

Family

ID=27753712

Family Applications (1)

Application Number Title Priority Date Filing Date
KR10-2004-7013494A KR20040104465A (ko) 2002-02-28 2003-02-28 수직구조 레코드세트에서의 레코드 불러오기, 추가, 선택방법 및 장치

Country Status (8)

Country Link
US (8) US7031977B2 (ko)
EP (1) EP1485791A4 (ko)
JP (1) JP2005519370A (ko)
KR (1) KR20040104465A (ko)
CN (1) CN100416491C (ko)
AU (1) AU2003213723A1 (ko)
CA (1) CA2477733A1 (ko)
WO (1) WO2003073263A1 (ko)

Families Citing this family (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7031977B2 (en) * 2002-02-28 2006-04-18 Plumtree Software, Inc. Efficiently storing indented threads in a threaded discussion application
GB0315156D0 (en) * 2003-06-28 2003-08-06 Ibm Identification system and method
US9819624B2 (en) 2004-03-31 2017-11-14 Google Inc. Displaying conversations in a conversation-based email system
US7912904B2 (en) * 2004-03-31 2011-03-22 Google Inc. Email system with conversation-centric user interface
US7814155B2 (en) 2004-03-31 2010-10-12 Google Inc. Email conversation management system
US7269621B2 (en) 2004-03-31 2007-09-11 Google Inc. Method system and graphical user interface for dynamically updating transmission characteristics in a web mail reply
KR100457325B1 (ko) * 2004-07-09 2004-11-17 엔에이치엔(주) 메세지 송수신 및 게시 시스템 및 송수신 및 게시 방법
US7979501B1 (en) 2004-08-06 2011-07-12 Google Inc. Enhanced message display
US8042037B1 (en) * 2004-10-29 2011-10-18 Glovia International, Inc. Sequencing of markup language documents
US8055715B2 (en) * 2005-02-01 2011-11-08 i365 MetaLINCS Thread identification and classification
US9002725B1 (en) 2005-04-20 2015-04-07 Google Inc. System and method for targeting information based on message content
US8745485B2 (en) * 2005-08-18 2014-06-03 Oracle International Corporation Extensible remote tag markup system and method
US8225231B2 (en) 2005-08-30 2012-07-17 Microsoft Corporation Aggregation of PC settings
US7949714B1 (en) * 2005-12-05 2011-05-24 Google Inc. System and method for targeting advertisements or other information using user geographical information
US8601004B1 (en) 2005-12-06 2013-12-03 Google Inc. System and method for targeting information items based on popularities of the information items
US20070226295A1 (en) * 2006-03-23 2007-09-27 Nokia Corporation Method and apparatuses for retrieving messages
US20080281863A1 (en) * 2007-05-10 2008-11-13 Hewlett-Packard Development Company, L.P. Repository system and method
US20090083338A1 (en) * 2007-09-21 2009-03-26 Microsoft Corporation Synchronization of electronic postings
US20100087173A1 (en) * 2008-10-02 2010-04-08 Microsoft Corporation Inter-threading Indications of Different Types of Communication
US8385952B2 (en) 2008-10-23 2013-02-26 Microsoft Corporation Mobile communications device user interface
US20100107100A1 (en) 2008-10-23 2010-04-29 Schneekloth Jason S Mobile Device Style Abstraction
US8411046B2 (en) 2008-10-23 2013-04-02 Microsoft Corporation Column organization of content
US8355698B2 (en) 2009-03-30 2013-01-15 Microsoft Corporation Unlock screen
US8238876B2 (en) 2009-03-30 2012-08-07 Microsoft Corporation Notifications
US8175653B2 (en) 2009-03-30 2012-05-08 Microsoft Corporation Chromeless user interface
US8836648B2 (en) 2009-05-27 2014-09-16 Microsoft Corporation Touch pull-in gesture
US9361604B2 (en) 2010-09-23 2016-06-07 Avaya Inc. System and method for a context-based rich communication log
US20120159395A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Application-launching interface for multiple modes
US20120159383A1 (en) 2010-12-20 2012-06-21 Microsoft Corporation Customization of an immersive environment
US8612874B2 (en) 2010-12-23 2013-12-17 Microsoft Corporation Presenting an application change through a tile
US8689123B2 (en) 2010-12-23 2014-04-01 Microsoft Corporation Application reporting in an application-selectable user interface
US9423951B2 (en) 2010-12-31 2016-08-23 Microsoft Technology Licensing, Llc Content-based snap point
US9026591B2 (en) 2011-02-28 2015-05-05 Avaya Inc. System and method for advanced communication thread analysis
US9383917B2 (en) 2011-03-28 2016-07-05 Microsoft Technology Licensing, Llc Predictive tiling
US20120284648A1 (en) * 2011-04-21 2012-11-08 Michael John Marshall Cascading Data Displays and Methods
US9158445B2 (en) 2011-05-27 2015-10-13 Microsoft Technology Licensing, Llc Managing an immersive interface in a multi-application immersive environment
US20120304132A1 (en) 2011-05-27 2012-11-29 Chaitanya Dev Sareen Switching back to a previously-interacted-with application
US9104307B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
US8893033B2 (en) 2011-05-27 2014-11-18 Microsoft Corporation Application notifications
US9104440B2 (en) 2011-05-27 2015-08-11 Microsoft Technology Licensing, Llc Multi-application environment
US8583654B2 (en) 2011-07-27 2013-11-12 Google Inc. Indexing quoted text in messages in conversations to support advanced conversation-based searching
KR101801359B1 (ko) * 2011-07-28 2017-11-24 엘지전자 주식회사 이동 단말기
US8687023B2 (en) 2011-08-02 2014-04-01 Microsoft Corporation Cross-slide gesture to select and rearrange
US20130057587A1 (en) 2011-09-01 2013-03-07 Microsoft Corporation Arranging tiles
US10353566B2 (en) 2011-09-09 2019-07-16 Microsoft Technology Licensing, Llc Semantic zoom animations
US9557909B2 (en) 2011-09-09 2017-01-31 Microsoft Technology Licensing, Llc Semantic zoom linguistic helpers
US8922575B2 (en) 2011-09-09 2014-12-30 Microsoft Corporation Tile cache
US9146670B2 (en) 2011-09-10 2015-09-29 Microsoft Technology Licensing, Llc Progressively indicating new content in an application-selectable user interface
US9244802B2 (en) 2011-09-10 2016-01-26 Microsoft Technology Licensing, Llc Resource user interface
US8933952B2 (en) 2011-09-10 2015-01-13 Microsoft Corporation Pre-rendering new content for an application-selectable user interface
US9223472B2 (en) 2011-12-22 2015-12-29 Microsoft Technology Licensing, Llc Closing applications
US9128605B2 (en) 2012-02-16 2015-09-08 Microsoft Technology Licensing, Llc Thumbnail-image selection of applications
US9600132B2 (en) * 2012-11-27 2017-03-21 Microsoft Technology Licensing, Llc Using custom RTF commands to extend chat functionality
US9450952B2 (en) 2013-05-29 2016-09-20 Microsoft Technology Licensing, Llc Live tiles without application-code execution
EP3126969A4 (en) 2014-04-04 2017-04-12 Microsoft Technology Licensing, LLC Expandable application representation
WO2015154273A1 (en) 2014-04-10 2015-10-15 Microsoft Technology Licensing, Llc Collapsible shell cover for computing device
EP3129847A4 (en) 2014-04-10 2017-04-19 Microsoft Technology Licensing, LLC Slider cover for computing device
US9396354B1 (en) 2014-05-28 2016-07-19 Snapchat, Inc. Apparatus and method for automated privacy protection in distributed images
US9537811B2 (en) 2014-10-02 2017-01-03 Snap Inc. Ephemeral gallery of ephemeral messages
US9113301B1 (en) 2014-06-13 2015-08-18 Snapchat, Inc. Geo-location based event gallery
US10254942B2 (en) 2014-07-31 2019-04-09 Microsoft Technology Licensing, Llc Adaptive sizing and positioning of application windows
US10678412B2 (en) 2014-07-31 2020-06-09 Microsoft Technology Licensing, Llc Dynamic joint dividers for application windows
US10592080B2 (en) 2014-07-31 2020-03-17 Microsoft Technology Licensing, Llc Assisted presentation of application windows
US10642365B2 (en) 2014-09-09 2020-05-05 Microsoft Technology Licensing, Llc Parametric inertia and APIs
US10824654B2 (en) 2014-09-18 2020-11-03 Snap Inc. Geolocation-based pictographs
US10284508B1 (en) 2014-10-02 2019-05-07 Snap Inc. Ephemeral gallery of ephemeral messages with opt-in permanence
WO2016065568A1 (en) 2014-10-30 2016-05-06 Microsoft Technology Licensing, Llc Multi-configuration input device
US10311916B2 (en) 2014-12-19 2019-06-04 Snap Inc. Gallery of videos set to an audio time line
US9385983B1 (en) 2014-12-19 2016-07-05 Snapchat, Inc. Gallery of messages from individuals with a shared interest
US10133705B1 (en) 2015-01-19 2018-11-20 Snap Inc. Multichannel system
KR102035405B1 (ko) 2015-03-18 2019-10-22 스냅 인코포레이티드 지오-펜스 인가 프로비저닝
US10135949B1 (en) 2015-05-05 2018-11-20 Snap Inc. Systems and methods for story and sub-story navigation
US10354425B2 (en) 2015-12-18 2019-07-16 Snap Inc. Method and system for providing context relevant media augmentation
US10582277B2 (en) 2017-03-27 2020-03-03 Snap Inc. Generating a stitched data stream

Family Cites Families (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH02272645A (ja) * 1989-04-14 1990-11-07 Hitachi Ltd プログラム・デバツグ支援方法
US5428529A (en) * 1990-06-29 1995-06-27 International Business Machines Corporation Structured document tags invoking specialized functions
GB2273179A (en) * 1992-12-02 1994-06-08 Ibm Cache indexing in interative processes.
US6339767B1 (en) * 1997-06-02 2002-01-15 Aurigin Systems, Inc. Using hyperbolic trees to visualize data generated by patent-centric and group-oriented data processing
US5557786A (en) 1994-01-24 1996-09-17 Advanced Computer Applications, Inc. Threaded, height-balanced binary tree data structure
US5724577A (en) * 1995-06-07 1998-03-03 Lockheed Martin Corporation Method for operating a computer which searches a relational database organizer using a hierarchical database outline
US5907837A (en) 1995-07-17 1999-05-25 Microsoft Corporation Information retrieval system in an on-line network including separate content and layout of published titles
US6427147B1 (en) * 1995-12-01 2002-07-30 Sand Technology Systems International Deletion of ordered sets of keys in a compact O-complete tree
US6161126A (en) 1995-12-13 2000-12-12 Immersion Corporation Implementing force feedback over the World Wide Web and other computer networks
US6014137A (en) 1996-02-27 2000-01-11 Multimedia Adventures Electronic kiosk authoring system
US5894554A (en) 1996-04-23 1999-04-13 Infospinner, Inc. System for managing dynamic web page generation requests by intercepting request at web server and routing to page server thereby releasing web server to process other requests
US5881379A (en) * 1996-05-20 1999-03-09 International Business Machines Corporation System, method, and program for using duplicated direct pointer sets in keyed database records to enhance data recoverability without logging
US6014638A (en) 1996-05-29 2000-01-11 America Online, Inc. System for customizing computer displays in accordance with user preferences
US5819271A (en) 1996-06-04 1998-10-06 Multex Systems, Inc. Corporate information communication and delivery system and method including entitlable hypertext links
IL118959A (en) 1996-07-26 1999-07-14 Ori Software Dev Ltd Database apparatus
US5754755A (en) 1996-10-10 1998-05-19 Microsoft Corporation Method and system for generating test scripts
US6128663A (en) 1997-02-11 2000-10-03 Invention Depot, Inc. Method and apparatus for customization of information content provided to a requestor over a network using demographic information yet the user remains anonymous to the server
US6026433A (en) 1997-03-17 2000-02-15 Silicon Graphics, Inc. Method of creating and editing a web site in a client-server environment using customizable web site templates
US6131744A (en) * 1997-05-02 2000-10-17 Micro Beef Technologies, Inc. System and method for recycling identification tags
US6112192A (en) 1997-05-09 2000-08-29 International Business Machines Corp. Method for providing individually customized content in a network
US6865715B2 (en) * 1997-09-08 2005-03-08 Fujitsu Limited Statistical method for extracting, and displaying keywords in forum/message board documents
US5974445A (en) 1997-10-28 1999-10-26 International Business Machines Corporation Web browser which checks availability of hot links
JP3189886B2 (ja) * 1997-10-30 2001-07-16 日本電気株式会社 半導体記憶装置
US6353824B1 (en) * 1997-11-18 2002-03-05 Apple Computer, Inc. Method for dynamic presentation of the contents topically rich capsule overviews corresponding to the plurality of documents, resolving co-referentiality in document segments
US5953724A (en) * 1997-11-24 1999-09-14 Lowry Software, Incorporated Global database library data structure for hierarchical graphical listing computer software
US6065120A (en) 1997-12-09 2000-05-16 Phone.Com, Inc. Method and system for self-provisioning a rendezvous to ensure secure access to information in a database from multiple devices
US6675173B1 (en) * 1998-01-22 2004-01-06 Ori Software Development Ltd. Database apparatus
US6185614B1 (en) 1998-05-26 2001-02-06 International Business Machines Corp. Method and system for collecting user profile information over the world-wide web in the presence of dynamic content using document comparators
US6112209A (en) * 1998-06-17 2000-08-29 Gusack; Mark David Associative database model for electronic-based informational assemblies
US6415283B1 (en) * 1998-10-13 2002-07-02 Orack Corporation Methods and apparatus for determining focal points of clusters in a tree structure
US6134548A (en) 1998-11-19 2000-10-17 Ac Properties B.V. System, method and article of manufacture for advanced mobile bargain shopping
DE19853278A1 (de) * 1998-11-19 2000-05-25 Aventis Pharma Gmbh Substituierte 4-Amino-2-aryl-cyclopenta[d]pyrimidine, ihre Herstellung, ihre Verwendung und sie enthaltende pharmazeutische Präparate
US6279007B1 (en) * 1998-11-30 2001-08-21 Microsoft Corporation Architecture for managing query friendly hierarchical values
JP3256518B2 (ja) * 1999-04-28 2002-02-12 シャープ株式会社 光ディスク及び光ディスク装置
US6421072B1 (en) * 1999-06-03 2002-07-16 International Business Machines Corporation Displaying a complex tree structure among multiple windows
US6496853B1 (en) * 1999-07-12 2002-12-17 Micron Technology, Inc. Method and system for managing related electronic messages
JP3941292B2 (ja) * 1999-07-26 2007-07-04 日本電気株式会社 ページ情報表示方法及び装置並びにページ情報表示用のプログラム又はデータを記憶した記憶媒体
US6327628B1 (en) 2000-05-19 2001-12-04 Epicentric, Inc. Portal server that provides a customizable user Interface for access to computer networks
JP2001357051A (ja) 2000-06-15 2001-12-26 Ricoh Co Ltd 文書管理装置
US6683632B2 (en) * 2000-12-08 2004-01-27 Xerox Corporation Method and system for presenting semilinear hierarchy
JP4213360B2 (ja) * 2001-05-15 2009-01-21 株式会社東芝 知識蓄積支援システムおよび同システムにおける返信メッセージ処理方法
US6480857B1 (en) * 2001-06-07 2002-11-12 David Chandler Method of organizing hierarchical data in a relational database
US7305402B2 (en) * 2001-10-10 2007-12-04 International Business Machines Corporation Adaptive indexing technique for use with electronic objects
US7031977B2 (en) 2002-02-28 2006-04-18 Plumtree Software, Inc. Efficiently storing indented threads in a threaded discussion application

Also Published As

Publication number Publication date
WO2003073263A1 (en) 2003-09-04
US8341126B2 (en) 2012-12-25
US7254585B2 (en) 2007-08-07
JP2005519370A (ja) 2005-06-30
CA2477733A1 (en) 2003-09-04
US20040210569A1 (en) 2004-10-21
US7660827B2 (en) 2010-02-09
EP1485791A4 (en) 2007-10-24
US20060085458A1 (en) 2006-04-20
US7031977B2 (en) 2006-04-18
US20070106634A1 (en) 2007-05-10
AU2003213723A1 (en) 2003-09-09
US7171429B2 (en) 2007-01-30
US20040267817A1 (en) 2004-12-30
US20040210576A1 (en) 2004-10-21
US20070106635A1 (en) 2007-05-10
US7174330B2 (en) 2007-02-06
US20030163446A1 (en) 2003-08-28
CN1639682A (zh) 2005-07-13
US7653660B2 (en) 2010-01-26
EP1485791A1 (en) 2004-12-15
CN100416491C (zh) 2008-09-03
US20080010314A1 (en) 2008-01-10

Similar Documents

Publication Publication Date Title
KR20040104465A (ko) 수직구조 레코드세트에서의 레코드 불러오기, 추가, 선택방법 및 장치
US5713020A (en) Method and system for generating database queries containing multiple levels of aggregation
US20180060410A1 (en) System and method of applying globally unique identifiers to relate distributed data sources
US6772164B2 (en) Database system
US5590319A (en) Query processor for parallel processing in homogenous and heterogenous databases
US7707168B2 (en) Method and system for data retrieval from heterogeneous data sources
US7539669B2 (en) Methods and systems for providing guided navigation
US7844623B2 (en) Method to provide management of query output
US8600942B2 (en) Systems and methods for tables of contents
EP0753819A1 (en) System and method for accessing cobol data with a cobol compatible structured query language
US20040078355A1 (en) Information management system
US20030233351A1 (en) Method and system for searching multiple data sources
US20190095481A1 (en) Generating a query
US8150878B1 (en) Device method and computer program product for sharing web feeds
US7487165B2 (en) Computer implemented method for retrieving hit count data from a data base system and according computer program product
US6910051B2 (en) Method and system for mechanism for dynamic extension of attributes in a content management system
JPH0728834A (ja) 情報検索装置
JPS60129873A (ja) 文書保管検索システム
JP2003233516A (ja) データベース、コンピュータ読取可能なプログラム、データベース管理システム、データベースの新規登録方法、データベースの検索方法、および、データベースの更新登録方法
Coelho Temporal Analysis of Terms in Blogs
KR20020067161A (ko) 문서 색인 시스템 및 그 방법
JP2000339340A (ja) 情報検索システム
JPH06337897A (ja) 文書検索装置及び文書検索方法

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
NORF Unpaid initial registration fee