首页> 中国专利> 用于连接真实世界WEB应用与3D虚拟世界的方法和装置

用于连接真实世界WEB应用与3D虚拟世界的方法和装置

摘要

一种计算机实现的方法、数据处理系统和计算机程序产品,其用于在Web应用(402)中创建的软件对象与在虚拟世界应用中创建的3D虚拟世界对象(420)之间自动地共享信息和传播控制命令和事件。创建将Web对象链接到一个或多个虚拟世界对象(420)或者将虚拟世界对象(420)链接到一个或多个Web对象的关系。Web应用(402)可以取回一个或多个虚拟世界对象(420)的元数据,或者发送命令或事件以操纵被链接到Web应用(402)内的Web对象的一个或多个虚拟世界对象(420)。虚拟世界系统(404)可以取回一个或多个Web对象的元数据,或者发送命令或事件以操纵被链接到虚拟世界系统(404)内的虚拟世界对象(420)的一个或多个Web对象。

著录项

  • 公开/公告号CN101821698A

    专利类型发明专利

  • 公开/公告日2010-09-01

    原文格式PDF

  • 申请/专利权人 国际商业机器公司;

    申请/专利号CN200880110959.3

  • 申请日2008-08-06

  • 分类号G06F3/00;

  • 代理机构北京市金杜律师事务所;

  • 代理人王茂华

  • 地址 美国纽约阿芒克

  • 入库时间 2023-12-18 00:44:04

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2012-05-23

    授权

    授权

  • 2010-10-20

    实质审查的生效 IPC(主分类):G06F3/00 申请日:20080806

    实质审查的生效

  • 2010-09-01

    公开

    公开

说明书

技术领域

本发明总体上涉及改进的数据处理系统,并且更具体地,涉及用于对既具有Web接口又具有虚拟世界接口的软件应用进行处理的计算机实现的方法和装置。进一步更具体地,本发明涉及计算机实现的方法、装置和计算机可用程序代码,其用于使在Web应用中创建的软件对象与虚拟世界应用中创建的3D虚拟世界对象之间的信息共享和控制命令或事件的传播自动化。

背景技术

软件应用是以软件实现的、用于完成给定目的的系统。Web应用是具有通过Web服务器而联系在一起的客户端侧组件和服务器侧组件的软件应用。客户端侧组件的形式是Web页面,而服务器侧组件可以使用各种技术来构建,诸如JSP(JaveServer Page),Java Servlet以及PHP。Web页面通过声明式语言以及使用脚本语言(诸如JavaScript)的逻辑来定义用户接口(UI),其中声明式语言诸如超文本标记语言(HTML)和可扩展标记语言(XML)。客户端设备上的Web浏览器对Web页面进行处理和显示。客户端Web页面使用超文本传输协议(HTTP)来与Web服务器通信,该Web服务器将客户端请求链接到执行处理的适当服务器组件,这些处理通常包括数据库访问和公司业务逻辑(诸如电子商务)。服务器组件通过Web服务器进行响应,该Web服务器使用HTTP来将响应发送回客户端。

虚拟世界是提供基于计算机的仿真环境的软件应用,在此仿真环境中,虚拟人物(称为“角色”)可以居住、访问不同的地方以及彼此交互。虚拟世界环境通常以模仿真实世界环境的3D表征来表示。角色代表居住在虚拟世界中的人。

现有的虚拟世界软件系统专注于使用虚拟世界环境来对真实世界系统进行建模。这种现有虚拟系统的例子包括美国专利公开号20070101276A1,其描述了一种用于使用虚拟世界系统来对Web站点进行建模的系统。美国专利公开号20070100705A1利用3D虚拟现实设置对衣服和配件购物过程进行了仿真。美国专利公开号20060063645A1公开了一种将健身设备连接到虚拟世界应用的电子设备。美国专利公开号20030061284A1描述了一种用于利用与语音通信相结合的控制过程(诸如,导航)来远程控制产品的虚拟表征的系统。美国专利公开号20030050864A1描述了一种允许在3D模特上对某些衣服进行3D渲染的方法,其中衣服和模特是由用户通过Web站点选择的。

然而,这些现有虚拟世界软件系统不包含与Web应用共享虚拟世界中的信息这一特征,反之亦然。此外,这些现有虚拟世界软件系统也不包含从Web应用向虚拟世界传播命令和事件这一特征,反之亦然。

发明内容

示意性实施方式提供了一种计算机实现的方法、数据处理系统和计算机程序产品,其用于处理用于在Web应用中创建的软件对象与在虚拟世界应用中创建的3D虚拟世界对象之间自动地共享信息和传播控制命令或事件的软件应用。当接收到来自非虚拟世界接口的、针对与被链接到非虚拟世界对象的一个或多个虚拟世界对象有关的元数据的请求时,示意性实施方式获取将该非虚拟世界对象链接到一个或多个虚拟世界对象的映射信息。示意性实施方式使用映射信息中的标识符来取回与一个或多个虚拟世界对象有关的元数据,继而向非虚拟世界接口发送与一个或多个虚拟世界对象有关的元数据。

类似地,当接收到来自虚拟世界接口的、针对与被链接到虚拟世界对象的一个或多个非虚拟世界对象有关的元数据的请求时,示意性实施方式获取将该虚拟世界对象链接到一个或多个非虚拟世界对象的映射信息。示意性实施方式使用映射信息中的标识符来取回与一个或多个非虚拟世界对象有关的元数据,继而向虚拟世界接口发送与一个或多个非虚拟世界对象有关的元数据。

附图说明

在所附权利要求书中阐述了本发明的新颖特征。然而,当结合附图进行阅读时,本发明本身,以及优选使用模式、本发明的其他目的和优势将通过对示意性实施方式的以下详细描述的参考得到最好的理解,附图中:

图1绘出了可以在其中实现示意性实施方式的分布式数据处理系统的图形表征;

图2是可以在其中实现示意性实施方式的数据处理系统的框图;

图3绘出了可以在其中实现示意性实施方式的系统的高层架构的图形表征;

图4绘出了可以在其中实现示意性实施方式的系统的详细架构。

图5绘出了按照示意性实施方式的、由Web应用实现的高层过程的流程图;

图6绘出了示出按照示意性实施方式的、如何处理来自Web应用的请求的流程图;

图7绘出了示出按照示意性实施方式的、如何处理来自Web应用和虚拟世界系统二者的请求的流程图;

图8绘出了示出按照示意性实施方式的、如何处理来自虚拟世界系统的请求的流程图;

图9绘出了示出按照示意性实施方式的、如何向外部接口传送虚拟世界元数据的流程图;

图10绘出了示出按照示意性实施方式的、如何监测和处理虚拟世界对象的流程图。

具体实施方式

现在参考附图,具体地参考图1-图2,其提供了示意性实施方式可以在其中实现的数据处理环境的示例性图示。应当理解,图1-图2仅仅是示例性的,其目的不在于断言或暗示有关可以实现不同实施方式的环境的任何限制。可以对所绘环境做出多种修改。

图1绘出了可以在其中实现示意性实施方式的数据处理系统的网络的图形表征。网络数据处理系统100是可以实现示意性实施方式的计算机的网络。网络数据处理系统100包含网络102,其用于在网络数据处理系统100内连接在一起的各种设备和计算机之间提供通信链路的媒介。网络102可以包括连接,诸如有线、无线通信链路或光纤线缆。

在所绘出的示例中,服务器104和服务器106以及存储单元108连接到网络102。此外,客户端110、112和114连接到网络102。客户端110、112和114例如可以是个人计算机或网络计算机。在所绘出的示例中,服务器104向客户端110、112和114提供数据,诸如引导文件、操作系统镜像以及应用。在此示例中,客户端110、112和114是服务器104的客户端。网络数据处理系统100可以包括未示出的附加的服务器、客户端以及其他设备。

在所绘出的示例中,网络数据处理系统100是因特网,网络102代表全球范围内使用传输控制协议/网际协议(TCP/IP)协议组来相互通信的网络和网关的集合。因特网的核心是位于主要节点或主计算机之间的高速数据通信线路骨干,包括数千个对数据和消息进行路由的商用的、政府的、教育的和其他计算机系统。当然,网络数据处理系统100还可以实现为多个不同类型的网络,例如,内联网、局域网(LAN)或广域网(WAN)。图1旨在于作为示例,而不作为针对不同示意性实施方式的架构上的限制。

现在参考图2,其示出了可以在其中实现示意性实施方式的数据处理系统的框图。数据处理系统200是诸如图1中的服务器104或客户端110之类的计算机的示例,实现过程的计算机可用程序代码或指令可以位于其中,以用于示意性实施方式。在此示意性示例中,数据处理系统200包括通信结构202,其在处理器单元204、存储器206、永久性存储设备208、通信单元210、输出/输出(I/O)单元212和显示器214之间提供通信。

处理器单元204用于执行可以加载到存储器206中的软件的指令。取决于具体实现,处理器单元204可以是一个或多个处理器的集合,或者可以是多处理器核。进一步地,处理器单元204可以使用一个或多个异构处理器系统来实现,在这种处理器系统中,在单个芯片上为主处理器提供若干辅助处理器。作为另一示意性示例,处理器单元204可以是对称多处理器系统,其包含多个相同类型的处理器。在这些示例中,存储器206例如可以是随机访问存储器。永久性存储设备208可以依据具体实现而采用各种不同形式。例如,永久性存储设备208可以包含一个或多个组件或器件。例如,永久性存储设备208可以是硬盘驱动、闪存、可重写光盘、可重写磁带或上述的某种组合。永久性存储设备208所使用的介质也可以是可移动的。例如,可移动硬盘驱动可以用于永久性存储设备208。

在这些示例中,通信单元210提供与其他数据处理系统或设备的通信。在这些示例中,通信单元210是网络接口卡。通信单元210可以通过使用物理的和无线的通信链路之一或二者来提供通信。

输入/输出单元212允许向可能连接到数据处理系统200的其他设备输入和输出数据。例如,输入/输出单元212可以通过键盘和鼠标提供用于用户输入的连接。进一步地,输入/输出单元212可以向打印机发送输出。显示器214提供了向用户显示信息的机制。

用于操作系统和应用或程序的指令位于永久性存储设备208中。这些指令可以加载到存储器206中以由处理器器单元204执行。不同实施方式的过程可以由处理器单元204使用计算机实现的指令来执行,这些指令可以位于存储器中,诸如存储器206中。这些指令称为程序代码、计算机可用程序代码或计算机可读程序代码,其可以由处理器单元204中的处理器进行读取和执行。不同实施方式中的程序代码可以包含在不同的物理或有形的计算机可读介质上,诸如存储器206或永久性存储设备208。

程序代码216以功能形式位于计算机可读介质218上,并且可以被加载到或传送到数据处理系统200,以便由处理器单元204执行。在这些示例中,程序代码216和计算机可读介质218构成计算机程序产品220。在一个示例中,计算机可读介质218可以是有形的形式,例如光盘或磁盘,其被插入或放入作为永久性存储设备208的一部分的驱动或其他设备中,以便传送至存储设备(诸如作为永久性存储设备208的一部分的硬盘驱动)。按照有形的形式,计算机可读介质218也可以采取永久性存储设备的形式,诸如连接到数据处理系统200的硬盘驱动或闪存。计算机可读介质218的有形形式也称为计算机可读存储介质。

备选地,程序代码216可以通过去往通信单元210的通信链路和/或通过去往输入/输出单元212的连接,从计算机可读介质218传送到数据处理系统200。在示意性示例中,通信链路和/或连接可以是物理的或无线的。计算机可读介质也可以采取无形介质的形式,诸如包含程序代码的通信链路或无线传输。

对于数据处理系统200示出的不同组件,其意图不在于对不同实施方式可能实现的方式提供架构上的限制。不同的示意性实施方式可以在包括除了针对数据处理系统200示出的那些组件之外或取而代之的组件的数据处理系统中实现。图2中所示出的其他组件可以随所示出的示意性示例而变动。

例如,总线系统可以用于实现通信结构202,其可以包括一个或多个总线,诸如系统总线或输入/输出总线。当然,总线系统可以使用在附在总线系统上的不同组件或设备之间提供数据传送的任何适当类型架构来实现。此外,通信单元可以包括用于发射和接收数据的一个或多个设备,诸如调制解调器或网络适配器。进一步地,存储器例如可以是存储器206或者可能存在于通信结构202中的高速缓存。

示意性实施方式公开了向操作具有Web接口和虚拟世界接口二者的软件系统的用户提供更为满意体验的技术。这种软件系统的例子包括电子商务应用,其具有基于Web的用户接口和虚拟世界系统中的虚拟店铺。示意性实施方式使得Web应用中的对象能够链接到在虚拟世界系统中定义的一个或多个对象。反之,虚拟世界对象可以链接到Web应用中的一个或多个对象。例如,Web应用可以包含作为基于Web的电子商务系统中的产品项目的对象。虚拟世界系统可以包含作为虚拟店铺中3D渲染的产品项目的对象。在Web应用对象与虚拟世界对象之间创建的链接关系允许具有示意性实施方式的特征的软件系统使用Web对象的标识符(ID)来取回或追踪链接到该Web对象的一个或多个虚拟世界对象的ID。反之,软件系统也可以使用虚拟世界对象的ID来取回或追踪链接到该虚拟世界对象的一个或多个Web对象的ID。

如果Web对象被链接到一个或多个虚拟世界对象,则示意性实施方式允许处理和管理该Web对象的Web应用取回与被链接到该Web对象的那些虚拟世界对象有关的元数据。任意给定的虚拟世界对象的元数据可以包括属性信息、上下文信息或任何特定于应用的信息。虚拟世界对象的属性信息例如可以包括虚拟世界对象的色彩、大小和位置。虚拟世界对象的上下文信息例如可以包括虚拟世界对象的环境设置。虚拟世界对象的特定于应用的信息由特定虚拟世界应用生成,因此可以是任意数据。

如果虚拟世界对象被链接到一个或多个Web对象,则示意性实施方式允许处理和管理该虚拟世界对象的虚拟世界应用取回与被链接到该虚拟世界对象的那些Web对象有关的元数据。任意给定的Web对象的元数据可以包括属性信息、上下文信息或任何特定于应用的信息。Web对象的属性信息例如可以包括Web对象的文本描述和图片。Web对象的上下文信息例如可以包括Web对象所属的较高层群组或类别。Web对象的特定于应用的信息由特定Web应用生成,因此可以是任意数据。

示意性实施方式还允许用户在具有所述示意性实施方式的特征的软件系统中,使用Web接口来创建虚拟世界应用中的新虚拟世界对象。反之,虚拟世界应用的用户可以创建Web接口中的新Web对象,其中该虚拟世界应用和Web接口是具有示意性实施方式的特征的软件系统中的组件。

此外,如果Web对象被链接到一个或多个虚拟世界对象,则示意性实施方式允许处理和管理该Web对象的Web应用发送命令或事件,以操纵被链接到该Web对象的那些虚拟世界对象。反之,如果虚拟世界对象被链接到一个或多个Web对象,则示意性实施方式允许主控该虚拟世界对象的虚拟世界应用发送命令或事件,以操纵被链接到该虚拟世界对象的那些Web对象。

现在参考图3-图4,其提供了可以在其中实现示意性实施方式的系统架构的示例性图示。应当理解,图3-图4仅仅是示例性的,其目的不在于断言或暗示有关可以实现不同实施方式的环境的任何限制。可以对所绘环境进行多种修改。

图3绘出了可以在其中实现示意性实施方式的系统的高层架构的图形表征。Web应用302是通过网络(诸如图1中的网络102)经由Web访问的应用。Web应用302通过Web浏览器提供用户接口,用户可以利用其来控制和访问系统。虚拟世界304是基于计算机的仿真环境,以供其用户利用角色出现并进行交互。虚拟世界304具有3D客户端接口,其可以实现在客户端中,诸如图1中的客户端110、112或114。

中间器306是与Web应用302和虚拟世界304对接并且促进其间通信的服务器。在图3中,高层架构基于中间器模式,其中Web应用302和虚拟世界304通过中间器306进行通信。在示意性实施方式中,中间器模式的使用简化了Web应用302与虚拟世界304之间的通信,因为Web应用和虚拟世界二者都仅需要与中间器306对接。中间器的责任是弥补属性、元数据和上下文信息中的差异,使得从Web应用302获取的信息以有意义的方式呈现给虚拟世界304,反之亦然。在示意性实施方式中,中间器306使用Web服务器技术来实现。中间器306还使用信息储存库308来维护Web应用302中的Web对象与虚拟世界304中的虚拟世界对象之间的映射。在一个示例中,信息储存库308可以实现为图2中的存储器206或永久性存储设备208。

图4绘出了可以在其中实现示意性实施方式的系统的详细架构。Web应用402和信息储存库408分别是图3中的Web应用302和信息储存库308的相应示例。虚拟世界404和中间器406是图3中高层架构中的虚拟世界304和中间器306的具体示例。Web应用402通过Web浏览器提供用户接口。中间器406包括Web请求处理机410、请求处理器412和虚拟世界请求处理机414。虚拟世界404包括虚拟世界通信器416、对象处理机418和虚拟世界对象420。

Web应用402可以做出请求,以取回虚拟世界404中被映射到由Web应用402所管理的Web对象的3D虚拟世界对象的元数据。Web应用402还可以向虚拟世界404发送与Web应用的对象有关的元数据。Web应用402可以使用从虚拟世界404获取的3D元数据来丰富用户使用Web应用402的体验,或者增加与Web应用402所显示的对象有关的知识和信息。而且,Web应用402还可以做出请求以发送命令或事件,以便对虚拟世界404中的Web应用的对象的3D表征进行控制。Web应用402做出请求以通过中间器406的Web请求处理机410来取回信息、发送信息或者发送命令或事件。

Web请求处理机410对来自Web应用402的请求进行处理。来自Web应用402的请求的一个示例包括针对被链接到Web应用402内给定Web对象的一个或多个虚拟世界对象的虚拟世界元数据的请求。来自Web应用402的请求的另一示例包括用于向被链接到Web应用402内给定Web对象的虚拟对象发送控制命令或事件的请求。在一个实施方式中,请求被缓冲,并且被顺序地发送到请求处理器412以提高效率。Web请求处理机410还向做出请求的Web应用402发送回响应(例如,所请求的元数据)。

请求处理器412与Web请求处理机410和虚拟世界请求处理机414通信。请求处理器412处理每个请求,并且将取回的元数据发送回做出该元数据请求的特定请求处理机。请求处理器412访问信息储存库408,以存储和取回针对Web对象和虚拟世界对象二者的元数据。

在一个实施方式中,信息储存库408存储要在Web和虚拟世界中共享的信息。Web请求处理机410和虚拟世界请求处理机414分别从Web应用402和虚拟世界404接收元数据,并且依靠请求处理器412来将该元数据存储在信息储存库408中。Web请求处理机410和虚拟世界请求处理机414还分别从Web应用402和虚拟世界404获得针对元数据的请求。这些请求处理机依靠请求处理器412来从信息储存库408取回所请求的元数据,继而分别向做出请求的Web应用402和虚拟世界404发送所请求的元数据。

在一个实施方式中,请求处理器412还将Web对象与虚拟世界对象之间的映射关系存储在信息储存库408中。Web对象和虚拟世界对象的每一个都由统一资源定位符(URL)来唯一地标识。本领域技术人员将会理解,URL仅是唯一ID的一种形式,也可以使用唯一ID的其他形式(诸如,通用唯一标识符UUID)来唯一地标识Web对象和虚拟世界对象。使用给定Web对象的URL,请求处理器402查询信息储存库408以取回链接到该给定Web对象的所有虚拟世界对象的URL。反之,使用给定虚拟世界对象的URL,请求处理器412可以查询信息储存库408以取回链接到该给定虚拟世界对象的所有Web对象的URL。

信息储存库408还存储与每个Web对象或虚拟世界对象相关联的元数据。可以使用元数据的关联对象的URL来取回元数据。与任何给定对象相关联的元数据可以包括与该对象相关的属性信息、上下文信息或任何特定于应用的信息。例如,对于虚拟世界对象,属性信息可以包括虚拟世界对象的色彩、大小和位置;上下文信息可以包括虚拟世界对象的环境;而特定于应用的信息可以是由特定应用生成的任意数据。在另一示例中,对于Web对象,属性信息可以包括Web对象的文本描述和图片;上下文信息可以包括Web对象所属的较高层群组或类别;而特定于应用的信息可以是由特定应用生成的任意数据。虚拟世界请求处理机414处理来自虚拟世界应用404的请求。从虚拟世界应用404做出的请求可以包括用于取回与被链接到虚拟世界应用404内的虚拟世界对象的一个或多个Web对象相关联的元数据的请求。另一请求可以包括用于向请求处理器412发送虚拟世界对象的元数据以便存储在信息储存库408中的请求。在一个实施方式中,可以对来自虚拟世界404的多个请求进行缓冲,然后将其顺序地发送到请求处理器412以提高效率。虚拟世界请求处理机414向做出请求的虚拟世界404发送回响应(例如,以元数据的形式)。

当虚拟世界404想要在信息储存库408中存储虚拟世界对象的元数据时,虚拟世界通信器416从该虚拟世界对象的对象处理机418接收元数据。虚拟世界通信器416可以对元数据进行缓冲,然后周期性地向外部世界接口(诸如,虚拟世界请求处理机414)发送元数据。虚拟世界通信器416还从外部接口(诸如,虚拟世界请求处理机414)接收控制命令和元数据。响应于接收到这种信息,虚拟世界通信器416将此控制命令和元数据转发到适当的对象处理机418。

诸如对象处理机418之类的对象处理机与每个虚拟世界对象相关联。对象处理机418监测和控制虚拟世界对象420的行为(例如,视觉特性、空间特性)。对象处理机418周期性地从对象420取回当前状态和元数据(例如,位置)。对象处理机418继而将对象420的当前状态和元数据转换为适当的元数据形式,并且将此信息递送给虚拟世界通信器416,虚拟世界通信器416知道如何发送以及向何处发送此元数据。对象处理机418还从虚拟世界通信器416接收元数据和控制命令或事件。响应于接收到命令,对象处理机418针对其相关联的虚拟世界对象来执行该命令。因此,对象处理机418可以通过命令的执行来修改对象属性。

尽管在图4中未示出,但是Web应用402也可以包括Web通信器和对象处理机。Web应用402可以按照针对虚拟世界404所描述的相同方式来处理对元数据的请求,将元数据存储在信息储存库408中,以及对Web对象属性执行命令。

图5绘出了按照示意性实施方式的、由图4中的Web应用402实现的高层过程的流程图。该过程开始于Web应用监测用户交互(步骤502)。确定是否发生了事件(步骤504),诸如当用户访问Web应用中的Web对象(例如,通过跟随Web对象的链接)并且Web应用继续请求该Web对象所链接的虚拟世界对象的元数据时。如果发生了事件(步骤504的“是”输出),则Web应用生成事件处理请求(步骤506)。该事件处理请求被发送到图4中的中间器406中的Web请求处理机410(步骤508)。该过程继而可以返回到步骤502,在步骤502中,Web应用继续监测Web应用上的用户交互。

返回到步骤504,如果未发生事件(步骤504的“否”输出),则该过程在步骤502中继续监测用户交互。

图6绘出了示出按照示意性实施方式的、Web请求处理机如何处理事件处理请求的流程图。具体地,图6示出了由中间器406中的Web请求处理机410实施的、用于处理来自图4中的Web应用402的请求的过程。

在Web请求处理机所实施的一个过程中,该过程开始于Web请求处理机接收在图5的步骤502中由Web应用生成的进入请求(步骤602)。Web请求处理机将该请求存储到中间器中的请求缓冲器中(步骤604)。

在Web请求处理机实施的另一过程中,Web请求处理机从图4中的请求处理器412接收响应(例如,包含虚拟对象元数据的响应)(步骤606)。Web请求处理机继而向做出请求的Web应用发送该响应(步骤608)。

图7绘出了示出按照示意性实施方式的、图4中的请求处理器412如何处理来自Web应用和虚拟世界应用二者的请求的流程图。该过程响应于图6中的步骤604而开始,其中请求处理器获取存储在请求缓冲器中的请求(步骤702)。该请求处理器从图4中的信息储存库408获取针对用户所访问的Web对象(也即,做出请求的对象)的映射关系信息(步骤704)。请求处理器继而对该请求进行处理(步骤706),并且向图4中的Web请求处理机410发送处理后的结果(步骤708)。

例如,Web应用可以请求与被链接到其Web对象之一的虚拟世界对象相关联的元数据。在此情形下,响应于接收到该请求,请求处理器首先使用映射关系信息向信息储存库查询被链接到该Web对象的所有虚拟世界对象。接着,针对找到的被链接到该Web对象的所有虚拟世界对象,请求处理器查询信息储存库以获取所链接的虚拟世界对象的相关联的元数据。请求处理器继而向Web请求处理机转发该元数据。

图8绘出了示出按照示意性实施方式的、虚拟世界请求处理机如何处理来自虚拟世界应用的请求的流程图。具体地,图8示出了由中间器406中的虚拟世界请求处理机414实施的、用于处理来自图4中的Web应用402的请求的过程。

在虚拟世界请求处理机所实施的一个过程中,该过程开始于虚拟世界请求处理机接收由虚拟世界应用生成的进入请求(步骤802)。虚拟世界请求处理机将该请求存储到中间器中的请求缓冲器中(步骤804)。

在虚拟世界请求处理机实施的另一过程中,虚拟世界请求处理机从图4中的请求处理器412接收响应(例如,包含Web对象元数据的响应)(步骤806)。虚拟世界请求处理机继而向做出请求的虚拟世界应用发送该响应(步骤808)。

图9绘出了示出按照示意性实施方式的、图4中的虚拟世界通信器416如何向外部接口传送虚拟世界元数据的流程图。该过程开始于虚拟世界通信器获取存储在图4中的虚拟世界通信器416的请求缓冲器中的请求(步骤902)。由虚拟世界通信器确定从请求缓冲器获取的请求是否是传播元数据的请求(步骤904)。传播元数据的请求是由虚拟世界应用生成的、用于在信息储存库中存储用于其虚拟世界对象的元数据的请求。如果该请求是传播元数据的请求(步骤904的“是”输出),则虚拟世界通信器将该针对元数据的请求转发到图4中的中间器406的虚拟世界请求处理机(步骤906)。虚拟世界处理机将如图8所描述地对该请求进行处理。

返回步骤904,如果该请求不是传播元数据的请求(步骤904的“否”输出),则虚拟世界通信器确定该请求是否为传播控制命令的请求(步骤908)。传播控制命令的请求是由Web应用生成的、用于改变特定虚拟世界对象的属性的请求。如果该请求是传播控制命令的请求(步骤908的“是”输出),则虚拟世界通信器将该对控制命令的请求转发到合适的虚拟世界对象处理机(步骤910)。虚拟世界处理机将如下文在图10中所描述地对该请求进行处理。

返回步骤908,如果该请求不是针对控制命令的请求(步骤908的“否”输出),则该过程返回到步骤902以获取请求缓冲器中的另一请求。

图10绘出了示出按照示意性实施方式的、虚拟世界对象处理机(诸如图4中的对象处理机418)如何监测和处理虚拟世界对象的流程图。

在虚拟世界对象处理机所实施的一个过程中,该过程开始于虚拟世界对象处理机等待来自虚拟世界通信器的控制命令(步骤1002)。虚拟世界对象处理机确定是否已从虚拟世界通信器接收到控制命令(步骤1004)。如果已接收到控制命令(步骤1004的“是”输出),则虚拟世界对象处理机针对虚拟世界对象处理机所管理的那些虚拟世界对象执行此命令(步骤1006)。该过程返回到步骤1002,虚拟世界对象处理机继续等待来自虚拟世界通信器的命令。

返回步骤1004,如果未接收到控制命令(步骤1004的“否”输出),则虚拟世界对象处理机返回到步骤1002,继续等待来自虚拟世界通信器的命令。

在虚拟世界对象处理机所实施的另一过程中,该过程开始于虚拟世界对象处理机监测虚拟世界对象处理机所管理的虚拟世界对象(步骤1008)。虚拟世界对象处理机确定其所监测的虚拟世界对象是否发生状态改变(步骤1010)。如果发生了状态改变(步骤1010的“是”输出),则虚拟世界对象处理机生成事件处理请求(步骤1012)。该事件处理请求向虚拟世界通信器发送请求(步骤1014),其中虚拟世界通信器按照图9所描述地对该请求进行处理。该过程返回到步骤1008,在此,虚拟世界对象处理机继续监测其虚拟世界对象的状态。

返回到步骤1010,如果未发生状态改变(步骤1010的“否”输出),则该过程返回到步骤1008,在此,虚拟世界对象处理机继续监测其虚拟世界对象的状态。

本发明可以采取完全硬件实施方式、完全软件实施方式或者既包含硬件元件又包含软件元件的实施方式的形式。在一个优选实施方式中,本发明可以以软件实现,其包括但不限于固件、驻留软件、微代码等。

另外,本发明可以采用计算机可用介质或计算机可读介质可访问的计算机程序产品的形式,该介质提供计算机或任意指令执行系统使用的或与其相关的程序代码。为了此描述目的,计算机可用介质或计算机可读介质可以是能够容纳、存储、通信、传播或运送由指令执行系统、装置或设备使用或与其相关的程序的任何有形装置。

介质可以是电子的、磁的、光学的、电磁的、红外线的或半导体系统(或装置或设备)或传播介质。计算机可读介质的示例包括半导体或固态存储器、磁带、可移动计算机磁盘、随机访问存储器(RAM)、只读存储器(ROM)、硬磁盘和光盘。光盘的当前示例包括致密盘-只读存储器(CD-ROM)、致密盘-读/写(CD-R/W)和DVD。

进一步地,计算机存储介质可以包含或存储计算机可读程序代码,使得当在计算机上执行该计算机可读程序代码时,此计算机可读程序代码的执行促使计算机通过通信链路发送另一计算机可读程序代码。此通信链路可以使用例如但不是限制性的物理或无线的介质。

适于存储和/或执行程序代码的数据处理系统将包括直接或通过系统总线间接地耦合到存储器元件的至少一个处理器。该存储器元件可以包括在程序代码的实际执行期间使用到的本地存储器、大容量存储器,以及提供至少部分程序代码临时存储以减少在执行期间必须从大容量存储器取回代码的次数的高速缓冲存储器。

输入/输出设备或称I/O设备(包括但不限于键盘、显示器、指点设备等),可以直接或通过居间I/O控制器耦合到系统。网络适配器也可以耦合到系统,通过居间私有或公共网络,使数据处理系统耦合到其他数据处理系统或远程打印机或存储设备。调制解调器、电缆调制解调器和以太网卡仅是当前可用的网络适配器类型中的一些。

已经出于示意性和描述的目的提供了本发明的描述,但其目的不在于穷尽本发明或将本发明限制在所公开的形式。对于本领域普通技术人员而言,多种修改和变形是显而易见的。选择和描述实施方式以便更好地阐释本发明的原理、实际应用,以及使得本领域的其他普通技术人员能够理解本发明,具有各种修改的各种实施方式适合于所构思的特定使用。

权利要求书(按照条约第19条的修改)

1.一种用于在Web应用所管理的软件对象与虚拟世界应用所管理的虚拟世界对象之间共享信息的计算机实现的方法,其中虚拟世界是基于计算机的仿真环境,其包括在所述虚拟世界中代表人的角色,所述计算机实现的方法包括:

在计算机上从所述Web应用接收针对元数据的请求,所述元数据描述被链接到所述Web应用中的选定非虚拟世界对象的、与所述虚拟世界应用中的角色交互的一个或多个虚拟世界对象;

获取包括所述Web应用中的所述选定非虚拟世界对象的统一资源定位符的映射信息,其将所述选定非虚拟世界对象链接到所述一个或多个虚拟世界对象的统一资源定位符;

使用所述映射信息中的所述一个或多个虚拟世界对象的统一资源定位符,来取回描述所述一个或多个虚拟世界对象的所述元数据;

向所述Web应用发送与所述一个或多个虚拟世界对象有关的所述元数据;以及

响应于从所述Web应用接收用于改变所述一个或多个虚拟对象中的虚拟世界对象的属性的请求,向与所述虚拟世界应用中的所述虚拟世界对象相关联的对象处理机发送控制命令。

2.根据权利要求1所述的计算机实现的方法,进一步包括:

从所述虚拟世界应用接收针对元数据的请求,所述元数据描述所述Web应用中被链接到所述虚拟世界应用中的选定虚拟世界对象的一个或多个非虚拟世界对象;

获取包括所述虚拟世界应用中的所述选定虚拟世界对象的统一资源定位符的映射信息,其将所述选定虚拟世界对象链接到所述一个或多个非虚拟世界对象的统一资源定位符;

使用所述映射信息中的所述一个或多个非虚拟世界对象的所述统一资源定位符,来取回针对所述一个或多个非虚拟世界对象的所述元数据;

向所述虚拟世界应用发送与所述一个或多个非虚拟世界对象有关的所述元数据;以及

响应于从所述虚拟世界应用接收用于改变所述一个或多个虚拟对象中的非虚拟世界对象的属性的请求,向与所述Web应用中的所述非虚拟世界对象相关联的对象处理机发送控制命令。

3.根据权利要求1所述的计算机实现的方法,进一步包括:

从所述Web应用接收用于存储描述所述非虚拟世界对象的元数据的请求;以及

存储描述所述非虚拟世界对象的所述元数据,其中与所述非虚拟世界对象有关的所述元数据可由所述虚拟世界应用使用所述映射信息来取回。

4.根据权利要求1所述的计算机实现的方法,进一步包括:

从所述虚拟世界应用接收用于存储描述所述虚拟世界对象的元数据的请求;以及

存储描述所述虚拟世界对象的元数据,其中描述所述虚拟世界对象的元数据可由所述Web应用使用所述映射信息来取回。

5.根据权利要求2所述的计算机实现的方法,其中所述接收、获取、取回和发送的步骤使用所述虚拟世界应用和Web应用外部的服务器来实施。

6.根据权利要求5所述的计算机实现的方法,其中所述服务器是Web服务器。

7.根据权利要求2所述的计算机实现的方法,其中,所述映射信息和与所述非虚拟世界对象及虚拟世界对象有关的元数据存储在数据库中。

8.根据权利要求5所述的计算机实现的方法,其中所述服务器解析针对所述一个或多个虚拟世界对象的所述映射信息中的统一资源定位符,并且使用所解析的统一资源定位符来取回与所述一个或多个虚拟世界对象有关的所述元数据。

9.根据权利要求2所述的计算机实现的方法,进一步包括:

响应于接收针对元数据的多个请求,缓存所述多个请求的结果;

响应于从所述Web应用接收针对所请求的虚拟世界对象元数据的周期性轮询,向所述Web应用转发所请求的虚拟世界对象元数据;以及

响应于从所述虚拟世界应用接收针对所请求的非虚拟世界对象元数据的周期性轮询,向所述虚拟世界应用转发所请求的非虚拟世界对象元数据。

10.一种数据处理系统,用于在Web应用所管理的软件对象与虚拟世界应用所管理的虚拟世界对象之间共享信息,其中虚拟世界是基于计算机的仿真环境,其包括在所述虚拟世界中代表人的角色,所述数据处理系统包括:

总线;

连接到所述总线的存储设备,其中所述存储设备包含计算机可用代码;

连接到所述总线的至少一个被管理的设备;

连接到所述总线的通信单元;以及

连接到所述总线的处理单元,其中所述处理单元执行所述计算机可用代码,从而从所述Web应用接收针对元数据的请求,所述元数据描述被链接到所述Web应用的选定非虚拟世界对象的、与所述虚拟世界应用中的角色交互的一个或多个虚拟世界对象;获取包括所述Web应用中的所述选定非虚拟世界对象的统一资源定位符的映射信息,其将所述选定非虚拟世界对象链接到所述一个或多个虚拟世界对象的统一资源定位符;使用所述映射信息中的所述一个或多个虚拟世界对象的统一资源定位符来取回描述所述一个或多个虚拟世界对象的元数据;向所述Web应用发送与所述一个或多个虚拟世界对象有关的所述元数据;以及响应于从所述Web应用接收用于改变所述一个或多个虚拟对象中的虚拟世界对象的属性的请求,向与所述虚拟世界应用中的所述虚拟世界对象相关联的对象处理机发送控制命令。

11.一种计算机程序产品,用于在Web应用所管理的软件对象和虚拟世界应用所管理的虚拟世界对象之间共享信息,其中虚拟世界是基于计算机的仿真环境,其包括在所述虚拟世界中代表人的角色,所述计算机程序产品包括:

有形地包含有计算机可用程序代码的计算机可用介质,所述计算机可用程序代码包括:

用于从所述Web应用接收针对元数据的请求,所述元数据描述被链接到所述Web应用中的选定非虚拟世界对象的、与所述虚拟世界应用中的角色交互的一个或多个虚拟世界对象的计算机可用程序代码;

用于获取包括所述Web应用中的所述选定非虚拟世界对象的统一资源定位符的映射信息的计算机可用程序代码,所述映射信息将所述选定非虚拟世界对象链接到所述一个或多个虚拟世界对象的统一资源定位符;

用于使用所述映射信息中所述一个或多个虚拟世界对象的统一资源定位符来取回描述所述一个或多个虚拟世界对象的所述元数据的计算机可用程序代码;

用于向所述Web应用发送与所述一个或多个虚拟世界对象有关的所述元数据的计算机可用程序代码;以及

用于响应于从所述Web应用接收用于改变所述一个或多个虚拟对象中的虚拟世界对象的属性的请求,向与所述虚拟世界应用中的所述虚拟世界对象相关联的对象处理机发送控制命令的计算机可用程序代码。

12.根据权利要求11所述的计算机程序产品,进一步包括:

用于从所述虚拟世界应用接收针对元数据的请求,所述元数据描述所述Web应用中被链接到所述虚拟世界应用中的选定虚拟世界对象的一个或多个非虚拟世界对象的计算机可用程序代码;

用于获取包括在所述虚拟世界应用中的所述选定虚拟世界对象的统一资源定位符的映射信息的计算机可用程序代码,所述映射信息将所述选定虚拟世界对象链接到所述一个或多个非虚拟世界对象的统一资源定位符;

用于使用所述映射信息中的所述一个或多个非虚拟世界对象的所述统一资源定位符来取回针对所述一个或多个非虚拟世界对象的所述元数据的计算机可用程序代码;

用于向所述虚拟世界应用发送与所述一个或多个非虚拟世界对象有关的所述元数据的计算机可用程序代码;以及

用于响应于从所述虚拟世界应用接收用于改变所述一个或多个虚拟对象中的非虚拟世界对象的属性的请求,向与所述Web应用中的所述非虚拟世界对象相关联的对象处理机发送控制命令的计算机可用程序代码。

13.根据权利要求11所述的计算机程序产品,进一步包括:

用于从所述Web应用接收用于存储描述所述非虚拟世界对象的元数据的请求的计算机可用程序代码;以及

用于存储描述所述非虚拟世界对象的所述元数据的计算机可用程序代码,其中与所述非虚拟世界对象有关的所述元数据可由所述虚拟世界应用使用所述映射信息来取回。

14.根据权利要求11所述的计算机程序产品,进一步包括:

用于从所述虚拟世界应用接收用于存储描述所述虚拟世界对象的元数据的请求的计算机可用程序代码;以及

用于存储描述所述虚拟世界对象的所述元数据的计算机可用程序代码,其中描述所述虚拟世界对象的所述元数据可由所述Web应用使用所述映射信息来取回。

15.根据权利要求12所述的计算机程序产品,进一步包括:

用于响应于接收针对元数据的多个请求而缓存所述多个请求的结果的计算机可用程序代码;

用于响应于从所述Web应用接收针对所请求的虚拟世界对象元数据的周期性轮询而向所述Web应用转发所请求的虚拟世界对象元数据的计算机可用程序代码;以及

用于响应于从所述虚拟世界应用接收针对所请求的非虚拟世界对象元数据的周期性轮询而向所述虚拟世界应用转发所请求的非虚拟世界对象元数据的计算机可用程序代码。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号