KR20220014325A - 사용자에게 운송 관련 서비스에 대한 하나 이상의 관심 지점을 추천하기 위한 통신 서버 장치, 방법 및 통신 시스템 - Google Patents

사용자에게 운송 관련 서비스에 대한 하나 이상의 관심 지점을 추천하기 위한 통신 서버 장치, 방법 및 통신 시스템 Download PDF

Info

Publication number
KR20220014325A
KR20220014325A KR1020217038942A KR20217038942A KR20220014325A KR 20220014325 A KR20220014325 A KR 20220014325A KR 1020217038942 A KR1020217038942 A KR 1020217038942A KR 20217038942 A KR20217038942 A KR 20217038942A KR 20220014325 A KR20220014325 A KR 20220014325A
Authority
KR
South Korea
Prior art keywords
data
user
interest
location
server device
Prior art date
Application number
KR1020217038942A
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 KR20220014325A publication Critical patent/KR20220014325A/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
    • G06Q30/00Commerce
    • G06Q30/06Buying, selling or leasing transactions
    • G06Q30/0601Electronic shopping [e-shopping]
    • G06Q30/0631Item recommendations
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3407Route searching; Route guidance specially adapted for specific applications
    • G01C21/3438Rendez-vous, i.e. searching a destination where several users can meet, and the routes to this destination for these users; Ride sharing, i.e. searching a route such that at least two users can share a vehicle for at least part of the route
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/3453Special cost functions, i.e. other than distance or default speed limit of road segments
    • G01C21/3476Special cost functions, i.e. other than distance or default speed limit of road segments using point of interest [POI] information, e.g. a route passing visible POIs
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3605Destination input or retrieval
    • G01C21/3617Destination input or retrieval using user history, behaviour, conditions or preferences, e.g. predicted or inferred from previous use or current movement
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3691Retrieval, searching and output of information related to real-time traffic, weather, or environmental conditions
    • G01C21/3694Output thereof on a road map
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • 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
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • G06Q30/0282Rating or review of business operators or products
    • G06Q50/30
    • 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

  • Engineering & Computer Science (AREA)
  • Remote Sensing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Strategic Management (AREA)
  • Development Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Accounting & Taxation (AREA)
  • Finance (AREA)
  • Tourism & Hospitality (AREA)
  • Databases & Information Systems (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Human Resources & Organizations (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Atmospheric Sciences (AREA)
  • Social Psychology (AREA)
  • Environmental & Geological Engineering (AREA)
  • Environmental Sciences (AREA)
  • Ecology (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Operations Research (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Game Theory and Decision Science (AREA)
  • Quality & Reliability (AREA)
  • Primary Health Care (AREA)
  • Telephonic Communication Services (AREA)
  • Navigation (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Traffic Control Systems (AREA)

Abstract

사용자가 운송 관련 서비스를 요청하거나 예약하려는 경우와 같이, 운송 관련 서비스에 대한 하나 이상의 관심 지점(POI)을 사용자에게 추천하는 통신 서버 장치가 제공된다. POI는 복수의 데이터 소스로부터 온 것일 수 있는 복수의 데이터/정보에 기초하여 상이한 동작/시나리오 또는 예약의 상이한 단계에서 추천된다. 추천은 과거 운송 관련 서비스에 대응하는 출발지 위치 및 목적지 위치의 하나 이상의 쌍과 관련된 데이터를 사용하여, 또는 지리적 영역의 적어도 하나의 목적지 카테고리에서 최고 순위 관심 지점에 대응하는 데이터 및 과거 데이터를 사용하여, 또는 후보 POI에 대한 복수의 기준에 할당된 개별 점수로부터 결정된 후보 POI의 결과 점수를 기반으로 하여 수행될 수 있으며, 적어도 일부 기준에 대한 개별 점수는 과거 데이터를 기반으로 결정된다.

Description

사용자에게 운송 관련 서비스에 대한 하나 이상의 관심 지점을 추천하기 위한 통신 서버 장치, 방법 및 통신 시스템
본 발명은 일반적으로 통신 분야에 관한 것이다. 본 발명의 일 측면은 사용자에게 운송 관련 서비스를 위한 하나 이상의 관심 지점을 추천하기 위한 통신 서버 장치에 관한 것이다. 본 발명의 추가적인 다른 측면은 사용자에게 운송 관련 서비스에 대한 하나 이상의 관심 지점을 추천하기 위한 통신 서버 장치, 사용자에게 운송 관련 서비스에 대한 하나 이상의 관심 지점을 추천하는 방법, 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에게 추천하기 위한 통신 시스템, 및 사용자에게 운송 관련 서비스를 위한 하나 이상의 관심 지점을 추천하는 통신 서버 장치에 관한 것이다. 추가적인 측면은 본원에 설명된 방법 중 어느 하나를 구현하기 위한 명령을 갖는 컴퓨터 프로그램 제품, 컴퓨터 프로그램 및 비일시적 저장 매체에 관한 것이다.
본 발명의 일 측면은 사용자에게 운송 관련 서비스에 대한 하나 이상의 관심 지점을 추천하기 위한 특정한, 그러나 배타적이지 않은, 애플리케이션을 갖는다. 예를 들어, 사용자는 운송 관련 서비스(예를 들어, 라이드 헤일링(ride-hailing) 서비스)를 요청하거나 예약할 수 있고, 개시된 기술은 다른 작업/시나리오 또는 예약의 다른 단계에서 하나 이상의 관심 지점의 예약을 목적으로 운송 관련 서비스에 대응하는 출발지 및/또는 목적지 위치를 추천할 수 있다. 사용자는 예약을 위해 대응하는 애플리케이션 또는 "앱"을 사용할 수 있고, 추천 관심 지점은 고려 및/또는 선택을 위해 앱을 통해 사용자에게 제공되거나 제시될 수 있다.
운송 서비스에 대한 사용자 쿼리에 대한 응답으로 쿼리와 관련된 POI(관심 지점(Point-Of-Interest)) 검색이 수행된다. 그러나, 현재의 POI 서비스 품질은 다른 요구 사항이나 속성을 고려하지 않고 사용자의 위치에 따라 POI를 필터링하는 알려진 운송 서비스 접근 방식으로 만족스럽지 않다.
본 발명의 측면은 독립항에 기재된 바와 같다. 일부 선택적 기능은 종속항에 정의되어 있다.
여기에 개시된 기술의 구현은 상당한 기술적 이점을 제공할 수 있다. 기술은, 예를 들어, 복수의 데이터 소스로부터의 것일 수 있는 복수의 데이터/정보에 기초하여 사용자에게 운송 관련 서비스에 대한 하나 이상의 관심 지점(POI)을 추천하는 것을 가능하게 할 수 있다.
적어도 일부 구현에서, 본원에 개시된 기술은 과거 데이터, 예를 들어, 과거 운송 관련 서비스에 대응하는 출발지 위치 및 목적지 위치의 하나 이상의 쌍과 관련된 데이터를 기반으로 하는 하나 이상의 관심 지점(POI)에 대한 추천을 제공할 수 있다.
적어도 일부 구현에서, 본원에 개시된 기술을 통해 과거 데이터 및 지리적 지역의 적어도 하나의 목적지 범주에서 가장 높은 순위의 관심 지점(예를 들어, 도시)에 대응하는 데이터를 기반으로 하나 이상의 관심 지점(POI)을 추천할 수 있다.
적어도 일부 구현에서, 본원에 개시된 기술은 후보 POI에 대한 복수의 기준에 할당된 개별 점수로부터 결정될 수 있는 후보 POI의 결과 점수에 기초하여 하나 이상의 관심 지점(POI)의 추천을 제공할 수 있다. 기준 중 적어도 일부에 대한 개별 점수는 과거 데이터를 기반으로 결정될 수 있다.
적어도 일부 구현에서, 본원에 공개된 기술은 운송 관련 서비스를 예약하는 동안 다양한 작업/시나리오에 대한 하나 이상의 관심 지점(POI)을 추천할 수 있고, 여기서 이러한 작업은 순차적으로 발생할 수 있다.
예시적인 실시예에서, 본원에 개시된 기술의 기능은 이동 전화와 같은 핸드헬드 통신 장치에서 실행되는 소프트웨어로 구현될 수 있다. 본원에 개시된 기술의 기능을 구현하는 소프트웨어는 사용자가 온라인 상점에서 다운로드한 "앱(App)"-컴퓨터 프로그램 또는 컴퓨터 프로그램 제품-에 포함될 수 있다. 예를 들어, 사용자의 휴대전화에서 실행할 때, 이동 전화의 트랜시버 구성 요소를 사용하여 사용자에게 운송 관련 서비스에 대한 하나 이상의 관심 지점(POI)을 추천하기 위한 보안 통신 채널을 설정하는 것과 같은, 휴대 전화의 하드웨어 기능을 사용하여 아래에 설명된 기능을 구현할 수 있다.
본 발명은 이제 단지 예로서, 그리고 첨부 도면을 참조하여 설명될 것이다.
도 1은 통신 서버 장치를 포함하는 예시적인 통신 시스템을 도시하는 개략적인 블록도이다.
도 2a는 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에게 추천하기 위한 통신 서버 장치를 예시하는 개략적인 블록도를 도시한다.
도 2b는 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에게 추천하기 위해 통신 서버 장치에서 수행되는 방법을 예시하는 흐름도를 도시한다.
도 2c는 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에게 추천하기 위한 통신 서버 장치를 예시하는 개략적인 블록도를 도시한다.
도 2d는 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에게 추천하기 위한 통신 서버 장치에서 수행되는 방법을 예시하는 흐름도를 도시한다.
도 2e는 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에게 추천하기 위한 통신 서버 장치를 예시하는 개략적인 블록도를 도시한다.
도 2f는 데이터 레코드를 예시하는 개략적인 블록도를 도시한다.
도 2g는 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에게 추천하기 위해 통신 서버 장치에서 수행되는 방법을 예시하는 흐름도를 도시한다.
도 2h는 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에게 추천하기 위한 통신 서버 장치를 예시하는 개략적인 블록도를 도시한다.
도 2i는 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에게 추천하기 위해 통신 서버 장치에서 수행되는 방법을 예시하는 흐름도를 도시한다.
도 3a 내지 도 3d는 다양한 실시예의 관심 지점(POI) 서비스의 4가지 주요 시나리오를 도시한다.
도 4는 계층 기반 웹 서비스 구조를 도시한 개략도이다.
도 5는 관심 지점(POI) 서비스를 위한 시스템의 개요를 예시하는 개략도를 도시한다.
도 6은 관심 지점(POI)의 시간 분포의 플롯의 예를 도시한다.
도 7a 내지 7d는 각각 Predict, Suggest, Search 및 ReverseGeo 시나리오에서 다양한 실시예의 POI 서비스의 성능을 도시한다.
본 기술은 실시간으로 POI(point-of-interest) 추천을 제공할 수 있으며, 예를 들어, 실시간으로 Golang 기반 POI 발견 및 추천을 제공할 수 있다.
운송 서비스(예: 라이드 헤일링 운송 서비스)의 하나의 측면은 가능한 적은 노력으로 사용자의 위치에 따라 원하는 POI를 픽업 및/또는 하차로 제공하는 것이며, 이는 사용자가 예약 버튼을 클릭하기 전에 화면을 클릭한 횟수로 측정할 수 있다. 지리적 기반 서비스로서, POI 검색 및 추천에는 많은 기하학적 계산과 높은 트래픽 처리량이 포함될 수 있다. POI 검색 및 추천의 고가용성과 안정성을 보장하는 것이 중요하다. 현재 기술에서는, 백엔드 시스템의 안정성을 보장하기 위해 Golang 기반 서비스 아키텍처가 채택되었다. 탄력적 검색은 데이터베이스 계층에서 수백만 개의 POI 데이터를 구성하는 데 활용될 수 있다. Redis를 사용하여 각각의 요청의 응답 시간을 캐시로 단축할 수 있다. 아래에서 더 설명하겠지만, Golang 기반 서비스 아키텍처를 사용할 수 있으며 다양한 시나리오에 따라 Elastic Search 및 Redis와 같은 기술을 배포하여 온라인 문제를 해결할 수 있다. POI 서비스는 평균적으로 아주 작은 화면 클릭으로 완료된 예약의 비율을 높이는 데 도움이 될 수 있다.
도 1을 참조하면, 다양한 실시예에 적용될 수 있는 통신 시스템(100)이 도시된다. 통신 시스템(100)은 통신 서버 장치(102), 제1 사용자(또는 클라이언트) 통신 장치(104) 및 제2 사용자(또는 클라이언트) 통신 장치(106)를 포함한다. 이들 장치(102, 104, 106)는, 예를 들어, 인터넷 통신 프로토콜을 구현하는 각각의 통신 링크(110, 112, 114)를 통해, 통신 네트워크(108)(예를 들어, 인터넷) 내에 또는 통신 네트워크(108)에 연결된다. 통신 장치(104, 106)는, 모바일 셀룰러 통신 네트워크를 포함하는, 공중 교환 전화 네트워크(PSTN 네트워크)와 같은, 다른 통신 네트워크를 통해 통신할 수 있으나, 이들은 명확성을 위해 도 1에서 생략된다. 장치(104, 106)와 유사한 하나 이상의 다른 통신 장치가 있을 수 있음을 이해해야 한다.
통신 서버 장치(102)는 운송 관련 서비스에 대한 하나 이상의 관심 지점(POI)을 사용자에게 추천하기 위한 것일 수 있다.
통신 서버 장치(102)는 도 1에 개략적으로 도시된 바와 같이 단일 서버일 수 있거나 또는 다수의 서버 구성요소에 걸쳐 분산된 통신 서버 장치(102)에 의해 수행되는 기능을 갖는다. 도 1의 이러한 실시예에서, 통신 서버 장치(102)는 하나 이상의 마이크로프로세서(μP)(116), 실행 가능한 명령(120)의 로딩을 위한 메모리(118)(예를 들어, 랜덤 액세스 메모리(RAM)와 같은 휘발성 메모리)을 포함하지만 이들에 제한되지 않는 다수의 개별 구성요소를 포함할 수 있고, 실행 가능한 명령(120)은 프로세서(116)의 제어 하에 서버 장치(102)가 수행하는 기능을 정의한다. 통신 서버 장치(102)는 또한 서버 장치(102)가 통신 네트워크(108)를 통해 통신할 수 있게 하는 입/출력(I/O) 모듈(122)을 포함할 수 있다. 사용자 인터페이스(UI)(124)는 사용자 제어를 위해 제공되며, 예를 들어, 디스플레이 모니터, 컴퓨터 키보드 등과 같은 하나 이상의 컴퓨팅 주변 장치를 포함할 수 있다. 통신 서버 장치(102)는 또한 데이터베이스(DB)(126)를 포함할 수 있고, 그 목적은 다음 논의로부터 용이하게 명백해질 것이다.
사용자 통신 장치(104)는 하나 이상의 마이크로프로세서(μP)(128), 실행 가능한 명령(132)의 로딩을 위한 메모리(130)(예를 들어, 랜덤 액세스 메모리(RAM)와 같은 휘발성 메모리)를 포함하지만 이들에 제한되지 않는 다수의 개별 구성요소를 포함할 수 있고, 실행 가능한 명령(132)은 프로세서(128)의 제어 하에 사용자 통신 장치(104)가 수행하는 기능을 정의한다. 사용자 통신 장치(104)는 또한 사용자 통신 장치(104)가 통신 네트워크(108)를 통해 통신하도록 허용하는 입력/출력(I/O) 모듈(134)을 포함한다. 사용자 제어를 위해 사용자 인터페이스(UI)(136)가 제공된다. 사용자 통신 장치(104)가, 예를 들어, 스마트폰 또는 태블릿 장치인 경우, 사용자 인터페이스(136)는 다수의 스마트폰 및 다른 핸드헬드 장치에서 널리 퍼져 있는 터치 패널 디스플레이를 가지고 있을 수 있다. 대안적으로, 사용자 통신 장치(104)가 데스크탑 또는 랩탑 컴퓨터인 경우, 사용자 인터페이스는, 예를 들어, 디스플레이 모니터, 컴퓨터 키보드 등과 같은 하나 이상의 컴퓨팅 주변 장치를 가지고 있을 수 있다.
사용자 통신 장치(106)는, 예를 들어, 사용자 통신 장치(104)와 동일하거나 유사한 하드웨어 아키텍처를 갖는 스마트폰 또는 태블릿 장치일 수 있다.
사용자 통신 장치(104) 및/또는 사용자 통신 장치(106)는 사용자에 대한 운송 관련 서비스를 위한 하나 이상의 추천 관심 지점(POI)과 관련된 정보 또는 데이터를 수신하기 위한 것일 수 있다.
도 2a는 운송 관련 서비스에 대한 하나 이상의 관심 지점(POI)을 사용자에게 추천하기 위한 통신 서버 장치(202a)를 도시하는 개략적인 블록도를 도시한다. 통신 서버 장치(202a)는 프로세서(216a) 및 메모리(218a)를 포함하고, 통신 서버 장치(202a)는 프로세서(216a)의 제어 하에 메모리(218a)에서 명령을 실행하도록 구성되며, 명령은: 사용자의 위치(예: 현재 위치 또는 예상 위치)를 나타내는 데이터 필드(예: 위도(lat) 값과 경도(lng) 값을 나타내는 데이터)를 포함하는 사용자 데이터를 수신하는 것에 응답하여 그리고 추가적으로 통신 서버 장치(202a)가 운송 관련 서비스에 대응하는 사용자와 연관된 과거 데이터가 없다고 결정하는 것에 응답하여, 위치가 있는 지도를 나타내는 데이터(255a)를 검색하는 명령, (예를 들어, 사용자의 위치에 기반하여) 지도상의 (단일) 관심 지점을 운통 관련 서비스의 추천 출발지 위치(또는 픽업 위치)로 결정하기 위해, 사용자의 사용자 통신 장치에 의한 수신에 대해, 지도를 표시하기 위해 지도를 나타내는 데이터(255a)를 사용자 통신 장치를 통해 사용자에 전송하는 명령, 및 통신 서버 장치(202a)에 응답하여 하나 이상의 데이터 레코드에 운송 관련 서비스에 대응하는 과거 데이터-여기서 과거 데이터는 사용자와 연관됨-가 있는지 확인하는 명령, 과거 데이터에 기반하여 운송 관련 서비스의 추천 출발지(또는 픽업 위치)로 (단일) 제1 관심 지점을 결정하는 명령, 과거 데이터에 기반하여 운송 관련 서비스에 대한 추천 목적지 위치(또는 하차 위치)로 (단일) 제2 관심 지점을 결정하는 명령-여기서 제1 관심 지점과 제2 관심 지점은 과거의 운송 관련 서비스에 대응하여 서로 페어링됨-, 및 사용자 통신 장치에 의한 수신에 대해 제1 관심 지점을 나타내는 데이터(256a) 및 제2 관심 지점을 나타내는 데이터(257a)를 전송하는 명령이다.
프로세서(216a) 및 메모리(218a)는 (라인(217a)으로 표시된 바와 같이) 서로 연결될 수 있다. 예를 들어, 물리적으로 연결되고/연결되거가 전기적으로 연결된다. 프로세서(216a)는 프로세서(116)의 맥락에서 설명된 바와 같을 수 있고/있거나(도 1) 메모리(218a)는 메모리(118)의 맥락에서 설명된 바와 같을 수 있다(도 1).
사용자 데이터는 사용자의 아이덴티티(예를 들어, 사용자 ID)를 나타내는 식별자를 나타내는 다른 데이터 필드를 더 포함할 수 있다.
다양한 실시예에서, 통신 서버 장치(202a)에 응답하여 과거 데이터가 있는지 확인하고, 제2 관심 지점을 추천 목적지 위치로 결정하기 위해, 추가적으로 시간(지점)(예: 현재 시간(지점) 또는 예상 시간(지점) 또는 예정된 시간(지점))을 나타내는 데이터 필드가 있는, (사용자의 위치를 나타내는 데이터 필드를 갖는 동일한 사용자 데이터일 수 있는) 사용자 데이터 수신에 대한 응답하여, 통신 서버 장치(202a)는, 과거 데이터에 기반하여, 시간을 포함하는 미리 결정된 시간 간격(예: 하루의 시간 단위)에서 제1 관심 지점과 페어링되는 제2 관심 지점을 결정하도록 더 구성될 수 있다. 시간은, 예를 들어, 예약이 이루어진 시간, 또는 교통 관련 서비스의 시작 시간일 수 있다.
비제한적인 예로서, 시간은 오후 3시 5분일 수 있고, (예: 지난 24시간 또는 그 이상의 기간 동안인) 과거의 오후 3:00-3:30 또는 오후 3:00-4:00의 시간 간격 동안 제1 관심 지점과 페어링되는 제2 관심 지점은 추천 목적지 위치로 결정될 수 있다.
다양한 실시예에서, 통신 서버 장치(202a)에 응답하여 과거 데이터가 있는지 확인하며, 추가적으로 사용자의 위치를 나타내는 데이터 필드를 포함하는 사용자 데이터를 수신하는 것에 응답하여, 제1 관심 지점의 결정에 대해, 통신 서버 장치(202a)는 과거 데이터에 포함된 운송 관련 서비스에 대한 하나 이상의 과거 출처 위치를 나타내는 데이터가 있는지 여부를 결정하도록 구성될 수 있고, 하나 이상의 과거 출발지 위치를 나타내는 데이터가 있다고 결정되는 경우, 하나 이상의 과거 출발지 위치를 나타내는 데이터에 기초하여, 제1 관심 지점으로 사용자의 위치와 거리가 가장 가까운 과거 출발지 위치를 정의하며, 사용자 통신 장치에 의한 수신에 대해, 과거 출발지 위치를 나타내는 데이터를 전송하고, 하나 이상의 과거 출발지 위치를 나타내는 데이터가 없다고 결정되면, 과거 데이터에 포함된 하나 이상의 과거 목적지 위치(또는 하나 이상의 최종 하차 우선 순위(last dropoff firsts, LDFs))를 나타내는 데이터를 결정하고, 하나 이상의 과거 목적지 위치를 나타내는 데이터에 기초하여, 제1 관심 지점인 사용자의 위치와 거리상 가장 가까운 과거 목적지 위치를 정의하며, 사용자 통신 장치에 의한 수신에 대해, 과거 목적지 위치를 나타내는 데이터를 전송한다.
다양한 실시예에서, 하나 이상의 과거 목적지 위치를 나타내는 데이터를 결정하기 위해, 통신 서버 장치(202a)는 미리 결정된 과거의 기간(예, 최종 24시간)과 연관된 하나 이상의 과거의 목적지 위치를 나타내는 데이터를 결정하도록 구성될 수 있다.
도 2b는, 통신 서버 장치의 프로세서의 제어 하에, 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에게 추천하기 위해, 통신 서버 장치에서 수행되는 방법을 예시하는 흐름도(250)를 도시한다.
사용자의 위치를 나타내는 데이터 필드를 포함하는 사용자 데이터 수신에 응답하여 그리고 추가적으로 운송 관련 서비스에 대응하는 사용자와 관련된 과거 데이터가 없다고 결정하는 것에 응답하여, 251에서, 위치가 있는 지도를 나타내는 데이터가 검색되고, 252에서, 사용자의 사용자 통신 장치에 의한 수신에 대해, 사용자 통신 장치를 통해 지도를 표시하기 위해, 지도상의 관심 지점을 운송 관련 서비스의 추천 출발지 위치로 결정하기 위한 지도를 나타내는 데이터가 사용자에 전송된다.
하나 이상의 데이터 레코드에 운송 관련 서비스에 대응하는 과거 데이터가 있다는 결정에 응답하여, 과거 데이터는 사용자와 연관되고, 255에서, 과거 데이터에 기반하여 제1 관심 지점이 운송 관련 서비스에 대한 추천 출발지 위치로 결정되며, 256에서, 과거 데이터에 기반하여 제2 관심 지점이 운송 관련 서비스의 추천 목적지 위치로 결정되고, 제1 관심 지점과 제2 관심 지점은 과거 운송 관련 서비스에 대응하도록 서로 페어링되며, 257에서, 사용자 통신 장치에 의한 수신에 대하여, 제1 관심 지점을 나타내는 데이터 및 제2 관심 지점을 나타내는 데이터가 전송된다.
과거 데이터가 있다고 결정된 것에 응답하여 그리고 추가적으로 시간을 나타내는 데이터 필드를 포함하는 사용자 데이터의 수신에 응답하여, 256에서, 방법은 과거 데이터에 기반하여 시간을 포함하는 미리 결정된 시간 간격에서 제2 관심 지점이 제1 관심 지점과 페어링되는 것을 결정하는 단계를 포함할 수 있다.
다양한 실시예에서, 255에서, 과거 데이터가 있다는 결정에 대한 응답하여 그리고 추가적으로 사용자의 위치를 나타내는 데이터 필드를 포함하는 사용자 데이터를 수신하는 것에 응답하여, 방법은 과거 데이터에 포함된 운송 관련 서비스에 대한 하나 이상의 과거 출발 위치를 나타내는 데이터가 있는지 여부를 결정하는 단계를 포함할 수 있으며, 하나 이상의 과거 출발지 위치를 나타내는 데이터가 있다고 결정되는 경우, 하나 이상의 과거 출발지 위치를 나타내는 데이터에 기초하여 사용자의 위치와 가장 가까운 거리의 과거 출발지 위치를 제1 관심 지점으로 정의하는 단계, 사용자 통신 장치에 의한 수신에 대해 과거 출발지 위치를 나타내는 데이터를 전송하는 단계, 하나 이상의 과거 출발지 위치를 나타내는 데이터가 없다고 결정되는 경우, 과거 데이터에 포함된 하나 이상의 과거 목적지 위치를 나타내는 데이터를 결정하는 단계, 하나 이상의 과거 목적지 위치를 나타내는 데이터에 기초하여, 사용자의 위치와 가장 가까운 거리의 과거 목적지 위치를 제1 관심 지점으로 정의하는 단계, 및 사용자 통신 장치에 의한 수신에 대하여 과거 목적지 위치를 나타내는 데이터를 전송하는 단계를 포함한다.
다양한 실시예에서, 하나 이상의 과거 목적지 위치를 나타내는 데이터의 결정에 대해, 방법은 미리 결정된 과거 기간과 연관된 하나 이상의 과거 목적지 위치를 나타내는 데이터를 결정하는 단계를 포함할 수 있다.
다양한 실시예는 운송 관련 서비스에 대한 하나 이상의 관심 지점을 통신 서버 장치(예, 202a, 도 2a)를 갖는 사용자에게 추천하기 위한 통신 시스템을 더 제공할 수 있고, 적어도 하나의 사용자 통신 장치 및 통신 네트워크 장비는 통신 서버 장치 및 적어도 하나의 사용자 통신 장치에 대해 동작 가능하여 이들 사이에 서로간의 통신 설정이 이루어지며, 적어도 하나의 사용자 통신 장치는 제1 프로세서 및 제1 메모리를 포함하며, 적어도 하나의 사용자 통신 장치는 제1 프로세서의 제어 하에 제1 메모리에서 제1 명령을 실행하도록 구성되고, 제1 명령은, 처리를 위해 통신 서버 장치에 의한 수신에 대하여, 사용자의 위치를 나타내는 데이터 필드를 포함하는 사용자 데이터를 전송하는 명령이고, 통신 서버 장치는 제2 프로세서 및 제2 메모리를 포함하며, 통신 서버 장치는, 제2 프로세서의 제어 하에, 제2 메모리 내에서 제2 명령을 실행하기 위해 구성되고, 제2 명령은, 적어도 하나의 사용자 통신 장치에 의해 전송된 사용자 데이터를 나타내는 데이터 수신에 응답하여 그리고 추가적으로 운송 관련 서비스에 대응하는 사용자와 연관된 과거 데이터가 없다고 통신 서버 장치가 결정하는 것에 응답하여, 위치를 포함하는 지도를 나타내는 데이터 검색하는 명령, 및 적어도 하나의 사용자 통신 장치에 의한 수신에 대하여 운송 관련 서비스를 위한 추천 출발지 위치로서 지도 상의 관심 지점을 결정하기 위해 사용자 통신 장치를 통해 지도를 제시하기 위한 지도의 대표적인 데이터를 사용자에게 전송하는 명령, 통신 서버 장치가 하나 이상의 데이터 레코드에 운송 관련 서비스에 대응하는 과거 데이터가 있다고 결정하는 것에 응답하여, 과거 데이터는 사용자와 연관되고, 과거 데이터에 기반하여 운송 관련 서비스의 추천 출발지로 제1 관심 지점을 결정하는 명령, 과거 데이터에 기반하여 제2 관심 지점을 운송 관련 서비스에 대한 추천 목적지 위치로 결정하는 명령-여기서 제1 관심 지점과 제2 관심 지점은 과거 운송 관련 서비스에 대응하여 서로 페어링됨-, 적어도 하나의 사용자 통신 장치에 의한 수신에 대해 제1 관심 지점을 나타내는 데이터 및 제2 관심 지점을 나타내는 데이터를 전송하는 명령이다.
통신 서버 장치(202a)의 맥락에서의 설명, 흐름도(250)의 맥락에서 설명된 바와 같은 방법, 및 위에서 설명된 대응하는 통신 시스템이 서로에 대하여 적용될 수 있다는 것을 이해해야 한다.
통신 서버 장치(202a)의 맥락에서 전술한 기술, 흐름도(250)의 맥락에서 설명된 방법 및 위에서 설명된 대응하는 통신 시스템은 아래에서 더 설명될 액션/시나리오 "예측"에 대응할 수 있다. 또한, 전술한 기술은 운송 관련 서비스에 대응하는 (소프트웨어) 애플리케이션(예: "앱")의 활성화 또는 시작 또는 또는 시작의 감지(또는 결정) 활성화에 응답하여 수행될 수 있거나, 또는 사용자가 운송 관련 서비스를 요청하거나 예약하는 과정의 시작 단계에서 수행된다.
도 2c는 운송 관련 서비스에 대한 하나 이상의 관심 지점(POI)을 사용자에게 추천하기 위한 통신 서버 장치(202c)를 예시하는 개략적인 블록도를 도시한다. 통신 서버 장치(202c)는 프로세서(216c) 및 메모리(218c)를 포함하고, 통신 서버 장치(202c)는, 프로세서(216c)의 제어 하에, 메모리(218c) 내에서 명령을 실행하도록 구성되며, 명령은, 사용자의 위치(예: 현재 위치 또는 예상 위치)를 나타내는 제1 데이터 필드(예: 위도(lat) 값과 경도(lng) 값을 나타내는 데이터) 및 목적지 위치(또는 하차 위치)에 대응하는 사용자 요청을 나타내는 제2 데이터 필드를 포함하는 사용자 데이터의 수신에 응답하여, 하나 이상의 데이터 레코드 내에서 운송 관련 서비스에 대응하는 과거 데이터-여기서 과거 데이터는 사용자와 연관됨-에 액세스하는 명령, 위치를 포함하는 지리적 지역(예: 도시)에서, 적어도 하나의 목적지 카테고리(예: 쇼핑 목적지, 음식점, 운송 허브 등)에서 다수의 상위 관심 지점(예: 가장 인기 있는 POI, 상위 3개, 상위 5개 또는 기타 숫자)을 나타내는 데이터에 액세스하는 명령, 최고 순위 관심 지점의 수를 나타내는 데이터 및 과거 데이터에 기반하여 운송 관련 서비스를 위한 추천 목적지 위치로 하나 이상의 제1 관심 지점을 결정하는 명령, 및 사용자 통신 장치에 의한 수신에 대하여, 하나 이상의 제1 관심 지점을 나타내는 데이터(255c)를 전송하는 명령이다.
프로세서(216c) 및 메모리(218c)는 (라인(217c)으로 표시되는 바와 같이) 서로 결합될 수 있으며, 예를 들어, 물리적으로 결합되고/되거나 전기적으로 결합될 수 있다. 프로세서(216c)는 프로세서(116)(도 1)의 맥락에서 설명된 바와 같을 수 있고/있거나 메모리(218c)는 메모리(118)(도 1)의 맥락에서 설명된 바와 같을 수 있다.
사용자 데이터는 사용자의 아이덴티티(예를 들어, 사용자 ID)를 나타내는 식별자를 나타내는 다른 데이터 필드를 더 포함할 수 있다.
목적지 위치에 대응하는 사용자 요청을 나타내는 제2 데이터 필드는 운송 관련 서비스(예: 목적지 위치에 대한 입력 데이터 필드)에 대응하는 (소프트웨어) 애플리케이션(예: "앱")의 입력란 또는 입력 데이터 필드를 클릭하는사용자에 대응할 수 있다.
다양한 실시예의 맥락에서, 과거 데이터는 다수의 과거 목적지 위치를 나타내는 데이터 및/또는 사용자의 하나 이상의 선호도를 나타내는 데이터를 포함할 수 있다.
다양한 실시예에서, 과거 데이터는 사용자가 가장 자주 방문하는 과거 목적지 위치의 수를 나타내는 데이터(예: 가장 자주 사용하는 위치 3개, 가장 자주 사용하는 위치 5개 또는 기타 숫자)를 포함할 수 있고, 과거 데이터에 액세스하기 위해, 통신 서버 장치(202c)는 사용자가 가장 자주 방문하는 과거 목적지 위치의 수를 나타내는 데이터에 액세스하도록 더 구성될 수 있으며, 하나 이상의 제1 관심 지점의 결정에 대하여, 통신 서버 장치(202c)는 사용자가 가장 자주 이용하고 최고 순위 관심 지점의 수를 나타내는 데이터인 과거 목적지 위치의 수를 나타내는 데이터에 기초하여 하나 이상의 제1 관심 지점을 결정하도록 더 구성될 수 있다.
통신 서버 장치(202c)는, 출발지 위치(또는 픽업 위치)에 대응하는 사용자 요청을 나타내는 데이터 필드를 포함하는, (전술한 동일한 사용자 데이터 또는 다른 사용자 데이터일 수 있는) 사용자 데이터 수신에 응답하여, 과거 데이터와 위치를 기반으로, 하나 이상의 제2 관심 지점을 운송 관련 서비스에 대한 추천 출발지 위치로 결정하고, 사용자 통신 장치에 의한 수신에 대하여 하나 이상의 제2 관심 지점을 나타내는 데이터를 전송하도록 더 구성될 수 있다.
과거 데이터에는 다수의 과거 출발지 위치를 나타내는 데이터가 포함될 수 있고, 하나 이상의 제2 관심 지점은 과거 출발지 위치의 수에 기반하여 결정될 수 있다.
출발지 위치에 대응하는 사용자 요청을 나타내는 데이터 필드는 사용자가 운송 관련 서비스(예: 출발지 위치에 대한 입력 데이터 필드)에 대응하는 (소프트웨어) 애플리케이션(예: "앱")의 입력 상자 또는 입력 데이터 필드를 클릭하는 것에 대응할 수 있다.
하나 이상의 제2 관심 지점을 결정하기 위해, 통신 서버 장치(202c)는 추천 출발지 위치로서의 사용자의 위치에 대하여 미리 결정된 거리 이내인 하나 이상의 제2 관심 지점을 결정하도록 구성될 수 있다.
통신 서버 장치(202c)는, 하나 이상의 제2 관심 지점 각각에 대해, 사용자 통신 장치에 의한 수신을 위해, 제2 관심 지점과 사용자의 위치 사이의 거리를 나타내는 데이터를 전송하도록 더 구성될 수 있다.
도 2d는 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에게 추천하기 위해, 그리고 통신 서버 장치의 프로세서의 제어 하에, 통신 서버 장치에서 수행되는 방법을 예시하는 흐름도(260)를 도시한다.
위치를 나타내는 제1 데이터 필드 및 목적지 위치에 대응하는 사용자 요청을 나타내는 제2 데이터 필드를 포함하는 사용자 데이터 수신에 응답하여, 262에서, 하나 이상의 데이터 레코드에서 운송 관련 서비스에 대응하는 과거 데이터가 액세스되고, 과거 데이터는 사용자와 연관되며, 단계 264에서, 위치를 갖는 지리적 지역의 적어도 하나의 목적지 카테고리에서 다수의 가장 높은 순위 관심 지점을 나타내는 데이터가 액세스되고, 단계 266에서, 과거 데이터 및 가장 높은 순위 관심 지점의 수를 나타내는 데이터를 기반으로 하나 이상의 제1 관심 지점이 운송 관련 서비스의 추천 목적지로 결정되며, 268에서, 사용자 통신 장치에 의한 수신을 위해, 하나 이상의 제1 관심 지점을 나타내는 데이터가 전송된다.
다양한 실시예에서, 과거 데이터는 사용자가 가장 자주 방문하는 다수의 과거 목적지 위치를 나타내는 데이터를 포함할 수 있다. 262에서, 사용자가 가장 자주 방문하는 과거 목적지 위치의 수를 나타내는 데이터가 액세스되고, 266에서, 하나 이상의 제1 관심 지점이 사용자가 가장 자주 사용하며 가장 높은 순위 관심 지점의 수를 나타내는 데이터인 과거 목적지 위치의 수를 나타내는 데이터에 기반하여 결정된다.
출발지 위치에 대응하는 사용자 요청을 나타내는 데이터 필드를 포함하는 사용자 데이터를 수신하는 것에 응답하여, 방법은, 과거 데이터와 위치를 기반으로, 운송 관련 서비스에 대한 추천 출발지 위치로 하나 이상의 제2 관심 지점을 결정하는 단계, 및 사용자 통신 장치에 의한 수신을 위해, 하나 이상의 제2 관심 지점을 나타내는 데이터를 전송하는 단계를 더 포함한다.
다양한 실시예에서, 방법은 사용자의 위치에 대하여 미리 결정된 거리 내의 하나 이상의 제2 관심 지점을 추천 출발지 위치로 결정하는 단계를 포함할 수 있다.
다양한 실시예에서, 방법은, 사용자 통신 장치에 의한 수신을 위해, 하나 이상의 제2 관심 지점 각각에 대하여, 제2 관심 지점과 사용자의 위치 사이의 거리를 나타내는 데이터를 전송하는 단계를 더 포함할 수 있다.
다양한 실시예는 운송 관련 서비스에 대한 하나 이상의 관심 지점을 통신 서버 장치(예를 들어, 202c, 도 2c)가 있는 사용자에게 추천하기 위한 통신 시스템을 더 제공할 수 있고, 적어도 하나의 사용자 통신 장치 및 통신 네트워크 장비는 서로를 통해 통신을 설정하기 위해 통신 서버 장치 및 적어도 하나의 사용자 통신 장치에 대해 동작 가능하며, 적어도 하나의 사용자 통신 장치는 제1 프로세서 및 제1 메모리를 포함하고, 적어도 하나의 사용자 통신 장치는, 제1 프로세서의 제어 하에, 제1 메모리 내에서 제1 명령을 실행하도록 구성되며, 제1 명령은, 처리를 위해 통신 서버 장치에 의한 수신을 위해, 위치를 나타내는 제1 데이터 필드 및 목적지 위치에 대응하는 사용자 요청을 나타내는 제2 데이터 필드를 포함하는 사용자 데이터를 전송하는 명령이고, 통신 서버 장치는 제2 프로세서 및 제2 메모리를 포함하며, 통신 서버 장치는, 제2 프로세서의 제어 하에, 제2 메모리에서 제2 명령을 실행하도록 구성되고, 제2 명령은, 적어도 하나의 사용자 통신 장치에 의해 전송된 사용자 데이터를 나타내는 데이터 수신에 응답하여, 하나 이상의 데이터 레코드에서 운송 관련 서비스에 대응하는 과거 데이터-여기서 과거 데이터는 사용자와 연관됨-에 액세스하는 명령, 위치를 포함하는 지리적 지역의 적어도 하나의 목적지 카테고리 내에서 복수의 최상위 관심 지점을 나타내는 데이터에 액세스하는 명령, 최고 순위 관심 지점의 수를 나타내는 데이터 및 레코드 데이터를 기반으로, 운송 관련 서비스를 위한 추천 목적지 위치로 하나 이상의 제1 관심 지점을 결정하는 명령, 및 적어도 하나의 사용자 통신 장치에 의한 수신을 위해, 하나 이상의 제1 관심 지점을 나타내는 데이터를 전송하는 명령이다.
통신 서버 장치(202c)의 맥락에서의 설명, 흐름도(260)의 맥락에서 설명된 방법, 및 전술한 대응하는 통신 시스템은 서로 적용될 수 있다는 것을 이해해야 한다.
통신 서버 장치(202c)의 맥락에서 전술한 기술, 흐름도(260)의 맥락에서 설명된 방법, 및 위에서 설명된 대응하는 통신 시스템은 아래에 추가적으로 설명될 동작/시나리오 "제안"에 대응할 수 있다. 또한, 전술한 기술은 "예측" 시나리오(예를 들어, "예측" 시나리오에서 얻은 결과가 사용자가 운송 관련 서비스를 요청하거나 예약하는 데 예상과 일치하지 않거나 만족스럽지 않은 경우) 이후에 순차적인 순서로 수행될 수 있다.
도 2f가 통신 서버 장치(202e)에 의해 생성될 수 있는 데이터 레코드(240)를 예시하는 개략적인 블록도를 도시하는 반면에, 도 2e는 운송 관련 서비스에 대한 하나 이상의 관심 지점(POI)을 사용자에게 추천하기 위한 통신 서버 장치(202e)를 예시하는 개략적인 블록도를 도시한다.
통신 서버 장치(202e)는 프로세서(216e) 및 메모리(218e)를 포함하며, 여기서 통신 서버 장치(202e)는, 프로세서(216e)의 제어 하에, 메모리(218e) 내에서 명령을 실행하도록 구성되고, 명령은, 사용자의 위치(예: 현재 위치 또는 예상 위치)를 나타내는 제1 데이터 필드(예: 위도(lat) 값과 경도(lng) 값을 나타내는 데이터) 및 사용자에 의해 입력된 정보-여기서 정보는 운송 관련 서비스에 대한 출발지 위치 또는 목적지 위치로서 사용자에 의해 요청된 위치를 적어도 부분적으로 설명함-를 나타내는 입력 데이터를 갖는 제2 데이터 필드를 포함하는 사용자 데이터를 수신하는 것에 응답하여, 입력 데이터를 기반으로, 대응하는 복수의 후보 관심 지점에 대하여, 데이터(243a, 243b, 243c, ~ 243n)가 있는 복수의 후보 데이터 필드(242a, 242b, 242c, ~ 242n)를 갖는 하나 이상의 데이터 레코드(240)를 생성하는 명령, 하나 이상의 데이터 레코드(240)에서, 복수의 후보 데이터 필드(242a, 242b, 242c, ~ 242n)의 각각의 후보 데이터 필드에 대해, 키워드, 지역, 빈도, 시간 및 거리의 최소 두 가지 기준에 대해 각각의 기준 데이터 필드(비제한적인 예로서, 후보 데이터 필드(242a)에 대한 각각의 기준 데이터 필드(244a, 246a) 및 후보 데이터 필드(242c)에 대한 각각의 기준 데이터 필드(244c, 246c)가 도시됨)를 생성하는 명령, 각각의 기준 데이터 필드(예: 244a, 246a, 244c, 246c)의 각각의 기준 데이터 필드에서, 후보 관심 지점(비제한적인 예로서, 각각 기준 데이터 필드(244a, 246a, 244c, 246c)에 대한 데이터(245a, 247c, 245c, 247c)로 도시됨)에 대한 대응하는 기준과 관련된 개별 점수를 나타내는 데이터를 생성하는 명령이다.
키워드의 경우, 개별 점수는 정보와 후보 관심 지점의 명칭을 설명하는 하나 이상의 단어(예: 전체 명칭, 부분 명칭(들), 두문자어(들)) 간의 유사성을 기반으로 결정된다. 지역의 경우, 개별 점수는 사용자의 위치를 포함하는 제1 지리적 지역(예를 들어, 도시)과 후보 관심 지점을 포함하는 제2 지리적 지역(예를 들어, 도시) 사이의 근접성에 기초하여 결정된다. 빈도와 관련하여, 하나 이상의 과거 데이터 기록에서 운송 관련 서비스에 대응하는 과거 데이터를 기반으로, 개별 점수는 후보 관심 지점이 (예를 들어, 하나 이상의 사용자에 의해, 즉, 운송 관련 서비스를 요청하는 사용자를 포함할 뿐만 아니라 다른 사용자(들)의 선호도(들)도 고려하여) 과거에 선택된 횟수(예: (요청한 위치가 출발지 위치인 경우) 후보 관심 지점이 과거에 출발지 위치로 선택된 횟수 또는 (요청한 위치가 목적지 위치인 경우) 후보 관심 지점이 과거에 목적지 위치로 선택된 횟수)를 기반으로 과거에 운송 관련 서비스를 위해 요청된 위치로 결정된다. 시간과 관련하여, (전술한 동일한 과거 데이터 레코드(들)일 수 있는) 하나 이상의 과거 데이터 기록에서 운송 관련 서비스에 대응하는 과거 데이터-여기서 과거 데이터는 사용자와 연관됨-를 기반으로, 개별 점수는 정해진 시간에 후보 관심 지점이 요청된 위치(출발지 위치 또는 목적지 위치)로 사용자에 의해 선택될 확률(예: 아침, 저녁 또는 정의된 기간/시간 동안 후보 관심 지점이 선택될 확률 등)에 기반하여 결정된다. 거리와 관련하여, 개별 점수는 사용자의 위치와 후보 관심 지점 간의 거리를 기반으로 결정된다.
통신 서버 장치(202e)는, 각각의 후보 데이터 필드(242a, 242b, 242c, ~ 242n)에 대해, 개별 점수(적어도 2가지 기준에 대해 결정됨)를 기반으로 대응하는 후보 관심 지점에 대한 결과 점수를 생성하고, 결과 점수를 나타내는 데이처를 처리하며, 사용자 통신 장치에 의한 수신을 위해, 결과 점수를 나타내는 데이터 처리 결과에 따라, 복수의 후보 관심 지점의 표시를 위해 복수의 후보 관심 지점을 나타내는 데이터(255e)를 사용자 통신 장치를 통해 전송하도록 구성된다. 다양한 실시예에서, 데이터(255e)가 통신 서버 장치(202e)로부터 전송되도록, 복수의 후보 관심 지점은 처리 결과에 따라 이미 정렬되었을 수 있다.
프로세서(216e) 및 메모리(218e)는 (라인(217e)으로 표시된 바와 같이) 서로 연결될(예를 들어, 물리적으로 연결되고/연결되거나 전기적으로 연결될) 수 있다. 프로세서(216e)는 프로세서(116)(도 1)의 맥락에서 설명된 바와 같을 수 있고/있거나 메모리(218e)는 메모리(118)(도 1)의 맥락에서 설명된 바와 같을 수 있다.
사용자 데이터는 사용자의 아이덴티티(예를 들어, 사용자 ID)를 나타내는 식별자를 나타내는 다른 데이터 필드를 더 포함할 수 있다.
통신 서버 장치(202e)는 시간(지점)(예: 현재 시간(지점) 또는 예상 시간(지점) 또는 예정된 시간(지점))을 나타내는 데이터 필드를 포함하는 사용자 데이터(제1 및 제2 데이터 필드를 갖는 동일한 사용자 데이터일 수 있음)를 수신할 수 있다.
비제한적인 예로서, 요청된 위치는 8자 문자열을 포함하는 전체 명칭으로 표시되거나 설명될 수 있고, 입력된 정보는 명칭의 일부(예: (단지) 전체 8자 중 처음 5자, 전체 명칭(즉, 8자) 또는 요청된 위치를 나타내는 두문자어를 포함할 수 있다.
후보 데이터 필드의 임의의 수, y일 수 있음을 이해해야 하며, 여기서 y≥2(즉, 2 이상)이다.
결과 점수를 나타내는 데이터를 처리하기 위해, 통신 서버 장치(202e)는, 결과 점수를 나타내는 데이터에 기반하여, 하나 이상의 데이터 레코드(240)에서, 다수의 후보 관심 지점에 대한 결과 점수에 따라(예: 결과 점수의 내림차순) 복수의 후보 관심 지점의 순서를 나타내는 순위 데이터를 생성하도록 구성될 수 있고, 데이터 전송을 위해, 통신 서버 장치(202e)는 복수의 후보 관심 지점의 표시를 위해 복수의 후보 관심 지점을 나타내는 데이터(255e)를 순위 데이터에 따라 순서대로 사용자 통신 장치를 통해 전송하도록 구성될 수 있다. 다양한 실시예에서, 데이터(255e)가 통신 서버 장치(202e)로부터 전송되도록, 복수의 후보 관심 지점은 순위 데이터에 따라 이미 정렬되어 있을 수 있다.
결과 점수를 나타내는 데이터를 처리하기 위해, 통신 서버 장치(202e)는, 결과 점수를 나타내는 데이터를 기반으로, 그리고 복수의 후보 관심 지점 중 각각의 후보 관심 지점에 대해, 결과 점수를 요청된 위치에 대한 후보 관심 지점의 일치하는 관련성을 나타내는 임계값과 비교하도록 구성될 수 있으며, 데이터 전송을 위해, 통신 서버 장치(202e)는 임계값 이상인 것으로 결정된 결과 점수를 갖는 후보 관심 지점을 나타내는 데이터(255e)를 전송하도록 구성될 수 있다.
결과 점수를 생성하기 위해, 통신 서버 장치(202e)는 개별 점수의 가중 합계에 의해 결과 점수를 생성하도록 구성될 수 있다.
다양한 실시예에서, 적어도 2개의 기준은 지역을 포함할 수 있고, 지역에 대한 개별 점수가 제1 지역 및 제2 지역이 상이한 국가에 있음을 나타내는 것으로 결정되는 것에 응답하여, 통신 서버 장치(202e)는 후보 관심 지점을 배제(또는 무시)하도록 더 구성될 수 있다.
각각의 기준 데이터 필드(예: 244a, 246a, 244c, 246c)를 생성하기 위해, 통신 서버 장치(202e)는, 각각의 후보 데이터 필드(242a, 242b, 242c, ~ 242n)에 대해, 키워드, 지역, 빈도, 시간 및 거리 중 적어도 3개의 기준에 대한 각각의 기준 데이터 필드를 생성하도록 구성될 수 있다.
각각의 기준 데이터 필드(예: 244a, 246a, 244c, 246c)를 생성하기 위해, 통신 서버 장치(202e)는, 각각의 후보 데이터 필드(242a, 242b, 242c, ~ 242n)에 대해, 키워드, 지역, 인기도, 시기 및 거리 중 최소 4개의 기준에 대한 각각의 기준 데이터 필드를 생성하도록 구성될 수 있다.
다양한 실시예에서, 정보가 출발지 위치로서 요청된 위치를 적어도 부분적으로 설명하는 것에 응답하여, 각각의 기준 데이터 필드(예: 244a, 246a, 244c, 246c)를 생성하기 위해, 통신 서버 장치(202e)는, 각각의 후보 데이터 필드(242a, 242b, 242c, ~ 242n)에 대해, 키워드, 지역, 빈도, 시간 및 거리의 모든 기준에 대한 각각의 기준 데이터 필드를 생성하도록 구성될 수 있다.
도 2g는, 통신 서버 장치의 프로세서의 제어 하에, 사용자에 운송 관련 서비스에 대한 하나 이상의 관심 지점을 추천하기 위해 통신 서버 장치에서 수행되는 방법을 고시하는 흐름도(270)를 도시한다.
사용자의 위치를 나타내는 제1 데이터 필드 및 사용자에 의해 입력된 정보를 나타내는 입력 데이터를 갖는 제2 데이터 필드를 포함하는 사용자 데이터 수신에 응답하여, 정보는 운송 관련 서비스에 대한 출발지 위치 또는 목적지 위치로서 사용자가 요청한 위치를 적어도 부분적으로 설명하며, 272에서, 대응하는 복수의 후보 관심 지점에 대한 데이터를 갖는 복수의 후보 데이터 필드를 포함하는 입력 데이터를 기반으로 하나 이상의 데이터 레코드가 생성된다. 274에서, 복수의 후보 데이터 필드의 각각의 후보 데이터 필드에 대해, 각각의 기준 데이터 필드가 키워드, 지역, 빈도, 시간 및 거리 중 적어도 2개의 기준에 대해 하나 이상의 데이터 레코드에서 생성된다. 276에서, 각각의 기준 데이터 필드들의 각각의 기준 데이터 필드에서, 대응하는 기준과 관련된 개별 점수를 나타내는 데이터가 후보 관심 지점에 대해 생성되며, 키워드에 대해, 개별 점수는 정보와 후보 관심 지점의 이름을 설명하는 하나 이상의 단어 사이의 유사성을 기반으로 결정되고, 지역에 대하여, 개별 점수는 사용자의 위치를 포함하는 제1 지리적 지역과 후보 관심 지점을 포함하는 제2 지리적 지역 간의 근접성을 기반으로 결정되며, 빈도에 대하여, 하나 이상의 과거 데이터 기록에서 운송 관련 서비스에 대응하는 과거 데이터를 기반으로, 개별 점수가 후보 관심 지점이 과거에 과거의 운송 관련 서비스를 위해 요청된 위치로 선택된 횟수를 기반으로 하여 결정되고, 시간에 대하여, 하나 이상의 과거 데이터 기록에서 운송 관련 서비스에 대응하는 과거 데이터-여기서 과거 데이터는 사용자와 연관됨-를 기반으로, 개별 점수는 정의된 시간에 사용자가 요청한 위치로 선택된 후보 관심 지점의 확률에 따라 결정되며, 거리에 대하여, 개별 점수는 사용자의 위치와 후보 관심 지점 간의 거리를 기반으로 결정된다. 278에서, 각각의 후보 데이터 필드에 대하여, 결과 점수가 개별 점수를 기반으로 대응하는 후보 관심 지점에 대해 생성된다. 280에서, 결과 점수를 나타내는 데이터가 처리된다. 282에서, 사용자 통신 장치에 의한 수신을 위해, 복수의 후보 관심 지점을 표시하기 위해, 결과 점수를 나타내는 데이터 처리 결과에 따라, 복수의 후보 관심 지점을 나타내는 데이터가 사용자 통신 장치를 통해 전송된다. 다양한 실시예에서, 전송될 복수의 후보 관심 지점을 나타내는 데이터에 대해, 복수의 후보 관심 지점은 처리 결과에 따라 이미 정렬될 수 있다.
다양한 실시예에서, 280에서, 결과 점수를 나타내는 데이터에 기반하여, 하나 이상의 데이터 레코드에서, 복수의 후보 관심 지점에 대한 결과 점수에 따라, 복수의 후보 관심 지점의 순서를 나타내는 순위 데이터가 생성될 수 있고, 282에서, 복수의 후보 관심 지점을 나타내는 데이터가 복수의 후보 관심 지점의 표시를 위해 순위 데이터에 따라 순서대로 사용자 통신 장치를 통해 전송될 수 있다. 다양한 실시예에서, 전송될 복수의 후보 관심 지점을 나타내는 데이터에 대해, 복수의 후보 관심 지점은 순위 데이터에 따라 이미 정렬되어 있을 수 있다.
다양한 실시예에서, 280에서, 결과 점수를 나타내는 데이터를 기반으로, 그리고 복수의 후보 관심 지점 중 각각의 후보 관심 지점에 대해, 결과 점수는 요청된 위치에 대한 후보 관심 지점의 관련성을 나타내는 임계값과 비교될 수 있으며, 282에서, 임계값 이상으로 결정된 결과 점수를 갖는 후보 관심 지점을 나타내는 데이터가 전송될 수 있다.
다양한 실시예에서, 278에서, 결과 점수가 개별 점수의 가중된 합계에 의해 생성될 수 있다.
다양한 실시예에서, 적어도 2개의 기준은 지역을 포함할 수 있고, 지역에 대한 개별 점수가 제1 지역 및 제2 지역이 상이한 국가에 있음을 나타내는 것으로 결정되는 것에 응답하여, 방법은 후보 관심 지점을 제외하는 단계를 더 포함할 수 있다.
다양한 실시예에서, 274에서, 각각의 후보 데이터 필드에 대해, 각각의 기준 데이터 필드는 키워드, 지역, 인기도, 시기 및 거리 중 적어도 3개의 기준에 대해 생성될 수 있다.
다양한 실시예에서, 274에서, 각각의 후보 데이터 필드에 대해, 각각의 기준 데이터 필드는 키워드, 지역, 인기도, 시기 및 거리 중 적어도 4개의 기준에 대해 생성될 수 있다.
다양한 실시예에서, 정보가 출발지 위치로서 요청된 위치를 적어도 부분적으로 설명하는 것에 응답하여, 274에서, 각각의 후보 데이터 필드에 대해, 각각의 기준 데이터 필드는 키워드, 지역, 인기도, 시기 및 거리의 모든 기준에 대해 생성될 수 있다.
다양한 실시예는 ds송 관련 서비스에 대한 하나 이상의 관심 지점을 통신 서버 장치(예를 들어, 202e, 도 2e)가 있는 사용자에게 추천하기 위한 통신 시스템을 더 제공할 수 있고, 적어도 하나의 사용자 통신 장치 및 통신 네트워크 장비는 서로를 통해 서로 통신을 구축하도록 통신 서버 장치 및 적어도 하나의 사용자 통신 장치에 대해 동작 가능하며, 적어도 하나의 사용자 통신 장치는 제1 프로세서 및 제1 메모리를 포함하고, 적어도 하나의 사용자 통신 장치는 제1 프로세서의 제어 하에 제1 메모리 내에서 제1 명령을 실행하도록 구성되며, 제1 명령은, 처리를 위해 통신 서버 장치에 의한 수신을 위해, 사용자의 위치를 나타내는 제1 데이터 필드 및 사용자에 의해 입력된 정보를 나타내는 입력 데이터를 갖는 제2 데이터 필드를 포함하는 사용자 데이터를 전송하는 명령이고, 정보는 운송 관련 서비스에 대한 출발지 위치 또는 목적지 위치로서 사용자가 요청한 위치를 적어도 부분적으로 설명하며, 통신 서버 장치는 제2 프로세서 및 제2 메모리를 포함하고, 통신 서버 장치는, 제2 프로세서의 제어 하에, 제2 메모리 내에서 제2 명령을 실행하도록 구성되며, 제2 명령은, 적어도 하나의 사용자 통신 장치에 의해 전송된 사용자 데이터를 나타내는 데이터를 수신하는 것에 응답하여, 입력 데이터에 기반하여 대응하는 복수의 후보 관심 지점에 대한 데이터를 갖는 복수의 후보 데이터 필드를 포함하는 하나 이상의 데이터 레코드를 생성하는 명령, 하나 이상의 데이터 레코드 내에, 복수의 후보 데이터 필드의 각각의 후보 데이터 필드에 대해, 키워드, 지역, 빈도, 시간 및 거리 중 2개 이상의 기준에 대하여 각각의 기준 데이터 필드를 생성하는 명령, 각각의 기준 데이터 필드들의 각각의 기준 데이터 필드에서, 후보 관심 지점에 대한 대응하는 기준과 관련된 개별 점수를 나타내는 데이터를 생성하는 명령-여기서 키워드에 대하여, 개별 점수는 정보와 후보 관심 지점의 명칭을 설명하는 하나 이상의 단어 간의 유사성을 기반으로 결정되며, 지역에 대하여, 개별 점수는 사용자의 위치를 포함하는 제1 지리적 지역과 후보 관심 지점을 포함하는 제2 지리적 지역 간의 근접성을 기반으로 결정되고, 빈도에 대하여, 하나 이상의 과거 데이터 기록에서 운송 관련 서비스에 대응하는 과거 데이터를 기반으로, 개별 점수는 후보 관심 지점이 과거의 운송 관련 서비스와 관련하여 과거에 요청된 위치로 선택된 횟수에 따라 결정되며, 시간에 대하여, 하나 이상의 과거 데이터 기록에서 운송 관련 서비스에 대응하는 과거 데이터-여기서 과거 데이터는 사용자와 연관됨-를 기반으로, 개별 점수는 정의된 시간에 사용자가 요청한 위치로 선택된 후보 관심 지점의 확률에 따라 결정되고, 거리에 대하여, 개별 점수는 사용자의 위치와 후보 관심 지점 간의 거리를 기반으로 결정됨-, 각각의 후보 데이터 필드에 대해, 개별 점수를 기반으로 대응하는 후보 관심 지점에 대한 결과 점수를 생성하는 명령, 결과 점수를 나타내는 데이터를 처리하는 명령, 및 사용자 통신 장치에 의한 수신을 위해, 복수의 후보 관심 지점의 표시를 위해 복수의 후보 관심 지점을 나타내는 데이터를 결과 점수를 나타내는 데이터 처리 결과에 따라 사용자 통신 장치를 통해 전송하는 명령이다.
통신 서버 장치(202e)의 맥락에서의 설명, 흐름도(270)의 맥락에서 설명된 바와 같은 방법, 및 위에서 설명된 대응하는 통신 시스템이 서로에 적용될 수 있다는 것을 이해해야 한다.
통신 서버 장치(202e)의 맥락에서 전술한 기술, 흐름도(270)의 맥락에서 설명된 방법, 및 전술한 대응하는 통신 시스템은 아래에서 더 설명될 동작/시나리오 "검색"에 대응할 수 있다. 또한, 전술한 기술은 "제안" 시나리오 이후에, 예를 들어, "제안" 시나리오에서 얻은 결과가 사용자가 운송 관련 서비스를 요청하거나 예약하는 것에 있어서 기대한 것에 대하여 만족스럽지 않은 경우, 순차적으로 수행될 수 있다.
도 2h는 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에게 추천하기 위한 통신 서버 장치(202h)를 예시하는 개략적인 블록도를 도시하며, 통신 서버 장치(202h)는 통신 서버 장치(202a)로서 구성되고, 통신 서버 장치(202c) 또는 통신 서버 장치(202e) 중 적어도 하나로 더 구성된다.
통신 서버 장치(202h)는 통신 서버 장치(202a)로 구성될 수 있고, 이어서(순차적으로), 통신 서버 장치(202c)로 더 구성된다. 통신 서버 장치(202h)는 이어서(순차적으로) 통신 서버 장치(202e)로 더 구성될 수 있다. 통신 서버 장치(202h)는 이어서(순차적으로) 사용자의 위치를 포함하는 지도를 나타내는 데이터를 검색하고, 사용자의 사용자 통신 장치에 의한 수신을 위해, 지도를 표시하기 위해 지도를 나타내는 데이터를, 지도상의 (단일) 관심 지점을 운송 관련 서비스의 추천 출발지 위치(또는 픽업 위치)로 결정하기 위해(예: 사용자의 위치를 기반으로 함), 사용자 통신 장치를 통해 사용자에 전송하도록 더 구성될 수 있다.
도 2i는, 통신 서버 장치의 프로세서의 제어 하에, 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에게 추천하기 위해 통신 서버 장치에서 수행되는 방법을 예시하는 흐름도(290)를 도시한다. 292에서, 흐름도(250)의 맥락에서 본원에 설명된 바와 같은 방법이 수행된다. 294에서, 흐름도(260)의 맥락에서 본원에 설명된 방법 또는 흐름도(270)의 맥락에서 본원에 설명된 방법 중 적어도 하나가 수행된다.
다양한 실시예에서, 흐름도(250)의 맥락에서 본원에 설명된 바와 같은 방법이 수행될 수 있고, 이어서, 흐름도(260)의 맥락에서 본원에 설명된 바와 같은 방법이 수행될 수 있다. 이어서, 흐름도(270)의 맥락에서 본 명세서에 설명된 바와 같은 방법이 수행될 수 있다. 이어서, 사용자의 위치를 포함하는 지도를 나타내는 데이터가 검색될 수 있고, 사용자의 사용자 통신 장치에 의한 수신을 위해, 운송 관련 서비스를 위한 추천 출발지 위치로서 지도 상의 관심 지점을 결정하기 위해 사용자 통신 장치를 통해 사용자에게 지도를 제시하기 위해, 지도를 나타내는 데이터가 전송될 수 있다.
다양한 실시예는 운송 관련 서비스에 대한 하나 이상의 관심 지점을 통신 서버 장치(예: 202h, FIG. 2h)가 있는 사용자에게 추천하기 위한 통신 시스템을 더 제공할 수 있고, 적어도 하나의 사용자 통신 장치는 프로세서 및 메모리를 포함하며, 통신 네트워크 장비는 통신 서버 장치 및 적어도 하나의 사용자 통신 장치를 통해 서로 통신을 설정하도록 동작 가능하고, 통신 서버 장치는 통신 서버 장치(202a)로 구성되며, 적어도 하나의 사용자 통신 장치는, 프로세서의 제어 하에, 메모리 내에서 명령을 실행하도록 구성되고, 명령은, 처리를 위해 통신 서버 장치에 의한 수신을 위해, 사용자의 위치를 나타내는 데이터 필드를 포함하는 사용자 데이터를 전송하는 명령이며, 통신 서버 장치는 통신 서버 장치(202c) 중 적어도 하나로 더 구성되고, 적어도 하나의 사용자 통신 장치는, 프로세서의 제어 하에, 메모리 내에서 명령을 실행하도록 더 구성되며, 명령은, 처리를 위해 통신 서버 장치에 의한 수신을 위해, 위치를 나타내는 제1 데이터 필드 및 목적지 위치에 대응하는 사용자 요청을 나타내는 제2 데이터 필드를 포함하는 사용자 데이터를 전송하는 명령이고, 또는, 통신 서버 장치(202e)이며, 적어도 하나의 사용자 통신 장치는 프로세서의 제어 하에 메모리에서 명령을 실행하도록 더 구성되며, 명령은, 처리를 위해 통신 서버 장치에 의한 수신을 위해, 사용자의 위치를 나타내는 제1 데이터 필드 및 사용자에 의해 입력된 정보를 나타내는 입력 데이터를 갖는 제2 데이터 필드를 포함하는 사용자 데이터를 전송하는 명령이고, 정보는 운송 관련 서비스에 대한 출발지 위치 또는 목적지 위치로 사용자에 의해 요청된 위치를 적어도 부분적으로 설명한다.
흐름도(250, 260, 270, 290)의 맥락에서 본원에 설명된 방법 중 적어도 하나를 구현하기 위한 명령을 갖는 컴퓨터 프로그램 제품이 또한 제공될 수 있다.
흐름도(250, 260, 270, 290)의 맥락에서 본원에 설명된 방법 중 적어도 하나를 구현하기 위한 명령을 갖는 컴퓨터 프로그램이 제공될 수도 있다.
프로세서에 의해 실행될 경우, 프로세서가 흐름도(250, 260, 270, 290)의 맥락에서 본원에 설명된 방법 중 적어도 하나를 수행하게 하는 명령을 저장하는 비일시적 저장 매체가 더 제공될 수 있다.
다양한 실시예의 맥락에서, 과거 데이터는 하나 이상의 (과거) 데이터 레코드에 저장될 수 있다.
다양한 실시예의 맥락에서, 과거 데이터는 하나 이상의 데이터베이스에 저장될 수 있다.
다양한 실시예의 맥락에서, 과거 데이터는 미리 결정된 기간 동안의 (저장된) 과거 데이터, 예를 들어, 지난 30일의 과거 데이터일 수 있다.
다양한 실시예의 맥락에서, 사용자 통신 장치는 스마트폰, 태블릿, 핸드헬드/휴대용 통신 장치, 데스크탑 또는 랩톱 컴퓨터, 터미널 컴퓨터 등을 포함할 수 있지만 이에 제한되지 않는다.
다양한 실시예의 맥락에서, 운송 관련 서비스는 라이드 헤일링 운송 서비스를 포함하거나 라이드 헤일링 운송 서비스일 수 있다. 이는, 예를 들어, 자동차 헤일링 및 (모터) 자전거 헤일링 서비스가 포함될 수 있다.
다양한 실시예의 맥락에서, 운송 관련 서비스는 하나 이상의 자율 차량을 포함할 수 있다.
다양한 실시예의 맥락에서, "앱" 또는 "애플리케이션"은 사용자 통신 장치에 설치될 수 있고 장치에서 실행하기 위한 프로세서 실행 가능 명령을 포함할 수 있다. 비제한적인 예로서, 운통 관련 서비스의 예약은 앱을 통해 수행될 수 있다.
다양한 실시예 또는 기술이 이제 상세하게 더 설명될 것이다. 다양한 실시예는 앱 측(프론트엔드) 및 서버 측(백엔드)으로서 클라이언트 측을 포함할 수 있다.
본원에 개시된 기술의 운송 서비스는 운전자를 매칭하고, 경로를 계획하며, 요금을 계산하기 위해 사용자의 픽업 및 하차를 요구할 수 있다. POI 서비스는 사용자의 위치에 따라 픽업 및 하차를 추천하는 역할을 한다.
POI 서비스 품질을 측정하는 하나의 방법은 픽업 및 하차에 적합한 POI를 찾기 위해 고객(사용자) 측에서 얼마나 많은 노력을 절약할 수 있는지이다. 다양한 실시예의 POI 서비스는, 도 3a 내지 도 3d에 도시된 바와 같이, 부킹 플로우에서 4가지 주요 액션 또는 시나리오를 포함할 수 있다. 이러한 시나리오에는 "예측," "제안," "검색" 및 "ReverseGeo"가 포함된다.
"예측" 시나리오와 관련하여, 도 3a를 참조하면, 사용자 또는 승객(PAX)이 대응하는 앱을 열 때, 앱은 POI 예측 엔드포인트를 호출하여 Pax 기록 데이터 및 현재 위치를 기반으로 예측된 픽업 POI 및 예측된 하차 POI를 가져온다. 도 3a에서, 비제한적인 예로서, 예상 픽업 POI(270)는 "Setiabudi Residence"로 도시된다.
다양한 실시예에서, Predict 액션은 앱을 여는 시점에서 수행된다. "예측" 작업은 항상 수행되며 항상 앱을 열거나 예약 주문을 할 때 수행되는 제1 작업이다.
"제안" 시나리오와 관련하여, 도 3b를 참조하면, 예를 들어, 예상 결과가 예상과 다를 때, Pax는 입력 상자(271)를 클릭할 수 있고, 앱은 POI 제안 엔드포인트를 호출하여 Pax 과거 데이터, 현재 위치 및 도시 인기 POI를 기반으로 하는 POI의 제안 목록(272)을 얻는다.
"검색" 시나리오와 관련하여, 도 3c를 참조하면, 예를 들어, 제안된 결과가 예상과 다를 때, Pax는 예를 들어 하나 이상의 키워드(273)를 입력하여 정보를 입력할 수 있고, 앱은 키워드(들)를 기반으로 하는 POI의 일치 목록(274)를 얻기 위해 POI 검색 엔드포인트를 호출한다.
"ReverseGeo" 시나리오와 관련하여, 도 3d를 참조하면, 예를 들어, 제안/검색 결과가 예상과 다를 때, Pax는 지도(275)로 이동하여 PIN(276)을 이동하여 POI ReverseGeo 엔드포인트를 호출하여 POI를 찾을 수 있다.
각각의 POI 예측, 제안, 검색 및 ReverseGeo 엔드포인트는 (예를 들어, 통신 서버 장치에서) 서버 측에 위치할 수 있거나, 또는, 즉, 예측, 제안, 검색 및 ReverseGeo 시나리오와 관련된 처리는 서버 측에서 수행될 수 있으며 결과는 앱 측에서 사용자에게 반환된다. 앱 측에서는 처리를 위해 Pax ID, 위도, 경도 중 하나 이상을 포함하는 정보를 제공할 수 있다.
요약하면, 위의 동작 또는 시나리오는 픽업 및/또는 하차에 대한 원하는 POI를 검색하기 위해 사용자에게 순서대로 제공되거나 표시될 수 있다. 사용자가 화면을 클릭해야 하는 횟수가 적을수록 예약 주문을 생성하기 위해 POI를 더 쉽게 얻을 수 있다. 전체 운송 서비스에 대한 예약 주문 생성의 일환으로, POI 서비스는 고가용성과 안정성이 필요하며 시스템에 많은 문제를 일으킬 수 있다. 첫째, 하나의 문제는 응답 시간 측면에서 전체 서비스를 안정적으로 유지하면서 일일 피크 시간에 버스트하는 동시 요청을 처리하는 방법이다. 한편으로, 이를 위해서는 적절한 수의 서버(예: 클라우드 서버)가 하루에 다른 시간대에 구성되도록 머신의 자동 스케일링이 필요하다. 다른 한편으로, 일부 오류가 고가용성을 보장하기 위해 전체 서비스에 영향을 미치지 않도록, 각각의 동시 요청에 대한 리소스는 리소스가 적절하게 할당된 독립 스레드에서 관리되어야 한다. 둘째, 또 다른 과제는 POI 서비스의 목표가 사용자가 원하는 픽업 및/또는 하차를 얻는 데 필요한 노력을 절약하는 것이기 때문에 고객이 원하는 것을 보다 정확하게 달성할 수 있는 더 나은 추천 성능을 제공하기 위해 많은 양의 과거 데이터를 사용하는 방법이다.
이러한 문제를 해결하고 POI 서비스를 고가용성 및 안정적으로 유지하기 위해 아래에 설명된 대로 일부 기술이 사용될 수 있다.
·Elasticsearch가 POI 데이터를 저장하고 POI 쿼리를 실행하는 데 활용되었다. Rtree, k-d 트리 또는 다양한 쿼리를 가능하게 하는, 이동 물체에 대한 특정과 같은 대용량 기하 데이터의 관리를 위해 다양한 인덱스가 제안되었다. 널리 사용되는 또다른 인덱스 방법은 지리적 위치를 문자와 숫자의 짧은 문자열로 인코딩하고 가까운 장소가 유사한 접두사를 공유하도록 하는 Geohash이다. 다양한 실시예에서, 내부 공급자는 탄력적 검색을 사용하여 POI 데이터를 저장한다. 사용자 위치 요청(예: 위도 및 경도로 설명)이 도착하면, 탄력적 검색은 Geohash를 사용하여 다음 단계 처리를 위해 지정된 위치에 가까운 상위 POI를 반환한다. 단일 시스템에서 페타바이트 규모의 데이터가 포함된 수백 대의 서버로 수평 확장이 가능하다. 수십억 개의 POI 데이터로 안정적인 응답 시간을 유지하기 위해, 주요 검색 표현의 시간 비용을 분석하고 특정 최적화를 위해 병목 현상이 결정될 수 있다.
·Redis는 데이터베이스, 캐시, 메시지 브로커 및 대기열로 사용하기 위한 빠른 오픈 소스 인메모리 데이터 저장소이다. Redis는 서버 측, 예를 들어, 통신 서버 장치에 위치할 수 있다. 다양한 실시예에서, Amazon Elasticache는 Redis가 POI 데이터를 캐시하고 다양한 시나리오/애플리케이션 요구 사항에 따라 다양한 방식으로 캐시 키를 생성하도록 조정될 수 있다. 이는 후방에 있는 데이터베이스가 처리할 수 있는 초당 쿼리(QPS) 값을 제어하는 데 도움이 될 수 있다. Redis는 일반적으로 mySQL, dynamoDB 및 ElasticSearch와 같은 관련 데이터베이스보다 먼저 위치한다는 점을 이해해야 한다. 일반적으로, 서버 측(백엔드)의 로직은 관련 데이터베이스에서 응답을 받을 때 Redis에 요청 결과를 쓸 수 있다. 다음에 동일한 요청이 발생하면, 대신에 Redis에서 직접 응답을 받을 수 있다.
·전체 백엔드 아키텍처는 Golang에서 구현된다. 병렬 처리가 고루틴(goroutine)과 채널을 기반으로 하기 때문에, 각각의 http 요청이 처리할 독립적인 고루틴에 할당될 수 있다. 이들 중 일부가 공황 상태에 빠지더라도 전체 프로세스에 영향을 미치지 않을 수 있다. 고루틴은 매우 단순하고 시작 및 중단이 쉽기 때문에 Golang은 다양한 구현을 위한 백엔드 언어로서의 안정성 측면에서 다른 언어보다 성능이 뛰어나다.
·방대한 양의 과거 데이터를 분석한 후, 다양한 시나리오/애플리케이션에서 합리적인 POI 점수를 제공할 수 있는 순위 모델이 도출되었다. 새로운 사용자에게 고객 경험을 제공하거나 보장하기 위한 대체를 통해 "콜드 스타트(Cold start)" 문제도 해결되었다.
본원에 개시된 기술에 대한 Golang 기반 POI 서비스는 온라인 POI 추천 및 검색, 다양한 시나리오에서의 POI 추천, 서비스의 일부 결과를 지원하는 아키텍처를 포함하여 아래에서 자세히 설명한다.
멀티코어 프로세서가 이미 출시된 2009년에 출시된 언어로, "Go"는 동시성을 위해 제작되었다. Java의 힙(heap)에서 약 1MB의 메모리를 소비하는 스레드 대신, Go에는 수백만 개의 고루틴이 회전할 수 있도록 약 2KB 메모리를 사용하는 고루틴이 있다. 또한, 고루틴은 이들 사이에서 안전하게 통신하고 뮤텍스 잠금(mutex locking)의 사용을 피하기 위한 채널과 함께 제공된다. Go는 C/C++와 같은 컴파일 언어이다. 또한 가비지 수집을 사용하여 Java와 같은 객체를 할당 및 제거한다. 이는 자바 VM 단계의 바이트 코드 해석을 방지할 수 있고, C/C++와 같은 언어에서 변수를 해제하고 할당하는 수고를 방지할 수 있기 때문에, 하드웨어에서 실행 속도를 보장할 수 있다. Go는 양호하고 안정적인 구문을 가지고 있다. 이는 Go로 작성된 코드를 쉽게 유지 관리할 수 있게 한다. Go에는 클래스도 종속도 없다. 개발자는 코드를 용이하게 이해할 수 있고 다른 코드 부분은 서로 깊이 영향을 미치지 않는다. 또한, 개발자는 동일한 코드 기반에서 함께 작업할 수 있다.
마이크로 서비스는 애플리케이션을 느슨하게 결합된 서비스 모음으로 구성하는 소프트웨어 개발 기술이다. 마이크로 서비스 아키텍처에서, 서비스는 세분화되고 프로토콜은 간단하다. POI 서비스는 다양한 실시예에서 전체 시스템에서 하나의 마이크로서비스이다. 확대해서 보면, POI와 같은 마이크로 서비스는, 예를 들어, http 서버 계층(472), 로직 계층(474) 및 데이터베이스 계층(476)을 갖는, 계층 기반 웹 서비스 구조(470)를 도시하는, 도 4와 같은, 다계층 서비스 구조를 사용한다. 계층(472)의 http 서버는 로드 균형 방식으로 사용자 측에서 로직 계층(474)으로 http 요청을 보내는 역할을 한다. 로직 계층(474)은 http 요청에 따라 처리 로직을 실행하는 역할을 한다. 로직 처리와 관련된 모든 데이터는 데이터베이스 계층(476)에 저장될 수 있다. 로직 계층(474)의 컴퓨팅 리소스가 부족할 때, 비제한적인 예로 아마존의 ASG(Auto Scaling Groups)와 같은 수평적 스케일링이 널리 사용될 수 있다. 로직 계층(474)과 데이터 계층(즉, 데이터베이스 계층(476))이 절대적으로 분리되기 때문에, 특정 논리 계층 인스턴스의 오류는 사용자 데이터의 손상 또는 누락으로 이어질 가능성이 낮다. 다양한 실시예의 POI 서비스는 이러한 서비스 아키텍처를 따른다.
분산 시스템의 경우, 해당 CAP(일관성(consistency), 가용성(availability) 및 and 허용 오차(partition tolerance))가 동시에 충족되지 않을 수 있으므로, 웹 서비스는 연쇄적인 중단를 멈추고 중단이 불가피한 복잡한 분산 시스템에서 회복력을 발휘할 수 있어야 한다. POI 서비스의 경우, 비제한적인 예로서, Hystrix는 회로 차단기를 설정하여 응답하는 서비스의 응답 시간을 활성화하거나 보장하는 데 사용될 수 있다.
로직 계층은 데이터 계층의 사용자 데이터를 자주 요구하기 때문에, 캐시는 버스트 워크로드(burst workload)로 인해 후방에 있는 데이터베이스가 다운되지 않도록 보호하고 각 요청의 응답 시간을 단축하는 데 널리 사용될 수 있다. 두 가지 방법이 사용될 수 있다: 하나는 데이터베이스 계층 이전에 캐시 계층을 설정하는 것이고, 다른 하나는 각각의 논리 인스턴스의 메모리에 개별 캐시를 설정하는 것이다. 다양한 실시예의 POI 서비스를 위해, Redis는 데이터베이스 계층 이전에 캐시로 적용되며 다양한 시나리오/애플리케이션 요구 사항에 따라 캐시 키 및 만료 시간을 설정한다. 예를 들어, Redis용 Amazon Elasticache를 사용하면 캐시 모듈을 처음부터 설정하는 것과 비교하여 탄력적인 확장을 제공할 수 있으며 가동 중지 시간이 거의 없거나 최소화되어 서비스 안정성 측면에서 도움이 될 수 있다.
이제 다양한 실시예의 온라인 POI 추천에서 캐시의 사용 뿐만 아니라 POI 서비스 아키텍처가 다음의 비제한적인 예를 통해 설명될 것이다.
도 5는 POI 서비스를 위한 시스템(570)의 개요를 예시하는 개략도를 도시한다. POI 시스템(570)은 4개의 구성요소로 분할될 수 있다: 최초로, API(571a)는, 미들웨어 계층(571b)의 결과가 있는, 4가지 POI 사용자 시나리오(예: 예측, 제안, 검색 및 ReverseGeo)를 지원하는 계층이다. 둘째, 디스패처(571c)는 http 요청을 제공자(571d)에 디스패치한다. 셋째, 제공자(571d)는 POI 제공자(예: 내부 제공자(572a) 및/또는 외부 제공자(572b))로부터 POI를 가져와 미들웨어 레이어(571b)에 반환하는 레이어이다. 넷째, 미들웨어(571b)는 제공자 계층(571d)에서 반환된 POI를 처리하는 계층이다. API 계층(571a), 미들웨어 계층(571b), 디스패처(571c) 및 제공자 계층(571d)은 서버 측(예: 통신 서버 장치)에 위치할 수 있다. API 계층(571a), 미들웨어 계층(571b) 및 제공자 계층(571d)에 대해서는 후술한다.
·API 571a: 4개의 엔드포인트가 있다: 예측, 제안, 검색 및 ReverseGeo. 예측 및 제안은, Pax 30일의 과거 데이터를 기반으로 Predictor DB라는 MySQL DB에 저장될 수 있는, Pax의 과거 데이터를 기반으로 한다. 사용자 또는 승객이 대응하는 앱을 열면, 앱은 POI 예측 엔드포인트를 호출하여 Pax(사용자) 과거 데이터와 사용자의 현재 위치를 기반으로 예측된 픽업 POI 및/또는 예측된 하차 POI를 얻는다. Predict 결과가 예상과 다를 때, Pax가 앱에서 입력 상자를 클릭하고, 앱은 POI 제안 엔드포인트를 호출하여 기록 데이터, 사용자 현재 위치 및 도시의 빈도가 높은 POI(즉, 픽업 POI 및/또는 하차 POI에 대응하는 도시의 인기 POI)를 기반으로 POI 제안 엔드포인트를 호출한다. 제안 결과가 예상과 다를 때 Pax는 키워드를 입력하고, 앱은 키워드를 기반으로 일치하는 POI 목록을 얻기 위해 POI 검색 엔드포인트를 호출한다. 제안 결과가 예상과 다를 경우, Pax는 지도로 이동하여 PIN을 이동하여 POI ReverseGeo 엔드포인트를 호출하여 POI를 찾을 수 있다. 다양한 실시예의 맥락에서, "엔드포인트" 라는 용어는 코드에서 호출될 수 있는 모듈을 의미하거나 참조할 수 있다. 그러한 모듈은 명령 세트를 포함할 수 있다.
·미들웨어 571b: 상이한 제공자(571d)로부터 수신된 POI의 장소 ID(식별자 또는 식별)를 균일한 형식의 고유한 것으로 정규화하는 기능, 입력 POI에서 잘못된 POI를 블랙리스트에 추가하는 기능, 입력 POI에서 중복 POI를 제거하는 기능, 및 일부 필드를 기반으로 입력 POI에 대한 순위를 부여(Predict 및 reverseGeo는 하나의 POI만 반환하므로 순위를 지정할 필요가 없음)하고 제안 및 검색 엔드포인트 모두에 대한 응답에서 결과를 얻는 기능과 같은 기능이 있는 여러 미들웨어가 있다.
·미들웨어 571d: Pax 위치를 기준으로, 대응하는 도시와 관련된 데이터가 얻어질 수 있으며, 관련 도시 구성이 사용될 수 있다. 어떤 공급자를 사용해야 하는지 결정하기 위해 도시마다 구성이 다를 수 있다. 일반적으로, 2~3개의 제공자 그룹이 있을 수 있으며, 동일한 그룹에서, 검색 요청이 이러한 공급자에게 병렬로 전송될 수 있다. 동일한 그룹(예: 제1 그룹)의 모든 제공자가 실패하거나 응답이 없는 경우, 제2(또는 후속) 공급자 그룹에 요청을 송신한다. 비제한적인 예로서, 그리고 구성에 따라, 내부 제공자(572a) 및 Google(외부 제공자(572b))은 제1 그룹으로, Foursquare(외부 제공자(572b))는 제2 그룹으로, 나머지 제공자(들)는 제3 그룹으로 설정될 수 있다.
온라인 POI 추천 캐시와 관련하여, 도 5에서 볼 수 있는 바와 같이, 캐시는 API 계층(571a), 미들웨어 계층(571b) 및 제공자 계층(571d)의 3개 계층에 배치될 수 있다. 캐시 설정은 이제 아래에서 자세히 설명한다.
간단히, API 계층(571a)은 요청을 전송하고, 디스패처 계층(571c)은 요청을 제공자(571d)로 전송한다. 제공자(571d)는 결과를 되돌려 보낸다. 미들웨어(571b)는 바라는 또는 원하는 것을 얻기 위해 결과를 처리한다. 마지막으로, 결과는 사용자에게 반환된다. 캐시와 데이터베이스는 POI 추천을 위해 과거의 요청과 결과를 저장하는 데 사용될 수 있다.
·API 계층 571a: http 요청이 (예를 들어, 서버(573)로부터) API 계층(571a)으로 들어올 때, 제1 캐시 계층은 전체 URL을 캐시 키로 사용하는 http 캐시(574)이고, 캐시의 TTL(time-to-live)은, 예를 들어, 30초로 설정될 수 있다. 이 캐시 설정은 검색 시나리오에 대해 동일한 위치에서 근처 사용자의 중복 시도에 사용될 수 있다(도 3c 및 대응하는 설명 참조). 제안(도 3b 및 해당 설명 참조) 및 검색은 모두 이전 요청에 응답 결과를 저장하기 위해 거리 캐시(577)를 사용한다. Suggest는 PaxID(또는 사용자 ID) 및 장소(들)(또는 위치(들))(예: 위도(lat), 경도(lng) 형식)를 키로 사용한다. 검색은 입력된 키워드와 장소(위도/경도)를 키로 사용한다. 캐시(577)의 TTL(time-to-live)은, 예를 들어, 하루로 설정될 수 있다. 이는 동일한 영역에 있는 사용자가 응답을 공유할 수 있게 한다. "time-to-live"라는 용어는 캐시에 있는 데이터의 유효한 시간을 의미할 수 있다. 잘못된 데이터는 더 이상 사용될 수 없다.
예측자 캐시(576)라는 또 다른 캐시가 있는데, 예측자 DB(즉, 데이터베이스 저장소)(578)에 대한 각각의 요청의 픽업 또는 하차가 저장될 수 있다. 지난 30일의 과거 데이터는 아래에서 더 논의되는 바와 같이 예측 및 제안을 위해 예측자 DB(578)에 저장될 수 있다. 예측자 DB(578)에 대한 요청이 예측자 캐시(576)에 의해 응답될 수 있는 경우, 후방의 데이터베이스(예: 예측자DB(578))를 쿼리할 필요가 없다.
http 캐시(574)와 예측자 캐시(576)와 거리 캐시(577) 사이에서, 서버 그룹이 있을 수 있다(예: 2개의 서버는 575a, 575b로 표시됨).
예측자 DB(578)는 마이크로서비스의 데이터베이스 계층(예를 들어, 도 4의 데이터베이스 계층(476))에 위치할 수 있다. 일반적으로, 로직 계층(474)은 예측자 캐시 계층(576)을 먼저 방문한다. 누락이 발생하면, 예측자 DB(578)를 방문하거나 액세스한다.
예측자 DB(578) 및 예측자 캐시(576)는 서버측에, 예를 들어, 통신 서버 장치에 위치한다.
·제공자 계층 571d: 요청이 제공자 계층(571d)으로 들어올 때, 먼저 응답을 얻기 위해 각각의 공급자의 캐시(예: 내부 공급자 캐시(581), Google 캐시(583a), Foursquare 캐시(583c) 및 "다른"(또는 "기타") 캐시(583b)(여기서 "다른"은 하나 이상의 다른 특정 공급자를 의미할 수 있음)를 적중하려고 시도한다. 하나 또는 모든 외부 공급자(예: Google 583a, Foursquare 583c 및 583b 등)의 TTL은 여러 날이 될 수 있다. 내부 제공자(572a)로부터의 데이터를 저장하는 내부 제공자 캐시(581)의 TTL은 10분일 수 있다. 이는 내부 제공자(572a)의 POI 데이터(예: 발견된 POI의 추가 및/또는 업데이트와 관련됨)가 더 자주 업데이트될 수 있고 새로운 POI 데이터가 더 짧은 TTL로 더 즉각적으로 적용될 수 있기 때문일 수 있다. TTL 시간은 업데이트 빈도에 따라 가변적일 수 있음을 이해해야 한다. 또한, 도 5에는 내부 제공자(572a)에 대응하는 데이터베이스 저장소(582)와 외부 제공자 Google, "기타" 및 Foursquare에 대응하는 클라우드 서버(584a, 584b, 584c)가 도시되어 있다.
·미들웨어 계층 571b: 반환된 POI를 처리하기 위해 제공자(571d)의 응답이 미들웨어(571b)에 들어오면, 미들웨어 기능을 처리하는 데 도움이 되는 다양한 캐시도 있다. 예를 들어, 범용 캐시(예: 세부 정보 캐시(579c))는 Elastic 검색에 저장되고, POI 상세 캐시(579c)에 POI 상세 설명(예: POI 이름, 카테고리, 위치 등)이 포함되어 있으므로 TTL은 하루가 될 수 있다. POI가 블랙리스트에 포함되었는지 여부에 대한 POI 상태를 저장하기 위해 하루로 설정된 TTL을 가질 수 있는 메타 캐시(579a)가 있을 수 있다. 또한, 요청에 대한 순위 및 입구 정보를 저장하기 위해, 순위(579d) 및 입구(579b)에 대한 각각의 캐시가 있을 수 있다. 예로서, "입구"는 대형 쇼핑몰, 공항 등 대규모 공공시설이 차량에 탑승하거나 하차할 수 있는 장소를 표시한다. 이러한 장소의 정확한 픽업 및 하차에 대한 입구 정보는 양쪽 모두의 고객 경험을 크게 향상시킬 수 있다.
또한, 도 5에는 메타 캐시(579a), 입구 캐시(579b), 상세 캐시(579c)에 각각 대응하는 데이터베이스 저장소(580a, 580b, 580c)가 도시되어 있다.
전반적으로, 서버는 요청(들)을 처리할 수 있다. 캐시는 데이터베이스로 가는 너무 많은 요청을 피하기 위해 결과를 저장할 수 있다. 데이터베이스 저장소는 사용자 데이터를 저장할 수 있다. 공급자의 클라우드 서버는 클라우드 서버로 전송된 요청에 응답할 수 있다.
다양한 실시예의 온라인 POI 추천은 이제 다음의 비제한적인 예를 통해 더 설명될 것이다.
다양한 실시예에서, reverseGeo는 이동된 PIN에 따라 POI를 반환한다.
다양한 실시예에서, 시나리오에서의 POI 추천은 과거 데이터를 기반으로 예측, 검색 및 제안이 수행될 수 있다. POI 서비스의 목표가 사용자가 원하는 픽업 및/또는 하차를 얻는 데 필요한 수고를 절약하는 것이므로 사용자 또는 고객이 원하는 것을 더 정확하게 맞출 수 있는 더 나은 추천 성능을 제공하기 위해 방대한 양의 과거 데이터를 사용하여 예측, 검색 및 제안이 별도로 수행될 수 있다. 제안 및 예측에 대해, 과거 데이터는 데이터베이스(예: 예측자 DB)에 저장될 수 있고, 데이터는 서로 다른 테이블에 제공되어 관리될 수 있으며, 쿼리를 통해 후보 POI를 얻을 수 있다. 검색에 대해, POI 순위에 대한 통합 점수로서 가중 합계를 계산하기 위해 여러 측면 또는 고려 사항(예: 이름 키워드, 지역, 빈도, 시간 및 거리)이 있을 수 있다. 이러한 측면은 POI 특성을 더 잘 설명하고 사용자가 대상 POI를 더 용이하게 찾는 데 도움이 될 수 있다. 알려진 기술에서 위치 유사성만 고려하는 것과 비교하면, 다양한 실시예의 이 종합 점수는 픽업 및/또는 하차로 타겟 POI를 검색하는 데 있어 사용자에게 더 나은 고객 경험을 제공할 수 있다. 가장 가능성이 높은 지점(예: 픽업 지점 포함)의 추천은 아래에 설명되어 있다.
검색
검색 시나리오에서, 사용자는 입력 또는 검색 상자에 하나 이상의 단어를 입력하고, 사용자는 서비스가 타겟 POI를 반환으로 제공하기를 기대한다. POI의 순위를 매기기 위해, 각각의 POI에 다음 요소 또는 기준 중 하나 이상에 의해 결정되는 점수가 할당될 수 있다:
·키워드:
이는 검색 키워드와 POI 명칭 사이의 점수 또는 POI 명칭의 약어를 측정한다. 각각의 POI는 여러 약어를 가질 수 있다. 비제한적인 예로서, 키워드 매칭 점수 SKeyword는 방정식 1과 같이 계산될 수 있다.
Figure pct00001
방정식(1)
여기서 SJ는 POI 명칭과 검색 키워드의 Jaccard 유사도이며, SA는 검색 키워드가 POI 명칭 또는 약어와 정확히 일치하는 경우 1을 반환하고, 그렇지 않으면 0을 반환한다.
·지역:
SRegion은 POI 지역과 Pax(또는 사용자) 지역 간의 근접성을 기반으로 점수를 측정한다. SRegion에 대한 점수는 POI 영역과 Pax 영역이 같으면 1이고 그렇지 않으면 0이다(방정식 2 참조).
Figure pct00002
방정식(2)
여기서 getRegion(.)은 임의의 위치(위도/경도)를 입력으로 받아 대응하는 위치가 있는 도시를 반환하는 함수이다. POI와 Pax가 다른 국가에 있는 경우, POI는 결과 목록에서 제외된다. 따라서, POI는 Pax와 동일한 국가에 있는 것이 보장된다.
·빈도:
SPopularity(*)는 POI가 픽업/하차로 선택된 횟수를 기반으로 POI 인기도를 평가한다. 다음과 같이 정의될 수 있다:
Figure pct00003
방정식(3)
Figure pct00004
방정식(4)
여기서 CountPickup은 이 POI가 픽업 지점으로 선택된 횟수이고, CountDropoff는 이 POI가 하차로 선택된 횟수이며, CountMax는 결과 집합의 POI가 픽업 또는 하차로 선택된 최대 횟수이다.
·시간:
POI에 대한 점수는 특정 시간에 Pax 또는 사용자가 이 POI에서 픽업 또는 하차를 할 확률을 기반으로 정의된다. 예를 들어, 오전에, 주거 지역의 POI는 승차 지점이 될 가능성이 높지만 하차 지점이 될 가능성은 낮다. POI의 픽업 및 하차 시간 분포는 오프라인으로 미리 계산될 수 있고, 따라서, POI가 승하차 지점이 될 확률은 자연스럽게 도출될 수 있다. 자세한 점수는 다음과 같이 정의될 수 있다:
Figure pct00005
방정식(5)
Figure pct00006
방정식(6)
여기서 Distri*(.)는 POI의 시간 분포이고 tQ는 Pax의 쿼리 시간이다. 비제한적인 예로서, 다양한 실시예에서, POI의 시간 분포는 지도로 구현될 수 있고(도 6 참조), 여기서 키는 시간(0:00에서 23:00까지의 시간으로 하루의 대응하는 24시간을 나타낸다. 도 6의 X축 참조) 이고, 값(도 6에서 "빈도" 참조)은 POI가 기록에서 픽업 또는 하차 지점으로 선택된 비율이며, 따라서, 주어진 또는 정의된 시간에 POI가 픽업 또는 하차 지점으로 선택된 횟수와 관련이 있다.
·거리: 이는 POI와 Pax의 위치 사이의 거리를 기반으로 점수를 측정한다. 이 요소는 픽업 검색에만 적용된다. 다음과 같이 정의된다:
Figure pct00007
방정식(7)
여기서 거리(dist)는, 예를 들어, km(킬로미터)로 측정될 수 있다.
최종 점수는 다음과 같이 가중 합계로 계산될 수 있다:
Figure pct00008
방정식(8)
여기서 가중치 인자(α1)는 기계 학습 알고리즘에 의해 결정되고, F는 위에서 식별된 요인, 즉, 키워드, 지역, 빈도, 시간, 거리의 세트이다. 이어서, 예를 들어, POI는 각각의 점수에 따라 내림차순으로 순위가 매겨질 수 있다. 추천 POI만 앱 화면에 나열되어 사용자 또는 Pax에게 표시된다.
제안
제안 시나리오에서, 픽업 및 하차에 대한 제안된 POI 목록은 대응하는 앱의 입력 상자를 클릭하여 Pax(사용자)가 얻을 수 있다. 하차는 일반적으로 Pax가 가야 하는 인기 있는 장소일 수 있으며, 픽업 및 하차는 별도로 고려될 수 있는 반면에, 픽업은 일반적으로 Pax 위치 근처의 POI일 수 있다.
·픽업:
두 가지 소스가 픽업에 사용될 수 있다.
첫째, 데이터베이스(예: 예측자 DB)가 사용될 수 있으며, 여기서 데이터베이스는 POI 선호도에 대한 테이블을 관리하여 30일의 과거 데이터를 저장할 수 있다. 데이터베이스는 과거에 Pax ID와 대응하는 픽업을 저장한다. 이를 통해 Pax ID로 과거 픽업 기록을 조회할 수 있다.
둘째, POI 서비스에는 "Nearby"라는 내부 모듈이 있을 수 있다. 이는 구성에 따라 Pax 위치(위도/경도)를 입력으로 받고 다른 제공자(예를 들어, 도 5의 제공자 계층(571d) 참조)를 호출하여 거리에 따라 가까운 POI를 반환한다. 다양한 실시예에서, 구성은 서비스가 요청을 할 때 서로 다른 공급자의 우선 순위를 정의한다. 예를 들어, 도 5를 참조하면, 내부 제공자(572a) 및 Google(외부 제공자(572b)의 일부로서)은 쿼리할 제1 제공자 그룹으로 설정될 수 있고, 만족스러운 결과가 없다면, 제2 그룹, 예를 들어, foursquare(외부 제공자(572b)의 일부로서)가 쿼리될 수 있다.
이 두 가지 소스를 고려하여, Pax의 개인적인 선호도와 Pax 위치와 POI 사이의 거리가 모두 고려될 수 있으며, 이는 제안된 픽업의 정확도를 향상시킬 수 있다.
·하차:
2개의 소스가 하차에 사용될 수 있다.
첫째, 데이터베이스(예: 예측자 DB)에서 Pax ID별로 가장 자주 사용되는 하차(MFU 하차)를 저장하는 다른 테이블이 사용될 수 있다. 이는 Pax ID별로 가장 자주 사용되는 하차를 쿼리할 수 있다.
둘째, Redis의 상위 카테고리가 사용될 수 있다. 다양한 도시에서 가장 많이 분류된 POI(예: 음식, 쇼핑몰, 공항 등)를 저장하고 도시 ID로 조회될 수 있다.
이 두 가지 소스를 고려하여, Pax의 개인적인 선호도와 다른 사람들의 공통적인 선호도가 모두 제안될 수 있으며, 이는 제안된 하차의 정확도를 향상시킬 수 있다.
예측
예측 시나리오에서, 예약 주문을 작성하기 위해 예상 픽업 및/또는 예상 하차가 제공될 수 있다. 유사하게, 픽업과 하차가 별도로 고려될 수 있다.
·콜드 스타트:
이전 예약 이력이 없는 신규 Pax(사용자)의 경우, 예측은 콜드 스타트 문제를 해결하거나 극복하기 위한 폴백으로 reverseGeo를 호출하기 위해 위치(위도/경도)를 사용할 수 있다. ReverseGeo는 Pax에 대한 가장 가까운 POI를 찾기 위해 지도의 PIN으로 Pax 위치를 사용한다.
·픽업:
일부 예약 이력이 있는 Pax의 경우, 픽업 예측을 위한 2개의 소스가 있을 수 있다(예: 마지막 하차 우선(last dropoff first, LDF) 및 데이터베이스(예: 예측자 DB) 내의 테이블). 데이터베이스에 저장된 사용자의 이전 픽업 POI가 사용될 수 있다. 이는 Pax ID 및 Wi-Fi SSID(서비스 세트 식별자)를 쿼리하여 이전 픽업 POI를 획득함으로써 수행될 수 있다. 즉, 과거에 Pax가 나타났던 장소는 예측에서 픽업으로 추천될 수 있다. 데이터베이스(예: 예측자 DB)에 레코드가 없는 경우, LDF가 사용될 수 있다. LDF는 지난 24시간 동안 Pax의 마지막 하차이다. 예측 변수 DB와 LDF 모두에 대해, 사용자 위치에 가장 가까운 POI가 반환된다. 모든 POI가 특정(또는 임계값) 거리를 벗어나면, reverseGeo에 의존할 수 있다.
LDF는 Pax의 마지막 하차를 얻기 위해 예측자 DB와 다른 데이터베이스(예: 예약 DB)에 액세스하는 다른 (마이크로) 서비스에서 제공될 수 있다. 예약 DB는 MySQL에 위치하거나 저장될 수 있다. 예약 DB는 서버 측에, 예를 들어, 통신 서버 장치에 위치할 수 있다. 예약 DB는 예약 정보, 예를 들어, 예약 코드, 타임스탬프, 승객 ID, 픽업 및 하차 중 하나 이상을 저장할 수 있다.
·하차:
하차 예측의 경우, 하루의 시간별로 각각의 승객(또는 사용자)의 하차와 픽업을 페어링하는 데이터베이스(예: 예측자 DB)의 테이블이 사용될 수 있다. Pax ID와 기간이 주어지면, 픽업 및 드롭 오프 쌍은 쿼리로 용이하게 얻어질 수 있다. 동일한 픽업과 페어링되는 과거의 하차가 Pax의 하차 예측으로 사용될 수 있다. 즉, 하차 예측에서는, 사람들이 일상을 따를 가능성이 있다고 가정할 수 있다. 하루 중 같은 시간 동안 과거 예약에서 선택한 동일한 하차 인원이 추천될 수 있다.
이제 프로덕션 환경에서 POI 서비스의 성능을 설명한다. 먼저 프로덕션 환경 설정 및 성능을 측정하기 위한 메트릭에 대해 설명한 후, POI 서비스의 메트릭에 따른 성능 결과를 설명한다.
생산 환경 설정 및 측정 메트릭
POI 서비스의 구성은 Amazon c5.4xlarge EC2 인스턴스이다. c5.4xlarge 인스턴스의 경우, Amazon은 16개의 가상 CPU 코어와 32G 메모리를 제공한다. 저장소는 EBS 전용이며 전용 EBS 대역폭은 3,500Mbps이다. 또한, 네트워크 성능을 위해 최대 10Gbps의 대역폭이 제공된다. 온라인 POI 권장 사항을 구현하기 위해 캐시에 Amazon의 Elasticache를 사용한다.
다양한 시나리오/애플리케이션에서 POI 서비스의 안정성을 측정하기 위해, 왕복 시간(RTT)이 표시되며 이는 요청을 보낸 후 반환된 응답까지의 기간과 같다. RTT를 더 잘 설명하려면, 측정은 95백분위수와 99백분위수로 이루어진다. 피크 시간과 피크 시간이 아닌 시간 간의 RTT 차이가 적을수록 시스템이 더 안정적이다.
시스템에서 캐시를 사용하면, 그리고 도 5를 참조하면, 캐시의 효율성은 API 571a, 미들웨어(571b) 및 제공자(571d) 레이어의 캐시 적중률로 측정된다. API 계층(571a)에 대해, 예측 시나리오에서 사용되는 예측자 캐시(576)는 비제한적인 예로서 취해진다. 미들웨어 계층(571b)의 경우, 블랙리스트 검사를 위한 메타 캐시(579a)가 비제한적인 예로 사용된다. 제공자 계층(571f)의 경우, 내부 제공자 및 Google에 대한 캐시(581, 583a)가 내부 제공자(572a) 및 외부 제공자(572b)를 대신하여 각각 표시된다.
성능 결과
POI 서비스의 성능은 위에서 언급한 측정 메트릭에 따라 3개의 측면으로 표시되고 설명된다. 첫째, 하루 동안의 전체 성능이 제공된다. 이어서, 예측, 제안, 검색 및 ReverseGeo 시나리오의 왕복 시간(RTT) 성능이 표시된다. 마지막으로, POI 서비스의 캐시 사용이 표시된다.
·POI 서비스의 전반적인 성능:
통계에 기반하여, POI 서비스의 초당 쿼리 수(QPS)는 주간에 변경된다. 오전 7시~오전 9시, 오후 17시~오후 20시가 피크 시간으로 정의된다. 피크 QPS 값은 일반적으로 오후 6시경에 나타난다. QPS는 자정에 매우 낮아진다. 평균 QPS는 인스턴스당 약 200이다. CPU 사용은 예상대로 QPS에 따라 다르다. 하루 최고 CPU 사용은 60% 미만으로 제어된다. 고루틴의 경우, 더 많은 QPS는 더 많은 고루틴을 생성하고 CPU 사용량을 증가시킨다. 고루틴 수의 평균값은 인스턴스당 약 1.2k이다. 메모리 사용량은 인스턴스당 25G 정도의 값으로 하루 종일 안정적이다.
·다양한 시나리오/애플리케이션에서 POI 서비스의 성능:
도 7a 내지 7d는 각각 예측, 제안, 검색 및 ReverseGeo 시나리오의 RTT를 나타낸다. 도 7a 내지 도 7d에서 Y축은 "ms" 단위의 왕복 시간(RTT)을 나타낸다. 도 7a 내지 도 7d에서 X축의 "Wed 16"이라는 라벨은 16일째 되는 수요일인 특정 월의 새로운 날의 시작을 의미한다.
도 7a 내지 도 7d에서, "경고" 및 "CB 개방"으로 표시된 각각의 점선은 각각 서비스 안전을 위한 시간 임계값을 나타내며, 서비스가 필요한 시간에 요청에 응답할 수 없고 응답하지 않는 것으로 처리될 수 있는 시간 임계값을 나타낸다.
관찰할 수 있는 바와 같이, 도 7a 내지 도 7d 각각에 대해 2개의 실선이 도시되어 있다. 상부 실선은, 예를 들어, 통계 데이터의 99백분위수인 "P99"를 나타내고, 하부 실선은, 예를 들어, 통계 데이터의 95백분위수인 "P95"를 나타낸다.
도 7c의 검색에 대해 관찰할 수 있는 바와 같이, 95백분위수와 99백분위수에 대한 RTT는 각각 500ms와 730ms이다. RTT는 QPS가 하루 중 시간에 따라 어떻게 변하든 안정적이다. 또한, 도 7a의 예측, 도 7b의 제안 및 도 7d의 ReverseGeo에 대한 결과는 RTT 측면에서 유사한 안정성을 나타낸다. RTT의 95 백분위수/99 백분위수는 아래 표 1에서 볼 수 있는 것처럼 시나리오마다 다르다. 검색 및 ReverseGeo의 로직에는 외부 공급자(예: Google 또는 Foursquare) 또는 Elastic Search 쿼리가 포함되며, 결과적으로 예측 및 제안에 비해 RTT가 더 길어진다.
다른 시나리오의 RTT
예측 제안 검색 ReverseGeo
95 백분위수 320ms 190ms 500ms 490ms
99 백분위수 560ms 300ms 730ms 700ms
·POI 서비스의 캐시 성능:
표 2는 (API 계층에 대한) 예측자 DB 캐시(576), (미들웨어 계층(571b)에 대한) 메타 캐시(579a), (내부 제공자(572a)로서의) 내부 제공자 캐시(581), (외부 제공자(572b)로서의) Google 캐시(583a)에 대한 1일 평균 캐시 적중률을 나타낸다. 관찰할 수 있듯이, 예측자 DB 캐시(576) 및 메타 캐시(579a)의 높은 캐시 적중률은 데이터베이스에 대한 중복 요청을 최소화하거나 방지하는 측면에서 캐시 사용의 효율성을 나타낸다. 제공자 계층(571d)의 경우, 내부 제공자 캐시(581)의 캐시 적중률은 외부 제공자 구글 캐시(583a)보다 훨씬 낮다. 이는 내부 제공자가 자주 업데이트되고 캐시(581)의 TTL이 외부 제공자(572b)의 TTL보다 훨씬 짧기 때문이다.
InternalTop Google 메타 예측자 DB
캐시 적중률 7.94% 89.03% 94.21% 76.66%
위에서 설명한 바와 같이, 실시간으로 관심지점(POI) 추천을 위한 기술이 제공될 수 있다. 운송 서비스(예: 라이드 헤일링 서비스)의 경우, 예를 들어, (예를 들어, 앱을 통해) 예약 주문을 하거나 생성할 때, 사용자는 픽업 및/또는 하차를 위해 원하는 POI를 찾기 위해 하나 이상의 작업을 수행할 수 있다. 이러한 작업에는 (i) 사용자의 과거 데이터 또는 현재 위치 중 적어도 하나를 기반으로 예상 픽업 POI 및/또는 예상 하차 POI가 생성되는 "예측"; (ii) 사용자가 입력 필드를 클릭하여 사용자의 과거 데이터, 현재 위치 또는 관련 도시의 인기 있는 POI 중 하나 이상을 기반으로 제안된 POI 목록을 가져오는 "제안"; (iii) 사용자가 정보(예: 키워드)를 입력하여 해당 키워드에 따라 일치하는 POI 목록이 제공되는 "검색"; 및 (iv) 사용자가 지도로 이동하여 PIN을 이동하여 POI를 찾을 수 있는 "ReverseGeo" 가 포함될 수 있다. 이러한 작업은 서로 독립적일 수 있다. 이러한 작업은 임의의 순서로 발생할 수 있거나 시퀀스 순서로 발생할 수 있다. 예를 들어, 예상 결과가 예상과 다를 때 "예측"이 먼저 수행되고 "제안"이 이어질 수 있고, 제안된 결과가 예상과 다를 때 "검색"이 이어질 수 있으며, 제안/검색 결과가 예상과 다를 때 "ReverseGeo"가 이어질 수 있다. 예약 흐름은 예측/제안/검색/ReverseGeo를 사용하여 POI를 픽업 또는 하차하는 순서로 정의할 수 있다. 순서는 사용자의 수고(화면/앱 클릭 수로 측정)가 저장되거나 최소화될 수 있는 정도에 따라 결정될 수 있다.
그럼에도 불구하고, 하나의 예약 주문에 대해 4개의 동작이 모두 필요한 것은 아니다. 즉, 예측, 제안, 검색, ReverseGeo 중 하나, 둘 또는 세 가지 또는 모든 작업은 사용자가 운송 관련 서비스에 대한 예약 주문을 하는 동안 수행될 수 있다. 비제한적인 예로서, 사용자는 어떤 동작이나 단계를 건너뛰어 동작을 자유롭게 사용하도록 선택할 수 있다. 예를 들어, 예측 후에, 사용자는 제안 및/또는 검색을 거치지 않고 ReverseGeo로 직접 이동할 수 있다.
다양한 실시예에서, 예측, 제안 및 검색 작업은 과거 데이터를 사용하여 원하는 픽업 및 하차를 위해 더 나은 추천 성능을 제공함으로써 별도로 수행될 수 있다. 제안 및 예측의 경우, 과거 데이터는 데이터베이스, 예를 들어, 예측자 데이터베이스, 다른 테이블에 저장될 수 있다. 검색의 경우, 하나 이상의 측면/기준: 이름 키워드, 지역, 빈도, 시간 및 거리가 POI 순위에 대한 결과 점수, 예를 들어, 결합된 점수로서의 가중된 합계를 계산하는 것으로 간주될 수 있다.
검색에 대하여, 가중된 합계에 의한 최종 점수는 각각의 POI에 대해 이어지는 기준의 점수를 사용하여 계산될 수 있다. 이어서, POI는 점수에 따라 내림차순으로 순위가 매겨지며 추천 POI 목록은 사용자에게 후속적으로 제공된다:
(i) 키워드: 점수는 검색 키워드와 POI 이름 또는 POI 이름의 약어를 기반으로 제공되며 근접하거나 일치하는 경우 높은 점수를 부여한다.
(ii) 지역: 사용자의 지역(예: 국가)과 POI 지역 간의 관련성 또는 근접성을 기반으로 점수가 제공되고, 두 지역이 같을 경우 점수가 "1"이고, 그렇지 않을 경우(대응하는 POI가 검색 목록에서 제외되는 경우) "0"이다.
(iii) 빈도: POI가 픽업(픽업 검색) 또는 하차(하차 검색)로 선택된 횟수에 따라 점수가 제공되고, POI가 선택된 횟수가 많을수록 점수가 높다.
(iv) 시간: 점수는 사용자가 특정 시간에 특정 POI에서 승차 또는 하차할 확률을 기반으로 정의되고, 운송 서비스가 필요한 특정 시간 동안 POI가 픽업(픽업 검색) 또는 하차(하차 검색)일 확률이 높을 때 점수가 더 높다.
(v) 거리(픽업 검색에만 적용됨): POI와 사용자의 위치 사이의 거리를 기준으로 점수를 부여하며, 거리가 가까울수록 점수가 높다.
제안에 대하여, 관련 입력 필드를 클릭하여(예: 앱에서), 픽업 및 하차를 위해 제안된 POI 목록이 제공된다. 픽업은 일반적으로 사용자 위치와 가까운 POI인 반면 하차는 일반적으로 사용자가 가야 하는 인기 있는 장소이므로, 픽업과 하차는 별도로 고려된다. 픽업 측면에서 2개의 소스가 고려될 수 있다: (i) 사용자 ID와 과거의 대응하는 픽업을 저장하는 테이블에 POI 선호도에 대한 30일 간의 과거 데이터를 저장하는 데이터베이스(예: 예측자 데이터베이스). 이는 사용자 ID로 과거의 픽업 기록이 쿼리될 수 있게 한다; (ii) 사용자의 위치(위도/경도)를 입력으로 하여 거리에 따라 가까운 POI를 제공한다. 따라서, 사용자의 개인 취향과 사용자 Pax 위치와 POI 간의 거리를 모두 고려하여 제안된 픽업의 정확도를 향상시킬 수 있다. 하차 측면에서 2개의 소스가 고려될 수 있다: (i) 사용자 ID별로 가장 자주 사용되는 하차(MFU 하차)와 관련된 데이터를 별도의 테이블에 저장하는 데이터베이스(예: 예측자 데이터베이스). 이는 사용자 ID별로 가장 자주 사용되는 하차가 쿼리될 수 있게 한다; (ii) 다양한 도시에서 가장 많이 분류된 POI(예: 음식, 쇼핑몰, 공항 등)이며 도시 ID로 조회될 수 있다. 따라서, 사용자의 개인적인 선호도와 일반적인 공통 선호도가 모두 제안될 수 있으므로 제안된 드롭오프의 정확도가 향상된다.
예측에 대하여, 예약 주문을 채우기 위해 픽업이 예측될 수 있고/있거나 하차가 예측될 수 있다. 제안과 유사하게, 픽업과 하차가 별도로 고려될 수 있다. 사용자가 과거 예약 데이터를 가지고 있는 픽업의 경우, 픽업 예측을 위해 2개의 소스, 즉 LDF(Last Dropoff First)와 데이터베이스(예: 예측자 데이터베이스)의 데이터가 있는 테이블을 고려할 수 있다. LDF는 24시간 동안 사용자의 마지막 하차이다. Pax에 대한 LDF가 없는 경우, 데이터베이스(예측자 DB)에 저장된 사용자의 이전 픽업 POI를 사용할 수 있다. 이는 이전 픽업 POI를 얻기 위해 사용자 Pax ID 및 Wi-Fi SSID를 쿼리하여 수행할 수 있다. 즉, 사용자가 과거에 등장했던 장소를 예측에서 픽업으로 추천할 수 있다. 사용자가 과거 예약 데이터를 가지고 있는 하차의 관점에서, 하루 중 시간별로 각각의 사용자의 하차와 픽업을 쌍으로 하는 데이터베이스(예: 예측자 데이터베이스)의 테이블이 사용될 수 있다. 사용자 ID와 기간이 주어지면, 조회를 통해 승차 및 하차 쌍을 얻을 수 있다. 동일한 픽업과 페어링되는 과거의 하차를 사용자에 대한 하차 예측으로 사용할 수 있다. 즉, 하차 예측에서는 사람들이 일상을 따를 가능성이 있다고 가정할 수 있다. 하루 중 같은 시간 동안 과거 예약에서 선택한 동일한 하차 사용자가 추천될 수 있다. 과거 예약 데이터가 없는 신규 사용자의 "콜드 스타트" 상황에서, 사용자의 위치(위도/경도)는 사용자에게 가장 가까운 POI를 찾기 위해 지도에서 PIN으로 사용될 수 있다(위의 "ReverseGeo"와 유사).
전술한 바와 같이 다양한 실시예의 관심지점(POI) 서비스는 Golang 기반의 마이크로서비스 아키텍처로 구축될 수 있다. 온라인 문제는 적절하거나 고유한 시나리오 또는 응용 프로그램에 따라 기술을 배포하여 해결할 수 있다. POI 서비스는 승객이 적절한 픽업 지점 및/또는 하차 지점을 찾는 수고를 절약하면서 완료된 예약의 비율을 높이는 데 도움이 될 수 있다. 예측, 제안 또는 검색 중 어느 하나가 사용자(또는 승객)의 습관 또는 선호도에 따라 잠재적으로 맞춤화될 수 있음을 이해할 것이다. 또한, 시스템의 내부 모듈의 시간 비용이 최적화될 수 있다.
본 발명은 단지 예로서 설명되었다는 것을 이해할 것이다. 첨부된 특허청구범위의 사상 및 범위를 벗어나지 않고 본원에 기술된 기술에 다양한 수정이 이루어질 수 있다. 개시된 기술은 독립형 방식으로 또는 서로 조합하여 제공될 수 있는 기술을 포함한다. 따라서, 하나의 기술과 관련하여 설명된 기능은 다른 기술과 결합하여 제시될 수도 있다.

Claims (54)

  1. 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에 추천하기 위한 통신 서버 장치로서, 상기 통신 서버 장치는 프로세서와 메모리를 포함하고, 상기 통신 서버 장치는, 상기 프로세서의 제어 하에, 상기 메모리 내의 명령을 실행하도록 구성되며, 상기 명령은:
    상기 사용자의 위치를 나타내는 데이터 필드를 포함하는 사용자 데이터의 수신에 응답하여, 그리고 추가적으로 운송 관련 서비스에 대응하는 상기 사용자와 연관된 과거 데이터가 없다고 결정하는 상기 통신 서버 장치에 응답하여,
    상기 위치를 포함하는 지도를 나타내는 데이터를 검색하는 명령; 및
    상기 사용자의 사용자 통신 장치에 의한 수신을 위해, 상기 지도 상의 관심 지점의 결정에 대한 상기 사용자 통신 장치를 통해 상기 지도를 상기 사용자에 상기 운송 관련 서비스에 대하여 추천 출발지 위치로 제시하기 위한 상기 지도를 나타내는 상기 데이터를 전송하는 명령;
    상기 통신 서버 장치가 하나 이상의 데이터 레코드 내에 운송 관련 서비스에 대응하는 과거 데이터-여기서 상기 과거 데이터는 상기 사용자와 연관됨-가 있다고 결정하는 것에 응답하여,
    상기 과거 데이터에 기반하여, 제1 관심 지점을 상기 운송 관련 서비스에 대하여 추천 출발지 위치로 결정하는 명령;
    상기 과거 데이터에 기반하여, 제2 관심 지점-여기서 상기 제1 관심 지점과 상기 제2 관심 지점은 과거 운송 관련 서비스에 대응하여 서로 페어링됨-을 상기 운송 관련 서비스에 대하여 추천 목적지 위치로 결정하는 명령; 및
    상기 사용자 통신 장치에 의한 수신을 위해, 상기 제1 관심 지점을 나타내는 데이터 및 상기 제2 관심 시점을 나타내는 데이터를 전송하는 명령
    인 것을 특징으로 하는 통신 서버 장치.
  2. 제1항에 있어서,
    상기 통신 서버 장치가 상기 과거 데이터가 있다고 결정하는 것에 응답하여, 그리고 추가적으로 시간을 나타내는 데이터 필드를 포함하는 사용자 데이터의 수신에 응답하여,
    상기 제2 관심 지점을 상기 추천 목적지 위치로 결정하기 위해, 상기 통신 서버 장치는, 상기 과거 데이터에 기반하여, 상기 시간을 포함하는 미리 정해진 시간 간격으로 상기 제1 관심 지점과 페어링되는 상기 제2 관심 지점을 결정하도록 더 구성되는 것을 특징으로 하는 통신 서버 장치.
  3. 제1항 또는 제2항에 있어서,
    상기 통신 서버 장치가 상기 과거 데이터가 있다고 결정하는 것에 응답하여, 그리고 추가적으로 상기 사용자의 상기 위치를 나타내는 상기 데이터 필드를 포함하는 상기 사용자 데이터의 수신에 응답하여,
    상기 제1 관심 지점을 결정하기 위해, 상기 통신 서버 장치는:
    상기 과거 데이터에 포함되는 운송 관련 서비스에 대한 하나 이상의 과거 출발지 위치를 나타내는 데이터가 있는지 여부를 결정하고;
    상기 하나 이상의 과거 출발지 위치를 나타내는 상기 데이터가 있다고 결정되는 경우,
    상기 하나 이상의 과거 출발지 위치를 나타내는 상기 데이터에 기반하여, 거리상으로 상기 사용자의 위치에 가장 가까운 과거 출발지 위치를 상기 제1 관심 지점으로 정의하며;
    상기 사용자 통신 장치에 의한 수신을 위해, 상기 과거 출발지 위치를 나타내는 데이터를 전송하고;
    상기 하나 이상의 과거 출발지 위치를 나타내는 데이터가 없다고 결정되는 경우,
    상기 과거 데이터에 포함되는 하나 이상의 과거 목적지 위치를 나타내는 데이터를 결정하며;
    상기 하나 이상의 과거 목적지 위치를 나타내는 상기 데이터에 기반하여, 거리상으로 상기 사용자의 위치에 가장 가까운 과거 목적지 위치를 상기 제1 관심 지점으로 정의하고,
    상기 사용자 통신 장치에 의한 수신을 위해, 상기 과거 목적지 위치를 나타내는 데이터를 전송하도록
    구성되는 것을 특징으로 하는 통신 서버 장치.
  4. 제3항에 있어서,
    상기 하나 이상의 과거 목적지 위치를 나타내는 데이터를 결정하기 위해, 상기 통신 서버 장치는 미리 정해진 과거 시간 기간과 연관된 상기 하나 이상의 과거 목적지 위치를 나타내는 데이터를 결정하도록 구성되는 것을 특징으로 하는 통신 서버 장치.
  5. 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에게 추천하기 위한 통신 서버 장치에서 수행되는 방법으로서, 상기 방법은, 상기 통신 서버 장치의 프로세서의 제어 하에:
    상기 사용자의 위치를 나타내는 데이터 필드를 포함하는 사용자 데이터의 수신에 응답하여, 그리고 추가적으로 운송 관련 서비스에 대응하는 상기 사용자와 연관된 과거 데이터가 없다는 결정에 응답하여,
    상기 위치를 포함하는 지도를 나타내는 데이터를 검색하는 단계; 및
    상기 사용자의 사용자 통신 장치에 의한 수신을 위해, 상기 지도 상의 관심 지점의 결정에 대한 상기 사용자 통신 장치를 통해 상기 지도를 상기 사용자에 상기 운송 관련 서비스에 대하여 추천 출발지 위치로 제시하기 위한 상기 지도를 나타내는 상기 데이터를 전송하는 단계; 및
    하나 이상의 데이터 레코드 내에 운송 관련 서비스에 대응하는 과거 데이터-여기서 상기 과거 데이터는 상기 사용자와 연관됨-가 있다는 결정에 응답하여,
    상기 과거 데이터에 기반하여, 제1 관심 지점을 상기 운송 관련 서비스에 대하여 추천 출발지 위치로 결정하는 단계;
    상기 과거 데이터에 기반하여, 제2 관심 지점-여기서 상기 제1 관심 지점과 상기 제2 관심 지점은 과거 운송 관련 서비스에 대응하여 서로 페어링됨-을 상기 운송 관련 서비스에 대하여 추천 목적지 위치로 결정하는 단계; 및
    상기 사용자 통신 장치에 의한 수신을 위해, 상기 제1 관심 지점을 나타내는 데이터 및 상기 제2 관심 시점을 나타내는 데이터를 전송하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  6. 제5항에 있어서,
    상기 과거 데이터가 있다는 결정에 응답하여, 그리고 추가적으로 시간을 나타내는 데이터 필드를 포함하는 사용자 데이터의 수신에 응답하여,
    상기 제2 관심 지점이, 상기 과거 데이터에 기반하여, 상기 시간을 포함하는 미리 결정된 시간 간격 내에 상기 제1 관심 지점에 페어링되는 상기 제2 관심 지점을 결정하는 것을 포함하는 것으로 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  7. 제5항 또는 제6항에 있어서,
    상기 과거 데이터가 있다고 결정하는 것에 응답하여, 그리고 추가적으로 상기 사용자의 위치를 나타내는 상기 데이터 필드를 포함하는 상기 사용자 데이터의 수신에 응답하여,
    상기 제1 관심 지점을 결정하는 단계는:
    상기 과거 데이터에 포함되는 운송 관련 서비스에 대한 하나 이상의 과거 출발지 위치를 나타내는 데이터가 있는지 여부를 결정하는 단계;
    상기 하나 이상의 과거 출발지 위치를 나타내는 데이터가 있다고 결정되는 경우,
    상기 하나 이상의 과거 출발지 위치를 나타내는 데이터에 기반하여, 상기 사용자의 위치에 거리상으로 가장 가까운 과거 출발지 위치를 상기 제1 관심 지점으로 정의하는 단계; 및
    상기 사용자 통신 장치에 의한 수신을 위해, 상기 과거 출발지 위치를 나타내는 데이터를 전송하는 단계;
    상기 하나 이상의 과거 출발지 위치를 나타내는 데이터가 없다고 결정되는 경우,
    상기 과거 데이터에 포함되는 하나 이상의 과거 목적지 위치를 나타내는 데이터를 결정하는 단계;
    상기 하나 이상의 과거 목적지 위치를 나타내는 데이터에 기반하여, 상기 사용자의 위치에 거리상으로 가장 가까운 과거 출발지 위치를 상기 제1 관심 지점으로 정의하는 단계; 및
    상기 사용자 통신 장치에 의한 수신을 위해, 상기 과거 목적지 위치를 나타내는 데이터를 전송하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  8. 제7항에 있어서,
    상기 하나 이상의 과거 목적지 위치를 나타내는 데이터를 결정하는 단계는 미리 정해진 과거 시간 기간과 연관된 상기 하나 이상의 과거 목적지 위치를 나타내는 데이터를 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  9. 제5항 내지 제8항 중 어느 한 항에 따른 방법을 구현하기 위한 명령을 포함하는 컴퓨터 프로그램 또는 컴퓨터 프로그램 제품.
  10. 프로세서에 의해 실행될 경우 상기 프로세서가 제5항 내지 제8항 중 어느 한 항에 따른 방법을 수행하게 하는 명령을 저장하는 비일시적 저장 매체.
  11. 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에 추천하기 위한 통신 시스템으로서, 상기 통신 시스템은 통신 서버 장치를 포함하고, 적어도 하나의 사용자 통신 장치 및 통신 네트워크 장비는 상기 통신 서버 장치 및 상기 적어도 하나의 사용자 통신 장치를 통해 서로 통신을 설정하도록 동작 가능하며,
    상기 적어도 하나의 사용자 통신 장치는 제1 프로세서와 제1 메모리를 포함하고, 상기 적어도 하나의 통신 장치는, 상기 제1 프로세서의 제어 하에, 상기 제1 메모리 내의 제1 명령을 실행하도록 구성되며, 상기 제1 명령은, 처리를 위해 상기 통신 서버 장치에 의한 수신을 위하여, 상기 사용자의 위치를 나타내는 데이터 필드를 포함하는 사용자 데이터를 전송하는 명령이고,
    상기 통신 서버 장치는 제2 프로세서 및 제2 메모리를 포함하고, 상기 통신 서버 장치는, 상기 제2 프로세서의 제어 하에, 상기 제2 메모리 내에서 제2 명령을 실행하도록 구성되며, 상기 제2 명령은:
    상기 적어도 하나의 사용자 통신 장치에 의해 전송된 상기 사용자 데이터를 나타내는 데이터의 수신에 응답하여, 그리고 추가적으로 운송 관련 서비스에 대응하는 상기 사용자와 연관된 과거 데이터가 없다고 결정하는 상기 통신 서버 장치에 응답하여,
    상기 위치를 포함하는 지도를 나타내는 데이터를 검색하는 명령; 및
    상기 사용자의 사용자 통신 장치에 의한 수신을 위해, 상기 지도 상의 관심 지점의 결정에 대한 상기 사용자 통신 장치를 통해 상기 지도를 상기 사용자에 상기 운송 관련 서비스에 대하여 추천 출발지 위치로 제시하기 위한 상기 지도를 나타내는 상기 데이터를 전송하는 명령;
    상기 통신 서버 장치가 하나 이상의 데이터 레코드 내에 운송 관련 서비스에 대응하는 과거 데이터-여기서 상기 과거 데이터는 상기 사용자와 연관됨-가 있다고 결정하는 것에 응답하여,
    상기 과거 데이터에 기반하여, 제1 관심 지점을 상기 운송 관련 서비스에 대하여 추천 출발지 위치로 결정하는 명령;
    상기 과거 데이터에 기반하여, 제2 관심 지점-여기서 상기 제1 관심 지점과 상기 제2 관심 지점은 과거 운송 관련 서비스에 대응하여 서로 페어링됨-을 상기 운송 관련 서비스에 대하여 추천 목적지 위치로 결정하는 명령; 및
    상기 사용자 통신 장치에 의한 수신을 위해, 상기 제1 관심 지점을 나타내는 데이터 및 상기 제2 관심 시점을 나타내는 데이터를 전송하는 명령
    인 것을 특징으로 하는 통신 시스템.
  12. 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에 추천하기 위한 통신 서버 장치로서, 상기 통신 서버 장치는 프로세서와 메모리를 포함하고, 상기 통신 서버 장치는, 상기 프로세서의 제어 하에, 상기 메모리 내의 명령을 실행하도록 구성되며, 상기 명령은:
    상기 사용자의 위치를 나타내는 제1 데이터 필드 및 목적지 위치에 대응하는 사용자 요청을 나타내는 제2 데이터 필드를 포함하는 사용자 데이터의 수신에 응답하여,
    하나 이상의 데이터 레코드 내의 운송 관련 서비스에 대응하는 과거 데이터-여기서 상기 과거 데이터는 상기 사용자와 연관됨-에 액세스하는 명령;
    상기 위치를 포함하는 지리적 지역 내의 적어도 하나의 목적지 범주에서 가장 높은 순위의 관심 지점의 수를 나타내는 데이터에 액세스하는 명령;
    상기 과거 데이터 및 상기 가장 높은 순위의 관심 지점의 수를 나타내는 데이터에 기반하여, 하나 이상의 제1 관심 지점을 상기 운송 관련 서비스에 대한 추천 목적지 위치로 결정하는 명령; 및
    상기 사용자 통신 장치에 의한 수신을 위해, 상기 하나 이상의 제1 관심 지점을 나타내는 데이터를 전송하는 명령
    인 것을 특징으로 하는 통신 서버 장치.
  13. 제12항에 있어서,
    상기 과거 데이터는 상기 사용자에 의해 가장 빈도가 높은 과거 목적지 위치의 수를 나타내는 데이터를 포함하고,
    상기 과거 데이터에 대한 액세스에 대해, 상기 통신 서버 정치는 상기 사용자에 의해 가장 빈도가 높은 상기 과거 목적지 위치의 수를 나타내는 데이터에 액세스하도록 더 구성되며,
    상기 하나 이상의 제1 관심 지점을 결정하기 위해, 상기 통신 서버는 상기 사용자에 의해 가장 빈도가 높은 상기 과거 목적지 위치의 수를 나타내는 데이터 및 상기 가장 높은 순위 관심 지점의 수를 나타내는 데이터에 기반하여 상기 하나 이상의 제1 관심 지점을 결정하도록
    더 구성되는 것을 특징으로 하는 통신 서버 장치.
  14. 제12항 또는 제13항에 있어서, 상기 통신 서버 장치는:
    출발지 위치에 대응하는 사용자 요청을 나타내는 데이터 필드를 포함하는 사용자 데이터의 수신에 응답하여,
    상기 과거 데이터와 상기 위치에 기반하여, 하나 이상의 제2 관심 지점을 상기 운송 관련 서비스에 대한 추천 출발지 위치로 결정하고;
    상기 사용자 통신 장치에 의한 수신을 위해, 상기 하나 이상의 제2 관심 지점을 나타내는 데이터를 전송하도록
    더 구성되는 것을 특징으로 하는 통신 서버 장치.
  15. 제14항에 있어서, 상기 하나 이상의 제2 관심 지점을 결정하기 위해, 상기 통신 서버 장치는 상기 사용자의 위치에 대하여 미리 정해진 거리 내에 있는 상기 하나 이상의 제2 관심 지점을 추천 출발지 위치로 결정하도록 구성되는 것을 특징으로 하는 통신 서버 장치.
  16. 제14항 또는 제15항에 있어서, 상기 통신 서버 장치는, 상기 하나 이상의 제2 관심 지점 각각에 대하여, 상기 사용자 통신 장치에 의한 수신을 위해, 상기 제2 관심 지점과 상기 사용자의 위치 사이의 거리를 나타내는 데이터를 전송하도록 더 구성되는 것을 특징으로 하는 통신 서버 장치.
  17. 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에게 추천하기 위해 통신 서버 장치에서 수행되는 방법으로서, 상기 방법은, 상기 통신 서버 장치의 프로세서의 제어 하에:
    위치를 나타내는 제1 데이터 필드 및 목적지 위치에 대응하는 사용자 요청을 나타내는 제2 데이터 필드를 포함하는 사용자 데이터의 수신에 응답하여,
    하나 이상의 데이터 레코드 내의 운송 관련 서비스에 대응하는 과거 데이터-여기서 상기 과거 데이터는 상기 사용자와 연관됨-에 액세스하는 단계;
    상기 위치를 포함하는 지리적 지역 내의 적어도 하나의 목적지 범주에서 가장 높은 순위의 관심 지점의 수를 나타내는 데이터에 액세스하는 단계;
    상기 과거 데이터 및 상기 가장 높은 순위의 관심 지점의 수를 나타내는 데이터에 기반하여, 하나 이상의 제1 관심 지점을 상기 운송 관련 서비스에 대한 추천 목적지 위치로 결정하는 단계; 및
    상기 사용자 통신 장치에 의한 수신을 위해, 상기 하나 이상의 제1 관심 지점을 나타내는 데이터를 전송하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  18. 제17항에 있어서,
    상기 과거 데이터는 상기 사용자에 의해 가장 빈도가 높은 과거 목적지 위치의 수를 나타내는 데이터를 포함하고,
    상기 과거 데이터에 액세스하는 단계는 상기 사용자에 의해 가장 빈도가 높은 상기 과거 목적지 위치의 수를 나타내는 데이터에 액세스하는 단계를 포함하며,
    상기 하나 이상의 제1 관심 지점을 결정하는 단계는 상기 사용자에 의해 가장 빈도가 높은 상기 과거 목적지 위치의 수를 나타내는 데이터 및 상기 가장 높은 순위 관심 지점의 수를 나타내는 데이터에 기반하여 상기 하나 이상의 제1 관심 지점을 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  19. 제17항 또는 제18항에 있어서,
    출발지 위치에 대응하는 사용자 요청을 나타내는 데이터 필드를 포함하는 사용자 데이터의 수신에 응답하여, 상기 방법은:
    상기 과거 데이터와 상기 위치에 기반하여, 하나 이상의 제2 관심 지점을 상기 운송 관련 서비스에 대한 추천 출발지 위치로 결정하는 단계; 및
    상기 사용자 통신 장치에 의한 수신을 위해, 상기 하나 이상의 제2 관심 지점을 나타내는 데이터를 전송하는 단계
    를 더 포함하는 것을 특징으로 하는 방법.
  20. 제19항에 있어서, 상기 하나 이상의 제2 관심 지점을 결정하는 단계는 상기 사용자의 위치에 대하여 미리 결정된 거리 내에 있는 상기 하나 이상의 제2 관심 지점을 추천 출발지 위치로 결정하는 단계를 포함하는 것을 특징으로 하는 방법.
  21. 제19항 또는 제20항에 있어서, 상기 하나 이상의 제2 관심 지점 각각에 대하여, 상기 사용자 통신 장치에 의한 수신을 위해, 상기 제2 관심 지점과 상기 사용자의 위치 사이의 거리를 나타내는 데이터를 전송하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  22. 제17항 내지 제21항 중 어느 한 항에 따른 방법을 구현하기 위한 명령을 포함하는 컴퓨터 프로그램 또는 컴퓨터 프로그램 제품,
  23. 프로세서에 의해 실행될 경우, 상기 프로세서가 제17항 내지 제21항에 따른 상기 방법을 수행하게 하는 명령을 저장하는 비일시적 저장 매체.
  24. 통신 서버 장치를 포함하는, 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에 추천하기 위한 통신 시스템으로서, 적어도 하나의 사용자 통신 장치 및 통신 네트워크 장비는 상기 통신 서버 장치 및 상기 적어도 하나의 사용자 통신 장치를 통해 서로 통신을 설정하도록 동작 가능하고,
    상기 적어도 하나의 사용자 통신 장치는 제1 프로세서 및 제1 메모리를 포함하고, 상기 적어도 하나의 통신 장치는, 상기 제1 프로세서의 제어 하에, 상기 제1 메모리 내의 제1 명령을 실행하도록 구성되며, 상기 제1 명령은, 처리를 위해 상기 통신 서버 장치에 의한 수신을 위해, 위치를 나타내는 제1 데이터 필드 및 목적지 위치에 대응하는 사용자 요청을 나타내는 제2 데이터 필드를 포함하는 사용자 데이터를 전송하는 명령이고;
    상기 통신 서버 장치는 제2 프로세서 및 제2 메모리를 포함하며, 상기 통신 서버 장치는, 상기 제2 프로세서의 제어 하에, 상기 제2 메모리 내의 제2 명령을 실행하도록 구성되며, 상기 제2 명령은:
    상기 적어도 하나의 사용자 통신 장치에 의해 전송된 상기 사용자 데이터를 나타내는 데이터의 수신에 응답하여,
    하나 이상의 데이터 레코드 내의 운송 관련 서비스에 대응하는 과거 데이터-여기서 상기 과거 데이터는 상기 사용자와 연관됨-에 액세스하는 명령;
    상기 위치를 포함하는 지리적 지역 내의 적어도 하나의 목적지 범주에서 가장 높은 순위의 관심 지점의 수를 나타내는 데이터에 액세스하는 명령;
    상기 과거 데이터 및 상기 가장 높은 순위의 관심 지점의 수를 나타내는 데이터에 기반하여, 하나 이상의 제1 관심 지점을 상기 운송 관련 서비스에 대한 추천 목적지 위치로 결정하는 명령; 및
    상기 사용자 통신 장치에 의한 수신을 위해, 상기 하나 이상의 제1 관심 지점을 나타내는 데이터를 전송하는 명령
    인 것을 특징으로 하는 통신 시스템.
  25. 운송 관련 서비스에 대하여 하나 이상의 관심 지점을 사용자에 추천하기 위한 통신 서버 장치로서, 상기 통신 서버 장치는 프로세서와 메모리를 포함하며, 상기 통신 서버 장치는, 상기 프로세서의 제어 하에, 상기 메모리 내에 있는 명령을 실행하도록 구성되고, 상기 명령은:
    상기 사용자의 위치를 나타내는 제1 데이터 필드 및 상기 사용자에 의해 입력된 정보-여기서 상기 정보는 상기 사용자에 의해 상기 운송 관련 서비스에 대하여 출발지 위치로 또는 목적지 위치로 요청된 위치를 적어도 부분적으로 설명함-를 나타내는 입력 데이터를 갖는 제2 데이터 필드를 포함하는 사용자 데이터의 수신에 응답하여,
    상기 입력 데이터에 기반하여, 대응하는 복수의 후보 관심 지점에 대한 데이터를 갖는 복수의 후보 데이터 필드를 포함하는 하나 이상의 데이터 레코드를 생성하는 명령;
    상기 하나 이상의 데이터 레코드 내에, 상기 복수의 후보 데이터 필드의 각각의 후보 데이터 필드에 대해, 키워드, 지역, 빈도, 시간, 및 거리 중 적어도 2개의 기준에 대해, 각각의 기준 데이터 필드를 생성하는 명령;
    상기 각각의 기준 데이터 필드의 각각의 기준 데이터 필드 내에, 후보 관심 지점에 대하여 상기 대응하는 기준과 연관된 개별 점수를 나타내는 데이터를 생성하는 명령-여기서,
    상기 키워드에 대하여, 상기 개별 점수는 상기 정보와 상기 후보 관심 지점의 명칭을 설명하는 하나 이상의 단어 사이의 유사성에 기반하여 결정되며,
    상기 지역에 대하여, 상기 개별 점수는 상기 사용자의 위치를 포함하는 제1 지리적 지역과 상기 후보 관심 지점을 포함하는 제2 지리적 지역 사이의 근접성에 기반하여 결정되고,
    상기 빈도에 대하여, 하나 이상의 과거 데이터 레코드에서 운송 관련 서비스에 대응하는 과거 데이터를 기반으로, 상기 개별 점수는 상기 후보 관심 지점이 과거 운송 관련 서비스에 대한 요청 위치로 과거에 선택된 횟수를 기반으로 결정되며,
    상기 시간에 대하여, 하나 이상의 과거 데이터 레코드에서 운송 관련 서비스에 대응하는 과거 데이터-여기서 상기 과거 데이터는 상기 사용자와 연관됨-를 기반으로, 상기 개별 점수는 상기 후보 관심 지점이 상기 사용자에 의해 정의된 시간에 상기 요청된 위치로 선택될 확률에 기반하여 결정되고,
    상기 거리에 대하여, 상기 개별 점수는 상기 사용자의 위치와 상기 후보 관심 지점 사이의 거리에 기반하여 결정됨-;
    상기 각각의 후보 데이터 필드에 대하여, 상기 개별 점수에 기반하여 상기 대응하는 후보 관심 지점에 대한 결과 점수를 생성하는 명령;
    상기 결과 점수를 나타내는 데이터를 처리하는 명령; 및
    상기 사용자 통신 장치에 의한 수신을 위해, 상기 결과 점수를 나타내는 데이터의 처리 결과에 따라, 상기 복수의 후보 관심 지점을 상기 사용자 통신 장치를 통해 나타내기 위해, 상기 복수의 후보 관심 지점을 나타내는 데이터를 전송하는 명령
    을 포함하는 것을 특징으로 하는 통신 서버 장치.
  26. 제25항에 있어서,
    상기 결과 점수를 나타내는 데이터의 처리를 위해, 상기 통신 서버 장치는, 상기 결과 점수를 나타내는 데이터에 기반하여, 상기 하나 이상의 데이터 레코드 내에, 상기 복수의 후보 관심 지점에 대해 상기 결과 점수에 따른 상기 복수의 후보 관심 지점의 순서를 나타내는 순위 데이터를 생성하도록 구성되고;
    상기 데이터의 전송을 위해, 상기 통신 서버 장치는 상기 통신 서버 장치를 통해 상기 복수의 후보 관심 지점을 상기 순위 데이터에 따른 순서로 나타내기 위해 위해 상기 복수의 후보 관심 지점을 나타내는 데이터를 전송하도록 구성되는 것을 특징으로 하는 통신 서버 장치.
  27. 제25항 또는 제26항에 있어서,
    상기 결과 데이터를 나타내는 데이터의 처리를 위해, 상기 통신 서버는, 상기 결과 점수를 나타내는 데이터에 기반하여, 그리고 상기 복수의 후보 관심 지점의 각각의 후보 관심 지점에 대하여, 상기 결과 점수를 상기 후보 관심 지점의 상기 요청된 위치에 대한 일치 관계를 나타내는 임계값에 대하여 비교하도록 구성되고;
    상기 데이터를 전송하기 위해, 상기 통신 서버 장치는 상기 임계값 이상으로 결정된 결과 점수를 갖는 상기 후보 관심 지점을 나타내는 데이터를 전송하도록 구성되는 것을 특징으로 하는 통신 서버 장치.
  28. 제25항 내지 제27항 중 어느 한 항에 있어서, 상기 결과 점수를 생성하기 위해, 상기 통신 서버 장치는 상기 개별 점수의 가중치가 부여된 합계에 의해 상기 결과 점수를 생성하도록 구성되는 것을 특징으로 하는 통신 서버 장치.
  29. 제25항 내지 제28항 중 어느 한 항에 있어서, 상기 적어도 2개의 기준은 상기 지역을 포함하고, 상기 제1 지리적 지역 및 상이한 국가에 있는 상기 제2 지리적 지역을 나타내도록 결정된 상기 지역에 대한 상기 개별 점수에 응답하여, 상기 통신 서버 장치는 상기 후보 관심 지점을 배제하도록 더 구성되는 것을 특징으로 하는 통신 서버 장치.
  30. 제25항 내지 제29항 중 어느 한 항에 있어서, 상기 각각의 기준 데이터 필드를 생성하기 위해, 상기 통신 서버 장치는, 상기 각각의 후보 데이터 필드에 대해, 상기 키워드, 상기 지역, 상기 빈도, 상기 시간 및 상기 거리 중 적어도 3개의 기준에 대한 각각의 기준 데이터 필드를 생성하도록 구성되는 것을 특징으로 하는 통신 서버 장치.
  31. 제25항 내지 제30항 중 어느 한 항에 있어서, 상기 각각의 기준 데이터 필드를 생성하기 위해, 상기 통신 서버 장치는, 상기 각각의 후보 데이터 필드에 대하여, 상기 키워드, 상기 지역, 상기 빈도, 상기 시간 및 상기 거리 중 적어도 4개의 기준에 대한 각각의 기준 데이터 필드를 생성하도록 구성되는 것을 특징으로 하는 통신 서버 장치.
  32. 제25항 내지 제31항 중 어느 한 항에 있어서,
    상기 정보가 적어도 부분적으로 상기 요청된 위치를 상기 출발지 위치로 설명한다는 것에 응답하여,
    상기 각각의 기준 데이터 필드를 생성하기 위해, 상기 통신 서버는, 상기 각각의 후보 데이터 필드에 대해, 상기 키워드, 상기 지역, 상기 빈도, 상기 시간 및 상기 거리의 모든 기준에 대한 각각의 기준 데이터 필드를 생성하도록 구성되는 것을 특징으로 하는 통신 서버 장치.
  33. 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에게 추천하기 위하여, 통신 서버 장치 내에서 수행되는 방법으로서, 상기 방법은, 상기 통신 서버 장치의 프로세서의 제어 하에:
    상기 사용자의 위치를 나타내는 제1 데이터 필드 및 상기 사용자에 의해 입력된 정보-여기서 상기 정보는 상기 사용자에 의해 상기 운송 관련 서비스에 대하여 출발지 위치로 또는 목적지 위치로 요청된 위치를 적어도 부분적으로 설명함-를 나타내는 입력 데이터를 갖는 제2 데이터 필드를 포함하는 사용자 데이터의 수신에 응답하여,
    상기 입력 데이터에 기반하여, 대응하는 복수의 후보 관심 지점에 대한 데이터를 갖는 복수의 후보 데이터 필드를 포함하는 하나 이상의 데이터 레코드를 생성하는 단계;
    상기 하나 이상의 데이터 레코드 내에, 상기 복수의 후보 데이터 필드의 각각의 후보 데이터 필드에 대해, 키워드, 지역, 빈도, 시간, 및 거리 중 적어도 2개의 기준에 대해, 각각의 기준 데이터 필드를 생성하는 단계;
    상기 각각의 기준 데이터 필드의 각각의 기준 데이터 필드 내에, 후보 관심 지점에 대하여 상기 대응하는 기준과 연관된 개별 점수를 나타내는 데이터를 생성하는 단계-여기서,
    상기 키워드에 대하여, 상기 개별 점수는 상기 정보와 상기 후보 관심 지점의 명칭을 설명하는 하나 이상의 단어 사이의 유사성에 기반하여 결정되며,
    상기 지역에 대하여, 상기 개별 점수는 상기 사용자의 위치를 포함하는 제1 지리적 지역과 상기 후보 관심 지점을 포함하는 제2 지리적 지역 사이의 근접성에 기반하여 결정되고,
    상기 빈도에 대하여, 하나 이상의 과거 데이터 레코드에서 운송 관련 서비스에 대응하는 과거 데이터를 기반으로, 상기 개별 점수는 상기 후보 관심 지점이 과거 운송 관련 서비스에 대한 요청 위치로 과거에 선택된 횟수를 기반으로 결정되며,
    상기 시간에 대하여, 하나 이상의 과거 데이터 레코드에서 운송 관련 서비스에 대응하는 과거 데이터-여기서 상기 과거 데이터는 상기 사용자와 연관됨-를 기반으로, 상기 개별 점수는 상기 후보 관심 지점이 상기 사용자에 의해 정의된 시간에 상기 요청된 위치로 선택될 확률에 기반하여 결정되고,
    상기 거리에 대하여, 상기 개별 점수는 상기 사용자의 위치와 상기 후보 관심 지점 사이의 거리에 기반하여 결정됨-;
    상기 각각의 후보 데이터 필드에 대하여, 상기 개별 점수에 기반하여 상기 대응하는 후보 관심 지점에 대한 결과 점수를 생성하는 단계;
    상기 결과 점수를 나타내는 데이터를 처리하는 단계; 및
    상기 사용자 통신 장치에 의한 수신을 위해, 상기 결과 점수를 나타내는 데이터의 처리 결과에 따라, 상기 복수의 후보 관심 지점을 상기 사용자 통신 장치를 통해 나타내기 위해, 상기 복수의 후보 관심 지점을 나타내는 데이터를 전송하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  34. 제33항에 있어서,
    상기 결과 점수를 나타내는 데이터를 처리하는 단계는, 상기 결과 점수를 나타내는 데이터에 기반하여, 상기 하나 이상의 데이터 레코드 내에, 상기 복수의 후보 관심 지점에 대한 상기 결과 점수에 따라 상기 복수의 후보 관심 지점의 순서를 나타내는 순위 데이터를 생성하는 단계를 포함하고,
    상기 데이터를 전송하는 단계는, 상기 사용자 통신 장치를 통해, 상기 순위 데이터에 따른 순서로 상기 복수의 후보 관심 지점을 나타내기 위해 상기 복수의 후보 관심 지점을 나타내는 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  35. 제33항 또는 제34항에 있어서,
    상기 결과 점수를 나타내는 데이터를 처리하는 단계는, 상기 결과 점수를 나타내는 데이터에 기반하여, 그리고 상기 복수의 후보 관심 지점의 각각의 후보 관심 지점에 대하여, 상기 후보 관심 지점의 일치 관계를 나타내는 임계값에 대한 상기 결과 점수를 상기 요청된 위치와 비교하는 단계를 포함하고;
    상기 데이터를 전송하는 단계는 상기 임계값 이상으로 결정된 결과 점수를 갖는 상기 후보 관심 지점을 나타내는 데이터를 전송하는 단계를 포함하는 것을 특징으로 하는 방법.
  36. 제33항 내지 제35항에 있어서, 상기 결과 점수를 생성하는 단계는 상기 개별 점수의 가중치가 부여된 합계에 의해 상기 결과 점수를 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  37. 제33항 내지 제36항 중 어느 한 항에 있어서, 상기 적어도 2개의 기준은 상기 지역을 포함하고, 상기 지역에 대한 상기 개별 점수가 상기 제1 지리적 지역과 상기 제2 지리적 지역이 상이한 국가에 있음을 나타내는 것으로 결정되는 것에 응답하여, 상기 방법은 상기 후보 관심 지점을 배제하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  38. 제33항 내지 제37항 중 어느 한 항에 있어서, 상기 각각의 기준 데이터 필드를 생성하는 단계는, 상기 각각의 후보 데이터 필드에 대하여, 상기 키워드, 상기 지역, 상기 빈도, 상기 시간 및 상기 거리 중 적어도 3개의 기준에 대하여 각각의 기준 데이터 필드를 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  39. 제33항 내지 제38항 중 어느 한 항에 있어서, 상기 각각의 기준 데이터 필드를 생성하는 단계는, 상기 각각의 후보 데이터 필드에 대하여, 상기 키워드, 상기 지역, 상기 빈도, 상기 시간 및 상기 거리 중 적어도 4개의 기준에 대하여 각각의 기준 데이터 필드를 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  40. 제33항 내지 제39항 중 어느 한 항에 있어서,
    상기 정보가 적어도 부분적으로 상기 요청된 위치가 상기 출발지 위치로 설명된다는 것에 응답하여,
    상기 각각의 기준 데이터 필드를 생성하는 단계는, 상기 각각의 후보 데이터 필드에 대하여, 상기 키워드, 상기 지역, 상기 빈도, 상기 시간 및 상기 거리의 모든 기준에 대하여 각각의 기준 데이터 필드를 생성하는 단계를 포함하는 것을 특징으로 하는 방법.
  41. 제33항 내지 제40항 중 어느 한 항에 따른 방법을 구현하기 위한 명령을 포함하는 컴퓨터 프로그램 또는 컴퓨터 프로그램 제품.
  42. 프로세서에 의해 실행될 경우, 상기 프로세서가 제33항 내지 제40항 중 어느 한 항에 따른 방법을 수행하게 하는 명령을 저장하는 비일시적 저장 매체.
  43. 통신 서버 장치를 포함하는, 운송 관련 서비스에 하나 이상의 관심 지점을 사용자에 추천하기 위한 통신 시스템으로서, 적어도 하나의 사용자 통신 장치 및 통신 네트워크 장비는 상기 통신 서버 장치 및 상기 적어도 하나의 사용자 통신 장치를 통해 서로 통신을 설정하도록 동작 가능하고,
    상기 적어도 하나의 사용자 통신 장치는 제1 프로세서 및 제1 메모리를 포함하고, 상기 적어도 하나의 통신 장치는, 상기 제1 프로세서의 제어 하에, 상기 제1 메모리 내의 제1 명령을 실행하도록 구성되며, 상기 제1 명령은, 처리를 위해 상기 통신 서버 장치에 의한 수신을 위해, 상기 사용자의 위치를 나타내는 제1 데이터 필드 및 상기 사용자에 의해 입력된 정보-여기서 상기 정보는 상기 사용자에 의해 요청된 위치를 적어도 부분적으로 상기 운송 관련 서비스에 대한 출발지 위치로 또는 목적지 위치로 설명함-를 나타내는 입력 데이터를 갖는 제2 데이터 필드를 포함하는 사용자 데이터를 전송하는 명령이고;
    상기 통신 서버 장치는 제2 프로세서 및 제2 메모리를 포함하며,상기 통신 서버 장치는, 상기 제2 프로세서의 제어 하에, 상기 제2 메모리 내의 제2 명령을 실행하도록 구성되며, 상기 제2 명령은:
    상기 적어도 하나의 사용자 통신 장치에 의해 전송된 상기 사용자 데이터를 나타내는 데이터의 수신에 응답하여,
    상기 입력 데이터에 기반하여, 대응하는 복수의 후보 관심 지점에 대한 데이터를 갖는 복수의 후보 데이터 필드를 포함하는 하나 이상의 데이터 레코드를 생성하는 명령;
    상기 하나 이상의 데이터 레코드 내에, 상기 복수의 후보 데이터 필드의 각각의 후보 데이터 필드에 대해, 키워드, 지역, 빈도, 시간, 및 거리 중 적어도 2개의 기준에 대해, 각각의 기준 데이터 필드를 생성하는 명령;
    상기 각각의 기준 데이터 필드의 각각의 기준 데이터 필드 내에, 후보 관심 지점에 대하여 상기 대응하는 기준과 연관된 개별 점수를 나타내는 데이터를 생성하는 명령-여기서,
    상기 키워드에 대하여, 상기 개별 점수는 상기 정보와 상기 후보 관심 지점의 명칭을 설명하는 하나 이상의 단어 사이의 유사성에 기반하여 결정되며,
    상기 지역에 대하여, 상기 개별 점수는 상기 사용자의 위치를 포함하는 제1 지리적 지역과 상기 후보 관심 지점을 포함하는 제2 지리적 지역 사이의 근접성에 기반하여 결정되고,
    상기 빈도에 대하여, 하나 이상의 과거 데이터 레코드에서 운송 관련 서비스에 대응하는 과거 데이터를 기반으로, 상기 개별 점수는 상기 후보 관심 지점이 과거 운송 관련 서비스에 대한 요청 위치로 과거에 선택된 횟수를 기반으로 결정되며,
    상기 시간에 대하여, 하나 이상의 과거 데이터 레코드에서 운송 관련 서비스에 대응하는 과거 데이터-여기서 상기 과거 데이터는 상기 사용자와 연관됨-를 기반으로, 상기 개별 점수는 상기 후보 관심 지점이 상기 사용자에 의해 정의된 시간에 상기 요청된 위치로 선택될 확률에 기반하여 결정되고,
    상기 거리에 대하여, 상기 개별 점수는 상기 사용자의 위치와 상기 후보 관심 지점 사이의 거리에 기반하여 결정됨-;
    상기 각각의 후보 데이터 필드에 대하여, 상기 개별 점수에 기반하여 상기 대응하는 후보 관심 지점에 대한 결과 점수를 생성하는 명령;
    상기 결과 점수를 나타내는 데이터를 처리하는 명령; 및
    상기 사용자 통신 장치에 의한 수신을 위해, 상기 결과 점수를 나타내는 데이터의 처리 결과에 따라, 상기 복수의 후보 관심 지점을 상기 사용자 통신 장치를 통해 나타내기 위해, 상기 복수의 후보 관심 지점을 나타내는 데이터를 전송하는 명령
    을 포함하는 것을 특징으로 하는 통신 서버 장치.
  44. 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에 추천하기 위한 통신 서버 장치(device)로서, 상기 통신 서버 장치는 제1항 내지 제4항 중 어느 한 항에 따른 통신 서버 장치(apparatus)로 구성되며, 제12항 내지 제16항 중 어느 한 항에 따른 통신 서버 장치 또는 제25항 내지 제32항 중 어느 한 항에 따른 통신 서버 장치로 중 적어도 하나로 더 구성되는 것을 특징으로 하는 통신 서버 장치.
  45. 제44항에 있어서, 제1항 내지 제4항 중 어느 한 항에 따른 통신 서버 장치로 구성되고, 이어서, 제12항 내지 제16항 중 어느 한 항에 따른 통신 서버 장치로 더 구성되는 것을 특징으로 하는 통신 서버 장치.
  46. 제45항에 있어서, 이어서, 제25항 내지 제32항 중 어느 한 항에 따른 통신 서버 장치로 더 구성되는 것을 특징으로 하는 통신 서버 장치.
  47. 제46항에 있어서, 이어서:
    상기 사용자의 위치를 포함하는 지도를 나타내는 데이터를 검색하고;
    상기 사용자의 사용자 통신 장치에 의한 수신을 위해, 상기 지도 상의 관심 지점을 상기 운송 관련 서비스에 대해 추천 출발지 위치로 결정하기 위해, 상기 지도를 상기 사용자 통신 장치를 통해 상기 사용자에 나타내기 위해 상기 지도를 나타내는 데이터를 전송하도록
    더 구성되는 것을 특징으로 하는 통신 서버 장치.
  48. 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에 추천하기 위한 통신 서버 장치 내에서 수행되는 방법으로서, 상기 방법은, 상기 통신 서버 장치의 프로세서의 제어 하에:
    제5항 내지 제8항 중 어느 한 항에 따른 방법을 수행하는 단계; 및
    제17항 내지 제21항 중 어느 한 항에 따른 방법과 제33항 내지 제40항 중 어느 한 항에 따른 방법 중 적어도 하나를 수행하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  49. 제48항에 있어서,
    제5항 내지 제8항 중 어느 한 항에 따른 방법을 수행하는 단계; 및
    이어서, 제17항 내지 제21항 중 어느 한 항에 따른 방법을 수행하는 단계
    를 포함하는 것을 특징으로 하는 방법.
  50. 제49항에 있어서, 이어서, 제33항 내지 제40항 중 어느 한 항에 따른 방법을 수행하는 단계를 더 포함하는 것을 특징으로 하는 방법.
  51. 제50항에 있어서, 이어서:
    상기 사용자의 위치를 포함하는 지도를 나타내는 데이터를 검색하는 단계; 및
    상기 사용자의 사용자 통신 장치에 의한 수신에 대해, 상기 지도 상의 관심 지점을 상기 운송 관련 서비스에 대한 추천 출발지 위치로 결정하기 위해, 상기 지도를 상기 사용자 통신장치를 통해 상기 사용자에 나타내기 위해, 상기 지도를 나타내는 데이터를 전송하는 단계
    를 더 포함하는 것을 특징으로 하는 방법.
  52. 제48항 내지 제51항 중 어느 한 항에 따른 방법을 구현하기 위한 명령을 포함하는 컴퓨터 프로그램 또는 컴퓨터 프로그램 제품.
  53. 프로세서에 의해 실행될 경우, 상기 프로세서가 제48항 내지 제51항 중 어느 한 항에 따른 방법을 수행하게 하는 비일시적 저장 매체.
  54. 통신 서버 장치(device)를 포함하는, 운송 관련 서비스에 대한 하나 이상의 관심 지점을 사용자에 추천하기 위한 통신 시스템으로서, 적어도 하나의 사용자 통신 장치는 프로세서와 메모리를 포함하고, 통신 네트워크 장비는 상기 통신 서버 장치와 상기 적어도 하나의 사용자 통신 장치가 서로 통신을 설정하도록 동작 가능하며,
    상기 통신 서버 장치는 제1항 내지 제4항 중 어느 한 항에 따른 통신 서버 장치(apparatus)로 구성되고, 상기 적어도 하나의 사용자 통신 장치는, 상기 프로세서의 제어 하에, 상기 메모리 내에서 명령을 실행하도록 구성되며, 상기 명령은, 처리를 위해 상기 통신 서버 장치에 의한 수신을 위해, 상기 사용자의 위치를 나타내는 데이터 필드를 포함하는 사용자 데이터를 전송하는 명령이고,
    상기 통신 서버 장치(device)는:
    제12항 내지 제16항 중 어느 한 항에 따른 통신 서버 장치(apparatus)-여기서 상기 적어도 하나의 사용자 통신 장치는, 상기 프로세서의 제어 하에, 상기 메모리 내의 명령을 실행하도록 더 구성되고, 상기 명령은, 처리를 위해 상기 통신 서버 장치에 의한 수신을 위해, 위치를 나타내는 제1 데이터 필드 및 목적지 위치에 대응하는 사용자 요청을 나타내는 제2 데이터 필드를 포함하는 사용자 데이터를 전송하는 명령임-; 또는
    제25항 내지 제32항 중 어느 한 항에 따른 통신 서버 장치(apparatus)-여기서 상기 적어도 하나의 사용자 통신 장치는, 상기 프로세서의 제어 하에, 상기 메모리 내의 명령을 실행하도록 더 구성되고, 상기 명령은, 처리를 위해 상기 통신 서버 장치에 의한 수신을 위해, 상기 사용자의 위치를 나타내는 제1 데이터 필드와 상기 사용자에 의해 입력된 정보를 나타내는 입력 데이터를 갖는 제2 데이터 필드를 포함하는 사용자 데이터를 전송하는 명령이며, 상기 정보는 상기 운송 관련 서비스에 대하여 상기 사용자에 의해 출발지 위치 또는 목적지 위치로 요청된 위치를 적어도 부분적으로 설명함-
    로 더 구성되는 것을 특징으로 하는 통신 시스템.
KR1020217038942A 2019-04-29 2019-04-29 사용자에게 운송 관련 서비스에 대한 하나 이상의 관심 지점을 추천하기 위한 통신 서버 장치, 방법 및 통신 시스템 KR20220014325A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2019/084965 WO2020220188A1 (en) 2019-04-29 2019-04-29 Communications server apparatus, methods and communications systems for recommending one or more points-of-interest for a transport-related service to a user

Publications (1)

Publication Number Publication Date
KR20220014325A true KR20220014325A (ko) 2022-02-04

Family

ID=73029638

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217038942A KR20220014325A (ko) 2019-04-29 2019-04-29 사용자에게 운송 관련 서비스에 대한 하나 이상의 관심 지점을 추천하기 위한 통신 서버 장치, 방법 및 통신 시스템

Country Status (8)

Country Link
US (1) US20220230227A1 (ko)
EP (1) EP3963288A4 (ko)
JP (1) JP7389819B2 (ko)
KR (1) KR20220014325A (ko)
CN (1) CN113994173A (ko)
SG (1) SG11202111620SA (ko)
TW (1) TW202105201A (ko)
WO (1) WO2020220188A1 (ko)

Families Citing this family (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110996141B (zh) * 2019-11-05 2022-03-25 北京字节跳动网络技术有限公司 一种直播间中信息的发送方法、装置及电子设备
WO2021097291A1 (en) * 2019-11-15 2021-05-20 Global Thematic Insights Llc Mapping system
US11719548B2 (en) * 2019-12-31 2023-08-08 Beijing Didi Infinity Technology And Development Co., Ltd. System and method for alternative destination recommendation on ridesharing platforms
US20210404832A1 (en) * 2020-06-25 2021-12-30 Google Llc Systems and Methods for Generating Movement Insights
TW202242634A (zh) * 2021-04-27 2022-11-01 新加坡商格步計程車控股私人有限公司 用於針對儲存在資料儲存器中之資料的存取進行控制之資料儲存系統及方法
CN113761398B (zh) * 2021-09-17 2022-09-06 北京百度网讯科技有限公司 信息推荐方法、装置、电子设备以及存储介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070050128A1 (en) * 2005-08-31 2007-03-01 Garmin Ltd., A Cayman Islands Corporation Method and system for off-board navigation with a portable device
CA2782611C (en) * 2009-12-04 2018-07-10 Uber Technologies, Inc. System and method for arranging transport amongst parties through use of mobile devices
US10267892B2 (en) * 2010-10-04 2019-04-23 Qualcomm Incorporated Locating a device using a reference point to align location information
EP2581703B1 (en) * 2011-10-12 2017-05-17 Mapquest, Inc. Systems and methods for ranking points of interest
JP5932531B2 (ja) 2012-07-10 2016-06-08 パイオニア株式会社 電子機器、目的地探索方法、プログラム、記録媒体、ナビゲーションシステム、およびサーバ装置
US20140025490A1 (en) * 2012-07-17 2014-01-23 Bharathi Shekar Automated recommendations based on historic location-preference information
US20140156410A1 (en) * 2012-11-30 2014-06-05 Ebay Inc. Systems and methods to provide transport aware geofences
US20150330800A1 (en) * 2014-05-19 2015-11-19 Google Inc. Systems and Methods for Personalized Multi-Destination Trip Planning
CN104156897B (zh) * 2014-07-24 2018-05-29 西北工业大学 基于情景感知的室内导览系统
US10212536B2 (en) * 2015-07-10 2019-02-19 Uber Technologies, Inc. Selecting a messaging protocol for transmitting data in connection with a location-based service
SG10201506680YA (en) 2015-08-24 2017-03-30 Mastercard International Inc Method and System For Predicting Lowest Airline Ticket Fares
US20170200249A1 (en) 2016-01-08 2017-07-13 Florida International University Board Of Trustees Systems and methods for intelligent, demand-responsive transit recommendations
US10200816B2 (en) * 2016-02-12 2019-02-05 Here Global B.V. Method and apparatus for selective zone-based communications
JP6753748B2 (ja) 2016-09-20 2020-09-09 ヤフー株式会社 経路検索サーバ、経路検索方法、および経路検索プログラム
CN108022140A (zh) * 2016-11-02 2018-05-11 北京嘀嘀无限科技发展有限公司 一种用车订单推荐方法、装置及服务器
WO2018208226A1 (en) * 2017-05-12 2018-11-15 Grabtaxi Holdings Pte. Ltd. Optimal allocation of dynamically batched service providers and service requesters
KR102390269B1 (ko) * 2017-05-26 2022-04-25 그랩택시 홀딩스 피티이. 엘티디. 셔틀 서비스 관리 및 셔틀 서비스 루트 및 서비스 도출을 위한 시스템 및 방법
JP2019070530A (ja) * 2017-10-05 2019-05-09 トヨタ自動車株式会社 情報処理装置、情報処理方法、及びプログラム
US20190122164A1 (en) * 2017-10-24 2019-04-25 Uber Technologies, Inc. On-demand coordinated comestible item delivery system
CN108286980B (zh) * 2017-12-29 2021-04-02 广州通易科技有限公司 一种预测目的地和推荐驾驶路线的方法
CN110443472A (zh) * 2018-05-02 2019-11-12 北京嘀嘀无限科技发展有限公司 为用户提供出行服务的方法及装置

Also Published As

Publication number Publication date
EP3963288A4 (en) 2023-01-11
JP7389819B2 (ja) 2023-11-30
SG11202111620SA (en) 2021-11-29
JP2022530789A (ja) 2022-07-01
CN113994173A (zh) 2022-01-28
EP3963288A1 (en) 2022-03-09
TW202105201A (zh) 2021-02-01
WO2020220188A1 (en) 2020-11-05
US20220230227A1 (en) 2022-07-21

Similar Documents

Publication Publication Date Title
JP7389819B2 (ja) 通信サーバ装置、通信サーバ装置において実行される方法、通信システム、コンピュータプログラム、コンピュータプログラム製品、及び非一時的記憶媒体
US12007996B2 (en) Management of distributed computing framework components
US11615087B2 (en) Search time estimate in a data intake and query system
US12118009B2 (en) Supporting query languages through distributed execution of query engines
US11599541B2 (en) Determining records generated by a processing task of a query
US20220327125A1 (en) Query scheduling based on a query-resource allocation and resource availability
US20200065303A1 (en) Addressing memory limits for partition tracking among worker nodes
US20190258632A1 (en) Determining a Record Generation Estimate of a Processing Task
US20130080509A1 (en) Cloud computing access gateway and method for providing a user terminal access to a cloud provider
US11064041B2 (en) Apparatus for providing cloud service using cloud service brokerage based on multiple clouds and method thereof
US10303538B2 (en) Computing system issue detection and resolution
US11170381B2 (en) Method and system for generating insights regarding a party in response to a call
US20130226878A1 (en) Seamless context transfers for mobile applications
CN111475728A (zh) 云资源信息搜索方法、装置、设备及存储介质
US10057302B2 (en) Context-based selection of instruction sets for connecting through captive portals
US8914044B2 (en) Method and system for associating context information with defined location data
US20140351255A1 (en) Method and system for recommending keyword based on semantic area
US20180173767A1 (en) System and method for facilitating queries via request-prediction-based temporary storage of query results
US20240311419A1 (en) Access points for maps
CN109684093A (zh) 数据处理方法及系统
US9948742B1 (en) Predictive caching of media content
Sakhdari et al. Edge computing: A systematic mapping study
US11223581B2 (en) Virtual agent portal integration of two frameworks
US20140006438A1 (en) Virtual agent response to customer inquiries
Corradi et al. Smartphones as smart cities sensors: MCS scheduling in the ParticipAct project

Legal Events

Date Code Title Description
E902 Notification of reason for refusal