KR101171566B1 - 합성 공간 표현의 생성 - Google Patents

합성 공간 표현의 생성 Download PDF

Info

Publication number
KR101171566B1
KR101171566B1 KR1020100080363A KR20100080363A KR101171566B1 KR 101171566 B1 KR101171566 B1 KR 101171566B1 KR 1020100080363 A KR1020100080363 A KR 1020100080363A KR 20100080363 A KR20100080363 A KR 20100080363A KR 101171566 B1 KR101171566 B1 KR 101171566B1
Authority
KR
South Korea
Prior art keywords
composite
representation
source
space
spatial representation
Prior art date
Application number
KR1020100080363A
Other languages
English (en)
Other versions
KR20110035851A (ko
Inventor
미첼 베지
알란 조지 콜레
스텔라 제이. 미첼
조나단 폴 먼슨
데이비드 알브라 우드 3세
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 KR20110035851A publication Critical patent/KR20110035851A/ko
Application granted granted Critical
Publication of KR101171566B1 publication Critical patent/KR101171566B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • 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/29Geographical information databases
    • 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
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04815Interaction with a metaphor-based environment or interaction object displayed as three-dimensional, e.g. changing the user viewpoint with respect to the environment or object
    • 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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • 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/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
    • G06F3/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • 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/448Execution paradigms, e.g. implementations of programming paradigms
    • G06F9/4494Execution paradigms, e.g. implementations of programming paradigms data driven
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/10Geometric effects
    • G06T15/30Clipping
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B29/00Maps; Plans; Charts; Diagrams, e.g. route diagram
    • G09B29/10Map spot or coordinate position indicators; Map reading aids
    • G09B29/106Map spot or coordinate position indicators; Map reading aids using electronic means
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G5/00Control arrangements or circuits for visual indicators common to cathode-ray tube indicators and other visual indicators
    • G09G5/14Display of multiple viewports

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Computer Graphics (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • Data Mining & Analysis (AREA)
  • Mathematical Physics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Geometry (AREA)
  • Remote Sensing (AREA)
  • Strategic Management (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Tourism & Hospitality (AREA)
  • Stored Programmes (AREA)
  • Processing Or Creating Images (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

본원에서는 합성 공간 표현을 생성하기 위한 기술들이 제시된다. 예를 들어, 방법은 복수의 소스 애플리케이션으로부터 복수의 소스 공간 표현을 획득하는 단계, 복수의 소스 공간 표현을 결합하는 것에 의해 합성 공간 표현을 형성하는 단계를 포함한다. 합성 공간 표현은 합성 공간 표현과 분리된 적어도 하나의 행동 요소와 상호작용하도록 작동된다. 복수의 소스 공간 표현을 획득하는 단계와 합성 공간 표현을 형성하는 단계는 프로세서 및 메모리를 포함하는 컴퓨팅 시스템 상에서 실행된다. 복수의 소스 공간 표현을 획득하는 단계와 합성 공간 표현을 형성하는 단계를 구현하기 위한 하나 이상의 컴퓨터 프로그램 명령어는 메모리로부터 획득되며 프로세서 장치에 의해서 실행된다.

Description

합성 공간 표현의 생성{GENERATION OF COMPOSITE SPATIAL REPRESENTATIONS}
본 발명은 일반적으로 공간 표현(spatial representations)에 관한 것으로서, 더 구체적으로는 합성 공간 표현(composite spatial representation)을 형성하기 위한 복수의 소스 공간 표현(source spatial representations)을 결합하는 기술에 관한 것이다.
인터넷 기술은 애플리케이션 개발자들에게 애플리케이션들을 개발하는데 이용하기 위한 선언적 및 프로그래밍 요소(declarative and programmatic elements)의 결합을 제공한다. 인터넷 애플리케이션 개발자들은 문서에서 구조, 콘텐츠 및 장식(decoration)을 제공하는 HTML(hyper-text markup language) 및 CSS(cascading style sheets)와 같은 선언적 요소들과 문서에 기초하여 연산 양태 및 상호작용 양태(computational and interactive behavior)를 제공하기 위한 자바스크립트와 같은 프로그래밍 요소들을 이용한다. 이 기술은 브라우저에 배치가능(browser-deployable)하고 즉각 반응하는(responsive) 애플리케이션들을 제공하였다. "브라우저"라는 용어는 인터넷 브라우저 뿐만아니라, 예를 들어 애플리케이션의 문서 기반의 GUI(graphical user interface)를 로딩하고 렌더링하는 프로그램, GUI를 이용하여 사용자 상호작용(user interaction)을 처리하는 프로그램, 로컬 또는 원격 소스들로부터 GUI 정의들(GUI definitions)을 로딩하는 것이 가능한 프로그램과 같은 임의의 범용 사용자 인터페이스 프로그램(universal user-interface program)을 모두 의미하는 것으로 의도된다.
전자 맵(Electronic maps)은 많은 상호작용 애플리케이션들(interactive applications)에 있어서 중요한 매체이다. 다수의 맵 기반의 애플리케이션들은 브라우저에 배치가능하지 않거나 또는 좁은 범위의 상호작용 양태로 제한된다. 일부 맵 도구 키트(toolkits)들은 확장된 범위의 상호작용 양태를 갖는 브라우저 배치가능 애플리케이션 GUI들(browser-deployable application GUIs)을 제공한다. 그러나, 이러한 맵 도구 키트들은 개발자의 합성 능력(composition ability)을 제한하는 것으로 알려져 있다.
종래의 맵 도구 키트들은 개발자의 합성 능력을 제한한다. 본 발명의 실시예들은 기존의 기술 분야에 존재하는 이러한 문제점과 기타 다른 문제점들에 대해 해결점을 제시하고자 한다.
본 발명의 원칙들은, 예를 들어 공간 지향 애플리케이션들과 연관된 합성 공간 표현들을 생성하기 위한 기술을 제공한다.
예를 들어, 발명의 일 실시예에 따르면, 합성 공간 표현을 생성하는 방법이 제공된다. 상기 방법은 복수의 소스 애플리케이션으로부터 복수의 소스 공간 표현을 획득하는 단계, 상기 복수의 소스 공간 표현을 결합하는 것에 의해서 상기 합성 공간 표현을 형성하는 단계를 포함한다. 상기 합성 공간 표현은 상기 합성 공간 표현과 분리된 적어도 하나의 행동 요소와 상호작용하도록 작동한다. 상기 복수의 소스 공간 표현을 획득하는 단계와 상기 합성 공간 표현을 형성하는 단계는 프로세서 및 메모리를 포함하는 컴퓨팅 시스템 상에서 실행된다. 상기 복수의 소스 공간 표현을 획득하는 단계와 상기 복수의 공간 표현을 형성하는 단계를 구현하기 위한 하나 이상의 컴퓨터 프로그램 명령어는 상기 메모리로부터 획득되고 상기 프로세서 장치에 의해서 실행된다.
본 발명의 예시적인 실시예들은 유리하게도, 예를 들어 복수의 맵 레이어를 획득하고, 결합하고 동시에 디스플레이하는 기술들과, 맵 레이어들의 장식, 콘텐츠, 및 구조로부터 분리된 스크립트들과 같은 행동 요소들을 제공하고 실행하는 기술들을 제공한다. 구조, 콘텐츠 및 장식은 다양한 상호작용 행동 또는 연산 행동(interactive or computational behaviors)을 가능하게 하기 위하여 행동 요소들에 의해서 작동될 수 있다. 발명의 일 태양은, 예를 들어 다양한 방법으로 복수의 소스로부터의 복수의 동적 또는 정적 데이터 피드(feeds of data)를 결합하는 작업(operations)을 가능하게 한다. 복수의 피드(multiple feeds)로부터 오는 데이터는 디스플레이되기 전에 결합된다. 다른 예에서, 본 발명의 일 태양은 최종 사용자로 하여금 동적 공간 데이터 세트들 사이의 관계를 시각화하는 것을 가능하게 하고, 데이터 세트들에 변화가 생겼을 경우에 사용자 지정 알림(custom alerts)을 생성하게 하는 것을 가능하게 한다. 발명의 특징들은, 예를 들어 협동(collaboration), 소셜 네트워킹(social networking), 지리 정보 시스템 및 비상 대응(emergency response)도 가능하게 한다.
발명의 이러한 실시예들은 알려진 맵 도구 키트들은 행동 요소들로부터 구조, 콘텐츠 및 장식 요소들을 완전하게 분리시키지 않는다는 점에서 위에서 언급한 맵 도구 키트들에 비해서 향상된 점을 제공한다. 따라서, 알려진 맵 도구 키트들은 XSLT(extensible style-sheet language transformations)와 같은 기타 문서 지향 프로그래밍 기술들(document-oriented programming technologies)을 이용하여 맵 기반의 GUI들을 구성하는 개발자들의 능력을 제한한다. 본 발명의 실시예들은 기존의 기술 분야에 존재하는 이러한 문제점과 기타 다른 문제점들에 대해 해결점을 제시한다.
본원 발명의 이러한 특징과 기타 다른 특징들, 객체들 및 장점들은 후술하는 상세한 설명의 예시적인 실시예들과 그와 관련되는 첨부 도면을 읽음으로써 더 명확해질 것이다.
도 1은 본 발명의 예시적인 실시예에 따른 맵 뷰어를 포함하는 예시적인 아키텍쳐를 도시하는 도면.
도 2는 본 발명의 예시적인 실시예에 따른 연관된 호스트 사이트 및 소스 애플리케이션들이 포함된 맵 뷰어 프로그램의 예시적인 시스템을 도시하는 도면.
도 3은 본 발명의 예시적인 실시예에 따른, 맵 레이어 요소들 상에 생성될 수 있는 예시적인 이벤트 유형들을 열거하는 맵 레이어 이벤트 테이블(map layer event table)을 도시하는 도면.
도 4는 본 발명의 예시적인 실시예에 따른, 본질에 있어서 공간적 속성을 갖는 함수를 열거하는 공간 함수 테이블(spatial functions table)을 도시하는 도면.
도 5는 본 발명의 예시적인 실시예에 따라, 시간이 경과함에 따른 기하학적 관계(geometrical relationships)의 변화를 참작하는 함수들을 열거하는 공간-시간 테이블(spatio-temporal table)을 도시하는 도면.
도 6은 본 발명의 예시적인 실시예에 따른 합성 공간 표현을 생성하는 방법을 도시하는 도면.
도 7은 본 발명의 예시적인 실시예에 따라 복수의 소스 공간 표현과 소스 공간 표현 사용자 그래픽 인터페이스 컨트롤(source spatial representation user graphical interface control)을 획득하고, 복수의 소스 공간 표현을 포함하는 소스 애플리케이션들을 실행하는 방법을 도시하는 도면.
도 8은 본 발명의 요소들 및/또는 하나 이상의 실시예를 구현하는데 유용할 수 있는 컴퓨터 시스템을 도시하는 도면.
본 명세서에서 예시적으로 사용되는 클라이언트는, 예를 들어 원격 서버상에서 컴퓨터 시스템상의 원격 서비스인 네트워크를 통해 액세스를 하는 시스템 및/또는 애플리케이션을 의미한다. 예를 들어, 클라이언트는 복수의 제1 데이터 세트들(first datasets; 예를 들어, 각각의 제1 데이터 세트는 맵 레이어를 포함함)을 획득하거나 또는 다운로드하는 소프트웨어를 포함할 수 있으며, 이 소프트웨어는 프로세서 장치(예를 들어, 메모리에 결합된 프로세서)에 상주하는 소프트웨어이다. 추가적으로 클라이언트는 프로세싱을 수행하고 기능들을 제공할 수 있는데, 예를 들어 제1 데이터 세트들에 대하여 프로세싱을 행하여 제2 데이터 세트를 형성하고 제2 데이터 세트를 사용자 또는 다른 클라이언트에게 제공할 수 있다. 클라이언트는 추가적으로 하드웨어(예를 들어, 프로세서 장치)를 포함하거나 또는 하드웨어만을 포함할 수 있다.
본 명세서에서 예시적으로 사용되는 GUI(graphical user interface)는 예를 들어 컴퓨터들, 소형 장치들(예를 들어, MP3 플레이어들, 휴대용 미디어 플레이어들, 게임 장치들 및 휴대폰들), 가전 제품 및 사무 기기와 같은 전자 장치들과 사람들이 상호작용하는 것을 가능하게 하는 사용자 인터페이스의 한 유형이다. GUI는 대부분 타이핑된 명령어들(typed commands) 또는 텍스트 탐색(text navigation)을 제공하는 것과는 반대로, 예를 들어 대개 사용자에게 이용가능한 정보 및 동작들(actions)을 표현하기 위한 시각적인 표시자(visual indicators) 및 그래픽 아이콘들을 제공한다. 상호작용은 일반적으로 그래픽 요소들 또는 그래픽 아이콘들에 대한 직접적인 조작을 통해 수행된다.
본 명세서에서 예시적으로 사용되는 CGUI(conventional graphical user interface)는 예를 들어 윈도우와 윈도우 컨트롤(예를 들어, 버튼들, 체크 박스들, 메뉴들, 입력 박스들 등)과 같은 종래의 GUI 애플리케이션들을 제공하는 GUI의 한 유형이다. CGUI는 GUI 애플리케이션들을 생성하기 위한 기능들의 세트(예를 들어, C 언어 기반의 기능들)를 제공하는 라이브러리에 의해서 지원된다.
본 명세서에서 예시적으로 사용되는 공간 표현이라는 용어는 위치-의존성(location-dependency), 지리학적 위치(geographic position), 지리학적으로 정의된 모양(geographically-defined shape), 및/또는 선형 또는 복수의 차원의 공간(multi-dimensional space) 내의 기하학적 위치(geometric positioning)를 포함하는 표현이다. 일 예로서 공간 표현은 지리학적 맵(geographic map), 기하학적 맵(geometric map), 거리 맵(street map), 지형 맵(terrain map), 행성과 항성의 플라네타륨 시각 디스플레이(planetarium visual display), 빌딩의 평면 계획(floor-plan)와 같은 물리적 레이아웃 또는 계획(plan), 트래픽 패턴(traffic pattern)과 같은 객체들의 위치에 대한 디스플레이의 전자 형태일 수 있다.
본 명세서에서 예시적으로 사용되는 문서 객체 모델(document object model; DOM)은 HTML 또는 XML(extensible markup language)과 그와 연관된 포맷들을 표현하게 하는 플랫폼-독립적이고 언어-독립적인 표준 객체 모델(standard object model)이다.
본 명세서에서 예시적으로 사용되는 API(application programming interface)는 컴퓨터 프로그램들에 의한 요청들을 지원하기 위해 운영체제, 라이브러리, 또는 서비스가 제공하는 기능들, 절차들, 방법들, 클래스들 또는 프로토콜들의 세트이다.
본 명세서에서 예시적으로 사용되는 CSS(cascading style sheets)는 마크업 언어(markup language)로 작성된 문서의 프레젠테이션을 설명하기 위해 사용되는 스타일 시트 언어(style-sheet language)이다. 일반적인 애플리케이션(common application)은 HTML로 작성된 웹 페이지들을 스타일링하는(style) 것이지만 그 언어는 다른 유형의 XML 문서들에도 마찬가지로 적용될 수 있다.
본 명세서에서 예시적으로 사용되는 XSLT(extensible style sheet language transformation)는 XML 문서들을 다른 XML 또는 인간이 판독가능한 문서들로 변환하는데 이용되는 XML 기반의 언어이다. 원래의 문서는 변경되지 않고 오히려 새로운 문서가 기존의 문서의 콘텐츠에 기초하여 생성된다. 새로운 문서는 HTML 또는 일반 텍스트(plain text)와 같은 다른 포맷 또는 표준 XML 신텍스(standard XML syntax)로 프로세서에 의해 아웃풋(output)되거나 또는 시리얼라이징(serialized)될 수 있다. XSLT는 종종 상이한 스키마들(schemas) 사이의 데이터를 전환하는데 사용되거나 또는 XML 데이터를 동적(dynamic) 웹 페이지를 생성하는 웹 페이지들에 대한 HTML 또는 XHTML 문서들로 전환하는데 사용되거나 또는 PDF(portable document format) 문서로 전환될 수 있는 중간 XML 포맷(intermediate XML format)으로 전환하는데 사용된다.
본 명세서에서 예시적으로 사용되는 행동 요소들은, 예를 들어 맵 또는 다른 공간 표현 또는 그것의 디스플레이에 변경을 유발하는 요소와 같은 행동(behavior), 프레젠테이션, 실행, 작업(operation), 또는 흐름을 유발하는 요소들이다. 일 예로서 행동 요소들은 종종 소프트웨어, 소프트웨어 스크립트들(software scripts) 또는 기능들이다. 소프트웨어 요소들은 예를 들어 컴퓨터 마우스 포인터 표시(computer mouse pointer indications) 또는 키 스트로크(keystrokes)와 같은 이벤트(events)에 의해 트리거될(triggered) 수 있다.
발명의 일 태양에는 행동 요소들이 영향을 주거나 작동하거나 상호작용할 수 있는 것으로부터 분리된 행동 요소들, 예를 들어 행동 요소들이 영향을 주거나, 작동하거나 상호작용을 할 수 있는 데이터, 맵들 또는 공간 표현으로부터 분리되어 있는 행동 요소들이 포함된다. 행동 요소들이 데이터와 상호작용을 하는 경우에 있어서, 예를 들어 데이터는 행동 요소들 없이도 완전하고(complete) 유용한 것일 수 있는데 이런 점에서 행동 요소들은 데이터와 분리된 것으로 생각할 수 있다. 예를 들어, 데이터는 행동 요소들 없이도 몇몇 방법에 의해 유용하게 제시될 수 있다. 이는 데이터가, 다른 행동 요소들(대안적인 행동 요소들)이 유용하거나 완성될 것을 요구하는 것을 배제하지 않는다. 그러나 분리된 행동 요소들은 심지어 대안적인 행동 요소들로도 사전에 이용가능하지 않은 데이터에 밸류(value) 또는 유용한 것을 추가할 수 있다. 더 나아가, 데이터는 분리된 행동 요소들 없이도 작동될 수 있고 저장될 수 있다.
기술이 점차, 예를 들어 휴대폰들 및 위성 위치 확인 시스템들(global positioning systems)과 같은 공간 인식(spatial awareness)과 관련됨으로써 공간 양들(spatial quantities)을 묘사할 수 있는 가치는 점차 중요해지고 있다. 공간 양들은, 예를 들어 맵 레이어들의 중첩과 같은 공간 정보 또는 공간-시간 정보(spatio-temporal information)를 포함하는 복수의 레이어들의 중첩에 의해 디스플레이될 수 있다. 본 발명의 예시적인 실시예는 복수의 맵 레이어를 획득하고, 결합하고 디스플레이하는 것과 관련된다. 예를 들어, 이러한 실시예들은 다양한 방법으로 복수의 소스로부터 복수의 동적 또는 정적 데이터 피드를 결합하는 작업을 가능하게 한다. 복수의 피드로부터의 데이터는 디스플레이되기 이전에 결합될 수 있다. 다른 일 예로서, 이러한 실시예들은 최종 사용자들(end users)이 동적 공간 데이터 세트들간의 관계를 시각화하고(visualize) 데이터 세트들에 변화가 있는 경우 사용자 지정 알림을 생성하는 것을 가능하게 한다. 더 나아가 이러한 실시예들은, 예를 들어 협동, 소셜 네트워킹, 지리 정보 시스템 및 비상 대응을 가능하게 한다.
더 나아가, 본 발명의 예시적인 실시예들은 웹 페이지들을 렌더링하는 웹 브라우저들과 유사하게, 맵 레이어들이 맵 뷰어에 의해서 상호작용 문서들(interactive documents)로서 렌더링되는 것을 가능하게 한다. 맵 레이어는 다양한 상호작용 또는 연산 행동(interactive or computational behaviors)을 가능하게 하기 위해 예를 들어 소프트웨어 스크립트들과 같은 행동 요소들에 의해서 작동될 수 있는 구조, 콘텐츠 및 장식을 포함한다. 맵 레이어는 애플리케이션의 GUI의 중심 요소(central element)를 표현할 수 있다. 애플리케이션은 단일 사용자 애플리케이션 또는 복수의 사용자 애플리케이션이거나 로컬 애플리케이션 또는 네트워크 애플리케이션이거나 정적 또는 동적 콘텐츠를 디스플레이하는 애플리케이션일 수 있다. 스크립트들은 맵-레이어 문서들 내에 내장되거나 또는 맵 레이어 문서들과는 독립적으로 로딩되어 실행될 수 있다. 스크립트들은 맵 뷰어에 의해서 제공되는 라이브러리 내의 공간 및 시간 오퍼레이터(spatial and temporal operators)를 호출(call)할 수 있다. 적절한 보안 관련 제한사항들과 함께, 스크립트들은 다른 애플리케이션들의 맵 레이어들의 데이터를 액세스할 수 있다. 이는 전체적으로 새로운 클래스의 경량(lightweight)의 공간-시간 지능 애플리케이션들(spatio-temporal intelligence applications)을 가능하게 한다. 예를 들어, 연속적으로 갱신되는 긴급 차량들의 위치를 나타내는 한 애플리케이션으로부터의 맵 레이어, 사건들의 위치를 나타내는 다른 애플리케이션으로부터의 맵 레이어, 도로 정체를 나타내는 세 번째 애플리케이션으로부터의 맵 레이어들은 주어진 현재의 교통 상황에 따라 어떤 긴급 차량을 어떤 사건에 대응하게 해야 하는지를 알아내도록 스크립트를 통해 상호연관될 수 있다. 이 접근 방법은 (1) 연산 능력(power of computation)을 시각화 능력(power of visualization)에 통합시키며 (2) 구매되거나 설치되거나 유지되어야 하는 서버들을 요구하지 않는 적은 인프라스트럭쳐 접근 방법(infrastructure-less approach)을 제공한다는 2가지 이유의 측면에서 장점이 있다.
본 발명의 실시예는 공간 지향 애플리케이션들(spatially oriented applications)의 객체들(예를 들어, 맵 객체들)을 제1 클래스 사용자 인터페이스(UI) 엔티티들(entities)로 취급하거나 고려하며, 객체들에, 예를 들어 행동 요소들이 맵 또는 공간 지향 애플레이션 객체들(spatially oriented application objects)에 동작하거나(act) 상호작용하는 것을 가능하게 하는 문서 객체 모델(DOM)을 제공한다. 이러한 방법에 의하면, 행동 요소들은 맵 또는 공간 지향 애플리케이션의 구조, 콘텐츠 및 장식으로부터 분리될 수 있으며, 행동 요소들은 맵 또는 공간 지향 애플리케이션과 상호작용하는 것을 가능하게 할 수 있다. 이러한 발명의 일 실시예는 맵 객체들이 맵 객체를 인스턴스화(instantiates)하는 프로그램에 의해서만 접근 가능한 객체 지향, API 기반 접근 방법에 비해 장점을 제공한다. 객체 지향, API 기반 접근 방법은 다른 프로그램들이 맵 또는 객체 지향 애플리케이션 객체들을 액세스할 수 없기 때문에 행동 요소를 구조, 콘텐츠 및 장식으로부터 분리하는 것을 제한한다.
본 발명의 다른 일 실시예는 사용자가 복수의 소스 공간 표현들 중 적어도 하나를 포함하는 소스 애플리케이션을 표시하도록 구성된 합성 공간 표현을 포함하는 공간 지향 애플리케이션을 포함한다. 공간 지향 애플리케이션은 소스 애플리케이션을 로딩하고 실행하도록 구성된다.
도 1은 본 발명의 실시예에 따른 예시적인 아키텍쳐(100)를 도시한다. 예시적인 아키텍쳐(100)는 맵 뷰어(101)와 예를 들어 맵 뷰어(101)의 근방에 위치하고/위치하거나 맵 뷰어(101)에 가깝게 결합되어 있는 로컬 저장 장치와 같은 저장 장치(103)를 포함한다.
맵 뷰어(101)는 맵 레이어 블록(110), 뷰어 스크립트들(120), 이벤트와 상호작용에 의해서 구동되는 스크립트 실행 블록(130), 라이브러리(140), CGUI 컨트롤(CGUI controls; 150), 레이어 렌더링 블록(160), CGUI 렌더링 블록(170), 및 애플리케이션 매니저(180)를 포함한다.
맵 레이어 블록(110)내의 각각의 맵 레이어(111)는 공간 데이터(112), 렌더링 스타일(113) 및 선택적으로 레이어 스크립트(114)를 포함한다. 공간 데이터(112)는 예를 들어 위치 의존적인 것들에 대한 그림을 이용한 표현(pictorial representations)인, 피쳐 세트(featureset)라고 불리는 논리적으로 연관된 맵 피쳐들(피쳐들)의 수집(collection)을 포함하며 이 맵 피쳐들에는 일 태양으로서 지리학적 위치(geographic position) 및/또는 지리학적으로 정의된(geographically-defined) 또는 기하학적으로 정의된(geometrical-defined shape) 모양이 포함된다. 렌더링 스타일(113) 또는 렌더링 명령(rendering directives)은 어떻게 피쳐들이 렌더링되어야 하는지에 대해 명령하는(dictate) 프레젠테이션 명령(presentation directives)을 포함한다. 레이어 스크립트(114)와 뷰어 스크립트(120)는 행동 요소들 또는 논리 요소들이며, 예를 들어 사용자에 의해 착수된 이벤트들과 피쳐들의 데이터의 변화에 응답하여 동작된다(invoked). 레이어 스크립트(114)는 맵 레이어(111) 내에 내장될 수 있거나 또는 맵 레이어(111)와는 독립적으로 로딩되거나 실행될 수 있다. 레이어 스크립트(114)는 라이브러리(140) 내의 공간과 시간 오퍼레이터(spatial and temporal operators)를 호출할 수 있다(call). 레이어 스크립트(114)는 맵 레이어(111) 내의 렌더링 스타일(113)과 공간 데이터(112)와는 구분된다. 다시 말하면, 레이어 스크립트(114)는 공간 데이터(112) 또는 렌더링 스타일(113)의 일부가 아닌 별개의 요소들이지만 공간 데이터(112) 및/또는 렌더링 스타일(113)에 작동할 수는 있다.
행동 요소들(예를 들어, 레이어 스크립트)은, 예를 들어 사용자가 합성 공간 표현을 볼 때 인터프리트, 컴파일 및/또는 실행되도록 구성되는 소프트웨어 스크립트일 수 있다. 레이어 스크립트는, 예를 들어 사용자에 의해 작성, 변경 또는 편집(예를 들어, 형성)될 수 있고/있거나 원격 소스로부터 획득될 수 있다. 사용자는, 예를 들어 합성 공간 표현을 보는 사람일 수 있다.
맵 레이어(111)는 또한 피쳐를 라벨링 또는 설명하는 텍스트, 피쳐에 대한 고유 식별자, 피쳐와 연관된 속성(메타데이터), 및 레이어 스크립트(114)를 피쳐에 관한 이벤트와 연관시키는 이벤트 핸들러 선언(event handler declarations)을 포함할 수 있다.
일 예로서, 맵 레이어(111)는 저장 또는 전송될 때 XML 문서로서 표현된다. 특정한 실시예에서 사용되는 구체적인 XML 언어는 MFL(map feature language)이지만, 상기 요구사항들을 만족하는 다른 표현도 사용될 수 있다. 예들은 KML(keyhole markup language) 및 GeoRSS(geographical resource description framework site summary and geographical really simple syndications)를 포함한다.
라이브러리(140) 내의 개별 라이브러리는 레이어-액세스 라이브러리(layer-access library), 동작 라이브러리(operator library), GUI 라이브러리 및 애플리케이션 설치 라이브러리(application installed library)를 포함한다. 저장 장치(103)는 맵 뷰어(101)와 연결되고, 뷰어 스크립트(120), 렌더링 스타일 및 레이어 스크립트를 제공할 수 있다.
도 1은 또한 소스 애플리케이션(105) 및 맵 애플리케이션(102)을 도시한다. 맵 애플리케이션(102)은 맵 뷰어(101)의 인스턴스화이다. 맵 애플리케이션(102)은 통상적으로, 예를 들어 맵 뷰어를 제공하는 제2 컴퓨팅 장치와 연결된 원격으로 위치된 제1 컴퓨팅 장치에 의해 개시된다. 제1 및 제2 컴퓨팅 장치는, 예를 들어 인터넷 또는 웹과 같은 네트워크(104)를 통해 연결된다. 애플리케이션 관리자(180)는 네트워크(104)를 통해 소스 애플리케이션(105)에 연결되고 소스 애플리케이션(105)의 입수(procurement) 및/또는 실행을 관리한다.
소스 애플리케이션(105)은 네트워크(104)를 통해 맵 뷰어(101)에 연결된다. 소스 애플리케이션(105)은 소스 맵을 맵 뷰어(101)에 제공한다. 소스 맵은 소스 공간 데이터, 소스 렌더링 스타일 및/또는 소스 레이어 스크립트를 포함한다. 소스 공간 데이터 및/또는 소스 렌더링 스타일은 적어도 부분적으로 소스 공간 표현을 구성한다. 공간 데이터(112), 렌더링 스타일(113) 및 레이어 스크립트(114)는, 예를 들어 적어도 부분적으로 각각 소스 공간 데이터, 소스 렌더링 스타일 및 소스 레이어 스크립트로부터 생성된다. 그러나, 공간 데이터(112), 렌더링 스타일(113) 및 레이어 스크립트(114)는 또한 추가적인 데이터, 스타일, 스크립트 및 컴포넌트를 포함할 수 있다. 맵 레이어(111)는 또한 기간(period of time)을 특정하는 리프레시 속성(refresh attribute)을 포함하는데, 그 기간 이후에 소스 맵이 다시 로딩되어야 한다. 적절한 보안-관련 제한과 함께, 레이어 스크립트(114)는 소스 애플리케이션(105) 및 다른 애플리케이션의 데이터에 액세스할 수 있다. 레이어 스크립트(114) 및 뷰어 스크립트(120)는 소스 공간 표현 및 맵 뷰어에 의해 생성되는 임의의 공간 표현과 별개이며 이와 구별된다. 레이어 스크립트(114) 및 뷰어 스크립트(120)는 소스 공간 표현과 상호작용하거나 또는 소스 공간 표현 상에 동작하고/동작하거나 맵 뷰어에 의해 생성되는 공간 표현과 상호작용한다.
도 2는 본 발명의 일 실시예에 따른, 연관된 호스트 사이트 및 애플리케이션들이 있는 맵 뷰어 프로그램의 예시적인 시스템(200)을 도시한다. 예시적인 시스템(200)은 맵 뷰어 프로그램(201), 호스트 사이트(202) 및 애플리케이션 A, B 및 C(203)를 포함한다. 호스트 사이트(202)는, 예를 들어 호스트 웹 사이트를 포함한다. 호스트 사이트(202)는 애플리케이션 등록 및 사용자 선호(user preferences)를 관리한다. 호스트 사이트(202)는 네트워크(204)에 의해 맵 뷰어 프로그램(201)에 연결된다. 애플리케이션(203)은 네트워크(204)에 의해 맵 뷰어 프로그램(201)에 연결된다. 네트워크(204)는 예를 들어 인터넷을 포함한다.
맵 뷰어 프로그램(201)은 데이터 구조(210), 맵 웹 애플리케이션 A(231), B(232) 및 C(233)에 대한 실행 범위, 코드 모듈(220), 맵 렌더링 도구 키트(map rendering toolkit; 240) 및 네이티브 GUI 플랫폼(native GUI platform; 241)을 포함한다. 코드 모듈(220)은, 예를 들어 애플리케이션 관리자, CGUI 렌더링 모듈, 공간 함수 라이브러리(spatial function library), 레이어 관리 및 렌더링 모듈, 및 서비스 호출 모듈(service invocation module)을 포함한다. 서비스 호출 모듈은 애플리케이션(203)에 연결되고 애플리케이션(203)을 제공한다. 데이터 구조(210)는, 예를 들어 사용자 선택 애플리케이션, 현재 로딩된 애플리케이션 및 레이어 문서 객체(layer document objects)를 포함한다. 사용자 선택 애플리케이션은 사용자 선호 영역 내의 호스트 사이트에 제공되고 호스트 사이트 상에 저장될 수 있다.
본 발명의 일 실시예의 이벤트 모델을 생각해보자. 통상적인 경우에, 문서에 포함된 스크립트는 선언들로 구성된다. 스크립트 실행은 따라서, 맵 레이어 또는 CGUI와의 상호작용을 통해 사용자에 의해 생성되거나 또는 온로드(onload) 또는 온체인지(onchange) 이벤트와 같은 뷰어 자체에 의해 생성되는 이벤트의 발생에 의해 구동된다. 이벤트는 CGUI 또는 맵 레이어 요소와 연관된다. 이벤트 핸들러는, 예를 들어 XML 속성들을 통하여 요소들 상에 선언되는 스크립트들인데, 이는 이벤트가 트리거될 때 실행된다. 추가적으로, 리스너 함수(listener functions)는 맵 레이어의 애드리스너 메소드(addListener methods) 또는 CGUI DOM(document object model) APIs(application programming interfaces)를 호출함으로써 요소들과 연관될 수 있다.
도 3은 본 발명의 일 실시예에 따른, 맵 레이어 요소들 상에 생성될 수 있는 예시적인 이벤트 또는 이벤트 유형을 열거하는 맵 레이어 이벤트 테이블(참조에 의해 본 명세서에 삽입됨)이다. 이벤트 데이터는 이벤트에 관한 피쳐 또는 피쳐 세트 객체이다.
본 발명의 일 실시예의 공간 함수들을 생각해보자. 일 실시예는 공간 데이터 상에 다양한 동작을 수행하는 함수들의 라이브러리를 제공하는데, 이들은 맵 레이어 또는 CGUI 문서 스크립트(행동 요소(behavioral element))로부터 호출될 수 있다.
도 4는 본 발명의 일 실시예에 따른, 본질적으로 사실상 공간적인(즉, 오직 기하학적 구조에 관계된) 함수들을 열거하는 공간 함수 테이블(참조에 의해 본 명세서에 삽입됨)을 도시한다.
도 5는 본 발명의 일 실시예에 따른, 시간에 따른 기하학적 관계의 변화를 고려하는 함수들을 열거하는 공간-시간 테이블(spatio-temporal table)(참조에 의해 본 명세서에 삽입됨)을 도시한다. 이러한 함수들은 공간-시간 함수(spatio-temporal functions)로 지칭된다.
도 4 및 5에 열거된 함수들은 대표적인 것이며, 완전한 것이 아니다. 도 4 및 5에서, "F" 및 "FS"는 각각 피쳐 및 피쳐 세트 객체들을 지칭한다. 도 5에 열거된 공간-시간 함수들은 상태기반형(stateful)인데, 즉 공간-시간 함수들은 함수의 이전 호출(invocations)에서 사용된 데이터를 유지하고, 공간-시간 함수들은 사용 전에 인스턴스화되어야 한다.
본 발명의 일 실시예의 상호작용식 지원을 생각해보자. 애플리케이션이 자신의 맵 레이어 피쳐 상의 클릭 및 마우스-오버(mouse-over) 이벤트를 수신할 수 있도록 하는 것에 추가로, 본 실시예는 사용자들이 맵 위치 또는 맵 상의 임의의 피쳐 또는 피쳐 세트 상에 애플리케이션 함수들을 호출할 수 있도록 한다. 뷰어는 사용자가 피쳐, 피쳐 세트 또는 위치를 선택하기 위한 수단을 제공하고, 이어서 사용자가 이용가능한 애플리케이션들에 의해 제공되는 서비스들의 메뉴로부터 선택한다.
애플리케이션의 서비스 명칭 및 구현(예를 들어, URL(uniform resource locators) 또는 자바스크립트 함수 명칭)은 그 애플리케이션의 등록 정보에 포함된다. 추가로, 각각의 서비스에 대해, 서비스가 활성화되기 위해서 그 애플리케이션이 반드시 로딩되어야 하는지 여부 또는 그 서비스가 항상 이용가능한지 여부의 표시가 존재한다. 사용자가 피쳐 또는 위치를 클릭할 때, 뷰어는 로딩된 애플리케이션들의 서비스를 추가하고, 이어서 항상 이용가능한 것으로 선언된 서비스들을 추가함으로써 동적으로 서비스 메뉴를 생성한다.
도 6은 본 발명의 예시적인 일 실시예에 따라 합성 공간 표현을 생성하는 방법(600)을 도시한다. 합성 공간 표현은, 예를 들어 공간 지향 애플리케이션에서 또는 그에 의해 사용될 수 있다. 소프트웨어 프로그램은, 예를 들어 방법(600)을 실행하고 합성 공간 표현을 생성한다. 합성 공간 표현은, 예를 들어 공급자에 의해 제공될 수 있는데, 공급자는 적어도 방법(600)의 제1 단계(601) 및 제2 단계(602)를 수행하는 엔티티일 수 있다. 공급자는 추가로 방법(600)의 제3 내지 제10 단계(603-610)를 수행할 수 있다. 예를 들어, 공급자는 맵 뷰어(101)를 포함한다.
제1 단계(601)는 복수의 소스 공간 표현 및 선택적으로 소스 공간 표현 GUI 컨트롤을 복수의 소스 애플리케이션으로부터 획득하는 단계를 포함한다. 예를 들어, 소스 공간 표현은 지리학적 정보, 위치-의존 또는 기하학 의존 정보를 포함하는 맵이다. 복수의 소스 애플리케이션은, 예를 들어 인터넷을 통해 획득되는 복수의 정적 동적 웹 데이터 피드(static dynamic Web data feeds)(예를 들어, RSS 데이터 피드)를 포함하는 복수의 데이터 피드로부터 획득된다. RSS는 다음 중 임의의 것을 지칭한다: 풍부한 사이트 요약(rich site summary: RSS 0.91), 매우 간단한 배급(really simple syndication: RSS 2.0), 및 리소스 기술 프레임워크 사이트 요약(resource description framework site summary: RSS 0.9 및 1.0). 선택적으로, 복수의 소스 애플리케이션은 로컬로 획득될 수 있다. 소스 애플리케이션은 통상적으로 소스 GUI를 하나 이상의 공간-콘텐트 소스 맵 레이어에 그 소스 맵 레이어와 연관된 0개 또는 그보다 많은 소스 CGUI를 더한 것으로 나타낸다. 소스 맵 레이어는 소스 공간 피쳐, 소스 공간 피쳐를 렌더링하기 위한 소스 명세(source specifications)(소스 스타일) 및 실행가능 소스 스크립트(논리 요소)를 포함하는 소스 문서로서 소스 애플리케이션으로부터 전송된다. 도 7은 아래에 설명될 본 발명의 일 실시예에 따른 복수의 소스 공간 표현 및 소스 공간 표현 사용자 그래픽 인터페이스 컨트롤을 획득하는 제2 방법을 도시한다.
제2 단계(602)는 복수의 소스 공간 표현을 조합함으로써 합성 공간 표현을 형성하는 단계를 포함한다. 다수의 소스 애플리케이션의 소스 GUI들은 공간 콘텐트 소스 맵 레이어들을 서로 오버레이시킴으로써(overlay) 동시에 렌더링되어, 합성 공간 표현을 형성한다. 합성 공간 표현은 공간 피쳐 및 공간 피쳐를 렌더링하기 위한 명세를 포함한다. 예를 들어, 합성 공간 표현은 지리학적 정보 또는 위치-의존 정보를 포함하는 맵이다.
제3 단계(603)는 합성 공간 표현 GUI 컨트롤을 형성하는 단계를 포함한다. 합성 공간 표현 GUI 컨트롤은, 적어도 부분적으로 소스 공간 표현 GUI 컨트롤의 부분들 또는 전부로부터 형성된다. 추가적으로, 합성 공간 표현 GUI 컨트롤을 형성하기 위해 다른 컴포넌트들이 추가될 수 있다. 합성 공간 표현 GUI 컨트롤은, 예를 들어 CGUI를 포함한다.
제4 단계(604)는 합성 공간 표현과 합성 공간 표현 GUI 컨트롤을 조합함으로써 상호작용식 합성 공간 표현을 형성하는 단계를 포함한다. 상호작용식 합성 공간 표현은, 예를 들어 상호작용식 공간 표현 GUI를 포함한다.
제5 단계(605)는, 예를 들어 공급자에 의해 제1 다운스트림 서비스에게 상호작용식 합성 공간 표현(예를 들어, 합성 공간 표현)의 적어도 일부를 제공하는 단계를 포함한다. 상호작용식 합성 공간 표현은 공간적 한계 및 디스플레이의 축척(실제 세상의 단위 대 디스플레이 단위의 비율)을 포함할 수 있다. 다운스트림 서비스는 상호작용식 합성 공간 표현의 컨텍스트(context)가 변할 때마다 갱신되도록 요청할 수 있다. 공급자는 상호작용식 합성 공간 표현의 적어도 일부를 전송하기 위한 수단을 제공한다. 예를 들어, 상호작용식 합성 공간 표현 애플리케이션의 적어도 일부는 인터넷 또는 다른 네트워크를 통해 다운스트림 서비스 또는 서비스들에게 제공된다. 서비스는 저장 또는 다른 추가적인 서비스 또는 클라이언트로의 전송을 포함하는 임의의 동작을 수행할 수 있어서, 사용자-대-사용자 협동을 용이하게 한다. 예를 들어, 상호작용식 합성 공간 표현은 맵 레이어, 맵 레이어 요소 또는 맵 레이어 이벤트를 포함할 수 있다.
제6 단계(606)는 적어도 하나의 소스 공간 표현에 대한 갱신을 포함하는 갱신된 복수의 소스 공간 표현을 획득하는 단계를 포함한다. 이 경우, 복수의 데이터 피드는 상기 적어도 하나의 갱신된 소스 공간 표현을 주기적으로 제공하는 적어도 하나의 동적 피드를 포함한다.
제7 단계(607)는 갱신된 복수의 소스 공간 표현을 조합함으로써 갱신된 상호작용식 합성 공간 표현을 형성하는 단계를 포함한다. 갱신된 복수의 소스 공간 표현을 포함하는 갱신된 다수의 소스 애플리케이션의 소스 GUI는 갱신된 공간 콘텐트 소스 맵 레이어들을 서로 오버레이시킴으로써 동시에 렌더링되어, 갱신된 합성 공간 표현을 형성한다. 갱신된 상호작용식 합성 공간 표현은, 예를 들어 갱신된 상호작용식 합성 공간 표현 GUI를 포함한다.
제8 단계(608)는 제1 다운스트림 서비스에게 갱신된 상호작용식 합성 공간 표현의 적어도 일부를 제공하는 단계를 포함한다. 갱신된 상호작용식 합성 공간 표현은 공간적 한계 및 디스플레이의 축척(실제 세상의 단위 대 디스플레이 단위의 비율)을 포함할 수 있다. 다운스트림 서비스는 갱신된 상호작용식 합성 공간 표현의 컨텍스트가 변할 때마다 추가로 갱신되도록 요청할 수 있다. 공급자는 갱신된 상호작용식 합성 공간 표현의 적어도 일부를 전송하기 위한 수단을 제공한다. 예를 들어, 갱신된 상호작용식 합성 공간 표현의 적어도 일부는 인터넷 또는 다른 네트워크를 통해 서비스들에게 제공된다. 서비스는 저장 또는 다른 추가적인 서비스 또는 클라이언트로의 전송을 포함하는 임의의 동작을 수행할 수 있어서, 사용자-대-사용자 협동을 용이하게 한다. 예를 들어, 갱신된 상호작용식 합성 공간 표현은 맵 레이어, 맵 레이어 요소 또는 맵 레이어 이벤트를 포함할 수 있다.
제9 단계(609)는 소스 공간 표현, 합성 공간 표현 및/또는 상호작용식 합성 공간 표현 상에 함수들을 제공하고 실행하는 단계를 포함한다.
제10 단계(610)는 일련의 이벤트 유형 또는 함수를 정의하는 단계를 포함한다. 함수들은 행동 요소들이며, 예를 들어 레이어 스크립트(114), 뷰어 스크립트(120), 논리 요소 및 그 실행이 이벤트 유형들의 이벤트, 사용자 상호작용 또는 맵 피쳐의 데이터의 변경에 의해 트리거되는 스크립트들을 포함한다. 스크립트는 통상적으로 소프트웨어 스크립트이다. 함수들은 소스 공간 표현, 합성 공간 표현 및/또는 상호작용식 합성 공간 표현과의 상호작용을 제공하거나 이들 상에 동작한다.
함수들은, 예를 들어 소스 공간 표현, 합성 공간 표현 및/또는 상호작용식 합성 공간 표현 상에 동작하는 소프트웨어를 포함한다. 함수들에 의해 제공되는 소스 공간 표현, 합성 공간 표현 및/또는 상호작용식 합성 공간 표현과의 상호작용은 계산, 사용자 상호작용 및/또는 이벤트-구동 상호작용을 포함한다. 함수들은 소스 공간 표현, 합성 공간 표현 및/또는 상호작용식 합성 공간 표현의 장식, 구조, 콘텐트, 장식, 선언적 요소 또는 공간 피쳐 상에 동작한다. 함수들은 합성 공간 표현 또는 합성 공간 표현을 수신하는 다운스트림 서비스를 포함하는 공간 지향 애플리케이션에 의해 실행되도록 구성된다. 함수들은 소스 공간 표현, 합성 공간 표현 및/또는 상호작용식 합성 공간 표현과 별개이다.
이벤트 유형은, 예를 들어 공급자에 의해 정의된다. 이벤트 유형들과 이벤트의 예들은 사용자 상호작용 이벤트, 함수 (행동 요소) 생성 이벤트, 맵 레이어 갱신 이벤트, 및 스크립트-생성 이벤트뿐 아니라 도 3에 열거된 이벤트 유형들에 관련된 것들을 포함한다. 예를 들어, 맵 레이어 갱신 이벤트는 합성 공간 표현의 갱신 및 복수의 소스 공간 표현 중 하나 이상의 갱신을 포함한다. 함수들의 예들은 도 4 및 5에 열거되어 있고, 공간적, 시간적 및 통계적 함수들을 포함한다. 예를 들어, 공급자는 맵 레이어와 연관된 스크립트 또는 다수의 맵 레이어에 액세스하는 스크립트를 실행할 수 있고, 맵 레이어의 데이터 상에 함수를 구현하는 오퍼레이터의 라이브러리를 제공한다. 예를 들어, 맵 레이어는 맵 레이어들(111) 중 하나 이상을 포함한다. 예를 들어, 오퍼레이터의 라이브러리는 라이브러리(140) 내의 오퍼레이터 라이브러리를 포함한다. 스크립트는 다른 스크립트에 함수를 제공할 수 있다. 스크립트들과 공급자 사이의 바인딩은, 예를 들어 동적이다. 일부 실시예에서, 함수는 다운스트림 서비스 또는 다운스트림 서비스의 사용자에게 제공된다. 이들 실시예에서, 다운스트림 서비스는 함수를 실행한다.
일부 실시예는 또한 함수에 의해 실행되도록 구성되는 서브-함수의 라이브러리를 제공한다. 이 라이브러리는, 예를 들어 공간 함수, 시간 함수, 공간-시간 함수 및/또는 통계 함수를 포함한다.
제11 단계(611)는 다운스트림 서비스에 의해 상호작용식 합성 공간 표현의 적어도 일부를 변경하여 변경된 상호작용식 합성 공간 표현을 형성하는 단계, 및 이 변경된 상호작용식 합성 공간 표현을 제2 다운스트림 서비스에 제공하는 단계를 포함한다. 제11 단계(611)는, 예를 들어 공급자로부터 공간 표현을 획득하는 서비스에 의해 수행된다. 서비스들의 예들은 다음과 같다: 사회적 네트워크 또는 서비스; 협동을 제공하는 서비스; 지리학적 정보 시스템, 서비스 또는 공급자; 및 긴급 응답 시스템, 서비스 또는 공급자.
제12 단계(612)는 상호작용식 합성 공간 표현 또는 갱신된 상호작용식 합성 공간 표현을 디스플레이하는 것이다. 디스플레이는 합성 공간 표현을 포함하는 공간 지향 애플리케이션 또는 다운스트림 서비스에 의해, 통상적으로 사용자의 디스플레이 상에 이루어진다.
방법(600), 제6 단계(605) 및 제8 단계(608)는 상호작용식 합성 공간 표현 및 갱신된 상호작용식 합성 공간 표현을 각각 제공한다. 다른 예시적인 실시예들에서, 합성 공간 표현 및/또는 갱신된 합성 공간 표현이 제공된다.
공급자의 기능은 사용자 클라이언트(예를 들어, 사용자의 컴퓨팅 장치)와 서버측 처리 요소(예를 들어, 서버 또는 공급자의 다른 컴퓨팅 장치) 간에 분배될 수 있다고 이해해야 한다. 예를 들어, 뷰어 스크립트(도 1의 120)는 특정 사용자를 대신하여 공급자의 서버 상에서 실행될 수 있다.
도 7은 본 발명의 일 실시예에 따른, 복수의 소스 공간 표현 및 소스 공간 표현 사용자 그래픽 인터페이스 컨트롤을 획득하고, 복수의 소스 공간 표현을 포함하는 애플리케이션을 실행하기 위한 예시적인 방법을 도시한다. 애플리케이션의 일 실시예는 각각 연관된 스크립트(행동 요소)가 있는 두 개의 문서를 포함한다. 하나의 문서는 CGUI를 나타내는 CGUI 문서인데, 이는 폼, 리스트, 테이블, 버튼 및 체크박스와 같은 사용자 인터페이스(UI) 요소로 구성된다. 다른 문서는 애플리케이션의 맵 레이어(들)에 대응하는 맵 레이어 문서이다. 이 문서들은 다음과 같이 뷰어에서 인스턴스화된다.
제1 단계(701)는 애플리케이션을 나타내며 (CGUI 문서이거나 맵 레이어 문서인) 애플리케이션의 문서(특정된 문서)를 특정하는, 사용자가 뷰어에 의해 제공되는 시각적 UI 요소를 클릭하거나 다른 방법으로 지시하는 것을 포함한다. 예를 들어, UI 요소는 아이콘 또는 메뉴 선택을 포함한다.
제2 단계(702)는 제1 단계(701)에 대한 응답으로 애플리케이션을 위한 실행 환경을 생성하는 뷰어를 포함한다. 예를 들어, 뷰어는 맵 뷰어를 포함한다. 하나의 웹 브라우저 기반 실시예에서, 실행 환경은 뷰어 윈도우 내에 생성된 HTML iframe 태그에 의해 제공된다.
제3 단계(703)는 UI 요소에 의해 지시된 특정된 문서를 실행 환경에 로딩하는 뷰어를 포함한다. 만약 특정된 문서가 CGUI 문서라면, CGUI 문서가 렌더링되고 사용자에게 보여진다. 만약 특정된 문서가 맵 레이어 문서라면, 맵 레이어 문서가 제공된 맵의 가장 위에 렌더링된다. 문서 렌더링은 문서에 포함된 임의의 스크립트(이벤트 핸들러 제외)의 처리를 포함한다.
핸드헬드 장치 상에서, 애플리케이션의 CGUI와 맵이 동일한 시각면(visual plane)에 렌더링되기에는 스크린이 너무 작을 수 있다. 맵을 CGUI로 덮는 것은 공간 컨텍스트로부터 사용자를 제거한다. 따라서, 핸드헬드 장치를 위한 실시예는, 예를 들어 이용성을 유지하기에 충분한 불투명도를 이용하여 CGUI를 반투명하게 렌더링하지만 맵이 그 아래에 보이도록 유지하여, 사용자를 위한 공간 컨텍스트를 보유할 수 있다.
제4 단계(704)는 제1 온로드 이벤트 핸들러를 실행하는 단계 및 대응하는 문서(즉, 특정된 문서에 대응하는 문서)를 로딩하는 단계를 포함한다. 만약 특정된 문서가 CGUI 문서라면, 대응하는 문서는, 예를 들어 대응하는 맵 레이어 문서이고, 제1 온로드 이벤트 핸들러는 그 대응하는 맵 레이어 문서를 로딩한다. 만약 특정된 문서가 맵 레이어 문서라면, 대응하는 문서는, 예를 들어 대응하는 CGUI 문서이고, 제1 온로드 이벤트 핸들러는 대응하는 CGUI 문서를 로딩한다. 로딩 동작은, 예를 들어 뷰어에 의해 제공되는 loadLayer 또는 loadApp 라이브러리 함수를 통하여 수행된다.
제5 단계(705)는 선택적이고, 제2 온로드 이벤트 핸들러를 실행하는 단계 및 2차 문서를 로딩하는 단계를 포함한다. 만약 콜백 함수가 loadLayer 또는 loadApp 라이브러리 함수에 인수(arguments)로서 제공되면, 이들은 이때 호출된다.
예시적인 일 실시예는 제1 소스 공간 표현으로부터 획득된 긴급 차량의 위치를 제공하는 합성 공간 표현, 또는 합성 공간 표현을 포함하는 공간 지향 애플리케이션이다. 합성 공간 표현은 주기적으로 갱신되어 긴급 차량의 위치를 갱신한다. 제2 및 제3 소스 공간 표현으로부터의 다른 공간 정보 또한 획득되고 합성 공간 표현 내에 포함될 수 있다. 예를 들어, 합성 공간 표현을 포함하는 공간 지향 애플리케이션은 또한 제2 소스 공간 정보로부터 교통 정보를 획득하고, 또한 제3 소스 공간 표현으로부터 긴급 사건의 위치를 획득한다. 행동 요소(스크립트)는 긴급 사건에 대응하기에 최적의 이용가능한 긴급 차량을 계산하고, 긴급 차량의 위치, 긴급 사건의 위치 및 교통 상황을 고려하여 긴급 차량을 위한 최적의 경로를 계산하도록 기능한다.
이 예에서, 제1, 제2 및 제3 소스 공간 표현은 복수의 소스 애플리케이션으로부터의 복수의 소스 공간 표현이다. 합성 공간 표현은 복수의 소스 공간 표현을 조합함으로써 형성된다. 합성 공간 표현은 행동 요소들과 상호작용하도록 동작한다. 예를 들어 합성 공간 표현뿐 아니라 소스 공간 표현이 행동 요소들과 무관한 정보를 포함한다는 점에서, 행동 요소들은 합성 공간 표현과 구별된다. 예를 들어 소스 공간 표현이 소스 애플리케이션 내에서 그러하듯이, 공간 표현은, 예를 들어 행동 요소 없이도 스스로 그 자체로 유용할 수 있다. 행동 요소는 공간 표현의 사용 또는 디스플레이를 위해 필요하지 않을 수 있다. 그러나, 행동 요소는 공간 표현에 가치 또는 유용성을 추가할 수 있다. 이 예에서, 행동 요소는 긴급 사건에 대응하기에 최적의 이용가능한 긴급 차량을 결정하고, 긴급 차량의 위치, 긴급 사건의 위치 및 교통 상황을 고려하여 긴급 차량을 위한 최적의 경로를 결정함으로써 가치 및 유용한 기능을 추가한다. 유용한 기능은 소스 공간 표현들의 조합 또는 오버레이 및 행동 요소들에 의한 공간 표현(즉, 소스 및/또는 합성 공간 표현) 상의 동작에 달려있을 수 있다.
본 발명의 일 실시예의 다른 예는 제1 소스 애플리케이션의 제1 소스 맵 레이어로부터의 별들과 행성들의 디스플레이를 제2 소스 애플리케이션의 제2 소스 맵 레이어로부터의 소행성들의 디스플레이 및 제3 소스 애플리케이션의 소스 공간 표현(예를 들어, 데이터-스트림)으로부터의 궤도를 선회하는(orbiting) 우주 쓰레기에 대한 위치-의존 정보와 조합하여, 지구, 다른 행성들 및 별들과 관련된 소행성들 및 우주 쓰레기의 위치를 보여주거나 포함하는 합성 디스플레이(예를 들어, 전자 맵) 또는 합성 데이터-스트림을 생성하는 것이다. 합성 디스플레이 또는 합성 데이터-스트림은 외부 우주 객체들에 의한 지구 충격에 대해 지구 기반 경고 시스템으로의 입력으로 사용된다.
당업자에 의해 이해되는 바와 같이, 본 발명의 태양들은 시스템, 방법 또는 컴퓨터 프로그램 제품으로 구현될 수 있다. 따라서, 본 발명의 태양들은 전체적으로 하드웨어인 구현, 전체적으로 소프트웨어인 구현(펌웨어, 상주 소프트웨어, 마이크로코드 등을 포함함) 또는 소프트웨어와 하드웨어의 태양을 조합한 구현의 형태를 가질 수 있는데, 이들 모두는 여기서 "회로," "모듈," 또는 "시스템이라고 일반적으로 불릴 수 있다. 더 나아가, 본 발명의 태양들은 컴퓨터 판독가능 프로그램 코드가 내장된 하나 이상의 컴퓨터 판독가능 매체에 내장된 컴퓨터 프로그램 제품의 형태를 가질 수 있다.
하나 이상의 컴퓨터 판독가능 매체의 임의의 조합이 이용될 수 있다. 컴퓨터 판독가능 매체는 컴퓨터 판독가능 신호 매체 또는 컴퓨터 판독가능 저장 매체일 수 있다. 컴퓨터 판독가능 저장 매체는, 예를 들어 전자, 자기, 광학, 전자기, 적외선 또는 반도체 시스템, 기구 또는 장치 또는 이들의 임의의 적합한 조합일 수 있지만, 이에 한정되지는 않는다. 컴퓨터 판독가능 저장 매체의 보다 구체적인 예들(완전하지 않은 리스트)은 다음을 포함할 것이다: 하나 이상의 전선을 갖는 전기적 연결, 휴대용 컴퓨터 디스켓, 하드디스크, 임의 접근 메모리(RAM), 읽기 전용 메모리(ROM), 소거가능 프로그램가능 읽기 전용 메모리(EPROM 또는 플래시 메모리), 광섬유, 휴대용 CD-ROM(compact disc read-only memory), 광학 저장 장치, 자기 저장 장치, 또는 이들의 임의의 적합한 조합. 본 문서의 문맥에서, 컴퓨터 판독가능 저장 매체는 명령어 실행 시스템, 기구 또는 장치에 의해 또는 이들과 함께 사용될 프로그램을 보유 또는 저장할 수 있는 임의의 유형 매체일 수 있다.
컴퓨터 판독가능 신호 매체는, 예를 들어 베이스밴드 내에 또는 반송파의 일부로서 컴퓨터 판독가능 프로그램 코드가 내장된 전파된 데이터 신호(propagated data signal)를 포함할 수 있다. 이러한 전파된 신호는 전자기, 광학, 또는 이들의 임의의 조합을 포함하는 다양한 형태 중 임의의 형태를 가질 수 있지만, 이에 한정되지는 않는다. 컴퓨터 판독가능 신호 매체는 컴퓨터 판독가능 저장 매체가 아니고 명령어 실행 시스템, 기구 또는 장치에 의해 또는 이들과 함께 사용될 프로그램을 전달, 전파 또는 운송할 수 있는 임의의 컴퓨터 판독가능 매체일 수 있다.
컴퓨터 판독가능 매체에 내장된 컴퓨터 코드는 무선, 유선, 광섬유 케이블, RF 등 또는 이들의 임의의 조합을 포함하지만 이에 한정되지는 않는 임의의 적합한 매체를 사용하여 전송될 수 있다.
본 발명의 태양을 위한 동작들을 수행하기 위한 컴퓨터 프로그램 코드는 Java, Smalltalk, C++ 등과 같은 객체 지향 프로그래밍 언어 및 C 프로그래밍 언어 또는 유사한 프로그래밍 언어들과 같은 종래의 절차적 프로그래밍 언어를 포함하는 하나 이상의 프로그래밍 언어의 임의의 조합으로 작성될 수 있다. 프로그램 코드는 전체적으로 사용자의 컴퓨터 상에서, 독립형 소프트웨어 패키지로서 부분적으로 사용자의 컴퓨터 상에서, 부분적으로는 사용자의 컴퓨터 상이고 부분적으로는 원격 컴퓨터 상에서, 또는 전체적으로 원격 컴퓨터 또는 서버 상에서 실행될 수 있다. 후자의 시나리오에서, 원격 컴퓨터는 LAN(local area network) 또는 WAN(wide area network)을 포함하는 임의 유형의 네트워크를 통해 사용자 컴퓨터에 연결될 수 있고, 또는 연결이 (예를 들어, 인터넷 서비스 공급자를 사용하여 인터넷을 통하여) 외부 컴퓨터로 이루어질 수 있다.
본 발명의 태양들이 본 발명의 실시예들에 따른 방법, 기구(시스템) 및 컴퓨터 프로그램 제품의 순서도 및/또는 블록도를 참조하여 아래에 설명된다. 순서도 및/또는 블록도의 각 블록 및 순서도 및/또는 블록도의 블록들의 조합은 컴퓨터 프로그램 명령어에 의해 구현될 수 있다고 이해해야 한다. 이러한 컴퓨터 프로그램 명령어는, 컴퓨터 또는 기타 프로그램가능한 데이터 처리 기구의 프로세서를 통해 실행되는 명령어가 순서도 및/또는 블록도의 블록 또는 블록들에 특정된 기능/동작을 구현하기 위한 수단을 생성하도록, 범용 컴퓨터, 특수 목적 컴퓨터 또는 기타 프로그램가능한 데이터 처리 기구의 프로세서에 제공되어 머신을 생성할 수 있다.
이 컴퓨터 프로그램 명령어는 또한, 컴퓨터 판독가능 매체에 저장된 명령어가 순서도 및/또는 블록도의 블록 또는 블록들에 특정된 기능/동작을 구현하는 명령어를 포함하는 제조물품을 생성하도록, 컴퓨터, 기타 프로그램가능한 데이터 처리 기구 또는 기타 장치로 하여금 특정한 방식으로 기능하도록 지시할 수 있는 컴퓨터 판독가능 매체에 저장될 수 있다.
컴퓨터 프로그램 명령어는 또한 컴퓨터, 기타 프로그램가능한 데이터 처리 기구 또는 기타 장치 상에 로딩되어 일련의 동작 단계가 컴퓨터, 기타 프로그램가능한 기구 또는 기타 장치 상에서 수행되어, 컴퓨터 또는 기타 프로그램가능한 기구 상에서 실행되는 명령어가 순서도 및/또는 블록도의 블록 또는 블록들에 특정된 기능/동작을 구현하기 위한 프로세스를 제공하도록 컴퓨터 구현 프로세스를 생성할 수 있다.
각각 방법들(600 및 700)의 순서도 또는 플로우차트인 도 6 및 7을 다시 참조하면, 도면들의 순서도 및 블록도는 본 발명의 다양한 실시예에 따른 시스템, 방법 및 컴퓨터 프로그램 제품의 가능한 구현들의 구조, 기능 및 동작을 보여준다. 이와 관련하여, 순서도 또는 블록도의 각 블록은 모듈, 세그먼트 또는 코드의 부분을 나타낼 수 있는데, 이는 특정된 논리 함수(들)를 구현하기 위한 하나 이상의 실행가능 명령어를 포함한다. 일부 선택적인 구현에서, 블록에 기재된 기능들은 도면들에 기재된 순서와 다르게 일어날 수 있다. 예를 들어, 연관된 기능에 따라, 연속적으로 도시된 두 블록은 사실 실질적으로 동시에 실행될 수 있거나, 블록들이 때때로 역순으로 실행될 수 있다. 블록도 및/또는 순서도의 각 블록 및 블록도 및/또는 순서도의 블록들의 조합은 특정된 기능 또는 동작을 수행하는 특수 목적 하드웨어-기반 시스템 또는 특수 목적 하드웨어 및 컴퓨터 명령어의 조합에 의해 구현될 수 있다.
따라서, 예를 들어 도 1-7에 도시된 본 발명의 기술들은 또한 여기에 설명되는 바와 같이 별개의 모듈들(예를 들어, 소프트웨어 모듈들)을 포함하는 시스템을 제공하는 것을 포함할 수 있다. 예시적으로, 모듈들은 다음을 포함할 수 있다: 복수의 소스 애플리케이션으로부터 복수의 소스 공간 표현을 획득하도록 구성되는 소스 공간 표현 입수 모듈(source spacial representation procurement module); 상기 복수의 소스 공간 표현을 조합함으로써 합성 공간 표현을 형성하도록 구성되는 합성 공간 표현 형성 모듈; 상기 합성 공간 표현을 제공하도록 구성되는 합성 공간 표현 제공 모듈; 및 상기 복수의 소스 공간 표현 및 상기 합성 공간 표현과 별개인 행동 요소를 제공하도록 구성되는 행동 요소 제공 모듈(여기서, 상기 행동 요소는 상기 복수의 소스 공간 표현 및 상기 합성 공간 표현을 포함하는 일단의 공간 표현들 중 적어도 하나와의 상호작용을 제공함). 모듈들은, 예를 들어 각각 도 6 및 7에 도시된 방법들(600 및 700)의 단계들을 수행하도록 구성될 수 있다.
하나 이상의 실시예는 범용 목적 컴퓨터 또는 워크스테이션 상에서 실행되는 소프트웨어를 이용할 수 있다. 도 8을 참조하면, 이러한 구현은, 예를 들어 프로세서(802), 메모리(804), 및 입력/출력 인터페이스(예를 들어, 디스플레이(806) 및 키보드(808)에 의해 형성됨)를 이용한다. 여기에 사용된 "프로세서"라는 용어는, 예를 들어 CPU(central processing unit) 및/또는 다른 형태의 처리 회로를 포함하는 것과 같은 임의의 처리 장치를 포함하도록 의도되었다. 나아가, "프로세서"라는 용어는 하나 이상의 개별 프로세서를 지칭할 수 있다. "메모리"라는 용어는, 예를 들어 RAM(random access memory), ROM(read only memory), 고정 메모리 장치(예를 들어, 하드드라이브), 이동식 메모리 장치(예를 들어, 디스켓), 플래시 메모리 등과 같은 프로세서 또는 CPU와 연관된 메모리를 포함하도록 의도되었다. 추가로, 여기에 사용된 "입력/출력 인터페이스"라는 표현은, 예를 들어 데이터를 처리 장치에 입력하기 위한 하나 이상의 메커니즘(예를 들어, 키보드 또는 마우스), 및 처리 장치와 연관된 결과를 제공하기 위한 하나 이상의 메커니즘(예를 들어, 디스플레이 또는 프린터)를 포함하도록 의도되었다. 프로세서(802), 메모리(804) 및 디스플레이(806)와 키보드(808)와 같은 입력/출력 인터페이스는, 예를 들어 버스(810)를 통하여 데이터 처리 장치(812)의 일부로서 상호연결될 수 있다. 예를 들어 버스(810)를 통한 적합한 상호연결은 또한 컴퓨터 네트워크와의 인터페이스 연결을 위해 제공될 수 있는 네트워크 카드와 같은 네트워크 인터페이스(814)에 제공될 수 있고, 미디어(818)와의 인터페이스 연결을 위해 제공될 수 있는 디스켓 또는 CD-ROM 드라이브와 같은 미디어 인터페이스(816)에 제공될 수 있다.
프로그램 코드를 저장 및/또는 실행하기에 적합한 데이터 처리 시스템은 시스템 버스(810)를 통하여 메모리 요소(804)에 직접적으로 또는 간접적으로 결합되는 적어도 하나의 프로세서(802)를 포함할 수 있다. 메모리 요소는 프로그램 코드의 실제 실행 과정에서 사용되는 로컬 메모리, 벌크 저장소, 및 실행 중에 코드가 벌크 저장소로부터 검색되어야 하는 횟수를 감소시키기 위해 적어도 일부 프로그램 코드의 일시적 저장을 제공하는 캐시 메모리를 포함할 수 있다.
입력/출력 또는 I/O 장치(키보드(808), 디스플레이(806), 포인팅 장치 등을 포함하지만 이에 한정되지는 않음)는 직접(버스(810) 등을 통하여) 또는 중간의 I/O 컨트롤러(명확성을 위해 생략)를 통하여 시스템에 결합될 수 있다.
네트워크 인터페이스(814)와 같은 네트워크 어댑터가 또한 시스템에 연결되어 데이터 처리 시스템이 중간의 사설 또는 공중 네트워크를 통하여 다른 데이터 처리 시스템 또는 원격 프린터 또는 저장 장치에 연결되도록 할 수 있다. 모뎀, 케이블 모뎀 및 이더넷 카드는 네트워크 어댑터의 현재 이용가능한 유형 중 단지 일부에 불과하다.
특허청구범위를 포함하여 여기에 사용된 "서버"는 서버 프로그램을 실행하는 물리적 데이터 처리 시스템(예를 들어, 도 8에 도시된 시스템(812))을 포함한다. 이러한 물리적 서버는 디스플레이 및 키보드를 포함하거나 포함하지 않을 수 있다.
위에서 설명된 본 발명의 예시적인 실시예들은 다수의 상이한 방식으로 구현될 수 있다. 여기에 제공되는 본 발명의 교시에 의해, 관련 분야의 당업자는 본 발명의 다른 구현을 생각해낼 수 있을 것이다. 정말로, 비록 본 발명의 예시적인 실시예들이 첨부된 도면을 참조하여 여기에 설명되었지만, 본 발명은 그 정확한 실시예들에 한정되지 않는 것으로 이해되어야 하고, 본 발명의 사상 및 범위를 벗어나지 않고 당업자에 의해 다양한 다른 변경 또는 수정이 이루어질 수 있다고 이해되어야 한다.
101 : 맵 뷰어
102 : 맵 애플리케이션
103 : 저장 장치
105 : 소스 애플리케이션
113 : 렌더링 스타일
114 : 레이어 스크립트
120 : 뷰어 스크립트
130 : 이벤트와 상호작용에 의해서 구동되는 스크립트 실행 블록
150 : CGUI 컨트롤
160 : 레이어 렌더링 블록
170 : CGUI 렌더링 블록
180 : 애플리케이션 매니저

Claims (10)

  1. 합성 공간 표현(composite spatial representation)을 생성하는 방법으로서,
    복수의 소스 애플리케이션(plurality of source applications)으로부터 복수의 소스 공간 표현을 획득하는 단계; 및
    상기 복수의 소스 공간 표현을 결합하는 것에 의해 상기 합성 공간 표현을 형성하는 단계 - 상기 합성 공간 표현은 상기 합성 공간 표현과 분리된 적어도 하나의 행동 요소(behavioral element)와 상호작용하도록 작동함(operative) -
    를 포함하고,
    상기 복수의 소스 공간 표현을 획득하는 단계와 상기 합성 공간 표현을 형성하는 단계는 프로세서 및 메모리를 포함하는 컴퓨팅 시스템 상에서 실행되고, 상기 복수의 소스 공간 표현을 획득하는 단계와 상기 합성 공간 표현을 형성하는 단계를 구현하기 위한 하나 이상의 컴퓨터 프로그램 명령어는 상기 메모리로부터 획득되고 상기 프로세서에 의해서 실행되는, 방법.
  2. 제1항에 있어서, 상기 적어도 하나의 행동 요소는 사용자가 상기 합성 공간 표현을 관측(viewing)하는 것에 응답하여 컴파일 및 실행 중 적어도 하나를 수행하도록 구성되는 하나 이상의 소프트웨어 스크립트(software scripts)를 포함하는, 방법.
  3. 제1항에 있어서, 상기 적어도 하나의 행동 요소는 사용자에 의한 형성 및 원격 소스로부터의 획득 중 적어도 하나에 의한 하나 이상의 소프트웨어 스크립트를 포함하고, 상기 방법은 상기 사용자가 상기 합성 공간 표현을 관측하도록 작동하는, 방법.
  4. 제1항에 있어서, 상기 적어도 하나의 행동 요소는 상기 복수의 소스 공간 표현, 및 상기 합성 공간 표현 중 적어도 하나 상에서 작동하는 소프트웨어 코드를 포함하는, 방법.
  5. 제1항에 있어서, 상기 적어도 하나의 행동 요소는 연산(computation), 사용자 상호작용 및 이벤트에 의해 구동되는 상호작용(event-driven interaction) 중 적어도 하나에 의해 상기 합성 공간 표현과 상호작용하는, 방법.
  6. 제1항에 있어서, 상기 적어도 하나의 행동 요소는, 상기 복수의 소스 공간 표현 및 상기 합성 공간 표현 중 적어도 하나의 장식, 공간 피쳐, 선언적 요소(declarative element), 장식, 콘텐츠 및 구조 중 적어도 하나 상에서 작동하는, 방법.
  7. 제1항에 있어서, 상기 적어도 하나의 행동 요소는 상기 합성 공간 표현을 포함하는 공간 지향 애플리케이션(spatially oriented application)과 상기 합성 공간 표현을 수신하는 다운스트림 서비스(downstream service) 중 적어도 하나에 의해 실행되도록 구성되는, 방법.
  8. 합성 공간 표현을 생성하기 위한 장치로서,
    메모리; 및
    상기 메모리에 결합된 프로세서
    를 포함하고,
    상기 프로세서는
    복수의 소스 애플리케이션으로부터 복수의 소스 공간 표현을 획득하고,
    상기 복수의 소스 공간 표현을 결합하는 것에 의해서 상기 합성 공간 표현을 형성하도록 작동하며, 상기 합성 공간 표현은 상기 합성 공간 표현과 분리된 적어도 하나의 행동 요소와 상호작용하도록 작동하는, 장치.
  9. 프로세서 장치 상에 구현되고, 합성 공간 표현을 생성하기 위한 시스템으로서,
    복수의 소스 애플리케이션으로부터 복수의 소스 공간 표현을 획득하도록 작동하는 소스 공간 표현 입수 모듈(source spacial representation procurement module); 및
    상기 복수의 소스 공간 표현을 결합하는 것에 의해 상기 합성 공간 표현을 형성하도록 작동하는 합성 공간 표현 형성 모듈(composite spatial representation formation module)
    을 포함하고,
    상기 합성 공간 표현은 상기 합성 공간 표현으로부터 분리된 적어도 하나의 행동 요소와 상호작용하도록 작동하고, 상기 소스 공간 표현 입수 모듈과 상기 합성 공간 표현 형성 모듈은 상기 프로세서 장치 상에 구현되는, 시스템.
  10. 합성 공간 표현을 생성하기 위한 컴퓨터 판독가능 프로그램 코드를 포함하는 컴퓨터 판독가능 저장매체로서,
    상기 컴퓨터 판독가능 프로그램 코드는,
    프로세서 장치를 사용하여, 복수의 소스 애플리케이션으로부터 복수의 소스 공간 표현을 획득하고,
    상기 프로세서 장치를 사용하여, 상기 복수의 소스 공간 표현을 결합하는 것에 의해 상기 합성 공간 표현을 형성하도록 구성된 컴퓨터 판독가능 프로그램 코드를 포함하고,
    상기 합성 공간 표현은 상기 합성 공간 표현으로부터 분리된 적어도 하나의 행동 요소와 상호작용하도록 작동하는,
    컴퓨터 판독가능 저장매체.
KR1020100080363A 2009-09-30 2010-08-19 합성 공간 표현의 생성 KR101171566B1 (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US12/570,638 2009-09-30
US12/570,638 US9092887B2 (en) 2009-09-30 2009-09-30 Generation of composite spatial representations

Publications (2)

Publication Number Publication Date
KR20110035851A KR20110035851A (ko) 2011-04-06
KR101171566B1 true KR101171566B1 (ko) 2012-08-06

Family

ID=43779804

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020100080363A KR101171566B1 (ko) 2009-09-30 2010-08-19 합성 공간 표현의 생성

Country Status (3)

Country Link
US (1) US9092887B2 (ko)
KR (1) KR101171566B1 (ko)
CN (1) CN102033902A (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140132861A1 (en) * 2010-05-31 2014-05-15 Wintek Corporation Touch panel and touch-sensitive display device
US9349142B2 (en) 2013-10-09 2016-05-24 Ebay Inc. Reflow of data presentation using tracking data
US10515100B2 (en) * 2014-09-25 2019-12-24 School Maps Online Llc Systems and methods for interactive boundary mapping
US10244060B2 (en) * 2015-11-02 2019-03-26 International Business Machines Corporation Determining seeds for targeted notifications through online social networks in conjunction with user mobility data
KR102077394B1 (ko) * 2018-06-28 2020-02-13 한국과학기술원 도면 중첩식 가상 공간 설계 방법 및 시스템

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090172511A1 (en) 2007-12-26 2009-07-02 Alexander Decherd Analysis of time-based geospatial mashups using AD HOC visual queries
US20090300528A1 (en) 2006-09-29 2009-12-03 Stambaugh Thomas M Browser event tracking for distributed web-based processing, spatial organization and display of information

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2777698B2 (ja) 1994-07-28 1998-07-23 日本アイ・ビー・エム株式会社 情報検索システム及び方法
US6038566A (en) 1996-12-04 2000-03-14 Tsai; Daniel E. Method and apparatus for navigation of relational databases on distributed networks
US5966707A (en) 1997-12-02 1999-10-12 International Business Machines Corporation Method for managing a plurality of data processes residing in heterogeneous data repositories
US8397177B2 (en) * 1999-07-22 2013-03-12 Tavusi Data Solutions Llc Graphic-information flow method and system for visually analyzing patterns and relationships
US8843850B2 (en) * 1999-07-22 2014-09-23 Tavusi Data Solutions Llc Graphic-information flow for visually analyzing patterns and relationships
US6307573B1 (en) * 1999-07-22 2001-10-23 Barbara L. Barros Graphic-information flow method and system for visually analyzing patterns and relationships
CN1504871A (zh) * 2002-11-28 2004-06-16 麦士威(香港)电子技术有限公司 一种导航用电子地图的图层自动抛分方法
JP2004192155A (ja) 2002-12-09 2004-07-08 Justec:Kk 地図情報提供方法、地図情報提供システム、及びコンピュータ読取可能なプログラム
US7925982B2 (en) * 2006-09-01 2011-04-12 Cheryl Parker System and method of overlaying and integrating data with geographic mapping applications
US20080109761A1 (en) * 2006-09-29 2008-05-08 Stambaugh Thomas M Spatial organization and display of travel and entertainment information
US20080104531A1 (en) * 2006-09-29 2008-05-01 Stambaugh Thomas M Spatial organization and display of enterprise operational integration information
US20080172632A1 (en) * 2006-09-29 2008-07-17 Stambaugh Thomas M Distributed web-based processing, spatial organization and display of information
CN100547594C (zh) * 2007-06-27 2009-10-07 中国科学院遥感应用研究所 一种数字地球原型系统
US20090027418A1 (en) * 2007-07-24 2009-01-29 Maru Nimit H Map-based interfaces for storing and locating information about geographical areas
US20090299990A1 (en) * 2008-05-30 2009-12-03 Vidya Setlur Method, apparatus and computer program product for providing correlations between information from heterogenous sources

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090300528A1 (en) 2006-09-29 2009-12-03 Stambaugh Thomas M Browser event tracking for distributed web-based processing, spatial organization and display of information
US20090172511A1 (en) 2007-12-26 2009-07-02 Alexander Decherd Analysis of time-based geospatial mashups using AD HOC visual queries

Also Published As

Publication number Publication date
US9092887B2 (en) 2015-07-28
US20110074767A1 (en) 2011-03-31
KR20110035851A (ko) 2011-04-06
CN102033902A (zh) 2011-04-27

Similar Documents

Publication Publication Date Title
Yu et al. A framework for rapid integration of presentation components
Ceri et al. Model-driven development of context-aware web applications
KR101292401B1 (ko) 풍부한 데이터 바인딩된 애플리케이션
US8527939B2 (en) GUI modeling of knowledge base in a modeling environment
US8166396B2 (en) User interface rendering
KR100986415B1 (ko) 커맨드 바인딩을 수행하기 위한 데이터-바인딩 매카니즘의 애플리케이션
US20100161713A1 (en) Method and system for personalizing a desktop widget
US8392877B1 (en) System and method of application development using replaceable self-contained components (RSCCS)
US7840937B1 (en) Building software components
US7756905B2 (en) System and method for building mixed mode execution environment for component applications
US8312450B2 (en) Widgetizing a web-based application
US20070226314A1 (en) Server-based systems and methods for enabling interactive, collabortive thin- and no-client image-based applications
JP5697661B2 (ja) プラットフォームの拡張性フレームワーク
US8930441B2 (en) Architecture for modeled pattern based user interfaces
US20140047409A1 (en) Enterprise application development tool
CN114510231A (zh) 应用构建方法、装置、设备及计算机可读存储介质
KR101171566B1 (ko) 합성 공간 표현의 생성
CN104798067A (zh) Web服务器系统、辞典系统、辞典调用方法、画面控件显示方法以及演示应用生成方法
Desruelle et al. Accessible user interface support for multi-device ubiquitous applications: architectural modifiability considerations
US20120030581A1 (en) Mashup Component Framework for Business Enterprise User Interfaces
Qi et al. An extension mechanism to verify, constrain and enhance geoprocessing workflows invocation
US20060041623A1 (en) Method and system to trigger an activity associated with a user interface element on a web page
US20050193001A1 (en) Client-side wizard framework
Johansson et al. Introduction to computing with python
WO2012040312A1 (en) General map web interface

Legal Events

Date Code Title Description
A201 Request for examination
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee