KR20120048475A - 2차 선택 피드백 전달 - Google Patents

2차 선택 피드백 전달 Download PDF

Info

Publication number
KR20120048475A
KR20120048475A KR1020110106467A KR20110106467A KR20120048475A KR 20120048475 A KR20120048475 A KR 20120048475A KR 1020110106467 A KR1020110106467 A KR 1020110106467A KR 20110106467 A KR20110106467 A KR 20110106467A KR 20120048475 A KR20120048475 A KR 20120048475A
Authority
KR
South Korea
Prior art keywords
action
data
program code
executable program
computer
Prior art date
Application number
KR1020110106467A
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 KR20120048475A publication Critical patent/KR20120048475A/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/242Query formulation
    • G06F16/2428Query predicate definition using graphical user interfaces, including menus and forms
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • 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
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Processing Or Creating Images (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

잠재적 액션을 사용하여 2차 선택 피드백을 전달하는, 컴퓨터로 구현되는 프로세스의 실시예는, 하나의 데이터 포인트를 받아, 선택되는 하나의 데이터 포인트를 형성하고, 상기 선택되는 데이터 포인트를 사용하여 제1 하이라이트를 렌더하여 첫 번째 렌더되는 부분을 생성하고, 상기 선택되는 데이터 포인트와 연관된 이용가능한 데이터 구조를 식별 및 발생시키고, 액션의 한 유형을 상기 이용가능한 데이터 구조와 조합하여 하나의 조합을 형성하고, 상기 조합을 사용하여 제2 하이라이트를 렌더하여 두 번째 렌더되는 부분을 생성하고, 렌더되는 부분들을 상기 사용자에게 디스플레이한다.

Description

2차 선택 피드백 전달{COMMUNICATING SECONDARY SELECTION FEEDBACK}
본 발명은 일반적으로는 데이터 처리 시스템에서의 사용자 인터페이스들과 관련되고, 더 구체적으로는 데이터 처리 시스템에서 잠재적 액션(potential action)을 사용하여 2차 선택 피드백(secondary selection feedback)을 전달하는 것과 관련된다.
서로 다른 데이터 소스들 - 예를 들어, 데이터 웨어하우스들, 스프레드시트들, 및 기타 표로 나타낸 데이터 큐브 데이터를 포함함 - 로부터의 데이터 구성체들(data constructs)을 사용하는 비즈니스 인텔리전스(business intelligence) 및 비즈니스 퍼포먼스 어플리케이션들(business performance applications) 내에는, 그 데이터를 디스플레이하고 그 데이터와 인터랙션하기 위한 여러 가지 방법들이 있다. 알려진 디스플레이 기술들에는 표들, 목록들 및 여러 가지 유형의 챠트들이 포함된다.
데이터가 어떻게 구성되고 쓰여졌는지에 따라, 액션들은 데이터 구성체들의 서로 다른 부분들에 적용할 수 있다. 일반적으로 사용자들은, 단지 데이터 디스플레이를 보기만 함으로써, 데이터 요소들 사이에 어떤 연관성들이 존재하고, 그 데이터 요소들에 어떤 액션들이 적용되었는지를 미리 알지는 못한다. 예를 들어, 사용자가 표, 목록 또는 챠트에서 셀/데이터 포인트를 선택하고, 그런 다음 삭제, 필터링, 드릴 다운(drill down), 소팅, 및 포맷을 포함하는 액션을 취하는 경우, 그 액션에 의해 어느 데이터가 영향을 받는지는 항상 명확한 것은 아니다. 왜냐하면 그 영향들은 취해진 액션에 따라 달라질 수 있기 때문이다.
도 3a 및 3b를 참조하면, 단방향 동기 명령들(unidirectional synchronous instructions)의 세트 예들이 표현되어 있다. 예들(300)은 다른 객체들 및 액션들에 대한 단방향 동기 명령들을 나타내는 현재 시나리오들의 전형적인 샘플이다.
그리기(drawing) 프로그램에서 객체(302)가 선택된다. 상기 프로그램은 다른 메뉴 항목들을 흐릿하게 하면서 관련된 메뉴 항목들은 하이라이트(highlight)하는 기술을 채용하도록 설계되어 있다. 객체(302), 즉 직사각형이 선택될 때에는, 거의 어떤 툴바 항목들도 하이라이트되지 않는다. 텍스트 객체(304)의 텍스트를 선택할 때에는, 텍스트 툴바 항목들(306)이 하이라이트된다.
또 다른 사용자 인터페이스 기술에서, 브레드크럼(breadcrumb)(308), 즉 예에서 퍼블리케이션즈(PUBLICATIONS)를 선택하는 경우, 관련된 객체들(310)이 하이라이트된다. 또 다른 예들의 쌍(312 및 314)에서, 사용자는 객체를 선택하고, 특성들 페인(properties pane)은 그 선택을 반영하도록 갱신된다. 또 다른 예(일반적으로, Microsoft® Office 2007과 같은 워드 프로세싱 제품들이고, Microsoft는 미국 및/또는 기타 국가들에서 마이크로소프트사(Microsoft Corporation)의 등록 상표임)에서, 사용자는 먼저 예(도 3b의 316)에서와 같이 헤딩 1(Heading 1) 속성으로 문서 내의 텍스트를 선택한다. 그런 다음, 사용자는 예(도 3b의 318)에서와 같이 헤딩 2(Heading 2) 위에서 호버(hover)(hover는 예를 들어 마우스 커서를 객체 위에 올려 놓는 것을 일컬음)하고, 그래서 선택된 텍스트가 헤딩 2 속성들로 미리보여지도록 한다. 예(318)의 미리보기를 위한 하이라이팅은 예(316)의 그것과는 다르다. 상기 어플리케이션 예는, 사용자가 상기 어플리케이션 "리본(ribbon)" 상의 액션 위에 마우스 커서를 호버할 때, 미리보기 기능을 보여준다. 상기 어플리케이션은 이 원리를 변화하는 데이터 구성체들(data constructs)에 대해서는 적용하지 않고, 단지 구별되는 사용자 인터페이스 객체들에 대해서만 적용한다. 근본적인 비즈니스 데이터에 관한 지식은 고려되지 않는다.
도 4a 및 4b를 참조하면, 단방향 동기 명령들의 세트 예들에 관해 표로 나타낸 표현이 도시되어 있다. 시퀀스(400)는 다른 객체들 및 액션들에 대한 단방향 동기 명령들의 또 다른 예이다. 예를 들어, 시퀀스(400) 동안, 사용자는 행(row)(402)에 도시된 개개의 항목들(2005, 2006, 2007, Total)의 데이터 구성체를 갖는 크로스탭 표(crosstab table)에서 열 헤딩(column heading)을 선택하고, 이 선택은 데이터 표(404)에 렌더(render)된다. 사용자는 2006을 포함하는 셀(406)을 더 선택하고 삭제(delete) 액션을 선택한다. 상기 삭제 액션은 셀(406)에서 항목 2006 및 연관된 열의 값들 225, 275230을 제거할 것이다. 셀(406)에 관한 상기 삭제 액션의 결과는 표(408)에 도시되어 있다. 이 표(408)에서 값 2006을 갖는 헤더 항목을 갖는 열은 더 이상 존재하지 않는다.
그러나, 또 다른 시나리오에서, 사용자가 값 2006을 갖는 동일 셀(406)을 선택하고 상기 삭제 액션 대신에 라벨에 의한 소트(sort by label) 액션을 선택할 때, 상기 소트 액션은 2005, 20062007의 값들을 포함하는 헤더 전체에 걸쳐 그 라벨들에 적용될 것이다.
변화하는 결과들을 갖는 액션들을 수행하는 알려진 대안은 일정 액션을 위한 영역 내에서 특정 데이터를 사용자가 선택하도록 요구한다. 상기 요구사항은 그 액션을 취하기 전에 각각의 액션을 위해 어떤 데이터 선택이 필요한지를 사용자가 완전히 이해해야 한다는 점을 의미한다. 전형적인 데이터 처리 제품들(예를 들어, Microsoft Excel®)은 이 요구사항을 이행한다(Excel은 미국 및/또는 기타 국가들에서 마이크로소프트사의 등록 상표임). 예를 들어, Microsoft Excel을 사용하고 사용자가 미리 정확한 데이터 선택을 하지 않고서 액션을 취할 때, 상기 사용자에게는 메시지(412)로 보여지는 경고 메시지가 제공된다. 메시지(412)는, 액션이 그 선택되는 근본적인 데이터에 의해 지원되지 않을 때, Microsoft Excel에 의해 보여지는 경고 메시지의 일 예이다.
어떤 비즈니스 어플리케이션들은 1차(primary) 및 2차(secondary) 선택 피드백의 컨텍스트(context)를 제공한다. 1차 선택은 선택된 셀에 적용되는 반면, 2차 선택은, 예를 들어, 관련된 데이터의 세트의 다른 멤버들을 포함할 수 있는 미리 정의된 영역에 적용된다. 사용자에 있어서의 문제는 이용할 수 있는 액션들의 진정한 범위를 상기 2차 선택이 반영하지 않을 수 있다는 점이다.
또 다른 예에서, 관련된 항목들(예를 들어, 행(도 4b의 414)에 도시된 세트의 멤버들)을 갖는 데이터 구성체로 사용자가 작업하고 있을 때, 그 인터랙션은 다르다. 몇몇 비즈니스 어플리케이션들은 렌더하는 1차 선택과 2차 선택의 기술로 어디에 액션들이 적용될지를 식별하는 이슈를 해결한다.
데이터 표(416)는 1차 선택과 2차 선택의 전형적인 프리젠테이션의 일 예를 제공한다. 상기 예에서, 데이터 표(416)의 행(414)에 보여진 세트의 멤버들을 사용할 때, 값 2006을 포함하는 셀(418)은 하이라이트된 테두리로 표시된 1차 선택이다. 2차 선택은 또한 상기 1차 선택의 하이라이팅과는 다른 스타일의 하이라이팅을 사용하여 표시된다. 이 예에서, 행(420)의 열 헤딩들의 값들(2005, 2006, 2007, 및 Total)은, 데이터 표(416)에 도시된 바와 같이, 관련된 데이터의 세트의 모든 멤버들이다.
사용자가 삭제(delete)를 호출할 때, 상기 삭제 동작은 데이터 표(422)에 보여진 바와 같이, 2005, 2006, 2007, 및 연관된 Total의 값들을 갖는 모든 년도들(years)을 폐기할 것이다. 상기 2차 선택 피드백에 기초하여, 그 폐기 결과(424), 빈 공간이 예상된다.
그러나, 사용자가 계산(calculate) 동작을 호출할 때, 상기 동작은 각각의 값을 100으로 증가시키는 계산을 위한 기준으로서 데이터 표(416)에서 2006의 값을 갖는 열(418)을 사용할 것이고, 416에 도시된 상기 2차 선택 피드백은 데이터 표(426)에서 열(428)을 생성할 액션을 반영하지 않는다.
제공되는 예들에서 각각의 접근법의 한계점은, 분명한 선택이든 2차 선택이든 간에, 각각의 액션의 범위가 또 다른 선택을 요구한다는 것이고, 그러한 추가 선택은 액션을 취하는 사용자에 의해 미리 기억되어야 한다는 점이다. 미리 추가 선택을 기억할 것을 사용자에게 요구하는 것은 그 사용자가 근본적인 데이터 구성체를 안다고 가정한다. 상기 요구사항은 비즈니스 인텔리전스 데이터로 작업할 때 심적 부담을 증가시키고 효율을 감소시킨다.
본 발명의 일 실시예에 따르면, 잠재적 액션(potential action)을 사용하여 2차 선택 피드백(secondary selection feedback)을 전달하기 위한 컴퓨터로 구현되는 프로세스(computer-implemented process)는, 하나의 데이터 포인트의 선택을 받아, 선택되는 하나의 데이터 포인트(selected single data point)를 형성하고, 상기 선택되는 데이터 포인트를 사용하여 제1 하이라이트(first highlight)를 렌더(render)하여 첫 번째 렌더되는 부분(first rendered portion)을 생성하고, 상기 선택되는 데이터 포인트와 연관된 이용가능한 데이터 구조(available data structure)를 식별 및 발생시키고, 상기 첫 번째로 렌더되는 부분을 사용자에게 디스플레이하고, 액션의 한 유형(a type of action)을 상기 이용가능한 데이터 구조와 조합(combine)하여 하나의 조합(a combination)을 형성하고, 상기 조합을 사용하여 제2 하이라이트(second highlight)를 렌더하여 두 번째 렌더되는 부분(second rendered portion)을 생성하고, 렌더되는 부분들을 상기 사용자에게 디스플레이한다.
본 발명의 다른 실시예에 따르면, 잠재적 액션을 사용하여 2차 선택 피드백을 전달하기 위한 컴퓨터 프로그램 제품(computer program product)은 내부에 저장된 컴퓨터 실행가능 프로그램 코드(computer executable program code)를 포함하는 컴퓨터 기록가능형 매체(computer recordable-type media)를 포함한다. 상기 컴퓨터 실행가능 프로그램 코드는, 하나의 데이터 포인트의 선택을 받아, 선택되는 하나의 데이터 포인트를 형성하는 컴퓨터 실행가능 프로그램 코드, 상기 선택되는 데이터 포인트를 사용하여 제1 하이라이트를 렌더하여 첫 번째 렌더되는 부분을 생성하는 컴퓨터 실행가능 프로그램 코드, 상기 선택되는 데이터 포인트와 연관된 이용가능한 데이터 구조를 식별 및 발생시키는 컴퓨터 실행가능 프로그램 코드, 상기 첫 번째 렌더되는 부분을 사용자에게 디스플레이하는 컴퓨터 실행가능 프로그램 코드, 액션의 한 유형을 상기 이용가능한 데이터 구조와 조합하여 하나의 조합을 형성하는 컴퓨터 실행가능 프로그램 코드, 상기 조합을 사용하여 제2 하이라이트를 렌더하여 두 번째 제공되는 부분을 생성하는 컴퓨터 실행가능 프로그램 코드, 및 렌더되는 부분들을 상기 사용자에게 디스플레이하는 컴퓨터 실행가능 프로그램 코드를 포함한다.
본 발명의 또 다른 실시예에 따르면, 잠재적 액션을 사용하여 2차 선택 피드백을 전달하는 장치는 통신 패브릭(communications fabric), 상기 통신 패브릭에 연결되는 메모리 - 상기 메모리는 컴퓨터 실행가능 프로그램 코드를 포함함 -, 상기 통신 패브릭에 연결된 통신 유닛(communications unit), 상기 통신 패브릭에 연결된 입력/출력 유닛, 상기 통신 패브릭에 연결된 디스플레이, 및 상기 통신 패브릭에 연결되는 프로세서 유닛을 포함한다. 상기 프로세서 유닛은, 하나의 데이터 포인트의 선택을 받아, 선택되는 하나의 데이터 포인트를 형성하고, 상기 선택되는 데이터 포인트를 사용하여 제1 하이라이트를 렌더하여 첫 번째 렌더되는 부분을 생성하고, 상기 선택되는 데이터 포인트와 연관된 이용가능한 데이터 구조를 식별 및 발생시키고, 상기 첫 번째 렌더되는 부분을 사용자에게 디스플레이하고, 액션의 한 유형을 상기 이용가능한 데이터 구조와 조합하여 하나의 조합을 형성하고, 상기 조합을 사용하여 제2 하이라이트를 렌더하여 두 번째 렌더되는 부분을 생성하고, 렌더된 부분들을 상기 사용자에게 디스플레이하도록, 상기 장치에게 명령하는 컴퓨터 실행가능 프로그램 코드를 실행한다.
본 발명에 관한 더 완전한 이해를 위해, 이제, 첨부되는 도면들 및 상세한 설명과 함께, 도면의 간단한 설명이 참조된다. 첨부되는 도면들에서 유사한 참조 부호들은 유사한 부분들을 나타낸다.
도 1은 본 발명의 여러 가지 실시예들을 위해 동작가능한 데이터 처리 시스템의 일 예의 블록도이다.
도 2는 본 발명의 여러 가지 실시예들에 따라, 잠재적 액션을 사용하여 2차 선택 피드백을 전달하는 시스템의 블록도이다.
도 3a 및 도 3b는 단방향 동기 명령들의 세트 예들의 도면이다.
도 4a 및 도 4b는 단방향 동기 명령들의 세트 예들에 관해 표로 나타낸 표현이다.
도 5a 및 도 5b는 본 발명의 여러 가지 실시예들에 따른 액션에 관한 2차 선택 피드백을 전달하는 프로세스이다.
도 6은 본 발명의 일 실시예에 따른, 도 5a 및 도 5b의 프로세스에서 동작들의 일 부분의 블록도이다.
도 7은 본 발명의 일 실시예에 따른, 도 5a 및 도 5b의 프로세스에서 동작들의 일부분의 블록도이다.
도 8은 본 발명의 일 실시예에 따른, 도 5a 및 도 5b의 프로세스에서 동작들의 일부분의 블록도이다.
도 9는 본 발명의 일 실시예에 따른, 도 5a 및 도 5b의 프로세스를 사용하고 동일한 데이터 구조에 기초한 두 개의 데이터 비쥬얼화들(data visulizations)에 관해 표로 나타낸 표현이다.
도 10은 본 발명의 일 실시예에 따른, 도 5a 및 도 5b의 프로세스를 사용하고 표시된 세트들과 동일한 데이터 구조에 기초한 두 개의 데이터 비쥬얼화들에 관해 표로 나타낸 표현이다.
도 11은 본 발명의 일 실시예에 따른, 도 5a 및 도 5b의 프로세스 및 동일한 데이터 구조에 기초하여 두 개의 데이터 비쥬얼화들을 사용하는 데이터 포인트 선택에 관해 표로 나타낸 표현이다.
도 12는 본 발명의 일 실시예에 따른, 삭제(Delete) 액션 위에 호버하는 것에 관해 표로 나타낸 표현으로서, 이는 상기 액션에 의해 영향을 받는 데이터를 보여주고 도 5a 및 도 5b의 프로세스를 사용한다.
도 13은 본 발명의 일 실시예에 따른, 드릴 다운(Drill down) 액션 위에 호버하는 것에 관해 표로 나타낸 표현으로서, 이는 상기 액션에 의해 영향을 받는 데이터를 보여주고 도 5a 및 도 5b의 프로세스를 사용한다.
도 14는 본 발명의 일 실시예에 따른, 라벨에 의한 소트(Sort by Label) 액션 위에 호버하는 것에 관해 표로 나타낸 표현으로서, 이는 상기 액션에 의해 영향을 받는 데이터를 보여주고 도 5a 및 도 5b의 프로세스를 사용한다.
도 15는 본 발명의 일 실시예에 따른, 필터-차단(Filter-exclude) 액션 위에 호버하는 것에 관해 표로 나타낸 표현으로서, 이는 상기 액션에 의해 영향을 받는 데이터를 보여주고 도 5a 및 도 5b의 프로세스를 사용한다.
도 16은 본 발명의 일 실시예에 따른, 도 5a 및 도 5b의 프로세스를 사용하여 그리드(grid) 또는 챠트에서 데이터 포인트를 선택하는 것에 관해 표로 나타낸 표현이다.
도 17은 본 발명의 일 실시예에 따른, 드릴 다운(Drill down) 액션 위에 호버하는 것에 관해 표로 나타낸 표현으로서, 이는 상기 액션에 의해 영향을 받는 데이터를 보여주고, 도 5a 및 도 5b의 프로세스 및 도 16의 데이터 포인트 선택을 사용한다.
도 18은 본 발명의 일 실시예에 따른, 더 큰 값 필터(Filter-greater than) 액션 위에 호버하는 것에 관해 표로 나타낸 표현으로서, 이는 상기 액션에 의해 영향을 받는 데이터를 보여주고, 도 5a 및 도 5b의 프로세스 및 도 16의 데이터 포인트 선택을 사용한다.
도 19는 본 발명의 일 실시예에 따른, 잠재적 액션을 사용하여 2차 선택 피드백을 전달하는 프로세스의 고 레벨 뷰의 흐름도이다.
도 20은 본 발명의 일 실시예에 따른, 잠재적 액션을 사용하여 2차 선택 피드백을 전달하는 프로세스 내에서 액션을 변경하는 프로세스의 흐름도이다.
이하에서는 비록 하나 또는 그 이상의 실시예들의 예시적인 구현이 제공되지만, 개시되는 시스템들 및/또는 방법들 임의 개의 기술들을 사용하여 구현될 수 있다. 본 명세서는 여기에 예시되고 기술된 예시적인 디자인들 및 구현들을 포함하는, 이하에서 예시되는 예시적 구현들, 도면들, 및 기술들로 한정되어서는 아니되고, 균등물들의 전체 범위와 함께 첨부되는 청구항들의 범위 내에서 변형될 수 있다.
당해 기술 분야에서 숙련된 자라면 알 수 있는 바와 같이, 본 발명의 측면들은 시스템, 방법 또는 컴퓨터 프로그램 제품으로 구현될 수 있다. 따라서, 본 발명의 측면들은 전적으로 하드웨어 실시예의 형태를 취할 수도 있고, 전적으로 소프트웨어 실시예의 형태(펌웨어, 상주 소프트웨어, 마이크로-코드 등을 포함함)를 취할 수도 있고, 또는 소프트웨어와 하드웨어 측면들 - 이 모두는 일반적으로 여기서는 "회로", "모듈", 또는 "시스템"으로 일컬어질 수 있음 - 을 조합하는 실시예의 형태를 취할 수도 있다. 더 나아가, 본 발명의 측면들은 하나 또는 그 이상의 컴퓨터 판독가능 매체(들) - 이는 내부에 구현된 컴퓨터 판독가능 프로그램 코드를 가짐 - 에 구현된 컴퓨터 프로그램 제품의 형태를 취할 수도 있다.
하나 또는 그 이상의 컴퓨터-판독가능 매체(들)의 어떤 조합이든지 이용될 수 있다. 상기 컴퓨터-판독가능 매체는 컴퓨터-판독가능 신호 매체 또는 컴퓨터-판독가능 스토리지 매체일 수 있다. 컴퓨터-판독가능 매체는, 예를 들어, 전자, 자기, 광학, 전자기, 적외선, 또는 반도체 시스템, 장치, 또는 디바이스, 또는 이것들의 어떤 적절한 조합일 수 있으나, 이러한 예들로 한정되는 것은 아니다. 상기 컴퓨터-판독가능 스토리지 매체의 더 구체적인 예들(모든 것들을 다 열거한 것은 아님)은 다음의 것들, 즉, 하나 또는 그 이상의 와이어들을 갖는 전기적 연결, 휴대용 컴퓨터 디스켓, 하드 디스크, 랜덤 억세스 메모리(random access memory, RAM), 읽기 전용 메모리(read-only memory, ROM), 소거가능 프로그램형 읽기 전용 메모리(erasable programmable read-only memory(EPROM) 또는 플래시 메모리), 광섬유(optical fiber), 휴대용 컴팩트 디스크 읽기 전용 메모리(portable compact disc read-only memory, portable CDROM), 광 스토리지 디바이스, 또는 자기 스토리지 디바이스 또는 이것들의 어떤 적절한 조합을 포함할 것이다. 본 문서의 맥락에서, 컴퓨터-판독가능 스토리지 매체는 명령 실행 시스템, 장치, 또는 디바이스에 의해 또는 이것들과 함께 사용하기 위한 프로그램을 포함, 또는 저장할 수 있는 어떤 실체적 매체일 수 있다.
컴퓨터-판독가능 신호 매체는, 예를 들어, 기저대역으로 또는 반송파의 일부로 그 내부에 구현되는 컴퓨터-판독가능 프로그램 코드를 갖는 전파되는 데이터 신호를 포함할 수 있다. 이러한 전파되는 신호는 예를 들어, 전자기, 광학 또는 이것들의 어떤 적절한 조합을 포함하는, 여러 가지 형태들을 취할 수 있다. 그러나, 이러한 예들로 한정되는 것은 아니다. 컴퓨터 판독가능 신호 매체는 컴퓨터 판독가능 저장 매체는 아니지만, 명령 실행 시스템, 장치, 또는 디바이스에 의해 또는 이것들과 함께 사용하기 위한 프로그램을 전달, 전파, 또는 전송할 수 있는, 어떤 컴퓨터 판독가능 매체일 수 있다.
컴퓨터-판독가능 매체 상에 구현되는 프로그램 코드는 무선, 유선, 광섬유 케이블, RF 등, 또는 이것들의 적절한 조합을 포함하는 적절한 매체(그러나, 이러한 예들로 한정되는 것은 아님)를 사용하여 전송될 수 있다.
본 발명의 측면들을 위한 동작들을 수행하는 컴퓨터 프로그램 코드는 하나 또는 그 이상의 프로그래밍 언어들의 조합으로 작성될 수 있다. 그러한 프로그래밍 언어들의 예들에는, JavaTM, Smalltalk, C++ 등과 같은 객체 지향 프로그래밍 언어, 및 "C" 프로그래밍 언어 또는 유사 프로그래밍 언어들과 같은 전통적인 절차 프로그래밍 언어들이 포함된다. Java 및 모든 Java 기반의 상표들 및 로고들은 미국, 기타 국가들 또는 둘 다에서의 선 마이크로시스템즈사(Sun Microsystems, Inc.)의 상표들이다. 상기 프로그램 코드는 독립형 소프트웨어 패키지로서, 사용자의 컴퓨터 상에서 전적으로, 사용자의 컴퓨터 상에서 부분적으로, 사용자의 컴퓨터 상에서 부분적으로 그리고 원격 컴퓨터 상에서 부분적으로, 또는 원격 컴퓨터 또는 서버 상에서 전적으로 실행될 수 있다. 후자의 시나리오에서, 상기 원격 컴퓨터는 LAN 또는 WAN을 포함하는 네트워크의 어떤 유형을 통해서든 상기 사용자의 컴퓨터에 연결될 수 있으며, 또는 상기 연결은 외부 컴퓨터에 대해 이뤄질 수 있다(예를 들어, 인터넷 서비스 공급자를 사용하여 인터넷을 통해).
본 발명의 측면들은 이하에서 본 발명의 실시예들에 따른 방법들, 장치들, (시스템들), 및 컴퓨터 프로그램 제품들의 흐름도들 및/또는 블록도들을 참조하여 기술된다. 상기 흐름도들 및/또는 블록도들의 각각의 블록, 상기 흐름도들 및/또는 블록도들의 블록들의 조합들은 컴퓨터 프로그램 명령들에 의해 구현될 수 있다는 것을 이해하여야 할 것이다.
이들 컴퓨터 프로그램 명령들은 범용 컴퓨터, 전용 컴퓨터, 또는 기타 프로그램가능 데이터 처리 장치의 프로세서에 제공되어 머신을 만들어낼 수 있으며, 그리하여 상기 명령들이 상기 컴퓨터 또는 기타 프로그램가능 데이터 처리 장치의 프로세서를 통해 실행되는 경우 상기 흐름도 및/또는 블록도의 블록 또는 블록들에 명시된 기능들/작용들을 구현하는 수단을 생성하도록 한다.
이들 컴퓨터 프로그램 명령들은 또한 컴퓨터 또는 기타 프로그램가능 데이터 처리 장치가 특정 방식으로 기능하도록 명령할 수 있는 컴퓨터 판독가능 매체에 저장될 수 있으며, 그리하여 상기 컴퓨터 판독가능 매체에 저장된 명령들이 상기 흐름도 및/또는 블록도의 블록 또는 블록들에 명시된 기능/작용을 구현하는 명령들을 포함하는 제조 물품을 만들어내도록 한다.
상기 컴퓨터 프로그램 명령들은 또한 컴퓨터 또는 기타 프로그램가능 데이터 처리 장치 상에 로드되어 상기 컴퓨터 또는 기타 프로그램가능 장치 상에서 일련의 동작 단계들이 수행되어 컴퓨터로 구현되는 프로세스를 만들어내도록 할 수 있으며, 그리하여 상기 명령들이 상기 컴퓨터 또는 기타 프로그램가능 장치 상에서 실행되는 경우 상기 흐름도 및/또는 블록도 또는 블록도들에 명시된 기능들/작용들을 구현하기 위한 프로세스들을 제공하도록 한다.
이제 도 1을 참조하면, 도 1에는 본 발명의 여러 가지 실시예들을 위해 동작가능한 예시적인 데이터 처리 시스템의 블록도가 제공된다. 이 예에서, 데이터 처리 시스템(100)은 통신 패브릭(102)을 포함하는데, 이 통신 패브릭(102)은 프로세서 유닛(104), 메모리(106), 영구 스토리지(108), 통신 유닛(110), 입력/출력(I/O) 유닛(112), 및 디스플레이(114) 사이의 통신들을 제공한다.
프로세서 유닛(104)은 메모리(106) 내로 로드될 수 있는 소프트웨어를 위한 명령들을 실행하는 역할을 한다. 프로세서 유닛(104)은 그 구체적인 구현에 따라서, 하나 또는 그 이상의 프로세서들의 세트일 수 있고, 또는 멀티-프로세서 코어일 수 있다. 나아가, 프로세서 유닛(104)은 하나 또는 그 이상의 이종(heterogeneous) 프로세서 시스템들을 사용하여 구현될 수도 있는데, 이러한 이종의 프로세서 시스템들에서 메인 프로세서는 하나의 칩 상에 부 프로세서들과 함께 존재한다. 또 다른 예로서, 프로세서 유닛(104)은 동일한 유형의 다수의 프로세서들을 포함하는 대칭형 멀티-프로세서 시스템일 수 있다.
메모리(106) 및 영구 스토리지(108)는 스토리지 디바이스들(116)의 예들이다. 스토리지 디바이스는, 예를 들어, 임시로 및/또는 영구적으로, 데이터, 기능적 형태로의 프로그램 코드, 및/또는 기타 적절한 정보와 같은 정보(그러나, 이러한 예들로 한정되는 것은 아님)를 저장할 수 있는 하드웨어의 한 부분이다. 이들 예들에서, 메모리(106)는, 예를 들어, 랜덤 억세스 메모리, 또는 기타의 적절한 휘발성 또는 비휘발성 스토리지 디바이스일 수 있다. 영구 스토리지(108)는 그 특정 구현에 의존하여 여러 가지 형태들을 취할 수 있다. 예를 들어, 영구 스토리지(108)는 하나 또는 그 이상의 컴포넌트들 또는 디바이스들을 포함할 수 있다. 예를 들어, 영구 스토리지(108)는 하드 드라이브, 플래시 메모리, 재쓰기가능 광 디스크(rewritable optical disc), 재쓰기가능 자기 테이프(rewritable magnetic tape), 또는 이것들의 몇몇 조합일 수 있다. 영구 스토리지(108)에 의해 사용되는 매체는 또한 착탈식(removable)일 수 있다. 예를 들어, 착탈식 하드 드라이브는 영구 스토리지(108)를 위해 사용될 수 있다.
이들 예들에서, 통신 유닛(110)은 기타 데이터 처리 시스템들 또는 디바이스들과의 통신들을 제공한다. 이들 예들에서, 통신 유닛(110)은 네트워크 인터페이스 카드이다. 통신 유닛(110)은 물리적 통신 링크들과 무선 통신 링크들 둘 모두 또는 이 중 어느 하나의 사용을 통한 통신들을 제공할 수 있다.
입력/출력 유닛(112)은 데이터 처리 시스템(100)에 연결될 수 있는 기타 디바이스들과의 데이터의 입력 및 출력을 가능하게 한다. 예를 들어, 입력/출력 유닛(112)은 키보드, 마우스, 및/또는 어떤 기타의 적절한 입력 디바이스를 통해 사용자 입력을 위한 연결을 제공할 수 있다. 나아가, 입력/출력 유닛(112)은 프린터로 출력을 보낼 수 있다. 디스플레이(114)는 사용자에게 정보를 디스플레이하기 위한 메커니즘을 제공한다.
운영 체제를 위한 명령들, 어플리케이션들 및/또는 프로그램들은 스토리지 디바이스들(116)에 위치할 수 있는데, 이것들은 통신 패브릭(102)을 통해 프로세서 유닛(104)과 통신하고 있다. 이들 예들에서, 상기 명령들은 영구 스토리지(108) 상에서의 기능적 형태로 되어 있다. 이들 명령들은 프로세서 유닛(104)에 의한 실행을 위해 메모리(106) 내로 로드될 수 있다. 서로 다른 실시예들의 프로세스들은 컴퓨터로 구현되는 명령들을 사용하여 프로세서 유닛(104)에 의해 수행될 수 있으며, 상기 컴퓨터로 구현되는 명령들은 메모리(예를 들어, 메모리(106))에 위치할 수 있다.
이들 명령들은 프로그램 코드, 컴퓨터 사용가능 프로그램 코드, 또는 컴퓨터 판독가능 프로그램 코드 - 이것들은 프로세서 유닛(104) 내의 프로세서에 의해 판독되거나 실행될 수 있음 - 로 일컬어질 수 있다. 서로 다른 실시예들에서 프로그램 코드는 메모리(106) 또는 영구 스토리지(108)와 같은 서로 다른 물리적 또는 실체적 컴퓨터 판독가능 매체 상에 구현될 수 있다.
프로그램 코드(118)는 프로세서 유닛(104)에 의한 실행을 위해 데이터 처리 시스템(100) 상에 로드되거나 전송될 수 있고, 선택적으로 착탈가능한 컴퓨터 판독가능 매체(120) 상에 기능적 형태로 위치한다. 프로그램 코드(118) 및 컴퓨터 판독가능 매체(120)는 이들 예들에서 컴퓨터 프로그램 제품(122)을 형성한다. 일 예에서, 컴퓨터 판독가능 매체(120)는, 예를 들어, 영구 스토리지(108)의 일부인 하드 드라이브와 같은 스토리지 디바이스 상으로의 전송을 위해 영구 스토리지(108)의 일부인 드라이브 또는 기타 디바이스 내로 삽입되거나 배치되는 광학 또는 자기 디스크와 같은 실체적인 형태로 되어 있을 수 있다. 실체적인 형태에서, 컴퓨터 판독가능 매체(120)는 또한 하드 드라이브, 썸 드라이브(thumb drive), 또는 플래시 메모리 - 이는 데이터 처리 시스템(100)에 연결되어 있음 - 와 같은 영구 스토리지의 형태를 취할 수 있다. 컴퓨터 판독가능 매체(120)의 상기 실체적 형태는 또한 컴퓨터 기록가능 스토리지 매체로도 일컬어진다. 어떤 경우에는, 컴퓨터 판독가능 매체(120)는 착탈가능하지 않을 수 있다.
이와는 다르게, 프로그램 코드(118)는 통신 유닛(110)에 대한 통신 링크를 통해 및/또는 입력/출력 유닛(112)에 대한 연결을 통해 컴퓨터 판독가능 매체(120)로부터 데이터 처리 시스템(100)으로 전송될 수 있다. 상기 통신 링크 및/또는 상기 연결은 이 예들에서는 물리적일 수도 있고 무선일 수도 있다. 상기 컴퓨터 판독가능 매체는 또한 상기 프로그램 코드를 포함하는 통신 링크들 또는 무선 전송들과 같은 비실체적 매체의 형태를 취할 수도 있다.
몇몇 실시예들에서, 데이터 처리 시스템(100) 내에서 사용하기 위해, 프로그램 코드(118)는 영구 스토리지(108)로 네트워크를 통해 또 다른 디바이스 또는 데이터 처리 시스템으로부터 다운로드될 수 있다. 예를 들어, 서버 데이터 처리 시스템에서의 컴퓨터 판독가능 매체에 저장된 프로그램 코드는 네트워크를 통해 상기 서버로부터 데이터 처리 시스템(100)으로 다운로드될 수 있다. 프로그램 코드(118)를 제공하는 데이터 처리 시스템은 프로그램 코드(118)를 저장할 수 있는 서버 컴퓨터, 클라이언트 컴퓨터, 또는 몇몇 기타 디바이스일 수 있다.
데이터 처리 시스템(100)을 위해 예시되는 서로 다른 컴포넌트들은 서로 다른 실시예들이 구현될 수 있는 방식으로 구조적인 제한들을 제공하려는 의도는 아니다. 서로 다른 실시예들은 데이터 처리 시스템(100)을 위해 예시되는 것들에 대한 추가의 컴포넌트들 또는 그것들을 대신하는 컴포넌트들을 포함하는 데이터 처리 시스템으로 구현될 수 있다. 도 1에 도시된 기타 컴포넌트들은 도시된 실시예들로부터 변화될 수 있다. 상기 서로 다른 실시예들은 프로그램 코드를 실행할 수 있는 하드웨어 디바이스 또는 시스템을 사용하여 구현될 수 있다. 일 예로서, 상기 데이터 처리 시스템은 전적으로 인체를 포함하는 유기적 컴포넌트들(organic components)로 구성될 수도 있고, 및/또는 무기 컴포넌트들(inorganic components)과 집적된 유기 컴포넌트들을 포함할 수 있다. 예를 들어, 스토리지 디바이스는 유기 반도체로 구성될 수 있다.
또 다른 예로서, 데이터 처리 시스템(100)에서 스토리지 디바이스는 데이터를 저장할 수 있는 하드웨어 장치일 수 있다. 메모리(106), 영구 스토리지(108) 및 컴퓨터 판독가능 매체(120)는 실체적 형태로 된 스토리지 디바이스들의 예들이다.
또 다른 예에서, 통신 패브릭(102)을 구현하기 위해 버스 시스템이 사용될 수 있고, 이 버스 시스템은 하나 또는 그 이상의 버스들(예를 들어, 시스템 버스 또는 입력/출력 버스)로 구성될 수 있다. 물론, 상기 서브 시스템은 상기 버스 시스템에 부착된 서로 다른 컴포넌트들 또는 디바이스들 간의 데이터 전송을 제공하는 아키텍쳐의 적절한 유형을 사용하여 구현될 수 있다. 또한, 통신 유닛은 모뎀 또는 네트워크 어댑터와 같이, 데이터를 송신 및 수신하기 위해 사용되는 하나 또는 그 이상의 디바이스들을 포함할 수 있다. 나아가, 메모리는, 예를 들어, 메모리(106) 또는 인터페이스에서 발견되는 캐시, 통신 패브릭(102)에 존재할 수 있는 메모리 컨트롤러 허브일 수 있다.
일 실시예에 따라, 잠재적 액션을 사용하여 2차 선택 피드백을 전달하는 컴퓨터로 구현되는 프로세스는 하나의 데이터 포인트의 선택을 받아, 선택되는 하나의 데이터 포인트를 형성하고, 상기 선택된 데이터 포인트를 사용하여 제1 하이라이트를 렌더하여 첫 번째 렌더되는 부분(first rendered portion)을 생성하고, 상기 선택되는 데이터 포인트와 연관된 이용가능한 데이터 구조를 식별 및 발생시키고, 상기 첫 번째 렌더되는 부분을 상기 사용자에게 디스플레이하고, 액션의 한 유형을 상기 이용가능한 데이터 구조와 조합하여 하나의 조합을 형성하고, 상기 조합을 사용하여 제2 하이라이트를 렌더하여 두 번째 렌더되는 부분(second rendered portion)을 생성하고, 렌더되는 부분들을 상기 사용자에게 디스플레이한다. 그러므로, 상기 컴퓨터로 구현되는 프로세스의 실시예들은 영향을 받는 데이터(affected data)의 더 효율적인 디스플레이를 제공하는데, 이로부터 사용자는 선택되는 데이터 포인트에 관한 잠재적 액션과 관련하여 더 나은 결정을 할 수 있다.
일 예로서, 도 1의 데이터 처리 시스템을 사용하는 경우, 일 실시예는, 잠재적 액션을 사용하여 2차 선택 피드백을 전달하기 위해, 메모리(106)에 저장된 상기 컴퓨터로 구현되는 프로세스 - 이는 프로세서 유닛(104)에 의해 실행됨 - 를 제공하고, 디스플레이(114)로부터 하나의 데이터 포인트의 선택을 받는다. 프로세서 유닛(104)은 하나의 데이터 포인트의 선택을 받아, 선택되는 하나의 데이터 포인트(selected single data point)를 형성한다. 프로세서 유닛(104)은 상기 선택되는 데이터 포인트를 사용하여 제1 하이라이트를 렌더(render)하여, 첫 번째 렌더되는 부분(first rendered portion)을 생성한다. 프로세서 유닛(104)은 스토리지 디바이스들(116)에서 상기 선택되는 데이터 포인트와 연관된 이용가능한 데이터 구조를 식별 및 발생시킨다. 프로세서 유닛(104)은 디스플레이(114)를 사용하여 상기 첫 번째 렌더되는 부분을 사용자에게 디스플레이한다. 프로세서 유닛(104)은 액션의 한 유형(a type of action)을 상기 이용가능한 데이터 구조와 조합하여 하나의 조합(a combination)을 형성하고 상기 조합을 사용하여 제2 하이라이트를 렌더하여 두 번째로 렌더되는 부분(second rendered portion)을 생성한다. 프로세서 유닛(104)은 디스플레이(114)를 사용하여 렌더되는 부분들을 상기 사용자에게 디스플레이한다. 데이터 처리 시스템(100)은 데이터 처리 시스템들의 네트워크를 형성하는 데이터 처리 시스템들의 세트 중 하나일 수 있는데, 이 데이터 처리 시스템들의 네트워크에서 상기 프로세스의 처리 액티비티는 상기 세트의 하나 또는 그 이상의 프로세서 상에서 일어날 수 있다.
다른 실시예에서, 상기 컴퓨터로 구현되는 프로세스를 포함하는 프로그램 코드(118)는 컴퓨터 프로그램 제품(122)으로서 컴퓨터 판독가능 매체(120) 내에 저장될 수 있다. 또 다른 실시예에서, 잠재적 액션을 사용하여 2차 선택 피드백을 전달하는 프로세스는 하나의 데이터 포인트의 선택을 받으며, 이는 장치로 구현될 수 있다. 상기 장치는 통신 패브릭(communications fabric), 상기 통신 패브릭에 결합된 메모리 - 상기 메모리는 컴퓨터 실행가능 프로그램 코드를 포함함 -, 상기 통신 패브릭에 연결된 통신 유닛, 상기 통신 패브릭에 연결된 입력/출력 유닛, 상기 통신 패브릭에 연결된 디스플레이, 및 상기 통신 패브릭에 연결된 프로세서 유닛을 포함한다. 상기 장치의 프로세서 유닛은 상기 장치가 상기 프로세스를 수행하도록 명령하기 위해 상기 컴퓨터 실행가능 프로그램 코드를 실행한다.
도 2를 참조하면, 본 발명의 여러 가지 실시예들에 따라, 잠재적 액션을 사용하여 2차 선택 피드백을 전달하는 시스템의 블록도가 제시되어 있다. 시스템(200)은 잠재적 액션을 사용하여 2차 선택 피드백을 전달하기 위해 도 1의 데이터 처리 시스템(100)과 같은 근본적인 데이터 처리 시스템을 사용하는 컴포넌트들의 일 실시예이다.
시스템(200)은 사용자 인터페이스(202), 선택기(204), 데이터 구조들(208) 및 렌더링 엔진(rendering engine)(210)을 포함하는 다수의 상호의존적인 컴포넌트들을 포함한다. 시스템(200)은 상기 개시된 프로세스의 의도된 목적에 영향을 미치지 않고서 기능적 요소들로서 또는 하나의 유닛 내의 모든 기능적 요소들을 포함하는 컴포지션(composition)으로서 식별되는 구별되는 컴포넌트들의 세트를 사용하여 구현될 수 있다.
시스템(200)의 일 실시예를 사용하는 것은 비즈니스 데이터 디스플레이에 의해 사용된 데이터 구성체(data construct)를 이해해야 함이 없이 어떤 액션들이 선택되는 데이터에게 영향을 미칠 것인지를 이해할 수 있는 기능을 사용자들에게 제공한다. 상기 기능은 중요하다. 왜냐하면 사용되는 데이터 소스에 의존하여 또는 어떻게 상기 데이터가 쓰여지는가에 따라, 어떻게 그 데이터가 렌더되는가에 관한 결정이 상기 데이터 구성체들(data constructs)에 따라 서로 다르게 이뤄지기 때문이다.
그리드(grid)와 같은 데이터의 비쥬얼화(visualization)에서, 사용자는 셀을 선택할 수 있다. 이 셀은 행에, 열에, 행 또는 열 내의 관련 데이터의 세트에, 그 측정 값들에, 또는 그리드 전체에 속할 수 있다. 사용자가 셀을 선택할 경우, 이 셀은 1차 선택 피드백(primary selection feedback)(예를 들어, 도 4a의 셀(406)에 보여지는 빨간색 외곽선)을 얻는다. 사용자가 툴바 또는 메뉴에서 액션 위에 마우스 커서를 호버할 경우, 2차 선택의 비쥬얼화는 상기 호버되는 액션(hovered action)의 영역을 반영하기 위해 자동적으로 조정하여, 사용자들이 상기 액션에 적용가능한 특정 데이터를 볼 수 있도록 한다. 사용자가 상기 툴바 상에서 상기 액션을 선택할 경우, 상기 액션에 적절한 2차 선택이 사용될 것이다.
액션이 취해지기 전에 상기 액션에 의해 어느 데이터가 영향을 받을 것인지에 관해 상기 사용자는 알고 있고, 각각의 액션의 데이터 영역에 관해 사용자가 기억하거나 교육을 받을 필요는 없을 것이다. 사용의 용이함이 증가되고 더 많은 사용자들이 비즈니스(인텔리전스) 데이터 세트들로 작업할 수 있을 가능성이 증가된다.
사용자 인터페이스(202)는 상기 시스템과 상기 시스템의 사용자 사이의 전형적인 인터페이스를 제공한다. 사용자 인터페이스(202)는 데이터 항목들을 디스플레이 할 수 있는 기능, 및 툴바로부터 액션들 또는 데이터 항목들의 선택들에 대해 사용자에게 프롬프트할 수 있는 기능을 제공한다. 렌더링 엔진(210)은 사용자 인터페이스(202)에서 데이터 항목들을 렌더(render)한다.
선택기(selector)(204)는 데이터 항목들의 1차 선택 및 2차 선택의 개념을 포함한다. 1차 선택은 현재 구현되는 것과 동일한 것으로 남아 있는 반면, 2차 선택 피드백은 상기 데이터에 관한 잠재적 액션의 영역으로 조정한다. 렌더링 엔진(210)은 서로 다른 하이라이팅 특성들로 1차 선택 및 2차 선택을 렌더할 수 있는 기능을 제공한다.
발생기(206)는 시스템(200)의 동작 동안 저장 및 유지될 수 있는 데이터 구조들(208)을 생성할 수 있는 기능을 제공한다. 데이터 구조들(208)은 잠재적 액션과 선택되는 데이터 포인트를 포함하는 정보의 조합에 따라 생성된다. 데이터 구조들(208)은 일반적으로 사용자로부터 숨겨지지만, 도 1의 데이터 처리 시스템(100)의 디스플레이(114) 상에 제공되는, 데이터 비쥬얼화로 노출된 표현을 가질 수 있다. 상기 프로세스는 일반적으로 데이터 항목을 선택하는 동작, 상기 선택되는 데이터 항목에 적용가능한 액션을 탐구(explore)하는 동작, 다이얼로그로 액션을 선택하는 동작의 세 가지 동작들을 포함한다. 상기 선택되는 액션이 연관된 다이얼로그를 갖는 경우들에 있어서, 상기 다이얼로그 내의 액션들에 관해 더 많은 2차 하이라이팅 입력을 그 액션에 제공할 수 있는 기회가 존재한다.
예들(500)의 세트에서, 사용자는 셀(504)에서의 데이터와 같은 그리드 또는 챠트(502) 내의 어떤 데이터 셀을 선택한다. 상기 데이터 처리 시스템은 셀(504)을 표시하기 위한 선택을 위한 피드백을 제공하며, 이 선택은 하이라이팅의 형성을 사용하는 1차 선택이다. 예를 들어, 셀(504)은 그 셀을 다른 셀들로부터 구별하기 위해 컬러로 된 테두리(colored border) 또는 반짝거리는 테두리(flashing border)를 가질 수 있다.
액션을 위한 탐구시, 사용자는, 예를 들어, 툴바의 버턴들(506), 메뉴 항목, 또는 컨텍스트 메뉴 항목(context menu item) 등의 액션들을 표현하는 사용자 인터페이스 요소 위에 마우스 커서를 호버한다. 사용자가 툴바(506) 또는 메뉴에서 액션 메뉴 위에 호버하는 동안, 위에 호버되는 그 액션에 적용가능한 2차 선택은 온 더 플라이(on the fly)로 보여진다.
툴바(506) 내의 드릴 다운(Drill Down) 액션(510) 위에 상기 마우스 커서를 호버하자마자, 셀(504)은 상기 2차 선택을 받는다. 2차 선택은 상기 1차 선택 하이라이팅과 다르게 보이도록 하이라이팅(508)에서의 변화로 표시된다.
사용자가 툴바(506)에서 액션 메뉴 항목(512)을 선택할 때, 상기 액션에 적용가능한 상기 2차 선택은 툴바 드롭다운(514)에서 소트 옵션들(sort options)로서 온 더 플라이로 보여진다. 툴바 드롭다운(514)에서 라벨에 의한 소트(Sort by Label) 액션(516) 위에 상기 마우스 커서를 호버하자마자, 모든 년도들(years) 및 연관된 총합(Total)이 행(518)의 2차 선택 하이라이팅으로 보여진다.
계산(Calculate) 액션(520) 위에 상기 마우스 커서를 호버하자마자, 셀(504)의 열(522)이 2차 선택 하이라이팅으로 보여진다. 상기 선택되는 액션이 완료되기 전에, 사용자는 다이얼로그를 사용하여 더 많은 입력을 요구하는 액션(예를 들어, 커스텀 계산(custom calculation)(524))을 선택한다. 상기 다이얼로그가 디스플레이되는 동안, 상기 1차 및 2차 선택들이 선택 및 디스플레이된 상태로 남는다. 상기 다이얼로그에서 옵션을 선택하는 것이 상기 2차 선택에 영향을 미칠 때, 그 영향은 상기 디스플레이가 보여지는 백그라운드 창 내의 데이터 비쥬얼화에 반영될 것이다. 커스텀 계산(524)은 2006의 모든 멤버들, 2차 하이라이팅으로 보여진 열(522)에 적용될 것이다.
도 6을 참조하면, 본 발명의 일 실시예에 따른 도 5a 및 도 5b의 프로세스에서 동작들의 일부분의 블록도가 제시되고 있다. 프로세스(600)는 도 5a 및 도 5b의 프로세스(500)의 잠재적 액션을 위한 2차 선택 피드백을 전달하기 위한 양방향 명령들(bi-directional instructions)의 개념의 시작 부분의 일 예이다.
프로세스(600)는 어느 데이터 요소들이 표시되는 명령에 의해 실제로 하이라이트되고 영향을 받을 것인지를 결정하기 위한 기준으로 근본적인 데이터 구성체(underlying data construct)를 사용하는, 양방향 접근법에 중점을 두고 있다. 프로세스(600)는 동작(610)에서 데이터 디스플레이(602) 내의 하나의 데이터 포인트(606)를 사용자가 선택하는 것으로부터 시작한다. 지원 데이터 처리 시스템은 선택되는 데이터 포인트(606)와 관련된 이용가능한 데이터 구조들을 식별 및 발생시킨다. 이 정보는 동작(612)시 상기 선택되는 데이터 포인트에 제공된다. 데이터 디스플레이(602)에 제공되는 데이터는 데이터 구조(604)로서 유지된다. 근본적인 데이터 구조(underlying data structure)(604)는 사용자에게는 직접적으로 보여지지 않으며 사용자로부터 숨겨진다. 사용자는 상기 선택되는 데이터를 위해 처리 옵션들을 포함하는 툴바(608)로부터 액션을 더 선택할 수 있다.
사용자가 상기 사용자 인터페이스의 툴바(608) 내의 액션 위에 호버할 때, 상기 데이터 구조에 관한 정보는 동작(614)시 상기 액션으로 전달된다. 이용가능한 데이터 구조와 액션의 유형의 조합에 따라, 상기 시스템은 동작(616)시 상기 액션에 의해 영향을 받을 실제 데이터 요소들의 하이라이트를 렌더한다.
도 7을 참조하면, 본 발명의 일 실시예에 따른 도 5a 및 도 5b의 프로세스에서 동작들의 일부분의 블록도가 제시되어 있다. 프로세스(700)는 도 6의 동작들을 사용하는 것의 잠재적 액션을 위해 2차 선택 피드백을 전달하기 위한 양방향 명령들의 개념의 추가 부분에 관한 일 예이다.
도 6의 동작(616)시 생성된 렌더링 정보를 사용하는 경우, 적용가능한 데이터 구조를 사용하는 하이라이트의 렌더링은 데이터 디스플레이(602)의 하이라이트된 부분(704)을 생성하기 위해 동작(702)시 발생한다.
도 8을 참조하면, 본 발명의 일 실시예에 따른 도 5a 및 5b의 프로세스에서 동작들의 일부분의 블록도가 제시되어 있다. 프로세스(800)는 도 7의 동작들을 사용하는 것의 잠재적 액션을 위해 2차 선택 피드백을 전달하기 위한 양방향 명령들의 개념의 추가 부분의 일 예이다.
사용자가 동작(802)시 선택된 데이터 포인트(606)를 유지하면서 툴바(608) 내의 또 다른 액션 위에 호버하는 경우, 데이터 디스플레이(602)에 보여지는 하이라이트는, 동작(804)시 그 특정 액션과 상기 적용가능한 데이터 구조의 조합에 기초하여, 하이라이트된 부분(806)으로 변할 것이다. 특정 액션과 적용가능한 데이터 구조의 조합은 도 7에서의 그것과는 다르고, 따라서 상기 디스플레이의 하이라이트된 부분도 또한 변했다. 사용자가 툴바(608)에서 액션 항목을 호출할 때, 상기 액션은 데이터 디스플레이(602)의 현재 하이라이트된 부분(806)에 의해 표현된 데이터 구조(604)의 일부분에 적용될 것이다.
도 9를 참조하면, 본 발명의 일 실시예에 따라 도 5a 및 5b의 프로세스를 사용하고 동일 데이터 구조에 기초하여 서로 다른 데이터 비쥬얼화들에 관해 표로 나타낸 표현(tabular representation)이 제시되어 있다. 표로 나타낸 표현(900)은 연관된 범례(associated legend)(902) 및 데이터 그리드(906)를 갖는 스캐터 플롯 차트(scatter plot chart)(904)의 일 예이다. 표로 나타낸 표현(900)은 도 10 내지 도 18의 일련의 예들에 있어서 사용될 것이다.
본 발명의 실시예들은 다수의 도메인들에 적용될 수 있다. 일 실시예는 비즈니스 인텔리전스 및 성능 관리 도메인에 있을 수 있는데, 여기서는 데이터가 어떻게 쓰여지고 또는 쿼리되는가에 따라, 그 데이터가 서로 다르게 구성될 수 있다. 컴퓨터 과학, 분석학, 및 의료 리서치를 포함하는 분야들 내에서 데이터 비쥬얼화들의 방대한 성장을 가정할 경우, 상기 데이터 비쥬얼화들과의 인터랙션의 중요성은 더 일반적이 된다.
데이터 비쥬얼화들은 서로 다른 방식으로 구성될 수 있으므로, 간단한 객체-액션 모델(object-action model)은 일반적으로 적용될 수 없다. 데이터 비쥬얼화들을 위한 근본적인 데이터 구조들은 저자(author) 별 또는 모델러 별로 다를 수 있기 때문에, 사용자는 초기 선택에 특정 액션을 적용하는 것의 영향을 알지 못할 것이다. 선택의 정확성은 종종 그 사용자에 의해 적용된 액션들에 기초하여 인지된 예상되지 않은 작용을 사용자들이 볼 수 있도록 하는 것이 부족하다. 본 발명의 실시예들은 상기 사용자들이 인터랙션하고 있는 상기 비쥬얼화의 데이터 구조를 사용자들이 이해하도록 도우며, 상기 사용자가 상기 데이터와의 인터랙션들을 신뢰 및 예측하는 것을 가능하게 한다.
연관된 범례(902)를 갖는 스캐터 플롯 차트(904)는 데이터 그리드(906)에 보여지는 제품 값들(product values)을 표현하는 데이터 포인트들을 묘사한다. 스캐터 플로터 챠트(904) 내의 각각의 데이터 포인트는 년도들(20052006)에서의 제품들(Products)에 대한 ReturnsQuantity Sold의 교점(intersection)을 나타낸다. 범례(902)는 데이터 그리드(906)의 제품 엔트리들에 대응하는 엔트리들을 포함한다.
도 10을 참조하면, 본 발명의 일 실시예에 따라, 도 5a 및 5b의 프로세스를 사용하고 및 표시된 세트들을 갖는 동일 데이터 구조에 기초한 두 개의 데이터 비쥬얼화들에 관해 표로 나타낸 표현이 제시되어 있다. 표로 나타낸 표현(1000)은 년도들(20052006)에서 제품들(Products)에 대한 ReturnsQuantity Sold의 카테고리들을 위한 데이터를 포함하는 근본적인 데이터 구조에 기초한 데이터 비쥬얼화들을 포함한다.
제품들 치수(Products dimension)는 별개의 세트들로 모델링된다. 데이터 그리드(906)는 상기 근본적인 데이터 구조를 보여주며, 그 제품들 내에서 서로 다른 데이터 세트들, 세트 1(set 1), 세트 2(set 2), 세트 3(set 3)을 나타낸다. Cooking Gear, Sleeping Bags, Packs, Tents, 및 Lanterns를 포함하는 세트 1 내의 멤버들은 범례(902)에서 항목들(1002) 및 데이터 그리드(1004)로 표현된다. Binoculars, Navigation, Eyewear, Knives, 및 Watches를 포함하는 세트 2 내의 멤버들은 범례(902)에서 항목들(1006) 및 데이터 그리드(1008)로서 표현된다. Climbing Accessories, Tools, Rope, 및 Safety를 포함하는 세트 3 내의 멤버들은 범례(902)에서 항목들(1010) 및 데이터 그리드(1012)로서 표현된다. 스캐터 플롯 챠트의 데이터 포인트들은 범례(902)에서 세트들의 컬러-코딩(color-coding)을 매치시키기 위해 컬러 코딩된다(color coded).
도 11을 참조하면, 본 발명의 일 실시예에 따라, 도 5a 및 5b의 프로세스 및 동일 데이터 구조에 기초하여 서로 다른 데이터 비쥬얼화들을 사용하는 데이터 포인트 선택에 관해 표로 나타낸 표현이 제시되어 있다. 인터랙션(1100)은 데이터 그리드(906) 또는 스캐터 플롯 챠트(904) 내에서 데이터 포인트의 사용자 선택의 일 예이다.
스캐터 플롯 챠트(904)에서의 데이터 포인트들 또는 데이터 그리드(906)에서 Packs(1104)의 사용자 선택은 또한 범례(902)에서 두꺼운 검정 테두리로 Packs(1102)로 하이라이트된다. 그러므로, 데이터 포인트 선택은 동일한 결과를 갖는 상기 예의 스캐터 플롯 챠트 또는 상기 데이터 그리드를 사용하여 수행될 수 있다.
도 12를 참조하면, 본 발명의 일 실시예에 따라, 삭제(delete) 액션 위에 호버하는 것에 관해 표로 나타낸 표현이 제시되어 있는데, 이는 그 액션에 의해 영향을 받는 데이터를 보여주고 도 5a 및 5b의 프로세스를 사용한다. 인터랙션(1200)은 다음의 연관된 액션을 갖는 도 11의 데이터 포인트의 선택의 일 예이다.
도 11의 1100의 Packs(1104)과 같은, 데이터 포인트 선택 후, 사용자는 사용자 인터페이스의 태스크 바(1204)에서 삭제(Delete) 액션(1202) 위에 호버한다. 인터랙션(1200)은 어느 데이터가 삭제 액션(1202)에 의해 영향을 받을 것인지를 표현하는 스캐터 플롯 챠트와 데이터 그리드 둘 모두의 이미지이다.
삭제 액션(1202) 위에 호버하는 것은 데이터 요소들의 하이라이팅을 변경하고, 상기 특정 액션에 대해 영향을 받는 데이터를 보여준다(그리드 또는 챠트). Packs(1004)의 상기 사용자 선택은 항목들(1002) 내에서 범례(902)의 Packs(1102)에 추가로 데이터 그리드(1104)로서 세트 1 내에서, 다른 데이터가 삭제 액션(1202)에 의해 영향을 받을 것에 관한 표시(indication)로서 보여지고 있다. Packs은 Cooking Gear, Sleeping Bags, Tents, 및 Lanterns을 또한 포함하는 더 큰 세트 1의 일부로 모델링되었기 때문에, 상기 시스템은 이들 요소들 및 관련된 데이터 값들도 또한 삭제될 것이라는 것을 나타낸다. 상기 잠재적 영향은 삭제 액션(1202)에 의해 영향을 받을 세트 1의 데이터 항목들 주위로 더 얇은 검정색 테두리에 의해 사용자 인터페이스에서 보여지고 있다. 스캐터 플롯 챠트(904)에서, 항목(902)의 얇은 검정색 선(1002)은 상기 사용자 선택의 영향을 보여주고 상기 스캐터 플롯 챠트에서의 관련된 Pack 데이터는 데이터 포인트들(1214)로서 상기 영향을 받는 데이터의 일부를 사용하여 보여지는 것과 같이 하이라이트된다. 삭제 액션(1202) 위에 호버하는 경우, 얇은 검정색 테두리들은 삭제 액션(1202)에 의해 또한 영향을 받는 데이터 요소들을 나타내는 반면, 상기 사용자 선택 항목들은 두꺼운 검정색 선들로 하이라이트되었다.
도 13을 참조하면, 본 발명의 일 실시예에 따라, 드릴다운(Drilldown) 액션 위에 호버하는 것에 관해 표로 나타낸 표현이 제시되어 있는데, 이는 상기 액션에 의해 영향을 받는 데이터를 보여주고 도 5a 및 5b의 프로세스를 사용한다. 인터랙션(1300)은 다음의 연관된 액션을 갖는 도 11의 데이터 포인트의 선택의 일 예이다.
앞에서의 예에 계속하여, 사용자는 툴 바(1204)의 드릴 다운 액션(1302) 위에 호버한다. 앞서 선택된 항목 Packs(1104)은 스캐터 플롯 챠트(904)의 범례(902)의 Packs(1102) 뿐만 아니라 데이터 그리드(906)에 하이라이트된다. 데이터 그리드(906)에서 Packs(1104)은 영향을 받는 데이터(1306)를 갖는데, 이 영향을 받는 데이터(1306)는 드릴 다운 액션(1302)에 의해 영향을 받을 것이다. 또한, 스캐터 플롯 챠트(904)는 드릴 다운 액션(1302) 위에 호버하는 것의 결과로서 영향을 받는 데이터 항목들을 표현하는 데이터 포인트들(1310)을 포함한다.
앞에서의 예들에서와 동일한 데이터를 사용하여, 상기 데이터 그리드 및 챠트에서의 하이라이팅은 각각 잠재적 액션 선택에 따라 변한다. 상기 사용자 선택과 상기 근본적인 데이터 구조를 사용하는 가능한 후속 액션 사이의 인터랙션은 상기 사용자 인터페이스에서 상기 사용자에게 제공되는 표현이 변하도록 한다. 상기 표현은 상기 근본적인 데이터 구조를 사용자가 알아야 함이 없이 그래서 액션의 더 많이 알려진 선택(more informed choice)을 해야 함이 없이, 사용자에게 가능한 결과들을 알려준다.
도 14를 참조하면, 본 발명의 일 실시예에 따라, 라벨에 의한 소트(Sort by Label) 액션 위에 호버하는 것에 관해 표로 나타낸 표현이 제시되는데, 이는 상기 액션에 의해 영향을 받는 데이터를 보여주고 도 5a 및 5b의 프로세스를 사용한다. 인터랙션(1400)은 다음의 연관된 액션을 갖는 도 11의 데이터 포인트의 선택의 일 예이다.
앞에서의 예들에 계속하여, 사용자는 라벨에 의한 소트 액션(1402) 위에 호버한다. 비쥬얼화들에서, 범례(902)에서의 packs(1102) 또는 Packs(1104)의 사용자 선택과 연관된 데이터 그리드(1004)로서 세트 1의 멤버들이 하이라이트된다. 왜냐하면 세트 1은 라벨에 의한 소트 액션(1402)을 위해 사용될 데이터를 포함하기 때문이다. 상기 예들에서의 전통적인 방식(convention)에 의해, 상기 2차 하이라이팅은 데이터 그리드(1004) 및 항목들(1002)의 세트 1의 멤버들 둘레로 보여지는 얇은 검정색 선으로 된다.
도 15를 참조하면, 본 발명의 일 실시예에 따라, 필터-차단(Filter-exclude) 액션 위에 호버하는 것에 관해 표로 나타낸 표현이 제시되는데, 이는 상기 액션에 의해 영향을 받는 데이터를 보여주고 도 5a 및 5b의 프로세스를 사용한다. 인터랙션(1500)은 다음의 연관된 액션을 갖는 도 11의 데이터 포인트의 선택의 일 예이다.
앞에서의 예들에서와 같이, 사용자는 필터-차단 액션(1502) 위에 호버한다. 다시, 스캐터 플롯 챠트 및 데이터 그리드(906)의 범례(902)에서의 Packs(1104) 및 Packs(1102)의 사용자 선택은 각각 두꺼운 검정색 테두리로 보여진다. 차단 액션(Exclude action)에 의해 영향을 받을 데이터는 스캐터 플롯 챠트(904)의 데이터 요소들(1506) 및 데이터 그리드(906)에서의 데이터 요소들(1504)에서와 같이 얇은 검정색 테두리로 보여진다.
도 16을 참조하면, 본 발명의 일 실시예에 따라, 도 5a 및 5b의 프로세스를 사용하여 그리드 또는 챠트에서 데이터 포인트를 선택하는 것에 관해 표로 나타낸 표현이 제시되어 있다. 선택(1600)은 도 9의 데이터를 사용하여 데이터 그리드 또는 스캐터 플롯 챠트에서 하나의 동일한 데이터 포인트를 선택하는 것의 일 예이다.
사용자는 도 9의 데이터 비쥬얼화들에서 포인트 스캐터 플롯 챠트(904) 또는 데이터 그리드(906)에서 데이터 포인트를 선택한다. 데이터 그리드(906)에서, 선택(1602)은 데이터 그리드(906)에서의 두꺼운 검정색 선 내에서의 값으로 보여진다. 이 예에서 선택된 데이터는 13684인 값인데, 이는 2005에서 Binoculars의 Quantity Sold를 나타낸다.
스캐터 플롯 챠트(904)에서, 선택(1604)은 2005에서 Binoculars에 대한 Returns 및 Quantity Sold의 교점을 나타낸다.
도 17을 참조하면, 본 발명의 일 실시예에 따라, 드릴 다운 액션 위에 호버하는 것에 관해 표로 나타낸 표현이 제시되는데, 이는 상기 액션에 의해 영향을 받는 데이터를 보여주며 도 5a 및 5b의 프로세스 및 도 16의 데이터 포인트 선택을 사용한다. 인터랙션(1700)은 다음의 연관된 액션을 갖는 도 16의 데이터 포인트의 선택의 일 예이다.
사용자는 드릴 다운 액션(1302) 위에 호버한다. 데이터 그리드(906)를 사용하는 경우, 상기 사용자 선택 데이터로부터 상기 관련된 영향을 받는 데이터를 구별하기 위해, 드릴다운 액션(1302)에 의해 잠재적으로 영향을 받는 년도 2005에 대한 데이터 요소들(1708)은 컬러로 된 테두리로 보여질 수 있는 한편 오리지널 선택(1602)은 두꺼운 검정색 테두리로 보여진다. 데이터 그리드(1702)는 년도 2005에 팔린 제품들의 양들을 나타낸다. 데이터 그리드(1704)는 제품 Binoculars가 팔렸거나(sold) 반품(return)되었음을 나타낸다.
스캐터 플롯 챠트(904)를 사용하여, 상기 스캐터 플롯 챠트 상의 상기 사용자-선택 데이터 포인트는 두꺼운 컬러로 된 테두리의, Binoculars에 대한 Returns 및 Quantity Sold, 2005(1714)의 교점으로 나타내어지고, 상기 드릴 다운에서 영향을 받는 데이터 요소들은 범례(902)에서, Binoculars(1706)로서, 그리고 년도 2005(1710)로서, 얇은 컬러로 된 테두리들로 하이라이트된다.
도 18을 참조하면, 본 발명의 일 실시예에 따라, 더 큰 값 필터(Filter-greater than) 액션 위에 호버하는 것에 관해 표로 나타낸 표현이 제시되는데, 이는 상기 액션에 의해 영향을 받는 데이터를 보여주며 도 5a 및 5b의 프로세스 및 도 16의 데이터 포인트 선택을 사용한다. 인터랙션(1800)은 다음의 연관된 액션을 갖는 도 16의 데이터 포인트의 선택의 일 예이다.
사용자는 더 큰 값 필터 액션(Filter action greater than)(1802) 위에 호버하는데, 이는 특히 미리 선택된 값(이 경우, 도 16의 13684의 값(1602))보다 더 큰 필터 값들을 나타낸다. 데이터 그리드(906)에서, 값 13684를 갖는, 2005에서 Binoculars에 대한 Quantity sold를 나타내는 선택(1602)은 두꺼운 검정색 테두리로 보여진다. 년도 2005 및 년도 2006에서 Quantity sold 값들은 상기 선택되는 필터 액션에 대해 잠재적으로 영향을 받는 데이터이고 얇은 컬러로 된 테두리(1804 및 1806) 각각으로 표시된다. 스캐터 플롯 챠트(904) 상에서, 동일한 필터의 잠재적으로 영향을 받는 데이터는 또 다른 얇은 컬러로 된 선으로 표시된다. 하이라이팅은 서로 다른 렌더링을 사용하는데, 이는 선택된 데이터를 잠재적으로 영향을 받는 데이터로부터 구별하기 위한 서로 다른 컬러 또는 서로 다른 선 스타일을 포함한다.
도 19를 참조하면, 본 발명의 일 실시예에 따라, 잠재적 액션을 사용하여 2차 선택 피드백을 전달하는 프로세스의 고 레벨 관점의 흐름도가 제시되어 있다. 프로세스(1900)는 도 2의 시스템(200)을 사용하는 프로세스의 일 예이다.
프로세스(1900)가 시작되고(단계 1902), 하나의 데이터 포인트의 선택을 받아, 선택되는 하나의 데이터 포인트(selected single data point)를 형성한다(단계 1904). 하나의 데이터 포인트의 선택은 일반적으로는 데이터 디스플레이의 비쥬얼화 내로부터 발생한다. 예를 들어, 데이터 디스플레이는 데이터 그리드, 챠트 또는 기타 일반적으로 이용가능한 데이터 비쥬얼화를 제공할 수 있는데, 이것들로부터 사용자는 데이터 선택을 할 수 있다. 비쥬얼화는 비쥬얼화들의 세트를 포함하며, 여기서 상기 세트는 하나 또는 그 이상의 비쥬얼화들이다.
프로세스(1900)는 상기 선택되는 데이터 포인트를 사용하여 하이라이트를 렌더하여, 첫 번째 렌더되는 부분(first rendered portion)을 생성한다(단계 1906). 상기 첫 번째 렌더되는 부분은 1차 선택(primary selection)을 구별하기 위한 하이라이트를 사용한다. 하이라이팅은 컬러, 선 두께 또는 선 스타일, 및 배경 컬러를 포함하는 여러 가지 기술들을 포함할 수 있다.
프로세스(1900)는 상기 선택되는 데이터 포인트와 연관된 이용가능한 데이터 구조를 식별 및 발생시킨다(단계 1908). 프로세스(1900)는 상기 첫 번째 렌더되는 부분을 받고 사용자에게 상기 첫 번째 렌더되는 부분을 디스플레이한다(단계 1910). 상기 첫 번째 렌더되는 부분의 프리젠테이션은 처리되고 있는 데이터 항목들을 상기 사용자에게 확인(confirm)시킨다.
프로세스(1900)는 액션의 한 유형(a type of action)을 상기 이용가능한 데이터 구조와 조합하여 하나의 조합(a combination)을 형성한다(단계 1912). 액션의 한 유형은 일반적으로는 사용자 인터페이스에서 이용가능한 액션들의 세트 중 하나 위에 사용자가 포인팅 디바이스를 호버함에 의해 제안된다.
프로세스(1900)는 상기 조합을 사용하여 제2 하이라이트를 렌더하여 두 번째 렌더되는 부분(second rendered portion)을 생성한다(단계 1914). 프로세스(1900)는 상기 사용자에게 렌더되는 부분들(rendered portions)을 디스플레이하고(단계 1916) 그 이후에 종료한다(단계 1918). 상기 사용자에 대한 디스플레이는 1차 선택 및 2차 선택을 표현하는 두 개의 하이라이트된 요소들을 제공하며, 여기서 상기 2차 선택은 상기 조합을 사용하여 상기 두 번째 렌더되는 부분을 생성한다. 상기 두 번째 렌더되는 부분은 하이라이팅을 사용함에 의해 상기 첫 번째 렌더되는 부분으로부터 구별된다.
도 20을 참조하면, 본 발명의 일 실시예에 따라, 잠재적 액션을 사용하여 2차 선택 피드백을 전달하는 프로세스 내에서 액션을 변경하기 위한 프로세스의 흐름도가 제시되어 있다. 프로세스(2000)는 도 19의 프로세스(1900)를 사용하는 프로세스의 일 예이다.
프로세스(2000)가 시작되고(단계 2002), 선택되는 데이터 포인트(selected data point)를 받아, 받은 데이터 포인트(received data point)를 형성한다(단계 2004). 프로세스(2000)는 액션들의 세트로부터 잠재적 액션을 식별하여, 식별되는 액션(identified action)을 형성한다(단계 2006). 프로세스(2000)는 상기 식별되는 액션과 상기 받은 데이터 포인트의 조합을 사용하여 관련된 데이터 항목들을 식별하여, 식별되는 데이터 항목들(identified data items)을 형성한다(단계 2008). 프로세스(2000)는 상기 식별되는 데이터 항목들을 사용자에게 제공한다(단계 2010).
프로세스(2000)는 상기 식별되는 액션이 변했는지를 결정한다(단계 2012). 상기 식별되는 액션이 변했다는 결정에 응답하여, 프로세스(2000)는 이전과 같이 단계 2006를 수행하기 위해 다시 루프를 돈다. 상기 식별된 액션이 변하지 않았다는 결정에 응답하여, 프로세스(2000)는 상기 식별된 액션의 사용자 확인(user confirmation)을 받는다(단계 2014). 프로세스(2000)는 상기 식별되는 데이터 항목들을 사용하여 상기 식별되는 액션을 수행하고(단계 2016), 그 후에 종료된다(단계 2018).
앞에서의 예들에서 제시되는 실시예들은 취해질 액션에 기초하여 2차 선택 피드백을 전달하기 위한 프로세스를 표현하는 역할을 한다. 일 실시예에서, 컴퓨터로 구현되는 프로세스는 다른 객체들 및 액션들에게 양방향 명령들을 위한 기능을 제공한다. 따라서 잠재적 액션을 사용하여 2차 선택 피드백을 전달하기 위한 컴퓨터로 구현되는 프로세스가 제공되는데, 상기 컴퓨터로 구현되는 프로세스는 하나의 데이터 포인트의 선택을 받아, 선택되는 하나의 데이터 포인트를 형성하고, 상기 선택되는 데이터 포인트를 사용하여 제1 하이라이트를 렌더하여 첫 번째 렌더되는 부분을 생성하고, 상기 선택되는 데이터 포인트와 연관된 이용가능한 데이터 구조를 식별 및 발생시키고, 상기 첫 번째로 렌더되는 부분을 사용자에게 디스플레이하고, 액션의 한 유형을 상기 이용가능한 데이터 구조와 조합하여 하나의 조합을 형성하고, 상기 조합을 사용하여 제2 하이라이트를 렌더하여 두 번째 렌더되는 부분을 생성하고, 렌더되는 부분들을 상기 사용자에게 디스플레이한다.
도면들에서의 흐름도 및 블록도들은 본 발명의 여러 가지 실시예들에 따른 시스템들, 방법들, 및 컴퓨터 프로그램 제품들의 가능한 구현 예들의 아키텍쳐, 기능, 및 동작을 예시한다. 이 점에서, 상기 흐름도 또는 블록도들 내의 각각의 블록은 모듈, 세그먼트, 또는 코드부를 나타낼 수 있는데, 이것들 각각은 명시된 논리적 기능을 구현하기 위한 하나 또는 그 이상의 실행가능한 명령들을 포함한다. 또한, 몇몇 다른 구현 예들에서, 상기 블록에 언급된 기능들은 그 도면들에 언급된 그 순서를 벗어나서 발생할 수 있다는 점을 주목해야 할 것이다. 예를 들어, 연속해서 보여지는 두 개의 블록들은, 관련된 기능에 의존하여, 실질적으로 동시에 실행될 수도 있고, 또는 상기 블록들은 때로는 역순으로 실행될 수도 있다. 또한 상기 블록도들 및/또는 흐름도의 각각의 블록, 및 상기 블록도들 및/또는 흐름도 내의 블록들의 조합은 그 특정된 기능들 또는 작용들을 수행하는 전용 하드웨어 기반의 시스템들, 또는 전용 하드웨어와 컴퓨터 명령들의 조합들로 구현될 수 있다.
이하의 청구항들에서의 대응하는 구조들, 재료들, 작용들, 모든 수단 또는 단계 플러스 기능의 균등물들은 구체적으로 청구되는 다른 청구되는 구성요소들과 함께 그 기능을 수행하기 위한 어떤 구조, 재료, 또는 작용을 포함하는 것으로 의도된다. 본 발명에 관한 기술은 예시 및 설명 목적으로 제시된 것이지, 본 발명의 실시예들을 총 망라하려는 의도로 제시되거나 개시된 그 형태로 본 발명의 범위를 한정하려는 의도로 제시된 것은 아니다. 본 발명의 범위 및 사상을 벗어나지 않고서 많은 변형 및 변경 예들이 있을 수 있다는 것은 당해 기술 분야에서 통상의 지식을 가진 자들에게는 분명할 것이다. 상기 실시예는 본 발명의 원리들 및 실제 어플리케이션을 가장 잘 설명하기 위해, 그리고 고려되는 구체적 사용에 적합한 여러 가지 변형 예들을 갖는 다양한 실시예들에 대해 당해 기술 분야에서 통상의 기술을 가진 다른 이들이 본 발명을 이해할 수 있도록 하기 위해 선택되고 기술되었다.
본 발명은 전적으로 하드웨어 실시예의 형태를 취할 수도 있고, 전적으로 소프트웨어 실시예의 형태를 취할 수도 있으며, 또는 하드웨어와 소프트웨어 구성요소들 둘 다를 포함하는 실시예의 형태를 취할 수도 있다. 바람직한 실시예에서, 본 발명은 소프트웨어로 구현되는데, 이는 펌웨어, 상주 소프트웨어, 마이크로코드, 및 당해 기술분야에서 숙련된 자라면 알 수 있는 기타 소프트웨어 매체(그러나, 이러한 예들로 한정되는 것은 아님)를 포함한다.
비록 본 발명이 완전하게 기능하는 데이터 처리 시스템의 맥락에서 기술되었으나, 당해 기술 분야에서 통상의 기술을 가진 자라면 본 발명의 프로세스들이 명령들에 관한 컴퓨터 판독가능 매체의 형태에 그리고 여러 가지 형태들에 분산될 수 있고 또한 본 발명이 그 분산을 수행하기 위해 실제로 사용되는 신호 보유 매체의 특정 유형에 관계없이 동일하게 적용된다는 점을 주목하는 것이 중요하다. 컴퓨터 판독가능 매체의 예들은, 기록가능형 매체(예를 들어, 플로피 디스크, 하드 디스크 드라이브, RAM, CD-ROMs, DVD-ROMs 등), 및 전송형 매체(예를 들어, 디지털 및 아날로그 신호 통신 링크들, 유선 또는 무선 통신 링크들 - 이것들은, 예를 들어, 라디오 주파수 및 광파 전송들(light wave transmissions) 등과 같은 전송 형태들을 사용함 - 을 포함한다. 상기 컴퓨터 판독가능 매체는 특정 데이터 처리 시스템에서의 실제 사용을 위해 디코딩되는 코딩된 포캣들의 형태를 취할 수 있다.
프로그램 코드를 저장 및/또는 실행하기에 적합한 데이터 처리 시스템은 시스템 버스를 통해 메모리 구성요소들에 간접적으로 또는 직접적으로 결합된 적어도 하나의 프로세서를 포함할 것이다. 상기 메모리 구성요소들은 상기 프로그램 코드의 실제 실행 동안 채용되는 로컬 메모리, 벌크 스토리지, 및 캐시 메모리들 - 이것들은 실행 동안 벌크 스토리지로부터 코드들이 가져와져야 하는 횟수를 감소시키기 위해 적어도 일부 프로그램 코드의 임시 스토리지를 제공함 - 을 포함할 수 있다.
입력/출력 또는 I/O 디바이스들(이는 키보드들, 디스플레이들, 포인팅 디바이스들 등을 포함하지만, 이러한 예들로 한정되는 것은 아님)은 직접적으로 또는 중간의 I/O 컨트롤러들을 통해 상기 시스템에 결합될 수 있다.
네트워크 어댑터들은 또한, 상기 데이터 처리 시스템이 중간의 사설 또는 공장 네트워크들을 통해 기타 데이터 처리 시스템들 또는 원격 프린터들 또는 스토리지 디바이스들에 결합될 수 있도록 하기 위해, 상기 시스템에 결합될 수 있다. 모뎀들, 케이블 모뎀들, 및 이더넷 카드들은 단지 현재로서 이용가능한 유형의 네트워크 어댑터들의 몇몇 예들에 불과하다.
본 발명에 관한 기술은 예시 및 설명 목적으로 제공된 것이므로, 개시된 그 형태대로 본 발명을 한정하거나 발명의 모든 실시예들을 망라하려는 의도로 제공된 것은 아니다. 많은 변형 및 변경 예들이 있을 수 있다는 것은 당해 기술 분야에서 통상의 기술을 가진 자들에게는 분명할 것이다. 상기 실시예는 본 발명의 원리들, 실제 어플리케이션을 가장 잘 설명하기 위해, 그리고 고려되는 구체적인 사용에 적합한 여러 가지 변형 예들을 갖는 다양한 실시예들에 대해 당해 기술 분야에서 통상의 기술을 가진 자들이 본 발명을 이해할 수 있도록 하기 위해, 선택되고 기술되었다.

Claims (20)

  1. 잠재적 액션(potential action)을 사용하여 2차 선택 피드백(secondary selection feedback)을 전달하는, 컴퓨터로 구현되는 프로세스(computer-implemented process)에 있어서,
    하나의 데이터 포인트의 선택을 받아, 선택되는 하나의 데이터 포인트(selected single data point)를 형성하는 단계;
    상기 선택되는 데이터 포인트를 사용하여 제1 하이라이트(first highlight)를 렌더(render)하여 첫 번째 렌더되는 부분(first rendered portion)을 생성하는 단계;
    상기 선택되는 데이터 포인트와 연관된 이용가능한 데이터 구조를 식별 및 발생시키는 단계;
    상기 첫 번째로 렌더되는 부분을 사용자에게 디스플레이하는 단계;
    액션의 한 유형(a type of action)을 상기 이용가능한 데이터 구조와 조합하여 하나의 조합(a combination)을 형성하는 단계;
    상기 조합을 사용하여 제2 하이라이트(second highlight)를 렌더하여 두 번째 렌더되는 부분을 생성하는 단계; 및
    렌더되는 부분들을 상기 사용자에게 디스플레이하는 단계를 포함하는,
    컴퓨터로 구현되는 프로세스.
  2. 청구항 1에 있어서, 하나의 데이터 포인트의 선택을 받아, 선택되는 하나의 데이터 포인트를 형성하는 단계는,
    데이터의 비쥬얼화(visualization)로부터 사용자에 의해 상기 하나의 데이터 포인트를 선택하는 단계를 더 포함하되,
    상기 비쥬얼화는 비쥬얼화들의 세트를 포함하는,
    컴퓨터로 구현되는 프로세스.
  3. 청구항 1에 있어서, 상기 선택되는 데이터 포인트를 사용하여 제1 하이라이트를 렌더하여 첫 번째 렌더되는 부분을 생성하는 단계는,
    1차 선택(primary selection)을 위한 하이라이트를 선택하는 단계를 더 포함하는,
    컴퓨터로 구현되는 프로세스.
  4. 청구항 1에 있어서, 액션의 한 유형을 상기 이용가능한 데이터 구조와 조합하여 하나의 조합을 형성하는 단계는,
    사용자 인터페이스에서 잠재적 액션들의 세트로부터 잠재적 액션을 식별하는 단계; 및
    상기 선택되는 하나의 데이터 포인트와 관련된 상기 잠재적 액션에 의해 영향을 받는 데이터 항목들을 식별하는 단계를 더 포함하는,
    컴퓨터로 구현되는 프로세스.
  5. 청구항 1에 있어서, 상기 조합을 사용하여 제2 하이라이트를 렌더하여 두 번째 랜더되는 부분을 생성하는 단계는,
    2차 선택(secondary selection)을 위한 하이라이트를 선택하는 단계를 더 포함하되,
    상기 2차 선택을 위한 하이라이트는 상기 1차 선택을 위해 선택된 하이라이트와는 다른,
    컴퓨터로 구현되는 프로세스.
  6. 청구항 1에 있어서, 렌더되는 부분들을 상기 사용자에게 디스플레이하는 단계는,
    액션들의 세트로부터 잠재적 액션을 식별하여, 식별되는 액션(identified action)을 형성하는 단계;
    상기 식별되는 액션이 변했는지를 결정하는 단계; 및
    상기 식별되는 액션이 변하지 않았다는 결정에 응답하여, 상기 식별되는 액션의 사용자 확인(user confirmation)을 받는 단계; 및
    상기 조합을 사용하여 상기 식별되는 액션을 수행하는 단계를 더 포함하는,
    컴퓨터로 구현되는 프로세스.
  7. 청구항 6에 있어서, 상기 조합은,
    식별되는 액션을 형성하기 위한, 액션들의 세트로부터의 잠재적 액션; 및
    식별되는 데이터 항목들을 형성하기 위한, 상기 식별되는 액션 및 상기 선택되는 하나의 데이터 포인트를 사용하는, 식별되는 관련 데이터 항목들(identified related data items)을 더 포함하는,
    컴퓨터로 구현되는 프로세스.
  8. 잠재적 액션(potential action)을 사용하여 2차 선택 피드백(secondary selection feedback)을 전달하는 컴퓨터 프로그램 제품으로서, 상기 컴퓨터 프로그램 제품은, 컴퓨터 기록가능형 매체 - 상기 컴퓨터 기록가능형 매체는 그 매체 상에 저장된 컴퓨터 실행가능 프로그램 코드를 포함함 - 를 포함하며, 상기 컴퓨터 실행가능 프로그램 코드는,
    하나의 데이터 포인트의 선택을 받아, 선택되는 하나의 데이터 포인트(selected single data point)를 형성하는 컴퓨터 실행가능 프로그램 코드;
    상기 선택되는 데이터 포인트를 사용하여 제1 하이라이트(first highlight)를 렌더(render)하여 첫 번째 렌더되는 부분(first rendered portion)을 생성하는 컴퓨터 실행가능 프로그램 코드;
    상기 선택되는 데이터 포인트와 연관된 데이터 구조를 식별 및 발생시키는 컴퓨터 실행가능 프로그램 코드;
    상기 첫 번째 렌더되는 부분을 사용자에게 디스플레이하는 컴퓨터 실행가능 프로그램 코드;
    액션의 한 유형(a type of action)을 상기 이용가능한 데이터 구조와 조합하여 하나의 조합(a combination)을 형성하는 컴퓨터 실행가능 프로그램 코드;
    상기 조합을 사용하여 제2 하이라이트(second highlight)를 렌더하여 두 번째 렌더되는 부분(second rendered portion)을 생성하는 컴퓨터 실행가능 프로그램 코드; 및
    렌더되는 부분들을 상기 사용자에게 디스플레이하는 컴퓨터 실행가능 프로그램 코드를 포함하는,
    컴퓨터 프로그램 제품.
  9. 청구항 8에 있어서, 하나의 데이터 포인트의 선택을 받아, 선택되는 하나의 데이터 포인트를 형성하는 컴퓨터 실행가능 프로그램 코드는,
    데이터의 비쥬얼화(visualization)로부터 사용자에 의해 상기 하나의 데이터 포인트를 선택하는 컴퓨터 실행가능 프로그램 코드를 더 포함하되,
    상기 비쥬얼화는 비쥬얼화들의 세트를 포함하는,
    컴퓨터 프로그램 제품.
  10. 청구항 8에 있어서, 상기 선택된 데이터 포인트를 사용하여 제1 하이라이트를 렌더하여 첫 번째 렌더되는 부분을 생성하는 컴퓨터 실행가능 프로그램 코드는, 1차 선택(primary selection)을 위한 하이라이트를 선택하는 컴퓨터 실행가능 프로그램 코드를 더 포함하는,
    컴퓨터 프로그램 제품.
  11. 청구항 8에 있어서, 액션의 한 유형을 상기 이용가능한 데이터 구조와 조합하여 하나의 조합을 형성하는 컴퓨터 실행가능 프로그램 코드는,
    사용자 인터페이스에서 잠재적 액션들의 세트로부터 잠재적 액션을 식별하는 컴퓨터 실행가능 프로그램 코드; 및
    상기 선택되는 하나의 데이터 포인트와 관련된 상기 잠재적 액션에 의해 영향을 받는 데이터 항목들을 식별하는 컴퓨터 실행가능 프로그램 코드를 더 포함하는,
    컴퓨터 프로그램 제품.
  12. 청구항 8에 있어서, 상기 조합을 사용하여 제2 하이라이트를 렌더하여 두 번째 랜더되는 부분을 생성하는 컴퓨터 실행가능 프로그램 코드는,
    2차 선택을 위한 하이라이트를 선택하는 컴퓨터 실행가능 프로그램 코드를 더 포함하되,
    상기 2차 선택을 위한 하이라이트는 상기 1차 선택을 위해 선택되는 하이라이트와는 다른,
    컴퓨터 프로그램 제품.
  13. 청구항 8에 있어서, 렌더되는 부분들을 상기 사용자에게 디스플레이하는 컴퓨터 실행가능 프로그램 코드는,
    액션들의 세트로부터 잠재적 액션을 식별하여, 식별되는 액션을 형성하는 컴퓨터 실행가능 프로그램 코드;
    상기 식별되는 액션이 변했는지를 결정하는 컴퓨터 실행가능 프로그램 코드; 및
    상기 식별되는 액션이 변하지 않았다는 결정에 응답하여, 상기 식별되는 액션의 사용자 확인(user confirmation)을 받는 컴퓨터 실행가능 프로그램 코드; 및
    상기 조합을 사용하여 상기 식별되는 액션을 수행하는 컴퓨터 실행가능 프로그램 코드를 더 포함하는,
    컴퓨터 프로그램 제품.
  14. 청구항 13에 있어서, 상기 조합은,
    액션들의 세트로부터 잠재적 액션을 식별하여, 식별되는 액션을 형성하는 컴퓨터 실행가능 프로그램 코드; 및
    상기 식별되는 액션과 상기 선택되는 하나의 데이터 포인트를 사용하여 관련 데이터 항목들을 식별하여, 식별되는 데이터 항목들을 형성하는 컴퓨터 실행가능 프로그램 코드를 더 포함하는,
    컴퓨터 프로그램 제품.
  15. 잠재적 액션(potential action)을 사용하여 2차 선택 피드백(secondary selection feedback)을 전달하는 장치에 있어서,
    통신 패브릭(communications fabric);
    상기 통신 패브릭에 연결된 메모리 - 상기 메모리는 컴퓨터 실행가능 프로그램 코드를 포함함 -;
    상기 통신 패브릭에 연결된 통신 유닛;
    상기 통신 패브릭에 연결된 입력/출력 유닛;
    상기 통신 패브릭에 연결된 디스플레이; 및
    상기 통신 패브릭에 연결된 프로세서 유닛을 포함하되,
    상기 프로세서 유닛은, 상기 장치에게,
    하나의 데이터 포인트의 선택을 받아, 선택되는 하나의 데이터 포인트를 형성하고,
    상기 선택되는 데이터를 사용하여 제1 하이라이트(first highlight)를 렌더(render)하여 첫 번째 렌더되는 부분(first rendered portion)을 생성하고,
    상기 선택되는 데이터 포인트와 연관된 이용가능한 데이터 구조를 식별 및 발생시키고,
    상기 첫 번째 렌더되는 부분을 사용자에게 디스플레이하고,
    액션의 한 유형(a type of action)을 상기 이용가능한 데이터 구조와 조합하여 하나의 조합(a combination)을 형성하고,
    상기 조합을 사용하여 제2 하이라이트(second highlight)를 렌더하여 두 번째 렌더되는 부분(second rendered portion)을 생성하고,
    렌더되는 부분들을 상기 사용자에게 디스플레이하도록,
    명령하기 위해, 상기 컴퓨터 실행가능 프로그램 코드를 실행시키는,
    장치.
  16. 청구항 15에 있어서, 하나의 데이터 포인트의 선택을 받아, 선택되는 하나의 데이터 포인트를 형성하기 위해 상기 컴퓨터 실행가능 프로그램 코드를 실행시키는 상기 프로세서 유닛은, 상기 장치에게,
    데이터의 비쥬얼화(visualization)로부터 사용자에 의해 상기 하나의 데이터 포인트를 선택하도록 더 명령하되,
    상기 비쥬얼화는 비쥬얼화들의 세트를 포함하는,
    장치.
  17. 청구항 15에 있어서, 상기 선택되는 데이터 포인트를 사용하여 제1 하이라이트를 렌더하여 첫 번째 렌더되는 부분을 생성하기 위해 상기 컴퓨터 실행가능 프로그램 코드를 실행시키는 상기 프로세서 유닛은, 상기 장치에게,
    1차 선택(primary selection)을 위한 하이라이트를 선택하도록 더 명령하는,
    장치.
  18. 청구항 15에 있어서, 액션의 한 유형을 상기 이용가능한 데이터 구조와 조합하여 하나의 조합을 형성하기 위해 상기 컴퓨터 실행가능 프로그램 코드를 실행시키는 상기 프로세서 유닛은, 상기 장치에게,
    사용자 인터페이스에서 잠재적 액션들의 세트로부터 잠재적 액션을 식별하고,
    상기 선택되는 하나의 데이터 포인트와 관련된 상기 잠재적 액션에 의해 영향을 받는 데이터 항목들을 식별하도록 더 명령하는,
    장치.
  19. 청구항 15에 있어서, 상기 조합을 사용하여 제2 하이라이트를 렌더하여 두 번째 렌더되는 부분을 생성하기 위해 상기 컴퓨터 실행가능 프로그램 코드를 실행시키는 상기 프로세서 유닛은, 상기 장치에게,
    2차 선택을 위한 하이라이트를 선택하도록 더 명령하되,
    상기 2차 선택을 위한 하이라이트는 상기 1차 선택을 위해 선택되는 하이라이트와는 다른,
    장치.
  20. 청구항 15에 있어서, 렌더되는 부분들을 상기 사용자에게 디스플레이하기 위해 상기 컴퓨터 실행가능 프로그램 코드를 실행시키는 상기 프로세서 유닛은, 상기 장치에게,
    액션들의 세트로부터 잠재적 액션을 식별하여, 식별되는 액션을 형성하고,
    상기 식별되는 액션이 변했는지를 결정하고,
    상기 식별되는 액션이 변하지 않았다는 결정에 응답하여, 상기 식별되는 액션의 사용자 확인(user confirmation)을 받고,
    상기 조합을 사용하여 상기 식별되는 액션을 수행하도록 더 명령하되,
    상기 조합은, 식별되는 액션을 형성하기 위한, 액션들의 세트로부터의 잠재적 액션, 그리고 식별되는 데이터 항목들을 형성하기 위한, 상기 식별되는 액션 및 상기 선택되는 하나의 데이터 포인트를 사용하는, 식별되는 관련 데이터 항목들을 더 포함하는,
    장치.
KR1020110106467A 2010-10-25 2011-10-18 2차 선택 피드백 전달 KR20120048475A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CA2718360 2010-10-25
CA2718360A CA2718360A1 (en) 2010-10-25 2010-10-25 Communicating secondary selection feedback

Publications (1)

Publication Number Publication Date
KR20120048475A true KR20120048475A (ko) 2012-05-15

Family

ID=43426291

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020110106467A KR20120048475A (ko) 2010-10-25 2011-10-18 2차 선택 피드백 전달

Country Status (5)

Country Link
US (1) US20120102432A1 (ko)
JP (1) JP6066545B2 (ko)
KR (1) KR20120048475A (ko)
CN (1) CN102456067B (ko)
CA (1) CA2718360A1 (ko)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021220058A1 (en) 2020-05-01 2021-11-04 Monday.com Ltd. Digital processing systems and methods for enhanced collaborative workflow and networking systems, methods, and devices
WO2021144656A1 (en) 2020-01-15 2021-07-22 Monday.Com Digital processing systems and methods for graphical dynamic table gauges in collaborative work systems
WO2021161104A1 (en) 2020-02-12 2021-08-19 Monday.Com Enhanced display features in collaborative network systems, methods, and devices
WO2021099839A1 (en) 2019-11-18 2021-05-27 Roy Mann Collaborative networking systems, methods, and devices
US11410129B2 (en) 2010-05-01 2022-08-09 Monday.com Ltd. Digital processing systems and methods for two-way syncing with third party applications in collaborative work systems
US9430458B2 (en) * 2011-11-03 2016-08-30 Microsoft Technology Licensing, Llc List-based interactivity features as part of modifying list data and structure
US8965933B2 (en) * 2012-01-06 2015-02-24 Apple Inc. Multi-tiered caches in data rendering
JP6049300B2 (ja) * 2012-05-11 2016-12-21 オリンパス株式会社 顕微鏡システム
US9223489B2 (en) * 2012-06-13 2015-12-29 Adobe Systems Incorporated Method and apparatus for gesture based copying of attributes
US9449062B2 (en) * 2012-09-28 2016-09-20 Sap Se Data exploration combining visual inspection and analytic search
JP6311411B2 (ja) * 2014-04-02 2018-04-18 ソニー株式会社 接続制御装置および接続制御方法
KR20180024619A (ko) * 2016-08-30 2018-03-08 삼성전자주식회사 답변 제공 방법 및 이를 지원하는 전자 장치
CN110647517B (zh) * 2018-06-11 2022-06-24 北京神州泰岳软件股份有限公司 一种表格数据结构的处理方法和装置
US11698890B2 (en) 2018-07-04 2023-07-11 Monday.com Ltd. System and method for generating a column-oriented data structure repository for columns of single data types
US11436359B2 (en) 2018-07-04 2022-09-06 Monday.com Ltd. System and method for managing permissions of users for a single data type column-oriented data structure
US20210149553A1 (en) 2019-11-18 2021-05-20 Monday.Com Digital processing systems and methods for real-time resource and capacity allocation in collaborative work systems
US20240184989A1 (en) 2020-05-01 2024-06-06 Monday.com Ltd. Digital processing systems and methods for virtualfile-based electronic white board in collaborative work systems systems
US11277361B2 (en) 2020-05-03 2022-03-15 Monday.com Ltd. Digital processing systems and methods for variable hang-time for social layer messages in collaborative work systems
US11687216B2 (en) 2021-01-14 2023-06-27 Monday.com Ltd. Digital processing systems and methods for dynamically updating documents with data from linked files in collaborative work systems
CN115858613B (zh) * 2022-11-18 2023-11-17 中节能风力发电股份有限公司 一种基于时间顺序信息的风电数据显示方法和系统
US11741071B1 (en) 2022-12-28 2023-08-29 Monday.com Ltd. Digital processing systems and methods for navigating and viewing displayed content
US11886683B1 (en) 2022-12-30 2024-01-30 Monday.com Ltd Digital processing systems and methods for presenting board graphics
US11893381B1 (en) 2023-02-21 2024-02-06 Monday.com Ltd Digital processing systems and methods for reducing file bundle sizes

Family Cites Families (55)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0211151B1 (en) * 1985-05-30 1992-09-09 International Business Machines Corporation Procedure for controlling the order of editing cells in a spreadsheet
US5231577A (en) * 1990-04-06 1993-07-27 Microsoft Corporation Method and system for processing formatting information in a spreadsheet
US5754178A (en) * 1993-03-03 1998-05-19 Apple Computer, Inc. Method and apparatus for improved feedback during manipulation of data on a computer controlled display system
US5303146A (en) * 1993-03-11 1994-04-12 Borland International, Inc. System and methods for improved scenario management in an electronic spreadsheet
GB2301757B (en) * 1995-06-01 2000-02-02 Ibm Graphical user interface
US5754179A (en) * 1995-06-07 1998-05-19 International Business Machines Corporation Selection facilitation on a graphical interface
US6057837A (en) * 1997-07-15 2000-05-02 Microsoft Corporation On-screen indentification and manipulation of sources that an object depends upon
US6185582B1 (en) * 1998-06-17 2001-02-06 Xerox Corporation Spreadsheet view enhancement system
US6460059B1 (en) * 1998-08-04 2002-10-01 International Business Machines Corporation Visual aid to simplify achieving correct cell interrelations in spreadsheets
US6731309B1 (en) * 1998-08-28 2004-05-04 Corel Corporation Real time preview
US6549878B1 (en) * 1998-12-31 2003-04-15 Microsoft Corporation System and method for editing a spreadsheet via an improved editing and cell selection model
US6424948B1 (en) * 1999-02-19 2002-07-23 Guozhu Dong Declarative workflow system supporting side-effects
US6629097B1 (en) * 1999-04-28 2003-09-30 Douglas K. Keith Displaying implicit associations among items in loosely-structured data sets
US6851088B1 (en) * 1999-12-07 2005-02-01 International Business Machines Corporation Conditional highlighting of given cells in a dynamic HTML table
GB0022189D0 (en) * 2000-09-11 2000-10-25 Univ Loughborough Method and apparatus for analytical problem solving
US7685507B2 (en) * 2001-01-22 2010-03-23 Oracle International Corporation System for editing query conditions, calculations, formulas and equations
TW502180B (en) * 2001-03-30 2002-09-11 Ulead Systems Inc Previewing method of editing multimedia effect
US7454714B2 (en) * 2001-03-30 2008-11-18 Aol Llc, A Delaware Limited Liability Company Visually distinguishing menu items
US6886133B2 (en) * 2001-06-07 2005-04-26 Microsoft Corporation Interactive formatting interface
US7343365B2 (en) * 2002-02-20 2008-03-11 Microsoft Corporation Computer system architecture for automatic context associations
US7546333B2 (en) * 2002-10-23 2009-06-09 Netapp, Inc. Methods and systems for predictive change management for access paths in networks
US7158123B2 (en) * 2003-01-31 2007-01-02 Xerox Corporation Secondary touch contextual sub-menu navigation for touch screen interface
US7605813B2 (en) * 2003-04-22 2009-10-20 International Business Machines Corporation Displaying arbitrary relationships in a tree-map visualization
US7290219B2 (en) * 2003-04-28 2007-10-30 International Business Machines Corporation System and method for selection based action bar
EP1627329A1 (en) * 2003-05-05 2006-02-22 Arbortext, Inc. System and method for managing dynamic content assembly
US7231593B1 (en) * 2003-07-24 2007-06-12 Balenz Software, Inc. System and method for managing a spreadsheet
US8171426B2 (en) * 2003-12-29 2012-05-01 International Business Machines Corporation Method for secondary selection highlighting
DE602004029548D1 (de) * 2004-03-16 2010-11-25 Sap Ag Verfahren, Computerprogrammprodukt und Datenverarbeitungssystem zum Anzeigen einer Mehrzahl von Datenobjekten
US7600201B2 (en) * 2004-04-07 2009-10-06 Sony Corporation Methods and apparatuses for viewing choices and making selections
TW200622893A (en) * 2004-07-09 2006-07-01 Nokia Corp Cute user interface
US7900155B2 (en) * 2004-08-16 2011-03-01 Sap Ag System and method for providing information about an operation's applicability to an item
US7676738B2 (en) * 2004-09-13 2010-03-09 Whitebirch Software, Inc. Scenario-dependent evaluation formula
US7415481B2 (en) * 2004-09-30 2008-08-19 Microsoft Corporation Method and implementation for referencing of dynamic data within spreadsheet formulas
US9047266B2 (en) * 2004-10-07 2015-06-02 International Business Machines Corporation Methods, systems and computer program products for processing cells in a spreadsheet
US20060095865A1 (en) * 2004-11-04 2006-05-04 Rostom Mohamed A Dynamic graphical user interface for a desktop environment
US7849395B2 (en) * 2004-12-15 2010-12-07 Microsoft Corporation Filter and sort by color
JP5495556B2 (ja) * 2005-03-30 2014-05-21 ユナイテッド ビデオ プロパティーズ, インコーポレイテッド ビデオが豊富なナビゲーションのためのシステムおよび方法
US7689467B1 (en) * 2005-06-09 2010-03-30 At&T Intellectual Property Ii, Lp Arrangement for guiding user design of comprehensive product solution using on-the-fly data validation
US20070028189A1 (en) * 2005-07-27 2007-02-01 Microsoft Corporation Hierarchy highlighting
US7779000B2 (en) * 2005-08-29 2010-08-17 Microsoft Corporation Associating conditions to summary table data
US7634717B2 (en) * 2006-01-23 2009-12-15 Microsoft Corporation Multiple conditional formatting
US7770100B2 (en) * 2006-02-27 2010-08-03 Microsoft Corporation Dynamic thresholds for conditional formats
US8607149B2 (en) * 2006-03-23 2013-12-10 International Business Machines Corporation Highlighting related user interface controls
US7639394B2 (en) * 2006-03-31 2009-12-29 Microsoft Corporation Dynamically generating darker and lighter color options from a base color in a color picker user interface
US7752153B2 (en) * 2006-08-29 2010-07-06 Microsoft Corporation Forward chaining and identifying rule dependencies and rule triggering side effects in terms of data objects accessed by rules in a ruleset
US7996786B2 (en) * 2007-03-05 2011-08-09 Microsoft Corporation Dynamically rendering visualizations of data sets
US8516365B2 (en) * 2007-06-15 2013-08-20 Microsoft Corporation Dynamically laying out images and associated text using pre-defined layouts
US8645863B2 (en) * 2007-06-29 2014-02-04 Microsoft Corporation Menus with translucency and live preview
US20090171960A1 (en) * 2008-01-02 2009-07-02 Ziv Katzir Method and system for context-aware data prioritization
CA2716114C (en) * 2008-02-26 2019-05-14 Ab Initio Technology Llc Graphic representations of data relationships
US20090228776A1 (en) * 2008-03-05 2009-09-10 Microsoft Corporation Dynamic formulas for spreadsheet cells
US8694893B2 (en) * 2008-08-08 2014-04-08 Oracle International Corporation Interactive product configurator with persistent component association
JP4561905B2 (ja) * 2008-08-20 2010-10-13 コニカミノルタビジネステクノロジーズ株式会社 情報処理プログラム、情報処理方法及び情報処理装置
US9330503B2 (en) * 2009-06-19 2016-05-03 Microsoft Technology Licensing, Llc Presaging and surfacing interactivity within data visualizations
WO2012014305A1 (ja) * 2010-07-29 2012-02-02 株式会社日立製作所 システム障害における構成変更事象の影響度推定方法

Also Published As

Publication number Publication date
JP6066545B2 (ja) 2017-01-25
JP2012094121A (ja) 2012-05-17
CN102456067A (zh) 2012-05-16
CN102456067B (zh) 2015-07-22
CA2718360A1 (en) 2011-01-05
US20120102432A1 (en) 2012-04-26

Similar Documents

Publication Publication Date Title
KR20120048475A (ko) 2차 선택 피드백 전달
US11151271B2 (en) Multi-user access controls in electronic simultaneously editable document editor
US20200334237A1 (en) Systems, methods, user interfaces and algorithms for performing database analysis and search of information involving structured and/or semi-structured data
US11361486B2 (en) Automated combination of multiple data visualizations
CA2780330C (en) System, method and computer program for creating and manipulating data structures using an interactive graphical interface
US8321781B2 (en) User interface pane for an interactive chart
US10592082B2 (en) Parallel front end application and workflow development
CA2795183C (en) Temporary formatting and charting of selected data
US8930851B2 (en) Visually representing a menu structure
US20150268833A1 (en) Comment system for interactive graphical designs
US10783214B1 (en) Adaptive and dynamic user interface with linked tiles
EP3230895A1 (en) Presentation of content from within spreadsheet application
US7721189B2 (en) System for and method of providing overview of a worksheet in an electronic report
US20220244837A1 (en) Enhanced techniques for building user interfaces
US20180293056A1 (en) Cognitive scope analyzer
EP3227767B1 (en) Hierarchical navigation apparatus and method

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E601 Decision to refuse application