KR20060067817A - 데이터를 다이어그램의 형태들에 쌍방향으로 링크시키는시스템 및 방법 - Google Patents

데이터를 다이어그램의 형태들에 쌍방향으로 링크시키는시스템 및 방법 Download PDF

Info

Publication number
KR20060067817A
KR20060067817A KR1020050101313A KR20050101313A KR20060067817A KR 20060067817 A KR20060067817 A KR 20060067817A KR 1020050101313 A KR1020050101313 A KR 1020050101313A KR 20050101313 A KR20050101313 A KR 20050101313A KR 20060067817 A KR20060067817 A KR 20060067817A
Authority
KR
South Korea
Prior art keywords
row
column
attribute
data
link
Prior art date
Application number
KR1020050101313A
Other languages
English (en)
Other versions
KR101219964B1 (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 KR20060067817A publication Critical patent/KR20060067817A/ko
Application granted granted Critical
Publication of KR101219964B1 publication Critical patent/KR101219964B1/ko

Links

Images

Classifications

    • 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/24Querying
    • G06F16/248Presentation of query results
    • 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/26Visual data mining; Browsing structured data
    • 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/284Relational databases
    • G06F16/285Clustering or classification
    • G06F16/287Visualization; Browsing
    • 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
    • G06F16/34Browsing; Visualisation therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/904Browsing; Visualisation therefor

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)
  • Image Analysis (AREA)

Abstract

외부 데이터 소스로부터의 데이터를 다이어그램의 형태들에 링크시키기 위한 설비가 제공된다. 설비는 그래픽 시각화 프로그램의 컴포넌트로서 구현되고, 2차원 도표를 통해 데이터 소스로부터의 데이터를 디스플레이하도록 동작할 수 있는 모덜리스(modeless) 데이터 윈도우를 제공한다. 사용자들은 설비를 사용해 데이터 소스로부터의 데이터를 도입하고 도입된 데이터를 모덜리스 데이터 윈도우에 디스플레이할 수 있다. 그 다음, 사용자들은 모덜리스 데이터 윈도우를 사용해 모덜리스 데이터 윈도우에 디스플레이되어 있는 로우들을 선택하고 그래픽 시각화 프로그램의 드로잉면의 형태들 상으로 드래그하여 드래그된 로우들을 형태들에 링크시킬 수 있다. 또한, 사용자들은 모덜리스 데이터 윈도우에 디스플레이되어 있는 로우들을 드로잉면의 공백 섹션상으로 드래그하여 드로잉면에 형태들을 생성하고 생성된 형태들에 로우들을 링크시킬 수도 있다.
외부 데이터 소스, 형태, 그래픽 시각화 프로그램, 모덜리스 데이터 윈도우, 링크, 도입, 드래그, 드로잉면

Description

데이터를 다이어그램의 형태들에 쌍방향으로 링크시키는 시스템 및 방법{SYSTEM AND METHOD FOR INTERACTIVELY LINKING DATA TO SHAPES IN A DIAGRAM}
도 1은 설비가 실행되는 컴퓨터 시스템들 중 적어도 일부에 통상적으로 포함되어 있는 선택된 컴포넌트들을 도시하는 블록도.
도 2는 설비의 컴포넌트들이 동작하는 환경을 나타내는 하이-레벨 블록도.
도 3은 예시적인 모덜리스 외부 데이터 윈도우(modeless external data window)를 나타내는 디스플레이 도면.
도 4는, 일부 실시예들에 따라, 설비가 데이터를 외부 데이터 소스로부터 모덜리스 외부 데이터 윈도우로 도입하는 방법의 흐름도.
도 5는, 일부 실시예들에 따라, 설비가 모덜리스 외부 데이터 윈도우의 로우들로부터 다이어그램의 새로운 형태들을 생성하는 방법의 흐름도.
도 6은, 일부 실시예들에 따라, 설비가 모덜리스 외부 데이터 윈도우의 로우들을 다이어그램의 기존 형태들에 수동으로 링크시키는 방법의 흐름도.
도 7은, 일부 실시예들에 따라, 설비가 링크 동작을 수행하는 방법의 흐름도.
도 8은, 일부 실시예들에 따라, 설비가 링크를 리프레시하는 방법의 흐름도를 도시한다.
<도면의 주요 부분에 대한 부호의 설명>
202 : 드로잉 프로그램
204 : 외부 데이터 선택기 컴포넌트
206 : 외부 데이터 링크 컴포넌트
208 : 모덜리스 외부 데이터 윈도우
210 : 매퍼 컴포넌트
212 : 리프레시 컴포넌트
214 : 외부 데이터 소스
216 : 네트워크
설명되는 기술은 일반적으로 컴퓨터 그래픽 시각화 프로그램들(computer graphical visualization program)에 관한 것으로서, 좀더 구체적으로는, 데이터를 다이어그램의 형태들에 링크시키는 것에 관한 것이다.
배경
종래의 드로잉 프로그램들(drawing programs)은 다이어그램들 내에 선택 및 배치될 수 있는 다양한 형태들 또는 객체들을 제공하는 것에 의해 사용자로 하여금 다이어그램들을 생성하고 편집할 수 있게 한다. 사용자는, 마우스와 같은, 포인팅 장치를 사용해 다이어그램에서의 필요에 따라, 사각형들, 직사각형들, 원형들, 삼 각형들, 판정 블록들 등과 같은, 형태들 및 객체들의 위치를 확정하고 크기를 조정할 수 있다.
이러한 종래의 드로잉 프로그램들 중 일부는, 사용자들로 하여금 데이터를 다이어그램의 형태들 및 객체들과 관련시킬 수 있게 하는 특징을 제공한다. 예를 들어, 이러한 드로잉 프로그램들은, 사용자들이 외부 데이터를 다이어그램의 객체들과 관련시키는 것을 지원하거나 안내함으로써 다이어그램들의 가치를 향상시키는 메뉴들 또는 마법사들을 제공할 수 있다. 메뉴들 또는 마법사들을 사용해 외부 데이터를 다이어그램의 객체들에 도입하는 것의 한가지 큰 단점은 이들의 사용이 직관적이지 않으며 데이터와 다이어그램의 세부 사항들 양자의 구조에 대한 상당한 수준의 익숙함을 필요로 한다는 점이다. 이것의 원인이 되는 한가지 요인은, 메뉴들 및 마법사들이 난해한 메뉴들의 몇개 계층들 아래에 '은닉'되어 있다는 것이다.
다른 요인은, 메뉴들 및 마법사들이, 사용자로 하여금 그들이 내리고 있는 판정들의 효과들을 볼 수 없게 하는 '모달(modal)' UI들(user interfaces)이라는 것이다. 이것은, 사용자가 드로잉 프로그램을 계속해서 동작시키기 전에, 모달 윈도우가 닫혀져야, 즉, 사용자가 데이터를 다이어그램의 객체에 관련시키는 것을 종료해야 하기 때문이다. 다시 말해, 사용자는, 사용자가 데이터를 다이어그램의 객체에 관련시키는 것을 종료하기 전에는, 데이터 관련 동작의 결과들을 볼 수가 없다. 또 다른 요인은, 메뉴들 및 마법사들이, 다이어그램들을 조작하는 동안에 쉽게 사용될 수 있는 데이터로 뷰(view)를 제공하지 않는다는 것이다.
따라서, 사용자들로 하여금 데이터를 다이어그램들에 링크시킬 수 있게 하며 다이어그램들에 링크된 데이터 값을 눈에 보이는 직관적 인터페이스를 통해 빠르게 인식할 수 있게 하는 기술이라면 상당한 유용성을 가질 것이다.
본 발명의 세부 사항들을 설명하기 전에, 본원에 사용되는 용어가 설명된다.
"접속"이라는 용어는 일반적으로 데이터 소스와 다이어그램 간의 관계를 생성하는 프로세스를 의미한다.
"링크"라는 용어는 일반적으로 데이터 소스의 로우와 다이어그램의 형태간의 관계를 의미한다. 예를 들어, 로우를 형태에 링크시키는 것으로 인해 로우로부터의 값들로 맞춤 속성들이 채워지게 된다.
"맵"이라는 용어는 일반적으로 컬럼을 속성에 할당하는 프로세스를 의미한다. 예를 들어, 로우가 형태에 링크, 예를 들어, 관련될 때, 형태의 각 속성은 그것으로 매핑되는 컬럼으로부터의 값들로 채워진다.
"맞춤 속성명(custom property name)"이라는 용어는 일반적으로, 형태내의 맞춤 속성들을 고유하게 식별하기 위해 내부적으로 사용되는 스트링을 의미한다.
"리프레시"라는 용어는 일반적으로 데이터 소스를 업데이트하는 프로세스를 의미한다.
외부 데이터 링크 소프트웨어 설비("설비")는 사용자들로 하여금 외부 데이터 소스를 사용해 (이하, 형태들이라고 하는) 다이어그램의 형태들 또는 다이어그램 객체들의 맞춤 속성들을 채울 수 있게 한다. 다양한 실시예들에서, 설비는 그 래픽 시각화 프로그램의 컴포넌트로서 구현되고, 사용자들로 하여금 다이어그램과 함께 디스플레이되어 있는 외부 데이터의 도표식 뷰를 통해 그들의 다이어그램에 대해 다양한 액션들을 수행할 수 있게 하는 모덜리스 인터페이스를 제공한다. 사용자들은 모덜리스 인터페이스를 사용해 외부 데이터 소스로부터의 데이터를 도입하고 디스플레이하며, 링크된 추가 형태들을 다이어그램에 배치하기 위해 모덜리스 인터페이스로부터의 로우들을 다이어그램의 기존 형태들에 링크시키거나 로우들을 드로잉면(drawing surface)상으로 직접적으로 드래그할 수 있다.
일 실시예에서, 그래픽 시각화 프로그램은, 그것의 사용자로 하여금 외부 데이터 소스 및, 설비에 의해 도입되어 모덜리스 사용자 인터페이스의 2차원 도표로서 디스플레이될 외부 데이터 소스의 데이터 부분들을 특정할 수 있게 하는 데이터 선택기 마법사를 제공한다. 외부 데이터가 모덜리스 인터페이스에 디스플레이되고 나면, 설비는 로우들과 다이어그램의 형태들간에 링크들을 생성하기 위한 일차적인 2가지 방법들: (1) 모덜리스 인터페이스로부터의 로우들을 드로잉면의 공백 부분상으로 드래그하는 것에 의해 새로운 형태들 생성하는 방법; 및 (2) 모덜리스 인터페이스로부터의 로우들을 다이어그램의 기존 형태들 상으로 드래그하는 것에 의해 수동적으로 링크하는 방법을 제공한다.
사용자가 모덜리스 인터페이스로부터 선택한 로우들을 드로잉면 상으로 드래그할 때, 설비는 로우들 각각에 대한 형태를 생성한다. 설비는 그래픽 시각화 프로그램의 형태 윈도우에서 현재 선택된 형태 마스터로부터의 로우들을 표현하는데 사용할 형태를 판정한다. "마스터"는, 사용자가 드로잉들을 생성하기 위해 반복적 으로 사용하는 스텐실(stencil)상의 형태이다. 예를 들어, 사용자가 스텐실로부터의 형태를 드로잉(drawing)으로 드래그할 때, 형태는 그 마스터의 인스턴스가 된다. 형태 마스터가 선택되지 않으면, 설비는 직사각형 마스터와 같은, 소정 마스터를 사용한다. 다수 마스터들이 선택되면, 설비는 드래그된 각각의 로우에 대한 드로잉면에 각각의 마스터 중 하나를 드롭한다. 그 다음, 설비는 새로운 형태들을 선택된 로우들에 링크시킨다.
일례로써, 현재 2개의 형태 마스터들-예를 들어, ShapeA 및 ShapeB-이 선택되었다고 가정할 때, 사용자가 모덜리스 인터페이스로부터 단일 로우-예를 들어, Row1-를 드로잉면 상으로 드래그한다면, 설비는 ShapeA의 인스턴스 및 ShapeB의 인스턴스를 드로잉면에 드롭하고 형태들 모두를 Row1에 링크시킨다. 사용자가 모덜리스 인터페이스로부터 다수 로우들-예를 들어, Row1 및 Row2-을 드로잉면상으로 드래그한다면, 설비는 ShapeA의 2개 인스턴스들 및 ShapeB의 2개 인스턴스들을 드로잉면에 드롭한다. 그 다음, 설비는 하나의 ShapeA를 Row1에 링크시키고 나머지 ShapeA를 Row2에 링크시키며, 하나의 ShapeB를 Row1에 링크시키고 나머지 ShapeB를 Row2에 링크시킨다.
사용자가 모덜리스 인터페이스로부터 선택한 로우들을 다이어그램의 기존 형태상으로 드래그할 때, 설비는 형태를 선택된 로우들에 링크시킨다. 일부 실시예들에서, 설비는 사용자로 하여금 다이어그램에서 다수 형태들 또는 형태의 서브-형태들을 선택한 다음 로우 또는 다수 로우들을 드로잉면 상으로 드래그할 수 있게 한다. 다수 형태들이 선택되고 사용자가 선택 로우들을 선택 형태에 걸쳐 드래그 한다면, 설비는 드래그된 최상위 로우를 제 1 선택 형태에 링크시키고, 드래그된 후속의 최상위 로우를 선택된 후속 형태에 링크시키는 등이다. 후속의 최상위 로우가 존재하지 않으면, 설비는 로우들을 "순환(cycle)"시켜, 드래그된 최상위 로우를 선택된 후속 형태에 링크시킨다.
다른 실시예들에서, 설비는, 모덜리스 인터페이스에 디스플레이되어 있는 각각의 로우 옆에 있고 로우 또는 다수 로우들을 다이어그램의 기존 형태에 링크시키는데 사용되는 링크 아이콘을 포함하는 버튼을 제공한다. 예를 들어, 사용자가, 마우스와 같은, 포인팅 장치를 사용해, 링크 아이콘을 포함하는 버튼을 클릭할 때, 설비는 로우들을 선택하고 커서를 "Link Tool" 커서로 변경시킨다. 그 다음, 사용자가 Link Tool로써 다이어그램의 형태를 클릭하거나 선택할 때, 설비는 형태를 선택 로우들에 링크시킨다.
사용되는 링크 방법과 상관없이, 로우가 다이어그램의 형태에 링크될 때, 설비는 다음 단계들을 수행한다.
● 형태와 동일 데이터 소스의 다른 로우 사이에 이미 링크가 존재한다면, 설비는 사용자에게 링크를 유지하거나 제거하기 위한 옵션을 제공한다. 일부 실시예들에서, 설비는, 각각의 맞춤 속성 옆에, 링크가 파괴되었거나 더 이상 존재하지 않는다는 표시를 제공하는 것에 의해 링크를 제거한다.
● 맞춤 속성들이 추가되거나 채워진다.
● 기존의 맞춤 속성값들은, 이들이 사용자에 의해 입력되었거나 다른 데이터 소스의 로우들에 의해 채워진 경우라 하더라도, 겹쳐쓰기된다.
설비는 컬럼명을 사용해, 어떤 값들이 어떤 맞춤 속성들을 채울 것인지를 판정한다. 컴럼열과 동일한 레이블(label)-즉, 이름-을 가진 맞춤 속성이 존재하면, 설비는 그러한 맞춤 속성을 그 컬럼으로부터의 값들로 채운다. 컬럼열과 동일한 레이블을 가진 다수의 맞춤 속성들이 존재하면, 설비는 그 컬럼으로부터의 값들로 컬럼열과 동일한 레이블을 가진 모든 맞춤 속성들을 채운다. 컬럼과 매칭되는 레이블을 가진 맞춤 속성이 존재하지 않으면, 설비는 새로운 맞춤 속성을 생성하고 그 컬럼으로부터의 값들로 새로운 맞춤 속성을 채운다.
기술적 이점은, 이 설비가 사용자로 하여금 외부 데이터를 다이어그램의 형태들과 직관적으로 관련시켜, 분석되고 공유될 수 있는 상당한 정보를 제공하는 이미지를 생성하는 것을 가능하게 한다는 것이다. 또한, 설비는, 외부 데이터가 변경될 때 및/또는 변경될 경우, 다이어그램을 업데이트하는데 사용될 수 있는 리프레시 또는 업데이트 특징을 제공한다. 이것은, 다이어그램이 더 이상 정적인 이미지가 아니라, "실효(stale)"되지 않은 생생한 문서이므로, 다이어그램의 가치를 크게 증가시킨다.
일부 실시예들에서, 설비는 사용자에게, 모덜리스 인터페이스의 컬럼명을 변경할 수 있는 능력을 제공한다. 사용자가 컬럼명을 변경하면, 데이터 소스로부터의 로우가 형태에 링크될 때 또는 링크가 리프레시될 때 생성되는 맞춤 속성의 레이블에 새롭게 변환된 이름이 반영된다. 다시 말해, 맞춤 속성의 이름은 새롭게 변환된 이름이다. 모덜리스 인터페이스의 컬럼명을 변경하는 것이 실제 데이터 소스의 컬럼명에 영향을 미치지는 않는다. 이러한 특징으로 인해, 사용자는 실제 데 이터 소스에서 사용되는 이름들보다 좀더 설명적이고, 유쾌하며, 그리고/또는 친숙할 수 있는 컬럼명들로 작업할 수 있다.
사용자는 링크의 결과로서 생성된 맞춤 속성들의 값들을 겹쳐쓰기하거나 변경할 수 있다. 예를 들어, 그래픽 시각화 프로그램은, 사용자로 하여금 형태와 관련된 맞춤 속성들의 값들을 액세스 및 변경할 수 있게 하는 특징을 제공할 수도 있다. 일부 실시예들에서, 설비는 모덜리스 인터페이스에서의 맞춤 속성들의 값들에 변경들을 반영하지 않는다. 리프레시에서, 설비는 수동적으로 이루어진 변화들 중 하나를 값들에 겹쳐쓰기하거나 유지하기 위한 옵션을 제공한다. 예를 들어, 사용자가 수동적으로 이루어진 변화들을 유지하기로 결정하면, 맞춤 속성들의 수동적으로 입력된 값들은 모덜리스 인터페이스의 값들에 의해 겹쳐쓰기되거나 대체되지 않는다. 다른 방법으로, 사용자가 수동적으로 이루어진 변화들을 겹쳐쓰기하기로 결정하면, 맞춤 속성들은 모덜리스 인터페이스로부터의 그들의 대응되는 값들로 업데이트됨으로써, 수동적으로 이루어진 변화들이 손실되는 결과가 초래된다.
일부 실시예들에서, 설비는 단일 형태를 다수 데이터 소스들로부터의 다수 레코드들-즉, 다수의 별개 데이터 소스들로부터 각각 하나의 레코드에 링크시킬 수 있는 능력을 사용자에게 제공한다. 따라서, 맞춤 속성은 다수 데이터 소스들로부터의 컬럼들에 매핑될 수 있다. 이 경우, 설비는, 복제 컬럼들-즉, 동일한 레이블을 가진 컬럼들-이 맞춤 속성들에서 복제되지 않으며 마지막 또는 가장 최근에 링크된 레코드로부터의 값이 우선 순위를 갖도록 순서 또는 우선 순위를 부여한다. 예를 들어, 2개의 상이한 데이터 소스들에서의 다수 컬럼들이 동일한 컬럼명을 가 지며 2개의 데이터 소스들로부터의 로우 각각이 형태에 링크된다고 가정하면, 설비는 컬럼명과 동일한 레이블을 가진 하나의 맞춤 속성만을 생성한다. 또한, 맞춤 속성의 값은 마지막으로 링크되거나 리프레시된 데이터 소스의 컬럼으로부터의 값이다.
일부 실시예들에서, 설비는 모덜리스 인터페이스로부터의 컬럼들을 활성화하고 비활성화할 수 있는 능력을 사용자에게 제공하고, 설비는 활성화된 컬럼들에 대해서만 맞춤 속성을 생성한다. 예를 들어, 설비는, 각각의 컬럼명 옆에, 데이터 소스의 모든 컬럼들의 현재 이름들에 대한 리스트를 포함하는 대화 상자 및 체크 상자를 제공할 수 있다. 컬럼명과 인접한 체크 상자를 체크하는 것에 의해, 컬럼이 모덜리스 인터페이스에 나타나고 - 즉, 컬럼이 활성화- 되고, 로우들이 형태들에 링크될 때, 컬럼 속성으로 추가되게 된다. 체크 상자를 체크하지 않는 것에 의해, 컬럼은 모덜리스 인터페이스에 나타나지 않게 되고 - 즉, 컬럼이 비활성화되게- 하고, 로우들이 형태들에 링크될 때, 맞춤 속성들은 이 컬럼으로부터의 값들로 채워지지 않게 된다. 다시 말해, 설비는 비활성화 컬럼들에 대한 맞춤 속성을 생성 및/또는 링크하지 않는다.
설비의 다양한 실시예들 및 그것의 이점들은 도면들 중 도 1 내지 도 8을 참조하는 것에 의해 잘 이해될 수 있다. 본 발명의 원리들을 명백하게 도시하는 것에 강조점이 주어지는 대신에, 도면들의 요소들이 반드시 일정 비율에 따라 설계될 필요는 없다. 도면들 전체에 걸쳐, 다양한 도면들의 유사한 대응 부분들에 대해 유사한 참조 번호들이 사용된다.
도 1은 설비가 실행되는 컴퓨터 시스템들의 적어도 일부에 통상적으로 포함되어 있는 선택된 컴포넌트들을 도시하는 블록도이다. 이러한 컴퓨터 시스템들(100)은 컴퓨터 프로그램들을 실행시키기 위한 하나 이상의 CPU들(102); 사용 중인 프로그램들 및 데이터 - 데이터 구조들을 포함함 - 를 저장하기 위한 컴퓨터 메모리(104); 프로그램들 및 데이터를 영구적으로 저장하기 위한, 하드 드라이브와 같은, 영구 저장 장치(106); 컴퓨터-판독 가능 매체에 저장되어 있는 프로그램들 및 데이터를 판독하기 위한, CD-ROM 드라이브와 같은, 컴퓨터-판독 가능 미디어 드라이브(108); 및 데이터 구조들을 포함하는 프로그램들 및/또는 데이터를 교환하기 위해, 예를 들어 인터넷을 통해, 컴퓨터 시스템을 다른 컴퓨터 시스템들에 접속하기 위한 네트워크 접속(110)을 포함할 수 있다.
설비는 컴퓨터 시스템(100) 또는 다른 장치들에 의해 실행되는, 프로그램 모듈들과 같은, 컴퓨터-판독 가능 명령어들의 일반적인 맥락에서 설명될 수 있다. 일반적으로, 프로그램 모듈들은 특정한 태스크들을 수행하거나 특정한 추상적 데이터 타입들을 구현하는 루틴들, 프로그램들, 오브젝트들, 컴포넌트들, 데이터 구조들 등을 포함한다. 메모리(104) 및 영구 저장 장치(106)는, 설비를 구현하는 명령어들을 포함할 수 있는 컴퓨터-판독 가능 매체들이다. 메모리(104) 및 영구 저장 장치(106)는 설비를 구현하는 명령어들 이외에 다양한 다른 내용들을 가질 수도 있다는 것을 이해할 것이다.
컴퓨터 시스템들(100)은, 비디오 모니터들 또는 LCD 패널들과 같은, 프로그램 출력을 디스플레이하기 위한 하나 이상의 디스플레이 장치들 및, 키보드들, 마 이크로폰들, 또는 마우스와 같은 포인팅 장치들 등의, 사용자 입력을 수신하기 위한 하나 이상의 입력 장치들을 포함할 수도 있다. 통상적으로는 상술된 바와 같이 구성된 컴퓨터 시스템들(100)은 설비의 동작을 지원하는데 사용되지만, 다양한 유형들과 구성들의 장치들을 사용해 다양한 컴포넌트들을 갖춘 설비가 구현될 수도 있다는 것을 알 수 있을 것이다.
다음의 논의에서는, 설비의 실시예들이 다양한 예들과 함께 설명된다. 설비의 실시예들이, 다양한 관점들에서 이러한 예들로부터 상당히 벗어나는 환경들에서 사용될 수도 있다는 것을 알 수 있을 것이다. 이와 같은 일례로써, 예들이 일반적으로는 외부 데이터를 형태들의 맞춤 속성들에 링크시키는 것을 의미하기는 하지만, 당업자라면, 링크가, 맞춤 속성들을 포함할 수도 그렇지 않을 수도 있는, 형태들의 속성들에 대한 것일 수 있다는 것을 알 수 있을 것이다.
도 2는, 설비의 컴포넌트들이 동작하는 환경(20)을 나타내는 하이-레벨 블록도이다. 일반적 관점에서, 환경(20)은 최종 사용자들이 그들의 데이터를 그들의 형태들로 가져오는 간단한 방법을 제공함으로써 비지니스 정보를 시각화하기 위한 동적인, 데이터-구동 다이어그램들(dynamic, data-driven diagrams)의 생성을 용이하게 한다. 도시된 바와 같이, 환경(20)은 드로잉 프로그램(202), 외부 데이터 선택기 컴포넌트(204), 외부 데이터 링크 컴포넌트(206), 모덜리스 외부 데이터 윈도우(208), 매퍼 컴포넌트(210;mapper component), 리프레시 컴포넌트(212), 및 네트워크(216)를 통해 드로잉 프로그램(202)에 결합되어 있는 외부 데이터 소스(214)를 구비한다. 특히, 설비는 드로잉 프로그램(202)의 컴포넌트로서 구현되고, 외부 데 이터 선택기 컴포넌트(204), 외부 데이터 링크 컴포넌트(206), 모덜리스 외부 데이터 윈도우(208), 매퍼 컴포넌트(210), 및 리프레시 컴포넌트(212)를 구비한다.
드로잉 프로그램(202)은 일반적으로, 템플릿들, 심볼들, 및 드래그-앤-드롭 드로잉 도구들을 제공함으로써 사용자들에게 다이어그램들, 챠트들, 그래프들, 및 다른 드로잉들을 그릴 수 있는 능력을 제공하는 애플리케이션으로서 기능한다. 한가지 적당한 드로잉 프로그램이 워싱턴주, 레이몬드의 마이크로소프트사로부터 입수 가능한 Microsoft® Visio®이다. 당업자라면, 설비가 Microsoft® Visio®가 아닌 상업적으로 입수 가능한 그래픽 시각화 프로그램들 뿐만 아니라 맞춤 개발형 그래픽 시각화 프로그램들의 컴포넌트로서 쉽게 구현될 수도 있다는 것을 알 수 있을 것이다.
외부 데이터 선택기 컴포넌트(204)는 일반적으로 데이터를 외부 데이터 소스(214)로부터 모덜리스 외부 데이터 윈도우(208)로 도입하는 기능을 한다. 일부 실시예들에서, 외부 데이터 선택기 컴포넌트(204)는 마법사-즉, 데이터 선택기 마법사-로서 구현되고 사용자가 데이터 소스를 특정하고, 필터링하며, 명명하는 것을 지원하기 위한 로직을 포함한다. 예를 들어, 사용자는 도입될 데이터 소스 및 데이터 소스의 데이터 항목들 또는 데이터 부분들을 2차원 도표로서 특정할 수 있다. 그 다음, 외부 데이터 선택기 컴포넌트(204)는 데이터 소스와의 접속을 확립하고 특정된 데이터 부분들을 다운로드한다. 데이터 부분들을 수신할 때, 외부 데이터 선택기 컴포넌트(204)는 모덜리스 외부 데이터 윈도우(208)를 개시하고, 다운로드된 데이터 부분들을 모덜리스 외부 데이터 윈도우(208)에 2차원 도표로서 디스플레 이한다. 일 실시예에서, 외부 데이터 선택기 컴포넌트(204)는 Microsoft® ActiveX® Data Objects(ADO)를 지원하고 이용하여 외부 데이터의 사용자 특정 부분들을 위한 외부 데이터 소스(214)에 접속해 그를 조회한다. 당업자라면, 외부 데이터 선택기 컴포넌트(204)가 ADO를 사용하는 것에 한정되지 않으며 외부 데이터 소스(214)와 통신하여 그로부터 데이터를 도입하기 위한 다른 데이터 액세스 기술들을 지원하고 이용할 수도 있다는 것을 알 수 있을 것이다.
외부 데이터 링크 컴포넌트(206)는 일반적으로 모덜리스 외부 데이터 윈도우(208)로부터의 데이터를 다이어그램의 새로운 기존 형태들에 링크시키는 기능을 한다. 일부 실시예들에서, 외부 데이터 링크 컴포넌트(206)는 링크들을 생성하고, 링크들을 제거하며, 맞춤 속성들을 생성하고, 맞춤 속성들을 제거하며, 데이터 소스로부터의 데이터를 다이어그램의 형태들에 링크시키는 것을 용이하게 하는 다른 액션들을 수행한다. 외부 데이터 링크 컴포넌트(206)는 더 후술된다.
모덜리스 외부 데이터 윈도우(208)는 일반적으로 로우들을 다이어그램의 새로운 기존 형태들에 링크시키는 일차 인터페이스로서 기능한다. 모덜리스 외부 데이터 윈도우(208)는, 모덜리스 외부 데이터 윈도우(208)가 디스플레이되어 있는 경우라 하더라도, 사용자로 하여금 윈도우 외부-예를 들어, 이차 윈도우나 일차 윈도우-와 상호 작용할 수 있게 한다. 예를 들어, 사용자는 모덜리스 외부 데이터 윈도우(208)와 이용 가능한 임의의 다른 윈도우 사이에서 스위칭할 수 있다. 일부 실시예들에서, 모덜리스 외부 윈도우(208)는 데이터-접속 다이어그램의 네비게이션을 용이하게 한다. 예를 들어, 사용자가, 마우스와 같은, 포인팅 장치를 사용해 모덜리스 외부 데이터 윈도우(208)에서 링크된 로우를 더블클릭할 때, 설비는 링크된 형태를 드로잉 프로그램(202)의 드로잉면에 디스플레이되게 한다. 또한, 모덜리스 외부 데이터 윈도우(208)는, 예를 들어, 시각적 지시자를 통해 링크 상태의 요약을 제공할 수도 있다.
매퍼 컴포넌트(210)는 일반적으로, 사용자가 데이터의 컬럼들을 맞춤 속성들에 매핑하는 것을 제어할 수 있게 하는 기능을 한다. 리프레시 컴포넌트(212)는 일반적으로 외부 데이터 소스(214)로부터의 데이터를 리프레시하는 기능을 한다.
설비의 상술된 컴포넌트들은 예시일 뿐이고, 설비는 도시되지 않은 다른 컴포넌트들 및 모듈들을 포함할 수도 있다. 또한, 컴포넌트들 및 모듈들에 제공되는 기능이 소수의 컴포넌트들 및 모듈들로 조합되거나 추가적인 컴포넌트들 및 모듈들로 더 분리될 수도 있다.
외부 데이터 소스(214)는 일반적으로 모덜리스 외부 데이터 윈도우(208)로 도입되고 디스플레이되는 외부 데이터를 위한 저장소(repository)로서 기능한다. 일 실시예에서, 외부 데이터 소스(214)는, 일례로써, Microsoft® Access와 같은, ADO 또는 다른 관계 데이터 소스들을 지원하는 데이터베이스 관리 시스템일 수 있다. 당업자라면, 외부 데이터 소스(214)가 다른 데이터 액세스 기술들을 지원 및 이용하여 외부 데이터 선택기 컴포넌트(204)와 통신하고 그것에 데이터를 제공한다는 것을 알 수 있을 것이다.
네트워크(216)는, 예를 들어, 보조 컴퓨터들 사이에서 전자 내용의 전송을 용이하게 하는 통신 링크이다. 일 실시예에서, 네트워크(216)는 인터넷을 포함한 다. 네트워크(216)는, LAN, WAN, 점-대-점 다이얼-업 접속 등과 같은, 하나 이상의 다른 네트워크 유형들로 이루어질 수도 있다는 것을 알 수 있을 것이다. 네트워크(216)가 존재하지 않을 수 있다는 것도 알 수 있을 것이다. 예를 들어, 외부 데이터 선택기 컴포넌트(204) 및 외부 데이터 소스(214)는 모두가 동일한 컴퓨팅 시스템에 상주하며, 컴퓨팅 시스템에서 통상적으로 지원되는, IPC(interprocess communication), 원격 펑크션 호출, 내부 통신 버스들 등과 같은, 통신 메커니즘들을 통해 통신할 수도 있다.
도 3은 예시적인 모덜리스 외부 데이터 윈도우(208)를 나타내는 디스플레이 도면이다. 일 실시예에서, 모덜리스 외부 데이터 윈도우(208)는 드로잉 프로그램(202)의 문서 윈도우-예를 들어, 드로잉면을 제공하는 윈도우-하부에 결합되며, 이동, 크기 조정, 닫기, 및 검색될 수 있다. 모덜리스 외부 데이터 윈도우(208)는, 모덜리스 외부 데이터 윈도우(208)가 개시될 때 액티브였던 문서 윈도우가 액티브일 때 가시화된다. 더 나아가, 동일한 문서 - 예를 들어, 다이어그램 - 를 뷰잉하는데 다수의 문서 윈도우들이 사용되고 있다면, 각각의 문서 윈도우는 자신만의 모덜리스 외부 데이터 윈도우(208)를 가진다. 또한, 모덜리스 외부 데이터 윈도우(208)를 닫는 것이 다이어그램 또는 임의의 데이터 소스들로의 접속들에는 영향을 미치지 않는다.
도시된 바와 같이, 모덜리스 외부 데이터 윈도우(208)는 데이터 소스 탭들(302) 및 데이터 그리드(304)를 구비한다. 데이터 소스 탭들(302)은 일반적으로 다수의 접속 데이터 소스들 사이에서 스위칭할 수 있는 능력을 제공하는 기능을 한 다. 예를 들어, 데이터 소스 탭 상에 클릭하는 것은 선택된 데이터 소스로부터의 데이터를 반영하도록 데이터 그리드(304)의 내용을 변경시킨다. 데이터 그리드(304)는 일반적으로, 그것의 데이터 소스 탭(302)이 현재 선택되어 있는 외부 데이터 소스로부터의 데이터에 대한 도표식 뷰를 제공하는 기능을 한다. 일 실시예에서, 데이터 그리드(304)는 링크 아이콘들(306), 컬럼 헤더들(308), 및 데이터 셀들(310)을 구비한다.
일 실시예에서, 데이터 셀들(310)의 각 로우에는, 로우의 링크 여부를 나타내는 자신의 링크 아이콘(306)이 제공되어 있다. 도시된 바와 같이, 접속된 체인은 로우가 현재 링크되어 있다는 것을 지시하는 한편, 끊어진 체인은 로우가 링크되어 있지 않다는 것을 지시한다. 도 3의 예시적인 모덜리스 외부 데이터 윈도우(208)에서, "Marketing Plan"이라는 컬럼명을 가진 로우는 현재 링크되어 있는 한편, "Documentation"이라는 컬럼명을 가진 로우는 현재 어떤 형태에도 링크되어 있지 않다.
컬럼 헤더들(308)은 일반적으로 액티브 컬럼들의 이름들을 디스플레이하는 기능을 한다. 일 실시예에서, 컬럼 헤더들(308)의 텍스트는 데이터 소스로부터의 컬럼들에 대한 원래 이름이다. 도 3의 예시적인 모덜리스 외부 데이터 윈도우(208)에서, 컬럼 헤더들(308)의 텍스트에 의해 나타나는 바와 같이 액티브 컬럼들의 이름들은 "Name", "Owner", "Completed Days", "Total Time", "Due Date", "On Track", 및 "Link"이고, 이들 이름들은 데이터 소스로부터의 컬럼들에 대한 원래 이름들일 수 있다.
일부 실시예들에서, 설비는 사용자에게 컬럼들의 이름을 변경할 수 있는 능력을 제공할 수도 있다. 예를 들어, 설비는, 사용자가 개시할 수 있으며 그를 통해 사용자가 컬럼을 선택하고 컬럼명을 편집할 수 있는 대화창을 제공할 수도 있다. 컬럼 헤더들(308)에는 편집되거나 변환된 컬럼명이 디스플레이되지만, 데이터 소스에 다시 반영되지는 않는다. 더 나아가, 링크가 리프레시될 때에는, 컬럼의 편집된 이름이 맞춤 속성의 레이블 또는 이름에 반영된다.
또한, 설비는 사용자에게 컬럼들을 활성화하고 비활성화할 수 있는 능력을 제공하여, 컬럼들이 모덜리스 외부 데이터 윈도우(208)에 디스플레이되거나 디스플레이되지 않게 할 수 있다. 일 실시예에서, 컬럼을 활성화/비활성화하는 것은, 그 컬럼이 링크에 관여하고 있는지를 나타내기도 한다. 비활성화된 컬럼들은 링크 동안 형태에 적용되지 않는다. 예를 들어, 설비는, 데이터 소스의 컬럼들을 열거하고 그를 통해 사용자가 모덜리스 외부 데이터 윈도우(208)에서 활성화되어 디스플레이될 컬럼들을 특정하거나 선택할 수 있는 대화창을 제공할 수 있다. 더 나아가, 데이터 소스가 액티브인-즉, 데이터 소스에 대한 데이터 소스 탭(302)이 현재 선택되어 있는-임의의 시점에서, 사용자는 대화창을 사용해 액티브 컬럼들의 선택을 바꿀 수 있다. 설비는 모덜리스 외부 데이터 윈도우(208)에 변경들을 반영한다.
도 4는, 일부 실시예들에 따라, 설비가 외부 데이터 소스로부터의 데이터를 모덜리스 외부 데이터 윈도우(208)로 도입하는 방법(400)의 흐름도를 도시한다. 일례로써, 대형 개발 프로젝트를 책임지고 있는 프로그램 매니저는, 프로젝트 정보 의 초점 및 판독성(readability)을 향상시키기 위해, 엑셀 스프레드시트와 같은, 스프레드시트에 현재 포함되어 있는 프로젝트 상태 정보를 데이터 접속 다이어그램(data connected diagram)에 제시하기를 원할 수도 있다. 단계 402에서, 프로그램 매니저는 컴퓨팅 시스템에서 드로잉 프로그램(202)의 인스턴스를 실행시킨다.
단계 404에서, 프로그램 매니저는, 설비의 외부 데이터 선택기 컴포넌트(204)와 같은, 데이터 선택기 특징을 활성화한다. 단계 406에서, 프로그램 관리자는 외부 데이터 소스를 특정한다. 예를 들어, 프로그램 관리자는 외부 데이터 선택기 컴포넌트(204)를 사용해 엑셀 스프레드시트 프로그램의 위치와 이름 및 프로젝트 정보를 포함하는 데이터 파일을 특정할 수 있다.
단계 408에서, 설비는 특정된 데이터 소스로부터의 데이터를 도입한다. 예를 들어, 외부 데이터 선택기 컴포넌트(204)는 스프레드시트 프로그램을 호스팅 중인 컴퓨팅 시스템과의 접속을 확립할 수 있고 특정된 데이터 파일을 요청 또는 조회할 수 있다. 단계 410에서, 설비는 도입된 데이터를 모덜리스 윈도우-즉, 쌍방향 디스플레이(interactive display)에 2차원 도표로서 디스플레이한다. 예를 들어, 설비는 모덜리스 외부 데이터 윈도우(208)의 인스턴스를 개시하고 도입된 프로젝트 정보를 모덜리스 외부 데이터 윈도우(208)의 2차원 도표로서 프로그램 매니저에게 디스플레이할 수 있다.
당업자라면, 본원에 개시된 이런 방법 및 다른 방법들과 프로세스들에 대해, 예시적인 흐름도들에서 수행되는 펑크션들이 상이한 순서로 구현될 수도 있다는 것을 알 수 있을 것이다. 더 나아가, 흐름도들에서 약술된 단계들은 예시일 뿐이며, 단계들 중 일부는 선택적이거나, 소수의 단계들로 조합되거나, 본 발명의 본질을 벗어나지 않으면서 추가적인 단계들로 확장될 수도 있다.
도 5는, 일부 실시예들에 따라, 설비가 모덜리스 외부 데이터 윈도우(208)에 디스플레이되어 있는 로우들로부터 다이어그램의 새로운 형태들을 생성하는 방법(500)의 흐름도를 도시한다. 프로그램 매니저 일례를 계속하면, 프로그램 매니저는, 정보의 판독성을 향상시키기 위해, 접속 그래프(connected graph)와 같은, 데이터 접속 다이어그램을 통해 프로젝트 정보를 디스플레이하기를 원할 수도 있다. 또한, 접속 그래프가 존재하지 않고 따라서 그려질 필요가 있으므로, 프로그램 매니저는 접속 그래프를 구비할 형태들을 생성하기 위해 모덜리스 외부 데이터 윈도우(208)에 디스플레이되어 있는 정보의 로우들을 드로잉면으로 드래그함으로써 접속 그래프를 생성하고자 할 수도 있다.
단계 502에서, 프로그램 매니저는, 마우스와 같은, 포인팅 장치를 사용해 모덜리스 외부 데이터 윈도우(208)에서 로우 또는 로우들을 선택하고 선택된 로우들을 드로잉면의 공백 섹션상으로 드래그한다. 단계 504에서, 설비는, 형태 윈도우의 형태 마스터가 현재 선택되어 있는지의 여부를 판정하기 위해 체크한다. 드로잉 프로그램(202)은 통상적으로, 드로잉을 위해 사용자들에게 이용될 수 있는 형태들의 스텐실들 또는 형태 마스터들을 포함하는 형태 윈도우를 제공한다.
형태 마스터가 현재 선택되어 있지 않다면, 단계 506에서, 설비는 드래그된 각 로우의 드로잉면에, 직사각형과 같은, 디폴트 마스터 형태의 인스턴스를 생성한다. 프로그램 매니저 일례에서, 프로젝트 정보는 도 3의 예시적인 모덜리스 외부 데이터 윈도우(208)에 나타낸 바와 같으며, 프로그램 매니저가 "Marketing Plan" 및 "Risk Plan"의 컬럼명들을 가진 로우들을 선택하여 드로잉면의 공백 섹션으로 드래그했다고 가정하면, 설비는 드로잉면에 직사각형의 별개의 2개 인스턴스들을 생성한다. 설비는, 직사각형의 1개의 인스턴스를 "Marketing Plan"의 컬럼명을 가진 로우에 연관시키고, 직사각형의 나머지 인스턴스를 "Risk Plan"의 컬럼명을 가진 로우에 연관시킨다.
그렇지 않고, 형태 마스터가 현재 선택되어 있다면, 단계 508에서, 설비는 드래그된 각 로우의 드로잉면에 각각의 선택된 마스터 형태에 대한 인스턴스를 생성한다. 프로그램 매니저 예를 계속하여, 직사각형 및 정사각형과 같은, 2개의 마스터 형태들이 현재 선택되어 있으며, 프로그램 매니저가 (예를 들어, 도 3의 모덜리스 외부 데이터 윈도우(208)를 형성하는) "Marketing Plan" 및 "Risk Plan"의 컬럼명들을 가진 로우들을 선택하여 드로잉면의 공백 섹션으로 드래그했다고 가정하면, 설비는 드로잉면에 직사각형의 별개의 2개 인스턴스들 및 정사각형의 별개의 2개 인스턴스들을 생성한다. 설비는, 직사각형의 1개 인스턴스를 "Marketing Plan"의 컬럼명을 가진 로우에 연관시키고, 직사각형의 나머지 인스턴스는 "Risk Plan"의 컬럼명을 가진 로우에 연관시키고, 정사각형의 1개 인스턴스는 "Marketing Plan"의 컬럼명을 가진 로우에 연관시키고, 정사각형의 나머지 인스턴스는 "Risk Plan"의 컬럼명을 가진 로우에 연관시킨다. 따라서, 각 로우는 직사각형의 인스턴스 및 정사각형의 인스턴스와 연관된다.
단계 506 또는 단계 508에서 드로잉면에 형태 또는 형태들을 생성하는 것에 후속하여, 설비는, 드로잉면에 생성된 각각의 형태에 대해(단계 510), 드로잉면에 생성된 모든 형태들이 프로세싱될 때까지(단계 514), 단계 512를 수행한다. 단계 512에서, 설비는 형태를 모덜리스 외부 데이터 윈도우(208)에서의 대응되는 로우에 링크시키고, 드로잉면에 생성된 후속 형태를 프로세싱하도록 진행한다(단계 514). 상기 단계 506으로부터 프로그램 매니저 일례를 계속하면, 설비는 직사각형의 1개 인스턴스를 "Marketing Plan"의 컬럼명을 가진 로우에 링크시키고, 직사각형의 나머지 인스턴스는 "Risk Plan"의 컬럼명을 가진 로우에 링크시킨다. 링크 동작은 도 7의 방법(700)과 관련하여 다음에서 부연된다.
도 6은, 일부 실시예들에 따른, 설비가 모덜리스 외부 데이터 윈도우(208)의 로우들을 다이어그램의 기존 형태들에 수동적으로 링크시키는 방법(600)의 흐름도를 도시한다. 상기 프로그램 매니저 일례에서, 프로그램 매니저는 프로젝트 정보의 판독성을 향상시키는데 사용할 다이어그램을 이미 생성했을 수도 있다. 또한, 이 다이어그램은, 드로잉면에 현재적으로 디스플레이되어 있는 직사각형을 포함할 수도 있다.
단계 602에서, 프로그램 매니저는 포인팅 장치를 사용해 모덜리스 외부 데이터 윈도우(208)에서 로우 또는 로우들을 선택하고, 선택된 로우들을 드로잉면에 디스플레이되어 있는 기존 형태상으로 드래그한다. 프로그램 매니저 일례에서, 프로젝트 정보가 도 3의 예시적인 모덜리스 외부 데이터 윈도우(208)에 나타낸 바와 같다고 가정하면, 프로그램 매니저는 "Marketing Plan" 및 "Risk Plan"의 컬럼명들을 가진 로우들을 선택하여 드로잉면에 현재적으로 디스플레이되어 있는 직사각형으로 드래그했을 수도 있다.
그 다음, 선택된 최상부 로우에서 시작해 순차적으로 아래쪽으로 진행하면(단계 604), 설비는, 선택된 모든 로우들이 프로세싱될 때까지(단계 608), 단계 606을 수행한다. 단계 606에서, 설비는 형태를 모덜리스 외부 데이터 윈도우(208)에서 현재 액티브인 로우 - 즉, 선택되고 드래그되어 현재 프로세싱 중인 로우 -에 링크시키고, 드래그된 후속 로우를 프로세싱하도록 진행한다(단계 608). 프로그램 매니저 일례를 계속하면, 설비는 먼저, "Marketing Plan"의 컬럼명을 가진 로우인 최상부 선택 로우를 현재의 액티브 로우로서 식별하고 이 로우를 직사각형에 링크시킨다. 그 다음, 설비는 "Risk Plan"의 컬럼명을 가진 로우인 후속의 최상부 선택 로우를 현재의 액티브 로우로서 식별하고 이 로우를 직사각형에 링크시킨다. 설비는, 선택되고 드래그된 모든 로우들이 프로세싱될 때까지, 이런 식으로 프로세싱을 계속한다.
다른 실시예들에서, 설비는 사용자에게, 사용자가 기존 링크들을 대체하고자 하는지를 결정할 것을 촉구할 수 있다. 예를 들어, 설비는 다음의 옵션들: (1) 대체에 동의(yes replace); (2) 대체에 비동의(no replace); (3) 대체에 항상 동의(yes replace always); 및 (4) 대체에 항상 비동의(no replace always)를 갖춘 다이얼로그를 제시할 수 있다. 또 다른 실시예들에서, 설비는, 사용자가 먼저 드로잉 페이지로부터 형태들 및/또는 서브-형태들을 선택하고, 모덜리스 외부 데이터 윈도우(208)에서 하나 이상의 로우들을 선택한 다음, 로우들을 선택된 형태들에 링크시키기 위한 옵션을 선택하는, "수동 링크"를 지원할 수도 있다.
당업자라면, 프로그램 매니저가 임의 갯수의 로우들을 선택하여 드로잉면의 공백 섹션이나 다이어그램의 형태상으로 선택된 로우들을 드래그할 수 있다는 것을 알 수 있을 것이다. 또한, 프로그램 매니저는, 필요에 따라, 로우들 및 형태들의 상이한 조합과 갯수들을 사용해 선택하고 드래그하는 동작을 반복할 수 있다.
일부 실시예들에서, 설비는 사용자로 하여금 로우 또는 다수 로우들을 선택해 다이어그램의 다수 형태들 상으로 드래그할 수 있게 한다. 여기에서, 설비는 선택되는 다수 형태들에 대한 순서를 확립하고, 드래그된 최상부 로우는 제 1 선택 형태에 링크시키고, 드래그된 후속의 최상부 로우는 후속의 선택 형태에 링크시키는 등을 행한다. 후속의 최상부 로우가 존재하지 않으면, 설비는 로우들을 순환시키고, 선택된 형태들 각각의 링크가 완료될 때까지, 드래그된 최상부 로우를 후속의 선택 형태에 링크시키는 등을 행한다. 프로그램 매니저 일례에서, 직사각형, 정사각형, 및 사다리꼴의 3가지 형태들이 드로잉면에 디스플레이되어 있다고 가정하면, 프로그램 매니저는 3가지 형태들을 선택하고, 선택된 형태들에서의 "Marketing Plan" 및 "Risk Plan"의 컬럼명들을 가진 로우들을 드로잉면으로 드래그했을 수도 있다. 이 경우, 설비는 형태들을 직사각형, 정사각형, 및 사다리꼴의 시퀀스로 순서를 정하고, "Marketing Plan"의 컬럼명을 가진 로우인 최상부 선택 로우를 직사각형에 링크시키며, "Risk Plan"의 컬럼명을 가진 로우인 후속의 최상부 선택 로우를 시퀀스의 후속 형태인 정사각형에 링크시킨다. 후속의 최상부 로우가 존재하지 않기 때문에, 설비는 로우들을 순환시키고, "Marketing Plan"의 컬럼명을 가진 로우인 후속의 최상부 선택 로우를 사다리꼴에 링크시킨다.
도 7은, 일부 실시예들에 따라, 설비가 링크 동작을 수행하는 방법(700)의 흐름도를 도시한다. 특히, 방법(700)은 로우와 다이어그램의 형태 사이의 링크를 도시한다. 일부 실시예들에서, 설비의 외부 데이터 링크 컴포넌트(206)는 액티브 컬럼들-즉, 모덜리스 외부 데이터 윈도우(208)에 현재 디스플레이되어 있는 컬럼들만을 다이어그램의 형태들에 링크시킨다. 단계 702에서, 외부 데이터 링크 컴포넌트(206)는 동일한 데이터 소스의 또 다른 로우와 형태 사이의 임의의 기존 링크들을 제거한다. 일 실시예에서는, 링크가 제거되는 각 로우에 대해, 외부 데이터 링크 컴포넌트(206)는, 로우가 임의의 다른 형태들에 링크되어 있는지의 여부를 판정하기 위해 체크할 수 있고, 로우가 임의의 다른 형태들에 링크되어 있지 않다면, 외부 데이터 링크 컴포넌트(206)는, 로우의 링크 아이콘(306)으로 로우가 현재 링크되어 있지 않다는 것을 지시한다.
그 다음, 링크될 로우의 액티브 컬럼 각각에 대해(단계 704), 외부 데이터 링크 컴포넌트(206)는, 로우의 모든 액티브 컬럼들이 프로세싱될 때까지(단계 712), 단계들(706 내지 710)을 수행한다. 단계 706에서, 외부 데이터 링크 컴포넌트(206)는, 형태가 현재 컬럼명과 동일한 레이블 또는 이름을 가진 맞춤 속성을 가지고 있는지의 여부를 판정하기 위해 체크한다. 형태가 컬럼과 동일한 이름을 가진 맞춤 속성을 가지고 있지 않다면, 단계 708에서, 외부 데이터 링크 컴포넌트(206)는 그 형태에 대한 맞춤 속성을 생성하고, 새롭게 생성된 맞춤 속성에 컬럼과 동일한 이름을 부여한다.
단계 706에서, 외부 데이터 링크 컴포넌트(206)가, 형태가 현재 컬럼명과 동 일한 이름을 가진 맞춤 속성을 가지고 있다고 판정하거나, 단계 708에서 형태에 대한 맞춤 속성을 생성하고 그것에 컬럼과 동일한 이름을 부여하는 것에 후속하여, 단계 710에서, 외부 데이터 링크 컴포넌트(206)는 컬럼으로부터의 값 - 즉, 컬럼에 대응되는 데이터 셀(310) - 로 맞춤 속성을 채우고, 후속의 액티브 컬럼을 프로세싱하도록 진행한다(단계 712). 다른 실시예들에서는, 데이터 타입도, 기존 속성이 사용되어 매칭 컬럼 로우의 데이터로 채워져야 하는지를 판정하기 위한 제 2 테스트로서 사용될 수 있다. 로우의 액티브 컬럼들을 링크시키는 단계에 후속하여, 외부 데이터 링크 컴포넌트(206)는, 로우가 현재 링크되어 있다는 것을 로우의 링크 아이콘(306)에 표시한다.
상기 단계 606으로부터 프로그램 매니저 일례를 계속하면, 외부 데이터 링크 컴포넌트(206)는 먼저 직사각형을, "Marketing Plan"의 컬럼명을 가진 로우인 최상부 선택 로우에 링크시킨 다음, 동일한 직사각형을, "Risk Plan"의 컬럼명을 가진 로우인 후속의 최상부 선택 로우에 링크시켜야 한다. 최상부 로우의 프로세싱에서, 직사각형이 모덜리스 외부 데이터 윈도우(208)의 다른 레코드들 중 어느 것 - 예를 들어, "Manufacturing" 또는 "Quality Testing"의 컬럼명들을 가진 레코드들 중의 어느 하나 - 에 현재 링크되어 있다면, 외부 데이터 링크 컴포넌트(206)는 이 링크를 제거한다. "Documentation" 및 "Procure Contractors"의 컬럼명들을 가진 레코드들은 그들의 개개 링크 아이콘들(306)로 나타낸 바와 같이 링크되어 있지 않다. 그 다음, 외부 데이터 링크 컴포넌트(208)는 직사각형을 최상부 로우에 링크시킨다. 링크 동작에 후속하여, 직사각형에 대한 맞춤 속성들 및 그들의 값들은 다음의 표 1과 같을 수 있다.
Figure 112005061022910-PAT00001
직사각형을 최상부 로우에 링크시키는 것에 후속하여, 외부 데이터 링크 컴포넌트(206)는 직사각형을 후속의 최상부 선택 로우에 링크시킨다. 후속의 최상부 선택 로우를 프로세싱함에 있어서, 외부 데이터 링크 컴포넌트(206)는 직사각형과 "Marketing Plan"의 컬럼명을 가진 로우 사이에 현존하고 있는 링크를 제거하는 것에 의해 시작한다. 일부 실시예들에서, 외부 데이터 링크 컴포넌트(206)는, 각각의 맞춤 속성 옆에, 링크가 더 이상 존재하지 않으며 데이터-즉, 디스플레이되어 있는 값-가 실효된 것일 수도 있다-예를 들어, 데이터가 더 이상 통용되지 않을 수도 있다-는 지시를 제공할 수도 있다. 다른 실시예들에서, 외부 데이터 링크 컴포넌트(206)는, 제거된 링크로부터 생성된 속성들 또는 맞춤 속성을 제거 또는 삭제할 수도 있다. 그 다음, 외부 데이터 링크 컴포넌트(208)는 직사각형을 후속의 최상부 로우에 링크시킨다. 링크 동작에 후속하여, 직사각형에 대한 맞춤 속성들 및 그들의 값들은 다음의 표 2와 같을 수 있다.
Figure 112005061022910-PAT00002
일부 실시예들에서, 설비는 사용자로 하여금 단일 형태를 다수 데이터 소스들로부터의 다수 레코드들에 링크시킬 수 있게 한다. 프로그램 매니저 일례를 계속하면, 다음으로 프로그램 매니저는 외부 데이터 선택기 컴포넌트(204)를 사용해 다른 프로젝트 정보를 포함하는 다른 엑셀 데이터 파일을 도입했을 수도 있다. 예를 들어, 프로젝트 정보는 다음의 표 3과 같이 소유자들 각각에 대한, 사무실 위치 및 전화 번호와 같은, 접촉 정보를 포함할 수도 있다.
Figure 112005061022910-PAT00003
다음으로, 프로그램 매니저는 "Edward"의 컬럼 소유자를 가진 로우를 선택하여 드로잉면에 현재 디스플레이되어 있는 직사각형으로 드래그함으로써, 외부 데이터 링크 컴포넌트(206)로 하여금 직사각형을 로우에 링크하게 했을 수도 있다. 링크 동작에 후속하여, 직사각형에 대한 맞춤 속성들 및 그들의 값들은 다음의 표 4와 같을 수 있다.
Figure 112005061022910-PAT00004
더 나아가, 외부 데이터 링크 컴포넌트(206)는, 링크가 상이한 데이터 소스의 로우와 직사각형 사이에 존재하고 있었기 때문에, 선행의 기존 링크를 제거하지 않는다. 따라서, 선행 링크의 결과로서 생성된 맞춤 속성들은 최근의 링크 동작에 후속하여 링크 상태를 유지한다. 또한, 외부 데이터 링크 컴포넌트(206)는, 맞춤 속성이 이미 존재하고 있기 때문에, "Owner"의 이름을 가진 복제 맞춤 속성을 생성하지 않는다. 복제 맞춤 속성 - 즉, "Owner"의 이름을 가진 맞춤 속성 - 의 값은 최근에 링크된 데이터 소스로부터의 값-즉, 소유자들 각각에 대한 접촉 정보를 위한 프로젝트 정보이다. 다른 실시예들에서, 외부 데이터 링크 컴포넌트(206)는 복제 맞춤 속성들의 값을 업데이트하지 않고, 선행의 기존 값을 유지할 수도 있다.
도 8은, 일부 실시예들에 따라, 설비가 링크를 리프레시하는 방법(800)의 흐름도를 도시한다. 일부 실시예들에서, 설비는, 사용자가 리프레시 동작을 개시하는데 사용할 수 있는 버튼 또는 다른 활성화 장치를 제공할 수도 있다. 일례로써, 사용자는 다이어그램의 형태를 선택하고, 포인팅 장치를 사용해 리프레시 동작을 개시하기 위한 리프레시 버튼을 누를 수 있다. 선택된 형태가 다수 데이터 소스들로부터의 다수 데이터 로우들에 링크되어 있다면, 설비는 사용자에게 리프레시를 위한 하나의 데이터 소스를 선택할 수 있는 능력을 제공한다. 예를 들어, 설비는 다수 데이터 소스들을 윈도우에 나열하고 사용자로 하여금 하나의 데이터 소스를 선택하게 할 수 있다. 다른 실시예들에서, 설비는 순차적으로 하나씩 다수 데이터 소스들로의 링크를 리프레시할 수도 있다.
선택된 형태와 관련된 각각의 맞춤 속성에 대해(단계 802), 설비는, 선택된 형태와 관련된 모든 맞춤 속성들이 프로세싱될 때까지(단계 818), 단계들(804 내지 816)을 수행한다. 단계 804에서, 설비는 맞춤 속성의 값이 데이터 소스로부터의 원래 값과 동일한지의 여부를 판정하기 위해 체크한다. 동일하지 않다면, 맞춤 속성 값은 변경되지 않고, 설비는 후속의 맞춤 속성을 프로세싱하도록 진행한다(단계 818).
그렇지 않고, 맞춤 속성 값이 데이터 소스로부터의 원래 값과 동일하다면, 단계 806에서, 설비는 맞춤 속성에 링크되어 있는 컬럼이 현재 액티브 상태가 아니어서 모덜리스 외부 데이터 윈도우(208)에 디스플레이되어 있지 않은지의 여부를 판정한다. 링크된 컬럼이 현재 액티브 컬럼이 아니라면, 단계 808에서, 설비는 맞춤 속성 값이 실효된 것이라고 지시하고, 후속의 맞춤 속성을 프로세싱하도록 진행한다(단계 818).
그렇지 않고, 링크된 컬럼이 현재 액티브 컬럼이라면, 단계 810에서, 설비는 맞춤 속성 값이, 예를 들어, 사용자에 의해 변경되었는지의 여부를 판정한다. 맞춤 속성 값이 변경되지 않았다면, 단계 818에서, 설비는 데이터 소스의 링크된 컬럼으로부터의 값으로 맞춤 속성 값을 업데이트하거나 리프레시하고, 후속의 맞춤 속성을 프로세싱하도록 진행한다(단계 818).
그렇지 않고, 맞춤 속성 값이 변경되었다면, 단계 812에서, 설비는 사용자가 맞춤 속성 값을 업데이트하기로 결정했는지의 여부를 판정한다. 설비가, 사용자가 맞춤 속성 값을 업데이트하기로 결정했다고 판정하면, 단계 816에서, 설비는 데이터 소스의 링크된 컬럼으로부터의 값으로 맞춤 속성 값을 업데이트하고, 후속의 맞춤 속성을 프로세싱하도록 진행한다(단계 818). 그렇지 않으면, 단계 814에서, 설비는 맞춤 속성의 현재 값을 유지하고, 후속의 맞춤 속성을 프로세싱하도록 진행한다(단계 818).
상기한 바로부터, 여기에서는 예시를 위해 본 발명의 실시예들이 설명되었지만, 본 발명의 정신 및 범위를 벗어나지 않으면서, 다양한 변경들이 이루어질 수도 있다는 것을 알 수 있을 것이다. 따라서, 본 발명은 첨부된 청구항들에서 명시적으로 인용된 요소들에 의해서만 한정된다.
본 발명에 의하면, 사용자들로 하여금 데이터를 다이어그램들에 링크시킬 수 있게 하며 다이어그램들에 링크된 데이터 값을 눈에 보이는 직관적 인터페이스를 통해 빠르게 인식할 수 있게 할 수 있다.

Claims (27)

  1. 컴퓨터-판독 가능 저장 매체로서, 그 콘텐츠가 컴퓨터로 하여금,
    드로잉면(drawing surface)을 가지며 상기 드로잉면에 다이어그램(diagram)을 디스플레이하도록 동작할 수 있는 그래픽 시각화 프로그램의 인스턴스를 실행시키고,
    상기 그래픽 시각화 프로그램의 상기 인스턴스 내에서, 제1 외부 데이터 소스로부터의 데이터를 도입하며,
    상기 제1 외부 데이터 소스로부터 도입된 상기 데이터를 상기 그래픽 시각화 프로그램의 상기 인스턴스 내의 쌍방향 디스플레이에 제1의 2차원 도표로서 디스플레이하게 하여 - 상기 제1의 2차원 도표는 0, 1 또는 그 이상의 로우(row)들 및 0, 1 또는 그 이상의 컬럼(column)들을 가짐 - ,
    상기 쌍방향 디스플레이의 상기 2차원 도표로부터의 하나 이상의 로우가 다이어그램의 기존 형태 또는 새로운 형태와 관련될 수 있도록 하는 컴퓨터-판독 가능 저장 매체.
  2. 제1항에 있어서,
    상기 컴퓨터로 하여금,
    상기 그래픽 시각화 프로그램의 상기 인스턴스 내에서, 제2 외부 데이터 소스로부터의 데이터를 도입하고,
    상기 제2 외부 데이터 소스로부터 도입된 상기 데이터를 상기 그래픽 시각화 프로그램의 상기 인스턴스 내의 상기 쌍방향 디스플레이에 제2의 2차원 도표로서 디스플레이하게 하여,
    상기 쌍방향 디스플레이가 상기 제1 외부 데이터 소스로부터 도입된 상기 데이터 또는 상기 제2 외부 데이터 소스로부터 도입된 상기 데이터 중 하나를 디스플레이하도록 하는 콘텐츠를 더 포함하는 컴퓨터-판독 가능 저장 매체.
  3. 제1항에 있어서,
    상기 쌍방향 디스플레이의 각 로우에는 링크 아이콘이 제공되는 컴퓨터-판독 가능 저장 매체.
  4. 제1항에 있어서,
    상기 쌍방향 디스플레이의 하나 이상의 컬럼은 제외될 수 있는 컴퓨터-판독 가능 저장 매체.
  5. 제1항에 있어서,
    상기 링크는 상기 형태의 속성과 상기 쌍방향 디스플레이의 상기 2차원 도표로부터의 상기 로우의 컬럼으로부터의 값 사이에 존재하는 컴퓨터-판독 가능 저장 매체.
  6. 제5항에 있어서,
    상기 속성 및 상기 컬럼은 동일한 이름을 갖는 컴퓨터-판독 가능 저장 매체.
  7. 제1항에 있어서,
    각 로우에 대한 상기 드로잉면에 새로운 형태들의 인스턴스를 생성하고,
    각 형태에 대해, 상기 형태를 대응되는 로우에 링크시키는 것에 의해,
    상기 쌍방향 디스플레이의 상기 2차원 도표로부터의 복수개의 로우가 다이어그램의 새로운 복수개의 형태에 관련될 수 있게 하는 컴퓨터-판독 가능 저장 매체.
  8. 제1항에 있어서,
    상기 복수개의 형태의 순서를 확립하고,
    상기 복수개의 로우의 순서를 확립하며,
    제1 형태 및 제1 로우로 시작하여, 필요에 따라 상기 복수개의 로우를 통해 순환시키고 상기 형태를 상기 로우에 링크시키면서, 상기 복수개의 형태 모두가 관련될 때까지 순서대로 진행시키는 것에 의해,
    상기 쌍방향 디스플레이의 상기 2차원 도표로부터의 복수개의 로우가 다이어그램의 복수개의 기존 형태에 관련될 수 있게 하는 컴퓨터-판독 가능 저장 매체.
  9. 컴퓨터-판독 가능 저장 매체로서, 그 콘텐츠가 그래픽 시각화 프로그램으로 하여금,
    제1 외부 데이터 소스로부터의 데이터를 쌍방향 디스플레이의 데이터 그리드에서의 제1의 2차원 도표로서 디스플레이하고,
    상기 쌍방향 디스플레이의 상기 데이터 그리드에서의 상기 제1의 2차원 도표에 대한 로우 또는 다수 로우들이 드로잉면의 공백 섹션 상으로 드래그되는 것에 응답하여,
    상기 드로잉면 상으로 드래그된 각 로우에 대해 상기 드로잉면에 형태의 인스턴스를 생성하고,
    상기 드로잉면에 생성된 각 형태에 대해,
    상기 로우의 각 컬럼에 대해,
    상기 컬럼의 이름과 동일한 이름을 가진 상기 형태의 속성이 존재한다고 판정하는 것에 응답하여, 상기 속성을 상기 컬럼으로부터의 값으로 채우고,
    상기 컬럼의 이름과 동일한 이름을 가진 상기 형태의 속성이 존재하지 않는다고 판정하는 것에 응답하여, 상기 형태에 대한 상기 컬럼의 이름과 동일한 이름을 가진 새로운 속성을 생성하고, 상기 새로운 속성을 상기 컬럼으로부터의 값으로 채우는 것에 의해,
    상기 형태를 상기 로우에 링크시킴으로써, 외부 데이터 소스로부터의 데이터를 다이어그램의 형태에 링크하게 하는 컴퓨터-판독 가능 저장 매체.
  10. 제9항에 있어서,
    상기 쌍방향 디스플레이의 상기 데이터 그리드에서의 상기 제1의 2차원 도표에 대한 제1 로우가 상기 드로잉면에 디스플레이되어 있는 기존 형태 상으로 드래그되는 것에 응답하여, 상기 제1 로우의 각 컬럼에 대해,
    상기 컬럼의 이름과 동일한 이름을 가진 상기 기존 형태의 속성이 존재한다고 판정하는 것에 응답하여, 상기 속성을 상기 컬럼으로부터의 값으로 채우고,
    상기 컬럼의 이름과 동일한 이름을 가진 상기 기존 형태의 속성이 존재하지 않는다고 판정하는 것에 응답하여, 상기 기존 형태에 대한 상기 컬럼의 이름과 동일한 이름을 가진 새로운 속성을 생성하고, 상기 새로운 속성을 상기 컬럼으로부터의 값으로 채우는 것에 의해,
    상기 기존 형태를 상기 제 1 로우에 링크시킴으로써,
    상기 그래픽 시각화 프로그램으로 하여금 외부 데이터 소스로부터의 데이터를 다이어그램의 형태에 링크하게 하는 콘텐츠를 더 포함하는 컴퓨터-판독 가능 저장 매체.
  11. 제9항에 있어서,
    상기 쌍방향 디스플레이의 상기 데이터 그리드에서의 상기 제1의 2차원 도표에 대한 제2 로우가 상기 드로잉면에 디스플레이되어 있는 상기 기존 형태 상으로 드래그되는 것에 응답하여,
    상기 기존 형태와 상기 제1 로우 사이의 상기 링크를 제거하고,
    상기 제2 로우의 각 컬럼에 대해,
    상기 컬럼의 이름과 동일한 이름을 가진 상기 기존 형태의 속성이 존재한다고 판정하는 것에 응답하여, 상기 속성을 상기 컬럼으로부터의 값으로 채우고,
    상기 컬럼의 이름과 동일한 이름을 가진 상기 기존 형태의 속성이 존재하지 않는다고 판정하는 것에 응답하여, 상기 기존 형태에 대한 상기 컬럼의 이름과 동일한 이름을 가진 새로운 속성을 생성하고, 상기 새로운 속성을 상기 컬럼으로부터의 값으로 채우는 것에 의해,
    상기 기존 형태를 상기 제2 로우에 링크시킴으로써,
    상기 그래픽 시각화 프로그램으로 하여금 외부 데이터 소스로부터의 데이터를 다이어그램의 형태에 링크하게 하는 콘텐츠를 더 포함하는 컴퓨터-판독 가능 저장 매체.
  12. 제11항에 있어서,
    상기 기존 형태와 상기 제1 로우간의 상기 링크를 제거하는 것은 추가적으로, 상기 속성들의 값들을 나타내는, 뷰(view)의 각 속성마다의 표시를 제공하게 하는 컴퓨터-판독 가능 저장 매체.
  13. 제11항에 있어서,
    상기 기존 형태와 상기 제1 로우간의 링크는 상기 기존 형태와 상기 제1 로 우 간의 상기 링크의 결과로서 생성된 맞춤 속성들을 제거함으로써 제거되는 컴퓨터-판독 가능 저장 매체.
  14. 제9항에 있어서,
    상기 링크는 단지 상기 로우의 액티브 컬럼들에 대한 것인 컴퓨터-판독 가능 저장 매체.
  15. 그래픽 시각화 프로그램의 일부로서 디스플레이되도록 동작할 수 있으며 2차원 도표를 디스플레이하기 위한 모덜리스(modeless) 외부 데이터 윈도우를 집합적으로 포함하는 하나 이상의 컴퓨터 메모리들로서,
    상기 2차원 도표는 하나 이상의 로우 및 하나 이상의 액티브 컬럼을 포함하며, 로우를 선택하고 상기 로우를 상기 모덜리스 외부 데이터 윈도우로부터 상기 그래픽 시각화 프로그램의 드로잉면 상으로 드래그함으로써, 상기 로우가 다이어그램의 형태와 관련될 수 있도록 하는 컴퓨터 메모리들.
  16. 제15항에 있어서,
    상기 링크는 상기 로우를 상기 드로잉면의 공백 섹션 상으로 드래그하고 상기 형태를 생성하는 것에 응답하여 형성되는 컴퓨터 메모리들.
  17. 제15항에 있어서,
    상기 링크는 상기 로우를 상기 드로잉면에 디스플레이되어 있는 상기 형태 상으로 드래그하는 것에 응답하여 형성되는 컴퓨터 메모리들.
  18. 제15항에 있어서,
    상기 링크는, 상기 로우의 액티브 컬럼 각각에 대해, 상기 형태의 속성을 상기 컬럼의 값으로 채움으로써 형성되는 컴퓨터 메모리들.
  19. 다이어그램의 형태를 제1 데이터 소스로부터의 데이터의 로우에 링크시키기 위한 그래픽 시각화 프로그램에서의 컴퓨터-구현 방법으로서,
    형태에 관련되는 제1 데이터 소스로부터의 데이터의 각 로우에 대해,
    상기 형태와 상기 제1 데이터 소스로부터의 데이터의 또 다른 로우 사이에 존재하는 임의의 기존 링크를 제거하는 단계; 및
    로우의 액티브 컬럼 각각에 대해, 상기 액티브 컬럼의 이름과 동일한 이름을 가진 상기 형태의 속성을 채우는 단계
    를 포함하는 컴퓨터-구현 방법.
  20. 제19항에 있어서,
    상기 채우는 단계는 상기 액티브 컬럼의 이름과 동일한 이름을 가진 속성을 생성하는 단계를 포함하는 컴퓨터-구현 방법.
  21. 제19항에 있어서,
    상기 제1 데이터 소스로부터의 데이터의 상기 로우는 쌍방향 디스플레이에 2차원 도표로서 디스플레이되는 컴퓨터-구현 방법.
  22. 제19항에 있어서,
    상기 제1 데이터 소스로부터의 상기 데이터는 네트워크를 통해 검색될 수 있는 컴퓨터-구현 방법.
  23. 제19항에 있어서,
    상기 제1 데이터 소스는 데이터베이스인 컴퓨터-구현 방법.
  24. 다이어그램의 형태와 데이터 소스로부터의 데이터의 로우 사이의 링크를 리프레시(refresh)하기 위한 그래픽 시각화 프로그램에서의 컴퓨터-구현 방법으로서,
    데이터 소스로의 링크로 채워져 있는 형태의 각 속성에 대해,
    상기 속성에 관련되어 있는 상기 데이터 소스의 로우에서의 컬럼이 제거된다면, 상기 속성의 값이 실효(stale)된 것이라고 지시하는 단계; 및
    상기 속성에 관련되어 있는 상기 데이터 소스의 상기 로우에서의 상기 컬럼이 존재하며 액티브라면, 상기 속성의 값을 상기 컬럼으로부터의 값으로 업데이트하는 단계
    를 포함하는 컴퓨터-구현 방법.
  25. 제24항에 있어서,
    상기 속성의 값을 상기 컬럼으로부터의 값으로 업데이트하기 전에,
    상기 속성의 값이 변경되었는지의 여부를 판정하는 단계;
    상기 속성의 값이 변경되었다고 판정하는 것에 응답하여, 상기 속성의 변경된 값을 겹쳐쓰기하거나 유지하기 위한 옵션을 제공하는 단계; 및
    겹쳐쓰기하기 위한 옵션을 선택하는 것에 응답하여, 상기 속성의 값을 상기 컬럼으로부터의 값으로 업데이트하는 단계
    를 더 포함하는 컴퓨터-구현 방법.
  26. 제25항에 있어서,
    유지하기 위한 옵션을 선택하는 것에 응답하여, 상기 속성의 상기 변경된 값을 유지하는 단계를 더 포함하는 컴퓨터-구현 방법.
  27. 제24항에 있어서,
    상기 속성의 값이 실효된 것이라고 지시하는 단계는 상기 속성에 실질적으로 인접한 시각적 지시에 의한 것인 컴퓨터-구현 방법.
KR1020050101313A 2004-12-15 2005-10-26 데이터를 다이어그램의 형태들에 쌍방향으로 링크시키는시스템 및 방법 KR101219964B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US11/012,875 US7564458B2 (en) 2004-12-15 2004-12-15 System and method for interactively linking data to shapes in a diagram
US11/012,875 2004-12-15

Publications (2)

Publication Number Publication Date
KR20060067817A true KR20060067817A (ko) 2006-06-20
KR101219964B1 KR101219964B1 (ko) 2013-01-08

Family

ID=36123406

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050101313A KR101219964B1 (ko) 2004-12-15 2005-10-26 데이터를 다이어그램의 형태들에 쌍방향으로 링크시키는시스템 및 방법

Country Status (7)

Country Link
US (1) US7564458B2 (ko)
EP (1) EP1672542B1 (ko)
JP (2) JP4879566B2 (ko)
KR (1) KR101219964B1 (ko)
CN (1) CN1790327B (ko)
AT (1) ATE549684T1 (ko)
DK (1) DK1672542T3 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190104809A (ko) * 2018-03-02 2019-09-11 스마트팩토리 주식회사 데이터 처리 장치 및 방법

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7508425B2 (en) * 2003-12-22 2009-03-24 Eastman Kodak Company Methods and systems for managing bragbook images
US8595047B2 (en) 2006-02-13 2013-11-26 Microsoft Corporation Automatically-generated workflow report diagrams
US7844581B2 (en) * 2006-12-01 2010-11-30 Nec Laboratories America, Inc. Methods and systems for data management using multiple selection criteria
US20090193067A1 (en) * 2008-01-30 2009-07-30 Microsoft Corporation Server-based recalculation of vector graphics
CA2746705C (en) * 2008-12-18 2014-09-23 Abb Technology Ag Method and device to supervise a power network
US8954488B2 (en) * 2009-01-21 2015-02-10 Microsoft Corporation Extensibility for web based diagram visualization
EP2699992A1 (en) * 2011-04-20 2014-02-26 Mellmo Inc. User interface for data comparison
US9239672B2 (en) 2011-04-20 2016-01-19 Mellmo Inc. User interface for data comparison
CN102306187A (zh) * 2011-08-31 2012-01-04 浙江大学 二维表hash排序方法
US20130339831A1 (en) * 2012-06-15 2013-12-19 Microsoft Corporation Dynamic reports connected to project data
US9904456B2 (en) * 2014-12-02 2018-02-27 Business Objects Software Ltd. Gesture-based visualization of data grid on mobile device
US10572557B2 (en) * 2015-11-04 2020-02-25 International Business Machines Corporation Detecting relevant facets by leveraging diagram identification, soical media and statistical analysis software
US10474321B2 (en) 2015-11-30 2019-11-12 Snap Inc. Network resource location linking and visual content sharing
CN108197193A (zh) * 2017-12-27 2018-06-22 金蝶软件(中国)有限公司 一种多视图数据的显示方法、***及相关装置
CN109857969A (zh) * 2019-01-25 2019-06-07 畅捷通信息技术股份有限公司 数据表格视图处理方法、***及计算机可读存储介质
CN111190964B (zh) * 2019-12-31 2022-11-08 中国平安财产保险股份有限公司 数据对接方法、装置、设备及存储介质

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4813013A (en) * 1984-03-01 1989-03-14 The Cadware Group, Ltd. Schematic diagram generating system using library of general purpose interactively selectable graphic primitives to create special applications icons
US5481741A (en) * 1986-04-14 1996-01-02 National Instruments Corporation Method and apparatus for providing attribute nodes in a graphical data flow environment
US5285192A (en) * 1988-09-16 1994-02-08 Chips And Technologies, Inc. Compensation method and circuitry for flat panel display
US5070534A (en) * 1988-10-17 1991-12-03 International Business Machines Corporation Simplified cad parametric macroinstruction capability including variational geometrics feature
DE69122557T2 (de) * 1990-06-29 1997-04-24 Philips Electronics Nv Bilderzeugung
JPH0520044A (ja) * 1991-07-15 1993-01-29 Personal Joho Kankyo Kyokai ユーザインタフエース装置
US20040018489A1 (en) * 1991-09-09 2004-01-29 Ma Wupo Detection of RNA
JPH0644339A (ja) * 1992-03-06 1994-02-18 Hewlett Packard Co <Hp> 図形オブジェクト操作システム及び方法
US5546507A (en) * 1993-08-20 1996-08-13 Unisys Corporation Apparatus and method for generating a knowledge base
EP0722589B1 (en) * 1993-10-06 1999-01-20 Honeywell Inc. Virtual graphics processor and method for embedded, real time display systems
US5588108A (en) * 1994-09-27 1996-12-24 Micrografx, Inc. System and method for generating graphics charts
US5875331A (en) * 1994-09-30 1999-02-23 International Business Machines Corp. System and method for generating target language code utilizing an object oriented code generator
US5613122A (en) * 1994-11-14 1997-03-18 Object Technology Licensing Corp. Object-oriented operating system
US7986806B2 (en) * 1994-11-16 2011-07-26 Digimarc Corporation Paper products and physical objects as means to access and control a computer or to navigate over or act as a portal on a network
US6215502B1 (en) * 1996-10-28 2001-04-10 Cks Partners Method and apparatus for automatically reconfiguring graphical objects relative to new graphical layouts
US6377263B1 (en) * 1997-07-07 2002-04-23 Aesthetic Solutions Intelligent software components for virtual worlds
GB2332809A (en) * 1997-12-24 1999-06-30 Northern Telecom Ltd Least cost routing
JPH11288412A (ja) * 1998-04-02 1999-10-19 Hitachi Ltd 文書作成方法及びシステム及び文書作成プログラムを記録したコンピュータ読み取り可能な記録媒体
US6745170B2 (en) * 1999-02-08 2004-06-01 Indeliq, Inc. Goal based educational system with support for dynamic characteristic tuning
US6289299B1 (en) * 1999-02-17 2001-09-11 Westinghouse Savannah River Company Systems and methods for interactive virtual reality process control and simulation
US6674440B1 (en) * 1999-04-05 2004-01-06 3Dlabs, Inc., Inc. Ltd. Graphics processor for stereoscopically displaying a graphical image
US7089530B1 (en) * 1999-05-17 2006-08-08 Invensys Systems, Inc. Process control configuration system with connection validation and configuration
AU5025600A (en) * 1999-05-17 2000-12-05 Foxboro Company, The Process control configuration system with parameterized objects
US6545676B1 (en) * 1999-05-24 2003-04-08 Parametric Technology Corporation Method and system for creating a tessellated approximation of an outer envelope of a complex model
US7128270B2 (en) * 1999-09-17 2006-10-31 Silverbrook Research Pty Ltd Scanning device for coded data
US6496199B1 (en) * 1999-10-01 2002-12-17 Koninklijke Philips Electronics N.V. Method for storing and retrieving data that conserves memory bandwidth
US6512519B1 (en) * 1999-10-27 2003-01-28 Autodesk, Inc. Infrastructure for shape event handlers
US6750864B1 (en) * 1999-11-15 2004-06-15 Polyvista, Inc. Programs and methods for the display, analysis and manipulation of multi-dimensional data implemented on a computer
US6738079B1 (en) * 2000-06-02 2004-05-18 Sun Microsystems, Inc. Graphical user interface layout customizer
AUPQ966400A0 (en) * 2000-08-24 2000-09-21 Xemplex Pty Ltd Method of graphically defining a formula
JP2002083311A (ja) * 2000-09-07 2002-03-22 Omron Corp 作画方法および作画ツールおよび表示装置
US20060020538A1 (en) * 2001-06-28 2006-01-26 Pranil Ram Tabs based drag and drop graphical trading interface
US7155670B2 (en) * 2002-01-18 2006-12-26 Internet Disclosure Co., Ltd. Document authoring system and authoring management program
JP4291999B2 (ja) * 2002-01-18 2009-07-08 株式会社インターネットディスクロージャー 書類作成システム及び作成管理プログラム
JP4012234B2 (ja) * 2002-01-18 2007-11-21 株式会社インターネットディスクロージャー 書類作成システム、書類作成方法及び書類作成プログラム
JP4039884B2 (ja) * 2002-05-16 2008-01-30 株式会社リコー 情報仮置き場管理方法、情報仮置き場管理装置、画像形成装置、プログラム及び記憶媒体
US7185313B1 (en) * 2002-05-21 2007-02-27 Microsoft Corporation Method and system for designing and implementing shapes in a software module
US20040027350A1 (en) * 2002-08-08 2004-02-12 Robert Kincaid Methods and system for simultaneous visualization and manipulation of multiple data types
US8131471B2 (en) * 2002-08-08 2012-03-06 Agilent Technologies, Inc. Methods and system for simultaneous visualization and manipulation of multiple data types
AU2003901297A0 (en) * 2003-03-20 2003-04-03 Silverbrook Research Pty Ltd Systems and apparatus (fpd001)
US7126606B2 (en) 2003-03-27 2006-10-24 Microsoft Corporation Visual and scene graph interfaces
US7283939B2 (en) * 2003-05-14 2007-10-16 Incs Inc. Method, system and program for supporting mechanism design
JP3939310B2 (ja) * 2003-05-14 2007-07-04 株式会社インクス 機構設計支援方法、機構設計支援システム並びに機構設計支援プログラム
WO2005006249A1 (en) * 2003-07-09 2005-01-20 Raptor International Holdings Pty Ltd Method and system of data analysis using neural networks
JP2005044016A (ja) * 2003-07-24 2005-02-17 Incs Inc 製品の回路設計支援方法及び回路設計支援システム
US7277572B2 (en) * 2003-10-10 2007-10-02 Macpearl Design Llc Three-dimensional interior design system
US7382373B2 (en) * 2003-12-19 2008-06-03 Intel Corporation Method and apparatus for producing animation

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190104809A (ko) * 2018-03-02 2019-09-11 스마트팩토리 주식회사 데이터 처리 장치 및 방법

Also Published As

Publication number Publication date
EP1672542A2 (en) 2006-06-21
JP5297511B2 (ja) 2013-09-25
EP1672542B1 (en) 2012-03-14
CN1790327B (zh) 2010-11-24
EP1672542A3 (en) 2006-09-13
US20060125827A1 (en) 2006-06-15
CN1790327A (zh) 2006-06-21
KR101219964B1 (ko) 2013-01-08
ATE549684T1 (de) 2012-03-15
US7564458B2 (en) 2009-07-21
JP2012048732A (ja) 2012-03-08
JP2006172443A (ja) 2006-06-29
JP4879566B2 (ja) 2012-02-22
DK1672542T3 (da) 2012-04-23

Similar Documents

Publication Publication Date Title
KR101219964B1 (ko) 데이터를 다이어그램의 형태들에 쌍방향으로 링크시키는시스템 및 방법
US10698589B1 (en) Data visualization user interface for simplified custom calculations
KR101794373B1 (ko) 선택된 데이터의 일시적인 포맷팅 및 도표화 기법
US11604555B2 (en) Highlighting data marks in popup secondary data visualizations according to selected data values from primary data visualizations
JP4934291B2 (ja) モデル化オブジェクトのデータベースにおいてグラフィカルにナビゲートを行う方法
US20110271233A1 (en) Spin control user interface for selecting options
JP2010079931A (ja) シミュレーション・モデル内のオブジェクト・パラメータへアクセスする方法
JP2006072980A (ja) レポート作成ソフトウェアにおけるカスタムグラフィック表現をサポートするシステムおよび方法
US20130198669A1 (en) System and method for reservoir visualization
US20230377228A1 (en) Map data visualizations with multiple superimposed marks layers
EP4327260A1 (en) Dynamic graphical containers
US10740500B1 (en) Meta data management system for a multi-user CAx environment
US20240153171A1 (en) Binding data to graphic objects using a visual indicator
US20230418846A1 (en) User-defined graphical hierarchies
US20230325049A1 (en) Legend of graphical objects
AU2022358239A1 (en) User-defined groups of graphical objects
JPH08115332A (ja) マルチメディア情報の管理方法

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: 20151217

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20161220

Year of fee payment: 5

FPAY Annual fee payment

Payment date: 20171219

Year of fee payment: 6

FPAY Annual fee payment

Payment date: 20181226

Year of fee payment: 7

FPAY Annual fee payment

Payment date: 20191217

Year of fee payment: 8