KR20170102898A - 공유된 위치 데이터를 사용하는 서비스를 위한 요청의 실행 - Google Patents

공유된 위치 데이터를 사용하는 서비스를 위한 요청의 실행 Download PDF

Info

Publication number
KR20170102898A
KR20170102898A KR1020177020514A KR20177020514A KR20170102898A KR 20170102898 A KR20170102898 A KR 20170102898A KR 1020177020514 A KR1020177020514 A KR 1020177020514A KR 20177020514 A KR20177020514 A KR 20177020514A KR 20170102898 A KR20170102898 A KR 20170102898A
Authority
KR
South Korea
Prior art keywords
user
location
physical location
current physical
request
Prior art date
Application number
KR1020177020514A
Other languages
English (en)
Other versions
KR102411897B1 (ko
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 KR20170102898A publication Critical patent/KR20170102898A/ko
Application granted granted Critical
Publication of KR102411897B1 publication Critical patent/KR102411897B1/ko

Links

Images

Classifications

    • H04L67/18
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/53Network services using third party service providers
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3605Destination input or retrieval
    • G01C21/362Destination input or retrieval received from an external device or application, e.g. PDA, mobile phone or calendar application
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/01Social networking
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/20Monitoring the location of vehicles belonging to a group, e.g. fleet of vehicles, countable or determined number of vehicles
    • G08G1/202Dispatching vehicles on the basis of a location, e.g. taxi dispatching
    • H04L67/20
    • H04L67/28
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/52Network services specially adapted for the location of the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • 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/024Guidance services
    • 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
    • H04W4/206
    • 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/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • H04W4/21Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel for social networking applications

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • General Engineering & Computer Science (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)
  • Telephonic Communication Services (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

예시적인 방법, 장치, 및 시스템은, 제1 사용자와 연관된 제1 사용자 장치로부터, 제1 사용자의 현재 물리적 위치를 표현하는 위치 데이터를 수신한다. 제1 사용자의 현재 물리적 위치에 대한 요청은 제2 사용자와 연관된 제2 사용자 장치로부터 수신된다. 수신된 선택에 응답하여, 공유된 위치 데이터에 기반한 제1 사용자의 현재 물리적 위치는 제2 사용자 장치로 송신된다. 제3자 서비스의 선택이 제2 사용자 장치로부터 수신된다. 제1 사용자의 현재 물리적 위치는 제3자 서비스가 제1 사용자의 현재 물리적 위치로 서비스나 상품을 보내기 위한 요청 내에 제3자 서비스와 연관된 서버로 송신된다.

Description

공유된 위치 데이터를 사용하는 서비스를 위한 요청의 실행
본 명세서에 기술되는 다양한 실시예는 실시간으로 위치 데이터를 공유하는 것에 관한 것이다. 특히, 실시예는 네트워크 서비스의 사용자 사이에서 공유되는 실시간 위치 데이터에 기반하여 서비스를 위한 요청을 실행하는 것에 관한 것이다.
소셜 네트워킹 시스템은 사용자가 소셜 네트워크 내에서 표현되는 다양한 객체와 상호작용할 수 있게 한다. 예컨대, 소셜 네트워킹 시스템은, 사용자가 다른 사용자 또는 엔티티를 연결로 지정하거나 (그렇지 않다면, 다른 사용자 또는 엔티티로 연결하거나 그와 관계를 형성하고), 그들의 연결에 기여하고 상호작용하고, 미디어나 코멘트를 게시하고, 외부 컨텐츠로의 링크를 공유하고, 위치 데이터를 공유하고, 애플리케이션을 사용하고, 그룹에 가입하고, 이벤트에서의 참석을 리스팅 및 확인하고, 연결을 초대하고, 소셜 상호작용을 용이하게 하는 다른 작업을 수행하도록 허용한다. 또한, 외부 애플리케이션은 소셜 네트워킹 시스템의 서비스를 사용하여 인증된 사용자가 외부 애플리케이션의 사용과 상술한 소셜 상호작용의 일부를 통합하도록 해준다. 유사한 상호작용은 또한, 다른 네트워크 서비스 내의 사용자 경험의 일부일 수 있다.
본 발명의 내용 중에 포함되어 있다.
예시적인 방법, 장치 및 시스템은, 제1 사용자와 연관된 제1 사용자 장치로부터, 제1 사용자의 현재 물리적 위치를 표현하는 위치 데이터를 수신한다. 예컨대, 모바일 장치는 모바일 장치에 의해 획득된 GPS(global positioning system) 데이터 또는 다른 위치 데이터를 서버로 업로드하는 위치-공유 애플리케이션을 실행할 수 있다. 실시예는 제2 사용자와 연관된 제2 사용자 장치로부터 제1 사용자의 현재 물리적 위치에 대한 요청을 수신한다. 수신된 선택에 응답하여, 공유된 위치 데이터에 기반하는 제1 사용자의 현재 물리적 위치는 제2 사용자 장치로 송신된다. 예컨대, 위치 공유 애플리케이션 내에서, 제1 사용자는 개별적으로 또는 그룹의 일부로서 제2 사용자가 제1 사용자의 위치를 볼 수 있도록 지정할 수 있다. 실시예는 제2 사용자 장치로부터 제3자 서비스의 선택을 더 수신한다. 제1 사용자의 현재 물리적 위치는, 제1 사용자의 현재 물리적 위치로 서비스나 상품을 전송하기 위해 제3자 서비스에 대한 요청 내의 제3자 서비스와 연관된 서버로 송신된다. 예컨대, 제2 사용자는 카 서비스를 선택할 수 있고, 본 명세서에 기술된 실시예가 카 서비스가 제1 사용자를 픽업하고, 제2 사용자를 제1 사용자에게 데려가는 등을 요청하도록 명령할 수 있다.
다른 실시예로, 캐러밴을 위한 내비게이션을 제공하는 요청이 수신된다. 예컨대, 제1 및 제2 사용자는 2개의 상이한 차량에서 여행 중일 수 있다. 하나의 사용자는 캐러밴을 끌고 다른 사용자는 팔로워가 될 것이다. 제1 및 제2 사용자 사이에서 공유되는 위치 데이터를 사용하여, 실시예는 리더가 여행함에 따라 리더로 향하는 정기적으로 업데이트된 루트를 팔로워에게 제공한다. 실시예는 또한, 리더가 목적지를 입력하고 목적지를 팔로워와 공유하게 할 수 있다. 팔로워는 목적지를 수신하고 리더를 팔로우하는 것에서 최종 목적지로의 맵핑된 루트로 라우팅을 변경할 수 있다. 추가로, 실시예는 팔로워 및 리더가 역할을 바꿀 수 있게 하여서, 리더가 팔로워가 되고 팔로워가 리더가 되도록 한다. 실시예는 또한, 사용자가 캐러밴 내비게이션 사용자 인터페이스 내에서 메시지나 통화를 통해 쉽게 통신할 수 있게 한다.
또 다른 실시예로, 제1 및 제2 사용자를 위해 제안된 만남 위치를 제공하기 위한 요청이 수신된다. 예컨대, 요청은 카테고리, 가령 레스토랑, 카페, 바 등을 포함할 수 있다. 실시예는 제1 및 제2 사용자의 공유된 위치들 사이의 중간 지점을 결정한다. 실시예는 사용자 중 하나 또는 둘 모두가 자주 방문했거나 아니면 사용자 선호도를 충족하는 것으로 결정된 중간 지점 영역에서의 하나 이상의 위치를 더 결정한다. 결정된 하나 이상의 위치는 추천으로 제시된다.
다른 특징 및 이점은 첨부 도면 및 상세한 설명으로부터 명백해질 것이다.
본 발명의 내용 중에 포함되어 있다.
본 발명은 예로서 설명되고 첨부도면의 도면들로 제한되지 않으며, 유사한 참조번호는 유사한 구성요소를 나타낸다: 
도 1은 네트워크 서비스의 사용자 사이에서 공유되는 실시간 위치 데이터에 기반하여 서비스에 대한 요청을 실행하는 소셜 네트워킹 시스템의 예시적인 네트워크 환경을 도시한다.
도 2는 네트워크 서비스의 사용자 사이에서 공유되는 실시간 위치 데이터에 기반하여 서비스에 대한 요청을 실행하는데 사용되는 소셜 네트워크 데이터의 예시적인 그래프를 도시한다.
도 3a-d는 네트워크 서비스의 사용자 사이에서 공유되는 실시간 위치 데이터에 기반하여 서비스에 대한 요청을 실행하는 예시적인 방법을 도시한다.
도 4는 공유된 사용자 위치 데이터를 포함하는 예시적인 사용자 인터페이스를 도시한다.
도 5는 선택된 사용자의 공유되는 사용자 위치 데이터를 포함하는 예시적인 사용자 인터페이스를 도시한다.
도 6은 선택된 사용자의 위치 데이터에 기반하여 실행될 수 잇는 서비스의 메뉴를 포함하는 예시적인 사용자 인터페이스를 도시한다.
도 7은 제1 및 제2 사용자의 공유된 위치 사이에서 카 서비스에 대한 추정 요금을 포함하는 예시적인 사용자 인터페이스를 도시한다.
도 8은 제1 및 제2 사용자의 공유된 위치 사이에서 카 서비스를 요청하기 위한 예시적인 사용자 인터페이스를 도시한다.
도 9는 사용자 사이에서 공유되는 위치 데이터에 기반하여 캐러밴 내비게이션을 위한 옵션들의 메뉴를 포함하는 예시적인 사용자 인터페이스를 도시한다.
도 10은 캐러밴 내비게이션 서비스 내의 맵핑된 루트를 포함하는 예시적인 사용자 인터페이스를 도시한다.
도 11은 사용자 사이에서 공유되는 위치 데이터에 기반하여 추천된 만남 장소를 생성하고 공유하기 위한 예시적인 사용자 인터페이스를 도시한다.
도 12는 네트워크 서비스의 사용자 사이에서 공유되는 실시간 위치 데이터에 기반하여 서비스에 대한 요청을 실행하는 예시적인 프로세싱 시스템을 블록도 형태로 도시한다.
본 명세서에 기술된 실시예는 네트워크 서비스의 사용자 사이에서 공유되는 실시간 위치 데이터에 기반하여 서비스에 대한 요청을 실행한다. 특히, 실시예는 위치 공유 애플리케이션 내에서 사용자가 다른 사용자를 선택하고 선택된 사용자에 의해 공유되는 위치 데이터에 기반하여 카 서비스를 요청하거나, 선택된 사용자에 의해 공유되는 위치 데이터에 기반하여 아이템을 선택된 사용자에게 전달하거나, 캐러밴에 대한 내비게이션(예컨대, 캐러밴 팔로워로부터 캐러밴 리더로 향하는 정기적으로 업데이트되는 루트)을 요청하거나, 및/또는 선택된 사용자를 만나기 위한 장소에 대한 추천을 요청하게 할 수 있다. 결과적으로, 실시간 위치 데이터 공유 플랫폼의 사용자들은, 다른 사용자의 위치를 수동적으로 보는 대신에 공유된 위치 데이터에 기반하여 서비스에 대한 요청을 자동화하는데 플랫폼을 이용할 수 있다.
이하의 설명에서, 다수의 구체적인 세부 사항이 설명된다. 하지만, 본 발명의 실시예는 이러한 구체적인 세부사항 없이 실시될 수 있음이 이해된다. 소셜 네트워킹 시스템이 프로모션 구성 및 용이화의 실시예를 기술하는데 사용되는 한편, 이러한 컨셉은 일반적으로 다른 네트워크 서비스/엔티티, 웹사이트 등에 적용될 수 있음이 이해될 것이다. 본 명세서에서 "일실시예(one embodiment)", "실시예(an embodiment)", "예시적인 실시예(an exemplary embodiment)" 등에 대한 언급은, 기술된 실시예가 특정 구성, 구조, 또는 특징을 포함할 수 있지만, 모든 실시예가 특정 구성, 구조, 또는 특징을 필수적으로 포함하지 않을 수 있음을 나타낸다. 또한, 이러한 구절은 필수적으로 동일한 실시예를 언급하는 것은 아니다. 추가로, 특정 구성, 구조 또는 특징이 실시예와 연계하여 기술될 때, 이는 명시적으로 기술되는지 여부와 무관하게 다른 실시예와 연계하여 이러한 구성, 구조 또는 특징에 영향을 줄 수 있음이 통상의 기술자의 주지사항 범위 내인 것으로 판단된다.
도 1은 네트워크 서비스의 사용자 사이에서 공유되는 실시간 위치 데이터에 기반하여 서비스에 대한 요청을 실행하는 소셜 네트워킹 시스템(130)의 예시적인 네트워크 환경(100)을 도시한다. 소셜 네트워킹 시스템(130)은 본 발명의 실시예에 따라 소셜 네트워킹 시스템(130)의 다른 사용자들(102A-102N) 및 엔티티와 통신하고 상호작용하는 능력을 그것의 사용자들(102A-102N)에게 제공한다. 사용자 장치(104A-104N)는 소셜 네트워킹 시스템(130)과 상호작용하는 것이 가능하게 되고, 사용자 입력을 수신할 뿐만 아니라 네트워크(예컨대, 네트워크(121))를 통해 데이터를 송신 및/또는 수신할 수 있는 임의의 타입의 컴퓨팅 장치일 수 있다. 예시적인 사용자 장치(104A-104N)는 종래의 컴퓨터 시스템, 가령 데스크톱이나 랩톱 컴퓨터를 포함하거나, 또는 컴퓨터 기능을 갖는 장치, 가령 PDA(Personal Digital Assistants), 셀룰러 또는 휴대전화, 스마트폰, 차 내부-또는 외부 내비게이션 시스템, 게임 장치, 또는 본 명세서에서 설명되는 하나 이상의 실시예를 구현하도록 프로그래밍된 다른 전자 장치를 포함할 수 있다.
일실시예로, 사용자 장치(예컨대, 104A)는 사용자 장치(104A)의 사용자(102A)가 소셜 네트워킹 시스템(130)과 상호작용할 수 있게 하는 사용자 애플리케이션(예컨대, 105A)을 실행할 수 있다. 예컨대, 사용자 애플리케이션(105A)은 웹 브라우저 애플리케이션(예컨대, Microsoft Windows Internet Explorer, Mozilla Firefox, Apple Safari, Google Chrome, Opera 등)일 수 있다. 일실시예로, 사용자 애플리케이션(105A)은 특수 목적용 클라이언트 애플리케이션(예컨대, iPhone 또는 iPad 용 Facebook 등)이고, 일실시예로, 사용자 애플리케이션(105A)은 사용자 장치(l04A)의 네이티브 플랫폼 또는 운영 시스템, 가령 Windows®, Mac OSX®, iOS® 또는 ANDROID™이며, 이는 API 요청 서버(125)를 통해 소셜 네트워킹 시스템(130)과 직접 인터페이스하기 위해 API(Application Programming Interface)를 이용할 수 있다.
사용자 장치(104A-104N)는 네트워크(121) 또는 네트워크의 집단, 가령 인터넷, 기업체 인트라넷, 가상 사설 네트워크(VPN), 로컬 영역 네트워크(LAN), 무선 로컬 영역 네트워크(WLAN), 셀룰러 네트워크, 광역 네트워크(WAN), MAN(Metropolitan Area Network) 또는 둘 이상의 이러한 네트워크의 조합을 통해 소셜 네트워킹 시스템(130)과 통신하도록 구성된다. 네트워크(121)는 유선, 무선 또는 둘 모두의 조합일 수 있다. 일실시예로, 네트워크(121)는 표준 통신 기술 및/또는 프로토콜을 사용한다.
일부 실시예로, 소셜 네트워킹 시스템(130)은, 사용자와 다른 사용자(102A-102N) 및/또는 객체 사이의 연결뿐만 아니라 사용자(102A-102N)와 연관된 사용자 프로필 및/또는 다른 객체를 저장하는 하나 이상의 컴퓨팅 장치를 포함한다. 사용자(102A-102N)는, 소셜 네트워킹 시스템(130)을 사용하여, 그들이 연결되고자 하는 소셜 네트워킹 시스템(130)의 다른 사용자 또는 객체로의 연결을 추가할 수 있고, 이러한 다른 사용자 또는 객체와 또한, 상호작용할 수 있다. 소셜 네트워킹 시스템(130)의 사용자는 개인(예컨대, 사람)이며, 객체는 엔티티(가령, 비지니스, 조직, 대학, 제조자, 브랜드, 유명인 등), 컨셉, 또는 위치, 앨범, 기사, 책, 영화, 음식 등을 포함하지만 이들로 제한되지 않는 다른 인간 이외의 것들이다.
사용자, 객체, 및 사용자 및/또는 객체 사이의 연결에 관한 저장된 데이터에 기반하여, 소셜 네트워킹 시스템(130)은 복수의 에지에 의해 상호연결되는 복수의 노드를 포함하는 "소셜 그래프"를 소셜 그래프 스토어(140)에 생성하고 관리한다. 소셜 그래프의 각 노드는 다른 노드에 대해 행위를 하거나 및/또는 다른 노드가 행위를 가할 수 있는 사용자 또는 객체를 표현한다. 소셜 그래프에서 2개의 노드 사이의 에지는 노드 중 하나가 다른 노드에서 수행했던 행위로부터 발생할 수 있는 2개의 노드 사이의 특정 종류의 연결관계를 표현한다. 예컨대, 사용자가 친구로서 추가 사용자를 식별할 때, 제1 사용자를 표현하는 노드와 추가 사용자를 표현하는 추가 노드를 연결하는 소셜 그래프 내 에지가 생성된다. 생성된 에지는 사용자들이 친구임을 표시하는 연결 타입을 가진다. 다양한 노드가 서로 상호작용함에 따라, 소셜 네트워킹 시스템(130)은 상호작용을 반영하도록 다양한 노드들을 연결하는 에지들을 추가하거나, 제거하거나 아니면 수정한다. 예시적인 소셜 그래프가 도 2를 참조하여 기술된다.
이러한 기능을 제공하기 위해, 소셜 네트워킹 시스템(130)의 실시예는 API 요청 서버(125), 웹 서버(123), 메시지 서버(124), 행위 로거(126), 및 데이터 스토어(101)의 세트를 포함한다. 본 실시예는, 데이터 스토어(101) 내에 노드 스토어(142) 및 프로모션 스토어(144)를 포함하는 소셜 그래프 스토어(140)뿐만 아니라 컨텐츠 스토어(146), 행위 로그(148), 사용자 프로필 데이터 스토어(152) 및 객체 데이터 스토어(154)를 또한, 포함한다. 다른 실시예로, 소셜 네트워킹 시스템(130)은 다양한 애플리케이션을 위한 추가 모듈, 보다 적은 모듈 또는 다른 모듈을 포함할 수 있다. 가령 프로세서, 메모리, 보안 메커니즘, 부하 균형기(load balancers), 장애복구 서버(failover servers), 관리 및 네트워크 운영 콘솔 등과 같은 종래의 컴포넌트들은 시스템의 세부사항을 불명확하게 만들지 않기 위해 도 1에서 도시되지 않는다.
본 명세서에 기술되는 바와 같이, 소셜 네트워킹 시스템(130)은 그것의 사용자(102A-102N)가 서로 통신하거나 상호작용하며 컨텐츠에 액세스할 수 있게 해준다. 소셜 네트워킹 시스템(130)은 사용자 프로필 데이터 스토어(152)에 사용자 프로필을 저장한다. 사용자 프로필은 사용자에 의해 명시적으로 공유되었던 사용자에 대한 선언형 정보를 포함하고, 소셜 네트워킹 시스템(130)에 의해 추론된 프로필 정보를 또한, 포함할 수 있다. 일실시예로, 사용자 프로필은 소셜 네트워킹 시스템(130)의 해당 사용자의 하나 이상의 속성을 각각 설명하는 다수의 데이터 필드를 포함한다. 가령, 경력, 학력, 성별, 관계 상태, 취미, 위치, 다른 선호도 등과 같은 인명 정보, 인구학적 정보 및 다른 타입의 설명적 정보를 포함하는, 사용자 프로필 데이터 스토어(152)에 저장된 사용자 프로필 정보는 소셜 네트워킹 시스템(130)의 사용자(102A-102N)를 기술한다. 또한, 사용자 프로필은 사용자에 의해 제공되는 정보를 저장할 수 있다. 예컨대, 사용자에 의해 제공되는 이미지 또는 비디오는 또한, 사용자 프로필 내에 저장될 수 있다. 다른 실시예로, 오로지 사용자의 텍스트 데이터만이 사용자 프로필에 저장되고 다른 데이터(예컨대, 이미지, 비디오)는 멀티미디어 스토어에 저장되고 (예컨대, 사용자의 사용자 식별자를 멀티미디어 컨텐츠의 이미지/비디오 식별자와 연관시킴으로써) 사용자와 연관된다. 특정 실시예로, 소셜 네트워킹 시스템(130)의 사용자를 포함하거나 도시하는 이미지 또는 비디오는 이들 사용자의 식별 정보로 "태그(tag)"될 수 있다. 사용자 프로필 데이터 스토어(152) 내 사용자 프로필은 또한, 컨텐츠 스토어(146) 내 컨텐츠 아이템에 대해 수행되고 에지 스토어(144)에 저장되는 해당 사용자에 의한 행위(사용자 프로필 또는 행위 로그(148)에 저장됨)에 대한 레퍼런스를 관리할 수 있다. 사용자는 또한, 사용자의 사용자 프로필에 저장되는 하나 이상의 개인정보 설정을 명시할 수 있다. 개인정보 설정은, 소셜 네트워킹 시스템(130)이나 소셜 네트워킹 시스템(130)의 다른 사용자들이 그 사용자의 사용자 프로필로부터 액세스하는 것이 허용되는 정보를 제한한다.
웹 서버(123)는, 사용자 장치(104A-104N)로부터 웹 페이지 또는 다른 웹-관련 컨텐츠, 가령 이미지 파일, 오디오 파일, 비디오 파일, Java 애플릿, 플래시, XML, JavaScript, CSS(Cascading Style Sheets) 등에 대한 요청을 수락하거나 및/또는 사용자 장치(104A-104N)로 송신함으로써 네트워크(121)를 통해 소셜 네트워킹 시스템(130)을 하나 이상의 사용자 장치(104A-104N)와 링크한다. 일부 실시예로, 웹 서버(123)는 네트워크(121)에 걸쳐 메시지를 전송 및 수신하기 위해 하나 이상의 네트워크 인터페이스(127)의 세트를 이용하도록 구성된다. 일부 실시예로, 웹 서버(123)는 (추가로 또는 대안으로) 사용자 장치(104A-104N)와 통신하기 위해 메시지 서버(124)(예컨대, 전용 서버 엔드 스테이션, 전용 소프트웨어 애플리케이션 등)를 이용하며, 메시지 서버는 인스턴트 메시지, 큐잉된 메시지(예컨대, 이메일), 텍스트 및 SMS(Short Message Service) 메시지를 전송 및/또는 수신하거나 임의의 다른 적절한 메시징 기술을 이용하도록 동작한다.
일부 실시예로, 소셜 네트워킹 시스템(130)을 통해 사용자에 의해 다른 사용자로 전송된 메시지는, 메시지를 수신하는 소셜 네트워킹 시스템(130)의 다른 사용자, 예컨대, 사용자의 특정 연결(소셜 그래프에서 직접 연결된 사용자, 소셜 그래프에서 하나의 홉(hop)보다 많이 떨어져 있는 다른 사용자 등)에 의해 열람될 수 있다. (메시지의 수신자를 제외한) 소셜 네트워킹 시스템(130)의 다른 사용자에 의해 열람될 수 있는 메시지 타입의 예시는 "게시물"이라고 일반적으로 알려진다. 일부의 실시예로, 사용자는 다른 사용자에 의해서만 오직 검색될 수 있는 개인 메시지를 또 다른 사용자에게 송신할 수 있다.
사용자가 소셜 네트워킹 시스템(130) 내에서 행위를 할 때, 행위는 사용자 및/또는 소셜 네트워킹 시스템(130)의 임의의 개인정보 설정 및 제한에 따라, 행위 로거(126)에 의해 행위 로그(148)에 기록될 수 있다. 일실시예로, 소셜 네트워킹 시스템(130)은 행위 로그(148)를 엔트리들의 데이터베이스로서 관리한다. 행위가 소셜 네트워킹 시스템(130)에서 행해질 때, 소셜 네트워킹 시스템(130)은 그 행위에 대한 엔트리를 행위 로그(148)에 추가할 수 있다. 다양한 실시예에 따르면, 행위 로거(126)는 소셜 네트워킹 시스템(130)의 내부 및/또는 외부에서 사용자 행위에 관한 웹 서버(123)로부터의 통신을 수신할 수 있다. 행위 로거(126)는 행위 로그(148)를 이러한 사용자 행위에 관한 정보로 채운다. 이런 정보는 사용자와 관련된 개인정보 설정의 대상일 수 있다. 특정 사용자가 다른 사용자에 대하여 행한 임의의 행위는 가령 행위 로그(148)와 같이 데이터베이스나 다른 데이터 저장소에 관리되는 정보를 통해 각 사용자의 프로필과 관련된다. 행위 로그(148)에 저장될 수 있는 소셜 네트워킹 시스템(130)에서 행해진 행위의 예시는, 다른 사용자로의 연결을 추가하는 것, 게시물을 생성하거나 아니면 메시지를 다른 사용자에게 전송하는 것, 다른 사용자의 메시지를 읽는 것, 다른 사용자와 연관되거나 그에 의해 생성된 컨텐츠(예컨대, 담벼락 게시물, 이미지, 비디오)를 열람하는 것, 다른 사용자에 의해 게시된 이벤트에 참석하는 것, 다른 사용자와 함께 사진에 태그되는 것 등을 포함하지만, 이들로 제한되지는 않는다. 일부 실시예로, 특정 행위는 하나보다 많은 사용자와 연계하여 기술되며, 이들 행위는 이러한 사용자와 또한, 연관되며, 행위 로그(148)에 저장된다.
사용자는 소셜 네트워킹 시스템(130)에서 다양한 객체와 상호작용할 수 있는데, 이는 게시물에 대해 코멘트하기, 링크를 공유하기 및 모바일 장치를 통해 물리적 위치로 체크인하기, 순서대로 컨텐츠 아이템에 접근하기 또는 다른 상호작용들을 포함한다. 이러한 행위를 기술하는 정보는 행위 로그(148)에 저장된다. 행위 로그(148)에 포함되는 소셜 네트워킹 시스템(130)에서의 객체와의 상호작용의 추가적인 예들은 소셜 네트워킹 시스템(130)으로 로그인하기, 사진 앨범에 대해 코멘트하기, 사용자 사이에서 통신하기, 각 엔티티의 페이지를 "좋아요"함으로써 가수 또는 브랜드의 팬이 되기, 이벤트를 캘린더에 추가하기, 그룹에 가입하기, 이벤트를 생성하기, 애플리케이션을 허용하기, 애플리케이션을 사용하기 및 거래를 체결하기를 포함한다. 추가로, 행위 로그(148)는 소셜 네트워킹 시스템(130)뿐 아니라 소셜 네트워킹 시스템(130)에서 동작하는 다른 애플리케이션에서 광고와 사용자의 상호작용을 기록한다. 일부의 실시예로, 행위 로그(148)로부터의 데이터는 사용자의 관심사 또는 기호를 추론하는데 사용되며, 사용자 프로필에 포함되는 관심사를 증강시키고 사용자 기호의 더 완전한 이해를 가능하게 한다.
행위 로그(148)는, 소셜 네트워킹 시스템(130)으로 통신되는 외부 애플리케이션(150)(예컨대, 웹사이트) 상의 행위뿐만 아니라 소셜 네트워킹 시스템(130) 상에서의 다른 사용자 행위를 추적하기 위해 소셜 네트워킹 시스템(130)에 의해 사용될 수 있다. 예컨대, 소셜 네트워킹 시스템(130)은 사용자가 외부(예컨대, 제3자) 애플리케이션(150)(예컨대, 웹사이트), 외부 저장소(155), 및/또는 외부 서버(115)(예컨대, 서버 엔드 스테이션)와 상호작용하도록 허용할 수 있다. API 요청 서버(125)는 외부 시스템(예컨대, 외부 서버(115)의 외부 애플리케이션(150) 및/또는 사용자 장치들(104A-104N)의 사용자 애플리케이션(105A))이 API 호출을 발행함으로써 소셜 네트워크 시스템(130)으로부터 정보를 액세스하거나 소셜 네트워킹 시스템(130)으로 정보를 송신하도록 할 수 있다. 소셜 네트워킹 시스템(130)에 의해 제공되는 정보는, 사용자의 개별 개인정보 설정에 따라 사용자의 사용자 프로필 정보 또는 연결 정보를 포함할 수 있다. 예컨대, 시스템(예컨대, 외부 애플리케이션(150))은, 사용자를 대신해 소식을 출간하고, (사용자에 의해 그렇게 할 수 있다는 허가가 부여된 후) 사용자에 관한 정보를 요청하고 사용자를 대신해 사진을 업로드하는 등을 위해 네트워크(121)를 통하여 소셜 네트워킹 시스템(130)으로 API 요청을 전송할 수 있다. API 요청은 API 요청 서버(125)에 의해 소셜 네트워킹 시스템(130)에서 수신되고, API 요청 서버(125)는 이후 API 요청이 원하는 행위를 수행하고, API 요청에 대한 적절한 응답을 결정하고, 및 네트워크(121)를 통해 요청하는 애플리케이션(150)으로 다시 이러한 응답을 전송함으로써 요청을 프로세싱한다.
컨텐츠 스토어(146)는 사용자 프로필과 연관된 컨텐츠 아이템, 가령 이미지, 비디오, 및/또는 오디오 파일을 저장한다. 컨텐츠 스토어(146)로부터의 컨텐츠 아이템은 사용자 프로필이 열람될 때 또는 사용자 프로필과 관련된 다른 컨텐츠가 열람될 때 디스플레이될 수 있다. 예컨대, 디스플레이되는 컨텐츠 아이템은 사용자 프로필과 관련된 이미지 또는 비디오를 보여줄 수 있거나 사용자의 상태를 설명하는 텍스트를 보여줄 수 있다. 추가로, 다른 컨텐츠 아이템은 사용자가 다른 사용자들 또는 엔티티에 대한 연결을 확장하거나, 시스템으로 새로운 사용자들을 초대하거나, 소셜 네트워킹 시스템(130)의 사용자, 객체, 활동 또는 기능에 관한 컨텐츠를 디스플레이하여 소셜 네트워크 시스템(130)과의 상호작용을 증가시키도록 장려함으로써 사용자 참여를 용이하게 할 수 있다. 소셜 네트워킹 컨텐츠 아이템의 예들은 제안된 연결관계나 다른 행위들을 수행하는 제안, 소셜 네트워킹 시스템(130)에 제공되거나 그에 의해 관리되는 미디어(예컨대, 사진, 비디오), 소셜 네트워킹 시스템(130)으로 사용자가 게시한 상태 메시지나 링크, 이벤트, 그룹, (예컨대, 단체 또는 상업적 기관을 표현하는) 페이지 및 소셜 네트워킹 시스템에 의해 제공되거나 이를 통해 접근가능한 임의의 다른 컨텐츠를 포함한다.
컨텐츠 스토어(146)는 또한, 소셜 그래프 스토어(140)에 포함된 엔티티와 연관되는 하나 이상의 페이지를 포함한다. 엔티티는 소셜 네트워킹 시스템(130)의 비-개인 사용자, 가령 비지니스, 벤더(vendor), 단체, 또는 대학일 수 있는 객체 타입이다. 하지만, 본 발명의 일부 실시예로, 엔티티는 유명인이나 다른 잘 알려진 개인을 표현할 수 있고, 따라서 사람에 대한 엔티티 객체 노드는 소셜 그래프에서 존재하여(그 개인에 대한 "브랜드"로서의 역할을 하고 아마도 다른 사용자가 "좋아요"할 수 있는 연관 페이지를 가지며), 또한, 동일한 사람에 대한 사용자 노드가 소셜 그래프에서 존재할 수 있어서 (그 사람의 개인 계정에 대한 표현으로서의 역할을 한다). 페이지는 엔티티와 연관된 컨텐츠 및 컨텐츠를 소셜 네트워킹 시스템(130)의 사용자에게 제시하기 위한 명령어를 포함한다. 예컨대, 페이지는, 어떻게 컨텐츠를 페이지를 열람하는 사용자에게 제시할지를 기술하는 정보뿐만 아니라 (객체 데이터 스토어(154)로부터의) 엔티티의 저장된 컨텐츠와 연관된 컨텐츠를 식별한다.
도시된 실시예에서, 소셜 네트워킹 시스템(130)은 사용자 사이에서 공유된 실시간 위치 데이터에 기반하여 서비스에 대한 요청을 실행하기 위한 위치 서비스 모듈(129)을 포함한다. 대안적 실시예로, 위치 서비스 모듈(129)은 외부 서버(115)의 일부이다. 예컨대, 위치 서비스 모듈(129)은 외부 애플리케이션(150)에 의해 구현될 수 있다. 일실시예로, 위치 서비스 모듈(129)은 위치-기반 요청의 구성을 위해 복수의 선택가능한 요소를 포함하는 그래픽 사용자 인터페이스(GUI)를 생성한다. GUI는 사용자 장치(104)로 송신되고 그에 의해 디스플레이된다. GUI 내의 요소의 선택은 사용자 장치(104)로부터 수신되고 본 명세서에 기술되는 위치-기반 서비스를 실행하는데 사용된다. 위치-기반 서비스의 실행은 도 3 내지 11을 참조하여 본 명세서에서 기술된다.
도 2는 네트워크 서비스의 사용자 사이에서 공유되는 실시간 위치 데이터에 기반하여 서비스에 대한 요청을 실행하는데 사용되는 소셜 네트워크 데이터의 예시적인 그래프(200)를 도시한다. 그래프(200)에서, 객체는 원으로 도시되고, 행위는 원들 사이의 라벨 표시된 연결관계로 도시된다. 소셜 네트워크의 개발자 또는 해당 소셜 네트워크 애플리케이션은 사용자가 소셜 네트워크 및/또는 그 애플리케이션과 상호작용할 수 있는 다른 방식들을 표현하는 행위를 정의한다. 사용자가 행위를 수행하면, 사용자와 객체 사이의 연결이 만들어진다. 예컨대, 사용자 A는 소셜 네트워크 내에서 다수의 행위를 수행하여, 그가 이전에 Boston에 거주했고, 현재 Washington D.C.에 거주하며, Democrats와 ConLaw Lovers를 위한 그룹에 가입했고, White Sox를 팔로우하며, Pi Pizzeria에 체크인했고, 사용자 B와 친구임을 표시한다. 사용자 B 및 사용자 C는 또한, 그래프(200) 내에서 객체와 관련하여 다수의 행위를 수행하였다.
일실시예로, 사용자들은 사용자 프로필(205-215)에 신상 정보를 추가할 수 있다. 일실시예로, 사용자가 입력하지 않은 신상 정보에 대해, 소셜 네트워크 애플리케이션은 사용자의 행위, 연결관계 및/또는 연결관계의 행위에 기반하여 추정할 수 있다. 예컨대, 사용자 B는 사용자 프로필(210)에 모교를 입력하지 않았다. 소셜 네트워크 애플리케이션은 사용자 B의 연락처, 활동, 거주 도시 등으로부터 사용자 B의 모교가 Brigham Young 대학 및 Harvard 대학 중 하나 또는 모두일 가능성이 있다고 결정할 수 있다. 일실시예로, 사용자 프로필(205-210)은 가령 다른 사용자들과의 관계, 사용자가 근무했던 장소, 사용자 관심사 등과 같은 추가 정보를 포함한다.
일실시예로, 사용자는 다른 사용자/엔티티의 행위에 대해 피드백을 제공할 수 있다. 결국, 행위는 또한, 행위가 가해질 수 있는 객체로 여겨진다. 예컨대, 사용자 B는 음악가, The Killers의 음악을 청취하였다. 결국, 소셜 네트워킹 시스템은, 사용자 B가 음악가, The Killers의 음악을 청취했음을 표시하는, 사용자 B와 연관된 내러티브(narrative)를 (예컨대, 뉴스피드, 사용자 B의 프로필 등에) 게시한다. 뉴스피드, 사용자 B의 프로필, 또는 다른 형태의 소셜 네트워킹 시스템 발행물(들)을 볼 때, 소셜 네트워킹 시스템은 내러티브를 사용자 A에게 디스플레이한다. 소셜 네트워킹 시스템은 이후 사용자 B가 The Killers를 청취했음을 사용자 A가 "좋아요"한다고 표시하는, 사용자 A로부터의 입력을 수신한다.
일실시예로, 신상 데이터는 사용자와 객체 사이의 친밀성을 표시하는 가중치 또는 점수를 더 포함한다. 예컨대, 하나의 객체와 반복되는 사용자 행위는 사용자가 제한된 상호작용을 한 다른 객체보다 그 객체에 대해 친밀성이 더 강함을 나타낼 수 있다. 예컨대 사용자 A와 사용자 B 사이의 친구관계와 같은 1차 연결관계는 예컨대 사용자 A가 사용자 C와 친구인 사용자 B와 친구이기에 사용자 A와 사용자 C 사이에 2차 연결관계가 생성되는 것과 같이 2차 연결관계보다 친밀성이 더 강함을 나타낼 수 있다. 2명의 사용자가 결혼했다는 표시는 2명의 사용자가 친구들인 경우보다 더 강한 친밀성을 나타낼 수 있다. 추가로, 행위들/사용자들의 시간적 그리고 지리적 근접성은 친밀성에 대한 다른 예시적인 지표이다.
일실시예로, 위치 서비스 모듈(129)은 하나 이상의 위치-기반 서비스를 실행하기 위해 그래프(200)에 저장된 사용자 특징을 이용한다. 예컨대, 위치 서비스 모듈(129)은 (선택, 연결 타입, 친밀도 등에 기반하여) 위치 데이터를 공유하기 위한 개인정보 제어를 적용하기 위해 소셜 그래프(200) 내의 사용자 연결을 이용할 수 있다. 추가로, 위치 서비스 모듈(129)은, 예컨대, 본 명세서에 기술되는 바와 같은 사용자 피드백, 선호도, 체크인 등에 기반하여 제3자 서비스와 프로필 정보를 공유하거나, 위치 제안을 결정하기 위해 그래프(200)를 이용할 수 있다.
도 3a-d는 네트워크 서비스의 사용자 사이에서 공유되는 실시간 위치 데이터에 기반하여 서비스에 대한 요청을 실행하는 예시적인 방법(300)을 도시한다. 도 3a를 참조하면, 블록(302)에서 위치 서비스 모듈(129)은 제1 사용자의 현재 물리적 위치를 표현하는 위치 데이터를 수신한다. 예컨대, 모바일 장치(104)는 제1 사용자에 대한 사용자 계정과 연관되고, 계정은 위치 데이터의 공유를 허용하는 개인정보 제어를 포함한다. 모바일 장치(104)는, GPS(global positioning system) 데이터나 모바일 장치(104)에 의해 획득된 다른 위치 데이터를 위치 서비스 모듈(129)로 업로드하는 위치-공유 애플리케이션(105)을 실행한다.
블록(304)에서 위치 서비스 모듈(129)은 제2 사용자 계정과 연관된 제2 사용자 장치로부터 제1 사용자의 현재 물리적 위치에 대한 요청을 수신한다. 예컨대, 제2 사용자의 모바일 장치(104) 상에서 실행되는 위치 공유 애플리케이션(105)은, 위치 공유 애플리케이션(105) (또는 다른 애플리케이션(105) 내의 위치 공유 구성)을 오픈하거나 및/또는 애플리케이션(105) 내에서 제1 사용자의 표현을 선택하는 것에 응답하여 요청을 위치 서비스 모듈(129)로 송신한다.
블록(306)에서, 위치 서비스 모듈(129)은 제1 사용자의 현재 물리적 위치를 제2 사용자에게 송신한다. 예컨대, 위치 서비스 모듈(129)은 수신된 위치 데이터 또는 제1 사용자의 위치 데이터의 다른 표현을 제2 사용자의 모바일 장치로 송신한다.
블록(308)에서, 위치 서비스 모듈(129)은 제1 사용자의 현재 물리적 위치에 기반하여 서비스에 대한 요청을 제2 사용자 장치로부터 수신한다. 예시적인 위치-기반 서비스는 카 서비스, 상품 배달, 캐러밴 내비게이션, 및 만남 위치 제안을 포함하지만 이들로 제한되지는 않는다.
블록(310)에서, 위치 서비스 모듈(129)은 요청이 상품의 전달 또는 카 서비스 중 하나인지를 결정한다. 요청이 카 서비스 또는 상품의 전달에 대한 것이라면, 블록(312)에서 위치 서비스 모듈(129)은 요청이 카 서비스에 대한 것인지 아니면 상품의 전달에 대한 것인지를 결정한다. 요청이 상품의 전달에 대한 것이라면, 블록(314)에서 위치 서비스 모듈(129)은 전달 주소로서 제1 사용자의 현재 물리적 위치를 제3자 서버로 송신한다. 예컨대, 위치 서비스 모듈(129)은 주소를 제3자 쇼핑 또는 전달 플랫폼(150)으로 송신하기 위해 API(application programming interface)를 이용한다. 일실시예로, 위치 서비스 모듈(129)은 상품/전달을 위한 주문 정보와 함께 제1 사용자의 현재 물리적 위치를 송신한다. 대안으로, 위치 서비스 모듈(129)은 제2 사용자가 상품/전달을 위한 주문 정보를 입력할 것이란 기대 하에 제1 사용자의 현재 물리적 위치를 송신한다.
일실시예로, 위치 서비스 모듈(129)은 제1 사용자의 현재 물리적 위치와 함께 제1 사용자의 계정과 연관된 사용자 프로필 정보를 송신한다. 예컨대, 위치 서비스 모듈(129)은 전달을 더 용이하게 만들기 위해 (제1 사용자의 개인정보 설정이 허용한다면) 제1 사용자의 이름 및/또는 프로필 사진을 송신할 수 있다.
블록(316)에서, 위치 서비스 모듈(129)은 전달 요청을 완료하거나 제3자 애플리케이션을 런칭하기 위해 제2 사용자로부터 선택적으로 입력을 수신한다. 예컨대, 위치 서비스 모듈(129)은 전달 요청을 완료하거나 및/또는 전달 요청을 완료하도록 (소셜 네트워킹 시스템(130) 내에 있거나 소셜 네트워킹 시스템(130)의 외부에 있는) 제3자 애플리케이션을 런칭하기 위한 사용자 입력을 수신하는 사용자 인터페이스를 제시한다. 대안으로, 위치 서비스 모듈(129)은 제1 사용자의 현재 물리적 위치를 제3자 서버로 송신하는 것과 함께 전달 요청을 완료하거나 제3자 애플리케이션을 런칭한다.
요청이 카 서비스에 대한 것이라면, 방법(300)은 오프 페이지 커넥터 B를 통해 계속되며, 도 3b를 참조하여 기술된다. 요청이 전달이나 카 서비스에 대한 것이 모두 아니라면, 블록(318)에서 위치 서비스 모듈(129)은 요청이 캐러밴 내비게이션 또는 만남 장소 제안에 대한 것인지를 결정한다. 요청이 캐러밴 내비게이션에 대한 것이라면, 방법(300)은 오프 페이지 커넥터 C를 통해 계속되고 도 3c를 참조하여 기술된다. 요청이 만남 위치 제안에 대한 것이라면, 방법(300)은 오프 페이지 커넥터 D를 통해 계속되고 도 3d를 참조하여 기술된다.
도 3b를 참조하면, 블록(320)에서, 위치 서비스 모듈(129)은, 요청이 카 서비스가 제1 사용자를 픽업하는 것에 대한 것인지 아니면 카 서비스가 제2 사용자를 픽업하는 것에 대한 것인지를 결정한다. 예컨대, 위치 서비스 모듈(129)은 제2 사용자에게 카 서비스가 제1 사용자를 제2 사용자에게 데려가거나 또는 제2 사용자를 제1 사용자에게 데려가도록 요청하는 선택가능한 옵션을 제시할 수 있다. 일실시예로, 위치 서비스 모듈(129)은 제2 사용자에게 카 서비스가 목적지 없이 또는 제2 사용자의 현재 물리적 위치와는 상이한 목적지로 제1 사용자를 픽업하도록 요청하는 선택가능한 옵션을 제시한다.
요청이 카 서비스가 제1 사용자를 픽업하기 위한 요청이라면, 블록(322)에서 위치 서비스 모듈(129)은 제1 사용자의 현재 물리적 위치를 픽업 주소로서 카 서비스와 연관된 제3자 서버로 송신한다. 일실시예로, 위치 서비스 모듈(129)은 또한, 목적지 주소를 송신한다. 예컨대, 요청이 카 서비스가 제1 사용자를 제2 사용자에게 데려가기 위한 것이라면, 위치 서비스 모듈(129)은 제2 사용자의 현재 물리적 위치를 목적지 주소로서 송신한다. 일실시예로, 위치 서비스 모듈(129)은 또한, 제1 사용자의 현재 물리적 위치와 함께 제1 사용자의 계정과 연관된 사용자 프로필 정보를 송신한다. 예컨대, 위치 서비스 모듈(129)은, 카 서비스를 위한 운전자가 제1 사용자를 예정된 승객으로 식별할 수 있게 하는 제1 사용자의 이름 및/또는 프로필 사진을 (제1 사용자의 개인정보 설정에 의해 허용된다면) 송신할 수 있다.
요청이 카 서비스가 제2 사용자를 픽업하기 위한 것이라면, 블록(324)에서 위치 서비스 모듈(129)은 제2 사용자의 현재 물리적 위치를 픽업 주소로서 카 서비스와 연관된 제3자 서버로 송신한다. 일실시예로, 위치 서비스 모듈(129)은 또한, 목적지 주소를 송신한다. 예컨대, 요청이 카 서비스가 제2 사용자를 제1 사용자에게 데려가기 위한 것이라면, 위치 서비스 모듈(129)은 제1 사용자의 현재 물리적 위치를 목적지 주소로서 송신한다. 일실시예로, 위치 서비스 모듈(129)은 또한, 제2 사용자의 현재 물리적 위치와 함께 제2 사용자의 계정과 연관된 사용자 프로필 정보를 송신한다. 예컨대, 위치 서비스 모듈(129)은, 카 서비스를 위한 운전자가 제2 사용자를 예정된 승객으로 식별할 수 있게 하는 제2 사용자의 이름 및/또는 프로필 사진을 (제2 사용자의 개인정보 설정에 의해 허용된다면) 송신할 수 있다.
블록(326)에서, 위치 서비스 모듈(129)은 제3자 서버로부터 요금 추정치를 선택적으로 수신한다. 예컨대, 위치 서비스 모듈(129)이 (예컨대, 제1 사용자를 제2 사용자에게 데려가거나 그 역의 경우를 위해) 제3자 서버로 픽업 주소 및 목적지 주소 둘 모두를 송신한다면, 제3자 서버는 카 서비스 요청을 완료하기 전에 또는 그 일부로서 요금 추정치로 응답할 수 있다.
블록(328)에서, 위치 서비스 모듈(129)은 카 서비스 주문을 완료하거나 주문을 완료하기 위해 제3자 애플리케이션을 런칭하는 입력을 수신한다. 예컨대, 위치 서비스 모듈(129)은 카 서비스 주문을 완료하거나 및/또는 카 서비스 주문을 완료하기 위한 (예컨대, 소셜 네트워킹 시스템(130) 플랫폼 내에 또는 소셜 네트워킹 시스템(130)의 외부의) 제3자 애플리케이션을 런칭하는 사용자 입력을 수신하는 사용자 인터페이스를 제시한다.
블록(330)에서, 위치 서비스 모듈(129)은 제1 사용자에게 카 서비스 주문 확인을 선택적으로 송신한다. 예컨대, 위치 서비스 모듈(129)은 카 서비스 주문의 완료에 응답하여 주문 확인 정보를 수신할 수 있다. 제2 사용자가 카 서비스가 제1 사용자를 픽업할 것을 요청했다면, 위치 서비스 모듈(129)은 제1 사용자에게 요청을 알린다. 일실시예로, 알림은 확인 정보, 가령: 카 서비스 회사의 식별, 제1 사용자를 픽업할 카 서비스 차량의 식별, 제1 사용자를 픽업할 카 서비스 운전자의 식별 및/또는 카 서비스가 제1 사용자를 픽업할 추정 시간을 포함한다.
공유된 위치 데이터에 기반한 카 서비스에 대한 요청은 도 4 내지 8을 참조하여 본 명세서에 더 기술된다.
도 3c를 참조하면, 블록(332)에서 위치 서비스 모듈(129)은 제2 사용자에게 캐러밴 옵션을 제시한다. 예컨대, 위치 서비스 모듈(129)은 제2 사용자에게 캐러밴 목적지를 입력하거나, 캐러밴을 리드하거나, 캐러밴에서 제1 사용자를 팔로우하거나, 또는 제1 사용자에 의해 입력된 목적지로 내비게이션하는 선택가능한 입력을 제시한다.
블록(334)에서, 위치 서비스 모듈(129)은 제2 사용자 장치로부터 캐러밴 옵션 중 하나에 대한 선택을 수신한다. 블록(336)에서 수신된 선택이 캐러밴에 대한 목적지를 입력하는 것인지를 결정한다. 수신된 선택이 목적지를 입력하기 위한 요청이라면, 블록(338)에서 위치 서비스 모듈(129)은 목적지 주소를 수신한다. 예컨대, 사용자는 거리 주소, 랜드마크 또는 다른 위치 데이터를 GUI에서 제시되는 입력 박스로 입력할 수 있다. 대안으로, 목적지 주소의 수신은 위치 서비스 모듈(129)에 의해 이미 입력, 공유되거나 아니면 결정된 위치의 사용자 선택을 포함할 수 있다. 예컨대, 수신된 목적지 주소는 입력된 목적지의 이력으로부터의 위치 또는 다른 사용자의 공유된 위치일 수 있다.
일실시예로, 위치 서비스 모듈(129)은 목적지를 입력하는 사용자에게 캐러밴 내의 다른 사용자와 목적지를 공유하는 옵션을 제공한다. 예컨대, 사용자는 목적지를 공유하기 위해 메뉴로부터 옵션을 선택하거나, 박스를 체크하는 등을 할 수 있고, 선택에 응답하여, 위치 서비스 모듈(129)은 본 명세서에 추가로 기술되는 바와 같이 목적지를 다른 사용자에게 제공한다.
블록(340)에서, 위치 서비스 모듈(129)은 입력된 목적지로의 루트를 맵핑하고 루트를 캐러밴 내의 하나 이상의 사용자에게 제시한다. 예컨대, 위치 서비스 모듈(129)은 제2 사용자가 목적지를 입력하는 것에 응답하여 지도 및/또는 제2 사용자의 현재 위치로부터의 내비게이션 명령의 리스트를 생성한다. 수신된 선택이 (블록(336)에서) 제1 사용자가 입력한 것과 동일한 목적지로 내비게이션하는 것이라면, 위치 서비스 모듈(129)은 제2 사용자의 현재 위치로부터 제1 사용자에 의해 입력된 목적지로 향하는 내비게이션 명령의 리스트 및/또는 지도를 생성한다. 일실시예로, 위치 서비스 모듈(129)은 루트를 생성하기 위해 제3자 API를 이용한다.
수신된 선택이 (블록(336)에서) 목적지를 입력하기 위한 요청이 아니라면, 블록(342)에서, 위치 서비스 모듈(129)은 팔로워로서 제2 사용자로부터 리더로서 제1 사용자로 향하는 루트를 맵핑하고, 루트를 캐러밴 내의 사용자 중 하나 또는 둘 모두에게 제시한다. 예컨대, 제2 사용자가 캐러밴 내에서 제1 사용자를 팔로우하는 것을 선택한다면, 위치 서비스 모듈(129)은 제2 사용자(팔로워)로부터 제1 사용자(리더)로 향하는 루트를 맵핑한다. 제2 사용자가 캐러밴을 리드할 것임을 표시하는 선택을 제2 사용자가 입력한다면, 위치 서비스 모듈(129)은 제1 사용자(팔로워)로부터 제2 사용자(리더)로 향하는 루트를 맵핑하고 제시한다. 일실시예로, 위치 서비스 모듈(129)은 오로지 팔로워에게 팔로워로부터 리더로 향하는 루트를 제시한다. 다른 실시예로, 위치 서비스 모듈(129)은 또한, 팔로워가 취하는 경로, 캐러밴 내의 사용자 간의 거리 등의 표시로서 루트를 리더에게 제시한다.
블록(344)에서, 위치 서비스 모듈(129)은 위치 서비스 모듈(129)이 제2 사용자 장치로부터 새로운 캐러밴 옵션의 선택을 수신했는지를 결정한다. 일실시예로, 위치 서비스 모듈(129)은 리더 또는 팔로워가 내비게이션을 취소하거나 새로운 선택을 할 수 있게 하도록 캐러밴 내비게이션 GUI 내에 선택가능한 사용자 인터페이스 객체를 제시한다. 예컨대, 사용자는 역할(리더에서 팔로워로 및 그 역의 경우)을 변경하거나, 목적지를 변경하거나, 내비게이션/캐러밴을 시작한 후 목적지를 입력하거나, 캐러밴과 목적지를 공유하거나, 단순히 리더를 팔로우하는 것에서 입력된/공유된 목적지로 내비게이션하는 것으로 변경하는 등을 할 수 있다.
일실시예로, 위치 서비스 모듈(129)은 리더 또는 팔로워가 캐러밴 내에서 다른 사용자와 통신할 수 있도록 캐러밴 내비게이션 GUI 내에서 선택가능한 사용자 인터페이스 객체를 제시한다. 예컨대, 위치 서비스 모듈(129)은 사용자가 캐러밴 내에서 사용자들 사이에서 전화 또는 VOIP(voice over internet protocol) 통화를 개시하고, 음성 메시지를 기록하고 캐러밴 내의 다른 사용자에게 전송하고, 캐러밴 내의 다른 사용자에게 텍스트 메시지를 작성하고, 캐러밴 내의 다른 사용자에게 이미지 또는 다른 미디어를 전송하는 등을 할 수 있게 한다.
위치 서비스 모듈(129)이 새로운 캐러밴 옵션의 선택을 수신했다면, 방법(300)은 블록(336)으로 되돌아간다. 위치 서비스 모듈(129)이 새로운 캐러밴 옵션의 선택을 수신하지 않았다면, 블록(346)에서 위치 서비스 모듈(129)은 제1 및 제2 사용자로부터의 공유된 위치 데이터에 기반하여 정기적인 간격으로 팔로워로부터 리더로의 루트를 업데이트한다. 예컨대, 리더 및/또는 팔로워는 이동 중일 수 있고, 따라서 팔로워가 취하는 루트는 리더 및/또는 팔로워의 새로운 위치를 반영하도록 정기적으로 업데이트된다.
일실시예로, 캐러밴 내비게이션은 사용자가 목적지에 도착하면 종료한다. 예컨대, 위치 서비스 모듈(129)은 목적지와 일치하는 현재 물리적 위치를 공유한 사용자를 위한 루트의 정기적 업데이트를 종료한다. 일실시예로, 위치 서비스 모듈(129)은 사용자가 목적지에 도착했다는 감지에 응답하여 이후 추천을 소셜 네트워킹 시스템으로 제시한다. 예컨대, 위치 서비스 모듈(129)은 사용자에게 목적지 위치에서 "체크인"을 게시하는 옵션을 제시한다.
공유된 위치 데이터에 기반하는 캐러밴 내비게이션에 대한 요청은 도 4-6 및 9-10을 참조하여 본 명세서에 추가로 기술된다.
도 3d를 참조하면, 블록(348)에서 위치 서비스 모듈(129)은 제2 사용자로부터 위치 제안에 대한 카테고리의 선택을 선택적으로 수신한다. 예시적인 카테고리는 레스토랑, 카페, 바, 공원, 소매점, 예술 및 엔터테인먼트 장소 등을 포함한다.
블록(350)에서, 위치 서비스 모듈(129)은 제1 사용자 및 제2 사용자 사이의 중간 지점 영역을 결정한다. 예컨대, 위치 서비스 모듈(129)은 제1 및 제2 사용자 사이에 등거리인 지점을 결정할 수 있다. 중간 지점 영역은 등거리 지점으로부터 반경 내에 또는 다른 거리 값 내의 지리적 영역을 포함할 수 있다.
블록(352)에서, 위치 서비스 모듈(129)은 결정된 중간 지점 영역 내의 후보 만남 장소를 결정한다. 일실시예로, 위치 서비스 모듈(129)은 소셜 그래프 데이터에 기반하여 후보 위치를 결정한다. 예컨대, 위치 서비스 모듈(129)은 제1 및/또는 제2 사용자가 즐겨찾기, 좋아요, 빈번하게 방문함, 긍정적인 점수가 주어짐 등을 표시한 하나 이상의 후보 위치를 선택한다. 일실시예로, 위치 서비스 모듈(129)은 제1 및/또는 제2 사용자가 즐겨찾기, 좋아요, 빈번하게 방문함, 긍정적인 점수가 주어짐 등을 표시한 위치와 유사한 하나 이상의 후보 위치를 선택한다. 예컨대, 사용자가 제1 레스토랑이 즐겨찾기임을 표시했다면, 위치 서비스 모듈(129)은 제1 레스토랑과 특징, 가령 음식의 타입, 가격 범위 등을 공유하는 제2 레스토랑을 선택한다. 일실시예로, 위치 서비스 모듈(129)은 다른 사용자가 즐겨찾기, 좋아요, 빈번하게 방문함, 긍정적인 점수가 주어짐 등을 표시한 하나 이상의 후보 위치를 선택한다. 예컨대, 위치 서비스 모듈(129)은 만나게 될 사용자 중 하나 또는 둘 모두와 유사한 소셜 그래프 데이터(인구학적 정보, 취해진 행위, 관심사 등)를 갖는 하나 이상의 사용자에 의해 좋아요된 후보 위치를 선택할 수 있다. 일 실시예로, 위치 서비스 모듈(129)은, 본 명세서에 전체가 통합되는 미국 특허출원 제13/800,633호에 개시된 바와 같은 순위에 기반하여 하나 이상의 위치를 추천한다. 추가로, 위치 서비스 모듈(129)은 다른 사용자들 사이에서 일반적으로 인기가 있는 후보 위치를 선택할 수 있다. 하나 이상의 후보 위치를 결정하면, 위치 서비스 모듈(129)은 예컨대, 리스트 또는 맵에서 후보 위치(들)를 제2 사용자에게 제시한다.
블록(354)에서, 위치 서비스 모듈(129)은 제2 사용자 장치로부터, 사용자 입력을 수신하고 사용자 입력이 만남 위치로서 후보 위치의 선택 또는 추가 후보 위치에 대한 요청을 포함하는지 여부를 결정한다. 사용자 입력이 추가 후보 위치에 대한 요청을 포함한다면, 블록(356)에서, 위치 서비스 모듈(129)은 중간지점 영역의 크기를 선택적으로 증가시킨다. 예컨대, 중간지점 영역 내에 추가적인 후보 위치가 없다면, 위치 서비스 모듈(129)은 중간지점 영역의 크기를 증분적으로 증가시킨다. 일실시예로, 위치 서비스 모듈(129)은 중간지점 영역을 이동하거나 크기를 다시 조정하기 위한 사용자 입력을 수신한다. 추가 위치 (또는 중간지점 영역의 크기조정/이동)에 대한 요청에 응답하여, 방법(300)은 현재/증가된 중간지점 영역 내의 추가 후보 위치를 결정하고 제시하기 위해 블록(352)으로 되돌아간다.
사용자 입력이 만남 장소로서 후보 위치에 대한 제2 사용자의 선택을 포함한다면, 위치 서비스 모듈(129)은 선택된 위치를 제1 사용자에게 제시한다. 예컨대, 위치 서비스 모듈(129)은, 제2 사용자가 선택된 위치에서 만남을 제안했음을 표시하는 메시지를 제1 사용자에게 송신한다.
블록(360)에서, 위치 서비스 모듈(129)은 제1 사용자가 선택된 위치를 확인했는지를 결정한다. 예컨대, 제1 사용자는, 제1 사용자가 선택된 위치에서 만나는데 동의하는지 여부를 표시하는 응답 메시지를 위치 서비스 모듈(129)로 송신할 수 있다. 제1 사용자가 선택된 위치를 거절한다면, 위치 서비스 모듈(129)은 거절된 선택의 표시를 제시하고, 방법(300)은 제2 사용자가 다른 후보 위치를 선택하도록 블록(352)으로 되돌아간다. 대안으로, 응답 메시지는 제1 사용자에 의해 선택된 위치를 포함한다.
제1 사용자가 선택된 위치를 확인하면, 블록(362)에서 위치 서비스 모듈(129)은 선택된 위치에 대한 각 사용자의 현재 위치로부터의 내비게이션 명령의 리스트 및/또는 지도를 생성하고 각 루트를 해당 사용자에게 제시한다. 일실시예로, 위치 서비스 모듈(129)은 해당 사용자가 선택된 위치를 향해 이동함에 따라 제3자 API를 사용하여 루트를 생성하고 업데이트한다. 일실시예로, 내비게이션은 사용자가 목적지에 도착하면 종료한다. 예컨대, 위치 서비스 모듈(129)은 선택된 위치와 일치하는 현재 물리적 위치를 공유한 사용자를 위한 루트의 정기적 업데이트를 종료한다. 일실시예로, 위치 서비스 모듈(129)은 사용자가 선택된 위치에 도착했다는 감지에 응답하여 소셜 네트워킹 시스템 게시 추천을 제시한다. 예컨대, 위치 서비스 모듈(129)은 사용자에게 선택된 위치에서 "체크인"을 게시하는 옵션을 제시한다.
공유된 위치 데이터에 기반한 만남 위치에 대한 요청은 도 4-6 및 11을 참조하여 본 명세서에 추가로 기술된다.
본 명세서에 설명되는 방법(300) 및 실시예는, 예컨대, GUI를 통해 수신되는 입력을 참조하여 기술된다. 하지만, 일부 실시예로, 하나 이상의 입력은 해당 사용자 장치로 음성 입력을 통해 수신된다. 예컨대, 모바일 장치(104)는 텍스트를 입력하거나, 메뉴 옵션을 선택하거나, 아니면 위치 서비스 모듈(129)로 전송되는 입력을 생성하기 위해 음성을 수신 및 프로세싱할 수 있다. 추가로, 본 명세서에서 설명되는 방법(300) 및 실시예는 예컨대, GUI를 통해 제시/디스플레이되는 출력을 참조하여 기술된다. 하지만, 일부 실시예로, 하나 이상의 출력은 오디오를 통해 제시된다. 예컨대, 내비게이션 명령은 시각적 명령에 추가로 또는 시각적 명령 대신에 오디오 출력을 통해 제공될 수 있다.
도 4는 공유된 사용자 위치 데이터를 포함하는 예시적인 사용자 인터페이스(400)를 도시한다. 예컨대, 모바일 장치(104)에서 위치 공유 애플리케이션(105)을 런칭하면, 모바일 장치(104)는 모바일 장치(104)와 연관된 사용자 계정과의 위치 데이터의 공유를 허용한 연결의 위치에 대한 요청을 위치 서비스 모듈(129)로 송신한다. 일실시예로, 사용자 허가는 그들의 정확한 위치를 공유한 연결과 일반적이고 추정된 위치를 공유한 연결 사이를 구별하는데 사용된다. 예컨대, Sterling Archer(405)는 그의 정확한 위치를 공유했고, 이는 맵(415)에서 표시되는 Sterling Archer의 현재 물리적 위치(410)를 찾는데 사용될 수 있다. 일실시예로, 맵(415)은 Sterling Archer의 현재 물리적 위치(410)까지의 거리의 표시를 열람하는 사용자에게 제공하도록 사용자 인터페이스(400)를 디스플레이하는 모바일 장치(104)의 현재 위치(420)를 더 포함한다. 두 명의 다른 사용자(420), Lana Kane과 Cyril Figgis는 그들이 위치한 현재 도시의 표시를 제공하는 추정된 위치만을 공유하였다.
도 5는 선택된 사용자의 공유되는 사용자 위치 데이터를 포함하는 사용자 인터페이스(400)를 도시한다. 예컨대, 위치 서비스 모듈(129)은 (예컨대, 도 4에 도시되는 것과 같이 사용자 인터페이스(400) 내에서) Sterling Archer(405)의 사용자 선택을 수신하고, 그에 응답하여, 사용자의 계정과 연관된 모바일 장치(104)로 Sterling Archer(405)의 현재 물리적 위치 (또는 Sterling Archer(405)의 현재 물리적 위치에 관한 추가 세부사항)을 송신한다. 예컨대, 위치 서비스 모듈(129)은 위치 데이터를 송신하여 모바일 장치(104)가, Sterling Archer(405)의 더욱 정확한 현재 물리적 위치(510)를 도시하기 위해 더 가까운 줌 레벨에서 맵(505)을 제시하도록 한다. 일실시예로, 위치 데이터는 주소, 위치의 이름, GPS 좌표, 또는 선택된 사용자의 현재 물리적 위치의 다른 표시를 포함한다. 예컨대, 맵(505)은, Sterling Archer(405)가 "Headquarters"의 근처에 있거나 그와 일치하는 물리적 위치(510)에 현재 있다고 표시하는 레이블(515)을 포함한다.
도 6은 선택된 사용자의 위치 데이터에 기반하여 실행될 수 잇는 서비스의 메뉴를 포함하는 사용자 인터페이스(400)를 도시한다. 예컨대, 위치 서비스 모듈(129)은 (도 5에 도시되는 것과 같은 사용자 인터페이스(400) 내에서) 현재 물리적 위치(510) 또는 레이블(515)의 사용자 선택을 수신하고, 그에 응답하여, 사용자의 모바일 장치(104)가 위치-기반 서비스의 메뉴를 제시하도록 명령한다. 도시된 바와 같이, 예시적인 메뉴는, 카 서비스가 사용자 인터페이스(400)를 열람하는 사용자를 선택된 사용자(Sterling Archer)의 현재 물리적 위치(510)로 데려가도록 요청(605), 카 서비스가 선택된 사용자를 사용자 인터페이스(400)를 열람하는 사용자의 현재 물리적 위치로 데려가도록 요청(610), 선택된 사용자의 현재 물리적 위치(510)로 아이템이 전달되도록 요청(615), 선택된 사용자와 함께 캐러밴 내비게이션을 개시하기 위해 요청(620), 및 선택된 사용자를 만날 위치를 찾기 위해 요청(625)하는 선택가능한 옵션을 포함한다. 요청들(605-625) 중 하나의 선택을 수신하는 것에 응답하여, 위치 서비스 모듈(129)은 해당 서비스를 개시 및/또는 실행하기 위해 위치 데이터를 공유하는 하나 또는 둘 모두의 사용자들의 현재 물리적 위치를 이용한다. 요청들(605-625)은 도 3 및 7-11을 참조하여 본 명세서에 추가로 논의된다.
도 7은 제1 및 제2 사용자의 공유된 위치 사이에서의 카 서비스에 대한 추정 요금을 포함하는 사용자 인터페이스(400)를 도시한다. 예컨대, 위치 서비스 모듈(129)은, 카 서비스가 선택된 사용자의 현재 물리적 위치에서 선택된 사용자를 픽업하고 선택된 사용자를 요청하는 사용자의 현재 물리적 위치로 데려가도록 하는 (예컨대, 도 6에 도시되는 사용자 인터페이스(400) 내의) 요청(610)에 대한 사용자 선택을 수신한다. 요청(610)에 응답하여, 위치 서비스 모듈(129)은 선택된 사용자의 현재 물리적 위치를 픽업 위치로서 카 서비스와 연관된 제3자 서버로 송신한다. 추가로, 위치 서비스 모듈(129)은 요청하는 사용자의 현재 물리적 위치를 목적지 위치로서 카 서비스와 연관된 제3자 서버로 송신한다. 위치 서비스 모듈(129)은, 제3자 서버로부터, 제공된 픽업 및 목적지 위치(710)에 기반한 요금 추정치(705)를 수신한다. 사용자 인터페이스(400)는, 사용자가 상이한 목적지를 입력할 수 있게 하는 선택가능한 요소(715) 및 사용자가 현재 목적지를 확인할 수 있게 하는 선택가능한 요소(720)를 더 포함한다. 대안적 실시예로, 선택된 사용자의 현재 물리적 위치를 픽업 위치로서 제3자 서버로 송신하는 위치 서비스 모듈(129)에 추가로, 위치 서비스 모듈(129)은, 추정 요금(705), 픽업 및 목적지 위치(710), 및 목적지를 변경/확인하기 위한 요소들(715, 720)을 디스플레이하는 제3자 애플리케이션을 런칭한다.
도 8은 제1 및 제2 사용자의 공유된 위치 사이에서 카 서비스에 대한 요청을 최종화하기 위한 사용자 인터페이스(400)를 도시한다. 예컨대, 위치 서비스 모듈(129)은 카 서비스가 선택된 사용자의 현재 물리적 위치에서 선택된 사용자를 픽업하고, 선택된 사용자를 요청하는 사용자의 현재 물리적 위치로 데려가도록 하는 (예컨대, 도 6에 도시된 사용자 인터페이스(400) 내의) 요청(610)에 대한 사용자 선택 또는 (예컨대, 도 7에 도시된 사용자 인터페이스(400) 내의) 목적지 확인(720)에 대한 사용자 선택을 수신한다. 요청에 응답하여, 위치 서비스 모듈(129)은 사용자의 모바일 장치(104)가 픽업 및 목적지 위치(710)를 제시하도록 명령하고, 픽업을 표시하는 맵이 선택된 사용자(510)의 현재 물리적 위치에서 발생할 것이며, 사용자 인터페이스 요소(805)는 요청하는 사용자가 카 서비스 요청을 최종화할 수 있게 한다.
도 7-8은 (예컨대, 도 6에 도시된 요청(610)의 선택에 응답하여) 요청하는 사용자에게로 선택된 사용자를 카 서비스가 데려가도록 하기 위한 요청을 참조하여 기술된다. 사용자 인터페이스의 유사한 세트가 제시될 수 있고, 동작의 유사한 세트가, (예컨대, 도 6에 도시된 요청(605)의 선택에 응답하여) 카 서비스가 요청하는 사용자를 선택된 사용자에게 데려가도록 하거나 둘 중 어느 하나의 사용자를 다른 목적지로 데려가도록 하는 요청에 응답하여 수행될 수 있다. 추가로, 사용자 인터페이스의 유사한 세트가 제시될 수 있고 동작의 유사한 세트가 (예컨대, 도 6에 도시된 요청(615)의 선택에 응답하여) 전달 요청에 대한 요청에 응답하여 수행될 수 있다. 하지만, 전달 요청은 픽업 위치를 생략할 수 있다.
도 9는 사용자 사이에서 공유되는 위치 데이터에 기반하여 캐러밴 내비게이션을 위한 옵션들의 메뉴를 포함하는 사용자 인터페이스(400)를 도시한다. 예컨대, 위치 서비스 모듈(129)은 캐러밴 내비게이션을 제공하기 위해 (예컨대, 도 6에 도시된 사용자 인터페이스(400) 내에서) 요청(620)에 대한 사용자 선택을 수신한다. 요청(620)에 응답하여, 위치 서비스 모듈(129)은 사용자의 모바일 장치(104)가 캐러밴 내비게이션 옵션들의 메뉴를 제공하도록 명령한다. 도시된 바와 같이, 예시적인 메뉴는 캐러밴을 위한 목적지를 입력하는 옵션(905), 열람하는 사용자가 캐러밴을 리드할 것임을 표시하는 옵션(910), 열람하는 사용자가 선택된 사용자를 팔로우할 것임을 표시하는 옵션(915), 및 열람하는 사용자가 선택된 사용자에 의해 입력/공유된 목적지로 향하는 내비게이션을 요청하는 옵션(920)을 포함한다. 옵션들(905-920) 중 하나의 선택의 수신에 응답하여, 위치 서비스 모듈(129)은, 해당 캐러밴 내비게이션 서비스를 시작 및/또는 실행하기 위해 위치 데이터를 공유하는 사용자의 현재 물리적 위치를 이용한다. 옵션들(905-920)에 기반한 요청의 실행은 도 3 및 10을 참조하여 본 명세서에서 추가로 논의된다.
도 10은 캐러밴 내비게이션 서비스 내의 맵핑된 루트를 포함하는 사용자 인터페이스(400)를 도시한다. 예컨대, 위치 서비스 모듈(129)은 하나 이상의 옵션(905-920)의 사용자 선택을 수신하고, 그에 응답하여, 사용자의 모바일 장치(104)가 맵 또는 다른 내비게이션 명령을 제시하도록 명령한다. 도시된 바와 같이, 맵은 팔로워(1005), 리더(1010) 및 목적지(1015)를 포함한다. 일실시예로, 목적지는 입력되지 않았고, 따라서 목적지(1015)는 지도로부터 생략되며, 캐러밴 내비게이션은 그들 각각의 정기적으로 업데이트된 현재 물리적 위치에 기반하여 팔로워(1005)로부터 리더(1010)로 향하는 내비게이션에 초점을 맞춘다. 추가로, 팔로워(1005)는 리더(1010)에 의해 공유되는 목적지(1015)를 향해 내비게이션하는 옵션(920)을 선택할 수 있고, 결과로서 내비게이션 명령은 (예컨대, 리더(1010)가 취한 루트와는 상이한 루트를 팔로우함으로써) 제시된 것보다 더 직접적인 목적지(1015)로 향하는 루트를 제시할 수 있다.
본 명세서에 기술되는 것처럼, 사용자 인터페이스(400)는 캐러밴 내의 사용자들 사이의 통신을 용이하게 하기 위한 사용자 인터페이스 요소(1020)를 포함하는 것으로 도시된다. 예컨대, 위치 서비스 모듈(129)은, VOIP 통화를 개시하거나 캐러밴 내에서 식별된 사용자들 사이에서 메시지를 송신하기 위해 소셜 네트워킹 시스템(130) 내에서 통신 도구 및/또는 사용자 프로필에 저장된 연락처 정보를 이용할 수 있다.
사용자 인터페이스(400)는 또한, 메뉴 객체(1025)를 포함한다. 예컨대, 메뉴 객체(1025)의 사용자 선택에 응답하여, 위치 서비스 모듈(129)은 사용자 장치가, 사용자로 하여금 리더/팔로워 역할을 변경, 목적지를 입력, 목적지를 변경, 목적지를 공유, 팔로우하는 것으로부터 공유된 목적지로 라우팅을 변경하는 등을 가능하게 하는 메뉴 옵션(905-920)을 제시하도록 명령할 수 있다.
도 11은 사용자 사이에서 공유되는 위치 데이터에 기반하여 추천된 만남 장소를 포함하는 사용자 인터페이스(400)를 도시한다. 예컨대, 위치 서비스 모듈(129)은 사용자들이 만날 위치에 대한 하나 이상의 추천을 제공하기 위한 (예컨대, 도 6에 도시되는 사용자 인터페이스(400) 내에) 요청(625)에 대한 사용자 선택을 수신한다. 이에 응답하여, 위치 서비스 모듈(129)은 열람하는 사용자와 선택된 사용자에 의해 공유되는 위치 데이터, 즉 열람하는 사용자(1105)와 선택된 사용자(1100)(예컨대, Sterling Archer)의 현재 물리적 위치에 기반하여 중간지점 영역(1120)을 결정한다. 본 명세서에 기술되는 것처럼, 위치 서비스 모듈(129)은 소셜 그래프 데이터 및/또는 사용자 리뷰 및, 적용가능하다면 위치 카테고리에 기반하여 중간지점 영역(1120) 내의 후보 위치(1115)를 선택한다. 위치 서비스 모듈(129)은 사용자 장치로 하여금 열람하는 사용자(1105), 선택된 사용자(1100)(예컨대, Sterling Archer), 및 후보 위치(1115)의 현재 물리적 위치의 다른 표시 또는 맵을 포함하는 사용자 인터페이스(400)를 제시하도록 명령한다. 일실시예로, 중간지점 영역(1120)은 제스처/터치 입력을 통해 이동 및/또는 크기조정될 수 있는 선택가능한 사용자 인터페이스 객체이다. 다른 실시예로, 사용자 인터페이스(400)는 사용자 인터페이스(400)로부터 중간지점 영역(1120)의 표현을 생략한다. 사용자 인터페이스(400)는 사용자가, 예컨대, 드롭 다운 메뉴로부터 후보 위치에 대한 카테고리를 선택할 수 있게 하는 메뉴 객체(1110)를 포함한다. 예컨대, 사용자 인터페이스(400)는 선택된 카테고리로서 "restaurants"를 갖는 것으로 도시된다. 따라서, 위치 서비스 모듈(129)에 의해 추천되는 후보 위치(1115), Bob’s Burgers는 레스토랑이다. 사용자 인터페이스(400)는 사용자가 후보 위치를 수락하고 선택된 사용자(예컨대, Sterling Archer)에게 추천으로서 위치를 전송할 수 있게 하는 사용자 인터페이스 객체(1125)를 더 포함한다.
도 12는 네트워크 서비스의 사용자 사이에서 공유되는 실시간 위치 데이터에 기반하여 서비스에 대한 요청을 실행하는 예시적인 프로세싱 시스템(1200)을 블록도 형태로 도시한다. 데이터 프로세싱 시스템(1200)은 전술한 사용자 장치(104), 외부 서버(115), 소셜 네트워킹 시스템(130) 또는 이들의 컴포넌트 중 하나 이상의 예시적인 표현이다.
데이터 프로세싱 시스템(1200)은 하나 이상의 마이크로프로세서(1205) 및 연결된 시스템 컴포넌트(예컨대, 다수의 연결된 칩들)를 포함한다. 대안으로, 데이터 프로세싱 시스템(1200)은 칩 상의 시스템이다.
데이터 프로세싱 시스템(1200)은 마이크로프로세서(들)(1205)와 연결되는 메모리(1210)를 포함한다. 메모리(1210)는 마이크로프로세서(들)(1205)에 의해 실행하기 위해 데이터, 메타데이터 및 프로그램을 저장하는데 사용될 수 있다. 예컨대, 메모리(1210)는 하나 이상의 데이터 스토어(101)를 포함할 수 있거나 및/또는 본 명세서에 기술된 모듈을 저장할 수 있다. 메모리(1210)는 하나 이상의 휘발성 및 비휘발성 메모리, 예컨대 랜덤 액세스 메모리("RAM"), 읽기 전용 메모리("ROM"), 고체 상태 디스크("SSD"), 플래시, 상변화 메모리("PCM") 또는 다른 타입의 데이터 저장소를 포함할 수 있다. 메모리(1210)는 내부 또는 분산형 메모리일 수 있다.
데이터 프로세싱 시스템(1200)은, 시스템(1200)을 다른 장치, 외부 컴포넌트, 또는 네트워크와 연결하기 위한 네트워크 및 포트 인터페이스(1215), 가령 포트, 도크를 위한 커넥터, 또는 USB 인터페이스, FireWire, Thunderbolt, Ethernet, Fibre Channel 등을 위한 커넥터를 포함한다. 예시적인 네트워크 및 포트 인터페이스(1215)는 또한, 무선 송수신기, 가령 IEEE 802.11 송수신기, 적외선 송수신기, Bluetooth 송수신기, 무선 셀룰러 전화 송수신기(예컨대, 2G, 3G, 4G 등), 또는 데이터 프로세싱 시스템(1200)을 다른 장치, 외부 컴포넌트, 또는 네트워크로 연결하고 저장된 명령어, 데이터, 토큰 등을 수신하는 다른 무선 프로토콜을 포함한다.
데이터 프로세싱 시스템(1200)은 또한, 디스플레이 컨트롤러 및 디스플레이 장치(1220)와, 하나 이상의 입력 또는 출력("I/O") 장치 및 인터페이스(1225)를 포함한다. 디스플레이 컨트롤러 및 디스플레이 장치(1220)는 사용자를 위한 시각적 사용자 인터페이스를 제공한다. I/O 장치(1225)는 사용자가 시스템으로 입력을 제공하고, 시스템으로부터 출력을 수신하고, 아니면 시스템으로 오고 가는 데이터를 전송하도록 허용한다. I/O 장치(1225)는 마우스, 키패드 또는 키보드, 터치 패널 또는 멀티-터치 입력 패널, 카메라, 광 스캐너, 오디오 입력/출력(예컨대, 마이크 및/또는 스피커), 다른 알려진 I/O 장치 또는 이러한 I/O 장치들의 조합을 포함할 수 있다.
하나 이상의 버스가 도 12에 도시된 다양한 컴포넌트를 상호연결하는데 사용될 수 있음이 이해될 것이다.
데이터 프로세싱 시스템(1200)은 개인용 컴퓨터, 태블릿-스타일 장치, 개인 정보 단말기(PDA), PDA 유사 기능을 가진 셀룰러 전화, Wi-Fi 기반 전화, 가령 하나의 장치에 PDA 및 셀룰러 전화와 결합된 미디어 플레이어와 같이 셀룰러 전화, 미디어 플레이어, 엔터테인먼트 시스템 또는 이런 장치들의 태양이나 기능을 결합하는 장치들을 포함하는 휴대용 컴퓨터일 수 있다. 다른 실시예로, 데이터 프로세싱 시스템(1200)은 네트워크 컴퓨터, 서버 또는 다른 장치 또는 소비자 전자 제품 내의 임베디드 프로세싱 장치일 수 있다. 본 명세서에서 사용되는 것처럼, 컴퓨터, 장치, 시스템, 프로세싱 시스템, 프로세싱 장치, 및 "프로세싱 디바이스를 포함하는 장치"의 용어들은 데이터 프로세싱 시스템(1200)과 서로 교환가능하게 사용될 수 있고 위에서 리스팅된 예시적인 실시예를 포함한다.
도시되지 않은 추가 컴포넌트들이 또한, 데이터 프로세싱 시스템(1200)의 일부일 수 있고, 특정 실시예로, 도 12에 도시되는 것보다 적은 수의 컴포넌트들이 또한, 데이터 프로세싱 시스템(1200)에서 사용될 수 있다. 본 명세서로부터 본 발명의 태양이 적어도 부분적으로 소프트웨어로 구현될 수 있음이 명백하다. 즉, 컴퓨터-구현 방법(300)은 가령 메모리(1210) 또는 다른 비-일시적 기계-판독가능한 저장매체와 같은 메모리에 포함되는 일련의 명령어를 실행하는 프로세서 또는 프로세싱 시스템(1205)에 응답하여 컴퓨터 시스템 또는 다른 데이터 프로세싱 시스템(1200)에서 수행될 수 있다. 소프트웨어는 또한, 네트워크 인터페이스 장치(1225)를 통해 네트워크(미도시)에서 송신되거나 수신될 수 있다. 다양한 실시예로, 하드와이어(hardwired) 회로가 본 실시예를 구현하는 소프트웨어 명령어와 조합하여 사용될 수 있다. 따라서, 기술들은 하드웨어 회로 및 소프트웨어의 임의의 특정 조합이나 데이터 프로세싱 시스템(1200)에 의해 실행되는 명령어에 대한 임의의 특정 소스로 제한되지 않는다.
한 제조물품이 상술한 실시예의 적어도 일부의 기능을 제공하는 프로그램 코드를 저장하는데 사용될 수 있다. 추가로, 제조물품은 상술한 실시예의 적어도 일부의 기능을 사용하여 생성되는 프로그램 코드를 저장하는데 사용될 수 있다. 프로그램 코드를 저장하는 제조물품은 하나 이상의 메모리(예컨대, 하나 이상의 플래시 메모리, 정적, 동적 - 랜덤 액세스 메모리 등), 광학 디스크, CD-ROMs, DVD-ROMs, EPROMs, EEPROMs, 자기 카드 또는 광학 카드, 또는 전자식 명령어를 저장하는데 적합한 다른 타입의 비-일시적 기계-판독가능한 매체로 구현될 수 있으나, 이에 국한되지 않는다. 추가로, 본 발명의 실시예는 FPGA, ASIC, 프로세서, 컴퓨터, 또는 네트워크를 포함하는 컴퓨터 시스템을 이용하는 하드웨어 또는 펌웨어에서 구현될 수 있으나, 이들로 제한되지 않는다. 하드웨어 또는 소프트웨어 구현의 모듈 및 컴포넌트는 본 발명의 실시예를 상당히 변경하지 않고 분할되거나 결합될 수 있다.
본 발명에 따른 실시예들은 특히 방법, 저장 매체, 시스템 및 컴퓨터 프로그램 제품에 대한 첨부된 청구항에 개시되고, 한 청구항 카테고리, 예컨대 방법에 언급된 임의의 특징은 다른 청구항 카테고리, 예컨대 시스템에도 청구될 수 있다. 첨부된 청구항의 인용 또는 참조는 오직 형식적인 이유를 위해 선택된 것이다. 하지만 임의의 선행 청구항으로의 의도적인 참조(특히 다중 인용)에서 야기되는 임의의 주제 또한 청구될 수 있어, 청구항 및 그 특징의 임의의 조합이 첨부된 청구항에서 선택된 인용에 관계 없이 개시되고 청구될 수 있다. 청구될 수 있는 주제는 첨부된 청구항에 나타난 바와 같은 특징의 조합뿐만 아니라 청구항의 특징의 다른 임의의 조합을 포함하는데, 청구항에 언급된 각 특징은 청구항의 임의의 다른 특징 또는 다른 특징의 조합과 조합될 수 있다. 나아가, 임의의 실시예와 본 명세서에 서술되거나 도시된 특징은 별개의 청구항 및/또는 임의의 실시예나 본 명세서에 서술되거나 도시된 특징과의 또는 첨부된 청구항의 임의의 특징과의 조합에 청구될 수 있다.
다양한 변경들은 하기의 청구항들로 제시되는 바와 같이 본 발명의 광의의 기술사상 및 범위에서 벗어나지 않고 이루어질 수 있음이 명백할 것이다. 예컨대, 본 명세서에 기술된 방법은 더 적거나 더 많은 기능/블록으로 수행될 수 있거나 그 기능/블록은 상이한 순서로 수행될 수 있다. 추가로, 본 명세서에 기술된 방법은 서로 병행하여 또는 동일하거나 유사한 방법의 다른 예들과 병행하여 반복되거나 수행될 수 있다.

Claims (20)

  1. 제1 사용자와 연관된 제1 사용자 장치로부터, 제2 사용자와 공유될 제1 사용자의 현재 물리적 위치를 표현하는 위치 데이터를 수신하는 단계;
    제2 사용자와 연관된 제2 사용자 장치로부터, 제1 사용자의 현재 물리적 위치에 대한 요청을 수신하는 단계;
    제1 사용자의 수신된 선택에 응답하여 제2 사용자 장치로, 공유된 위치 데이터에 기반하는 제1 사용자의 현재 물리적 위치를 송신하는 단계;
    제2 사용자 장치로부터, 제3자 서비스의 선택을 수신하는 단계; 및
    제3자 서비스와 연관된 서버로, 제3자 서비스가 제1 사용자의 현재 물리적 위치로 상품 또는 서비스를 보내게 하기 위한 요청 내에 제1 사용자의 현재 물리적 위치를 송신하는 단계를 포함하는 컴퓨터 구현 방법.
  2. 제 1 항에 있어서,
    제3자 서비스에 대한 요청은 제3자 서비스가 제1 사용자를 픽업하도록 카 서비스를 보내게 하기 위한 요청을 포함하는 컴퓨터 구현 방법.
  3. 제 2 항에 있어서,
    제2 사용자 장치로부터, 제2 사용자의 현재 물리적 위치를 표현하는 위치 데이터를 수신하는 단계를 더 포함하고, 상기 제3자 서비스에 대한 요청은 제2 사용자의 현재 물리적 위치 및 카 서비스가 제1 사용자를 제2 사용자의 현재 물리적 위치로 태워주게 하기 위한 요청을 더 포함하는 컴퓨터 구현 방법.
  4. 제 3 항에 있어서,
    요청에 응답하여 제3자 서비스와 연관된 서버로부터, 제1 사용자를 제1 사용자의 현재 물리적 위치에서 제2 사용자의 현재 물리적 위치로 태워주는 것에 대한 추정 요금을 수신하는 단계를 더 포함하는 컴퓨터 구현 방법.
  5. 제 1 항에 있어서,
    제3자 서비스에 대한 요청은 아이템을 제1 사용자의 현재 물리적 위치로 전달하게 하기 위한 요청을 포함하는 컴퓨터 구현 방법.
  6. 제 1 항에 있어서,
    제3자 서비스에 대한 요청을 송신하는 것은 제1 사용자의 이름 또는 제1 사용자의 프로필 이미지를 제3자 서비스로 송신하는 것을 포함하는 컴퓨터 구현 방법.
  7. 제 1 항에 있어서,
    제3자 서비스와 연관된 서버로부터, 요청에 응답하여 제1 사용자의 현재 물리적 위치로 보내지는 제3자 서비스의 직원의 식별을 수신하는 단계; 및
    제1 사용자 장치로, 직원의 식별을 송신하는 단계를 더 포함하는 컴퓨터 구현 방법.
  8. 제 1 항에 있어서,
    제3 사용자와 연관된 제3 사용자 장치로부터, 제2 사용자와 공유될 제3 사용자의 현재 물리적 위치를 표현하는 위치 데이터를 수신하는 단계;
    제2 사용자와 연관된 제2 사용자 장치로부터, 제3 사용자의 현재 물리적 위치에 대한 요청을 수신하는 단계;
    제3 사용자의 수신된 선택에 응답하여 제2 사용자 장치로, 공유된 위치 데이터에 기반하는 제3 사용자의 현재 물리적 위치를 송신하는 단계;
    제2 사용자 장치로부터, 제3 사용자의 물리적 위치가 변화함에 따라 제2 사용자가 제3 사용자를 추종(follow)하도록 내비게이션 명령을 제공하기 위한 요청을 수신하는 단계;
    제2 사용자 장치로, 제2 사용자의 현재 물리적 위치에서 제3 사용자의 현재 물리적 위치로 향하는 내비게이션 명령을 송신하는 단계; 및
    제2 사용자 장치로, 제3 사용자의 물리적 위치가 변화함에 따라 업데이트된 내비게이션 명령을 송신하는 단계를 더 포함하는 컴퓨터 구현 방법.
  9. 제 8 항에 있어서,
    제3 사용자 장치로부터 목적지를 수신하는 단계;
    제2 사용자 장치로부터, 제3 사용자 장치로부터 수신된 목적지로 내비게이션하기 위한 요청을 수신하는 단계; 및
    제2 사용자 장치로, 제2 사용자의 현재 물리적 위치에서 목적지로 향하는 루트를 반영하기 위해 업데이트된 내비게이션 명령을 송신하는 단계를 더 포함하는 컴퓨터 구현 방법.
  10. 제 1 항에 있어서,
    제3 사용자와 연관된 제3 사용자 장치로부터, 제2 사용자와 공유될 제3 사용자의 현재 물리적 위치를 표현하는 위치 데이터를 수신하는 단계;
    제2 사용자와 연관된 제2 사용자 장치로부터, 제3 사용자의 현재 물리적 위치에 대한 요청을 수신하는 단계;
    제3 사용자의 수신된 선택에 응답하여 제2 사용자 장치로, 공유된 위치 데이터에 기반하여 제3 사용자의 현재 물리적 위치를 송신하는 단계;
    제2 사용자 장치로부터, 제2 사용자의 현재 물리적 위치와 제3 사용자의 현재 물리적 위치 사이의 만남 위치 제안을 제공하기 위한 요청을 수신하는 단계;
    제2 사용자의 현재 물리적 위치와 제3 사용자의 현재 물리적 위치 사이의 중간지점 영역을 결정하는 단계;
    제2 사용자 장치로, 소셜 네트워킹 시스템 내에서 제2 및 제3 사용자 중 하나 또는 둘 모두에 의해 행해진 행위에 기반하는 만남 위치 제안을 송신하는 단계를 더 포함하고,
    행위는 만남 위치 제안에 대한 선호도를 표시하는 컴퓨터 구현 방법.
  11. 프로세싱 장치에서 하나 이상의 프로세서에 의해 실행시, 프로세싱 장치로 하여금:
    제1 사용자와 연관된 제1 사용자 장치로부터, 제2 사용자와 공유될 제1 사용자의 현재 물리적 위치를 표현하는 위치 데이터를 수신하는 단계;
    제2 사용자와 연관된 제2 사용자 장치로부터, 제1 사용자의 현재 물리적 위치에 대한 요청을 수신하는 단계;
    제1 사용자의 수신된 선택에 응답하여 제2 사용자 장치로, 공유된 위치 데이터에 기반하는 제1 사용자의 현재 물리적 위치를 송신하는 단계;
    제2 사용자 장치로부터, 제3자 서비스의 선택을 수신하는 단계; 및
    제3자 서비스와 연관된 서버로, 제3자 서비스가 제1 사용자의 현재 물리적 위치로 상품 또는 서비스를 보내게 하기 위한 요청 내에 제1 사용자의 현재 물리적 위치를 송신하는 단계를 포함하는 방법을 수행하도록 야기하는 명령어를 저장하는, 비-일시적 컴퓨터-판독가능한 매체.
  12. 제 11 항에 있어서,
    제3자 서비스에 대한 요청은 제3자 서비스가 제1 사용자를 픽업하도록 카 서비스를 보내게 하기 위한 요청을 포함하는 비-일시적 컴퓨터-판독가능한 매체.
  13. 제 12 항에 있어서,
    방법은:
    제2 사용자 장치로부터, 제2 사용자의 현재 물리적 위치를 표현하는 위치 데이터를 수신하는 단계를 더 포함하고, 상기 제3자 서비스에 대한 요청은 제2 사용자의 현재 물리적 위치 및 카 서비스가 제1 사용자를 제2 사용자의 현재 물리적 위치로 태워주게 하기 위한 요청을 더 포함하는 비-일시적 컴퓨터-판독가능한 매체.
  14. 제 13 항에 있어서,
    방법은:
    요청에 응답하여 제3자 서비스와 연관된 서버로부터, 제1 사용자를 제1 사용자의 현재 물리적 위치에서 제2 사용자의 현재 물리적 위치로 태워주는 것에 대한 추정 요금을 수신하는 단계를 더 포함하는 비-일시적 컴퓨터-판독가능한 매체.
  15. 제 11 항에 있어서,
    제3자 서비스에 대한 요청은 아이템을 제1 사용자의 현재 물리적 위치로 전달하기 위한 요청을 포함하는 비-일시적 컴퓨터-판독가능한 매체.
  16. 제 11 항에 있어서,
    제3자 서비스에 대한 요청을 송신하는 것은 제1 사용자의 이름 또는 제1 사용자의 프로필 이미지를 제3자 서비스로 송신하는 것을 포함하는 비-일시적 컴퓨터-판독가능한 매체.
  17. 제 11 항에 있어서,
    방법은:
    제3자 서비스와 연관된 서버로부터, 요청에 응답하여 제1 사용자의 현재 물리적 위치로 보내지는 제3자 서비스의 직원의 식별을 수신하는 단계; 및
    제1 사용자 장치로, 직원의 식별을 송신하는 단계를 더 포함하는 비-일시적 컴퓨터-판독가능한 매체.
  18. 제 11 항에 있어서,
    방법은:
    제3 사용자와 연관된 제3 사용자 장치로부터, 제2 사용자와 공유될 제3 사용자의 현재 물리적 위치를 표현하는 위치 데이터를 수신하는 단계;
    제2 사용자와 연관된 제2 사용자 장치로부터, 제3 사용자의 현재 물리적 위치에 대한 요청을 수신하는 단계;
    제3 사용자의 수신된 선택에 응답하여 제2 사용자 장치로, 공유된 위치 데이터에 기반하는 제3 사용자의 현재 물리적 위치를 송신하는 단계;
    제2 사용자 장치로부터, 제3 사용자의 물리적 위치가 변화함에 따라 제2 사용자가 제3 사용자를 추종(follow)하도록 내비게이션 명령을 제공하기 위한 요청을 수신하는 단계;
    제2 사용자 장치로, 제2 사용자의 현재 물리적 위치에서 제3 사용자의 현재 물리적 위치로 향하는 내비게이션 명령을 송신하는 단계; 및
    제2 사용자 장치로, 제3 사용자의 물리적 위치가 변화함에 따라 업데이트된 내비게이션 명령을 송신하는 단계를 더 포함하는 비-일시적 컴퓨터-판독가능한 매체.
  19. 제 18 항에 있어서,
    방법은:
    제3 사용자 장치로부터 목적지를 수신하는 단계;
    제2 사용자 장치로부터, 제3 사용자 장치로부터 수신된 목적지로 내비게이션하기 위한 요청을 수신하는 단계; 및
    제2 사용자 장치로, 제2 사용자의 현재 물리적 위치에서 목적지로 향하는 루트를 반영하기 위해 업데이트된 내비게이션 명령을 송신하는 단계를 더 포함하는 비-일시적 컴퓨터-판독가능한 매체.
  20. 제 11 항에 있어서,
    방법은:
    제3 사용자와 연관된 제3 사용자 장치로부터, 제2 사용자와 공유될 제3 사용자의 현재 물리적 위치를 표현하는 위치 데이터를 수신하는 단계;
    제2 사용자와 연관된 제2 사용자 장치로부터, 제3 사용자의 현재 물리적 위치에 대한 요청을 수신하는 단계;
    제3 사용자의 수신된 선택에 응답하여 제2 사용자 장치로, 공유된 위치 데이터에 기반하여 제3 사용자의 현재 물리적 위치를 송신하는 단계;
    제2 사용자 장치로부터, 제2 사용자의 현재 물리적 위치와 제3 사용자의 현재 물리적 위치 사이의 만남 위치 제안을 제공하기 위한 요청을 수신하는 단계;
    제2 사용자의 현재 물리적 위치와 제3 사용자의 현재 물리적 위치 사이의 중간지점 영역을 결정하는 단계;
    제2 사용자 장치로, 소셜 네트워킹 시스템 내에서 제2 및 제3 사용자 중 하나 또는 둘 모두에 의해 행해진 행위에 기반하는 만남 위치 제안을 송신하는 단계를 더 포함하고,
    행위는 만남 위치 제안에 대한 선호도를 표시하는 비-일시적 컴퓨터-판독가능한 매체.
KR1020177020514A 2014-12-30 2015-12-21 공유된 위치 데이터를 사용하는 서비스를 위한 요청의 실행 KR102411897B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/586,460 US9756139B2 (en) 2014-12-30 2014-12-30 Executing requests for services using shared location data
US14/586,460 2014-12-30
PCT/US2015/067181 WO2016109298A1 (en) 2014-12-30 2015-12-21 Executing requests for services using shared location data

Publications (2)

Publication Number Publication Date
KR20170102898A true KR20170102898A (ko) 2017-09-12
KR102411897B1 KR102411897B1 (ko) 2022-06-23

Family

ID=56165741

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177020514A KR102411897B1 (ko) 2014-12-30 2015-12-21 공유된 위치 데이터를 사용하는 서비스를 위한 요청의 실행

Country Status (11)

Country Link
US (3) US9756139B2 (ko)
EP (1) EP3117397B1 (ko)
JP (1) JP6715251B2 (ko)
KR (1) KR102411897B1 (ko)
CN (1) CN107409144B (ko)
AU (1) AU2015374373A1 (ko)
BR (1) BR112017014344A2 (ko)
CA (1) CA2972896A1 (ko)
IL (1) IL253264B (ko)
MX (1) MX2017008820A (ko)
WO (1) WO2016109298A1 (ko)

Families Citing this family (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2014386266A1 (en) 2014-03-13 2016-09-29 Uber Technologies, Inc. Configurable push notifications for a transport service
US9960986B2 (en) 2014-03-19 2018-05-01 Uber Technologies, Inc. Providing notifications to devices based on real-time conditions related to an on-demand service
US20150315786A1 (en) * 2014-04-01 2015-11-05 Michael Callahan Lighting systems and improvements thereto
US9679489B2 (en) 2014-07-22 2017-06-13 Lyft, Inc. Ride chaining
US9729667B2 (en) 2014-12-09 2017-08-08 Facebook, Inc. Generating user notifications using beacons on online social networks
US9729643B2 (en) * 2014-12-09 2017-08-08 Facebook, Inc. Customizing third-party content using beacons on online social networks
US9692838B2 (en) 2014-12-09 2017-06-27 Facebook, Inc. Generating business insights using beacons on online social networks
US9756139B2 (en) 2014-12-30 2017-09-05 Facebook, Inc. Executing requests for services using shared location data
US10282684B2 (en) 2015-02-26 2019-05-07 Uber Technologies, Inc. Performing selective operations based on mobile device locations
US20160302241A1 (en) * 2015-04-10 2016-10-13 Bridge Holdings LLC System and method for communication with end users using presence detection
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
US9826048B2 (en) * 2015-07-27 2017-11-21 JBK Media LLC Systems and methods for location-based content sharing
US11037332B2 (en) * 2015-10-21 2021-06-15 Chian Chiu Li Systems and methods for presenting map and other information based on pointing direction
US10197408B1 (en) * 2016-01-05 2019-02-05 Open Invention Network Llc Transport parking space availability detection
CN105606114B (zh) * 2016-02-23 2019-11-22 腾讯科技(深圳)有限公司 一种车载导航方法、交互系统服务器、终端以及系统
US10242574B2 (en) 2016-03-21 2019-03-26 Uber Technologies, Inc. Network computer system to address service providers to contacts
US10169110B2 (en) * 2016-03-25 2019-01-01 Google Llc Navigation application programming interface
US10061625B2 (en) * 2016-03-25 2018-08-28 Google Llc Navigation application programming interface to accommodate multiple waypoint routing
US10178507B1 (en) 2016-04-25 2019-01-08 Tiptags Inc. Messaging systems for sharing location specific information
US10670421B2 (en) * 2016-05-11 2020-06-02 Ricoh Company, Ltd. Apparatus, system, and method of information sharing, and recording medium
US9791291B1 (en) * 2016-09-26 2017-10-17 Uber Technologies, Inc. Modifying map configurations based on established location points
US10288444B2 (en) 2017-01-10 2019-05-14 Microsoft Technology Licensing, Llc Generating instructions for shared travel experiences
US10753754B2 (en) * 2017-01-19 2020-08-25 Andrew DeLizio Managing autonomous vehicles
US10567520B2 (en) 2017-10-10 2020-02-18 Uber Technologies, Inc. Multi-user requests for service and optimizations thereof
US10264389B1 (en) * 2017-12-31 2019-04-16 Lyft, Inc. Optimizing pickup locations for transportation requests based on context information
TWI658253B (zh) * 2018-03-02 2019-05-01 光陽工業股份有限公司 根據領頭成員之即時位置進行動態導航之導航方法及系統
CN109168126A (zh) * 2018-08-10 2019-01-08 Oppo广东移动通信有限公司 定位方法、相关设备以及计算机可读存储介质
CN112567362A (zh) * 2018-08-29 2021-03-26 索尼公司 信息处理装置和信息处理方法
US10852918B1 (en) * 2019-03-08 2020-12-01 Snap Inc. Contextual information in chat
US11109187B2 (en) * 2019-09-24 2021-08-31 T-Mobile Usa, Inc. Device to device communication and wayfinding
US11223591B2 (en) * 2020-02-05 2022-01-11 International Business Machines Corporation Dynamically modifying shared location information
US20220244743A1 (en) * 2021-01-29 2022-08-04 Toyota Motor Engineering & Manufacturing North America, Inc. System and Methods for Platoon-Leader-as-a-Service
TWI780627B (zh) * 2021-03-16 2022-10-11 明基電通股份有限公司 影像分享與會議參與者之識別方法及影像分享與會議參與者之識別系統
CN113239178A (zh) * 2021-07-09 2021-08-10 肇庆小鹏新能源投资有限公司 意图生成方法、服务器、语音控制系统和可读存储介质
DE102022201905B3 (de) 2022-02-24 2023-08-24 Volkswagen Aktiengesellschaft Verfahren zum Übermitteln einer Positionsinformation in einer Umgebung von einer ersten Person an zumindest eine zweite Person, Computerprogrammprodukt sowie Kommunikationsvorrichtung
WO2024072383A1 (en) 2022-09-28 2024-04-04 Google Llc Location sharing interactivity
CN115951785B (zh) * 2023-03-10 2023-05-12 广东工业大学 一种用于咨询服务的人机交互方法及系统

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20070032575A (ko) * 2005-09-16 2007-03-22 삼성전자주식회사 위치 정보 서비스 제공 시스템
KR20090086622A (ko) * 2001-10-17 2009-08-13 노키아 코포레이션 위치 정보의 제공을 위한 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003168195A (ja) * 2001-12-03 2003-06-13 Denso Corp 配車サービス方法、配車サービスシステム、配車サービス装置、利用者用端末装置、事業者用端末装置、事業者用車載機
JP2006276380A (ja) * 2005-03-29 2006-10-12 Hitachi Ltd グループメンバ位置情報共有システムならびにそのサーバ装置および携帯端末
JP2007172116A (ja) * 2005-12-20 2007-07-05 Csk Green Taxi:Kk タクシーの配車案内システム
KR100791811B1 (ko) 2006-07-26 2008-01-04 주식회사 엘지텔레콤 위치 기반 서비스를 이용하여 카풀 파트너를 추천하는시스템 및 방법
US7823073B2 (en) 2006-07-28 2010-10-26 Microsoft Corporation Presence-based location and/or proximity awareness
CN101520950B (zh) * 2008-03-31 2012-09-19 杭州义盛祥通信技术有限公司 出租车即时呼叫分派管理系统及呼叫分派管理方法
US20100076951A1 (en) * 2008-09-11 2010-03-25 International Business Machines Corporation Service for negotiating a meeting location given multiple user preferences and locations using social networking
US8463537B2 (en) * 2009-06-03 2013-06-11 Motorola Solutions, Inc. Navigating to a moving destination
US8509987B2 (en) 2009-11-11 2013-08-13 Benjamin Resner Methods and apparatus for automatic internet logging and social comparison of vehicular driving behavior
US8688532B2 (en) * 2009-12-11 2014-04-01 General Motors Llc Real-time ride share system
CN102156941B (zh) * 2011-04-02 2016-06-29 厦门大学 一种城市便捷拼车系统及其方法
KR20130040430A (ko) 2011-10-14 2013-04-24 (주)스마트비아 카풀 운영 장치 및 방법
US9299027B2 (en) * 2012-05-07 2016-03-29 Runaway 20, Inc. System and method for providing intelligent location information
CN102867410A (zh) * 2012-09-21 2013-01-09 李明康 通过位置服务和云计算实现出租车司乘智能交互服务方法
US9756139B2 (en) 2014-12-30 2017-09-05 Facebook, Inc. Executing requests for services using shared location data

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20090086622A (ko) * 2001-10-17 2009-08-13 노키아 코포레이션 위치 정보의 제공을 위한 방법
KR20070032575A (ko) * 2005-09-16 2007-03-22 삼성전자주식회사 위치 정보 서비스 제공 시스템

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
"Can I request a ride for a friend? - Uber", https://web.archive.org/web/20140602052558/http://support.uber.80/hc/en-us/articles/201830856-Can-I-request-a-ride-for-a-friend-(2014.06) *

Also Published As

Publication number Publication date
EP3117397B1 (en) 2019-10-16
US10440131B2 (en) 2019-10-08
JP6715251B2 (ja) 2020-07-01
BR112017014344A2 (pt) 2018-01-02
MX2017008820A (es) 2018-03-14
EP3117397A1 (en) 2017-01-18
EP3117397A4 (en) 2017-11-08
JP2018508065A (ja) 2018-03-22
AU2015374373A1 (en) 2017-07-27
CN107409144A (zh) 2017-11-28
KR102411897B1 (ko) 2022-06-23
IL253264B (en) 2019-10-31
CA2972896A1 (en) 2016-07-07
US10992761B2 (en) 2021-04-27
US20160191637A1 (en) 2016-06-30
CN107409144B (zh) 2020-06-05
WO2016109298A1 (en) 2016-07-07
US20170339237A1 (en) 2017-11-23
IL253264A0 (en) 2017-08-31
US9756139B2 (en) 2017-09-05
US20200092384A1 (en) 2020-03-19

Similar Documents

Publication Publication Date Title
US10992761B2 (en) Executing requests for services using shared location data
US20160026936A1 (en) Event-based ridesharing
US10032194B2 (en) Encouraging support of an entity based upon social networking post content
US20150350349A1 (en) Location suggestion based upon social networking post content
US20160189098A1 (en) Method and apparatus for providing access to contextually relevant vehicles for delivery purposes
KR102150221B1 (ko) 개인 맞춤형 지오펜스의 생성 및 제공 기법
US10685377B2 (en) Promotion configuration and facilitation within a network service
US11558463B1 (en) Transport communication pairing
US20160205105A1 (en) Privacy list snapshot
US9639862B2 (en) Tracking the influence of gift giving within a social network
KR20210107921A (ko) 소셜 네트워킹 시스템을 사용하여 제3자 상점의 쇼핑 카트에 상품을 추가하기 위한 시스템 및 방법
US20150370903A1 (en) Delivering Personalized Information
US10242047B2 (en) Systems, methods, and apparatuses for performing search queries
US20150363826A1 (en) Displaying advertisements with location information
US20200394700A1 (en) Forecasting Expenditures to Improve Customer Shopping Experience in Store Environment
US20180089922A1 (en) Generating a social ballot using interactions within a communication system
US9860338B2 (en) Systems, methods, and apparatus for relationship mapping
US20170178076A1 (en) Systems, methods, and apparatus for collaborative exchange
US9945683B1 (en) Transport communication
US20180089921A1 (en) Generating a civic graph and enhancing user interactions performed within a communication system
US20160196023A1 (en) Systems, methods, and apparatus for administrator tool highlighting

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right