CN1585942A - 上下文关系察觉系统和利用层级树型结构的方法 - Google Patents
上下文关系察觉系统和利用层级树型结构的方法 Download PDFInfo
- Publication number
- CN1585942A CN1585942A CNA018073077A CN01807307A CN1585942A CN 1585942 A CN1585942 A CN 1585942A CN A018073077 A CNA018073077 A CN A018073077A CN 01807307 A CN01807307 A CN 01807307A CN 1585942 A CN1585942 A CN 1585942A
- Authority
- CN
- China
- Prior art keywords
- node
- computer
- context relation
- world
- hierarchical tree
- 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.)
- Pending
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/18—Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Information Transfer Between Computers (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
在此描述一种上下文关系察觉计算系统和方法。在具体的实施例中,描述位置察觉系统和方法。在所述实施例中,利用层级树型结构来确定设备的上下文关系或位置。该树型结构可以存储在移动或静止的计算设备上,或者被它所访问,从而该设备可以确定它们自己的特定上下文关系或位置。在一个实施例中,一个树型结构包括主世界树型结构,其中包括表示地球的地理分区的节点。另一个树型结构可以包括所谓的副世界,其中包括表示物理或逻辑实体的节点,该副世界是组织或公司的特定世界观。一个计算设备可以通过确定在一个或多个树型结构上的一个节点而自动确定其上下文关系或位置,然后遍历该树型结构以确定完整的上下文关系。
Description
技术领域
本发明一般涉及上下文关系(context)察觉(aware)计算或随遇计算(ubiquitous computing)领域。
背景技术
万维网(WWW)用于从全世界任何位置中的任何来源获取内容。
网络的用户通常能够通过网络访问看起来无限的资源。网络在这一方面是非常成功的。但是,随着网络的发展,仍然不能够满足特定的需要。具体来说,人们需要访问具有上下文关系的信息。也就是说,通常人们发现它们处于一种携带有特定上下文关系的计算环境中。但是,该环境的上下文关系不能够容易地包含到当前的计算环境中。作为一个例子,考虑位置的上下文关系。人们通常需要访问与他们具有地理上的关系的信息、数据和资源等等。例如,人们可能需要利用最接近于他们所在的服务或产品。在这方面,需要理解个人的位置关系,从而可以使该个人能够获得服务、产品等等。随着“电子商务”日益变得重要,把人、位置、服务和商品有效地联系在一起的必要性变得重要。
到目前为止,有许多把人、位置、服务和商品联系在一起的尝试。这些各种各样的尝试通常从不同的方面解决该问题,并且通常是不兼容的。作为一个例子,考虑位置的关系。一些服务尝试通过建立存储关于该服务的信息的大数据库而把人和服务联系在一起。例如,饭店的列表可以保存在一个可通过网络访问的数据库中,其中每个饭店与该饭店所在地区的一个邮政编码相关联。当用户希望定位某个饭店时,他可以简单地输入他所在位置的邮政编码,以查找与该邮政编码相关的饭店列表。从该饭店列表中,他可以选择一个或两个感兴趣的饭店。由于多种原因,这种方法是不令人满意的。首先,系统的操作基于一个中央服务器,其负责接收用户查询,并且执行该查询以把该信息返回到该用户。一旦该服务器发生故障,则该服务也出现故障。另外,这种特定的服务可能适用于查找饭店,但可能不适用于其它业务。另外,把结果返回给用户的精度可能对用户增加一些搜索负担(即,用户获得在一个邮政编码区域中的饭店列表,但是必须进一步浏览该列表来选择他所感兴趣的一个饭店)。另外,该饭店列表可能包括被一些实际障碍物(即,河流、山等等)所阻挡的饭店,是不可到达的。
服务和产品的提供者希望连接到附近的终端用户。终端用户希望在最近和最方便的位置来消费这些服务和产品。如果您希望补牙或者疏通水池,则不能够获得住在“网络之外(out on the net)”的某处的牙医或管道工的服务。正如当在体育场中寻找最近的表演者时,要求您必须留在该体育场中那样。
存在一种能够进行上下文关系察觉计算的未解决的需求,其中计算设备可以参加到特定的上下文关系环境中。在特定的环境下,在公众或私人的世界观(view of the world)来看,需要提供在实际位置中的相关位置察觉。但是,到目前为止没有一种标准化的世界观来解决上下文关系察觉计算的问题。上下文关系察觉计算不仅仅是位置察觉,但这是非常重要的一方面。
本发明在于开发一种标准化的上下文关系察觉基础构造和相关系统,来解决上下文关系察觉计算的问题。
发明内容
在此描述上下文关系察觉计算系统和方法。在所述的实施例中,定义一个或多个层级树型结构,以唯一地识别地球的地理划分和/或实际或逻辑实体。每个树具有多个节点,以及每个树的至少一个节点被链接。商品和服务可以与该树上的各个节点相关联,当尝试定位或消费该商品或服务时,该节点提供一种通用的参考。
在一个实施例中,计算设备(例如静止或运动的计算设备)访问一个或多个树型结构,并且可以利用该树型结构来确定其当前的上下文关系。该设备通过遍历一个或多个树型结构来确定与该树型结构各个节点相关的信息。在特定的实施例中,该上下文关系是该设备的位置,并且该设备能够自主地确定它在一个主世界(Master World)和一个或多个副世界(Secondary world)中的位置。一旦该计算设备已经确定其位置,则它可以加入基于位置情况中。
在一个实施例中,主世界被定义,并且是一个层级树型结构,其表示该世界的一个普遍接受的描述。一个或多个副世界可以被定义,并且构成与主世界相链接的公司或组织的特定世界观。副世界可以描述一个组织的位置树。
在一个实施例中,一个设备体系结构包括一个公共接口、一个位置服务模块、多个位置提供者以及一个应用程序接口(API)或事件层面。各个位置提供者可以用由位置服务模块所处理的位置信息调用该公共接口,以确定该设备的当前位置。该位置提供者提供关于当前位置的提示,并且该位置服务模块把该提示返回到在一个或多个层级树型结构上的节点位置。该位置服务器遍历一个或多个树型结构,以确定一个完整的设备位置。各种应用程序可以调用API层,从该位置服务模块确定位置信息。通过得知一个设备处于层级结构中的位置,该应用程序可以向用户提供与位置相关的商品或服务。因此用户可以活跃地参加到他当前计算环境中。
在另一个实施例中,该位置服务模块能够在一定程度上确定该设备的位置。这通过使用被分配给由该位置提供者所提供的信息的可靠度(degree of confidence)和精确度参数而实现。另外,可靠度参数可以由该位置服务模块分配给该位置提供者,并且提供与特定位置提供者相关的可靠度的测量。然后在确定使用哪一个位置信息以及如何使用它来确定一个设备的位置时,该位置服务模块可以考虑所有参数。
在另一个实施例中,通过一个保密管理器来解决保密问题,该管理器的功能是对提供到各个应用程序的信息进行调制,作为关于该设备的应用程序标识和保密策略的一个函数。
在另一个实施例中,描述一个唯一的信标提供者。一个信标可以位于各个位置,并且发送可以直接用于确定该设备相对于树型结构节点的位置的上下文关系信息(在位置信息的情况下)。这提供关于该设备在所定义的层级结构中的位置的直接信息。
附图简述
图1为可以根据所述实施例使用的一种示例计算设备的示意图。
图2为根据所述实施例的一种示例主世界和副世界的概念图。
图3为一个主世界和一个副世界以及它们的相互关系的示意图。
图4为描述根据所述实施例的一种方法中的步骤的流程图。
图5为描述在根据所述实施例的方法中的步骤的流程图。
图6为一种示例计算设备结构的简略示意图。
图7为一种示例计算设备结构的更加详细的示意图。
图8为描述根据所述实施例的方法中的步骤的流程图。
图9为描述根据所述实施例的方法中的步骤的流程图。
图10为描述根据所述实施例的方法中的步骤的流程图。
图11为根据一个实施例的示例位置信标的侧立面示图。
具体实施方式
概述
为了提供一种标准化的解决方案,下文所述的实施例提供对世界的统一定义。该统一定义是按照节点的层级数来定义的,其中每个节点表示该世界的某些方面。每个节点通过一个分支连接到至少另一个节点。一种事例的节点划分在物理层上进行(例如,政治实体、基础结构实体和公共场所的物理位置),以及在非物理级上进行(例如,军方的陆军邮局)。该层级节点结构被称为主世界,并且是标准化的世界观。该主世界的每个节点具有相关的各种属性,这有助于上下文关系察觉的计算。示例属性包括唯一的标识号、名称、地理实体级别、经纬度、相关重要性、上下文关系父节点,等等。主世界是有用的,因为它可以用于以任何可确定的精度确定在该世界中的任何一个位置的相对位置。
一旦一个个人的位置或者个人感兴趣的位置被确定,则参照该位置的各种服务可以提供根据它们的位置而提供给该个人。也就是说,由主世界模型所提供的数值能够把该服务与主世界中的节点位置联系起来。
基于这一概念,增加两个额外的概念、所谓副世界和“地带(geozone)”的概念。
副世界是一种有用的计算机制,使各个实体(例如商业或组织机构)可以定义它们各自特定的世界,而不需要与主世界的世界观相符合。也就是说,尽管主世界基本上是该世界的物理层级的表示,副世界可以是每个实体的世界观的物理和/或逻辑的表示。副世界的一个特别有用的方面是它在至少一个点处链接到该主世界。因此。在任何副世界中,用户的位置不但在副世界中,而且也可以确定主世界。各种服务可以附加到副世界的节点上。基于一个用户的计算位置,与副世界节点相关的这些各种各样的服务可以被提供给用户。另外,由于用户的关系被相对于主世界而确定,因此可以提供可能与特定的副世界无关的其它服务。
地带基本上是一个空间索引装置,通过它可以把主世界分为各个区段。在所述的实施例中,该区段通过使用四叉树算法根据密度函数而细分(但是还可以使用许多其它空间索引方法)。一旦达到所需密度水平(密度可以用每个区段所需的点数而定义),在主世界上的每个节点被分配一个特定的地带。地带能够用快速和直接向前的方式而计算。
主世界和副世界的一个有用方面是它们可以从例如固定计算设备(即,台式设备)或移动计算设备(即,移动电话、膝上电脑等等)这样的各种计算设备来“到达”。也就是说,主世界(或者至少其一部分)以及一个或多个副世界可以局部地保留在该计算设备中,或者可以通过网络或一些其它机制而访问,从而用户可以推导出他们的环境关系。例如,副世界可以下载到计算设备,从而用户可以在副世界中推导出它们的环境关系。一旦从主世界和一个或多个副世界确定用户的环境关系,则用户可以获得各种上下文关系察觉解决方案的集合。例如,可以提供特定的副世界服务,或者可以提供主世界服务。另外,还可以提供来自其它副世界的服务,因为这些其它副世界能够得知该用户的位置。按照为种方式,主世界可以把两个或更多的副世界链接在一起。
另一个方面是所述实施例利用每个计算设备的计算能力来确定该设备的位置。在此,通过利用可由该设备所到达的主世界和一个或多个副世界(并且可能保留在该设备上),该设备本身确定其自身的环境关系。
一个实施例提供一种客户方设备,其被构造为利用上文所述上下文关系察觉结构,即主世界和一个或多个副世界。主世界或其一部分可以局部地在该设备上获得,或者可以被在另一个位置访问,例如通过网络。在本实施例中,客户设备具有一个位置服务。所述位置服务是一个软件模块,其可以确定该设备的位置,并且可以回答来自各种应用程序(在该设备上或该设备之外执行)的查询。该位置服务通过使用该主世界和一个或多个副世界来确定该设备的位置。该应用程序通过一个或多个应用程序接口或事件来查询该位置服务,以获得由该应用程序所使用的位置信息,来提供服务。
该位置服务利用把信息传送到该设备的一个或多个位置提供者。该信息可以是对该位置提供者特定的信息,或者可以是直接映射到该主世界或副世界的一个节点的信息。事例的位置提供者可以包括全球定位服务(GPS)提供者、移动电话提供者(通信公司)、蓝牙提供者、用户接口提供者等等。该位置提供者提供给出一个设备的当前位置的一些方面的信息。该信息由位置服务来使用,以确定该设备的位置。
该客户设备的一个特定的优点是一个标准或共同的位置提供者接口。该位置提供者接口使各种位置提供者把信息提供到该位置服务,从而该位置服务可以使用该信息来确定其位置。本质上,多个位置提供者是使多个不同的位置提供者把关于位置的信息(或提示)提供到在一个设备上的位置服务。该位置提供者可以连续地按照时间间隔或者当被该设备所询问时提供位置信息。该位置信息可以提供可靠度和精确度的估计,以使得该位置服务在使用该信息之前能够估计该信息的相对质量。各种提供者还能够自我监控,以使该提供者能够智能地把信息传送到该位置服务。通过利用一个命令接口,可以动态地扩展位置提供者的集合,也就是说位置提供者可以在该位置提供者的集合中增加或减少,而不影响由该位置服务或设备所执行的功能。可以在该设备工作时增加或减少位置提供者。这在未来的发展中适应位置提供者方面特别有用。在该具体实施例中,提供两个级别的概述,即(1)从位置提供者接收信息的提供者接口,以及(2)使应用程序能够获得各种信息的API/事件层。
该实施例的一个焦点是可以从各种不同的来源收集上下文关系信息(例如,位置信息)的设备,从该信息确定该设备的当前上下文关系,并且把该当前上下文关系在一些级别上提供到一个或多个应用程序,该应用程序可以使用该设备的上下文关系来提供服务,或者使该设备参加到其关系环境中。
在所述实施例中,该设备接收关于其位置的位置信息或提示。该信息被位置服务器所比较和映射到在主世界和/或副世界中的一个节点。该层级树然后被遍历,与确定该设备在副世界和主世界中的精确位置。在这一点,该设备已经确定其上下文关系。对所收集的信息进行判断,以保证仅仅非常可信的信息被用于确定上下文关系。该位置信息可以被缓存,以提供对于一个可确定的时间段具有一定的精度的“当前位置信息”。因此,如果由于一些原因,不能获得其它位置提供者,则该缓存内容可以被用于确定位置。
一旦确定一个设备的位置,则该设备可以对该信息采用一种安全策略。一旦完成之后,该设备可以开始回答来自各种应用程序的查询。
所述实施例的一个方面是“喜好位置”方面,其中该设备可以被自动地配置,当确定其上下文关系时,可以调节到不同的位置。
另外,各种位置提供者可以传送不同类型的信息。例如,所谓的“薄提供者(thin provider)”提供由位置服务转换为适当的节点信息的位置信息。所谓的“厚提供者(thick provider)”提供逻辑电路,其获取位置信息并且把它以可以直接映射到主世界或副世界的方式而提供。
在另一个实施例中,提供位置转换服务,其用于近可能精确地确定设备的上下文关系或位置。在本实施例中,从各个位置提供者接收信息。该信息包括位置、精度和可靠性(所有这些由位置提供者所提供)、可靠度(被该设备或用户分配给一个位置提供者)以及时间标记(其有助于确定该位置信息的使用期限)。该位置转换处理涉及确定那个位置提供者为有效或可用。该位置提供者可以根据其可靠度和可靠性而排行。这确定位置提供者的一个排序列表。对一种情况做出规定,其中所有位置提供者可能都无效。如果这样的话,一个“当前位置”被用作为其可靠度随着时间而降低的位置提供者。
在来自两个或多个位置提供者的信息相冲突的情况下,则可以进行测量,以使用具有较高可靠度的信息。由所有位置提供者所提供的信息(假设没有冲突)可以被用于确定一个树型结构和一个节点实体ID(EID)。该树可以是主世界,并且该EID是主世界上的一个节点。该树还可以是副世界,并且EID(或者位置唯一标识符或“LUID”)是在副世界上的一个节点。一旦收集该信息,则可以通过简单地遍历该树而确定完整的位置信息。一旦确定一个设备的位置,则可以使用当前位置(包括一个时间标记)而更新一个缓存器。
在另一个实施例中,解决在该上下文关系察觉计算环境中的保密性问题。在该实施例中,该位置服务已经获得与特定设备的位置相关的位置信息。一个保密管理器确定什么级别的信息要提供给可能要求该信息的应用程序。该保密管理器可以驻留在该计算设备本身,或者可以由被信任的第三方而提供。
根据本实施例,定义一个保密级别的尺度。每个级别被定义为包括关于特定设备的位置的更多或更少的具体信息。一个用户可以把一个保密级别分配给可能要求位置信息的实体。另外,主世界和副世界的每个节点可能具有与其相关的一个保密级别。当来自一个应用程序的请求被接收时,该保密管理器首先确定该请求来自何方以及与该应用程序或实体相关的保密级别。然后,该保密管理器评估一个或多个主世界和副世界,以查找具有相应保密级别的一个节点。当找到相应的节点时,特定精度的信息被提供到该请求应用程序或实体。
在另一个实施例中,描述以位置信标的形式提供位置提供者的系统和方法。在该实施例中,提供一个位置信标,其可以安装在各个区域(公共/私人区域),以向在发射范围内的任何计算设备指示该位置。被发送的信息是一个设备确定其位置或上下文关系。该位置信标可以发送对于使用该信息的位置服务特定的信息。所发送的信息可以包括EID/URL对,以及一个LUID/URL对。该EID给出在主世界中的一个节点的节点标识;以及相关的URL给出与主世界进行通信的一种协议。该URL例如可以链接到可以提供使用该EID的额外主下文信息的服务器。该LUID表示在副世界上对应于当前位置的一个节点;以及URL提供与副世界进行通信的一种协议。例如,URL可以与容纳该副世界的一个服务器相链接。该服务器然后可以被查询,以获得关于副世界(即,副世界树型结构,相关资源的位置等等)的更多信息。利用EID和LUID(与URL一同),一个设备现在可以遍历该主世界或副世界,以确定其位置。可以使用各种技术来实现该信息(无线、射频、红外)。该信标可以是一个“一次编程”的设备,以防止被窜改。但是可以提供可编程的信标。还可以用一种具有信标信息的可认证签名的形式提供保密性,以保证所发送信息的真实性。
该信标的一种有用的上下文关系察觉计算的方面是“位置使能访问”的思想。也就是说,除了接收位置信息(或者与其相分离)之外,一个信标可以发送代码下载指针,其使得小型设备可以访问能够使该设备参与到当前的上下文关系环境中的软件代码。
示例的计算系统
在本文的上下文关系中,术语“计算设备”一般用于指任何类型的计算设备。典型的计算设备的特征是它们一般包括一个或多个处理器、计算机可读介质(例如存储设备和存储器)以及在一个或多个处理器上执行的软件,其使得该处理器实现编程功能。在特定的实施例中,在移动计算系统(例如膝上计算机等等)和/或手持计算设备(例如掌上电脑、无线电话等等)的情况中实现本发明。
图1为构成一种计算设备的一个例子的示意图,其适用于与所述实施例相结合。应当知道,所示计算设备的部分可以包含在能够实现特定实施例的一个或多个计算设备中(例如,掌上电脑、无线电话等等)。
计算机130包括一个或多个处理器或处理单元132、系统存储器134和把包含系统存储器134的各种系统组件连接到处理器132的总线136。该总线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相连接的接口连接到处理单元132。监视器172或其它类型的显示设备还通过例如视频适配器174这样的接口连接到总线136。除了监视器之外,个人计算机一般包括其它外围输出设备(未示出),例如扩音器和打印机。
计算机130通常在使用到例如远程计算机176这样的一个或多个远程计算机的逻辑连接的联网环境中工作。该远程计算机176可以是另一个个人计算机、服务器、路由器、网络PC、对等设备或其它公共网络节点,并且一般包括上述与计算机130相关的多个或所有元件,但是在图1中仅仅示出一个存储设备178。在图1中所示的逻辑连接包括局域网(LAN)180和广域网(WAN)182。这种联网环境在办公室、企业计算机网络、内部网和互联网中是常见的。
当用于LAN联网环境中时,计算机130通过网络接口或适配器148连接到本地网络180。当用于WAN联网环境中时,计算机130一般包括调制解调器186或者用于通过例如互联网这样的广域网182建立通信的其它装置。内置或外置的调制解调器186通过串行端口158连接到总线136。在联网环境中,与个人计算机130或其部分相关的程序模块可以存储在远程存储设备中。应当知道,所示的网络连接是示意性的,可以使用在计算机之间建立通信连接的其它方式。
通常,计算机130的数据处理器通过使用在不同时间存储在计算机的各个计算机可读介质中的指令而编程。程序和操作系统例如一般分布在软盘或CD-ROM上。由此至少把它们部分地安装到计算机的主内存中。当这种介质包含用于执行下文中结合微处理器或其它数据处理器所述的步骤的指令或程序时,在此所述的发明包括这些和其它各种类型的计算机可读存储介质。
为了说明的目的,在此示出例如操作系统这样的程序和其它可执行程序组件作为分离的模块,但是认为这种程序和组件在不同时间位于该计算机的不同存储部件中,并且由该计算机的处理器所执行。
对世界的定义
到目前为止解决上下文关系察觉计算问题的一个难题时每种所提出的解决方案具有其自身的方法,数据结构、处理等等。如果各种方法之间没有标准化。在所述实施例中,标准化是通过定义统一的世界观的基础上实现的。也就是说,提出一种被普遍接受的对世界的定义,并且用于各种计算环境中,以实现基于上下文关系的计算。在本文中,基于上下文关系计算的具体例子以基于位置的计算的形式给出。应当知道这仅仅是下文所述的各种实施例可以采用的上下文关系的一个例子。可以包含其它“上下文关系”,可以填充到一个层级结构中的任何信息包括而不限于在一个组织中的角色/人员、设备分类、当前活动、当前环境、有效设备等等。
主世界
主世界被定义为一种政治上正确的以及公众接受的层级树型结构,其对地球的物理位置和地理分区进行编目。主世界被用这样一种方式来定义,以包含在整个地球上许多不同级别的政治、管理和地理实体。根据计算设备的语言和/地点表示一个世界观,而考虑在政治上有争议的区域。
图2示出表示主世界的一部分的一种示例层级树型结构200。主世界包括多个节点202,每个节点表示地球的一些类型的地理分区(例如,政治或自然实体)。在所示实施例中,主世界的节点被安排在如下组中:(1)政治或自然实体(例如,大陆、国家、海洋、州、县、城市等等);(2)基础建筑实体(例如,邮政编码、区域编码、时区等等);(3)公共场所实体(例如,公园、商场、机场、体育馆等等);以及(4)非物理实体(军用邮政编码区域、度假区、可能在地理上不连续的电视网络的覆盖区等等)。
在图2中,例如树型结构的顶端节点表示地球。在顶端节点表示地球的地理分区。在本例中,没有一个节点与任何商业或服务相关联。也就是说,在作为主世界的一部分的节点实体与进行活动的非地理区域之间具有区别。尽管主世界包括用于公共场所的节点(例如,机场、商场等等),但是不包括商业或服务提供者的列表。每个节点由一个ID(EID或实体ID)唯一地识别。除了唯一的EID之外,一个URL与该树型结构相关联,并且提供用于该树型结构的上下文关系,则在下文中变得更加清楚。
作为一个例子,考虑如下情况:西雅图-塔科马国际机场(SeaTac)将包含在该主世界中,但是对位于SeaTac上的各个航线业务的参考可能是在由SeaTac机场EID所表示的树上的“叶节点”(参见“副世界”部分和下表)。类似地,西雅图中心可以是在主世界上的一个节点,而西雅图艺术节、Bumpershoot、西雅图Sonics职业篮球队和西雅图中心星巴克咖啡店可以用西雅图中心EID来标记。作为另一个例子,主世界还可以包含用于所有州际(汽车高速公路)出口的节点。例如,I-90、出口109、华盛顿(I-90,Exit 109,Washington)是在主世界中的一个节点。位于Ellensburg,Washington中的1700Canyon路上的Best Western Inn旅店可以用该出口的EID来标识。
因此,主世界提供一种确定位置的统一方式。该统一位置定义然后可以普遍地用于把属性指定给商品或服务。无论何时一个计算设备确定其位置对应于特定的统一位置定义,可以利用共享该统一位置定义的与位置相关的商品或服务。主世界是有用的,因为它是一种标准化的世界观。它的精确标准化的地理尺寸属性可以容易地被提供者和消费者所访问。服务和产品提供者(或者例如搜索引擎、网络和黄页数据库目录这样的第三方)可以通过把一个标准化的永久地理参考分配给每个商业位置或者感兴趣的地点,而使用该主世界的节点。这些商业位置或感兴趣的地点可以被认为是该树型结构上的“叶节点”。
在所示的例子中,主世界的节点具有便于它的使用的一个或多个属性。示例的属性在下表中描述:
属性 | 描述 |
实体ID(EID) | EID是用于每个节点的唯一ID。没有任何两个节点具有相同的EID。 |
名称 | 以中性的真实地点(NGT)名称来定义的名称。该NGT名称支持用于适当实体名称的各种语言转换(例如,太平洋、Pazifischer Ozean、Oceano Pacifico,等等) |
地理实体类别(GEC) | GEC是每个节点的地理划分。在下文的“地带”部分中讨论一种示例的GEC。 |
纬度 | 在地球上的水平坐标位置(即,节点中心的坐标位置) |
经度 | 在地球上的垂直坐标位置(即,节点中心的坐标位置) |
相关重要性 | 一个实体相对于在相同区域中的另一个实体的地理重要性。从1至256的数值(例如,纽约市=3、洛杉矶=4、奥马哈=5,尽管奥马哈非常小,但是几乎与周边的知名地点同样重要) |
上下文关系父节点 | 对于每个节点的父/子关系的父节点。支持多个父节点(例如,雷德蒙是King County的子节点,地区代码425,太平洋时区,以及MSNBC隶属KING TV)。 |
来源 | 该记录的来源(例如,微软或者特定数据销售商) |
开始日期 | 当节点信息是开始生效时的日期 |
结束日期 | 当节点信息是最后有效时的日期(废弃的邮政编码,国家的破裂) |
修改日期 | 关于废弃或者对任何字段更新的记录改变的记录日期 |
状态 | 激活、连接(把复制节点链接在一起)、暂停或退出 |
在上文所列的属性仅仅是示例性的属性。可以使用与上述参考不同和/或额外的其它属性。采用上述属性的一些示例实体或节点记录如下文所示:
实体ID(EID) | 24948 |
名称 | 太平洋、Ocean、Pazifscher、Ozean、Oceano、Pacifico、eic |
地理实体类别(GEC) | 138/Ocean |
纬度 | 0(+000°00’00”) |
经度 | -170(-170°00’00”) |
相关重要性 | 1 |
上下文关系的父节点 | 世界 |
来源 | MSFT GeoUnit |
开始日期 | 0/0/00 |
结束日期 | 0/0/00 |
更改日期 | 01/18/00 |
状态 | 有效 |
实体ID(EID) | 27490 |
名称 | 雷德蒙 |
地理实体类别(GEC) | 78/non-capital town |
纬度 | 47.6768303(+0470°40’36”) |
经度 | -122.1099625(-122°06’35”) |
相关重要性 | 107 |
上下文关系的父节点 | 1.King,二级[华盛顿,美国]2.Puget Sound-Seattle旅游区[华盛顿,美国] |
来源 | MSFT GeoUnit |
开始日期 | 0/0/00 |
结束日期 | 0/0/00 |
更改日期 | 01/18/00 |
状态 | 有效 |
主世界还作为在它自身与各种“副世界”之间的公共链接库,并且作为把副世界连接到其它副世界的通道。内容、服务和设备提供者可以利用主世界把他们共同可用的资源与地理位置以及相应的多个分支层级结构相关联。该位置将与在该树型结构中的单个实体相关联,从而能够进行地理和时间/距离计算以及必要的父/子关系的导航。
主世界索引(地带)
通过定义,主世界提供覆盖整个地球的实体(节点)的层级结构。在该层级中相上导航是很自然的。有效的向下导航要求得知地理邻近关系。另外,可能有需要从分支跳到另一个分支以成功地返回一个查询的数值,或者更加精确地计算到达除了原节点之外的其它节点的附近“叶节点”的距离。主世界利用索引方案,其通过地理邻近关系识别对等级别的节点。该索引方案利用四叉树算法来定义所谓的“地带”。
四叉树本质上是一个空间索引,其把覆盖区域分为均匀减小尺寸的相似单元。该树的每个分支具有多达四个子节点。该四叉树分割处理可以继续直到整个地图被根据许多不同最终结果标准而划分,该标准包括在每个分支中的项目数的密度(例如相关的点数)。该方法提供一种空间索引的形式,其加速空间选择和内容识别。
为了完成该空间索引方案,以对每个节点提供一个确定的地带,一个四叉树算法被应用于该节点,并且例如可以基于要在任何一个地区中出现的感兴趣地点的所需密度。一旦所有地区已经被定义,每个地区被给出一个唯一的ID(例如,上/左和下/右纬度和经度对)。然后,主世界的每个节点被分配它所在的一个地区。四叉树算法是由本领域的专业人员所公知。
主世界位置
应当知道,以层级可遍历树型结构的形式对该世界进行统一标准化可以大大地促进与上下文关系无关的方式,并且更加具体来说可以链接与地点无关的商品和服务。
在所述的实施例中,一个计算设备已经访问至少该主世界的一部分。例如,该计算设备具有存储在内部存储设备的主世界,它可以包括计算设备的操作系统的部分,或者该设备可以通过例如互联网这样的网络介质而访问主世界。利用可被每个计算设备所访问的主世界树型结构,每个设备具有确定其自身的上下文关系或节点参考位置的功能。也就是说,计算设备可以通过软件执行而确定它们特定的位置,即节点。一旦计算设备确定一个相关节点,它可以简单地便利该树,以确定它的完整位置。
例如,如果计算设备确定它当前处于与雷德蒙市相对应的一个节点处,则它可以遍历该主世界树型结构以确定它是处于北美大陆上的美国的华盛顿州内。通过确定它的精确位置,计算设备(或它的用户)现在处于利用可以提供基于位置的服务的状态下。这种特殊的模式对于利用中央服务器来确定多个不同设备的位置的当前模式具有极大的改进。在该模式中,每个设备(或用户)提供关于它们位置的信息(例如,用户可以输入该设备当前所在的邮政编码或城市)以及可以输入一个查询,例如查找在它的邮政编码所在区域的麦当劳餐厅。然后该服务器利用该信息,例如可以告诉该用户关于在该邮政编码区域或城市中的所有麦当劳餐厅的位置。如果该服务器在该模式中出现故障,则没有一个计算设备能够利用它的服务。在当前模式中,每个计算设备是独立的。它们可以确定自己的位置,并且相应地每个设备可以利用基于位置的服务。例如,如果该计算设备知道它位于该主世界的一个特定节点上,则它可以执行查询以查找具有对应于该计算设备所在的特定节点的EID的麦当劳。通过利用上述地带提供特定的鲁棒性(robustness)。该地带能够用有效的方式快速地搜索附近的地理分区。例如,如果一个个人查找最近的Kinko′s来制作副本并且没有一个Kinko′s处于与该计算设备所在节点相对应的地带中,则可以快速搜索邻近的地带。
副世界
在所述实施例中,副世界的概念用于提供对附加上下文关系的支持。一个副世界可以由第三方组织或公司所定义,并且包含由对该组织唯一的物理和/或逻辑实体所构成的节点。由于副世界可以是公共或专用的,因此副世界的节点可以具有或没有定义该副世界的特定组织之外的许多上下文关系。该副世界不是对主世界的复制,而是向它提供一种独特的对组织特定的方式。尽管主世界被定义为一种广泛接收的标准,但是每个副世界可以是一个组织的所有者的世界观的各种表现。所述的实施例中,每个副世界具有至少一个节点,它与主世界的一个节点相链接。这给副世界一个在主世界中的上下文关系或位置。并且请注意在一些上下文关系应用程序中,几个副世界可以被访问,每个副世界提供额外的对上下文关系特定的位置数据块。
图2示出一种示例的副世界204,其中包括多个节点206。每个节点206构成一个物理或逻辑实体。例如,该节点可以构成一个公司、它的部门、分部区、大楼、在各个大楼中的楼层以及在各种楼层中的房间。至少一个节点与主世界的一个节点相链接。副世界的节点可以具有与主世界的节点相同的属性。
作为副世界的一个例子,考虑可能定义一个副世界的波音公司,其中包括对于其雇员重要的一个实体的列表。根实体可以是“波音公司”,并且它的子节点可以是公司部门(圣路易斯军事部门、埃弗雷特工厂、公司总部等等)。在该树型结构向下,各个节点可以被定义来表示各个大楼(小型机库12)、在该大楼中的办公室(办公室1001)、大楼的区域(小型机库12的西南区)等等。每个实体或节点具有唯一的标识符(位置唯一的ID或者“LUID”)以及与出现该节点的树相关的URL。该URL唯一地识别副世界树型结构,使得在该世界中的用户可以确定如何与该世界交互作用。这一方面在下文更加详细地讨论。然后波音公司可以利用LUID来把设备、服务、部门或者甚至个人与物理或逻辑位置相关联。
作为一个更加具体的例子,考虑图3,其中示出主世界300和副世界302的一个示例部分。主世界300包括如下节点:世界、美国、华盛顿、雷德蒙以及邮政编码=98052。示例的副世界302为一个层级树型结构,其由微软公司所定义并且包括如下节点:微软、雷德蒙分部、1号微软路、大楼26号、第三层、会议室3173、大楼24号、第二层、会议室1342。在本例中,副世界302从雷德蒙节点“进入”主世界。在本例中,投影仪示出作为节点“会议室1342”相关联。在此,投影仪不是副世界中的一个节点。而且,该投影仪是在一些其它资源开发服务中的一个项目(例如,有效名录)并且包括作为指向“会议室1342”的一个指针的地点属性。但是,在此可以用当在该世界中创建节点的时间来表示关键服务的位置-该节点本身,但是不表示该服务。
与主世界相类似,副世界可访问用户的计算设备。例如,它可以是完全或部分地被下载以及存储在一个存储设备中并且在需要时被访问。它可以仅仅在使用时被下载。副世界使得计算设备确定它在副世界中的上下文关系。在本例中,通过使用副世界,该计算设备计算它在副世界中的位置。该计算设备可以通过从它当前所在的节点到根节点遍历该树型结构。例如这给计算设备(以及用户)一个完整的副世界上下文关系。一旦副世界位置已知,则用户处于能够利用与副世界的节点相关的商品或服务。也就是说,一旦计算设备确定其副世界的上下文关系,则它容易变为在该副世界中的一个活跃参加者。
可以通过把商品或服务与副世界的各个节点相关联而实现极大的价值。例如,会议室1342具有与其相关的一个投影仪。也就是说,投影仪的位置在会议室1342中。假设在会议室3173中的一个人要作一个演讲,这需要使用例如位于会议室1342中的投影仪。通常,该个人除了实际打电话到该大楼以查询是否可以使用一个投影仪之外没有办法确定该投影仪的位置。在本例中,由于用户的计算设备能够确定它在副世界中的位置,因此它可以定位在会议室1342中的投影仪。这是通过简单地执行对副世界的树型结构进行遍历的软件来查找感兴趣的资源而实现的。
请注意由于有一个链接连接到主世界,该计算设备能够推导出其在两个世界中的上下文关系(位置)。这使得计算设备和用户能够利用与副世界相关的商品和服务,以及参加到可以根据在主世界中的用户位置而可以消费的基于位置的服务中。
图4为示出在根据上述实施例的方法中的步骤的流程图。在下文中描述的步骤通过在所示例子中作为一个手持移动计算设备的计算设备来执行。
步骤400访问驻留在计算机可读介质中的第一和第二层级树型结构。在本例中,该树型结构可以存储在该设备中或者可以通过例如互联网这样的网络来访问。一种示例的第一树型结构是主世界,以及一种示例的第二树型结构是副世界。另外,该树型结构都可以是副世界。一旦该树型结构已经被该设备所访问,步骤402遍历该树型结构的多个节点,以推导出该计算设备的上下文关系。在本例中,该计算设备接收关于它在一个树的一个节点的位置的信息。该信息可以用任何适当的方式到达该计算设备,例如用户可以通过用户接口(UI)输入信息,或者可以通过另一种计算设备把该位置广播到该计算设备(例如,通过使用蓝牙技术或者统一即插即用技术(UpnP))。把该信息传送到计算设备的具体例子在下文中详细给出。无论该信息如何被传送到该计算设备,一旦该计算设备获得该信息,它执行遍历一个或两个树型结构的软件,以推导出它的上下文关系,在本例中为该设备的位置。
定义副世界
如上文所述,所述实施例的一个特别有价值的方面是各个组织可以定义它们自己的副世界。这使该组织在提供商品和服务中具有更大的灵活性,并且更大地增加它们组织的效率。在一个实施例中,提供一种软件工具,其能够使各个组织定义和维护它们自己的副世界。
在一个实施例中,每个副世界具有可以被唯一标识作为一个名称空间(例如,XML名称空间)。这使得在副世界和主世界之间的任何名称重叠不会导致冲突。作为一个例子,考虑如下情况:主世界可以包含一个表示城市“芝加哥”的实体。由国家篮球协会(NBA)所建立的副世界以及由Caterpillar公司所建立的另一个副世界也可以具有名称为“芝加哥”的实体,其表示与主世界的“芝加哥”完全不同的实体。例如,NBA的“芝加哥”可以表示NBA市场地区,而Caterpillar的“芝加哥”可以表示销售地区。使主世界和副世界之间的名称空间分离可以保证在相同名称实体之间没有冲突,因为每个名称空间是唯一的与每个其它名称空间不同。
图5为描述在建立上下文关系察觉数据结构的方法中的步骤的流程图。这些步骤由在计算设备上执行的软件工具来实现。
步骤500接收来自指定与物理和/或逻辑实体相关的信息来源的输入。在本例中,一个系统管理员可以实际输入关于他要定义的副世界的结构的信息。该信息可以包括关于大楼、部门、会议室等等的信息。步骤502然后处理该信息,以定义具有上下文关系的层级树型结构。在本例中,该上下文关系是位置。但是,应当知道可以采用其它上下文关系。在层级树型结构中的每个节点表示一个分离的物理或逻辑实体。然后步骤504把该层级树型结构的至少一个节点与具有上下文关系的另一个树型结构相链接。在本例中,该另一个树型结构可以包括主世界。一旦该树型结构已经被建立和链接,则它们准备用于遍历,使得上下文关系从一个或多个节点推导出来。
作为服务的位置
在上述例子中,计算设备能够确定它自身的位置。在将要描述的实施例中,该计算设备通过使用从多个不同信息源提供的位置信息而确定其位置。该设备能够获取提供给它的信息,并且处理该信息以确定在一个或多个层级树上的特定节点。一旦该设备已经完成该操作,则它可以确定它的完整位置,在存在有可以由该设备的用户所消费的基于位置的服务时,该位置信息特别有用。
图6示出除了其它部件之外包括上下文关系服务模块602和一个或多个上下文关系提供者604的一个示例计算设备600的高阶示意图。该上下文关系服务模块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向该设备发出呼叫,以询问该设备所在的位置。该设备被配备为接收该呼叫并且用特定的方式来对该应用程序作出响应。一旦该应用程序具有该设备的位置信息,它可以把基于位置的服务提供给该设备。
考虑如下例子:您是一个旅行者,并且具有手持移动计算设备,其中包含主世界树和用于SeaTac国际机场的副世界树。您计划从中央大厅C进入机场乘坐飞往中国的飞机离开。SeaTac国际机场已经设计它的副世界,其具有如下节点:“到达”、“离开”、“中央大厅”、“航线”、“分配到航线的通道”和“通道位置”。当您到达机场之后,当您进入机场时,您的计算设备接收来自不同来源的位置信息并且您的设备用该信息确定您的位置处于到达节点。SeaTac国际机场具有服务器组,其执行应用程序来帮助在机场中的客人。该应用程序可以有助于您查找服务、本地设施(例如,咖啡店、餐馆)、指引方向(例如,如何到达离开通道),更新您的航班的状态,甚至自动地为您的航班进行检查。还考虑到随着您步行通过机场而导致您的位置发生改变。但是,您的计算设备可以连续的接收位置信息更新,从而它可以随着您通过机场而继续地确定其位置。在这一点,当您通过一个星巴克咖啡店时,您的手持设备通知如果您在星巴克购买咖啡,并且出示您的手持设备,则您可以获得50分钱的折扣。在本例中,证明了副世界的应用。通过得知特定的用户在其设施中的位置,SeaTac国际机场能够提供大量以前不可能获得的服务。
进一步假设您处于机场中并且您的航班被取消。您必须找一个地方过夜。相应地,您希望确定最近的双树旅馆,因为您非常喜欢在该店登记时所获得的温热的巧克力屑曲奇。您执行在计算设备上的一个搜索引擎,来查找最近的双树旅馆。该搜索引擎应用程序首先确定您在主世界中的当前位置,由对应于您的位置的主世界节点的EID所表示。执行搜索,该搜索引擎应用程序查找具有包含与您的EID相一致的EID的双树旅馆。如果找到一个这样的旅馆,它把该结果显示给您。如果它没有找到具有相应EID的旅馆,则它在一个附近地带来搜索双树旅馆。它还可以提供到该旅馆的方向。该搜索引擎应用程序能够实现该操作,因为它能够确定您在主世界中的位置。它快速和自动地完成该操作而不需要您的努力。
进一步考虑,您从机场开车到该旅馆,您希望寻找最近的Kinko,从而您可以打印要在上午作演讲的100份讲稿副本。考虑到您的手持计算设备是一个移动电话,并且Sprint(美国著名的通讯公司)是通讯公司。Sprint定义它自己的副世界,例如可以用小区网来指定。通过利用在您的计算设备上的Sprint的副世界,您可以确定您在Sprint的副世界中的位置,并且相应地确定您在主世界中的位置。考虑到Kinko也具有一个与主世界相链接的副世界。通过在您的设备上执行搜索应用程序,您可以确定最近的Kinko的位置,以及驾驶方向。所有这些都是可能的,因为您的设备已经访问主世界和一个或多个副世界。在本例中,主世界提供一种机制来以菊花链的方式连接两个或多个副世界。这是可能的,因为副世界具有至少一个指向主世界的参考或链接。
示例设备的结构
图7示出更加详细的计算设备600。在该特定的实施例中,设备600包括具有如下部件的一个构架:位置服务模块602、位置提供者接口700、应用程序接口(API)/事件模块702、保密管理器704、位置转换模块706、一个或多个应用程序608以及一个或多个位置提供者606。还包括在该构架中的是一个有效目录708、网络服务710、位置数据库712、以及个人位置714。该构架可以用任何适当的硬件、软件、固件或其组合来实现。上述构架是有利的,因为它能够使每个计算设备确定其自身的上下文关系或位置。
公共位置提供者接口
所述实施例的一个特别有利的方面是它采用一种公共接口700,其提供与位置提供者606进行通信的一个标准接口。通过给出一个公共接口,位置提供者可以被扩展(以支持将来的提供者),使得它们能够动态地从位置提供者的集合中添加或删除。所有这些需要一个特殊的位置提供者606,使得它被写入,以支持该公共接口。
在本例中,在此有几个位置提供者606。这些位置提供者以各种形式提供位置信息。例如,GPS位置提供者可以提供对于该GPS特定的位置信息。类似地,一个IP/子网位置提供者可以提供对于互联网协议特定的信息。一个移动电话位置提供者可以用小区ID的形式提供位置信息。另外,一个位置用户接口(UI)可以用指定城市、街道或大楼的用户输入形式来提供位置信息。由各个位置提供者所提供的所有这些位置信息被位置服务模块602所处理,从而当前设备位置可以被确定。为了确定当前设备位置,该位置服务模块602可以查询一个有效目录708、网络服务710或位置数据库712。在该示例中,该有效目录708例如可以保存一个副世界和其它网络元数据,例如子网和“位置”信息,其可以有助于根据网络连通性而确定位置。网络服务器10可以保存主世界或副世界,可以用来查找位置的属性。例如,如果移动电话知道其小区发射塔的ID,则该位置提供者可以查询副世界来确定与该小区发射塔ID相一致的节点。位置数据库710基本上是本地存储的网络服务的一个版本。
位置提供者
如上文所述,该构架考虑多个不同的位置提供者,其可以把位置信息提供给位置服务模块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发射器必须接收来自5个或更多卫星的信息,以提供高度可靠的信息。假设在此时仅仅有三个卫星可用。该GPS发射器将仅仅根据该三个卫星发送其信息。GPS提供者然后得知来自该GPS发射器的信息仅仅基于三个卫星而不是基于所希望的5个或更多的卫星。在这种情况中,GPS提供者可以设置关于位置信息的可靠度参数,其表示它具有比基于所希望的5个或更多卫星的信息更低的可靠度。在这种情况中,位置服务模块602可以利用可靠度参数用于使所有位置提供者在确定该设备的位置时加以考虑。这在下文更加详细地讨论。
对于精确度参数,考虑来自位置提供者的位置信息具有变化的精确度。一些信息可以精确到一英里之内,而其它信息可以精确到100英尺。位置提供者要配置为把精确度参数分配给该位置信息,提供到位置服务模块602。该精确度参数把一个表示信息精确度的指示给予该位置服务模块。
当可靠度和精确度参数被位置服务模块602所使用时,该模块可以确定如何使用来自每个提供者的位置信息。例如,位置服务模块602可以完全不考虑具有较低可靠度参数的任何信息。另一方面,它可以在信息的精确度和可靠度之间作出权衡。例如,模块602可以被编程为仅仅当该信息具有较高的可靠性时使用具有较低精确度的信息。该模块602可以例用该参数来把权重分配给该信息,从而该位置被计算作为信息的可靠度和精确度的加权函数。
可靠度参数的其它用途如下:假设该位置服务模块已经确定一个设备位置,并且已经把该位置写入到一个高速缓冲存储器。在该位置被写入高速缓冲存储器时,它可能被指定一个高可靠度。进一步假设所有其它位置提供者不可用于提供位置信息。在一段时间内,该位置服务模块602可以使用该高速缓冲存储器中的位置作为当前位置,并且确信其信息一般是准确的。在这种情况中,位置服务模块可以把一个随时间线性下降的可靠度分配给该信息,从而在一些点处,它停止使用该信息,或者通知用户该信息不能够被保证。
位置、信任度和时间标记
当位置提供者把其信息提供给位置服务模块602时,该信息除了可靠度和精确度参数之外可以包括采用已知格式的实际位置信息、信任度参数(trust parameter)和时间标记(timestamp)。该信任度参数是由位置服务模块602指定给一个或多个位置提供者的尺度,并且为该特定的位置提供者定义该位置服务模块所具有的信任度。这有助于位置服务模块602确定信息是否过时并且是否需要刷新。
一旦位置服务模块602具有所有位置信息,则它可以开始确定该设备的位置。
图8为描述确定设备上下文关系的方法的步骤的流程图,在本例中设备上下文关系为设备位置。这些步骤由位置服务模块602所实现。
步骤800获得当前设备的上下文关系。该当前上下文关系可以是最后计算的设备上下文关系,并且存储在高速缓冲存储器中。步骤802确定是否任何数目的上下文关系提供者可以用于提供上下文关系信息。该信息服务模块可以通过轮询上下文关系提供者而确定该提供者是否有效来实现该操作。步骤804确定是否所有提供者为无效。如果所有提供者为无效,则步骤806随着时间而减小当前上下文关系的可靠度,并且使用当前上下文关系所为该设备的上下文关系。步骤802然后继续监控当前有效的提供者。如果步骤804确定由一个或多个上下文关系提供者为有效,则步骤808对该有效的上下文关系提供者排序。当位置服务模块602对该上下文关系提供者进行排序或分类时,它以此作为提供者信息的可靠度和/或该位置服务模块在位置提供者中所具有的信任度的一个函数。步骤810检查以确定该上下文关系信息是否正确。例如,当该上下文关系是该设备的位置时,该位置服务模块602可以得知5秒之前当前位置为雷德蒙、华盛顿。相应地,表示当前位置为北京、中国的位置信息是不正确的。然后,步骤812确定是否任何位置信息与该设备的当前上下文关系或者来自其它提供者的上下文关系信息相冲突。例如,该位置服务模块602可以把来自每个上下文关系提供者的上下文关系信息与该高速缓冲存储器中的信息相比较。如果任何信息与缓存的信息相冲突、则来自该上下文关系提供者的信息被抛弃。类似地,如果上下文关系信息在该上下文关系提供者之间不规则地变化,则步骤814可以选择具有预定信任度的上下文关系提供者,并且可以仅仅使用它们的信息(步骤816)。如果在此没有冲突,则步骤816根据由所有上下文关系提供者所提供的信息确定当前上下文关系。在所述实施例中,该步骤通过使用映射到上述一个或多个层级树型结构中的特定节点的信息来实现。例如,该设备的位置可以通过把该信息映射到一个特定节点,然后完全遍历该树型结构直到到达根节点为止,而确定该设备的位置。步骤818然后通过把当前上下文关系写入到高速缓存而更新当前上下文关系,并且返回到步骤802,以确定有效的上下文关系提供者。
该上述方法提供一种方式使该位置服务模块接收位置信息并且仅仅使用最可能表示当前位置的位置信息。冲突信息可以被忽略或抛弃,从而仅仅保证最可信、准确和可靠的信息被用于确定该设备的当前位置。
自监控
除了可靠度和精确度参数之外,一个或多个位置提供者被有利地编程以自对于可能出现的各种不规则性监控它们各自的操作。出现不规则性时,位置提供者被配置为通知该位置服务模块602。例如,由位置提供者接收信息的来源可能在一段时间内掉线,从而位置提供者不能够接收任何额外的信息。在这种情况中,该位置提供者可以产生一个“提供者掉线”消息,并且把它发送给位置服务模块602。当位置服务模块602接收“提供者掉线”消息时,它可以执行步骤以从它所执行的任何位置计算中取消来自该提供者的位置信息。当该信息提供者来源继续在线时,它产生一个“提供者在线”消息,通知给该位置服务模块602,它能够把位置信息传送到该模块。当然,该位置服务模块可以被该位置提供者通知关于出现其它操作不规则性的情况,上述例子仅仅构成一个特殊情况。
应用程序
一旦该位置服务模块602已经确定该设备的位置,则它可以接收来自一个或多个应用程序608的查询。在图7的例子中,该应用程序包括网址应用程序、Outlook应用程序的服务查找应用程序。在本例中,该网址应用程序可以是能够提供位置特定的服务的任何网络应用程序。例如,设备602的用户可访问Amazon.com网址,以购买所需的书籍。当用户购买书本时,Amazon.com必须计算用户用支付的税。在本例中,在Amazon.com网址上执行的一个脚本可以是查询设备602,以获得该用户的位置。在该具体例子中,该设备可以通过返回用户购物的状态来响应该查询。然后,Amazon.com网址可以自动估计税款。Amazon.com网址还需要得知该个人所在的位置,从而它可以选择一个最佳的递送方法(UPS或快递邮件)。根据该个人所在的位置,一个方法可能比另一个方法更好。Outlook应用程序可以查询位置服务模块,以确定该位置,因为它(或者例如Windows这样的操作系统)可以根据计算设备的位置而改变设备的设置。例如,用户可以在工作时在一个特定的打印机上进行打印,并且当在家里时在另一个特定的打印机进行打印。当Outlook应用程序确定用户在这一天已经回家,则它可以把设备设置改变为用于在用户家中的打印机。它可以从一个个人位置数据库714获取打印设置。因此,该设备被根据用户的位置而自动地配置。该服务查找应用程序可以查询该设备以确定其位置,从而它可以根据该设备所在的位置而获得特定的服务。例如,如果用户询问该应用程序以定位最近的彩色打印机,则该服务查询应用程序可以查询该位置服务模块,以确定该设备的当前位置,从而它可以使用该信息来查找最近的彩色打印机。还考虑到Outlook应用程序可以把其电子邮件配置为工作位置(当个人工作时)或者配置为家庭位置(当个人在家时)。另外,Outlook日历可以察觉到位置,例如当改变时区时,您的约会将出现在适当的时间表中。
可以设想,该可能性是无限的。该功能可以通过使用主世界和一个或多个副世界而实现。
应用程序接口/事件
在所述实施例中,应用程序608通过一个或多个应用程序接口(API)和/或事件与位置服务模块602进行通信。该应用程序可以对API发出功能调用,以向该位置服务模块查询其当前位置。类似地,该应用程序可以通过使用事件登记处理而登记位置通知。例如,应用程序可以在用户改变其位置时登记通知。考虑到当用户到达工作地点或到家时需要通知一个应用程序的情况,从而该应用程序可以改变设备配置(例如打印机配置)。
图9为描述根据所述实施例的方法中的步骤的流程图。所述的步骤由设备600来实现。步骤900接收与设备的当前上下文关系相关的信息。在该具体例子中,从一个或多个上下文关系提供者接收一部分信息,在该情况中,该提供者为位置提供者。步骤902用该设备处理该信息,以确定该设备的当前上下文关系。在所示例子中,该设备保存(或者访问)一个或多个主世界或者一个或多个副世界。当该设备接收所有位置信息时,它把该信息映射到在定义该世界的层级树型结构中的特定节点。然后它遍历该树型结构以确定该设备的完整的上下文关系(即位置)。步骤904接收来自请求与设备的当前上下文关系或位置相关的信息的一个或多个应用程序的呼叫。在所示例子中,该应用程序可以呼叫一个或多个API以请求该信息,或者该应用程序可以为事件通知进行登记。然后步骤906提供把与当前设备位置相关的至少一些信息提供给该应用程序。如下文所讨论,在该信息返回到应用程序之前,一个安全策略或者保密策略可以应用于该信息。
保密管理器
在一个实施例中,提供一个保密管理器704(图7)。尽管该保密管理器被示出为包含在该设备上,但是它可以由不是该移动计算设备的一部分的一个所信任的实体来实现,该实体例如为一个被信任的服务器。该保密管理器可以用任何适当的硬件、软件、固件或其组合来实现。在所示例子上,保密管理器包括包含在该移动计算设备中的一个软件模块。
该保密管理器704解决与由该计算设备所收集的信息相关的保密问题。具体来说,该位置服务模块可以计算关于该计算设备的位置的详细信息。在一些情况下,它可以过滤提供到各种应用程序的信息。也就是说,它完全类似于一个用户可能不希望把它们具体的位置信息提供到不被信任的应用程序。在这些例子中,用户可能仅仅希望该位置服务模块602把用户处于华盛顿州的情况通知给这种应用程序。
图10示出根据所述实施例在保密方法中所述的步骤的流程图。这些步骤可以用保密管理器704来实现。
步骤1000确定多个保密级别。示例的保密级别在下表中示出:
保密级别 | 近似尺寸 | 公开程度 |
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返回与该节点相关的上下文关系信息(例如,位置信息)。在这种情况中,该位置服务模块将把该用户的位置在华盛顿州的情况通知给该应用程序。
作为一个例子,考虑如下情况:有一个给出各个位置的详细天气情况的网址。相应地,你可以把该网址指定60的保密级别,从而你可以接收对应于您当前的完整邮政编码的地区的天气信息。另一个网址可以是作为一个被信任网址的公司内部网址。因此,与该网址相关的任何应用程序可以被指定90的保密级别,从而您可以把关于您的位置的精确位置信息提供给它们。
因此在本例中,计算设备能够确定它查询的来源,并且调整返回到该应用程序的信息,作为该应用程序的标识的一个函数。该计算设备可以执行该操作,因为它访问该主世界和一个或多个副世界。上述描述仅仅是实现该技术的一种示例方式。
作为位置提供者的位置信标
在一个实施例中,一个位置提供者包括一个位置信标,其设立或发出信息,使得计算设备能够活跃地参加到其当前上下文关系中。该位置信标可以包括一个独立设备,其可以改型到现有的基础结构中,例如一个烟雾感应器或者用于使该设备获得电源的墙壁插座。
图11示出安装在结构1102上的一个示例信标1100。结构1102可以是任何适当的结构,例如在会议室或公共场所的墙壁、烟雾感应器、电插座等等。在所述实施例中,该位置信标是廉价的设备,它可以永久地安装在特定的位置,例如会议室、大楼的大厅、机场通道、公共场所等等。该信标以EID和/或LUID的方式把实际位置通知给在一定范围内的所有移动设备,例如膝上的电脑、掌上电脑、手持计算机、移动电话、可佩带计算器等等。
在所述实施例中,该位置信标可以通过发出由移动计算设备所理解的标准信息而识别该具体位置。在当前例子中,该信标可以发送一个或两个位置标识对,其中包括EID/URL对和LUID/URL对。该信标还发送多个LUID。该EID和LUID分别给出在主世界和副世界中的当前节点的位置。URL提供一个主世界和副世界可到达的位置。例如,与副世界相关的URL可以给出一个服务位置,这是可以用于查询关于副世界的信息的设备,从而它可以推导其上下文关系,并且利用与在副世界中的节点相关的资源或服务。
该信标还可以发送一个数字签名,其可以由该设备所使用以确定该信标为有效及合法。可以使用任何适当的签名或认证方法。另外,对于在上下文关系察觉环境中的特殊用途,该信标可以被编程,以把代码下载指针发送到在一定范围内的设备。该代码下载指针使得计算设备访问软件代码,允许它们与其环境相互作用。考虑如下例子:您携带着移动电话通信设备步行进入一个会议室,在该会议室中的一个信标立即用EID/LTRL对和LUID/URL对的形式发送您的位置。您的设备使用该信息对来确定在上述主世界和副世界中的位置。该信标还发送一个指向软件代码的代码下载指针,使您使用该手持移动电话操作在会议室中的投影仪。按照这种方式,该信标不仅仅作为一个位置信标,它使您通过计算设备来有效地参与到您所在的环境中。
该信标可以用任何适当的方式来发送信息,例如包括红外和射频的无线方法。在一个实施例中,蓝牙短范围射频通信可以用于提供低成本、低功率的选择。
结论
上述实施例提供一种统一、标准化的方法来增强该上下文关系察觉计算的领域。该实施例提供一种方法使个人通过用标准的方式确定它在世界中的位置而独特地体验在他们周围的世界。该实施例还提供一种方法来使服务提供者采用对商品和服务的各个消费者的上下文关系(例如位置)敏感的方式来提供它们的商品和服务。采用独特和有用的构造和数据结构来促进用户的计算体验,并且提供以个人为中心的体验。
尽管本发明已经采用对于结构特征和/或方法步骤特定的语言描述,但是应当知道在所附权利要求中定义的本发明不限于所述的具体特征或步骤。而是,该具体特征和步骤被公开作为实现所要求保护的本发明的优选形式。
Claims (60)
1.一种用于确定上下文关系的系统,其中包括:
一个或多个计算机可读介质;以及
驻留在该介质上的层级树型结构,并且包括多个节点,每个节点表示地球的地理分区。
2.根据权利要求0所述的系统,其中一个或多个计算机可读介质包括一个或多个网络。
3.根据权利要求0所述的系统,其中该节点包括政治或自然实体。
4.根据权利要求3所述的系统,其中该政治或自然实体包括一个或多个如下内容:大洲、国家、海洋、州、县和城市。
5.根据权利要求0所述的系统,其中该节点包括基础构造实体。
6.根据权利要求5所述的系统,其中该基础构造实体包括一个或多个如下内容:邮政编码、地区代码和时区。
7.根据权利要求0所述的系统,其中该节点包括公共场所。
8.根据权利要求0所述的系统,其中该节点包括非物理实体。
9.根据权利要求0所述的系统,其中该节点包括多个属性,其中一个属性包括对节点唯一的实体标识(EID)。
10.根据权利要求9所述的系统,其中一个属性包括名称属性。
11.根据权利要求9所述的系统,其中一个属性包括中立的地理真实名称属性。
12.根据权利要求9所述的系统,其中一个属性包括一个地理属性。
13.根据权利要求9所述的系统,其中一个属性包括一个经度/纬度属性。
14.根据权利要求9所述的系统,其中一个属性包括一个相对重要性指数。
15.根据权利要求9所述的系统,其中一个属性包括上下文关系父节点属性。
16.根据权利要求9所述的系统,其中一个属性包括一个来源属性。
17.根据权利要求9所述的系统,其中一个属性包括一个开始/结束日期属性。
18.根据权利要求9所述的系统,其中一个属性包括一个更改日期属性。
19.根据权利要求9所述的系统,其中一个属性包括一个状态属性。
20.根据权利要求0所述的系统,其中该属性结构不包括与商业或服务相关的任何节点。
21.根据权利要求0所述的系统,其中该计算机可读介质体现在一个移动计算设备上。
22.根据权利要求0所述的系统,其中该计算机可读介质体现在一个手持移动计算设备上。
23.根据权利要求0所述的系统,其中该计算机可读介质可由一个移动计算设备通过互联网访问。
24.一种用于确定上下文关系的系统,其中包括:
一个或多个计算机可读介质;
第一层级树型结构,其具有与第一上下文关系相关的多个节点;
至少一个第二层级树型结构,其具有与第二上下文关系相关的多个节点;以及
来自至少一个第二层级树型结构的至少一个节点通过一条链接与第一层级树型结构上的一个节点相链接,该链接被配置为使得一个完整的上下文关系从一个或两个上下文关系中推导出来。
25.根据权利要求24所述的系统,其中第一和第二上下文关系包括一个位置上下文关系。
26.根据权利要求24所述的系统,其中该第一和第二上下文关系包括位置上下文关系。
27.根据权利要求26所述的系统,其中至少一个第二层级树型结构的节点包括物理和/或逻辑实体。
28.根据权利要求24所述的系统,其中第一和至少一个第二层级树型结构包括多个属性,其中两个属性包括:
对于节点唯一的标识;以及
属于与该节点相关的树的信息。
29.根据权利要求28所述的系统,其中该信息包括一个统一资源定位符(URL)。
30.根据权利要求24所述的系统,其中进一步包括与至少一个第二层级树型结构的一个或多个节点相关的一个或多个商品或服务。
31.根据权利要求24所述的系统,其中该第一层级树型结构包括标准化的世界观,以及至少一个第二层级树型结构包括对于至少一部分世界的一个对组织特定的观点,该对组织特定的观点包括链接到该世界的特定部分的物理/逻辑实体。
32.根据权利要求31所述的系统,其中该对组织特定的世界观没有在该组织之外的上下文关系。
33.根据权利要求24所述的系统,其中该计算机可读介质体现在一个移动计算设备上。
34.根据权利要求24所述的系统,其中该计算机可读介质体现在一个台式设备上。
35.根据权利要求24所述的系统,其中该计算机可读介质体现在一个手持移动计算设备上。
36.根据权利要求24所述的系统,其中该计算机可读介质可由一个计算设备通过互联网访问。
37.一种确定上下文关系的计算机执行的方法,其中包括:
访问驻留在一个或多个计算机可读介质上的第一和一个或多个第二层级树型结构,每个树型结构具有多个节点,该第一层及树型结构的节点与第一上下文关系相关联,一个或多个第二层级树型结构的节点与第二上下文关系相关联;以及
遍历至少一个树型结构的多个节点,以推导上下文关系。
38.根据权利要求37所述的计算机执行的方法,其中该遍历步骤导出一个位置上下文关系。
39.根据权利要求37所述的计算机执行的方法,其中第一层级树型结构的节点包括地理的地理分区。
40.根据权利要求39所述的计算机执行的方法,其中一个或多个第二层级树的节点包括物理和/或逻辑实体。
41.根据权利要求37所述的计算机执行的方法,其中该遍历步骤包括遍历在每个树上的至少一个节点,以推导该上下文关系。
42.根据权利要求41所述的计算机执行的方法,其中该上下文关系包括位置。
43.根据权利要求37所述的计算机执行的方法,其中该第一和一个或多个第二层级树型结构包括至少一个被链接的节点对。
44.根据权利要求37所述的计算机执行的方法,其中一个或多个第二层级树型结构的至少一个节点具有与其相关的商品或服务,其中该遍历步骤包括定位与一个节点相关的商品或服务,并且消费该商品或服务。
45.根据权利要求37所述的计算机执行的方法,其中访问第一和一个或多个第二层级树型结构的步骤包括访问可在一个移动计算设备上局部获得的树型结构。
46.根据权利要求37所述的计算机执行的方法,其中访问该第一和一个或多个第二层级树型结构的步骤包括通过网络媒介访问至少一个树的步骤。
47.根据权利要求37所述的计算机执行的方法,其中访问第一和一个或多个第二层级树型结构的步骤包括通过互联网访问至少一个树。
48.一个或多个计算机可读介质,其上具有计算机可读指令,当由计算设备执行该指令时使该计算设备:
访问第一和第二层级树型结构,每个树型结构具有多个节点,第一层级树型结构的节点与第一位置上下文关系相关,第二层级树型结构的节点与第二位置上下文关系相关,第二层级树型结构的至少一个节点与第一层级树型结构的节点相链接;以及
遍历每个树型结构的至少一个节点,以导出位置上下文关系,在通向第二层级树型结构的根节点的一条遍历路径中的至少一个节点与第一层级树型结构的一个节点相链接。
49.根据权利要求48所述的一个或多个计算机可读介质,其中该计算设备自动确定其位置上下文关系。
50.根据权利要求48所述的一个或多个计算机可读介质,其中该计算设备是手持计算设备。
51.根据权利要求48所述的一个或多个计算机可读介质,其中该计算设备是移动计算设备。
52.根据权利要求48所述的一个或多个计算机可读介质,其中该计算设备是桌面设备。
53.根据权利要求48所述的一个或多个计算机可读介质,其中该计算设备是自动确定其位置上下文关系的手持计算设备。
54.一种定位商品或服务的计算机执行的方法,其中包括:
定义一个层级树型结构,其中包括多个节点,每个节点可以确定一个物理或逻辑实体;
把一个或多个商品或服务与一个或多个节点相关联;以及
遍历一个或多个节点,以查找商品或服务。
55.根据权利要求54所述的计算机执行的方法,其中进一步包括把一个或多个节点与另一个包含多个节点的层级树型结构相链接,每个节点包括地球的地理分区。
56.根据权利要求55所述的计算机执行的方法,其中该遍历步骤确定当前位置。
57.一个或多个计算机可读介质,其上具有计算机可读指令,当由计算设备执行该指令时使该计算设备执行如下步骤:
定义一个层级树型结构,其中包括多个节点,每个节点可以确定一个物理或逻辑实体;
把一个或多个商品或服务与一个或多个节点相关联;以及
遍历一个或多个节点,以查找商品或服务。
58.一种建立上下文关系察觉数据结构的计算机执行的方法,其中包括:
接收来自一个来源的输入,其定义与物理和/或逻辑实体相关的信息;
处理该信息,以确定具有一个上下文关系的层级树型结构,该树型结构包括多个节点,每个节点表示一个分离的物理或逻辑实体;
把多个节点中的至少一个节点链接到具有上下文关系的另一个树型结构,并且该多个节点表示物理和/或逻辑实体,
该树型结构被配置为按照一种方式来遍历,使得能够从一个或多个节点推导出上下文关系。
59.根据权利要求58所述的计算机执行的方法,其中所推导的上下文关系包括一个位置上下文关系。
60.一个或多个计算机可读介质,其上具有计算机可读指令,当由一个计算设备所执行时,使该计算设备执行权利要求58的方法。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/544,253 | 2000-04-05 | ||
US09/544,253 US7743074B1 (en) | 2000-04-05 | 2000-04-05 | Context aware systems and methods utilizing hierarchical tree structures |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1585942A true CN1585942A (zh) | 2005-02-23 |
Family
ID=24171410
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA018073077A Pending CN1585942A (zh) | 2000-04-05 | 2001-02-16 | 上下文关系察觉系统和利用层级树型结构的方法 |
Country Status (6)
Country | Link |
---|---|
US (1) | US7743074B1 (zh) |
EP (1) | EP1464008A2 (zh) |
JP (1) | JP2004506964A (zh) |
CN (1) | CN1585942A (zh) |
AU (1) | AU2001238454A1 (zh) |
WO (1) | WO2001082143A2 (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100383789C (zh) * | 2005-09-07 | 2008-04-23 | 华为技术有限公司 | 一种对系统资源进行管理的实现方法 |
CN100383788C (zh) * | 2005-09-07 | 2008-04-23 | 华为技术有限公司 | 一种对系统资源进行管理的实现方法 |
WO2013091145A1 (en) * | 2011-12-22 | 2013-06-27 | Intel Corporation | Mechanism for employing and facilitating proximity and context-based deduction of global positioning of computing devices |
CN106507686A (zh) * | 2014-04-15 | 2017-03-15 | 西门子公司 | 设计不同技术领域的复杂信息物理系统的具有其各种软件工件的软件架构的方法和工具 |
CN111191930A (zh) * | 2019-12-30 | 2020-05-22 | 广东三扬网络科技有限公司 | 多个思维导图之间的结合展示方法、电子设备和存储介质 |
CN111581294A (zh) * | 2019-02-18 | 2020-08-25 | 阿里巴巴集团控股有限公司 | 实体关系展示方法、装置、电子设备及可读存储介质 |
Families Citing this family (47)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8489669B2 (en) | 2000-06-07 | 2013-07-16 | Apple Inc. | Mobile data processing system moving interest radius |
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 |
US8483717B2 (en) * | 2003-06-27 | 2013-07-09 | Qualcomm Incorporated | Local area network assisted positioning |
US7444345B2 (en) * | 2005-02-15 | 2008-10-28 | International Business Machines Corporation | Hierarchical inherited XML DOM |
US7353034B2 (en) | 2005-04-04 | 2008-04-01 | X One, Inc. | Location sharing and tracking using mobile phones or other wireless devices |
EP1840761A1 (en) * | 2005-12-22 | 2007-10-03 | Office-Shadow Limited | Data storage system |
US8290513B2 (en) | 2007-06-28 | 2012-10-16 | Apple Inc. | Location-based services |
US8385946B2 (en) | 2007-06-28 | 2013-02-26 | Apple Inc. | Disfavored route progressions or locations |
US9109904B2 (en) | 2007-06-28 | 2015-08-18 | Apple Inc. | Integration of map services and user applications in a mobile device |
US8204684B2 (en) | 2007-06-28 | 2012-06-19 | Apple Inc. | Adaptive mobile device navigation |
US8180379B2 (en) | 2007-06-28 | 2012-05-15 | Apple Inc. | Synchronizing mobile and vehicle devices |
US8332402B2 (en) | 2007-06-28 | 2012-12-11 | Apple Inc. | Location based media items |
US8762056B2 (en) | 2007-06-28 | 2014-06-24 | Apple Inc. | Route reference |
US8108144B2 (en) | 2007-06-28 | 2012-01-31 | Apple Inc. | Location based tracking |
US8275352B2 (en) | 2007-06-28 | 2012-09-25 | Apple Inc. | Location-based emergency information |
US8774825B2 (en) | 2007-06-28 | 2014-07-08 | Apple Inc. | Integration of map services with 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 |
US8175802B2 (en) | 2007-06-28 | 2012-05-08 | Apple Inc. | Adaptive route guidance based on preferences |
US8355862B2 (en) | 2008-01-06 | 2013-01-15 | Apple Inc. | Graphical user interface for presenting location information |
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 |
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 |
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 |
US8666367B2 (en) | 2009-05-01 | 2014-03-04 | Apple Inc. | Remotely locating and commanding a mobile device |
US20100325565A1 (en) * | 2009-06-17 | 2010-12-23 | EchoStar Technologies, L.L.C. | Apparatus and methods for generating graphical interfaces |
US20100325315A1 (en) * | 2009-06-23 | 2010-12-23 | Alon Novy | Systems and methods for context-sensitive presentation of activity management data |
US8713056B1 (en) | 2011-03-30 | 2014-04-29 | Open Text S.A. | System, method and computer program product for efficient caching of hierarchical items |
GB201108709D0 (en) * | 2011-05-24 | 2011-07-06 | Corethree Ltd | Core engine |
US20140032668A1 (en) * | 2012-07-25 | 2014-01-30 | Rallypoint Networks, Inc. | Interactive computer user interface for visualizing and interacting with a social network within a hierarchical organization |
US9215075B1 (en) | 2013-03-15 | 2015-12-15 | Poltorak Technologies Llc | System and method for secure relayed communications from an implantable medical device |
US9178770B2 (en) * | 2013-12-23 | 2015-11-03 | International Business Machines Corporation | Auto incorporation of new components into a hierarchical network |
US9288235B1 (en) | 2014-09-17 | 2016-03-15 | Microsoft Technology Licensing, Llc | Contextually aware device management |
SG11201908134XA (en) * | 2017-03-07 | 2019-10-30 | Sita Inf Networking Computing Usa Inc | System, device and method for accessing shared infrastructure |
US10599657B1 (en) | 2018-02-01 | 2020-03-24 | Keysight Technologies, Inc. | Methods, systems and computer readable media for providing for searching of test objects application programming interface (API) specification and current test configuration data |
US10749890B1 (en) | 2018-06-19 | 2020-08-18 | Architecture Technology Corporation | Systems and methods for improving the ranking and prioritization of attack-related events |
US10817604B1 (en) | 2018-06-19 | 2020-10-27 | Architecture Technology Corporation | Systems and methods for processing source codes to detect non-malicious faults |
US11429713B1 (en) | 2019-01-24 | 2022-08-30 | Architecture Technology Corporation | Artificial intelligence modeling for cyber-attack simulation protocols |
US11128654B1 (en) | 2019-02-04 | 2021-09-21 | Architecture Technology Corporation | Systems and methods for unified hierarchical cybersecurity |
US11403405B1 (en) | 2019-06-27 | 2022-08-02 | Architecture Technology Corporation | Portable vulnerability identification tool for embedded non-IP devices |
US11444974B1 (en) * | 2019-10-23 | 2022-09-13 | Architecture Technology Corporation | Systems and methods for cyber-physical threat modeling |
US11503075B1 (en) | 2020-01-14 | 2022-11-15 | Architecture Technology Corporation | Systems and methods for continuous compliance of nodes |
CN114818994B (zh) * | 2022-06-24 | 2022-09-09 | 国网浙江省电力有限公司信息通信分公司 | 基于多源异构电力数据的跨业务图谱的融合方法 |
Family Cites Families (151)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US3700866A (en) * | 1970-10-28 | 1972-10-24 | Texas Instruments Inc | Synthesized cascaded processor system |
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 |
JP2659742B2 (ja) | 1988-03-02 | 1997-09-30 | アイシン・エィ・ダブリュ株式会社 | ナビゲーション装置 |
CA1326561C (en) | 1988-04-15 | 1994-01-25 | Duane A. Smith | 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 |
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 |
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 |
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 |
JPH06176081A (ja) * | 1992-12-02 | 1994-06-24 | Hitachi Ltd | 階層構造ブラウジング方法およびその装置 |
EP0614322B1 (en) | 1993-01-21 | 2000-04-05 | AT&T Corp. | Directory structure for large scale telecommunications network allowing location of roaming mobile subscribers |
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 |
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 |
WO1995017711A1 (en) * | 1993-12-23 | 1995-06-29 | Diacom Technologies, Inc. | Method and apparatus for implementing user feedback |
US5635940A (en) | 1994-02-02 | 1997-06-03 | Hickman; Paul L. | Communication configurator and method for implementing same |
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 |
EP0684716B1 (en) * | 1994-05-25 | 2002-02-27 | International Business Machines Corporation | A data communication network and method for operating said network |
US5664172A (en) * | 1994-07-19 | 1997-09-02 | Oracle Corporation | Range-based query optimizer |
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 |
US5642303A (en) | 1995-05-05 | 1997-06-24 | Apple Computer, Inc. | Time and location based computing |
US6901433B2 (en) * | 1995-06-07 | 2005-05-31 | Microsoft Corporation | System for providing users with a filtered view of interactive network directory obtains from remote properties cache that provided by an on-line service |
GB2302420A (en) | 1995-06-19 | 1997-01-15 | Ibm | Semantic network |
US6199082B1 (en) * | 1995-07-17 | 2001-03-06 | Microsoft Corporation | Method for delivering separate design and content in a multimedia publishing system |
US5941947A (en) * | 1995-08-18 | 1999-08-24 | Microsoft Corporation | System and method for controlling access to data entities in a computer 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 |
JPH09257501A (ja) | 1996-01-16 | 1997-10-03 | Mitsubishi Electric Corp | 総合案内システム |
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 |
AUPN955096A0 (en) | 1996-04-29 | 1996-05-23 | Telefonaktiebolaget Lm Ericsson (Publ) | Telecommunications information dissemination system |
JP2956587B2 (ja) * | 1996-06-10 | 1999-10-04 | 凸版印刷株式会社 | 広告情報の登録方法および供給方法 |
US6154777A (en) | 1996-07-01 | 2000-11-28 | Sun Microsystems, Inc. | System for context-dependent name resolution |
GB9614927D0 (en) * | 1996-07-16 | 1996-09-04 | British Telecomm | Arranging data signals defining a network |
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 |
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 |
US5968109A (en) * | 1996-10-25 | 1999-10-19 | Navigation Technologies Corporation | System and method for use and storage of geographic data on physical media |
US6127947A (en) | 1996-11-13 | 2000-10-03 | Toyota Jidosha Kabushiki Kaisa | Vehicle information communication device and vehicle information communication system |
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 |
US6128016A (en) * | 1996-12-20 | 2000-10-03 | Nec Corporation | Graphic user interface for managing a server system |
US5917911A (en) | 1997-01-23 | 1999-06-29 | Motorola, Inc. | Method and system for hierarchical key access and recovery |
US6728205B1 (en) * | 1997-02-19 | 2004-04-27 | Massachusetts Institute Of Technology | Method and apparatus for automatic protection switching |
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 |
JP3857388B2 (ja) | 1997-06-27 | 2006-12-13 | 富士通株式会社 | 移動通信端末 |
US6278991B1 (en) * | 1997-08-22 | 2001-08-21 | Sap Aktiengesellschaft | Browser for hierarchical structures |
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 |
US6125446A (en) | 1997-08-29 | 2000-09-26 | Compaq Computer Corporation | Computer architecture with automatic disabling of hardware/software features using satellite positioning data |
DE19742124C2 (de) | 1997-09-24 | 2001-10-18 | Siemens Ag | Verfahren und Basisstationssystem zur Sprachübertragung über eine Funkschnittstelle in einem digitalen Funk-Kommunikationssystem |
JP3893696B2 (ja) | 1997-10-24 | 2007-03-14 | カシオ計算機株式会社 | 通信端末装置 |
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 |
US6057845A (en) | 1997-11-14 | 2000-05-02 | Sensiva, Inc. | System, method, and apparatus for generation and recognizing universal commands |
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 |
US6012061A (en) * | 1997-11-25 | 2000-01-04 | International Business Machines Corp. | Method and apparatus for deleting nodes in Patricia trees |
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 |
JP3548459B2 (ja) | 1998-11-20 | 2004-07-28 | 富士通株式会社 | 案内情報提示装置,案内情報提示処理方法,案内情報提示プログラムを記録した記録媒体,案内用スクリプト生成装置,案内情報提供装置,案内情報提供方法および案内情報提供プログラム記録媒体 |
EP1074156A4 (en) | 1998-04-22 | 2004-08-25 | Netline Comm Technologies Nct | METHOD AND SYSTEM FOR SUPPLYING CELLULAR COMMUNICATION SERVICES |
US6078826A (en) | 1998-05-29 | 2000-06-20 | Ericsson Inc. | Mobile telephone power savings method and apparatus responsive to mobile telephone location |
US6308273B1 (en) | 1998-06-12 | 2001-10-23 | Microsoft Corporation | Method and system of security location discrimination |
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 |
US6642946B1 (en) * | 1998-08-13 | 2003-11-04 | The Cattleman's Resource, Inc. | Livestock inventory and materials system with interactive graphical user interface |
US6442620B1 (en) | 1998-08-17 | 2002-08-27 | Microsoft Corporation | Environment extensibility and automatic services for component applications using contexts, policies and activators |
US6061551A (en) * | 1998-10-21 | 2000-05-09 | Parkervision, Inc. | Method and system for down-converting electromagnetic signals |
US7305451B2 (en) * | 1998-08-24 | 2007-12-04 | Microsoft Corporation | System for providing users an integrated directory service containing content nodes located in different groups of application servers in computer network |
US6263339B1 (en) * | 1998-08-25 | 2001-07-17 | Informix Software, Inc. | Dynamic object visualization and code generation |
US6915301B2 (en) * | 1998-08-25 | 2005-07-05 | International Business Machines Corporation | Dynamic object properties |
US6336138B1 (en) * | 1998-08-25 | 2002-01-01 | Hewlett-Packard Company | Template-driven approach for generating models on network services |
US6282547B1 (en) * | 1998-08-25 | 2001-08-28 | Informix Software, Inc. | Hyperlinked relational database visualization system |
US6182136B1 (en) * | 1998-09-08 | 2001-01-30 | Hewlett-Packard Company | Automated service elements discovery using core service specific discovery templates |
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 |
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 |
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 |
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 |
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 |
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 |
US6415283B1 (en) * | 1998-10-13 | 2002-07-02 | Orack Corporation | Methods and apparatus for determining focal points of clusters in a tree structure |
WO2000024131A1 (en) | 1998-10-21 | 2000-04-27 | 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 |
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 |
US6434364B1 (en) | 1998-12-24 | 2002-08-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Wireless communication system that supports mobile test software agents |
US6370537B1 (en) * | 1999-01-14 | 2002-04-09 | Altoweb, Inc. | System and method for the manipulation and display of structured data |
US6496893B1 (en) * | 1999-02-26 | 2002-12-17 | Phoenix Technologies Ltd. | Apparatus and method for swapping devices while a computer is running |
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 |
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 |
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 |
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 |
US6684331B1 (en) * | 1999-12-22 | 2004-01-27 | Cisco Technology, Inc. | Method and apparatus for distributing and updating group controllers over a wide area network using a tree structure |
US6374177B1 (en) | 2000-09-20 | 2002-04-16 | Motorola, Inc. | Method and apparatus for providing navigational services in a wireless communication device |
US7020076B1 (en) * | 1999-10-26 | 2006-03-28 | California Institute Of Technology | Fault-tolerant communication channel structures |
US6446068B1 (en) * | 1999-11-15 | 2002-09-03 | Chris Alan Kortge | System and method of finding near neighbors in large metric space databases |
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 |
US7389252B2 (en) * | 2000-01-06 | 2008-06-17 | Anne E. Robb | Recursive method and system for accessing classification information |
US7031956B1 (en) * | 2000-02-16 | 2006-04-18 | Verizon Laboratories Inc. | System and method for synchronizing and/or updating an existing relational database with supplemental XML data |
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 |
US6750883B1 (en) * | 2000-04-05 | 2004-06-15 | Microsoft Corporation | Identity-based context aware computing systems and methods |
US7096029B1 (en) * | 2000-04-05 | 2006-08-22 | Microsoft Corporation | Context aware computing devices having a common interface and related methods |
US6327535B1 (en) * | 2000-04-05 | 2001-12-04 | Microsoft Corporation | Location beaconing methods and systems |
US7421486B1 (en) * | 2000-04-05 | 2008-09-02 | Microsoft Corporation | Context translation methods and systems |
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 |
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 |
US6513059B1 (en) * | 2000-08-24 | 2003-01-28 | Cambira Corporation | Adaptive collaborative intelligent network system |
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 |
US20020156870A1 (en) | 2000-11-08 | 2002-10-24 | Equate Systems, Inc. | Method and apparatus for dynamically directing an application to a pre-defined target multimedia resource |
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 |
US7439982B2 (en) * | 2002-05-31 | 2008-10-21 | Envivio, Inc. | Optimized scene graph change-based mixed media rendering |
-
2000
- 2000-04-05 US US09/544,253 patent/US7743074B1/en not_active Expired - Fee Related
-
2001
- 2001-02-16 AU AU2001238454A patent/AU2001238454A1/en not_active Abandoned
- 2001-02-16 JP JP2001579161A patent/JP2004506964A/ja active Pending
- 2001-02-16 CN CNA018073077A patent/CN1585942A/zh active Pending
- 2001-02-16 WO PCT/US2001/005176 patent/WO2001082143A2/en active Application Filing
- 2001-02-16 EP EP01910896A patent/EP1464008A2/en not_active Withdrawn
Cited By (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100383789C (zh) * | 2005-09-07 | 2008-04-23 | 华为技术有限公司 | 一种对系统资源进行管理的实现方法 |
CN100383788C (zh) * | 2005-09-07 | 2008-04-23 | 华为技术有限公司 | 一种对系统资源进行管理的实现方法 |
WO2013091145A1 (en) * | 2011-12-22 | 2013-06-27 | Intel Corporation | Mechanism for employing and facilitating proximity and context-based deduction of global positioning of computing devices |
US9143894B2 (en) | 2011-12-22 | 2015-09-22 | Intel Corporation | Method and system for proximity and context based deduction of position for a GPS enable computing device |
CN106507686A (zh) * | 2014-04-15 | 2017-03-15 | 西门子公司 | 设计不同技术领域的复杂信息物理系统的具有其各种软件工件的软件架构的方法和工具 |
US10452366B2 (en) | 2014-04-15 | 2019-10-22 | Siemens Aktiengesellschaft | Method and tool for engineering software architectures with its various software artifacts of complex cyber-physical systems of different technical domains |
CN106507686B (zh) * | 2014-04-15 | 2020-12-22 | 西门子公司 | 设计不同技术领域的复杂信息物理系统的具有其各种软件工件的软件架构的方法和系统 |
CN111581294A (zh) * | 2019-02-18 | 2020-08-25 | 阿里巴巴集团控股有限公司 | 实体关系展示方法、装置、电子设备及可读存储介质 |
CN111581294B (zh) * | 2019-02-18 | 2023-04-07 | 阿里巴巴集团控股有限公司 | 实体关系展示方法、装置、电子设备及可读存储介质 |
CN111191930A (zh) * | 2019-12-30 | 2020-05-22 | 广东三扬网络科技有限公司 | 多个思维导图之间的结合展示方法、电子设备和存储介质 |
CN111191930B (zh) * | 2019-12-30 | 2024-05-14 | 广东三扬网络科技有限公司 | 多个思维导图之间的结合展示方法、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
EP1464008A2 (en) | 2004-10-06 |
JP2004506964A (ja) | 2004-03-04 |
WO2001082143A3 (en) | 2004-08-12 |
AU2001238454A1 (en) | 2001-11-07 |
US7743074B1 (en) | 2010-06-22 |
WO2001082143A2 (en) | 2001-11-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1585942A (zh) | 上下文关系察觉系统和利用层级树型结构的方法 | |
CN1419774A (zh) | 带上下文的计算设备和方法 | |
JP4928695B2 (ja) | 環境対話式のコンテキスト指向デバイス、および、方法 | |
US6750883B1 (en) | Identity-based context aware computing systems and methods | |
US6327535B1 (en) | Location beaconing methods and systems | |
US7096029B1 (en) | Context aware computing devices having a common interface and related methods | |
US7072956B2 (en) | Methods and systems for context-aware policy determination and enforcement | |
US7076255B2 (en) | Context-aware and location-aware cellular phones and methods | |
US7421486B1 (en) | Context translation methods and systems | |
US7975229B2 (en) | 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 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C02 | Deemed withdrawal of patent application after publication (patent law 2001) | ||
WD01 | Invention patent application deemed withdrawn after publication |
Open date: 20050223 |