KR20170041237A - 미리 결정된 위치 데이터 포인트를 결정하고, 서비스 제공자에게 제공하는 방법 - Google Patents

미리 결정된 위치 데이터 포인트를 결정하고, 서비스 제공자에게 제공하는 방법 Download PDF

Info

Publication number
KR20170041237A
KR20170041237A KR1020177005982A KR20177005982A KR20170041237A KR 20170041237 A KR20170041237 A KR 20170041237A KR 1020177005982 A KR1020177005982 A KR 1020177005982A KR 20177005982 A KR20177005982 A KR 20177005982A KR 20170041237 A KR20170041237 A KR 20170041237A
Authority
KR
South Korea
Prior art keywords
data point
user
location data
location
position data
Prior art date
Application number
KR1020177005982A
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 KR20170041237A publication Critical patent/KR20170041237A/ko

Links

Images

Classifications

    • 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/02Reservations, e.g. for tickets, services or events
    • 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
    • G06Q50/30
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/40Business processes related to the transportation industry

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Development Economics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Traffic Control Systems (AREA)
  • Navigation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

운송 서비스를 구성하는 시스템 및 방법이 설명된다. 시스템은 사용자 디바이스로부터 운송 서비스에 대한 요청을 수신할 수 있다. 요청은 요청된 픽업 위치 데이터 포인트를 포함할 수 있다. 시스템은 요청된 픽업 위치 데이터 포인트와 연관된 미리 결정된 위치 데이터 포인트를 결정한다. 미리 결정된 제 1 위치 데이터 포인트는 요청된 픽업 위치 데이터 포인트와 상이할 수 있다. 시스템은 요청된 픽업 위치 데이터 포인트에 적어도 부분적으로 기초하여 사용자에 대한 운송 서비스를 수행할 드라이버를 선택하고, 선택된 드라이버의 드라이버 디바이스로 미리 결정된 위치 데이터 포인트를 송신한다.

Description

미리 결정된 위치 데이터 포인트를 결정하고, 서비스 제공자에게 제공하는 방법{DETERMINING AND PROVIDING PREDETERMINED LOCATION DATA POINTS TO SERVICE PROVIDERS}
컴퓨팅 디바이스의 사용을 통해 서비스 제공자에 의해 제공될 서비스를 구성(arrange)할 수 있는 시스템이 존재한다. 예를 들어, 사용자는 자신의 모바일 디바이스를 사용하여 서비스에 대한 요청을 행할 수 있고, 시스템은 서비스 제공자를 선택함으로써 사용자에게 제공될 그 서비스를 구성할 수 있다. 다수의 예에서, 서비스의 수행은 사용자에 의해 지정된 위치에 의존할 수 있다.
도 1은 일 실시예에 따라 온-디맨드 서비스를 구성하기 위한 예시적인 시스템을 도시한다.
도 2a는 일 실시예에 따라 온-디맨드 서비스에 대한 위치 데이터 포인트를 결정하기 위한 예시적인 방법을 도시한다.
도 2b 및 도 2c는 지역 및 클러스터링된 위치 데이터 포인트를 도시하는 예시적인 다이어그램을 도시한다.
도 3은 일 실시예 하에서, 클러스터링된 위치 데이터 포인트를 사용자 디바이스에 제공하기 위한 예시적인 방법을 도시한다.
도 4a는 일 실시예에 따라 온-디맨드 서비스를 수행하기에 적합한 또는 가장-적합한 위치를 결정하기 위한 예시적인 방법을 도시한다.
도 4b는 지역 및 미리 결정된 가장-적합한 위치 데이터 포인트를 도시하는 예시적인 다이어그램을 도시한다.
도 4c는 일 실시예 하에서, 사용자 디바이스에 적합한 또는 가장-적합한 위치를 제공하기 위한 예시적인 방법을 도시한다.
도 5는 일 실시예에 따라 사용자에 대한 온-디맨드 서비스를 구성하기 위한 예시적인 방법을 도시한다.
도 6은 본원에서 설명된 실시예가 구현될 수 있는 컴퓨터 시스템을 예시하는 블록도이다.
도 7은 본원에서 설명된 실시예가 구현될 수 있는 모바일 컴퓨팅 디바이스를 예시하는 블록도이다.
본원에서 설명된 예는 온-디맨드 서비스를 수행하기 위한 목적으로 미리 결정된 또는 특정 위치로 이동하도록 사용자 및/또는 서비스 제공자를 보조하거나 안내하는 시스템을 제공한다. 시스템은 온-디맨드 서비스의 수행을 개시하는데 가장 적합한 특정 위치를 결정하기 위해 이전에 수행된 서비스에 대응하는 데이터를 사용할 수 있다(예를 들어, 사용자 및 서비스 제공자가 만나기에 최상의 위치의 핀 포인트(pin point)). 그러한 위치에 대응하는 정보는 선택된 서비스 제공자에 의해 동작되는 모바일 디바이스 및/또는 요청 사용자에 의해 동작되는 모바일 디바이스에 제공될 수 있다.
일 예에서, 운송 어레인지먼트 시스템(컴퓨팅 디바이스, 시스템 또는 데이터 센터 상에서 또는 그에 의해 구현됨)은 사용자 및 서비스 제공자가 그 각자의 컴퓨팅 디바이스를 사용하여 운송 서비스를 요청하고 수신하는 것을 가능케 하는 네트워크 서비스 또는 플랫폼을 제공할 수 있다. 시스템은 하나 이상의 네트워크를 통해 사용자 디바이스로부터 운송 서비스에 대한 요청을 수신할 수 있다. 운송 서비스에 대한 요청은 요청된 픽업 위치 데이터 포인트를 포함할 수 있다. 시스템은 미리 결정된 위치 데이터 포인트가 요청된 픽업 위치 데이터 포인트와 상이한 경우, (만약 있다면) 요청된 픽업 위치 데이터 포인트와 연관된 미리 결정된 위치 데이터 포인트를 식별할 수 있다. 예를 들어, 미리 결정된 위치 데이터 포인트는 특정 지역에 대한 운송 서비스를 개시하기 위한 가장 적합한 위치인 것으로서 시스템에 의해 결정된 위치에 대응할 수 있다. 시스템은 사용자에 대해 운송 서비스를 수행할 드라이버(driver)를 선택할 수 있고, (예를 들어, 요청된 픽업 위치 데이터 포인트와 대조적으로) 미리 결정된 위치 데이터 포인트를 포함하는 초대(invitation)를 선택된 드라이버에 송신할 수 있다.
일부 예에 따라, 시스템은 이전에 요청된 그리고/또는 완료된 운송 서비스에 관한 정보에 기초하여 상이한 지역에 대한 위치 데이터 포인트를 결정할 수 있다. 시스템은 하나 이상의 메모리 자원에 운송 서비스 엔트리를 저장할 수 있으며, 여기서 각각의 운송 서비스 엔트리(본원에서 "트립 엔트리(trip entry)"로서 또한 지칭됨)는 이전에 요청된 그리고/또는 완료된 운송 서비스에 대응한다. 예를 들어, 트립 엔트리는 운송 서비스를 요청했던 사용자의 사용자 식별자, 운송 서비스를 제공했던 드라이버의 드라이버 식별자, 요청된 픽업 위치 데이터 포인트, 개시된 위치 데이터 포인트(예를 들어, 운송 서비스가 시작된 위치), 운송 서비스가 완료됐던 목적지 위치 데이터 포인트, 및/또는 차량 타입, 가격, 취해진 루트 등과 같은 다른 정보를 포함할 수 있다. 본원에서 사용될 때, 위치 데이터 포인트는 특정 위치 또는 포지션을 지정하는 위도 및 경도 좌표에 대응할 수 있다. 다른 예에서, 위치 데이터 포인트는 상이한 타입의 좌표계에서의 좌표에 대응할 수 있다.
시스템은 특정 지역에서 요청된 픽업 위치 데이터 포인트를 각각 포함하는 트립 엔트리의 세트를 결정하고, 그 세트에 대한 개시된 위치 데이터 포인트를 결정하고, 이러한 개시된 위치 데이터 포인트로부터 어느 위치 데이터 포인트가 픽업 위치(예를 들어, 수행을 개시하기 위해 사용자와 서비스 제공자 모두의 편의성 면에서 가장 적합한 위치)로서 가장 적합한지를 결정할 수 있다. 이러한 결정에 기초하여, 시스템은 가장 적합한 위치(들)를 특정 지역(또는 특정 위치)과 연관시키고 정보를 픽업 맵핑 테이블(pickup mapping table)(예를 들어, 본원에서 "픽업 엔트리(pickup entry)"로서 지칭됨)에 엔트리로서 저장할 수 있다. 예를 들어, 스트릿(Street) A 및 스트릿 B의 북서쪽 스트릿 모서리에 있는 지역(지역 X)(예를 들어, 그 스트릿 모서리 상의 건물에 대응함)에 대해, 가장 적합한 위치는 스트릿 모서리의 30 피트 서쪽의 연석 옆에 있는 스트릿 A 상의 포지션에 대응할 수 있다. 지역 X에 대한 픽업 엔트리는 픽업 맵핑 테이블에 저장될 수 있으며 지역 X를 결정된 가장 적합한 위치 데이터 포인트와 연관시킬 수 있다. 추가로 또는 대안으로서, 지역 X에 대한 픽업 엔트리는 다수의 가장 적합한 위치 데이터 포인트와 연관될 수 있다. 시스템은 상이한 지역에 대한 픽업 맵핑 테이블에 다수의 픽업 엔트리를 저장할 수 있다.
일부 예에서, 요청된 픽업 위치 데이터 포인트를 포함하는 운송 서비스에 대한 요청을 시스템이 수신하면, 시스템은 요청된 픽업 위치 데이터 포인트가 픽업 엔트리에서 식별된 지역 내에 포지셔닝되는지를 결정하도록 메모리로부터의 픽업 맵핑 테이블에 액세스할 수 있다. 요청된 픽업 위치가 픽업 엔트리의 지정된 지역 내에 포지셔닝되면, 시스템은 그 지역과 연관된 대응하는 미리 결정된 위치 데이터 포인트(예를 들어, 가장 적합한 위치 데이터 포인트)를 식별할 수 있다. 시스템은 그 후, 운송 서비스에 대한 요청에서 사용자에 의해 지정된 요청된 픽업 위치와 대조적으로, 운송 서비스를 개시하기 위해 드라이버가 도달할 픽업 위치로서 미리 결정된 위치 데이터 포인트를 선택된 드라이버의 디바이스에 송신할 수 있다.
더욱이, 일부 예에서, 시스템은 또한 운송 서비스를 요청하기 위해 사용자가 최상의 픽업 위치를 선택하는 것을 보조할 수 있다. 사용자는 운송 어레인지먼트 시스템과 통신하는 자신의 모바일 디바이스 상에서 지정된 서비스 애플리케이션을 동작시킬 수 있다. 지정된 서비스 애플리케이션이 오픈되거나 런칭되면, 애플리케이션은 사용자 디바이스의 현재 위치가 보여지는 맵 사용자 인터페이스를 디스플레이할 수 있다. 사용자가 픽업되기를 원하는 위치를 나타내는 그래픽 표시자(본원에서 "핀(pin)"으로서 지칭됨)가 또한 맵 사용자 인터페이스 상에 보여 질 수 있다. 사용자는 지정된 서비스 애플리케이션 상의 사용자 입력을 통해 운송 서비스에 대한 요청을 행하기 전에 핀을 이동하여 다른 위치를 선택할 수 있다. 일부 경우에서, 사용자의 디바이스의 현재 위치에 따라, 시스템은 사용자 대신 맵 인터페이스 상의 특정 위치로 핀을 자동으로 포지셔닝하도록 사용자의 디바이스에 위치 데이터 포인트를 제공할 수 있다.
다른 예에서, 시스템은 특정 지역의 요청된 픽업 위치 데이터 포인트를 각각 포함하는 트립 엔트리의 세트를 결정할 수 있다. 시스템은 특정 지역에 대한 단일 위치 데이터 포인트(예를 들어, 본원에서 "클러스터링된 위치 데이터 포인트(clustered location data point)" 또는 "계산된 위치 데이터 포인트(calculated location data point)"로서 지칭됨)를 결정하기 위해 세트의 요청된 픽업 위치 데이터 포인트 상에서 클러스터링 동작(clustering operation)(들)을 수행할 수 있다. 시스템은 지역 및 연관된 클러스터링된 위치 데이터 포인트에 대한 정보를 클러스터 맵핑 테이블에 엔트리(본원에서 "클러스터링된 엔트리(clustered entry)"로서 지칭됨)로서 저장할 수 있다. 나중에, 서비스 애플리케이션이 특정 지역 내에 포지셔닝된 사용자 디바이스 상에서 오픈되었다고 시스템이 결정하면, 시스템은 서비스 애플리케이션으로 하여금, 그 특정 지역과 연관된 클러스터링된 위치 데이터 포인트에 대응하는 포지션에 맵 사용자 인터페이스 상에서 핀을 자동으로 포지셔닝하게 할 수 있다.
더욱이, 본원에서 설명하는 유사한 동작을 사용하여, 시스템은 운송 서비스를 요청하기 위해 사용자가 적합한 픽업 위치를 선택하는 것을 보조하도록 하나 이상의 제안된 위치 데이터 포인트를 제공하기 위해 맵핑 테이블을 사용할 수 있다. 예를 들어, 시스템은 영역에서 복수의 요청된 픽업 위치 데이터 포인트를 결정하고 이러한 요청된 픽업 위치 데이터 포인트에 대해 운송 서비스가 시작했던 복수의 대응하는 개시된 위치 데이터 포인트를 결정할 수 있다. 시스템은 복수의 개시된 위치 데이터 포인트로부터, 운송 서비스를 개시하기에 적합한 위치인 하나 이상의 제안된 위치 데이터 포인트를 결정할 수 있다. 사용자가 픽업 위치를 선택하는 과정에 있을 때, 예를 들어, 맵 사용자 인터페이스상의 영역에서 핀을 이동시키는 중일 때, 시스템은 맵 사용자 인터페이스 상에 디스플레이되도록,운송 서비스를 개시하기 위한 적합한 위치를 각각 표시하는 하나 이상의 제안된 위치 데이터 포인트를 제공할 수 있다. 사용자는 그 후 핀을 제안된 위치 데이터 포인트로 이동시켜 요청에 대한 픽업 위치로서 지정할 수 있다.
다른 이점 및 기술적 효과 중에서, 임의의 종래의 접근법과 비교하여, 본원에서 설명된 예는 온 디맨드 서비스를 개시하는 효율을 촉진시키고, 그리하여 네트워크 서비스의 집합적인 효율을 증가시킨다. 일부 예는, 운송 서비스를 위해 사용자에 의해 지정된 픽업 위치가 실제 픽업을 위한 적합한 위치일 필요는 없다는 것을 인지한다. 예를 들어, 건물 주소를 지정하는 픽업 위치는 서비스 제공자가 실제로 사용자를 픽업할 수 있는 위치에 실제로 대응하지 않고, 다른 예에서, 스트릿 근처의 픽업 위치는 서비스 제공자가 실제로 사용자를 픽업하도록 멈출 수 있는 영역을 갖지 않을 수 있다. 즉, 사용자에 의해 지정된 일부 픽업 위치는 사용자 및 서비스 공급자에게 효율적이거나 안전하지 않을 수 있다. 이는 사용자와 서비스 제공자가 서로 어디에 있는지 알지 못하게 할 수 있고 그리하여, 운송 서비스를 개시하는데 지연을 유발하고(사용자와 서비스 공급자 모두에게 시간 낭비) 그리고/또는 실제 만나는 위치를 조정하기 위해 사용자가 서비스 제공자와 연락(contact)해야 하는(또는 그 반대도 가능함) 부정적인 경험을 초래하게 할 수 있다. 본원에서 설명되는 예는, 개별 사용자 및 서비스 제공자가 사용자 상호작용이 거의 없거나 전혀 없이 신속하게 함께 회합(rendezvous)하는 것을 가능케 하는데 사용될 수 있는 위치 연관(location association)을 지능적으로 설정하도록 엄청난 양의 데이터의 모음 상에서 데이터 계산을 수행할 수 있다.
본원에서 사용된 바와 같이, 클라이언트 디바이스, 드라이버 디바이스, 컴퓨팅 디바이스 및/또는 모바일 디바이스는, 하나 이상의 네트워크를 통해 시스템과 통신하기 위해 네트워크 연결성 및 프로세싱 자원을 제공할 수 있는 데스크톱 컴퓨터, 셀룰러 디바이스 또는 스마트폰, 개인용 디지털 보조기기(PDA), 랩톱 컴퓨터, 태블릿 디바이스 등에 대응하는 디바이스를 지칭한다. 클라이언트 디바이스 및 드라이버 디바이스는 각각 운송 서비스 어레인지먼트 시스템과 통신하도록 구성된 지정된 서비스 애플리케이션(예를 들어, 각각 클라이언트 애플리케이션 및 드라이버 애플리케이션)을 각각 동작시킬 수 있다. 드라이버 디바이스는 또한 차량의 온 보드 컴퓨팅 시스템의 부분과 같이 차량에 설치되거나 통합된 컴퓨팅 디바이스에 대응할 수 있다.
부가적으로, 일부 예는, 개별 드라이버 및/또는 승객의 관심이 운송 서비스를 구성하는 서비스의 관심과 일치되지 않을 수도 있다는 것을 추가로 인지한다. 예를 들어, 운송 어레인지먼트 서비스는 집단(collective)을 서빙하는 최적화 기준(예를 들어, 총 승객 대기 시간)에 기초하여 라이더(rider)에 대한 드라이버를 선택할 수 있지만, 드라이버의 관심은 인근의 다음 탑승을 획득하는 것일 수 있다. 이와 관련하여, 드라이버 또는 라이더(이들 각각은 대안적인 사리(alternative self-interest) 또는 더 양호한 픽업 위치를 결정하는 능력을 가질 수 있음)로부터의 영향 없이 더 양호한 픽업 위치를 통신하는 프로세스가 결정될 수 있다. 예를 들어, 현재 인스턴스(instance)에서 라이더의 포지션이 드라이버에 알려져 있고 드라이버가 픽업 위치를 제안하는 능력을 가진 경우, 드라이버가 도달하는데 추가 위험이 있는(예를 들어, 라이더는 혼잡한 스트릿을 건널 필요가 있는) 스팟을 선택하기 위해서는 동기유발(motivation)이 필요할 수 있다. 마찬가지로, 라이더가 각각의 인스턴스에서 픽업 위치를 요구할 수 있다면, 드라이버는 혼잡한 스트릿 또는 정차하기 불리하게 구획된 거리로 강제될 수 있다. 라이더 및 드라이버 양자의 접근법에서, 라이더 및 드라이버는 위치 및/또는 환경(예를 들어, 교통 조건)에 관한 순간적인(instant) 지식이 부족할 수 있으며, 집단(예를 들어, 픽업이 필요한 평방 마일 내의 모든 라이더)에 대한 최적화를 또한 고려할 수 없을 것이다. 따라서, 설명된 예는 (i) 드라이버 및 라이더 전 개체(population)로부터의 실시간 정보를 이용하여 라이더, 드라이버 및/또는 다른 라이더/드라이버의 관심을 밸런싱하는 방식으로 (픽업 요청을 수신한 후에) 픽업 위치를 선택하고, (ii) (라이더의 초기 요청 보다) 드라이버/라이더의 간섭이나 영향없이 추가로 선택을 행하는 서비스를 제공한다.
더욱이, 본원에서 설명되는 일부 예는 운송 서비스에 관한 것이지만, 시스템은 다른 온-디맨드 위치-기반 서비스(예를 들어, 푸드 트럭 서비스, 배달 서비스, 엔터테인먼트 서비스)가 사용자와 서비스 제공자 사이에 배열되게 하는 것을 가능케 할 수 있다. 예를 들어, 사용자는 자신의 모바일 디바이스를 사용하여 배달 서비스(예를 들어, 음식 배달 서비스, 메신저 서비스, 푸드 트럭 서비스 또는 제품 운송 서비스) 또는 엔터테인먼트 서비스(예를 들어, 마리아치(mariachi) 밴드, 현악 사중주)와 같은 온-디맨드 서비스를 요청할 수 있고, 시스템은 사용자에게 온-디맨드 서비스를 제공하기 위해 드라이버, 음식 제공자, 밴드 등과 같은 서비스 제공자를 선택할 수 있다.
본원에서 설명된 하나 이상의 예는 컴퓨팅 디바이스에 의해 수행되는 방법, 기술 및 동작이 프로그래밍 방식으로 또는 컴퓨터 구현 방법으로서 수행된다는 것을 제공한다. 본원에서 사용된 프로그래밍 방식으로(programmatically)란 것은 코드 또는 컴퓨터 실행 가능 명령을 사용하는 것을 의미한다. 이러한 명령은 컴퓨팅 디바이스의 하나 이상의 메모리 자원에 저장될 수 있다. 프로그래밍 방식으로 수행되는 단계는 자동일 수 있거나 자동이 아닐 수 있다.
본원에서 설명된 하나 이상의 예는 프로그램 모듈(programmatic module), 엔진 또는 컴포넌트를 사용하여 구현될 수 있다. 프로그램 모듈, 엔진 또는 컴포넌트는 프로그램, 서브-루틴, 프로그램의 일부 또는 하나 이상의 언급된 작업 또는 기능을 수행할 수 있는 소프트웨어 컴포넌트 또는 하드웨어 컴포넌트를 포함할 수 있다. 본원에서 사용된 바와 같이, 모듈 또는 컴포넌트는 다른 모듈 또는 컴포넌트에 독립적으로 하드웨어 컴포넌트 상에 존재할 수 있다. 대안적으로, 모듈 또는 컴포넌트는 다른 모듈, 프로그램 또는 머신의 공유된 엘리먼트 또는 프로세스일 수 있다.
본원에서 설명된 일부 예는 일반적으로 프로세싱 및 메모리 자원을 포함하는 컴퓨팅 디바이스의 사용을 요구할 수 있다. 예를 들어, 본원에서 설명된 하나 이상의 예는 전체적으로 또는 부분적으로, 서버, 데스크톱 컴퓨터, 셀룰러 또는 스마트폰, 개인용 디지털 보조기기(예를 들어, PDA), 랩톱 컴퓨터, 프린터, 디지털 사진 프레임, 네트워크 장비(예를 들어, 라우터) 및 태블릿 디바이스와 같은 컴퓨팅 디바이스 상에서 구현될 수 있다. 메모리, 프로세싱 및 네트워크 자원은, (임의의 방법의 수행 또는 임의의 시스템의 구현을 비롯해서) 본원에서 설명되는 임의의 예의 설정, 사용 또는 수행과 관련하여 모두 사용될 수 있다.
또한, 본원에서 설명된 하나 이상의 예는 하나 이상의 프로세서에 의해 실행 가능한 명령의 사용을 통해 구현될 수 있다. 이러한 명령은 컴퓨터 판독 가능 매체 상에서 전달(carry)될 수 있다. 이하의 도면들로 도시되거나 설명된 머신은 프로세싱 자원들 및 본원에서 설명된 예를 구현하기 위한 명령이 저장 및/또는 실행될 수 있는 컴퓨터 판독 가능 매체의 예를 제공한다. 특히, 본원에서 설명된 예로 도시된 다수의 머신은 프로세서(들) 및 데이터 및 명령을 보유하기 위한 다양한 형태의 메모리를 포함한다. 컴퓨터 판독 가능 매체의 예는 개인용 컴퓨터 또는 서버 상의 하드 드라이브와 같은 영구 메모리 저장 디바이스를 포함한다. 컴퓨터 저장 매체의 다른 예는 CD 또는 DVD 유닛과 같은 휴대용 저장 유닛, (예컨대, 스마트폰, 다기능 디바이스 또는 태블릿 상에 소지되는) 플래시 메모리 및 자기 메모리를 포함한다. 컴퓨터, 단말, 네트워크 가능 디바이스(예를 들어, 셀 전화와 같은 모바일 디바이스)는 모두 프로세서, 메모리 및 컴퓨터 판독 가능 매체 상에 저장된 명령을 활용하는 머신 및 디바이스의 예이다. 또한, 예는 컴퓨터 프로그램 또는 그러한 프로그램을 전달할 수 있는 컴퓨터 사용 가능한 전달 매체의 형태로 구현될 수 있다.
시스템 설명
도 1은 일 실시예 하에서, 사용자 및 서비스 제공자에 대해 온-디맨드 서비스를 구성하기 위한 예시적인 시스템을 도시한다. 본원에서 설명된 바와 같이, 시스템은 온-디맨드 서비스를 구성하는데 사용하기 위한 유익한(informative) 위치 정보를 결정하기 위해 이전에 요청된 그리고/또는 완료된 온-디맨드 서비스와 연관된 위치 데이터를 프로세싱할 수 있다. 온-디맨드 서비스에 대한 요청이 있을 때, 및/또는 서비스 제공자가 선택된 후에, 사용자가 그 각각의 지정된 서비스 애플리케이션을 동작시키면, 시스템은 사용자 디바이스 및/또는 서비스 제공자 디바이스에 위치 정보를 제공할 수 있다.
도 1의 예에서, 시스템(100)은 디스패치(110), 클라이언트 디바이스 인터페이스(120), 드라이버 디바이스 인터페이스(130), 위치 클러스터(140), 위치 매치(142), 위치 맵(160) 및 복수의 데이터베이스를 포함한다. 복수의 클라이언트 디바이스(180) 및 복수의 드라이버 디바이스(190)는 예를 들어, 클라이언트 디바이스 인터페이스(120) 및 드라이버 디바이스 인터페이스(130)를 통해 시스템(100)과 각각 통신하도록 구성된 각각의 지정된 서비스 애플리케이션(181, 191)을 사용하여 하나 이상의 네트워크 상에서 시스템(100)과 통신할 수 있다. 시스템(100)의 컴포넌트는 위치 데이터를 프로세싱하기 위해 그리고 위치 데이터를 사용하여 요청 사용자에 대한 운송 서비스를 구성하기 위해 결합할 수 있다. 로직은 다양한 애플리케이션(예를 들어, 소프트웨어) 및/또는 시스템(100)을 구현하는 컴퓨터 시스템의 하드웨어로 구현될 수 있다.
구현에 따라, 시스템(100)의 하나 이상의 컴포넌트는 네트워크 측 자원 상에서, 예컨대, 하나 이상의 서버 상에서 구현될 수 있다. 시스템(100)은 또한 대안적인 아키텍처(예를 들어, 피어-투-피어 네트워크 등)의 다른 컴퓨터 시스템을 통해 구현될 수 있다. 추가로 또는 대안으로서, 시스템(100)의 컴포넌트 중 일부 또는 전부는 클라이언트 디바이스 상에서 예컨대, 클라이언트 디바이스(180) 및/또는 드라이버 디바이스(190) 상에서 동작하는 애플리케이션을 통해 구현될 수 있다. 예를 들어, 클라이언트 서비스 애플리케이션(181) 및/또는 드라이버 서비스 애플리케이션(191)은 시스템(100)의 다양한 컴포넌트에 의해 설명된 프로세스 중 하나 이상을 수행하도록 실행될 수 있다. 시스템(100)은 하나 이상의 클라이언트 디바이스(180) 및 하나 이상의 드라이버 디바이스(190)와 통신하기 위해 네트워크 인터페이스를 통해 (예를 들어, 무선으로 또는 유선을 사용하여) 네트워크 상에서 통신할 수 있다.
시스템(100)은 하나 이상의 네트워크 상에서, 클라이언트 디바이스 인터페이스(120) 및 디바이스 인터페이스(130)를 각각 사용하여 클라이언트 디바이스(180) 및 드라이버 디바이스(190)와 통신할 수 있다. 디바이스 인터페이스(120, 130)는 각각 시스템(100)과 각각의 컴퓨팅 디바이스(180, 190) 간의 통신을 관리할 수 있다. 클라이언트 디바이스(180) 및 드라이버 디바이스(190)는, 시스템(100)과 통신하기 위해 디바이스 인터페이스(120, 130)와 각각 인터페이싱할 수 있는 클라이언트 서비스 애플리케이션(181) 및 드라이버 서비스 애플리케이션(191)을 개별적으로 동작시킬 수 있다. 일부 예에 따라, 이 애플리케이션은 디바이스 인터페이스(120, 130)와 데이터를 통신하기 위해 외부 대면(externally facing) 애플리케이션 프로그래밍 인터페이스(API)와 같은 API를 포함하거나 사용할 수 있다. 외부 대면 API는 웹-기반 형태, 편안한 API를 통한 프로그램식 액세스, SOAP(Simple Object Access Protocol), RPC(Remote Procedure Call), 스크립팅 액세스 등과 같은 임의의 수의 방법을 통해 네트워크 상에서 보안 액세스 채널을 통해 시스템(100)에 대한 액세스를 제공할 수 있다.
예에 따라, 시스템(100)은 네트워크 서비스의 상태를 비롯해서, 네트워크 서비스에 관한 정보를 클라이언트 애플리케이션(181) 및 드라이버 애플리케이션(191) 모두에 제공할 수 있다. 시스템(100)은 (클라이언트 서비스 애플리케이션(181)의 사용을 통해) 클라이언트 디바이스(180)로부터 운송 서비스에 대한 요청을 수신하고 그 사용자에 대한 운송 서비스를 수행할 드라이버를 선택함으로써 사용자에게 제공될 운송 서비스를 구성할 수 있다. 사용자는 클라이언트 서비스 애플리케이션(181)의 맵 사용자 인터페이스 상에서 그래픽 표시자(예를 들어, 핀)를 이동시키고 포지셔닝함으로써 또는 텍스트 제출 특징에서 주소, 스트릿 교차로 또는 랜드마크(landmark)를 입력함으로써 픽업 위치 데이터 포인트를 지정할 수 있다. 대안적으로, 픽업 위치 데이터 포인트는 글로벌 포지셔닝 시스템(GPS) 수신기와 같이 클라이언트 디바이스(180)의 하나 이상의 지리-인식 자원을 사용하여 클라이언트 디바이스(180)에 의해 결정될 때 클라이언트 디바이스(180)의 현재 위치에 대응할 수 있다. 예를 들어, 디스패치(110)는 요청을 수신하고, 사용자 정보를 결정하도록 클라이언트 데이터베이스(112)에 액세스하고, 운송 서비스를 제공하기 위해 어느 드라이버가 이용 가능한지를 결정하도록 드라이버 데이터베이스(114)에 액세스하고, 디스패치(110)의 드라이버 선택 컴포넌트를 통해 하나 이상의 지정된 파라미터에 기초하여 드라이버를 선택할 수 있다.
운송 서비스가 사용자를 위해 구성되면, 시스템(100)은 (예를 들어, 드라이버 서비스 애플리케이션(191)의 사용을 통해 선택된 드라이버의 드라이버 디바이스(190)와 통신함으로써) 드라이버 및/또는 운송 서비스의 상태 또는 진행을 모니터링할 수 있고, 그 특정 운송 서비스에 대한 다양한 정보를 결정할 수 있다. 예를 들어, 운송 서비스 동안, 드라이버 애플리케이션(191)은 (드라이버 디바이스(190)의 GPS 수신기를 사용하여) 드라이버 디바이스(190)의 위치 정보를 주기적으로 송신하고 그리고/또는 드라이버 애플리케이션(191)의 상태 정보를 시스템(100)에 송신할 수 있다. 운송 서비스의 완료 후에 그리고/또는 그 중에, 운송 서비스에 관한 정보는 트립 데이터베이스(150)에 트립 엔트리(151)로서 저장될 수 있다. 구현에 따라, 시스템(100)은 상이한 지리적 영역(예를 들어, 이웃, 도시, 대도시 영역, 카운티(county), 주, 국가 등)에 대한 단일 트립 데이터베이스(150) 또는 다중 트립 데이터베이스(150)에 트립 엔트리(151)를 저장할 수 있다.
트립 엔트리(151)는 특정 운송 서비스에 관한 다양한 정보를 포함할 수 있다. 예를 들어, 개별 운송 서비스(또는 트립)에 대해, 디스패치(110)의 트립 모니터 컴포넌트는, 일단 트립이 구성되면, 선택된 드라이버의 드라이버 디바이스(190)로부터 정보를 (예를 들어, 사용자 입력에 응답하여 주기적으로 및/또는 간헐적으로) 수신할 수 있다. 일 예에서, 트립 모니터 컴포넌트는, (드라이버 서비스 애플리케이션(191)을 사용하여) 드라이버가 운송 서비스를 수행하도록 초대를 수락하는 입력을 제공할 때 시간 및/또는 그 위치에 관한 정보를 드라이버 디바이스(190)로부터 수신할 수 있다. 유사하게, 트립 모니터는 드라이버가 운송 서비스를 개시한다는 입력을 제공할 때(예를 들어, 요청한 사용자가 드라이버에 의해 픽업됨) 시간 및/또는 그의 위치에 관한 정보를 드라이버 디바이스(190)로부터 수신할 수 있다. 트립 모니터는 운송 서비스가 목적지에서 완료(사용자가 내림(dropp off))될 때를 비롯해서, 드라이버 서비스 애플리케이션(191)을 통해 드라이버 디바이스(190)로부터 시간 및/또는 위치 정보를 수신함으로써 운송 서비스의 진행을 계속 모니터링할 수 있다.
이와 같이, 일부 예에서, 트립 엔트리(151)는 트립 식별자(ID), 운송 서비스를 요청한 사용자의 사용자 ID, 운송 서비스를 제공한 드라이버의 드라이버 ID, 요청된 픽업 위치 데이터 포인트(운송 서비스에 대한 요청 시에 사용자에 의해 지정됨), 운송 서비스가 시작된 개시된 위치 데이터 포인트(운송 서비스가 시작되었음을 표시하는 입력을 드라이버가 제공할 때의 드라이버 디바이스(190)의 위치), 운송 서비스가 완료된 목적지 위치 데이터 포인트(예를 들어, 운송 서비스가 완료되었음을 표시하는 입력을 드라이버가 제공할 때의 드라이버 디바이스(190)의 위치) 및 차량 타입, 가격, 트립의 지속기간, 취해진 루트 등과 같은 다른 정보를 포함할 수 있다.
또한, 일 예에서, 트립 엔트리(151)는 또한 트립을 위한 개시된 위치 데이터 포인트가 사용자에 대한 적합하거나 올바른 픽업 위치인지 또는 부적합하거나 열등한 픽업 위치인지 여부에 대한 정보를 포함할 수 있다. 예를 들어, 적합하거나 올바른 픽업 위치는, (i) 사용자가 신속하게 또는 쉽게 도달하기에 충분히 근접한(예를 들어, 모서리를 돈 곳 또는 사용자가 있는 건물의 정문 바로 밖의), (ii) 사용자가 요청한 요청된 픽업 위치 데이터 포인트에 근접한(예를 들어, 사용자의 짧은 미리 정의된 거리 내의), 및/또는 (iii) 사용자가 그 위치에서 픽업되면 사용자가 이동하기를 원하는 방향으로 드라이버가 움직이게 하는 것을 가능케 하는 스트릿에 가까운(예를 들어, 사용자를 픽업한 후 드라이버가 U 턴을 수행할 필요 없는) 위치일 수 있다. 유사하게, 부적합 또는 열등한 픽업 위치는, 사용자가 도달하기에 너무 먼/너무 어렵고, 사용자에 의해 요청된 픽업 위치 데이터 포인트로부터 너무 멀고, 그리고/또는 사용자가 그 위치에서 픽업되면 비효율적인 또는 반대 방향으로 드라이버가 이동해야 하게 하는 스트릿 근처(예를 들어, 올바른 방향으로 가는 스트릿에 도달하기 위해 드라이버가 여러번 우회전을 해야 하는) 위치일 수 있다.
구현에 따라, 개별 트립에 대해, 시스템(100)은, 요청된 픽업 위치 데이터 포인트와 개시된 위치 데이터 포인트 사이의 거리, 사용자에 의해 제공된 포지티브 또는 네거티브 피드백(예를 들어, 사용자에 의해 제공된 등급, 사용자에 의해 제공된 코멘트 등), 운송 서비스의 수행 동안 사용자의 목적지까지 드라이버에 의해 여행된 루트(예를 들어, 개시된 위치 데이터 포인트의 결과로서 루트가 효율적인지 아닌지 여부), 또는 설문조사 정보(153) 중 하나 이상에 기초하여 개시된 위치 데이터 포인트가 적합한지 또는 부적합한지를 결정할 수 있다. 일 예에서, 서로의 짧은 거리 내에(예를 들어, 미리 결정된 거리 내에) 있는 개시된 픽업 위치 데이터 포인트의 높은 수(예를 들어, 임계수 초과)는 이러한 개시된 위치 데이터 포인트가 픽업을 위한 적합한 위치 데이터 포인트임을 표시할 수 있다. 다른 예에서, 사용자가 운송 서비스에 대해 드라이버에 의해 픽업된 후에, 사용자는 클라이언트 서비스 애플리케이션(181)을 통해 적합하거나 올바른 픽업 위치에서 픽업되었는지에 관한 설문조사 질문에 응답하도록 촉구될 수 있다(예를 들어, 사용자는 단순히 "예(yes)" 또는 "아니오(no)"의 입력을 제공할 수 있음). 이러한 설문조사 정보(153)는 연관된 개시된 위치 데이터 포인트가 적합한지 여부를 식별하기 위해 트립 엔트리(151)와 연관될 수 있다. 추가로 또는 대안으로서, 설문조사 정보(153)는 트립 엔트리(151) 상에 개시된 위치 데이터 포인트에 대한 포지티브 또는 네거티브 표시를 마킹(mark)하는데 사용될 수 있다.
저장된 트립 엔트리(151)로부터의 위치 정보를 사용하여, 시스템(100)은 어느 위치가 주어진 지역에서 운송 서비스의 수행에 가장 적합하거나 편리한지를 결정할 수 있고, 적절한 경우 사용자 및/또는 드라이버에게 위치 정보를 제공할 수 있다. 일 예에 따라, 위치 클러스터(140)는 요청된 픽업 위치 데이터 포인트 상에서 하나 이상의 클러스터링 프로세스를 수행하기 위해 트립 데이터베이스(150)에 액세스할 수 있다. 유사하게, 위치 클러스터(140)는 개시된 위치 데이터 포인트 상에서 하나 이상의 클러스터링 프로세스를 수행할 수 있다. 본원에서 설명된 바와 같이, 클러스터링 프로세스는, 동일한 그룹의 위치 데이터 포인트가 (예를 들어, 위치 데이터 포인트 간의 거리에 기초하여) 다른 그룹의 위치 데이터 포인트보다 서로 더 유사하도록 위치 데이터 포인트 세트를 함께 그룹핑하기 위해 (예를 들어, 한번, 여러 번, 반복적으로) 사용되는 프로세스 또는 분석에 대응한다.
또한, 일부 예에서, 위치 클러스터(140)는 또한 맵 데이터베이스(170)로부터의 맵 데이터(171)를 사용하여 스트릿을 식별하고, 랜드마크 또는 관심 포인트를 결정하고, 그리고/또는 개별 지역을 결정할 수 있다. 예를 들어, 맵 데이터(171)를 사용하여, 위치 클러스터(140)는 요청된 픽업 위치 데이터 포인트의 그룹이 특정 지역과 연관되거나 특정 지역에 대응할 수 있음을 결정할 수 있다. 이러한 지역은 랜드마크, 특정 건물 또는 건물의 일부, 스트릿 모서리 지역 또는 스트릿 일부, 공원, 도시 블록, 여러 도시 블록, 스트릿의 구역, 인근(neighborhood), 여러 인근, 도시, 카운티 등일 수 있다. 본원에서 설명된 예에서, 지역은 또한 그 지역의 주변 또는 경계를 구성하는 3개 이상의 위치 데이터 포인트를 사용하여 정의될 수 있다.
구현에 따라, 시스템(100)은 상이한 방식으로 운송 서비스를 개시하기 위한 적합한 위치를 식별하는데 있어 사용자 및/또는 드라이버를 보조하기 위해 클러스터링된 위치 데이터 포인트를 결정 및 사용할 수 있다. 하나 이상의 클러스터링 프로세스(및/또는 맵 데이터(171))를 사용하여, 위치 클러스터(140)는 (i) 요청된 픽업 위치 데이터 포인트의 그룹을 결정하고(여기서 각각의 그룹은 일부 예에서, 고유 식별자와 연관되거나 특정 지역에 연관되거나 대응할 수 있음), 그리고 (ii) 각각의 그룹 또는 지역에 대해 클러스터링된(또는 계산된) 픽업 위치 데이터 포인트를 결정할 수 있다. 유사하게, 위치 클러스터(140)는 개시된 픽업 위치 데이터 포인트의 그룹을 결정하기 위해 하나 이상의 클러스터링 프로세스를 사용하고 각각의 그룹에 대해 클러스터링된 개시된 위치 데이터 포인트를 결정할 수 있다. 더욱이, 다른 예에서, 위치 클러스터(140)는 또한 목적지 위치 데이터 포인트의 그룹을 결정하고 각각의 그룹에 대한 클러스링된 목적지 위치 데이터 포인트를 결정하기 위해 하나 이상의 클러스터링 프로세스를 사용할 수 있다. 일 예에서, 그룹 또는 대응하는 지역에 대해, 클러스터링된 위치 데이터 포인트는, 그 그룹 내의 모든 위치 데이터 포인트로부터의 거리의 합이 최소화되는 위치 데이터 포인트에 대응할 수 있다. 이와 같이, 클러스터링된 위치 데이터 포인트는 위치 포인트 또는 영역의 그룹의 실질적으로 중앙 또는 평균화된 위치 데이터 포인트일 수 있다. 클러스터링 동작의 예는 k-평균 클러스터링이다. 위치 클러스터(140)는 클러스터 엔트리(147)로서 연관된 지역을 갖는 클러스터링된 위치 데이터 포인트를 클러스터 맵핑 데이터베이스(145)에 저장할 수 있다.
예를 들어, 클러스터 맵핑 데이터베이스(145)는 복수의 클러스터 엔트리(147)를 갖는 하나 이상의 테이블을 저장할 수 있다. 클러스터 엔트리(147)는(i) 클러스터 엔트리(147)의 대응하는 식별자(ID), (ii) 클러스터링된 위치 데이터 포인트(및/또는 클러스터링된 위치 데이터 포인트의 연관된 ID), (iii) 연관된 지역의 ID 또는 위치 데이터 포인트의 그룹의 ID 및/또는 (iv) 연관된 지역을 구성하는 3개 이상의 위치 포인트의 세트와 같이 연관된 지역에 관한 지리적 데이터 또는 위치 데이터 포인트의 그룹을 정의하기 위한 지리적 데이터를 포함할 수 있다. 단일 클러스터 맵핑 데이터베이스(145)가 도 1에 도시되지만, 변동에 따라, 시스템(100)은 상이한 지리적 영역 및/또는 상이한 사용자 또는 사용자의 그룹에 대하여, 클러스터 맵핑 데이터베이스(145)의 복수의 맵핑 테이블에 또는 상이한 위치 포인트에 대한 다수의 클러스터 맵핑 데이터베이스(145)에 클러스터 엔트리(147)를 저장할 수 있다.
구현에 따라, 위치 클러스터(140)는 또한 개별 사용자에 대해, 사용자의 그룹에 대해, 및/또는 시스템(100)의 모든 사용자에 대해 클러스터 엔트리(147)를 결정할 수 있다. 논의된 바와 같이, 트립 데이터베이스(150)의 각각의 트립 엔트리(151)는 사용자 ID와 연관될 수 있다. 위치 클러스터(140)는 클라이언트 데이터베이스(112)와 통신하고, 그 사용자에 대한 트립 엔트리(151)로부터 개별 사용자에 대한 요청된 픽업 위치 데이터 포인트를 결정하고, 그 사용자에 대해 요청된 픽업 위치 데이터 포인트의 그룹(각각의 그룹은 지역과 연관됨)을 결정하기 위해 하나 이상의 클러스터링 프로세스를 수행하고, 각각의 그룹/지역에 대해 클러스터링된 위치 데이터 포인트를 결정할 수 있다.
예로서, 사용자(사용자 1)는 샌프란시스코 베이 영역에서 이전에 500번의 트립을 요청하고 받았으며, 200번의 이전의 트립은 특정 시각(예를 들어, 저녁) 동안에 그리고 특정 지역에서(예를 들어, 샌프란시스코의 사용자 1의 사무실 근처의 길 모서리에서) 이루어졌고, 100번의 이전의 트립은 다른 특정 시각(예를 들어, 아침) 동안 그리고 다른 지역에서(예를 들어, 샌프란시스코의 기차역 옆에 있는 스트릿 상에서) 이루어졌다. 사용자 1에 대해 클러스터링 동작(들)을 수행한 결과로서, 위치 클러스터(140)는 요청된 픽업 위치 데이터 포인트의 상이한 그룹 ― 요청된 픽업 위치 데이터 포인트의 제 1 그룹은 사용자 1의 사무실 근처의 제 1 지역에 대응할 수 있고 요청된 픽업 위치 데이터 포인트의 제 2 그룹은 기차역 근처의 제 2 지역에 대응할 수 있는 식임 ― 을 결정할 수 있다. 위치 클러스터(140)는 또한 클러스터링 동작(들) 및/또는 다른 동작을 이용하여 각각의 그룹/지역에 대한 클러스터링된 위치 데이터 포인트를 결정할 수 있다.
사용자 1에 대해, 위치 클러스터(140)는 그 후, (i) 클러스터 맵핑 데이터베이스(145)에서 제 1 그룹에 대한 클러스터 엔트리(147)(대응하는 제 1 그룹 또는 지역은 제 1 클러스터링된 위치 데이터 포인트와 연관됨), (ii) 클러스터 맵핑 데이터베이스(145)에서 제 2 그룹에 대한 클러스터 엔트리(147)(대응하는 제 2 그룹 또는 지역은 제 2 클러스터링된 위치 데이터 포인트와 연관됨)을 생성 및 저장할 수 있으며, 다른 그룹 또는 지역 및 연관된 클러스터링된 위치 데이터 포인트에 대해서도 이런 식이다. 추가로 또는 대안으로서, 유사한 방식으로, 위치 클러스터(140)는 다른 개별 사용자에 대한, 한 명 초과의 사용자(예를 들어, 사용자의 그룹)에 대한 및/또는 시스템(100)의 모든 사용자에 대한 요청된 픽업 위치 데이터 포인트에 기초하여 그룹/지역 및 그의 연관된 클러스터 위치 데이터 포인트를 결정할 수 있다. 또한, 일부 예에서, 위치 클러스터(140)는 사용자, 다수의 사용자 및/또는 모든 사용자에 대한 클러스터 엔트리(147)를 결정하기 위해, 트립의 마지막의 미리 정의된 세트(예를 들어, 가장 최근의 300번의 트립, 2000번의 트립 등)에 대해서만 요청된 픽업 위치 데이터 포인트를 사용할 수 있다. 더욱이, 다른 예에서, 위치 클러스터(140)는 또한 상이한 시각에 기초하여 클러스터 엔트리(147)를 생성 및 저장할 수 있다.
예에 따라, 시스템(100)은 운송 서비스 요청에 적합한/유익한 초기 위치를 사용자에게 제공하도록 클러스터 엔트리(147)를 이용할 수 있다. 본원에서 설명된 예에서, 클러스터링된 픽업 위치 데이터 포인트는, 사용자 및/또는 다른 사용자가 이전에 운송 서비스를 요청한 위치 데이터 포인트의 그룹 또는 지역을 대표하는 위치(예를 들어, 위치 데이터 포인트의 그룹에 대한 대표적인 위치 데이터 포인트)에 대응할 수 있다. 이와 같이, 일 예에서, 사용자가 현재, 그 사용자(및/또는 다른 사용자의 집합)가 이전의 운송 요청을 한 지역에 있거나 위치되거나 이 지역에 근접한 경우, 시스템(100)은, 사용자가 픽업 위치 데이터 포인트를 수동으로 선택하거나 입력해야 하기 전에도, 적절한 픽업 위치 데이터 포인트가 그 사용자에 대해 초기에 세팅되는 것을 가능케 할 수 있다. 예를 들어, 사용자가 클라이언트 서비스 애플리케이션(181)을 동작시킬 때, 핀은 맵 사용자 인터페이스 상의 특정 위치 데이터 포인트(사용자의 현재 위치와는 상이함)에 자동으로 배치될 수 있다. 사용자는 그 후 픽업 위치를 변경하거나 원하는 경우 그 초기 위치로부터 핀을 이동시킬 수 있다.
시스템(100)은, 통상적으로 스트릿에 근접하거나 차량에 의해 액세스 가능한 장소의 픽업 위치 데이터 포인트를, 사용자가 클라이언트 서비스 애플리케이션(181)의 맵 인터페이스 상에서 마킹하거나 피닝(pinning)할 수 있다는 개념을 레버리지(leverage)한다. 한 예에서, 사용자가 자신의 사무실 건물(매우 클 수 있음) 내의 자신의 책상에서 요청을 행하면, (픽업 위치 데이터 포인트가 그녀의 책상의 사용자의 현재 위치로서 지정되는 요청을 행하는 것과 대조적으로) 사용자는 핀을 건물 입구 앞의 턴어라운드 루프(turnaround loop) 또는 특정 스트릿 모서리로 이동시킬 수 있다. 그 위치가 운송 서비스에 적합한 픽업 위치라면 사용자는 동일하거나 유사한 위치 데이터 포인트를 여러 번 계속 요청할 수 있다. 이 위치 정보를 사용하여, 위치 클러스터(140)는 사용자의 이전에 요청된 픽업 위치 데이터 포인트에 기초하여 적합한 픽업 위치 데이터 포인트를 나타낼 수 있는 픽업 위치 데이터 포인트의 그룹 또는 이 지역에 대한 클러스터링된 위치 데이터 포인트를 결정하기 위해 클러스터링 동작(들)을 수행할 수 있다.
클러스터 엔트리(145)가 클러스터 맵핑 데이터베이스(145)에 저장되면, 시스템(100)은 클라이언트 디바이스(180)에 클러스터링된 위치 데이터 포인트를 제공하기 위해 이용 가능한 경우 및/또는 적용 가능한 경우, 저장된 위치 및 그룹/지역 정보를 사용할 수 있다. 예를 들어, 운송 서비스를 요청하고자 하는 사용자는 자신의 클라이언트 디바이스(180) 상에서 서비스 애플리케이션(181)을 오픈하거나 런칭할 수 있다. 사용자가 자신의 클라이언트 디바이스(180) 상에서 서비스 애플리케이션(181)을 오픈할 때(또는 비활성 또는 휴면 모드로부터 활성 모드로 서비스 애플리케이션(181)을 웨이크 업/활성화할 때), 서비스 애플리케이션(181)은 클라이언트 디바이스 인터페이스(120)를 통해 시스템(120)과 데이터를 교환할 수 있다. 일 예에서, 위치 매치(142)는 클라이언트 디바이스 인터페이스(120)를 통해 클라이언트 디바이스(180)로부터 상태 정보(185)를 수신할 수 있다. 상태 정보(185)는 예를 들어, 사용자의 클라이언트 디바이스(180)의 현재 위치뿐만 아니라 사용자의 ID(및/또는 디바이스 ID)를 포함할 수 있다. 위치 매치(142)는, 서비스 애플리케이션(181)이 오픈되거나 활성화될 때, 클라이언트 디바이스(180)의 현재 위치가 클러스터 엔트리(147)에서 지정된 지역 내에(및/또는 클러스터 엔트리(147)에서 지정된 지역으로부터 미리 정의된 거리 내에) 있는지 여부를 결정하기 위해 적절한 클러스터 맵핑 데이터베이스(145)에 액세스할 수 있다. 즉, 위치 매치(142)는 사용자가, 연관된 클러스터링된 위치 데이터 포인트를 갖는 지역에 있는지 또는 그에 근접한지를 결정할 수 있다. 대안적으로, 위치 매치(142)는 사용자의 위치가 클러스터링된 위치의 그룹 내의 위치(지역과 대조적임)에 대응하는지를 결정할 수 있고 연관된 클러스터링된 위치 데이터 포인트를 결정할 수 있다. 이러한 예에서, 클러스터 맵핑 데이터베이스(145)는 그룹 내의 개별 위치 데이터 포인트를 연관된 클러스터링된 위치 데이터 포인트와 연관시킬 수 있다.
클라이언트 디바이스(180)가 클러스터 엔트리(147)에서 지정된 지역 내에 또는 클러스터 엔트리(147)에서 지정된 지역으로부터의 미리 정의된 거리 내에 위치되는 것으로 결정되면(또는 대안적으로, 클라이언트 디바이스(180)의 위치가 클러스터링된 위치의 그룹 내의 위치에 대응하면), 위치 매치(142)는 클러스터 엔트리(147)를 식별할 수 있고 그 지역과 연관된 대응하는 클러스터링된 위치 데이터 포인트를 결정할 수 있다. 위치 매치(142)는, 사용자 대신에, 서비스 애플리케이션(181)으로 하여금 클러스터링된 위치 데이터 포인트에 대응하는 맵 인터페이스 상의 위치로 그래픽 표시자(예를 들어, 핀)를 자동으로 포지셔닝하게 하도록 클러스터링된 위치 데이터 포인트(187)를 클라이언트 디바이스(180)에 제공한다. 사용자는 그 후, 먼저 픽업 위치 데이터 포인트를 별도로 지정해야 할 필요 없이, 운송 서비스에 대한 요청을 행하도록 입력을 선택할 수 있다. 요청은, 예를 들어, 사용자의 현재 위치가 요청된 픽업 위치 데이터 포인트인 것과 대조적으로, 요청된 픽업 위치 데이터 포인트로서 클러스터링된 위치 데이터 포인트를 포함할 수 있다.
추가로 또는 대안으로서, 위치 매치(142)는, 클라이언트 디바이스(180)의 현재 위치가 미리 정의된 또는 사용자-구성 계층(user-configured hierarchy)에 기초하여 지정된 지역 내에 있는지 또는 그에 근접하는지 여부를 결정하도록 클라이언트 맵핑 데이터베이스(145)에 액세스할 수 있다. 예를 들어, 위치 매치(142)는, 사용자의 그룹 및/또는 시스템(100)의 모든 사용자의 클러스터 엔트리(147)를 검색하거나 질의하기 전에 (사용자의 ID 및/또는 디바이스 ID를 사용하여) 특정 사용자에 대응하는 클러스터 엔트리(147)를 먼저 검색하거나 질의할 수 있다. 클라이언트 디바이스(180)가 그 사용자에 대응하는 클러스터 엔트리(147)의 세트에서 지정된 지역 내에 있거나 그에 근접하지 않다고 위치 매치(142)가 결정하면, 위치 매치(142)는 그 후, (예를 들어, 다른 사용자의 운송 서비스 픽업 위치 데이터 포인트는 흔히 사용되거나 적합한/유익한 픽업 위치를 식별하는데 도움이 될 수 있기 때문에) 클라이언트 디바이스(180)가 사용자 및 다른 사용자 모두에 대응하는 클러스터 엔트리의 다른 세트(147)에서 지정된 지역 내에 있거나 그에 근접한지를 결정할 수 있다.
클라이언트 디바이스(180)가 클러스터 엔트리(147)에서 지정된 지역에 또는 그에 근접하게 위치되지 않는 것으로 결정되면, 위치 매치(142)는 어떠한 클러스터링된 위치 데이터 포인트도 클라이언트 디바이스(180)에 제공하지 않을 것이다. 예를 들어, 지역에 대한 클러스터 엔트리(147)는, 사용자 및/또는 다른 사용자에 의해 지역에서 이루어진 운송 요청의 수(예를 들어, 미리 결정된 임계수)가 충분하지 않은 경우, 시스템(100)에 의해 아직 생성되거나 저장되지 않을 수 있다. 이와 같이, 사용자의 클라이언트 디바이스(180) 상에서 동작하는 서비스 애플리케이션(181)은 클러스터링된 위치 데이터 포인트와는 대조적으로, 맵 인터페이스 상에서, 디폴트 위치(예를 들어, 사용자의 현재 위치)에 있는 핀을 디스플레이할 수 있다.
이러한 방식으로, 시스템(100)은, 서비스 애플리케이션(181)을 동작시킬 때 사용자가 수동적으로 또는 별도로 픽업 위치 데이터 포인트를 지정할 필요 없이, 사용자가 운송 요청을 행하기에 편리하고 적합한 위치로 맵 인터페이스 상에서 핀을 안내할 수 있다. 클러스터링된 위치 데이터 포인트는, 지역에서 요청된 픽업 위치 데이터 포인트를 지정한 사용자의 (및/또는 다른 사용자의) 이전의 이력에 기초하여 사용자가 운송 서비스에 대한 픽업을 요청해야 하는 위치를 나타낼 수 있다.
다른 예에서, 위치 클러스터(140)는 개시된 위치 데이터 포인트의 그룹에 대한 클러스터링된 개시된 위치 데이터 포인트를 결정하고 클러스터링된 개시된 위치 데이터 포인트(들)에 관한 정보를 클라이언트 디바이스(180)에 제공할 수 있다. 본원에서 설명된 예는 운송 서비스가 개시된 실제 위치가 운송 요청에서 사용자에 의해 지정된 픽업 위치와 반드시 대응할 필요는 없다는 것을 인지한다. 예를 들어, 주어진 도시 블록은 하나 이상의 대형 건물(사무실 건물, 아파트 단지 등)을 포함할 수 있으며, 이 빌딩에서 나가는 사용자는 운송 서비스를 요청하고 받는다. 북쪽으로 시장가(Market Street), 남쪽으로 미션가(Mission Street), 서쪽에서 11번가(11th Street), 동쪽에서 10번가(10th Street)와 경계를 이루는 것과 같은 도시 블록은, 샌프란시스코와 같은 도시에 위치될 수 있으며, 여기서 도시 블록을 둘러싼 스트릿의 특정 영역은 운송 서비스를 개시하는데 적합하지 않을 수 있다. 결과적으로, 운송 서비스는 도시 블록을 둘러싼 스트릿의 특정 위치에서 시작되었을 수 있다. 각각의 운송 서비스가 도시 블록의 미리 결정된 거리 내에서 개시했던 트립 엔트리(151)의 모음에 대해, 예를 들어, 위치 클러스터(140)는 개시된 위치 데이터 포인트의 그룹핑에 기초하여 주변 거리 상에서 6개의 가장 적합한 픽업 위치 데이터 포인트가 있음을 결정할 수 있다. 예를 들어, 위치 클러스터(140)는 10번가 및 시장가의 모서리 근처의 10번가 상의 개시된 위치 데이터 포인트의 제 1 그룹으로부터 제 1 가장 적합한 픽업 위치 데이터 포인트, 11번가 및 시장가의 모서리 근처의 11번가 상의 개시된 위치 데이터 포인트의 제 2 그룹으로부터 제 2 가장 적합한 픽업 위치 데이터 포인트 등을 결정할 수 있다. 결과적으로, 사용자가 도시 블록 근처에 있거나 도시 블록 근처에서 픽업되기를 고려중인 경우, 시스템(100)은 사용자에게 하나 이상의 가장 적합한 위치 데이터 포인트(예를 들어, 각각은 클러스터링된 개시된 위치 데이터 포인트에 대응함)를 제안할 수 있다.
그러한 예에서, 시스템(100)은 클라이언트 애플리케이션(181)의 맵 사용자 인터페이스 상에서 핀을 재포지셔닝하거나 이동시키기 위해 사용자가 사용자 입력을 제공할 때를 결정할 수 있다. 위치 매치(142)는 클라이언트 디바이스 인터페이스(120)를 통해 맵 사용자 인터페이스 상의 핀의 포지션에 대응하는 위치(예를 들어, "핀 위치(pin location)") 및 사용자 입력에 관한 정보를 수신할 수 있다. 핀 위치에 기초하여, 위치 매치(142)는 클러스터 맵핑 데이터베이스(145)에서 클러스터 엔트리(147)를 식별함으로써 그 위치의 미리 결정된 거리 내에 있는 하나 이상의 클러스터링된 개시된 위치 데이터 포인트를 결정할 수 있다. 하나 이상의 클러스터링된 개시된 위치 데이터 포인트는 그 위치 근처의 영역에서 운송 서비스를 개시하기에 적합한 위치(들)(예를 들어, 제안된 픽업 위치)를 나타낼 수 있다. 위치 매치(142)는, 클라이언트 애플리케이션(181)이 맵 사용자 인터페이스 상에 하나 이상의 대응하는 그래픽 표시자를 디스플레이할 수 있도록 하나 이상의 클러스터링된 개시된 위치 데이터 포인트를 클라이언트 애플리케이션(181)에 제공할 수 있다. 추가로 또는 대안으로서, 일부 예에서, 제안된 위치 데이터 포인트는, 클러스터링된 개시된 위치 데이터 포인트와 대조적으로, 위치 클러스터(140)에 의해 결정되고 클러스터 맵핑 데이터베이스(145)에 저장된 클러스터링된 픽업 위치 데이터 포인트에 대응할 수 있다.
사용자가 핀 위치를 계속 이동시킴에 따라, 위치 매치(142)가 클라이언트 애플리케이션(181)에 업데이트된 하나 이상의 클러스터링된 개시된 위치 데이터 포인트를 계속 제공할 수 있어서, 클라이언트 애플리케이션(181)은 하나 이상의 클러스터링된 개시된 위치 포인트에 대응하는 그래픽 표시자를 동적으로 디스플레이할 수 있게 한다. 사용자는 운송 서비스에 대한 요청을 위한 픽업 위치로서 세팅하기 위해 그래픽 표시자 중 하나에 핀을 배치할 수 있다. 일부 예에서, 핀이 맵 사용자 인터페이스 상의 그래픽 표시자에 근접하게 이동될 때, 그래픽 표시자는 디폴트 크기(예를 들어, 미리 결정된 반경 또는 크기를 갖는 원)로부터 더 큰 크기로 동적으로 크기를 확장시켜 사용자에게 시각적 피드백을 제공하고, 사용자가 확장된 그래픽 표시자 상에 핀을 배치하면(예를 들어, 핀을 이동시키는 사용자 입력의 제공을 중단함), 핀은 그래픽 표시자의 중앙으로 점프하거나 스냅(snap)할 수 있다. 그래픽 표시자는, 핀이 그래픽 표시자 상에 배치되면 크기가 디폴트 크기로 감소 및/또는 맵 사용자 인터페이스 상의 디스플레이로부터 제거될 수 있다.
일부 예에 따라, 시스템(100)은 또한, 운송 서비스를 제공하기 위한 픽업의 용이성을 강화하기 위해 사용자 및/또는 드라이버가 특정 위치로 이동하도록 보조하거나 안내하기 위해 트립 엔트리(151)로부터의 위치 정보를 이용할 수 있다. 일 예에서, 위치 맵핑(160)은 특정 지역에 대해, 특정 지역에서의 요청된 픽업 위치 데이터 포인트를 각각 갖는 트립 엔트리(151)의 세트를 결정하기 위해 트립 데이터베이스(150)에 액세스할 수 있다. 구현에 따라, 위치 맵핑(160)은 개별 지역을 결정하기 위해, 맵 데이터베이스(170)로부터의 맵 데이터(171)를 사용하여 위치 포인트를 식별하고, 스트릿을 식별하며, 그리고/또는 랜드마크 또는 관심의 포인트 등을 결정할 수 있다. 추가로 또는 대안으로서, 위치 맵핑(160)은 또한, 앞서 위치 클러스터링(140)에 의해 이전에 결정되고 클러스터 맵핑 데이터베이스(145)에 저장된 클러스터링된 위치 데이터 포인트 또는 지역(161)의 연관된 그룹에 대해 결정된 클러스터링된 위치 데이터 포인트에 관한 정보를 사용할 수 있다.
특정 지역의 트립 엔트리 세트(151) 각각에 대해, 위치 맵핑(160)은 개시된 위치 데이터 포인트(운송 서비스가 개시되었을 때 또는 사용자가 차량에 탑승했던 곳의 드라이버의 위치를 나타냄)를 결정할 수 있다. 통상적으로, 사용자가 운송 요청을 행하고 픽업 위치 데이터 포인트를 제공할 때, 선택된 드라이버는 실제로 정확한 픽업 위치 데이터 포인트에서 사용자를 픽업하지 않을 수 있다. 대신에, 드라이버는 요청된 픽업 위치 데이터 포인트에 근접하고, 차량에 의해 액세스 가능하며, 사용자에 의해 액세스 가능한 등의 위치에 정차하거나 주차할 수 있다. 따라서, 특정 지역 내의 트립 엔트리 세트(151)에 대해, 요청된 픽업 위치 데이터 포인트와 상이한 복수의 개시된 위치 데이터 포인트가 존재할 수 있다. 특정 지역에 대해 이전에 개시된 위치 데이터 포인트에 기초하여, 위치 맵핑(160)은 특정 지역에 대해 적합한 또는 가장 적합한 위치 데이터 포인트를 결정할 수 있다.
예를 들어, 위치 맵핑(160)은 클러스터 맵핑 데이터베이스(145)로부터 클러스터링된 개시된 위치 데이터 포인트를 결정할 수 있다. 다른 예에서, 위치 맵핑(160)은 사용자가 적합하거나 정확한 픽업 위치인 것으로서 표시한 개시된 위치 데이터 포인트의 그룹에 대응하는 클러스터 맵핑 데이터베이스(145)로부터 클러스터링된 개시된 위치 데이터 포인트를 결정할 수 있다(예를 들어, 트립 엔트리(151)의 세트의 서브-세트는 설문조사 정보(153)에 기초하여 적합하거나 정확한 픽업 위치로서 사용자에 의해 이전에 표시된 그러한 개시된 위치 데이터 포인트를 가질 수 있음). 추가로 또는 대안으로서, 위치 맵핑(160)은, 맵 데이터(171)에 기초하여 클러스터링된 개시된 위치 데이터 포인트(또는 클러스터링된 개시된 위치 데이터 포인트의 서브-세트)를 프로세싱하여, 클러스터링된 개시된 위치 데이터 포인트가 스트릿, 도로, 고속도로, 소요시간(turnaround), 진입로 등에 맞춰질 수 있게 한다. 더욱이, 시스템(100)의 사용자는 (예를 들어, 감사(auditing) 프로세스의 일부로서) 특정 지역에 대해 클러스터링된 위치 데이터 포인트를 구성, 조정 또는 선택하기 위한 입력을 또한 제공할 수 있다. 이러한 클러스터링된 개시된 위치 데이터 포인트는 가장 적합한 픽업 위치 데이터 포인트를 나타낼 수 있다.
위치 맵핑(160)은 가장 적합한 픽업 위치 데이터 포인트를 주어진 영역 또는 위치 데이터 포인트의 세트와 연관시킬 수 있고 픽업 맵핑 데이터베이스(165)에 픽업 엔트리(167)로서 정보를 저장할 수 있다(예를 들어, 도 4a 내지 도 4c와 함께 아래에서 논의됨). 예를 들어, 특정 스트릿 세그먼트 상에 만들어진 픽업 위치 데이터 포인트의 세트는 개시된 위치 데이터 포인트의 세트와 연관될 수 있고, 클러스터링된 개시된 위치 데이터 포인트는 픽업 위치 데이터 포인트의 세트에 대한 가장 적합한 픽업 위치 데이터 포인트에 대응할 수 있다. 대안적으로, 위치 맵핑(160)은 픽업 맵핑 데이터베이스(165)의 픽업 엔트리(167)로서 가장 적합한 픽업 위치 데이터 포인트를 개별 위치 데이터 포인트와 연관시킬 수 있다.
일부 예에 따라, 위치 맵핑(160)은 또한 텍스트 및/또는 이미지(들)를, 대응하는 픽업 엔트리(167)의 각각의 가장 적합한 픽업 위치 데이터 포인트와 연관시킬 수 있다. 텍스트 및/또는 이미지(들)는 맵 데이터(171) 및/또는 시스템(100)의 사용자로부터의 다른 입력에 기초하여 가장 적합한 픽업 위치 데이터 포인트와 연관될 수 있다. 이러한 텍스트 및/또는 이미지(들)(예를 들어, 본원에서 "연관된 정보(associated information)"로서 지칭됨)는 가장 적합한 픽업 위치 데이터 포인트에 대응하고 그 위치 데이터 포인트에 관한 정보를 제공할 수 있다. 예로서, 연관된 정보는, "적재 구역에 정차(pull up to the loading zone)", "터미널 1의 도어 2로 이동(go to Door 2 at Terminal 1)", "픽업 위치가 은행 바로 앞의 당신의 우측임(pickup location is on your right just in front of the bank)" 등과 같이 드라이버에 특정 위치로 이동하기를 통지하는 텍스트를 제공할 수 있다. 이러한 방식으로, 시스템(100)은 픽업 맵핑 데이터베이스(165)의 정보를 사용하여 운송 서비스를 위해 드라이버를 보조하거나 안내하고 그리고/또는 사용자 픽업을 개선하기 위해 보충 정보를 제공할 수 있다.
예로서, 사용자는 자신의 클라이언트 디바이스(180) 상에서 클라이언트 서비스 애플리케이션(181)을 동작시킴으로써 운송 요청(183)을 행할 수 있다. 운송 요청(183)은 사용자에 의해 지정된 픽업 위치 데이터 포인트(184)를 포함할 수 있다. 이러한 픽업 위치 데이터 포인트(184)는 시스템(100)에 의해 앞서 제공된 클러스터링된 위치 데이터 포인트 또는 사용자에 의해 (예를 들어, 핀을 위치로 이동시키고 그리고/또는 핀을 제안된 위치 데이터 포인트로 이동시킴으로써) 수동으로 선택되거나 입력된 것에 대응할 수 있다. 디스패치(110)는 픽업 위치 데이터 포인트(184)를 비롯해서, 운송 요청(183)을 수신하고, 현재 조건에 기초하여 드라이버 선택 프로세스를 수행할 수 있다. 드라이버 선택 컴포넌트는 하나 이상의 파라미터(예를 들어, 픽업 위치 데이터 포인트(184)에 대한 근접도 또는 거기까지의 추정된 이동 시간 및/또는 드라이버의 이동 방향 등)에 기초하여 드라이버를 선택하도록 드라이버의 풀(pool)을 결정하기 위해 드라이버 데이터베이스(114)에 액세스할 수 있다. 구현에 따라, 디스패치(110)는 픽업 위치 데이터 포인트(184)가 다른 미리 결정된 위치에 맵핑되는지 또는 픽업 엔트리(167)에 지정된 지역 내에 있는지를 결정하기 위해 픽업 맵핑 데이터베이스(165)에 액세스할 수 있다. 디스패치(110)는 운송 요청(183)의 수신에 응답하여 그리고 사용자를 위한 드라이버를 선택하기 전에, 도중에 또는 후에 결정을 내릴 수 있다.
픽업 위치 데이터 포인트(184)가 픽업 엔트리(167)에 지정된 지역에 위치되지 않는 것으로 결정되거나 대응하는 가장 적합한 픽업 위치를 갖지 않는 것으로 결정되면, 디스패치(110)는 사용자에 의해 지정된 픽업 위치 데이터 포인트(184)를 포함하는 운송 서비스 초대(193)를 선택된 드라이버의 디바이스(190)에 전송할 수 있다. 예를 들어, 지역 또는 픽업 위치 데이터 포인트(184)에 대한 픽업 엔트리(167)는, 사용자 및/또는 다른 사용자에 의해 지역에서 이루어진 운송 요청의 수(예를 들어, 미리 결정된 임계수)가 충분하지 않은 경우, 위치 맵핑(160)에 의해 아직 생성되거나 저장되지 않을 수 있다. 드라이버 서비스 애플리케이션(191)은 드라이버가 초대(193)를 수락 또는 거절하는 것을 가능케 하는 초대 특징(invitation feature) 및 픽업 위치 데이터 포인트(184)에 기초한 위치 정보를 포함하는 사용자 인터페이스를 디스플레이할 수 있다. 드라이버가 초대(193)를 수락하면, 드라이버 서비스 애플리케이션(191)은 수락(195)을 송신할 수 있고, (다른 애플리케이션 및/또는 서비스와의 상호작용 또는 사용을 통해) 픽업 위치 데이터 포인트(184)에 대한 루트 및/또는 방향을 디스플레이할 수 있다.
한편, 픽업 위치 데이터 포인트(184)가 픽업 엔트리(167)에 지정된 지역에 위치되는 것으로 결정되거나 대응하는 가장 적합한 픽업 위치를 갖는 것으로 결정되면, 디스패치(110)는 그 픽업 엔트리(167)의 미리 결정된 위치 데이터 포인트(194)를 결정할 수 있다. 즉, 디스패치(110)는, 픽업 위치 데이터 포인트(184)가 연관된 미리 결정된 위치 데이터 포인트(194)를 갖는다고 결정(그것이 특정 지역 내에 있는 결과로서)할 수 있다. 디스패치(110)는 그 지역에 대응하는 미리 결정된 위치 데이터 포인트(194)를 포함하는 운송 초대(193)를, 선택된 드라이버의 디바이스(190)에 송신할 수 있다. 본원에서 설명된 바와 같이, 미리 결정된 위치 데이터 포인트(194)는, 위치 맵핑(160)에 의해 이전에 결정되고 픽업 맵핑 데이터베이스(165)에 픽업 엔트리(167)로서 후속적으로 저장된, 특정 위치 데이터 포인트에 대한 또는 특정 지역에 대한 가장 적합한 위치 데이터 포인트에 대응할 수 있다. 드라이버 서비스 애플리케이션(191)은 사용자에 의해 지정된 실제 픽업 위치 데이터 포인트(184)와 대조적인 미리 결정된 위치 데이터 포인트(194)를 수신할 수 있다. 드라이버가 미리 결정된 위치 데이터 포인트(194)를 포함하는 초대(193)를 수락하면, 드라이버 서비스 애플리케이션(191)은 수락(195)을 송신할 수 있고, (다른 애플리케이션 및/또는 서비스와의 상호작용 또는 사용을 통해) 픽업 위치 데이터 포인트(184)와 대조적인 미리 결정된 위치 데이터 포인트(194)에 대한 루트 및/또는 방향을 디스플레이할 수 있다.
많은 상황에서, 최상의 픽업 위치를 나타내는 미리 결정된 위치 데이터 포인트(194)를 제공하는 것은 요청된 픽업 위치 데이터 포인트(184)를 제공하는 것보다 더 유리할 수 있다. 예를 들어, 사용자는 집과 같은 건물 내부에 있을 수 있는 자신의 현재 위치로부터 운송 요청(183)을 행할 수 있다. 이러한 픽업 위치 데이터 포인트는 드라이버에 주소를 제공할 수 있지만, 실제로 연석 쪽에 정차하거나 주차할 곳을 드라이버에 통지하지 않을 수 있다. 유사하게, 드라이버가 서비스 애플리케이션(191)의 맵 인터페이스 상에서 그러한 픽업 위치 데이터 포인트의 대응하는 핀을 보는 경우, 드라이버는 어디로 이동할지 정확히 알지 못할 수 있다. 따라서, (예를 들어, 저장된 트립 엔트리로부터의) 이력 위치 정보에 기초하여 가장 적합한 위치 데이터 포인트를 결정하고 그 가장 적합한 위치 데이터 포인트를 드라이버에 제공함으로써, 드라이버는 운송 서비스에 대해 보다 정확하고 효율적인 픽업을 제공할 수 있다.
더욱이, 일부 예에서, 대응하는 픽업 엔트리(167)로부터, 디스패치(110)는 또한, 만약 있다면, 미리 결정된 위치 데이터 포인트(194)에 대응하는 연관된 정보를 결정할 수 있다. 예에 따라, 연관된 정보는 특정 지역에 대응하는 각각의 픽업 엔트리(167)에 저장될 수 있다. 연관된 정보는 미리 결정된 위치 데이터 포인트(194)와 연관된 특정 위치로 드라이버를 안내하는 텍스트 및/또는 그래픽 정보를 제공할 수 있다. 이러한 연관된 정보를 드라이버 디바이스(190)에 제공함으로써, 서비스 애플리케이션(191)은 드라이버에 가장 적합한 위치로 이동하도록 통지하기 위해 텍스트와 같은 보충 정보를 디스플레이할 수 있다.
추가로 또는 대안으로서, 사용자의 픽업 위치 데이터 포인트(184)가 픽업 엔트리(167)의 특정 지역에 있다면, 디스패치(110)는 픽업 위치 데이터 포인트(184) 및 미리 결정된 위치 데이터 포인트(194) 둘 다(및 텍스트와 같은 연관된 정보)를 드라이버 디바이스(190)에 제공할 수 있다. 드라이버 서비스 애플리케이션(191)은 두 위치 데이터 포인트를 수신할 수 있고 상이한 목적으로 각각의 위치 데이터 포인트를 사용할 수 있다. 예에 따라, 초대(193)가 수신될 때, 서비스 애플리케이션(191)은 픽업 위치 데이터 포인트(184)를 사용하고, 픽업 위치 데이터 포인트(184)에 대한 대응하는 주소를 식별하기 위해 리버스 지오코딩 프로세스(reverse geocoding process)를 수행하고, 주소와 함께 사용자의 위치를 보여주는 사용자 인터페이스를 (예를 들어, 맵 상에) 디스플레이할 수 있다. 드라이버가 초대(193)를 수락하면, 서비스 애플리케이션(191)은 그 후 미리 결정된 위치 데이터 포인트(194)를 사용하여 드라이버에 더 상세하고 더 정확하고 가장 적합한 픽업 위치를 제공할 수 있다. 다른 예에서, 드라이버가 픽업 위치 데이터 포인트(184)에 접근함에 따라(예를 들어, 픽업 위치로부터 미리 정의된 거리 내에 있음), 서비스 애플리케이션(191)은 그 후 미리 결정된 위치 데이터 포인트(194)에 기초하여 보충 텍스트 정보를 디스플레이할 수 있다. 이와 같이, 드라이버는 일반적으로 사용자에게 도달하기 위해 어디로 이동할지를 통달하고 있을 뿐만 아니라 사용자를 픽업할 정확한 위치를 제공받을 수 있다.
시스템(100)은 운송 서비스가 디스패치(110)에 의해 연속적으로 구성됨에 따라 데이터베이스를 계속 업데이트할 수 있다. 일부 예에서, 시스템(100)이 트립 엔트리(151)로 트립 데이터베이스(150)를 계속 업데이트 할 때, 위치 클러스터링(140) 및 위치 맵핑(160)은 또한, 클러스터 맵핑 데이터베이스(145) 및 픽업 맵핑 데이터베이스(165)를 계속 업데이트할 수 있다. 변동에 따라, 시스템(100)의 컴포넌트는 시스템(100)의 사용자로부터의 입력에 기초하여 주기적으로 또는 간헐적으로 각각의 데이터베이스를 업데이트할 수 있다. 다른 예에서, 시스템(100)의 컴포넌트는 트립 엔트리(151) 중 하나 또는 그의 세트가 트립 데이터베이스(150)에 추가될 때마다 각각의 데이터베이스를 업데이트할 수 있다.
더욱이, 시스템(100)의 사용자는, 예를 들어, 전체적으로 또는 상이한 지역에 따라, 시스템(100)이 클러스터 맵핑 데이터베이스(145) 및 픽업 맵핑 데이터베이스(165)를 업데이트하는 시기를 제어할 수 있다. 예를 들어, 사용자 구성에 기초하여, 위치 클러스터(140)는 주기적으로(예를 들어, 제 1 빈도로) 클러스터 맵핑 데이터베이스(145)를 업데이트할 수 있고, 위치 맵핑(160)은 주기적으로(예를 들어, 제 1 빈도 또는 상이한 빈도로) 픽업 맵핑 데이터베이스(165)를 업데이트할 수 있다.
또한, 위치 맵핑(160) 및 위치 클러스터링(140)이 도 1의 예에서 상이한 컴포넌트로서 도시되지만, 다른 예에서, 위치 맵핑(160) 및 위치 클러스터링(140)은 하나의 컴포넌트로서 결합될 수 있거나 위치 클러스터링(140)이 둘 모두의 기능을 수행할 수 있다. 유사하게, 도 1의 다른 컴포넌트는 다른 컴포넌트의 일부에 포함되거나 그 일부일 수 있다.
방법론
도 2a는 일 실시예에 따라 온-디맨드 서비스에 대한 위치 데이터 포인트를 결정하기 위한 예시적인 방법을 도시한다. 도 2a의 실시예에 의해 설명된 바와 같은 방법은 예를 들어, 도 1의 실시예와 함께 설명된 컴포넌트를 이용하여 구현될 수 있다. 따라서, 도 1의 엘리먼트에 대해 이루어진 참조들은 설명되는 단계 또는 하위 단계를 수행하기 위한 적합한 엘리먼트 또는 컴포넌트를 예시하기 위한 것이다.
시스템(100)은 컴퓨팅 디바이스의 사용을 통해 요청 사용자를 위해 드라이버에 의해 제공되는 운송 서비스를 구성할 수 있다. 시스템(100)은 사용자에 의해 요청되거나 및/또는 완료된 각각의 운송 서비스에 대한 트립 엔트리를 데이터 저장소에 저장할 수 있다. 일부 변동에서, 시스템(100)은 수행될 배달 서비스, 음식 서비스, 엔터테인먼트 서비스 등과 같은 온-디맨드 서비스를 구성할 수 있다. 도 2a를 참조하면, 시스템(100)은 특정 지역에 대응하는 온-디맨드 서비스 엔트리의 세트를 저장하는 것을 비롯해서, 메모리 자원에 복수의 온-디맨드 서비스 엔트리(예를 들어, 트립 엔트리)를 저장할 수 있다(210). 세트의 각각의 온-디맨드 서비스 엔트리는 요청된 위치 데이터 포인트(예를 들어, 요청된 픽업 위치 데이터 포인트)를 포함할 수 있다. 시스템(100)은 온-디맨드 서비스에 대한 요청이 이루어질 때마다 및/또는 완료될 때마다 온-디맨드 서비스 엔트리를 생성하고 저장하는 것을 지속할 수 있다.
일부 예에서, 시스템(100)은 요청된 위치 데이터 포인트에 기초하여 온-디맨드 서비스 엔트리를 함께 그룹핑하고 그리고/또는 그룹에 대한 지역을 결정하기 위해, k-평균 클러스터링과 같은 하나 이상의 클러스터링 프로세스를 수행할 수 있다. 예를 들어, 시스템(100)은 캘리포니아, 샌프란시스코에 대해 정의된 영역과 같은 지리적 영역 내의 위치 데이터 포인트를 포함하는 위치 데이터 포인트 또는 지역의 수백 개의 그룹을 결정할 수 있다. 이 지리적 영역에서, 특정 지역은 요청된 위치 데이터 포인트의 그룹에 대응할 수 있다. 시스템(100)은 세트(220)의 요청된 위치 데이터 포인트에 적어도 부분적으로 기초하여 특정 지역에 대해 또는 위치 데이터 포인트의 그룹에 대해 클러스터링된 위치 데이터 포인트를 결정할 수 있다(220). 일 예에 따라, 시스템(100)은 특정 지역에 대한 클러스터링된 위치 데이터 포인트를 결정하기 위해 k-평균 클러스터링과 같은 하나 이상의 클러스터링 프로세스를 수행할 수 있다. 이러한 클러스터링된 위치 데이터 포인트는 특정 지역의 요청된 위치 데이터 포인트의 그룹에 대한, 실질적으로 중앙 또는 평균화된 위치 데이터 포인트일 수 있다. 더욱이, 구현에 따라, 시스템(100)은 특정 사용자에 대하여 특정 지역에 대한 클러스터링된 위치 데이터 포인트를 결정할 수 있다. 예를 들어, 개별 사용자에 대해, 시스템(100)은 그 사용자에 대한 온-디맨드 서비스 엔트리를 결정하고 특정 지역에 대해 요청된 위치 데이터 포인트를 결정할 수 있다.
각각의 지역에 대해, 시스템(100)은 그 후 클러스터 맵핑 테이블에 관련 지역과 함께 클러스터링된 위치 데이터 포인트를 저장할 수 있다(230). 예를 들어, 시스템(100)은, 위치 데이터 포인트의 각각의 그룹에 대한 또는 그 그룹 또는 지역을 식별하는 각각의 지역에 대한 클러스터 엔트리(예를 들어, 지역 ID 및/또는 그 지역을 정의하는 3개 이상의 위치 데이터 포인트를 가짐), 연관된 클러스터링된 위치 데이터 포인트 및/또는 클러스터 엔트리가 특정 사용자에 대한 것인 경우 사용자 ID를 생성할 수 있다. 시스템(100)은 사용자가 온-디맨드 서비스 요청을 행하는 것을 보조하기 위한 목적으로 추후에 클러스터 맵핑 테이블에 액세스할 수 있다.
추가로 또는 대안으로서, 도 2a에서 설명된 방법은 또한, 트립 엔트리 세트에 저장된 다른 위치 데이터 포인트에 관하여 수행될 수 있다. 예를 들어, 요청된 위치 데이터 포인트의 세트에 기초하여 클러스터링된 위치 데이터 포인트를 결정하기보다는, 시스템(100)은 개시된 위치 데이터 포인트의 세트에 기초하여 클러스터링된 위치 데이터 포인트를 결정할 수 있다. 대안적으로, 시스템(100)은 목적지 위치 데이터 포인트의 세트에 기초하여 클러스터링된 위치 데이터 포인트를 결정할 수 있다.
도 2b는 지역 및 클러스터링된 위치 데이터 포인트를 도시하는 예시적인 다이어그램을 도시한다. 다이어그램(250)은 2개의 스트릿의 교차로에 대응하는 영역을 도시한다. 요청된 위치 데이터 포인트 상에서 하나 이상의 클러스터링 프로세스를 수행하는 것에 기초하여, 시스템(100)은 2개의 지역, 즉 지역 A(260) 및 지역 B(270)에 대응하는 요청된 픽업 위치 데이터 포인트의 2개의 그룹을 결정할 수 있다. 이 영역은 추가 지역을 포함할 수 있지만, 단순함을 위해, 단지 2개의 지역 만이 다이어그램(250)에 예시된다.
도 2b에서 도시된 바와 같이, 지역 A(260)는 요청된 위치 데이터 포인트의 제 1 그룹을 포함하는 지역에 대응하고 지역 B(270)는 요청된 위치 데이터 포인트의 제 2 그룹을 포함하는 지역에 대응한다(각각의 요청된 위치 데이터 포인트는 백색 원으로 표시됨). 각각의 요청된 위치 데이터 포인트는 클라이언트 디바이스를 동작시키는 사용자에 의한 온-디맨드 서비스 요청에서 지정된 위치 데이터 포인트에 대응할 수 있다. 또한, 하나 이상의 클러스터링 프로세스를 수행함으로써, 시스템(100)은 또한 각각의 지역에 대한 클러스터링된 위치 데이터 포인트(CLDP)를 결정할 수 있다.
예를 들어, 시스템(100)은 지역 A(260)에 대한 CLDP A(265) 및 지역 B(270)에 대한 CLDP B(275)를 결정할 수 있다. 시스템(100)은 그 후, (예컨대, 위도 및 경도 좌표로서) 연관된 CLDP A(265)와 함께 지역 A(260)에 대한 제 1 클러스터 엔트리 및 (예를 들어, 위도 및 경도 좌표로서) 연관된 CLDP B(275)와 함께 지역 B(270)에 대한 제 2 클러스터 엔트리를 생성하고 메모리 자원에 저장할 수 있다. 시스템(100)은 지역 내의 요청된 위치 데이터 포인트를 갖는 추가적인 온-디맨드 서비스 요청이 사용자에 의해 이루어질 때 클러스터 엔트리를 수정(예를 들어, 각각의 지역 및/또는 각각의 CLDP를 수정)할 수 있다.
도 2c는 클라이언트 디바이스 상에서 실행중인 클라이언트 서비스 애플리케이션에 의해 제공되는 사용자 인터페이스의 일부를 도시하는 예시적인 다이어그램을 도시한다. 예에 따라, 사용자는, 예컨대, 비활동의 기간 이후, 클라이언트 서비스 애플리케이션이 디바이스 상에서 휴면 모드 또는 비활성 모드로부터 활성화된 이후 등에, 자신의 클라이언트 디바이스 상에서 클라이언트 서비스 애플리케이션을 오픈할 수 있다. 이에 응답하여, 서비스 애플리케이션은 클라이언트 디바이스의 현재 위치(예를 들어, 사용자의 현재 위치)를 자동으로 결정하고, 하나 이상의 네트워크(예를 들어, 셀룰러 네트워크) 상에서 현재 위치 데이터 포인트를 시스템(100)에 송신할 수 있다.
이 예에서, 시스템(100)은 수신된 현재 위치 데이터 포인트를 사용하여 클러스터링 맵핑 테이블에 액세스함으로써 사용자의 현재 위치 데이터 포인트가 (도 2b에서 도시된 대로 앞서 결정된 것과 같이) 클러스터 엔트리의 특정 지역(예를 들어, 지역 A(260)) 내에 있다고 결정한다. 이에 응답하여, 시스템(100)은 그 지역의 CLDP A(265)를 결정하고 클라이언트 디바이스에 CLDP A(265)를 송신한다.
다이어그램(280)은 사용자에 대한 적합한 픽업 요청 위치 데이터 포인트로서 CLDP A(265)를 수신한 결과로서, 맵 사용자 인터페이스의 일부와 같이 서비스 애플리케이션의 사용자 인터페이스의 일부를 도시한다. 예를 들어, 시스템(100)으로부터 CLDP A(265)를 수신한 후에, 서비스 애플리케이션은 사용자 인터페이스 상의 대응하는 CLDP A(265)로 핀(290)을 자동으로 이동시키거나 보여줄 수 있다. 따라서, 다이어그램(280)은 사용자의 현재 위치(285)뿐만 아니라 상이한 위치의 핀(290)을 보여주는 그래픽 표시자를 제공할 수 있다. 사용자는 그 후 먼저 맵 사용자 인터페이스 상의 위치로 핀(290)을 수동으로 이동시킬 필요 없이 온-디맨드 서비스를 요청하는 특징을 단지 선택할 수 있다. CLDP A(265)로의 핀(290)의 자동 배치는, 클라이언트 디바이스가 큰 GPS 에러를 가져서 사용자의 현재 위치(285)가 사용자가 실제로 위치하는 곳으로부터 멀리 떨어져 있는 것으로 나타날 때와 같은 일부 상황에서 매우 유용할 수 있다.
도 3은 일 실시예 하에서, 클러스터링된 위치 데이터 포인트를 사용자 디바이스에 제공하기 위한 예시적인 방법을 도시한다. 도 3의 실시예에 의해 설명된 바와 같은 방법은 예를 들어, 도 1의 실시예와 함께 설명된 컴포넌트를 이용하여 구현될 수 있다. 따라서, 도 1의 엘리먼트에 대해 이루어진 참조들은 설명되는 단계 또는 하위 단계를 수행하기 위한 적합한 엘리먼트 또는 컴포넌트를 도시하기 위한 것이다.
예를 들어, 도 3은 클라이언트 서비스 애플리케이션이 맵 사용자 인터페이스 상에 (도 2c에 예시된 핀(290)과 같은) 핀을 자동으로 디스플레이하게 하기 위해 시스템(100)에 의해 수행되는 방법을 도시한다. 시스템(100)은 클라이언트 서비스 애플리케이션이 사용자의 디바이스 상에서 열리거나 활성화되었음을 검출할 수 있다(310). 일부 예에 따라, 서비스 애플리케이션이 사용자의 디바이스 상에서 오픈되거나 활성화될 때, 서비스 애플리케이션은 사용자 디바이스의 현재 위치, 디바이스 ID 및/또는 사용자의 디바이스와 연관된 사용자 ID와 같은 정보를 시스템(100)에 송신할 수 있다.
시스템(100)이 사용자의 디바이스의 현재 위치를 수신하고, 디바이스가 연관된 클러스터링된 위치 데이터 포인트를 갖는 지역에 있는지를 결정할 수 있다(320). 예를 들어, 시스템(100)은 현재 위치가 클러스터 엔트리에 지정된 지역에 있는지를 결정하기 위해 클러스터 맵핑 테이블에 액세스할 수 있다. 만약 그렇다면, 시스템(100)은 지역에 대응하는 클러스터링된 위치 데이터 포인트를 식별할 수 있고, 클러스터링된 위치 데이터 포인트를 사용자의 디바이스에 송신할 수 있다. 이러한 방식으로, 시스템(100)은 사용자의 디바이스 상의 서비스 애플리케이션이 맵 사용자 인터페이스상에서, 클러스터링된 위치 데이터 포인트에 대응하는 포지션으로 핀을 자동으로 포지셔닝하게 할 수 있다(330). 한편, 어떠한 클러스터링된 위치 데이터 포인트도 사용자 디바이스의 현재 위치에 대해 지정되지 않으면, 시스템(100)은 서비스 애플리케이션이 핀을 지정된 위치로 포지셔닝하게 하지 않을 것이다(340). 예를 들어, 서비스 애플리케이션은 핀을 디폴트 포지션 (예를 들어, 사용자의 현재 위치 데이터 포인트와 같은)에 디스플레이할 수 있다.
이러한 방식으로, 사용자가 지정된 지역에 있고 서비스 애플리케이션을 오픈하거나 활성화하면, 그래픽 핀은 사용자의 이전의 서비스 요청(및/또는 다른 사용자의 이전 서비스 요청)에 기초하여 적합한 픽업 위치에 대응하는 포지션으로 자동으로 이동되거나 포지셔닝될 수 있다. 이는, 사용자가 사전에 적합한 픽업 위치를 수동으로 선택해야 할 필요 없이 온-디맨드 서비스에 대한 요청을 행하는 것을 가능케 할 수 있다. 클러스터링된 위치 데이터 포인트가 사용자가 원하는 위치가 아닌 경우, 사용자는 단순히 사용자 입력을 통해 핀을 다른 위치로 이동시키거나 선호하는 픽업 위치를 지정하는 주소 또는 랜드마크를 입력할 수 있다.
도 4a는 일 실시예에 따라 온-디맨드 서비스를 수행하기에 적합한 또는 가장-적합한 위치를 결정하기 위한 예시적인 방법을 도시한다. 도 4a의 실시예에 의해 설명된 바와 같은 방법은 예를 들어, 도 1의 실시예와 함께 설명된 컴포넌트를 이용하여 구현될 수 있다. 따라서, 도 1의 엘리먼트에 대해 이루어진 참조는 설명되는 단계 또는 하위 단계를 수행하기 위한 적합한 엘리먼트 또는 컴포넌트를 예시하기 위한 것이다.
시스템(100)은 특정 지역에 대한 온-디맨드 서비스 엔트리의 세트를 비롯해서, 메모리 자원에 복수의 온-디맨드 서비스 엔트리(예를 들어, 트립 엔트리)를 저장할 수 있다(410). 세트 내의 각각의 온-디맨드 서비스 엔트리는 특정 지역에서 요청된 위치 데이터 포인트 및 개시된 위치 데이터 포인트를 갖는다. 본원에서 설명된 바와 같이, 개시된 위치 데이터 포인트는, 서비스 제공자가 사용자에 대한 온-디맨드 서비스의 수행을 개시할 때의 서비스 제공자의 위치에 대응한다. 예를 들어, 운송 서비스에 대해, 개시된 위치 데이터 포인트는, 사용자가 차량에 탑승했을 때 및/또는 드라이버 서비스 애플리케이션을 통해 드라이버가 운송 서비스를 시작했다는 입력을 제공했을 때 드라이버가 있던 위치에 대응할 수 있다. 다른 예에서, 배달 서비스에 대해, 개시된 위치 데이터 포인트는 서비스 제공자가 배달을 위해 제품을 수령하거나 픽업한 위치에 대응할 수 있다.
구현에 따라, 시스템(100)은 요청된 위치 데이터 포인트에 기초하여 온-디맨드 서비스 엔트리를 함께 그룹핑하거나, 또는 그룹에 대한 지역을 결정하기 위해, k-평균 클러스터링과 같은 하나 이상의 클러스터링 프로세스를 수행할 수 있다. 다른 변동에서, 시스템(100)은 클러스터 맵핑 테이블 또는 데이터베이스의 클러스터 엔트리에서 이전에 결정되고 지정된 동일한 그룹 또는 지역을 사용할 수 있다. 더욱이, 다른 예에서, 시스템(100)은 개시된 위치 데이터 포인트에 기초하여 온-디맨드 서비스 엔트리를 함께 그룹핑하거나, 또는 그룹에 대한 지역을 결정하기 위해, 하나 이상의 클러스터링 프로세스를 수행할 수 있다. 예를 들어, 시스템은 개시된 위치 데이터 포인트의 그룹을 먼저 결정하기 위해 개시된 위치 데이터 포인트 상에서 클러스터링 프로세스를 수행하고, 그 후, 개시된 위치 데이터 포인트의 각 그룹에 대해, 연관된 요청된 위치 데이터 포인트를 결정할 수 있다. 이러한 방식으로, 개시된 위치 데이터 포인트의 각각의 그룹은 요청된 위치 데이터 포인트의 연관된 그룹을 가질 수 있다.
또한, 하나 이상의 클러스터링 프로세스를 수행함으로써, 시스템(100)은 특정 지역에 대한 온-디맨드 서비스 엔트리의 세트의 개시된 위치 데이터 포인트에 부분적으로라도 기초하여(예를 들어, 이력 데이터에 기초하여) 온-디맨드 서비스에 대한 가장 적합한 위치 데이터 포인트를 결정할 수 있다(420). 일부 예에 따라, 시스템(100)은, 온-디맨드 서비스에 대한 적합하거나 정확한 개시 위치로서 사용자에 의해 표시된 개시된 위치 데이터 포인트를 갖는, 온-디맨드 서비스의 세트의 서브-세트를 결정할 수 있다. 서브-세트로부터, 시스템(100)은 개시된 위치 데이터 포인트의 대응하는 서브-세트를 식별하고 가장 적합한 위치 데이터 포인트를 결정하기 위해 하나 이상의 클러스터링 프로세스를 수행할 수 있다. 더욱이, 시스템(100)은 맵 데이터를 사용하여 가장 적합한 위치 데이터 포인트를 결정할 수 있다.
시스템(100)은 그 후, 특정 지역을 갖는 가장 적합한 개시된 위치 데이터 포인트에 대한 엔트리를 생성하고 맵핑 테이블(예를 들어, 픽업 맵핑 테이블)에 저장할 수 있다(430). 시스템(100)은 또한 텍스트 및/또는 이미지(들)를 대응하는 엔트리의 개시된 위치 데이터 포인트와 연관시킬 수 있다. 이러한 엔트리는 시스템(100)에 의해 이용되어 서비스 제공자가 온-디맨드 서비스를 개시하기 위한 최상의 위치로 이동하는 것을 보조할 수 있다.
도 4b는 지역 및 이러한 지역에 대한 미리 결정된 가장-적합한 위치 데이터 포인트를 도시하는 예시적인 다이어그램을 도시한다. 일 예에서, 다이어그램(450)은 도 4a의 방법에서 설명된 바와 같이 시스템(100)에 의해 생성된 복수의 엔트리를 그래픽으로 도시한다. 예를 들어, 엔트리는 도 1에서 설명된 바와 같이 픽업 맵핑 데이터베이스(165)에 저장된 픽업 엔트리(167)에 대응할 수 있다. 이 경우에, 다이어그램(450)은 각각이 영역을 가장 적합한 위치 데이터 포인트와 연관시키는 3개의 이러한 엔트리를 예시한다.
다이어그램(450)은 2개의 스트릿의 교차로에 대응하는 영역을 도시한다. 예에 따라, 간략함을 위해, 다이어그램(450)에 예시된 영역은 도 2b의 다이어그램(250)에 도시된 영역과 동일할 수 있다. 다이어그램(450)은, 시스템(100)이 영역 내의 3개의 지역, 즉 지역 A(460), 지역 B(470) 및 지역 C(480) 및 각각의 지역에 대한 가장 적합한 위치 데이터 포인트(BLDP), 즉, BLDP A(465), BLDP B(475), BLDP C(485)를 각각 결정했음을 도시한다. 이러한 방식으로, 3개의 대응 엔트리가 생성되며, 각각의 엔트리가 지역(예를 들어, 지역 ID를 사용하여, 지역의 둘레에 대해 3개 이상의 위치 데이터 포인트 등을 사용하여) 및 대응하는 BLDP(예를 들어, 위도와 경도 좌표)를 식별한다. 또한, 일부 예에서, 하나 이상의 엔트리는 BLDP에 대한 연관된 정보를 포함할 수 있다.
이 영역은 추가 지역을 포함할 수 있지만, 단순함을 위해, 단지 3개의 지역 만이 다이어그램(450)에 도시된다. 더욱이, 변동에 따라, 하나 이상의 지역은 예컨대, 도 2a 및 도 2b에서 설명된 클러스터링된 위치 데이터 포인트에 대해 이전에 결정된 것과 동일한 지역 일 수 있다(예를 들어, 지역 B 참조).
다이어그램(450)에 도시된 지역은, 온-디맨드 서비스 요청이 지정된 지역 내의 요청된 위치 데이터 포인트와 관련하여 이루어질 때, 시스템(100)은 드라이버를 선택하고(예를 들어, 구현에 따라, 요청된 위치 데이터 포인트와 대조적으로 또는 요청된 위치 데이터 포인트와 동시에) 대응하는 BLDP를 드라이버의 디바이스에 제공할 수 있음을 표시한다. 예를 들어, 사용자가 지역 A(460)에서 픽업 위치 데이터 포인트를 지정하는 운송 서비스 요청을 행하면, 시스템(100)은 요청을 수신하고, 운송 서비스를 수행할 드라이버를 선택하고, 선택된 드라이버의 디바이스에 초대를 송신할 수 있다. 요청된 픽업 위치 데이터 포인트를 송신하는 것과 대조적으로, 시스템(100)은 (예를 들어, 초대와 함께 또는 드라이버가 초대를 수락한 후에) 연관된 BLDP A(465)를 드라이버 디바이스에 송신할 수 있다. BLDP A(465)는, BLDP A(465)가 (맵 상에 도시된 건물 내에 있는 위치 데이터 포인트와 대조적으로) 도로 상의 포인트로서 도시되기 때문에 드라이버가 이동하기에 더 정확하고 더 적합한 위치 데이터 포인트를 제공할 수 있다.
도 4c는 일 실시예 하에서, 사용자 디바이스에 적합한 또는 가장-적합한 위치를 제공하기 위한 예시적인 방법을 도시한다. 도 4c의 실시예에 의해 설명된 바와 같은 방법은 예를 들어, 도 1의 실시예와 함께 설명된 컴포넌트를 이용하여 구현될 수 있다. 따라서, 도 1의 엘리먼트에 대해 이루어진 참조는 설명되는 단계 또는 하위 단계를 수행하기 위한 적합한 엘리먼트 또는 컴포넌트를 예시하기 위한 것이다.
일부 예에 따라, 시스템(100)은 사용자에게 제안된 위치를 제공하기 위해 이력적 픽업 위치 및/또는 이력적 개시된 위치를 분석하여 결정된 데이터를 사용할 수 있다. 예를 들어, 시스템(100)은 복수의 클러스터 엔트리를 포함하는 데이터베이스를 메모리 자원에 저장할 수 있으며, 여기서 각각의 클러스터 엔트리는 개시된 픽업 위치 또는 지역의 그룹(또는 대안적으로, 요청된 픽업 위치의 그룹)과 연관되는 클러스터링된 위치 데이터 포인트에 대응한다. 본원에서 설명되는 일부 예에서, 클러스터링된 개시된 위치 데이터 포인트는 맵 데이터를 사용하여 특정 스트릿에 맵핑될 수 있다.
도 4c를 참조하면, 시스템(100)은 클라이언트 서비스 애플리케이션이 사용자 디바이스 상에서 오픈되거나 개시되었음을 결정할 수 있다(490). 서비스 애플리케이션이 사용자 디바이스 상에서 런칭되면, 서비스 애플리케이션은 하나 이상의 네트워크 상에서 시스템(100)과의 연결을 설정하고, 서비스 애플리케이션의 상태를 표시하는 통신 메시지 및/또는 사용자 정보(사용자 디바이스의 GPS 수신기로부터 결정된 사용자 위치를 포함함)를 제공한다.
시스템(100)은, 서비스 애플리케이션의 맵 사용자 인터페이스 상에서 그래픽 표시자(예를 들어, 핀)의 재포지셔닝 또는 이동에 대응하는 사용자 입력이 사용자에 의해 이루어졌음을 결정할 수 있다(492). 예를 들어, 사용자는 픽업 위치를 지정하기 위해 맵 사용자 인터페이스 상에서 사용자 입력(예를 들어, 사용자 디바이스의 터치 감지 스크린을 통한 터치 입력)을 제공함으로써 핀을 이동시킬 수 있다. 사용자가 서비스 애플리케이션의 맵 사용자 인터페이스 상에서 핀을 재포지셔닝 또는 이동시키는 사용자 입력을 제공하면, 시스템(100)은 사용자 입력(예를 들어, 사용자가 핀을 재포지셔닝하고 있음) 및/또는 맵 사용자 인터페이스 상의 핀의 포지션에 대응하는 위치(예를 들어, "핀 위치(pin location)")에 관한 정보를 수신할 수 있다.
핀 위치에 기초하여, 시스템(100)은 클러스터 엔트리를 식별함으로써 그 위치의 미리 결정된 거리 내에(또는 핀 위치의 지역 내에) 있는 하나 이상의 클러스터링된 개시된 위치 데이터 포인트를 결정할 수 있다(494). 미리 결정된 거리(예를 들어, 핀 위치로부터 100 또는 200 미터)는 시스템(100)의 관리 사용자에 의해 사용자-구성될 수 있다. 본원에서 설명된 바와 같은 클러스터링된 개시된 위치 데이터 포인트는, 그것이 이전의 운송 서비스가 시작된 위치를 나타내기 때문에 사용자의 운송 서비스에 대해 효율적인 적합한 위치에 대응할 수 있다. 시스템(100)은 하나 이상의 적합한 위치에 대응하는 하나 이상의 그래픽 특징이 사용자 디바이스의 맵 사용자 인터페이스 상에 디스플레이되게 할 수 있다(496). 예를 들어, 시스템(100)은, 클라이언트 애플리케이션이 맵 사용자 인터페이스 상에 하나 이상의 대응하는 그래픽 표시자를 디스플레이할 수 있도록 하나 이상의 클러스터링된 개시된 위치 데이터 포인트를 클라이언트 애플리케이션에 제공할 수 있다.
추가로 또는 대안으로서, 시스템(100)은 사용자가 위치되는 큰 영역(예를 들어, 사용자의 위치로부터 1 마일 또는 2 마일)에 있는 클러스터링된 개시된 위치 데이터 포인트의 세트를 제공할 수 있다. 예를 들어, 서비스 애플리케이션이 초기에 오픈될 때, 시스템(100)은 큰 영역 내의 클러스터링된 개시된 위치 데이터 포인트의 세트를 서비스 애플리케이션에 제공할 수 있다. 서비스 애플리케이션은 데이터를 국부적으로 저장할 수 있고, 사용자가 핀을 재포지셔닝하는 입력을 제공할 때, 서비스 애플리케이션은 핀 위치에 기초하여, 맵 사용자 인터페이스 상의 그래픽 특징으로서 클러스터링된 개시된 위치 데이터 포인트의 세트의 서브-세트를 디스플레이할 수 있다. 이 예에서, 제안된 픽업 위치는 사용자가 짧은 양의 시간에 핀을 빈번하게 재포지셔닝할 때의 레이턴시의 결과로서 대기 시간 또는 지연을 감소시키기 위해 사전 로딩될 수 있다.
사용자가 핀 위치를 계속 이동시킴에 따라, 시스템(100)이 서비스 애플리케이션에 업데이트된 하나 이상의 클러스터링된 개시된 위치 데이터 포인트를 계속 제공할 수 있어서, 서비스 애플리케이션은 하나 이상의 클러스터링된 개시된 위치 포인트에 대응하는 그래픽 특징을 동적으로 디스플레이할 수 있게 한다. 사용자는 운송 서비스에 대한 요청을 위한 픽업 위치로서 지정하기 위해 그래픽 특징 중 하나에 핀을 배치할 수 있고, 운송 서비스에 대한 요청을 행할 수 있다. 시스템(100)은 사용자 디바이스로부터 운송 서비스에 대한 요청을 수신할 수 있다(498). 요청은 사용자의 입력에 의존하여, 임의의 위치 또는 클러스터링된 개시된 위치 데이터 포인트에 대응할 수 있는 픽업 위치를 포함할 수 있다.
도 5는 일 실시예에 따라 사용자에 대한 온-디맨드 서비스를 구성하기 위한 예시적인 방법을 도시한다. 도 5의 실시예에 의해 설명된 바와 같은 방법은 예를 들어, 도 1의 실시예와 함께 설명된 컴포넌트를 이용하여 구현될 수 있다. 따라서, 도 1의 엘리먼트에 대해 이루어진 참조는 설명되는 단계 또는 하위 단계를 수행하기 위한 적합한 엘리먼트 또는 컴포넌트를 예시하기 위한 것이다.
시스템(100)은 클라이언트 디바이스를 동작시키는 사용자로부터 운송 서비스에 대한 요청을 수신할 수 있다(510). 요청은 요청된 픽업 위치 데이터 포인트뿐만 아니라 사용자의 ID, 디바이스 ID 등과 같은 다른 정보를 포함할 수 있다. 요청의 수신에 응답하여, 시스템(100)은 요청된 픽업 위치 데이터 포인트가 연관된 미리 결정된 위치 데이터 포인트를 갖는 지역 내에 있는지를 결정할 수 있다(520). 본원에서 설명된 바와 같이, 미리 결정된 위치 데이터 포인트는, 이전 운송 서비스의 이력 데이터 상에서 하나 이상의 동작을 수행함으로써 시스템(100)에 의해 이전에 결정된 가장 적합한 위치 데이터 포인트에 대응할 수 있다. 대안적으로, 시스템(100)은 요청된 픽업 위치 데이터 포인트가 대응하는 미리 결정된 위치 데이터 포인트를 갖는지를 결정할 수 있다.
예를 들어, 도 1을 참조하면, 디스패치(110)는, 임의의 픽업 엔트리(167)가 요청된 픽업 위치 데이터 포인트가 포지셔닝되는 지역을 지정하는지를 결정하도록, 픽업 맵핑 데이터베이스(165)에서 룩업 프로세스 또는 검색 동작을 수행할 수 있다. 요청된 위치 데이터 포인트가 연관된 미리 결정된 위치 데이터 포인트를 갖는 지역에 있지 않으면, 디스패치(110)는, 적어도 부분적으로, 요청된 위치 데이터 포인트에 기초하는 것은 물론, (예를 들어, 요청된 위치 데이터 포인트의 반경 내의) 영역 내의 드라이버의 현재 위치, 영역 내의 드라이버의 상태 등과 같은 다른 팩터에 기초하여, 디스패치(110)가 사용자에 대한 운송 서비스를 수행할 드라이버를 선택할 수 있는 디폴트 동작을 지속할 수 있다(560). 디스패치(110)는 그 후, 사용자에 대한 운송 서비스를 수행하기 위한 초대를 선택된 드라이버의 디바이스에 송신할 수 있다(570). 초대는 요청된 위치 데이터 포인트를 포함할 수 있어서, 드라이버의 디바이스 상에서 동작하는 드라이버 서비스 애플리케이션은 드라이버가 초대를 수락할 경우 이동할 곳을 드라이버에 통지하도록 요청된 위치 데이터 포인트를 사용할 수 있게 된다.
한편, 요청된 픽업 위치 데이터 포인트가 포지셔닝되는 지역을 지정하는 픽업 엔트리(167)를 디스패치(110)가 식별하면, 디스패치(110)는 지역과 연관된 대응하는 미리 결정된 위치 데이터 포인트를 결정할 수 있다(530). 드라이버 선택 컴포넌트는 요청된 위치 데이터 포인트에 적어도 부분적으로 기초하여 사용자에 대한 운송 서비스를 수행할 드라이버를 선택할 수 있다(540). 추가로 또는 대안으로서, 시스템(100)은 미리 결정된 위치 데이터 포인트에 적어도 부분적으로 기초하여 드라이버 선택 프로세스를 수행할 수 있다.
드라이버가 선택되면, 디스패치(110)는, 요청된 위치 데이터 포인트와 대조적으로, 미리 결정된 위치 데이터 포인트를 포함하는, 운송 서비스를 수행하기 위한 초대를 선택된 드라이버의 디바이스에 송신할 수 있다(550). 다른 예에서, 초대는 요청된 위치 데이터 포인트를 또한 포함할 수 있다. 드라이버의 디바이스 상에서 동작하는 드라이버 서비스 애플리케이션은 초대에 관한 정보를 디스플레이하고 사용자 입력을 통해 드라이버가 초대를 거부/무시하거나 초대를 수락하는 것을 가능케 할 수 있다.
대안적으로, 디스패치(110)는 요청된 픽업 위치 데이터 포인트와 함께 드라이버의 디바이스에 초대를 송신할 수 있고, 드라이버의 디바이스 상에서 동작하는 드라이버 서비스 애플리케이션은 (i) 요청된 픽업 위치 데이터 포인트에 대한 대응하는 주소를 식별하도록 리버스 지오코딩 프로세스를 수행하고 및 (ii) 대응하는 주소를 이용하여 초대에 관한 정보를 디스플레이할 수 있다. 드라이버가 초대를 수락한 후, 디스패치(110)는, 드라이버 서비스 애플리케이션이 미리 결정된 위치 데이터 포인트를 사용하여 드라이버를 보조하거나 안내하는 것을 가능케 하도록 미리 결정된 위치 데이터 포인트를 드라이버의 디바이스에 송신할 수 있다.
어느 구현에서든지, 드라이버가 초대를 수락하면, 드라이버 서비스 애플리케이션은 드라이버의 현재 위치를 보여주는 맵 사용자 인터페이스를 디스플레이할 수 있고, 일부 예에서, 다른 애플리케이션(예를 들어, 맵 애플리케이션 또는 루팅 애플리케이션)과의 상호작용을 통해, 드라이버의 현재 위치에서 미리 결정된 위치 데이터 포인트까지 루트 및/또는 턴-바이-턴(turn-by-turn) 안내를 디스플레이할 수 있다. 추가로 또는 대안으로서, 미리 결정된 위치 데이터 포인트와 연관된 텍스트 및/또는 그래픽 정보(예를 들어, 연관된 정보)가 드라이버의 디바이스에 제공되어, 이동할 정확한 위치에 관해 드라이버에 추가로 통지하도록 드라이버 서비스 애플리케이션이 연관된 정보를 사용하는 것을 가능케 할 수 있다. 예를 들어, 드라이버가 초대를 수락하면, 드라이버 서비스 애플리케이션은 미리 결정된 위치 데이터 포인트와 연관된 텍스트 정보(예를 들어, "시장가를 통과한 직후 10번가에 차를 세우시오(Pull Over On 10th St. Just After Passing Market St.")를 (예를 들어, 맵 사용자 인터페이스, 루트 및/또는 턴-바이-턴 안내와 동시에) 디스플레이할 수 있다. 다른 예에서, 드라이버 서비스 애플리케이션은, 드라이버가 미리 결정된 위치 데이터 포인트로부터 미리 결정된 시간 및/또는 거리만큼 떨어져 있다고 결정할 때 연관된 정보를 디스플레이할 수 있다.
도 5가 단계(520) 이후 수행될 단계(540) 및/또는 단계(560)를 예시하지만, 다른 예에서, 시스템(100)은 운송 서비스에 대한 요청을 수신(단계 510)한 후, 그리고 요청된 위치 데이터 포인트가 연관된 미리 결정된 위치 데이터 포인트를 갖는 지역에 있는지를 결정(단계 520)하기 이전에 드라이버 선택 프로세스를 수행할 수 있다. 다른 예에서, 시스템(100)은, 요청된 위치 데이터 포인트가 연관된 미리 결정된 위치 데이터 포인트를 갖는 지역에 있는지 여부를 결정하는 것(단계 520)과 동시에 드라이버 선택 프로세스를 수행할 수 있다.
예시 목적으로, 이용 사례 시나리오 예가 도 5의 방법에 관하여 아래에서 설명된다. 사용자는 샌프란시스코 국제 공항(SFO)에 있고, 목적지(예를 들어, 자신의 집)까지의 운송 서비스를 원할 수 있다. 사용자는 비행편을 통해 도착했을 수 있고 도착 터미널(SFO의 2층)에서 출구쪽으로 나갈 수 있다. 사용자가 이 위치의 요청된 픽업 위치 데이터 포인트를 갖는 요청을 행할 때, 시스템(100)은, 요청된 픽업 위치 데이터 포인트가 연관된 미리 결정된 위치 데이터 포인트를 갖는 미리 정의된 지역 내에 있는지를 결정할 수 있다. 이 예에서, 시스템(100)은 요청된 픽업 위치가 미리 정의된 지역 내에 있다고 결정할 수 있다. 미리 정의된 지역(예를 들어, SFO의 2층 상의 도착 터미널 근처의 영역에 대응함)은 연관된 텍스트 및/또는 그래픽 정보뿐만 아니라 연관된 미리 결정된(및 가장 적합한) 위치 데이터 포인트를 가질 수 있다.
미리 정의된 지역과 연관된 완료된 트립 엔트리의 이전 세트를 프로세싱한 결과로서, 시스템(100)은, 미리 정의된 지역에서 운송 서비스를 개시(예를 들어, 사용자를 픽업)하기 위한 가장 적합한 위치 데이터 포인트는 실제로, SFO의 2층 상의 도착 터미널과 대조적으로 SFO의 3층 상의 출발 터미널 바로 밖이라고 결정할 수 있다. 또한, 일부 경우에서, 실제 도로의 일부가 상이한 레벨의 높이로 있을 수 있고 서로 오버랩(예를 들어, 하나가 다른 하나 위에 있을 수 있음)할 수 있기 때문에, 가장 적합한 위치 데이터 포인트에 대한 위도 및 경도 좌표를 드라이버 서비스 애플리케이션에 단순히 제공하는 것은 드라이버에게 완전히 유용하진 않을 수 있다. 이에 따라, 시스템(100)은 또한, 예를 들어 "3층 상의 출발 터미널에서 사용자를 픽업(Pick Up the User at the Departures Terminal on 3rd Level)"하도록 드라이버 디바이스에 통지하기 위해 연관된 텍스트 및/또는 그래픽 정보를 드라이버 디바이스에 제공할 수 있다.
하드웨어 다이어그램
도 6은 본원에서 설명된 실시예가 구현될 수 있는 컴퓨터 시스템을 도시하는 블록도이다. 예를 들어, 도 1의 맥락에서, 시스템(100)은 도 6에 설명된 바와 같은 컴퓨터 시스템을 사용하여 구현될 수 있다. 시스템(100)은 또한 도 6에 의해 설명된 바와 같이 다수의 컴퓨터 시스템의 조합을 사용하여 구현될 수 있다.
일 구현에서, 컴퓨터 시스템(600)은 프로세싱 자원(610), 메인 메모리(620), 판독-전용 메모리(ROM)(630), 저장 디바이스(640) 및 통신 인터페이스(650)를 포함한다. 컴퓨터 시스템(600)은 정보를 프로세싱하기 위한 적어도 하나의 프로세서(610) 및 프로세서(610)에 의해 실행될 정보 및 명령을 저장하기 위한, 랜덤 액세스 메모리(RAM) 또는 다른 동적 저장 디바이스와 같은 메인 메모리(620)를 포함한다. 메인 메모리(620)는 또한 프로세서(610)에 의해 실행될 명령의 실행 동안 임시 변수 또는 다른 중간 정보를 저장하기 위해 사용될 수 있다. 컴퓨터 시스템(600)은 또한 정적 정보 및 프로세서(610)에 대한 명령을 저장하기 위한 ROM(630) 또는 다른 정적 저장 디바이스를 포함할 수 있다. 자기 디스크 또는 광 디스크와 같은 저장 디바이스(640)는, 정보 및 클러스터링 명령(642) 및 맵핑 명령(644)을 포함하는 명령을 저장하기 위해 제공된다.
예를 들어, 프로세서(610)는 클러스터링 명령(642)을 실행하여, 도 1 내지 도 3에서 설명된 것과 같이, (i) 이전에 요청된 및/또는 완료된 운송 서비스에 관한 저장된 정보에 기초하여 클러스터링된 위치 데이터 포인트를 결정하고, 그리고 (ii) 지역을 클러스터링된 위치 데이터 포인트와 연관시키는 클러스터 엔트리를 생성하기 위한 로직을 구현할 수 있다. 프로세서(610)는 또한, 맵핑 명령(644)을 실행하여, 도 1 내지 도 5에서 설명된 것과 같이, (i) 이전에 개시되거나 적어도 부분적으로 수행된 운송 서비스에 관한 저장된 정보에 기초하여 가장 적합한 위치 데이터 포인트를 결정하고, 그리고 (ii) 지역을 가장 적합한 위치 데이터 포인트와 연관시키는 픽업 엔트리를 생성하기 위한 로직을 구현할 수 있다.
통신 인터페이스(650)는 컴퓨터 시스템(600)이 네트워크 링크(무선 및/또는 유선을 이용함)의 사용을 통해 하나 이상의 네트워크(680)(예를 들어, 셀룰러 네트워크)와 통신하는 것을 가능케 할 수 있다. 네트워크 링크를 사용하여, 컴퓨터 시스템(600)은 하나 이상의 다른 컴퓨팅 디바이스 및/또는 하나 이상의 다른 서버 또는 데이터 센터와 통신할 수 있다. 일부 변동에서, 컴퓨터 시스템(600)은 네트워크 링크를 통해 사용자의 클라이언트 디바이스로부터 운송 요청(652)을 수신할 수 있다. 운송 요청(652)은 사용자의 사용자 ID, 요청된 픽업 위치 데이터 포인트, 목적지 위치 데이터 포인트 및/또는 차량 타입 선택을 포함할 수 있다.
프로세서(610)는 명령의 실행을 통해, 요청 사용자에 대한 운송 서비스를 수행할 드라이버를 선택할 수 있다. 컴퓨터 시스템(600)은 그 후 네트워크 링크를 통해 선택된 드라이버의 디바이스에 초대(654)를 송신할 수 있다. 일부 예에서, 요청된 픽업 위치 데이터 포인트가 연관된 미리 결정된(또는 가장 적합한) 위치 데이터 포인트를 갖는 지정된 지역 내에 있는 것으로 결정되면, 컴퓨터 디바이스(600)는 (예를 들어, 초대(654)의 송신과 함께 또는 그 후에) 미리 결정된 위치 데이터 포인트(656)를 선택된 드라이버의 디바이스에 송신할 수 있다. 드라이버의 디바이스 상에서 동작하는 드라이버 서비스 애플리케이션은, 드라이버를 드라이버에 대한 정확하고 가장 적합한 픽업 위치까지 안내하거나 보조할 목적으로 미리 결정된 위치 데이터 포인트(656)를 사용할 수 있다.
컴퓨터 시스템(600)은 또한 그래픽 및 정보를 사용자에게 디스플레이하기 위해 예를 들어, 음극선관(CRT), LCD 모니터 또는 텔레비전 세트와 같은 디스플레이 디바이스(660)를 포함할 수 있다. 알파뉴메릭(alphanumeric) 키 및 다른 키를 포함하는 키보드와 같은 하나 이상의 입력 메커니즘(670)은 정보 및 명령 선택을 프로세서(610)에 전달하기 위해 컴퓨터 시스템(600)에 커플링될 수 있다. 입력 메커니즘(670)의 다른 비-제한적이고 예시적인 예는 방향 정보 및 명령 선택을 프로세서(610)에 전달하고 디스플레이(660) 상의 커서 이동을 제어하기 위한 마우스, 트랙볼, 터치-감지 스크린 또는 커서 방향 키를 포함한다.
본원에서 설명되는 예는 본원에서 설명되는 기술을 구현하기 위한 컴퓨터 시스템(600)의 사용에 관련된다. 일 실시예에 따라, 이 기술은 메인 메모리(620)에 포함된 하나 이상의 명령의 하나 이상의 시퀀스를 실행하는 프로세서(610)에 대한 응답으로 컴퓨터 시스템(600)에 의해 수행된다. 그러한 명령은 저장 디바이스(640)와 같은 다른 머신-판독 가능 매체로부터 메인 메모리(620)로 판독될 수 있다. 메인 메모리(620)에 포함된 명령의 시퀀스의 실행은 프로세서(610)가 본원에서 설명되는 프로세스 단계를 수행하게 한다. 대안적인 구현에서, 본원에서 설명된 예를 구현하기 위해 소프트웨어 명령 대신에 또는 소프트웨어 명령과 함께 하드-와이어드 회로(hard-wired circuitry)가 사용될 수 있다. 따라서, 설명된 예는 하드웨어 회로 및 소프트웨어의 임의의 특정 조합으로 제한되지 않는다.
도 7은 본원에서 설명된 실시예가 구현될 수 있는 모바일 컴퓨팅 디바이스를 예시하는 블록도이다. 일 실시예에서, 컴퓨팅 디바이스(700)는 전화통화, 메시지 주고받기 및 데이터 서비스가 가능한 셀룰러 디바이스와 같은 모바일 컴퓨팅 디바이스에 대응할 수 있다. 컴퓨팅 디바이스(700)는 클라이언트 디바이스 또는 드라이버 디바이스에 대응할 수 있다. 이러한 디바이스의 예는 스마트폰, 핸드셋 또는 셀룰러 캐리어를 위한 태블릿 디바이스를 포함한다. 컴퓨팅 디바이스(700)는 프로세서(710), 메모리 자원(720), (예를 들어, 터치-감지 디스플레이 디바이스와 같은) 디스플레이 디바이스(730), 하나 이상의 통신 서브-시스템(740)(무선 통신 서브-시스템을 포함함), 입력 매커니즘(750)(예를 들어, 입력 매커니즘은 터치-감지 디스플레이 디바이스를 포함하거나 그 부분일 수 있음) 및 하나 이상의 위치 검출 메커니즘(예를 들어, GPS 컴포넌트)(770)을 포함한다. 일 예에서, 통신 서브시스템(740) 중 적어도 하나는 데이터 채널 및 음성 채널을 통해 셀룰러 데이터를 전송 및 수신한다.
프로세서(710)는 메모리 자원(720)에 저장된 명령 및/또는 애플리케이션을 실행함으로써 디스플레이(730)에 다양한 콘텐츠를 제공할 수 있다. 예를 들어, 프로세서(710)는 도 1 내지 도 6 및 본원의 다른 곳에 의해 설명된 바와 같은 구현과 관련하여 설명된 하나 이상의 프로세스, 단계 및 다른 기능을 수행하기 위한 소프트웨어 및/또는 다른 로직을 갖도록 구성된다. 특히, 프로세서(710)는 도 1 내지 도 6에서 설명된 바와 같이, 서비스 애플리케이션을 동작시키기 위해 메모리 자원(720)에 저장된 명령 및 데이터를 실행할 수 있다. 더욱이, 프로세서(710)는 서비스 애플리케이션에 의해 제공되는 하나 이상의 사용자 인터페이스와 같은 하나 이상의 사용자 인터페이스(715)가 디스플레이(730) 상에 디스플레이되게 할 수 있다.
사용자는 운송 서비스에 대한 요청을 행하기 위해 서비스 애플리케이션을 동작시키도록 클라이언트 디바이스(예를 들어, 컴퓨팅 디바이스(700))를 동작시킬 수 있다. 일 예에서, 사용자가 컴퓨팅 디바이스(700) 상에서 서비스 애플리케이션을 오픈하거나 활성화할 때, 서비스 애플리케이션은, (i) 위치 데이터 포인트(795)(예컨대, GPS 컴포넌트(770)로부터 결정된 컴퓨팅 디바이스(700)의 현재 위치에 대응하는 위치 데이터 포인트)를 자동으로 리트리브(retrieve) 또는 수신하고 그리고 (ⅱ) 운송 어레인지먼트 시스템(도 7에 도시되지 않음)에 위치 데이터 포인트(795)를 제공할 수 있다. 운송 어레인지먼트 시스템은, 도 1 내지 도 3에서 설명한 바와 같이 통신 서브-시스템(740)을 통해 컴퓨팅 디바이스(700)에, 만약 있다면, 클러스터링된 위치 데이터 포인트(745)를 무선으로 송신할 수 있다. 이러한 클러스터링된 위치 데이터 포인트(745)는 위치 데이터 포인트(795)의 좌표를 포함하는 지역과 연관될 수 있다. 일부 예에 따라, 프로세서(710)는 서비스 애플리케이션에 대한 명령을 실행하여, 클러스터링된 위치 데이터 포인트(745)에 대응하는 위치에 포지셔닝되는 그래픽 핀을 보여주는 맵 사용자 인터페이스(715)를 서비스 애플리케이션이 디스플레이하게 할 수 있다.
도 7이 모바일 컴퓨팅 디바이스에 대해 예시되지만, 하나 이상의 예가 랩톱 및 데스크톱(예를 들어, PC)과 같은 완전한 기능 컴퓨터를 포함하는 다른 타입의 디바이스 상에서 구현될 수 있다.
본원에서 설명된 예가 다른 개념, 아이디어 또는 시스템과 독립적으로, 본원에서 설명된 개별 엘리먼트 및 개념으로 확장되는 것뿐만 아니라 본원의 어딘가에 인용된 엘리먼트의 조합을 포함하는 예가 고려된다. 예가 첨부 도면을 참조하여 본원에서 상세하게 설명되었지만, 개념은 바로 그 예로 한정되지 않는다는 것이 이해될 것이다. 따라서, 개념의 범위는 이하의 청구범위 및 그 등가물에 의해 정의되는 것으로 의도된다. 또한, 개별적으로 또는 예의 일부로서 설명된 특정 특징은, 다른 특징 및 예가 특정 특징에 대해 언급하지 않더라도 다른 개별적으로 설명된 특징 또는 다른 예의 일부와 조합될 수 있다는 것이 고려된다. 따라서 조합의 설명의 부재가 이러한 조합에 대한 권리를 배제해선 안 된다.

Claims (20)

  1. 운송 서비스를 구성하는 방법으로서,
    상기 방법은 컴퓨팅 디바이스에 의해 수행되고, 상기 방법은,
    상기 컴퓨팅 디바이스에서, 사용자의 사용자 디바이스로부터, 운송 서비스에 대한 요청을 수신하는 단계 ― 상기 요청은 요청된 픽업 위치 데이터 포인트를 포함함 ― ;
    픽업 위치와 연관된 정보에 적어도 부분적으로 기초하여 상기 요청된 픽업 위치 데이터 포인트와 상이한 가장 적합한 픽업 위치 데이터 포인트를 결정하는 단계;
    상기 요청된 픽업 위치 데이터 포인트에 적어도 부분적으로 기초하여 상기 사용자에 대한 운송 서비스를 수행할 드라이버(driver)를 선택하는 단계; 및
    상기 컴퓨팅 디바이스로부터 선택된 드라이버의 드라이버 디바이스로 상기 가장 적합한 픽업 위치 데이터 포인트를 송신하는 단계를 포함하는,
    운송 서비스를 구성하는 방법.
  2. 청구항 1에 있어서,
    상기 컴퓨팅 디바이스의 하나 이상의 메모리 자원에 저장된 맵핑 테이블에 액세스함으로써 하나 이상의 미리 결정된 위치 데이터 포인트의 세트를 결정하는 단계를 더 포함하며,
    상기 하나 이상의 미리 결정된 위치 데이터 포인트의 세트는 상기 가장 적합한 픽업 위치를 포함하고, 상기 맵핑 테이블은 하나 이상의 위치 엔트리를 포함하고, 각각의 위치 엔트리는 지정된 지역을 상기 세트의 적어도 하나의 대응하는 미리 결정된 위치 데이터 포인트와 연관시키는,
    운송 서비스를 구성하는 방법.
  3. 청구항 1에 있어서,
    상기 가장 적합한 픽업 위치 데이터 포인트를 결정하는 단계는 다른 사용자로부터 수집된 정보에 기초하는,
    운송 서비스를 구성하는 방법.
  4. 청구항 1에 있어서,
    상기 요청된 픽업 위치 데이터 포인트는,
    (i) 운송 서비스에 대해 이전에 이루어진 하나 이상의 요청으로부터의 하나 이상의 이전의 위치 데이터 포인트에 기초하여 결정되고, (ii) 상기 운송 서비스에 대한 요청이 이루어진 시간에 상기 사용자 디바이스의 미리 정의된 거리 내에 있고, (iii) 상기 사용자 디바이스에게 제공된, 계산된 위치 데이터 포인트에 대응하는,
    운송 서비스를 구성하는 방법.
  5. 청구항 1에 있어서,
    상기 요청된 픽업 위치 데이터 포인트는 사용자-선택 위치 데이터 포인트에 대응하는,
    운송 서비스를 구성하는 방법.
  6. 청구항 1에 있어서,
    상기 가장 적합한 픽업 위치 데이터 포인트는 위도 및 경도를 포함하는,
    운송 서비스를 구성하는 방법.
  7. 청구항 1에 있어서,
    상기 가장 적합한 픽업 위치 데이터 포인트는 상기 운송 서비스를 수행하도록 상기 선택된 드라이버를 초대하는 초대 메시지와 함께 송신되는,
    운송 서비스를 구성하는 방법.
  8. 명령을 저장한 비-일시적인 컴퓨터-판독 가능 매체로서,
    상기 명령은 컴퓨팅 디바이스의 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금,
    상기 컴퓨팅 디바이스에서명령을 저장한 비-일시적인 컴퓨터-판독 가능 매체로서,
    상기 명령은 컴퓨팅 디바이스의 프로세서에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금,
    상기 컴퓨팅 디바이스에서, 사용자의 사용자 디바이스로부터, 운송 서비스에 대한 요청을 수신하게 하고 ― 상기 요청은 요청된 픽업 위치 데이터 포인트를 포함함 ― ;
    픽업 위치와 연관된 정보에 적어도 부분적으로 기초하여 상기 요청된 픽업 위치 데이터 포인트와 상이한 가장 적합한 위치 데이터 포인트를 결정하게 하고;
    상기 요청된 픽업 위치 데이터 포인트에 적어도 부분적으로 기초하여 상기 사용자에 대한 운송 서비스를 수행할 드라이버를 선택하게 하고;
    상기 컴퓨팅 디바이스로부터 선택된 드라이버의 드라이버 디바이스로 상기 가장 적합한 위치 데이터 포인트를 송신하게 하는,
    비-일시적인 컴퓨터-판독 가능 매체.

  9. 청구항 8에 있어서,
    상기 명령은 상기 컴퓨팅 디바이스로 하여금, 상기 컴퓨팅 디바이스의 하나 이상의 메모리 자원에 저장된 맵핑 테이블에 액세스함으로써 미리 결정된 위치 데이터 포인트의 세트를 결정하게 하고, 상기 하나 이상의 미리 결정된 위치 데이터 포인트의 세트는 상기 가장 적합한 픽업 위치 데이터 포인트를 포함하고, 상기 맵핑 테이블은 하나 이상의 위치 엔트리를 포함하고, 각각의 위치 엔트리는 지정된 지역을 상기 세트의 적어도 하나의 대응하는 미리 결정된 위치 데이터 포인트와 연관시키는,
    비-일시적인 컴퓨터-판독 가능 매체.
  10. 청구항 9에 있어서,
    상기 가장 적합한 픽업 위치 데이터 포인트는, 픽업 위치로서 적합하고 정확한 것으로서 사용자들에 의한 설문조사 표시에 기초하는,
    비-일시적인 컴퓨터-판독 가능 매체.
  11. 청구항 8에 있어서,
    상기 요청된 픽업 위치 데이터 포인트는,
    (i) 운송 서비스에 대해 이전에 이루어진 하나 이상의 요청으로부터의 하나 이상의 이전의 위치 데이터 포인트에 기초하여 결정되고, (ii) 상기 운송 서비스에 대한 요청이 이루어진 시간에 상기 사용자 디바이스의 미리 정의된 거리 내에 있고, (iii) 상기 사용자 디바이스에게 제공된, 계산된 위치 데이터 포인트에 대응하는,
    비-일시적인 컴퓨터-판독 가능 매체.
  12. 청구항 8에 있어서,
    상기 요청된 픽업 위치 데이터 포인트는 사용자-선택 위치 데이터 포인트에 대응하는,
    비-일시적인 컴퓨터-판독 가능 매체.
  13. 청구항 8에 있어서,
    상기 가장 적합한 픽업 위치 데이터 포인트는 위도 및 경도를 포함하는,
    비-일시적인 컴퓨터-판독 가능 매체.
  14. 청구항 8에 있어서,
    상기 가장 적합한 픽업 위치 데이터 포인트는 상기 운송 서비스를 수행하도록 상기 선택된 드라이버를 초대하는 초대 메시지와 함께 송신되는,
    비-일시적인 컴퓨터-판독 가능 매체.
  15. 온-디멘드 서비스(on-demand service)에 대한 위치 데이터 포인트를 결정하는 방법으로서,
    상기 방법은 컴퓨팅 디바이스에 의해 수행되고, 상기 방법은,
    상기 컴퓨팅 디바이스의 하나 이상의 메모리 자원에, 특정 지역의 사용자 디바이스로부터 수신된 요청된 위치 데이터 포인트를 각각 갖는 온 디맨드 서비스 엔트리의 세트를 저장하는 단계 ― 각각의 온-디맨드 서비스 엔트리는 완료된 온-디멘드 서비스에 대응함 ― ;
    상기 세트의 요청된 위치 데이터 포인트에 적어도 부분적으로 기초하여 상기 특정 지역에 대한 계산된 위치 데이터 포인트를 결정하는 단계;
    상기 특정 지역 내에 포지셔닝된 제 1 사용자 디바이스 상에서 서비스 애플리케이션이 오픈되었다고 결정하는 단계; 및
    상기 서비스 애플리케이션이 상기 제 1 사용자 디바이스 상에서 오픈되었다고 결정하는 것에 응답하여, 상기 서비스 애플리케이션으로 하여금, 맵 상에서 그래픽 표시자를 상기 계산된 위치 데이터 포인트에 대응하는 포지션에 자동으로 포지셔닝하게 하는 단계를 포함하는,
    온-디멘드 서비스에 대한 위치 데이터 포인트를 결정하는 방법.
  16. 청구항 15에 있어서,
    상기 계산된 위치 데이터 포인트를 결정하는 단계는 상기 세트의 요청된 위치 데이터 포인트 상에서 클러스터링 동작(clustering operation)을 수행하는 단계를 포함하는,
    온-디멘드 서비스에 대한 위치 데이터 포인트를 결정하는 방법.
  17. 청구항 15에 있어서,
    상기 컴퓨팅 디바이스에서, 상기 제 1 사용자 디바이스로부터, 제 1 사용자에 대해 수행될 온-디멘드 서비스에 대한 요청을 수신하는 단계를 더 포함하고, 상기 요청은 상기 계산된 위치 데이터 포인트를 포함하는,
    온-디멘드 서비스에 대한 위치 데이터 포인트를 결정하는 방법.
  18. 청구항 17에 있어서,
    상기 계산된 위치 데이터 포인트와 연관된 가장 적합한 픽업 위치 데이터 포인트를 결정하는 단계를 더 포함하고,
    상기 가장 적합한 픽업 위치 데이터 포인트는 상기 계산된 위치 데이터 포인트와 상이한,
    온-디멘드 서비스에 대한 위치 데이터 포인트를 결정하는 방법.
  19. 청구항 18에 있어서,
    상기 계산된 위치 데이터 포인트에 적어도 부분적으로 기초하여 상기 제 1 사용자에 대한 온-디멘드 서비스를 수행할 드라이버를 선택하는 단계; 및
    상기 컴퓨팅 디바이스로부터 상기 선택된 드라이버의 드라이버 디바이스로 상기 가장 적합한 픽업 위치 데이터 포인트를 송신하는 단계를 더 포함하는,
    온-디멘드 서비스에 대한 위치 데이터 포인트를 결정하는 방법.
  20. 청구항 19에 있어서,
    상기 가장 적합한 픽업 위치 데이터 포인트를 결정하는 단계는,
    (i) 상기 컴퓨팅 디바이스의 하나 이상의 메모리 자원에 저장된 맵핑 테이블에 액세스하는 단계 ― 상기 맵핑 테이블은 하나 이상의 위치 엔트리를 포함하고, 각각의 위치 엔트리는 지정된 지역을 대응하는 미리 결정된 위치 데이터 포인트와 연관시킴 ―, (ii) 상기 요청된 픽업 위치 데이터 포인트가 상기 하나 이상의 위치 엔트리 중의 위치 엔트리의 지정된 지역 내에 포지셔닝된다고 결정하는 단계; 및 (iii) 상기 지정된 지역과 연관되는 대응하는 미리 결정된 위치 데이터 포인트를 식별하는 단계를 포함하는,
    온-디멘드 서비스에 대한 위치 데이터 포인트를 결정하는 방법.
KR1020177005982A 2014-08-04 2015-08-04 미리 결정된 위치 데이터 포인트를 결정하고, 서비스 제공자에게 제공하는 방법 KR20170041237A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201462033013P 2014-08-04 2014-08-04
US62/033,013 2014-08-04
US14/818,053 2015-08-04
PCT/US2015/043654 WO2016022587A1 (en) 2014-08-04 2015-08-04 Determining and providing predetermined location data points to service providers
US14/818,053 US11010693B2 (en) 2014-08-04 2015-08-04 Determining and providing predetermined location data points to service providers

Publications (1)

Publication Number Publication Date
KR20170041237A true KR20170041237A (ko) 2017-04-14

Family

ID=55180401

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177005982A KR20170041237A (ko) 2014-08-04 2015-08-04 미리 결정된 위치 데이터 포인트를 결정하고, 서비스 제공자에게 제공하는 방법

Country Status (10)

Country Link
US (2) US11010693B2 (ko)
EP (1) EP3180766A4 (ko)
JP (2) JP6619797B2 (ko)
KR (1) KR20170041237A (ko)
CN (1) CN106663307A (ko)
AU (2) AU2015301178B2 (ko)
BR (1) BR112017002174A2 (ko)
CA (1) CA2957054A1 (ko)
SG (2) SG10202000037SA (ko)
WO (1) WO2016022587A1 (ko)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220049964A1 (en) * 2020-08-11 2022-02-17 Toyota Jidosha Kabushiki Kaisha Server apparatus, information processing system, medium, and method of operating information processing system
US20220418039A1 (en) * 2017-05-19 2022-12-29 Uber Technologies, Inc. Predictive location selection system

Families Citing this family (115)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10467554B2 (en) 2013-03-14 2019-11-05 Lyft, Inc. System for connecting a driver and a rider
US9965783B2 (en) 2014-02-07 2018-05-08 Uber Technologies, Inc. User controlled media for use with on-demand transport services
AU2014386266A1 (en) 2014-03-13 2016-09-29 Uber Technologies, Inc. Configurable push notifications for a transport service
US9536271B2 (en) 2014-05-16 2017-01-03 Uber Technologies, Inc. User-configurable indication device for use with an on-demand transport service
US10467896B2 (en) 2014-05-29 2019-11-05 Rideshare Displays, Inc. Vehicle identification system and method
US9892637B2 (en) 2014-05-29 2018-02-13 Rideshare Displays, Inc. Vehicle identification system
AU2015296265A1 (en) 2014-07-30 2017-02-16 Uber Technologies, Inc. Arranging a transport service for multiple users
SG10202000037SA (en) 2014-08-04 2020-03-30 Uber Technologies Inc Determining and providing predetermined location data points to service providers
US11244254B2 (en) * 2014-12-31 2022-02-08 The City And County Of San Francisco Application-based commercial ground transportation clearinghouse system
KR20180006875A (ko) * 2015-01-27 2018-01-19 베이징 디디 인피니티 테크놀로지 앤드 디벨럽먼트 컴퍼니 리미티드 주문형 서비스를 위한 정보를 제공하는 방법들 및 시스템들
US10277668B1 (en) * 2015-04-06 2019-04-30 EMC IP Holding Company LLC Beacon-based distributed data processing platform
US10706970B1 (en) 2015-04-06 2020-07-07 EMC IP Holding Company LLC Distributed data analytics
WO2017033737A1 (ja) * 2015-08-26 2017-03-02 アイシン・エィ・ダブリュ株式会社 領域案内システムおよび領域案内プログラム
US9754338B2 (en) 2015-10-09 2017-09-05 Gt Gettaxi Limited System to facilitate a correct identification of a service provider
US9939279B2 (en) 2015-11-16 2018-04-10 Uber Technologies, Inc. Method and system for shared transport
US10685416B2 (en) 2015-12-10 2020-06-16 Uber Technologies, Inc. Suggested pickup location for ride services
CN105788341A (zh) * 2016-01-04 2016-07-20 北京百度网讯科技有限公司 车辆站点位置确定方法和装置
EP3311554B1 (en) * 2016-03-16 2022-03-09 Beijing Didi Infinity Technology and Development Co., Ltd. System and method for determining location
US10255648B2 (en) * 2016-04-14 2019-04-09 Eric John Wengreen Self-driving vehicle systems and methods
CN107492063B (zh) * 2016-06-13 2021-11-16 北京嘀嘀无限科技发展有限公司 一种上车点推荐处理方法及系统
WO2018005643A1 (en) * 2016-07-01 2018-01-04 Innovation Matrix, Inc. Robot fleet dispatch request system
US10296200B2 (en) * 2016-09-08 2019-05-21 Gt Gettaxi Limited Drag and drop map for marking pickup and drop off locations on a predetermined line
US9813510B1 (en) 2016-09-26 2017-11-07 Uber Technologies, Inc. Network system to compute and transmit data based on predictive information
US10425490B2 (en) 2016-09-26 2019-09-24 Uber Technologies, Inc. Service information and configuration user interface
US10636108B2 (en) * 2016-09-30 2020-04-28 Lyft, Inc. Identifying matched requestors and providers
US10325442B2 (en) * 2016-10-12 2019-06-18 Uber Technologies, Inc. Facilitating direct rider driver pairing for mass egress areas
USD868895S1 (en) 2016-11-14 2019-12-03 Lyft, Inc. Electronic device with front and rear displays
US11301500B2 (en) * 2016-12-29 2022-04-12 Sap Se Clustering for geo-enriched data
US10554783B2 (en) 2016-12-30 2020-02-04 Lyft, Inc. Navigation using proximity information
US11574262B2 (en) 2016-12-30 2023-02-07 Lyft, Inc. Location accuracy using local device communications
US10355788B2 (en) * 2017-01-06 2019-07-16 Uber Technologies, Inc. Method and system for ultrasonic proximity service
US10180332B2 (en) * 2017-01-13 2019-01-15 Uber Technologies, Inc. Method and system for repositioning a service location
US10890457B2 (en) 2017-01-13 2021-01-12 Uber Technologies, Inc. Method and system for repositioning a service location
AU2018207620B2 (en) * 2017-01-13 2022-03-24 Uber Technologies, Inc. Method and system for repositioning a service location
US20180232840A1 (en) * 2017-02-15 2018-08-16 Uber Technologies, Inc. Geospatial clustering for service coordination systems
CN108460471A (zh) * 2017-02-22 2018-08-28 神州优车(平潭)电子商务有限公司 用于管理用户位置的方法和设备
JP6604985B2 (ja) * 2017-03-17 2019-11-13 本田技研工業株式会社 ナビゲーションシステム、ユーザ端末、及びナビゲーション方法
US10890458B2 (en) * 2017-04-02 2021-01-12 Uber Technologies, Inc. System and method for attributing deviation from predicted travel distance or time for arranged transport services
US9769616B1 (en) * 2017-04-04 2017-09-19 Lyft, Inc. Geohash-related location predictions
US20180315148A1 (en) * 2017-04-28 2018-11-01 Lyft, Inc. Dynamic optimized reassignment of providers at a geohash level
US10495472B2 (en) 2017-05-10 2019-12-03 Lyft, Inc. Dynamic geolocation optimization of pickup locations using location scores
US10290074B2 (en) * 2017-05-25 2019-05-14 Uber Technologies, Inc. Coordinating on-demand transportation with autonomous vehicles
CN109117428B (zh) * 2017-06-26 2020-12-08 北京嘀嘀无限科技发展有限公司 数据存储方法及其装置、数据查询方法及其装置
US11118930B2 (en) * 2017-07-14 2021-09-14 Lyft, Inc. Providing information to users of a transportation system using augmented reality elements
CN108009653B (zh) * 2017-08-16 2021-12-21 北京嘀嘀无限科技发展有限公司 订单管理方法、装置、服务器和计算机可读存储介质
US10401858B2 (en) * 2017-08-29 2019-09-03 Waymo Llc Arranging passenger pickups for autonomous vehicles
JP6870548B2 (ja) * 2017-09-19 2021-05-12 トヨタ自動車株式会社 ドライバレス輸送システム
WO2019065696A1 (ja) * 2017-09-28 2019-04-04 パイオニア株式会社 地物データ構造
US10567520B2 (en) 2017-10-10 2020-02-18 Uber Technologies, Inc. Multi-user requests for service and optimizations thereof
US10731998B2 (en) 2017-11-05 2020-08-04 Uber Technologies, Inc. Network computer system to arrange pooled transport services
US10915855B2 (en) 2017-12-14 2021-02-09 Mastercard International Incorporated On-demand purchasing and delivery ecosystem
CN117571009A (zh) 2017-12-15 2024-02-20 谷歌有限责任公司 在导航应用程序中提供与乘车服务相关的街道级图像
CN110720027A (zh) 2017-12-15 2020-01-21 谷歌有限责任公司 导航应用中具有乘车服务路段的多方式指导
EP3601953A1 (en) 2017-12-15 2020-02-05 Google LLC. Customizing visualization in a navigation application using third-party data
JP7463109B2 (ja) 2017-12-15 2024-04-08 グーグル エルエルシー ナビゲーションアプリケーションにおける配車サービスの選択肢のインタラクティブリスト
JP6635107B2 (ja) * 2017-12-27 2020-01-22 トヨタ自動車株式会社 業務支援システム、及び業務支援方法
US10264389B1 (en) * 2017-12-31 2019-04-16 Lyft, Inc. Optimizing pickup locations for transportation requests based on context information
US11073838B2 (en) 2018-01-06 2021-07-27 Drivent Llc Self-driving vehicle systems and methods
US10299216B1 (en) 2018-01-06 2019-05-21 Eric John Wengreen Self-driving vehicle actions in response to a low battery
US10274950B1 (en) 2018-01-06 2019-04-30 Drivent Technologies Inc. Self-driving vehicle systems and methods
US10303181B1 (en) 2018-11-29 2019-05-28 Eric John Wengreen Self-driving vehicle systems and methods
KR102529913B1 (ko) 2018-01-22 2023-05-08 현대자동차주식회사 여정 스케줄링을 위한 사용자 단말 및 방법
CN110163702A (zh) * 2018-02-12 2019-08-23 北京嘀嘀无限科技发展有限公司 业务处理方法、装置和存储介质
JP7104369B2 (ja) * 2018-04-05 2022-07-21 トヨタ自動車株式会社 車内環境設定システム、車内環境設定方法、及び車内環境設定プログラム
CN108629504B (zh) * 2018-05-02 2019-08-20 北京嘀嘀无限科技发展有限公司 为用户提供出行服务的方法及装置
CN110472754A (zh) * 2018-05-09 2019-11-19 奥迪股份公司 运输服务系统和方法
CN112055867B (zh) * 2018-05-18 2024-05-07 北京嘀嘀无限科技发展有限公司 用于推荐个性化上车位置的系统和方法
JP2019212118A (ja) * 2018-06-06 2019-12-12 株式会社 ディー・エヌ・エー 車両の配車を管理するためのシステム、方法、及びプログラム
US10820726B2 (en) * 2018-06-20 2020-11-03 Jasna Ostojich Food stand system
US10466057B1 (en) 2018-07-30 2019-11-05 Wesley Edward Schwie Self-driving vehicle systems and methods
US11494707B2 (en) * 2018-08-22 2022-11-08 Denso International America, Inc. System and method of determining real-time location
US10848905B2 (en) 2018-09-13 2020-11-24 Uber Technologies, Inc. Selectively highlighting map features associated with places
US11725960B2 (en) 2018-09-14 2023-08-15 Uber Technologies, Inc. Determining navigation data based on service type
US10479319B1 (en) 2019-03-21 2019-11-19 Drivent Llc Self-driving vehicle systems and methods
US10289922B1 (en) 2018-09-18 2019-05-14 Eric John Wengreen System for managing lost, mislaid, or abandoned property in a self-driving vehicle
US10471804B1 (en) 2018-09-18 2019-11-12 Drivent Llc Self-driving vehicle systems and methods
US10223844B1 (en) 2018-09-18 2019-03-05 Wesley Edward Schwie Self-driving vehicle systems and methods
US10493952B1 (en) 2019-03-21 2019-12-03 Drivent Llc Self-driving vehicle systems and methods
US10282625B1 (en) 2018-10-01 2019-05-07 Eric John Wengreen Self-driving vehicle systems and methods
CN109286666A (zh) * 2018-09-21 2019-01-29 浪潮电子信息产业股份有限公司 一种云平台的调度请求处理方法、相关方法及相关装置
FR3086490B1 (fr) 2018-09-21 2021-12-03 Psa Automobiles Sa Procede et dispositif d’aide a la navigation d’un vehicule vers une destination
US10900792B2 (en) 2018-10-22 2021-01-26 Drivent Llc Self-driving vehicle systems and methods
US11221621B2 (en) 2019-03-21 2022-01-11 Drivent Llc Self-driving vehicle systems and methods
US10794714B2 (en) 2018-10-01 2020-10-06 Drivent Llc Self-driving vehicle systems and methods
US11644833B2 (en) 2018-10-01 2023-05-09 Drivent Llc Self-driving vehicle systems and methods
US10832569B2 (en) 2019-04-02 2020-11-10 Drivent Llc Vehicle detection systems
US10240938B1 (en) 2018-10-22 2019-03-26 Drivent Technologies Inc. Self-driving vehicle systems and methods
US10481606B1 (en) 2018-11-01 2019-11-19 Drivent Llc Self-driving vehicle systems and methods
US10286908B1 (en) 2018-11-01 2019-05-14 Eric John Wengreen Self-driving vehicle systems and methods
CN118132868A (zh) * 2018-11-02 2024-06-04 北京嘀嘀无限科技发展有限公司 一种提示信息展示方法、装置、电子设备和存储介质
CN109302492B (zh) * 2018-11-14 2021-09-24 北京嘀嘀无限科技发展有限公司 用于推荐服务位置的方法、设备和计算机可读存储介质
CN111210293B (zh) * 2018-11-22 2023-08-18 北京嘀嘀无限科技发展有限公司 发单引导方法、装置、电子设备和计算机可读存储介质
JP2020091732A (ja) * 2018-12-06 2020-06-11 本田技研工業株式会社 情報処理装置及び方法
US10977105B2 (en) * 2018-12-14 2021-04-13 Uber Technologies, Inc. Memory crash prevention for a computing device
US11775534B2 (en) * 2019-01-31 2023-10-03 Uber Technologies, Inc. Predicting and preventing negative user experience in a network service
US11047700B2 (en) 2019-02-01 2021-06-29 Uber Technologies, Inc. Navigation and routing based on image data
US10744976B1 (en) 2019-02-04 2020-08-18 Drivent Llc Self-driving vehicle systems and methods
US10377342B1 (en) 2019-02-04 2019-08-13 Drivent Technologies Inc. Self-driving vehicle systems and methods
US11836652B2 (en) 2019-02-13 2023-12-05 Grabtaxi Holdings Pte. Ltd. Automatically determining optimal transport service locations for points of interest from noisy multimodal data
US10575123B1 (en) * 2019-02-14 2020-02-25 Uber Technologies, Inc. Contextual notifications for a network-based service
US11604069B2 (en) * 2019-05-14 2023-03-14 Lyft, Inc. Localizing transportation requests utilizing an image based transportation request interface
US11910452B2 (en) 2019-05-28 2024-02-20 Lyft, Inc. Automatically connecting wireless computing devices based on recurring wireless signal detections
CN113892129B (zh) 2019-05-31 2022-07-29 苹果公司 创建三维外观的虚拟视差
WO2021056303A1 (en) * 2019-09-26 2021-04-01 Beijing Didi Infinity Technology And Development Co., Ltd. Systems and methods for determining a pick-up location
CN110909096B (zh) * 2019-10-31 2022-04-15 腾讯科技(深圳)有限公司 推荐上车点确定方法及装置、存储介质、电子设备
CN112905722B (zh) * 2019-12-04 2022-10-21 顺丰科技有限公司 一种行为识别的方法、装置及存储介质
US20210185587A1 (en) * 2019-12-16 2021-06-17 Lyft, Inc. Mobile mesh network provisioning systems and methods
WO2021123512A1 (fr) 2019-12-20 2021-06-24 Psa Automobiles Sa Système de partage de données de géolocalisation entre un système d'aide à la navigation d'un véhicule et un premier terminal communicant
FR3106231B1 (fr) * 2020-01-14 2022-01-14 Vulog Procédé et système pour afficher sur une carte numérique, la position géographique de véhicules disponibles à la réservation
US11570276B2 (en) 2020-01-17 2023-01-31 Uber Technologies, Inc. Forecasting requests based on context data for a network-based service
US20210295224A1 (en) * 2020-03-23 2021-09-23 Lyft, Inc. Utilizing a requestor device forecasting model with forward and backward looking queue filters to pre-dispatch provider devices
US11830302B2 (en) 2020-03-24 2023-11-28 Uatc, Llc Computer system for utilizing ultrasonic signals to implement operations for autonomous vehicles
US11887386B1 (en) 2020-03-30 2024-01-30 Lyft, Inc. Utilizing an intelligent in-cabin media capture device in conjunction with a transportation matching system
USD997988S1 (en) 2020-03-30 2023-09-05 Lyft, Inc. Transportation communication device
KR102540444B1 (ko) * 2020-10-23 2023-06-05 현대자동차 주식회사 승객 운송 서비스를 제공하는 서버 및 이의 동작 방법

Family Cites Families (141)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5168451A (en) 1987-10-21 1992-12-01 Bolger John G User responsive transit system
US5557522A (en) 1993-09-10 1996-09-17 Nissan Motor Co., Ltd. Apparatus and method for guiding vehicle occupant to travel from present position of vehicle to set destination through display unit
US6321158B1 (en) 1994-06-24 2001-11-20 Delorme Publishing Company Integrated routing/mapping information
US5948040A (en) 1994-06-24 1999-09-07 Delorme Publishing Co. Travel reservation information and planning system
US6233517B1 (en) 1996-02-27 2001-05-15 Trimble Navigation Limited Predictive model for automated vehicle recommendation system
US5945919A (en) 1996-05-30 1999-08-31 Trimble Navigation Limited Dispatcher free vehicle allocation system
JP3745472B2 (ja) 1996-11-18 2006-02-15 三菱電機株式会社 自走車、自律誘導装置、および自動搬送装置
JP3362622B2 (ja) * 1997-01-17 2003-01-07 トヨタ自動車株式会社 乗車位置選定システム及び乗車位置案内システム
IL123420A0 (en) 1998-02-24 1998-09-24 Jaffe Shai Request dispatch system
US9075136B1 (en) 1998-03-04 2015-07-07 Gtj Ventures, Llc Vehicle operator and/or occupant information apparatus and method
US6212393B1 (en) 1999-08-02 2001-04-03 Motorola, Inc. Method and apparatus for communication within a vehicle dispatch system
US6756913B1 (en) 1999-11-01 2004-06-29 Mourad Ben Ayed System for automatically dispatching taxis to client locations
US6587851B1 (en) 1999-12-22 2003-07-01 Bellsouth Intellectual Property Corporation Notification system and method
US6697730B2 (en) 2000-04-04 2004-02-24 Georgia Tech Research Corp. Communications and computing based urban transit system
US20010056363A1 (en) 2000-06-26 2001-12-27 Gantz Donald T. System for providing ride matching services using e-mail and the internet
WO2002006994A2 (en) 2000-07-14 2002-01-24 Sunil Paul System and method for determining an efficient transportation route
US6618593B1 (en) 2000-09-08 2003-09-09 Rovingradar, Inc. Location dependent user matching system
US20070150375A1 (en) 2000-12-08 2007-06-28 Ping Yang Method and apparatus for efficient meal delivery
US7080019B1 (en) 2001-03-04 2006-07-18 Ducktrip, Llc Ride share contact system
GB0126809D0 (en) 2001-11-07 2002-01-02 Isaac Stephen J A car-sharing system
CA2475869C (en) 2002-02-11 2011-02-01 Unified Dispatch, Inc. Automated transportation call-taking system
JP3934985B2 (ja) * 2002-04-19 2007-06-20 富士通テン株式会社 タクシー配車受付方法
WO2004001541A2 (en) 2002-06-21 2003-12-31 Nuride, Inc. System and method for facilitating ridesharing
AU2003258018A1 (en) 2002-08-02 2004-02-23 Limoq, Inc. Method, system and apparatus for providing transportation services
JP2004078639A (ja) * 2002-08-20 2004-03-11 Meidensha Corp タクシー呼び出しシステム
JP3940049B2 (ja) 2002-08-21 2007-07-04 京楽産業.株式会社 パチンコ遊技機
US20040107110A1 (en) 2002-12-02 2004-06-03 Jens Gottlieb Optimization of transport with multiple vehicles
JP3730967B2 (ja) 2003-03-20 2006-01-05 株式会社エヌ・ティ・ティ・ドコモ 車両配車システム及び管理サーバ
JP4148002B2 (ja) 2003-03-31 2008-09-10 富士通株式会社 タクシー相乗り管理プログラム及びタクシー相乗り管理方法
JP2004362271A (ja) 2003-06-04 2004-12-24 Nippon Telegr & Teleph Corp <Ntt> 相乗り乗車システム、乗車情報処理装置および相乗り乗車方法
US6925381B2 (en) 2003-06-24 2005-08-02 Bellsouth Intellectual Property Corporation Methods, systems and computer program products for ride matching based on current location information
US7627422B2 (en) 2003-06-24 2009-12-01 At&T Intellectual Property I, Lp Methods, systems and computer program products for ride matching based on selection criteria and drive characteristic information
TWI362597B (en) 2003-08-01 2012-04-21 Cet Technologies Pte Ltd Automated taxi/vehicle booking and despatching system
JP2005275678A (ja) * 2004-03-24 2005-10-06 Hitachi Software Eng Co Ltd 配車サービス支援方法および装置
US20060004590A1 (en) 2004-07-02 2006-01-05 Denis Khoo Travel planning for social networks
JP2006040007A (ja) 2004-07-28 2006-02-09 Nobutoshi Umeda タクシー配車システム及び配車方法
US7624024B2 (en) 2005-04-18 2009-11-24 United Parcel Service Of America, Inc. Systems and methods for dynamically updating a dispatch plan
JP4058058B2 (ja) * 2005-04-27 2008-03-05 株式会社ナビタイムジャパン 乗車位置案内システム、経路探索サーバおよびプログラムならびに乗車位置案内端末
CA2607123A1 (en) 2005-05-02 2006-12-07 Ecolane Finland Oy Method and arrangement for arranging practical aspects of a demand responsive transport system
JP2006339810A (ja) * 2005-05-31 2006-12-14 Tsubame Kotsu Kyodo Kumiai 配車受付システム
US20080055049A1 (en) 2006-07-28 2008-03-06 Weill Lawrence R Searching methods
US8024112B2 (en) * 2005-09-29 2011-09-20 Microsoft Corporation Methods for predicting destinations from partial trajectories employing open-and closed-world modeling methods
KR100760116B1 (ko) 2006-02-03 2007-09-18 엘지전자 주식회사 네비게이션 시스템에서 지도축척 변경방법
US10520325B2 (en) 2006-05-25 2019-12-31 Rideshark Corporation Method of selective ride-sharing among multiple users along an optimized travel route
US8140256B1 (en) 2006-08-16 2012-03-20 University Of South Florida Dynamic ride matching system
US20080091342A1 (en) 2006-10-11 2008-04-17 Jeffrey Assael System and method for ride matching
JP2008216205A (ja) 2007-03-07 2008-09-18 Fujitsu Ltd 車載ナビゲーション装置
US7756633B2 (en) 2007-05-11 2010-07-13 Palo Alto Research Center Incorporated System and method for security enhanced rideshare
TWI359393B (en) 2007-12-03 2012-03-01 Univ Nat Taiwan Vehicle dispatch system
EP2225870A4 (en) 2007-12-14 2011-08-17 Promptu Systems Corp AUTOMATIC VEHICLE RECALL AND PREPARATION SYSTEM AND METHOD
WO2009089182A1 (en) 2008-01-03 2009-07-16 Lubeck Olaf M Method for requesting transportation services
US7822426B1 (en) 2008-01-17 2010-10-26 Where, Inc. System and method for snapping a user location to a landmark of known location
US20090192851A1 (en) 2008-01-25 2009-07-30 Bishop Paul L Location-Based Transportation Management
US20090216600A1 (en) 2008-02-27 2009-08-27 Montiss Llc Systems and methods for arranging a transport transaction
US20090281844A1 (en) 2008-05-09 2009-11-12 Probst Joseph M Charter Transport Service Information Management System
US9519921B2 (en) 2008-06-27 2016-12-13 E-Lantis Corporation GPS and wireless integrated fleet management system and method
KR101039091B1 (ko) 2008-10-31 2011-06-07 현대엠엔소프트 주식회사 차량합승 시스템 및 그 방법
US20110225269A1 (en) 2008-11-15 2011-09-15 Shong Clement Yap Wee System For Efficient Allocating And Monitoring Of Public Transport
JP2010208195A (ja) 2009-03-11 2010-09-24 Mitsubishi Paper Mills Ltd インクジェット記録材料
US8504285B2 (en) 2009-05-15 2013-08-06 Nokia Corporation Method and apparatus of route determination
TWI401610B (zh) 2009-07-03 2013-07-11 Shih Pi Ta Technology Ltd 一種派遣車輛之裝置及其操作方法
KR101119117B1 (ko) 2009-07-10 2012-03-16 엘지전자 주식회사 차량 호출 방법 및 차량 배차 방법 및 이를 위한 이동 단말기
US10002198B2 (en) 2009-10-28 2018-06-19 Verizon Patent And Licensing Inc. Mobile taxi dispatch system
US8126903B2 (en) 2009-12-21 2012-02-28 Sap Ag Computer implemented method for allocating drivers and passengers sharing a trip
US9230292B2 (en) 2012-11-08 2016-01-05 Uber Technologies, Inc. Providing on-demand services through use of portable computing devices
AU2010325793B2 (en) * 2009-12-04 2015-03-12 Uber Technologies, Inc. System and method for arranging transport amongst parties through use of mobile devices
CN102918358A (zh) * 2010-04-09 2013-02-06 通腾北美有限公司 从表示位置的数据解析位置的方法
US8554608B1 (en) 2010-04-17 2013-10-08 James O'Connor Driver controlled automated taxi service and devices
US20110301997A1 (en) 2010-06-04 2011-12-08 Ecology & Environment, Inc. System and method for managing fleet vehicles or employee owned vehicles
KR101132496B1 (ko) 2010-06-30 2012-03-30 엔에이치엔(주) 대기 시간을 고려하여 이동 소요 시간을 계산하는 시스템 및 방법
US20120041675A1 (en) 2010-08-10 2012-02-16 Steven Juliver Method and System for Coordinating Transportation Service
US20120059693A1 (en) 2010-09-02 2012-03-08 Brian Colodny System and method for inventory and return of lost items
JP5659829B2 (ja) 2010-09-03 2015-01-28 株式会社デンソーウェーブ タッチパネル式入力端末の入力制御装置
US20120130627A1 (en) 2010-11-23 2012-05-24 Islam Mohammad R Taxi dispatch system
US20130132246A1 (en) * 2010-12-06 2013-05-23 Uber Technologies, Inc. Providing a summary or receipt for on-demand services through use of portable computing devices
US8442848B2 (en) 2011-03-09 2013-05-14 David Myr Automatic optimal taxicab mobile location based dispatching system
JP2012194018A (ja) * 2011-03-16 2012-10-11 Panasonic Corp ナビゲーション装置
GB201106555D0 (en) 2011-04-19 2011-06-01 Tomtom Int Bv Taxi dispatching system
US20130054139A1 (en) 2011-08-30 2013-02-28 International Business Machines Corporation Location of Available Passenger Seats in a Dynamic Transporting Pool
US8799038B2 (en) 2011-09-07 2014-08-05 National Tsing Hua University Dynamic taxi-sharing system and sharing method thereof
US20130073327A1 (en) 2011-09-20 2013-03-21 Benjamin J. Edelberg Urban transportation system and method
US20130102333A1 (en) 2011-10-19 2013-04-25 General Electric Company Systems and methods for dispatching utility repairs
KR20130114940A (ko) * 2012-04-10 2013-10-21 윤성중 택시-콜에 이용되는 사용자단말기, 서버 및 택시-콜 시스템
US9066206B2 (en) * 2012-07-03 2015-06-23 Uber Technologies, Inc. System and method for providing dynamic supply positioning for on-demand services
US20140082069A1 (en) 2012-09-17 2014-03-20 Apple Inc. Automated coordination of ride sharing between members of social group
JP5967205B2 (ja) 2012-09-20 2016-08-10 トヨタ自動車株式会社 オンデマンド車両運行管理装置、オンデマンド車両運行管理方法及びオンデマンド車両運行管理システム
CN104823436B (zh) 2012-11-08 2017-10-17 优步技术公司 通过使用便携式计算装置提供按需服务
US9671233B2 (en) * 2012-11-08 2017-06-06 Uber Technologies, Inc. Dynamically providing position information of a transit object to a computing device
JP5935999B2 (ja) 2012-12-29 2016-06-15 株式会社Zmp タクシーサービス支援システム
GB201300006D0 (en) * 2013-01-01 2013-02-13 Tomtom Dev Germany Gmbh Vehicle management system
US10467554B2 (en) * 2013-03-14 2019-11-05 Lyft, Inc. System for connecting a driver and a rider
US20170286884A1 (en) 2013-03-15 2017-10-05 Via Transportation, Inc. System and Method for Transportation
DE102013006026A1 (de) 2013-04-08 2014-10-09 Audi Ag Orientierungszoom in Navigationskarten bei Darstellung auf kleinen Bildschirmen
KR101462034B1 (ko) 2013-04-16 2014-11-19 홍서현 콜택시 서비스 제공시스템 및 콜택시 서비스 제공방법
US20140365250A1 (en) 2013-06-05 2014-12-11 Fujitsu Limited Transportation service reservation method and apparatus
US20150006072A1 (en) 2013-06-30 2015-01-01 Jeremy Kasile Goldberg Dynamically Optimized Transportation System
US9158414B1 (en) * 2013-07-09 2015-10-13 Google Inc. System and method for indicating a selected feature of an interactive digital map
US20150067878A1 (en) * 2013-09-05 2015-03-05 Chad Steelberg Apparatus, system, and method for obfuscation and de-obfuscation of digital content
US20150081362A1 (en) 2013-09-13 2015-03-19 Stephen C. Chadwick Context-aware distributive taxi cab dispatching
CN104575072A (zh) 2013-10-29 2015-04-29 西安景行数创信息科技有限公司 一种基于云平台的智能出租车辅助选路装置
KR102131826B1 (ko) * 2013-11-21 2020-07-09 엘지전자 주식회사 이동 단말기 및 이의 제어 방법
CA2932828C (en) 2013-12-11 2023-12-05 Uber Technologies, Inc. Optimizing selection of drivers for transport requests
WO2015099679A1 (en) 2013-12-23 2015-07-02 Intel Corporation In-vehicle authorization for autonomous vehicles
US9304009B2 (en) * 2014-02-04 2016-04-05 Here Global B.V. Method and apparatus for providing passenger embarkation points for points of interests
US20150248689A1 (en) 2014-03-03 2015-09-03 Sunil Paul Systems and methods for providing transportation discounts
US20150254581A1 (en) 2014-03-04 2015-09-10 iCarpool, Inc. Rideshare system and method to facilitate instant carpooling
TW201541393A (zh) 2014-04-21 2015-11-01 Wei-Yen Yeh 計程車管理設備及計程車管理系統
US9671239B2 (en) 2014-05-06 2017-06-06 Elwha Llc System and methods for facilitating real-time carpooling
US9631933B1 (en) 2014-05-23 2017-04-25 Google Inc. Specifying unavailable locations for autonomous vehicles
US9679489B2 (en) 2014-07-22 2017-06-13 Lyft, Inc. Ride chaining
AU2015296265A1 (en) 2014-07-30 2017-02-16 Uber Technologies, Inc. Arranging a transport service for multiple users
SG10202000037SA (en) 2014-08-04 2020-03-30 Uber Technologies Inc Determining and providing predetermined location data points to service providers
US20160048804A1 (en) 2014-08-14 2016-02-18 Sunil Paul Systems and methods for transportation services for package delivery
WO2016113602A1 (en) 2015-01-12 2016-07-21 Yogesh Chunilal Rathod Real-time presenting on-demand service providers and users or customers and facilitating them
US20160320198A1 (en) 2015-04-29 2016-11-03 Ford Global Technologies, Llc Ride-sharing routing using contextual constraints
CN104931063B (zh) 2015-04-29 2020-08-11 腾讯科技(深圳)有限公司 路径规划方法
US20160321771A1 (en) 2015-04-29 2016-11-03 Ford Global Technologies, Llc Ride-sharing range contours
US9904900B2 (en) 2015-06-11 2018-02-27 Bao Tran Systems and methods for on-demand transportation
US9733096B2 (en) 2015-06-22 2017-08-15 Waymo Llc Determining pickup and destination locations for autonomous vehicles
US9562785B1 (en) 2015-07-20 2017-02-07 Via Transportation, Inc. Continuously updatable computer-generated routes with continuously configurable virtual bus stops for passenger ride-sharing of a fleet of ride-sharing vehicles and computer transportation systems and computer-implemented methods for use thereof
US9805605B2 (en) 2015-08-12 2017-10-31 Madhusoodhan Ramanujam Using autonomous vehicles in a taxi service
US20170059347A1 (en) * 2015-08-28 2017-03-02 Google Inc. Determining Improved Pick-Up Locations
US9754338B2 (en) 2015-10-09 2017-09-05 Gt Gettaxi Limited System to facilitate a correct identification of a service provider
US9613386B1 (en) 2015-12-01 2017-04-04 Google Inc. Pickup and drop off zones for autonomous vehicles
US9702714B2 (en) 2015-12-03 2017-07-11 International Business Machines Corporation Routing of vehicle for hire to dynamic pickup location
US10685416B2 (en) 2015-12-10 2020-06-16 Uber Technologies, Inc. Suggested pickup location for ride services
US20170169366A1 (en) 2015-12-14 2017-06-15 Google Inc. Systems and Methods for Adjusting Ride-Sharing Schedules and Routes
US20170213308A1 (en) 2016-01-26 2017-07-27 GM Global Technology Operations LLC Arbitration of passenger pickup and drop-off and vehicle routing in an autonomous vehicle based transportation system
US10088846B2 (en) 2016-03-03 2018-10-02 GM Global Technology Operations LLC System and method for intended passenger detection
US9836057B2 (en) 2016-03-24 2017-12-05 Waymo Llc Arranging passenger pickups for autonomous vehicles
EP3472563A1 (en) 2016-06-21 2019-04-24 Via Transportation, Inc. Systems and methods for vehicle ridesharing management
US10425490B2 (en) 2016-09-26 2019-09-24 Uber Technologies, Inc. Service information and configuration user interface
US9715233B1 (en) 2016-11-09 2017-07-25 Ben Mandeville-Clarke System and method for inputting a second taxi-start location parameter for an autonomous vehicle to navigate to whilst reducing distraction
US20180156623A1 (en) 2016-12-05 2018-06-07 Microsoft Technology Licensing, Llc Generating travel instructions in multimodal transportation scenarios
US10890457B2 (en) 2017-01-13 2021-01-12 Uber Technologies, Inc. Method and system for repositioning a service location
US10180332B2 (en) 2017-01-13 2019-01-15 Uber Technologies, Inc. Method and system for repositioning a service location
US10290074B2 (en) 2017-05-25 2019-05-14 Uber Technologies, Inc. Coordinating on-demand transportation with autonomous vehicles
US10458802B2 (en) 2017-06-13 2019-10-29 Gt Gettaxi Limited System and method for navigating drivers to dynamically selected drop-off locations for shared rides
US20180374032A1 (en) 2017-06-27 2018-12-27 Uber Technologies, Inc. Match-based route navigation system
CN109425351B (zh) * 2017-08-24 2022-02-15 北京嘀嘀无限科技发展有限公司 出行处理方法及装置
US10731998B2 (en) 2017-11-05 2020-08-04 Uber Technologies, Inc. Network computer system to arrange pooled transport services

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20220418039A1 (en) * 2017-05-19 2022-12-29 Uber Technologies, Inc. Predictive location selection system
US11729859B2 (en) * 2017-05-19 2023-08-15 Uber Technologies, Inc. Predictive location selection system
US20220049964A1 (en) * 2020-08-11 2022-02-17 Toyota Jidosha Kabushiki Kaisha Server apparatus, information processing system, medium, and method of operating information processing system

Also Published As

Publication number Publication date
US11010693B2 (en) 2021-05-18
JP2020038710A (ja) 2020-03-12
BR112017002174A2 (pt) 2017-11-21
CA2957054A1 (en) 2016-02-11
CN106663307A (zh) 2017-05-10
AU2021204977A1 (en) 2021-08-12
SG10202000037SA (en) 2020-03-30
JP6857230B2 (ja) 2021-04-14
JP2017524195A (ja) 2017-08-24
EP3180766A1 (en) 2017-06-21
US20160034828A1 (en) 2016-02-04
WO2016022587A1 (en) 2016-02-11
US20210209520A1 (en) 2021-07-08
SG11201700671PA (en) 2017-02-27
AU2015301178B2 (en) 2021-04-29
EP3180766A4 (en) 2017-12-27
JP6619797B2 (ja) 2019-12-11
AU2015301178A1 (en) 2017-02-16

Similar Documents

Publication Publication Date Title
US20210209520A1 (en) Determining and providing predetermined location data points to service providers
US11605246B2 (en) Programmatically determining location information in connection with a transport service
US20220044186A1 (en) Arranging a transport service for multiple users
US10296200B2 (en) Drag and drop map for marking pickup and drop off locations on a predetermined line
US11006479B2 (en) Predictive location selection transportation optimization system
US20140026065A1 (en) Transportation service communication method, apparatus and system
US9747797B1 (en) Method and system for predicting availability of parking spot in parking area
US11507606B2 (en) Visual search system for finding trip destination
JP7389211B2 (ja) ナビゲーションアプリケーションにおける配車サービスに関するストリートレベル画像の提供
CN109556612A (zh) 一种导航信息处理方法、装置、服务器、终端及存储介质
US20220018673A1 (en) Choice modeling for pickup map display content