KR20140094028A - 할일 목록 기반 내비게이션을 위한 방법, 시스템, 및 디바이스 - Google Patents

할일 목록 기반 내비게이션을 위한 방법, 시스템, 및 디바이스 Download PDF

Info

Publication number
KR20140094028A
KR20140094028A KR1020147017746A KR20147017746A KR20140094028A KR 20140094028 A KR20140094028 A KR 20140094028A KR 1020147017746 A KR1020147017746 A KR 1020147017746A KR 20147017746 A KR20147017746 A KR 20147017746A KR 20140094028 A KR20140094028 A KR 20140094028A
Authority
KR
South Korea
Prior art keywords
determining
vehicle computing
computing device
tasks
computing system
Prior art date
Application number
KR1020147017746A
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 KR20140094028A publication Critical patent/KR20140094028A/ko

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/343Calculating itineraries, i.e. routes leading from a starting point to a series of categorical destinations using a global route restraint, round trips, touristic trips
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3605Destination input or retrieval
    • G01C21/362Destination input or retrieval received from an external device or application, e.g. PDA, mobile phone or calendar application
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/38Electronic maps specially adapted for navigation; Updating thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Automation & Control Theory (AREA)
  • Human Resources & Organizations (AREA)
  • Strategic Management (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Navigation (AREA)

Abstract

할일 목록 기반 내비게이션을 위한 방법, 시스템, 및 디바이스는 할일 목록으로부터 완료될 태스크들의 선택을 식별하는 것을 포함한다. 상기 선택된 태스크들은 내비게이션 데이터 및 상기 선택된 태스크들의 각각과 관련된 컨텍스트 데이터에 기초하여 우선순위 설정되거나 순서화됨으로써, 상기 선택된 태스크들을 완료하기 위한 트립 플랜(trip plan)을 전개할 수 있다. 상기 컨텍스트 데이터는 상기 선택된 태스크들 중의 하나 이상과 관련된 제약사항 데이터와 같은 속성들을 포함할 수 있다. 몇몇 실시예들에서, 현재의 태스크에 대한 상태 업데이트가 주기적으로 또는 간헐적으로 하나 이상의 모바일 컴퓨팅 디바이스들에게 전달될 수 있으며, 이에 의해 모바일 컴퓨팅 디바이스의 사용자에게 현재의 태스크 완료 상태를 통지할 수 있다.

Description

할일 목록 기반 내비게이션을 위한 방법, 시스템, 및 디바이스{METHOD, SYSTEM, AND DEVICE FOR TO-DO-LIST BASED NAVIGATION}
차량내 내비게이션 시스템들은 목적지 위치에 기초하여 차량의 운전자에게 비주얼 내비게이션을 제공한다. 이를 위하여, 통상의 차량내 내비게이션 시스템은 현재의 차량 위치를 결정하기 위한 GPS(global positioning system) 내비게이션 디바이스를 포함한다. 또한, 차량내 내비게이션 시스템은 시스템에 저장된 로드맵 데이터베이스(roadmap database)를 유지한다. 이 로드맵은 차량의 운전자에게 디스플레이될 수 있으며, 차량의 현재 위치가 로드맵 상에 시각적으로 표시될 수 있다. 차량내 내비게이션 시스템은 로드맵 데이터베이스를 사용하여 현재의 위치로부터 목적지 위치까지의 경로를 계산하며, 여행 동안에 추가의 내비게이션을 제공할 수도 있다.
할일 목록들은 개인이 완료하기를 소망하는 각종 태스크들을 기억하기 위하여 개개인들에 의해 생성 및 유지된다. 과거에는, 할일 목록들이 물리적 매체, 예를 들어 종이, 노트, 건식 보드판 등에 의해 물리적으로 유지되었다. 그러나, 요즘에는, 다수의 소비자 디바이스들이 개인용, 디지털 할일 목록들을 생성 및 유지관리하기 위한 기능을 포함하고 있다. 디지털 할일 목록들은 사용자가 열거되어 있는 할일 목록에서 태스크들의 완료에 관한 진행상황을 수동으로 추적할 수 있게 한다.
본 명세서에 기술된 발명은 예시를 위해 도시되며, 첨부 도면들에 대한 한정을 위해 도시되는 것은 아니다. 설명의 간략성 및 명확성을 위해, 도면들에 도시된 엘리먼트들은 반드시 비율대로 도시된 것은 아니다. 예를 들어, 명확성을 위해 일부의 엘리먼트들의 치수들은 그외의 엘리먼트들에 대하여 과장될 수 있다. 또한, 적절한 경우에 있어서, 도면에서 대응하는 또는 유사한 엘리먼트들이 동일한 참조 라벨들로 표시된다.
도 1은 할일 목록 기반 내비게이션을 제공하는 시스템의 적어도 일 실시예의 단순 블록도이다.
도 2는 도 1의 시스템의 모바일 컴퓨팅 디바이스의 적어도 일 실시예에 대한 단순 블록도이다.
도 3은 도 1의 시스템의 차량내 컴퓨팅 시스템의 소프트웨어 환경의 적어도 일 실시예에 대한 단순 블록도이다.
도 4는 도 2의 모바일 컴퓨팅 디바이스의 소프트웨어 환경의 적어도 일 실시예에 대한 단순 블록도이다.
도 5는 할일 목록 기반 내비게이션을 제공하는 방법의 적어도 일 실시예에 대한 단순 흐름도이다.
도 6은 도 1의 디바이스들에 걸쳐 할일 목록들을 동기화하는 방법의 적어도 일 실시예의 단순 흐름도이다.
도 7은 할일 목록의 태스크들의 선택을 완료하기 위하여 트립 플랜(trip plan)을 생성하는 방법의 적어도 일 실시예에 대한 단순 흐름도이다.
도 8은 모바일 컴퓨팅 디바이스의 사용자와의 랑데뷰(rendezvous)를 조정하는 방법의 적어도 일 실시예에 대한 단순 흐름도이다.
본 발명의 개념들은 다양한 변경들 및 대안의 형태들이 가능하지만, 그 특정한 예시적인 실시예들이 도면에서 예시를 위해 도시되었으며, 본 명세서에서 상세하게 설명된다. 그러나, 본 발명의 개념들을 개시된 특정한 형태들로 한정하도록 의도하는 것은 아니며, 반대로 첨부된 청구범위에 의해 정의된 바와 같이, 본 발명의 사상 및 범주 내에 존재하는 모든 변경들, 등가물들 및 대안들을 포함하고자하는 의도라는 것을 이해해야 한다.
이하의 설명에서, 로직 구현들, 옵코드들(opcodes), 오퍼랜드들(operands)을 특정하는 수단, 리소스 분할/공유/복사 구현들, 시스템 컴포넌트들의 유형들과 상호관련성들 및 로직 분할/집적 선택들 등의 다수의 특정한 세부사항들은, 본 발명의 더 완전한 이해를 제공하기 위해 설명될 수 있다. 그러나, 당업자라면 그러한 특정한 세부사항들 없이도 본 개시의 실시예들을 실시할 수 있다는 것을 인식할 것이다. 그외의 경우들에서, 제어 구조들, 게이트 레벨 회로들 및 풀 소프트웨어 인스트럭션 시퀀스들은, 본 개시를 불명확하게 하지 않기 위해 상세하게 도시되지 않을 수 있다. 포함된 설명들을 통해, 당업자는 과도한 실험 없이 적절한 기능을 구현할 수 있을 것이다.
본 명세서의 "일 실시예", "실시예", "예시적인 실시예" 등의 문구들은, 설명된 실시예가 특정한 특징, 구조 또는 특성을 포함할 수 있지만, 모든 실시예가 반드시 해당 특정한 특징, 구조 또는 특성을 포함해야 하는 것은 아니라는 것을 나타낸다. 또한, 그 구문들은 반드시 동일한 실시예를 나타내는 것은 아니다. 또한, 특정한 특징, 구조, 또는 특성이 일 실시예와 관련하여 설명되는 경우, 명시적으로 설명되어 있지 않더라도, 당업자라면 그외의 실시예들과 관련하여 그러한 특징, 구조 또는 특성을 유효하게 할 수 있다.
본 발명의 실시예들은 하드웨어, 펌웨어, 소프트웨어, 또는 그들의 임의의 조합으로 구현될 수 있다. 컴퓨터 시스템에 구현된 본 발명의 실시예들은, 컴포넌트들 사이의 하나 이상의 버스 기반의(bus-based) 상호접속들 및/또는 컴포넌트들 사이의 하나 이상의 점대점(point-to-point) 상호접속들을 포함할 수 있다. 또한, 본 발명의 실시예들은, 하나 이상의 프로세서에 의해 판독되고 실행될 수 있는 일시적 또는 비일시적 머신 판독가능한(machine-readable) 매체에 의해 전달되는 또는 그에 저장되는 인스트럭션들로서 구현될 수 있다. 머신 판독가능한 매체는, 머신(예를 들어, 컴퓨팅 디바이스)에 의해 판독가능한 형태의 정보를 기억하거나 또는 송신하기 위한 임의의 디바이스, 메커니즘, 또는 물리적 구조로서 구현될 수 있다. 예를 들어, 머신 판독가능한 매체는 ROM(read only memory); RAM(random access memory); 자기 디스크 저장 매체; 광 저장 매체; 플래시 메모리 디바이스들; 미니-SD 카드 또는 마이크로-SD 카드, 메모리 스틱들, 전기 신호들, 및 그 밖의 것들로서 구현될 수 있다.
도면들에서, 디바이스들, 모듈들, 인스트럭션 블록들 및 데이터 요소들과 같은, 개략 요소들의 특정 배열 또는 순서는, 설명의 편의를 위해 도시될 수 있다. 그러나, 도면들 내의 개략적 요소들의 특정 순서나 배열은, 특정한 처리의 순서나 시퀀스 또는 처리의 분리가 필요하다는 것을 의미하는 것이 아님을 당업자는 이해해야 한다. 또한, 도면에서 개략적 요소의 포함은, 이러한 요소가 모든 실시예들에서 필요하다거나, 이러한 요소에 의해 나타난 특징이 일부 실시예들에서의 다른 요소들에 포함될 수 없다거나 조합될 수 없다는 것을 의미하는 것이 아니다.
일반적으로, 인스트럭션 블록들을 나타내는데 사용되는 개략적 요소들은, 임의의 적절한 형태의 머신 판독가능한 인스트럭션, 예를 들어 소프트웨어 또는 펌웨어 애플리케이션, 프로그램, 함수, 모듈, 루틴, 프로세스, 절차, 플러그-인, 애플릿, 위젯, 코드 조각 및/또는 그 밖의 것들을 사용하여 구현될 수 있으며, 각각의 이러한 인스트럭션은 임의의 적절한 프로그래밍 언어, 라이브러리, API(application programming interface), 및/또는 그 밖의 소프트웨어 개발 툴을 사용하여 구현될 수 있다. 예를 들어, 일부 실시예들은 Java, C++, 및/또는 그 밖의 프로그래밍 언어들을 사용하여 구현될 수 있다. 마찬가지로, 데이터 또는 정보를 나타내는데 사용되는 개략적 요소들도 임의의 적절한 전자 구성이나 구조, 예를 들어 레지스터, 데이터 저장소, 테이블, 레코드, 배열, 인덱스, 해시, 맵, 트리,리스트, 그래프, 파일(임의의 파일 타입), 폴더, 디렉토리, 데이터베이스 및/또는 그 밖의 것들을 이용하여 구현될 수 있다.
또한, 도면들에서, 실선이나 점선 또는 화살표들과 같은 연결 요소들이 사용되어 2개 이상의 다른 개략적 요소들 간의 연결, 관계 또는 연관성을 도시하고 있지만, 이러한 연결 요소들의 부재가 어떤 연결, 관계 또는 연관성이 존재하지 않는다는 것을 의미하지 않는다. 즉, 요소들 간의 몇몇 연결들, 관계들 또는 연관성들은 본 발명을 모호하게 하지 않기 위하여 도면에 나타나지 않을 수도 있다. 또한, 도시의 편의를 위해, 요소들 간의 복수의 연결들, 관계들 또는 연관성들을 나타내기 위하여 단일의 연결 요소가 사용될 수 있다. 예를 들어, 연결 요소가 신호들, 데이터 또는 인스트럭션들의 통신을 나타내는 경우, 이러한 요소가 그 통신에 영향을 미치는데 필요할 수 있는 하나 또는 복수의 신호 경로들(예컨대, 버스)을 나타낼 수 있음을 당업자는 이해해야할 것이다.
이제 도 1을 참조하면, 할일 목록 기반 내비게이션을 제공하는 시스템(100)은 차량(104)에 통합되거나 위치되는 차량내 컴퓨팅 시스템(102) 및 하나 이상의 모바일 컴퓨팅 디바이스들(106)을 포함한다. 또한, 몇몇 실시예들에서, 시스템(100)은 차량내 컴퓨팅 시스템(102) 및/또는 모바일 컴퓨팅 디바이스들(106)이 네트워크(108)를 통해 통신가능한 목록 서버(110)를 포함할 수 있다. 사용 시에, 아래에서 더 상세히 논의되는 바와 같이, 차량내 컴퓨팅 시스템(102)은 차량내 컴퓨팅 시스템(102)에 의해 유지되어 있는 할일 목록으로부터 선택된 하나 이상의 태스크들에 기초하여 차량(104)의 운전자에게 내비게이션을 제공한다. 즉, 차량내 컴퓨팅 시스템(102)에 의해 제공되는 내비게이션이 소망하는 목적지 위치에만 기초하는 것이 아니라, 선택된, 완료될 태스크들에 기초하게 된다. 따라서, 차량내 컴퓨팅 시스템(102)은 태스크들의 목적지 위치, 그 태스크들과 관련된 컨텍스트 데이터, 및/또는 그 밖의 기준에 기초하여 태스크들의 우선순위를 설정하거나 순서화할 수 있다. 태스크들의 우선순위 설정은 선택된 태스크들을 완료하는데 필요한 전체 드라이브 시간을 감소시키고, 태스크들을 완료하기 위하여 이동되는 전체 거리를 감소시키며/거나, 컨텍스트 데이터의 소정 제약사항들을 만족시키도록 결정될 수 있다(예를 들어, 컨텍스트 데이터는 태스크가 소정 날짜까지 또는 소정 시간 이내에 완료되어야 함을 표시할 수 있음).
차량내 컴퓨팅 시스템(102)에 "마스터" 할일 목록이 유지되며, 마스터 할일 목록에 포함된 개별 태스크들이 차량내 컴퓨팅 시스템(102)을 통해 또는 모바일 컴퓨팅 디바이스들(106)을 통해 입력될 수 있다. 즉, 아래에서 더 상세히 논의되는 바와 같이, 각각의 모바일 컴퓨팅 디바이스들(106)은 할일 목록 서버(110)를 경유하여 또는 네트워크(108)를 통하거나 다이렉트로, 차량내 컴퓨팅 시스템(102)에 의해 유지되고 있는 할일 목록과 주기적으로 또는 반응적으로 동기화될 수 있는 태스크들을 포함하는 로컬 할일 목록을 유지할 수 있다. 또한, 사용 동안에, 차량내 컴퓨팅 시스템(102)은 모바일 컴퓨팅 디바이스들(106) 중의 하나 이상과 통신하여 현재의 태스크 완료 진행상황에 관한 상태 업데이트들을 제공하고, 랑데뷰 포인트(rendezvous point)를 협상하고/하거나, 아래에 더 상세하게 논의되는 바와 같은 다른 기능을 가능하게 할 수 있다.
차량내 컴퓨팅 시스템(102)은 본 명세서에 기술되는 기능들을 수행가능한 임의 타입의 차량 컴퓨팅 시스템으로서 구현될 수 있다. 예를 들어, 차량내 컴퓨팅 시스템(102)은 차량내 내비게이션 시스템, 독립형(stand-alone) 내비게이션 시스템, 차량내 인포테인먼트 시스템(infotainment system), 또는 그 일부로서 구현될 수 있다. 도 1의 예시적 실시예에서, 차량내 컴퓨팅 시스템(102)은 프로세서(120), I/O 서브시스템(126), 메모리(128), 통신 회로(130), 내비게이션 회로(132), 데이터 스토리지(134), 및 하나 이상의 주변 디바이스들(136)을 포함한다. 몇몇 실시예들에서, 전술한 컴포넌트들 중의 몇몇은 차량내 컴퓨팅 시스템(102)의 마더보드에 통합될 수 있으며, 다른 컴포넌트들은 예를 들어, 주변 포트를 통하여 마더보드에 통신가능하게 연결될 수 있다. 또한, 차량내 컴퓨팅 시스템(102)은 그 밖의 컴포넌트들, 서브-컴포넌트들, 및 컴퓨터 및/또는 내비게이션 시스템에서 일반적으로 발견되는 디바이스들을 포함할 수 있음이 인식되어야 하며, 설명의 명확화를 위해 도 1에는 이들이 도시되어 있지 않다.
차량내 컴퓨팅 시스템(102)의 프로세서(120)는 소프트웨어/펌웨어, 예를 들어 마이크로프로세서, 디지털 신호 프로세서, 마이크로컨트롤러를 실행가능한 임의 타입의 프로세서로서 구현될 수 있다. 프로세서(120)는 프로세서 코어(122)를 구비한 단일 코어 프로세서로서 예시적으로 구현되어 있다. 그러나, 다른 실시예들에서, 프로세서(120)는 복수의 프로세서 코어들(122)을 구비한 멀티-코어 프로세서로서 구현될 수 있다. 또한, 차량내 컴퓨팅 시스템(102)은 하나 이상의 프로세서 코어들(122)을 구비한 추가의 프로세서들(120)을 포함할 수도 있다.
차량내 컴퓨팅 시스템(102)의 I/O 서브시스템(126)은 차량내 컴퓨팅 시스템(102)의 프로세서(120) 및/또는 다른 컴포넌트들과의 입/출력 동작들을 가능하게 하는 회로 및/또는 컴포넌트들로서 구현될 수 있다. 몇몇 실시예들에서, I/O 서브시스템(126)은 메모리 컨트롤러 허브(MCH 또는 "노스브리지"), 입/출력 컨트롤러 허브(ICH 또는 "사우스브리지"), 및 펌웨어 디바이스로서 구현될 수 있다. 이러한 실시예들에서, I/O 서브시스템(126)의 펌웨어 디바이스는 기본 입/출력 시스템(BIOS) 데이터 및/또는 인스트럭션들 및/또는 그 밖의 정보를 저장하는 메모리 디바이스(예컨대, 차량내 컴퓨팅 시스템(102)의 부팅 동안에 사용되는 BIOS 드라이버)로서 구현될 수 있다. 그러나, 다른 실시예들에서는, 다른 구성들을 가진 I/O 서브시스템들이 사용될 수도 있다. 예를 들어, 몇몇 실시예들에서, I/O 서브시스템(126)은 플랫폼 컨트롤러 허브(PCH)로서 구현될 수 있다. 이러한 실시예들에서는, 메모리 컨트롤러 허브(MCH)가 프로세서(120)에 통합되거나 그것과 연동될 수 있으며, 프로세서(120)는 메모리(128)와 다이렉트로 통신할 수도 있다(도 1에서 파선으로 표시). 또한, 다른 실시예들에서, I/O 서브시스템(126)은 시스템 온칩(SoC)의 일 부분을 형성할 수 있으며, 차량내 컴퓨팅 시스템(102)의 프로세서(120) 및 그 밖의 컴포넌트들과 함께, 단일 집적 회로 칩에 통합될 수도 있다.
프로세서(120)는 다수의 신호 경로들을 통하여 I/O 서브시스템(126)에 통신가능하게 연결되어 있다. 이들 신호 경로들(및 도 1에 도시된 다른 신호 경로들)은 차량내 컴퓨팅 시스템(102)의 컴포넌트들 간의 통신을 가능하게 할 수 있는 임의 타입의 신호 경로들로서 구현될 수 있다. 예를 들어, 신호 경로들은 임의의 개수의 와이어, 케이블, 광 가이드, 인쇄회로기판 트레이스, 비아, 버스, 개재 디바이스(intervening devices), 점대점 상호접속들, 및/또는 그런 종류의 다른 것으로서 구현될 수 있다.
차량내 컴퓨팅 시스템(102)의 메모리(128)는 예를 들어, DRAM(dynamic random access memory devices), SDRAM(synchronous dynamic random access memory devices), DDR SDRAM(double-data rate synchronous dynamic random access memory device), 마스크 ROM(read-only memory) 디바이스들, EPROM(erasable programmable ROM), EEPROM(electrically erasable programmable ROM) 디바이스들, 플래시 메모리 디바이스들, 및/또는 그 밖의 휘발성 및/또는 비휘발성 메모리 디바이스들을 포함하는, 하나 이상의 메모리 디바이스들 또는 데이터 저장 위치들로서 구현되거나 포함할 수 있다. 메모리(128)는 다수의 신호 경로들을 통해 I/O 서브시스템(126)에 통신가능하게 연결되어 있다. 비록 도 1에는 단일의 메모리 디바이스(128)만이 도시되어 있지만, 다른 실시예들에서 차량내 컴퓨팅 시스템(102)은 추가의 메모리 디바이스들을 포함할 수도 있다. 메모리 디바이스(128)에는 각종 데이터 및 소프트웨어가 저장될 수 있다. 예를 들어, 프로세서(120)에 의해 실행되는 소프트웨어 스택을 구성하는 하나 이상의 운영 체제, 애플리케이션, 프로그램, 라이브러리, 및 드라이버가 실행 시에 메모리(128)에 상주할 수 있다.
마스터 할일 목록(150)은 데이터 스토리지 디바이스(134)에 저장 및 유지된다. 위에서 논의된 바와 같이, 마스터 할일 목록(150)은 차량(104)의 운전자 또는 승객에 의해 완료될 복수의 태스크들을 포함한다. 태스크들은 차량(104)의 운전자 또는 승객에 의해 완료될 수 있는 임의의 타입의 활동으로서 구현될 수 있다. 통상적으로, 이러한 태스크들은 특정 위치 또는 일반적 위치로서 구현될 수 있는 목적지 위치를 포함한다. 예를 들어, 태스크들은 "타운 고등학교에서 아이 데려오기", "매장에서 우유 가져오기", "세탁소에 세탁물 맡기기" 및/또는 그 밖의 태스크들을 포함할 수 있다. 각 태스크는 그 태스크와 관련된 추가의 컨텍스트 데이터를 포함할 수 있다. 이러한 컨텍스트 데이터는 태스크 자체 또는 목적지 위치와 관련된 하나 이상의 속성들을 정의할 수 있다. 예를 들어, 컨텍스트 데이터는 해당 태스크가 완료되어야 하는 기한(예컨대, "수요일까지 세탁물 찾아오기"), 해당 태스크가 완료되어야 하는 시간대(예컨대, "오후 1시에서 오후 3시 사이에 세탁소에 세탁물 맡기기"), 또는 그 태스크와 관련된 다른 제약사항들 또는 요구사항들(예컨대, 컨텍스트 데이터는 냉장고에 상점 상품을 넣을 수 있도록, 상점에 방문 후 집에 돌아오도록 하는 요구사항을 식별할 수 있음)을 식별하는 제약사항 데이터를 포함할 수 있다. 추가적으로 또는 대체적으로, 컨텍스트 데이터는 목적지 위치와 관련된 제약사항 데이터를 정의할 수도 있다(예컨대, "북쪽 입구의 학교 주차장에만 진입"). 컨텍스트 데이터는 사용자/운전자에 의해 태스크 자체가 수동으로 기입될 수 있으며/있거나 차량내 컴퓨팅 시스템(102)에 의하여 시간이 지남에 따라 추론 또는 학습될 수 있다. 예를 들어, 태스크가 특정 목적지를 지정하고 있지 않은 경우(예컨대, "매장에서 우유 가져오기"), 차량내 컴퓨팅 시스템(102)은 과거의 방문들, 운전자의 집과 관련된 매장의 위치나 그 밖의 태스크들의 목적지 위치들 등에 기초하여 특정 매장 위치를 추론하거나 식별할 수 있다.
차량내 컴퓨팅 시스템(102)의 통신 회로(130)는 차량내 컴퓨팅 시스템(102)과 모바일 컴퓨팅 디바이스들(106) 간의 통신을 가능하게 하는 임의의 개수의 디바이스들 및 회로를 포함할 수 있다. 통신 회로(130) 및 모바일 컴퓨팅 디바이스들(106)은 예를 들어, Bluetooth®, Wi-Fi®(즉, IEEE 802.11 표준), 및/또는 그 밖의 통신 프로토콜들이나 표준들과 같은 임의의 적절한 통신 프로토콜을 사용하여 서로 간에 다이렉트로 데이터를 통신할 수 있다. 또한, 몇몇 실시예들에서, 통신 회로(130)는 차량내 컴퓨팅 시스템(102)과 모바일 컴퓨팅 디바이스들(106) 간의 통신들 및/또는 네트워크(108)를 통한 할일 목록 서버(110)와의 통신을 가능하게 하는 디바이스들 및 회로를 포함할 수 있다. 통신 회로(130)는 예를 들어, 무선 LAN(local area network) 통신 프로토콜(예컨대, Wi-Fi®), 셀룰러 데이터 서버(예컨대, W-CDMA(Wideband Code Division Multiple Access)), 및/또는 모바일 위성 통신 프로토콜과 같은 임의의 적절한 통신 프로토콜을 사용하여 네트워크(108)를 통하여 통신할 수 있다.
네트워크(108)는 임의의 개수의 각종 유선 및/또는 무선 데이터 및/또는 음성 통신 네트워크들로서 구현될 수 있다. 예를 들어, 네트워크(108)는 LAN(local area network), WAN(wide area network), 또는 인터넷과 같은 공중 액세스 가능한 글로벌 네트워크로서 구현되거나 이를 포함할 수 있다. 차량내 컴퓨팅 시스템(102), 모바일 컴퓨팅 디바이스들(106), 및/또는 할일 목록 서버(110)는 예를 들어 특정 타입의 네트워크(들)(106)에 따라, 임의의 적절한 통신 프로토콜을 사용하여 네트워크(108)를 통하여 서로 통신할 수 있다. 예를 들어, 몇몇 실시예들에서, 네트워크(108)는 모바일 컴퓨팅 디바이스들(106) 간의 및/또는 모바일 컴퓨팅 디바이스들(106)과 차량내 컴퓨팅 시스템(102) 간의 소정 통신들을 가능하게 하는 하나 이상의 셀룰러 네트워크들을 포함할 수 있다. 이러한 실시예들에서, 셀룰러 네트워크들은 예를 들어, GSM(Global System for Mobile Communications), GPRS(General packet Radio Service), CDMA(Code Division Multiple Access), 및/또는 그 밖의 셀룰러 통신 프로토콜들, 표준들, 또는 기술들과 같은 임의의 적절한 셀룰러 통신 기술을 사용하여 이러한 통신들을 가능하게 할 수 있다.
내비게이션 회로(132)는 차량(104)의 내비게이션을 가능하게 하는 임의의 타입의 회로 및/또는 디바이스들로서 구현될 수 있다. 예를 들어, 일 실시예에서, 내비게이션 회로(132)는 차량(104)의 현재 위치를 검출 또는 결정하기 위한 GPS(global positioning system) 엔진으로서 구현되거나 이를 포함한다. 또한, 내비게이션 회로(132)는 예를 들어, 데이터 스토리지(134)에 로드맵 데이터베이스를 유지할 수 있다. 사용 동안에, 내비게이션 회로(132)는 로드맵 데이터베이스로부터 적절한 로드맵들을 검색하고, 그 로드맵을, 차량(104)의 위치 표시와 함께, 차량(104)의 운전자에게 제공할 수 있다(예컨대, 디스플레이 또는 말로 제공). 물론, 내비게이션 회로(132)는 통상적인 내비게이션 시스템들에 의해 수행되는 추가적인 내비게이션 기능들을 수행할 수도 있다.
데이터 스토리지(134)는 예를 들어, 메모리 디바이스들 및 회로, 메모리 카드, 하드디스크 드라이브, 솔리드-스테이트 드라이브, 또는 그 밖의 데이터 스토리지 디바이스와 같은 데이터의 숏-텀 또는 롱-텀 스토리지용으로 구성된 임의의 타입의 디바이스 또는 디바이스들로서 구현될 수 있다. 위에서 논의된 바와 같이, 차량내 컴퓨팅 시스템(102)은 데이터 스토리지(134)에 저장될 수 있는, "마스터" 할일 목록(150)을 유지 및 활용한다. 또한, 위에서 논의된 바와 같이, 마스터 할일 목록(150)을 포함하는 각각의 개별 태스크들과 관련된 컨텍스트 데이터는 대응하는 태스크들과 관련하여 데이터 스토리지(134)의 컨텍스트 데이터베이스(152)에 저장될 수 있다. 또한, 내비게이션 회로(132)는 데이터 스토리지(134)에 하나 이상의 로드맵 데이터베이스들을 유지할 수 있다.
차량내 컴퓨팅 시스템(102)의 주변 디바이스들(136)은 임의의 개수의 추가 입/출력 디바이스, 인터페이스 디바이스, 및/또는 그 밖의 주변 디바이스들을 포함할 수 있다. 예를 들어, 주변 디바이스들(136)은 할일 목록들 및 내비게이션 데이터(예컨대, 로드맵들)을 디스플레이하고, (예컨대, 터치-스크린 디스플레이를 통해) 차량(104) 운전자로부터 입력을 수신하는 디스플레이, 차량내 키보드 또는 다른 데이터 입력 디바이스, 외부 스피커, 및/또는 그 밖의 주변 디바이스들을 포함할 수 있다. 주변 디바이스들(136)은 다수의 신호 경로들을 통해 I/O 서브시스템(126)에 통신가능하게 연결되며, 이에 따라 I/O 서브시스템(126) 및/또는 프로세서(120)가 주변 디바이스들(136)로부터 입력들을 수신하고 또한 주변 디바이스들(136)에게 출력들을 송신할 수 있게 한다.
몇몇 실시예들에서, 차량내 컴퓨팅 시스템(102)은 각종 환경 조건들을 감지하도록 구성되는 하나 이상의 센서들(138)을 포함할 수도 있다. 예를 들어, 일 실시예에서, 센서들(138)은 승객이 승객 시트에 앉은 경우를 감지하도록 구성되는 하나 이상의 시트 센서들을 포함한다. 또한, 센서들(138)은 예를 들어, 차량이 시동 걸려있는지 여부, 차량의 속도, 대기 조건들(예컨대, 비가 오는지 눈이 오는지), 외부 온도(예컨대, 식료품점 방문 이후에 집에 돌아갈 필요가 있는지의 여부를 결정하기 위해)를 검출하기 위한 그 밖의 센서들, 및/또는 차량내 컴퓨팅 시스템(102)에 유용한 데이터를 생성하기 위한 그 밖의 센서들을 포함할 수 있다.
위에서 논의된 바와 같이, 시스템(100)은 하나 이상의 모바일 컴퓨팅 디바이스들(106)를 포함할 수 있으며, 그 각각은 아래에 더 상세히 논의되는 바와 같은 로컬 할일 목록(160)을 저장한다. 각각의 모바일 컴퓨팅 디바이스(106)는 스마트폰, 모바일 인터넷 디바이스, 컴퓨팅 태블릿, 랩탑, 핸드헬드 컴퓨터, PDA(personal digital assistant), 텔레포니 디바이스, 또는 그 밖의 모바일 컴퓨팅 디바이스와 같은 임의의 타입의 모바일 컴퓨팅 디바이스로서 구현될 수 있다. 모바일 컴퓨팅 디바이스들(106)은 디바이스들, 회로, 및 이러한 디바이스들에서 일반적으로 발견되는 특징들을 포함할 수 있다. 예를 들어, 도 2에 나타낸 바와 같은, 예시적 모바일 컴퓨팅 디바이스(106)는 프로세서(220), I/O 서브시스템(226), 메모리(228), 통신 회로(230), 데이터 스토리지 디바이스(232), 및 하나 이상의 주변 디바이스들(234)를 포함한다. 물론, 모바일 컴퓨팅 디바이스들(106)은 모바일 컴퓨팅 디바이스들에서 통상적으로 발견되는 추가의 회로, 디바이스, 모듈, 및 구조를 포함할 수 있으며, 설명의 명확성을 위하여 도 2에는 도시되어 있지 않다.
모바일 컴퓨팅 디바이스(106)의 프로세서(220)는 마이크로프로세서, 디지털 신호 프로세서, 마이크로컨트롤러 등과 같은 소프트웨어/펌웨어를 실행할 수 있는 임의의 타입의 프로세서로서 구현될 수 있다. 프로세서(220)는 프로세서 코어(222)를 구비한 단일 코어 프로세서로서 예시적으로 구현되어 있다. 그러나, 다른 실시예들에서, 프로세서(220)는 복수의 프로세서 코어들(222)을 구비한 멀티-코어 프로세서로서 구현될 수 있다. 또한, 모바일 컴퓨팅 디바이스(106)는 하나 이상의 프로세서 코어들(222)을 구비한 추가의 프로세서들(220)을 포함할 수 있다.
모바일 컴퓨팅 디바이스(106)의 I/O 서브시스템(226)은 모바일 컴퓨팅 디바이스(106)의 프로세서(220) 및/또는 다른 컴포넌트들과의 입/출력 동작들을 가능하게 하는 회로 및/또는 컴포넌트들로서 구현될 수 있다. 몇몇 실시예들에서, I/O 서브시스템(166)은 메모리 컨트롤러 허브(MCH 또는 "노스브리지"), 입/출력 컨트롤러 허브(ICH 또는 "사우스브리지"), 및 펌웨어 디바이스로서 구현될 수 있다. 그러나, 다른 실시예들에서는, 다른 구성들을 구비한 I/O 서브시스템들이 사용될 수 있다. 예를 들어, 몇몇 실시예들에서, I/O 서브시스템(226)은 시스템 온칩(SoC)의 일 부분을 형성할 수 있으며, 모바일 컴퓨팅 디바이스(106)의 프로세서(220) 및 다른 컴포넌트들과 함께, 단일의 집적 회로 칩 상에 통합될 수도 있다.
프로세서(220)는 모바일 컴퓨팅 디바이스(106)의 컴포넌트들 간의 통신을 가능하게 할 수 있는 임의의 타입의 신호 경로들로서 구현될 수 있는 다수의 신호 경로들을 통해 I/O 서브시스템(226)에 통신가능하게 연결되어 있다. 예를 들어, 신호 경로들은 임의의 개수의 와이어, 케이블, 광 가이드, 인쇄회로기판 트레이스, 비아, 버스, 개재 디바이스, 점대점 상호접속들, 및/또는 그런 종류의 다른 것으로서 구현될 수 있다.
모바일 컴퓨팅 디바이스(106)의 메모리(228)는 예를 들어, DRAM(dynamic random access memory devices), SDRAM(synchronous dynamic random access memory devices), DDR SDRAM(double-data rate synchronous dynamic random access memory device), 마스크 ROM(read-only memory) 디바이스들, EPROM(erasable programmable ROM), EEPROM(electrically erasable programmable ROM) 디바이스들, 플래시 메모리 디바이스들, 및/또는 그 밖의 휘발성 및/또는 비휘발성 메모리 디바이스들을 포함하는, 하나 이상의 메모리 디바이스들 또는 데이터 저장 위치들로서 구현되거나 포함할 수 있다. 메모리(228)는 다수의 신호 경로들을 통하여 I/O 서브시스템(226)에 통신가능하게 연결되어 있다. 각종 데이터 및 소프트웨어가 메모리(228)에 저장될 수 있다. 예를 들어, 하나 이상의 운영 체제, 모바일 애플리케이션, 프로그램, 라이브러리, 및 드라이버가 실행 동안에 메모리(228)에 상주할 수 있다.
모바일 컴퓨팅 디바이스(106)의 통신 회로(230)는 모바일 컴퓨팅 디바이스(106)과 다른 모바일 컴퓨팅 디바이스들(106), 차량내 컴퓨팅 시스템(102), 및/또는 할일 목록 서버(110) 간의 통신들을 가능하게 하는 임의의 개수의 디바이스들 및 회로로서 구현될 수 있다. 따라서, 통신 회로(230)는 음성 및 데이터 통신을 위한(예컨대, 셀룰러 네트워크를 통한 다른 모바일 컴퓨팅 디바이스들(106)과의 통신을 위한) 셀룰러 통신 회로, 네트워크(108)를 통하여 데이터를 통신하기 위한 유선 통신 회로 및/또는 로컬 데이터 통신들을 위한(예컨대, 차량내 컴퓨팅 시스템(102)과의 통신을 위한) 무선 통신 회로를 포함할 수 있다. 위에서 논의된 바와 같이, 모바일 컴퓨팅 디바이스(106)는 예를 들어, Bluetooth®, Wi-Fi®(즉, IEEE 802.11 표준), 및/또는 그 밖의 통신 프로토콜들 또는 표준들과 같은 임의의 적절한 통신 프로토콜을 사용하여 차량내 컴퓨팅 시스템(102)과 통신할 수 있다.
데이터 스토리지 디바이스(들)(232)은 예를 들어, 메모리 디바이스 및 회로, 메모리 카드, 하드디스크 드라이브, 솔리드-스테이트 드라이브, 또는 그 밖의 데이터 스토리지 디바이스들과 같은 데이터의 숏-텀 또는 롱-텀 스토리지용으로 구성되는 임의의 타입의 디바이스 또는 디바이스들로서 구현될 수 있다. 위에서 논의된 바와 같이, 모바일 컴퓨팅 디바이스(106)는 데이터 스토리지(232)에 로컬 할일 목록(160)을 저장하며, 이것은 차량내 컴퓨팅 시스템(102)에 의해 유지되는 마스터 할일 목록(150)과 주기적 또는 응답적으로 동기화되는 해야할 태스크들을 포함한다. 예를 들어, 아래에 더 상세히 논의되는 바와 같이, 모바일 컴퓨팅 디바이스(106)가 차량내 컴퓨팅 시스템(102)에 근접 범위 내에 있는 경우에는, 모바일 컴퓨팅 디바이스(106)가 차량내 컴퓨팅 시스템(102)와 통신함으로써 로컬 할일 목록(160)을 마스터 할일 목록(150)으로 업데이트하거나 동기화할 수 있다. 로컬 할일 목록(160)에 저장된 태스크들은, 아래에 더 상세히 논의되는 바와 같이, 모바일 컴퓨팅 디바이스(106)를 통하여 입력될 수 있고, 마스터 할일 목록(150)으로부터 검색될 수 있으며/있거나, 할일 목록 서버(110)에 저장된 마스터 할일 목록(180)으로부터 검색될 수 있다.
모바일 컴퓨팅 디바이스(106)의 주변 디바이스들(234)은 임의의 개수의 주변 또는 인터페이스 디바이스들을 포함할 수 있다. 예를 들어, 주변 디바이스들(234)은 모바일 컴퓨팅 디바이스의 타입에 따라(예컨대, 스마트폰, 컴퓨터 태블릿, 랩탑 컴퓨터 등), 디스플레이, 키보드, 마우스, 외부 스피커, 및/또는 그 밖의 주변 디바이스들을 포함할 수 있다. 주변 디바이스들(234)은 다수의 신호 경로들을 통하여 I/O 서브시스템(226)에 통신가능하게 연결되어 있으며, 이에 의해 I/O 서브시스템(226) 및/또는 프로세서(220)가 주변 디바이스들(234)로부터 입력들을 수신하고 또한 주변 디바이스들(234)로 출력들을 송신할 수 있게 한다.
다시 도 1을 참조하면, 할일 목록 서버(110)는 본 명세서에 기술된 기능들을 수행할 수 있는 임의의 타입의 데이터 서버로서 구현될 수 있다. 따라서, 할일 목록 서버는 네트워크를 통하여 데이터를 통신, 저장, 유지, 및 전송하는 서버에서 통상적으로 발견되는 각종 하드웨어 및 소프트웨어 컴포넌트들을 포함할 수 있다. 예시적 할일 목록 서버(110)는 각 디바이스에 저장된 할일 목록 데이터를 백업, 검색, 및 업데이트하는 등의 각종 웹 서비스들을 위한 웹 포털을 차량내 컴퓨팅 시스템(102) 및/또는 모바일 컴퓨팅 디바이스들(106)에게 제공하는 웹 서비스 엔진(170)을 포함한다. 따라서, 할일 목록 서버(110)는 데이터 스토리지(172)를 또한 포함하며, 이것은 네트워크 기반 데이터 서버들에서 통상적으로 발견되는 하나 이상의 하드디스크 드라이브, 솔리드-스테이트 디바이스, 비휘발성 메모리, 및/또는 그 밖의 데이터 스토리지 디바이스들과 같은 임의의 타입의 롱-텀 스토리지 디바이스로 구현될 수 있다. 몇몇 실시예들에서, 데이터 스토리지(172)는 로컬 마스터 할일 목록(180)을 저장한다. 마스터 할일 목록(180)은 차량내 컴퓨팅 시스템의 데이터 스토리지(134)에 저장된 마스터 할일 목록(150)의 실질적 사본일 수 있다. 이러한 실시예들에서, 마스터 할일 목록(180)은 모바일 컴퓨팅 디바이스들(106)에 저장된 마스터 할일 목록(150) 및/또는 로컬 할일 목록들(160)과 주기적 또는 응답적으로 동기화된다. 차량내 컴퓨팅 시스템(102)에 의해 유지되는 마스터 할일 목록(150)은 가장 최신의 마스터 목록이지만, 마스터 할일 목록(180)은 차량내 컴퓨팅 시스템(102)에 대한 백업 마스터 목록을 제공하며, 이것은 차량내 컴퓨팅 시스템(102)과의 통신이 불가능한 때에도(예컨대, 모바일 컴퓨팅 디바이스(106)가 차량(104) 근처에 없거나, 차량(104)의 시동이 꺼진 경우 등), 모바일 컴퓨팅 디바이스들(106)이 사용가능함을 알 수 있다.
이제 도 3을 참조하면, 동작 동안에, 차량내 컴퓨팅 시스템(102)은 마스터 할일 목록(150)을 유지하고 할일 목록-기반 내비게이션을 제공하기 위한 소프트웨어 환경(300)을 확립한다. 예시적 소프트웨어 환경(300)은 할일 목록 유지관리 모듈(302), 사용자 인터페이스 모듈(304), 트립 플래너 모듈(306), 내비게이션 모듈(308), 태스크 상태 업데이트 모듈(312), 및 마스터 할일 목록(150)과 관련 컨텍스트 데이터(152)를 포함한다. 각각의 모듈들(302, 304, 306, 308, 312)은 독립형(stand-alone) 소프트웨어 애플리케이션들, 소프트웨어/펌웨어 모듈들, 및/또는 하드웨어로서 구현되거나 이를 포함할 수 있다.
할일 목록 유지관리 모듈(302)은 마스터 할일 목록(150)과 관련 컨텍스트 데이터(152)를 관리하고, 유지하고, 동기화한다. 또한, 몇몇 실시예들에서, 할일 목록 유지관리 모듈(302)은 관련 컨텍스트 데이터(152)(예컨대, 요구되는 완료 날짜) 및/또는 다른 기준에 기초하여, 마스터 할일 목록(150)에 포함되어 있는 태스크들의 우선순위를 설정하도록(예컨대, 태스크들을 순서화하도록) 구성될 수 있다. 물론, 아래에서 더 상세히 논의되는 바와 같이, 차량내 컴퓨팅 시스템(102)의 사용자는 우선순위 설정된 순서와는 다르게(예컨대, 사용자가 태스크를 일찍 완료하기를 원할 수 있음), 임의의 특정 시간에서의 완료를 위해 마스터 할일 목록(150)으로부터 어떤 태스크들을 선택할 수도 있다.
할일 목록 유지관리 모듈(302)은 사용자 인터페이스 모듈(304)과 인터페이싱하여, 차량내 컴퓨팅 시스템(102)의 사용자(예컨대, 차량(104)의 운전자 또는 승객)에게 마스터 할일 목록(150)에 대한 사용자 인터페이스를 제공한다. 사용자 인터페이스는 그래픽 사용자 인터페이스, 오디오 사용자 인터페이스, 또는 임의의 다른 타입의 사용자 인터페이스로서 구현될 수 있다. 아래에 더 상세히 논의되는 바와 같이, 사용자는 사용자 인터페이스와 상호작용함으로써, 마스터 할일 목록(150)의 태스크들을 업데이트하고, 새로운 태스크들을 마스터 할일 목록(150)에 부가하고/하거나, 완료를 위한 태스크들을 선택한다.
또한, 할일 목록 유지관리 모듈(302)은 트립 플래너 모듈(306)과 인터페이싱함으로써, 마스터 할일 목록(150)에 대한 선택된 개수의 태스크들의 트립 플랜(trip plan)을 생성한다. 즉, 아래에서 더 상세히 논의되는 바와 같이, 트립 플래너 모듈(306)은 내비게이션 모듈(308)로부터 검색 또는 제공되는 각 태스크와 관련된 내비게이션 데이터와 각 태스크와 관련된 컨텍스트 데이터(152)에 기초하여, 사용자-선택된 태스크들의 그룹에 대한 완료를 위한 우선순위 순서를 결정하도록 구성된다. 위에서 논의된 바와 같이, 통상적으로 각 태스크는 특정 또는 일반 목적지 위치를 포함하며, 이것은 태스크들에 대한 우선순위를 설정하기 위하여 트립 플래너 모듈(306)에 의하여 사용될 수 있고 또한 제안된 방향, 트립 시간 등을 생성하기 위하여 내비게이션 모듈(308)에 의해 사용될 수 있다. 태스크가 일반 목적지 위치에만 관련되어 있는 경우에(예컨대, "매장에서 우유 가져오기"), 트립 플래너 모듈(306)은 목적지 위치에 대한 방문 빈도(즉, 사용자가 특정 매장 또는 위치를 좋아하는가), 차량(104)의 현재 위치와 사용자의 집과 다른 선택된 태스크들의 목적지 위치들에 대한 목적지의 위치, 상인에 의해 행해진 오퍼들(예컨대, 쿠폰) 등과 같은 하나 이상의 기준에 기초하여 특정 목적지를 추론하거나 이를 할당하도록 구성될 수 있다.
위에서 논의된 바와 같이, 특정 태스크와 관련된 컨텍스트 데이터는 태스크 자체 또는 그 태스크와 관련된 목적지에 대한 하나 이상의 속성들을 정의할 수 있다. 예를 들어, 컨텍스트 데이터는 해당 태스크가 완료되어야 하는 기한을 식별하는 제약사항 데이터, 해당 태스크가 완료되어야 하는 시간대, 또는 그 태스크와 관련된 다른 제약사항들이나 요구사항들을 포함할 수 있다. 추가적으로 또는 대체적으로, 컨텍스트 데이터는 각 태스크와 관련된 목적지 위치와 관련된 제약사항 데이터를 정의할 수 있다. 트립 플래너 모듈(306)은 선택된 태스크들의 우선순위를 설정하거나 이들을 순서화하여 컨텍스트 데이터를 만족시키거나 태스크 우선순위가 이러한 컨텍스트 데이터와 일치하는 것이 보장되도록 구성된다. 또한, 몇몇 실시예들에서, 트립 플래너 모듈(306)은 선택된 태스크들을 우선순위 설정함에 있어서 정의된 목적들을 성취하도록 더 시도할 수 있다. 예를 들어, 트립 플래너 모듈(306)은 선택된 태스크들을 완료하는데 필요한 전체 드라이브 시간을 감소시키고, 선택된 태스크들을 완료하는데 필요한 전체 드라이브 거리를 감소시키고/거나, 이와 유사하거나 다른 목적들을 성취하도록 하기 위하여, 태스크들을 순서화하도록 구성될 수 있다. 이를 위하여, 트립 플래너 모듈(306)은 내비게이션 모듈(308)과 인터페이싱하여, 내비게이션 모듈(308)로부터 지도 및/또는 트립 데이터를 검색할 수 있다.
몇몇 실시예들에서, 트립 플래너 모듈(306)은 랑데뷰 코플래너 모듈(310)을 또한 포함할 수 있다. 이러한 실시예들에서, 랑데뷰 코플래너 모듈(randexvous co-planner module)(310)은 모바일 컴퓨팅 디바이스(106)의 대응하는 랑데뷰 코플래너 모듈과 통신함으로써 차량내 컴퓨팅 시스템(102)의 사용자(즉, 차량(104)의 운전자)와 모바일 컴퓨팅 디바이스(106)의 사용자가 만날 수 있는 목적지 위치를 결정하도록 구성된다. 이를 위하여, 아래에서 더 상세히 논의되는 바와 같이, 랑데뷰 코플래너 모듈(310)은 모바일 컴퓨팅 디바이스(106)의 대응하는 랑데뷰 코플래너 모듈과 통신함으로써, 모바일 컴퓨팅 디바이스의 사용자의 현재 위치를 결정하고, 후속적으로 모바일 컴퓨팅 디바이스의 사용자의 현재 위치, 차량(104)의 현재 위치, 및/또는 컨텍스트 데이터(152)에 기초하여 적절한 랑데뷰 위치를 결정할 수 있다. 예를 들어, 컨텍스트 데이터(152)는 랑데뷰 위치를 결정함에 있어서 고려될 수 있는 모바일 컴퓨팅 디바이스(106)의 사용자의 현재 위치와 관련된 제약사항 데이터(예컨대, 일방 통행 또는 입구)를 정의할 수 있다. 랑데뷰 코플래너 모듈(310)은 랑데뷰 위치를 결정한 이후 나머지 태스크들과의 우선순위 설정을 위하여 그 랑데뷰 위치를 트립 플래너(306)에게 전달할 수 있다.
내비게이션 모듈(308)은 로드맵들과 같은 내비게이션 데이터를 저장하고 있으며, 기점 위치에서 목적지 위치로의 제안 방향들 또는 경로들을 생성한다. 위에서 논의된 바와 같이, 통상적으로 각 태스크는 목적지 위치(특정 또는 일반)를 포함한다. 내비게이션 모듈(308)은 마지막으로 완료된 태스크의 목적지 위치 또는 차량(104)의 현재 위치일 수 있는, 기점 위치로부터 각 태스크와 관련된 목적지 위치로의 방향들을 생성하도록 구성된다. 위에서 논의된 바와 같이, 이러한 방향들이 트립 플래너 모듈(306)에 의해 사용됨으로써 태스크들을 우선순위 설정한다.
태스크 상태 업데이트 모듈(312)은 모바일 컴퓨팅 디바이스들(106)의 하나 이상의 사용자들에게 현재의 태스크 또는 태스크들 세트의 완료에 관한 업데이트를 제공하도록 구성된다. 태스크 업데이트는 하나 이상의 태스크들의 완료를 결정하거나 추론하기 위하여 모바일 컴퓨팅 디바이스(106)의 사용자에게 유용한 임의의 타입의 데이터를 포함할 수 있다. 예를 들어, 이러한 업데이트는 차량(104)의 현재 위치, 태스크가 완료되었는지의 여부, 내비게이션 모듈(308)로부터의 내비게이션 데이터에 기초한 목적지 위치까지의 도착 예정 시간 등을 전달하는 것을 포함할 수 있다. 몇몇 실시예들에서, 태스크 상태 업데이트 모듈(312)은 태스크가 완료되었는지의 여부를 추론하도록 구성된 추론 엔진(314)을 포함할 수 있다. 이를 위하여, 추론 엔진(314)는 임의의 적절한 데이터를 사용하여 태스크의 완료를 결정할 수 있다. 예를 들어, 몇몇 실시예들에서, 추론 엔진(314)은 특정 모바일 컴퓨팅 디바이스(106)(예컨대, 아이의 폰)가 차량내 컴퓨팅 시스템(102)에 대한 기준 근접 범위 내에 있는지의 여부, 센서(138)를 통하여 승객 시트가 승객에 의해 점유되어 있는지의 여부, 구매가 이루어졌는지의 여부(예컨대, 디지털 영수증에 기반), 및/또는 이러한 결정들을 함에 있어 유용한 그 밖의 데이터를 결정하는 것에 의하여 태스크가 완료되었는지를 결정할 수 있다.
이제 도 4를 참조하면, 차량내 컴퓨팅 시스템(102)과 유사하게, 각 모바일 컴퓨팅 디바이스(106)는 로컬 할일 목록(160)을 유지하기 위하여 소프트웨어 환경(400)을 확립할 수 있다. 예시적 소프트웨어 환경(400)은 할일 목록 유지관리 모듈(402), 사용자 인터페이스 모듈(404), 랑데뷰 코플래너 모듈(410), 상태 업데이트 모듈(412), 및 로컬 할일 목록(160)을 포함한다. 각각의 모듈들(402, 404, 410, 및 412)은 독립형 소프트웨어 애플리케이션, 소프트웨어/펌웨어 모듈, 및/또는 하드웨어로 구현되거나 이를 포함할 수 있다.
차량내 컴퓨팅 시스템(102)의 할일 목록 유지관리 모듈(302)과 유사하게, 할일 목록 유지관리 모듈(402)은 차량내 컴퓨팅 시스템에 의해 유지되는 로컬 할일 목록(160)을 관리, 업데이트하고, 마스터 할일 목록(150)과 동기화한다. 할일 목록 유지관리 모듈(402)은 사용자 인터페이스 모듈(404)과 인터페이싱함으로써, 모바일 컴퓨팅 디바이스(106)의 사용자가 모바일 컴퓨팅 디바이스(106) 상에 새로운 태스크를 부가 또는 업데이트할 수 있게 한다. 따라서, 모바일 컴퓨팅 디바이스(106)가 차량내 컴퓨팅 시스템과 근접해 있는 경우, 할일 목록 유지관리 모듈(402)은 할일 목록 유지관리 모듈(302)과 통신함으로써, 마스터 할일 목록(150)을 로컬 할일 목록(160)과 동기화하거나 이를 업데이트할 수 있다. 다르게는, 모바일 컴퓨팅 디바이스(106)는 할일 목록 서버(110)과 통신함으로써, 마스터 할일 목록(180)을 로컬 할일 목록(160)과 동기화할 수 있으며, 이 로컬 할일 목록(160)은 네트워크(108)를 통하여 차량내 컴퓨팅 시스템에 의해 관리되고 있는 마스터 할일 목록(150)과 동기화하거나 업데이트하는데 후속적으로 사용될 수 있다.
랑데뷰 코플래너 모듈(410)은 차량내 컴퓨팅 시스템(102)의 랑데뷰 코플래너 모듈(310)과 실질적으로 유사하다. 랑데뷰 코플래너 모듈(410)은 차량내 컴퓨팅 시스템(102)의 랑데뷰 코플래너 모듈(310)과 통신함으로써 모바일 컴퓨팅 디바이스(106)의 사용자와 차량(104)의 운전자가 만날 수 있는 목적지 위치를 결정하도록 구성된다. 이를 위하여, 랑데뷰 코플래너 모듈(410)은 적절한 랑데뷰 위치를 결정하기 위하여 랑데뷰 코플래너 모듈(310)에 의하여 사용될 수 있는, 모바일 컴퓨팅 디바이스(106)의 사용자의 현재 위치와 같은 각종 데이터를 차량내 컴퓨팅 시스템(102)으로 전달할 수 있다.
모바일 컴퓨팅 디바이스(106)의 태스크 상태 업데이트 모듈(412)은 차량내 컴퓨팅 시스템(102)으로부터 수신된 데이터에 기초하여 로컬 할일 목록(160)에 포함된 태스크들의 상태를 업데이트하고/하거나 로컬 할일 목록(160)의 태스크 완료 상태를 결정하도록 구성된다. 위에서 논의된 바와 같이, 차량내 컴퓨팅 시스템(102)은 특정 태스크 완료에 관한 업데이트들을 모바일 컴퓨팅 디바이스(106)으로 전달할 수 있다. 이에 대응하여, 상태 업데이트 모듈(412)은 모바일 컴퓨팅 디바이스(106) 상의 대응하는 태스크를 업데이트하도록 구성된다. 이러한 업데이트는 태스크의 완료, 다른 사용자에 의한 태스크의 수락, 또는 태스크 완료의 진행상황의 업데이트를 포함할 수 있다.
몇몇 실시예들에서, 상태 업데이트 모듈(412)은 로컬 추론 엔진(414)을 포함할 수 있다. 차량내 컴퓨팅 시스템(102)의 추론 엔진(314)과 유사하게, 추론 엔진(414)은 태스크가 완료되었는지의 여부를 추론하도록 구성될 수 있다. 이를 위하여, 추론 엔진(414)은 예를 들어, 모바일 컴퓨팅 디바이스(106)의 위치, 구매가 이루어졌는지의 여부 등을 포함하는 임의의 적절한 데이터를 사용하여 태스크의 완료를 결정할 수 있다. 위에서 논의된 바와 같이, 태스크 완료의 추론은 태스크 상태 업데이트로서 차량내 컴퓨팅 시스템(102) 및/또는 할일 목록 서버(110)로 전달될 수 있다.
이제 도 5를 참조하면, 차량내 컴퓨팅 시스템(102)에 의해 실행될 수 있는 할일 목록 기반 내비게이션에 대한 방법(500)의 예시적 일 실시예가 도시되어 있다. 방법(500)은 블록 502으로 시작되며, 여기서 차량내 컴퓨팅 시스템(102)은 마스터 할일 목록(150)에 포함되어 있는 현재의 태스크들을 제공한다. 태스크들은 내비게이션 디스플레이와 같은 차량내 디스플레이에 태스크들을 디스플레이하는 것에 의하여, 차량내 컴퓨팅 시스템(102)의 오디오 인터페이스를 통하여 태스크들을 들리도록 "말하는 것" 등에 의하여 차량내 컴퓨팅 시스템(102)의 사용자(예컨대, 차량(104)의 운전자나 승객)에게 제공될 수 있다. 차량내 컴퓨팅 시스템(102)은 차량 시동시에 또는 버튼, 아이콘, 또는 이와 유사한 입력 디바이스의 선택에 따라 현재의 태스크들을 자동으로 제공하도록 구성될 수 있다.
블록들 504, 506, 및 508에서, 차량내 컴퓨팅 시스템(102)은 시스템(102)의 사용자에 의한 다수의 상이한 액션들 중의 하나의 선택을 모니터링한다. 예를 들어, 블록 504에서, 차량내 컴퓨팅 시스템(102)은 사용자가 새로운 태스크를 입력할 것을 요청하였는지의 여부를 결정한다. 사용자는 예를 들어, 사용자에게 디스플레이된 그래픽 사용자 인터페이스 상의 대응 버튼이나 아이콘을 선택하는 것에 의하여, 또는 가청 사용자 인터페이스에 새로운 태스크를 구두로 말하는 것에 의하여, 새로운 태스크를 입력할 수 있다. 사용자는 목적지 위치, 및 태스크나 목적지 위치에 대한 하나 이상의 속성들을 정의할 수 있는 컨텍스트 데이터와 같은 임의의 대응 데이터와 함께 완료될 새로운 태스크를 입력할 수도 있다. 사용자가 차량내 컴퓨팅 시스템(102)에 새로운 태스크를 입력한 이후에는, 블록 510에서, 그 새로운 태스크가 마스터 할일 목록(150)에 포함되어 데이터 스토리지(134)에 저장된다. 또한, 사용자에 의해 입력되거나, 차량내 컴퓨팅 시스템에 의해 결정된 컨텍스트 데이터는 새로 입력된 태스크와 연관되어 컨텍스트 데이터베이스(152)에 저장된다.
몇몇 실시예들에서, 차량내 컴퓨팅 시스템(102)은 임의의 새로운 태스크의 부가 이후에, 블록 512에서, 마스터 할일 목록(150)에 포함되어 있는 태스크들의 우선순위를 설정할 수 있다. 위에서 논의된 바와 같이, 차량내 컴퓨팅 시스템(102)은 컨텍스트 데이터 또는 다른 기준을 활용하여 태스크들의 우선순위를 설정할 수 있다. 예를 들어, 태스크들은 요구되는 완료 날짜, 태스크에 부착된 "긴급(urgent)" 기표, 또는 다른 기준에 기초하여 우선순위가 설정될 수 있다. 차량내 컴퓨팅 시스템(102)이 태스크들의 우선순위를 설정한 이후에는, 블록 514에서, 업데이트된 마스터 할일 목록(150)의 태스크들이 사용자에게 제공된다. 이러한 방식으로, 차량내 컴퓨팅 시스템(102)의 사용자는 추가 태스크들을 마스터 할일 목록(150)에 다이렉트로 부가할 수 있고, 마스터 할일 목록(150)의 태스크들을 업데이트할 수 있으며/있거나, 마스터 할일 목록(150)의 태스크들을 관리(예컨대, 삭제 또는 제거)할 수 있다.
다시 블록 506을 참조하면, 블록 506에서, 차량내 컴퓨팅 시스템(102)은 마스터 할일 목록(150)이 모바일 컴퓨팅 디바이스(106)의 로컬 할일 목록(160)과 동기화되어야 하는지의 여부를 또한 결정할 수 있다. 그러한 경우, 블록 520에서, 마스터 할일 목록(150)과 로컬 할일 목록(160)은 동기화된다. 이를 위하여, 차량내 컴퓨팅 시스템(102)은 도 6에 나타낸 바와 같은, 마스터 할일 목록(150)과 로컬 할일 목록(160)을 동기화하기 위한 방법(600)을 실행할 수 있다. 방법(600)은 블록 602으로 시작되며, 여기서 차량내 컴퓨팅 시스템(102)은 모바일 컴퓨팅 디바이스가 로컬로 존재하는지(예컨대, 차량(104) 내 또는 근방)의 여부를 결정한다. 차량내 컴퓨팅 시스템(102)은 모바일 컴퓨팅 디바이스(106)로부터의 단거리 통신(예컨대, Bluetooth®)에 기초하여 모바일 컴퓨팅 디바이스(106)가 로컬로 존재하는지를 결정할 수 있다. 즉, 모바일 컴퓨팅 디바이스(106)는 근방에 있는 차량내 컴퓨팅 시스템(102)과의 통신을 시도하도록 구성될 수 있다. 그러한 경우, 블록 604에서, "핸드세이킹(handshaking)" 또는 그 밖의 통신 셋업 절차를 통하여 차량내 컴퓨팅 시스템(102)과 모바일 컴퓨팅 디바이스(106) 간의 통신이 확립된다.
로컬 할일 목록(160)의 태스크들은 자동적으로 또는 선택적으로 마스터 할일 목록(150)에 동기화되거나 업데이트될 수 있다. 예를 들어, 몇몇 실시예들에서, 모바일 컴퓨팅 디바이스(106)의 사용자는 로컬 할일 목록(160) 중에서 마스터 할일 목록(150)과 동기화될 몇몇 태스크들을 선택할 수 있다. 다르게는, 동기화될 태스크들이 차량내 컴퓨팅 시스템(102)의 사용자 인터페이스로부터 선택될 수도 있다. 어느 경우든, 블록 608에서는, 로컬 할일 목록(160)과 마스터 할일 목록(150) 사이에서 선택된 태스크들이 동기화된다. 통상적으로, 이러한 동기화는 마스터 할일 목록을, 모바일 컴퓨팅 디바이스(106) 상에서 입력된 로컬 할일 목록(160)의 새로운 태스크들로 업데이트하는 것을 포함할 수 있다. 그러나, 로컬 할일 목록(160)에 위치된 태스크들 역시 마스터 할일 목록(150)의 태스크들의 상태에 기초하여 업데이트될 수 있다(예컨대, 마스터 할일 목록(150)에 그 태스크가 완료된 것으로 나타난 경우).
다시 블록 602를 참조하면, 모바일 컴퓨팅 디바이스가 로컬로 존재하지 않는 경우, 차량내 컴퓨팅 시스템(102)은 네트워크(108)를 통하여 모바일 컴퓨팅 디바이스(106)(또는 할일 목록 서버(110))와 원격으로 동기화할지의 여부를 결정한다. 이를 위하여, 차량내 컴퓨팅 시스템(102)의 사용자는 마스터 할일 목록(150)과 로컬 할일 목록(160)을 원격으로 동기화하기 위한 옵션을 선택할 수 있다. 그러한 경우, 블록 612에서, 동기화될 모바일 컴퓨팅 디바이스(들)이 결정된다. 예를 들어, 차량내 컴퓨팅 시스템(102)의 사용자는 차량내 컴퓨팅 시스템(102)의 그래픽 사용자 인터페이스 상에 디스플레이된 목록으로부터의 선택에 의해 또는 디바이스들(106)이나 서버(110)와 관련된 키워드를 차량내 컴퓨팅 시스템(102)의 가청 사용자 인터페이스에 말하는 것에 의해 하나 이상의 모바일 컴퓨팅 디바이스들(106) 또는 할일 목록 서버(110)를 선택할 수 있다.
블록 614에서, 차량내 컴퓨팅 시스템(102)은 네트워크(108)를 통하여 모바일 컴퓨팅 디바이스(106) 또는 할일 목록 서버(110)와의 통신들을 확립한다. 블록 616에서, 로컬 할일 목록(160) 또는 마스터 할일 목록(180)의 태스크들은 블록 606에 대하여 위에서 논의된 바와 같이 선택될 수 있다. 후속적으로, 블록 618에서, 선택 태스크들이 로컬 할일 목록(160) 또는 마스터 할일 목록(180)과 마스터 할일 목록(150) 사이에서 동기화된다.
다시 도 5를 참조하면, 블록 520에서 마스터 할일 목록(150)이 동기화된 이후에, 블록 522에서, 차량내 컴퓨팅 시스템(102)이 마스터 할일 목록(150)에 포함된 태스크들의 우선순위를 설정할 수 있다. 위에서 논의된 바와 같이, 차량내 컴퓨팅 시스템(102)은 컨텍스트 데이터 또는 다른 기준을 활용하여 태스크들의 우선순위를 설정할 수 있다. 후속적으로, 블록 524에서, 업데이트된 마스터 할일 목록(150)의 태스크들이 블록 514에 관하여 위에서 논의된 바와 같이 사용자에게 제공된다.
다시 블록 508을 참조하면, 차량내 컴퓨팅 시스템(102)은 차량내 컴퓨팅 시스템(102)의 사용자가 마스터 할일 목록(150) 중의 하나 이상의 태스크들을 시작하기를 원하는지의 여부를 또한 결정할 수 있다. 그러한 경우, 블록 530에서, 차량내 컴퓨팅 시스템(102)은 내비게이션 데이터 및 각 태스크와 관련된 컨텍스트 데이터(152)에 기초하여 마스터 할일 목록(150) 중의 선택된 태스크들을 완수하기 위한 트립 플랜(trip plan)을 생성한다. 이를 위하여, 차량내 컴퓨팅 시스템(102)은 선택된 태스크들을 완료하기 위한 트립 플랜을 생성하는 방법(700)을 실행할 수 있다. 도 7에 도시된 바와 같이, 방법(700)은 블록 702으로 시작되며, 여기서 완료될 태스크들이 식별된다. 예를 들어, 차량내 컴퓨팅 시스템(102)의 사용자는 소정 드라이빙 세션에서 완료할, 마스터 할일 목록(150) 중의 태스크들의 서브세트를 선택할 수 있다. 위에서 논의된 바와 같이, 마스터 할일 목록(150) 중의 태스크들은 우선순위 설정된 순서로 사용자에게 제공될 수 있다.
블록 704에서, 차량내 컴퓨팅 시스템(102)은 각각의 선택된 태스크들과 관련된 내비게이션 데이터를 검색한다. 위에서 논의된 바와 같이, 차량내 컴퓨팅 시스템(102)은 내비게이션 모듈(308)로부터 이러한 내비게이션 데이터를 검색할 수 있다. 또한, 차량내 컴퓨팅 시스템(102)은 특정 목적지를 포함하지 않는 태스크에 대한 목적지 위치를 결정할 수도 있다. 예를 들어, 태스크는 단순히 "학교에서 아이 데려오기" 또는 "식료품 매장에서 우유 가져오기"와 같이 판독될 수 있다. 그러한 경우, 블록 706에서, 차량내 컴퓨팅 시스템(102)은 이러한 태스크들에 대한 특정 목적지를 결정한다. 이를 위하여, 차량내 컴퓨팅 시스템(102)은 경험에 의하여 적절한 목적지를 학습하거나 또는 컨텍스트 데이터 또는 다른 데이터에 기초하여 목적지를 추론하도록 구성될 수 있다. 다르게는, 차량내 컴퓨팅 시스템의 사용자는 단순히 특정 목적지를 입력하거나 차량내 컴퓨팅 시스템 (102)에 의해 결정된 목적지를 수정할 수도 있다.
블록 708에서, 차량내 컴퓨팅 시스템(102)은 각 태스크와 관련된 컨텍스트 데이터를 검색하며, 블록 710에서는, 내비게이션 및 검색된 컨텍스트 데이터에 기초하여 선택된 태스크들의 우선순위를 설정한다. 위에서 논의된 바와 같이, 컨텍스트 데이터는 태스크 자체 또는 목적지 위치와 관련된 하나 이상의 속성들을 정의할 수 있으며, 이것은 태스크들의 순서를 결정하기 위하여 차량내 컴퓨팅 시스템(102)에 의하여 사용될 수 있다. 이러한 태스크들의 우선순위 설정 또는 순서화는, 전체 드라이브 시간 감소, 드라이브 거리 감소 등과 같은 몇몇 정의된 목적을 달성하기 위해서 행해질 수 있다. 물론, 몇몇 실시예들에서는, 사용자가 원하는 바에 따라 태스크들을 재순서화할 수 있다.
블록 712에서, 차량내 컴퓨팅 시스템(102)은 다음 태스크의 내비게이션을 시작한다. 이를 위하여, 몇몇 실시예들에서, 차량내 컴퓨팅 시스템(102)은 차량의 현재 위치 및 첫 번째 태스크와 관련된 목적지의 표시와 함께 사용자에게 로드맵을 제공할 수 있다. 이러한 로드맵 데이터는 내비게이션 모듈(308)에 의해 검색되거나 제공될 수 있다. 추가적으로 또는 대체적으로, 차량내 컴퓨팅 시스템(102)은 사용자에게 내비게이션을 음성으로 제공함으로써 사용자를 목적지 위치로 안내할 수 있다. 현재의 태스크가 완료되고 있을 시에, 블록 714에서, 차량내 컴퓨팅 시스템(102)은 현재 태스크의 상태를 결정한다. 위에서 논의된 바와 같이, 차량내 컴퓨팅 시스템(102)은 목적지 위치에 대한 차량(104)의 위치, 목적지 위치까지의 예상 도달 시간, 특정 모바일 컴퓨팅 디바이스(106)(예컨대, 아이의 폰)에 대한 근접도, 센서(138)로부터의 센서 데이터에 기초한 차량의 승객 존재, 디지털 영수들의 생성, 및/또는 그 밖의 데이터와 같은 임의의 하나 이상의 기준에 기초하여 태스크의 완료 상태를 결정할 수 있다.
차량내 컴퓨팅 시스템(102)은 블록 714에서 결정된 현재의 태스크의 완료 또는 업데이트 상태에 기초하여, 블록 716에서, 현재의 태스크가 완료되었는지의 여부를 결정한다. 그러한 경우, 차량내 컴퓨팅 시스템(102)은 현재의 드라이빙 세션 동안에 완료될 태스크들의 선택된 서브세트 중에서 추가 태스크가 있는지 남아 있는 여부를 결정한다. 추가의 태스크들이 남아 있는 경우, 방법(700)은 블록 712으로 돌아가며, 여기서 다음의 태스크가 개시된다. 그렇지 않은 경우, 방법(700)은 종료된다.
다시 블록 716을 참조하면, 현재의 태스크가 완료되지 않은 경우, 방법(700)은 블록 720으로 진행하며, 여기서 차량내 컴퓨팅 시스템(102)은 현재의 태스크 상태의 하나 이상의 사용자들의 모바일 컴퓨팅 디바이스들(106)을 업데이트할지 여부를 결정한다. 차량내 컴퓨팅 시스템(102)은 현재의 태스크와 관련된 컨텍스트 데이터(예컨대, 태스크는 그것의 상태가 전달되어야 하는 것으로 식별될 수 있음)에 기초하여, 또는 차량내 컴퓨팅 디바이스의 사용자에 의한 선택을 통하여 모바일 컴퓨팅 디바이스들(106)를 업데이트할지의 여부를 결정할 수 있다. 그렇지 않은 경우, 방법(700)은 블록 714로 돌아가며, 여기서 차량내 컴퓨팅 시스템(102)은 위에서 논의된 바와 같이 현재의 태스크 상태의 모니터링을 재개한다.
그러나, 하나 이상의 모바일 컴퓨팅 디바이스들(106)이 현재의 태스크 상태로 업데이트되어야 하는 것으로 차량내 컴퓨팅 시스템(102)이 결정한 경우, 방법(700)은 블록 722로 진행하며, 여기서 업데이트될 모바일 컴퓨팅 디바이스들(106)이 결정된다. 위에서 논의된 바와 같이, 업데이트될 특정 모바일 컴퓨팅 디바이스들(106)은 현재의 태스크의 컨텍스트 데이터에 포함되어 있을 수 있고 또는 단순히 차량내 컴퓨팅 시스템(102)의 사용자에 의해서 입력될 수도 있다.
블록 724에서, 차량내 컴퓨팅 시스템(102)은 모바일 컴퓨팅 디바이스(들)(106)과의 통신을 확립하고, 현재의 태스크 상태를 모바일 컴퓨팅 디바이스(106)에게 전달한다. 방법(700)은 후속적으로 블록 714로 돌아가며, 여기서 차량내 컴퓨팅 시스템(102)은 위에서 논의된 바와 같이 현재의 태스크 상태의 모니터링을 재개한다. 이러한 방식으로, 각각의 선택된 태스크들이, 내비게이션 데이터 및 각 태스크와 관련된 컨텍스트 데이터에 기초하여 완료될 수 있다.
다시 도 5의 블록 530을 참조하면, 몇몇 실시예들에서, 선택된 태스크들 중의 하나는 모바일 컴퓨팅 디바이스(106)의 사용자와 랑데뷰하는 것을 필요로 할 수 있다(예컨대, 사용자 픽업). 그러한 경우, 차량내 컴퓨팅 시스템(102)은 도 8에 도시된 바와 같은 사용자의 모바일 컴퓨팅 디바이스(106)와의 랑데뷰를 조정하는 방법(800)을 실행할 수 있다. 방법(800)은 블록 802로 시작되며, 여기서 차량내 컴퓨팅 시스템(102)은 모바일 컴퓨팅 디바이스(106)의 사용자와 랑데뷰할지의 여부를 결정한다. 그러한 경우, 방법(800)은 블록 804로 진행하며, 여기서 차량내 컴퓨팅 시스템(102)은 (예컨대, 네트워크(108)를 통하여) 모바일 컴퓨팅 디바이스(106)와의 통신을 확립한다. 블록 806에서, 차량내 컴퓨팅 시스템(102)은 모바일 컴퓨팅 디바이스(106)의 사용자의 현재 위치를 결정한다. 예를 들어, 모바일 컴퓨팅 디바이스(106)는 그것의 현재 위치를 결정하여 그 위치를 차량내 컴퓨팅 시스템(102)에게 전달할 수 있다.
블록 808에서, 차량내 컴퓨팅 시스템(102)은 내비게이션 모듈(308)로부터 모바일 컴퓨팅 디바이스(106) 사용자의 현재 위치와 관련된 내비게이션 데이터를 검색한다. 예를 들어, 차량내 컴퓨팅 시스템(102)은 모바일 컴퓨팅 디바이스(106)의 현재 위치 영역에 대한 로드맵에 액세스할 수 있다. 또한, 블록 810에서, 차량내 컴퓨팅 시스템(102)은 모바일 컴퓨팅 디바이스(106) 사용자의 현재 위치와 관련된 컨텍스트 데이터를 검색한다. 이러한 컨텍스트 데이터는 모바일 컴퓨팅 디바이스(106)의 현재 위치에 관한 속성들을 정의할 수 있으며, 이것은 랑데뷰 위치를 결정하는데 사용될 수 있다. 예를 들어, 컨텍스트 데이터는 특정 주차장 입구가 일방 통행이라는 것 또는 특정 거리가 하루 중의 특정 시간 동안 일방 통행이라는 것을 알리는 제약사항 데이터를 제공할 수 있다.
블록 812에서, 차량내 컴퓨팅 시스템(102)은 내비게이션 데이터, 검색된 컨텍스트 데이터, 및 모바일 컴퓨팅 디바이스(106)의 현재 위치에 기초하여, 모바일 컴퓨팅 디바이스(106)의 사용자를 만날 랑데뷰 위치 및 시간을 결정한다. 몇몇 실시예들에서, 차량내 컴퓨팅 시스템(102)은 예를 들어, 모바일 컴퓨팅 디바이스(106)의 사용자로부터 이동 거리를 감소시키는 것, 랑데뷰까지의 시간을 감소시키는 것, 드라이빙 시간이나 거리를 감소시키는 것, 및/또는 이와 유사한 다른 것과 같은 하나 이상의 목적들을 랑데뷰 위치를 결정함에 있어서 달성하도록 시도할 수 있다. 후속적으로, 블록 814에서, 차량내 컴퓨팅 시스템(102)은 결정된 랑데뷰 위치 및/또는 만남/픽업 기간을 네트워크(108)를 통하여 모바일 컴퓨팅 디바이스(106)로 전달한다. 몇몇 실시예들에서, 모바일 컴퓨팅 디바이스(106)의 사용자는 결정된 랑데뷰 위치 및/또는 시간을 수락, 거부, 또는 수정할 수 있다.
다시 도 5를 참조하면, 선택된 태스크들이 완료된 이후에, 블록 534에서, 차량내 컴퓨팅 시스템(102)은 마스터 할일 목록(150)의 태스크들을 업데이트하여 그 업데이트된 태스크들의 목록을 차량(104)의 사용자에게 제공한다. 이러한 방식으로, 사용자는 소정 드라이빙 세션 동안에 완료될 마스터 할일 목록(150) 중의 태스크들을 선택할 수 있고, 선택된 태스크들을 완료하기 위하여 할일 목록 기반 내비게이션을 수신할 수 있으며, 이것은 각 드라이빙 세션 동안 및 그 이후에 업데이트된다.
위에서는 차량내 컴퓨팅 시스템(102)이 차량(104)의 컴포넌트가 되거나, 이에 결합되거나, 이에 통합되는 것으로 기술되었지만, 다른 실시예들에서, 차량내 컴퓨팅 시스템(102)은 차량(104)의 운전자 또는 승객이 휴대하는 모바일 컴퓨팅 시스템으로서 구현될 수도 있다. 예를 들어, 차량내 컴퓨팅 시스템(102)은 스마트폰, 컴퓨팅 태블릿, 노트북 컴퓨터, 모바일 인터넷 디바이스, 랩탑 컴퓨터, 또는 다른 모바일 컴퓨팅 디바이스로 구현될 수도 있다. 마찬가지로, 내비게이션 회로(132) 및 내비게이션 모듈(308)은 위에서 논의된 바와 같이 내비게이션 데이터를 검색하기 위하여 차량내 컴퓨팅 시스템(102)이 통신할 수 있는 독립형 디바이스(예컨대, 모바일 내비게이션 디바이스)로 구현될 수도 있다.
본 발명이 도면들 및 상기 설명에 상세하게 예시되고 설명되었지만, 그 예시 및 설명은 예시적인 것으로 그 자체에 한정되는 것은 아닌 것으로 간주되며, 예시적인 실시예들만이 도시되고 설명되었고, 본 개시의 사상 내에 있는 모든 변형들 및 변경들은 보호되는 것이 바람직하다는 것이 이해될 것이다.

Claims (47)

  1. 차량에 위치되는 차량내(in-vehicle) 컴퓨팅 디바이스로서,
    내비게이션 데이터를 생성하는 내비게이션 회로와,
    마스터 할일 목록(master to-do-list) 및 컨텍스트 데이터베이스(context database)를 저장한 데이터 스토리지―상기 마스터 할일 목록은 복수의 태스크들(tasks)을 포함하고 상기 컨텍스트 데이터베이스는 상기 복수의 태스크들과 관련된 컨텍스트 데이터를 포함함―와,
    프로세서와,
    복수의 인스트럭션들을 저장한 메모리를 포함하고,
    상기 프로세서가 상기 복수의 인스트럭션들을 실행하는 것에 응답하여, 상기 차량내 컴퓨팅 시스템이,
    상기 차량의 탑승자에게 상기 마스터 할일 목록을 제공하고,
    상기 마스터 할일 목록으로부터 태스크들의 선택을 수신하고,
    상기 선택된 태스크들의 각각과 연관된 위치에 대하여 상기 내비게이션 회로에 의하여 내비게이션 데이터를 결정하고,
    상기 선택된 태스크들의 각각과 연관된 컨텍스트 데이터베이스로부터 컨텍스트 데이터를 검색하되, 상기 컨텍스트 데이터는 상기 선택된 태스크의 속성을 정의하고,
    상기 내비게이션 데이터 및 상기 컨텍스트 데이터에 기초하여 상기 선택된 태스크들의 우선순위의 순서를 결정하고,
    상기 선택된 태스크들에 대한 내비게이션 정보를 제공하도록 야기시키는
    차량내 컴퓨팅 디바이스.
  2. 제 1 항에 있어서,
    상기 태스크들의 선택을 수신하는 것은, 상기 차량내 컴퓨팅 시스템의 디스플레이 상에서 상기 사용자에게 디스플레이되는 사용자 인터페이스로부터 사용자의 태스크들의 선택을 수신하는 것을 포함하는
    차량내 컴퓨팅 디바이스.
  3. 제 1 항에 있어서,
    상기 내비게이션 데이터를 결정하는 것은,
    기점(origination) 위치와 각각의 태스크에 대한 목적지 위치를 식별하는 것과,
    상기 기점 위치로부터 상기 각각의 태스크와 연관된 목적지 위치로의 내비게이션 경로를 결정하는 것을 포함하는
    차량내 컴퓨팅 디바이스.
  4. 제 3 항에 있어서,
    상기 내비게이션 경로를 결정하는 것은,
    상기 기점 위치로부터 상기 각각의 태스크와 연관된 목적지 위치까지의 추정되는 이동 시간을 결정하는 것을 포함하는
    차량내 컴퓨팅 디바이스.
  5. 제 4 항에 있어서,
    하나의 태스크의 기점 위치는 다른 태스크의 목적지에 대응하는
    차량내 컴퓨팅 디바이스.
  6. 제 5 항에 있어서,
    상기 선택된 태스크들의 우선순위의 순서를 결정하는 것은, 상기 기점 위치 및 상기 각각의 태스크의 목적지 위치에 기초하여 상기 선택된 태스크들의 상기 우선순위의 순서를 결정하는 것을 포함하는
    차량내 컴퓨팅 디바이스.
  7. 제 1 항에 있어서,
    상기 컨텍스트 데이터를 검색하는 것은, (i) 상기 선택된 태스크들 중의 적어도 하나를 완료하기 위한 기한(due date)을 나타내는 컨텍스트 데이터를 검색하는 것과, (ii) 후속 태스크들을 시작하기 이전에 상기 차량내 컴퓨팅 시스템의 사용자의 집으로 복귀하기 위한 요구사항을 나타내는 컨텍스트 데이터를 검색하는 것과, (iii) 상기 선택된 태스크들 중 하나의 태스크가 완료될 수 있는 시간대를 나타내는 컨텍스트 데이터를 검색하는 것 중의 적어도 하나를 포함하는
    차량내 컴퓨팅 디바이스.
  8. 제 1 항에 있어서,
    상기 선택된 태스크들의 우선순위의 순서를 결정하는 것은, (i) 상기 선택된 태스크들을 완료하는데 필요한 전체 이동 시간을 최소화하도록, 상기 선택된 태스크들의 우선순위의 순서를 결정하는 것과 (ii) 상기 선택된 태스크들을 완료하기 위한 전체 이동 거리를 최소화하도록, 상기 선택된 태스크들의 우선순위의 순서를 결정하는 것 중의 적어도 하나를 포함하는
    차량내 컴퓨팅 디바이스.
  9. 제 1 항에 있어서,
    상기 복수의 인스트럭션들은, 상기 차량내 컴퓨팅 시스템이 현재의 태스크 완료의 진행상황에 대한 상태 업데이트를 모바일 컴퓨팅 디바이스로 전달하도록 더 야기시키는
    차량내 컴퓨팅 디바이스.
  10. 제 9 항에 있어서,
    상기 상태 업데이트를 전달하는 것은,
    상기 현재의 태스크가 완료된 것을 판정하는 것과,
    상기 현재의 태스크가 완료된 것을 상기 모바일 컴퓨팅 디바이스에게 전달하는 것을 포함하는
    차량내 컴퓨팅 디바이스.
  11. 제 10 항에 있어서,
    상기 현재의 태스크가 완료된 것을 판정하는 것은,
    제 2 모바일 컴퓨팅 디바이스와 통신하여 상기 제 2 모바일 컴퓨팅 디바이스의 위치를 결정하는 것과,
    상기 제 2 모바일 컴퓨팅 디바이스의 위치가 상기 차량내 컴퓨팅 시스템에 대한 기준 근접도(reference proximity) 내에 존재하는 것을 확인하는 것을 포함하는
    차량내 컴퓨팅 디바이스.
  12. 제 10 항에 있어서,
    상기 현재의 태스크가 완료된 것을 판정하는 것은,
    상기 차량내 컴퓨팅 시스템이 포함되어 있는 차량의 현재 위치를 결정하는 것과,
    상기 차량의 현재 위치가 상기 현재의 태스크와 연관된 목적지 위치와 동일한 것을 확인하는 것을 포함하는
    차량내 컴퓨팅 디바이스.
  13. 제 10 항에 있어서,
    상기 현재의 태스크가 완료된 것을 판정하는 것은, 구매의 확인(confirmation)을 수신하는 것을 포함하는
    차량내 컴퓨팅 디바이스.
  14. 제 10 항에 있어서,
    상기 현재의 태스크가 완료된 것을 판정하는 것은, 승객 시트(passenger seat)가 사용중이라는 센서 데이터를 상기 차량의 센서로부터 수신하는 것을 포함하는
    차량내 컴퓨팅 디바이스.
  15. 차량내 컴퓨팅 시스템에 의하여 유지되는 할일 목록으로부터 태스크들의 선택을 수신하는 단계―상기 할일 목록은 복수의 태스크들을 포함함―와,
    상기 차량내 컴퓨팅 시스템에 의하여, 상기 선택된 태스크들의 각각과 연관된 위치에 대한 내비게이션 데이터를 결정하는 단계와,
    상기 차량내 컴퓨팅 시스템의 데이터 스토리지로부터 상기 선택된 태스크들의 각각과 연관된 컨텍스트 데이터를 검색하는 단계―상기 컨텍스트 데이터는 상기 선택된 태스크의 속성을 정의함―와,
    상기 차량내 컴퓨팅 시스템에 의하여, 상기 내비게이션 데이터 및 상기 컨텍스트 데이터에 기초하여 상기 선택된 태스크들의 우선순위의 순서를 결정하는 단계와,
    상기 선택된 태스크들을 위하여 상기 차량내 컴퓨팅 시스템에 대한 내비게이션 정보를 제공하는 단계를 포함하는
    방법.
  16. 제 15 항에 있어서,
    상기 태스크들의 선택을 수신하는 것은, 상기 차량내 컴퓨팅 시스템의 사용자 인터페이스로부터 사용자의 태스크들의 선택을 수신하는 것을 포함하는
    방법.
  17. 제 15 항에 있어서,
    상기 태스크들의 선택을 수신하는 것은, 모바일 컴퓨팅 디바이스로부터 상기 태스크들의 선택을 무선으로 수신하는 것을 포함하는
    방법.
  18. 제 15 항에 있어서,
    상기 내비게이션 데이터를 결정하는 것은, 기점 위치 및 각각의 태스크에 대한 목적지 위치를 식별하는 것과, 상기 기점 위치로부터 상기 각각의 태스크와 연관된 목적지 위치로의 내비게이션 경로를 결정하는 것을 포함하는
    방법.
  19. 제 18 항에 있어서,
    상기 내비게이션 경로를 결정하는 것은, 상기 기점 위치로부터 상기 각각의 태스크와 연관된 목적지 위치까지의 추정되는 이동 시간을 결정하는 것을 포함하는
    방법.
  20. 제 19 항에 있어서,
    하나의 태스크의 기점 위치는 다른 태스크의 목적지에 대응하는
    방법.
  21. 제 18 항에 있어서,
    상기 선택된 태스크들의 우선순위의 순서를 결정하는 것은, 상기 기점 위치 및 상기 각각의 태스크의 목적지 위치에 기초하여 상기 선택된 태스크들의 우선순위의 순서를 결정하는 것을 포함하는
    방법.
  22. 제 15 항에 있어서,
    상기 컨텍스트 데이터를 검색하는 것은, 상기 선택된 태스크들 중의 적어도 하나를 완료하기 위한 기한을 식별하는 컨텍스트 데이터를 검색하는 것을 포함하는
    방법.
  23. 제 15 항에 있어서,
    상기 컨텍스트 데이터를 검색하는 것은, 후속 태스크들을 시작하기 이전에 상기 차량내 컴퓨팅 시스템의 사용자의 집으로 복귀하기 위한 요구사항을 식별하는 컨텍스트 데이터를 검색하는 것을 포함하는
    방법.
  24. 제 15 항에 있어서,
    상기 컨텍스트 데이터를 검색하는 것은, 상기 선택된 태스크들 중 하나의 태스크가 완료될 수 있는 시간대를 식별하는 컨텍스트 데이터를 검색하는 것을 포함하는
    방법.
  25. 제 15 항 및 제 22 항 내지 제 24 항 중의 어느 한 항에 있어서,
    상기 선택된 태스크들의 우선순위의 순서를 결정하는 것은, 상기 선택된 태스크들을 완료하는데 필요한 전체 이동 시간을 최소화하도록, 상기 선택된 태스크들의 우선순위의 순서를 결정하는 것을 포함하는
    방법.
  26. 제 15 항 및 제 22 항 내지 제 24 항 중의 어느 한 항에 있어서,
    상기 선택된 태스크들의 우선순위의 순서를 결정하는 것은, 상기 선택된 태스크들을 완료하기 위한 전체 이동 거리를 최소화하도록, 상기 선택된 태스크들의 우선순위의 순서를 결정하는 것을 포함하는
    방법.
  27. 제 15 항 및 제 22 항 내지 제 24 항 중의 어느 한 항에 있어서,
    현재의 태스크 완료의 진행상황에 대한 상태 업데이트를 모바일 컴퓨팅 디바이스로 전달하는 단계를 더 포함하는
    방법.
  28. 제 27 항에 있어서,
    상기 상태 업데이트를 전달하는 것은,
    상기 차량내 컴퓨팅 시스템에 의하여, 상기 차량내 컴퓨팅 시스템이 위치해 있는 차량의 현재 위치를 결정하는 것과,
    상기 차량의 현재 위치를 상기 모바일 컴퓨팅 디바이스로 전달하는 것을 포함하는
    방법.
  29. 제 27 항에 있어서,
    상기 상태 업데이트를 전달하는 것은,
    상기 차량내 컴퓨팅 시스템에 의하여, 목적지 위치에 대한 추정되는 도착 시간을 결정하는 것과,
    상기 추정되는 도착 시간을 상기 모바일 컴퓨팅 디바이스로 전달하는 것을 포함하는
    방법.
  30. 제 27 항에 있어서,
    상기 상태 업데이트를 전달하는 것은,
    상기 차량내 컴퓨팅 시스템에 의하여, 상기 현재의 태스크가 완료된 것을 판정하는 것과,
    상기 현재의 태스크가 완료된 것을 상기 모바일 컴퓨팅 디바이스로 전달하는 것을 포함하는
    방법.
  31. 제 30 항에 있어서,
    상기 현재의 태스크가 완료된 것을 판정하는 것은,
    제 2 모바일 컴퓨팅 디바이스와 통신하여 상기 제 2 모바일 컴퓨팅 디바이스의 위치를 결정하는 것과,
    상기 제 2 모바일 컴퓨팅 디바이스의 위치가 상기 차량내 컴퓨팅 시스템에 대한 기준 근접도(reference proximity) 내에 존재하는 것을 확인하는 것을 포함하는
    방법.
  32. 제 30 항에 있어서,
    상기 현재의 태스크가 완료된 것을 판정하는 것은,
    상기 차량내 컴퓨팅 시스템이 포함되어 있는 차량의 현재 위치를 결정하는 것과,
    상기 차량의 현재 위치가 상기 현재의 태스크와 관련된 목적지 위치와 동일한 것을 확인하는 것을 포함하는
    방법.
  33. 제 30 항에 있어서,
    상기 현재의 태스크가 완료된 것을 판정하는 것은, 구매의 확인(confirmation)을 수신하는 것을 포함하는
    방법.
  34. 제 30 항에 있어서,
    상기 현재의 태스크가 완료된 것을 판정하는 것은, 승객 시트가 사용중이라는 센서 데이터를 상기 차량의 센서로부터 수신하는 것을 포함하는
    방법.
  35. 제 15 항 및 제 22 항 내지 제 24 항 중의 어느 한 항에 있어서,
    상기 선택된 태스크들 중의 제 1 태스크는 모바일 컴퓨팅 디바이스의 사용자를 만나는 것을 포함하며,
    상기 방법은,
    상기 차량내 컴퓨팅 시스템을 사용하여 상기 모바일 컴퓨팅 디바이스와 통신함으로써 상기 모바일 컴퓨팅 디바이스의 사용자의 현재 위치를 결정하는 단계와,
    상기 모바일 컴퓨팅 디바이스의 사용자의 위치, 상기 내비게이션 데이터 및 상기 컨텍스트 데이터에 기초하여 목적지 위치를 결정하는 단계를 더 포함하는
    방법.
  36. 제 35 항에 있어서,
    상기 컨텍스트 데이터는 상기 사용자의 현재 위치와 관련된 컨텍스트 데이터를 포함하는
    방법.
  37. 차량내 컴퓨팅 디바이스로서,
    프로세서와,
    복수의 인스트럭션들을 저장한 메모리를 포함하고,
    상기 프로세서가 상기 복수의 인스트럭션들을 실행하는 것에 응답하여, 상기 차량내 컴퓨팅 시스템이, 제 15 항 내지 제 36 항 중의 어느 한 항에 기재된 방법을 수행하도록 야기시키는
    차량내 컴퓨팅 디바이스.
  38. 복수의 인스트럭션들을 포함하는 하나 이상의 머신 판독가능한 매체로서,
    상기 복수의 인스트럭션들이 실행하는 것에 응답하여, 차량내 컴퓨팅 시스템이 제 15 항 내지 제 36 항 중의 어느 한 항에 기재된 방법을 수행하도록 야기시키는
    하나 이상의 머신 판독가능한 매체.
  39. 차량의 차량내 컴퓨팅 시스템에 의해 유지되는 할일 목록으로부터 태스크들의 선택을 수신하는 단계―상기 할일 목록은 복수의 태스크들을 포함함―와,
    상기 차량내 컴퓨팅 시스템에 의하여, 기점 위치 및 각각의 선택된 태스크에 대한 목적지 위치에 관한 내비게이션 데이터를 결정하는 단계와,
    상기 차량내 컴퓨팅 시스템의 데이터 스토리지로부터 상기 선택된 태스크들의 각각과 관련된 컨텍스트 데이터를 검색하는 단계―상기 컨텍스트 데이터는 상기 선택된 태스크 및 상기 선택된 태스크의 목적지 위치 중의 적어도 하나의 속성을 정의함―와,
    상기 차량내 컴퓨팅 시스템에 의하여, 상기 내비게이션 데이터 및 상기 컨텍스트 데이터에 기초하여 상기 선택된 태스크들의 우선순위의 순서를 결정하는 단계와,
    상기 선택된 태스크들을 대한 내비게이션 정보를 상기 차량내 컴퓨팅 시스템에 제공하는 단계와,
    현재의 태스크 완료의 진행상황에 대한 상태 업데이트를 모바일 컴퓨팅 디바이스로 전달하는 단계를 포함하는
    방법.
  40. 제 39 항에 있어서,
    상기 선택된 태스크들의 우선순위의 순서를 결정하는 것은, 상기 선택된 태스크들을 완료하는데 필요한 전체 이동 시간을 최소화하도록, 상기 선택된 태스크들의 우선순위의 순서를 결정하는 것을 포함하는
    방법.
  41. 제 39 항에 있어서,
    상기 선택된 태스크들의 우선순위의 순서를 결정하는 것은, 상기 선택된 태스크들을 완료하기 위한 전체 이동 거리를 최소화하도록, 상기 선택된 태스크들의 우선순위의 순서를 결정하는 것을 포함하는
    방법.
  42. 제 39 항에 있어서,
    상기 상태 업데이트를 전달하는 것은,
    상기 차량내 컴퓨팅 시스템에 의하여, 목적지 위치에 대한 추정되는 도착 시간을 결정하는 것과,
    상기 추정되는 도착 시간을 상기 모바일 컴퓨팅 디바이스로 전달하는 것을 포함하는
    방법.
  43. 제 39 항에 있어서,
    상기 상태 업데이트를 전달하는 것은,
    상기 차량내 컴퓨팅 시스템에 의하여, 상기 현재의 태스크가 완료된 것을 판정하는 것과,
    상기 현재의 태스크가 완료된 것을 상기 모바일 컴퓨팅 디바이스로 전달하는 것을 포함하는
    방법.
  44. 제 43 항에 있어서,
    상기 현재의 태스크가 완료된 것을 판정하는 것은, 구매의 확인을 수신하는 것을 포함하는
    방법.
  45. 제 3 항에 있어서,
    상기 현재의 태스크가 완료된 것을 판정하는 것은, 승객 시트가 사용중이라는 센서 데이터를 상기 차량의 센서로부터 수신하는 것을 포함하는
    방법.
  46. 차량내 컴퓨팅 디바이스로서,
    프로세서와,
    복수의 인스트럭션들을 저장한 메모리를 포함하고,
    상기 프로세서가 상기 복수의 인스트럭션들을 실행하는 것에 응답하여, 상기 차량내 컴퓨팅 시스템이, 제 39 항 내지 제 43 항 중의 어느 한 항에 기재된 방법을 수행하도록 야기시키는
    차량내 컴퓨팅 디바이스.
  47. 복수의 인스트럭션들을 포함하는 하나 이상의 머신 판독가능한 매체로서,
    상기 복수의 인스트럭션들이 실행하는 것에 응답하여, 차량내 컴퓨팅 시스템이 제 39 항 내지 제 43 항 중의 어느 한 항에 기재된 방법을 수행하도록 야기시키는
    하나 이상의 머신 판독가능한 매체.
KR1020147017746A 2011-12-27 2011-12-27 할일 목록 기반 내비게이션을 위한 방법, 시스템, 및 디바이스 KR20140094028A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2011/067383 WO2013100902A1 (en) 2011-12-27 2011-12-27 Method, system, and device for to-do-list based navigation

Publications (1)

Publication Number Publication Date
KR20140094028A true KR20140094028A (ko) 2014-07-29

Family

ID=48698146

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147017746A KR20140094028A (ko) 2011-12-27 2011-12-27 할일 목록 기반 내비게이션을 위한 방법, 시스템, 및 디바이스

Country Status (10)

Country Link
US (1) US9488479B2 (ko)
EP (1) EP2798305B1 (ko)
JP (1) JP2015501937A (ko)
KR (1) KR20140094028A (ko)
CN (1) CN104011504B (ko)
BR (1) BR112014016109A8 (ko)
CA (1) CA2860461C (ko)
MX (1) MX341510B (ko)
TW (1) TWI561793B (ko)
WO (1) WO2013100902A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102525656B1 (ko) * 2022-11-04 2023-04-25 주식회사 프랭클린테크놀로지 전자 단말에 대한 태스크 관리를 수행할 수 있는 태스크 관리 서비스 서버 및 그 동작 방법

Families Citing this family (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20140094028A (ko) 2011-12-27 2014-07-29 인텔 코포레이션 할일 목록 기반 내비게이션을 위한 방법, 시스템, 및 디바이스
US20140032728A1 (en) * 2012-07-30 2014-01-30 John Conor O'neil Location-based task activation
US20140214470A1 (en) * 2013-01-29 2014-07-31 The American Legion System, method and apparatus for managing the process of filing for benefits claims
KR102201727B1 (ko) * 2013-08-08 2021-01-12 엘지전자 주식회사 이동 단말기 및 그 제어방법
US20150058036A1 (en) * 2013-08-23 2015-02-26 Flagship Services Group, LLC Protecting payment interests of medicare
US20160328272A1 (en) * 2014-01-06 2016-11-10 Jonson Controls Technology Company Vehicle with multiple user interface operating domains
US9710571B2 (en) 2014-03-07 2017-07-18 Oracle International Corporation Graphical top-down planning system
US9423943B2 (en) 2014-03-07 2016-08-23 Oracle International Corporation Automatic variable zooming system for a project plan timeline
WO2015137012A1 (ja) * 2014-03-12 2015-09-17 日産自動車株式会社 車両操作装置
JP2015212883A (ja) * 2014-05-02 2015-11-26 株式会社ランディード 情報提示システム、装置、方法、およびコンピュータプログラム
US9418348B2 (en) 2014-05-05 2016-08-16 Oracle International Corporation Automatic task assignment system
US9424102B2 (en) 2014-05-14 2016-08-23 International Business Machines Corporation Task grouping by context
US9746562B2 (en) * 2014-06-30 2017-08-29 The Boeing Company Portable ground based augmentation system
US9880013B2 (en) * 2014-08-01 2018-01-30 Ford Global Technologies, Llc Method and system for vehicle refueling
US20160071064A1 (en) * 2014-09-06 2016-03-10 Sugarcrm Inc. Context driven task creation and management
NZ733863A (en) 2015-01-20 2019-04-26 Beijing Didi Infinity Technology & Dev Co Ltd Systems and methods for providing information for an on-demand service
CN104732471A (zh) * 2015-04-03 2015-06-24 北京嘀嘀无限科技发展有限公司 汇合位置选择方法与***
US10643157B2 (en) 2015-02-03 2020-05-05 Oracle International Corporation Task progress update history visualization system
US10496943B2 (en) 2015-03-30 2019-12-03 Oracle International Corporation Visual task assignment system
US10311384B2 (en) * 2015-07-29 2019-06-04 Microsoft Technology Licensing, Llc Automatic creation and maintenance of a taskline
CN105424025B (zh) * 2015-10-31 2019-02-05 Oppo广东移动通信有限公司 一种室内导航的方法及移动终端
FR3052860B1 (fr) * 2016-06-15 2019-04-05 Peugeot Citroen Automobiles Sa Dispositif d'assistance d'un conducteur de vehicule a conduite autonome, pour la gestion temporelle de taches
CN106840182B (zh) * 2016-12-09 2022-07-22 斑马信息科技有限公司 导航***和导航方法
US11157863B2 (en) * 2016-12-21 2021-10-26 United Parcel Service Of America, Inc. Peer-based mobile computing entity management system
WO2018164435A1 (en) 2017-03-08 2018-09-13 Samsung Electronics Co., Ltd. Electronic apparatus, method for controlling the same, and non-transitory computer readable recording medium
CN106969780A (zh) * 2017-03-18 2017-07-21 东莞市银通机械科技有限公司 一种具有行程规划以及提醒功能的导航控制方法
CN106871920B (zh) * 2017-03-30 2020-05-26 联想(北京)有限公司 导航方法以及应用该导航方法的电子设备
DE102017206067A1 (de) * 2017-04-10 2018-10-11 Bayerische Motoren Werke Aktiengesellschaft Verfahren, Computer-lesbares Medium, und System zum Bereitstellen wenigstens eines Navigationsziels über eine Kommunikationsschnittstelle eines Fahrzeugs
TWI711985B (zh) * 2017-05-19 2020-12-01 中華電信股份有限公司 結合物聯網提供行程規劃服務的方法
CN107436152B (zh) * 2017-08-21 2020-09-22 千寻位置网络有限公司 基于高精度位置的交互式多事件处理方法
US11741406B2 (en) * 2018-01-31 2023-08-29 Microsoft Technology Licensing, Llc Location-based task suggestions
CN111242522B (zh) * 2018-11-28 2023-09-29 顺丰科技有限公司 任务监控方法、装置、设备及其存储介质
JP7196633B2 (ja) * 2019-01-23 2022-12-27 トヨタ自動車株式会社 タスク管理装置およびタスク管理方法
US11609580B2 (en) * 2019-10-17 2023-03-21 Tusimple, Inc. Workflow management system
CN112751889A (zh) * 2019-10-30 2021-05-04 上海博泰悦臻电子设备制造有限公司 用于信息处理的方法、设备和计算机存储介质
CN113670298A (zh) * 2019-11-27 2021-11-19 支付宝(杭州)信息技术有限公司 基于增强现实的业务办理引导方法以及装置
US11875617B2 (en) * 2019-12-23 2024-01-16 Robert Bosch Gmbh Cloud connectivity for in-vehicle sensing modules
US11843667B2 (en) 2020-08-17 2023-12-12 Toyota Motor North America, Inc. Real time boot for secure distributed systems
CN112069409B (zh) * 2020-09-08 2023-08-01 北京百度网讯科技有限公司 基于待办推荐信息的方法和装置、计算机***和存储介质
CN112229393B (zh) * 2020-10-09 2021-04-20 交通运输部科学研究院 一种基于组织流程的导航方法及装置
US20220196419A1 (en) * 2020-12-23 2022-06-23 Rivian Ip Holdings, Llc Decision support for trip planning based on energy requirements
CN113442838A (zh) * 2021-01-11 2021-09-28 安波福电子(苏州)有限公司 车载中控***及其使用方法

Family Cites Families (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3443975B2 (ja) 1994-08-31 2003-09-08 株式会社エクォス・リサーチ 案内装置
JP2000146617A (ja) 1998-11-09 2000-05-26 Alpine Electronics Inc 携帯情報端末装置接続ナビゲーション装置
JP2001141478A (ja) 1999-11-12 2001-05-25 Alpine Electronics Inc ナビゲーションシステム
DE10028659A1 (de) * 2000-06-09 2001-12-13 Nokia Mobile Phones Ltd Elektronischer Terminplaner
JP2002083393A (ja) 2000-09-07 2002-03-22 Denso Corp スケジュール管理システム及び車載装置
US6622087B2 (en) * 2000-12-26 2003-09-16 Intel Corporation Method and apparatus for deriving travel profiles
US9558475B2 (en) 2002-05-06 2017-01-31 Avaya Inc. Location based to-do list reminders
JP2004227497A (ja) * 2003-01-27 2004-08-12 Sumitomo Electric Ind Ltd 乗車人数送信方法、車載通信システム及びナビゲーション装置
US20070138347A1 (en) * 2004-12-16 2007-06-21 Ehlers Gregory A System and method for providing information to an operator of a vehicle
TWI258592B (en) 2004-05-19 2006-07-21 Chunghwa Telecom Co Ltd Taxi operation security and dispatch monitoring system employing wireless communication and vehicle positioning technique
KR100667489B1 (ko) 2004-10-28 2007-01-10 주식회사 현대오토넷 차량용 네비게이션 시스템을 이용한 휴대폰 사용자 위치정보 표시 장치 및 그 방법
US20060217996A1 (en) * 2005-03-23 2006-09-28 E2Interactive, Inc. D/B/A E2Interactive, Inc. Point-of-sale activation of media device account
TWI304955B (en) 2005-07-19 2009-01-01 Mitac Int Corp A method for automatically planning path
JP2007227497A (ja) * 2006-02-22 2007-09-06 Seiko Instruments Inc 半導体装置の製造方法
WO2008002127A1 (en) 2006-06-27 2008-01-03 Tomtom International B.V. Computer system and method for providing warnings to a user for completing tasks from the task list
ATE491135T1 (de) * 2006-10-02 2010-12-15 Harman Becker Automotive Sys Intelligente zieleinstellung für navigationssysteme
US7865300B2 (en) * 2006-11-15 2011-01-04 International Business Machines Corporation System and method for providing turn-by-turn directions to a moving waypoint
JP4948275B2 (ja) * 2007-06-14 2012-06-06 日立オートモティブシステムズ株式会社 迎車システムおよび携帯情報端末とナビゲーション装置ならびに誘導方法
JP2009048274A (ja) * 2007-08-15 2009-03-05 Nec Fielding Ltd 送迎管理システム、送迎確認サーバ、送迎管理方法及び送迎管理プログラム
KR101387503B1 (ko) * 2007-08-20 2014-04-21 엘지전자 주식회사 위치 관련 정보 관리 기능을 갖는 단말기 및 이러한 기능을구현하는 프로그램을 저장한 매체
JP5509521B2 (ja) * 2007-11-27 2014-06-04 日本電気株式会社 情報処理装置
KR100939732B1 (ko) 2007-12-18 2010-01-29 한국전자통신연구원 네비게이션 단말기를 이용한 일정 관리 방법 및 이를 위한네비게이션 단말기
US8700310B2 (en) * 2008-02-05 2014-04-15 Madhavi Jayanthi Mobile device and server for facilitating GPS based services
TWI368142B (en) 2008-03-14 2012-07-11 Compal Communications Inc Location aided noting system and method thereof
CN101556658A (zh) 2008-04-08 2009-10-14 深圳市莱科电子技术有限公司 一种与定位导航相结合的日程规划管理***
KR101054287B1 (ko) * 2008-07-03 2011-08-08 삼성전자주식회사 휴대단말기에서 위치정보 기반 서비스를 제공하는 방법 및 이를 구현하는 휴대 단말기
KR20100045296A (ko) 2008-10-23 2010-05-03 김현성 네비게이션 장치, 네비게이션 장치를 이용한 일정 관리 시스템 및 방법
TW201040498A (en) 2009-05-15 2010-11-16 Kitravel Travel planning system and the method thereof
KR20110052386A (ko) 2009-11-12 2011-05-18 현대모비스 주식회사 내비게이션 시스템의 주행경로 탐색방법
DE102009047696A1 (de) * 2009-12-09 2011-06-16 Robert Bosch Gmbh Assistenzsystem mit Schnittstelle zur Synchronisierung mit einem Planungsgerät
CN101788302B (zh) * 2010-01-26 2012-02-22 东软集团股份有限公司 导航装置及其方法
JP5454183B2 (ja) * 2010-02-04 2014-03-26 株式会社デンソー 行程計画装置、その方法、およびそのプログラム
US8457883B2 (en) * 2010-04-20 2013-06-04 Telenav, Inc. Navigation system with calendar mechanism and method of operation thereof
US9171273B2 (en) * 2011-02-16 2015-10-27 The Boeing Company Integrated electronic checklist display system
KR20140094028A (ko) 2011-12-27 2014-07-29 인텔 코포레이션 할일 목록 기반 내비게이션을 위한 방법, 시스템, 및 디바이스

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102525656B1 (ko) * 2022-11-04 2023-04-25 주식회사 프랭클린테크놀로지 전자 단말에 대한 태스크 관리를 수행할 수 있는 태스크 관리 서비스 서버 및 그 동작 방법

Also Published As

Publication number Publication date
EP2798305B1 (en) 2018-11-21
BR112014016109A8 (pt) 2017-07-04
EP2798305A4 (en) 2016-02-10
CN104011504A (zh) 2014-08-27
MX2014007323A (es) 2014-09-22
TWI561793B (en) 2016-12-11
EP2798305A1 (en) 2014-11-05
MX341510B (es) 2016-08-23
WO2013100902A1 (en) 2013-07-04
BR112014016109A2 (pt) 2017-06-13
CA2860461C (en) 2017-09-05
CN104011504B (zh) 2019-03-15
CA2860461A1 (en) 2013-07-04
JP2015501937A (ja) 2015-01-19
US20140046590A1 (en) 2014-02-13
TW201341760A (zh) 2013-10-16
US9488479B2 (en) 2016-11-08

Similar Documents

Publication Publication Date Title
KR20140094028A (ko) 할일 목록 기반 내비게이션을 위한 방법, 시스템, 및 디바이스
CA3018756C (en) Casual driver ride sharing
EP2847978B1 (en) Calendar matching of inferred contexts and label propagation
JP4825698B2 (ja) 通信プログラムおよび携帯端末装置
US20200201926A1 (en) Method and device for providing user-customized information
CN103348371A (zh) 使用连接的蜂窝电话的用于车辆环境的日历共享
US10168177B2 (en) Navigation system with destination action mechanism and method of operation thereof
JP2015531913A (ja) プッシュに基づく推奨
US20120066251A1 (en) Correlating transportation data
CN105631640A (zh) 在电子日历中表示到达事件和/或离开事件的行程时间
US20140058659A1 (en) Method for processing electronically stored calendar data in a computer-assisted manner
JP2019057067A (ja) 乗車意図判定装置、乗車意図判定方法および乗車意図判定プログラム
JP2019057265A (ja) 乗車意図判定装置、乗車意図判定方法および乗車意図判定プログラム
AU2013360865B2 (en) Method and apparatus for vehicle usage recording
WO2014028101A1 (en) Transportation sharing based on user activities and statements
WO2014028099A1 (en) User interface elements for transportation sharing
CN112861027A (zh) 电子设备及信息显示方法
US20140047354A1 (en) Transportation sharing based on map locations
JP2012150684A (ja) 情報提供装置、情報提供方法、及び情報提供プログラム
JP6550508B1 (ja) 施設情報提供システム、施設情報提供方法、及び施設情報提供プログラム
WO2015166630A1 (ja) 情報提示システム、装置、方法、およびコンピュータプログラム
KR101263662B1 (ko) 정류소의 공용 디스플레이를 이용한 목적지 안내 방법 및 목적지 안내 시스템
JP4405332B2 (ja) 車載情報端末
KR102552292B1 (ko) 사용자 맞춤형 정보를 제공하는 방법 및 장치
KR102307357B1 (ko) 사용자 맞춤형 정보를 제공하는 방법 및 장치

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
AMND Amendment