CN1419774A - 带上下文的计算设备和方法 - Google Patents

带上下文的计算设备和方法 Download PDF

Info

Publication number
CN1419774A
CN1419774A CN01807256A CN01807256A CN1419774A CN 1419774 A CN1419774 A CN 1419774A CN 01807256 A CN01807256 A CN 01807256A CN 01807256 A CN01807256 A CN 01807256A CN 1419774 A CN1419774 A CN 1419774A
Authority
CN
China
Prior art keywords
information
location
computing equipment
context
node
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.)
Granted
Application number
CN01807256A
Other languages
English (en)
Other versions
CN100464545C (zh
Inventor
高帕尔·帕鲁普蒂
爱德华·F·鲁斯
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 Corp
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 Corp filed Critical Microsoft Corp
Publication of CN1419774A publication Critical patent/CN1419774A/zh
Application granted granted Critical
Publication of CN100464545C publication Critical patent/CN100464545C/zh
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

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/52Network services specially adapted for the location of the user terminal
    • 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
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/29Geographical information databases
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9027Trees
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9537Spatial or temporal dependent retrieval, e.g. spatiotemporal queries
    • 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
    • H04L61/4552Lookup mechanisms between a plurality of directories; Synchronisation of directories, e.g. metadirectories
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Computer Hardware Design (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Information Transfer Between Computers (AREA)
  • Stored Programmes (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • User Interface Of Digital Computer (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Position Fixing By Use Of Radio Waves (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

描述了带上下文计算的系统和方法。在具体实施例中描述知道位置的系统和方法。在实施例中,利用分层树形结构确定设备上下文或位置。树形结构可存储在移动计算设备上或被其访问,使得设备可确定其自己具体的上下文或位置。在一个实施例中,一个树形结构包括主世界树形结构,其中主世界树形结构包含代表地球地理分区的结点。另外一个树形结构包括所谓次世界,其中次世界包含代表物理或逻辑实体的结点,并且是特定于组织或公司的世界视图。计算设备可通过确定一或多个树形结构的结点自动确定其上下文或位置,并且遍历树形结构以确定完整的上下文。所描述的独特设备结构允许带上下文的计算。设备结构包括上下文服务模块,公共接口,一或多个上下文提供商。上下文提供商通过公共接口提供关于设备上下文的信息,而上下文服务模块处理设备上下文的信息。提供应用程序接口(API)/事件层,通过该接口,不同的应用可调用该设备以确定设备的位置,从而提供位置相关的货物或服务。在一些实施例中还提供了隐私管理器以加强保密,因此保护提供给应用的位置信息的粒度。另外,独特的位置信标传递可以被计算设备用来确定其位置的信息。

Description

带上下文的计算设备和方法
技术领域
本发明涉及带上下文计算或普遍存在的计算领域。
背景技术
为了获得在全世界任意位置的任何资料的可用内容,创造了万维网(WWW)。通过Web,Web用户通常能访问表面上无穷多的资源。在这点上Web取得了极大的成功。然而,随着Web的发展,仍然有大量未能满足的特定需求。特别地,人们仍需访问具有上下文特性的信息。即个人经常发现自己处于一种包含某种上下文的计算环境中。然而,上下文环境不能容易地并入当前的计算环境。例如,考虑位置的上下文。人们通常需要访问涉及地理方位的信息、数据、资源等等。例如,个人期望利用与其当前位置邻近的服务或产品。因此,期望了解个人位置的上下文以便使服务、货物等等对个人有用。当“电子商务”渐渐变得重要时,以一种方便的方法将人群、地区、服务和货物集合在一起的需要将非常重要。
迄今为止,为了把人群、地区、服务和货物集合在一起尝试使用了很多方法。这些广泛的尝试经常以时常不一致的方式从各个方向遇到问题。以位置的上下文为例。一些服务尝试通过定义保存服务信息的大型数据库将人群和服务集合在一起。例如,餐馆的列表可以保存在web可访问的数据库中,在此数据库中各餐馆与表示餐馆位置的邮政编码相关联。当用户期望查找某个餐馆的位置时,他们只需输入他们所在位置的邮政编码便可看到在该邮政编码下相应餐馆的列表。通过餐馆的列表,他们能选择一或两个他们感兴趣的餐馆。因许多原因这种方法是不期望的。首先,系统的操作依赖于一个中心服务器,该服务器负责接收用户的查询并执行查询以向用户返回信息。当服务器失败时,服务也一样失败。另外,这种特定的服务仅适合查找餐馆,而不适合其它商务。另外,返回用户的查询结果的粒度可能给用户添加一些搜索负担(即用户在附近的邮政编码中得到了餐馆的列表,但还需进一步研究列表从而选择感兴趣的餐馆)。另外,餐馆的列表包括一些被物理障碍(即,河,山等)阻挡、无法到达的餐馆。
服务和产品的供应商想与附近的终端用户连接。终端用户想在最近和最方便的位置消费这些服务和物品。如果你需要填补一个牙洞或清理水槽,则得到生活在网络区域外的牙科医生或管道工的服务并不适当。当需要你呆在体育场中时,在体育场中寻找最近的热狗。
带上下文的计算是未解决的问题,其中计算设备能参与具体的上下文。在特定的环境下,需要在公共和专用世界视图中提供物理位置之间的相关位置信息。然而迄今为止,仍然没有能够发挥带上下文计算的潜力的标准化世界视图。带上下文计算远非仅仅知道位置信息——尽管这是一个非常大的领域。
本发明提出了涉及开发标准化、带上下文的基础设施的目标,和发挥带上下文计算的潜力的相关系统。
发明内容
描述了带上下文计算系统和方法。在所述实施例中,定义了一或多个分层树形结构,其中唯一标识了地球的地理分区和/或物理或逻辑实体。各个树具有多个结点并且至少有一个结点与其它树互连。在树上货物和服务能与单个结点关联,当尝试定位或消费货物或服务时,结点提供统一的索引。
在一个实施例中,计算设备(诸如固定或移动计算设备)访问一或多个树形结构,并且能利用树形结构确定其当前的上下文。设备通过遍历一或多个树形结构来确定与树形结构的各个结点关联的信息。在具体实施例中,上下文是设备位置,并且设备能自主其在主世界和一或多个次世界中的位置。一旦计算设备确定了自己的位置,它能参与位置相关的处理。
在一个实施例中,定义了主世界,并且主世界是是分层树形结构,该结构代表对世界的普遍可接受的描述。可定义一或多个次世界,次世界构成与主世界连接、特定于公司或组织的世界视图。次世界能描述组织的位置树。
在一个实施例中,设备体系结构包含公共接口,位置服务模块,多个位置提供商提供商,及应用程序接口(API)或事件层。不同的位置提供商能使用位置信息调用公共接口,位置信息由位置服务模块处理以确定设备当前位置。位置提供商提供关于当前位置的提示信息,而位置服务模块把提示转换成一或多个分层树形结构上的结点位置。接着,位置服务模块遍历一或多个树形结构以确定完整的设备位置。不同的应用能调用API层以确定来自位置服务模块的位置信息。通过了解分层结构中设备的位置,应用能向用户提供位置相关的货物或服务。由此,用户能主动参与其当前的计算环境。
在其它实施例中,位置服务模块能较确定地确定设备的位置。通过使用分配给由位置提供商提供的信息的可信度和精确度参数实现所述定位。另外,可信度参数可以被位置服务模块分配给位置提供商,并且测量与具体位置提供商相关联的可信度。接着,位置服务模块考虑所有参数以决定使用那个位置信息及在确定设备位置时如何使用该信息。
在另一个实施例中,由隐私管理器解决保密问题,其中隐私管理器根据关于应用的身份和设备安全策略的函数对提供给不同应用的信息进行调制。
在另一个实施例中,描述了提供商的唯一信标。信标可以位于不同的位置并且传递上下文信息,(在位置信息的情况下)该信息可直接被用以确定相对树形结构结点的设备位置。这样,提供了有关在所定义的分层基础设施中的设备位置的直接信息。
附图说明
图1是可以根据所述实施例使用的示例性计算设备的图例。
图2是根据所述实施例的示例性主世界和次世界的概念图。
图3是关于主世界和次世界及它们之间的关系的示例性具体视图。
图4是描述根据所述实施例的方法中的步骤的流程图。
图5是描述根据所述实施例的方法中的步骤的流程图。
图6是示例性计算设备结构的高层图。
图7是示例性计算设备结构的更具体的视图。
图8是描述根据所述实施例的方法中的步骤的流程图。
图9是描述根据所述实施例的方法中的步骤的流程图。
图10是描述根据所述实施例的方法中的步骤的流程图。
图11根据一个实施例的示例性位置信标的侧视图。
具体实施方式
综述
为了提供标准的解决方案,下面描述的实施例提供了统一的的世界定义。按照分层结点树进行统一定义,其中各个结点代表世界的某个方面。各结点通过分支与至少一个其它结点连接。例如在物理层次(例如政治实体,基础设施实体及公共场所的物理位置)和非物理层次(例如军事APO)上对结点进行分类。这个分层结点结构被称为主世界,是标准的世界视图。主世界的各个结点具有不同的属性与之相关联,这些属性有助于带上下文的计算。例如,属性包括唯一ID、名称、地理实体等级、纬度/经度、相对重要性、上下文父结点等等。因为主世界可用于确定世界各地的相对位置并且可以按照任何可定义的粒度进行确定,所以主世界是有用的。
一旦确定个人感兴趣的个人位置或所在的场所,则根据服务的位置可以向个人提供涉及该位置的不同服务。即,主世界模型的价值在于能够把服务与主世界中的结点位置联系起来。
依赖此概念,增加两个有价值的附加概念——所谓次世界和“地理分区(geozone)”的概念。
次世界是功能强大的计算机构,由此个体实体(例如企业或组织)可以定义自身的具体世界而不必与世界的主世界视图一致。即,虽然主世界实质上是世界的物理分层表示,但次世界可以是个体实体的世界视图的物理和/或逻辑表示。次世界的一个特别有用的特征是在至少一个结点上与主世界连接。由此,在任何次世界中,不仅可以确定用户在次世界中的位置,也可以同样确定在主世界中的位置。不同的服务可以附加在次世界的结点上。根据计算的用户位置,可以向用户提供与次世界结点关联的不同服务。另外,因为相对主世界确定用户的位置,所以也可以提供未与具体次世界关联的其它服务。
地理分区实质上是一个空间索引机构,利用它把主世界再划分为单个区域(zone)。在所述实施例中,通过依赖于密度函数的四叉树算法再划分区域(尽管可使用其它空间索引方法)。一旦获得期望的密度级(可以根据每个区域内有关的点来定义密度),则为主世界的各个结点分配具体的地理分区。地理分区以快速和直接的方式进行逼近计算。
主和次世界的有用方面是可以从诸如固定(即桌面设备)或移动计算设备(即蜂窝电话,膝上型电脑等)“到达”它们那里。即,主世界(或至少一部分)和一或多个次世界既能保留在计算设备本地,又能通过Web或其它机构对其进行访问,使得用户能推导出其上下文。例如,次世界能下载到计算设备,使得用户能推导其在次世界中的上下文。一旦根据主世界和一或多个次世界确定了用户的上下文,则用户可以使用各种带上下文解决方案。例如,可提供具体的次世界服务,或提供主世界的服务。另外,当其它次世界了解(使它了解)用户的位置时,也可由这些其它次世界提供服务。在这种方式下,主世界能把两个或更多个次世界连接在一起。
另一方面,所述实施例利用各计算设备的计算能力确定设备的位置。利用设备能到达的主世界和一或多个次世界(或在设备本地),设备可自行确定其自身的上下文。
一个实施例提供了客户端设备,所述客户端设备利用上述带上下文结构,即主世界和一或多个次世界。可以在设备本地得到主世界或部分主世界,也可以在其它位置访问主世界,例如通过Web。在此实施例中,客户设备自身实现了位置服务。所述位置服务是一种软件模块,能确定设备的位置并回答来自不同应用(可在设备上或设备外执行)的查询。位置服务使用主世界和一或多个次世界确定设备的位置。这些应用通过一或多个应用程序接口(API)或事件查询位置服务,从而获得由应用所使用的位置信息,以实现服务。
位置服务利用一或多个位置提供商向设备传送信息。该信息可以是特定于位置提供商的信息,也可以是直接映射到主世界或次世界的结点的信息。例如,位置提供商包括全球定位服务(GPS)提供商,蜂窝电话提供商(蜂窝提供商),蓝牙提供商,用户接口提供商等等。位置提供商提供有关设备当前位置的某个方面的信息。位置服务利用该信息确定设备的位置。
客户设备的一个特别有利的特征是标准或公共的位置服务提供商接口。位置服务提供商接口允许不同位置提供商向位置服务提供信息,使得位置服务能够利用该信息确定其位置。实质上,多位置服务提供商接口是公共接口,允许多个不同的位置服务提供商向位于设备上的位置服务提供关于的定位的位置信息(或提示信息)。每隔一段时间或当设备轮询时,位置服务提供商可连续提供位置信息。可对位置信息提供可信度和准确度估测,以便允许位置服务评在使用之前估算信息的相对质量。不同的提供商还具有自我监视的能力,以协助提供商向位置服务智能传送信息。由于具有公共接口,位置服务提供商集合是动态可扩展的——即可以在不干扰位置服务或设备的功能的情况下向位置提供商集合添加或删除位置服务提供商。可以在设备工作时添加或删除位置服务提供商。这对兼容将来发展的位置服务提供商特别有用。在这个具体实施例中,提供了两个抽象层,即(1)从位置服务提供商接收信息的提供商接口,和(2)允许应用得到不同信息的API/事件层。
此实施例的一个重点是这样一种设备,该设备能从多个不同源设备收集上下文信息(例如位置信息),根据该信息确定设备当前的上下文,并且向一或多个可以使用设备上下文的应用提供某一层次的当前上下文,从而允许提供服务,或允许设备参与其上下文环境。
在所述实施例中,设备接收位置信息或关于其位置的提示信息。该信息由位置服务核对并映射到主世界和或次世界内的结点上。可遍历分层树以确定设备在次世界和主世界中的精确位置。在这一点上,设备确定其上下文。对收集的信息进行仲裁以保证只有高度可信的信息被用于确定上下文。可以缓存位置信息以提供在可定义的时间段内可达到某种精确程度的“当前位置信息”。因此,如果由于某些原因其它位置服务提供商无法使用,缓存可用于确定位置。
一旦确定了设备的位置,设备对信息应用安全策略。采用安全策略后,设备开始回答来自不同应用的查询。
所述实施例的一个特征是“位置收藏(favorite location)”特征,其中当设备确定其上下文时可自动配置设备,以便设备调整到不同的位置。
另外,不同类型的位位置服务提供商可传送不同类型的信息。例如,所谓“薄(thin)提供商”提供被位置服务转换成适当结点信息的位置信息。所谓“厚(thick)提供商”包含逻辑电路,该电路得到位置信息并以直接映射到主世界或次世界的形式提供信息。
在另一个实施例中,提供被用来尽可能精确地确定设备上下文或的位置转换服务。在此实施例中,接收的信息来自不同的位置服务提供商。该信息包括位置、精确度和可信度(这些均由位置服务提供商提供),信任度(由设备或用户针对位置服务提供商指定)和时标(用于确定位置信息的有效期)。位置转换过程涉及确定哪个位置服务提供商有效和活跃。根据可信度和信任度等级排列位置服务提供商。这定义了位置服务提供商的排序列表。此规定适用于所有位置服务提供商可能变成不活跃的情况。如果这样,随着位置服务提供商的可信度的降低,使用“当前位置”。
在来自两个或更多个位置服务提供商的信息发生冲突的情况下,使用具有更高等级的信任度的信息进行测量。由所有位置服务提供商提供的信息(假设无冲突)均可用于确定树形结构和结点的实体ID(EID)。树可以是主世界而EID可以是主世界的结点。树也可以是次世界而EID(或唯一位置标识符或“LUID”)可以是次世界的结点。一旦收集到该信息,则由简单地遍历树结构来确定整个位置信息。一旦确定了设备的位置,则可以用当前位置(包括时标)更新高速缓存。
在另一个实施例中,在带上下文的计算环境中解决了保密性问题。在该实施例中,位置服务获得关于具体设备的位置的位置信息。隐私管理器确定向申请信息的应用提供什么等级的信息。隐私管理器可驻留于计算设备中,或可由受信的第三方代理。
根据此实施例,定义了保密等级的划分。定义各个等级以包含或多或少的关于具体设备的位置的具体信息。用户可以为申请位置信息的实体指定保密等级。另外,主世界和次世界的各结点可具有相关的保密等级。当接收来自应用的查询时,隐私管理器首先确定查询的来源和与应用或实体相关的保密等级。隐私管理器评估一或多个主世界和次世界,以便找出具有相应保密等级的结点。当找到相应结点时,具有该特定粒度的信息被提供给申请应用或实体。
在另一个实施例中,描述了以位置信标形式提供位置提供商的系统和方法。在此实施例中,假定位置信标可设置在不同的区域(公共/私人区域),从而为传输范围内的任何计算设备标出位置。所传递的信息允许设备确定其位置或上下文。位置信标可以传递特定于使用该信息的位置服务的信息。所传递的信息可以包含EID/URL对,和LUID/URL对。EID给出主世界中结点的结点标识;相关的URL给出与主世界通信的协议。URL可以链接到能够提供使用EID的附加上下文信息的服务器。LUID指出次世界中对应于当前位置的结点;URL给出与次世界通信的协议。例如,URL可与驻留次世界的服务器链接。接着可以查询该服务器以获取更多关于次世界的信息(即次世界的树形结构、相关资源的位置、等等)。利用EID和LUID(以及URL),设备可以遍历主世界或次世界以确定其位置。可以运用不同的技术实现信标(无线、RF、IR)。信标可以是用于阻止窜改的“一次性编程”设备。然而可以提供可编程信标。也能够以可验证签名的形式提供安全性,其中为可验证签名提供信标信息以保证所传递信息的真实性。
信标的带上下文计算的有用特征是“位置使能的访问”概念。即,除接收位置信息之外(或以独立方式),信标可发送代码下载指针,所述代码下载指针允许智能设备访问使设备能够参与其当前上下文的软件代码。
示例性计算系统
在本申请中,所用的术语“计算设备”泛指任意类型的计算设备。示例性计算设备的特征在于,它们通常包含一或多个处理器,计算机可读介质(诸如存储设备和存储器),和在一或多个处理器上执行的软件,该软件使处理器实现预编程的功能。在具体的实施例中,由移动计算设备(如膝上型计算机等),和/或手持计算设备(如掌中PC,无线电话等)实现。
图1是仅构成适用于所述实施例计算设备的例子的原理图。应当理解,所图解的计算设备和各个部分可并入一或多个可望应用具体实施列的计算设备(如掌中PC,无线电话等)。
计算机130包含一或多个处理器或处理单元132,系统存储器134和总线136,其中总线136把处理器132与包含系统存储器134的多个系统部件连接在一起。总线136代表一或多个任意类型的总线结构,包括存储器总线或存储器控制器,外设总线,加速图形端口和处理器或使用任意多种总线结构的局部总线。系统存储器134包含只读存储器(ROM)138和随机访存器(RAM)140。含有用来在计算机130内的单元之间传送信息,例如在启动计算机期间执行的基本例行程序的基本输入/输出系统(BIOS)142被存储在ROM138中。
计算机130还包含可读写硬盘(未示出)的硬盘驱动器144,读写可移动磁盘148的磁盘驱动器146和读写诸如CD ROM或其它光媒体的可移动光盘152的光盘驱动器150。硬盘驱动器144,磁盘驱动器146和光盘驱动器150通过SCSI接口154或其它适当接口连接到总线136。驱动器及其相关计算机可读介质向计算机130的计算机可读指令,数据结构,程序结构和其它数据提供非易失存储。尽管此处所述的示例性环境使用硬盘,可移动磁盘148和可移动光盘152,但本领域的技术人员应当理解,可存储能够被计算机访问的数据的其它类型的计算机可读介质,例如磁带、闪存卡、数字视盘、随机访问存储器(RAM)、只读存储器(ROM、)等也可用于示例性操作环境。
一些程序模块可被存储在硬盘144、磁盘148、光盘152、ROM138或RAM140中,所述程序模块包含操作系统158、一或多个应用程序160、其它程序模块162和程序数据164。用户可通过诸如键盘166和定点设备168的输入设备向计算机130输入命令和信息。其它输入设备(未示出)可包含话筒、操纵杆、游戏板、碟形卫星天线、扫描仪等。这些输入设备通过与总线136连接的接口170连接到处理单元132。显示器172或其它类型的显示设备通过诸如视频适配器174的接口连接到总线136。除显示器之外,个人计算机通常包含其它诸如扬声器和打印机的外围输出设备(未示出)。
计算机130一般工作在使用逻辑连接与诸如远程计算机176的一或多个远程计算机连接的网络环境。远程计算机176可以是另一台个人计算机、服务器、路由器、网络PC、对等设备或其它公共网络结点,并且尽管图1只图解了存储器存储设备178,但通常包含前面针对计算机130描述的许多或全部部件。图1描述的逻辑连接包含局域网(LAN)180和广域网(WAN)182。这样的网络环境存在于办公室、公司范围的计算机网络、企业内部互联网、因特网。
当用于LAN网络环境时,计算机130通过网络接口或适配器184连接到局域网180。当用于WAN网络环境时,计算机130通常包含调制解调器186或其它在诸如因特网的广域网182上建立通信的装置。内置或外置的调制解调器186通过串行接口156连接到总线136。在网络环境中,针对个人计算机130描述的程序模块或其各个部分可被存储在远程存储器存储设备中。可以理解,所示网络连接是示例性的,并且可使用其它装置建立计算机之间的通信连接。
通常,通过在不同时间存储于计算机的各个计算机可读存储介质的指令对计算机130的数据处理器进行编程。程序和操作系统通常被分布在软盘或CD-ROM上。通过软盘或CD-ROM可以将程序和操作系统安装或加载到计算机的辅助存储器中。在执行时,至少部分程序和操作系统被加载到计算机的主电子存储器。当这些和其它各种类型的计算机可读存储介质含有用于下面结合微处理器或其它数据处理器描述的步骤时,这里描述的发明包含所述介质。本发明还包含根据下面描述的方法和技术进行编程的计算机。
为了图解,程序和其它诸如操作系统的可执行程序构件在此被图解成离散块,尽管这些程序和构件在不同时间被存储在计算机的不同存储部件中,并由计算机的数据处理器执行。
定义世界
迄今为止,在试图解决带上下文计算的问题时存在的问题是每个提出的解决方案都有自己的解决途径,数据结构,过程等。在不同解决途径之间很少有标准。在所述实施例中,通过定义全球统一视图在功能层次上实现标准化。即,提出统一可接受的全球定义,并且此定义可用于不同的计算情景中,从而允许进行上下文相关计算。在本文中,以位置相关计算的形式给出上下文相关计算的具体例子。应当理解,这只构成可以使用下面讨论的不同实施例的一个上下文例子。其它“上下文”可以包含适合分层结构的任何信息,其中包含但不限于组织内的角色/成员、设备分类、当前活动、当前环境,活跃设备等。
主世界
主世界被定义成政治上稳妥并且可广泛接受的分层树形结构,该结构可编录全球的物理位置或地理分区。主世界的定义方式为包含全球许多不同类别的政治、管理和地理实体。通过提供基于计算设备的语言/地域的世界视图解决存在政治冲突的区域问题。
图2示出了代表部分主世界的示例性分层树形结构200。主世界包含多个结点202,各结点代表全球的某类地理分区(如政治或自然实体)。在图解的例子中,主世界的结点被安排在下列分组中:(1)政治或自然实体(例如大陆、国家、海洋、州、县、市等);(2)基础设施实体(例如邮政编码、区号、时区等);(3)公共场所(例如公园、商业街、飞机场、露天大型运动场等);和(4)非物理实体(军队邮编代码区、休假区、地理上可以不连续的电视网络分支覆盖区等)。
在图2的例子中,树形结构的顶点代表地球。顶点下的各结点代表地球的地理分区。在此例中,没有结点与任何企业或服务相关。即,区分属于主世界的结点实体和进行活动的非地理场所。尽管主世界包含公共场所结点(即飞机场,商业街等),但不包含企业或服务提供商的个体列表。各结点由ID(EID或实体ID)唯一标识。如下所述,除唯一EID之外,URL与树形结构相关并向树形结构提供上下文。
例如,考虑以下情况:西雅图-塔科马国际机场(SeaTac)将被包含在主世界中,但针对SeaTac的单个航线企业的位置的索引可以是由SeaTac飞机场EID(参看下面“次世界”部分和表格)标识的树上的“叶子”。同样地,西雅图中心可以是主世界的结点,而西雅图艺术节,Bumpershoot,西雅图超音速NBA球队和西雅图中心星巴克咖啡店可以用西雅图中心EID标识。再例如,主世界还包含全部州际(汽车高速公路)出口的结点。例如,I-90,出口109,华盛顿是主世界的结点。位于1700 Canyon Road,Ellendburg,华盛顿的BestWestern Inn可用此出口的EID标识。
因此,主世界提供统一的位置定义方法。统一位置定义可被统一用于向货物或服务分配属性。只要计算设备确定其位置对应于具体的统一位置定义,计算设备就能利用共享统一位置定义的位置相关货物或服务。由于主世界是世界的标准化视图,所以主世界很有用。其精确的标准化地理坐标属性可被提供商和消费者容易地访问。通过向所有感兴趣的商业位置或地点分配标准化永久地理索引,服务和产品提供商(或第三方,例如搜索引擎,网络和黄页数据库目录)可以使用主世界的结点。可以将这些感兴趣的商业位置或地点看成树形结构上的“叶子”。
在图解的例子中,主世界的结点具有一或多个利于其使用的属性。在下表中描述了示例性的属性:
属性 描述
实体ID(EID) EID是各结点的唯一ID。没有两个具有相同EID的结点。
名称 根据中立地貌(NGT)名称定义名称。NGT名称支持对实体名称的不同语言的适当翻译(如Pacific Ocean,Pazifischer Ozean,OceanoPacifico等)
地理实体类别(GEC) GEC是各结点的地理分类。示例性GEC在下面“地理分区”章节中讨论。
纬度 地球上的水平坐标位置(即结点质心的坐标位置)
经度 地球上的垂直坐标位置(即结点质心的坐标位置)
相对重要性 实体相对相同区域内其它实体在地理上的重要性。值为1至256(例如NEW YORK CITY=3,LOS ANGELES=4,而OMAHA=5,尽管OMAHA的值较小,但对于周围的居住地区来说同等重要)
上下文父结点 各结点具有父/子关系的父结点。支持多个父结点(例如Redmond是King County,区域码425,太平洋时区,MSNBC分公司KING TV的子结点)。
来源 记录的数据来源(例如微软或指定数据卖主)
开始日期 结点信息初次有效的日期
结束日期 结点信息最后有效的日期(撤销的邮递区号,国家的分裂)
修改日期 记录日期修改,被构造成涉及任何领域内的撤销或更新的tot eh记录
状态 活跃,捆绑(将重复结点链接在一起),暂停或撤销
上面所列的属性只构成示例性属性。也可使用其它不同于上面属性和/或补充上面参考属性的属性。一些使用上述属性的示例性实体或结点如下所示:
实体ID(EID) 24948
名称 Pacific Ocean,Pazifischer Ozean,OceanoPacifico等
地理实体类别(GEC) 138/Ocean
纬度 0(+000°00′00″)
经度 -170(-170°00′00″)
相对重要性 1
上下文父结点 世界
来源 MSFT地理单元
开始日期 0/0/00
结束日期 0/0/00
修改日期 01/18/00
状态 活跃
实体ID(EID) 27490
名称 Redmond
地理实体类别(GEC) 78/非省会城镇
纬度 47.6768303(+047°40′36″)
经度 -122.1099625(-122°06′35″)
相对重要性 107
上下文父结点 1.King,第二层[华盛顿,美国]2.Puget Sound-Seattle,旅游区[华盛顿,美国]
来源 MSFT地理单元
开始日期 0/0/00
结束日期 0/0/00
修改日期 01/18/00
状态 活跃
主世界可以充当其本身和不同“次世界”之间的公共链接库,还可充当次世界与其它次世界的连接管道。内容、服务和设备提供商利用主世界将其可公开提供的产品与地理位置及对应的多分支分层结构相关联。此位置将与树形结构中的单个实体相关联,从而允许进行地理和时间/距离的计算,及必要的父/子关系的导航。
主世界索引(地理分区)
根据定义,主世界提供覆盖全球的实体(结点)分层结构。分层结构内的上溯导航相当普遍。有效的下溯导航需要了解地理接近程度。另外,为了成功返回查询值,或为了更精确地计算到达“叶子”结点的距离,可能需要在分支间跳转,其中所述“叶子”结点与除初始源结点之外的结点相连。主世界利用可以依据地理接近程度识别对等层结点的索引模式。该索引模式利用四叉树算法定义所谓的“地理分区”。
实质上四叉树是一种把覆盖区分成尺寸规则减小的均匀单元的空间索引。树的每个分叉最多有4个子女。可以继续执行四叉树分段过程,直到根据许多不同的最终结果标准将整个地图分割完毕,其中所述标准包含每个分叉中项目(例如兴趣点)数量的密度。该方法提供了一种加速空间选择和上下文识别的空间索引。
为了完成向各结点提供已定义的地理分区的空间索引模式,四叉树算法被用于各结点,并且可以基于出现在任意一个分区的兴趣点的期望密度。一旦定义了所有分区,则各分区被指定唯一的ID(例如左/上和右/下纬度和经度对)。为主世界的各结点指定其所定位的分区。本领域技术人员应当知道和了解四叉树算法。
主世界位置
可以理解,以分层可遍历树形结构形式对世界进行的统一标准表示非常利于将上下文相关,更具体的是位置相关的货物和服务链接在一起。
在所描述的实施例中,计算设备至少访问部分主世界。例如,计算设备可以把主世界存储在内部存储设备中,该设备可以包括计算设备的部分操作系统,该设备也可通过诸如因特网的网络介质访问主世界。主世界的树形结构对于各计算设备是可存取的,各设备有能力确定其自身的上下文或结点索引位置。即,计算设备通过其正在执行的软件确定其具体位置,即结点。一旦计算设备确定相关的结点,设备可简单地遍历树以确定自身的最终位置。
例如,如果计算设备确定当前其位置在对应于城市Redmond的结点上,则计算设备可遍历主世界树形结构以确定自身处在北美大陆的美国华盛顿州。通过确定其精确位置,计算设备(或其用户)可利用所提供的服务相关位置。该具体模型是对利用中心服务器确定大量不同设备的位置的当前模型的极大改进。在该模型中,各设备(或用户)提供关于其位置的信息(例如用户输入设备当前所处的邮递区号和城市),并且可以输入查询以查找例如麦当劳餐馆的邮递区号。服务器接受该信息并告诉用户在该邮递区号或城市内全部麦当劳餐馆的位置。如果服务器在此模型中不能工作,则没有计算设备能够利用该模型的服务。在本发明的模型中,各计算设备是自立的。各自均可确定自身的位置,相应地,各设备可利用位置相关服务。例如,如果计算设备了解其位于主世界的具体结点上,则计算设备可以执行查询以查找具有对应于计算设备所在的具体结点的EID的麦当劳餐馆。通过使用上述地理分区提供特别的稳定性。地理分区允许以有效的方式快速搜索最接近的地理分区。例如,如果某人寻找最近的Kinko以制作拷贝,并且没有一家位于对应于计算设备所处的结点的地理分区内,则可以快速搜索邻近的地理分区。
次世界
在所述实施例中,次世界的概念用于提供对附加上下文的支持。次世界可以由第三方组织或公司定义,并且含有结点,这些结点包括对该组织唯一的物理和/或逻辑实体。由于次世界可以是公共的或私有的,次世界的结点可以有或没有许多在定义次世界的具体组织外部的上下文。次世界不重复主世界,但以唯一的、特定于组织的方式对主世界进行补充。虽然主世界被定义成广泛接受的标准,但各个次世界可以是组织的专有世界视图的各种呈现。在所描述的实施例中,各个次世界有至少一个结点与主世界的结点链接。这样,在主世界中提供了次世界的上下文或位置。还应注意,在一些上下文应用中,可以访问若干次世界,各次世界提供特定于上下文的位置数据段。
图2示出了包括多个结点206的示例性次世界204。各结点206构成物理或逻辑实体。例如,结点可构成公司、公司部门、地区校园、建筑物、不同建筑物的楼层和不同楼层的房间。至少有一个结点与主世界的结点链接。次世界的结点具有与主世界结点相同的属性。
作为次世界的例子,波音飞机公司可以定义包含对雇员很重要的实体列表的次世界。根实体是“波音公司”而其子女结点是公司的部门(St.Louis Military Division,Everett Plant,Corporate HQ等)。沿树形结构向下,个体结点可以被定义成代表个体建筑物(Hanger12)、建筑内的办公室(办公室1001)、建筑物的区域(Southwesternquadrant of hanger 12)等。各实体或结点具有唯一的标识符(本地唯一ID或“LUID”)和与出现结点的树相关的URL。URL唯一标识次世界树形结构,使得次世界内的用户可确定怎样与世界交互。下面较详细地讨论这个方面。波音飞机公司可以使用LUID把设备、服务、部门或人员与物理或逻辑位置关联。
作为更具体的例子,考虑图3,图3说明了主世界300和次世界302的示例性部分。主世界300包含下列结点:世界、美国、华盛顿、Redmond和ZIP=98052。示例性次世界302是由微软公司定义的分层树形结构,并且包含下列结点:微软、Redmond校园、1 MicrosoftWay、建筑物26、第3层、会议室3173、建筑物24、第2层、会议室1342。在此例中,次世界302从Redmond结点接入到主世界。在此例中,所示投影仪与结点“会议室1342”关联。投影仪不是次世界的结点。相反地,投影仪是一些其它资源搜索服务(例如活动目录)中的项目,并且包含位置属性,即指向“会议室1342”的指针。在某些情况下,当在世界中创建表示关键服务位置的结点时,结点自身不代表服务。
类似于主世界,次世界可方便地被用户计算设备访问。例如,次世界可被全部或部分下载,被存储在存储设备中,并且在需要时被访问。次世界仅可为一次性使用而下载。次世界允许计算设备确定其在次世界中的上下文。在此例中,计算设备通过使用次世界计算其在次世界内的位置。通过从其当前位于的结点遍历树形结构到达根结点,计算设备完成此计算。这将为计算设备(和用户)提供完整的次世界上下文。一旦知道次世界位置,用户可利用与次世界结点相关的货物或服务。即,一旦计算设备确定其次世界上下文,则计算设备已经准备好成为次世界的主动参与方。
通过把货物或服务与次世界的单个结点相关联可获得极大的价值。例如,会议室1342与投影仪关联。即,投影仪位于会议室1342。假定在会议室3173中的某人表示需要使用某个投影仪,例如位于会议室1342的投影仪。通常此人无法确定投影仪的位置,除非亲自到建筑物内检查是否有可用的投影仪。在此例中,由于用户的计算设备能确定其在次世界中的位置,所以计算设备发现位于会议室1342中的投影仪。可通过简单地执行软件来实现此功能,其中软件遍历次世界的树形结构以查找感兴趣的资源。
还需注意的是,由于存在与主世界的链接,计算设备可导出其在两个世界中的上下文(位置)。这使得计算设备及用户能够利用与次世界相关的货物和服务,并且参与可根据用户在主世界中的位置消费的位置相关服务。
图4是描述根据所述实施例的步骤的流程图。下面描述的步骤由计算设备实现,在图解的例子中,计算设备是手持移动计算设备。
步骤400访问驻留于计算机可读介质的第一和第二分层树形结构。在此例中,树形结构可以被存储在设备中,也可以通过诸如因特网的网络对其进行访问。示例性第一树形结构是主世界,而示例性第二树形结构是次世界。可选地,树形结构也可全是次世界。一旦树形结构被设备访问,步骤402遍历树形结构的多个结点以获取计算设备的上下文。在此例中,计算设备接收信息,该信息将计算在一个树上的结点位置通知计算设备。该信息可以通过任何合适的方式到达计算设备,例如用户可以通过用户接口(UI)输入信息,或通过其它计算设备(例如通过蓝牙技术或通用即插即用设备(UpnP))把位置信息广播给计算设备。下面将详细描述关于向计算设备传送信息的具体例子。不管该信息怎样传送给计算设备,一旦计算设备得到该信息,便执行遍历一个或两个树形结构以获取此例中是设备位置的上下文的软件。
定义次世界
如上所述,所述实施例的一个特别重要的方面是个体组织可定义其自己的次世界。这使组织在提供货物和服务及增加其组织效率方面有很大的灵活性。在一个实施例中,所提供的软件工具允许个体组织定义及维护其自身的次世界。
在一个实施例中,各次世界可唯一地被标识成名字空间(例如XML名字空间)。这确保次世界和主世界间名字的任何重叠均不会造成冲突。例如,考虑下列情况:主世界包含一个被标识成“Chicago”、指向Chicago城的实体。由美国职业篮球联赛NBA建立的次世界和由Caterpillar Corporation建立的不同次世界也具有名称为“Chicago”的实体,但所指的实体与主世界的“Chicago”完全不同。例如,NBA的“Chicago”是指NBA市场区域,而Caterpillar的“Chicago”是指销售区域。因为各名字空间与每个其它名字空间均不同,所以在主次世界之间的划分名字空间可确保具有相同命名的实体之间没有冲突。
图5是描述建立带上下文数据结构的方法中的步骤的流程图。这些步骤由在计算设备上执行的软件工具实现。
步骤500接收源设备的输入,其中源设备指定涉及物理和/或逻辑实体的信息。在此例中,系统管理员可物理输入关于期望定义的次世界结构的信息。该信息可以包含关于建筑物、部门、会议室等等的信息。步骤502处理该信息以定义具有上下文的分层树形结构。在此例中,上下文是位置。应当理解,也可使用其它上下文。分层树形结构的各结点代表分离的物理或逻辑实体。步骤504把分层树形结构的至少一个结点与另一个具有上下文的树形结构相连。在此例中,所述其它树形结构包括主世界。一旦建立并链接树形结构,可以遍历该树形结构以便根据一或多个结点导出上下文。
位置服务
在上述例子中,计算设备能确定其自身的位置。在即将描述的实施例中,计算设备通过使用由大量不同信息源提供的位置信息确定其位置。设备可得到为其提供的信息,并且处理该信息以确定一或多个分层树上的具体结点。一旦设备完成此任务,设备可确定其完整位置,这种位置是应当了解的有用信息,尤其在存在可被设备的用户消费的位置相关服务时。
图6示出了示例性计算设备600的高层模块图,除其它部件之外,计算设备600还包括上下文服务模块602和一或多个上下文提供商604。上下文服务模块602由适合的硬件、软件、固件或其结合实现。在此具体实施例中,通过在一或多个设备处理器上执行的软件实现上下文服务模块。上下文服务模块602接收来自一或多个上下文提供商604的上下文信息,并处理信息以确定当前的设备上下文。在此具体实施例中,设备上下文是设备的位置。因此,上下文提供商是位置提供商,该位置提供商以不同的形式向上下文服务模块602提供用于处理的位置信息。位置提供商604接收来自不同上下文信息(位置信息)源606的信息。
在本文中,上下文提供商包括既可在设备上实现又可不在设备上实现的软件构件。上下文提供商还可以包含任何适合的硬件、软件、固件或其结合。上下文提供商的作用是接收来自信息源606的信息并向上下文服务模块602传送该信息,便利上下文服务模块可利用该信息确定当前的设备上下文。
当设备的上下文是设备的位置时,信息源606向位置提供商604提供关于设备当前位置的多种信息。例如,信息源可以包含诸如GPS系统、蜂窝电话或小区ID的各种信息发送器,发送位置信息的无线发送器,位置信标,802.11发送器和多种其它信息源。信息源还可以包含通过蓝牙技术提供位置信息的其它计算设备。另外,信息源606可以包含向设备600物理输入位置信息,便利设备可处理信息以确定其位置的个人。
当设备600接收来自信息源606的位置信息时,设备和位置提供商604处理该信息,并且设备向位置服务模块602提供该信息。位置服务模块602处理位置信息,并且在一或多个分层树形结构上确定其访问的、对应于其当前位置的具体结点。位置服务模块602遍历树形结构以确定设备的完整位置。一旦确定完整位置,设备600开始与一或多个应用608交互,应用608可向设备查询其具体位置,以便能够为设备提供一或多个位置相关服务。在此例中,应用608与设备分开。但应当理解,应用可在设备上执行,例如浏览器应用。
如图所示,应用608可调用设备以查问设备其所在的位置。设备被用来接收调用并以适当的方式响应应用。一旦应用具有设备的位置信息,则应用可以为设备提供特定于位置的服务。
考虑下列例子:你是一个旅行者并具有手持移动计算设备,该设备含有主世界树和西雅图国际机场的次世界树。你计划坐飞机离开Concourse C到中国去。西雅图国际机场设计其次世界包含下列结点:“到站”,“离站”,“候机厅”,“航班”,“航班通道”和“通道位置”。当你到达机场并进入机场时,你的计算设备接收来自不同信息源的位置信息,根据该信息你的设备确定你位于到站结点。当你在机场内时,西雅图国际机场有执行应用程序的服务器组来帮助你。应用程序可帮助你查找服务、找到便利店(如咖啡店、餐馆)位置、指示方向(例如怎样到达你的登机通道)、更新你的航班的状态、甚至替航班对你进行自动检查。当你步行通过机场时,你的位置发生改变。然而你的计算设备能接收连续的位置信息更新,使得当你穿过机场时,计算设备可连续确定其位置。例如,当你穿过星巴克咖啡店时,你的手持设备通知你:如果你在星巴克购买latte并且出示你的手持设备,在latte上你会收到50美分的折扣。在此例中,说明了次世界的用途。通过了解其特定客户是否处于其设施内,西雅图国际机场能提供先前未出现的大量服务。
假设你在机场而你的航班取消了。你必须找地方过夜。因此,你决定到最近的Double Tree宾馆,因为你非常喜欢登记时给你的热巧克力饼干。你在计算设备上执行搜索引擎以查找最近的Double Tree宾馆。搜索引擎应用程序首先确定你当前在主世界中的位置,该位置由对应于你的位置的主世界结点的EID指示。通过执行搜索,搜索引擎应用程序寻找其属性所包含的EID与你的EID匹配的Double Tree宾馆。如果找到,则通知你结果。如果未找到具有对应EID的DoubleTree宾馆,则在邻近的地理分区中寻找Double Tree宾馆。还可以提供到宾馆的驱车方向。因为搜索引擎应用程序能确定你在主世界的位置,所以能够这样做。搜索引擎应用程序以快速和自动的方式进行处理,几乎不需要你做什么。
当你驾车离开机场去宾馆时,你决定找到最近的Kinko以便把明天早晨用的演示文稿复印100份。你的手持计算设备是蜂窝电话并属于Sprint通信公司。Sprint定义其自己的、可以用小区网指定的次世界。由于你的计算设备具有Sprint的次世界,你可以确定你在Sprint次世界中的位置,以及你在主世界中的位置。考虑Kinko具有与主世界链接的次世界的情况。通过在你的设备上执行查找应用程序,你可以确定最近的Kinko的位置以及驱车到那里的方向。由于你的设备可访问主世界和一或多个次世界,所有这些都是可行的。在此例中,主世界提供把两个或更多个次世界串接在一起的机构。由于次世界具有至少一个进入主世界的索引或连接,所以这种方式可行。
示例性设备结构
图7更详细地示出了计算设备600。在此具体实施例中,设备600包括一种结构,该结构包含下列部件:位置服务模块602,位置提供商接口700,应用程序接口(API)/事件模块702,隐私管理器704,位置转换模块706,一或多个应用608及一或多个位置提供商606。该结构还包含活动目录708,Web服务710,位置数据库712,及个人场所714。该结构可在任何适合的硬件、软件、固件或其结合上实现。上面提到的结构在允许各计算设备确定其自身的上下文或位置方面有优势。
公共位置提供商接口
所述实施例的一个特别有利的方面是使用公共接口700,公共接口700可提供标准接口,而位置提供商606通过该接口进行通信。通过具有公共接口,位置提供商是可扩充的(支持将来的提供商),原因是可以在位置提供商的集合中动态添加或删除位置提供商。具体的位置提供商606所需要的是将其写入以支持公共接口。
在此例中,有一些位置提供商606。这些位置提供商以不同的形式提供位置信息。例如,GPS位置提供商可提供GPS专用的位置信息。同样地,IP/子网位置提供商可提供特定于网际协议的信息。移动电话位置提供商以小区ID形式提供位置信息。另外,位置用户接口(UI)以指定城市、街道或建筑物的用户输入方式提供位置信息。不同位置提供商提供的所有位置信息由位置服务模块602处理,从而可以确定当前设备位置。为了确定当前设备位置,位置服务模块602与活动目录708,Web服务710,位置数据库712进行协商。在图解的例子中,活动目录708维护次世界和其它诸如子网和“站点”信息的网络元数据,其中所述网络元数据可以根据网络连通性帮助确定位置。Web服务710可以含有主或次世界,其属性可用于查找位置。例如,如果蜂窝电话知道其小区塔台ID,则位置提供商可查询次世界以确定与小区塔台ID匹配的结点。位置数据库712基本上是本地驻留或存储的web服务的版本。
位置提供商
如上所示,该结构预期有多个不同的位置提供商可向位置服务模块602提供位置信息。该信息可以具有许多不同的形式和质量等级。该信息接着被位置服务模块602处理以确定当前设备位置。为此,服务模块602根据位置信息确定具体结点ID(EID和/或LUID)和与涉及该结点的树形结构相关的URL。一旦位置服务模块确定结点ID,接着可以使用URL查询树形结构(更准确地说明,是管理树形结构的服务器)以确定关于该树形结构的更多信息。例如,如果位置服务模块602确定来自具体次世界的LUID,则查询活动目录708(或企业内部互联网服务器----是另一个位置数据库)以发现结点的父与子。这允许位置服务模块建立次世界。
位置提供商606可以通过多种不同的方式向位置服务模块602提供位置信息。例如,一些位置提供商606可以连续提供信息(例如GPS提供商可连续提供GPS坐标)。可选地,位置提供商可周期性地按照规定时间或在可定义的事件发生时提供位置信息。例如,用户可在定义更新位置信息的规定时间。可选地,可以只在设备的位置改变(即位置改变事件)时才更新位置信息。另外,当被位置服务模块602轮询时,位置提供商可提供位置信息。例如,位置服务模块602可以调用位置提供商接口700并向一或多个位置提供商请求位置信息。
一个特定的位置提供商606被图示为高速缓存。高速缓存提供商实质上维护当前设备上下文或位置。一旦位置服务模块602确定其当前位置,它把该位置写入高速缓存。这允许设备600在所有其它位置提供商不能提供位置信息(例如GPS提供商不可以接收GPS信息,因为GPS发送器提供的信息不能接触大量人造卫星必须的连接信息)时以一定的可信度确定其位置。
可信度和精确度参数
所示实施例的一个重要又有用的特征是一或多个位置提供商对其提供给位置服务模块602的信息指定可信度参数和/或精确度参数。可信度参数提供对提供商的信息的可信度的测量,所述信息被提供给位置服务模块602。例如,假定GPS发送器必须接收来自五个或更多人造卫星的信息,以便提供高可信信息。假定在某时刻只有三个人造卫星可用。GPS发送器则传递仅基于这三个人造卫星的信息。GPS提供商则会知道其从GPS发送器接收的信息仅基于三个而不是期望的五个或更多个人造卫星。在这种情况下,GPS提供商设置有关位置信息的可信度参数,该参数表明所述位置信息与基于期望的五个或更多人造卫星的信息相比具有较低的可信度等级。在这种情况下,当确定设备位置时,位置服务模块602考虑所有位置提供商的可信度参数。这将在下面详细讨论。
关于精确度参数,考虑从位置提供商接收的位置信息具有不同精确度的情况。一些信息可以精确到1英里(1.609千米)以内,而其它信息可以精确到100英尺(30.48米)以内。位置提供商期望向提供给位置服务模块602的位置信息指定精确度参数。精确度参数向位置服务模块提供信息精确度指示。
当位置服务模块602使用可信度和精确度参数时,该模块可决定怎样使用其从各提供商接收的位置信息。例如,位置服务模块602可完全忽略任何具有较低可信度参数的信息。另一方面,这样可打破信息的精确度和其可信度之间的平衡。例如,模块602可以利用参数为信息分配加权系数,以便根据关于信息的可信度和精确度的加权函数计算出位置。
可信度参数的另一个用法如下所述:假定位置服务模块已经确定设备位置,并且已经把该信息写入高速缓存。当位置被写入高速缓存时,可能为其分配高可信度等级。还假定所有其它位置提供商均无法提供位置信息。在一段时间内,位置服务模块602可以将高速缓存中的位置用作当前位置,并且相当确信其信息普遍精确。在这种情况下,位置服务模块可随着时间推移为信息分配线性递减的可信度等级,使得在某时刻终止使用该信息或通知用户不能保证信息质量。
位置,信任度和时标
当位置提供商向位置服务模块602提供其信息时,除可信度和精确度参数之外,该信息还可以包含已知格式的实际位置信息,信任度参数和时标。信任度参数是位置服务模块602为一或多个提供商分配并定义位置服务模块对具体位置提供商的信任程度的度量数据。时标是定义位置提供商提供位置信息的时间的度量数据。这有助于位置服务模块602确定信息是否可靠及是否需要更新。
一旦位置服务模块602具有全部位置信息,该模块可以开始确定设备的位置。
图8是描述确定设备上下文的方法的步骤的流程图,在此例中设备上下文是设备位置。这些步骤由位置服务模块602实现。
步骤800取得当前的设备上下文。当前上下文是存储在高速缓存中、最近计算的设备上下文。步骤802确定是否有可以提供上下文信息的上下文提供商。位置服务模块可以通过轮询上下文提供商以确定哪个提供商活跃且有效来完成上述步骤。步骤804确定是否全部提供商均不活跃。如果全部提供商均不活跃,步骤806减少当前过时上下文的可信度并把当前上下文用作设备上下文。步骤802继续监视当前活跃和有效的提供商。如果步骤804确定一或多个上下文提供商是活跃的,则步骤808排序活跃和有效的上下文提供商。当位置服务模块602排序或分类上下文提供商时,根据关于提供商信息的可信度和/或位置服务模块对位置提供商定义的信任度的函数实现上述排序或分类操作。这提供了位置提供商的等级列表。步骤810进行检查以确定上下文信息看上去是否正确。例如,如果上下文是设备位置,位置服务模块602可了解5秒前当前位置为Redmond,华盛顿。因此,指示当前位置为中国北京的位置信息应当是错误的。步骤812确定是否有上下文信息与设备的当前上下文及来自其它提供商的上下文信息发生冲突。例如,位置服务模块602比较来自各个上下文提供商的上下文信息与高速缓存中的信息。如果有信息与缓存的信息冲突,则删除来自那个上下文提供商的信息。同样地,如果上下文信息无规律地在上下文提供商之间变化,则步骤814可选择具有预定信任度等级的上下文提供商并且可能仅仅使用它们的信息(步骤816)。如果没有冲突,则步骤816根据全部上下文提供商提供的信息确定当前上下文。在所描述的实施例中,通过使用映射到上述一或多个分层树形结构的具体结点的信息实现此步骤。例如,通过映射信息到具体结点,并且接着彻底遍历树形结构直到到达根结点,可以确定设备的位置。步骤818通过将其写入高速缓存来更新当前上下文,并且返回步骤802确定活跃和有效的上下文提供商。
上面描述的方法为位置服务模块提供了接收位置信息并且只使用看起来最可能表示当前位置的位置信息的途径。可以减少或删除有冲突的信息,从而保证只有最被信任,最精确和最可信的信息被用于确定设备的当前位置。
自监视
除可信度和精确度参数之外,让一或多个位置提供商自监视其自身操作中可能出现的不规则情况。在出现不规则情况时,位置提供商通知位置服务模块602。例如,位置提供商从其接收信息的信息源可能离线一段时间,使得位置提供商不能接收任何额外的信息。在这种情况下,位置提供商可以生成“提供商不在线”消息并传递给位置服务模块602。当位置服务模块602接收“提供商不在线”消息时,从其执行的所有位置计算中排除来自提供商的位置信息。当位置提供商的信息源回到线上时,位置提供商可以生成“提供商在线”消息,该消息通知位置服务模块602:位置提供商能够能向其发送位置信息。当然,位置提供商也可以通知位置服务模块出现其它操作不规则情况,其中上述例子仅构成一个特殊的情况。
应用
一旦位置服务模块602确定设备的位置,它可接收来自一或多个应用608的查询。在图7的例子中,应用包含Web站点应用,Outlook应用和服务搜索应用。在本例子中,Web站点应用可以是任何能提供特定于位置的服务的Web站点应用。例如,设备602的用户可以访问Amazon.com的Web站点购买喜爱的书。当用户买书时,Amazon.com必须计算用户需缴纳的税。在此例中,Amazon.com的Web站点上执行的脚本可以查询设备602以了解用户的位置。在此具体实施例中,设备通过返回用户购买状态响应查询。Amazon.com可自动估算税款。Amazon.com还期望了解个人位置以便可选择最佳送货方法(UPS或特快邮件)。根据个人的位置,某种方法可能会比其它方法更好。由于Outlook应用(或诸如Windows的操作系统)可以根据计算设备的位置改变设备设置,Outlook应用可查询位置服务模块以便确定位置。例如,用户在工作时可在一台具体的打印机进行打印,在回到家中时在另一台打印机上进行打印。当Outlook应用确定用户回到家时,可自动改变用户家里打印机设备的设置。可以从个人场所数据存储器714得到打印设置。由此,根据用户的位置,可自动配置所使用的设备。服务搜索应用程序查询设备以确定其位置,以便能够根据设备的位置提供具体的服务。例如,如果用户要求应用程序确定最近的彩色打印机的位置,服务搜索应用程序查询位置服务模块以确定设备当前位置,以便其能够使用该信息并找到最近的彩色打印机。再考虑Outlook应用程序将自身配置成向工作位置(当个人正在工作时)或家庭位置(个人在家时)传递电子邮件的情况。另外,Outlook日历表可以变成知道位置的日历表,例如当改变时区时,你的约会时间能够按照正确的时区显示。
可以设想,可能性是无穷的。通过主世界和一或多个次世界的使用使该功能成为可能。
应用程序接口/事件
在所描述的实施例中,应用608通过一或多个应用程序接口(API)和/或事件与位置服务模块602通信。应用可以在API调用函数以便查询位置服务模块的当前位置。类似地,应用通过使用事件登记过程可以登记位置通知。例如,当用户改变其位置时,应用可登记通知。考虑这样的情况,应用请求在用户去上班或在家里时得到通知,以便能够改变设备的配置(例如打印机配置)。
图9是描述根据所述实施例的方法中的步骤的流程图。所述步骤由设备600实现。步骤900接收涉及设备当前上下文的信息。在此具体实施例中,部分信息来自一或多个上下文提供商,即位置提供商。步骤902在设备上并且通过设备处理信息,以便确定设备的当前上下文。在图解的例子中,设备维护(或访问)一或多个主世界和一或多个次世界。当设备接收到全部位置信息时,该设备把信息映射到定义世界的分层树形结构中的具体节点上。该设备接着遍历树形结构以确定设备的完整上下文(即位置)。步骤904从请求涉及设备当前上下文或位置的信息的一或多个应用程序接收调用。在图解的例子中,应用程序可以调用一或多个API以请求信息,应用程序也可以登录事件通知。接着步骤906向应用程序提供至少涉及当前设备位置的一些信息。如下所述,安全策略或保密策略可应用于未返回应用程序的信息。
隐私管理器
在一个实施例中,提供了隐私管理器704(图7)。尽管隐私管理器被图解成并入设备中,但它可通过诸如不属于移动计算设备的受信服务器的受信实体实现。隐私管理器可以在任何适合的硬件、软件、固件或其结合中实现。在图解的例子中,隐私管理器包括并入移动计算设备的软件模块。
隐私管理器704解决与计算设备收集的信息相关的隐私保密问题。具体地,位置服务模块可以计算详细的、关于计算设备位置的信息。在某些情况下,期望实现对提供给不同应用的信息的筛选。即用户多半不想把其专用的位置信息提供给非受信应用。在这些情况下,用户只希望位置服务模块602通知这些应用其用户在华盛顿州。
图10示出了描述根据所述实施例的隐私保护方法中的步骤的流程图。这些步骤可以由隐私管理器704实现。
步骤100定义了多个保密等级。示例性保密等级在下面的表中说明:
保密等级  精确程度 披露等级
0  - 无位置信息返回
10  100,000Km 行星/大陆
20  1,000Km 国家
30  100Km
40  10-100Km 城市&县或区
50  10Km 邮政编码&区号
60  1Km 完整邮政编码(Zip+4)&区号和电话局
70  100m 电话号码&建筑/楼层
80  10m 房间#
90  1m 精确坐标
在所图解的表中,定义了10个不同的保密等级并且每个保密等级具有相关的精确程度。例如,保密等级0表示无位置信息返回。保密等级90表示返回非常详细的位置信息。
步骤1002把不同的保密等级分配给一或多个分层树形结构中的各个结点。例如,主世界和次世界的各结点具有相关的保密等级。主世界树形结构的根结点的保密等级为10,而代表次世界中当前位置的结点的保密等级为90。步骤1004确定计算设备的上下文。在当前的例子中,上下文是设备位置,并且实现的例子在上面已经给出。调用位置服务模块的个体应用也具有相应的保密等级。这些保密等级可以由个人用户指定。例如,受信应用具有的保密等级为90,而非受信应用的保密等级可能是30。步骤1006接收来自一或多个应用的上下文查询。应用调用位置服务模块602(图7)以确定设备的位置。步骤1008确定与应用相关的保密等级。例如,如果非受信应用进行调用以请求位置信息,则隐私管理器704确定该应用的保密等级为30。接着隐私管理器遍历(步骤1010)一或多个分层树形结构以查找具有相应保密等级的结点,以便隐私管理器可以选择与该结点相关的信息。在此例中,遍历可以涉及从次世界跳转到主世界以查找对应于用户所处的州的结点。一旦找到对应的结点,步骤1012返回与该结点相关的上下文信息(如位置信息)。这样,位置服务模块向应用发出用户位于华盛顿州的通知。
例如,考虑如下情况:存在提供不同位置的即时气象信息的Web站点。因此,你可以指定该Web站点的保密等级为60,这样你可以接收对应于你的完全邮政编码的地理区域的气象信息。另一个Web站点可以是企业内部互联网Web站点,该站点是受信Web站点。这样,可以指定任何与该Web站点相关的应用的保密等级为90,使你可以向他们提供关于你所在之处的精确位置信息。
这样,在本例子中,计算设备能够确定其查询的来源(即应用)并且根据关于应用身份的函数调制被返回应用的信息。因为计算设备可以访问主世界和一或多个次世界,所以计算设备能够这样做。上面的描述仅构成实现所述目的的一个示例性方式。
作为位置提供商的位置信标
在一个实施例中,一个位置提供商包括位置信标,其中位置信标标志或传递允许计算设备主动参与其当前上下文的信息。位置信标可以包括独立设备,其中独立设备可以更新诸如烟雾探测器或为设备提供电源的墙上插座的已有基础结构。
图11示出了安装在结构1102上的示例性信标1100。结构1102可以是任何适合的结构,例如会议室或公共场所的墙壁,烟雾探测器,电子插座等等。在所描述的实施例中,位置信标是比较便宜的设备,可以永久地安放在指定的位置,例如会议室,建筑物的大厅,机场大门,公共场所等。信标以EID和/或LUID的形式向所有范围内的诸如膝上电脑,桌上PC,手持计算机,移动电话,可佩戴计算机等等的移动设备通告物理位置。
在所描述的实施例中,位置信标可以通过标示可被移动计算设备理解的标准信息来标识具体的位置。在本例子中,信标可以传递一或两个包括EID/URL对和LUID/URL对的位置标识符对。信标还可以传递多个LUID。EID和LUID分别给出主世界和次世界的当前结点位置。URL提供可到达的主世界和次世界位置。例如,与次世界相关的URL可以给出服务位置,设备可以使用该服务位置查询关于次世界的信息,使得设备可以导出其上下文并且利用与次世界的结点相关的资源或服务。
信标还可以传递数字签名,设备可以使用数字签名确定该信标是有效和合法的。可以使用任何适合的签名或验证方法。另外,作为带上下文环境中的具体用法,可以安排信标向范围内的设备传递代码下载指针。代码下载指针允许计算设备访问软件代码,该软件代码允许计算设备与其环境进行交互。考虑下面的例子:你携带蜂窝电话计算设备走进会议室,在会议室中的信标立即以EID/URL对和LUID/URL对的形式发送你的位置。如上所述,你的设备利用信息对确定其在主世界和次世界中的位置。信标还传递指向软件代码的代码下载指针,该软件代码允许你在会议室中使用手持蜂窝电话操作投影仪。在此方式下,信标的作用超出了位置信标的范围----它允许你通过你的计算设备主动的参与你周围的环境。
信标可以用任何适合的、例如包含红外和射频的方式传递信息。在一个实施例中,蓝牙短距离射频通信可以用于提供低成本、低功率的选择。
结论
上面描述的实施例提供统一、标准的方式加强带上下文计算的世界。实施例向个人提供通过以标准方式确定其在世界中的位置从而独特体验周边世界的方法。实施例还向服务提供商提供一种方法,以便其以易感受和适合货物与服务的不同消费者的上下文,例如位置的方式,唯一地定位其物品和服务。独特和有益的体系结构和数据结构被用于促进用户的计算体验并且提供以个人为中心的体验。
尽管以特定于结构特征和/或方法步骤的语言描述了发明,但应当理解,在附加的权利要求书中限定的发明不仅仅局限于所述具体特征或步骤。更确切地,以实现要求保护的发明的最优形式公开了具体特征和步骤。

Claims (67)

1.一种计算设备包括:
一或多个处理器;
操作上与一或多个处理器相关的存储器;以及
上下文服务模块,可被载入存储器,并且可被一或多个处理器执行以便从一或多个上下文提供商接收上下文信息以及处理该信息以确定当前的设备上下文。
2.根据权利要求1的计算设备,被实现成移动计算设备。
3.根据权利要求1的计算设备,被实现成桌面计算设备。
4.根据权利要求1的计算设备,其中设备包括维护当前设备上下文的高速缓冲存储器。
5.根据权利要求1的计算设备,其中上下文服务模块被用来自动接收来自上下文提供商的上下文信息。
6.根据权利要求1的计算设备,其中上下文服务模块被用来自动接收来自上下文提供商的上下文信息,并且当计算设备的上下文改变时处理所述信息以确定新的当前设备上下文。
7.根据权利要求1的计算设备,其中上下文服务模块被用来向一或多个上下文提供商请求上下文信息。
8.根据权利要求1的计算设备,其中上下文服务模块被用来向一或多个应用提供关于当前设备上下文的信息。
9.根据权利要求8的计算设备,其中上下文服务模块被用来从一或多个应用接收请求当前设备上下文信息的请求。
10.根据权利要求1的计算设备,还包括与上下文服务模块相关的上下文提供商接口,所述上下文提供商接口包括能够接收来自多个不同上下文提供商的上下文信息的公共接口。
11.根据权利要求1的计算设备,还包括一或多个在操作上与上下文服务模块相关的应用程序接口(API),一或多个API可被一或多个应用调用以获取关于当前设备上下文的信息。
12.根据权利要求1的计算设备,还包括一或多个事件,所述一或多个事件被一或多个应用使用,使得所述应用在发生一或多个事件时可以进行登记以便接收关于当前设备上下文的信息。
13.一种计算设备包括:
一或多个处理器;
在操作上与一或多个处理器相关的存储器;以及
位置服务模块,可被载入存储器,并且可被一或多个处理器执行以便接收来自一或多个位置提供商的位置信息以及处理该信息以确定当前的设备位置。
14.根据权利要求13的计算设备,被实现成移动计算设备。
15.根据权利要求13的计算设备,被实现成桌面计算设备。
16.根据权利要求13的计算设备,其中位置服务模块被用来自动接收来自位置提供商的位置信息。
17.根据权利要求13的计算设备,其中位置服务模块被用来自动接收来自位置提供商的位置信息,并且当计算设备的位置改变时处理所述信息以确定新的当前设备位置。
18.根据权利要求13的计算设备,其中位置服务模块被用来向一或多个位置提供商请求位置信息。
19.根据权利要求13的计算设备,其中位置服务模块被用来向一或多个应用提供关于当前设备位置的信息。
20.根据权利要求13的计算设备,还包括与位置服务模块相关的位置提供商接口,位置提供商接口包括能够接收来自多个不同位置提供商的位置信息的公共接口。
21.根据权利要求13的计算设备,还包括一或多个在操作上与位置服务模块相关的应用程序接口(API),一或多个API可被一或多个应用调用以便获取关于当前设备位置的信息。
22.根据权利要求13的计算设备,还包括一或多个事件,所述一或多个事件被一或多个应用使用,使得所述应用在发生一或多个事件时可以进行登记以便接收关于当前设备位置的信息。
23.一种计算设备包括:
一或多个处理器;
一或多个计算机可读介质;
至少一个分层树形结构,驻留于介质中并且包括多个结点,各个结点代表地球的地理分区;以及
位置服务模块,可被载入存储器,并且可被一或多个处理器执行以便接收来自一或多个位置提供商的信息以及处理该信息以确定包括分层树形结构的结点的当前设备位置。
24.根据权利要求23的计算设备,被实现成移动计算设备。
25.根据权利要求23的计算设备,被实现成桌面计算设备。
26.根据权利要求23的计算设备,其中位置服务模块被用来通过遍历分层树的多个结点来确定当前设备位置。
27.根据权利要求23的计算设备,还包括另一个驻留于介质中并且包括多个结点的分层树形结构,各个结点代表物理或逻辑实体,位置服务模块被用来通过遍历分层树的多个结点来确定当前设备位置。
28.根据权利要求23的计算设备,还包括:
另一个驻留于介质并且包括多个结点的分层树形结构,各个结点代表物理和/或逻辑实体;以及
不同树上的结点之间的链接,
位置服务模块被用来通过遍历分层树的多个结点来确定当前设备位置。
29.根据权利要求23的计算设备,其中位置服务模块被用来向一或多个提供特定于位置的服务的应用提供关于当前设备位置的信息。
30.根据权利要求23的计算设备,其中位置服务模块被用来从一或多个应用接收请求关于当前设备位置的信息的调用。
31.根据权利要求23的计算设备,其中位置服务模块被用来登记一或多个应用,以便在发生可定义事件时通知关于当前设备位置的信息。
32.计算设备包括:
一或多个处理器;
一或多个计算机可读介质;
至少一个分层树形结构,驻留于介质中并且包括多个结点,各个结点代表地球的地理分区;以及
位置服务模块,可被载入存储器,并且可被一或多个处理器执行以便接收来自一或多个位置提供商的信息以及处理该信息以确定包括分层树形结构的结点的当前设备位置。
33.根据权利要求32的计算设备,被实现成移动计算设备。
34.根据权利要求32的计算设备,被实现成桌面计算设备。
35.根据权利要求32的计算设备,其中分层树形结构包括特定于组织的树形结构,所述特定于组织的树形结构具有仅在具体组织内的上下文。
36.根据权利要求32的计算设备,还包括一或多个与分层树的一或多个结点相关的服务,所述设备包括在一或多个处理器上执行以便遍历分层树从而确定一或多个服务的位置的应用。
37.一种知道位置的计算系统包括:
一或多个计算设备;
每个计算设备均具有软件结构,所述软件结构包括:
位置提供商接口,被用来接收位置信息;
位置服务模块,在通信上与位置提供商接口相关,被用来接收来自多个不同位置提供商的位置信息并且处理该信息以确定当前设备位置;以及
一个或多个应用程序接口(API)或事件,与位置服务模块相关并且定义了一种机构,通过该机构可以向被用来提供特定于位置的服务的一或多个应用提供关于当前设备位置的信息。
38.根据权利要求37的知道位置的计算系统,其中一或多个计算设备中的至少一个计算设备包括移动计算设备。
39.根据权利要求37的知道位置的计算系统,其中一或多个计算设备中的至少一个计算设备包括桌面计算设备。
40.根据权利要求37的知道位置的计算系统,其中位置提供商接口被用来接收来自多个不同位置提供商的位置信息。
41.根据权利要求37的知道位置的计算系统,其中位置提供商接口被用来接收来自多个不同位置提供商的位置信息,位置服务模块被用来轮询一或多个位置提供商,使得被轮询的位置提供商可以向位置提供商接口提供位置信息。
42.根据权利要求37的知道位置的计算系统,还包括:
一或多个计算机可读介质;以及
驻留于介质中并且包括多个结点的分层树形结构,各个结点代表地球的地理分区,位置服务模块被用来处理信息以确定包括分层树形结构的一个结点的当前设备位置。
43.根据权利要求37的知道位置的计算系统,其中位置服务模块被用来通过遍历分层树形结构并到达树形结构的根来确定当前设备位置。
44.根据权利要求37的知道位置的计算系统,还包括一个或多个驻留于介质中并且包括多个结点的附加分层树形结构,各个结点代表物理或逻辑实体,附加分层树均具有至少一个与首先提到的分层树形结构链接的结点,位置服务模块被用来通过遍历附加分层树和首先提到的分层树中的至少一个来确定当前设备位置。
45.一种用计算机实现的确定计算设备上下文的方法,包括:
通过计算设备接收关于设备的当前上下文的信息;
在设备上并且通过该设备处理信息,以确定计算设备的当前上下文。
46.根据权利要求45的计算机实现的方法,其中所述接收包括用移动计算设备接收信息。
47.根据权利要求45的计算机实现的方法,其中所述接收包括用手持计算设备接收信息。
48.根据权利要求45的计算机实现的方法,其中所述接收包括用桌面计算设备接收信息。
49.根据权利要求45的计算机实现的方法,其中当前上下文是设备位置。
50.根据权利要求49的计算机实现的方法,其中信息的接收包括接收来自多个不同位置提供商的信息。
51.根据权利要求50的计算机实现的方法,其中以不同的形式接收从多个不同位置提供商接收的信息。
52.根据权利要求50的计算机实现的方法,其中信息的接收包括通过公共接口接收信息。
53.根据权利要求45的计算机实现的方法,其中信息的接收包括接收来自多个不同上下文提供商的信息。
54.根据权利要求53的计算机实现的方法,其中以不同的形式接收从多个不同位置提供商接收的信息。
55.根据权利要求53的计算机实现的方法,其中信息的接收包括通过公共接口接收信息。
56.根据权利要求45的计算机实现的方法,还包括接收来自应用的关于移动计算设备的当前上下文的信息的请求,及向应用返回至少某些信息。
57.根据权利要求45的计算机实现的方法,还包括从一或多个应用的至少一个关于事件的事件登记,其中所述应用将针对该事件接收关于计算设备当前上下文的信息,并且还包括在发生事件时向一或多个应用返回关于计算设备当前上下文的信息。
58.一或多个计算机可读介质,其中具有当被计算设备执行时导致计算设备进行以下操作的计算机可读指令:
接收关于设备当前位置的信息,其中从多个不同位置提供商接收该信息;以及
处理信息以便把信息映射到分层树形结构的结点上,其中分层树形结构包括多个代表(1)地球的地理分区或(2)物理或逻辑实体的结点;以及
遍历分层树形结构以确定当前设备位置。
59.确定手持,移动计算设备的位置的计算机实现的方法,包括:
在移动计算设备上维护分层树形结构,该树形结构包括多个结点,各个结点代表地球的地理分区;
从多个不同位置提供商接收描述当前设备位置的各个方面的信息;
通过移动设备处理信息以确定树形结构上的可能构成当前设备位置的结点;以及
遍历树形结构的至少一个其它结点以确定与当前设备位置相关的附加位置信息。
60.根据权利要求59的计算机实现的方法,其中:
分层树形结构的维护包括维护多个互相链接的分层树形结构;并且
遍历包括遍历多个分层树形结构以确定附加位置信息。
61.根据权利要求60的计算机实现的方法,其中一个树形结构包括物理或逻辑实体的唯一表示。
62.根据权利要求59的计算机实现的方法,还包括从一或多个应用接收针对关于当前设备位置的信息的请求,以及向一或多个应用提供关于当前设备位置的信息。
63.根据权利要求62的计算机实现的方法,其中请求的接收包括接收对应用程序接口(API)的调用。
64.根据权利要求62的计算机实现的方法,其中请求的接收包括接收事件登记。
65.根据权利要求62的计算机实现的方法,还包括在向一或多个应用提供关于当前设备位置的信息之前对该信息应用安全策略。
66.根据权利要求59的计算机实现的方法,还包括在处理信息以确定结点之前,消除从不同位置提供商接收的信息之间可能存在的任何冲突。
67.一或多个计算机可读介质,其中具有当被计算设备执行时导致计算设备进行以下操作的计算机可读指令:
从多个不同位置提供商接收描述当前设备位置的各个方面的信息;
在计算设备上或通过计算设备维护或访问分层树形结构,该树形结构包括多个结点,各个结点代表地球的地理分区;
通过设备处理信息以确定树形结构上可能构成当前设备位置的结点;
遍历树形结构的至少一个其它结点以确定与当前设备位置相关的附加位置信息;
从一或多个应用接收针对关于当前设备位置的信息的一或多个调用,应用被用来提供特定于位置的信息;以及
向一或多个应用提供至少某些关于当前设备位置的信息。
CNB018072569A 2000-04-05 2001-02-16 带上下文的计算设备和方法 Expired - Fee Related CN100464545C (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US09/543,054 2000-04-05
US09/543,054 US7213048B1 (en) 2000-04-05 2000-04-05 Context aware computing devices and methods

Publications (2)

Publication Number Publication Date
CN1419774A true CN1419774A (zh) 2003-05-21
CN100464545C CN100464545C (zh) 2009-02-25

Family

ID=24166394

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB018072569A Expired - Fee Related CN100464545C (zh) 2000-04-05 2001-02-16 带上下文的计算设备和方法

Country Status (7)

Country Link
US (3) US7213048B1 (zh)
EP (1) EP1269711B1 (zh)
JP (1) JP4662675B2 (zh)
CN (1) CN100464545C (zh)
AT (1) ATE514266T1 (zh)
AU (1) AU2001238460A1 (zh)
WO (1) WO2001082562A2 (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1329824C (zh) * 2003-09-15 2007-08-01 国际商业机器公司 用于提供从多个应用程序内可访问的通用协作框架的方法和系统
CN100382021C (zh) * 2004-07-26 2008-04-16 三星电子株式会社 用于提供上下文感知服务的设备和方法
CN102870428A (zh) * 2010-04-09 2013-01-09 瑞典爱立信有限公司 Iptv终端中的方法和装置
CN107491325A (zh) * 2010-08-04 2017-12-19 普瑞姆库马尔·朱娜拉 在设备上管理应用程序的系统,方法及装置
CN109313588A (zh) * 2016-06-30 2019-02-05 微软技术许可有限责任公司 信号上传优化

Families Citing this family (164)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7076255B2 (en) * 2000-04-05 2006-07-11 Microsoft Corporation Context-aware and location-aware cellular phones and methods
US7213048B1 (en) * 2000-04-05 2007-05-01 Microsoft Corporation Context aware computing devices and methods
US7743074B1 (en) * 2000-04-05 2010-06-22 Microsoft Corporation Context aware systems and methods utilizing hierarchical tree structures
US7228327B2 (en) * 2000-05-08 2007-06-05 Hoshiko Llc Method and apparatus for delivering content via information retrieval devices
US8001232B1 (en) * 2000-05-09 2011-08-16 Oracle America, Inc. Event message endpoints in a distributed computing environment
US8060389B2 (en) 2000-06-07 2011-11-15 Apple Inc. System and method for anonymous location based services
US6456234B1 (en) 2000-06-07 2002-09-24 William J. Johnson System and method for proactive content delivery by situation location
US8489669B2 (en) 2000-06-07 2013-07-16 Apple Inc. Mobile data processing system moving interest radius
FI108372B (fi) 2000-06-30 2002-01-15 Nokia Corp Menetelmõ ja laite paikanmõõritykseen
US7493565B2 (en) * 2000-12-22 2009-02-17 Microsoft Corporation Environment-interactive context-aware devices and methods
US6944679B2 (en) * 2000-12-22 2005-09-13 Microsoft Corp. Context-aware systems and methods, location-aware systems and methods, context-aware vehicles and methods of operating the same, and location-aware vehicles and methods of operating the same
US9396487B1 (en) 2006-11-30 2016-07-19 NexRf Corporation System and method for weighting content items
US8738024B1 (en) 2008-03-29 2014-05-27 Nexrf, Corp. Delivering content within a boundary with beacons
US9615347B1 (en) 2006-11-30 2017-04-04 NEXRF Corp. Location positioning engine system and method
US20020142844A1 (en) 2001-02-06 2002-10-03 Kerr Michael A. Biometric broadband gaming system and method
US9408032B1 (en) 2006-11-30 2016-08-02 NexRf Corporation Content delivery system, device and method
US9507494B1 (en) 2006-11-30 2016-11-29 Nexrf, Corp. Merchant controlled platform system and method
US8942995B1 (en) 2001-02-06 2015-01-27 Nexrf, Corp. Mobile autonomous dynamic graphical user interface
US10430492B1 (en) 2006-11-30 2019-10-01 Nexrf, Corp. System and method for handset positioning with dynamically updated RF fingerprinting
US7072908B2 (en) * 2001-03-26 2006-07-04 Microsoft Corporation Methods and systems for synchronizing visualizations with audio streams
US9349128B1 (en) 2006-11-30 2016-05-24 Nevrf Corporation Targeted content delivery
US9773020B2 (en) 2001-07-05 2017-09-26 NEXRF Corp. System and method for map based exploration
EP1298527A1 (en) * 2001-09-28 2003-04-02 Sony International (Europe) GmbH A system for automatically creating a context information providing configuration
US8977284B2 (en) 2001-10-04 2015-03-10 Traxcell Technologies, LLC Machine for providing a dynamic data base of geographic location information for a plurality of wireless devices and process for making same
JP3680783B2 (ja) * 2001-11-01 2005-08-10 ソニー株式会社 電子機器、通信システムおよび方法、情報処理端末および方法、情報処理装置および方法、並びにプログラム
US20030177094A1 (en) * 2002-03-15 2003-09-18 Needham Bradford H. Authenticatable positioning data
CN1295917C (zh) * 2002-08-23 2007-01-17 国际商业机器公司 可以感知用户周围环境的消息传递系统和方法
US6961733B2 (en) 2003-03-10 2005-11-01 Unisys Corporation System and method for storing and accessing data in an interlocking trees datastore
US7373386B2 (en) * 2003-08-11 2008-05-13 Research In Motion Limited System and method for configuring access to electronic mailboxes
US6959325B2 (en) * 2003-08-11 2005-10-25 Teamon Systems, Inc. System and method for generating configurations used for accessing electronic mailboxes
US7603419B2 (en) 2003-08-11 2009-10-13 Teamon Systems, Inc. System and method for automatically learning mailbox configuration conventions
US8516004B2 (en) * 2003-09-19 2013-08-20 Unisys Corporation Method for processing K node count fields using an intensity variable
DE10346007A1 (de) * 2003-10-02 2005-04-28 Siemens Ag Kommunikationseinrichtung und Verfahren zum Einstellen einer Sicherheitskonfiguration einer Kommunikationseinrichtung
US8046000B2 (en) * 2003-12-24 2011-10-25 Nortel Networks Limited Providing location-based information in local wireless zones
US7340471B2 (en) * 2004-01-16 2008-03-04 Unisys Corporation Saving and restoring an interlocking trees datastore
US7511682B2 (en) * 2004-05-03 2009-03-31 Microsoft Corporation Context-aware auxiliary display platform and applications
US9552599B1 (en) 2004-09-10 2017-01-24 Deem, Inc. Platform for multi-service procurement
US20060092125A1 (en) * 2004-09-30 2006-05-04 Kisley Richard V Apparatus and method to authenticate local interface for network attached projector
US7213041B2 (en) 2004-10-05 2007-05-01 Unisys Corporation Saving and restoring an interlocking trees datastore
US7716241B1 (en) 2004-10-27 2010-05-11 Unisys Corporation Storing the repository origin of data inputs within a knowledge store
US7908240B1 (en) 2004-10-28 2011-03-15 Unisys Corporation Facilitated use of column and field data for field record universe in a knowledge store
US7676477B1 (en) 2005-10-24 2010-03-09 Unisys Corporation Utilities for deriving values and information from within an interlocking trees data store
US7348980B2 (en) 2004-11-08 2008-03-25 Unisys Corporation Method and apparatus for interface for graphic display of data from a Kstore
US20070162508A1 (en) * 2004-11-08 2007-07-12 Mazzagatti Jane C Updating information in an interlocking trees datastore
US7499932B2 (en) * 2004-11-08 2009-03-03 Unisys Corporation Accessing data in an interlocking trees data structure using an application programming interface
US7970666B1 (en) * 2004-12-30 2011-06-28 Rearden Commerce, Inc. Aggregate collection of travel data
US7353034B2 (en) 2005-04-04 2008-04-01 X One, Inc. Location sharing and tracking using mobile phones or other wireless devices
US7409380B1 (en) 2005-04-07 2008-08-05 Unisys Corporation Facilitated reuse of K locations in a knowledge store
FR2885245B1 (fr) * 2005-05-02 2007-09-21 Olivier Chabanne Systeme automatique de consultation d'informations
US7389301B1 (en) 2005-06-10 2008-06-17 Unisys Corporation Data aggregation user interface and analytic adapted for a KStore
JP4670496B2 (ja) * 2005-06-14 2011-04-13 住友電気工業株式会社 光受信器
US8856311B2 (en) 2005-06-30 2014-10-07 Nokia Corporation System coordinated WLAN scanning
US10140387B2 (en) 2005-08-02 2018-11-27 The Boeing Company Model for managing variations in a product structure for a product
US8402007B2 (en) * 2005-08-02 2013-03-19 The Boeing Company Methods and apparatus for creating and utilizing templates in connection with information modeling
US8275799B2 (en) * 2005-08-02 2012-09-25 The Boeing Company Methods and apparatus for information modeling
US7535473B2 (en) * 2005-09-20 2009-05-19 Erdas, Inc. Collaborative environments in a graphical information system
US9167053B2 (en) * 2005-09-29 2015-10-20 Ipass Inc. Advanced network characterization
US9088627B2 (en) * 2005-09-29 2015-07-21 Ipass Inc. System and method for actively characterizing a network
US7243149B2 (en) * 2005-10-03 2007-07-10 Motorola, Inc. System and method for determining a presence state of a user
US8346903B2 (en) * 2005-11-29 2013-01-01 Xerox Corporation Print server, mobile computing device, system and method for printing using a mobile computing device
US9117223B1 (en) 2005-12-28 2015-08-25 Deem, Inc. Method and system for resource planning for service provider
US7333464B2 (en) * 2006-02-01 2008-02-19 Microsoft Corporation Automated service discovery and wireless network set-up
US20070214153A1 (en) * 2006-03-10 2007-09-13 Mazzagatti Jane C Method for processing an input particle stream for creating upper levels of KStore
US7734571B2 (en) 2006-03-20 2010-06-08 Unisys Corporation Method for processing sensor data within a particle stream by a KStore
US20080275842A1 (en) * 2006-03-20 2008-11-06 Jane Campbell Mazzagatti Method for processing counts when an end node is encountered
US20070220069A1 (en) * 2006-03-20 2007-09-20 Mazzagatti Jane C Method for processing an input particle stream for creating lower levels of a KStore
US7689571B1 (en) 2006-03-24 2010-03-30 Unisys Corporation Optimizing the size of an interlocking tree datastore structure for KStore
US8238351B2 (en) * 2006-04-04 2012-08-07 Unisys Corporation Method for determining a most probable K location
US7676330B1 (en) 2006-05-16 2010-03-09 Unisys Corporation Method for processing a particle using a sensor structure
US7873610B2 (en) 2006-05-26 2011-01-18 Andrew S Poulsen Meta-configuration of profiles
US20080005679A1 (en) * 2006-06-28 2008-01-03 Microsoft Corporation Context specific user interface
US8374623B2 (en) * 2006-07-21 2013-02-12 Microsoft Corporation Location based, software control of mobile devices
US9031777B2 (en) * 2006-08-08 2015-05-12 Verizon Patent And Licensing Inc. Driving directions with selective printing
US9406079B1 (en) 2006-11-30 2016-08-02 NexRf Corporation Content relevance weighting system
US9501786B1 (en) 2006-11-30 2016-11-22 Nexrf, Corp. Interactive display system
US9043222B1 (en) 2006-11-30 2015-05-26 NexRf Corporation User interface for geofence associated content
US8744758B2 (en) * 2006-12-19 2014-06-03 Verizon Patent And Licensing Inc. Driving directions printed text scaling
US20080167083A1 (en) * 2007-01-07 2008-07-10 Wyld Jeremy A Method, Device, and Graphical User Interface for Location-Based Dialing
US8385946B2 (en) 2007-06-28 2013-02-26 Apple Inc. Disfavored route progressions or locations
US8275352B2 (en) 2007-06-28 2012-09-25 Apple Inc. Location-based emergency information
US8290513B2 (en) 2007-06-28 2012-10-16 Apple Inc. Location-based services
US8762056B2 (en) 2007-06-28 2014-06-24 Apple Inc. Route reference
US9109904B2 (en) 2007-06-28 2015-08-18 Apple Inc. Integration of map services and user applications in a mobile device
US9066199B2 (en) 2007-06-28 2015-06-23 Apple Inc. Location-aware mobile device
US8311526B2 (en) 2007-06-28 2012-11-13 Apple Inc. Location-based categorical information services
US8204684B2 (en) 2007-06-28 2012-06-19 Apple Inc. Adaptive mobile device navigation
US8108144B2 (en) 2007-06-28 2012-01-31 Apple Inc. Location based tracking
US8774825B2 (en) 2007-06-28 2014-07-08 Apple Inc. Integration of map services with user applications in a mobile device
US8175802B2 (en) 2007-06-28 2012-05-08 Apple Inc. Adaptive route guidance based on preferences
US8332402B2 (en) 2007-06-28 2012-12-11 Apple Inc. Location based media items
US20090005964A1 (en) * 2007-06-28 2009-01-01 Apple Inc. Intelligent Route Guidance
US8180379B2 (en) 2007-06-28 2012-05-15 Apple Inc. Synchronizing mobile and vehicle devices
US7743081B2 (en) * 2007-09-18 2010-06-22 Palo Alto Research Center Incorporated Fast local recommender queries via modified spatial data structure querying
US20090163226A1 (en) * 2007-12-20 2009-06-25 Burges Karkaria Device, system, and method of power saving using location sensing modules
US8161299B2 (en) 2007-12-20 2012-04-17 Intel Corporation Location based policy system and method for changing computing environments
US8355862B2 (en) 2008-01-06 2013-01-15 Apple Inc. Graphical user interface for presenting location information
KR20090087269A (ko) * 2008-02-12 2009-08-17 삼성전자주식회사 컨텍스트 기반 정보 처리 방법 및 장치, 그리고 컴퓨터기록 매체
US8682960B2 (en) 2008-03-14 2014-03-25 Nokia Corporation Methods, apparatuses, and computer program products for providing filtered services and content based on user context
US11729576B2 (en) * 2008-03-29 2023-08-15 NEXRF Corp. Targeted content delivery
US11706733B1 (en) 2008-03-29 2023-07-18 NEXRF Corp. Location positioning engine system and method
US20090326815A1 (en) * 2008-05-02 2009-12-31 Apple Inc. Position Fix Indicator
US9250092B2 (en) 2008-05-12 2016-02-02 Apple Inc. Map service with network-based query for search
US8644843B2 (en) 2008-05-16 2014-02-04 Apple Inc. Location determination
WO2009152185A2 (en) * 2008-06-09 2009-12-17 Guestlogix, Inc. Systems and methods facilitating mobile retail environments
US8369867B2 (en) 2008-06-30 2013-02-05 Apple Inc. Location sharing
US8359643B2 (en) 2008-09-18 2013-01-22 Apple Inc. Group formation using anonymous broadcast information
US8260320B2 (en) 2008-11-13 2012-09-04 Apple Inc. Location specific content
US8266708B2 (en) * 2008-12-09 2012-09-11 Broadlands Technologies Llc Privacy protection system
US8948787B2 (en) * 2008-12-23 2015-02-03 At&T Intellectual Property I, L.P. Configuration of telephony services for phone based on user location
US8180369B1 (en) * 2009-02-20 2012-05-15 Babak Sheikh Facilty-based interpersonal communication and interactive information system
US9699600B1 (en) 2009-02-20 2017-07-04 Babak Sheikh Interpersonal communication and interactive information system
US8914039B1 (en) 2009-02-20 2014-12-16 Babak Sheikh Interpersonal communication and interactive information system
US8818412B2 (en) * 2009-03-18 2014-08-26 Wavemarket, Inc. System for aggregating and disseminating location information
US20100242097A1 (en) 2009-03-20 2010-09-23 Wavemarket, Inc. System and method for managing application program access to a protected resource residing on a mobile device
US8683554B2 (en) * 2009-03-27 2014-03-25 Wavemarket, Inc. System and method for managing third party application program access to user information via a native application program interface (API)
US8688779B2 (en) * 2009-04-08 2014-04-01 Blackberry Limited Publishing location for a limited time
US8311983B2 (en) * 2009-04-28 2012-11-13 Whp Workflow Solutions, Llc Correlated media for distributed sources
US10565065B2 (en) 2009-04-28 2020-02-18 Getac Technology Corporation Data backup and transfer across multiple cloud computing providers
US10419722B2 (en) 2009-04-28 2019-09-17 Whp Workflow Solutions, Inc. Correlated media source management and response control
US9760573B2 (en) 2009-04-28 2017-09-12 Whp Workflow Solutions, Llc Situational awareness
US10552849B2 (en) 2009-04-30 2020-02-04 Deem, Inc. System and method for offering, tracking and promoting loyalty rewards
US8666367B2 (en) 2009-05-01 2014-03-04 Apple Inc. Remotely locating and commanding a mobile device
US8660530B2 (en) 2009-05-01 2014-02-25 Apple Inc. Remotely receiving and communicating commands to a mobile device for execution by the mobile device
US8670748B2 (en) 2009-05-01 2014-03-11 Apple Inc. Remotely locating and commanding a mobile device
US20110137817A1 (en) * 2009-06-01 2011-06-09 Wavemarket, Inc. System and method for aggregating and disseminating personal data
US8231233B2 (en) 2009-06-17 2012-07-31 Motorola Mobility, Inc. Portable electronic device and method of power management for same to accommodate projector operation
US8577922B2 (en) 2009-10-09 2013-11-05 Nec Corporation Information management apparatus, data processing method and computer program
JP5528086B2 (ja) * 2009-12-14 2014-06-25 キヤノン株式会社 情報配信装置、情報配信装置の制御方法及びコンピュータプログラム
US20110219423A1 (en) * 2010-03-05 2011-09-08 Nokia Corporation Method and apparatus for triggering user communications based on privacy information
US10721705B1 (en) 2010-06-04 2020-07-21 NEXRF Corp. Content Relevance Weighting System
US8744920B2 (en) 2010-10-05 2014-06-03 Guestlogix, Inc. Systems and methods for integration of travel and related services and operations
US10026058B2 (en) * 2010-10-29 2018-07-17 Microsoft Technology Licensing, Llc Enterprise resource planning oriented context-aware environment
JP5776169B2 (ja) 2010-11-30 2015-09-09 アイシン・エィ・ダブリュ株式会社 交通環境情報辞書作成装置、交通環境情報辞書作成方法、及び交通環境情報辞書作成プログラム
US9359880B2 (en) * 2011-04-07 2016-06-07 Infosys Limited Methods and systems for managing underground assets
US9449288B2 (en) 2011-05-20 2016-09-20 Deem, Inc. Travel services search
US9390137B2 (en) 2011-06-29 2016-07-12 Nokia Technologies Oy Method and apparatus for providing an ordering metric for a multi-dimensional contextual query
US9659165B2 (en) 2011-09-06 2017-05-23 Crimson Corporation Method and apparatus for accessing corporate data from a mobile device
US8627488B2 (en) 2011-12-05 2014-01-07 At&T Intellectual Property I, L.P. Methods and apparatus to anonymize a dataset of spatial data
US8938653B2 (en) * 2011-12-14 2015-01-20 Microsoft Corporation Increasing the accuracy of information returned for context signals
US20130166675A1 (en) * 2011-12-21 2013-06-27 Sap Ag Computer System and Computer Method for Coarse-Grained Data Access
US20130212130A1 (en) * 2012-02-15 2013-08-15 Flybits, Inc. Zone Oriented Applications, Systems and Methods
US9430548B1 (en) * 2012-09-25 2016-08-30 Emc Corporation Generating context tree data based on a tailored data model
JP2015536504A (ja) 2012-11-02 2015-12-21 ジーイー・インテリジェント・プラットフォームズ・インコーポレイテッド 地理位置情報のための装置および方法
US20140162684A1 (en) * 2012-12-12 2014-06-12 At&T Intellectual Property I, Lp Long Term Evolution Advanced Location-Sensitive Information Management
US9191874B2 (en) 2012-12-31 2015-11-17 Ipass Inc. Advanced network characterization and migration
US9609486B2 (en) * 2013-01-03 2017-03-28 Cinarra Systems Location and time-aware systems and methods for mobile user context detection
US10649619B2 (en) * 2013-02-21 2020-05-12 Oath Inc. System and method of using context in selecting a response to user device interaction
KR20150129972A (ko) * 2014-05-12 2015-11-23 에스케이플래닛 주식회사 비콘 펌웨어 업데이트 방법 및 이를 이용하는 비콘 장치, 그리고 시스템
US10503912B1 (en) 2014-08-12 2019-12-10 NEXRF Corp. Multi-channel communication of data files
US9288235B1 (en) 2014-09-17 2016-03-15 Microsoft Technology Licensing, Llc Contextually aware device management
US20160170808A1 (en) * 2014-12-16 2016-06-16 International Business Machines Corporation Contextual utilization management of applications in a pervasive device
US9788155B1 (en) 2015-04-22 2017-10-10 Michael A. Kerr User interface for geofence associated content
US10437575B2 (en) 2015-08-14 2019-10-08 Aeris Communications, Inc. Aercloud application express and aercloud application express launcher
US10648823B2 (en) * 2017-06-22 2020-05-12 Aeris Communications, Inc. Learning common routes and automatic geofencing in fleet management
US9774994B2 (en) * 2015-08-14 2017-09-26 Aeris Communications, Inc. System and method for monitoring devices relative to a user defined geographic area
US10231084B2 (en) * 2015-08-14 2019-03-12 Aeris Communications, Inc. System and method for monitoring devices relative to a learned geographic area
US9826121B2 (en) 2015-12-17 2017-11-21 Xerox Corporation System and method for printing documents using print hardware and automatic print device identification based on context correlation
US10044798B2 (en) 2016-02-05 2018-08-07 International Business Machines Corporation Context-aware task offloading among multiple devices
US10484484B2 (en) * 2016-02-05 2019-11-19 International Business Machines Corporation Context-aware task processing for multiple devices
US10838582B2 (en) 2016-06-15 2020-11-17 NEXRF Corp. Mobile autonomous dynamic graphical user interface
US11132636B2 (en) 2017-06-22 2021-09-28 Aeris Communications, Inc. System and method for monitoring and sharing location and activity of devices
US10735904B2 (en) 2017-06-22 2020-08-04 Aeris Communications, Inc. System and method for monitoring location and activity of devices
US11627195B2 (en) 2017-06-22 2023-04-11 Aeris Communications, Inc. Issuing alerts for IoT devices
US10984079B2 (en) * 2018-01-25 2021-04-20 Oracle International Corporation Integrated context-aware software applications

Family Cites Families (172)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4466060A (en) 1982-02-11 1984-08-14 At&T Bell Telephone Laboratories, Incorporated Message routing in a computer network
US4613946A (en) 1984-06-07 1986-09-23 Forman Ernest H Method and apparatus for generating hierarchical displays
US5230048A (en) 1986-09-03 1993-07-20 Wang Laboratories, Inc. Data processing system with tree and list data structure
US4845744A (en) 1986-10-16 1989-07-04 American Telephone And Telegraph Company, At&T Bell Laboratories Method of overlaying virtual tree networks onto a message passing parallel processing network
EP0362369B1 (en) 1988-04-15 1996-09-18 Digital Equipment Corporation System for managing hierarchical information in a digital data processing system
US5442805A (en) 1988-10-05 1995-08-15 Motorola, Inc. Location-based adaptive radio control
EP0423053B1 (en) 1989-10-13 1996-03-13 International Business Machines Corporation Method of using cached partial trees in computing a path in a data communication network
US5717387A (en) 1990-01-19 1998-02-10 Prince Corporation Remote vehicle programming system
US5241648A (en) * 1990-02-13 1993-08-31 International Business Machines Corporation Hybrid technique for joining tables
US5224150A (en) 1990-07-06 1993-06-29 Simon Neustein Paging system
US5295261A (en) 1990-07-27 1994-03-15 Pacific Bell Corporation Hybrid database structure linking navigational fields having a hierarchial database structure to informational fields having a relational database structure
JPH05347540A (ja) 1990-12-28 1993-12-27 Nissan Shatai Co Ltd ラジオ選局自動プリセット装置
US5568403A (en) 1994-08-19 1996-10-22 Thomson Consumer Electronics, Inc. Audio/video/data component system bus
US5224100A (en) 1991-05-09 1993-06-29 David Sarnoff Research Center, Inc. Routing technique for a hierarchical interprocessor-communication network between massively-parallel processors
US5228098A (en) * 1991-06-14 1993-07-13 Tektronix, Inc. Adaptive spatio-temporal compression/decompression of video image signals
US5319775A (en) 1991-07-22 1994-06-07 Ncr Corporation Centralized diagnostic system for loosely coupled processors
US5499032A (en) 1992-12-22 1996-03-12 Terrapin Corporation Navigation and positioning system and method using uncoordinated beacon signals
US5539922A (en) 1992-01-03 1996-07-23 Motorola, Inc. Multiple tree hierarchical portable communication system and method
US5285261A (en) 1992-07-06 1994-02-08 General Electric Company Dual interferometer spectroscopic imaging system
US5945985A (en) 1992-10-27 1999-08-31 Technology International, Inc. Information system for interactive access to geographic information
JPH06176081A (ja) 1992-12-02 1994-06-24 Hitachi Ltd 階層構造ブラウジング方法およびその装置
FI92782C (fi) 1993-02-09 1994-12-27 Nokia Mobile Phones Ltd Matkapuhelimien asetusten ryhmittely
US5815411A (en) 1993-09-10 1998-09-29 Criticom Corporation Electro-optic vision system which exploits position and attitude
US5761664A (en) * 1993-06-11 1998-06-02 International Business Machines Corporation Hierarchical data model for design automation
CA2117846C (en) 1993-10-20 2001-02-20 Allen Reiter Computer method and storage structure for storing and accessing multidimensional data
US5555376A (en) 1993-12-03 1996-09-10 Xerox Corporation Method for granting a user request having locational and contextual attributes consistent with user policies for devices having locational attributes consistent with the user request
US5635940A (en) * 1994-02-02 1997-06-03 Hickman; Paul L. Communication configurator and method for implementing same
JPH07271813A (ja) 1994-03-31 1995-10-20 Toshiba Corp 情報分類整理システム
US5602596A (en) 1994-04-08 1997-02-11 U S West Technologies, Inc. Method for navigating a complex multimedia structure at an interactive user station
US5644686A (en) 1994-04-29 1997-07-01 International Business Machines Corporation Expert system and method employing hierarchical knowledge base, and interactive multimedia/hypermedia applications
US5559707A (en) 1994-06-24 1996-09-24 Delorme Publishing Company Computer aided routing system
US5543789A (en) 1994-06-24 1996-08-06 Shields Enterprises, Inc. Computerized navigation system
US5948040A (en) 1994-06-24 1999-09-07 Delorme Publishing Co. Travel reservation information and planning system
US5541354A (en) * 1994-06-30 1996-07-30 International Business Machines Corporation Micromanipulation of waveforms in a sampling music synthesizer
US6571279B1 (en) 1997-12-05 2003-05-27 Pinpoint Incorporated Location enhanced information delivery system
US6028551A (en) 1994-12-13 2000-02-22 Schoen; Neil Charles Micro-miniature beacon transmit-only geo-location emergency system for personal security
US5682525A (en) * 1995-01-11 1997-10-28 Civix Corporation System and methods for remotely accessing a selected group of items of interest from a database
US5642303A (en) 1995-05-05 1997-06-24 Apple Computer, Inc. Time and location based computing
GB2302420A (en) 1995-06-19 1997-01-15 Ibm Semantic network
US5794006A (en) 1995-08-18 1998-08-11 Microsoft Corporation System and method for editing content in an on-line network
US5671225A (en) 1995-09-01 1997-09-23 Digital Equipment Corporation Distributed interactive multimedia service system
US5774540A (en) 1995-11-15 1998-06-30 Lucent Technologies Inc. Hierarchical menu screen interface for displaying and accessing telephone terminal features
US5937164A (en) * 1995-12-07 1999-08-10 Hyperlock Technologies, Inc. Method and apparatus of secure server control of local media via a trigger through a network for instant local access of encrypted data on local media within a platform independent networking system
US6300936B1 (en) 1997-11-14 2001-10-09 Immersion Corporation Force feedback system including multi-tasking graphical host environment and interface device
US5794142A (en) 1996-01-29 1998-08-11 Nokia Mobile Phones Limited Mobile terminal having network services activation through the use of point-to-point short message service
US5862325A (en) * 1996-02-29 1999-01-19 Intermind Corporation Computer-based communication system and method using metadata defining a control structure
JP3159055B2 (ja) 1996-05-16 2001-04-23 ヤマハ株式会社 通信システム
US5737731A (en) 1996-08-05 1998-04-07 Motorola, Inc. Method for rapid determination of an assigned region associated with a location on the earth
US5806017A (en) 1996-08-19 1998-09-08 Board Of Regents The University Of Texas System Electronic autorouting navigation system for visually impaired persons
US5839088A (en) 1996-08-22 1998-11-17 Go2 Software, Inc. Geographic location referencing system and method
US6249252B1 (en) 1996-09-09 2001-06-19 Tracbeam Llc Wireless location using multiple location estimators
US6411899B2 (en) * 1996-10-24 2002-06-25 Trimble Navigation Ltd. Position based personal digital assistant
US5953722A (en) 1996-10-25 1999-09-14 Navigation Technologies Corporation Method and system for forming and using geographic data
DE69739487D1 (de) 1996-11-13 2009-08-20 Toyota Motor Co Ltd Kommunikationsvorrichtung von informationen auf kraftfahrzeuge und kommunikationssystem von informationen über kraftfahrzeuge
US6011973A (en) 1996-12-05 2000-01-04 Ericsson Inc. Method and apparatus for restricting operation of cellular telephones to well delineated geographical areas
US7054271B2 (en) * 1996-12-06 2006-05-30 Ipco, Llc Wireless network system and method for providing same
US6359656B1 (en) 1996-12-20 2002-03-19 Intel Corporation In-band synchronization of data streams with audio/video streams
US5917911A (en) 1997-01-23 1999-06-29 Motorola, Inc. Method and system for hierarchical key access and recovery
JP3744102B2 (ja) 1997-02-21 2006-02-08 株式会社デンソー 車両の運行処理装置
JPH10276473A (ja) * 1997-03-28 1998-10-13 Nec Corp 移動体通信システムおよび移動体通信装置
US6018570A (en) 1997-05-12 2000-01-25 Nynex Science And Technology Inc. Methods and apparatus for regulating the remote ordering, authorization, access and control of services and service features associated with a terminal
US6091956A (en) * 1997-06-12 2000-07-18 Hollenberg; Dennis D. Situation information system
US6148261A (en) 1997-06-20 2000-11-14 American Calcar, Inc. Personal communication system to send and receive voice data positioning information
JPH1174992A (ja) 1997-06-23 1999-03-16 Canon Inc 無線通信装置
JP3857388B2 (ja) 1997-06-27 2006-12-13 富士通株式会社 移動通信端末
US6278991B1 (en) 1997-08-22 2001-08-21 Sap Aktiengesellschaft Browser for hierarchical structures
US6125446A (en) 1997-08-29 2000-09-26 Compaq Computer Corporation Computer architecture with automatic disabling of hardware/software features using satellite positioning data
US6418533B2 (en) * 1997-08-29 2002-07-09 Compaq Information Technologies Group, L.P. “J” system for securing a portable computer which optionally requires an entry of an invalid power on password (POP), by forcing an entry of a valid POP
CA2242500C (en) * 1997-09-15 2007-11-13 Monarch Marking Systems, Inc. Early thermal printhead failure prediction system
US5999906A (en) 1997-09-24 1999-12-07 Sony Corporation Sample accurate audio state update
DE19742124C2 (de) 1997-09-24 2001-10-18 Siemens Ag Verfahren und Basisstationssystem zur Sprachübertragung über eine Funkschnittstelle in einem digitalen Funk-Kommunikationssystem
US6044434A (en) 1997-09-24 2000-03-28 Sony Corporation Circular buffer for processing audio samples
JP3893696B2 (ja) 1997-10-24 2007-03-14 カシオ計算機株式会社 通信端末装置
US5991756A (en) 1997-11-03 1999-11-23 Yahoo, Inc. Information retrieval from hierarchical compound documents
DE19748424C2 (de) 1997-11-03 2003-04-17 Daimler Chrysler Ag Verfahren zur fahrverhaltensadaptiven Steuerung eines variabel einstellbaren Kraftfahrzeugaggregates
US6359892B1 (en) * 1997-11-04 2002-03-19 Inventions, Inc. Remote access, emulation, and control of office equipment, devices and services
US6151601A (en) 1997-11-12 2000-11-21 Ncr Corporation Computer architecture and method for collecting, analyzing and/or transforming internet and/or electronic commerce data for storage into a data storage area
DE19750366C2 (de) 1997-11-14 2000-01-13 Bosch Gmbh Robert Verfahren zur Nutzung von einer Zentrale angebotener Dienste durch ein Endgerät und Endgerät
US6057845A (en) 1997-11-14 2000-05-02 Sensiva, Inc. System, method, and apparatus for generation and recognizing universal commands
US6092040A (en) 1997-11-21 2000-07-18 Voran; Stephen Audio signal time offset estimation algorithm and measuring normalizing block algorithms for the perceptually-consistent comparison of speech signals
US6128617A (en) 1997-11-24 2000-10-03 Lowry Software, Incorporated Data display software with actions and links integrated with information
WO1999027681A2 (en) 1997-11-25 1999-06-03 Motorola Inc. Audio content player methods, systems, and articles of manufacture
US6038559A (en) * 1998-03-16 2000-03-14 Navigation Technologies Corporation Segment aggregation in a geographic database and methods for use thereof in a navigation application
US6473770B1 (en) 1998-03-16 2002-10-29 Navigation Technologies Corp. Segment aggregation and interleaving of data types in a geographic database and methods for use thereof in a navigation application
US6128759A (en) 1998-03-20 2000-10-03 Teradyne, Inc. Flexible test environment for automatic test equipment
US6281896B1 (en) 1998-03-31 2001-08-28 International Business Machines Corporation Data processor controlled interface with multiple tree of elements views expandable into individual detail views
JPH11284532A (ja) 1998-03-31 1999-10-15 Toshiba Corp 移動無線端末装置
US6430488B1 (en) * 1998-04-10 2002-08-06 International Business Machines Corporation Vehicle customization, restriction, and data logging
EP1074156A4 (en) 1998-04-22 2004-08-25 Netline Comm Technologies Nct METHOD AND SYSTEM FOR SUPPLYING CELLULAR COMMUNICATION SERVICES
US6184823B1 (en) 1998-05-01 2001-02-06 Navigation Technologies Corp. Geographic database architecture for representation of named intersections and complex intersections and methods for formation thereof and use in a navigation application program
US6078826A (en) 1998-05-29 2000-06-20 Ericsson Inc. Mobile telephone power savings method and apparatus responsive to mobile telephone location
US6563769B1 (en) 1998-06-11 2003-05-13 Koninklijke Philips Electronics N.V. Virtual jukebox
US6185569B1 (en) 1998-06-29 2001-02-06 Microsoft Corporation Linked data structure integrity verification system which verifies actual node information with expected node information stored in a table
US6292833B1 (en) 1998-07-17 2001-09-18 Openwave Systems Inc. Method and apparatus for providing access control to local services of mobile devices
US6233448B1 (en) 1998-07-22 2001-05-15 Ericsson Inc. System, method and apparatus for automatic feature activation/deactivation based upon positioning
US6167255A (en) * 1998-07-29 2000-12-26 @Track Communications, Inc. System and method for providing menu data using a communication network
US6442620B1 (en) 1998-08-17 2002-08-27 Microsoft Corporation Environment extensibility and automatic services for component applications using contexts, policies and activators
US6336138B1 (en) 1998-08-25 2002-01-01 Hewlett-Packard Company Template-driven approach for generating models on network services
US6182136B1 (en) 1998-09-08 2001-01-30 Hewlett-Packard Company Automated service elements discovery using core service specific discovery templates
US6054989A (en) 1998-09-14 2000-04-25 Microsoft Corporation Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects and which provides spatialized audio
US6160553A (en) 1998-09-14 2000-12-12 Microsoft Corporation Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects and in which object occlusion is avoided
US6243093B1 (en) 1998-09-14 2001-06-05 Microsoft Corporation Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects and which visually groups matching objects
US6188405B1 (en) 1998-09-14 2001-02-13 Microsoft Corporation Methods, apparatus and data structures for providing a user interface, which exploits spatial memory, to objects
US6166738A (en) 1998-09-14 2000-12-26 Microsoft Corporation Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects
DE19842836A1 (de) 1998-09-18 2000-04-20 Nokia Mobile Phones Ltd Verfahren zur Bestimmung der Position einer Kommunikationseinrichtung und Kommunikationseinrichtung zur Durchführung des Verfahrens
GB2342196A (en) * 1998-09-30 2000-04-05 Xerox Corp System for generating context-sensitive hierarchically-ordered document service menus
US6525768B2 (en) 1998-10-21 2003-02-25 American Calcar, Inc. Positional camera and GPS data interchange device
US6321092B1 (en) 1998-11-03 2001-11-20 Signal Soft Corporation Multiple input data management for wireless location-based applications
US6522875B1 (en) 1998-11-17 2003-02-18 Eric Morgan Dowling Geographical web browser, methods, apparatus and systems
JP2000165952A (ja) 1998-11-30 2000-06-16 Sanyo Electric Co Ltd 携帯移動電話機及びその使用規制方法
US6279007B1 (en) 1998-11-30 2001-08-21 Microsoft Corporation Architecture for managing query friendly hierarchical values
US6104344A (en) * 1999-03-24 2000-08-15 Us Wireless Corporation Efficient storage and fast matching of wireless spatial signatures
US6842877B2 (en) 1998-12-18 2005-01-11 Tangis Corporation Contextual responses based on automated learning techniques
US6198996B1 (en) 1999-01-28 2001-03-06 International Business Machines Corporation Method and apparatus for setting automotive performance tuned preferences set differently by a driver
US6360167B1 (en) * 1999-01-29 2002-03-19 Magellan Dis, Inc. Vehicle navigation system with location-based multi-media annotation
US6343291B1 (en) 1999-02-26 2002-01-29 Hewlett-Packard Company Method and apparatus for using an information model to create a location tree in a hierarchy of information
US6496893B1 (en) 1999-02-26 2002-12-17 Phoenix Technologies Ltd. Apparatus and method for swapping devices while a computer is running
DE19910760C2 (de) 1999-03-11 2001-04-05 Mannesmann Vdo Ag Audio-/Navigationssystem mit automatischer Einstellung benutzerabhängiger Systemparameter
GB2348568A (en) * 1999-03-31 2000-10-04 Ibm Enabling conformance to legislative requirements for mobile devices
JP2000308130A (ja) 1999-04-16 2000-11-02 Casio Comput Co Ltd 通信システム
US6850951B1 (en) * 1999-04-16 2005-02-01 Amdocs Software Systems Limited Method and structure for relationally representing database objects
US6401051B1 (en) * 1999-04-20 2002-06-04 Sun Microsystems, Inc. Method and apparatus for locating buried objects
US6470332B1 (en) 1999-05-19 2002-10-22 Sun Microsystems, Inc. System, method and computer program product for searching for, and retrieving, profile attributes based on other target profile attributes and associated profiles
US6313791B1 (en) 1999-05-27 2001-11-06 Michael Dean Klanke Automotive GPS control system
US6470344B1 (en) 1999-05-29 2002-10-22 Oracle Corporation Buffering a hierarchical index of multi-dimensional data
US6421072B1 (en) 1999-06-03 2002-07-16 International Business Machines Corporation Displaying a complex tree structure among multiple windows
US6507810B2 (en) 1999-06-14 2003-01-14 Sun Microsystems, Inc. Integrated sub-network for a vehicle
US6307573B1 (en) 1999-07-22 2001-10-23 Barbara L. Barros Graphic-information flow method and system for visually analyzing patterns and relationships
US6470354B1 (en) 1999-08-05 2002-10-22 International Business Machines Corporation Implementing persistent object services (POS) on top of a relational database
US6575361B1 (en) 1999-08-19 2003-06-10 E-2 Interactive, Inc. System and method for managing stored-value card data
US6829475B1 (en) 1999-09-22 2004-12-07 Motorola, Inc. Method and apparatus for saving enhanced information contained in content sent to a wireless communication device
US6799201B1 (en) 2000-09-19 2004-09-28 Motorola, Inc. Remotely configurable multimedia entertainment and information system for vehicles
US6728531B1 (en) * 1999-09-22 2004-04-27 Motorola, Inc. Method and apparatus for remotely configuring a wireless communication device
US6374177B1 (en) 2000-09-20 2002-04-16 Motorola, Inc. Method and apparatus for providing navigational services in a wireless communication device
US6725022B1 (en) 1999-09-22 2004-04-20 Motorola, Inc. Method and apparatus for enabling the selection of content on a wireless communication device
EP1247165B1 (en) 1999-10-01 2006-05-03 Infoglide Corporation System and method for transforming a relational database to a hierarchical database
US20020046084A1 (en) 1999-10-08 2002-04-18 Scott A. Steele Remotely configurable multimedia entertainment and information system with location based advertising
JP2001125908A (ja) 1999-10-26 2001-05-11 Sony Corp 入力装置および方法
US6466918B1 (en) 1999-11-18 2002-10-15 Amazon. Com, Inc. System and method for exposing popular nodes within a browse tree
US6216087B1 (en) 1999-11-23 2001-04-10 Xerox Corporation Infrared beacon positioning system
US6684219B1 (en) * 1999-11-24 2004-01-27 The United States Of America As Represented By The Secretary Of The Navy Method and apparatus for building and maintaining an object-oriented geospatial database
US6411220B1 (en) 1999-12-07 2002-06-25 Cue Corporation Traffic paging system
US6628928B1 (en) 1999-12-10 2003-09-30 Ecarmerce Incorporated Internet-based interactive radio system for use with broadcast radio stations
US6744764B1 (en) 1999-12-16 2004-06-01 Mapletree Networks, Inc. System for and method of recovering temporal alignment of digitally encoded audio data transmitted over digital data networks
US6748225B1 (en) 2000-02-29 2004-06-08 Metro One Telecommunications, Inc. Method and system for the determination of location by retail signage and other readily recognizable landmarks
US6581062B1 (en) 2000-03-02 2003-06-17 Nimble Technology, Inc. Method and apparatus for storing semi-structured data in a structured manner
US6327535B1 (en) 2000-04-05 2001-12-04 Microsoft Corporation Location beaconing methods and systems
US6750883B1 (en) 2000-04-05 2004-06-15 Microsoft Corporation Identity-based context aware computing systems and methods
US7213048B1 (en) * 2000-04-05 2007-05-01 Microsoft Corporation Context aware computing devices and methods
US7076255B2 (en) * 2000-04-05 2006-07-11 Microsoft Corporation Context-aware and location-aware cellular phones and methods
US6654956B1 (en) 2000-04-10 2003-11-25 Sigma Designs, Inc. Method, apparatus and computer program product for synchronizing presentation of digital video data with serving of digital video data
US6519557B1 (en) 2000-06-06 2003-02-11 International Business Machines Corporation Software and method for recognizing similarity of documents written in different languages based on a quantitative measure of similarity
US8037152B2 (en) 2000-06-20 2011-10-11 At&T Intellectual Property Ii, L.P. Active requesting of information for psuedo-live performance
JP4481444B2 (ja) 2000-06-30 2010-06-16 株式会社東芝 画像符号化装置
US6879652B1 (en) 2000-07-14 2005-04-12 Nielsen Media Research, Inc. Method for encoding an input signal
US6633809B1 (en) 2000-08-15 2003-10-14 Hitachi, Ltd. Wireless method and system for providing navigation information
US6513059B1 (en) 2000-08-24 2003-01-28 Cambira Corporation Adaptive collaborative intelligent network system
US6674876B1 (en) 2000-09-14 2004-01-06 Digimarc Corporation Watermarking in the time-frequency domain
US6594666B1 (en) 2000-09-25 2003-07-15 Oracle International Corp. Location aware application development framework
US6748195B1 (en) 2000-09-29 2004-06-08 Motorola, Inc. Wireless device having context-based operational behavior
US6832092B1 (en) 2000-10-11 2004-12-14 Motorola, Inc. Method and apparatus for communication within a vehicle dispatch system
US6385542B1 (en) 2000-10-18 2002-05-07 Magellan Dis, Inc. Multiple configurations for a vehicle navigation system
US6553310B1 (en) * 2000-11-14 2003-04-22 Hewlett-Packard Company Method of and apparatus for topologically based retrieval of information
US6708086B2 (en) 2000-12-11 2004-03-16 Sue M. Richard Vehicle computer
US6625615B2 (en) 2000-12-19 2003-09-23 International Business Machines Corporation Data processing system and method for multi-level directory searches
US7493565B2 (en) 2000-12-22 2009-02-17 Microsoft Corporation Environment-interactive context-aware devices and methods
US6944679B2 (en) * 2000-12-22 2005-09-13 Microsoft Corp. Context-aware systems and methods, location-aware systems and methods, context-aware vehicles and methods of operating the same, and location-aware vehicles and methods of operating the same
US20020081984A1 (en) 2000-12-27 2002-06-27 Constance Liu System that customizes favorite radio stations for multiple users
US6885860B2 (en) * 2001-01-19 2005-04-26 Microsoft Corporation Information management and processing in a wireless network
JP2002261668A (ja) * 2001-03-01 2002-09-13 Hitachi Kokusai Electric Inc 通信機
US7072908B2 (en) 2001-03-26 2006-07-04 Microsoft Corporation Methods and systems for synchronizing visualizations with audio streams
US7082365B2 (en) 2001-08-16 2006-07-25 Networks In Motion, Inc. Point of interest spatial rating search method and system

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1329824C (zh) * 2003-09-15 2007-08-01 国际商业机器公司 用于提供从多个应用程序内可访问的通用协作框架的方法和系统
CN100382021C (zh) * 2004-07-26 2008-04-16 三星电子株式会社 用于提供上下文感知服务的设备和方法
US7937434B2 (en) 2004-07-26 2011-05-03 Samsung Electronics Co., Ltd. Apparatus and method for providing context-aware service
CN102870428A (zh) * 2010-04-09 2013-01-09 瑞典爱立信有限公司 Iptv终端中的方法和装置
CN102870428B (zh) * 2010-04-09 2016-11-09 瑞典爱立信有限公司 Iptv终端中的方法和装置
CN107491325A (zh) * 2010-08-04 2017-12-19 普瑞姆库马尔·朱娜拉 在设备上管理应用程序的系统,方法及装置
CN107491325B (zh) * 2010-08-04 2021-02-23 普瑞姆库马尔·朱娜拉 在设备上管理应用程序的系统,方法及装置
US11640287B2 (en) 2010-08-04 2023-05-02 Aprese Systems Texas Llc Method, apparatus and systems for enabling delivery and access of applications and services
CN109313588A (zh) * 2016-06-30 2019-02-05 微软技术许可有限责任公司 信号上传优化
US11206223B2 (en) 2016-06-30 2021-12-21 Microsoft Technology Licensing, Llc Signal upload optimization

Also Published As

Publication number Publication date
US7483944B2 (en) 2009-01-27
WO2001082562A3 (en) 2002-05-30
US7747704B2 (en) 2010-06-29
EP1269711A2 (en) 2003-01-02
US20070162474A1 (en) 2007-07-12
WO2001082562A2 (en) 2001-11-01
JP2003532210A (ja) 2003-10-28
US7213048B1 (en) 2007-05-01
US20050080800A1 (en) 2005-04-14
EP1269711B1 (en) 2011-06-22
ATE514266T1 (de) 2011-07-15
AU2001238460A1 (en) 2001-11-07
CN100464545C (zh) 2009-02-25
JP4662675B2 (ja) 2011-03-30

Similar Documents

Publication Publication Date Title
CN1419774A (zh) 带上下文的计算设备和方法
CN1585942A (zh) 上下文关系察觉系统和利用层级树型结构的方法
US7072956B2 (en) Methods and systems for context-aware policy determination and enforcement
US6750883B1 (en) Identity-based context aware computing systems and methods
US6327535B1 (en) Location beaconing methods and systems
US7493565B2 (en) Environment-interactive context-aware devices and methods
US7096029B1 (en) Context aware computing devices having a common interface and related methods
US7421486B1 (en) Context translation methods and systems
US7076255B2 (en) Context-aware and location-aware cellular phones and methods

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150506

C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20150506

Address after: Washington State

Patentee after: Micro soft technique license Co., Ltd

Address before: Washington, USA

Patentee before: Microsoft Corp.

CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090225

Termination date: 20190216