KR102047150B1 - 실증적 전문가 결정 및 질문 라우팅 시스템 및 방법 - Google Patents

실증적 전문가 결정 및 질문 라우팅 시스템 및 방법 Download PDF

Info

Publication number
KR102047150B1
KR102047150B1 KR1020147027287A KR20147027287A KR102047150B1 KR 102047150 B1 KR102047150 B1 KR 102047150B1 KR 1020147027287 A KR1020147027287 A KR 1020147027287A KR 20147027287 A KR20147027287 A KR 20147027287A KR 102047150 B1 KR102047150 B1 KR 102047150B1
Authority
KR
South Korea
Prior art keywords
place
user
delete delete
question
response
Prior art date
Application number
KR1020147027287A
Other languages
English (en)
Other versions
KR20140136480A (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 KR20140136480A publication Critical patent/KR20140136480A/ko
Application granted granted Critical
Publication of KR102047150B1 publication Critical patent/KR102047150B1/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
    • 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B19/00Teaching not covered by other main groups of this subclass
    • G09B19/0061Geography
    • 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/10Services
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09BEDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
    • G09B7/00Electrically-operated teaching apparatus or devices working with questions and answers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • 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/021Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
    • 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/025Services making use of location information using location based information parameters
    • H04W4/027Services making use of location information using location based information parameters using movement velocity, acceleration information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/029Location-based management or tracking services
    • 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
    • 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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Educational Administration (AREA)
  • Educational Technology (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Instructional Devices (AREA)
  • User Interface Of Digital Computer (AREA)
  • Navigation (AREA)

Abstract

실증적 전문가 결정 및 문답 라우팅을 위한 방법 및 시스템이 제공된다. 그 시스템은 각각의 사용자에 대한 위치 추적 데이터를 수집하고 위치 추적 데이터를 분석하여 맵 상의 특정 스케일에서의 특정 지리적 지역 또는 특정 장소/이벤트에 대하여 특정 사용자가 갖는 전문지식 레벨을 실증적으로 결정한다. 그 시스템은 맵 상의 특정 스케일에서의 특정 지리적 지역에서 장소/이벤트 카테고리에 대하여 또는 특정 장소/이벤트에 대하여 질문을 수신하고 그들 질문을 특정 지리적 지역에서 장소/이벤트 카테고리 또는 특정 장소/이벤트에 대하여 하나 이상의 전문가에게 실시간으로 라우팅한다. 그 시스템은 하나 이상의 전문가 중 적어도 하나로부터 질문에 대한 응답을 수신하고 역시 실시간으로 요청자에게 다시 응답을 라우팅한다. 본 발명은 또한 복수의 맵 스케일에서의 디스플레이되는 맵 상에서 특정 지리적 지역 내 복수의 장소/이벤트 및/또는 사용자의 위치를 효율적으로 표현한다.

Description

실증적 전문가 결정 및 질문 라우팅 시스템 및 방법{EMPIRICAL EXPERT DETERMINATION AND QUESTION ROUTING SYSTEM AND METHOD}
본 출원은 2012년 2월 29일자로 출원된 미국 가출원 제61/605,126호의 우선권의 이익을 주장하며, 이 기초출원의 개시내용은 그 전체가 참조로 본 명세서에 편입되는 것이다.
본 발명은 일반적으로는 소셜 미디어 및 위치 기반 서비스에 관한 것으로, 더 구체적으로는 특정 장소/이벤트에 대한 하나 이상의 전문가를 객관적으로 결정하기 위한 방법 및 시스템에 관한 것이다. 본 발명은 또한 구체적으로는 맵 상에서 특정 스케일에서 특정 지리적 지역 내 장소/이벤트의 특정 카테고리에 대한 하나 이상의 전문가를 객관적으로 결정하기 위한 방법 및 시스템에 관한 것이다. 본 발명은 또한 구체적으로는 전문가에게로 그리고 그로부터 특정 스케일에서 특정 지리적 지역 내 장소/이벤트의 카테고리 또는 장소/이벤트에 대한 문답을 라우팅하기 위한 방법 및 시스템에 관한 것이다. 본 발명은 또한 구체적으로는 복수의 맵 스케일에서 디스플레이되는 맵 상에서 특정 지리적 지역 내 복수의 장소/이벤트 및/또는 사용자의 위치를 효율적으로 표현하기 위한 방법 및 시스템에 관한 것이다.
관용적 온라인 시스템에 있어서, 특정 장소/이벤트 또는 장소/이벤트의 카테고리에 대한 전문가가 누구인지 결정하는 것은 역사적으로 매우 주관적이고 문제가 많은 것이었다. 이들 관용적 온라인 시스템은 전형적으로는 잠재적 전문가가 그들이 정통한 장소/이벤트 및/또는 장소/이벤트의 카테고리에 관한 입력을 제공하도록 요구한다. 그렇지만, 관용적 온라인 시스템은 특정 장소/이벤트 및/또는 장소/이벤트의 카테고리에 대한 전문가가 누구인지 결정하는데 사용되는 정보의 자전적 본질로부터 어려움을 겪는다. 관용적 온라인 시스템은 잠재적 전문가로부터의 자전적 입력의 유효성을 검증할 수 없고 그래서 관용적 온라인 시스템은 전문가가 누구인지 정확하게 결정할 수 없다.
방대한 대다수의 관용적 온라인 시스템은 전문가를 식별하려는 시도조차 하지 않고 대신에 단지 사용자가 특정 장소/이벤트 및/또는 장소/이벤트의 카테고리 및/또는 지리적 지역에 대한 요청을 게시하여 진정한 전문가가 그 게시된 요청을 수신하고 그 게시된 요청에 적시에 응답하기를 희망하도록 할 수 있을 뿐이다. 이러한 솔루션은 유사하게 어려움을 겪는데, 요청하는 사용자가 그 게시된 요청을 수신하여 응답하기로 택할 수 있는 어느 잠재적 전문가의 경험을 검증할 방법이 없기 때문이다. 그리하여, 응답하는 잠재적 전문가의 제기된 전문지식은 요청 주제에 대하여 잠재적 전문가 자신이 인지하고 있는 그녀의 지식에 오로지 기반한다. 다른 관용적 솔루션은 진정한 전문가 피어 사용자(expert peer user)가 요청에 응답하기를 희망하며 그 요청을 대량 세트의 피어 사용자에게 꾸밈없이 보내고 통지받은 답변을 제공한다. 이러한 솔루션은 단수 사용자의 소셜 네트워크의 태생적으로 한정된 스케일에 부가하여 위에서 설명된 동일한 문제로 동등한 어려움을 겪는다.
관용적 시스템의 추가적 제한은 그것들은 디스플레이되는 맵 상에서 복수의 장소/이벤트 및/또는 사용자의 위치를 표현하는 그래픽 엘리먼트를 효율적으로 제시할 수 있는 능력이 결여되어 있다는 것이다. 이러한 문제는 구체적으로는 맵이 디스플레이되는 윈도/스크린의 사이즈를 대응하여 바꿈이 없이 맵의 스케일이 더 큰 지리적 영역을 보여주도록 바뀔 때 증폭된다. 관용적 솔루션들은 각각의 그래픽 엘리먼트가 사용자 인터페이스의 소정 고유 부분을 점유하고 그리하여, 예를 들어, 그래픽 엘리먼트에 의해 점유된 그 고유 부분 위에 마우스 포인터를 맴돌게 함으로써 사용자에 의해 선택될 수 있도록 서로의 최상부 상에 그래픽 엘리먼트를 단편적으로 오버레이하려고 시도해 왔다. 이들 관용적 솔루션은 번거롭고 비효율적이고 그리고 개개의 그래픽 엘리먼트를 선택하려고 시도하는 사용자에게 상당한 도전과제를 끌어들인다.
그래서, 필요로 되는 것은 위에서 설명된 바와 같은 관용적 시스템에서 볼 수 있는 이들 상당한 문제들을 극복하는 방법 및 시스템이다.
따라서, 위에서 설명된 바와 같은 관용적 온라인 시스템에서 볼 수 있는 위에서 설명된 문제들을 해결하기 위해, 특정 장소/이벤트로의 사용자 방문의 빈도 및 지속시간을 결정하도록 위치 추적 데이터를 수집하고, 위치 추적 데이터의 분석에 기반하여, 맵 상에서 특정 스케일에서 특정 지리적 지역 내 특정 장소/이벤트 및 장소/이벤트 카테고리에 대한 특정 사용자의 전문지식 레벨을 실증적으로 결정하는 방법 및 시스템이 여기에서 설명된다.
특정 장소/이벤트로 사용자에 의한 각각의 방문에 대해 수집되는 위치 추적 데이터는 방문한 특정 장소/이벤트, 장소/이벤트의 위치, 방문 일자, 하루 중 방문 시각 및 방문 지속시간 및 다른 정보를 포함한다. 수집된 위치 추적 데이터의 분석은 특정 장소/이벤트 및 지리적 지역에 관련된 하나 이상의 카테고리, 특정 사용자 및 특정 장소/이벤트 및 지리적 지역에 대해 시간에 걸친 방문 빈도, 특정 사용자에 대해 (장소/이벤트의 연관된 카테고리 없는 또는 장소/이벤트의 연관된 카테고리 있는) 특정 지리적 영역에서 시간에 걸친 방문 빈도, 방문 동안 그 장소에서 벌어지는 하나 이상의 이벤트(예를 들어, 해피 아워), 사용자가 시간 및 지리적 영역에 걸쳐 방문한 장소/이벤트 카테고리의 종류, 사용자가 시간 및 지리적 영역에 걸쳐 방문한 특정 카테고리의 장소/이벤트의 종류, 사용자가 카테고리와 연관이 없는 장소/이벤트(예를 들어, 도시, 인근 지역, 블록 등)를 방문하는 지리적 영역, 사용자가 답변한 시스템으로부터의 질문 수, 및 사용자에 의해 제공된 답변에 대한 피어 피드백의 결정을 포함한다. 분석에는 다른 정보가 또한 포함될 수 있다.
수집된 위치 추적 데이터의 분석에 기반하여, 시스템은 처음에는 각각의 사용자가 정통한 특정 장소/이벤트 및 장소/이벤트 카테고리 및 특정 스케일에서의 지리적 지역이 무엇인지 결정한다(그리고 시간에 걸쳐 정제한다). 이들 결정 및 특정 사용자의 전문지식 레벨을 그녀의 피어 사용자와 비교에 기반하여, 시스템은 특정 지리적 지역 및 스케일에서 특정 장소/이벤트 및 장소/이벤트 카테고리에 대해 어느 사용자가 전문가인지 실증적으로 결정할 수 있다. 장소/이벤트는 (국한되는 것은 아니지만) 영업점, 레스토랑, 공원, 해피 아워, 스포츠 이벤트, 버스 루트, 통근, 라이브 밴드, 댄스, 가라오케, 시 낭송회 등을 포함할 수 있다. 카테고리는 넓은 범위로부터 좁은 범위로까지 이르고 (국한되는 것은 아니지만) 음식, 야간 유흥, 운동, 초밥, 버거, 조식, 커피, 채식 등을 포함할 수 있다. 스케일은 큰 지리적 지역으로부터 작은 지리적 지역으로까지의 범위에 이를 수 있고, 도시, 인근 지역, 블록 등을 포함할 수 있으며(그러나 이들로 국한되는 것은 아님), 또한 변하는 사이즈의 자의적으로 정의된 지리적 지역(이후 "셀"이라고 지칭)을 포함할 수 있다.
유리하게는, 시스템은 각종 모바일 디바이스 애플리케이션으로부터의 활성 체크-인 정보를 사용하여 위치 추적 데이터를 수집할 수 있다. 예를 들어, 포스퀘어(Foursquare), 페이스북(Facebook), 구글 래티튜드(Google Latitude), 트위터(Twitter) 및 기타 다른 것들은 사용자가 지금 위치하고 있는 장소/이벤트를 사용자가 식별할 수 있게 한다. 시스템은 또한 사용자와 연관되어 있는 모바일 디바이스의 주기적 또는 계속적 전지구 측위 시스템("GPS") 또는 다른 좌표 기반 추적을 사용하여 위치 추적 데이터를 수집할 수 있다. 예를 들어, 모바일 디바이스의 삼각측량 추적이 또한 채용될 수 있다. 부가적으로, 장소/이벤트 카테고리(예를 들어, 초밥 레스토랑, 공원, 커피숍)는 장소/이벤트 위치(예를 들어, 맵 좌표, GPS 좌표 등)를 하나 이상의 특정 장소/이벤트 또는 카테고리에 상관시킴으로써 시스템에 의해 식별될 수 있다. 위치와 카테고리의 상관은 시스템에 액세스 가능한 데이터 저장 영역에 저장될 수 있고 그리고 또한 네트워크 통신을 통해 액세스 가능한 포스퀘어, 페이스북 및 기타 다른 소스와 같은 외부 소스로부터 획득될 수 있다.
시스템이 충분한 위치 추적 데이터를 수집하여 분석하고 나면, 시스템은 위치 추적 데이터에 기반하여 누가 특정 장소/이벤트에 대한 전문가인지 그리고 누가 특정 스케일에서 지리적 지역의 특정 카테고리에 대한 전문가인지 주기적으로 또는 계속적으로 결정할 수 있다. 실증적으로 결정된 전문가 상황을 사용하여, 시스템은 장소/이벤트에 대해 그리고/또는 특정 스케일에서의 카테고리에 대해 피어 사용자로부터 수신된 질문을 하나 이상의 전문가에게로 실시간 라우팅을 제공한다. 그러한 질문에 대한 전문가로부터의 응답은, 역시 실시간으로, 시스템에 의해 수신되어 그 요청하는 피어 사용자에게 제공된다.
부가적으로, 시스템은 하나 이상의 사용자 또는 장소/이벤트를 표현하는 스케일링된 맵 상에 오버레이되는 그래픽 엘리먼트("주석")를 사용자 인터페이스에 제공한다. 디스플레이되고 있는 맵의 스케일이 변화함에 따라, 주석은 사용가능성을 증가시키고 서버 작업부하 및 클라이언트 작업부하 둘 다를 감소시키도록 그래픽 조합 또는 분리된다. 본 발명의 다른 특징 및 이점은 이하의 상세한 설명 및 수반 도면을 검토 후에 당업자에게 더 쉽게 명백해질 것이다.
본 발명의 구조 및 동작은 유사한 참조 숫자가 유사한 부분을 가리키는 수반 도면 및 이하의 상세한 설명의 검토로부터 이해될 것이다.
도 1은 본 발명의 일 실시예에 따른 실증적 전문가 결정 및 질문 라우팅을 위한 일례의 시스템을 예시하는 네트워크 선도;
도 2는 본 발명의 일 실시예에 따른 일례의 통신 디바이스를 예시하는 블록 선도;
도 3은 본 발명의 일 실시예에 따른 일례의 서버 디바이스를 예시하는 블록 선도;
도 4는 본 발명의 일 실시예에 따라 질문을 수신하고 전문가 응답을 제공하기 위한 일례의 프로세스를 예시하는 순서도;
도 5는 본 발명의 일 실시예에 따라 사용자에 대한 위치 기반 정보를 추적하기 위한 일례의 프로세스를 예시하는 순서도;
도 6은 본 발명의 일 실시예에 따라 전문가 결정을 용이하게 하기 위하여 위치 기반 정보를 분석하기 위한 일례의 프로세스를 예시하는 순서도;
도 7은 본 발명의 일 실시예에 따라 질문에 대한 전문가의 응답에 따라 전문가 프로파일을 업데이트하기 위한 일례의 프로세스를 예시하는 순서도;
도 8은 본 발명의 일 실시예에 따라 임시 전문가에 질문을 라우팅하기 위한 일례의 프로세스를 예시하는 순서도;
도 9는 본 발명의 일 실시예에 따라 전문가를 식별하기 위한 일례의 프로세스를 예시하는 순서도;
도 10은 본 발명의 일 실시예에 따라 장소 데이터를 제공하기 위한 일례의 프로세스를 예시하는 순서도;
도 11은 본 발명의 일 실시예에 따라 변형 맵에 대한 일례의 상태 및 이행 세트를 예시하는 상태 선도;
도 12a 내지 도 12c는 본 발명의 일 실시예에 따라 맵에 주석을 부가하기 위한 프로세스의 예들을 예시하는 순서도;
도 13a 내지 도 13c는 본 발명의 일 실시예에 따라 맵으로부터 주석을 제거하기 위한 프로세스의 예들을 예시하는 순서도;
도 14는 본 발명의 일 실시예에 따라 클러스터를 형성하기 위한 일례의 프로세스를 예시하는 순서도;
도 15는 본 발명의 일 실시예에 따라 클러스터를 깨기 위한 일례의 프로세스를 예시하는 순서도;
도 16은 본 발명의 일 실시예에 따라 맵 스케일 및 맵 셀의 예들을 예시하는 블록 선도;
도 17은 본 발명의 일 실시예에 따라 복수의 스케일에서의 맵 셀에 의해 정의되는 일례의 지역을 예시하는 블록 선도;
도 18은 본 발명의 일 실시예에 따라 클러스터를 갖는 일례의 맵을 예시하는 사용자 인터페이스 선도;
도 19는 여기에서 설명되는 다양한 실시예와 연관하여 사용될 수 있는 일례의 유선 또는 무선 프로세서 가능 디바이스를 예시하는 블록 선도.
여기에서 개시되는 특정 실시예들은 사용자 위치 데이터에 기반하여 전문지식을 실증적으로 결정하고 장소/이벤트 및 장소/이벤트 카테고리에 대한 질문을 장소/이벤트에 대한 식별된 전문가에게 라우팅하는 시스템을 위해 제공된다. 예를 들어, 여기에서 개시되는 하나의 방법은 시스템이 특정 스케일에서 사용자 인터페이스 상에 맵을 제시하고, 양호한 초밥 레스토랑에 대한 추천을 구하는 사용자로부터 질문을 수신하고, 맵의 스케일에서 초밥 레스토랑에서의 하나 이상의 전문가를 식별하고, 질문을 그 식별된 전문가에게 라우팅하고, 전문가 중 하나 이상으로부터 응답을 수신하고 그리고 답변을 질의하는 사용자에게 제공하도록 감안한다. 이 설명을 읽은 후에는 본 발명을 어떻게 다양한 대안의 실시예 및 대안의 애플리케이션으로 구현하는지 당업자에게 명백하게 될 것이다. 그렇지만, 본 발명의 다양한 실시예가 여기에서 설명될 것이기는 하지만, 이들 실시예는 단지 예로써 제시될 뿐이고 제한이 아니라고 이해되는 것이다. 그처럼, 다양한 실시예의 이러한 상세한 설명은 첨부 청구범위에서 제시되는 바와 같은 본 발명의 범위 및 폭을 한정하려는 것으로 해석되어서는 안 된다.
본 설명에 있어서, 용어 장소/이벤트는 용어 장소 및 이벤트와 호환가능하게 사용됨을 주목해야 한다. 본 설명에 따라 장소/이벤트는 특정 목적을 갖는 특정 위치 또는 루트이고 또한 특정 지속시간을 가질 수 있다. 예를 들어, 장소/이벤트는 레스토랑, 버스 루트 및 프로 축구 게임일 수 있다. 장소/이벤트의 또 다른 예는 단일 위치를 갖지만 다수 유형의 이벤트를 주최하는 멀티스포츠 종합운동장이다. 따라서, 이러한 예에서는, 제1 장소/이벤트는 멀티스포츠 종합운동장에서의 야구 게임일 수 있고, 제2 장소/이벤트는 동일 멀티스포츠 종합운동장에서의 축구 게임일 수 있다.
장소/이벤트의 다양한 카테고리는 예를 들어 초밥 레스토랑인 특정 장소/이벤트가 음식, 해산물, 생식품, 부분 채식 식품, 아시아 음식 등과 같은 수개의 관련 및/또는 계층 카테고리에 속할 수 있게 되도록 계층형 또는 관계형 구조를 가질 수 있음을 부가적으로 주목해야 한다.
본 설명은 맵 상의 스케일을 가리키고 그들 스케일은 부모 셀과 자식 셀로 지표의 계층적 분할에 속하는 지리적 셀과 관련될 수 있음을 부가적으로 주목해야 한다. 그들 스케일은 또한 인근 지역 및 블록 등과 같은 미리 결정된 지역 또는 통신 디바이스의 디스플레이 상에 제시되는 자의적 지리적 지역과 관련될 수 있다. 또한, 일부 사례에 있어서, 사용자는 맵 상의 특정 스케일에서 지리적 지역에서의 전문가일 수 있고 그러한 전문지식은 하나 이상의 카테고리와 연관되어 있을 수 있거나 또는 그러한 전문지식은 어떠한 연관된 카테고리도 가지지 않을 수 있거나, 또는 대안으로 말하자면, 그러한 전문지식은 모든 카테고리를 위한 것일 수 있다.
동작 시, 시스템은 위치 데이터를 입력으로서 수신한다. 위치 데이터는 이산형 단위로 수신될 수 있다, 예를 들어, 위치 데이터는 사용자가 장소에 체크인하거나 기지의 위치로부터 상황 업데이트를 공연히 게시할 때마다 수신될 수 있다. 위치 데이터는 또한 예를 들어 GPS 또는 다른 좌표 기반 위치 유틸리티를 사용하는 실시간 위치 추적을 통해 계속적으로 수신될 수 있다. 시스템은 특정 스케일에서 특정 장소/이벤트 및 장소/이벤트 카테고리에 관하여 각각의 사용자에 대한 전문지식 레벨을 결정하도록 사용자별 기반으로 위치 데이터를 주기적으로 또는 계속적으로 분석한다. 시스템이 특정 스케일에서 특정 장소/이벤트 또는 장소/이벤트 카테고리에 대한 질문을 수신할 때, 시스템은 그 특정 질문에 대응하는 하나 이상의 전문가를 식별하고 그 질문을 하나 이상의 전문가에게 라우팅한다. 하나 이상의 전문가로부터의 하나 이상의 답변은 질문자에게로 되돌려 라우팅되고, 또한 특정 질문 및 특정 스케일에서 특정 장소/이벤트 또는 장소/이벤트 카테고리와 연관되거나 질문이 관련된 어떤 다른 태양과 연관되어 데이터 저장 영역에 저장될 수 있다.
시스템은 각각의 사용자에 대해 풍부한 프로파일을 발전시키도록 각종 정보를 수신 및 분석한다. 예를 들어, 정보는, 이하의 것들을 포함할 수 있지만, 이들로 국한되는 것은 아니다:
1. 다양한 소스로부터 모은 위치 추적 데이터.
2. 사용자 계정과 연관된 통신 디바이스의 위치 추적(예를 들어, GPS, 삼각측량, 기타 다른 것)으로부터 또는 활성 체크-인에 기반하여, 사용자가 방문한 특정 장소/이벤트(예를 들어, 스타벅스, 다운타운).
3. 사용자가 특정 장소/이벤트에 갔었던 횟수.
4. 특정 장소/이벤트에 방문한 일자, 시각 및 지속시간.
5. (포스퀘어, 페이스북 및 기타 다른 것들과 같은 외부 네트워킹된 소스로부터 모은) 하나 이상의 카테고리에 장소/이벤트를 상관시킴으로써 획득될 수 있는 특정 장소/이벤트의 카테고리(예를 들어, 초밥 레스토랑, 공원, 커피숍).
6. 사용자가 방문하는 장소/이벤트의 카테고리 및 장소/이벤트의 종류.
7. 사용자가 시간을 보내는 지역 및 맵 스케일(예를 들어, 샌 프란시스코).
8. 사용자가 특정 장소/이벤트 및 장소/이벤트 카테고리에 대해 답변한 질문.
시스템은 각종 정보를 결정하도록 그것이 갖고 있는 데이터를 분석한다. 예를 들어, 시스템은 특정 장소/이벤트 및 장소/이벤트 카테고리를 그들 특정 장소/이벤트 및 장소/이벤트 카테고리에 관한 전문가라고 실증적으로 결정되는 사용자에게 매핑하는 데이터의 집합(일 실시예에서는 데이터베이스)을 유지하고 있다. 예를 들어, 특정 장소/이벤트(예를 들어, 2층의 스타벅스/마켓)를 가정하면, 시스템은 수집 및 분석된 위치 데이터에 기반하여 특정 장소/이벤트에 대해 정통한 사용자의 리스트를 생성하고 계속적으로 업데이트한다. 시스템은 또한 예를 들어 특정 위도/경도 위치 및 반경에 의해 결정된 특정 맵 스케일에 대해 정통한 사용자의 리스트를 생성하고 계속적으로 업데이트한다. 시스템은 또한 중첩하는 지리적 지역을 커버하는 복수의 맵 스케일을 갖는 장소/이벤트의 특정 카테고리에 대해 정통한 사용자의 리스트를 생성하고 계속적으로 업데이트한다. 이들 리스트는 시스템이 특정 스케일에서 특정 장소/이벤트 및 장소/이벤트 카테고리에 대해 질문이 라우팅될 수 있는 전문가를 식별할 수 있게 한다.
부가적으로, 시스템은 특정 사용자에 대해 그리고 일괄하여 각각의 위치 데이터 입력을 분석하고, 위치 데이터 입력 및 분석은 이후에 특정 사용자 및 특정 스케일에서의 특정 장소/이벤트 및 장소/이벤트 카테고리 및 지리적 지역에 대한 전문지식 레벨로 번역되는 총 득점에 기여한다. 명시적으로는, 장소/이벤트로의 각각의 방문에 대하여, 사용자는 그 장소/이벤트에 대해 그리고 그 특정 장소/이벤트와 연관되어 있는 하나 이상의 카테고리에 대해 포인트를 받는다. 일 실시예에 있어서, 특정 장소/이벤트로의 방문은 그 특정 장소/이벤트, 그 특정 장소/이벤트와 연관된 하나 이상의 카테고리, 및 그 특정 장소/이벤트와 연관된 인근 지역, 도시 및/또는 달리 가능하게는(그러나 반드시는 아닌) 중첩하는 지리적 지역에 대한 포인트를 포함할 수 있다. 또한 방문 시 그 장소에서 벌어지고 있던 특정 이벤트(예를 들어, 해피 아워, DJ, 시 낭송회, 스포츠 이벤트 등) 및/또는 이벤트 카테고리에 대한 포인트를 포함할 수 있다.
일 실시예에 있어서, 시스템은 사용자가 특정 장소/이벤트에 대해 답변하는 각각의 질문에 대해 그리고 각각의 사용자에 의해 답변된 질문을 추적하고, 사용자는 그 특정 장소/이벤트 및 어느 연관된 장소/이벤트 카테고리에 대해 전문지식 포인트를 축적한다. 이것은 그 특정 장소/이벤트, 장소/이벤트의 관련 카테고리, 및 대응하는 지리적 지역에 대한 포인트를 포함한다.
특정 스케일에서의 특정 장소/이벤트 및 장소/이벤트 카테고리 및 관련된 지리적 지역에 관하여 각각의 사용자에 대한 관련 포인트 및 득점과 조합하여 시스템은 그것이 수집 및 외삽(예를 들어, 시스템은 GPS 위치 데이터로부터 특정 장소/이벤트를 외삽할 수 있음)한 정보를 계속적으로 분석하고 총 축적된 포인트가 소정 임계값을 초과하면 각각의 그러한 토픽에 관하여 사용자를 전문가라고 결정한다. 임계값은 정적이거나 가변일 수 있고 또한 시스템에서 다른 사용자에 상대적으로 확립될 수 있다.
더욱, 시스템은 또한 특정 장소/이벤트 또는 지리적 지역에 대해 사용자를 임시 전문가로서 식별할 수 있다. 예를 들어, 현재 특정 장소/이벤트에 있거나 최근에(예를 들어, 지난 한 시간 내 또는 지난 두 시간 내) 그 장소/이벤트에 갔었던 사용자는 임시 전문가라고 생각될 수 있다. 따라서, 시스템은 위치에 대해 실시간 또는 바로 현재 지식을 요구하는 소정 유형의 질문을 임시 전문가에게 라우팅할 수 있다. 예를 들어, 사용자가 휴가 중이고 낯선 도시에서 낯선 레스토랑에 있으면, 그 사용자는 역시 임시 전문가라고 결정될 수 있고, 그 레스토랑이 얼마나 붐비는지 또는 해피 아워가 언제 종료되는지와 같은 질문이 임시 전문가에게 적합하게 라우팅될 수 있다.
일 실시예에 있어서, 사용자에게 배정된 포인트는 시간에 걸쳐 쇠퇴할 수 있어서, 사용자는 전문지식 레벨을 유지하기 위해 소정 포인트 임계값(또는 그녀의 피어에 상대적인 소정 포인트 수)을 유지해야 하게 된다. 더욱, 특정 장소/이벤트에 대해 보상받은 포인트 수는 그것들이 더 큰 맵 스케일 또는 더 넓은 카테고리에 배정될수록 감쇠할 수 있다. 예를 들어, 특정 장소/이벤트에서의 체크-인은 그 특정 장소/이벤트에 대해 X 포인트를, 그 장소/이벤트가 위치하고 있는 원자 지리적 셀(예를 들어, 시스템에 의해 사용되는 가장 작은 지리적 지역)에 대해 Y 포인트를, 그리고 그 장소/이벤트와 연관된 가장 특정 카테고리에 대해 Z 포인트를 배정한다. 그렇지만, 시스템은 또한 다음의 더 큰 지리적 셀에 대해서는 Y-A 포인트를 그리고 다음의 더더욱 큰 지리적 셀에 대해서는 Y-B 포인트를 배정할 수 있다. 유사하게, 시스템은 또한 다음 레벨의 카테고리에 대해서는 Z-A 포인트를 그리고 더 넓혀진 레벨의 카테고리에 대해서는 Z-B를 배정할 수 있다.
예를 들어, 장소/이벤트가 샌디에고에 있는 스시 오타(Sushi Ota)이면, 사용자는 스시 오타 레스토랑이 위치하고 있는 맵 스케일 레벨 8에서의 지리적 셀(가장 작은 지리적 셀)에 대해 Y 포인트를 받고, 스시 오타 레스토랑이 위치하고 있는 레벨 8 셀을 포함하는 맵 스케일 레벨 7에서의 지리적 셀에 대해 Y-A 포인트를 받고, (맵 스케일 레벨 1이 가장 큰 지리적 셀을 갖는 경우) 맵 스케일 레벨이 감소함에 따라 포인트 값이 더 감축될 수 있다. 유사하게, 사용자는 초밥 레스토랑에 대해 Z 포인트를, 해산물 레스토랑에 대해 Z-A 포인트를, 레스토랑에 대해 Z-B 포인트를, 음식에 대해 Z-C 포인트를 등등 받을 수 있다. 감쇠가 모든 사용자에게 동일한 것을 적용하는 한, 시스템은 특정 장소/이벤트 카테고리에 대한 사용자 전문지식에 기반하여 특정 장소/이벤트에 대한 그 사용자의 전문지식을 근사하도록 구성되는 것이 이롭다. 더 이롭게는, 시스템은 지리적 위치와 카테고리의 전문지식 레벨 간 교차 상관에 기반하여 하나 이상의 전문가를 식별할 수 있다.
일 실시예에 있어서, 보상받는 포인트는 다수 카테고리 또는 지리적 지역 간에 나뉠 수 있다. 예를 들어, 전문가 사용자가 2개의 인근 지역(또는 복수의 지리적 셀)을 포함하는 큰 지리적 지역에 대한 일반적 질문에 답변하면, 그들 인근 지역(또는 셀)의 각각에는 배정된 총 포인트의 일부가 배정될 수 있다. 각각의 인근 지역(또는 셀)에 배정된 일부들은 같을 수도 같지 않을 수도 있고 각각의 인근 지역(또는 셀)에 배정된 포인트의 총 누계는 더 큰 지역(부모 셀)에 배정된 총 포인트보다 더 적을 수도 있고 더 많을 수도 있다.
일 실시예에 있어서, 전문가 포인트 임계값은 시스템에서의 현재 사용자 인구의 총 전문지식 레벨에 기반하여 동적일 수 있다. 예를 들어, 특정 위치/장소에 대해 전문가가 과잉이면, 전문가로서 결정되는데 요구되는 포인트의 임계 레벨은 그 특정 위치/장소에 관한 전문가로서 식별되기 위한 장벽을 올리도록 자동으로 증가할 수 있다.
도 16 및 도 17을 우선 보면, 맵 스케일 및 대응하는 지리적 셀의 설명이 제공되고 있다. 도 16은 본 발명의 일 실시예에 따라 맵 스케일 및 지리적 셀 예들을 예시하는 블록 선도이고 도 17은 본 발명의 일 실시예에 따라 복수의 스케일에서 지리적 셀에 의해 정의된 일례의 지리적 지역을 예시하는 블록 선도이다. 예를 들어, 도 17의 지리적 지역은 그 영역에 살고 있는 지역 인구에 의해 이해되는 바와 같은 인근 지역 경계에 꽉 대응할 수 있다.
처음에, 그리고 당업자에 의해 이해될 바와 같이, 지구는 점점 더 작은 동등한 사이즈의 지리적 지역으로 논리적으로 분할될 수 있다. 설명의 용이함을 위해, 이들 동등한 사이즈의 지역을 지리적 셀이라고 지칭할 것이다. 가장 큰 셀은 맵 스케일 레벨 1에서 지구 그 자체일 것이고 이러한 셀은 맵 레벨 2에 대응할 2개의 반구 셀로 동등하게 분할될 수 있고 등등이다. 위치 기반 서비스의 목적으로, 그러한 큰 지리적 셀은 비실용적이고, 그래서 일 실시예에 있어서, 지구는 맵 레벨 1에서 16개의 지리적 셀로 분할되고 그 후, 가장 작은 지리적 셀이 위치 기반 서비스에 관하여 합리적인 사이즈의 지리적 지역일 때까지, 그들 셀의 각각이 또한 맵 레벨 2에서 16개의 지리적 셀로 분할되고 등등이다. 일 실시예에 있어서, 가장 작은 지리적 셀은 대략 1 제곱미터이다.
도 16에 도시된 바와 같이, 맵 스케일 레벨 N은 가장 높은 맵 스케일이고 16개의 동등한 사이즈의 지리적 셀을 포함하고 있다. 각각의 지리적 셀은 16개의 동등한 사이즈의 지리적 셀로 세분될 수 있고, 예시된 실시예에서는, 맵 스케일 N에서 지리적 셀(1500)이 그렇게 분할되고 맵 스케일 레벨 N-1로서 확대 도시되어 있다. 유사하게, 맵 스케일 N-1에서 지리적 셀(1510)이 또한 분할되고 맵 스케일 레벨 N-2로서 확대 도시되어 있다. 맵 스케일 N-1에서 지리적 셀(1520)이 또한 분할되고 맵 스케일 레벨 N-3로서 확대 도시되어 있는데, 소망 입도 레벨이 획득될 때까지 유사하게 분할될 수 있는 지리적 셀(1530)을 포함한다. 이롭게도, 지리적 셀로의 이러한 논리적 분할은 GPS 좌표 또는 위도 및 경도 좌표 또는 소정 다른 유사 시스템을 사용하여 성취될 수 있다.
사람들에 의해 점유된 지리적 지역은 그러한 논리적 경계를 채용하지 않기 때문에, 도 17은 복수의 맵 스케일로부터의 지리적 셀을 사용하여 어떻게 기존 인근 지역이 여전히 정의될 수 있는지 예시하고 있다. 일 실시예(도시하지 않음)에 있어서, 인근 지역은 인근 지역 경계 내 원자 지리적 셀(가장 작은 지리적 셀) 전부의 취합으로서 지리적으로 설명될 수 있다. 이에 비한 개선은, 인근 지역이 최소 수의 지리적 셀을 사용하여 지리적으로 설명되어, 인근 지역 경계 내 드는 각각의 맵 계층으로부터의 가장 큰 셀 전부의 취합인 도 17에 도시되어 있다.
이제 다시 돌아가서, 도 1은 실증적 전문가 결정 및 문답 라우팅을 위한 일례의 시스템(10)을 예시하는 네트워크 선도이다. 예시된 실시예에 있어서, 시스템(10)은 하나 이상의 서버(40) 및 복수의 사용자 통신 디바이스(20, 30)를 포함한다. 시스템(10)의 이들 컴포넌트의 각각은, 각각, 데이터 저장 영역(25, 35, 45)으로 구성된다. 시스템(10)의 다양한 컴포넌트는 유선 또는 무선 네트워크(50)를 통해 통신하고, 당업자에 의해 이해될 바와 같이 각종 프로토콜 및 애플리케이션을 실행시킬 수 있다. 이롭게도, 서버(40) 및 통신 디바이스(20, 30)는 네트워크(50)를 가로지르는 통신에 액세스 가능하다. 통신 디바이스(20, 30) 및 서버(40)는, 국한되는 것은 아니지만, 몇몇 들자면 퍼스널 컴퓨터, 랩톱, 스마트폰 및 핸드헬드 디바이스를 포함하는 프로세서 가능 디바이스로서 구현될 수 있다. 일례의 프로세서 가능 디바이스는 도 19에 관하여 추후 설명된다.
도 2는 본 발명의 일 실시예에 따른 일례의 통신 디바이스(20)를 예시하는 블록 선도이다. 예시된 실시예에 있어서, 디바이스(20)는 위치 모듈(100), 질의 모듈(110), 답변 모듈(120), 입력 모듈(130) 및 클러스터 모듈(140)을 포함한다. 통신 디바이스는 데이터 저장 영역(25)으로 구성된다.
위치 모듈(100)은 통신 디바이스(20)(및 그에 대응하여 사용자)의 위치를 결정하도록 구성된다. 일 실시예에 있어서, 위치 모듈(100)은 디바이스(20)의 하드웨어에 내장된 GPS 모듈과 통신한다. 위치 모듈(100)은 디바이스(20) 상의 다른 모듈에 의해 액세스될 수 있고 그리고 응답하여 디바이스(20)(및 그에 대응하여 사용자)의 현재 위치를 요청 모듈에 제공할 수 있다. 사용자의 위치에 대한 그러한 정보는 서버(40)에 통신되는 것이 이로울 수 있다. 위치 모듈(100)은 맵 상에 사용자의 위치를 보여줄 때, 질문을 보낼 때, 질문에 답변할 때, 및 다른 경우들에 액세스될 수 있다. 맵은 네이티브 맵 모듈(도시하지 않음)을 사용하여 로딩된다. 일 실시예에 있어서, 네이티브 맵 모듈은 통신 디바이스(20)의 운영 체제에 의해 제공된다.
질의 모듈(110)은 사용자와 대화하고 사용자 질문을 수용하고 그 질문을 하나 이상의 서버(40)에 통신하도록 구성된다. 일 실시예에 있어서, 질문은 질문 스트링, 사용자의 현재 위치, 질문 영역(즉, 맵 스케일)의 위치, 옵션으로서의 반경, 옵션으로서의 장소 아이디 세트, 옵션으로서의 장소 카테고리를 포함한다. 질의 모듈(110)은 사용자로부터 입력을 수용하고 그 질의 데이터를 하나 이상의 서버(40)에 통신한다. 또 다른 실시예에 있어서, 사용자는 질문을 구두 진술하고, 메시지는 통신 디바이스(20) 상에서 텍스트로 전사되거나, 또는 네트워크 접속을 통해 액세스 가능한 서버 상의 음성 대 텍스트 모듈에 의해 원격으로 전사된다. 일 실시예에 있어서, 사용자는 맵 상에서 관심 영역을 선택하고, 그 관심 영역이 스크린 상에 보일 때까지 팬 및 줌을 행한다. 이러한 선택은 위도/경도 및 반경으로 번역되어, 맵 스케일이라고 결정되고 맵 스케일은 하나 이상의 서버(40)에 통신된다. 또 다른 실시예에 있어서, 맵 스케일은 인근 지역의 명칭, 또는 교차로, 또는 도시명을 표현하는 사용자로부터의 텍스트 입력을 수용함으로써 결정된다. 또 다른 실시예에 있어서, 맵 스케일은 질문 스트링을 파싱(parsing)하여 영역의 명칭을 찾음으로써 결정되고, 이 경우 하나 이상의 서버(40)는 질의가 수신된 후에 맵 스케일을 결정한다.
답변 모듈(120)은 전문가인 사용자에 보내진 질문에 답변하고 있는 그 전문가 사용자로부터 입력을 수신하도록 구성된다. 일 실시예에 있어서, 답변 모듈(120)은 사용자에게 통신 디바이스(20)의 디스플레이 상에서 질문, 특정 장소/이벤트, 장소/이벤트의 카테고리, 질문과 연관된 맵 스케일, 질문의 위치(위도/경도/반경), 질문을 보내는 사용자(옵션), 질문이 보내진 시각, 및 질문이 이미 수신한 어느 답변을 제시한다. 일 실시예에 있어서, 답변 모듈(120)은 답변 스트링 및 옵션으로는 하나 이상의 장소/이벤트 식별자, 하나 이상의 사진, 맵 스케일 식별자, 하나 이상의 위치(위도/경도/반경), 하나 이상의 지리적 지역 식별자(예를 들어, 인근 지역), 익명의 플래그, 및 소셜 네트워킹으로의 공유 플래그를 입력으로서 수신한다. 답변 스트링이 수신되고 나면, 답변 모듈(120)은 그 답변 스트링을 하나 이상의 서버(40)에 보내고 전문가 사용자에게 확인 메시지 또는 에러 메시지를 디스플레이한다. 확인 메시지에 있어서, 답변 모듈(120)은 전문가 사용자가 그 질문에 답변하는 것에 대해 벌은 총 포인트를 그 전문가 사용자에게 보여줄 수 있다.
입력 모듈(130)은 통신 디바이스(20) 상에서 전문가 사용자 또는 질문하는 사용자로부터 입력을 수신하도록 구성된다. 입력 모듈(20)은 질의 모듈(110) 및 답변 모듈(120)과 협력하여 작동한다. 일 실시예에 있어서, 입력 모듈(20)은 다음 중 하나 이상을 수신한다: 텍스트 스트링, 하나 이상의 위치(위도/경도/반경), 하나 이상의 장소 식별자, 하나 이상의 장소/이벤트 카테고리, 하나 이상의 맵 스케일, 하나 이상의 사진, 소셜 네트워크로의 공유를 허용하거나 어느 사용자에 의한 익명의 참가를 허용하는 하나 이상의 플래그.
대안의 실시예에 있어서, 입력 모듈(130)은 사용자가 특정 장소/이벤트에 대하여 정보를 하나 이상의 서버(40)에 제공 가능하게 한다. 예를 들어, 특정 장소에서의 사용자는 디바이스(20)를 사용하여 하나 이상의 서버(40)에 액세스하고 입력 모듈(130)을 사용하여 특정 장소/이벤트에 대한 인구통계학적 그리고/또는 현재의 정보를 제공할 수 있다. 예를 들어, 사용자는 하나 이상의 서버(40) 상의 데이터 저장 영역으로부터 빠져 있는 특정 장소/이벤트에 대한 프로파일 내 빠진 정보를 채워넣을 수 있다. 이것은 장소/이벤트의 운영 시간, 장소/이벤트가 욕실을 포함하는지 여부, 또는 주류를 서비스 제공하는지 여부 등을 포함할 수 있다. 이롭게도, 하나 이상의 서버(40)는 복수의 장소/이벤트에 대한 프로파일을 생성 및 유지할 수 있고 프로파일 정보는 사용자와 연관된 통신 디바이스(20)의 특정 위치가 특정 장소/이벤트의 기지의 위치에 있는 것이라고 검증될 때 사용자에 의한 편집에 이용가능하게 될 수 있다.
클러스터 모듈(140)은 사용자 통신 디바이스(20)의 사용자 인터페이스 상에 디스플레이되는 개개의 주석을 언제 통합할지 또는 쪼개어 내지 결정하도록 구성된다. 예를 들어, 맵이 제1 스케일에서 사용자 통신 디바이스(20)의 사용자 인터페이스 상에 디스플레이될 때, 제1 스케일에서 맵 상에 주재하는 사용자 및 장소/이벤트는 단지 소수일 수 있어서, 비교적 작은 지리적 영역을 표현할 수 있다. 그렇지만, 디스플레이되는 맵이 비교적 큰 지리적 영역을 표현할 수 있게 되도록 맵의 스케일이 증가될 때는, 사용자 인터페이스 상에 디스플레이될 사용자 및 장소/이벤트는 수십 또는 수백일 수 있다. 클러스터 모듈(140)은 언제 주석을 클러스터로 조합할지 그리고 언제 클러스터를 개개의 주석으로, 별개의 클러스터로, 또는 주석과 클러스터의 소정 조합으로 쪼개어 낼지 결정하도록 구성된다.
일 실시예에 있어서, 클러스터 모듈(140)은 맵 상에 디스플레이될 주석 및 각각의 주석의 구체적 좌표를 분석하도록 구성된다. 제1 및 제2 주석의 좌표가 그 디스플레이되는 제1 및 제2 주석이 미리 결정된 백분율만큼 서로 중첩하게 될 것이면, 그때 클러스터 모듈(140)은 제1 및 제2 주석을 제1 클러스터로 조합하고 제1 클러스터를 단일 주석으로서 그 디스플레이되는 사용자 인터페이스에서 맵 상에 제시하도록 구성된다. 유사하게, 제2 클러스터로 현재 조합되어 있는 제3 및 제4 주석의 좌표가 그 디스플레이되는 제3 및 제4 주석이 특정 백분율만큼 서로 중첩하지 않게 될 것이면, 그때 클러스터 모듈(140)은 제2 클러스터를 해체하여 제3 및 제4 주석을 별개의 주석으로서 그 디스플레이되는 사용자 인터페이스에서 맵 상에 개별적으로 제시하도록 구성된다.
당업자에 의해 이해될 바와 같이, 그러한 기술은 주석을 클러스터로 조합하고, 클러스터를 클러스터로 조합하고, 주석과 클러스터를 클러스터로 조합하기 위해 사용자 인터페이스가 렌더링될 때마다 적용될 수 있다. 유사하게, 이러한 기술은 또한 클러스터를 복수의 주석과 클러스터 또는 주석과 클러스터의 소정 조합으로 쪼개어 내기 위해 사용자 인터페이스가 렌더링될 때마다 채용될 수 있다.
도 3은 본 발명의 일 실시예에 따라 일례의 코어 서버(40) 모듈 세트를 예시하는 블록 선도이다. 예시된 실시예에 있어서, 서버(40)는 추적기 모듈(150), 득점 모듈(160), 라우터 모듈(170) 및 장소 모듈(180)을 포함한다. 추적기 모듈(150)은 사용자의 과거 및 현재 위치를 추적한다. 위치는 위도 및 경도, 타임스탬프, 고유 아이디를 포함할 수 있고, 또한 반경, 정확성 척도, 장소/이벤트 명칭, 맵 스케일 레벨, 지리적 셀 식별자, 인근 지역 명칭, 도시명, 이러한 장소/이벤트를 설명하는 카테고리의 리스트, 및 이러한 정보 소스의 설명을 포함할 수 있다. 본 발명의 일 실시예에 있어서, 위치 정확성은 통신 디바이스 상의 GPS 모듈의 정확성에 의해 측정되어, 하나 이상의 서버(40)에 통신된다.
추적기 모듈(150)은 데이터 저장 영역(45)에 사용자마다의 위치 이력을 저장하고, 그 정보를 검색하도록 질의 받을 수 있다. 예를 들어, 추적기 모듈(150)은 사용자의 마지막 위치, 사용자가 특정 장소/이벤트에 갔었던 마지막 시각, 및 사용자가 특정 장소/이벤트에 갔었던 횟수를 제공하도록 질의 받을 수 있다. 시스템으로의 질의는 시각, 맵 스케일, 장소/이벤트 카테고리, 사용자 및 장소를 포함하는 소정 수의 필터에 의해 한정될 수 있다. 질의는 시각, 포인트로부터의 거리, 장소/이벤트 명칭, 및 사용자 성명을 포함하는 소정 수의 속성에 의해 분류될 수 있다.
추적기 모듈(150)은 사용자가 있는 곳 및 있었던 곳에 대해 주기적 업데이트를 수신하도록 위치 모듈(100)과 협력한다. 추적기 모듈(150)은 또한 제3자 애플리케이션 및 서비스의 사용자가 방문한 장소/이벤트를 제공하는 그들 제3자 애플리케이션으로부터 입력을 수신할 수 있다. 이들 제3자 애플리케이션 및 서비스의 일부 예는 포스퀘어, 페이스북, 옐프(Yelp) 및 구글 래티튜드를 포함한다.
득점 모듈(160)은 시스템 전체에 걸쳐 포인트 및 전문지식을 추적하고, 주어진 장소/이벤트 및 장소/이벤트 카테고리에 관한 전문가 사용자를 결정하도록 구성된다. 득점은 특정 사용자와 그 사용자의 고유 아이디에 의해 연관된 데이터 저장 영역(45)에 저장되고, 득점은 시스템이 그 사용자에 대한 새로운 정보를 수신할 때 업데이트된다. 본 발명의 일 실시예에 있어서, 각각의 사용자는 특정 장소/이벤트(예를 들어, 스시 오타), 장소/이벤트 카테고리(예를 들어, 레스토랑) 및 지리적 지역(예를 들어, 지리적 셀, 위도/경도/반경 또는 인근 지역)에 대해 포인트를 축적한다. 도 7은 이러한 프로세스를 아래에서 더 상세하게 설명하고 있다. 도 3으로 다시 돌아가서, 데이터 저장 영역(45)은 장소/이벤트, 맵 스케일, 및 장소/이벤트에 대응하는 하나 이상의 카테고리와 사용자의 고유 아이디를 연관시킴으로써 총 포인트를 저장한다. 예를 들어, 일 실시예에 있어서, 특정 장소/이벤트에 대한 전문지식을 추적할 때, 시스템은 하나 이상의 사용자, 특정 장소/이벤트, 및 그 장소/이벤트에 대해 각각의 사용자에 의해 축적된 총 포인트 수를 연관시키는 데이터베이스 로우를 저장 및 업데이트한다. 시스템은 또한 이러한 로우가 업데이트된 마지막 시각, 이러한 총 포인트가 미리 결정되거나 동적으로 결정된 전문지식 임계값을 초과하였는지, 및 시스템이 이러한 전문지식을 불능으로 하도록 사용자에 의한 요청을 수신하였는지를 저장할 수 있다.
부가적 예는 구체적 맵 스케일에 대해 전문지식의 저장을 설명한다. 맵 스케일은 주, 도시, 인근 지역, 블록, 및 세계 어느 특정 위도/경도/반경이라도 포함할 수 있다. 전문지식 포인트는 2가지 방법으로 사용자와 맵 스케일을 연관시킴으로써 저장된다. 제1 방법은 그 스케일에 대해 하나 이상의 명칭, 예를 들어, 인근 지역, 도시, 주 등등을 결정하는 것에 의한다. 이러한 경우에 있어서, 시스템은 인근 지역, 도시 등에서의 사용자 전문지식에 포인트를 배정한다. 이러한 실시예에 있어서, 시스템은 사용자(사용자 아이디를 사용)와 명명된 지역을 연관시키는 데이터베이스 내 로우로서 이러한 정보를 저장한다.
특정 맵 스케일에 대해 사용자 전문지식을 추적하기 위한 제2 방법은, 위에서 설명된 바와 같이 여러 다른 입도 레벨에서, 세계를 그리드로 분배하는 것에 의한다. 일 실시예에 있어서, 이것은 지오해싱을 사용하여 성취될 수 있다. 따라서, 시스템은, 사용자(사용자 아이디를 사용)와 지리적 셀(예를 들어, "8effa93")을 연관시켜, 각각의 입도 레벨에서 사용자에 대해 전문지식 포인트를 추적한다.
득점 모듈(160)은 그 전문지식 유형에 대해 축적된 포인트 수를 분석함으로써 전문지식 유형(예를 들어, 장소/이벤트, 카테고리, 스케일)의 각각에서 전문지식 레벨을 결정한다. 사용자가 소정 임계값(예를 들어, 100 포인트)에 도달하고 나면, 그 사용자는 특정 장소/이벤트, 카테고리, 스케일 등에 대한 전문가(예를 들어, 커피숍에 있어서 전문가, 초밥에 있어서 전문가, 다운타운에 있어서 전문가, 지리적 셀 "8effa93"에 있어서 전문가)라고 결정된다. 일 실시예에 있어서는, 복수의 전문가 레벨을 결정하는 복수의 임계값이 존재한다. 예를 들어, 100 포인트는 레벨 1을 표현할 수 있고, 200 포인트는 레벨 2를 표현할 수 있고 등등이다. 이들 임계값은 가변이고, 수동으로 설정될 수 있거나, 또는 시스템에서 포인트의 분포 및 사용자 인구 사이즈에 기반하여 동적으로 발생될 수 있다.
득점 모듈(160)은 또한 하나 이상의 카테고리 내 주어진 맵 스케일/지리적 지역에 있어서 하나 이상의 전문가를 식별하도록 구성된다. 일 실시예에 있어서, 득점 모듈(160)은 스케일(또는 지리적 영역), 하나 이상의 카테고리, 및 요구되는 전문가 수를 입력으로서 수신한다. 스케일(또는 지리적 영역)은 하나 이상의 지리적 셀의 식별을 수용함으로써 또는 위도/경도/반경 투플(tuple)을 수용함으로써 결정될 수 있어서, 도 17에 관하여 앞서 논의된 바와 같이 하나 이상의 그리드 셀로 번역될 수 있다.
본 발명의 일 실시예에 있어서, 지리적 셀은 "지오 해시 코드"에 의해 인덱싱된다. "지오셀 해시 코드"는 2차원 지리공간적 직사각형을 고유하게 식별하는 16진 캐릭터의 시퀀스(예를 들어, "8effa93a")이다. 코드는, 각각의 16진 캐릭터가 그리드 상에서 고유 셀을 식별하게 되도록, 16-웨이 트리에서와 같이, 4×4 그리드에 의해 세계의 반복된 세분에 의해 계층적으로 배정된다. 더 긴 해시 코드는 더 큰 심도의 트리 레벨로 더 미세한 세분을 표현한다. 해시 코드를 디코딩하기 위해, 시스템은 세계를 4×4 그리드로 분할함으로써 시작한다. 해시의 각각의 16진 캐릭터는 그리드로부터 차례로 새로운 4×4 그리드의 범위로 되는 직사각형 셀을 순차적으로 선택하는데 사용된다. 프로세스는 해시 코드의 최종 캐릭터에 도달한 후에 종료된다.
데이터 저장 영역(45)은, 주어진 카테고리에서, 전문가이기 위한 포인트 임계값을 초과하는 총 포인트를 갖는 영역 내 사용자를 식별하도록 질의받는다. 본 발명의 일 실시예에 있어서, 질의는 맵 스케일의 가장 큰 입도 레벨에서 시작하고, 소망 수의 전문가가 식별될 때까지 점점 더 거친 스케일 또는 점점 더 낮은 총 포인트를 계속 살펴본다. 이러한 실시예에 있어서는, 지정된 스케일의 거칠기가 증가함에 따라 포인트가 거칠기 레벨만큼 승산되게 되도록, 총 포인트 수가 정규화될 수 있다. 예를 들어, 레벨 8(예를 들어, 해시 코드 "8effa93a"에 8개의 캐릭터)에서는 전문가이기 위해 요구되는 포인트 임계값이 10이지만, 레벨 7(예를 들어, 해시 코드 "8effa93"에 7개의 캐릭터)에서는 전문가이기 위해 요구되는 포인트 임계값은 100이다. 본 발명의 일 실시예에 있어서, 결과는 최종적으로는 사용자 세트 전체에 걸쳐 수 정규화된 포인트에 의해 분류된다.
장소 모듈(180)은 장소/이벤트에 대한 정보를 관리 및 저장하도록 구성된다. 이러한 정보는 데이터 저장 영역(45)에 저장된다. 일 실시예에 있어서, 그 정보는 장소/이벤트 명칭, 맵 스케일을 결정하기 위한 위도 및 경도 및 반경, 맵 스케일을 결정하기 위한 지리적 셀 식별자, 장소/이벤트 주소, 장소/이벤트 카테고리(예를 들어, 나이트 클럽, 인도 음식 등), 제3자 서비스(예를 들어, 포스퀘어 장소 아이디)에서 그 장소/이벤트에 대한 참조, 장소/이벤트의 트위터 취급, 이 장소/이벤트에 대한 마지막 업데이트의 타임스탬프 및 다른 정보를 포함할 수 있다. 장소/이벤트 정보는 또한 운영 시간, 장소/이벤트가 주류를 서비스 제공하는지, 공중 화장실을 갖는지 여부 등과 같이 장소/이벤트에 대한 다양한 속성을 포함할 수 있다. 이러한 데이터는 각종 소스(예를 들어, 포스퀘어, 특정 장소/이벤트를 위한 웹사이트)로부터 검색되거나 또는 전문가 또는 임시 전문가(예를 들어, 현재 그 위치에 있는 사용자가 임시 전문가일 수 있음)로서 식별되는 사용자로부터 수신될 수 있고, 이러한 정보는 이롭게는 데이터 저장 영역(45)에 저장된다. 이러한 정보는, 변경을 위해 이들 외부 소스에 질의하고 그리고/또는 사용자로부터 부가적 입력을 수신함으로써, 정기적으로 업데이트된다. 이러한 데이터는 또한 시스템 관리책임자에 의해 또는 장소/이벤트의 소유자/관리자에 의해 수동으로 업데이트될 수 있다. 이롭게는, 각각의 장소는 시스템의 다양한 다른 모듈(예를 들어, 득점 모듈(160))에서 사용될 수 있는 데이터 저장 영역 내 고유 식별자를 갖는다.
도 4는 본 발명의 일 실시예에 따라 질문을 수신하고 전문가 응답을 제공하기 위한 일례의 프로세스를 예시하는 순서도이다. 프로세스는 도 1 내지 도 3에 관하여 앞서 설명된 것과 같은 시스템에서 수행될 수 있다. 예시된 실시예에 있어서, 프로세스는 소스로부터 질의를 수신함으로써 단계(200)에서 시작된다. 일 실시예에 있어서, 소스는 통신 디바이스의 사용자이다. 이 질의는 질의 모듈(110) 또는 질의 모듈의 제3자 구현(예를 들어, 하나 이상의 서버(40)와 통신하도록 애플리케이션 프로그래밍 인터페이스를 갖는 제3자 모듈을 사용함)으로부터 유래할 수 있다. 이 수신된 질의는 시스템이 질문을 라우팅할 수 있게 하는 파라미터를 식별하도록 분석된다. 본 발명의 일 실시예에 있어서, 시스템은 우선 어떠한 부적절한 언어라도 식별하도록 질문을 분석한다. 본 발명의 또 다른 실시예에 있어서, 시스템은 그 영역에서 이미 물어본 이전 질문에 매칭하는 어떠한 것이라도 찾아내도록 질문을 분석한다. 매칭하는 것을 찾아내면, 시스템은 이전에 제공된 답변을 반환할 수 있다.
질의를 수신한 후에, 단계(210)에서 시스템은 질문과 연관된 맵 스케일을 식별한다. 맵 스케일은 질문을 의뢰한 사용자의 통신 디바이스 상에 디스플레이되는 맵의 스케일에 기반하여 결정될 수 있다. 다음에, 단계(220)에서, 시스템은 질문과 연관된 장소/이벤트를 식별한다. 일부 상황에 있어서는, 예를 들어 질문이 장소/이벤트의 명칭을 구하고 있는 것: "여기 주위에 좋은 초밥 레스토랑이 뭐니?"이면, 질문과 연관된 장소/이벤트는 없을 수 있다. 스케일 및/또는 장소/이벤트가 식별되고 나면, 단계(230)에서 시스템은 질문에 답변할 수 있는 하나 이상의 전문가를 식별한다. 위에서 설명된 바와 같이, 전문가는 맵 스케일 및/또는 특정 장소/이벤트에 관하여 그들의 계산된 전문지식에 기반하여 식별된다. 그 후 단계(240)에서 질의는 하나 이상의 식별된 전문가에게 보내지고, 단계(250)에서 시스템은 하나 이상의 전문가로부터 하나 이상의 응답을 수신한다. 그후 단계(260)에서 하나 이상의 응답(또는 그 서브세트)은 소스에 보내지고, 단계(270)에서는 문답 세션에 각각의 전문가의 참가를 반영하도록 전문가 프로파일이 업데이트된다. 특히, 전문가에 의한 참가는 전문가가 어떻게 참가하였는지에 기반하여 전문가의 총 포인트 값이 증가 또는 감소하게 야기할 수 있다. 일 실시예에 있어서, 단계(230) 및 단계(240)는, 소망 수의 전문가가 질문의 의도된 수신자로서 식별되고 그 후 질문이 그 그룹의 전문가에게 보내지게 되는 단계(620 내지 650)인, 도 8에 관하여 추후 설명되는 프로세스와 유사한 프로세스를 사용하여 구현될 수 있다.
맵 스케일 및 장소/이벤트를 식별할 때, 시스템은 추적기 모듈(150) 및/또는 장소 모듈(180)과 통신할 수 있다. 전문가를 식별할 때 시스템은 득점 모듈(160)과 통신할 수 있고, 질의를 전문가에게 보낼 때 시스템은 라우터 모듈(170)과 통신할 수 있다. 일 실시예에 있어서, 시스템은 질문 및 선택된 전문가 및 수신된 답변을 데이터 저장 영역(45)에 저장한다. 예를 들어, 시스템은 질의에 제공된 파라미터, 선택된 전문가 사용자(사용자 아이디)의 리스트, 및 각각의 전문가에 의해 제공된 답변을 전부 저장할 수 있다.
또한, 질의를 전문가에게 보낼 때, 시스템은 답변 모듈이 전문가 사용자에게 질문을 제시하게 되도록 각각의 식별된 전문가의 통신 디바이스 상의 답변 모듈(120)과 통신할 수 있다. 일 실시예에 있어서, 수신된 답변은 질문을 하는 사용자에게 지체 없이 보내지고, 대안의 실시예에 있어서, 응답은 부적절한 언어 또는 다른 미리 결정된 기준을 찾는 시스템을 우선 통과한다.
도 5는 본 발명의 일 실시예에 따라 사용자에 대한 위치 기반 정보를 추적하기 위한 일례의 프로세스를 예시하는 순서도이다. 예시된 프로세스는 도 1 내지 도 3에서 앞서 설명된 시스템에 의해 수행될 수 있다. 예시된 실시예에서는, 단계(300)에서 시스템은 사용자에 대응하는 위치 데이터를 수신한다. 위치 데이터는 사용자의 통신 디바이스 상에 주재하는 위치 모듈(100)로부터 수신될 수 있다. 일 실시예에 있어서, 위치 데이터는 포스퀘어 및 페이스북과 같은 체크-인 서비스로부터 기원할 수 있고, 또한 통신 디바이스(20)에 관련된 GPS 정보 및 체크-인 서비스 이외의 소셜 미디어 정보와 같은 다른 정보로부터 유도될 수 있다. 예를 들어, 위치 데이터는 트위터 또는 또 다른 제3자 서비스 상의 사용자의 소셜 미디어 대화의 컨텐트로부터 유도될 수 있다. 위치 데이터는 위도, 경도, 반경, 정확성 척도, 사용자 아이디, 제3자 서비스로부터의 사용자 아이디(예를 들어, 포스퀘어 사용자 아이디), 위치 업데이트의 시각에 대한 타임스탬프, 위치가 기지의 장소에 있으면 장소 아이디, 및 지리적 셀을 포함할 수 있다. 위치 데이터는 다른 정보 역시 포함할 수 있다. 단계(310)에서 이러한 위치 데이터 정보는 특정 사용자와 연관되고, 단계(320)에서 사용자 데이터는 부가적 위치 데이터 정보를 반영하도록 업데이트된다. 일 실시예에 있어서, 사용자 데이터를 업데이트하는 것은 또한 하나 이상의 장소/이벤트, 장소/이벤트 카테고리, 맵 스케일, 지리적 지역 등에 대한 사용자의 전문가 득점을 개정하는 것을 포함할 수 있다.
도 6은 본 발명의 일 실시예에 따라 전문가 결정을 용이하게 하기 위하여 위치 기반 정보를 분석하기 위한 일례의 프로세스를 예시하는 순서도이다. 일 실시예에 있어서, 프로세스는 도 1 내지 도 3에 관하여 앞서 설명된 시스템에 의해 수행될 수 있다. 예시된 프로세스에 있어서, 사용자 데이터는 단계(350)에서 획득된다. 예를 들어, 사용자 데이터는 데이터 저장 영역(45)으로부터 획득될 수 있다. 다음에, 단계(360)에서는 사용자가 갔었던 특정 장소/이벤트를 식별하도록 사용자 데이터가 분석되고, 단계(365)에서는 각각의 장소/이벤트에 방문 수 및 빈도에 기반하여 장소/이벤트 포인트가 사용자에게 배정된다. 유사하게, 단계(370)에서는 하나 이상의 장소/이벤트로의 사용자 방문에 대응하는 맵 스케일을 식별하도록 사용자 데이터가 분석된다. 예를 들어, 사용자가 특정 지리적 셀에서 각종 장소에 많이 방문하였으면, 그때 그 특정 셀에 대응하는 맵 스케일에 대해 포인트를 보상받을 수 있다. 따라서 단계(375)에서는, 획득된 사용자 데이터의 분석 및 식별된 스케일에 기반하여 사용자에게 스케일 포인트가 배정된다. 다음에, 단계(380)에서는 장소/이벤트로의 사용자 방문 및 다른 사용자 위치 추적 데이터에 대응하는 하나 이상의 카테고리를 식별하도록 사용자 데이터가 분석되고, 단계(385)에서는 카테고리 포인트가 배정된다. 유사하게, 단계(390)에서는 사용자가 시간을 보낸 그리고 장소/이벤트를 방문한 지역을 식별하도록 위치 데이터가 분석되고, 단계(395)에서는 지역 포인트가 사용자에게 배정된다.
일 실시예에 있어서, 배정되는 포인트 수는 소망 할당에 의존하여 달라질 수 있고 배정되는 포인트는 특정 장소, 장소/이벤트 카테고리 등등에 대하여 사용자에 대한 누적 총계에 더해지고, 단계(360)에서는 사용자가 갔었던 특정 장소/이벤트를 식별하도록 사용자 데이터가 분석되고, 단계(365)에서는 각각의 장소/이벤트에 방문 수 및 빈도에 기반하여 장소/이벤트 포인트가 사용자에게 배정된다. 일 실시예에 있어서는, 예를 들어 위치 정보에 포함된 장소 식별자에 의해 또는 장소 모듈(180)과 통신함으로써 장소가 식별될 수 있다. 또한 카테고리는 장소 모듈(180)과 통신함으로써 식별될 수 있다. 일 실시예에 있어서, 맵 스케일은 주어진 위도, 경도 및 반경을 위에서 앞서 설명된 바와 같은 지리적 및/또는 지역 세트(예를 들어, 인근 지역, 도시)로 변환함으로써 식별될 수 있다.
도 7은 본 발명의 일 실시예에 따라 질문에 대한 전문가의 응답에 따라 전문가 프로파일을 업데이트하기 위한 일례의 프로세스를 예시하는 순서도이다. 예시된 프로세스는 도 1 내지 도 3에 관하여 앞서 설명된 시스템에 의해 수행될 수 있다. 처음에, 단계(450)에서는 전문가로부터의 답변이 시스템에 의해 수신된다. 단계(460)에서는 답변에 대응하는 장소를 식별하도록 답변(및 가능하게는 또한 대응하는 질문)이 분석된다. 일부 경우에 있어서는, 예를 들어 질문이 카테고리에 관련될 때는, 답변과 연관된 장소가 없을 수 있다. 연관된 장소가 있으면, 단계(465)에서는 시스템은 전문가 사용자의 프로파일에 장소 포인트를 배정한다. 다음에, 단계(470)에서는 답변과 연관된 하나 이상의 맵 스케일을 식별하도록 답변(및 가능하게는 질문)이 분석되고, 단계(475)에서는 하나 이상의 맵 스케일에 대하여 전문가 사용자에게 스케일 포인트가 배정된다. 유사하게, 단계(480)에서는 답변과 연관된 하나 이상의 카테고리를 식별하도록 답변(및 가능하게는 질문)이 분석되고, 단계(485)에서는 하나 이상의 카테고리에 대하여 전문가 사용자에게 카테고리 포인트가 배정된다. 최종적으로, 단계(490)에서는 답변과 연관된 하나 이상의 지리적 지역을 식별하도록 답변(및 가능하게는 질문)이 분석되고, 단계(495)에서는 하나 이상의 지리적 지역에 대하여 전문가 사용자에게 지역 포인트가 배정된다.
도 8은 본 발명의 일 실시예에 따라 임시 전문가에 질문을 라우팅하기 위한 일례의 프로세스를 예시하는 순서도이다. 예시된 프로세스는 도 1 내지 도 3에 관하여 앞서 설명된 시스템에 의해 수행될 수 있다. 처음에, 단계(600)에서는 시스템은, 예를 들어, 질의 모듈(110) 또는 제3자 구현의 질의 모듈을 통해, 사용자로부터 질문을 수신한다. 다음에, 단계(610)에서는 질문과 연관된 특정 장소/이벤트를 결정하도록 질문이 분석된다. 다음에 시스템은, 단계(620)에 도시된 바와 같이, 식별된 장소/이벤트에 관한 임시 전문가를 식별하기 위해 그 식별된 장소/이벤트에 관련되는 데이터 저장 영역(45) 내 데이터를 분석한다. 예를 들어, 일 실시예에 있어서, 임시 전문가는, 특정 장소/이벤트에 관한 그 사람의 전문가 포인트 레벨에 무관하게, 그 장소/이벤트에 현재 위치하고 있는 사람일 수 있다. 일 실시예에 있어서, 득점 모듈(160)은 그 식별된 장소에 이용가능한 임시 전문가를 식별할 수 있다. 다음에, 단계(630)에서 시스템은 그것이 질문의 의도된 수신자의 리스트에 그 식별된 임시 전문가를 포함할지 결정하고, 예를 들어, 질문이 라우팅될 전문가의 리스트에 그 임시 전문가를 부가한다. 단계(640)에서 결정되는 바와 같이, (예를 들어, 미리 결정된 임계 수 초과의) 충분한 수의 임시 전문가가 식별되었으면, 그때 단계(650)에서 시스템은 식별된 전문가에게 질문을 보낼 것이다. 그렇지만, 아직 전문가가 충분히 식별되지 않았으면, 시스템은 부가적 임시 전문가를 식별하도록 단계(620)로 되돌아간다. 시스템은 그것이 질문을 라우팅하기에 충분한 수(예를 들어, 하나 이상)의 전문가를 선택할 때까지 이러한 방식으로 계속 쭉 돌아 잠재적 임시 전문가를 분석한다. 일 실시예에 있어서, 그렇지 않았다면 임시 전문가로서 식별되었을 소정의 전문가는 선택되지 않는다. 예를 들어, 사용자가 시스템과의 통신을 불능으로 한 경우, 사용자가 "방해하지 마시오" 플래그를 활성화시킨 경우, 사용자가 소정 토픽/영역에 대해 사후 거부한 경우 등이다.
도 9는 본 발명의 일 실시예에 따라 전문가를 식별하기 위한 일례의 프로세스를 예시하는 순서도이다. 예시된 프로세스는 도 1 내지 도 3에 관하여 앞서 설명된 시스템에 의해 수행될 수 있다. 처음에, 단계(700)에서 시스템은 특정 장소/이벤트에 대한 전문가 포인트 임계값을 초과한 사용자를 식별하도록 데이터 저장 영역(45) 내 사용자 프로파일 데이터를 분석한다. 이러한 분석에 기반하여, 단계(705)에서 시스템은 그들 사용자에 대해 장소 상황을 업데이트한다 - 사용자가 그 장소/이벤트에 대한 전문가로서 이미 식별되지 않은 경우. 유사하게, 단계(710)에서 시스템은 하나 이상의 맵 스케일에 대한 전문가 포인트 임계값을 초과한 사용자를 식별하도록 데이터 저장 영역(45) 내 사용자 프로파일 데이터를 분석한다. 이러한 분석에 기반하여, 단계(715)에서 시스템은 그들 사용자에 대해 맵 스케일 상황을 업데이트한다 - 사용자가 그 하나 이상의 맵 스케일에 대한 전문가로서 이미 식별되지 않은 경우. 또한, 단계(720)에서 시스템은 하나 이상의 카테고리에 대한 전문가 포인트 임계값을 초과한 사용자를 식별하도록 데이터 저장 영역(45) 내 사용자 프로파일 데이터를 분석한다. 이러한 분석에 기반하여, 단계(725)에서 시스템은 그들 사용자에 대해 카테고리 상황을 업데이트한다 - 사용자가 그 하나 이상의 카테고리에 대한 전문가로서 이미 식별되지 않은 경우. 유사하게, 단계(730)에서 시스템은 하나 이상의 지리적 지역에 대한 전문가 포인트 임계값을 초과한 사용자를 식별하도록 데이터 저장 영역(45) 내 사용자 프로파일 데이터를 분석한다. 이러한 분석에 기반하여, 단계(735)에서 시스템은 그들 사용자에 대해 지역 상황을 업데이트한다 - 사용자가 그 하나 이상의 지리적 지역에 대한 전문가로서 이미 식별되지 않은 경우.
도 10은 본 발명의 일 실시예에 따라 장소/이벤트 데이터를 제공하기 위한 일례의 프로세스를 예시하는 순서도이다. 예시된 프로세스는 도 1 내지 도 3에 관하여 앞서 설명된 시스템에 의해 수행될 수 있다. 일 실시예에 있어서, 장소/이벤트 데이터는 데이터 저장 영역(45)에 저장된다. 처음에, 단계(900)에서는 장소/이벤트 데이터에 대한 요청이 수신된다. 다음에, 시스템은 시스템에 관련 장소/이벤트 데이터가 존재하는지 단계(910)에서 결정하도록 그 장소/이벤트 데이터를 분석한다. 장소/이벤트 데이터가 없으면, 그때 단계(920)에서 시스템은 장소/이벤트 데이터를 획득하도록 장소/이벤트 데이터 소스에 질의한다. 일 실시예에 있어서, 장소/이벤트 데이터 소스는 다양한 장소/이벤트에 대한 정보의 제3자 제공자일 수 있고, 또한 시스템에 장소/이벤트 정보를 제공하는 데이터 소스가 하나 이상일 수 있다. 그 후 장소/이벤트 정보는 단계(930)에서 시스템에 의해 수신되고 단계(940)에서 요청에 응답하여 제공된다. 이롭게는, 장소/이벤트 데이터가 데이터 소스로부터 수신되면, 후속하여 장소/이벤트 데이터가 데이터 저장 영역(45)에 저장된다. 그렇지만, 단계(910)에서 결정되는 바와 같이, 장소가 이미 존재하면, 그때 단계(915)에서 시스템은 장소/이벤트 정보가 케케묵어 리프레시할 필요가 있는지(예를 들어, 데이터가 업데이트된 마지막 시각이 소정 임계값을 초과하는 경우) 결정한다. 장소/이벤트 정보가 리프레시될 필요가 있으면, 시스템은 단계(920)로 진행하여 장소 데이터 소스에 업데이트된 정보를 질의하고 앞서 설명된 바와 같이 계속된다. 단계(915)에서 결정되는 바와 같이, 장소/이벤트 정보가 케케묵지 않았으면, 그때는 단계(940)에서 시스템은 요청에 응답하여 그 요청된 장소/이벤트 데이터를 제공한다.
도 1 내지 도 3에 관하여 앞서 논의된 바와 같이, 통신 디바이스(20)는 전문가 사용자 및 질의하는 사용자가 대화하는 사용자 인터페이스를 갖고 있다. 일 실시예에 있어서, 장소/이벤트 또는 사용자의 위치는 이러한 사용자 인터페이스 상에 디스플레이되는 맵 상에 오버레이된다. 위치는 사용자가 현재 존재하는 곳, 최근에 갔던 곳, 또는 사용자가 전문가인 장소/이벤트를 표현할 수 있다. 위치는 통신 디바이스의 사용자 인터페이스 상에 디스플레이되는 맵 상의 주석에 의해 표현된다. 맵 스케일이 증가하고(즉, 동일 사용자 인터페이스 디스플레이 영역에 의해 더 많은 랜드 영역이 표현되고) 주석의 수가 증가함에 따라 맵 상에 이들 주석을 효율적으로 디스플레이하기 위해, 시스템은 주석을 클러스터링하는 것이 이롭다. 클러스터링은 사용자 인터페이스 상에서 단일 주석으로서 표현되는 주어진 영역 내 하나 초과의 주석을 표현한다. 클러스터는 또한, 예를 들어, 클러스터로 조합되는 주석의 수를 표현하는 번호이다. 예를 들어, 클러스터는 사용자 인터페이스 상에 디스플레이되고 있는 맵 상에서 주어진 반경 내 10개의 이산형 주석을 표현할 수 있다.
도 11은 본 발명의 일 실시예에 따라 변형 맵에 대한 일례의 상태 및 이행 세트를 예시하는 상태 선도이다. 일 실시예에 있어서, 변형 맵은 주석을 연관된 누적 변형 상태에 매핑하는 인-메모리 해시 테이블이다. 테이블 내 각각의 주석의 상태는 뒤따르는 상태 머신 이행에 의해 업데이트된다. 그래서 변형 맵은 트랜잭션 큐로서 사용될 수 있어서, 시스템이 개개의 변형의 시퀀스를 추적하고 각각의 주석 상의 연산의 누적 효과를 취합할 수 있게 한다.
변형 맵에 있어서, 가능한 누적 변형 상태는 부가됨, 제거됨, 업데이트됨, 없음이다. 매핑이 아직 존재하지 않으면, 엘리먼트의 변형 상태는 없음이다. 변형 맵에서, 가능한 상태 머신 이행은 부가됨 마크, 제거됨 마크 및 업데이트됨 마크이다. 이하의 설명에 있어서, 주석을 마크하는 것은 연관된 상태 머신 이행을 뒤따르는 것을 의미하도록 이해된다(즉, 주석을 부가됨으로 마크하기 위해, 우리는 부가됨 마크 이행을 뒤따른다).
예시된 실시예에 있어서, 도 11은 변형 맵에 일어날 수 있는 가능한 변경 및 그러한 변경의 최종 결과를 표현한다. 예를 들어, 주석을 변형 맵에서 "부가됨"으로 마크하고 그 현재 상태는 "없음" 또는 "업데이트됨"이면, 마크의 결과는 주석의 상태를 "부가됨"으로 설정하는 것이다. 주석을 변형 맵에서 "부가됨"으로 마크하고 그 현재 상태는 "제거됨"이면, 마크의 결과는 주석의 상태를 "없음"으로 설정하는 것이다. 유사하게, 주석을 변형 맵에서 "제거됨"으로 마크하고 그 상태는 "없음" 또는 "업데이트됨"이면, 마크의 결과는 주석의 상태를 "제거됨"으로 설정하는 것이다. 주석을 변형 맵에서 "제거됨"으로 마크하고 그 현재 상태는 "부가됨"이면, 마크의 결과는 주석의 상태를 "없음"으로 설정하는 것이다. 주석을 변형 맵에서 "업데이트됨"으로 마크하고 그 상태는 "없음"이면, 마크의 결과는 주석의 상태를 "업데이트됨"으로 설정하는 것이다.
일 실시예에 있어서, 클러스터링 조건은 2개 경우 중 어느 하나에서 만족되는 술어이다: 1) 지리적 셀과 연관된 주석의 카운트가 클러스터링을 위한 임계값을 초과하는 경우(예를 들어, 4개 초과의 주석), 또는 2) 클러스터링을 강제하는 지리적 셀과 연관된 주석이 적어도 하나 있고 그 셀과 연관된 주석의 카운트가 적어도 2인 경우.
일 실시예에 있어서, 통신 디바이스의 디스플레이 스크린은 사용자 인터페이스의 일부분으로서 사용자에게 맵을 제시한다. 맵은 특정 스케일에서 제시되고 맵은 지구의 일부를 포함하고 있다. 지구의 일부의 맵을 제시하는 사용자 인터페이스 컨테이너는 소위 뷰포트라고 한다.
일 실시예에 있어서, 클러스터링의 목적으로, 지구는 각각의 지리적 셀의 폭 및 높이가 뷰포트의 스케일에 의해 결정되게 되도록 정사각형 지리적 셀의 2-차원 직선 그리드로 분할된다. 지리적 셀은 북-서 셀에 대해 영으로 시작하여 동으로 그리고 남으로 래스터 순서로 증분하여 번호 매겨진다.
일 실시예에 있어서, 시스템은 주석을 그것들이 연관되고 그것들이 디스플레이되는 지리적 셀에 매핑하는 해시 맵을 유지하고 있다. 주석이 지리적 셀에 부가될 때, 매핑은 주석으로부터 지리적 셀로 부가된다. 주석이 제거될 때, 매핑이 또한 제거된다. 이것은 메르카토르 도법(Mercator projection)을 컴퓨팅하는 계산 비용에 기인하여 최적화이다.
도 12a 내지 도 12c는 본 발명의 일 실시예에 따라 맵에 주석을 부가하기 위한 프로세스의 예들을 예시하는 순서도이다. 예시된 프로세스는 도 1 내지 도 3에 관하여 앞서 설명된 시스템에 의해 수행될 수 있다. 처음에, 도 12a에 관하여, 단계(1200)에서는, 주석이 변형 맵에서 "부가됨"으로 마크된다. 다음에, 단계(1205)에서는 주석과 연관되는 지리적 셀이 식별되고, 단계(1210)에서는 주석이 지리적 셀과 연관된 주석 리스트에 부가된다. 일 실시예에 있어서, 주석은 속성 세트를 가질 수 있고, 주석이 클러스터링을 강제하는 속성을 포함하면, 그때 클러스터링을 강제하는 주석의 수를 추적하는 카운터가 증분된다. 지리적 셀이 클러스터를 갖고 있으면, 그때 (이전 업데이트에서) 클러스터링을 위한 조건은 만족되었고 주석은 클러스터에 부가되고, 클러스터는 (예를 들어, 변형 맵에서 "업데이트됨 마크" 이행을 뒤따름으로써) 업데이트됨으로 마크되고, 주석 자체는 (예를 들어, 변형 맵에서 "제거됨 마크" 이행을 뒤따름으로써) 제거된다. 최종적으로, 단계(1215)에서 셀에 대한 클러스터링이 업데이트된다. 클러스터링 조건이 만족되었으면, 클러스터는 형성된다(도 14에 관하여 추후 설명됨). 클러스터링 조건이 만족되지 않았으면, 클러스터는 깨진다(도 15에 관하여 추후 설명됨).
도 12b는 지리적 셀에 주석을 부가하기 위한 프로세스를 예시하고 있다. 도 12b에 예시된 바와 같이, 시스템은 처음에는 단계(1230)에서 지리적 셀에 대한 주석 리스트에 주석을 부가하고 그리고 단계(1235)에서 지리적 셀에 대해 주석 카운트를 증분시킨다. 단계(1240)에서 결정되는 바와 같이, 지리적 셀이 이미 클러스터를 갖고 있지 않으면, 프로세스는 종료하지만, 지리적 셀이 클러스터를 갖고 있으면, 그때 시스템은 단계(1245)에서 클러스터에 대한 주석 리스트에 주석을 부가하고 그리고 단계(1250)에서 (예를 들어, 변형 맵에서 "업데이트됨 마크" 이행을 뒤따름으로써) 클러스터를 업데이트됨으로 마크한다. 최종적으로, 단계(1255)에서 주석은 (예를 들어, 변형 맵에서 "제거됨 마크" 이행을 뒤따름으로써) 제거된다.
도 12c는 주석이 부가된 후에 지리적 셀의 클러스터링을 업데이트하기 위한 프로세스를 예시하고 있다. 도 12c에 예시된 바와 같이, 시스템은 처음에는 단계(1270)에서 지리적 셀이 주석을 클러스터링하기 위한 조건을 만족하였는지 여부를 결정한다. 클러스터링을 위한 요건/조건이 만족되지 않았으면, 그때는 단계(1275)에 도시된 바와 같이 그 지리적 셀 내 어떠한 존재하는 클러스터라도 해체된다. 유사하게, 지리적 셀 내 존재하는 클러스터가 없고 지리적 셀에서 클러스터링을 위한 요건/조건이 만족되었으면, 그때는 단계(1280)에 도시된 바와 같이 어떠한 존재하는 주석이라도 새로운 클러스터로 형성된다.
도 13a 내지 도 13c는 본 발명의 일 실시예에 따라 맵으로부터 주석을 제거하기 위한 프로세스의 예들을 예시하는 순서도이다. 예시된 프로세스는 도 1 내지 도 3에 관하여 앞서 설명된 시스템에 의해 수행될 수 있다. 도 13a로 시작하면, 단계(1300)에서 시스템은 제거될 주석을 포함하고 있는 지리적 셀을 찾는다. 다음에, 단계(1305)에서 주석은 지리적 셀과 연관된 주석 리스트로부터 제거된다. 다음에, 단계(1310)에서, 지리적 셀에 대한 클러스터링은 (예를 들어, 변형 맵에서 "업데이트됨 마크" 이행을 뒤따름으로써) 업데이트되고 주석은 (예를 들어, 변형 맵에서 "제거됨 마크" 이행을 뒤따름으로써) 제거된다.
도 13b는 지리적 셀로부터 주석을 제거하기 위한 프로세스를 예시하고 있다. 도 13b에 예시된 바와 같이, 시스템은 처음에는 단계(1330)에서 지리적 셀에 대한 주석 리스트로부터 주석을 제거하고 그리고 단계(1335)에서 지리적 셀에 대해 주석 카운트를 감분시킨다. 단계(1340)에서 결정되는 바와 같이, 지리적 셀이 이미 클러스터를 갖고 있지 않으면, 프로세스는 종료하지만, 지리적 셀이 클러스터를 갖고 있으면, 그때 시스템은 단계(1345)에서 클러스터에서의 주석 리스트로부터 주석을 제거하고 그리고 단계(1350)에서 (예를 들어, 변형 맵에서 "업데이트됨 마크" 이행을 뒤따름으로써) 클러스터를 업데이트됨으로 마크한다. 최종적으로, 단계(1255)에서 주석은 (예를 들어, 변형 맵에서 "제거됨 마크" 이행을 뒤따름으로써) 부가된다.
도 13c는 주석이 제거된 후에 지리적 셀의 클러스터링을 업데이트하기 위한 프로세스를 예시하고 있다. 도 13c에 예시된 바와 같이, 시스템은 처음에는 단계(1370)에서 지리적 셀이 주석을 클러스터링하기 위한 조건을 만족하였는지 여부를 결정한다. 클러스터링을 위한 요건/조건이 만족되지 않았으면, 그때는 단계(1375)에 도시된 바와 같이 그 지리적 셀 내 어떠한 존재하는 클러스터라도 해체된다. 유사하게, 지리적 셀 내 이미 존재하는 클러스터가 없고 지리적 셀에서 클러스터링을 위한 요건/조건이 만족되었으면, 그때는 단계(1380)에 도시된 바와 같이 어떠한 존재하는 주석이라도 새로운 클러스터로 형성된다.
도 14는 본 발명의 일 실시예에 따라 클러스터를 형성하기 위한 일례의 프로세스를 예시하는 순서도이다. 일 실시예에 있어서, 예시된 프로세스는 도 1 내지 도 3에 관하여 앞서 설명된 시스템에 의해 수행될 수 있다. 처음에, 단계(1400)에서는 클러스터가 형성되고 지리적 셀과 연관된다. 위에서 설명된 바와 같이, 각각의 지리적 셀은 맵 스케일과 연관되고 그래서 각각의 클러스터는 또한 지리적 셀과 연관되는 것에 의해 맵 스케일과 연관된다. 클러스터를 형성할 때, 지리적 셀 또는 개개의 주석은 클러스터링을 언제 트리거링할지 나타내는 속성을 갖고 있을 수 있다. 예를 들어, 속성이 사용자 인터페이스에서의 디스플레이 상에 제시될 때 50% 초과 커버링됨이면, 그때 클러스터링이 트리거링될 수 있다. 유사하게, 단일 지리적 셀 내 속성의 총 수가 소정 임계값을 초과하면, 그때 클러스터링이 트리거링될 수 있다. 이롭게는, 그러한 속성은 통신 디바이스 및 서버 둘 다에서 프로세서 자원 상의 최소 수요 및 최대 융통성을 가능하게 하도록 달라질 수 있다.
단계(1400)에서 클러스터가 형성된 후에, 다음으로 클러스터는 (예를 들어, 변형 맵에서 "부가됨 마크" 이행을 뒤따름으로써) 부가됨으로 마크된다. 이후에 지리적 셀은 적어도 하나의 클러스터를 갖는 것으로 식별된다. 언제라도, 단일 지리적 셀은 영, 하나 또는 복수의 클러스터를 가질 수 있고, 이들 클러스터는 클러스터링되지 않은 영, 하나 또는 복수의 개개의 주석과 조합하여 존재할 수 있다. 일단 클러스터가 형성되어 지리적 셀과 연관되고 2개 이상의 개개의 주석이 클러스터와 연관되었으면, 2개 이상의 연관된 주석은 (예를 들어, 변형 맵에서 "제거됨 마크" 이행을 뒤따름으로써) 지리적 셀로부터 제거된다. 지리적 셀로부터 주석의 제거는 개개의 주석이 사용자 인터페이스에서 더 이상 제시되지 않게 야기하고 그리고 유사하게 지리적 셀에 클러스터의 부가는 클러스터가 사용자 인터페이스에서 제시되게 야기한다. 일 실시예에 있어서, 클러스터에 존재하는 주석의 수는 사용자 인터페이스에서 클러스터와 연관되어 디스플레이될 수 있다.
도 15는 본 발명의 일 실시예에 따라 클러스터를 깨기 위한 일례의 프로세스를 예시하는 순서도이다. 일 실시예에 있어서, 예시된 프로세스는 도 1 내지 도 3에 관하여 앞서 설명된 시스템에 의해 수행될 수 있다. 처음에, 단계(1450)에서 클러스터는 (예를 들어, 변형 맵에서 "제거됨 마크" 이행을 뒤따름으로써) 지리적 셀로부터 제거된다. 클러스터의 제거는 클러스터가 이후 사용자 인터페이스에서 더 이상 제시되지 않게 야기한다. 클러스터가 제거된 후에, 단계(1460)에서는 그 클러스터와 이전에 연관되었던 주석의 각각이 (예를 들어, 변형 맵에서 "부가됨 마크" 이행을 뒤따름으로써) 지리적 셀에 부가됨으로 마크된다. 이것은 개개의 주석이 이후에 사용자 인터페이스에서 제시되게 야기한다. 일단 클러스터가 제거됨으로 마크되고 개개의 주석이 부가됨으로 마크되었으면, 그때 클러스터는 단계(1470)에서 도시된 바와 같이 지리적 셀로부터 연관이 해제된다.
도 14 및 도 15에 관하여, 일 실시예에 있어서, 최종 클러스터링 솔루션을 컴퓨팅하기 위해, 시스템은 다음을 행한다: (1) 변형 맵에서 모든 상태를 치운다, (2) 시스템은 디스플레이될 사용자 인터페이스에 부가 또는 그로부터 제거될 주석의 형태로 입력을 수신한다, (3) 변형 맵은 부가 및 제거 연산의 누적 효과를 결정한다, (4) 변형 맵에서 부가됨으로 마크되는 모든 엘리먼트가 사용자 인터페이스 상에 제시되고 제거됨으로 마크되는 모든 엘리먼트가 사용자 인터페이스 상에 제시되지 않고 업데이트됨으로 마크되는 모든 엘리먼트가 사용자 인터페이스 상에서 수정되게 되도록 변형 맵의 상태가 사용자 인터페이스에 적용된다. 이러한 맥락에서, 엘리먼트는 개개의 주석 또는 클러스터일 수 있다.
더욱, 클러스터를 부가 또는 제거하는 것에 관하여는, 클러스터를 언제 부가할지 및 클러스터를 언제 제거할지 결정하도록 각종 트리거가 채용될 수 있다. 일 실시예에 있어서, 사용자 인터페이스에 제시된 맵의 스케일이 클러스터링을 트리거링할 수 있다. 예를 들어, 10:1(예를 들어, 맵 상의 10 킬로미터 대 통신 디바이스의 디스플레이 상의 1 센티미터)의 스케일에서 맵 상에 3개의 개개의 주석이 존재하면, 그때 스케일을 20:1로 감축하는 것은 3개의 이산형 주석의 클러스터링을 필요로 할 수 있다. 일 실시예에 있어서, 그들 주석이 사용자 인터페이스에 제시됨에 따라 제2 주석으로 제1 주석의 중첩의 백분율이 클러스터링을 트리거링할 수 있다. 유사하게, 스케일이 5:1로 증가되면, 시스템은 또한 클러스터가 완전히 깨질 수 있음 또는 클러스터에서의 하나 이상의 개개의 주석이 클러스터로부터 깨져 나와 개별적으로 사용자 인터페이스에 제시될 수 있음을 결정할 수 있다.
도 18은 본 발명의 일 실시예에 따라 클러스터를 갖는 일례의 맵을 예시하는 사용자 인터페이스 선도이다. 예시된 실시예에 있어서, 맵은 특정 스케일에서 디스플레이되고, 복수의 개개의 주석(1580)은 복수의 클러스터(1590)와 함께 사용자 인터페이스에 제시되어 있다. 알 수 있는 바와 같이, 클러스터(1590)는 클러스터를 구성하는 개개의 주석의 수를 나타내는 카운트와 연관하여 제시된다.
도 19는 여기에서 설명되는 다양한 실시예와 연관하여 사용될 수 있는 일례의 유선 또는 무선 프로세서 가능 디바이스를 예시하는 블록 선도이다. 예를 들어, 디바이스(550)는 도 1 내지 도 3에 관하여 앞서 설명된 바와 같은 통신 디바이스 또는 서버와 함께 사용될 수 있다. 당업자에게 명확할 바와 같이, 대안의 프로세서 가능 시스템 및/또는 아키텍처가 또한 사용될 수 있다.
프로세서 가능 디바이스(550)는 바람직하게는 프로세서(560)와 같은 하나 이상의 프로세서를 포함한다. 입/출력을 관리하기 위한 보조 프로세서, 부동 소스점 수학적 연산을 수행하기 위한 보조 프로세서, 신호 프로세싱 알고리즘의 고속 실행에 적합한 아키텍처를 갖는 특수-목적 마이크로프로세서(예를 들어, 디지털 신호 프로세서), 주 프로세싱 시스템에 종속된 슬레이브 프로세서(예를 들어, 백-엔드 프로세서), 이중 또는 다중 프로세서 시스템용 부가적 마이크로프로세서 또는 컨트롤러, 또는 코프로세서와 같은 부가적 프로세서가 제공될 수 있다. 그러한 보조 프로세서는 개별 프로세서일 수 있거나 프로세서(560)와 통합될 수 있다.
프로세서(560)는 바람직하게는 통신 버스(555)에 접속되어 있다. 통신 버스(555)는 프로세서 가능 디바이스(550)의 저장소와 다른 주변 컴포넌트 간 정보 전송을 용이하게 하도록 데이터 채널을 포함할 수 있다. 통신 버스(555)는 프로세서(560)와의 통신에 사용되는 신호 세트를 더 제공할 수 있으며, 데이터 버스, 주소 버스 및 제어 버스(도시하지 않음)를 포함한다. 통신 버스(555)는, 예를 들어, 산업 표준 아키텍처("ISA"), 확장 산업 표준 아키텍처("EISA"), 마이크로 채널 아키텍처("MCA"), 주변 컴포넌트 인터커넥트("PCI") 로컬 버스, 또는 IEEE 488 범용 인터페이스 버스("GPIB"), IEEE 696/S-100 등을 포함하는 미국 전기 전자 학회("IEEE")에 의해 반포된 표준을 준수하는 버스 아키텍처와 같이 어떠한 표준 또는 비-표준 버스 아키텍처라도 포함할 수 있다.
프로세서 가능 디바이스(550)는 바람직하게는 주 메모리(565)를 포함하고 또한 보조 메모리(570)를 포함할 수 있다. 주 메모리(565)는 프로세서(560) 상에서 실행되는 프로그램을 위해 명령어 및 데이터의 저장소를 제공한다. 주 메모리(565)는 전형적으로는 동적 램("DRAM") 및/또는 정적 램("SRAM")과 같은 반도체-기반 메모리이다. 다른 반도체-기반 메모리 유형은, 예를 들어, 동기식 동적 램("SDRAM"), 램버스 동적 램("RDRAM"), 에프램("FRAM") 등을 포함하며, 롬("ROM")을 포함한다.
보조 메모리(570)는 옵션으로 내부 메모리(575) 및/또는 착탈식 매체(580), 예를 들어 플로피 디스크 드라이브, 자기 테이프 드라이브, 씨디("CD") 드라이브, 디브이디("DVD") 드라이브 등을 포함할 수 있다. 착탈식 매체(580)는 주지의 방식으로 그에 쓰고 그리고/또는 그로부터 읽는다. 착탈식 저장 매체(580)는 예를 들어 플로피 디스크, 자기 테이프, CD, DVD, SD 카드 등일 수 있다.
착탈식 저장 매체(580)는 거기에 컴퓨터 실행가능한 코드(즉, 소프트웨어) 및/또는 데이터를 저장한 비-일시적 컴퓨터 가독 매체이다. 착탈식 저장 매체(580) 상에 저장된 컴퓨터 소프트웨어 또는 데이터는 프로세서(560)에 의한 실행을 위해 프로세서 가능 디바이스(550) 내로 읽혀 들여진다.
대안의 실시예에 있어서, 보조 메모리(570)는 컴퓨터 프로그램 또는 다른 데이터 또는 명령어가 프로세서 가능 디바이스(550) 내로 로딩될 수 있게 하기 위한 다른 유사한 수단을 포함할 수 있다. 그러한 수단은, 예를 들어, 외부 저장 매체(595) 및 인터페이스(570)를 포함할 수 있다. 외부 저장 매체(595)의 예들은 외부 하드 디스크 드라이브 또는 외부 광학 드라이브 또는 외부 자기-광학 드라이브를 포함할 수 있다.
보조 메모리(570)의 다른 예들은 피롬("PROM"), 이피롬("EPROM"), 이이피롬("EEPROM"), 또는 플래시 메모리(EEPROM과 유사한 블록 지향 메모리)와 같은 반도체 기반 메모리를 포함할 수 있다. 또한, 어떠한 다른 착탈식 저장 매체(580) 및 통신 인터페이스(590)라도 포함되어, 소프트웨어 및 데이터가 외부 매체(595)로부터 프로세서 가능 디바이스(550)로 전송될 수 있게 한다.
프로세서 가능 디바이스(550)는 또한 통신 인터페이스(590)를 포함할 수 있다. 통신 인터페이스(590)는 소프트웨어 및 데이터가 프로세서 가능 디바이스(550)와 외부 디바이스(예를 들어, 프린터), 네트워크 또는 정보 소스 간 전송될 수 있게 한다. 예를 들어, 컴퓨터 소프트웨어 또는 실행가능한 코드는 통신 인터페이스(590)를 통해 네트워크 서버로부터 프로세서 가능 디바이스(550)로 전송될 수 있다. 통신 인터페이스(590)의 예들은, 몇몇 들자면, 모뎀, 네트워크 인터페이스 카드("NIC"), 무선 데이터 카드, 통신 포트, PCMCIA 슬롯 및 카드, 적외선 인터페이스, 및 IEEE 1394 파이어-와이어를 포함한다.
통신 인터페이스(590)는 바람직하게는 이더넷 IEEE 802 표준, 광 채널, 디지털 가입자 회선("DSL"), 비동기식 디지털 가입자 회선("ADSL"), 프레임 릴레이, 비동기식 전송 모드("ATM"), 통합 디지털 서비스 네트워크("ISDN"), 퍼스널 통신 서비스("PCS"), 전송 제어 프로토콜/인터넷 프로토콜("TCP/IP"), 직렬 회선 인터넷 프로토콜/포인트 투 포인트 프로토콜("SLIP/PPP") 등과 같이 산업 반포 프로토콜 표준을 구현하지만, 또한 맞춤형 또는 비표준 인터페이스 프로토콜도 구현할 수 있다.
통신 인터페이스(590)를 통해 전송된 소프트웨어 및 데이터는 일반적으로는 전기 통신 신호(605)의 형태이다. 이들 신호(605)는 바람직하게는 통신 채널(600)을 통해 통신 인터페이스(590)에 제공된다. 일 실시예에 있어서, 통신 채널(600)은 유선 또는 무선 네트워크, 또는 각종 다른 통신 링크일 수 있다. 통신 채널(600)은 신호(605)를 반송하고, 몇몇 들자면, 유선 또는 케이블, 광섬유, 관용적 전화 회선, 셀룰러 폰 링크, 무선 데이터 통신 링크, 라디오 주파수("RF") 링크, 또는 적외선 링크를 포함하는 각종 유선 또는 무선 통신 수단을 사용하여 구현될 수 있다.
컴퓨터 실행가능한 코드(즉, 컴퓨터 프로그램 또는 소프트웨어)는 주 메모리(565) 및/또는 보조 메모리(570)에 저장된다. 컴퓨터 프로그램은 또한 통신 인터페이스(590)를 통해 수신되고 주 메모리(565) 및/또는 보조 메모리(570)에 저장될 수 있다. 그러한 컴퓨터 프로그램은, 실행될 때, 프로세서 가능 디바이스(550)가 앞서 설명된 바와 같은 본 발명의 다양한 기능을 수행할 수 있게 한다.
이러한 설명에 있어서, 용어 "컴퓨터 가독 매체"는 프로세서 가능 디바이스(550)에 컴퓨터 실행가능한 코드(예를 들어, 소프트웨어 및 컴퓨터 프로그램)를 제공하도록 사용되는 어떠한 비-일시적 컴퓨터 가독 저장 매체라도 지칭하는데 사용된다. 이들 매체의 예들은 주 메모리(565), 보조 메모리(570)(내부 메모리(575), 착탈식 매체(580) 및 외부 저장 매체(595)를 포함), 및 통신 인터페이스(590)와 통신 결합된 어떠한 주변 디바이스(네트워크 정보 서버 또는 다른 네트워크 디바이스를 포함)라도 포함한다. 이들 비-일시적 컴퓨터 가독 매체는 실행가능한 코드, 프로그래밍 명령어 및 소프트웨어를 프로세서 가능 디바이스(550)에 제공하기 위한 수단이다.
소프트웨어를 사용하여 구현되는 일 실시예에 있어서, 소프트웨어는 컴퓨터 가독 매체 상에 저장되어 착탈식 매체(580), I/O 인터페이스(585) 또는 통신 인터페이스(590)에 의해 프로세서 가능 디바이스(550) 내로 로딩될 수 있다. 그러한 일 실시예에 있어서, 소프트웨어는 전기 통신 신호(605)의 형태로 프로세서 가능 디바이스(550) 내에 로딩된다. 소프트웨어는, 프로세서(560)에 의해 실행될 때, 바람직하게는 프로세서(560)가 여기에서 앞서 설명된 진보적 특징 및 기능을 수행하게 야기한다.
시스템(550)은 또한 음성 및 데이터 네트워크를 통한 무선 통신을 용이하게 하는 무선 통신 컴포넌트를 옵션으로 포함한다. 무선 통신 컴포넌트는 안테나 시스템(620), 라디오 시스템(615) 및 기저대역 시스템(610)을 포함한다. 통신 디바이스(550)에 있어서, 라디오 주파수("RF") 신호는 라디오 시스템(615)의 관리 하에 안테나 시스템(620)에 의해 공중을 통해 송신 및 수신된다.
일 실시예에 있어서, 안테나 시스템(610)은 하나 이상의 안테나 및 하나 이상의 멀티플렉서(도시하지 않음)를 포함하여, 안테나 시스템(620)에 송신 및 수신 신호 경로를 제공하도록 스위칭 기능을 수행한다. 수신 경로에 있어서, 수신된 RF 신호는 멀티플렉서로부터, 수신된 RF 신호를 증폭하여 증폭된 신호를 라디오 시스템(615)에 보내는 저잡음 증폭기(도시하지 않음)에 결합될 수 있다.
대안의 실시예에 있어서, 라디오 시스템(615)은 다양한 주파수에 걸쳐 통신하도록 구성되는 하나 이상의 라디오를 포함할 수 있다. 일 실시예에 있어서, 라디오 시스템(615)은 하나의 집적 회로("IC")에 복조기(도시하지 않음) 및 변조기(도시하지 않음)를 조합할 수 있다. 복조기 및 변조기는 또한 별개의 컴포넌트일 수 있다. 들어오는 경로에 있어서, 복조기는 RF 반송파 신호를 벗겨 내어 기저대역 수신 오디오 신호를 남기고, 이는 라디오 시스템(615)으로부터 기저대역 시스템(610)으로 보내진다.
수신된 신호가 오디오 정보를 포함하고 있으면, 그때 기저대역 시스템(610)은 신호를 디코딩하고 그것을 아날로그 신호로 변환한다. 그 후 신호는 증폭되고 스피커에 보내진다. 기저대역 시스템(610)은 또한 마이크로폰으로부터 아날로그 오디오 신호를 수신한다. 이들 아날로그 오디오 신호는 기저대역 시스템(610)에 의해 디지털 신호로 변환되고 인코딩된다. 기저대역 시스템(620)은 또한 송신을 위해 디지털 신호를 코딩하고, 라디오 시스템(615)의 변조기 부분에 라우팅되는 기저대역 송신 오디오 신호를 발생시킨다. 변조기는 기저대역 송신 오디오 신호를 RF 반송파 신호와 혼합하여, 안테나 시스템에 라우팅되고 전력 증폭기(도시하지 않음)를 통과할 수 있는 RF 송신 신호를 발생시킨다. 전력 증폭기는 RF 송신 신호를 증폭하고 그것을 신호가 송신을 위해 안테나 포트에 스위칭되는 안테나 시스템(620)에 라우팅한다.
기저대역 시스템(610)은 또한 프로세서(560)와 통신 결합되어 있다. 중앙 프로세싱 유닛(560)은 데이터 저장 영역(565, 570)으로의 액세스를 갖는다. 중앙 프로세싱 유닛(560)은 바람직하게는 메모리(565) 또는 보조 메모리(570)에 저장될 수 있는 명령어(즉, 컴퓨터 프로그램 또는 소프트웨어)를 실행하도록 구성된다. 컴퓨터 프로그램은 또한 기저대역 프로세서(610)로부터 수신되어 데이터 저장 영역(565)에 또는 보조 메모리(570)에 저장되거나, 수신 시 실행될 수 있다. 그러한 컴퓨터 프로그램은, 실행될 때, 통신 디바이스(550)가 앞서 설명된 바와 같은 본 발명의 다양한 기능을 수행할 수 있게 한다. 예를 들어, 데이터 저장 영역(565)은 도 2 내지 도 3에 관하여 앞서 설명된 다양한 소프트웨어 모듈(도시하지 않음)을 포함할 수 있다.
다양한 실시예는 또한, 예를 들어, 주문형 반도체("ASIC") 또는 필드 프로그램가능한 게이트 어레이("FPGA")와 같은 컴포넌트를 사용하여 주로 하드웨어로 구현될 수 있다. 여기에서 설명된 기능을 수행할 수 있는 하드웨어 상태 머신의 구현은 또한 관련 당업자에게 명백할 것이다. 다양한 실시예는 또한 하드웨어와 소프트웨어 둘 다의 조합을 사용하여 구현될 수 있다.
더욱, 당업자는 여기에서 개시된 실시예 및 위에서 설명된 특징과 연관하여 설명된 다양한 예시적 논리적 블록, 모듈, 회로 및 방법 단계가 흔히 전자 하드웨어, 컴퓨터 소프트웨어, 또는 둘 다의 조합으로서 구현될 수 있음을 인식할 것이다. 하드웨어와 소프트웨어의 이러한 호환성을 명확하게 예시하기 위해, 다양한 예시적 컴포넌트, 블록, 모듈, 회로 및 단계가 일반적으로 그들 기능성의 관점에서 위에서 설명되었다. 그러한 기능성이 구현되는 것이 하드웨어로서인지 소프트웨어로서인지는 시스템 전반에 부과되는 구체적 애플리케이션 및 설계 제약에 의존한다. 숙련자는 각각의 구체적 애플리케이션에 대해 달라지는 방식으로 그 설명된 기능성을 구현할 수 있지만, 그러한 구현 결정은 본 발명의 범위로부터의 벗어남을 야기하는 것으로 해석되어서는 안 된다. 부가적으로, 모듈, 블록, 회로 또는 단계 내 기능의 그룹화는 설명의 용이함을 위한 것이다. 특정 기능 또는 단계는 본 발명으로부터 벗어남이 없이 하나의 모듈, 블록 또는 회로로부터 다른 것으로 이동될 수 있다.
더욱, 여기에서 개시된 실시예와 연관하여 설명된 다양한 예시적 논리적 블록, 모듈 및 방법은 범용 프로세서, 디지털 신호 프로세서("DSP"), ASIC, FPGA, 또는 다른 프로그램가능한 논리적 디바이스, 개별 게이트 또는 트랜지스터 로직, 개별 하드웨어 컴포넌트, 또는 여기에서 설명된 기능을 수행하도록 설계된 그 어떠한 조합으로라도 구현 또는 수행될 수 있다. 범용 프로세서는 마이크로프로세서일 수 있지만, 대안으로는, 프로세서는 어떠한 프로세서, 컨트롤러, 마이크로컨트롤러 또는 상태 머신이라도 될 수 있다. 프로세서는 또한 컴퓨팅 디바이스의 조합, 예를 들어, DSP와 마이크로프로세서의 조합, 복수의 마이크로프로세서, DSP 코어와 함께 하나 이상의 마이크로프로세서, 또는 어떠한 다른 그러한 구성으로라도 구현될 수 있다.
부가적으로, 여기에서 개시된 실시예와 연관하여 설명된 알고리즘 또는 방법의 단계는 하드웨어로 직접, 프로세서에 의해 실행되는 소프트웨어 모듈로, 또는 그 둘의 조합으로 구체화될 수 있다. 소프트웨어 모듈은 RAM 메모리, 플래시 메모리, ROM 메모리, EPROM 메모리, EEPROM 메모리, 레지스터, 하드 디스크, 착탈식 디스크, CD-ROM, 또는 네트워크 저장 매체를 포함하는 어떠한 다른 형태의 저장 매체에라도 상주할 수 있다. 일례의 저장 매체는 프로세서가 그 저장 매체에 정보를 쓰고 그리고 그로부터 정보를 읽을 수 있게 되도록 프로세서에 결합될 수 있다. 대안으로, 저장 매체는 프로세서에 일체일 수 있다. 프로세서 및 저장 매체는 또한 ASIC에 주재할 수 있다.
개시된 실시예의 위 설명은 어느 당업자라도 본 발명을 하거나 사용할 수 있게 하도록 제공된다. 이들 실시예에 대한 다양한 수정은 당업자에게 쉽게 명백할 것이고, 여기에서 설명된 포괄적 원리는 본 발명의 취지 및 범위로부터 벗어남이 없이 다른 실시예에 적용될 수 있다. 그리하여, 여기에서 제시된 설명 및 도면은 본 발명의 현재 바람직한 실시예를 표현하고 그래서 본 발명에 의해 광범위하게 고려되는 대상 사항을 표현하는 것으로 이해되어야 한다. 더욱, 본 발명의 범위는 당업자에게 자명하게 될 수 있는 다른 실시예를 완전히 아우르는 것임과 본 발명의 범위는 따라서 제한되지 않는 것임이 이해된다.

Claims (73)

  1. 온라인 컴퓨팅 시스템에서 수행되는 모바일-디바이스 정보의 라우팅 및 디스플레이 방법으로서,
    장소에 대한 프로파일(profile)을 생성시키는 단계로서, 상기 프로파일은 상기 장소에 대한 고유 식별자 및 상기 장소에 대한 맵 스케일(map scale)을 결정하기 위한 지리적 셀 식별자를 포함하는, 상기 장소에 대한 프로파일(profile)을 생성시키는 단계;
    데이터 저장 영역에 상기 장소에 대한 프로파일을 저장하는 단계;
    고유한 장소 식별자를 제1 사용자에 대한 고유한 사용자 식별자와 연관시키는 데이터 저장 영역에서의 데이터에 기초하여 상기 제1 사용자가 상기 장소에 있었던 것을 검증하는 단계;
    상기 제1 사용자가 상기 장소에 대한 질문에 대응하는 전문가인지를 식별하는 단계;
    상기 장소에 대한 질문, 상기 고유한 장소 식별자 및 상기 지리적 셀 식별자를 상기 제1 사용자의 모바일 디바이스에 전송함으로써, 상기 제1 사용자의 상기 모바일 디바이스로 하여금 상기 모바일 디바이스의 사용자 인터페이스 상에 상기 지리적 셀 식별자에 의해 결정된 상기 맵 스케일에서의 맵 및 상기 질문을 디스플레이하게 하는 단계;
    상기 모바일 디바이스로부터 상기 장소에 대한 질문에 대한 응답 및 상기 고유한 장소 식별자를 수신하는 단계; 및
    상기 모바일 디바이스로부터 상기 장소에 대한 질문에 대한 응답 및 상기 고유한 장소 식별자를 수신한 것에 응답해서, 상기 질문에 대한 응답에 기초하여 상기 데이터 저장 영역에 기억된 상기 장소에 대한 프로파일을 서버에 의해서 업데이트시키는 단계를 포함하되,
    상기 온라인 컴퓨팅 시스템은 상기 제1 사용자에 의해 답변된 상기 장소에 대한 질문을 추적하고, 포인트가 상기 장소에 대하여 상기 제1 사용자에게 축적되고,
    상기 온라인 컴퓨팅 시스템은 축적된 상기 포인트가 기설정된 임계값을 초과하면 상기 제1 사용자를 전문가로서 식별하는, 온라인 컴퓨팅 시스템에서 수행되는 모바일-디바이스 정보의 라우팅 및 디스플레이 방법.
  2. 제1항에 있어서,
    상기 장소에 대한 질문, 상기 고유한 장소 식별자 및 상기 지리적 셀 식별자를 제2 사용자의 모바일 디바이스에 전송함으로써, 상기 제2 사용자의 상기 모바일 디바이스로 하여금 상기 고유한 셀 식별자에 의해 결정된 상기 맵 스케일에서의 제2 맵 및 상기 질문을 디스플레이하게 하는 단계; 및
    상기 제2 사용자의 모바일 디바이스로부터, 상기 고유한 장소 식별자 및 상기 장소에 대한 질문에 대한 제2 응답을 수신한 것에 응답하여, 상기 질문에 대한 상기 제2 사용자의 응답에 기초하여 상기 고유한 장소 식별자와 연관된 상기 장소에 대한 프로파일을 업데이트시키는 단계를 더 포함하는, 온라인 컴퓨팅 시스템에서 수행되는 모바일-디바이스 정보의 라우팅 및 디스플레이 방법.
  3. 제1항에 있어서,
    상기 질문이 상기 장소를 포함하는 지리적 영역에 관한 것임을 결정하는 단계; 및
    결정된 지리적 영역에 기초하여 복수의 지리적 셀 식별자로부터 상기 지리적 셀 식별자를 선택하는 단계를 더 포함하는, 온라인 컴퓨팅 시스템에서 수행되는 모바일-디바이스 정보의 라우팅 및 디스플레이 방법.
  4. 제3항에 있어서, 상기 복수의 지리적 셀 식별자 중 각각의 지리적 셀 식별자가 상이한 맵 스케일 레벨에 상당하는, 온라인 컴퓨팅 시스템에서 수행되는 모바일-디바이스 정보의 라우팅 및 디스플레이 방법.
  5. 제1항에 있어서,
    상기 장소에 대한 질의를 장소 정보의 제3자 제공자에게 전송하는 단계;
    상기 제3자 제공자로부터의 질의 응답을 수신하는 단계; 및
    상기 질의 응답에 기초하여 상기 장소에 대한 프로파일을 업데이트시키는 단계를 더 포함하는, 온라인 컴퓨팅 시스템에서 수행되는 모바일-디바이스 정보의 라우팅 및 디스플레이 방법.
  6. 제1항에 있어서, 상기 제1 사용자가 상기 장소에 현재 있는 것을 검증하는 단계를 포함하는, 온라인 컴퓨팅 시스템에서 수행되는 모바일-디바이스 정보의 라우팅 및 디스플레이 방법.
  7. 제1항에 있어서, 상기 제1 사용자가 일정 시간 기간 내에 상기 장소에 있었던 것을 검증하는 단계를 포함하는, 온라인 컴퓨팅 시스템에서 수행되는 모바일-디바이스 정보의 라우팅 및 디스플레이 방법.
  8. 제1항에 있어서, 상기 제1 사용자가 상기 장소에 있었던 날짜 및 시간 중 적어도 하나를 검증하는 단계를 포함하는, 온라인 컴퓨팅 시스템에서 수행되는 모바일-디바이스 정보의 라우팅 및 디스플레이 방법.
  9. 제1항에 있어서, 상기 제1 사용자가 상기 장소에 있었던 지속기간을 검증하는 단계를 포함하는, 온라인 컴퓨팅 시스템에서 수행되는 모바일-디바이스 정보의 라우팅 및 디스플레이 방법.
  10. 제1항에 있어서, 상기 응답과 연관된 하나 이상의 카테고리를 결정하기 위하여 상기 응답을 분석하는 단계를 더 포함하는, 온라인 컴퓨팅 시스템에서 수행되는 모바일-디바이스 정보의 라우팅 및 디스플레이 방법.
  11. 제1항에 있어서, 상기 응답과 연관된 하나 이상의 지리적 영역을 결정하기 위하여 상기 응답을 분석하는 단계를 더 포함하는, 온라인 컴퓨팅 시스템에서 수행되는 모바일-디바이스 정보의 라우팅 및 디스플레이 방법.
  12. 프로세서에 의해 실행 가능한 컴퓨터 프로그램 명령어를 저장하는 비일시적 컴퓨터-가독 저장 매체로서, 상기 프로세서는,
    장소에 대한 프로파일을 생성시키는 동작으로서, 상기 프로파일은 상기 장소에 대한 고유 식별자 및 상기 장소에 대한 맵 스케일을 결정하기 위한 지리적 셀 식별자를 포함하는, 상기 장소에 대한 프로파일을 생성시키는 동작;
    데이터 저장 영역에 상기 장소에 대한 프로파일을 저장하는 동작;
    고유한 장소 식별자를 제1 사용자에 대한 고유한 사용자 식별자와 연관시키는 데이터 저장 영역에서의 데이터에 기초하여 상기 제1 사용자가 상기 장소에 있었던 것을 검증하는 동작;
    상기 제1 사용자가 상기 장소에 대한 질문에 대응하는 전문가인지를 식별하는 동작;
    상기 장소에 대한 질문, 상기 고유한 장소 식별자 및 상기 지리적 셀 식별자를 상기 제1 사용자의 모바일 디바이스에 전송함으로써, 상기 제1 사용자의 상기 모바일 디바이스로 하여금 상기 모바일 디바이스의 사용자 인터페이스 상에 상기 지리적 셀 식별자에 의해 결정된 상기 맵 스케일에서의 맵 및 상기 질문을 디스플레이하게 하는 동작;
    상기 모바일 디바이스로부터 상기 장소에 대한 질문에 대한 응답 및 상기 고유한 장소 식별자를 수신하는 동작; 및
    상기 모바일 디바이스로부터 상기 장소에 대한 질문에 대한 응답 및 상기 고유한 장소 식별자를 수신한 것에 응답해서, 상기 질문에 대한 응답에 기초하여 상기 데이터 저장 영역에 기억된 상기 장소에 대한 프로파일을 업데이트시키는 동작을 포함하되,
    상기 프로세서는 상기 제1 사용자에 의해 답변된 상기 장소에 대한 질문을 추적하고, 포인트가 상기 장소에 대하여 상기 제1 사용자에게 축적되고,
    상기 프로세서는 축적된 상기 포인트가 기설정된 임계값을 초과하면 상기 제1 사용자를 전문가로서 식별하는, 비일시적 컴퓨터-가독 저장 매체.
  13. 제12항에 있어서, 상기 동작들은,
    상기 장소에 대한 질문, 상기 고유한 장소 식별자 및 상기 지리적 셀 식별자를 제2 사용자의 모바일 디바이스에 전송함으로써, 상기 제2 사용자의 상기 모바일 디바이스로 하여금 상기 고유한 셀 식별자에 의해 결정된 상기 맵 스케일에서의 제2 맵 및 상기 질문을 디스플레이하게 하는 동작; 및
    상기 제2 사용자의 모바일 디바이스로부터, 상기 고유한 장소 식별자 및 상기 장소에 대한 질문에 대한 제2 응답을 수신한 것에 응답하여, 상기 질문에 대한 상기 제2 사용자의 응답에 기초하여 상기 고유한 장소 식별자와 연관된 상기 장소에 대한 프로파일을 업데이트시키는 동작을 더 포함하는, 비일시적 컴퓨터-가독 저장 매체.
  14. 제12항에 있어서, 상기 동작들은,
    상기 질문이 상기 장소를 포함하는 지리적 영역에 관한 것임을 결정하는 동작; 및
    결정된 지리적 영역에 기초하여 복수의 지리적 셀 식별자로부터 상기 지리적 셀 식별자를 선택하는 동작을 더 포함하는, 비일시적 컴퓨터-가독 저장 매체.
  15. 제14항에 있어서, 상기 복수의 지리적 셀 식별자 중 각각의 지리적 셀 식별자가 상이한 맵 스케일 레벨에 상당하는, 비일시적 컴퓨터-가독 저장 매체.
  16. 제12항에 있어서, 상기 동작들은,
    상기 장소에 대한 질의를 장소 정보의 제3자 제공자에게 전송하는 동작;
    상기 제3자 제공자로부터의 질의 응답을 수신하는 동작; 및
    상기 질의 응답에 기초하여 상기 장소에 대한 프로파일을 업데이트시키는 동작을 더 포함하는, 비일시적 컴퓨터-가독 저장 매체.
  17. 제12항에 있어서, 상기 동작들은 상기 제1 사용자가 상기 장소에 현재 있는 것을 검증하는 동작을 포함하는, 비일시적 컴퓨터-가독 저장 매체.
  18. 제12항에 있어서, 상기 동작들은 상기 제1 사용자가 일정 시간 기간 내에 상기 장소에 있었던 것을 검증하는 동작을 더 포함하는, 비일시적 컴퓨터-가독 저장 매체.
  19. 제12항에 있어서, 상기 동작들은, 상기 제1 사용자가 상기 장소에 있었던 날짜, 상기 제1 사용자가 상기 장소에 있었던 시간 및 상기 제1 사용자가 상기 장소에 있었던 지속기간 중 적어도 하나를 검증하는 동작을 더 포함하는, 비일시적 컴퓨터-가독 저장 매체.
  20. 제12항에 있어서, 상기 동작들은, 상기 응답과 연관된 카테고리 및 상기 응답과 연관된 지리적 영역 중 적어도 하나를 결정하기 위하여 상기 응답을 분석하는 동작을 더 포함하는, 비일시적 컴퓨터-가독 저장 매체.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
  45. 삭제
  46. 삭제
  47. 삭제
  48. 삭제
  49. 삭제
  50. 삭제
  51. 삭제
  52. 삭제
  53. 삭제
  54. 삭제
  55. 삭제
  56. 삭제
  57. 삭제
  58. 삭제
  59. 삭제
  60. 삭제
  61. 삭제
  62. 삭제
  63. 삭제
  64. 삭제
  65. 삭제
  66. 삭제
  67. 삭제
  68. 삭제
  69. 삭제
  70. 삭제
  71. 삭제
  72. 삭제
  73. 삭제
KR1020147027287A 2012-02-29 2013-02-28 실증적 전문가 결정 및 질문 라우팅 시스템 및 방법 KR102047150B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US201261605126P 2012-02-29 2012-02-29
US61/605,126 2012-02-29
PCT/US2013/028440 WO2013130894A1 (en) 2012-02-29 2013-02-28 Empirical expert determination and question routing system and method

Publications (2)

Publication Number Publication Date
KR20140136480A KR20140136480A (ko) 2014-11-28
KR102047150B1 true KR102047150B1 (ko) 2019-11-20

Family

ID=49083314

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147027287A KR102047150B1 (ko) 2012-02-29 2013-02-28 실증적 전문가 결정 및 질문 라우팅 시스템 및 방법

Country Status (14)

Country Link
US (2) US10311747B2 (ko)
EP (2) EP3512221B1 (ko)
JP (3) JP6163501B2 (ko)
KR (1) KR102047150B1 (ko)
CN (2) CN104254865A (ko)
AU (1) AU2013225842A1 (ko)
CA (1) CA2866123A1 (ko)
ES (2) ES2881768T3 (ko)
IL (3) IL234340A (ko)
MX (1) MX355293B (ko)
PT (1) PT2820616T (ko)
SG (2) SG11201405299YA (ko)
TR (1) TR201909349T4 (ko)
WO (1) WO2013130894A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11462125B2 (en) 2012-02-29 2022-10-04 Airbnb, Inc. Empirical expert determination and question routing system and method

Families Citing this family (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9792330B1 (en) 2013-04-30 2017-10-17 Google Inc. Identifying local experts for local search
US10915973B2 (en) * 2014-03-05 2021-02-09 Transform Sr Brands Llc System and method providing expert audience targeting
US20150286709A1 (en) * 2014-04-02 2015-10-08 Samsung Electronics Co., Ltd. Method and system for retrieving information from knowledge-based assistive network to assist users intent
US9646076B2 (en) * 2014-05-13 2017-05-09 International Business Machines Corporation System and method for estimating group expertise
WO2015185919A1 (en) * 2014-06-02 2015-12-10 Geospock Limited System for providing location-based social networking services to users of mobile devices
US9734239B2 (en) 2014-06-30 2017-08-15 International Business Machines Corporation Prompting subject matter experts for additional detail based on historical answer ratings
US20160073228A1 (en) * 2014-09-04 2016-03-10 Mastercard International Incorporated System and method for generating expected geolocations of mobile computing devices
KR20160046038A (ko) * 2014-10-17 2016-04-28 삼성전자주식회사 위치 기반 소셜 검색 서비스를 제공하는 방법 및 장치
CN104636456B (zh) * 2015-02-03 2018-01-23 大连理工大学 一种基于词向量的问题路由方法
IL238562B (en) * 2015-04-30 2019-05-30 Verint Systems Ltd A system and method for spatial grouping by lattices in several resolutions
CN106255054A (zh) * 2015-06-10 2016-12-21 阿里巴巴集团控股有限公司 确定移动终端定位间隔的方法、移动终端及服务器
US20170111458A1 (en) * 2015-10-14 2017-04-20 Facebook, Inc. Systems and methods for providing destination suggestions
US11113651B2 (en) * 2016-01-07 2021-09-07 Playcore Wisconsin, Inc. Method and system for assessing play value of a playground
US10395234B1 (en) * 2016-03-15 2019-08-27 Cray Pay Inc. Mobile device enablement of universal prepaid cards
US10789316B2 (en) 2016-04-08 2020-09-29 Pearson Education, Inc. Personalized automatic content aggregation generation
US10325215B2 (en) * 2016-04-08 2019-06-18 Pearson Education, Inc. System and method for automatic content aggregation generation
US10642848B2 (en) 2016-04-08 2020-05-05 Pearson Education, Inc. Personalized automatic content aggregation generation
EP3322149B1 (en) * 2016-11-10 2023-09-13 Tata Consultancy Services Limited Customized map generation with real time messages and locations from concurrent users
JP6767952B2 (ja) * 2017-09-08 2020-10-14 ヤフー株式会社 推定装置、推定方法および推定プログラム
AU2019360100A1 (en) * 2018-10-15 2021-04-22 Liveperson, Inc. Dynamic endpoint communication channels
US11126676B2 (en) * 2018-12-10 2021-09-21 Sap Se Influence rank generation system for enterprise community using social graph
JP7067517B2 (ja) 2019-03-27 2022-05-16 株式会社Soken アンテナ装置
US10887380B2 (en) * 2019-04-01 2021-01-05 Google Llc Multi-cluster ingress
US11782962B2 (en) 2019-08-12 2023-10-10 Nec Corporation Temporal context-aware representation learning for question routing
US20210365445A1 (en) * 2020-05-25 2021-11-25 Fortior Solutions, Llc Technologies for collecting, managing, and providing contact tracing information for infectious disease response and mitigation
CN112818186A (zh) * 2021-01-22 2021-05-18 平安消费金融有限公司 信息跟踪方法、装置、电子设备及存储介质
US11605139B1 (en) 2022-06-23 2023-03-14 World Answer Zone Llc Method of collating, abstracting, and delivering worldwide viewpoints

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009134443A (ja) * 2007-11-29 2009-06-18 Yahoo Japan Corp 情報提供装置、情報提供システム、プログラム及び情報提供方法
JP2010217952A (ja) * 2009-03-13 2010-09-30 Zenrin Datacom Co Ltd 情報提供装置及びプログラム

Family Cites Families (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6223165B1 (en) 1999-03-22 2001-04-24 Keen.Com, Incorporated Method and apparatus to connect consumer to expert
JP2002312375A (ja) * 2001-04-18 2002-10-25 Lealcom Kk 知識転換・共有促進方法およびシステム
US6879838B2 (en) 2001-04-20 2005-04-12 Koninklijke Philips Electronics N.V. Distributed location based service system
US20030140037A1 (en) 2002-01-23 2003-07-24 Kenneth Deh-Lee Dynamic knowledge expert retrieval system
JP4096570B2 (ja) * 2002-01-31 2008-06-04 株式会社デンソー 情報システム、端末、情報取得方法、プログラム
JP2004334657A (ja) 2003-05-09 2004-11-25 Sharp Corp 情報提供装置、情報提供方法、その方法を実現するためのプログラムおよび記録媒体
KR20030045765A (ko) 2003-05-22 2003-06-11 김세진 문답형 지식검색 기반의 서비스 거래 시스템 및 방법
US7599791B2 (en) * 2004-04-30 2009-10-06 Pioneer Corporation Spot searching device, navigation apparatus, spot searching method, spot searching program, and information recording medium having spot searching program
GB2422669A (en) * 2005-01-31 2006-08-02 Hewlett Packard Development Co Article and a mobile networkable device for reading navigational data from an article
US7826965B2 (en) * 2005-06-16 2010-11-02 Yahoo! Inc. Systems and methods for determining a relevance rank for a point of interest
US20070067098A1 (en) * 2005-09-19 2007-03-22 Zelentsov Oleg U Method and system for identification of geographic location
US7856360B2 (en) * 2006-01-30 2010-12-21 Hoozware, Inc. System for providing a service to venues where people aggregate
JP4776022B2 (ja) * 2006-08-25 2011-09-21 株式会社科学情報システムズ 情報提供システム、情報提供方法、及びサービスサーバ
US7934224B2 (en) * 2007-06-29 2011-04-26 France Telecom Method, interface and apparatus for discovering a location of a device
US7720844B2 (en) * 2007-07-03 2010-05-18 Vulcan, Inc. Method and system for continuous, dynamic, adaptive searching based on a continuously evolving personal region of interest
US8275394B2 (en) * 2008-03-20 2012-09-25 Nokia Corporation Nokia places floating profile
US7948502B2 (en) * 2008-05-13 2011-05-24 Mitac International Corp. Method of displaying picture having location data and apparatus thereof
US9646025B2 (en) * 2008-05-27 2017-05-09 Qualcomm Incorporated Method and apparatus for aggregating and presenting data associated with geographic locations
US20100041378A1 (en) * 2008-08-14 2010-02-18 Ralph Aceves System and method for automatically generating a user profile from location information
US8751559B2 (en) 2008-09-16 2014-06-10 Microsoft Corporation Balanced routing of questions to experts
US20100153008A1 (en) * 2008-12-11 2010-06-17 Schwartz Mark H Method and system to enhance site promotion using location information and incentive distribution
US20100211308A1 (en) * 2009-02-19 2010-08-19 Microsoft Corporation Identifying interesting locations
US20100241723A1 (en) * 2009-03-17 2010-09-23 Hugh Dornbush Computer-Implemented Delivery of Real-Time Participatory Experience of Localized Events
US9052204B2 (en) * 2009-10-14 2015-06-09 Nec Corporation Behavior pattern extraction system, apparatus, method and recording medium storing program
JP5333783B2 (ja) 2010-03-16 2013-11-06 株式会社エクォス・リサーチ 訪問履歴登録システム
US20120011167A1 (en) * 2010-07-09 2012-01-12 Nokia Corporation Method and apparatus for aggregating and linking place data
US20120095978A1 (en) * 2010-10-14 2012-04-19 Iac Search & Media, Inc. Related item usage for matching questions to experts
US9292667B1 (en) * 2010-11-10 2016-03-22 Amazon Technologies, Inc. Location based community
CA2829004A1 (en) * 2011-03-04 2012-09-13 Foursquare Labs, Inc. System and method for managing and redeeming offers with a location-based service
US8521180B2 (en) * 2011-08-12 2013-08-27 Disney Enterprises, Inc. Location-based automated check-in to a social network recognized location using a token
US8725168B2 (en) * 2011-10-17 2014-05-13 Facebook, Inc. Content surfacing based on geo-social factors
PT2820616T (pt) 2012-02-29 2019-06-12 Airbnb Inc Determinação de especialistas empíricos e sistema e método de encaminhamento de perguntas

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009134443A (ja) * 2007-11-29 2009-06-18 Yahoo Japan Corp 情報提供装置、情報提供システム、プログラム及び情報提供方法
JP2010217952A (ja) * 2009-03-13 2010-09-30 Zenrin Datacom Co Ltd 情報提供装置及びプログラム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11462125B2 (en) 2012-02-29 2022-10-04 Airbnb, Inc. Empirical expert determination and question routing system and method

Also Published As

Publication number Publication date
WO2013130894A1 (en) 2013-09-06
TR201909349T4 (tr) 2019-07-22
CA2866123A1 (en) 2013-09-06
CN107948928B (zh) 2020-04-07
MX2014010371A (es) 2015-07-06
US10311747B2 (en) 2019-06-04
SG11201405299YA (en) 2014-09-26
PT2820616T (pt) 2019-06-12
IL254408B (en) 2018-12-31
IL234340A (en) 2017-10-31
MX355293B (es) 2018-04-13
US20180137772A1 (en) 2018-05-17
IL263654A (en) 2019-01-31
US20150017616A1 (en) 2015-01-15
US11462125B2 (en) 2022-10-04
EP2820616A4 (en) 2015-10-14
KR20140136480A (ko) 2014-11-28
EP2820616B1 (en) 2019-04-10
JP2015512104A (ja) 2015-04-23
JP2019061698A (ja) 2019-04-18
JP6163501B2 (ja) 2017-07-12
ES2881768T3 (es) 2021-11-30
ES2730376T3 (es) 2019-11-11
CN107948928A (zh) 2018-04-20
JP2017199402A (ja) 2017-11-02
IL263654B (en) 2019-12-31
EP3512221A1 (en) 2019-07-17
EP3512221B1 (en) 2021-04-07
EP2820616A1 (en) 2015-01-07
IL254408A0 (en) 2017-11-30
SG10201708442PA (en) 2017-11-29
CN104254865A (zh) 2014-12-31
JP6442000B2 (ja) 2018-12-19
AU2013225842A1 (en) 2014-09-18
JP6666412B2 (ja) 2020-03-13

Similar Documents

Publication Publication Date Title
KR102047150B1 (ko) 실증적 전문가 결정 및 질문 라우팅 시스템 및 방법
US11758501B2 (en) System and method for matching using location information
EP3272144B1 (en) Connection technology-based wireless coverage verification
CN108256117B (zh) 用于识别与位置相关联的地点的方法、系统和存储介质
US20130325856A1 (en) App recommendation using crowd-sourced localized app usage data
WO2015184431A1 (en) System and process for location-based informationretrieval
EP3011524A1 (en) Multiple device correlation
KR20150037769A (ko) 모바일 애플리케이션 사용자의 관심 프로파일
RU2661773C2 (ru) Система и способы определения местоположения с привязкой по времени для обнаружения контекста мобильного пользователя
US20170329907A1 (en) Method and system for generating polygons within a geographic region that satisfy a query
EP2922014A1 (en) Polygon-based indexing of places
Ferrara Data Collection and Analysis in Urban Scenarios
CN118138993A (zh) 一种活动区域检测方法、装置、设备及存储介质
JP2013004008A (ja) サーバ装置、通信システム、通信方法およびプログラム

Legal Events

Date Code Title Description
AMND Amendment
AMND Amendment
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant