KR20140041601A - 자동화된 관계 질의를 위한 데이터 구동 자연 인터페이스 기법 - Google Patents

자동화된 관계 질의를 위한 데이터 구동 자연 인터페이스 기법 Download PDF

Info

Publication number
KR20140041601A
KR20140041601A KR1020137034652A KR20137034652A KR20140041601A KR 20140041601 A KR20140041601 A KR 20140041601A KR 1020137034652 A KR1020137034652 A KR 1020137034652A KR 20137034652 A KR20137034652 A KR 20137034652A KR 20140041601 A KR20140041601 A KR 20140041601A
Authority
KR
South Korea
Prior art keywords
dataset
query
datasets
data
user
Prior art date
Application number
KR1020137034652A
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 KR20140041601A publication Critical patent/KR20140041601A/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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/242Query formulation
    • G06F16/2428Query predicate definition using graphical user interfaces, including menus and forms
    • 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/242Query formulation
    • G06F16/2423Interactive query statement specification based on a database schema

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Data Mining & Analysis (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

자동화된 관계 질의를 위한 데이터 구동 자연 인터페이스가 제공된다. 복수의 데이터세트가 쉽게 선택 가능한 방식으로 서피스 상에 디스플레이된다. 데이터세트의 선택 및 또 다른 서피스로의 이동이 검출되면, 이동된 데이터가 상기 또 다른 서피스 상에서 표시된다. 또 다른 데이터세트의 선택 및 상기 또 다른 서피스로의 이동이 검출되면, 이동되는 데이터세트들 간 조인 경로가 계산되고, 데이터세트들이 조인되며, 결과가 또 다른 서피스 상에 디스플레이된다. 상기 시스템은, 새로운 데이터세트가 또 다른 서피스로 이동할 때 새로 선택된 데이터를 기존 데이터와 계속 조인시킴으로써, 상기 질의를 시험하거나 실행시킬 필요 없이, 사용자가 보기 전에, 질의 결과가 구체화될 수 있다.

Description

자동화된 관계 질의를 위한 데이터 구동 자연 인터페이스 기법{DATA DRIVEN NATURAL INTERFACE FOR AUTOMATED RELATIONAL QUERIES}
현대의 기술은 다양한 사용자 수요를 충족시키기 위해 계속해서 고속 컴퓨팅(rapid computing on the go)을 가능하게 했다. 기술의 진보가 다양한 플랫폼, 가령, 휴대용 장치에 걸친 집적 회로에 침투했다. 기술은 자동차 같은 기계의 효용을 확장했다. 기술 확장은 증가된 시스템 복잡도를 초래했다. 복잡도 증가는 흔한 일상 작업의 추가된 다양성(diversity) 및 정보의 소비를 도출했다. 다양한 세계에서, 장치들의 글로벌 네트워크는 문명화된 이후로 전혀 겪어보지 못한 증가하는 속도로 데이터베이스에 저장된 정보를 계속 생성하고 소비한다.
전통적인 데이터베이스 클라이언트에서, 사용자는 특정 질의를 이용해 데이터베이스 테이블과 상호대화하고 이들을 조합할 수 있다. 표준화된 구문(syntax)이 사용자 수요에 따라 데이터세트를 조합하기 위한 질의를 구축하도록 사용된다. 그러나 복합 데이터베이스 테이블 조합에 대한 수요가 데이터베이스 전문가 사용자 자원에게 부담일 수 있다. 제한된 데이터베이스 전문가 사용자 가용성이 다운스트림 프로젝트 진보에 영향을 미치고, 생산성을 약화시킬 수 있다. 데이터 중심 세계에서, 데이터 소비자 수요가 이러한 수요를 수용할 수 있는 비즈니스 능력을 능가할 때, 특정 데이터 구동 해결책을 제공하는 것이 비즈니스 생존 가능성에 영향을 미칠 수 있다.
개요
이 개요는 이하의 구체적인 내용에서 더 설명될 개념들의 모음을 단순한 형태로 소개하기 위해 제공된다. 이 개요는 본 발명의 핵심 특징부 또는 필수 특징부를 총 망라해서 식별하기 위한 것이 아니며, 본 발명의 범위를 결정하기 위한 것도 아니다.
실시예가 자동화된 관계 질의(relational query)를 위한 데이터 구동 자연 인터페이스(data driven natural interface)를 제공하는 것과 관련된다. 애플리케이션은 서피스 상에 쉽게 선택 가능한 방식으로 복수의 데이터세트를 디스플레이할 수 있다. 데이터세트의 선택 및 또 다른 서피스로의 이동이 검출되면, 이동된 데이터는 또 다른 서피스 상에 표시될 수 있다. 또 다른 데이터세트의 선택 및 또 다른 서피스로의 이동이 검출되면, 이동된 데이터세트들 간의 조인 경로(join path)가 계산될 수 있고, 그 후, 조인되는 데이터세트 및 결과가 또 다른 서피스 상에 디스플레이된다. 일부 실시예에 따르면, 시스템은 새로 선택된 데이터를 기존 데이터와 계속 조인시킬 수 있고, 새 데이터세트가 또 다른 서피스로 이동되어, 질의를 시험하거나 실행시킬 필요 없이, 사용자가 보기 전에, 질의 결과가 구체화될 수 있다.
다음의 구체적인 내용을 읽고, 관련 도면을 검토하면, 이들 그리고 그 밖의 다른 특징 및 이점이 명백해질 것이다. 이상의 일반적인 기재와 이하의 구체적인 내용은 모두 예에 불과하고 본 발명을 제한하려는 것이 아니다.
도 1은 클라이언트 애플리케이션에서 관계 질의를 자동으로 구성하고 실행시키기 위한 데이터 구동 자연 인터페이스를 이용하는 시스템의 예시적 구성요소를 도시한다.
도 2는 관계 질의를 자동으로 구성하기 위한 데이터 구동 자연 인터페이스의 예시적 동작 다이어그램을 도시한다.
도 3a 내지 3c는 일부 실시예에 따라 관계 질의를 자동으로 구성하기 위한 데이터 구동 자연 인터페이스를 제공하는 예를 도시한다.
도 4는 실시예에 따르는 시스템이 구현될 수 있는 네트워크 연결된 환경이다.
도 5는 실시예가 구현될 수 있는 예시적 컴퓨팅 동작 환경의 블록도이다.
도 6은 실시예에 따르는 관계 질의를 자동으로 구성하기 위한 데이터 구동 자연 인터페이스를 이용하는 프로세스에 대한 논리 흐름도이다.
앞서 간략히 언급된 바와 같이, 관계 질의(relational query)를 자동으로 구성하기 위해 클라이언트 애플리케이션에서 데이터 구동 자연 인터페이스(data driven natural interface)가 사용될 수 있다. 복수의 데이터세트가 서피스(surface) 상에 디스플레이될 수 있다. 하나의 서피스에서 타 서피스로 데이터세트를 드래그(drag)하는 것이 검출되면 데이터세트가 또 다른 서피스 상에 디스플레이될 수 있다. 또 다른 데이터세트를 타 서피스로 드래그하는 것이 검출되면, 수동 개입 또는 질의 구축 없이, 드래그된 데이터세트와 타 서피스 상에 디스플레이된 결과 사이에 조인 동작(join operation)이 수행될 수 있다. 이하의 상세한 설명에서, 본 발명의 일부를 형성하며, 특정 실시예 또는 예시를 도시하기 위해 나타난 첨부된 도면에 대한 참조가 이뤄진다. 이들 양태는 조합될 수 있고, 그 밖의 다른 양태가 사용될 수 있으며, 본 발명의 사상 또는 범위 내에서, 구조적 변경이 이뤄질 수 있다. 따라서 이하의 구체적인 내용은 제한하려는 것이 아니며, 본 발명의 범위는 특허청구범위 및 이의 균등물에 의해서만 규정된다.
실시예가 컴퓨팅 장치 상의 운영 체제에서 실행되는 애플리케이션 프로그램과 함께 프로그램 모듈의 일반 맥락에서 기재될지라도, 해당 분야의 통상의 기술자라면, 그 밖의 다른 프로그램 모듈과 결합되는 양태도 구현될 수 있음을 알 것이다.
일반적으로, 프로그램 모듈은 루틴, 프로그램, 컴포넌트, 데이터 구조, 및 특정 작업을 수행하거나 특정 추상 데이터 유형을 구현하는 그 밖의 다른 유형의 구조를 포함한다. 덧붙여, 해당 분야의 통상의 기술자라면 실시예가 그 밖의 다른 컴퓨터 시스템 구성, 가령, 핸드-헬드 장치, 멀티프로세서 시스템, 마이크로프로세서-기반 또는 프로그램 가능한 소비자 전자기기, 미니컴퓨터, 메인프레임 컴퓨터, 및 이들과 유사한 컴퓨팅 장치에 의해 실시될 수 있음을 알 것이다. 실시예는 또한 작업이 통신 네트워크를 통해 링크된 원격 프로세싱 장치들에 의해 수행되는 분산 컴퓨팅 환경에서 실시될 수 있다. 분산 컴퓨팅 환경에서, 프로그램 모듈은 로컬 메모리 저장 장치와 원격 메모리 저장 장치에 위치할 수 있다.
실시예는 컴퓨터-구현 프로세스(방법), 컴퓨팅 시스템, 또는 제조 물품, 가령, 컴퓨터 프로그램 제품 또는 컴퓨터 판독형 매체로서 구현될 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 시스템에 의해 판독 가능하며, 컴퓨터 또는 컴퓨팅 시스템으로 하여금 예시적 프로세스(들)를 수행하도록 하기 위한 명령을 포함하는 컴퓨터 프로그램을 인코딩하는 컴퓨터 저장 매체일 수 있다. 상기 컴퓨터 판독형 저장 매체는 비-일시적 컴퓨터 판독형 메모리 장치이다. 상기 컴퓨터 판독형 저장 매체는, 예를 들어, 휘발성 컴퓨터 메모리, 비-휘발성 메모리, 하드 드라이브, 플래시 드라이브, 플로피 디스크, 컴팩트 디스크, 및 이와 유사한 물리적 저장 매체 중 하나 이상을 통해 구현될 수 있다.
본 명세서를 통해, 용어 "플랫폼(platform)"은 관계 질의를 구성하기 위해 데이터 구동 자연 인터페이스를 이용하는 소프트웨어와 하드웨어 컴포넌트의 조합일 수 있다. 플랫폼의 비-제한적 예로는, 복수의 서버에 걸쳐 실행되는 호스팅된 서비스, 하나의 단일 서버 상에서 실행되는 애플리케이션, 및 이와 유사한 시스템이 있다. 용어 "서버"는 일반적으로 네트워크 연결된 환경에서 하나 이상의 소프트웨어 프로그램을 실행하는 컴퓨팅 장치를 일컫는다. 그러나 또한 서버는, 네트워크 상의 서버로서 관찰되는 하나 이상의 컴퓨팅 장치 상에서 실행되는 가상 서버(소프트웨어 프로그램)로서 구현될 수도 있다. 이들 기술 및 예시적 동작에 대한 추가 세부사항이 이하에서 제공된다.
일부 실시예에 따르는 사용자 인터페이스는 하나의 실시예에 따르는 2-창 인터페이스(two-pane interface)일 수 있다. 창들은 서로 인접할 수 있다. 창들은 조절 가능한 분할자(divider)에 의해 분할될 수 있다. 상기 창들 중 하나가 데이터베이스로부터의 데이터세트, 가령, 데이터 테이블을 보여줄 수 있다. 상기 데이터세트는 개별 레코드(record)에 의해 채워질 수 있다. 데이터베이스에 저장된 모든 데이터세트가 창에 들어 맞도록 사용자 인터페이스를 관리하는 애플리케이션이 데이터세트의 크기를 스케일링할 수 있다. 상기 애플리케이션은 또한 데이터세트가 상기 창에 들어 맞을 수 있도록 스크롤 가능한 데이터 테이블 구조를 디스플레이할 수 있다. 대안적으로, 애플리케이션에 의해, 사용자는 디스플레이될 복수의 데이터세트만 선택할 수 있다. 하나의 예에서, 상기 애플리케이션은 데이터세트 명칭을 선택 컨트롤(selection control), 가령, 드롭 다운 메뉴로 로딩하고 사용자가 창에 디스플레이될 데이터세트 명칭을 클릭할 수 있게 할 수 있다. 또 다른 실시예에서, 데이터세트를 디스플레이하기 위한 서피스는 임의의 형태 또는 크기를 가질 수 있다. 예를 들어, 선택될 데이터세트를 디스플레이하기 위한 제 1 서피스는 바운드 창(bound pane)일 수 있고, 반면에 선택된 데이터세트 및 조인(join) 결과를 디스플레이하는 제 2 서피스는 데스크톱 상의 위치일 수 있다.
덧붙여, 실시예는 데이터베이스로부터 데이터세트를 불러오는 것에 국한되지 않는다. 데이터세트를 유지관리하는 데이터 저장소는 데이터세트 내 데이터 레코드를 저장하는 임의의 개체일 수 있다. 이러한 데이터 저장소는 파일, 데이터 서비스, 데이터 서버 등의 집합(collection)을 포함할 수 있다. 예시적 데이터 저장소는 확장형 마크업 언어(XML: extensible markup language) 파일의 집합일 수 있다. 그 밖의 다른 예로는 관계 및 객체 지향 데이터베이스 서비스를 포함할 수 있다. 데이터베이스의 예시는 한정을 위해 제공되는 것이 아니며 그 밖의 다른 실시예를 포함할 수 있다.
실시예는 관계 질의를 자동으로 구성하기 위한 데이터 구동 자연 인터페이스를 가능하게 한다. 데이터 구동 자연 인터페이스는 질의 구성 의무를 사용자에서 데이터베이스로 이동시킬 수 있다. 사용자가 질의를 쓸 필요 없이, 희망 데이터세트를 단순히 선택하고 조인하는 것이 가능해질 수 있다. 데이터베이스는 전통적인 데이터베이스 기능, 가령, 질의 실행 및 데이터세트 표현(database presentation) 외에 질의 구성(query construction)을 다룰 수 있다. 본 명세서 및 청구항에 걸쳐 클라이언트 애플리케이션 및 데이터베이스를 참조하지만, 실시예는 특정 클라이언트 애플리케이션 또는 데이터베이스로 국한되지 않는다. 임의의 애플리케이션 및 데이터 저장소가 본원에 언급된 원리를 적용하여 사용될 수 있다.
도 1은 클라이언트 애플리케이션에서 관계 질의를 자동으로 구성 및 실행시키기 위한 데이터 구동 자연 인터페이스(data driven natural interface)를 채용하는 시스템의 예시적 구성요소를 도시하는 다이어그램이다. 다이어그램(100)에서, 서버는 데이터베이스(102), 가령, 정보 서비스를 클라이언트에게 제공하는 데이터 저장소를 호스팅할 수 있다. 예시적 자연 사용자 인터페이스는 데이터베이스(102)에 저장된 데이터세트를 사용자에게 표시할 수 있다. 상기 데이터베이스(102)는 요청, 가령, 데이터세트를 불러오기 위한 질의를 수신하고 실행시킬 수 있다. 예시적 구현예에서, 질의는 SQL 질의어 구문으로 제공될 수 있다.
일부 실시예는 질의를 쓸(write) 필요 없이, 데이터세트들의 제스처 기반 조인을 가능하게 한다. 상기 데이터베이스(102)를 호스팅하는 서버는 데이터세트 내 레코드를 저장할 수 있다. 클라이언트 애플리케이션(106)은 데이터세트, 가령, 데이터 테이블을 서피스(사용자 인터페이스) 상에 디스플레이할 수 있다. 사용자는 데이터세트를 또 다른 서피스로 드래그 앤드 드롭(drag and drop)할 수 있다. 사용자가 또 다른 데이터세트를 또 다른 서피스로 드래그 앤드 드롭할 때, 클라이언트 애플리케이션(106)은 데이터베이스(102)로부터 결합된 데이터세트(combined dataset)를 요청할 수 있다. 상기 요청은 조인 질의(join query)의 형태를 가질 수 있다. 상기 데이터베이스(102)는 요청의 파라미터, 가령, 조인될 데이터세트를 기초로 조인 질의를 구축할 수 있다. 대안적으로, 클라이언트 애플리케이션(106)은 질의를 구축하고 상기 질의를 결합된 데이터세트에 대한 요청으로서 데이터베이스(102)로 전송할 수 있다.
네트워크(104)는 로컬 네트워크이거나 외부 개체, 가령, 인터넷 기반 인프라구조일 수 있다. 유선 또는 무선 연결을 제공할 수 있다. 클라이언트 애플리케이션(106) 및 데이터베이스(102)는 비보안 또는 보안 연결을 통해 서로 연결될 수 있다. 보안 연결의 일례가 암호화된 통신을 이용해 클라이언트와 데이터 서비스 간에 구축된 가상 사설 네트워크(VPN: Virtual Private Network)일 수 있다.
대안적 실시예에서, 데이터베이스(102)는 원격 또는 로컬 데이터베이스일 수 있다. 로컬 데이터베이스는 로컬 컴퓨팅 자원, 가령, CPU, 메모리 및 클라이언트 애플리케이션을 실행시키는 시스템에 의해 이용 가능한 저장 자원에 한정될 수 있다. 원격 데이터베이스는 컴퓨팅 자원과 관련해 덜 제한적일 수 있으며, 비-로컬 컴퓨팅 자원을 이용할 수 있다. 그러나 원격 데이터베이스를 이용할 때, 전체 시스템은 네트워크 대기시간(network latency)에 대해 최적화될 수 있다. 대안적으로, 클라이언트 애플리케이션(106)은 클라이언트 애플리케이션의 구성요소로서 데이터베이스(102)를 호스팅할 수 있다. 실시예는 클라이언트/서버 및 피어-투-피어(peer-to-peer) 아키텍처에 국한되지 않는다. 클라이언트 애플리케이션에서 관계 질의를 구성하기 위해 데이터 구동 자연 인터페이스를 이용하는 것이 그 밖의 다른 아키텍처를 이용해 이뤄질 수 있다.
도 2는 관계 질의를 자동으로 구성하기 위한 데이터 구동 자연 인터페이스의 예시적 동작 다이어그램을 도시한다. 애플리케이션(210)은 제 1 서피스 상에 데이터베이스(230)로부터 불러온 데이터세트를 디스플레이할 수 있다. 제 1 서피스는 임의의 모양 및 형태를 가질 수 있다. 상기 애플리케이션은 볼 수 있는(viewable) 제 1 서피스에 들어맞도록 데이터세트를 크기 조정(resizing)할 수 있다. 상기 데이터세트는 복수의 레코드를 저장할 수 있다. 각각의 레코드는 데이터 로우(data row)에 포함될 수 있다. 각각의 데이터 로우는 개별 데이터 셀로 추가로 세그먼트될 수 있다. 데이터 셀은 데이터 컬럼(data column)이라고 불리는 데이터세트 개체에 속할 수 있다. 격자(grid) 내 각각의 데이터 컬럼은 데이터세트의 속성을 나타낼 수 있다. 관계 데이터베이스(relational database) 내 데이터세트의 일반적인 속성은 기본 키(primary key)이다. 기본 키는 데이터 로우를 지칭하도록 사용되는 고유 숫자이다. 관계 데이터베이스 내 또 다른 일반적인 개체는 외래 키(foreign key)이다. 외래 키는 타 데이터세트로부터의 기본 키를 저장하여 상기 데이터세트와 상기 타 데이터세트 간의 관계(relationship)를 생성할 수 있다.
사용자는 애플리케이션(210)을 사용함으로써 다이어그램(200)에서의 동작을 개시할 수 있다. 상기 애플리케이션은 데이터베이스(230)로부터의 데이터세트를 제 1 서피스 상에 디스플레이할 수 있다. 제 1 서피스는 분할자에 의해 제 2 서피스로부터 분리되거나, 서피스들은 사용자의 데스크톱 상의 개별 위치에 위치할 수 있다. 상기 애플리케이션(210)은 제 1 사용자 동작, 가령, 제 1 데이터세트를 제 1 서피스로부터 제 2 서피스 상으로 드래그 앤드 드롭하는 것을 검출할 수 있다(212). 제 1 사용자 동작의 완료 후, 상기 애플리케이션은 제 2 서피스 상에 데이터세트의 레코드를 디스플레이할 수 있다.
그 후, 애플리케이션(210)은 제 2 사용자 동작, 가령, 제 2 데이터세트를 제 1 서피스(214)로부터 제 2 서피스 상으로 드래그 앤드 드롭하는 동작을 검출할 수 있다. 제 2 사용자 동작을 검출하면, 애플리케이션(210)은 데이터베이스(230)에게 제 1 데이터세트와 제 2 데이터세트를 결합시키기 위한 질의를 구축하고 실행시키도록 요청할 수 있다(216). 상기 데이터베이스(230)는 요청을 수행하고, 결합된 데이터세트를 애플리케이션(210)에게 전송할 수 있다. 상기 애플리케이션(210)은 결합된 데이터세트(218)를 디스플레이할 수 있으며, 이는 제 2 서피스 상의 제 1 데이터세트의 초기 디스플레이를 덮어 쓴다. 상기 애플리케이션은 또한 질의를 디스플레이할 수 있고, 사용자가 결합된 데이터세트에 디스플레이되는 레코드를 변경하기 위한 질의와 상호대화하도록 할 수 있다.
관계 질의를 구성하기 위한 기재된 데이터 구동 자연 인터페이스는 설명을 위한 것이다. 그 밖의 다른 데이터 구동 자연 인터페이스는 관계 질의를 구성하고 실행시키도록 사용될 수 있다. 덧붙여, 통신 가능하게 연결된 서비스 대신, 컴퓨팅 장치 상에 실행되는 애플리케이션 자체에 의해, 데이터베이스(가령, 관계 데이터베이스, 객체 지향 데이터베이스, 스프레드시트 애플리케이션, 웹 서비스, XML 파일(들) 등)가 저장될 수 있다. 예를 들어, 제 1 서피스로부터의 2개의 데이터세트를 제 2 서피스에서 결합시키기 위한 사용자 동작에 의해, 로컬 저장된 데이터베이스로부터 결합된 데이터세트를 불러오는 것이 야기될 수 있다.
도 3a 내지 3c는 일부 실시예에 따라 관계 질의를 자동으로 구성하고 실행시키기 위한 데이터 구동 자연 인터페이스를 제공하는 예를 도시한다. 도 3a는 관계 질의를 구성하기 위한 2개의 서피스를 갖는 예시적 사용자 인터페이스를 디스플레이한다. 제 1 서피스(310)는 2개의 데이터세트, "제품(PRODUCTS)" 데이터 테이블(312) 및 "주문(ORDERS)" 데이터 테이블(314)을 디스플레이한다. 제 2 서피스(330)는 분할자(320)에 의해 상기 제 1 서피스(310)로부터 분할된다.
제 1 서피스(310)는 제 2 서피스(330)에 인접하게 위치할 수 있다. 제 1 서피스는 제 2 서피스의 왼쪽에 위치할 수 있다. 대안적으로, 제 1 서피스는 제 2 서피스의 상부에 위치하거나, 사용자의 데스크톱 상의 상이한 곳에 위치할 수 있다. 또 다른 실시예에서, 제 1 서피스 및 제 2 서피스는 또 다른 사용자 동작, 가령, 위치 스위치 버튼 또는 메뉴 내 스위치 옵션을 클릭하는 동작에 의해 스위칭될 수 있다. 덧붙여, 제 1 서피스 및 제 2 서피스의 위치가 지정 장치 설정, 가령, 스크린 크기에 의해 스위칭될 수 있다. 모바일 장치 상의 스크린 크기 한계가 사용자가 복합적인 데이터세트 조인 동작을 달성할 수 있도록 하기 위해 제 2 서피스로 추가 스크린 점유공간(screen estate)을 할당할지 여부를 결정할 수 있다.
도 3b는 제 1 사용자 동작을 도시한다. 사용자는 제 1 데이터 테이블(312)에서 제 1 데이터 컬럼을 선택함으로써, 제 1 사용자 동작을 달성할 수 있다. 사용자는 제 1 데이터 헤더(334), 가령, "NAME(명칭)"를 제 1 데이터 컬럼으로부터 잡고 이동(grab and move)시킬 수 있다. 드래그 앤드 드롭이 완료되면, 애플리케이션은 데이터세트(332)의 내용(content)을 제 2 서피스 상에 디스플레이할 수 있다. 대안적으로, 사용자가 레코드들의 한 로우(row)에 대응하는 기본 키(primary key)를 잡고 이동시킴으로써, 상기 레코드들의 로우를 드래그 앤드 드롭하기로 선택할 수 있다. 또 다른 예를 들면, 사용자는 단일 데이터 셀을 잡고 이동시킬 수 있다. 제 1 데이터세트의 예가 하나의 데이터 컬럼, 로우, 또는 셀에 국한되지 않으며, 이들 각각의 단일 또는 복수 개의 조합일 수 있다.
덧붙여, 제 1 사용자 동작이 완료되면, 제 2 서피스는 제 2 서피스 상에 디스플레이되는 제 1 데이터세트를 불러오기 위해, 데이터베이스에 의해 실행되는 질의를 실시간으로 디스플레이할 수 있다. 상기 애플리케이션은 사용자가 질의를 변경하고 최종 데이터세트를 제 2 서피스 상에 실시간으로 디스플레이하도록 할 수 있다.
도 3c에서, 애플리케이션은 제 2 데이터세트를 제 2 서피스 상으로 드래그 앤드 드롭하는 제 2 사용자 동작을 검출할 수 있다. 제 1 사용자 동작과 유사하게, 사용자는 데이터세트를 "주문(ORDERS)" 데이터 테이블(338)로부터 드래그 앤드 드롭할 수 있다. 상기 데이터세트는 데이터 셀, 데이터 로우, 또는 데이터 컬럼일 수 있다. 제 2 사용자 동작은 제 2 데이터 컬럼의 제 2 데이터 헤더(가령,: "수량(QUANTITY)")를 잡고 이동시켜, 제 2 데이터세트를 제 1 서피스로부터 제 2 서피스로 드래그할 수 있다. 드래그 앤드 드롭 동작은 이미 제 2 서피스 상에 위치하는 제 1 데이터세트 옆으로, 또는 단순히 제 1 서피스 상의 임의의 위치로, 선택된 데이터세트를 이동시키는 동작을 포함할 수 있다.
드래그 앤드 드롭 동작(338)이 완료되면, 애플리케이션은 결합된 데이터세트(336)를 요청할 수 있다. 상기 데이터베이스는 결합될 데이터 테이블 및 컬럼 명칭을 포함할 수 있는 요청의 상세사항(specifics)에 따라 질의를 생성하고 실행시킬 수 있다. 데이터베이스는 제 2 데이터세트 내 제 1 데이터세트의 외래 키 상에서 제 1 데이터세트를 제 2 데이터세트와 조인시키는 일대다 조인 유형의 질의(one-to-many join type query)를 실행시킬 수 있다. 대안적 실시예에서, 제 1 데이터세트와 제 2 데이터세트의 역할이 반전될 수 있고, 데이터베이스는 제 1 데이터세트 내 제 2 데이터세트의 외래 키 상에서 제 1 데이터세트를 제 2 데이터세트와 조인시키는 다대일 조인 유형 질의(many-to-one join type query)를 실행시킬 수 있다. 또 다른 실시예에서, 제 1 데이터세트와 제 2 데이터세트는 타 데이터세트의 외래 키를 갖지 않을 수 있다. 이러한 시나리오에서, 데이터베이스는 제 1 데이터세트에서 제 2 데이터세트로의 조인 경로(join path)가 생성될 수 있는 중간 테이블(intermediate table)의 세트를 발견하기를 시도할 수 있고, 발견된 경우 이러한 조인 경로를 이용할 수 있다. 이러한 경로가 발견되지 않은 경우, 제 2 데이터세트의 각각의 요소와 함께 제 1 데이터세트의 각각의 요소에 대해 매트릭스(matrix)를 생성함으로써 제 1 데이터세트를 제 2 데이터세트와 조인하는 다대다 조인 유형 질의(many-to-many join type query)를 실행시킬 수 있다. 질의 유형의 결정은 데이터세트의 선택, 및 데이터세트들이 서로와 어떤 관계인지에 따라 달라질 수 있다. 결합된 데이터세트에 대한 질의는, 데이터세트를 제 1 서피스에서 제 2 서피스 상으로 드래그 앤드 드롭하는 임의의 사용자 동작과 관련하여 실시간으로 제 2 서피스 상에 디스플레이될 수 있다.
실시예는 제 1 사용자 동작 및 제 2 사용자 동작에 국한되지 않는다. 클라이언트 애플리케이션은 사용자가 추가 사용자 동작을 달성할 수 있게 해, 제 1 서피스에서 제 2 서피스로 그 밖의 다른 데이터세트를 드래그 앤드 드롭함으로써, 새로운 결합된 데이터세트를 디스플레이하도록 할 수 있다. 클라이언트 애플리케이션은 추가 사용자 동작의 완료 후, 새로운 결합된 데이터세트 및 새로운 결합된 데이터세트를 디스플레이하기 위한 새로운 질의를 요청할 수 있다.
앞서 언급된 시나리오는 예시적 실시예로서 제공된다. 본원에 기재된 원리를 이용해 클라이언트 애플리케이션에서 관계 질의를 자동으로 구성하고 실행시킬 수 있도록 그 밖의 다른 시나리오가 데이터 구동 자연 인터페이스를 제공하도록 사용될 수 있다.
도 4는 실시예가 구현될 수 있는 예시적 네트워크 연결된 환경이다. 데이터 서비스가 하나 이상의 서버(414)를 통해 또는 하나의 단일 서버(가령, 웹 서버)(416)를 통해 실행되는 소프트웨어, 가령 호스팅된 서비스를 통해 제공될 수 있다. 플랫폼은 네트워크(들)(410)을 통해 개별 컴퓨팅 장치, 가령, 스마트 폰(413), 랩톱 컴퓨터(412), 또는 태블릿 컴퓨터(411)('클라이언트 장치')상의 클라이언트 애플리케이션과 통신할 수 있다.
앞서 언급된 바와 같이, 클라이언트 애플리케이션은 관계 질의를 구성하기 위한 데이터 구동 자연 인터페이스를 활성화시킬 수 있다. 데이터세트는 클라이언트 장치(411-413) 상의 드래그 앤드 드롭 사용자 동작에 의해 결합될 수 있다. 데이터세트를 결합하기 위한 질의가 결합된 데이터세트와 함께 디스플레이될 수 있다. 사용자는 결합된 데이터세트를 변경하기 위해 질의를 변경하도록 허용될 수 있다.
클라이언트 장치(411-413)는 앞서 언급된 바와 같이 원격 서버(들)(가령, 서버(414) 중 하나) 상에서 실행되는 애플리케이션으로의 액세스를 가능하게 할 수 있다. 서버(들)는 직접 또는 데이터베이스 서버(418)를 통해, 관련 데이터를 데이터 저장소(들)(419)로부터 불러오거나 데이터 저장소(들)(419)로 저장할 수 있다.
네트워크(들)(410)은 서버, 클라이언트, 인터넷 서비스 제공자, 및 통신 매체의 임의의 토폴로지를 포함할 수 있다. 실시예에 따르는 시스템은 정적 또는 동적 토폴로지를 가질 수 있다. 네트워크(들)(410)은 보안 네트워크, 가령, 기업 네트워크, 비보안 네트워크, 가령, 무선 개방 네트워크, 또는 인터넷을 포함할 수 있다. 또한 네트워크(들)(410)는 그 밖의 다른 네트워크, 가령, 공중 교환 전화 네트워크(PSTN: Public Switched Telephone Network) 또는 셀룰러 네트워크를 통한 통신을 조정할 수 있다. 덧붙여, 네트워크(들)(410)는 단거리 무선 네트워크, 가령, 블루투스(Bluetooth) 또는 이와 유사한 것을 포함할 수 있다. 네트워크(들)(410)는 본원에 기재된 노드들 간에 통신을 제공한다. 비-제한적 예를 들면, 네트워크(들)(410)는 무선 매체, 가령, 음향, RF, 적외선 및 그 밖의 다른 무선 매체를 포함할 수 있다.
많은 그 밖의 다른 구성의 컴퓨팅 장치, 애플리케이션, 데이터 소스, 및 데이터 분산 시스템이 관계 질의를 구성 및 실행시키기 위한 데이터 구동 자연 인터페이스를 위해 사용될 수 있다. 덧붙여, 도 4에 도시된 네트워크 연결된 환경은 설명을 위한 것에 불과하다. 실시예는, 예시적 애플리케이션, 모듈, 또는 프로세스에 국한되지 않는다.
도 5 및 이와 연관된 설명은 실시예가 구현될 수 있는 적합한 컴퓨팅 환경의 간략하고 일반적인 기재를 제공하려는 것이다. 도 5를 참조하여, 실시예에 따르는 애플리케이션에 대한 예시적 컴퓨팅 동작 환경, 가령, 컴퓨팅 장치(500)의 블록도가 도시된다. 기본 구성에서, 컴퓨팅 장치(500)는 적어도 하나의 프로세싱 유닛(502) 및 시스템 메모리(504)를 포함할 수 있다. 컴퓨팅 장치(500)는 또한 프로그램을 실행시킬 때 협업하는 복수의 프로세싱 유닛을 포함할 수 있다. 컴퓨팅 장치의 정확한 구성 및 유형에 따라서, 시스템 메모리(504)는 휘발성(가령, RAM), 비-휘발성(가령, ROM, 플래시 메모리, 등) 또는 이 둘의 일부 조합일 수 있다. 일반적으로 시스템 메모리(504)는 플랫폼, 가령, 워싱턴, 레드몬드에 소재하는 MICROSOFT CORPORATION의 WINDOWS® 운영 체제와 같은, 플랫폼의 동작을 제어하기에 적합한 운영 체제(505)를 포함한다. 시스템 메모리(504)는 또한 하나 이상의 소프트웨어 애플리케이션, 가령, 프로그램 모듈(506), 사용자 인터페이스 모듈(522), 및 데이터 인터페이스 모듈(524)을 더 포함할 수 있다.
사용자 인터페이스 모듈(522)은 데이터 표시(data presentation), 계산(computation), 분석을 제공하는 서비스 및 이들과 유사한 서비스의 일부일 수 있다. 데이터 인터페이스 모듈(524)은 데이터 세트의 사용자 선택 및 사용자 인터페이스 모듈(522)에 의해 표시되는 하나의 서피스에서 또 다른 서피스로의 이동에 응답하여, 데이터세트를 불러오기 위해 데이터베이스와 상호대화할 수 있다. 두 모듈을 모두 관리하는 애플리케이션은 데이터세트를 결합시킬 수 있고, 결합된 데이터세트를 생성했던 질의를 디스플레이할 수 있다. 이 기본 구성은 대쉬 선(508) 내 이러한 구성요소에 의해 도 5에 도시된다.
컴퓨팅 장치(500)는 추가적인 특징 또는 기능부를 가질 수 있다. 예를 들어, 컴퓨팅 장치(500)는 또한 추가 데이터 저장 장치(이동식 및/또는 비-이동식), 예를 들어, 자기 디스크, 광학 디스크, 또는 테이프를 더 포함할 수 있다. 이러한 추가 저장장치는 도 5에서 이동식 저장장치(509)와 비-이동식 저장장치(510)로 도시되어 있다. 컴퓨터 판독형 저장 매체는 정보, 가령, 컴퓨터 판독형 명령, 데이터 구조, 프로그램 모듈, 또는 그 밖의 다른 데이터의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 이동식 및 비-이동식 매체를 포함할 수 있다. 컴퓨터 판독형 저장 매체는 비-일시적(non-transitory) 컴퓨터 판독형 메모리 장치이다. 시스템 메모리(504), 이동식 저장장치(509) 및 비-이동식 저장장치(510)는 모두 컴퓨터 판독형 매체의 예이다. 컴퓨터 판독형 저장 매체의 비-제한적 예를 들면, RAM, ROM, EEPROM, 플래시 메모리 또는 그 밖의 다른 메모리 기술, CD-ROM, 디지털 다목적 디스크(DVD: digital versatile disk), 또는 그 밖의 다른 광학 저장치, 자기 카세트, 자기 테이프, 자기 디스크 저장장치 또는 그 밖의 다른 자기 저장 장치, 또는 원하는 정보를 저장하기 위해 사용될 수 있고 컴퓨팅 장치(500)에 의해 액세스될 수 있는 그 밖의 다른 임의의 매체가 있다. 이러한 임의의 컴퓨터 판독형 저장 매체는 컴퓨팅 장치(500)의 일부일 수 있다. 컴퓨팅 장치(500)는 또한 입력 장치(들)(512), 가령, 키보드, 하우스, 펜, 음성 입력 장치, 터치 입력 장치, 및 이들과 유사한 입력 장치를 가질 수 있다. 출력 장치(들)(514), 가령, 디스플레이, 스피커, 프린터, 및 그 밖의 다른 유형의 출력 장치가 또한 포함될 수 있다. 이들 장치는 해당 분야에 잘 알려져 있으며, 여기서 더 이상 길게 설명될 필요가 없다.
컴퓨팅 장치(500)는 또한, 장치가 그 밖의 다른 장치(518)와 통신할 수 있게 하는 통신 연결(516), 가령, 분산 컴퓨팅 환경에서의 무선 네트워크, 위성 링크, 셀룰러 링크, 및 이와 유사한 메커니즘을 포함할 수 있다. 그 밖의 다른 장치(518)는 통신 애플리케이션, 저장장치 서버, 및 이와 유사한 장치를 실행시키는 컴퓨터 장치(들)을 포함할 수 있다. 통신 연결(들)(516)은 통신 매체의 하나의 예이다. 통신 매체는 컴퓨터 판독형 명령, 데이터 구조, 프로그램 모듈, 또는 그 밖의 다른 데이터를 변조된 데이터 신호, 가령, 반송파 또는 그 밖의 다른 전송 메커니즘으로 포함할 수 있고, 임의의 정보 전달 매체를 포함할 수 있다. 용어 "변조된 데이터 신호"는 신호 내 정보를 인코딩하기 위한 방식으로 자신의 특성 중 하나 이상이 설정 또는 변경된 신호를 의미한다. 비-제한적 예를 들면, 통신 매체는 유선 매체, 가령, 유선 네트워크 또는 직접 배선된 연결, 및 무선 매체, 가령, 음향, RF, 적외선 및 그 밖의 다른 무선 매체를 포함한다.
또한 예시적 실시예는 방법을 포함한다. 이들 방법은 본원에 기재된 구조를 포함하여 임의의 개수의 방법으로 구현될 수 있다. 이러한 한 가지 방식이 본원에 기재된 유형의 장치의 기계 동작에 의한 것이다.
또 다른 선택적 방식은 한 명 이상의 인간 조작자와 연계하여 수행될 방법의 개별 동작 중 하나 이상을 위한 것이다. 이들 인간 조작자는 서로 동일 장소에 있을 필요가 없으며, 각각 프로그램의 일부분을 수행하는 기계를 가질 수만 있으면 된다.
도 6은 실시예에 따라 관계 질의를 자동으로 구성하기 위한 데이터 구동 자연 인터페이스를 이용하는 프로세스에 대한 논리 흐름도이다. 프로세스(600)는 임의의 컴퓨팅 장치 상에 로컬하게 설치되거나 호스팅된 애플리케이션에 의해 구현될 수 있다.
프로세스(600)는 제 1 데이터세트를 제 1 서피스에서 제 2 서피스로 이동하는 제 1 사용자 동작이 검출되는 단계(610)로 시작될 수 있다. 단계(610) 후에, 단계(620)에서, 제 2 서피스에서 제 1 데이터세트가 디스플레이된다. 그 후, 단계(630)에서 애플리케이션은 또 다른 데이터세트를 제 1 서피스에서 제 2 서피스로 이동시키는 제 2 사용자 동작(가령, 데이터 테이블로부터 데이터 컬럼(data column)을 드래그 앤드 드롭하는 동작)을 검출할 수 있다.
단계(640)에서 애플리케이션은 이동된 데이터 세트들 간 조인 경로(join path)를 계산하거나, 데이터베이스에게 조인 경로를 계산하도록 요청할 수 있다. 단계(640)에, 조인 작업이 수행되는 단계(650)가 뒤 따를 수 있다. 단계(660)에서, 조인 작업(질의 실행)의 결과가 제 2 서피스 상에 디스플레이될 수 있다. 사용자가 추가 데이터세트를 제 2 서피스로 이동시킨 경우, 추가 조인 작업(즉, 질의 형성 및 실행)이 수행될 수 있고, 이의 결과가, 단계(660)와 단계(630) 사이의 루프(loop)에 의해 나타나는 바와 같이, 사용자로부터의 수동 개입 필요 없이, 디스플레이될 수 있다.
일부 실시예는 통신 모듈, 메모리, 및 프로세서를 포함하는 컴퓨팅 장치에서 구현될 수 있고, 여기서 프로세서는 메모리에 저장된 명령들과 함께, 앞서 기재된 바와 같은 방법 또는 이와 유사한 방법을 실행한다. 그 밖의 다른 실시예가 앞서 기재된 것과 같은 방법 또는 이와 유사한 방법을 실행하기 위한 명령이 저장된 컴퓨터 판독형 저장 매체로서 구현될 수 있다.
프로세스(600)에 포함된 단계들은 설명을 위한 것이다. 실시예에 따라 클라이언트 애플리케이션 상에서 관계 질의를 구성하기 위한 데이터 구동 자연 인터페이스는 본원에 기재된 원리를 이용해 더 적은 단계 또는 더 많은 단계를 갖는 유사한 프로세스에 의해 구현될 수 있고, 단계들의 서로 다른 순서로도 구현될 수 있다.
상기의 명세서, 예시, 및 데이터는 실시예의 구성의 제작 및 사용에 대한 완전한 기재를 제공한다. 본 발명이 구조적 특징부 및/또는 방법적 동작에 특정적인 표현으로 기재되었지만, 이하의 특허청구범위에서 정의된 본 발명은 상기에서 언급된 특정 특징부 또는 단계에 반드시 제한되는 것은 아니다. 오히려, 앞서 기재된 특정 특징부 및 단계는 청구항 및 실시예의 예시적 구현 형태로서 개시된 것이다.

Claims (10)

  1. 관계 질의(relational query)를 자동으로 구성하기 위한 데이터 구동 자연 인터페이스(data driven natural interface)를 제공하기 위해 적어도 부분적으로 컴퓨팅 장치에 의해 실행되는 방법으로서,
    상기 방법은
    복수의 데이터세트를 제 1 서피스(surface) 상에 디스플레이하는 단계,
    상기 제 1 서피스상의 상기 복수의 데이터세트로부터의 제 1 데이터세트와 연관된 제 1 사용자 동작(user action)을 검출하는 단계,
    상기 제 1 서피스상의 상기 복수의 데이터세트로부터의 제 2 데이터세트와 연관된 제 2 사용자 동작을 검출하는 단계,
    상기 제 1 데이터세트 및 제 2 데이터세트를 결합(combine)하기 위한 질의(query)를 구축하는 단계,
    상기 질의를 실행시키는 단계, 및
    상기 제 1 데이터세트와 제 2 데이터세트 및 상기 질의의 결과를 제 2 서피스 상에 디스플레이하는 단계를 포함하는
    데이터 구동 자연 인터페이스 제공 방법.
  2. 제1항에 있어서,
    상기 제 1 서피스상의 상기 복수의 데이터세트로부터의 또 다른 데이터세트와 연관된 또 다른 사용자 동작을 검출하는 단계,
    기존 질의 결과와 상기 또 다른 데이터세트를 결합하기 위한 새 질의를 구축하는 단계,
    상기 새 질의를 실행시키는 단계, 및
    사용자가 질의를 수동으로 시험(test)하고 실행시킬 필요 없이, 상기 새 질의의 결과를 디스플레이하는 단계를 더 포함하는
    데이터 구동 자연 인터페이스 제공 방법.
  3. 제1항에 있어서,
    상기 제 1 사용자 동작 및 제 2 사용자 동작은 각자의 데이터세트를 선택하고 상기 제 2 서피스로 이동시키는 동작을 포함하는
    데이터 구동 자연 인터페이스 제공 방법.
  4. 제3항에 있어서,
    데이터세트를 선택하고 상기 제 2 서피스로 이동시키는 동작은 사용자가 하나의 데이터 컬럼 헤더를 잡고 상기 제 2 서피스로 드래그하도록 하는 동작을 포함하는
    데이터 구동 자연 인터페이스 제공 방법.
  5. 제3항에 있어서,
    데이터세트를 선택하고 상기 제 2 서피스로 이동시키는 동작은 사용자가 복수의 데이터 셀을 잡고 상기 제 2 서피스로 드래그하도록 하는 동작을 포함하는
    데이터 구동 자연 인터페이스 제공 방법.
  6. 제1항에 있어서,
    상기 질의를 구축하는 단계는 상기 제 1 데이터세트와 상기 제 2 데이터세트 간에 조인 경로(join path)를 계산하는 단계를 포함하는
    데이터 구동 자연 인터페이스 제공 방법.
  7. 제1항에 있어서,
    상기 제 1 서피스 상에 컬럼 헤드를 포함하는 격자(grid)의 형태로 상기 복수의 데이터세트를 디스플레이하는 단계를 더 포함하는
    데이터 구동 자연 인터페이스 제공 방법.
  8. 관계 질의를 자동으로 구성하기 위한 데이터 구동 자연 인터페이스(data driven natural interface)를 제공할 수 있는 컴퓨팅 장치로서,
    상기 컴퓨팅 장치는
    메모리, 및
    상기 메모리로 연결된 프로세서 - 상기 프로세서는 상기 메모리에 저장된 명령과 함께 애플리케이션을 실행하며, 상기 애플리케이션은
    복수의 데이터세트를 제 1 서피스(surface) 상에 디스플레이하고,
    상기 복수의 데이터세트로부터의 제 1 데이터세트를 상기 제 1 서피스에서 제 2 서피스로 이동시키는 제 1 사용자 동작을 검출하며,
    상기 복수의 데이터세트로부터의 제 2 데이터세트를 상기 제 1 서피스로부터 상기 제 2 서피스로 이동시키는 제 2 사용자 동작을 검출하고,
    데이터 저장소(data store)가 상기 제 1 데이터세트와 제 2 데이터세트를 결합하기 위한 질의를 구축하게 하며,
    상기 데이터 저장소가 상기 질의를 실행하게 하고,
    상기 질의의 결과를 상기 데이터 저장소로부터 수신하며,
    상기 제 1 데이터세트와 상기 제 2 데이터세트 및 상기 질의의 결과를 상기 제 2 서피스 상에 디스플레이하도록 구성됨 - 을 포함하는
    컴퓨팅 장치.
  9. 제8항에 있어서,
    상기 질의는,
    상기 제 2 데이터세트 내 상기 제 1 데이터세트의 외래 키(foreign key) 상에서 상기 제 1 데이터세트를 상기 제 2 데이터세트와 조인시키는 일대다 조인 질의(one-to-many join query),
    상기 제 1 데이터세트 내 상기 제 2 데이터세트의 외래 키 상에서 상기 제 1 데이터세트를 상기 제 2 데이터세트와 조인시키는 다대일 조인 질의(many-to-one join query), 및
    상기 제 2 데이터세트의 각각의 요소와 함께 상기 제 1 데이터세트의 각각의 요소에 대한 매트릭스(matrix)를 생성함으로써, 상기 제 1 데이터세트를 상기 제 2 데이터세트와 조인시키는 다대다 조인 질의(many-to-many join query)
    중 하나인, 컴퓨팅 장치.
  10. 관계 질의를 자동으로 구성하기 위한 데이터 구동 자연 인터페이스(data driven natural interface)를 제공하기 위한 명령(instruction)이 저장된 컴퓨터 판독형 메모리 장치로서,
    상기 명령은
    제 1 서피스(surface) 상에 컬럼 헤더(column header)를 갖는 격자(grid)의 형태로 복수의 데이터세트를 디스플레이하는 명령,
    상기 복수의 데이터세트로부터의 제 1 데이터세트를 상기 제 1 서피스에서 제 2 서피스로 이동시키는 제 1 사용자 동작을 검출하는 명령,
    상기 복수의 데이터세트로부터의 제 2 데이터세트를 상기 제 1 서피스에서 상기 제 2 서피스로 이동시키는 제 2 사용자 동작을 검출하는 명령,
    데이터 저장소(data store)가 상기 제 1 데이터세트와 상기 제 2 데이터세트 간의 조인 작업을 수행하기 위한 질의를 구축하도록 하는 명령,
    상기 데이터 저장소가 상기 질의를 실행하도록 하는 명령,
    상기 데이터 저장소로부터 상기 질의의 결과를 수신하는 명령, 및
    상기 제 1 데이터세트와 상기 제 2 데이터세트와 상기 질의의 결과를 상기 제 2 서피스 상에 디스플레이하는 명령을 포함하는
    컴퓨터 판독형 메모리 장치.
KR1020137034652A 2011-06-29 2012-05-28 자동화된 관계 질의를 위한 데이터 구동 자연 인터페이스 기법 KR20140041601A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/172,627 US20130006961A1 (en) 2011-06-29 2011-06-29 Data driven natural interface for automated relational queries
US13/172,627 2011-06-29
PCT/US2012/039786 WO2013002931A1 (en) 2011-06-29 2012-05-28 Data driven natural interface for automated relational queries

Publications (1)

Publication Number Publication Date
KR20140041601A true KR20140041601A (ko) 2014-04-04

Family

ID=47391652

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020137034652A KR20140041601A (ko) 2011-06-29 2012-05-28 자동화된 관계 질의를 위한 데이터 구동 자연 인터페이스 기법

Country Status (6)

Country Link
US (1) US20130006961A1 (ko)
EP (1) EP2727029A4 (ko)
JP (1) JP2014526082A (ko)
KR (1) KR20140041601A (ko)
CN (1) CN103620603A (ko)
WO (1) WO2013002931A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6455466B2 (ja) * 2016-03-02 2019-01-23 京セラドキュメントソリューションズ株式会社 表示操作装置およびプログラム
CN107066482A (zh) * 2016-12-21 2017-08-18 晶赞广告(上海)有限公司 多源数据监测方法、装置及终端
CN106802926B (zh) * 2016-12-21 2019-11-22 上海数据交易中心有限公司 一种多方数据查询系统和方法

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2711204B2 (ja) * 1992-03-09 1998-02-10 インターナショナル・ビジネス・マシーンズ・コーポレイション リレーショナルデータベースのユーザインターフェースを生成する方法
US7054858B2 (en) * 2001-08-01 2006-05-30 Oic Acquisition Corporation System and method for retrieval of objects from object to relational mappings
US7085757B2 (en) * 2003-07-11 2006-08-01 International Business Machines Corporation Abstract data linking and joining interface
US9015213B2 (en) * 2003-11-17 2015-04-21 The Bureau Of National Affairs, Inc. Legal research system
US7546291B2 (en) * 2004-02-19 2009-06-09 Microsoft Corporation Data source task pane
JP2006277497A (ja) * 2005-03-30 2006-10-12 Toshiba Corp 表示制御方法および情報処理装置
CN101401062A (zh) * 2006-02-16 2009-04-01 移动容量网络公司 确定相关来源、查询及合并多个内容来源的结果的方法和系统
US20070260582A1 (en) * 2006-05-05 2007-11-08 Inetsoft Technology Method and System for Visual Query Construction and Representation
US7747562B2 (en) * 2006-08-15 2010-06-29 International Business Machines Corporation Virtual multidimensional datasets for enterprise software systems
US8156107B2 (en) * 2007-02-02 2012-04-10 Teradata Us, Inc. System and method for join-partitioning for local computability of query over shared-nothing clusters
US20080228700A1 (en) * 2007-03-16 2008-09-18 Expanse Networks, Inc. Attribute Combination Discovery
US20090254588A1 (en) * 2007-06-19 2009-10-08 Zhong Li Multi-Dimensional Data Merge
US8860754B2 (en) * 2008-06-22 2014-10-14 Tableau Software, Inc. Methods and systems of automatically generating marks in a graphical view
US8001154B2 (en) * 2008-06-26 2011-08-16 Microsoft Corporation Library description of the user interface for federated search results
CN106294853B (zh) * 2010-06-22 2019-10-11 起元技术有限责任公司 用于处理相关数据集的方法及数据处理系统

Also Published As

Publication number Publication date
US20130006961A1 (en) 2013-01-03
EP2727029A1 (en) 2014-05-07
WO2013002931A1 (en) 2013-01-03
EP2727029A4 (en) 2015-04-29
CN103620603A (zh) 2014-03-05
JP2014526082A (ja) 2014-10-02

Similar Documents

Publication Publication Date Title
US10678783B2 (en) Interactive user interface for dynamic data analysis exploration and query processing
US10824403B2 (en) Application builder with automated data objects creation
US10691299B2 (en) Display of hierarchical datasets using high-water mark scrolling
US10528589B2 (en) Cross visualization interaction between data visualizations
US10073867B2 (en) System and method for code generation from a directed acyclic graph using knowledge modules
CN105229678B (zh) 进程建模和界面
US9519701B2 (en) Generating information models in an in-memory database system
CN104699742B (zh) 使能扩展大型数据集的极端可视化的方法、系统和产品
US9600342B2 (en) Managing parallel processes for application-level partitions
US9110765B2 (en) Displaying different hierarchy levels of computer program source code
EP2963543B1 (en) User interface generation using a model layer
JP2019537083A (ja) 電子ドキュメントにおけるヘッダの表示を管理するための技術
US20140330821A1 (en) Recommending context based actions for data visualizations
US20200125540A1 (en) Self-correcting pipeline flows for schema drift
US20130086156A1 (en) Coupled application extensions for collaborative remote application sharing
US20130013649A1 (en) Metadata driven flexible user interface for business applications
US11860832B2 (en) Custom columns for static logical models
US20170212942A1 (en) Database grid search methods and systems
US20160110055A1 (en) Event-based architecture for expand-collapse operations
US20120166983A1 (en) Integrated metadata and nested authorizations in a user interface framework
JP2022505223A (ja) ユニバーサルガバナンス
KR20140041601A (ko) 자동화된 관계 질의를 위한 데이터 구동 자연 인터페이스 기법
US20130067372A1 (en) Alias selection in multiple- aliased animations
CN116097244A (zh) 分析工作空间的物化
US11194843B2 (en) Methods and systems for visual management of relational data

Legal Events

Date Code Title Description
N231 Notification of change of applicant
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid