用于产生合成空间表示的方法和系统的制作方法

文档序号:6333133阅读:338来源:国知局
专利名称:用于产生合成空间表示的方法和系统的制作方法
用于产生合成空间表示的方法和系统技术领域
本发明一般涉及空间表示,并且更具体地,涉及组合多个源空间表示以形成合成 空间表示的技术。
背景技术
因特网技术为应用开发者提供了在开发应用时使用的声明性和程序性要素的组 合。因特网应用开发者在提供结构、内容和修饰(decoration)的文档中使用诸如超文本 标记语言(HTML)和层叠式样式表(CCS)的声明性要素、以及诸如JavMcript功能的程 序性要素来提供基于这些文档的计算和交互行为。该技术已经提供了浏览器可部署的 (browser-deployable)和可响应的应用。术语“浏览器”意要不仅仅意指因特网浏览器而 是任何通用的用户界面程序,即加载并呈现应用的基于文档的图形用户界面(GUI)、处理与 ⑶I的用户交互并能够从本地或远程源加载⑶I定义的程序。
电子地图对于许多交互应用是重要的介质。许多基于地图的应用不是浏览器可部 署的,或被限制为窄范围的交互行为。一些地图工具包(toolkit)为浏览器可部署的应用 ⑶I提供了扩展范围的交互行为。但是,已知这些地图工具包限制了开发者的合成能力。发明内容
例如,本发明的原理提供了用于产生与面向空间的应用相关的合成空间表示的技 术。
例如,根据本发明的一个实施例,提供了一种用于产生合成空间表示的方法。该方 法包括从多个源应用获得多个源空间表示;以及通过组合所述多个源空间表示来形成所 述合成空间表示。所述合成空间表示可操作以与至少一个行为要素交互,该至少一个行为 要素与所述合成空间表示分离。在包括处理器和存储器的计算系统上执行所述多个源空间 表示的获得以及所述合成空间表示的形成。从所述存储器获得并由处理器设备执行用于实 现所述多个源空间表示的获得以及所述合成空间表示的形成的一个或多个计算机程序指 令。
有利地,本发明的例示实施例提供了例如用于获得、组合并同时显示多个地图层、 以及用于提供并执行与地图层的结构、内容和修饰分离的例如脚本的行为要素的技术。可 以由行为要素对该结构、内容和修饰操作以使能实现各种交互或计算行为。本发明的各方 面使能够实现例如以各种方式组合来自多个源的数据的多个动态或静态种子的操作。来自 多个种子的数据在显示以前被组合。在另一例子中,本发明的各方面使得终端用户能够直 观化动态空间数据集之间的关系并创建关于数据集中的改变的自定义警告。本发明的特征 还使能实现例如合作、社会联网、地理信息系统和紧急响应。
本发明的这些实施例提供了在上述地图工具包之上的改进之处在于,已知的地图 工具包不能将结构、内容和修饰要素与行为要素完全分离。因此,已知的地图工具包限制了 开发者利用诸如可扩展样式表语言转换(XSLT)的其他面向文档的编程技术来合成基于地图的⑶I的能力。本发明的实施例解决了现有技术中的这些和其他问题。
本发明的这些和其他特征、目标和优点将从要结合附图阅读的本发明的例示实施 例的以下详细描述而变得显而易见。


图1图示了根据本发明的示例实施例的包括地图查看器(viewer)的示例架构。
图2图示了根据本发明的示例实施例的带有相关主站和源应用的地图查看器程 序的示例系统。
图3示出了根据本发明的示例实施例的、列出了可以在地图层要素上产生的示例 事件类型的地图层事件表。
图4示出了根据本发明的示例实施例的、列出了实质上是空间的函数的空间函数表。
图5示出了根据本发明的示例实施例的、列出了考虑到几何关系随时间的改变的 函数的空间-时间表。
图6图示了根据本发明的示例实施例的产生合成空间表示的方法。
图7图示了根据本发明的示例实施例的用于获得多个源空间表示和源空间表示 用户图形界面控制并用于执行包括该多个源空间表示的源应用的方法。
图8绘出在可以用于实现本发明的一个或多个方面和/或要素的计算机系统。
具体实施方式
如在此例示地使用的,客户端是通常通过网络访问例如在远程服务器上的计算机 系统上的远程服务的应用和/或系统。例如,客户端可以包括驻留于处理器设备(例如与 存储器耦接的处理器)上的、获取或下载多个第一数据集(例如包括地图层的每个第一数 据集)的软件。另外,客户端可以执行处理并提供例如处理第一数据集以形成第二数据集、 并将第二数据集提供给用户或另一客户端的功能。客户端可以另外包括硬件(例如处理器 设备)或可以只包括硬件。
如在此例示地使用的,图形用户界面(⑶I)是允许人们与诸如计算机、手持设备 (例如MP3播放器、便携媒体播放器、游戏设备和蜂窝电话)、家用电器和办公室设施的电子 设备交互的一种类型的用户界面。例如,与最典型的命令或文本导航相反,GUI大多提供图 形图标和可视指示符,以表示用户可用的信息和动作。该交互通常通过对图形图标或图形 要素的直接操纵来进行。
如在此例示地使用的,传统图形用户界面(CGUI)是提供传统的⑶I应用、例如窗 口和窗口控制(例如按钮、复选框、菜单、输入框等等)的一种类型的GUI。CGUI由提供用 于创建GUI应用的命令集(例如基于C语言的函数)的库来支持。
如在此例示地使用的,术语空间表示是包括地点依赖性、地理位置、地理上定义的 形状和/或在线性或多维空间中的几何定位的表示。仅通过例子,空间表示可以是地理地 图、几何地图、街道地图、地形地图、行星和恒星的天象可视显示、诸如建筑物楼层设计的物 理布局或设计、或者诸如交通图案(traffic pattern)的对象的地点的显示的电子形式。
如在此例示地使用的,文档对象模型(DOM)是用于表示HTML或可扩展标记语言(XML)和相关格式的独立于平台且独立于语言的标准对象模型。
如在此例示地使用的,应用编程接口(API)是操作系统、库或者服务提供的用于 支持计算机程序做出的请求的函数、进程(procedure)、方法、类或者协议的集合。
如在此例示地使用的,层叠式样式表(CSS)是用于描述以标记语言写出的文档的 展现(presentation)的样式表语言。普通应用用于规范以HTML写出的网页,但是该语言 可以应用于其他种类的XML文档。
如在此例示地使用的,可扩展样式表语言转换(XSLT)是用于将XML文档转换为其 他XML或对人可读的文档的基于XML的语言。原始文档未改变,而是,基于现有文档的内容 来创建新的文档。新文档可以由处理器以标准XML语法或以其他格式、比如HTML或纯文本 来串行化或输出。XSLT通常用于将数据在不同的模式(schema)之间转换,或用于将XML数 据转变成用于网页的HTML或XHTML文档、创建动态网页或者转变成可以被转变成便携文档 格式(PDF)文档的中间XML格式。
如在此例示地使用的,行为要素是引起行为、展现、执行、操作或流程的要素,例如 引起地图或其他空间表示或其显示的改变的要素。仅通过例子,行为要素通常是软件、软件 脚本或函数。软件要素可以由事件、例如计算机鼠标指针指示或者键击来触发。
本发明的一方面是与行为要素可能影响的、对其操作或者与其交互的内容分离的 行为要素,例如与行为要素可能影响、对其操作或与其交互的数据、地图或空间表示分离的 行为要素。在行为要素与数据交互的情况下,可以认为行为要素与数据分离在于例如该数 据没有行为要素可以是完整并有用的。例如,可以不用行为要素而按某种方式有用地展现 该数据。这不排除数据需要其他行为要素(替换的行为要素)以成为有用的或完整的。但 是,分离的行为要素可以向即使利用替换的行为要素在先前也不可用的数据添加价值或者 有用性。此外,可以在没有分离的行为要素时存储和操作数据。
随着越来越多的技术涉及空间认知,例如移动电话和全球定位系统,能够描绘空 间量的值也日益重要。可以通过叠加包括空间或空间-时间信息的多个层、例如叠加地图 层来显示空间量。例示的本发明的实施例涉及多个地图层的获取、组合和显示。例如,这些 实施例使能够进行按各种方式将来自多个源的数据的多个动态或静态种子(feed)组合的 操作。来自多个种子的数据可以在显示之前被组合。通过另一例子,这些实施例使终端用 户能够直观看到(visualize)动态空间数据集之间的关系,并创建关于数据集的改变的自 定义(custom)警告。此外,这些实施例使能够实现例如合作、社会联网、地理信息系统和紧 急响应。
此外,例示的本发明的实施例使得地图层能够通过地图查看器而被呈现为交互文 档,与呈现网页的网页浏览器类似。地图层具有可以被诸如软件脚本的行为要素来操作的 结构、内容和修饰,以使能各种交互或计算行为。地图层可以表示应用的GUI的中心要素。 应用可以是单个用户或多用户应用、本地或网络应用、或者显示静态或动态内容的应用。脚 本可以被嵌入地图层文档中,或可以与地图层文档无关地被加载并执行。脚本可以调用由 地图查看器提供的库中的空间和时间运算符(operator)。利用适当的与安全有关的限制, 脚本可以访问其其他应用的地图层中的数据。这使得完全新的类的轻量的空间-时间智能 应用成为可能。例如,在给出了当前交通情况的情况下,来自示出救护车的持续更新的地点 的一个应用的地图层、来自示出事故的地点的另一应用的地图层以及来自示出车道拥堵的第三应用的地图层可以通过显示哪辆救护车应该响应哪起事故的脚本而相关。该方法因两 个原因而是有优势的(1)其将可视化的能力(power)与计算的能力相结合,以及(2)其提 供了不需要购买、安装和维护服务器的更少基础设施的方法。
本发明的一个实施例将面向空间的应用的对象(例如地图对象)当作或认为是第 一级用户界面(UI)实体,为该对象提供了例如使行为要素能够对地图或者面向空间的应 用对象起作用或与其交互的文档对象模型(DOM)。以此方式,行为要素可以与地图或者面向 空间的应用的结构、内容或修饰分离,并被使能与地图或者面向空间的应用交互。本发明的 此实施例提供了优于其中地图对象仅对于具体实例化(instantiate)地图对象的程序可 访问的面向对象的、基于API的方法的优势。面向对象的、基于API的方法禁止行为要素与 结构、内容和修饰分离,因为其他程序不能访问地图或者面向对象的应用对象。
本发明的另一实施例包括面向空间的应用,其包括合成空间表示,被配置用于用 户来指示包括多个源空间表示中的至少一个的源应用。面向空间的应用被配置用于加载并 执行源应用。
图1图示了根据本发明的实施例的发明的示例结构100。示例结构100包括地图 查看器101和存储设备103、例如位于地图查看器101附近和/或紧密耦接到地图查看器 101的本地存储设备。
地图查看器101包括地图层块110、查看器脚本120、事件和交互驱动的脚本执行 块130、库140、CGUI控制150、层呈现块160、CGUI呈现块170和应用管理器180。
地图层块110中的每个地图层111包括空间数据112、呈现样式113以及可选地 包括层脚本114。空间数据112包括例如称为特征集(featureset)的逻辑相关的地图 特征(多个特征)的集合,作为一个方面,各特征是与地点有关的、具有地理位置和/或 具有地理上定义的或几何上定义的形状的事物的图画表示。呈现样式113或者呈现指示 (directive)包括指示如何呈现特征的展现指示。层脚本114和查看器脚本120是行为或 逻辑要素,并且例如响应于由用户和特征的数据中的改变发起的事件而被调用。层脚本114 可以被嵌入地图层111中,或者可以与地图层111无关地被加载并执行。层脚本114可以 调用库140中的空间和时间运算符。层脚本114不同于地图层111内的空间数据112和呈 现样式113。即,层脚本114是不同的要素,不是空间数据112或呈现样式113的一部分,而 是可以对空间数据112和/或呈现样式113操作。
行为要素(例如层脚本)可以是例如被配置以在用户查看合成空间表示时被翻 译、编译和/或执行的软件脚本。例如层脚本可以被用户写入、修改或编辑(即形成),和/ 或从远程源获得。例如,用户可以是合成空间表示的查看者。
地图层111还可以包括标注(label)或描述各特征的文本、对于各特征的唯一标 识符、与各特征相关的属性(元数据)以及将层脚本114与关于各特征的事件相关的事件 处理机声明。
作为例子,地图层111在被存储或传送时被表示为XML文档。在特定实施例中所 使用的具体XML语言是地图特征语言(MFL),但是也可以使用满足以上要求的其他表示。 例子包括锁眼(keyhole)标记语言(KML)和地理资源描述框架站点摘要和地理简易聚合 (GeoRSS)。
库140内的各个库包括层访问库、运算符库、⑶I库和应用安装的库。存储设备103耦接到地图查看器101,并可以提供查看器脚本120、呈现样式和层脚本。
图1还图示了源应用105和地图应用102。地图应用102是地图查看器101的实 例化(instantiation)。地图应用102例如典型地由与提供地图查看器的第二计算设备耦 接的位于远程的第一计算设备发起。第一和第二计算设备通过网络104、例如因特网或Web 而耦接。应用管理器180通过网络104耦接到源应用105,并管理源应用105的获得和/或 执行。
源应用105通过网络104耦接到地图查看器101。源应用105将源地图提供给地 图查看器101。源地图包括源空间数据、源呈现样式和/或源层脚本。源空间数据和/或源 呈现样式至少部分地标记源空间表示。例如,空间数据112、呈现样式113和层脚本114至 少部分地分别从源空间数据、源呈现样式和源层脚本产生。但是,空间数据112、呈现样式 113和层脚本114还可以包括另外的数据、样式、脚本和成分。地图层111还可以包括规定 在其后应该重新加载源地图的时间段的刷新属性。利用适当的与安全有关的限制,层脚本 114可以访问源应用105和其他应用中的数据。层脚本114和查看器脚本120是分离的,并 且与源空间表示和由地图查看器产生的任何空间表示不同。层脚本114和查看器脚本120 提供了与源空间表示的交互或者对其操作和/或与地图查看器产生的空间表示的交互。
图2图示了根据本发明的实施例的、带有相关的主站和应用的地图查看器程序的 示例系统200。示例系统200包括地图查看器程序201、主站202和应用A、B和C 203。例 如,主站202包括主机网站。主站202管理应用登记和用户喜好。主站202通过网络204 耦接到地图查看器程序201。应用203通过网络204耦接到地图查看器程序201。网络204 包括例如因特网。
地图查看器程序201包括数据结构210、分别对于地图Web应用A、B、C的执行范 围231、232和233、代码模块220、地图呈现工具包240和本地(native)⑶I平台Ml。代码 模块220包括例如应用管理器、CGUI呈现模块、空间函数库、层管理和呈现模块以及服务调 用模块。服务调用模块耦接到并提供应用203。数据结构210包括例如用户选择的应用、当 前加载的应用以及层文档对象。用户选择的应用可以被提供给主站并被存储在主站上的用 户喜好区域内。
考虑本发明的实施例的事件模型。在典型情况下,文档中包含的脚本由声明组 成。因此脚本执行由用户通过与地图层或CGUI的交互产生的事件或者由查看器本身产生 的事件、比如加载中或改变中事件的发生来驱动。事件与CGUI或地图层要素相关。事件 处理机是例如在事件被触发时所执行的、关于通过XML属性的要素而声明的脚本。另外, 可以通过调用地图层或者CGUI文档对象模型(DOM)应用编程界面(API)中的添加监听器 (addListener)方法来将监听器函数与要素相关。
图3是根据本发明的实施例的、列出了可以在地图层要素上产生的示例事件或事 件类型的地图层事件表(在此通过参考并入说明书中)。事件数据包括事件相关的特征或 特征集对象。
考虑本发明的实施例的空间函数。一个实施例提供了可以从地图层或者CGUI文 档脚本(行为要素)调用的、对空间数据执行各种操作的函数的库。
图4示出了根据本发明的实施例的、列出了实质上主要是空间的、即仅与几何有 关的函数的空间函数表(在此通过参考并入说明书中)。
图5示出了根据本发明的实施例的、列出了考虑到几何关系随时间的改变的函数 的空间-时间表(在此通过参考并入说明书中)。这些函数术语为空间-时间函数。
图4和图5中所列的函数是代表性的而不是穷举的。在图4和图5中,“F”和“FS” 分别指代特征和特征集对象。图5中所列的空间-时间函数是有状态的,即空间-时间函 数维持在先前调用函数时使用的数据,并且该空间-时间函数必须在使用前被实例化。
考虑本发明的实施例的交互支持。除了使得应用能够接收点击(receive-click) 和经鼠标(mouse-over)与其自身的地图层特征有关的事件,该实施例还使得用户能够调 用关于地图或地图地点上的任何特征或特征集的应用函数。查看器提供了用户选择特征、 特征集或地点、然后从由应用提供的服务的菜单中选择用户可用的服务的手段。
应用的服务名称和实现方式(例如统一资源定位符或JavMcript函数名)被包 括在应用的等级信息中。另外,对于每个服务,存在是否必须加载应用以使服务有效或者是 否服务总是可用的指示。当用户点击特征或地点时,查看器通过添加加载的应用的服务、然 后添加已经被声明将总是可用的服务来动态地建立服务菜单。
图6图示了根据本发明的实施例产生合成空间表示的方法600。合成空间表示例 如可以通过面向空间的应用或在面向空间的应用中使用。例如,软件程序执行方法600并 产生合成空间表示。合成空间表示例如由提供者提供,该提供者可以是执行方法600的至 少第一步骤601和第二步骤602的实体。提供者可以另外执行方法600的第三到第十步骤 603-610。例如,提供者包括地图查看器101。
第一步骤601包括从多个源应用中获取多个源空间表示以及可选地获取源空间 表示GUI控制。例如,源空间表示是包括地理信息、与地点有关或与几何有关的信息的地 图。例如从包括经过因特网获得的多个静态动态Web数据种子、例如RSS数据种子的多个 数据种子中获取多个源应用。RSS指代以下任意项丰富站点摘要(RSS 0.91)、简易聚合 (RSS 2.0)、以及资源描述框架站点摘要(RSS0. 9和1.0)。或者,可以本地获得多个源应用。 源应用典型地将源GUI表示为一个或多个空间内容源地图层加上零个或更多与该源地图 层相关的源CGUI。从作为包含源空间特征、用于呈现源空间特征的源规范(源样式)以及 可执行源脚本(逻辑要素)的源文档的源应用发送源地图层。图7图示了根据本发明的实 施例的将在以下描述的、用于获得多个源空间表示和源空间表示用户图形界面控制的第二 方法。
第二步骤602包括通过组合多个源空间表示来形成合成空间表示。通过将空间内 容源地图层彼此叠加以形成合成空间表示来同时呈现多个源应用的源GUI。该合成空间表 示包括空间特征和用于呈现该空间特征的规范。例如,合成空间表示是包括地理信息或与 地点有关的信息的地图。
第三步骤603包括形成合成空间表示⑶I控制。至少部分地从源空间表示⑶I控 制的部分或所有来形成该合成空间表示GUI控制。另外,可以添加其他成分以形成合成空 间表示GUI控制。合成空间表示GUI控制包括例如CGUI。
第四步骤604包括通过组合合成空间表示和合成空间表示⑶I控制来形成交互合 成空间表示。交互合成空间表示包括例如交互合成空间表示GUI。
第五步骤605包括例如由提供者提供带有该交互合成空间表示的至少部分(例如 合成空间表示)的下游服务。交互合成空间表示可以包括空间边界和显示的定标(scale)(真实世界单位与显示单位的比例)。下游服务可以在交互合成空间表示的背景改变的任 何时候请求被更新。提供者提供用于发送该交互合成空间表示的至少部分的手段。例如, 该交互合成空间表示应用的该至少部分被提供给下游服务或经过因特网或其他网络的服 务。服务可以执行任意的动作,包括存储或传送到其他另外的服务或客户端,因此便于用户 间合作。例如,交互合成空间表示可以包括地图层、地图层要素或地图层事件。
第六步骤606包括获取更新的多个源空间表示,包括对至少一个源空间表示的更 新。在此情况下,多个数据种子包括周期地提供至少一个更新的源空间表示的至少一个动 态种子。
第七步骤607包括通过组合更新的多个源空间表示来形成更新的交互合成空间 表示。通过相互叠加更新的空间内容源地图层以形成更新的合成空间表示来同时呈现包括 更新的多个源空间表示的更新的多个源应用的源GUI。更新的交互合成空间表示包括例如 更新的交互合成空间表示GUI。
第八步骤608包括为第一下游服务提供更新的交互合成空间表示的至少部分。更 新的交互合成空间表示可以包括空间边界和显示的定标(真实世界单位与显示单位的比 例)。下游服务可以在更新的交互合成空间表示的背景改变的任何时候请求进一步被更新。 提供者提供用于发送该更新的交互合成空间表示的至少部分的手段。例如,该更新的交互 合成空间表示应用的该至少部分经过因特网或其他网络被提供给服务。服务可以执行任意 的动作,包括存储或传送到其他另外的服务或客户端,因此便于用户间合作。例如,更新的 交互合成空间表示可以包括地图层、地图层要素或地图层事件。
第九步骤609包括提供和执行关于源空间表示、合成空间表示和/或交互合成空 间表示的函数。
第十步骤610包括定义事件类型或函数的集合。该函数是行为要素,并包括例如 层脚本114、查看器脚本120、逻辑要素和其执行由该事件类型中的事件、用户交互或者地 图特征的数据中的改变来触发的脚本。脚本典型地是软件脚本。该函数提供与源空间表示、 合成空间表示和/或交互合成空间表示的交互或对其运算。
该函数包括例如对源空间表示、合成空间表示和/或交互合成空间表示进行操作 的软件。由该函数提供的与源空间表示、合成空间表示和/或交互合成空间表示的交互包 括计算、用户交互和/或事件驱动的交互。该函数对源空间表示、合成空间表示和/或交互 合成空间表示的结构、内容、修饰、声明要素、空间特征或声明进行操作。该函数适用于通过 面向空间的应用来执行,该面向空间的应用包括合成空间表示或接收该合成空间表示的下 游服务。函数与源空间表示、合成空间表示和/或交互合成空间表示分离。
例如由提供者定义事件类型。事件类型和事件的例子包括用户交互事件、函数 (行为要素)产生的事件、地图层更新事件和脚本产生的事件,以及与图3中列出的事件类 型相关的事件。例如,地图层更新事件包括合成空间表示中的更新以及多个源空间表示中 的一个或多个中的更新。函数的例子在图4和图5中列出,并包括空间、时间和统计函数。 例如,提供者能够执行对地图层有关的脚本、或者访问多个地图层的脚本,并提供对地图层 中的数据实施函数的运算符的库。例如,地图层包括地图层111中的一个或多个。例如,运 算符的库包括库140内的运算符库。脚本可以向其他脚本提供函数。脚本和提供者之间的 绑定例如是动态的。在一些实施例中,函数被提供给下游服务或下游服务的用户。在这些实施例中,下游服务执行该函数。
一些实施例还提供适用于该函数执行的子函数的库。该库包括例如空间函数、时 间函数、空间-时间函数和/或统计函数。
第十一步骤611包括由下游服务修改交互合成空间表示的至少部分以形成修改 的交互合成空间表示,并将该修改的交互合成空间表示提供给第二下游服务。第十一步骤 611由例如从提供者获得空间表示的服务执行。服务的例子是社会网络或服务;提供合作 的服务;地理信息系统;服务或提供者;以及紧急响应系统、服务或提供者。
第十二步骤612用于显示交互合成空间表示或者更新的交互合成空间表示。由包 括合成空间表示或者下游服务的面向空间的应用典型地在用户的显示器上进行显示。
方法600的第六步骤605和第八步骤608分别提供了交互合成空间表示和更新的 交互合成空间表示。在其他示例实施例中,提供合成空间表示和/或更新的合成空间表示。
要理解,可以在用户客户端(例如用户的计算设备)和服务器侧处理元件(例如 提供者的服务器或其他计算设备)之间分发提供者的函数。例如,查看器脚本120(图1) 可以代表特定用户的提供者在服务器上执行。
图7图示了根据本发明的实施例的用于获取多个源空间表示和源空间表示用户 图形界面控制、并用于执行包括该多个源空间表示的应用的示例方法。应用的一个实施例 包括两个文档,每个文档带有相关的脚本(行为要素)。一个文档是表示CGUI的GUI文档, 其由诸如形式、列表、表格、按钮和复选框的用户接口(UI)组成。另一文档是与应用的(一 个或多个)地图层对应的地图层文档。这些文档在查看器中如下被实例化。
第一步骤701包括用户键击或者指示由查看器提供的可视UI要素,该可视UI要 素表示应用并规定应用的文档(规定的文档),该文档是CGUI文档或者是地图层文档。例 如,UI要素包括图标或菜单选择。
第二步骤702包括查看器响应于第一步骤701而创建对于该应用的执行环境。例 如,查看器包括地图查看器。在一个基于Web浏览器的实施例中,由在查看器窗口内创建的 HTML iframe标签来提供执行环境。
第三步骤703包括查看器将由UI要素所指示的规定的文档加载到执行环境中。如 果规定的文档是CGUI文档,则CGUI文档被呈现并使其对用户可见。如果规定的文档是地 图层文档,则在提供的地图之上呈现地图层文档。文档呈现包括文档中所包含的除事件处 理机之外的任意脚本的处理。
在手持设备上,屏幕对于在同一可视平面内呈现的地图和应用的CGUI来说可能 太小。用CGUI覆盖地图将用户从空间背景移开。因此,对于手持设备的实施例例如可以使 用足够的不透明性来维持可用性但保持地图在下面可见来半透明地呈现CGUI,因此为用户 保留了空间背景。第四步骤704包括执行第一加载中事件处理机,并加载相应的文档,即与 规定的文档对应的文档。如果规定的文档是CGUI文档,则相应的文档是例如相应的地图层 文档,并且第一加载中事件处理机加载相应的地图层文档。
如果规定的文档是地图层文档,则相应的文档是例如相应的CGUI文档,并且第一 加载中事件处理机加载相应的CGUI文档。例如通过查看器提供的加载层(IoadLayer)或 者加载应用(IoadApp)库函数来执行加载动作。
第五步骤705是可选的,并包括执行第二加载中事件处理机和加载二级文档。如果提供了调回函数作为对于加载层或者加载应用库函数的自变量(argument)。
示例实施例是合成空间表示或者包括该合成空间表示的面向空间的应用,其提供 了从第一源空间表示获得的救护车的地点。周期地更新合成空间表示以更新救护车的地 点。来自第二和第三源空间表示的其他空间信息也可以被获得并被包括在合成空间表示 内。例如包括合成空间表示的面向空间的应用还从第二源空间信息获得交通信息,并且还 从第三源空间表示获得紧急事故的地点。行为要素(脚本)用以计算用于响应该紧急事故 的最佳可用救护车、以及在给出救护车的位置、紧急事故的位置以及交通状况的情况下的 救护车的最佳路线。
在此例子中,第一、第二和第三源空间表示是来自多个源应用的多个源空间表示。 通过组合该多个源空间表示来形成合成空间表示。该合成空间表示可操作以与行为要素交 互。行为要素与合成空间表示分离在于例如合成空间表示以及源空间表示包括与行为要素 无关的信息。空间表示可以是例如没有行为要素而本身或者独自有用的,因为源空间表示 是在源应用中的。行为要素可能不是使用或显示空间表示所必需的。但是,行为要素可以 向空间表示添加值或有用的内容。在此示例中,行为要素通过确定用于响应该紧急事故的 最佳可用救护车、以及在给出救护车的地点、紧急事故的地点以及交通状况的情况下的救 护车的最佳路线来添加值和有用的函数。有用的函数可以依赖于源空间表示的组合或叠加 以及行为要素对空间表示(即源和/或合成空间表示)的操作。
本发明的实施例的另一例子是来自第一源应用的第一源地图层的恒星和行星的 显示与来自第二源应用的第二源地图层的小行星的显示以及来自第三源应用的源空间表 示(例如数据流)的关于轨道运行空间垃圾的与位置有关的信息相组合、以产生示出或包 括与地球、其他行星和恒星有关的小行星和空间垃圾的位置的合成显示(例如电子地图) 或者合成数据流。该合成显示或者合成数据流被用作对于针对太空物体对地球的影响的基 于地球的警告系统的输入。
如本领域技术人员将认识到的,本发明的各方面可以被具体化为系统、方法或计 算机程序产品。从而,本发明的各方面可以采取全部硬件实施例、全部软件实施例(包括固 件、常驻软件、微代码等)或者组合了所有在此一般称为“电路”、“模块”或“系统”的软件 和硬件方面的实施例。此外,本发明的各方面可以采取在具有体现在其上的计算机可读程 序代码的一个或多个计算机可读介质中体现的计算机程序产品的形式。
可以利用一个或多个计算机可读介质的任何组合。计算机可读介质可以是计算机 可读信号介质或者计算机可读存储介质。计算机可读存储介质可以是例如但不限于电子 的、磁的、光的、电磁的、红外的或半导体的系统、装置或设备、或者前述的任何适当的组合。 计算机可读存储介质的更具体的例子(非穷举性列表)将包括以下具有一条或多条线路 的电连接、便携计算机磁碟、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编 程只读存储器(EPR0M或闪存)、光纤、便携致密盘只读存储器(CD-ROM)、光存储设备、磁存 储设备或前述的任何适当的组合。在此文档的上下文中,计算机可读存储介质可以是可以 获得或存储由指令执行系统、装置或设备使用或与其结合使用的程序的任何有形介质。
计算机可读信号介质可以包括例如基带中的或者作为载波的一部分的其中体现 了计算机可读程序代码的传播数据信号。这样的传播信号可以采取各种形式,包括但不限 于电磁形式、光形式或其任何适当的组合。计算机可读信号介质可以是不是计算机可读存储介质的、并可以通信、传播或传输由指令执行系统、装置或设备使用或与其结合使用的程 序的任何计算机可读介质。
可以使用任何适当的介质、包括但不限于无线、有线、光纤电缆、RF等或前述的任 何适当的组合来传送在计算机可读介质中体现的程序代码。
用于实行本发明的各方面的操作的计算机程序代码可以按一种或多种编程语言、 包括诸如Java、Smalltalk、C++等面向对象的编程语言以及诸如“C”编程语言或类似的编 程语言的传统程序上的编程语言的任意组合而被写入,程序代码可以全部在用户的计算机 上、部分在用户的计算机上、作为单独的软件包、部分在用户的计算机上并且部分在远程计 算机上、或者全部在远程计算机或服务器上执行。在后一情况下,远程计算机可以通过任何 类型的网络、包括局域网(LAN)或广域网(WAN)连接到用户的计算机,或者可以进行与外部 计算机的连接(例如使用因特网服务提供者通过因特网)。
以下参考根据本发明的实施例的方法、装置(系统)和计算机程序产品的流程图 图示和/或框图来描述本发明的各方面。将理解,流程示和/或框图的每个块以及流 程示和/或框图中的块的组合可以通过计算机程序指令实现。这些计算机程序指令 可以被提供给通用计算机、专用计算机或者其他可编程数据处理装置的处理器以产生机制 (machine),使得经由计算机或者其他可编程数据处理装置的处理器执行的指令建立用于 实现流程图和/或框图的一个或多个块中指定的功能/动作的手段。
这些计算机程序指令可以被存储在可以指引计算机、其他可编程数据处理装置或 其他设备以特定方式运作的计算机可读介质中,使得存储在该计算机可读介质中的指令产 生包括实现在流程图和/或框图的一个或多个块中指定的功能/动作的指令的一件制成品。
计算机程序指令还可以被加载到计算机、其他可编程数据处理装置或者其他设备 上,以致使在计算机、其他可编程装置或其他设备上执行一系列运算步骤,以产生计算机实 现的处理,使得在计算机或其他可编程装置上执行的指令提供用于实现在流程图和/或框 图的一个或多个块中指定的功能/动作的处理。
再次参考图6和图7,其分别是方法600和700的操作程序图或流程图,各图中的 流程图和框示了根据本发明的各个实施例的系统、方法和计算机程序产品的可能实现 方式的结构。功能性和操作。在这点上,流程图或框图中的每个块可以表示包括用于实现所 指定的(一个或多个)逻辑功能的一个或多个可执行指令的代码的模块、段或者部分。还 应该注意,在一些替换实施方式中在块中所标注的功能可能不按图中所标的顺序发生。例 如,连续示出的两个块事实上可以基本同时被执行,或者各块有时可以按相反顺序执行,这 取决于所涉及的功能性。还将注意,框图和/或流程示中的每个块以及框图和/或流 程示中的块的组合可以由执行规定的功能或动作的专用的基于硬件的系统或者专用 硬件和计算机指令的组合来实现。
从而,如在此所述,例如在图1到7中所绘的本发明的技术还可以包括提供一种系 统,其中该系统包括不同的模块(例如软件模块)。仅通过例子,模块可以包括源空间表 示获取模块,被配置为从多个源应用获得多个源空间表示;合成空间表示形成模块,被配置 为通过组合该多个源空间表示来形成合成空间表示;合成空间表示提供模块,被配置为提 供该合成空间表示;以及行为要素提供模块,被配置为提供与该多个源空间表示和合成空间表示分离的行为要素,其中该行为要素提供与包括该多个源空间表示和该合成空间表示 的空间表示的组中的至少一个的交互。各模块还可以被适配为例如执行分别在图6和图7 中所示的方法600和700的步骤。
一个或多个实施例可以利用运行在通用计算机或工作站上的软件。参考图8,这样 的实施例方式采用例如处理器802、存储器804和由例如显示器806和键盘808形成的输入 /输出接口。在此使用的术语“处理器”意要包括任何处理设备,诸如例如包括CPU (中央处 理单元)和/或其他形式的处理电路的任何处理设备。此外,术语“处理器”可以指多于一 个单独的处理器。术语“存储器”意要包括与处理器或CPU相关的存储器,诸如例如RAM(随 机存取存储器)、R0M(只读存储器)、固定的存储器器件(例如硬盘驱动器)、可移除存储器 器件(例如磁碟)、闪存等。另外,在此使用的短语“输入/输出接口”意要包括例如用于将 输入数据到处理单元的一个或多个机构(例如键盘或鼠标)、以及用于提供与处理单元相 关的结果的一个或多个机构(例如显示器或打印机)。处理器802、存储器804和诸如显示 器806和键盘808的输入/输出接口可以例如经由作为数据处理单元812的一部分的总线 810互连。例如经由总线810的适当的互连还可以被提供给网络接口 814、比如网卡,其可 以被提供以与计算机网络接口以及介质接口 816、比如磁碟或CD-ROM驱动器,其可以被提 供以与介质818接口。
适合于存储和/或执行程序代码的数据处理系统可以包括直接或经过系统总线 810间接耦接到存储器元件804的至少一个处理器802。该存储器元件可以包括在程序代 码的实际执行期间采用的本地存储器、海量存储器以及提供至少一些程序代码的临时存储 以便降低在执行期间必须从海量存储器提取代码的次数的高速缓存。
输入/输出或I/O设备(包括但不限于键盘808、显示器806、定点设备等)可以 直接(比如经过总线810)或者经过居间I/O控制器(为了简明而被省略)耦接到系统。
诸如网络接口 814的网络适配器也可以耦接到系统以使数据处理系统变得经过 居间私有或公共网络与其他数据处理系统或远程打印机或存储设备耦接。调制解调器、电 缆调制解调器和以太网卡仅仅是当前可用类型的网络适配器中的几个。
如在此、包括在权利要求中使用的,“服务器”包括运行服务器程序的物理数据处 理系统(例如如图8所示的系统812)。将理解,这样的物理服务器可以包括或者可以不包 括显示器和键盘。
将认识到并应当理解,以上所述的本发明的示例实施例可以按大量不同的方式而 实现。给出在此提供的本发明的教导,本领域技术人员将能够构思本发明的其他实施方式。 实际上,尽管在此已经参考附图描述了本发明的例示实施例,但是将理解,本发明不限于这 些精确的实施例,并且本领域技术人员不脱离本发明的范围和精神可以做出各种其他改变 和修改。
权利要求
1.一种用于产生合成空间表示的方法,该方法包括从多个源应用获得多个源空间表示;以及通过组合所述多个源空间表示来形成所述合成空间表示,所述合成空间表示可操作以 与至少一个行为要素交互,该至少一个行为要素与所述合成空间表示分离;其中在包括处理器和存储器的计算系统上执行所述多个源空间表示的获得以及所述 合成空间表示的形成,以及其中从所述存储器获得并由处理器设备执行用于实现所述多个 源空间表示的获得以及所述合成空间表示的形成的一个或多个计算机程序指令。
2.根据权利要求1的方法,其中所述至少一个行为要素包括被配置为进行以下的至少 一个的一个或多个软件脚本被编译、以及响应于查看所述合成空间表示的用户而被执行。
3.根据权利要求1的方法,其中所述至少一个行为要素包括作为以下的至少一个的一 个或多个软件脚本被用户形成、以及从远程源被获得,以及其中所述方法可操作以供用户 查看所述合成空间表示。
4.根据权利要求1的方法,其中所述至少一个行为要素包括可对以下的至少一个进行 操作的软件代码所述多个源空间表示、以及所述合成空间表示。
5.根据权利要求1的方法,其中所述至少一个行为要素通过计算、用户交互和事件驱 动的交互中的至少一个与所述合成空间表示交互。
6.根据权利要求1的方法,其中所述至少一个行为要素可对所述多个源空间表示和所 述合成空间表示中的至少一个的结构、内容、修饰、声明要素、空间特征和修饰中的至少一 个进行操作。
7.根据权利要求1的方法,其中所述至少一个行为要素被配置为由以下的至少一个执 行包括所述合成空间表示的面向空间的应用、以及接收所述合成空间表示的下游服务。
8.根据权利要求1的方法,其中所述多个源应用从以下的至少一个中获得多个数据 种子、以及包括经过因特网获得的多个动态Web数据种子的多个数据种子。
9.根据权利要求1的方法,其中函数的库被配置为由所述行为要素执行,其中所述库 包括空间函数、时间函数、空间-时间函数和统计函数的至少一个。
10.根据权利要求1的方法,其中所述合成空间表示进行以下的至少一个被显示、以 及可操作用于用户交互。
11.根据权利要求1的方法,还包括形成用于所述合成空间表示的第一用户界面控制;以及将所述第一用户界面控制与所述合成空间表示组合。
12.根据权利要求11的方法,还包括从所述多个源应用的至少一个中获得第二用户界面控制,其中所述第一用户界面控制 包括所述第二用户界面控制。
13.根据权利要求11的方法,其中所述第一用户界面控制包括传统图形用户界面,以 及其中第一图形用户界面控制包括所述第一用户界面控制和所述合成空间表示。
14.根据权利要求1的方法,其中所述合成空间表示包括空间特征以及用于呈现所述 空间特征的规范。
15.根据权利要求1的方法,其中所述合成空间表示被配置用于以下的至少一个提供 给下游服务、以及被更新并再提供给所述下游服务。
16.根据权利要求1的方法,其中事件引起所述至少一个行为要素的执行,其中所述事 件是以下的至少一个用户交互、在所述多个源空间表示和所述合成空间表示中的至少一 个中的更新、以及行为要素产生的事件。
17.根据权利要求1的方法,其中包括所述合成空间表示的面向空间的应用被配置用 于用户指示包括所述多个源空间表示中的至少一个的源应用,以及其中所述面向空间的应 用被配置用于加载并执行所述源应用。
18.根据权利要求1的方法,其中所述多个源空间表示中的至少一个包括地理信息和 与地点有关的信息中的至少一个,以及其中所述合成空间表示包括地理信息和与地点有关 的信息中的至少一个。
19.根据权利要求1的方法,其中包括所述合成空间表示的所述面向空间的应用提供 从所述多个源空间表示中的第一空间表示获得的至少一辆救护车的地点,其中所述面向空 间的应用被配置用于更新该地点,以及其中所述面向空间的应用提供来自所述多个源空间 表示中的第二空间表示的空间信息。
20.一种用于产生合成空间表示的装置,所述装置包括存储器;以及处理器,耦接于所述存储器并可操作用于从多个源应用获得多个源空间表示;以及通过组合所述多个源空间表示来形成所述合成空间表示;其中所述合成空间表示可操作以与至少一个行为要素交互,该至少一个行为要素与所 述合成空间表示分离。
21.一种在处理器设备上实现的、用于产生合成空间表示的系统,所述系统包括源空间表示获取模块,可操作以从多个源应用获得多个源空间表示;以及合成空间表示形成模块,可操作以通过组合所述多个源空间表示来形成所述合成空间 表不;其中所述合成空间表示可操作以与至少一个行为要素交互,该至少一个行为要素与所 述合成空间表示分离,以及其中所述源空间表示获取模块和所述合成空间表示形成模块在所述处理器设备上被 实现。
全文摘要
给出了用于产生合成空间表示的技术。例如,一种方法包括从多个源应用获得多个源空间表示;以及通过组合所述多个源空间表示来形成所述合成空间表示。所述合成空间表示可操作以与至少一个行为要素交互,该至少一个行为要素与所述合成空间表示分离。在包括处理器和存储器的计算系统上执行所述多个源空间表示的获得以及所述合成空间表示的形成。从所述存储器获得并由处理器设备执行用于实现所述多个源空间表示的获得以及所述合成空间表示的形成的一个或多个计算机程序指令。
文档编号G06F17/30GK102033902SQ201010299340
公开日2011年4月27日 申请日期2010年9月27日 优先权日2009年9月30日
发明者乔纳森·P·芒森, 戴维·A·伍德, 斯特拉·J·米切尔, 米歇尔·贝齐, 艾伦·G·科尔 申请人:国际商业机器公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1