KR20140101785A - 맥락 신호에 대해 반환된 정보의 정확성 향상 기법 - Google Patents

맥락 신호에 대해 반환된 정보의 정확성 향상 기법 Download PDF

Info

Publication number
KR20140101785A
KR20140101785A KR1020147016042A KR20147016042A KR20140101785A KR 20140101785 A KR20140101785 A KR 20140101785A KR 1020147016042 A KR1020147016042 A KR 1020147016042A KR 20147016042 A KR20147016042 A KR 20147016042A KR 20140101785 A KR20140101785 A KR 20140101785A
Authority
KR
South Korea
Prior art keywords
data
accuracy
data source
information
segment
Prior art date
Application number
KR1020147016042A
Other languages
English (en)
Other versions
KR101985045B1 (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 KR20140101785A publication Critical patent/KR20140101785A/ko
Application granted granted Critical
Publication of KR101985045B1 publication Critical patent/KR101985045B1/ko

Links

Images

Classifications

    • 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/535Tracking the activity of the user
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W64/00Locating users or terminals or network equipment for network management purposes, e.g. mobility management
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2101/00Indexing scheme associated with group H04L61/00
    • H04L2101/60Types of network addresses
    • H04L2101/69Types of network addresses using geographic information, e.g. room number
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/45Network directories; Name-to-address mapping

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Endoscopes (AREA)
  • Arrangements For Transmission Of Measured Signals (AREA)
  • Selective Calling Equipment (AREA)

Abstract

본 발명은 수신된 맥락 데이터에 대한 적어도 하나의 데이터 소스에 의해 제공되는 맥락 기반 정보의 정확도가 증가되는 기술에 관한 것이다. 룩업된 맥락 기반 정보의 사용과 연관하여 수신된 정확성 정보가 로그된다. 정확성 정보는 데이터 소스를 정정하거나 및/또는 정확성 정보를 통해 결정된 것과 같은 복수의 데이터 소스들로부터 가장 정확한 부분(세그먼트)일 가능성이 있는 부분을 포함하는 혼합 데이터 소스를 생성함으로써 전반적인 정확도를 증가시키도록 프로세싱될 수 있다.

Description

맥락 신호에 대해 반환된 정보의 정확성 향상 기법{INCREASING THE ACCURACY OF INFORMATION RETURNED FOR CONTEXT SIGNALS}
사용자들은 종종 소프트웨어 시스템에 의해 사용되기 이전에 정규화(canonicalized) 되어야하는 맥락 신호(contextual signal)를 생성한다. 예시로는 IP(인터넷 프로토콜) 어드레스, WiFi 신호 및 셀 타워 정보를 포함하며, 이는 일부 소프트웨어 시스템이 그들의 시스템에 의해 사용될 수 있도록 GPS 위치, 또는 도시, 주(state), 국가 투플(tuple) 등으로 변환되어야만 한다. 다른 예시는 사용자의 GPS 위치가 주어진 것에 기초하는 날씨 애플리케이션을 포함한다. 또 다른 예시는 전화번호가 주어지면 해당 번호의 주인과 관련된 정보(예를 들어, 이름과 주소)를 반환하는 서비스인 반전 전화번호부 서비스(reverse phone directory service)이다.
위치 기반 및 이러한 다른 시나리오에서, 요청된 정보를 제공할 수 있는 복수의 데이터 소스가 존재할 수 있다. 예를 들어, IP 어드레스가 주어진 위치를 제공할 수 있는 복수의 데이터 소스가 존재하며, 유사한 상황이 WiFi 및 셀 타워 맵핑 정보에서도 존재한다. 데이터가 합쳐지는 방식과 합쳐지는 시기로 인해, 때때로 입력 신호 및 실제 위치와 관련된 소스들 사이의 맵핑에서 충돌이 존재한다. 예를 들어, 동일한 IP 어드레스가 하나의 데이터 소스에 대해서는 워싱턴 D.C.로 맵핑하고 다른 데이터 소스에 대해서는 네덜란드로 맵핑할 수 있다.
소프트웨어 서비스가 다양한 타입의 사용자 입력을 수용하지만, 이러한 불분명한 신호의 정규화(canonicalization)는 서비스 하에서 구동중인 애플리케이션에 영향을 미친다. 이는 단지 각 애플리케이션이 신호의 모호성을 감소시키기 위한 로직을 구현하는 것이 어렵기 때문일 뿐만 아니라, 맥락 정보가 애플리케이션들 사이에서 일관적이어야 하기 때문이기도 하다. 정규화는 일반적으로 커다란 맵핑 테이블을 요구하지만, 이러한 각각의 맵핑 테이블이 얼마나 정확하지를 평가하는 것은 어려운 일이다. 예를 들어, IP 어드레스로부터 위치로의 변환은 IP 어드레스의 범위를 도시명, 국가명 등에 맵핑하기 위해서 커다란 룩업 테이블(lookup table)을 필요로 한다. 테이블 포맷이 상대적으로 단순하지만, 테이블의 크기가 크기 때문에 각각의 IP 범위의 맵핑이 올바른지 확인하는 것은 기본적으로 비실용적이다.
본 요약부는 아래의 상세한 설명에서 추가로 기술되는 대표적인 개념들의 선택을 단순화된 형태로 소개하기 위해 제공되었다. 본 요약부는 청구된 청구사항의 중요 특성 또는 기본 특성을 식별하기 위한 것이 아니며, 청구된 청구사항의 범주를 제한하는 임의의 방식으로 사용되기 위한 것 또한 아니다.
간략하게, 본 명세서에 기술된 청구사항의 다양한 측면들은 수신된 맥락 데이터로부터의 적어도 하나의 데이터 소스에 의해 제공되는 맥락 기반 정보의 정확도를 맥락 기반 정보의 사용과 연관하여 수신되는 정확성 정보를 프로세싱함으로써 증가시키는 기술에 관한 것이다. 비제한적인 예시로서, IP 어드레스와 같은 사용자 맥락 신호는 데이터 소스를 통해 사용자의 가능한 위치를 룩업(lookup) 하도록 사용될 수 있으며, (예를 들어 상호보완적 위치 데이터를 제공하는 더욱 높은 정확도의 소스 및/또는 사용자 피드백과 같은) 다른 엔티티가 정확성 정보를 제공할 수 있다.
일 측면에서, 하나 이상의 데이터 소스에 의해 제공되는 맥락 기반 정보는 적어도 하나의 위치 기반 결과를 포함하는 결과 세트를 제공하도록 사용될 수 있는 위치 정보를 포함할 수 있다. 정확성 정보는 위치 기반 결과가 올바른지 여부를 나타내는 수신된 피드백을 포함할 수 있다.
일 측면에서, 만약 위치 정보가 상호보완적 위치 정보와 일관적이지 않으면, 정확성 정보는 데이터 소스를 정정함으로써 전반적인 정확도(accuracy)를 증가시키도록 프로세싱될 수 있다.
일 측면에서, 만약 위치 정보가 상호보완적 위치 정보에 기초하여 올바르지 않은 것으로 알려진다면, 정확성 정보는 데이터 소스의 출력을 동적으로 정정함으로써 전반적인 정확도를 증가시키도록 프로세싱될 수 있다.
일 측면에서, 복수의 데이터 소스의 전반적인 정확도는 데이터 소스들 사이에서 복수의 대응 세그먼트를 제공하기 위해서 각각의 데이터 소스를 세그먼트로 분할함으로써 증가될 수 있다. 정확성 정보는 각각의 대응 세그먼트에 대한 정확성의 정도를 결정하도록 프로세싱될 수 있으며, 각각의 대응 세그먼트에 대한 정확성의 측정에 적어도 부분적으로 기초하여 대응 세그먼트들 중에서 혼합된 데이터 소스에 대해 선택된 세그먼트를 선택한다.
일 구현에서, 샘플링 서비스는 복수의 샘플 요청의 적어도 일부에 대해 정확성 데이터를 로그하며, 각각의 샘플 요청은 맥락 데이터와 연관된다. 정보가 로그된 각각의 샘플 요청에 대해서, 샘플링 서비스는 하나 이상의 데이터 소스가 아닌 적어도 하나의 엔티티로부터, 해당 요청과 연관된 맥락 데이터에 기초하여 하나 이상의 데이터 소스에서 룩업된 맥락 기반 정보와 관련된 정확성의 정도를 획득한다. 로그된 데이터는 룩업된 맥락 기반 정보에 기초하여 반환된 정보의 전반적인 정확도를 증가시키도록 프로세싱될 수 있다.
다른 장점들이 아래의 상세한 설명 및 첨부된 도면으로부터 명백해질 것이다.
도 1은 일 예시적인 실시예에 따른 룩업 데이터의 정확성 가능성과 관련된 데이터를 로그하도록 구성된 예시적인 구성요소를 나타내는 블록도.
도 2는 일 예시적인 실시예에 따라 로그된 데이터에 기초하여 어느 데이터 소스의 어느 대응 서브셋(세그먼트)이 가장 정확한지를 결정하도록 로그된 데이터를 프로세싱하도록 구성된 하나 이상의 예시적인 구성요소를 나타내는 블록도.
도 3은 일 예시적인 실시예에 따라 데이터 소스의 가장 정확한 대응 세그먼트가 가상의 (또는 실제의) 혼합된 데이터 소스로 합병되는 방식을 나타낸 도면.
도 4는 일 예시적인 실시예에 따라 데이터 소스를 정정하기 위해 로그된 데이터를 프로세싱하도록 구성된 하나 이상의 예시적인 구성요소를 나타내는 블록도.
도 5는 일 예시적인 실시예에 따라 IP 어드레스 기반의 (또는 다른) 위치 룩업 결과와 관련하여 로그된 사용자 만족도 피드백을 수집하기 위한 예시적인 단계를 나타낸 순서도.
도 6은 일 예시적인 실시예에 따라 혼합된 데이터 소스를 생성하기 위해서 피드백에 기초하여 어느 데이터 소스 세그먼트가 가장 정확한지를 결정하도록 로그된 사용자 피드백을 프로세싱하는 예시적인 단계를 나타내는 순서도.
도 7은 본 명세서에 기술된 다양한 실시예들이 구현될 수 있는 예시적이고 비제한적인 네트워킹된 환경을 나타내는 블록도.
도 8은 본 발명에 기술된 다양한 실시예들의 하나 이상의 측면이 구현될 수 있는 예시적이고 비제한적인 컴퓨팅 시스템 또는 운영 환경을 나타내는 블록도.
본 발명은 첨부된 도면에 제한적이지 않은 예시적인 방식으로 도시되었으며, 도면에서 동일한 참조번호는 유사한 요소를 나타낸다.
본 명세서에 설명된 기술의 다양한 측면들은 일반적으로 다수의 사용자 입력 요청의 맥락 신호(contextual signal)(맥락 데이터)가 데이터 소스로 정규화되는(canonicalized) 기술에 관한 것이다. 이를 위해서, 데이터 소스로부터 반환된 응답에 대한 정확성(correctness)의 측정 및 사용자 요청이 맥락 신호와 연관되는 미래의 요청을 위해 반환된 데이터의 정확도를 향상시키도록 사용된다.
예를 들어, 검색 엔진에 대한 사용자 쿼리는 복수의 반전(reverse) IP 어드레스 데이터베이스들 중 하나를 이용하는 반전 IP 어드레스 룩업(lookup)(IP 어드레스로부터 도시, 주(state) 및 국가를 포함하는 위치에 맵핑)에 기초하여, 반환되는 위치 기반 결과를 발생시킬 수 있다. 위치 기반 결과를 이용한 사용자 만족 측정은, 반전 IP 어드레스 룩업이 얼마나 정확한지, 예를 들어 사용자가 반환된 위치 기반 결과 위를 클릭하였는지(만족하였을 가능성이 있음을 나타냄) 또는 다른 쿼리를 제출하였는지(불만족하였을 가능성이 있음을 나타냄) 여부를 결정하도록 사용될 수 있다. 데이터 소스의 각각을 세그먼트(segment)라고 지칭되는 서브셋으로 분할하여 측정된 정확성(예를 들어, 만족도)의 가장 높은 레벨을 갖는 각각의 데이터 소스로부터 세그먼트를 선택함으로써, "혼합된(blended)" 데이터 소스는 미래의 요청을 더욱 높은 레벨의 정확성을 가지고 반환하도록 생성될 수 있다. 또한, 정확성 정보는 주어진 미래의 룩업 요청의 보다 정확한 출력을 위해 데이터 소스를 정정하도록 사용될 수 있다.
본 명세서의 임의의 예시가 비제한적이라는 것을 이해해야만 한다. 예를 들어, 일부 예시 및 설명이 일반적으로 반전 IP 어드레스 룩업에 관한 것이지만, 이용가능한 결과 내에 오류 가능성 또는 비일관성이 존재하는 하나 이상의 데이터 소스 및/또는 임의의 서비스 또는 서비스들이 본 명세서에서 개시된 기술로부터 이익을 얻을 수 있다. 이렇게, 본 발명은 본 명세서에 기술된 임의의 특정한 실시예, 측면, 개념, 구조, 기능 또는 예시로 한정되지 않는다. 오히려, 본 명세서에 개시된 임의의 실시예, 측면, 개념, 구조, 기능 또는 예시들은 일반적으로 보다 정확한 결과를 계산하여 제공함에 있어서 이익과 장점을 제공하는 다양한 방법에서 사용될 수 있다.
도 1은 일 예시적인 구현에서의 다양한 구성요소를 도시한 블록도이다. 일반적으로, 사용자 요청(102)은 관련 문서에 대한 링크를 획득하기 위해서 검색 엔진에 사용자 쿼리가 제출되었을 때와 같이 결과를 제공하는 서비스(104)에 의해 프로세싱된다. 이해되는 바와 같이, 서비스(104)는 때때로 결과를 제공하는데에 있어 서비스(104)를 돕기 위해 추가 정보를 획득하거나 추가 정보에 액세스한다. 예를 들어, 서비스(104)는 신호를 취하여 그것을 사용자 위치를 룩업해서 반환하도록 사용하는 룩업 서비스(106)에 맥락 신호(예를 들어, IP 어드레스 데이터는 WiFi 스테이션 식별자를 포함하는 신호와 같은 WiFi 관련 데이터, 및/또는 셀 타워 관련 데이터)를 제공하는 것과 같이 사용자의 위치를 결정하도록 시도할 수 있다(룩업 서비스(106)는 서비스(104)로부터 별개의 엔티티일 수 있어나 그렇지 않을 수 있음을 인지하여라). 보다 구체적인 예시로서, 주어진 사용자의 IP 어드레스, 검색 엔진은 반전 IP 어드레스 룩업 서비스로부터 사용자의 위치를 획득할 수 있고, 그에 따라 반환된 사용자의 위치에 기초하여 더욱 적절한 결과를 반환할 수 있다.
일 구현에서, 룩업 서비스(106)는 맥락 기반 정보를 룩업(look-up)하도록 복수의 데이터 소스 중 적어도 하나에 액세스할 수 있다. 그러나, 이러한 데이터 소스는 오류를 포함할 수 있으며, 따라서 룩업을 요청하는 애플리케이션 또는 서비스가 때때로 부정확한 정보를 수신한다. 데이터 소스는 종종 주어진 IP 어드레스와 같이 그것을 유지하는 정보에 대해 일관적이지 않으며, 반전 IP 어드레스 룩업 서비스가 위치를 획득하기 위해서 사용하는 네 개의 데이터 소스들 중 세 개가 올바른 위치 정보를 포함할 수 있지만, 4번째는 그렇지 않으며, 따라서 결과의 정확도는 주어진 질의에 대해 서비스가 사용하는 데이터 소스에 의존한다. 다른 IP 어드레스에 있어서는 4번째 데이터 소스가 다른 데이터 소스에 대한 가장 정확한 정보를 가질 수 있기 때문에 단순히 그러한 4번째 데이터 소스를 사용하지 않는 것은 좋지 못한 솔루션이다. 데이터 소스에서 존재하는 이러한 모든 오류가 사전에 알려지거나 실용적으로 결정가능하지 않다.
도 1에 나타내어진 바와 같이, 수신된 요청의 일부는 하나 이상의 결과를 요청한 사용자에게 다시 제공하도록 사용되는 데이터 소스의 정확성과 관련된 정보를 획득하기 위해서 임의로 (또는 다른 방식으로) 샘플링될 수 있다. 따라서, 도 1의 예시에서, 종래의 요청으로서 프로세싱되는 대신, 사용자 요청(102)은 서비스 샘플 그룹 시스템(108)에 의해 선택되는 바와 같이 예시화된다.
이러한 예시에서, 사용자 요청(102)은 N개의 샘플 그룹들 중 하나로 그룹화되며, 이때 N은 정보가 획득될 수 있는 데이터 소스들의 수를 나타낸다. 도 1의 예시에서, 사용자 요청은 N개의 샘플 그룹들(1101-110N) 중 하나로 할당되며, 이는 이용가능한 데이터 소스(1121-112N)의 데이터 소스(1122)에 상응하는 샘플 그룹(1102)으로서 실선을 통해 도시되었다. 예를 들어, 사용자의 위치를 확립하기 위한 반전 IP 어드레스 룩업에 있어서, 네 개의 데이터 소스(N=4)가 하나의 구현에서 사용된다.
선택된 데이터 소스(1122)로부터 획득된 룩업 결과는 일부 방식으로 반환된 결과(114)를 통해 사용자에게 반환될 수 있다. 예를 들어, 검색 쿼리가 주어지면, 검색 엔진이 이 예시에서는 선택된 데이터 소스(1122)에 상응하는 네 개의 데이터베이스들 중 하나로부터 사용자의 IP 어드레스가 주어진 사용자의 위치를 룩업할 수 있으며, 검색 결과를 그 위치에 맞춘다. 보다 구체적인 예시로서, 사용자가 "피자"를 질의할 수 있으며 반환된 결과들 중 일부는 사용자의 위치 부근에 있는 피자 레스토랑으로의 문서 링크를 위한 것일 수 있고, 이때 위치는 데이터 소스(1122)를 통해 수행되는 반전 IP 어드레스 룩업으로부터 획득된다.
본 명세서에서 기술되는 바와 같이, 결과(114)의 정확성의 정도가 결정되고, 정확성 측정(116)을 통해 도 1에 나타내어지며, 유사한 사용자 요청에 대해 응답하여 제공되는 미래의 결과 및/또는 룩업의 정확도를 증가시키도록 사용된다. 일 예시로서, 만약 결과가 쿼리에 응답하여 제공되면, 그러한 결과에 대한 사용자 만족도와 같은 사용자 피드백이 측정될 수 있다. 피드백은 명확하지 않을 수 있으며, 그에 따라 사용자 응답 또는 (행동을 취하지 않는 것을 포함하는) 다른 행동 양상으로부터 추론되거나, 또는 예를 들어 사용자가 예를 들어 만족 또는 불만족과 같은 정확성의 일부 정도를 나타내는 하나 이상의 버튼들의 세트를 통해 명백해질 수 있다.
추론된 정확성 측정의 보다 구체적인 예시로서, 만약 결과들 중 일부가 위치 기반이고 사용자가 위치 기반 결과들 중 하나(예를 들어, 피자 레스토랑 링크)를 클릭하면, 이러한 피드백은 사용자가 그 결과에 대해 만족했을 가능성이 있다는 것을 나타내며, 따라서 해당 위치가 정확할 가능성이 높다. 만약 사용자가 링크를 클릭하는 대신 다른 쿼리를 제출한다면, 사용자가 그 결과에 대해 불만족했을 가능성이 더 높다는 것을 나타내며, 해당 위치가 부정확할 가능성이 높다. 이러한 피드백/정확성 정보는 수천 또는 수십만 사용자들로부터 획득한 유사한 "군중 소스(crowd sourced)" 정보를 가지고 로그(118) 내에 로그될 수 있으며, 후에 자신의 IP 어드레스 기반 위치 정보와 관련하여 각 데이터 소스가 얼마나 정확한지를 결정하도록 프로세싱된다. 이해되는 바와 같이, 기술은 만족 또는 불만족과 같은 사용자의 응답을 관찰할 수 있도록 충분한 양의 사용자 상호작용 입력을 가짐으로써 이익을 얻으며, 정보의 정확성과 관련된 결과를 도출한다.
만약 사용자가 예를 들어 피자의 히스토리를 나타내는 참조 웹사이트로의 링크와 같은 위치 기반이 아닌 링크를 클릭한다면, 사용자가 위치 관련 정보를 찾는 것이 아닐 가능성이 있기 때문에 정보가 로그되지 않을 수 있다(그러나 이러한 정보가 다른 목적을 위해 사용될 수도 있으며, 따라서 예를 들어 NULL 또는 제로 위치 정확성 스코어를 가지고 로그될 수 있다). 또한 만약 사용자가 보다 정제된 쿼리(예를 들어, "Bellevue"의 피자)와 같은 더 많은 정보를 제공하면, 그러한 추가 정보 역시 정확도를 높이기 위해 사용될 수 있다. 또한, 응답 실패는 불만족의 표시로서 처리될 수 있지만(예를 들어, 사용자가 다른 검색 엔진으로 이동함), 사용자가 (전화번호와 같은) 작은 정보 텍스트로부터 원하는 정보를 획득했고 따라서 더 이상 상호작용을 필요로 하지 않는 것일 수 있기 때문에 보다 구체적인 불만족의 표시보다 스코어에 가중치가 낮게 부여될 수 있다. 임의의 사건에서 충분한 수의 사용자가 주어지면, 사용자 만족도에 기초하여 데이터베이스(또는 그의 임의의 일부분)의 정확도에 대한 통계적 트렌드가 인식될 수 있다.
또한, 만족/불만족 스코어링 시스템을 결정하기 위한 트레이닝 및 다른 메커니즘이 사용될 수 있다. 예를 들어, 실질적인 이용 시나리오에 포함하는 정확할 수 있거나 정확하지 않을 수 있는 현존하는 룩업 서비스의 입증되지 않은 정보에 비해 일부 입증된 알려진 올바른(기본적으로 참인) 정보가 사용자가 알려진 올바른 정보에 대해 어떤 식으로 반응하는지의 경향을 확립하도록 사용될 수 있다. (예를 들어, 의도적으로 나쁜 정보를 제공하는 것을 방지하기 위해서 트레이닝 또는 다른 제어 시나리오에서) 알려진 나쁜 정보는 사용자가 올바르지 않은 정보에 응답하는 방식을 확립하도록 반환될 수 있다.
도 2 및 3은 로그된 후, 정확성 측정 정보가 사용될 수 있는 하나의 일반적인 방법을 도시한다. 이러한 예시에서, 로그(118)는 정확성이 측정된 사용자 만족에 기초하는 가장 높은 정확성 스코어를 갖는 각 데이터 소스(312A-312D)의 부분(세그먼트)에 상응하는 "혼합된(blended)" 데이터 소스(330)(도 3)를 생성하기 위해 프로세싱된다. 일반적으로, 상대적으로 많은 수의 사용자로부터 정확성 측정 정보를 수집한 후에, 사용자 응답의 로그(118)가 샘플링된 사용자에 할당된 데이터 소스의 품질을 평가하기 위해 분석된다.
이러한 예시에서, 로그(118)는 세그먼트로 지칭되는 서브셋으로 분할되는 각각의 데이터 소스에 기초하여 프로세싱되며, 예를 들어 도 3에 도시된 바와 같이, 데이터 소스(312A)는 세그먼트(S1A-S4A)로 분할되고, 데이터 소스(312B)는 세그먼트(S1B-S4B)로 분할된다. 따라서, 하나의 데이터 소스의 각 세그먼트는 각각의 다른 데이터 소스 내에 대응 세그먼트를 갖는다. 예를 들어, IP 어드레스 위치 룩업 데이터 소스에 대한 각각의 세그먼트는 IP 어드레스의 범위에 상응할 수 있다. 도 3에는 단순화를 위해 데이터 소스당 네 개의 세그먼트가 도시되었지만, 데이터 소스당 대략 수십, 수백, 수천 등의 임의의 수의 세그먼트가 주어진 애플리케이션에 대해 적절하게 시스템에 의해서 확립될 수 있다.
데이터 소스의 세그먼트에 대한 스코어를 계산할 때, 세그먼트 스코어 계산 메커니즘(220)(도 2)은 데이터 소스 세그멘터(segmenter)(222)를 통해 정확성 측정(예를 들어, 사용자 만족 또는 불만족 응답)이 어느 데이터 소스 및 세그먼트에 속하는지를 결정한다. 대안적인 구현에서, 만약 고정된 IP 어드레스 범위가 사전결정되었다면 각 응답에 대한 데이터 소스 세그먼트가 사전에 결정될 수 있으며, 따라서 데이터 소스, 세그먼트 정보는 로그를 프로세싱할 때 IP 어드레스로부터 결정되기보다는 로그할 때 기록될 수 있다. 그러나 로그를 프로세싱할 때 세그먼트를 결정하는 것은, 세그먼트가 고정된 범위일 필요가 없다는 점에서 바람직할 수 있으며, 대신 로깅이 완료될 때까지 알려지지 않을 수 있는 세그먼트당 응답 수를 이퀄라이징하는 것과 같은 다른 개념에 기초할 수 있다.
따라서, 분할은 고정된 크기, 또는 고정된 크기와 다른 개념에 기초할 수 있다. 예를 들어, 분할은 응답의 수, 트래픽 균등화 등에 기초할 수 있다. 임의의 세그먼트가 원하는 바에 따라 서브-세그먼트들로 나누어질 수 있거나, 또는 동일한 데이터 소스 내에 포함되는 둘 이상의 세그먼트가 더 큰 세그먼트로 결합될 수도 있다. 이러한 구현에서, 각 데이터 소스 내의 세그먼트들의 상대적인 크기와 무관하게(예를 들어, 도 3에서 세그먼트(S2A)는 세그먼트(S3A)와 크기가 다를 수 있다), 데이터 소스들 사이의 임의의 대응 세그먼트(예를 들어, 3SA, 3SB, 3SC, 3SD)가 서로 같은 크기이도록 데이터 소스는 각각 일관되게 분할된다.
로그된 엔트리가 프로세스될 때, 스코어 계산 메커니즘(220)은 응답 데이터로 로그된 정확성 측정에 기초하여 해당 데이터 소스 및 세그먼트 결합에 대한 스코어를 조정한다. 시스템을 충분한 시간 동안 구동시키고, 사용자의 응답에 기초하여 스코어에서의 차이를 비교함으로써, 시스템은 각 세그먼트에 대해 각각의 서로 다른 데이터 소스의 품질을 판단할 수 있다. 하나의 예시적인 스코어링 메커니즘은 만족한 응답에 대해서는 세그먼트 스코어를 증가시키고, 불만족한 응답에 대해서는 스코어를 감소시키는 것이며, 이때 원한다면 일부 방식으로 각 세그먼트에 대한 스코어를 예를 들어 백분율로 정규화한다. 이러한 방식으로, 로그(118)를 프로세싱하는 것은 복수의 세그먼트 스코어(224)를 발생시키며, 하나의 스코어는 세그먼트(S1A-S4D)에 대해 도시된 스코어를 통해 도 3에 나타내어진 바와 같이 각 데이터베이스의 각 세그먼트에 대한 것이다.
스코어는 전술된 바와 같이 전반적인 시스템 정확도를 향상시키는 것을 포함하는 임의의 방식으로 사용될 수 있다. 전반적인 시스템 정확도를 증가시키기 위한 하나의 간단한 방법은 각각의 데이터 소스들 중에서 가장 높은 스코어를 갖는 대응 세그먼트를 선택한 다음, 선택된 세그먼트를 혼합 데이터 소스를 구축하도록 사용하는 혼합 메커니즘(알고리즘)에 기초하는 것이다.
도 2 및 3의 예시에서, 세그먼트 혼합 메커니즘(226)은 각각의 데이터 소스(312A-312D)로부터의 피드백 스코어에 기초하여 "가장 정확한" 세그먼트를 선택하기 위해 세그먼트 스코어(224)를 사용하며, 이러한 예시에서는 각각이 다른 데이터 소스들 중에서 자신의 대응 세그먼트에 대해 가장 높은 스코어를 갖는 세그먼트(S1C, S2A, S3D, S4A)이다. 그 결과는 도 3의 혼합 데이터 소스(330)에 상응하는 혼합 세그먼트 데이터(228)이다. 실질적으로 동일할 수 있거나 통계적으로 동일할 수 있는 동일한 상황에서, 충돌 해결 메커니즘이 세그먼트들 사이에서의 선택을 위해 사용될 수 있다(예를 들어, 히스토리 데이터 사용, 총합이 가장 높은 스코어를 갖는 데이터 스코어 사용 등).
설명을 위해서 도 3이 혼합된 데이터 소스(330)를 룩업의 보다 정확한 온라인 서비스를 위해 사용될 수 있는 단일 엔티티로서 나타내지만, 시스템이 선택된 세그먼트를 결합하는 실질적인 단일 데이터 소스를 구축할 필요가 없다는 것이 이해될 것이다. 오히려, 온라인 사용 동안에 서비스는 혼합된 세그먼트 데이터(228)에 기초해 데이터 소스들 중 어떤 세그먼트를 사용할지를 동적으로 선택하기 위해 선택된 세그먼트에 상응하는 맵핑에 액세스할 수 있다. 예를 들어, (자신의 IP 어드레스 범위를 통해) 세그먼트에 상응하는 들어오는 IP 어드레스가 주어지면, 시스템은 복수의 데이터 소스들로부터 선택된 범위에 대한 가장 정확한 세그먼트에 해당 IP 어드레스를 맵핑하기 위해 혼합된 세그먼트 데이터(228)에 액세스하며, 그에 따라 특정한 맵핑된 세그먼트로부터의 위치 결과를 획득한다. 따라서, 혼합된 데이터 소스(330)는 실질적으로 결합된 물리적 데이터 소스이기보다는 혼합된 세그먼트 데이터(228) 등을 통해 선택된 가상 데이터 소스일 수 있다.
이러한 예시적인 시나리오에서, 혼합된 세그먼트 데이터가 획득되면, 일반적으로 그 후에 사용자에게 가상(또는 실제일 수 있는) 혼합된 데이터 소스의 이익이 주어진다. 그러나, 다시 정확성을 증가시키기 위해서, 정확성을 결정하기 위한 (예를 들어 임의로 선택된 사용자의 일부 작은 퍼센트의) 샘플링이 계속되거나 임의의 시간에 재개될 수 있다. 예를 들어, 샘플링은 연속적일 수 있거나, 또는 가끔 턴온 또는 턴오프될 수 있다. 샘플링은 예를 들어 업데이트 후 1주일에 한번처럼 데이터 소스가 뚜렷하게 변경된 후와 같이 새로운 정확성 데이터가 필요함을 나타내는 일부 변화에 기초할 수 있다. 샘플링 퍼센트는 하나 이상의 기준에 기초하는 것과 같이 증가 또는 감소할 수 있고, 및/또는 시간이 흐르면서 달라질 수 있다.
전술된 예시가 일반적으로 사용자 만족 또는 불만족에 기초하여 각 데이터 소스의 어느 세그먼트가 가장 정확한 정보를 제공하는지를 찾기 위해서 복수의 데이터 소스를 세그먼팅하는 것과 관련되었지만, 정확성을 측정하고 정확도를 향상시키기 위한 다른 방법들이 수행될 수 있다. 예를 들어, 정확성은 더욱 정확한 것으로 알려진 다른 정보에 기초할 수 있다. 또한, 복수의 데이터 소스가 전술된 바와 같은 로그된 정보로부터 이익을 얻을 수 있지만, 오직 단일 데이터 소스만이 정정될 수 있다.
예시로서, 어떤 WiFi 스테이션/액세스 포인트(또는 이 예시적인 설명에서는 단순히 액세스 포인트)를 어느 위치로 맵핑하는지에 대한, 위치와 WiFi 신호 사이의 맵핑을 데이터 소스가 유지한다고 고려하자. 엔티티의 위치는 따라서 사용중인 액세스 포인트에 기초하여 결정될 수 있다. 그러나, 시간이 흐르면서 액세스 포인트가 이동할 수 있고, 그에 따라 데이터 소스가 업데이트되지 않는 한 이전에 맵핑된 위치가 올바르지 않게 된다.
만약 액세스 포인트 위치가 검색 결과를 제공하는데에 사용되는 위치를 제공하도록 사용되면, 유사한 IP 어드레스 기반 위치 룩업에 대해 일반적으로 전술된 바와 같이, 그러한 결과에 대한 사용자의 반응은 저장된 액세스 포인트 위치의 정확성을 결정하는 가능한 하나의 방법이다. 그러나 다른 정확성 정보가 이용가능할 수 있다. 예를 들어, 액세스 포인트를 통한 무선 네트워킹을 위해 스마트폰을 사용하며, 그에 따라 액세스 포인트 위치가 룩업될 수 있는 사용자를 고려하자. 입수가능하다면, 상호보완적 위치 데이터에 비해 데이터 소스의 저장된 위치가 올바른지 여부를 입증하기 위한 상호보완적 위치를 획득하기 위해서 임의의 사용자 만족 측정 대신(또는 그에 더하여), GPS 데이터 및/또는 (예를 들어, 신호 세기/다각화에 기초한) 셀룰러-결정된 위치 데이터가 사용될 수 있다. 데이터 소스가 반드시 정확한 것은 아니기 때문에 맥락(예를 들어, 위치)이 충돌할 수 있으며, 전반적으로 컴퓨터 사용자의 맥락 데이터에서의 충돌을 중재하는 것을 기술하는 미국특허 제7,444,594호가 참조로서 본 명세서에 포함된다.
사용자 피드백을 얻기 위한 다른 방법은 더욱 정확한 위치를 얻기 위해 사용자가 디바이스(예를 들어, 스마트폰) 상에서 자신의 설정 또는 다른 입력을 변경하는 것이다. 예를 들어, 만약 위치를 획득하기 위해 WiFi 액세스 포인트 데이터를 사용하여 사용자가 "피자"에 대해 문의하고, 검색 결과를 얻은 후에 사용자가 쿼리를 "피자 98040"("98040"은 우편번호를 나타낸다)로 변경한다면, 이것은 위치에 대한 사용자 불만족을 나타내도록 사용될 수 있는 신호일 수 있다.
도 4에 나타내어진 바와 같이, 하나의 소스로부터 획득된 이러한 정확성 정보(440)는 다른 이러한 정보와 함께 정확성 정보(440)를 로그하고 적절한 시간에 다른 데이터 소스를 업데이트함으로써 다른 데이터 소스를 정정하도록 사용될 수 있다. 이것은 도 4에 데이터 소스 업데이트(444)를 제공하는 데이터 소스 정정 메커니즘(442)을 통해 나타내어졌다.
그럼에도, 임의의 데이터 소스 정정이 더욱 동적일 수 있다. 예를 들어, 위도, 경도 데이터 소스에 대한 GPS가 소정의 위치에 대한 주어진 방향에서 일부 거리만큼 떨어진 다른 비컨(beacon)(예를 들어, 셀룰러 비컨)에 의해 검출된다고 생각하자. 동적 정정 데이터(446)는 출력을 정정하고 미래의 룩업 요청들에 대해 더욱 정확한 소스를 제공하도록 위도, 경도 데이터 소스에 대한 GPS의 임의의 출력에 예를 들어 오프셋으로서 적용될 수 있다.
도 5는 예를 들어 검색 쿼리에 응답하여 사용자에게 반환되는 위치 기반 결과에 대한 사용자 피드백을 수집하는 것과 관련된 다양한 예시적인 단계들을 요약한 순서도로서, 이러한 단계들은 사용자 요청이 수신되는 단계(502)에서 시작한다. 단계(504)는 이러한 요청을 샘플링할 것인지 여부를 결정한다. 전형적으로 대부분의 사용자 요청은 샘플링되지 않으며, 대신 그들의 요청은 단계(506)에서 이전에 생성된 혼합된 데이터 소스를 통해 (또는 혼합된 데이터 소스가 본 명세서에 기술된 바와 같이 처음으로 생성될 때까지 종래의 방식으로) 프로세싱된다.
본 명세서에 기술된 바와 같이, 적어도 일부 사용자 요청이 샘플링을 위해 선택된다. 선택은 모든 수백 개의 사용자 요청들 중 하나와 같은 임의의 스킴(scheme)에 기초할 수 있으며, 그에 따라 샘플링된 IP 어드레스가 일반적으로 랜덤하게 수신된다. 다른 예시적인 스킴은 IP 어드레스 분배에 기초할 수 있으며, 예를 들어 각 IP 어드레스 범위에 대해 어느 정도 동일한 수의 샘플들을 획득하고자 노력한다. 선택을 위한 다른 메커니즘은 이러한 스킴들 및 그외의 스킴들과 함께 사용될 수 있으며, 예를 들어 미국 위치로 맵핑되어야 하는 IP 어드레스만을 샘플링하는 것처럼 샘플링을 고려하기 전에 필터링을 수행한다.
샘플링을 위해 선택된 사용자에 대해서, 단계(508)는 해당 사용자에 대한 데이터 소스들 중 하나에 상응하는 샘플 그룹을 결정한다. 이러한 선택은 라운드 로빈(round robin) 분배, 랜덤 분배 또는 임의의 다른 스킴에 의한 것일 수 있다. 다른 스킴의 예시에 있어서, 샘플 그룹들/데이터 소스들 사이에서 총 응답 수의 균형을 맞추지 않고, (예를 들어, 로그된 응답이 모두 위치 기반 링크에 상응하지 않을 수 있기 때문에) 보다 많은 사용자가 위치 기반 만족 또는 불만족 타입 응답의 수의 균형을 맞추기 위해서 주어진 샘플 그룹/데이터 소스를 선택할 수 있다.
단계(510)는 데이터 소스로부터 위치 정보를 획득하며, 이것은 단계(512)에서 하나 이상의 결과를 반환하도록 사용된다. 검색에 있어서, 문서, 광고 등으로 반환된 링크의 일부는 위치 기반일 수 있으며, 룩업된 위치 정보가 주어진다.
단계(514)는 반환된 결과에 기초하여 사용자로부터 피드백을 획득하는 것을 나타낸다. 예를 들어 사용자가 할당되는 데이터 소스인 사용자의 IP 어드레스 (또는 만약 범위가 고정되었다면 세그먼트일 수 있음) 및 사용자의 피드백과 같은 데이터가 단계(516)에서 로그된다. 피드백은 만약 사용자 응답이 사용자가 만족하였음을 표시한다면 +1이고 사용자가 불만족하였다면 -1인 스코어 등일 수 있으며, 이러한 경우 단계(514)는 피드백을 획득하는 것의 일부로서 스코어 등을 결정하는 것도 나타낸다.
단계(518)는 타임 윈도우 등에 기초하여 로그가 풀(full)이 될 때까지 고정된 수와 같은 원하는 다수의 사용자 요청에 대해 프로세스를 반복한다. 동일한 로그 또는 이후에 결합되는 상이한 로그에 기록하는, 동시에 동작하는 다수의 유사한 프로세스들이 존재할 수 있음을 인지하여라. 단계(520)는 도 2 및 3과 도 6을 참조로 하여 기술된 세그먼트들의 혼합에 대한 분석을 수행하기 위한 추가적인 프로세싱을 위해 로그를 닫는 것(closing)을 나타낸다.
도 6은 예시적인 데이터 소스 혼합(blending)을 수행하기 위한 순서도의 예시적인 단계들을 나타내며, 이것은 각각의 로그된 엔트리가 프로세싱을 위해 선택되는 단계(602)에서 시작한다. 단계(604)는 전술된 바와 같이 이러한 엔트리에 대한 세그먼트가 사전에 알려지고 이미 로그되지 않았다면, 로그된 IP 어드레스로부터 세그먼트를 결정한다.
단계(606)는 만약 만족하였다면 누계를 증가시키고 불만족하였다면 누계를 감소시키는 것과 같은 피드백에 기초하여 이러한 엔트리의 데이터 소스, 세그먼트에 대한 스코어를 조정하는 것을 나타낸다. 다른 스킴은 응답 카운트에 대한 누계 및 만족한 응답의 카운트를 보관하는 것이다. 만약 스코어링 스킴이 로깅(logging)의 일부로서 구현되지 않았다면, 단계(606)는 예를 들어 로그된 사용자 행동(클릭 또는 새로운 쿼리, 또는 그외의 행동 또는 무행동)을 세그먼트의 스코어를 조정하기 위한 값으로 변환하는 것과 같은 스코어링 스킴의 구현도 나탄낸다.
단계(608)는 로그가 프로세싱되고 각각의 데이터 소스의 각 세그먼트에 대해 스코어가 획득될 때까지 로그 프로세싱을 반복한다. 단계(610)는 필요한 경우 대응 세그먼트들 사이의 관련 응답의 비일치 수를 설명하는 것과 같이 스코어를 정규화하는 것을 나타낸다.
단계(612)는 예를 들어 가상으로 세그먼트들을 혼합 세그먼트 데이터로 혼합한다. 이 시점에서, 처음의 또는 업데이트된 혼합 소스는 요청들의 핸들링에 사용할 수 있다.
알 수 있는 바와 같이, 연관된 룩업을 수반하는 반환된 정보의 정확성을 향상시키는 스케일가능한(scalable) 방식이 기술되었다. 이것은 암시되거나 명백한 크라우드 소스드 데이터(crowd sourced data)를 이용하여 알려지지 않은 정확성을 갖는 잠재적으로 충돌하는 데이터 소스들 사이에서 중재하는 것을 포함할 수 있다.
예시적인 네트워킹된 분산 환경
당업자는 본 명세서에 기술된 다양한 실시예 및 방법들이 컴퓨터 네트워크 또는 분산 컴퓨팅 환경의 일부로서 배치될 수 있고 임의의 종류의 데이터 스토어 또는 스토어들에 접속될 수 있는 임의의 컴퓨터 또는 다른 클라이언트 또는 서버 디바이스와 함께 구현될 수 있음을 이해할 수 있을 것이다. 이와 관련하여, 본 명세서에 기술된 다양한 실시예가 임의의 수의 메모리 또는 저장 장치 및 임의의 수의 저장 장치를 가로질러 발생하는 임의의 수의 프로세스 및 애플리케이션을 구비하는 임의의 컴퓨터 시스템 또는 환경에서 구현될 수 있다. 이것은 원거리 또는 로컬 스토리지를 구비하는 분산 컴퓨팅 환경 또는 네트워크 환경에 배치되는 클라이언트 컴퓨터 및 서버 컴퓨터를 갖는 환경을 포함하지만, 이것으로 제한되는 것은 아니다.
분산 컴퓨팅은 컴퓨팅 디바이스 및 시스템들 사이에서의 통신 교환을 통해서 컴퓨터 리소스 및 서비스의 공유를 제공한다. 이러한 리소스 및 서비스는 파일과 같은 객체들에 대한 디스크 스토리지, 캐시 스토리지 및 정보의 교환을 포함한다. 이러한 리소스 및 서비스는 또한 부하 균형, 리소스의 확장, 프로세싱의 특수화 등을 위해 복수의 프로세싱 장치에 걸친 프로세싱 파워의 공유를 포함한다. 분산된 컴퓨팅은 네트워크 접속성을 이용하며, 이는 클라이언트들로 하여금 전체 엔터프라이즈에 유용하도록 그들의 공동 파워를 레버리지하게 한다. 이와 관련하여, 다양한 디바이스가 본 발명의 다양한 실시예에서 기술된 바와 같은 리소스 관리 메커니즘에 참여할 수 있는 애플리케이션, 객체 또는 리소스를 구비할 수 있다.
도 7은 예시적인 네트워킹 또는 분산 컴퓨팅 환경의 개략도를 제공한다. 분산 컴퓨팅 환경은 예시적인 애플리케이션(730, 732, 734, 736, 738)에 의해 표현된 바와 같은 프로그램, 방법, 데이터 스토어, 프로그램가능한 로직 등을 포함할 수 있는 컴퓨팅 객체(710, 712, 등) 및 컴퓨팅 객체 또는 디바이스(720, 722, 724, 726, 728, 등)를 포함한다. 컴퓨팅 객체(710, 712, 등) 및 컴퓨팅 객체 또는 디바이스(720, 722, 724, 726, 728, 등)가 PDA, 오디오/비디오 디바이스, 모바일폰, MP3 플레이어, 개인 컴퓨터, 랩탑 등과 같은 다른 디바이스를 포함할 수 있다는 것을 이해할 수 있을 것이다.
컴퓨팅 객체(710, 712, 등) 및 컴퓨팅 객체 또는 디바이스(720, 722, 724, 726, 728, 등)는 직접 또는 간접적으로 통신 네트워크(740)에 의해 하나 이상의 다른 컴퓨팅 객체(710, 712, 등) 및 컴퓨팅 객체 또는 디바이스(720, 722, 724, 726, 728, 등)와 통신할 수 있다. 도 7에는 단일 요소로서 도시되었지만, 통신 네트워크(740)는 도 7의 시스템에 서비스를 제공하는 다른 컴퓨팅 객체 및 컴퓨팅 디바이스를 포함할 수 있고/있거나 도시되지 않은 복수의 상호접속된 네트워크를 나타낼 수 있다. 각각의 컴퓨팅 객체(710, 712, 등) 및 컴퓨팅 객체 또는 디바이스(720, 722, 724, 726, 728, 등)는 또한 애플리케이션(730, 732, 734, 736, 738)과 같은 애플리케이션을 포함할 수 있으며, 이것은 본 발명의 다양한 실시예에 따라 제공되는 애플리케이션의 구현 또는 애플리케이션과의 통신에 적합한 API 또는 다른 객체, 소프트웨어, 펌웨어 및/또는 하드웨어를 사용할 수 있다.
분산 컴퓨팅 환경을 지원하는 다양한 시스템, 구성요소 및 네트워크 구성이 존재한다. 예를 들어, 컴퓨팅 시스템은 로컬 네트워크 또는 광범위하게 분산된 네트워크에 의해 유선 또는 무선 시스템을 통해서 함께 접속될 수 있다. 현재, 다수의 네트워크가 광범위하게 분산된 컴퓨팅에 대한 인프라구조를 제공하고 다수의 서로 다른 네트워크를 포괄하는 인터넷에 연결되지만, 임의의 네트워크 인프라구조가 다수의 실시예에서 기술된 바와 같은 시스템에 따르는 예시적인 통신을 위해 사용될 수 있다.
따라서, 클라이언트/서버, 피어-투-피어, 또는 혼합 아키텍처와 같은 네트워크 인프라구조 및 네트워크 위상의 호스트가 활용될 수 있다. "클라이언트"는 자신이 관련되지 않은 다른 클래스 또는 그룹의 서비스를 사용하는 클래스 또는 그룹의 멤버이다. 클라이언트는 다른 프로그램 또는 프로세스에 의해 제공되는 서비스를 요청하는, 예를 들어 대략 명령 또는 태스크의 세트와 같은 프로세스일 수 있다. 클라이언트 프로세스는 다른 프로그램 또는 서비스 자신에 대한 임의의 작업 세부사항을 "알아야 할" 필요 없이 요청한 서비스를 사용한다.
클라이언트/서버 아키텍처, 특히 네트워킹된 시스템에서, 클라이언트는 일반적으로 예를 들어 다른 서버에 의해 제공되는 공유 네트워크 리소스에 액세스하는 컴퓨터이다. 도 7의 도시에서, 비제한적인 예시로서, 컴퓨팅 객체 또는 디바이스(720, 722, 724, 726, 728, 등)는 클라이언트로서 간주될 수 있으며, 컴퓨팅 객체(710, 712, 등)는 서버로서 간주될 수 있으며, 이때 컴퓨팅 객체(710, 712, 등)는 컴퓨팅 객체 또는 디바이스(720, 722, 724, 726, 728, 등)로부터 데이터를 수신하고, 데이터를 저장하고, 데이터를 프로세싱하고, 컴퓨팅 객체 또는 디바이스(720, 722, 724, 726, 728, 등)에 데이터를 전송하는 것과 같은 데이터 서비스를 제공하는 서버로서 동작하지만, 임의의 컴퓨터가 환경에 따라서 클라이언트, 서버, 또는 클라이언트와 서버 모두로 간주될 수 있다.
전형적으로 서버는 인터넷 또는 무선 네트워크 인프라구조와 같은 원격 또는 로컬 네트워크 상에서 액세스 가능한 원격 컴퓨터 시스템이다. 클라이언트 프로세스는 제 1 컴퓨터 시스템에서 활동적일 수 있고, 서버 프로세스는 제 2 컴퓨터 시스템에서 활동적일 수 있으며, 이들은 통신 매체 상에서 서로 통신하고, 따라서 분산 기능을 제공하고 복수의 클라이언트가 서버의 정보-수집 능력을 이용할 수 있게 한다.
통신 네트워크(740) 또는 버스가 인터넷인 네트워크 환경에서, 예를 들어 컴퓨팅 객체(710, 712)는 다른 컴퓨팅 객체 또는 디바이스(720, 722, 724, 726, 728)가 HTTP와 같은 임의의 수의 알려진 프로토콜을 통해 통신하는 웹 서버일 수 있다. 서버로서의 역할을 하는 컴퓨팅 객체(710, 712, 등)는 예를 들어 다른 컴퓨팅 객체 또는 디바이스(720, 722, 724, 726, 728)와 같은 클라이언트로서 역할도 할 수 있으며, 이는 분산 컴퓨팅 환경의 특징일 수 있다.
예시적인 컴퓨팅 디바이스
언급된 바와 같이, 바람직하게는 본 명세서에 개시된 기술이 임의의 디바이스에 적용될 수 있다. 따라서, 모든 종류의 핸드헬드, 휴대용 및 다른 컴퓨팅 디바이스 및 컴퓨팅 객체가 다양한 실시예와 함께 사용하도록 고려된다. 따라서, 도 8에서 설명된 아래의 범용 원격 컴퓨터는 컴퓨팅 디바이스의 일 예시이다.
실시예는 본 명세서에 기술된 다양한 실시예의 하나 이상의 기능적 측면들을 수행하도록 동작하는 애플리케이션 소프트웨어 내에 포함되고/되거나 디바이스 또는 객체에 대한 서비스의 개발자에 의해 사용되도록 운영 시스템을 통해 부분적으로 구현될 수 있다. 클라이언트 워크스테이션, 서버 또는 다른 디바이스와 같은 하나 이상의 컴퓨터에 의해 실행되는 프로그램 모듈과 같은 컴퓨터 실행가능한 명령의 일반적인 맥락에서 소프트웨어가 기술될 수 있다. 당업자는 컴퓨터 시스템이 데이터를 전달하기 위해 사용될 수 있는 다양한 구성 및 프로토콜을 가지며, 따라서 특정한 구성 또는 프로토콜이 제한적으로 고려되지 않음을 이해할 것이다.
따라서 도 8이 본 명세서에 기술된 실시예의 하나 이상의 측면이 구현될 수 있는 적절한 컴퓨팅 시스템 환경(800)의 예시를 도시하지만, 위에서 명확해진 바와 같이, 컴퓨팅 시스템 환경(800)은 단지 적절한 컴퓨팅 환경의 일 예시이며, 사용 또는 기능의 범주와 관련한 어떠한 제한을 두기 위한 것이 아니다. 또한, 컴퓨팅 시스템 환경(800)이 예시적인 컴퓨팅 시스템 환경(800)에서 도시된 구성요소들 중 하나 또는 구성요소들의 결합과 관련한 어떠한 의존성을 갖는 것으로 해석되어서는 안된다.
도 8을 참조하면, 하나 이상의 실시예를 구현하기 위한 예시적인 원격 디바이스는 컴퓨터(810)의 형태인 범용 컴퓨팅 디바이스를 포함한다. 컴퓨터(810)의 구성요소는 프로세싱 장치(820), 시스템 메모리(830) 및 프로세싱 시스템 메모리를 포함하는 다양한 시스템 구성요소를 프로세싱 장치(820)에 연결하는 시스템 버스(822)를 포함할 수 있지만, 이것으로 제한되는 것은 아니다.
컴퓨터(810)는 전형적으로 다양한 컴퓨터 판독가능한 매체를 포함하며 컴퓨터(810)에 의해 액세스될 수 있는 임의의 이용가능한 매체일 수 있다. 시스템 메모리(830)는 판독 전용 메모리(ROM) 및/또는 랜덤 액세스 메모리(RAM)와 같은 휘발성 및/또는 비휘발성 메모리의 형태로 컴퓨터 저장 매체를 포함할 수 있다. 예시로서, 시스템 메모리(830)는 운영 시스템, 애플리케이션 프로그램, 다른 프로그램 모듈 및 프로그램 데이터도 포함할 수 있지만, 이것으로 제한되는 것은 아니다.
사용자는 입력 디바이스(840)를 통해 커맨드 및 정보를 컴퓨터(810)에 입력할 수 있다. 모니터 또는 다른 타입의 디스플레이 디바이스도 출력 인터페이스(850)와 같은 인터페이스를 통해 시스템 버스(822)에 접속된다. 모니터에 추가로, 컴퓨터는 출력 인터페이스(850)를 통해 접속될 수 있는 스피커 및 프린터와 같은 다른 주변 출력 디바이스를 포함할 수 있다.
컴퓨터(810)는 원격 컴퓨터(870)와 같은 하나 이상의 다른 원격 컴퓨터에 대한 논리적 접속을 이용하여 네트워킹 또는 분산 환경에서 동작할 수 있다. 원격 컴퓨터(870)는 개인 컴퓨터, 서버, 라우터, 네트워크 PC, 피어 디바이스 또는 다른 공용 네트워크 노드, 또는 임의의 다른 원격 매체 소비 또는 전송 디바이스일 수 있으며, 컴퓨터(810)에 대해 전술된 임의의 또는 모든 요소들을 포함할 수 있다. 도 8에 도시된 논리적 접속은 로컬 영역 네트워크(LAN) 또는 광역 네트워크(WAN)와 같은 네트워크(872)를 포함하지만, 다른 네트워크/버스도 포함할 수 있다. 이러한 네트워킹 환경은 집, 사무실, 전사적(enterprise-wide) 컴퓨터 네트워크, 인트라넷 및 인터넷에서 일반적이다.
전술된 바와 같이, 예시적인 실시예가 다양한 컴퓨팅 디바이스 및 네트워크 아키텍처와 관련하여 기술되었지만, 근본적인 개념은 리소스 사용의 효율을 향상시키길 원하는 임의의 컴퓨팅 디바이스 또는 시스템 및 임의의 네트워크 시스템에 적용될 수 있다.
또한, 예를 들어 애플리케이션 및 서비스로 하여금 본 명세서에 제공된 기술들을 사용할 수 있게 하는 적절한 API, 툴 키트, 드라이버 코드, 운영 시스템, 컨트롤, 독립형 또는 다운로드 가능한 소프트웨어 객체와 같은 동일한 또는 유사한 기능을 구현하기 위한 복수의 방법들이 존재한다. 따라서, 본 발명의 실시예는 API(또는 다른 소프트웨어 객체)의 관점으로부터 뿐만 아니라, 본 명세서에 기술된 바와 같은 하나 이상의 실시예를 구현하는 소프트웨어 또는 하드웨어 객체로부터 고려된다. 따라서, 본 명세서에 기술된 다양한 실시예들은 전체가 하드웨어이거나, 일부분은 하드웨어이고 일부분은 소프트웨어이거나, 전체가 소프트웨어인 측면을 가질 수 있다.
"예시적인"이라는 표현은 예시, 사례, 또는 설명으로서의 역할을 하는 것을 의미하도록 사용되었다. 의구심을 피하기 위해, 본 명세서에 개시된 청구사항은 이러한 예시에 의해 제한되지 않는다. 또한, 본 명세서에서 "예시적인" 것으로서 기술된 임의의 측면 또는 설계가 반드시 다른 측면 또는 설계에 대해서 바람직하거나 장점인 것으로 해석될 필요는 없으며, 당업자에게 알려진 균등한 예시적인 구조 및 기술을 불가능하게 하는 것은 아니다. 또한, "포함하는," "구비하는," "포괄하는" 및 그외의 유사한 표현들에 있어서, 의구심을 피하기 위해, 이러한 표현들이 특허청구범위에서 사용될 때 임의의 추가적인 또는 다른 요소를 제외시키지 않고 열린 해석이 가능한 용어로서 "포함하는"이라는 표현과 유사한 방식으로 포괄적으로 사용된 것이다.
언급된 바와 같이, 본 명세서에 기술된 다양한 기술들은 하드웨어 또는 소프트웨어, 또는 적절한 경우에 이들의 결합과 관련하여 구현될 수 있다. 본 명세서에 사용되는 "구성요소," "모듈," "시스템" 등과 같은 표현들은 하드웨어, 하드웨어와 소프트웨어의 결합, 소프트웨어, 또는 실행중인 소프트웨어인 컴퓨터 관련 엔티티를 지칭하도록 사용된 것이다. 예를 들어, 구성요소들은 프로세서 상에서 실행중인 프로세스, 프로세서, 객체, 실행가능물, 실행 스레드, 프로그램, 및/또는 컴퓨터일 수 있지만, 이것으로 한정되는 것은 아니다. 예시로서, 컴퓨터 상에서 실행중인 애플리케이션 및 컴퓨터 모두가 구성요소일 수 있다. 하나 이상의 구성요소는 프로세스 및/또는 실행 스레드 내에 존재할 수 있으며, 구성요소는 둘 이상의 컴퓨터 사이에서 분산되고/되거나 하나의 컴퓨터 상에서 로컬화될 수 있다.
전술된 시스템은 몇몇 구성요소들 사이의 상호작용과 관련하여 기술되었다. 이러한 시스템 및 구성요소가 구성요소 또는 특화된 서브-구성요소, 특화된 구성요소 또는 서브-구성요소의 일부, 및/또는 추가적인 구성요소를 포함할 수 있으며, 전술된 다양한 순열 및 조합을 따른다는 것을 이해할 수 있을 것이다. 서브-구성요소는 또한 페어런트 구성요소(parent component) 내에 포함된 것(계층식)이 아닌 다른 구성요소에 통신상 연결된 구성요소로서 구현될 수도 있다. 또한, 하나 이상의 구성요소가 합산 기능을 제공하는 단일 구성요소로 결합될 수 있거나 몇 개의 개별적인 서브-구성요소로 분할될 수 있으며, 관리층과 같은 임의의 하나 이상의 중간층이 통합된 기능을 제공하도록 이러한 서브-구성요소에 통신상 연결하도록 제공될 수 있음이 이해될 수 있다. 본 명세서에 기술된 임의의 구성요소는 또한 본 명세서에 구체적으로 기술되지 않았지만 당업자에 의해 일반적으로 알려진 하나 이상의 다른 구성요소들과 상호작용할 수 있다.
본 명세서에 기술된 예시적인 시스템의 관점에서, 기술된 청구사항에 따라 구현될 수 있는 방법이 다양한 도면들의 순서도를 참조하여 이해될 수 있다. 설명의 단순화를 위해 방법들이 일련의 블록들로 도시되고 기술되었지만, 다양한 실시예가 블록들의 순서로 제한되지 않으며, 일부 블록들은 본 명세서에 도시되고 기술된 것과 다른 순서로 및/또는 다른 블록들과 동시에 발생할 수 있다는 것이 이해될 것이다. 순차적이거나 브랜치되지 않은 순서가 순서도를 통해 도시되었으며, 동일하거나 유사한 결과를 획득하는 다양한 다른 브랜치, 플로우 경로 및 블록들의 순서가 구현될 수 있음이 이해될 수 있다. 또한, 일부 도시된 블록들은 이후에 기술되는 방법들을 구현하는데에 있어서 선택적이다.
결론
본 발명이 다양한 수정 및 대안적인 구성에 예민하지만, 소정의 설명된 실시예들이 도면에 도시되었으며 위에서 상세하게 기술되었다. 그러나, 본 발명을 개시된 특정한 형태로 제한하기 위한 의도는 없으며, 반대로 모든 수정, 대안적인 구조 및 균등물이 본 발명의 사상 및 범주 내에 포함된다.
본 명세서에 기술된 다양한 실시예들에 더하여, 다른 유사한 실시예가 사용될 수 있거나, 상응하는 실시예(들)의 동일한 또는 균등의 기능을 수행하기 위해 기술된 실시예(들)에 대해 수정 및 추가가 이루어질 수 있다. 또한, 복수의 프로세싱 칩 또는 복수의 디바이스가 본 명세서에 기술된 하나 이상의 기능의 수행을 공유할 수 있으며, 유사하게 스토리지가 복수의 디바이스들에 걸쳐 발생할 수 있다. 또한, 본 발명은 임의의 단일 실시예로 제한되지 않으며, 오히려 첨부된 특허청구범위에 따른 사상 및 범주 내에 있는 것으로 해석되어야 한다.

Claims (10)

  1. 컴퓨팅 환경 내의 적어도 하나의 프로세서 상에서 적어도 일부분에서 수행되는 방법으로서,
    적어도 하나의 데이터 소스에 의해 제공되는 맥락 기반(context-based) 정보에 상응하는 맥락 데이터(context data)를 수신하는 단계와,
    상기 맥락 기반 정보의 정확도(accuracy)에 상응하는 정확성 정보(correctness information)를 수신하는 단계와,
    다른 수신된 맥락 신호들을 위해 상기 적어도 하나의 데이터 소스에 의해 제공된 다른 맥락 기반 정보에 상응하는 전반적인 정확도를 증가시키도록 상기 정확성 정보를 프로세싱하는 단계를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 맥락 데이터를 수신하는 단계는,
    적어도 하나의 데이터 소스가 위치 정보를 포함하는 상기 맥락 기반 정보를 제공하는 데 이용되는 데이터를 수신하는 단계와,
    a) 적어도 하나의 위치 기반 결과를 포함하는 결과 세트를 제공하도록 상기 위치 정보를 사용하는 단계를 포함하되, 상기 정확성 정보를 수신하는 단계는 상기 위치 기반 결과가 정확할 가능성이 있는지 여부를 나타내는 피드백을 수신하는 단계를 포함하거나, 또는
    b) 상기 정확성 정보를 수신하는 단계는 더 정확한 데이터 소스일 가능성이 있는 데이터 소스로부터 상호보완적인 위치 정보를 수신하는 단계를 포함하고, 만약 상기 위치 정보가 상기 상호보완적인 위치 정보와 일치하지 않는다면 상기 전반적인 정확도를 증가시키도록 상기 정확성 정보를 프로세싱하는 단계가 상기 적어도 하나의 데이터 소스를 정정하는 단계를 포함하거나, 또는
    c) 상기 정확성 정보를 수신하는 단계는 더 정확한 데이터 소스일 가능성이 있는 데이터 소스로부터 상호보완적인 위치 정보를 수신하는 단계를 포함하고, 만약 상기 위치 정보가 상기 상호보완적인 위치 정보에 기초하여 부정확한 것으로 밝혀지면 상기 전반적인 정확도를 증가시키도록 상기 정확성 정보를 프로세싱하는 단계는 상기 적어도 하나의 데이터 소스의 출력을 동적으로 정정하는 단계를 포함하거나, 또는
    a), b) 또는 c)의 임의의 조합을 수행하는 단계
    를 포함하는
    방법.
  3. 제 1 항에 있어서,
    상기 맥락 데이터를 수신하는 단계는 위치 정보를 포함하는 상기 맥락 기반 정보를 획득하도록 사용되는 인터넷 프로토콜(IP) 어드레스 데이터를 수신하는 단계를 포함하되,
    상기 정확성 정보를 수신하는 단계는 상기 위치 정보에 기초한 적어도 하나의 결과를 포함하는 결과 세트와 함께 사용자가 만족하였는지 또는 불만족하였는지 여부를 나타내는 사용자 피드백을 수신하는 단계를 포함하는
    방법.
  4. 제 1 항에 있어서,
    복수의 샘플의 각각으로부터 수집된 상기 정확성 정보를 로깅(logging)하는 단계를 더 포함하되,
    상기 적어도 하나의 데이터 소스는 각각이 적어도 일부 부정확한 데이터를 포함하는 복수의 독립적인 데이터 소스를 포함하고,
    상기 전반적인 정확도를 증가시키도록 상기 정확성 정보를 프로세싱하는 단계는 상기 복수의 데이터 소스로부터 혼합(blended) 데이터 소스를 생성하기 위해 상기 복수의 샘플의 로깅된 상기 정확성 정보를 프로세싱하는 단계를 포함하며,
    상기 혼합 데이터 소스를 생성하는 것은,
    상기 데이터 소스로부터 복수의 대응 세그먼트(counterpart segment)를 제공하도록 각각의 데이터 소스를 세그먼트들로 분할하는 단계와,
    각 대응 세그먼트에 대한 정확성의 정도(a measure of correctness)를 결정하는 단계와,
    상기 각 대응 세그먼트에 대한 정확성의 정도에 적어도 부분적으로 기초하여 상기 대응 세그먼트로부터 상기 혼합 데이터 소스에 대해 선택된 세그먼트를 선택하는 단계
    를 포함하는
    방법.
  5. 샘플링 서비스를 포함하는 시스템으로서,
    상기 샘플링 서비스는 각 샘플 요청이 맥락 데이터와 연관되는 복수의 샘플 요청의 적어도 일부에 대한 정확성 데이터를 로그하도록 구성되되,
    정보가 로그되는 각각의 샘플 요청에 대해서, 상기 샘플링 서비스는 하나 이상의 데이터 소스와는 다른 적어도 하나의 엔티티로부터 해당 요청과 연관된 상기 맥락 데이터에 기초하여 상기 하나 이상의 데이터 소스 내에서 룩업된 맥락 기반 정보 및 정확성의 정도를 나타내는 로그 데이터와 관련된 상기 정확성의 정도를 획득하도록 구성되는
    시스템.
  6. 제 5 항에 있어서,
    복수의 세그먼트로 분할된 룩업(lookup) 데이터 소스를 더 포함하되, 데이터 소스의 각 세그먼트는 서로 다른 데이터 소스 내에 대응 세그먼트를 가지며,
    혼합 메커니즘(blending mechanism)을 더 포함하되, 상기 혼합 메커니즘은 상기 로그된 정확성 데이터를 프로세싱하도록 구성되고,
    상기 혼합 메커니즘은, 각 대응 세그먼트에 대한 정확성 스코어를 결정하고, 상기 대응 세그먼트의 상기 정확성 스코어에 기초하여 선택된 대응 세그먼트들을 혼합 데이터 소스로 혼합하도록 더 구성되는
    시스템.
  7. 제 5 항에 있어서,
    정정 메커니즘(correction mechanism)을 더 포함하되,
    상기 정정 메커니즘은 상기 하나 이상의 데이터 소스에 대한 업데이트, 또는 상기 하나 이상의 데이터 소스에 대한 동적 정정 데이터에 대한 업데이트, 또는 상기 하나 이상의 데이터 소스에 대한 업데이트 및 상기 하나 이상의 데이터 소스에 대한 동적 정정 데이터에 대한 업데이트 모두를 제공하기 위해 상기 로그된 정확성 데이터를 프로세싱하도록 구성되는
    시스템.

  8. 컴퓨터 실행가능한 명령어를 구비하는 하나 이상의 컴퓨터 판독가능한 매체로서,
    상기 컴퓨터 실행가능한 명령어는 실행되는 경우, 각각이 적어도 일부 부정확한 데이터를 포함하는 복수의 데이터 소스로부터 혼합 데이터 소스를 생성하는 단계를 수행하되,
    상기 혼합 데이터 소스를 생성하는 단계는,
    상기 데이터 소스로부터 복수의 대응 세그먼트를 제공하도록 각각의 데이터 소스를 세그먼트들로 분할하는 단계와,
    각 대응 세그먼트에 대한 정확성의 정도를 결정하도록 각 대응 세그먼트에 대해 수집된 정확성 데이터를 프로세싱하는 단계와,
    상기 각 대응 세그먼트에 대한 정확성의 정도에 기초하여 상기 대응 세그먼트로부터 상기 혼합 데이터 소스에 대해 선택된 세그먼트를 선택하는 단계
    를 포함하는
    하나 이상의 컴퓨터 판독가능한 매체.
  9. 제 8 항에 있어서,
    상기 혼합 데이터 소스는 맥락 신호를 상기 선택된 세그먼트에 맵핑하는 가상 데이터 소스를 포함하며,
    어떤 데이터 소스가 맥락 신호에 대해 상기 선택된 세그먼트에 상응하는지를 결정하도록 상기 가상 데이터 소스에 액세스함으로써 상기 맥락 신호에 대한 정보를 룩업(lookup)하는 단계와, 상기 선택된 세그먼트를 통해 상기 정보를 룩업하는 단계를 수행하는 컴퓨터 실행가능한 명령어를 더 구비하는
    하나 이상의 컴퓨터 판독가능한 매체.
  10. 제 8 항에 있어서,
    상기 각각의 데이터 소스를 세그먼트들로 분할하는 단계는, 맥락 데이터 범위 또는 IP 어드레스의 범위를 사용하는 단계를 포함하는
    하나 이상의 컴퓨터 판독가능한 매체.
KR1020147016042A 2011-12-14 2012-12-14 맥락 신호에 대해 반환된 정보의 정확성 향상 기법 KR101985045B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/325,493 US8938653B2 (en) 2011-12-14 2011-12-14 Increasing the accuracy of information returned for context signals
US13/325,493 2011-12-14
PCT/US2012/069952 WO2013090855A2 (en) 2011-12-14 2012-12-14 Increasing the accuracy of information returned for context signals

Publications (2)

Publication Number Publication Date
KR20140101785A true KR20140101785A (ko) 2014-08-20
KR101985045B1 KR101985045B1 (ko) 2019-05-31

Family

ID=48155364

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020147016042A KR101985045B1 (ko) 2011-12-14 2012-12-14 맥락 신호에 대해 반환된 정보의 정확성 향상 기법

Country Status (6)

Country Link
US (1) US8938653B2 (ko)
EP (1) EP2791823B1 (ko)
JP (1) JP6106911B2 (ko)
KR (1) KR101985045B1 (ko)
CN (1) CN103078962B (ko)
WO (1) WO2013090855A2 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9092749B2 (en) * 2012-04-13 2015-07-28 International Business Machines Corporation Information governance crowd sourcing
CN103200058B (zh) * 2013-03-28 2016-03-30 华为技术有限公司 数据处理方法、协调器和节点设备
US10380105B2 (en) * 2013-06-06 2019-08-13 International Business Machines Corporation QA based on context aware, real-time information from mobile devices
CN104935676A (zh) * 2014-03-17 2015-09-23 阿里巴巴集团控股有限公司 确定ip地址段及其对应的经纬度的方法及装置
US9753946B2 (en) 2014-07-15 2017-09-05 Microsoft Technology Licensing, Llc Reverse IP databases using data indicative of user location
JP2017021604A (ja) * 2015-07-10 2017-01-26 株式会社リコー 情報処理システム及び情報処理方法
US10592922B2 (en) 2016-09-09 2020-03-17 Ns8, Inc. System and method for detecting fraudulent internet traffic
US10552838B2 (en) * 2016-09-09 2020-02-04 Ns8, Inc. System and method for evaluating fraud in online transactions
WO2019089056A1 (en) * 2017-11-06 2019-05-09 Google Llc Evaluating ip location on a client device

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5872539A (en) * 1996-05-29 1999-02-16 Hughes Electronics Corporation Method and system for providing a user with precision location information
US20020004399A1 (en) * 2000-03-25 2002-01-10 Mcdonnell James Thomas Edward Providing location data about a mobile entity
EP1217857A2 (en) * 2000-12-22 2002-06-26 Microsoft Corporation System and method for context- and location dependent adaptation of applications resident on mobile terminals for use in vehicles
US20080147452A1 (en) * 2006-12-19 2008-06-19 Microsoft Corporation Enterprise resource tracking of knowledge
US20090187447A1 (en) * 2008-01-08 2009-07-23 Honesty Young Cheng Checking the correctness of gis data
US20110070863A1 (en) * 2009-09-23 2011-03-24 Nokia Corporation Method and apparatus for incrementally determining location context

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2265875C (en) 1996-09-09 2007-01-16 Dennis Jay Dupray Location of a mobile station
US6842877B2 (en) 1998-12-18 2005-01-11 Tangis Corporation Contextual responses based on automated learning techniques
US7213048B1 (en) * 2000-04-05 2007-05-01 Microsoft Corporation Context aware computing devices and methods
US6718258B1 (en) * 2000-06-08 2004-04-06 Navigation Technologies Corp Method and system for obtaining user feedback regarding geographic data
AU2002315178A1 (en) * 2001-06-15 2003-01-02 Iquest Networks, Inc. System for communication of streaming digital data
US6950058B1 (en) * 2001-10-17 2005-09-27 Sirf Technology, Inc. System, method, apparatus and means for providing GPS aiding data to networked receivers
US7487234B2 (en) 2002-09-17 2009-02-03 International Business Machines Corporation Context conflict resolution and automatic context source maintenance
US7444327B2 (en) * 2004-01-09 2008-10-28 Microsoft Corporation System and method for automated optimization of search result relevance
US7743048B2 (en) * 2004-10-29 2010-06-22 Microsoft Corporation System and method for providing a geographic search function
US20070136227A1 (en) * 2005-12-13 2007-06-14 Lucent Technologies Inc. Location-based searches by measuring location-based clickthrough measurements using implicit location
US7468694B2 (en) * 2006-04-21 2008-12-23 Broadcom Corporation Communication system with assisted GPS and SBAS
US20080045236A1 (en) * 2006-08-18 2008-02-21 Georges Nahon Methods and apparatus for gathering and delivering contextual messages in a mobile communication system
US7870227B2 (en) * 2007-07-31 2011-01-11 Yahoo! Inc. System and method for merging internet protocol address to location data from multiple sources
EP2246666B1 (en) 2009-04-29 2020-02-12 BlackBerry Limited Method and apparatus for location notification using location context information
US8521429B2 (en) 2009-06-17 2013-08-27 Microsoft Corporation Accuracy assessment for location estimation systems
US8549044B2 (en) 2009-09-17 2013-10-01 Ydreams—Informatica, S.A. Edificio Ydreams Range-centric contextual information systems and methods
US8825375B2 (en) 2009-09-29 2014-09-02 Apple Inc. Snap-to-road using wireless access point data
KR101705401B1 (ko) * 2010-03-10 2017-02-22 인터디지탈 패튼 홀딩스, 인크 인프라 장치 및 단말 장치의 위치 결정
US20110238670A1 (en) 2010-03-23 2011-09-29 Microsoft Corporation Crowd-sourcing and contextual reclassification of rated content

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5872539A (en) * 1996-05-29 1999-02-16 Hughes Electronics Corporation Method and system for providing a user with precision location information
US20020004399A1 (en) * 2000-03-25 2002-01-10 Mcdonnell James Thomas Edward Providing location data about a mobile entity
EP1217857A2 (en) * 2000-12-22 2002-06-26 Microsoft Corporation System and method for context- and location dependent adaptation of applications resident on mobile terminals for use in vehicles
US7751944B2 (en) * 2000-12-22 2010-07-06 Microsoft Corporation Context-aware and location-aware systems, methods, and vehicles, and method of operating the same
US20080147452A1 (en) * 2006-12-19 2008-06-19 Microsoft Corporation Enterprise resource tracking of knowledge
US20090187447A1 (en) * 2008-01-08 2009-07-23 Honesty Young Cheng Checking the correctness of gis data
US20110070863A1 (en) * 2009-09-23 2011-03-24 Nokia Corporation Method and apparatus for incrementally determining location context

Also Published As

Publication number Publication date
JP2015507789A (ja) 2015-03-12
KR101985045B1 (ko) 2019-05-31
EP2791823A2 (en) 2014-10-22
EP2791823A4 (en) 2015-06-24
EP2791823B1 (en) 2019-07-31
JP6106911B2 (ja) 2017-04-05
WO2013090855A3 (en) 2013-08-08
US8938653B2 (en) 2015-01-20
US20130159804A1 (en) 2013-06-20
CN103078962B (zh) 2016-06-08
WO2013090855A2 (en) 2013-06-20
CN103078962A (zh) 2013-05-01

Similar Documents

Publication Publication Date Title
KR101985045B1 (ko) 맥락 신호에 대해 반환된 정보의 정확성 향상 기법
EP3475843B1 (en) Aggregate-query database system and processing
CN101902505B (zh) 一种分布式dns查询日志的实时统计装置及方法
Laki et al. Spotter: A model based active geolocation service
RU2611967C2 (ru) Расширение ответов на обращения к базе данных, используя данные из внешних источников данных
US20150244819A1 (en) Systems and methods for mapping ip- addresses to geolocations
US9081860B2 (en) Integration of device location into search
EP1882373A2 (en) Positioning service utilizing existing radio base stations
AU2011349613B2 (en) Generating maps of private spaces using mobile computing device sensors
US8239532B1 (en) System and method of reducing latency using adaptive DNS resolution
US11005923B2 (en) Proxy server selection based on server latency times
US11611502B2 (en) Network latency measurement and analysis system
US20220230227A1 (en) Communications server apparatus, methods and communications systems for recommending one or more points-of-interest for a transport-related service to a user
US20130191842A1 (en) Provisioning tenants to multi-tenant capable services
US10171606B2 (en) System and method for providing data as a service (DaaS) in real-time
US20230004776A1 (en) Moderator for identifying deficient nodes in federated learning
US20190235984A1 (en) Systems and methods for providing predictive performance forecasting for component-driven, multi-tenant applications
CN114448849B (zh) 网站IPv6网络支持模式检测方法及电子设备
CN110113446B (zh) 一种客户端寻址方法、装置及系统
US20090109857A1 (en) Resource connection monitor utility
US20160350763A1 (en) Context-Aware Display Of Objects In Mixed Environments
Teller et al. Organic indoor location discovery
US10484276B2 (en) Route resolution system and route resolution method
Lin et al. A trustworthy QoS-based mechanism for web service discovery based on collaborative filtering
Michel The gander search engine for personalized networked spaces

Legal Events

Date Code Title Description
N231 Notification of change of applicant
E701 Decision to grant or registration of patent right
GRNT Written decision to grant