CN108141702B - 上下文知晓的位置共享服务 - Google Patents

上下文知晓的位置共享服务 Download PDF

Info

Publication number
CN108141702B
CN108141702B CN201680056039.2A CN201680056039A CN108141702B CN 108141702 B CN108141702 B CN 108141702B CN 201680056039 A CN201680056039 A CN 201680056039A CN 108141702 B CN108141702 B CN 108141702B
Authority
CN
China
Prior art keywords
data
location data
component
location
shared
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN201680056039.2A
Other languages
English (en)
Other versions
CN108141702A (zh
Inventor
H·V·胡
A·V·加德雷
L·H-M·昂
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN108141702A publication Critical patent/CN108141702A/zh
Application granted granted Critical
Publication of CN108141702B publication Critical patent/CN108141702B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/0009Transmission of position information to remote stations
    • G01S5/0072Transmission between mobile stations, e.g. anti-collision systems
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/24Acquisition or tracking or demodulation of signals transmitted by the system
    • G01S19/25Acquisition or tracking or demodulation of signals transmitted by the system involving aiding data received from a cooperating element, e.g. assisted GPS
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/01Determining conditions which influence positioning, e.g. radio environment, state of motion or energy consumption
    • G01S5/019Energy consumption
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0205Details
    • G01S5/0244Accuracy or reliability of position solution or of measurements contributing thereto
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0284Relative positioning
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0295Proximity-based methods, e.g. position inferred from reception of particular signals
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/01Social networking
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/10Network architectures or network communication protocols for network security for controlling access to devices or network resources
    • H04L63/107Network architectures or network communication protocols for network security for controlling access to devices or network resources wherein the security policies are location-dependent, e.g. entities privileges depend on current location or allowing specific operations only from locally connected terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W12/00Security arrangements; Authentication; Protecting privacy or anonymity
    • H04W12/08Access security
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/02Services making use of location information
    • H04W4/023Services making use of location information using mutual or relative location information between multiple location based services [LBS] targets or of distance thresholds
    • 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
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/01Satellite radio beacon positioning systems transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/13Receivers
    • G01S19/34Power consumption
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S19/00Satellite radio beacon positioning systems; Determining position, velocity or attitude using signals transmitted by such systems
    • G01S19/38Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system
    • G01S19/39Determining a navigation solution using signals transmitted by a satellite radio beacon positioning system the satellite radio beacon positioning system transmitting time-stamped messages, e.g. GPS [Global Positioning System], GLONASS [Global Orbiting Navigation Satellite System] or GALILEO
    • G01S19/42Determining position
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01SRADIO DIRECTION-FINDING; RADIO NAVIGATION; DETERMINING DISTANCE OR VELOCITY BY USE OF RADIO WAVES; LOCATING OR PRESENCE-DETECTING BY USE OF THE REFLECTION OR RERADIATION OF RADIO WAVES; ANALOGOUS ARRANGEMENTS USING OTHER WAVES
    • G01S5/00Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations
    • G01S5/02Position-fixing by co-ordinating two or more direction or position line determinations; Position-fixing by co-ordinating two or more distance determinations using radio waves
    • G01S5/0257Hybrid positioning
    • 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/80Services using short range communication, e.g. near-field communication [NFC], radio-frequency identification [RFID] or low energy communication

Landscapes

  • Engineering & Computer Science (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Computing Systems (AREA)
  • Business, Economics & Management (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Economics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Resources & Organizations (AREA)
  • Marketing (AREA)
  • Primary Health Care (AREA)
  • Strategic Management (AREA)
  • Tourism & Hospitality (AREA)
  • General Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Telephone Function (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Navigation (AREA)

Abstract

本文中描述了用于为计算设备提供上下文知晓的位置共享服务的技术。在一些配置中,本文中公开的技术可涉及多个计算设备,此多个计算设备被配置成基于一个或多个因素来选择并利用来自一个或多个资源的位置数据。对包括但不限于各个体设备的能力、一个或多个组件的状态或数据的可用性或成本的上下文数据的分析允许各个体设备动态地选择和利用位置数据或位置数据的源以适应一系列场景。本文中公开的技术还可检测变化场景的存在,并至少部分地基于定义该变化场景的数据来采取一个或多个动作。

Description

上下文知晓的位置共享服务
背景
计算机辅助地图导航工具已实现了广泛的接受度。例如,全球定位系统(“GPS”)设备已提供基本道路导航好几年了。近来,已经开发了用于蜂窝电话和其他移动计算设备的地图导航软件。虽然这样的现有系统可为一些计算设备提供位置信息,但这样的系统可使用大量的功率,并对电池寿命以及其他资源具有负面影响。
本文所做出的本公开正是关于这些和其他考虑事项而提出的。
概述
本文中描述了用于为计算设备提供上下文知晓的位置共享服务的技术。在一些配置中,本文中公开的技术可涉及多个计算设备,这些计算设备被个体地配置成基于可从对上下文数据的分析中导出的一个或多个因素来选择性地共享和利用位置数据。上下文数据可从被配置成共享位置数据的各个体设备接收,或者上下文数据可从一个或多个服务接收。
上下文数据可包括但不限于描述这些个体设备的能力、一个或多个设备的状态、以及与位置数据相关联的可用性或成本的数据。在一些配置中,上下文数据定义与来自个体资源的位置数据相关联的准确性和成本,例如资源水平。基于对接收到的上下文数据的分析,定义个体设备的位置的位置数据可在各设备之间选择性地共享以适应一个或多个设备的动态变化的需求。本文中公开的技术允许各个体设备动态地选择和利用共享位置数据和其他位置数据以适应一系列的使用场景。
应当领会,以上所描述的主题也可被实现为计算机控制的装置、计算机进程、计算系统或诸如计算机可读介质之类的制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其他特征将变得显而易见。
提供本概述以便以简化形式介绍将在以下具体描述中进一步描述的技术的选集。本概述不旨在标识所要求保护的主题的关键特征或必要特征,亦不旨在使用本概述来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。
附图简述
图1是示出用于为计算设备提供上下文知晓的位置共享服务的若干示例组件的框图;
图2解说示出用于共享位置数据的两个设备的若干示例组件的示例框图;
图3A-3B解说示出在被配置成提供上下文知晓的位置共享服务的两个设备之间的数据交换的示例框图;
图4A-4B解说被配置成提供上下文知晓的位置共享服务的各配置的示例;
图5是解说可被用于为计算设备提供上下文知晓的位置共享服务的例程的流程图;
图6是解说能够实现本文中呈现的技术和技艺的各方面的计算系统的说明性计算机硬件和软件体系结构的计算机体系结构图;
图7是解说能够实现本文中呈现的技术和技艺的各方面的分布式计算环境的图示;以及
图8是示出用于能够实现本文中所呈现的技术和技艺的各方面的计算设备的计算设备体系结构的计算机体系结构图。
详细描述
以下描述公开了用于为计算设备提供上下文知晓的位置共享服务的技术。在一些配置中,本文中公开的技术可涉及多个计算设备,这些计算设备被个体地配置成基于可通过分析上下文数据导出的一个或多个因素来选择性地共享和利用位置数据。上下文数据可从被配置成共享位置数据的各个体设备接收,或者上下文数据可从一个或多个服务接收。
上下文数据可包括但不限于这些个体设备的能力、一个或多个设备的状态、以及与位置数据相关联的可用性或成本。在一些配置中,上下文数据定义与来自个体资源的位置数据相关联的准确性和成本,例如资源水平。基于对接收到的上下文数据的分析,定义个体设备的位置的位置数据可选择性地在各设备之间共享以适应一个或多个设备的动态变化的需求。本文中公开的技术允许各个体设备动态地选择和利用共享位置数据和其他位置数据以适应一系列的使用场景。
在一些配置中,第一计算设备和第二计算设备可检测彼此的存在,并通过使用包括但不限于蓝牙、近场通信(“NFC”)、WiFi直连(WiFi Direct)和/或其他合适的技术的一个或多个技术来使能这些设备之间的通信。如可领会的,WiFi直连和其他类似的技术允许设备连接,而无需无线接入点。一旦处于通信,个体设备就可共享指示其能力的上下文数据。在一些配置中,上下文数据可包括可被用于定义个体设备的位置的信息。此外,上下文数据可包括指示位置数据的准确性的准确性数据、指示与位置数据相关联的资源水平的资源数据以及其他数据。
资源数据可指示提供位置数据的资源水平或个体资源的评级。在一些配置中,资源数据可指示获得或计算相关联的位置数据所需的资源水平。例如,资源数据可指示与获得或计算相关联的位置数据相关联的或者获得或计算相关联的位置数据所需的功率、带宽、存储器使用、或任何其他类型的成本的水平。每一设备还可从其他资源(诸如,远程服务器或其他计算设备)接收上下文数据。这样的上下文数据可指示与位置数据或其他相关数据相关联的该可用性或费用。
上下文数据可被分析以选择由一个或多个资源生成的位置数据和/或将由一个或多个资源生成的位置数据排定优先级。例如,第一设备可被配置成从多个资源(诸如GPS组件和WI-FI组件)接收位置数据。第一设备还可被配置成从其他资源(诸如,第二设备)接收位置数据。第一设备可将来自各个体资源的位置数据排定优先级以适应根据上下文数据解释的场景。在一个说明性示例中,如果与第二设备的位置数据相关联的成本在一个或多个资源(诸如,功率、带宽、存储器使用等)方面更高效,则第一设备可将从第二计算设备接收到的位置数据的优先级排定为优于由第一设备的组件(例如,GPS组件)生成的位置数据。如以下将更详细解释的,对由多个资源提供的位置数据的选择或优先级排定可基于多个因素。
对上下文数据的分析可检测特定场景或变化的场景的存在,并基于检测到的场景采取一个或多个动作。例如,上下文数据可包括硬件组件的状态、利用位置数据的应用的状态、对任何数据的修改、对新数据的检测、用户输入和/或任何其他事件。例如,设备可被配置成从电池电源或外部电源(诸如AC插座)操作。当被插入外部电源中时,该设备可被配置成利用例如诸如GPS组件之类可具有较高准确性水平但可以高速率消耗功率的技术来获得位置数据。该设备可被配置成检测变化的场景,诸如从外部电源到使用电池电源的转变。在这样的场景中,可利用诸如例如使用另一计算设备的共享位置数据来获得位置数据的更节能的技术之类的另一技术。
通过使用本文中公开的技术,一个或多个设备可被配置成节省与功率资源、存储器资源、通信带宽资源、处理资源和/或另一资源有关的资源,同时维持位置数据的所需的准确性水平。此外,如以下将更详细描述的,对从多个资源接收到的上下文数据的分析和利用允许本文中公开的技术适应多个使用场景。除了本文中提到的那些之外的其它技术效果也可通过本文中所公开的技术的实施来实现。
应当理解,上述主题可被实现为计算机控制的装置、计算机进程、计算系统或诸如计算机可读存储介质之类的制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其他特征将变得显而易见。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。
尽管本文中描述的主题主要是在用于为计算设备提供上下文知晓的位置共享服务的技术的一般上下文中呈现,但可领会本文中描述的技术可适用于任何类型的传感器和/或采用这些传感器的任何类型的设备。如本文中将更详细描述地,可领会本文中描述的技术和技艺的各实现可以包括固态电路、数字逻辑电路、计算机组件和/或在一个或多个设备上执行的软件的使用。本文中描述的信号可包括用于传达变化的状态、移动和与运动检测相关联的任何数据的模拟和/或数字信号。
尽管在结合计算机系统上的操作系统和应用程序的执行而执行的程序模块的一般上下文中提出了本文描述的主题,但是本领域技术人员将认识到,其他实现可以结合其他类型的程序模块来执行。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构及其他类型的结构。此外,本领域技术人员将明白,可以使用其他计算机系统配置来实施本文描述的主题,这些计算机系统配置包括手持式设备、多处理器系统、基于微处理器的或可编程消费电子产品、小型计算机、大型计算机等等。
在以下详细描述中,参考了构成详细描述的一部分并作为说明示出了各具体配置或示例的附图。现在参考附图,其中相同的附图标记贯穿若干附图表示相同的元素,为用于为计算设备提供上下文知晓的位置共享服务的计算系统、计算机可读存储介质、以及计算机实现的方法的各方面。如下将参考图6-8更加详细描述地,存在可以具体化在此所述的功能和技术的许多应用和服务。
图1是示出本文中公开的用于为计算设备提供上下文知晓的位置共享服务的一个示例环境100(在本文中也被称为“系统100”)的各方面的系统图。在一个说明性示例中,示例环境100可包括服务提供方102、一个或多个网络104、一个或多个用户106、以及与一个或多个用户106相关联的一个或多个设备108A、108B、108C到108N(统称为“设备108”)。在示例环境100中,用户106可与任何设备相关联,诸如设备108A、设备108B和设备108C。如将详细描述的,本文中公开的技术可涉及任何数目的计算设备,这些计算设备被配置成检测彼此的存在并取决于一个或多个因素来选择性地共享和利用位置信息。该示例是出于解说的目的而被提供的,并且不被解释为限制。可领会,示例环境100可包括任何数目的设备108和/或任何数目的服务提供方102。
服务提供方102可包括促成本文中公开的技术的各方面的任何实体、平台或服务。例如,任何服务提供方102的一个或多个服务器100可被用于实现本文中公开的技术的各方面。此外,一个或多个服务提供方102可提供并传达数据,诸如定义一个或多个设备的位置的位置数据、用于获得位置数据的其他系统数据、和/或其他类型的数据。与图2相关联地更详细地描述关于位置数据、系统数据和其他数据的细节。
个体设备108可作为独立设备工作,或者用户设备108可与其它计算机(诸如服务提供方102的一个或多个服务器110)协同工作。如可领会的,设备108、服务器110和/或任何其它计算机通过一个或多个局域网和/或广域网(诸如网络104)互连。另外,设备108可使用任何其他技术(诸如蓝牙、NFC或任何其他合适的基于光的有线或无线技术)来通信。应当领会,可利用除图1所例示的以外的多得多的类型的连接。
服务器110可采用个人计算机、服务器场、大规模系统或具有用于处理、收集、存储、和传递位置数据和其他数据的组件的任何其它计算系统的形式。在一些配置中,一个或多个服务提供方102可共享或出租计算资源来提供用于提供位置数据和其他数据的服务。可与不同的服务提供方102相关联的服务器110还可包括用于提供上下文数据并执行本文中描述的技术的一个或多个方面的组件,诸如图7中所示的组件。如本文中将更详细描述的,服务器模块可结合其他模块或设备操作以实现本文中公开的技术的各方面。
参考图2,下面示出并描述了用于提供上下文知晓的位置共享服务的设备108的各方面。各个体设备108(诸如第一设备108A和第二设备108B)可包括处理组件121、共享定位器115、联网定位器116、GPS定位器117、蜂窝小区定位器118以及利用任何合适技术以获得、处理和/或生成位置数据和相关数据的其他组件(被标记为“其他定位器118”)。处理组件121可被用于协调和管理定位器/组件115-118,并执行本文中公开的技术的各方面。
在该示例中,第一设备108A的位置数据125A可被配置成定义第一设备108A的位置。第二设备108B的位置数据125B可被配置成定义第二设备108B的位置。第一设备108A的位置数据125A以及第二设备108B的位置数据125B在本文中也被称为“位置数据125”或“位置信息125”.位置数据125可采用任何格式,并且位置数据125可被配置成以任何水平定义位置。例如,位置数据125可包括全球坐标或定义方位或位置的任何其他数据。位置数据125还可定义某物体相对于另一物体或设备的位置。
个体设备108可使用各种独立的定位技术(例如,GPS、蜂窝小区/蜂窝塔查找、WI-FI接入点查找等)来获得或生成位置数据125。出于说明的目的,联网定位器116、GPS定位器117和蜂窝小区定位器118被配置成分别利用WI-FI接入点查找技术、GPS技术和蜂窝塔查找技术。如以下更详细描述的,共享定位器115被配置成获得或提供位置数据125。例如,第一设备108A的共享定位器115可允许将位置数据125A从第一设备108A传达到第二设备108B。此外,第二设备108B的共享定位器115可允许将位置数据125A从第二设备108B传达到第一设备108A。该示例是出于解说的目的而被提供的,并且不被解释为限制。可领会,一个或多个设备108可配置有更少或更多的定位技术。出于说明的目的,对共享定位器115的利用或其中一个设备的位置数据125被另一设备利用的配置在本文中被称为“位置共享”。
每一技术向位置数据125提供与处理和/或获得位置数据125相关联的准确性水平(例如,服务质量(“QoS”))和成本。位置数据125的准确性可按各种方式来测量,包括可用测量单位(例如,英尺、英里、米、千米等)来表示和量化的误差余裕。出于说明的目的,指示准确性水平或QoS的数据在本文中一般被称为“准确性数据126”,其可以是被存储在第一设备108A上的准确性数据126A或被存储在第二设备108B上的准确性数据126B。准确性数据126可与任何位置数据125和/或任何位置数据源125(诸如共享定位器115、联网定位器116、GPS定位器117、蜂窝小区定位器118和/或其他组件)相关联。
与每一技术相关联的成本可按各种方式来测量,例如功率消耗水平、存储器消耗水平、数据连接带宽使用等等。成本还可与费用相关联,这可取决于数据源被应用于某些类型的数据。出于说明的目的,指示或定义与位置数据125相关联的成本的数据在本文中被称为“资源数据127”,其可包括被存储在第一设备108A上的资源数据127A或被存储在第二设备108B上的资源数据127B。资源数据127可使用任何类型的测量单位(诸如功率单位、处理周期、存储器单位或者测量或表示与用于获得或计算位置数据的过程相关联的资源的其他单位)来量化、评级、表征或分类资源水平。
在以上描述的一些技术(诸如蜂窝塔查找技术)中,一个或多个服务提供方(图1中的102)可生成、存储和/或传达使得一些设备108能够从诸如GPS之类的系统获得位置数据125的信息。例如,由设备108接收的系统数据128可描述一个或多个卫星。这样的系统数据128可被设备108用来选择要使用的资源,例如要利用哪些卫星来获得位置数据125。出于说明的目的,“系统数据128A”和“系统数据128B”可分别与第一设备108A和第二设备108B相关联和/或分别被存储在第一设备108A和第二设备108B上。系统数据128还可包括用于使得一个或多个设备108能够确定系统数据125的新鲜度(例如,年龄)的时间戳。在一些配置中,一个或多个服务提供方102和/或设备108还可生成或获得指示系统数据128何时被接收到的时间和/或系统数据125的年龄或新鲜度的时间戳数据。相似的技术可应用于位置数据125和其他数据以确定位置数据125和其他数据的新鲜度或年龄。
在一些配置中,各个体设备108可存储、处理和传达上下文数据123,上下文数据123可包括准确性数据126、资源数据127、系统数据128和其他数据。出于说明的目的,“上下文数据123A”可被存储在第一设备108A上和/或与第一设备108A相关联,“上下文数据123B”可被存储在第二设备108B上和/或与第二设备108B相关联。该示例是出于解说的目的而被提供的,并且不被解释为限制。可领会,各种类型的数据(包括准确性数据126、资源数据127、系统数据128和其他数据)可由任何组件或设备来存储、处理或生成。出于说明的目的,上下文数据123(可包括存储在设备108上和/或与设备108相关联的准确性数据126、资源数据127、系统数据128和其他数据)在本文中也被称为“能力数据”。出于说明的目的,诸如准确性数据126B、资源数据127B和其他数据之类的数据的参考标记中的字母可指代存储在具有相应字母的设备108(诸如第二设备108B、第三设备108C等)上或由该设备生成的数据。
如可领会的,一些技术具有比其他技术更高的QoS。此外,同时使用多个位置跟踪技术可改善针对一个或多个设备108的位置检索请求的QoS,但这样的技术可导致沉重的成本。为了在减轻成本的同时优化位置检索请求的QoS,本文中公开的技术允许设备108使用共享定位器115来基于一个或多个因素共享位置数据125。例如,第一设备108A和第二设备108B可传达各种类型的数据以确定一个设备的位置数据125(诸如第一设备108A的位置数据125A)是否可被用来确定另一设备(诸如,第二设备108B)的位置。该示例是出于解说的目的而被提供的,并且不被解释为限制。可领会,本文中公开的配置可利用比图2中示出的更少或更多的设备和/或组件,并且任何设备108可使用任何其他设备108的数据来获得并利用位置数据125和来自任何数目的设备108的其他数据。
在一些配置中,各个体设备108被配置成检测其他设备108的存在,建立与彼此的通信,并取决于一个或多个因素来选择性地共享和利用位置数据125。例如,第一设备108A和第二设备108B可通过使用蓝牙技术、NFC技术、WiFi直连和/或其他技术来检测彼此的存在。在一些配置中,当诸设备在彼此的预定距离内时,一个或多个设备108可确定另一设备108的存在。+在一些配置中,例如,当诸设备108在允许设备108之间的无线数据通信的范围内时,一个或多个设备108可确定另一设备108的存在。
另外,本文中所公开的技术还可以涉及对访问权限的验证,以提供对每一设备108的数据的安全和受控访问。一般来说,对访问权限的验证可出于隐私目的而包括要求用于共享安全数据的用户同意的技术。在一些配置中,访问权限可通过一个或多个技术来管理。例如,访问权限可通过使用利用身份和相应的口令的一个或多个技术、公钥和私钥技术和/或用户控制的技术来控制。用户控制的技术可涉及显示标识一个或多个附近设备108的数据。响应于所显示的数据,用户可通过使用用户输入来接受或拒绝访问。
一些技术(诸如蓝牙技术)可在初始设置期间利用用户输入来验证访问权限。一旦访问权限被建立,设备108可基于一个或多个事件自动断开连接,并在设备在彼此邻近度内时重新连接。例如,在初始设置期间,第一设备108A和第二设备108B可使用无线技术被配对,并且设备108可维持这样的配对的记录。访问权限可在一条或多条记录指示设备先前已被配对的情况下被授予。在一些配置中,一旦访问权限被授予,就可在经配对的设备之间建立数据通信。可以领会,各实现可以不验证访问权限,并因此至少部分地基于设备的邻近度来允许自动连接。
设备108可共享公开数据和私有数据。公开数据例如可包括:指示设备类型的标识符、可被用于建立连接的数据、和/或使得一个或多个设备能够检测另一设备的存在的其他数据。公开数据例如可包括用于建立连接(例如配对蓝牙连接或建立WI-FI连接)的公开信息。在一些配置中,公开数据还可包括位置数据和设备能力列表。私有数据可包括设备能力列表(例如,上下文数据123)和其他数据。在一些配置中,私有数据还可包括位置数据。在一些配置中,私有数据可在访问权限已被建立之后被传达。
一旦处于通信,每一设备108就可选择性地传达上下文数据123的各方面和/或定义每一设备108的能力的任何其他数据。例如,如图3A中所示出的,第一设备108A可向第二设备108B传达上下文数据123A。此外,如图3B所示,设备108可交换上下文123数据。在该示例中,第一设备108A可向第二设备108B传达上下文数据123A,而第二设备108B可向第一设备108A传达上下文数据123B。在一些配置中,每一设备108的位置数据125可与上下文数据123一起传达。在一些配置中,如图3A和图3B中所示出的,位置数据125可与上下文数据123分开地传达。在设备108之间传达的任何数据可利用任何合适的协议,协议可包括推送技术或可包括请求和响应的任何其他合适的技术。
图4A解说了可被用于为计算设备提供上下文知晓的位置共享服务的另一示例配置。在该示例中,第三设备108C被配置成接收来自第一设备108A和第二设备108B的上下文数据,诸如上下文数据123。这样的配置解说了其中设备可接收并利用来自多个设备的上下文数据123和/或位置数据125的一个示例。以下更详细地提供利用这样的配置的示例。
一旦设备108已传达了上下文数据123、上下文数据123的各部分或其他上下文数据,接收这样的数据每一设备108就可确定远程设备的位置数据125是否可被用于确定接收设备108的位置。例如,参考图3A,第一设备108A的位置数据125A可由第二设备108B基于一个或多个因素来选择和利用。在图3B所示的示例中,设备108两者都可共享位置数据125。第一设备108A的位置数据125A可由第二设备108B基于一个或多个因素来选择和利用。此外,第二设备108的位置数据125B可由第一设备108A基于一个或多个因素来选择和利用。参考图4A的示例,第三设备108C可选择和利用第一设备108A的位置数据125A和/或第二设备108B的位置数据125B。
在一些配置中,用于选择位置数据125的因素可从任何接收到的数据(诸如,上下文数据123或任何上下文数据)中导出。例如,用于选择位置数据125的因素可基于位置数据的准确性水平和/或与位置数据相关联的资源水平。其他上下文数据(诸如指示设备的移动的数据)可被用作用于选择位置数据125的因素。如将通过以下示例解说的,对一个或多个因素的使用使得本文中公开的技术能够平衡位置数据125的准确性以及与位置数据125相关联的资源以适应一个或多个场景。
参考图4B,在一个示例中,考虑其中第一设备108A是具有从位置跟踪组件(诸如GPS定位器117)导出的高度准确的位置数据125A的移动电话的场景。在该示例中,第四设备108N是不具有位置跟踪组件(诸如蜂窝小区定位器118或GPS定位器117)的平板计算机。在该示例中,第四设备108N配置有共享定位器115。虽然该示例和其他示例解说了通过共享定位器115来传达的共享位置数据,但可领会,共享位置数据125可通过设备108的任何其他合适的组件来传达。
通过使用本文中公开的技术,当图4B中示出的此类场景被呈现时,一个或多个处理组件121可确定第一设备10A的位置数据125A存在而第四设备108N的位置数据125B不存在。基于对此类场景(其可从从对在这两个设备之间传达的上下文数据123的解释中导出)的检测,第四设备108N可确定接收第一设备108A的位置数据125A,并利用第一设备108A的位置数据125A来确定第四设备108N的位置。
在图2和图3A中解说的另一示例中,第一设备108A是具有从诸如蜂窝小区定位器118之类的组件中导出的位置数据125A的移动电话。在该示例中,第二设备108B是具有从诸如联网定位器116之类的组件中导出的位置数据125B的平板计算机。在该示例中,假定来自任一或两个设备的上下文数据(诸如,准确性数据126)指示第一设备108A的位置数据125A比第二设备108B的位置数据125B更准确。此外,假定任一或两个设备的上下文数据(诸如,资源数据127)指示相比于获得并利用从第一设备108A的组件导出的位置数据125A,第一设备108A通过获得并利用从第二设备108B的联网组件导出的位置数据125B消耗更少的功率。
本示例的配置可被用于适应多个动态变化的场景。例如,如果第二设备108B的位置数据125B满足应用的准确性要求,则第二设备108B可选择第二设备108B的位置数据125B以供使用。然而,如果用户开始使用要求超过位置数据125B的准确性的准确性水平的第二应用,则第二设备108B可选择并利用从第一设备108A的组件导出的位置数据125A。该示例是出于解说的目的而被提供的,并且不被解释为限制。以下提供了利用多个因素来选择位置数据的其他示例。
如通过本文中公开的示例来解说的,上下文数据还可指示应用、设备或组件的状态。例如,设备可生成指示设备正从电池电力操作的状态数据。在另一示例中,设备可生成指示应用或操作系统组件的状态已变化或已达到阈值的状态数据。在又一些示例中,状态数据可指示数据已变得可用或来自服务的数据价格已变化。这些示例是出于解说的目的而被提供的,而并不被解释为限制。
此外,上下文数据可被解释为确定与资源或准确性水平相关的要求。例如,上下文数据可指示设备108正执行被配置用于调查工地的地形的应用。在这样的场景中,设备可确定指示对与位置数据有关的高准确性水平的需求的要求。相反,上下文数据可指示设备10正执行被配置成确定用户的城市和州的零售应用。在这样的场景中,设备在本文中可确定指示对与位置数据有关的低准确性水平的需求的要求。在另一示例中,上下文数据可指示设备108正从电池电源操作。在这样的场景中,设备108可确定指示节能的需求的要求。
在另一示例中,通过外部电源(例如AC插座或汽车充电器)操作的设备108可确定指示节能不是高优先级的要求。此外,作为当前示例的补充,如果上下文数据指示在设备正从电池操作的同时对要求与位置数据有关的高准确性水平的应用的使用,则设备可被配置成选择和使用生成最准确的位置数据的组件(例如,GPS组件),即使生成最准确的位置数据的组件不是最节能的资源。可领会,本文中公开的技术可确定并利用任何数目的要求。
本文中公开的技术还可检测变化的场景的存在,并基于该变化的场景来采取一个或多个动作。变化的场景例如可包括与硬件或软件组件的状态有关的任何变化、任何数据的修改、新数据的检测、服务或程序的状态变化、用户输入和/或任何其他事件。这样的配置允许设备基于指示变化的场景的上下文数据来优化位置数据的准确性和与位置数据相关联的资源水平之间的平衡。例如,设备可被配置成替换地利用电池电源或外部电源,诸如AC插座。当被插入外部电源时,该设备可被配置成利用例如诸如GPS组件之类可具有较高准确性水平但可以高速率消耗功率的技术来获得位置数据。该设备可被配置成检测变化的场景,诸如从外部电源到使用电池电源的转变。在这样的场景中,该设备可标识变化的场景,并选择提供位置数据的另一资源,诸如使用节能技术的资源。
为了允许本文中描述的技术的各方面,设备可被配置成共享指示设备的能力的上下文数据。在一些配置中,设备可发布定义该设备可向另一设备提供什么的上下文数据(诸如,上下文数据123)。接收所发布的数据的设备可维持设备及其相应的能力的列表。设备108还可向其他设备108发送对期望能力列表的请求。出于解说的目的,可在设备108之间共享的信息列表可包括但不限于:高准确性室内位置数据、从GPS导出的高准确性位置数据、供基于蜂窝小区系统来在本地推理位置的邻近小块数据、WI-FI系统数据、IBEACON系统数据、GPS的系统数据、地点小块信息和/或其他数据。
用于选择位置数据125的资源并对其排定优先级的一个或多个因素可基于描述场景或变化场景的任何上下文数据。例如,上下文数据可定义运动参数,例如设备可能正在行进的速度和方向、一个或多个任务的执行或从传感器或输入设备生成的其他测量数据。此外,上下文数据可包括但不限于指示检测到或可获得满足一个或多个位置共享要求的经解析的位置的数据。通过本文中公开的技术获得或导出的一个或多个要求可包括但不限于:准确性、新鲜度、技术置信度和较高准确性的室内定位数据是否可用等等。
如以上所概括的,位置数据125的选择可涉及对来自不同资源的位置数据125排定优先级的过程。例如,具有较高准确性的位置数据125可被置于比具有较低准确性的位置数据125更高的优先级处。在另一示例中,以某个特定的附加标准(例如,设备108是静止的并且要求最小的准确性变化)具有基于WI-FI的室内方位数据的位置数据可被置于比使用WI-FI技术或其他技术定义室外位置的其他位置数据更高的优先级。
在又一示例中,定义附近设备的新解析(即,在5-10秒内刷新)的位置的位置数据125可被置于比不这么新(例如,几分钟老)但具有较高的准确性水平的位置数据125更高的优先级处。如果其他上下文数据指示设备108在移动,则设备108可确定这样的优先级次序。然而,如果设备108在预定时间段内没有移动,则设备108可被配置成反转或修改前述优先级。
可领会,利用本文中公开的技术的设备108可优化所需的准确性水平和各资源效率之间的平衡以适应涉及具有大范围的能力的不同类型的设备的大范围的场景。例如,本文中公开的技术可利用来自加速度计或其他传感器的位置数据125和/或其他数据来确定对象是否在移动。在这样的配置中,设备可分析描述一个或多个设备108的能力的不同类型的上下文数据123。基于对这样的数据和其他上下文数据的分析,在用户不在开车的情况下,设备108可优先于包括基于WI-FI的室外或GPS方位的位置数据125选择并利用包括基于WI-FI的室内方位数据的位置数据125。在另一场景中,设备108可确定用户在走路,而非在开车。定义这样的场景的上下文数据可通过解释设备108的速度、方向和位置来导出。由此,在用户正带着设备108走路的场景中,设备108可选择并利用来自或GPS或室内位置系统的位置数据125,而不是选择来自室外WI-FI位置系统的位置数据125。
在另一示例中,检测到指示设备108正以高速度行进(例如,在用户在开车时)的上下文数据可使得设备108选择一种或多种类型的位置数据125并对其排定优先级。在这样的场景中,对来自GPS定位器117的位置数据125的使用的优先级可被排定为高于来自共享定位器115的位置数据125。这样的特征可防止或减轻对位置共享的使用,以试图减轻对不必要的资源的使用。
本文中公开的配置还可基于系统数据128、位置数据125、准确性数据126、资源数据127和其他数据的时间戳和/或期满日期来利用上下文数据。例如,设备108可被配置成检测下载的星历表和另一附近设备的服务器时间数据的可用性。基于一个或多个因素,设备108还可标识对从服务器或其他基于网络的服务下载这样的数据的需求。下载或获得数据的需求可基于对自维护数据(例如由任何设备或组件(诸如由共享定位器115或由蜂窝小区定位器118或相关的软件驱动器)提供的“即将期满”时间戳)的分析。设备108可被配置成至少部分地基于对来自一个或多个资源的一种或多种类型的位置数据125的可用性或需求来对这样的数据排定优先级。
本文中公开的配置还可检测地点元数据和/或地点模型数据的可用性以帮助在本地解析较高准确性的室内位置数据。在一些配置中,这样的数据下载起来可能是昂贵的,并且本文中公开的技术在确定是否将利用该数据来定位设备时可考虑该数据的价格点。可将涉及价格点的上下文数据与一个或多个阈值进行比较。在其中位置数据和其他数据与费用相关联的模型中,设备108可被配置成在相关联的费用或另一类似值达到阈值时利用这样的位置数据125。这样的配置使得本文中公开的技术面对上下文相关的场景时能够利用数据。
对上下文数据(其也可由诸如应急服务系统之类的其他系统提供)的使用允许设备108选择不同类型的位置数据125或对其排定优先级以适应要求立即行动和/或准确的位置数据125的场景。例如,如果设备108接收到指示紧急情况的上下文数据,则该设备可选择在预定时间段内或者在该设备接收指示场景已变化的上下文数据时提供高度准确的位置数据125的资源。
如以上所概述的,设备108可被配置成检测硬件或软件组件的状态,诸如电池节省模式的引入。在这样的场景中,设备108可选择并利用附近设备的位置数据125,而不是从服务提供方或其他基于网络的服务下载位置数据125。该示例是出于解说的目的而被提供的,并且不被解释为限制。可领会,设备108所生成的任何类型的状态或模式都可被利用来对来自不同资源的位置数据125排定优先级、重排优先级或进行选择。
在又一示例中,设备108可获得从IBEACON服务获得的位置数据125,这在生成位置数据125所需的计算功率方面可能是昂贵的。同时,设备108还可经由位置共享从附近设备获得新解析的位置数据。在这样的场景中,设备可利用新解析的位置数据125,因为共享数据可比计算该数据成本更低。该示例是出于解说的目的来提供的,而不将被解释为构成限制。本文中公开的技术可利用任何类型的数据的任何类型的时间戳(例如新鲜度)来选择不同类型的位置数据125和/或对其排定优先级。例如,指示系统数据125的新鲜度的数据可被利用来选择可由蜂窝小区定位器118或另一类似的设备或组件接收到的或通过其计算到的位置数据125或对该位置数据125排定优先级。
再次,本文中提供的这些示例是出于解说的目的而将不被解释为构成限制。可领会,选择位置数据125的标准可比本文中提供的示例复杂得多。许多变化可被应用于以上描述的因素。在选择位置数据125或选择提供位置数据125的资源时可利用不同类型的信息的不同组合。还可领会,资源节省可能不是优先项。在某些情形中,对准确位置数据125的需求可优先于涉及资源节省的因素。因素的数目不应限于本文中列出的那些,因为任何可用的上下文信息都可被用来选择位置数据125、触发共享位置数据125的需求、和/或触发对接收到的共享位置数据125的需求。同样,这些因素可被用于触发资源共享并用于防止设备共享位置数据125。这样的配置可帮助设备优化其资源效率并降低使用成本以及许多其他益处。
现在转到图5,下面示出并描述了用于为计算设备提供上下文知晓的位置共享服务的例程500的各方面。应当理解,不一定按任何特定次序来呈现本文公开的方法的操作,并且用替换次序来执行部分或全部操作是可能的且可构想的。为了易于描述和说明,按所示次序来呈现各操作。可以添加、省略和/或同时执行操作,而不脱离所附权利要求书的范围。
还应当理解,所示方法可在任何时间结束且不必完整地执行。这些方法的部分或全部操作和/或基本等效的操作可通过执行计算机存储介质上所包括的计算机可读指令来执行,如在下文中所定义的。如在说明书和权利要求书中使用的术语“计算机可读指令”及其变型,在本文被用来广泛地包括例程、应用、应用模块、程序模块、程序、组件、数据结构、算法等等。计算机可读指令可以在各种系统配置上被实现,包括单处理器或多处理器系统、小型计算机、大型计算机、个人计算机、手持式计算设备、基于微处理器的可编程消费电子产品、其组合等等。
因此,应当理解,本文所描述的逻辑操作被实现为:(1)一系列计算机实现的动作或运行在计算系统上的程序模块;和/或(2)计算系统内的互连的机器逻辑电路或电路模块。该实现是取决于计算系统的性能及其他要求的选择问题。因此,本文所描述的逻辑操作被不同地称为状态、操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑及其任何组合来实现。
如将结合图1描述的,例程500的操作在本文中被描述为至少部分地由诸如处理组件121之类的应用、组件和/或电路来实现。尽管以下图示涉及图1的各组件,但是可领会例程500的操作也可以许多其他方式来实现。例如,例程500可至少部分地由计算机处理器或另一计算机的处理器来实现。另外,例程500的一个或多个操作可替换地或附加地至少部分地由单独工作的芯片组或与其他软件模块协同工作的芯片组来实现。适于提供指示任何设备的位置或状态的上下文数据的任何服务、电路、或应用可在本文所描述的操作中使用。
参考图5,例程500始于操作501,在操作501,设备108检测彼此的存在。在一个解说性示例中,第一设备108A和第二设备108B可检测彼此的存在,并通过利用一个或多个技术(包括但不限于蓝牙、NFC和/或其他合适的技术)来使能这些设备之间的通信。在一些配置中,当诸设备108在彼此的预定距离内时,一个或多个设备108可确定该另一设备108的存在。在一些配置中,例如,当诸设备108在允许诸设备108之间的无线数据通信的范围内时,一个或多个设备108可确定另一设备108的存在。在操作501中可使用任何合适的用于检测设备的存在的技术。
接着,在操作503,例程500可涉及验证访问权限以提供对每一设备108的数据的安全性和受控的访问。在一些配置中,访问权限可通过一个或多个技术来管理。例如,访问权限可通过使用利用身份和相应的口令的一个或多个技术、公钥和私钥技术、和/或用户控制的技术来控制。用户控制的技术可涉及显示标识一个或多个附近设备108的数据。响应于所显示的数据,用户可通过使用用户输入来授予或拒绝访问。
一些技术(诸如蓝牙或WiFi直连技术)可在初始设置期间利用用户输入来验证访问权限。一旦访问权限被建立,诸设备108可基于一个或多个事件自动断开连接,并在这些设备在彼此邻近度内时重新连接。例如,在初始设置期间,第一设备108A和第二设备108B可使用无线技术被配对,并且设备108可维持这样的配对的记录。访问权限可在一条或多条记录指示这些设备先前已被配对的情况下被授予。在一些配置中,一旦访问权限被授予,就可在经配对的设备之间建立数据通信。可以领会,各实现可以不验证访问权限,并因此至少部分地基于设备的邻近度来允许自动连接。
接着,在操作505,处于通信的一个或多个设备共享上下文信息。在一些配置中,彼此通信的设备可共享指示与各个体设备的组件和应用有关的能力和/或状态信息的上下文数据。如图3A和图3B中所示出的,数据的通信可以是单向或双向的。本文中公开的技术可利用用于在两个设备之间传达数据的多个协议,包括推送技术或利用对数据的个体请求的其他技术。
在一些配置中,上下文数据可包括定义设备的位置的位置数据。此外,上下文数据可包括指示位置数据的准确性的准确性数据、指示与位置数据相关联的资源水平的资源数据以及其他数据。每一设备还可接收来自其他资源(诸如,远程服务器或其他计算设备)的上下文数据。资源数据可指示获得或计算位置数据所需的资源水平。例如,资源数据可指示与获得或计算位置数据相关联的或者获得或计算位置数据所需的功率、带宽、存储器使用或任何其他类型的成本的水平。由各个体设备108接收到的上下文数据还可包括其他数据,诸如来自蜂窝小区网络的系统数据128或者来自一个或多个服务器的其他数据。上下文数据也可由一个或多个资源(诸如图7中示出的那些资源)提供。
接着,在操作507,各个体设备可至少部分地基于上下文数据来选择或来自一个或多个资源的位置数据和/或对其排定优先级。如以上所概述的,本文中公开的技术可确定要求、分析上下文数据和/或选择位置数据。如本文中所描述的,位置数据可被选择和/或排定优先级以满足软件组件和/或硬件组件的要求。
此外,位置数据可被选择和/或排定优先级以平衡与该位置数据相关联的准确性水平和资源水平以适应检测到的场景。
可从上下文数据(诸如,准确性数据、系统数据、资源数据和其他数据)中导出任何因素组合。此外,还可领会,资源节省可能不是优先项。在某些场景中,例如,对准确位置数据125的需求可超越涉及资源节省的因素。因素的数目不应限于本文中列出的那些,因为任何可用的上下文信息都可被用来选择位置数据125、触发共享位置数据125的需求、和/或触发对接收到的共享位置数据125的需求。同样,这些因素可被用于触发资源共享并用于防止设备共享位置数据125。这样的配置可帮助设备优化其资源效率并降低使用成本以及许多其他益处。
如这些示例中所描述的,不同类型的位置数据(即从共享定位器接收到的位置数据、从联网定位器接收到的位置数据、从GPS定位器接收到的位置数据以及其他资源)可取决于一个或多个因素来被选择和/或排定优先级。可领会,来自多个资源的位置数据可被同时利用。还可领会,设备可被配置成对不同类型的位置数据排定优先级,以使得第一资源的位置数据可在第二资源的位置数据之前被利用。在这样的配置中,当第一资源的位置数据不再可用时,第二资源的位置数据可被利用。这些示例是出于解说的目的而被提供的,而并不被解释为限制。
接着,在操作509,一个或多个设备可利用经选择的和/或经排定优先级的位置数据125。在操作509,位置数据125看被任何软件或硬件组件利用。可领会,数据可被本地组件利用,或者经选择的位置数据125可被传达给另一远程计算设备。例如,所选的位置数据125可被传达给远程设备以使能与这样的设备的位置共享。设备的输出数据可包括位置数据125和/或任何其他类型的上下文数据。
接着,在操作511,一个或多个设备可检测变化的场景的存在。如以上所概述的,变化的场景可包括检测到任何事件,诸如硬件或软件组件的变化状态、任何数据的修改、新数据的检测、来自服务的数据的价格变化、用户输入和/或任何其他事件。
例如,设备可被配置成从电池电源或外部电源(诸如AC插座)操作。在该非限制示例中,变化的场景可包括从电池电源到外部电源的转变。操作511可包括检测到任何类型的事件,诸如本文中描述的示例。
在操作511,如果一个或多个设备没有检测到变化的场景,则例程500可返回到操作509,在操作509,一个或多个设备继续利用经选择的和/或经排定优先级的位置数据。然而,在操作511,如果一个或多个设备检测到变化的场景,则例程500可返回到操作507,在操作507,一个或多个设备可利用任何经更新的上下文数据来选择来自一个或多个资源的位置数据125和/或对其排定优先级。
图6示出了能够执行上述用于为计算设备提供上下文知晓的位置共享服务的程序组件的计算机(诸如计算设备101(图1))的示例计算机体系结构600的附加细节。由此,图6所示的计算机体系结构600解说了服务器计算机、移动电话、PDA、智能电话、台式计算机、上网本计算机、平板计算机、膝上型计算机、伴随设备(例如,智能手表)和非消费者设备(例如,汽车中的远程信息处理设备)等的体系结构。计算机体系结构600可用于执行本文所呈现的软件组件的任何方面。
图6所示的计算机体系结构600包括中央处理单元602(“CPU”)、包括随机存取存储器606(“RAM”)和只读存储器(“ROM”)608的系统存储器604、以及将存储器604耦合至CPU602的系统总线610。基本输入/输出系统被存储在ROM608中,该系统包含帮助诸如在启动期间在计算机体系结构600中的各元件之间传输信息的基本例程。计算机体系结构600还包括用于存储操作系统607和其他数据(诸如,上下文数据630)的大容量存储设备612。
大容量存储设备612通过连接至总线610的大容量存储控制器(未示出)连接至CPU602。大容量存储设备612及其相关联的计算机可读介质为计算机体系结构600提供非易失性存储。虽然对此处包含的计算机可读介质的描述引用了诸如固态驱动器、硬盘或CD-ROM驱动器之类的大容量存储设备,但是本领域的技术人员应该明白,计算机可读介质可以是可由计算机体系结构600访问的任何可用计算机存储介质或通信介质。
通信介质包括诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其他数据,且包含任何传递介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述的任意组合也应包括在计算机可读介质的范围之内。
作为示例而非限制,计算机存储介质可包括以用于储存诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。例如,计算机介质包括但不限于,RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(“DVD”)、HD-DVD、蓝光(BLU-RAY)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机体系结构600访问的任何其他介质。为了权利要求书的目的,短语“计算机存储介质”、“计算机可读存储介质”及其变型不包括波、信号和/或其他瞬态和/或无形通信介质本身。
根据各配置,计算机体系结构600可以使用通过网络656和/或另一网络(未示出)的到远程计算机的逻辑连接来在联网环境中操作。计算机体系结构600可以通过连接至总线614的网络接口单元610来连接到网络656。应当理解,网络接口单元614还可以被用来连接到其他类型的网络和远程计算机系统。计算机体系结构600还可包括用于接收和处理来自多个其他设备的输入的输入/输出控制器616,这些设备包括键盘、鼠标、或电子指示笔(在图6中未示出)。类似地,输入/输出控制器616可向显示屏、打印机、或者其他类型的输出设备(在图6中也未示出)提供输出。
应当理解,本文所描述的软件组件在被加载到CPU 602中并被执行时可以将CPU602和总体计算机体系结构600从通用计算系统变换成为被定制为促进本文提出的功能的专用计算系统。CPU 602可以用任意数量的晶体管或其他分立的电路元件(它们可以分别地或共同地呈现任意数量的状态)来构建。更具体而言,CPU 602可响应于被包含在本文所公开的软件模块中的可执行指令而作为有限状态机来操作。这些计算机可执行指令可以通过指定CPU 602如何在各状态之间转换来变换CPU 602,由此变换了构成CPU 602的晶体管或其他分立硬件元件。
对本文所提出的软件模块的编码也可变换本文所提出的计算机可读介质的物理结构。在本说明书的不同实现中,物理结构的具体变换可取决于各种因素。这样的因素的示例可以包括,但不仅限于:用于实现计算机可读介质的技术、计算机可读介质被表征为主存储器还是辅存储器等等。例如,如果计算机可读介质被实现为基于半导体的存储器,则本文所公开的软件可以通过变换半导体存储器的物理状态而在计算机可读介质上编码。例如,软件可以变换构成半导体存储器的晶体管、电容器或其他分立电路元件的状态。软件还可变换这些组件的物理状态以在其上存储数据。
作为另一示例,本文所公开的计算机可读介质可以使用磁或光技术来实现。在这些实现中,本文所提出的软件可以在磁或光介质中编码了软件时变换所述磁或光介质的物理状态。这些变换可以包括改变给定磁性介质内的特定位置的磁性。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在没有偏离本说明书的范围和精神的情况下,物理介质的其他变换也是可以的,前面提供的示例只是为了便于此讨论。
鉴于以上内容,应当理解,在计算机体系结构600中发生许多类型的物理变换以便存储并执行本文所提出的软件组件。还应当理解,计算机体系结构600可包括其它类型的计算设备,包括手持式计算机、嵌入式计算机系统、个人数字助理、以及本领域技术人员已知的其它类型的计算设备。还可构想计算机体系结构600可以不包括图6所示的全部组件、可包括在图6中未明确地示出的其他组件、或者可利用完全不同于图6所示的体系结构。
图7描绘能够执行本文所描述的用于提供为计算设备提供上下文知晓的位置共享服务以及其他方面的软件组件的说明性分布式计算环境700。这样,图7中所示的分布式计算环境700可用于执行本文所呈现的软件组件的任何方面。例如,分布式计算环境700可被用来执行本文中所公开的各技术的各方面。
根据各种实现,分布式计算环境700包括在网络704上操作、与该网络通信、或者作为该网络的一部分的计算环境702。网络704可以是或可以包括网络656,如上参考图6所述的。网络704还可包括各种接入网络。一个或多个客户端设备706A-706N(在下文中统称和/或通称为“客户端706”)可经由网络704和/或其他连接(在图7中未示出)与计算环境702通信。在一些配置中,客户端706可按与图1中的客户端108相似的方式来配置。在一个所示的配置中,客户端706包括:诸如膝上型计算机、台式计算机、或其他计算设备之类的计算设备706A;板式或平板计算设备(“平板计算设备”)706B;诸如移动电话、智能电话、或其他移动计算设备之类的移动计算设备706C;服务器计算机706D;和/或其他设备706N。应当理解,任意数量的客户端706可与计算环境702通信。在本文中参考图6和8示出并描述客户端706的两个示例计算体系结构。应当理解,所示客户端706以及本文中示出和描述的计算体系结构是说明性的,并且不应被解释为以任何方式进行限制。
在所示的配置中,计算环境702包括应用服务器708、数据存储710、以及一个或多个网络接口712。根据各种实现,应用服务器708的功能可由作为网络704一部分执行或者与该网络通信的一个或多个服务器计算机提供。应用服务器708可主存各种服务、虚拟机、门户、和/或其他资源。在所示的配置中,应用服务器708主存一个或多个虚拟机714以供主存应用或其他功能。根据各个实现,虚拟机714主存用于为计算设备提供上下文知晓的位置共享服务的一个或多个应用和/或软件模块。应当理解,该配置是说明性的,并且不应被解释为以任何方式进行限制。应用服务器708还主存或提供对一个或多个门户、链接页面、Web站点、和/或其他信息(“Web门户”)716的访问。
根据各种实现,应用服务器708还包括一个或多个邮箱服务718以及一个或多个消息收发服务720。邮箱服务718可包括电子邮件(“email”)服务。邮箱服务718还可包括各种个人信息管理(“PIM”)服务,包括但不限于日历服务、联系人管理服务、协作服务、和/或其他服务。消息收发服务720可包括但不限于即时消息收发服务、聊天服务、论坛服务、和/或其他通信服务。
应用服务器708还可包括一个或多个社交网络服务722。社交网络服务722可包括各种社交网络服务,包括但不限于用于共享或张贴状态更新、即时消息、链接、照片、视频、和/或其他信息的服务,用于评论或显示对文章、产品、博客、或其他资源的兴趣的服务,和/或其他服务。在一些配置中,社交网络服务722可包括脸谱(FACEBOOK)社交网络服务、LINKEDIN专业人士网络服务、MYSPACE社交网络服务、FOURSQUARE地理网络服务、YAMMER办公同事网络服务等,或者可由这些服务提供。在其他配置中,社交网络服务722可由其他服务、站点、和/或可明确或可不明确地称为社交网络供应商的供应商提供。例如,一些网站允许用户在各种活动和/或上下文(诸如阅读已发表的文章、评论商品或服务、发表、协作、游戏等)期间经由电子邮件、聊天服务、和/或其他手段彼此交互。这些服务的示例包括但不限于来自美国华盛顿州雷蒙德市微软公司的WINDOWS LIVE服务和XBOX LIVE服务。其他服务也是可能的且是可构想的。
社交网络服务722还可以包括评论、博客、和/或微博服务。这种服务的示例包括但不限于YELP评论服务、KUDZU审阅服务、OFFICETALK企业微博服务、TWITTER消息收发服务、GOOGLE BUZZ服务、和/或其他服务。应当理解,以上服务列表并非穷尽性的,并且为了简洁起见在本文中未提及多种附加和/或替换社交网络服务722。由此,以上配置是说明性的,并且不应被解释为以任何方式进行限制。根据各个实现,社交网络服务722可以主存用于提供本文中描述的用于为计算设备提供上下文知晓的位置共享服务的功能的一个或多个应用和/或软件模块。例如,应用服务器708的任何一个可以传送或促进在此所述的功能和特征。例如,在电话或任何其它客户端706上运行的社交网络应用、消息收发客户端或浏览器可以与联网服务722通信并促进所述功能(即使是部分地),如上参考图5所述。
如图7所示,应用服务器708还可主存其他服务、应用、门户、和/或其他资源(“其他资源”)724。其它资源724可以包括但不限于文档共享、渲染或任何其它功能。由此,可以领会,计算环境702可提供本文中所公开的技术与各种邮箱、消息收发、社交网络、和/或其他服务或资源的整合。
如以上所提及的,计算环境702可包括数据存储710。根据各种实现,数据存储710的功能由在网络704上操作的或者与该网络通信的一个或多个数据库提供。数据存储710的功能也可由被配置成主存用于计算环境702的数据的一个或多个服务器计算机提供。数据存储710可以包括、主存或提供一个或多个实际或虚拟数据存储726A-726N(下文统称和/或一般地称为“数据存储726”)。数据存储726被配置成主存由应用服务器708使用或创建的数据和/或其他数据。尽管在图7中未示出,但数据存储726还可以主存或存储web页面文档、word文档、演示文档、数据结构、供推荐引擎执行的算法和/或由任何应用程序或另一个模块(例如内容管理器105)利用的其它数据。数据存储726的各方面可以与存储文件的服务相关联。
计算环境702可与网络接口712通信或由该网络接口访问。网络接口712可包括各种类型的网络硬件和软件,以支持包括但不限于客户端706和应用服务器708的两个或更多个计算设备之间的通信。应当理解,网络接口712还可用于连接到其他类型的网络和计算机系统。
应当理解,本文中所描述的分布式计算环境700可向本文中所描述的软件元件的任何方面提供可被配置成执行本文中所公开的软件组件的任何方面的任意数量的虚拟计算资源和/或其他分布式计算功能。根据本文中所公开的技术的各种实现,分布式计算环境700向客户端706提供本文中所描述的软件功能作为服务。应当理解,客户端706可包括实际或虚拟机,包括但不限于服务器计算机、web服务器、个人计算机、移动计算设备、智能电话、和/或其他设备。如此,本文公开的技术的各个配置使得被配置成访问分布式计算环境700的任何设备能够利用本文中所述的用于为计算设备提供上下文知晓的位置共享服务的功能以及其它方面。在一个具体示例中,如上文概述的,本文中所描述的技术可以至少部分由图6的操作系统607来实现,所述操作系统607与图7的应用服务器708协同工作。
现在转到图8,能够执行本文所述的用于为计算设备提供上下文知晓的位置共享服务的各个软件组件的计算设备的一说明性计算设备体系结构800。计算设备体系结构800可适用于部分地由于形状因子、无线连接、和/或电池供电操作而便于移动计算的计算设备。在一些配置中,计算设备包括但不限于移动电话、平板设备、板状设备、便携式视频游戏设备等。计算设备体系结构800可用于图8所示的客户端806中的任一个。此外,计算设备体系结构800的多个方面可适用于传统的台式计算机、便携式计算机(例如,膝上型计算机、笔记本计算机、超便携计算机、以及上网本计算机)、服务器计算机、以及诸如本文中所描述的那些计算机系统。例如,本文中在以下所公开的单点触摸和多点触摸方面可应用于使用触摸屏或一些其他启用触摸的设备(诸如启用触摸的跟踪板或者启用触摸的鼠标)的台式计算机。
图8所示的计算设备体系结构800包括处理器802、存储器组件804、网络连接组件806、传感器组件808、输入/输出组件810、以及电源组件812。在所示的配置中,处理器802与存储器组件804、网络连接组件806、传感器组件808、输入/输出(“I/O”)组件810、以及电源组件812通信。虽然在图8所示的单独的组件之间未示出连接,但是这些组件可交互以实现设备功能。在一些配置中,这些组件被安排成经由一条或多条总线(未示出)通信。
处理器802包括中央处理单元(“CPU”),中央处理单元被配置成处理数据、执行一个或多个应用程序的计算机可执行指令并且与计算设备体系体系结构800的其他组件通信以执行本文所述的多个功能。处理器802可用于执行本文中所描述的软件组件的多个方面,特别是至少部分地使用启用触摸的输入的那些方面。
在一些配置中,处理器802包括被配置成加速由CPU执行的操作的图形处理单元(“GPU”),包括但不限于通过执行通用科学和/或工程计算应用以及图形密集的计算应用(诸如高分辨率视频(例如720P、1080P以及更高分辨率)、视频游戏、三维(“3D”)建模应用)等等而执行的操作。在一些配置中,处理器802被配置成与分立的GPU(未示出)通信。在任一情况下,CPU和GPU可根据共同处理CPU/GPU计算模型来配置,其中应用的顺序部分在CPU上执行而计算密集部分由GPU加速。
在一些配置中,处理器802连同在下文中所描述的其他组件中的一个或多个为片上系统(“SoC”)或者包括在该SoC中。例如,Soc可包括处理器802、GPU、网络连接组件806中的一个或多个、以及传感器组件808中的一个或多个。在一些配置中,可部分地使用层叠封装(“PoP”)集成电路封装技术来制造处理器802。处理器802可以是单核或多核处理器。
处理器802可根据可从英国剑桥市ARM HOLDINGS许可购得的ARM体系结构来创建。替换地,处理器802可根据诸如可从美国加利福尼亚州芒廷维尤市英特尔公司购得的x86体系结构以及其他体系结构来创建。在一些配置中,处理器802是可从美国加利福尼亚州圣地亚哥市高通公司购得的SNAPDRAGON SoC、可从美国加利福尼亚州圣巴巴拉市的NVIDIA购得的TEGRASoC、可从韩国首尔市三星公司购得的HUMMINGBIRD SoC、可从美国德克萨斯州达拉斯市德州仪器公司购得的开放式多媒体应用平台(“OMAP”)SoC、以上SoC中的任一个的定制版、或者专有SoC。
存储器组件804包括随机存取存储器(“RAM”)814、只读存储器(“ROM”)816、集成存储器(“集成存储”)818、以及可移动存储存储器(“可移动存储”)820。在一些配置中,RAM814或其一部分、ROM 816或其一部分、和/或RAM 814和ROM 816的某一组合可集成在处理器802中。在一些配置中,ROM 816被配置成存储固件、操作系统或其一部分(例如,操作系统内核)、和/或从集成存储818或可移动存储820加载操作系统内核的引导加载器(bootloader)。
集成存储818可包括固态存储器、硬盘、或者固态存储器和硬盘的组合。集成存储818可焊接或以其他方式连接到逻辑板,该逻辑板还可连接有处理器802以及本文中所描述的其他组件。由此,集成存储818集成在计算设备中。集成存储818被配置成存储操作系统或其多个部分、应用程序、数据、以及本文中所描述的其他软件组件。
可移动存储820可包括固态存储器、硬盘、或者固态存储器和硬盘的组合。在一些配置中,提供可移动存储820来代替集成存储818。在其他配置中,提供可移动存储820作为附加的任选存储。在一些配置中,可移动存储820在逻辑上与集成存储818组合,以使全部可用的存储变得可用作为总组合存储容量。在一些配置中,集成存储818和可移动存储820的总组合容量取代集成存储818和可移动存储820的分开的存储容量被示出给用户。
可移动存储820被配置成插入通过其插入和紧固可移动存储820以便于连接的可移动存储存储器槽(未示出)或其他机构,通过该连接可移动存储820可与诸如处理器802之类的计算设备其他组件通信。可移动存储820可以具体化为各种存储器卡格式,包括但不限于PC卡、CompactFlash卡、存储器棒、安全数字(“SD”)、小型SD(miniSD)、微型SD(microSD)、通用集成电路卡(“UICC”)(例如,订户身份模块(“SIM”)或通用SIM(“USIM”))、专用格式等。
可以理解,存储器组件804的一个或多个可存储操作系统。根据各个配置,操作系统包括但不限于来自美国华盛顿州雷蒙德市的微软公司的WINDOWS MOBILE OS、来自微软公司的WINDOWS PHONE OS、来自微软公司的WINDOWS、来自美国加利福尼亚州帕洛阿尔托市惠普(Hewlett-Packard)公司的PALM WEBOS、来自加拿大安大略省沃特卢市的运动研究有限公司(Research IN Motion Limited)的BLACKBERRY OS、来自美国加利福尼亚州库珀蒂诺市苹果公司的IOS、以及来自美国加利福尼亚州芒廷维尤市谷歌公司的ANDROID OS。构想了其它操作系统。
网络连接组件806包括无线广域网组件(“WWAN组件”)822、无线局域网组件(“WLAN组件”)824、以及无线个域网组件(“WPAN组件”)826。网络连接组件806促成与网络856或另一网络的往返通信,该网络可以是WWAN、WLAN、或WPAN。虽然仅示出网络856,但是网络连接组件806可促成与多个网络(包括图7的网络704)的同时通信。例如,网络连接组件806可促成经由WWAN、WLAN、或WPAN中的一个或多个与多个网络的同时通信。
网络856可以是或可以包括WWAN,诸如利用一种或多种移动电信技术来经由WWAN组件822向利用计算设备体系结构800的计算设备提供语音和/或数据服务的移动电信网络。移动电信技术可包括但不限于全球移动通信系统(“GSM”)、码分多址(“CDMA”)系统、CDMA7000、通用移动电信系统(“UMTS”)、长期演进(“LTE”)、以及微波接入全球互通(“WiMax)。”此外,网络856可使用各种信道接入方法(它们可被或可不被上述标准使用),这些信道接入方法包括但不限于时分多址(“TDMA”)、频分多址(“FDMA”)、CDMA、宽带CDMA(“W-CDMA”)、正交频分多路复用(“OFDM”)、空分多址(“SDMA”)等。可使用通用分组无线电业务(“GPRS”)、全球演进的增强型数据速率(“EDGE”)、包括高速下行链路分组接入(“HSDPA”)、增强型上行链路(“EUL”)或者称为高速上行链路分组接入(“HSUPA”)的高速分组接入(“HSPA”)协议系列、演进HSPA(“HSPA+”)、LTE、以及各种其他当前和未来的无线数据接入标准来提供数据通信。网络856可被配置成通过以上技术的任意组合提供语音和/或数据通信。网络856可被配置成调适成根据未来的生成技术提供语音和/或数据通信。
在一些配置中,WWAN组件822被配置成提供到网络856的双模-多模连接。例如,WWAN组件822可被配置成提供到网络856的连接,其中网络856经由GSM和UMTS技术、或者经由技术的一些其他组合提供服务。替换地,多个WWAN组件822可用于执行这种功能和/或提供附加功能以支持其他非兼容技术(即,无法被单个WWAN组件支持)。WWAN组件822可便于与多个网络(例如,UMTS网络和LTE网络)的类似连接。
网络856可以是根据一个或多个电气和电子工程师学会(“IEEE”)802.11标准(诸如IEEE 802.11a、802.11b、802.11g、802.11n、和/或未来的802.11标准(在此被称为WI-FI))而操作的WLAN。还可构想802.11标准草案。在一些配置中,使用一个或多个无线WI-FI接入点来实现WLAN。在一些配置中,用作WI-FI热点的一个或多个无线WI-FI接入点是与WWAN连接的另一计算设备。WLAN组件824被配置成经由WI-FI接入点连接到网络856。可经由加密技术来确保这些连接,这些加密技术包括但不限于WI-FI保护接入(“WPA”)、WPA2、有线等效加密(“WEP)等。”
网络856可以是根据红外数据协会(“IrDA”)、BLUETOOTH、无线通用串行总线(“USB”)、Z-波、ZIGBEE、或者一些其他近程无线技术操作的WPAN。在一些配置中,WPAN组件826被配置成便于经由WPAN与诸如外围设备、计算机、或者其他计算设备之类的其他设备的通信。
传感器组件808包括磁力计828、环境光传感器830、邻近度传感器832、加速度计834、陀螺仪836、以及全球定位系统传感器(“GPS传感器”)838。可构想其他传感器(诸如但不限于温度传感器或震动检测传感器)也可结合到计算设备体系结构800中。
磁力计828被配置成测量磁场的强度和方向。在一些配置中,磁力计828提供对存储在存储器组件804之一内的罗盘应用程序的测量以向用户提供包括基本方向即北、南、东和西的基准帧中的准确方向。可将类似的测量值提供给包括罗盘组件的导航应用程序。可构想磁力计828所获取的测量值的其他用途。
环境光传感器830被配置成测量环境光。在一些配置中,环境光传感器830提供对存储在一个存储器组件804内的应用程序的测量,从而自动地调整显示器的亮度(在下文中描述)以补偿低光和高光环境。可构想环境光传感器830所获取的测量值的其他用途。
邻近度传感器832被配置成检测邻近计算设备而不直接接触的对象或物体的存在。在一些配置中,邻近度传感器832检测用户身体(例如,用户的脸部)的存在性,并且将该信息提供给存储在存储器组件804之一内的应用程序,该存储器组件使用邻近度信息来启用或禁用计算设备的一些功能。例如,电话应用程序可响应于接收到邻近信息自动地禁用触摸屏(在下文中描述),以使用户的脸部在呼叫期间不会无意地结束呼叫或者启用/禁用电话应用程序内的其他功能。可构想如邻近度传感器832检测到的接近度的其他用途。
加速度计834被配置成测量准确的加速。在一些配置中,来自加速度计834的输出被应用程序用作为输入机制以控制应用程序的一些功能。例如,应用程序可以是视频游戏,其中响应于经由加速度计834接收到的输入移动或以其他方式操纵字符、其一部分、或者对象。在一些配置中,将来自加速度计834的输出被提供给应用程序以供在横向和纵向模式之间切换时使用,从而计算坐标加速度或检测下降。可构想加速度计834的其他用途。
陀螺仪836被配置成测量和维持定向。在一些配置中,来自陀螺仪836的输出被应用程序作为输入机制以控制应用程序的一些功能。例如,陀螺仪836可用于准确地识别在视频游戏应用或一些其他应用的3D环境内的移动。在一些配置中,应用程序使用来自陀螺仪836和加速度计834的输出来增强对应用程序的一些功能的控制。可构想陀螺仪836的其他用途。
GPS传感器838被配置成接收来自GPS卫星的信号,以供在计算位置时使用。GPS传感器838计算的位置可被需要位置信息或者受益于该位置信息的任何应用程序使用。例如,GPS传感器838计算的位置可与导航应用程序一起使用,以提供从该位置到目的地的方向、或者从目的地到该位置的方向。此外,GPS传感器838可用于将位置信息提供给基于外部位置的服务,诸如E911服务。GPS传感器838可使用网络连接组件806中的一个或多个辅助GPS传感器838来获取经由WI-FI、WIMAX、和/或蜂窝三角测量技术而生成的位置信息以帮助获取位置确定。GPS传感器838还可用于辅助GPS(“A-GPS”)系统中。
I/O组件810包括显示器840、触摸屏842、数据I/O接口组件(“数据I/O”)844、音频I/O接口组件(“音频I/O”)846、视频I/O接口组件(“视频I/O”)848、以及相机850。在一些配置中,显示器840和触摸屏842组合。在一些配置中,数据I/O组件844、音频I/O组件846、以及视频I/O组件848中的两个或更多个被组合。I/O组件810可包括被配置成支持在下文中所描述的各种接口的分立处理器,或者可包括构建到处理器802中的处理功能。
显示器840是被配置成呈现视觉形式的信息的输出设备。具体而言,显示器840可呈现图形用户界面(“GUI”)元素、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息收发数据、因特网内容、设备状态、时间、日期、日历数据、偏好、地图信息、位置信息、以及能够以视觉形式呈现的任何其他信息。在一些配置中,显示器840是利用任何有源或无源矩阵技术以及任何背光技术(如果使用的话)的液晶显示器件(“LCD”)。在一些配置中,显示器840是有机发光二极管(“OLED”)显示器。可构想其他显示器类型。
触摸屏842(在本文中也被称为“启用触摸的屏幕”)是被配置成检测触摸的存在和位置的输入设备。触摸屏842可以是电阻触摸屏、电容触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、色散信号触摸屏、声音脉冲识别触摸屏,或者可使用任何其他触摸屏技术。在一些配置中,触摸屏842结合到显示器840的顶部作为透明层,以使用户能够使用一个或多个触摸与显示器840上所呈现的对象或其他信息交互。在其他配置中,触摸屏842是结合到不包括显示器840的计算设备的表面上的触摸垫。例如,计算设备可具有结合到显示器840的顶部的触摸屏以及与显示器840相对的表面上的触摸垫。
在一些配置中,触摸屏842是单点触摸触摸屏。在其他配置中,触摸屏842是多点触摸触摸屏。在一些配置中,触摸屏842被配置成检测分立触摸、单点触摸姿势、和/或多点触摸姿势。为了方便起见,这些在此处被统称为手势。现在将描述若干手势。应当理解,这些手势是说明性的,并且不旨在限制所附权利要求书的范围。此外,所描述的姿势、附加姿势、和/或替换姿势可在软件中实现以与触摸屏842一起使用。由此,开发者可创建特定应用程序专用的手势。
在一些配置中,触摸屏842支持轻叩姿势,在该轻叩姿势中,用户在显示器842上所呈现的项目上轻叩触摸屏840一次。出于各种原因,可使用轻叩姿势,这些原因包括但不限于打开或启动用户叩击的任何事物。在一些配置中,触摸屏842支持双轻叩姿势,在该双轻叩姿势中,用户在显示器840上所呈现的项目上轻叩触摸屏842两次。出于各种原因,可使用双轻叩姿势,这些原因包括但不限于分多级放大或缩小。在一些配置中,触摸屏842支持轻叩和保持手势,在该轻叩和保持手势中,用户轻叩触摸屏842并维持接触达至少预定义时间。出于各种原因,可使用轻叩并保持手势,这些原因包括但不限于打开上下文特定的菜单。
在一些配置中,触摸屏842支持平移姿势,在该平移姿势中,用户将手指放置在触摸屏842上并维持与触摸屏842的接触同时在触摸屏842上移动手指。出于各种原因,可使用平移手势,这些原因包括但不限于以受控速率移动通过屏幕、图像、或菜单。还可构想多手指平移手势。在一些配置中,触摸屏842支持轻拂姿势,在该轻拂姿势中,用户在用户想要屏幕移动的方向上划动(swipe)手指。出于各种原因,可使用轻拂手势,这些原因包括但不限于水平或垂直滚动通过菜单和页面。在一些配置中,触摸屏842支持收窄和张开姿势,在窄和张开姿势中,用户在触摸屏842上用两个手指(例如,拇指和食指)进行收窄运动或者将两个手指张开。出于各种原因,可使用捏合和张开手势,这些原因包括但不限于逐步地放大或缩小网站、地图、或图片。
虽然已参考将一个或多个手指用于执行姿势来描述了以上姿势,但是诸如脚趾之类的其他附属体以及诸如指示笔之类的物体可用于与触摸屏842交互。如此,以上手势应当被理解为说明性的,并且不应被解释为以任何方式进行限制。
数据I/O接口组件844被配置成便于数据输入到计算设备以及从计算设备输出数据。在一些配置中,例如出于同步操作的目的,数据I/O接口组件844包括被配置成提供计算设备和计算机系统之间的有线连接的连接器。连接器可以是专有连接器或标准化连接器,诸如USB、微型USB、小型USB等。在一些配置中,连接器是用于将计算设备与诸如对接站、音频设备(例如,数字音乐播放器)、或视频设备之类的另一设备对接的对接连接器。
音频I/O接口组件846被配置成向计算设备提供音频输入和/或输出能力。在一些配置中,音频I/O接口组件846包括被配置成收集音频信号的话筒。在一些配置中,音频I/O接口组件846包括被配置成向耳机或其他外部扬声器提供连接的耳机插孔。在一些配置中,音频I/O接口组件846包括用于输出音频信号的扬声器。在一些配置中,音频I/O接口组件846包括光学音频电缆输出。
视频I/O接口组件848被配置成向计算设备提供视频输入和/或输出能力。在一些配置中,视频I/O接口组件848包括被配置成接收来自另一设备(例如,诸如DVD或蓝光播放器之类的视频媒体播放器)的视频作为输入或者将视频作为输出发送到另一设备(例如,监视器、电视、或者一些其他外部显示器)的视频连接器。在一些配置中,视频I/O接口组件848包括高清晰度多媒体接口(“HDMI”)、小型HDMI、微型HDMI、显示器端口、或者到输入/输出视频内容的专有连接器。在一些配置中,视频I/O接口组件848或其一部分与音频I/O接口组件846或其一部分组合。
相机850可被配置成捕捉静止图像和/或视频。相机850可使用电荷耦合设备(“CCD”)或互补金属氧化物半导体(“CMOS”)图像传感器来捕捉图像。在一些配置中,相机850包括在低光环境中辅助拍摄图片的闪光灯。相机850的设置可被实现为硬件或软件按钮。
虽然未示出,但是还可在计算设备体系结构800中包括一个或多个硬件按钮。硬件按钮可用于控制计算设备的一些操作方面。硬件按钮可以是专用按钮或多用途按钮。硬件按钮可以是基于机械或传感器的。
所示的电源组件812包括可连接到电池量表(gauge)854的一个或多个电池852。电池852可以是再充电的或者一次性的。再充电的电池类型包括但不限于锂聚合物、锂电池、镍镉、以及镍金属氢化物。每一电池852可由一个或多个电池单元制成。
电池量表854可被配置成测量电池参数,诸如电流、电压、以及温度。在一些配置中,电池量表854被配置成测量电池的放电速率、温度、使用年限、以及其他因素的影响以在特定百分比误差内预测剩余寿命。在一些配置中,电池量表854向应用程序提供测量值,该应用程序被配置成使用这些测量值将有用的功率管理数据呈现给用户。功率管理数据可包括所使用电池的百分比、剩余电池的百分比、电池状况、剩余时间、剩余电容量(例如,瓦时)、电流消耗、以及电压中的一个或多个。
电源组件812还可包括功率连接器,该功率连接器可与上述I/O组件810中的一个或多个组合。电源组件812可经由功率I/O组件与外部功率系统或充电装备对接。
可鉴于以下条款来考虑本文提出的公开。
条款A:一种计算设备,包括:处理器;其上存储有计算机可执行指令的存储器,所述计算机可执行指令在由所述处理器执行时,使得第一计算设备从被个体地配置成提供位置数据的多个资源处接收上下文数据,所述上下文数据包括指示与所述位置数据相关联的资源水平的资源数据;至少部分地基于指示与所述位置数据相关联的资源水平的资源数据来选择所述多个资源中的一个或多个资源;以及至少部分地基于由所述一个或多个资源提供的位置数据来确定所述计算设备的位置。
条款B:一种计算设备,包括:处理器;其上存储有计算机可执行指令的存储器,所述计算机可执行指令在由所述处理器执行时,使得第一计算设备从被个体地配置成提供位置数据的多个资源处接收上下文数据,所述上下文数据包括指示与所述位置数据相关联的资源水平的资源数据,所述上下文数据包括指示与所述位置数据相关联的准确性水平的准确性数据;至少部分地基于所述准确性数据以及所述资源数据来选择所述多个资源中的一个或多个资源;以及,至少部分地基于由所述一个或多个资源提供的位置数据来确定所述计算设备的位置。
条款C:一种计算机实现的方法,包括:在第一设备处检测第二设备的存在;在所述第一设备处验证对发起所述第一设备和所述第二设备之间的通信的授权;从所述第一设备发送上下文数据,所述上下文数据包括指示与定义所述第一设备的位置的位置数据相关联的准确性水平的准确性数据,所述上下文数据进一步包括指示与所述位置数据相关联的资源水平的资源数据;接收对所述位置数据的请求;以及向所述第二设备发送所述位置数据。
条款D:一种计算机实现的方法,包括:在第一设备处检测第二设备的存在;在所述第一设备处验证对发起所述第一设备和所述第二设备之间的通信的授权;在所述第一设备处接收来自搜索第二设备的上下文数据,所述上下文数据包括指示与定义所述第二设备的位置的共享位置数据相关联的准确性水平的准确性数据,所述上下文数据进一步包括指示与所述共享位置数据相关联的资源水平的资源数据;至少部分地基于所述准确性数据以及所述资源数据来选择所述共享位置数据或由所述第一设备的组件提供的组件位置数据;如果所述组件位置数据被选择,则至少部分地基于由所述第一设备的所述组件提供的所述组件位置数据来确定所述第一设备的位置;以及如果所述共享位置数据被选择,则在所述第一设备处接收来自所述第二计算设备的所述共享位置数据,并至少部分地基于定义所述第二设备的位置的共享位置数据来确定所述第一设备的位置。
条款E:如条款D所述的方法,进一步包括:至少部分地基于所述准确性数据或所述资源数据来生成指示定义所述第二设备的位置的共享位置数据和由所述第一设备的所述组件提供的所述组件位置数据的选择次序的选择数据;检测标识变化场景的数据;以及,至少部分地基于标识所述变化场景的数据来修改所述选择数据的所述选择次序,其中所述共享位置数据或所述组件位置数据是至少部分地基于所述选择次序来选择的。
条款F:如条款D和E所述的方法,其中所述第一设备被配置成在电池电源或外部电源上操作,其中标识所述变化场景的数据指示所述第一设备从所述电池电源到所述外部电源的转变或者所述第一设备从所述外部电源到所述电池电源的转变,并且其中所述选择次序是至少部分地基于标识所述变化场景的数据来修改的。
条款G:如条款D-E所述的方法,进一步包括获得指示与提供所述共享位置数据的服务相关联的系统数据的新鲜度水平的新鲜度数据,其中所述共享位置数据或由所述第一设备的组件提供的所述组件位置数据是至少部分地基于系统数据的新鲜度水平来选择的。
条款H:如条款D-G所述的方法,进一步包括获得指示所述共享位置数据的新鲜度水平的新鲜度数据,其中所述共享位置数据或由所述第一设备的组件提供的所述组件位置数据是至少部分地基于所述共享位置数据的新鲜度水平来选择的。
条款I:如条款D-H所述的方法,进一步包括获得指示所述第一设备的移动的移动数据,其中所述共享位置数据或由所述第一设备的组件提供的所述组件位置数据是至少部分地基于指示所述第一设备的移动的移动数据来选择的。
条款J:如条款D-I所述的方法,进一步包括获得指示所述第一设备正移动的速率的移动数据,其中所述共享位置数据或由所述第一设备的组件提供的所述组件位置数据是至少部分地基于指示所述第一设备正移动的速率的移动数据来选择的。
条款K:如条款D-J所述的方法,进一步包括接收包括指示与由服务提供的系统数据相关联的费用的状态数据的上下文数据,其中所述共享位置数据或由所述第一设备的组件提供的所述组件位置数据是至少部分地基于与所述系统数据相关联的费用来选择的。
条款L:一种第一设备,包括:处理器;以及其上存储有计算机可执行指令的存储器,所述计算机可执行指令在由所述处理器执行时,使得所述第一计算设备接收上下文数据,所述上下文数据包括指示定义第二设备的位置的位置数据的准确性水平的准确性数据,所述上下文数据包括指示与所述位置数据相关联的资源水平的资源数据;至少部分地基于所述上下文数据来确定所述第一设备是否将利用所述位置数据;以及在确定所述第二设备将利用所述第二设备的位置数据的情况下,至少部分地基于定义所述第二设备的位置的位置数据来确定所述第一设备的位置。
条款M:如条款L所述的设备,其中所述计算机可执行指令进一步使得所述第一设备获得指示所述系统数据的新鲜度水平的数据,其中确定所述第一设备是否将利用所述位置数据至少部分地基于指示所述系统数据的新鲜度水平的数据。
条款N:如条款L-M所述的设备,其中所述计算机可执行指令进一步使得所述第一设备获得指示所述位置数据的新鲜度水平的数据,其中确定所述第一设备是否将利用所述位置数据至少部分地基于指示所述位置数据的新鲜度水平的数据。
条款O:如条款L-N所述的设备,其中所述计算机可执行指令进一步使得所述第一设备接收包括指示系统数据是否可用于从服务提供方下载的状态数据的上下文数据,并且其中确定所述第一设备是否将利用所述位置数据至少部分地基于指示所述系统数据可用的状态数据。
条款P:如条款L-O所述的设备,其中所述计算机可执行指令进一步使得所述第一设备接收包括指示从服务提供方可用的系统数据的价格的状态数据的上下文数据,并且其中确定所述第一设备是否将利用所述位置数据至少部分地所述价格。
条款Q:如条款L-P所述的设备,其中所述计算机可执行指令进一步使得所述第一设备:确定所述第一设备是否将与第三设备共享所述位置数据;以及在确定所述第一设备将与所述第三设备共享所述位置数据的情况下,与所述第三设备通信所述位置数据。
条款R:一种计算设备,包括:处理器;以及其上存储有计算机可执行指令的存储器,所述计算机可执行指令在由所述处理器执行时,使得所述计算设备从被个体地配置成提供位置数据的多个资源接收上下文数据,所述上下文数据包括指示与由所述多个资源中的个体资源提供的位置数据相关联的资源水平的资源数据;至少部分地基于指示与所述个体资源的位置数据相关联的资源水平的所述资源数据来选择所述多个资源中的一个或多个资源;以及至少部分地基于由所述一个或多个资源提供的位置数据来确定所述计算设备的位置。
条款S:如条款R所述的设备,其中所述上下文数据包括指示与由所述个体资源提供的位置数据相关联的准确性水平的准确性数据,以及其中所述计算机可执行指令进一步使得所述计算设备生成指示所要求的准确性水平的阈值数据;以及确定所述准确性数据是否满足与所述阈值数据有关的条件,其中在所述准确性数据满足与所述阈值数据有关的条件的情况下,所述一个或多个资源被选择。
条款T:如条款R-S所述的设备,其中对所述一个或多个资源的选择基于指示所述一个或多个资源所使用的系统数据的可用性的上下文数据。
条款U:如条款R-T所述的设备,其中对所述一个或多个资源的选择基于指示与所述一个或多个资源所使用的系统数据相关联的费用的上下文数据。
条款V:如条款R-T所述的设备,其中对所述一个或多个资源的选择基于指示与所述一个或多个资源所提供的位置数据相关联的新鲜度值的上下文数据。
条款W:如条款R-V所述的设备,其中对所述一个或多个资源的选择基于指示所述计算设备的移动速率的上下文数据。
基于上述内容,应当领会,本文已经公开了为计算设备提供上下文知晓的位置共享服务的技术以及其他技术。虽然用计算机结构特征、方法和变换动作、特定计算机器、以及计算机可读介质专用的语言描述了本文中所描述的主题,但是应当理解,所附权利要求书中所定义的本发明不必限于本文中所描述的具体特征、动作、或介质。相反,这些具体特征、动作以及介质是作为实现权利要求的示例形式而公开的。
以上所述的主题仅作为说明提供,并且不应被解释为限制。例如,涉及位置数据的选择或优先级排定的任何示例还可意指对提供位置数据的一个或多个资源(例如,设备和/或组件)的选择或优先级排定。类似地,对提供位置的一个或多个资源的选择还可意指对来自所选资源的位置数据的选择。可对本文中所描述的主题作出各种修改和改变,而不必遵循示出和描述的示例配置和应用且不背离所附权利要求书中所阐述的本发明的真正精神和范围。

Claims (16)

1.一种计算机实现的方法,包括:
在第一设备处检测第二设备的存在;
在所述第一设备处验证对发起所述第一设备和所述第二设备之间的通信的授权;
在所述第一设备处接收来自所述第二设备的数据,所述数据包括指示与定义所述第二设备的位置的共享位置数据相关联的准确性水平的准确性数据,所述数据进一步包括指示与所述共享位置数据相关联的资源水平的资源数据;
至少部分地基于所述准确性数据以及所述资源数据来选择所述共享位置数据或由所述第一设备的组件提供的组件位置数据,所述选择平衡所述准确性水平和所述资源水平以适应所述第一设备所处的场景;
如果所述组件位置数据被选择,则至少部分地基于由所述第一设备的所述组件提供的所述组件位置数据来确定所述第一设备的位置;以及
如果所述共享位置数据被选择,则
在所述第一设备处接收来自所述第二设备的所述共享位置数据,以及
至少部分地基于定义所述第二设备的位置的所述共享位置数据来确定所述第一设备的位置。
2.如权利要求1所述的方法,其特征在于,进一步包括:
至少部分地基于所述准确性数据或所述资源数据来生成指示定义所述第二设备的位置的所述共享位置数据和由所述第一设备的所述组件提供的所述组件位置数据的选择次序的选择数据;
检测标识变化场景的数据;以及
至少部分地基于标识所述变化场景的数据来修改所述选择数据的所述选择次序,其中所述共享位置数据或所述组件位置数据是至少部分地基于所述选择次序来选择的。
3.如权利要求2所述的方法,其特征在于,所述第一设备被配置成在电池电源或外部电源上操作,其中标识所述变化场景的数据指示所述第一设备从所述电池电源到所述外部电源的转变或者所述第一设备从所述外部电源到所述电池电源的转变,并且其中所述选择次序是至少部分地基于标识所述变化场景的数据来修改的。
4.如权利要求1所述的方法,其特征在于,进一步包括:获得指示与提供所述共享位置数据的服务相关联的系统数据的新鲜度水平的新鲜度数据,其中所述共享位置数据或由所述第一设备的组件提供的所述组件位置数据是至少部分地基于系统数据的新鲜度水平来选择的。
5.如权利要求1所述的方法,其特征在于,进一步包括获得指示所述共享位置数据的新鲜度水平的新鲜度数据,其中所述共享位置数据或由所述第一设备的组件提供的所述组件位置数据是至少部分地基于所述共享位置数据的新鲜度水平来选择的。
6.如权利要求1所述的方法,其特征在于,进一步包括获得指示所述第一设备的移动的移动数据,其中所述共享位置数据或由所述第一设备的组件提供的所述组件位置数据是至少部分地基于指示所述第一设备的移动的移动数据来选择的。
7.如权利要求1所述的方法,其特征在于,进一步包括获得指示所述第一设备正移动的速率的移动数据,其中所述共享位置数据或由所述第一设备的组件提供的所述组件位置数据是至少部分地基于指示所述第一设备正移动的速率的移动数据来选择的。
8.如权利要求1所述的方法,其特征在于,进一步包括接收包括指示与由服务提供的系统数据相关联的费用的状态数据的上下文数据,其中所述共享位置数据或由所述第一设备的组件提供的所述组件位置数据是至少部分地基于与所述系统数据相关联的费用来选择的。
9.一种第一设备,包括:
处理器;以及
其上存储有计算机可执行指令的存储器,所述计算机可执行指令在由所述处理器执行时,使得所述第一设备
检测第二设备的存在;
验证对发起所述第一设备和所述第二设备之间的通信的授权;
接收来自所述第二设备的数据,所述数据包括指示与定义所述第二设备的位置的共享位置数据相关联的准确性水平的准确性数据,所述数据进一步包括指示与所述共享位置数据相关联的资源水平的资源数据;
至少部分地基于所述准确性数据以及所述资源数据来选择所述共享位置数据或由所述第一设备的组件提供的组件位置数据,所述选择平衡所述准确性水平和所述资源水平以适应所述第一设备所处的场景;
如果所述组件位置数据被选择,则至少部分地基于由所述第一设备的所述组件提供的所述组件位置数据来确定所述第一设备的位置;以及
如果所述共享位置数据被选择,则
接收来自所述第二设备的所述共享位置数据,以及
至少部分地基于定义所述第二设备的位置的所述共享位置数据来确定所述第一设备的位置。
10.如权利要求9所述的第一设备,其特征在于,所述计算机可执行指令进一步使得所述第一设备获得指示与提供所述共享位置数据的服务相关联的系统数据的新鲜度水平的数据,其中所述共享位置数据或由所述第一设备的组件提供的所述组件位置数据是至少部分地基于所述系统数据的新鲜度水平来选择的。
11.如权利要求9所述的第一设备,其特征在于,所述计算机可执行指令进一步使得所述第一设备获得指示所述共享位置数据的新鲜度水平的数据,其中所述共享位置数据或由所述第一设备的组件提供的所述组件位置数据是至少部分地基于所述共享位置数据的新鲜度水平来选择的。
12.如权利要求9所述的第一设备,其特征在于,所述计算机可执行指令进一步使得所述第一设备接收包括指示系统数据是否可用于从服务提供方下载的状态数据的上下文数据,并且其中所述共享位置数据或由所述第一设备的组件提供的所述组件位置数据是至少部分地基于指示所述系统数据可用的状态数据来选择的。
13.如权利要求9所述的第一设备,其特征在于,所述计算机可执行指令进一步使得所述第一设备接收包括指示从服务提供方可用的系统数据的价格的状态数据的上下文数据,其中所述共享位置数据或由所述第一设备的组件提供的所述组件位置数据是至少部分地基于所述价格来选择的。
14.如权利要求9所述的第一设备,其特征在于,所述计算机可执行指令进一步使得所述第一设备:
确定所述第一设备是否将与第三设备共享所述共享位置数据;以及
在确定所述第一设备将与所述第三设备共享所述共享位置数据的情况下,与所述第三设备通信所述共享位置数据。
15.如权利要求9所述的第一设备,其特征在于,所述计算机可执行指令进一步使得所述第一设备:
生成指示所要求的准确性水平的阈值数据,并且其中所述共享位置数据或由所述第一设备的组件提供的所述组件位置数据是至少部分地基于确定所述准确性数据是否满足与所述阈值数据有关的条件来选择的。
16.如权利要求9所述的第一设备,其特征在于,所述共享位置数据或由所述第一设备的组件提供的所述组件位置数据是至少部分地基于指示所述第一设备的移动速率的上下文数据来选择的。
CN201680056039.2A 2015-09-25 2016-09-11 上下文知晓的位置共享服务 Active CN108141702B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/866,718 2015-09-25
US14/866,718 US10205731B2 (en) 2015-09-25 2015-09-25 Contextually-aware location sharing services
PCT/US2016/051192 WO2017053099A1 (en) 2015-09-25 2016-09-11 Contextually-aware location sharing services

Publications (2)

Publication Number Publication Date
CN108141702A CN108141702A (zh) 2018-06-08
CN108141702B true CN108141702B (zh) 2020-11-10

Family

ID=57113679

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680056039.2A Active CN108141702B (zh) 2015-09-25 2016-09-11 上下文知晓的位置共享服务

Country Status (4)

Country Link
US (1) US10205731B2 (zh)
EP (1) EP3354049B1 (zh)
CN (1) CN108141702B (zh)
WO (1) WO2017053099A1 (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10929642B2 (en) * 2015-12-26 2021-02-23 Intel Corporation Identification of objects for three-dimensional depth imaging
US20170238146A1 (en) * 2016-02-16 2017-08-17 Aisle411, Inc. Systems and Methods for Improving Indoor Position Detection
US9936344B2 (en) * 2016-06-10 2018-04-03 Apple Inc. Managing location sharing requests
US10321406B2 (en) * 2017-02-21 2019-06-11 International Business Machines Corporation Contextually switching from a wireless communication to human body near-field communication for power savings
US10117054B1 (en) * 2017-06-14 2018-10-30 Microsoft Technology Licensing, Llc Undesirable encounter avoidance
WO2019197006A1 (de) * 2018-04-10 2019-10-17 Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. Vorrichtung und verfahren zur effizienten zustandsbestimmung und lokalisierung zwischen mobilen plattformen
US10455351B1 (en) 2018-05-04 2019-10-22 Microsoft Technology Licensing, Llc Sharing geo-located information
FR3081666A1 (fr) * 2018-06-29 2019-11-29 Orange Procede de determination d'une localisation geographique d'un point d'acces d'un reseau d'acces local sans fil
US10779237B2 (en) 2018-10-18 2020-09-15 Microsoft Technology Licensing, Llc Sharing location data to reduce power consumption
US11301762B1 (en) * 2018-11-02 2022-04-12 Amazon Technologies, Inc. High perforamance machine learning inference framework for edge devices
US11097189B2 (en) 2019-07-30 2021-08-24 Electronic Arts Inc. Contextually aware communications system in video games
US11678150B2 (en) 2021-10-04 2023-06-13 International Business Machines Corporation Event-based dynamic prediction in location sharing on mobile devices

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1217792A1 (en) * 2000-12-22 2002-06-26 Microsoft Corporation Context-aware and location-aware cellular phones and methods
CN102362478A (zh) * 2009-03-27 2012-02-22 诺基亚公司 用于提供共享服务的方法和装置

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6975941B1 (en) 2002-04-24 2005-12-13 Chung Lau Method and apparatus for intelligent acquisition of position information
US6505049B1 (en) 2000-06-23 2003-01-07 Motorola, Inc. Method and apparatus in a communication network for facilitating a use of location-based applications
US7027820B2 (en) 2001-01-31 2006-04-11 Hewlett-Packard Development Company, L.P. Location data validation by static entities receiving location data items by short-range communication
JP2002291020A (ja) 2001-03-22 2002-10-04 Nec Corp 位置情報検索方法及び携帯電話システム
US6745253B2 (en) * 2001-03-24 2004-06-01 Hewlett-Packard Development Company, Lp. System and method for locating and using a peripheral device
US6725051B2 (en) 2001-04-30 2004-04-20 Hewlett-Packard Development Company, L.P. Method for obtaining location data
GB0212177D0 (en) 2002-05-27 2002-07-03 Symbian Ltd Location awareness on the Symbian platform
US7310534B2 (en) * 2003-12-16 2007-12-18 Sony Ericsson Mobile Communications Ab Location status indicator for mobile phones
US7548197B2 (en) 2005-06-20 2009-06-16 At&T Intellectual Property I, L.P. GPS parasite system
US20090037529A1 (en) * 2007-07-31 2009-02-05 Samsung Electronics Co., Ltd. Data sharing in a group of peers with limited resources
US8072379B2 (en) 2008-05-12 2011-12-06 Qualcomm Incorporated GPS power savings using low power sensors
US8515445B2 (en) * 2008-11-24 2013-08-20 International Business Machines Corporation Location based services with multiple transmission methods
WO2011109860A1 (en) 2010-03-09 2011-09-15 Commonwealth Scientific And Industrial Research Organisation Method and system for energy-efficient gps localisation
US8396377B2 (en) 2010-07-02 2013-03-12 Xerox Corporation Using multiple inputs from mobile devices to refine printing device location
WO2012061595A1 (en) * 2010-11-03 2012-05-10 Skyhook Wireless Inc. Method of system for increasing the reliability and accuracy of location estimation in a hybrid positioning system
WO2012109446A1 (en) * 2011-02-09 2012-08-16 Andrew, Llc System and method for location boosting using proximity information
GB201107849D0 (en) 2011-05-11 2011-06-22 Cambridge Silicon Radio Ltd Cooperative positioning
US8787944B2 (en) 2011-08-18 2014-07-22 Rivada Research, Llc Method and system for providing enhanced location based information for wireless handsets
US9226110B2 (en) * 2012-03-31 2015-12-29 Groupon, Inc. Method and system for determining location of mobile device
KR102000295B1 (ko) 2012-04-11 2019-10-01 유니버시티 오브 써던 캘리포니아 모바일 애플리케이션에 의해 요청된 서비스를 위한 가장 에너지 효율적인 방법의 실시간 선택
US9225787B2 (en) * 2012-08-02 2015-12-29 Google Inc. Geolocation based resource finder
US9807613B2 (en) 2012-09-06 2017-10-31 Dell Products, Lp Collaborative method and system to improve carrier network policies with context aware radio communication management
US20140179337A1 (en) * 2012-12-21 2014-06-26 Yaron Alpert Systems and methods for selecting an optimal location service
US9838266B2 (en) * 2013-02-15 2017-12-05 Apple Inc. Dynamic device collaboration
US8965348B1 (en) * 2014-06-04 2015-02-24 Grandios Technologies, Llc Sharing mobile applications between callers
US9674653B2 (en) * 2015-03-03 2017-06-06 Facebook, Inc. Techniques to manage client location detection

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1217792A1 (en) * 2000-12-22 2002-06-26 Microsoft Corporation Context-aware and location-aware cellular phones and methods
CN102362478A (zh) * 2009-03-27 2012-02-22 诺基亚公司 用于提供共享服务的方法和装置

Also Published As

Publication number Publication date
US10205731B2 (en) 2019-02-12
CN108141702A (zh) 2018-06-08
EP3354049A1 (en) 2018-08-01
US20170093882A1 (en) 2017-03-30
WO2017053099A1 (en) 2017-03-30
EP3354049B1 (en) 2020-08-05

Similar Documents

Publication Publication Date Title
CN108141702B (zh) 上下文知晓的位置共享服务
US10896284B2 (en) Transforming data to create layouts
US10521251B2 (en) Hosting application experiences within storage service viewers
CN111868750A (zh) 用于减少的网络带宽的内容传输的机器学习系统
US9979732B2 (en) Contextually aware sharing recommendations
US10111620B2 (en) Enhanced motion tracking using transportable inertial sensors to determine that a frame of reference is established
WO2014026071A1 (en) Generating queries based upon data points in a spreadsheet application
US10108737B2 (en) Presenting data driven forms
US20140074811A1 (en) Query ranking models
CN110168588B (zh) 基于位置、使用模式以及内容来识别文档
US20180006983A1 (en) Enhanced search filters for emails and email attachments in an electronic mailbox
US11525696B2 (en) Using major route decision points to select traffic cameras for display
CN107407944B (zh) 参考传感器的发现和利用
CN111936987A (zh) 文件的智能版本控制
EP3353992A1 (en) Data autorouting framework for data formats conversion
BR112016030120B1 (pt) Método implementado por computador para proporcionar uma sugestão de consulta e sistema configurado para proporcionar sugestões de consulta

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant