能与多个服务器交互的模拟服务器的制作方法

文档序号:15740208发布日期:2018-10-23 22:09阅读:219来源:国知局
能与多个服务器交互的模拟服务器的制作方法

本公开涉及模拟器领域。更具体地,本公开涉及能够与多个模拟器交互以执行多个模拟的模拟服务器。



背景技术:

商业航空公司和空军使用飞行模拟器来训练他们的飞行员以面对各种类型的情况。模拟器能够模拟飞机的各种功能,并且能够再现飞行的各种操作条件(例如,起飞、着陆、悬停等)。受训者(例如,执行训练课程的飞行员)与模拟器交互以在由模拟器执行的模拟期间控制模拟飞机的各种功能。类似地,指导者(例如,有经验的飞行员)可以出于各种目的与模拟器交互,这些目的包括控制当前由模拟器执行的模拟,创建或更新模拟场景,控制受训者的模拟环境等。

飞行模拟器是非常复杂的系统,包括用于执行和控制模拟的专用硬件和软件组件,以及用于模拟所模拟飞机的对应物理部件的专用物理部件(例如,模拟的飞机控制舱)。因此,就财务资源以及合格的人力资源而言,飞行模拟器的设计、使用、维护和升级是非常昂贵的。

由于飞行模拟器的附加值的增加部分在于其软件组件,因此飞行模拟器的设计可受益于客户端/服务器或云计算架构的进步。特别地,当前在飞行模拟器上执行的一些软件组件可以在标准化服务器或计算设备上执行,以实现客户端/服务器或基于云的模拟架构。客户端/服务器或基于云的架构在成本、使用灵活性、易维护性等方面的优势已经在各种技术领域得到证明,并且可以应用于飞行模拟器领域,并更一般地应用于其他类型模拟器(例如医疗模拟器)。

因此,需要一种能够与多个模拟器交互以执行多个模拟的模拟服务器。



技术实现要素:

根据第一方面,本公开提供了模拟服务器。模拟服务器包括用于与其他实体交换数据的通信接口。处理服务器还包括用于执行至少一个模拟的处理单元。处理单元还生成模拟器模拟数据,并经由通信接口将模拟器模拟数据发送到至少一个模拟器。模拟器模拟数据表示至少一个模拟的执行。处理单元还经由通信接口从至少一个模拟器接收模拟器交互数据。处理单元还处理模拟器交互数据,并基于所处理的模拟器交互数据来控制至少一个模拟的执行。

在特定方面,模拟服务器的处理单元还生成便携式计算设备模拟数据(代表至少一个模拟的执行)并将其发送到至少一个便携式计算设备,从至少一个便携式计算设备接收便携式计算设备交互数据,并且处理便携式计算设备交互数据以基于所处理的便携式计算设备交互数据来控制至少一个模拟的执行。

附图说明

将仅参考附图以示例的方式描述本公开的实施例,其中:

图1示出了传统模拟器配置;

图2A、图2B和图2C示出了与模拟器和便携式计算设备交互以执行模拟的模拟服务器;

图3A、图3B和图3C分别示出了图2A、图2B和图2C的模拟服务器、模拟器和便携式计算设备的组件和功能的示例性实施例;

图4示出了与多个模拟器和便携式计算设备同时交互的模拟服务器;

图5示出了图3B和图3C的模拟器和便携式计算设备的相应显示器;

图6A、图6B和图6C表示示出图3A的模拟服务器的组件与图3C的便携式计算设备之间的交互的示例性流程图;

图7和图8示出了用于管理课程计划和相关事件的模拟服务器和便携式计算设备的组件;

图9示出了分配给由俯仰角测量组成的事件的KPI;和

图10和图11表示与在模拟的执行的视觉表示上显示的事件相关联的视觉警报或预测指示符。

具体实施方式

通过阅读仅以示例方式参考附图给出的本发明的说明性实施例的以下非限制性描述,前述和其他特征将变得更加明显。相同的数字表示各种附图中的相同特征。

本公开的各个方面通常解决与用于向多个模拟器和便携式计算设备提供模拟服务的模拟服务器的使用有关的一个或多个问题。尽管在本公开的其余部分中提供的示例是在飞机模拟器领域,但是本公开的教导也可以应用于诸如坦克的陆地车辆、诸如船的海上交通工具等的模拟器。模拟器还可以执行地下系统、采矿设施、核电站、人体等的实时模拟。

模拟服务器

现在参考图1,表示传统模拟器100。模拟器100执行模拟。模拟的执行通常实时执行,并且包括多个功能,这些功能顺序地或同时执行。

模拟的执行包括执行一个或多个模拟功能110。在飞机模拟器的情况下,模拟功能110的示例包括对飞机的以下组件的模拟:发动机的模拟、起落架的模拟、电路的模拟、液压回路的模拟、驾驶舱的模拟等。此外,特定模拟功能110的执行可以触发所生成的模拟数据在模拟器100的显示器上显示(例如,以导航图、雷达图、天气图、飞行图、飞机数据等的形式)。模拟功能110可以在由模拟器100执行的软件模块中单独实现,或者按照每类设备模拟类型等分组成较大软件模块。模拟器100能够并行执行若干模拟功能110,以执行飞机的详尽模拟。或者,模拟器100执行单个模拟功能110(或有限数量的模拟功能110)以执行飞机的受限模拟,集中于飞机的特定系统和子系统(例如,仅发动机、仅发动机和起落架的组合等)。

模拟的执行还包括执行模拟器图形用户界面(GUI)功能130。模拟器GUI功能130允许用户20(例如受训者)与模拟器100交互,并且更具体地与模拟功能110交互。在飞机模拟器100的情况下,模拟器GUI功能130包括在模拟器100的一个或多个显示器上显示由模拟功能110生成的模拟数据。显示的模拟数据可包括飞行参数(例如高度、速度等)、飞机参数(例如剩余燃料、警报等)、地图(例如导航图、天气图、雷达图等)、虚拟控制、窗外信息等。模拟器GUI功能130还包括通过模拟器100的一个或多个用户界面从用户20接收交互。用户界面可以包括传统的计算机用户界面(例如键盘、鼠标、触控板、触摸屏等)以及专用模拟用户界面(例如开关、模拟命令控制、操纵杆等)。从用户20接收的交互由模拟功能110处理,并且影响飞机的一个或多个系统的模拟。

模拟的执行还包括执行指导者操作站(IOS)功能120。IOS功能120允许用户10(例如指导者)与模拟器100交互,更具体地与模拟器100当前执行的模拟功能1交互。例如,IOS用户界面(UI)页面显示在模拟器100的显示器上,允许用户10实时控制由模拟功能110执行的特定模拟场景的执行。IOS 120包括用于控制模拟的执行(例如,修改模拟参数)的图形控制元素(例如,菜单和子菜单、列表框等)和用于显示由模拟功能110生成的模拟数据的图形显示元素(例如,图像、文本字段、图标、嵌入式视频等)。在飞机模拟器的情况下,用户10通过一个或多个用户界面(例如键盘、鼠标、触控板、触摸屏等)与IOS 120交互以配置和/或更新模拟参数(例如,天气条件、飞行计划等)。配置/更新的模拟参数由模拟功能110处理,并且影响飞机的一个或多个系统的模拟。

在特定实施例中,模拟的执行还包括执行至少一个代理功能(未在图1中表示)。代理功能允许模拟器100的其他功能(例如,IOS功能120和模拟器GUI功能130)与模拟功能110交互。多个代理功能可以同时执行,每个代理功能提供到模拟功能110中的特定功能的接口。

现在同时参考图2A、2B和2C,阐述根据本发明的模拟服务器200和模拟器300的实施例。本模拟服务器200和模拟器300依赖于在它们之间执行模拟时执行的共享处理。

模拟服务器200执行模拟,该模拟包括执行一个或多个服务器模拟功能210,执行服务器IOS功能220,以及执行服务器图形用户界面(GUI)功能230。模拟器300还执行模拟,该模拟包括执行一个或多个模拟器模拟功能310,执行模拟器IOS用户界面(UI)320,以及执行模拟器图形用户界面(GUI)330。

传统模拟器100的模拟功能110已经在服务器模拟功能210和模拟器模拟功能310之间分开。服务器模拟功能210执行用于模拟模拟实体的操作的计算。本模拟服务器200和模拟器300可用于模拟任何类型的实体,例如飞机、航天飞机、船只、车辆等。为简单起见,以下描述将提供与飞机有关的示例。提供这样的示例仅用于示例目的,并且不应被解释为限制针对本模拟服务器200和模拟器300所寻求的保护范围。

服务器模拟功能210可以执行用于模拟被模拟的车辆的组件(例如,发动机、电路、液压回路、向模拟器的用户显示和示出的信息等)的计算。服务器模拟功能210生成模拟数据211,模拟数据211被由模拟服务器200实现的其他功能本地使用(例如,服务器IOS功能220和服务器GUI功能230)。服务器模拟功能210还生成模拟数据212,模拟数据212通过通信网络30发送到模拟器300。由模拟器GUI330、模拟器IOS UI 320和模拟器模拟功能310可以使用发送的模拟数据212,但是也可以由模拟器300实现的其他功能使用(该用例未在图2A中表示)。模拟数据212包括静态2D或3D模拟图像形式的视觉数据,或2D或3D模拟图像流。视觉数据的示例包括导航图、雷达图、天气图、飞行图、飞机数据等。例如,地图可以包括静态2D或3D图像,或者对应于图的实时流的2D或3D图像流。视觉数据由模拟器300的显示器上的至少一个模拟器GUI 330和模拟器IOS UI320显示。模拟数据212还可以包括致动数据,致动数据由模拟器模拟功能310处理以致动模拟器300的物理组件(例如,用于移动表示该实体的模拟控制舱的致动液压缸)。模拟器模拟功能310还可以执行本地计算以模拟被模拟实体的一些操作,这些操作不由服务器模拟功能210执行。模拟器模拟功能310还生成反馈模拟数据212,反馈模拟数据212通过通信网络被发送到模拟服务器200。这些反馈模拟数据212表示模拟器300的操作状态,并且由服务器模拟功能210用作反馈以在执行模拟器300时考虑模拟器300的操作状态。例如,服务器模拟功能210发送模拟数据212以(通过模拟器模拟功能310)致动模拟器300的物理组件,并且模拟器模拟功能310发送反馈模拟数据212,反馈模拟数据212指示模拟器300的物理组件的激活已经完成。在接收到反馈模拟数据212时,服务器模拟功能210在执行模拟的情况下进行下一步骤,从而考虑模拟器300的新操作状态。

传统模拟器100的IOS功能120也已在服务器IOS功能220和模拟器IOS UI 320之间分开。服务器IOS功能220执行与IOS功能相关的计算,而模拟器IOS UI 320执行与用户10的交互。服务器IOS功能220生成IOS控制和监视数据222,IOS控制和监视数据222通过通信网络30发送到模拟器300。IOS控制和监视数据222由模拟器IOS UI 320用于与用户10交互。IOS控制和监视数据222包括IOS UI页面,例如每个IOS UI页面对应于具有实例子组的用户界面,其由模拟器IOS UI 320显示在模拟器300的显示器上。所显示的IOS UI页面允许用户10实时控制(在模拟器300处)由服务器模拟功能210执行的特定模拟场景的执行。更具体地,通过与IOS UI 320交互,用户10生成IOS交互数据222(例如,配置、监视和/或更新模拟参数),IOS交互数据222通过网络30发送到服务器IOS功能220。服务器IOS功能220通过交换数据211与服务器模拟功能210交互。如前所述,数据211包括由服务器模拟功能210生成并由服务器IOS功能220使用以生成IOS UI页面的模拟数据,该模拟数据被发送到模拟器IOS UI 320。数据211也包括从模拟器IOS UI 320接收的模拟参数的配置/更新,该模拟参数可以在传输到服务器模拟功能210之前由服务器IOS功能220预处理。服务器模拟功能210使用模拟参数的配置/更新控制模拟的执行。如前所述,模拟器IOS UI 320还从服务器模拟功能210接收模拟数据212(例如2D或3D地图),模拟数据212被显示在模拟器300的显示器上。

传统模拟器100的模拟器GUI功能130也已在服务器GUI功能230和模拟器GUI 330之间分开。服务器GUI功能230执行与要显示给用户20的图形表示有关的计算,而模拟器GUI 330执行与用户20的交互。服务器GUI功能230生成图形用户界面(GUI)图形数据232,图形用户界面(GUI)图形数据232通过通信网络30发送到模拟器300。GUI图形数据232由模拟器GUI 330用于与用户20交互。GUI图形数据232包括模拟参数、事件和信息(例如,实体参数、事件、地图等),这些模拟参数、事件和信息由模拟器GUI 330在模拟器300的显示器上显示。所显示的GUI图形数据232允许用户20与由服务器模拟功能210执行的特定模拟场景的执行进行实时交互(在模拟器300处)。更具体地,基于所显示的GUI图形数据232,用户20与模拟器300的一个或多个用户界面交互。模拟器GUI 330生成对应于用户20交互的GUI交互数据232,GUI交互数据232通过网络30发送到服务器GUI功能230。服务器GUI功能230通过交换数据211与服务器模拟功能210交互。如前所述,数据211包括由服务器模拟功能210生成并且由服务器GUI功能230使用以生成发送到模拟器GUI330的模拟参数、事件和信息的模拟数据。数据211还包括从模拟器GUI 330接收的用户20交互,用户20交互可以在传输到服务器模拟功能210之前由服务器GUI功能230预处理。服务器模拟功能210使用用户20交互来控制模拟的执行。如前所述,模拟器GUI 330还从服务器模拟功能210接收模拟数据212(例如2D或3D地图),模拟数据212通过模拟器GUI 330进一步显示在模拟器300上。

在特定实施例中,由图1的传统模拟器100实现的至少一个功能可以不在模拟服务器200上被逐出,而是在模拟器300上完全实现。例如,模拟服务器200不包括服务器GUI功能230并且模拟器300包括传统模拟器100的模拟器GUI功能130从而代替模拟器GUI 330。在该特定实施例中,模拟器GUI 130在模拟器300上实现并且通过网络30直接与服务器模拟功能210交互。该实施例未在图中示出。

网络30可以包括移动网络(例如,Wi-Fi网络或蜂窝网络)、固定网络(例如,以太网网络)、其组合等。网络30可以允许通过内联网、外联网、全球互联网等在设备之间的通信。模拟服务器200和模拟器300都包括与网络30兼容的通信接口,用于通过网络30交换数据。例如,模拟服务器200和模拟器300包括支持Wi-Fi和以太网的通信接口,以便容易地对部署在它们分别运行的场所处的特定网络30进行适配。

尽管出于简化目的而未在图2A中表示,但是服务器模拟功能210通常包括多个功能,例如天气功能和导航功能(稍后参考图3A表示和描述)。服务器模拟功能210的导航功能与模拟服务器200的其他功能对接(例如,与服务器GUI功能230和服务器IOS功能220的专用IOS功能IOS_1(在图3A中表示))。类似地,服务器模拟功能210的天气功能与模拟服务器200的其他功能对接(例如,与服务器GUI功能230和服务器IOS功能220的专用IOS功能IOS_2(在图3A中表示))。如前面关于图1中表示的传统模拟器所提到的,可以使用多个代理功能来将服务器模拟功能210的功能(例如,分别为导航和天气)与模拟服务器200的其他功能对接(例如,服务器IOS功能220和服务器GUI功能230)。

在说明书的其余部分中,由服务器模拟功能210生成并发送到模拟器300的模拟数据212可以被称为模拟器模拟数据。由服务器IOS功能220生成并发送到模拟器300的IOS控制和监视数据222可以被称为模拟器IOS控制和模拟数据。由服务器GUI功能230生成并发送到模拟器300的GUI图形数据232可以被称为模拟器图形数据。

由模拟器IOS UI 320生成并发送到模拟服务器200的IOS交互数据222和由模拟器GUI 330生成并发送到模拟服务器200的GUI交互数据232可以被称为模拟器交互数据。

现在同时参考图2A和图2B,便携式计算设备400和400'在图2B中表示。便携式计算设备400和400'实现在图2A中表示的模拟器300上实现的一些功能。

便携式计算设备400和400'可以包括具有允许容易携带的形状要素的各种类型的计算设备。这种便携式计算设备400和400'的示例包括膝上型计算机、平板电脑等。便携式计算设备400和400'都包括与网络30兼容的通信接口,用于通过网络30与模拟服务器200交换数据。

便携式计算设备400实现类似于模拟器IOS UI 320的便携式计算设备IOS UI 420。便携式计算设备IOS UI 420通过网络30以与模拟器IOS UI 320类似的方式与服务器IOS功能220交换IOS数据222(IOS控制和监视数据以及IOS交互数据)。便携式计算设备IOS UI420允许用户10通过便携式计算设备400实时控制由服务器模拟功能执行的特定模拟场景的执行。便携式计算设备IOS UI 420还从服务器模拟功能210接收模拟数据212(例如,2D或3D地图),该模拟数据212通过便携式计算设备IOS UI 420进一步显示在便携式计算设备400上。

在该配置中,图1中表示的传统模拟器100的IOS功能120已经在服务器IOS功能220和便携式计算机设备IOS UI 420之间分开。服务器IOS功能220执行与IOS功能相关的计算,而便携式计算设备IOS UI 420执行与用户10的交互。

服务器IOS功能220适于同时或替选地支持与模拟器IOS UI 320和便携式计算设备IOS UI 420的交互。例如,相同用户10可在第一模拟会话期间使用模拟器IOS UI 320,并且在第二模拟会话期间,使用便携式计算设备IOS UI 420,两个会话通过执行服务器模拟功能210来执行。在另一示例中,第一用户10在模拟会话期间使用模拟器IOS UI 320(用于控制第一模拟功能),并且在相同模拟会话期间(用于控制第二模拟功能),第二用户10同时使用便携式计算设备IOS UI420,模拟会话通过执行服务器模拟功能210来执行。

便携式计算设备400'实现类似于模拟器GUI 330的便携式计算设备图形用户界面(GUI)430。便携式计算设备GUI 430通过网络30以与模拟器GUI 330类似的方式与服务器GUI功能230交换GUI图形数据和GUI交互数据232。便携式计算设备GUI 430允许用户20通过便携式计算设备400'实时地与服务器模拟功能210执行的特定模拟场景的执行交互。如前所述,便携式计算设备GUI 430还从服务器模拟功能210接收并显示模拟数据212(例如,2D或3D地图)。

在该配置中,图1中表示的传统模拟器100的模拟器GUI功能130已经在服务器GUI功能230和便携式计算设备GUI 430之间分开。服务器GUI功能230执行与要向用户10显示的图形表示有关的计算,而便携式计算设备GUI 430执行与用户20的交互。

服务器GUI功能230适于同时或替选地支持与模拟器GUI 330和便携式计算设备GUI 430的交互。例如,用户20可以在第一训练会话期间使用模拟器GUI 330,以及在第二训练会话期间使用便携式计算设备GUI 430,模拟会话通过执行服务器模拟功能210来执行。在另一示例中,第一用户20在模拟会话期间使用模拟器GUI 330(用于与第一模拟功能210交互),并且第二用户20在相同的模拟会话期间同时使用便携式计算设备GUI 430(用于与第二模拟功能210交互),模拟会话通过执行第一和第二服务器模拟功能210来执行。

在说明书的其余部分中,由服务器模拟功能210生成并发送到便携式计算设备400或400'的模拟数据212可以被称为便携式计算设备模拟数据。

由服务器IOS功能220生成并发送到便携式计算设备400的IOS控制和监视数据222可以被称为便携式计算设备IOS控制和监视数据。由服务器GUI功能230生成并发送到便携式计算设备400'的GUI图形数据232可以被称为便携式计算设备图形数据。由便携式计算设备IOS UI 420生成并发送到模拟服务器200的IOS交互数据222和由便携式计算设备GUI 430生成并发送到模拟服务器200的GUI交互数据232可以被称为便携式计算设备互动数据。

图2C示出了模拟服务器200和模拟器300的另一操作配置。在该特定配置中,用户10使用便携式计算设备IOS UI 420来实时(通过服务器IOS功能220)控制执行由服务器模拟功能210执行的特定模拟场景。用户20使用模拟器GUI 330实时(通过服务器GUI功能230)与服务器模拟功能210执行的相同特定模拟场景的执行进行交互。

本领域技术人员将容易理解,模拟服务器200的使用为实现涉及模拟服务器200、模拟器300和便携式计算设备(例如,400和400')的多个其他操作配置(为了简化目的,其在图中未表示)提供了所需的灵活性。

现在参考图3A、图3B和图3C,示出了模拟服务器200、模拟器300和便携式计算设备400的组件和功能的示例性实施例。

更具体地参考图3A,模拟服务器200包括处理单元201,处理单元201具有能够执行计算机程序的指令的一个或多个处理器(为了简化目的未在图3A中表示)。每个处理器还可以具有一个或多个核。处理单元201通过执行计算机程序指令来实现模拟服务器200的功能。由处理单元201实现的功能包括服务器模拟功能210、服务器IOS功能220和服务器GUI功能230。

模拟服务器200包括存储器202,用于存储由处理单元201执行的计算机程序的指令、由执行计算机程序生成的数据、通过通信接口203接收的数据等。模拟服务器200可以包括几种类型的存储器,包括易失性存储器、非易失性存储器等。

模拟服务器200包括通信接口203,通信接口203用于通过网络30与包括一个或多个模拟器300和/或一个或多个便携式计算设备400的其他设备交换数据。交换的数据包括图2A和图2B中表示的IOS数据222、GUI数据232和模拟数据212。通信接口203支持一种或多种通信协议,诸如Wi-Fi、以太网等。

模拟服务器200可以包括显示器204(例如,常规屏幕或触觉屏幕),用于显示由处理单元201处理和/或生成的数据。模拟服务器200还可以包括用于允许用户直接与模拟服务器200交互的一个或多个用户界面205(例如,鼠标、键盘、触控板、触摸屏等)。

服务器IOS功能220、服务器模拟功能210和服务器GUI功能230由一个或多个计算机程序实现。每个计算机程序包括用于在由处理单元201执行时实现相应功能的指令。指令包括在非暂时性计算机程序产品(例如,存储器202)中。指令可通过电子可读介质(诸如,存储介质(例如USB密钥或CD-ROM)或网络30(通过通信接口203))传送。

更具体地参考图3B,模拟器300包括处理单元301,处理单元301具有能够执行计算机程序的指令的一个或多个处理器(为了简化目的未在图3B中表示)。每个处理器还可以具有一个或多个核。处理单元301通过执行计算机程序的指令来实现模拟器300的功能。由处理单元301实现的功能包括模拟器模拟功能310、模拟器IOS UI 320和模拟器GUI 330。

模拟器300包括存储器302,存储器302用于存储由处理单元301执行的计算机程序的指令、由执行计算机程序生成的数据、通过通信接口303接收的数据等。模拟器300可以包括几种类型的存储器,包括易失性存储器、非易失性存储器等。

模拟器300包括通信接口303,通信接口303用于通过网络30与包括模拟服务器200的其他设备交换数据。交换的数据包括图2A中表示的IOS数据222、GUI数据232和模拟数据212。通信接口303支持一种或多种通信协议,诸如Wi-Fi、以太网等。

模拟器包括一个或多个致动器306,该一个或多个致动器306用于在由处理单元301执行的模拟器模拟功能310的控制下致动模拟器300的物理组件(例如,用于移动飞机的模拟控制舱的致动液压缸)。

模拟器300包括一个或多个显示器304(例如,常规屏幕或触觉屏幕),该一个或多个显示器304用于显示由处理单元301处理和/或生成的数据。模拟器300还包括一个或多个用户界面305(例如,传统的计算机用户界面以及专用模拟用户界面),用于允许用户与模拟器300交互。

在特定实施例中,模拟器IOS UI 320包括显示功能321和交互功能322。显示功能321处理通过通信接口303从模拟服务器200接收的图2A的IOS控制和监视数据222以及模拟数据212,并在显示器304上显示处理的IOS控制和监视数据222和模拟数据212。

模拟器IOS UI交互功能322基于用户10(通过用户界面305)与显示在显示器304上的处理的IOS控制和监视数据222的交互来生成图2A的IOS交互数据222。IOS交互数据222通过通信接口303发送到模拟服务器200的服务器IOS功能220。

模拟器GUI 330还可以包括显示功能和交互功能,为了简化的目的,其未在图3B中表示。显示功能处理通过通信接口303从模拟服务器200接收的图2A的GUI图形数据232和服务器模拟数据212,并在显示器304上显示处理的GUI图形数据232和服务器模拟数据212。

模拟器GUI 330的交互功能基于用户20(通过用户界面305)与显示在显示器304上的处理的GUI图形数据232的交互来生成图2A的GUI交互数据232。GUI交互数据232通过通信接口303发送到模拟服务器200的服务器GUI功能230。

在另一特定实施例中,模拟器模拟功能310包括显示功能311和致动功能312。显示功能311处理通过通信接口303从模拟服务器200接收的图2A的模拟数据212,以及在显示器304上显示处理的模拟数据。显示功能311可以用于显示图2A的模拟数据212,其不能通过模拟器IOS UI 320或模拟器GUI 330显示。

致动功能312处理图2A的其他模拟数据212,其他模拟数据212包括通过通信接口303从模拟服务器200接收的致动数据。致动功能312处理所接收的致动数据并致动相应的致动器306。致动功能312还生成表示致动的相应致动器306的状态的反馈致动数据。反馈致动数据通过通信接口303发送到模拟服务器200。更具体地,包括反馈致动数据的图2A的模拟数据212发送到图3A中表示的服务器模拟功能210。

模拟器模拟功能310、模拟器IOS UI 320和模拟器GUI 320由一个或多个计算机程序实现。每个计算机程序包括用于在由处理单元301执行时实现相应功能的指令。指令包括在非暂时性计算机程序产品(例如,存储器302)中。指令可通过电子可读介质(诸如,存储介质(例如USB密钥或CD-ROM)或网络30(通过通信接口303))传送。

更具体地参考图3C,便携式计算设备400包括处理单元401,处理单元401具有能够执行计算机程序的指令的一个或多个处理器(为了简化目的未在图3C中表示)。每个处理器还可以具有一个或多个核。处理单元401通过执行计算机程序的指令来实现便携式计算设备400的功能。由处理单元401实现的功能包括便携式计算设备IOS UI420。

便携式计算设备400包括存储器402,存储器402用于存储由处理单元401执行的计算机程序的指令、由执行计算机程序生成的数据、通过通信接口403接收的数据等。便携式计算设备400可以包括几种类型的存储器,包括易失性存储器、非易失性存储器等。

便携式计算设备400包括通信接口403,通信接口403用于通过网络30与包括模拟服务器200的其他设备交换数据。交换的数据包括图2B中表示的IOS数据222和模拟数据212。通信接口403支持一种或多种通信协议,诸如Wi-Fi、以太网等。

便携式计算设备400包括显示器404(例如,常规屏幕或触觉屏幕),显示器404用于显示由处理单元401处理和/或生成的数据。便携式计算设备400还包括用于允许用户(图3C中未示出)与便携式计算设备400交互的至少一个用户界面405(例如,鼠标、键盘、触控板、触摸屏等)。

在特定实施例中,便携式计算设备IOS UI 420包括显示功能421和交互功能422。显示功能421和交互功能422以与图3B中表示的显示功能321和交互功能322类似的方式操作。

便携式计算设备IOS UI 420由一个或多个计算机程序实现。每个计算机程序包括用于在由处理单元401执行时实现相应功能的指令。指令包括在非暂时性计算机程序产品(例如,存储器402)中。指令可通过电子可读介质(诸如,存储介质(例如USB密钥或CD-ROM)或网络30(通过通信接口403))传送。

在用于简化目的在图中未表示的替选实施例中,图3C的便携式计算设备400可以对应于图2B中表示的便携式计算设备400'。由处理单元401实现的功能包括图2B的便携式计算设备GUI 430来代替便携式计算设备IOS UI 420。与模拟服务器200交换的数据包括图2B的GUI数据232和模拟数据212。

在用于简化目的在图中未表示的又一替选实施例中,图3C的便携式计算设备400可以适于实现图2B中所示的便携式计算设备IOSUI 420和便携式计算设备GUI 430。如果用户10正在使用便携式计算设备400,则便携式计算设备IOS UI 420由处理单元401执行。如果用户20正在使用便携式计算设备400,则图2B中所示的便携式计算设备GUI 430由处理单元401执行。

在特定方面,模拟服务器200的处理单元201还执行网络服务器功能250,以实现模拟服务器200与模拟器300或便携式计算设备400之间的数据交换。用户10或20(例如指导者或受训者)之一在网络服务器功能250和由模拟器300或便携式计算设备400实现的网络客户端之间启动模拟网络会话,这将在后面的描述中详述。一旦建立了模拟网络会话,就可以通过网络服务器功能250在模拟服务器200和模拟器300或便携式计算设备400之间交换数据。在图2A和图2B中表示的模拟数据212、IOS数据222和GUI数据232通过网络服务器功能250进行交换。

在另一特定方面,模拟服务器200的处理单元201还执行至少一个渲染功能240。在启动上述模拟网络会话之后,网络服务器功能250发起渲染功能240的每个实例,将在后面的描述中详述。渲染功能240的每个实例生成适于在特定目的地设备上渲染的数据。例如,如果特定目的地设备是便携式计算设备400,则诸如2D或3D模拟图像的数据可能需要适于便携式计算设备400的特定处理和显示能力。如果特定目的地设备是模拟器300,则这些数据可能不需要针对在模拟器300上渲染的特定适配。因此,不需要适配的数据由网络服务器功能250直接发送,而需要适配的数据(例如2D或3D模拟图像)由渲染功能240的实例处理以用于适配目的。适配的数据可以由渲染功能240发送到目的地设备。或者,适配的数据也通过网络服务器功能250发送到目的地设备。出于说明目的,在说明书的其余部分中,适配的数据将由渲染功能240发送到目的地设备(例如,便携式计算设备400)。通常,图2A和图2B中表示的一些模拟数据212包含诸如地图的2D或3D模拟图像,这些模拟图像需要由渲染功能240的实例进行适配,特别是用于发送到具有有限处理能力、显示能力等的便携式计算设备400。然而,图2A和图2B中表示的一些IOS数据222和GUI数据232也可以在需要时由渲染功能240的实例进行适配。

通过渲染功能240的实例对静态2D或3D模拟图像(或2D或3D模拟图像的流)的适配可以包括以下之一:以特定格式(例如JPEG、GIF、TIFF、PNG等)编码模拟图像,将特定压缩算法应用于模拟图像,将特定图像采样算法应用于模拟图像,并应用特定算法来降低图像模拟图像的分辨率。

由于通过网络服务器功能250执行与模拟服务器200的至少一些通信,因此模拟器300的处理单元301和便携式计算设备400的处理单元401分别执行网络客户端功能350和450。网络客户端功能350和450用于与模拟服务器200的网络服务器功能250建立先前描述的模拟网络会话。网络客户端功能350和450还用于与模拟服务器200的网络服务器功能250交换数据(例如,图2A和2B中表示的模拟数据212、IOS数据222和GUI数据232)。例如,网络服务器功能250发送到模拟器IOS UI 320的数据由网络客户端功能350接收,并转发到模拟器IOS UI 320。由模拟器IOS UI 320发送到模拟服务器200的数据被发送到网络客户端功能350,网络客户端功能350将它们转发到网络服务器功能250。使用网络客户端来交换数据在本领域中是公知的,并且在其余的描述中将不再进一步详述。

关于由模拟服务器200的渲染功能240的实例发送的适配数据,它们不被网络客户端(例如,便携式计算设备400上的450)接收,而是由目的地功能直接接收(例如,便携式计算设备IOS UI 420)。如本领域所公知的,使用预定义或动态分配的通信套接字的专有通信协议可用于发送适配数据。

为了说明的目的,现在将在模拟服务器200和便携式计算设备400之间的数据交换的背景中详细描述网络服务器功能250和渲染功能240的操作。在这种背景下,一些由模拟服务器200发送的数据需要通过渲染功能240的一个或多个实例适于便携式计算设备400的能力,而其他数据可以通过网络服务器功能250直接发送。

适于在特定目的地设备(例如,便携式计算设备400)上渲染的数据通常包括由模拟功能210(例如,2D或3D地图)生成并且由渲染功能240的特定实例进行适配的模拟数据。例如,服务器模拟功能210的上述导航功能生成发送到导航渲染功能240的模拟数据。导航渲染功能240使模拟数据(例如导航图)适于在便携式计算设备400上渲染,并将适配的模拟数据发送到便携式计算设备400。类似地,服务器模拟功能210的上述天气功能生成发送到天气渲染功能240的模拟数据。天气渲染功能240适配模拟数据(例如,天气图)以便在便携式计算设备400上渲染,并将适配的模拟数据发送到便携式计算设备400。渲染功能240的多个实例(例如,导航和天气渲染功能)可以同时生成适配的模拟数据并将其发送到便携式计算设备400。便携式计算设备IOS UI 420的显示功能421接收并显示已通过导航和天气渲染功能240适配和发送的模拟数据。

网络服务器功能250直接向便携式计算设备400发送数据,这些数据不需要由渲染功能240的实例之一处理。这样的数据通常包括由服务器IOS功能220生成的IOS控制和监视数据222(例如,控制网页),IOS控制和监视数据222被发送到网络服务器功能250,并进一步发送到便携式计算设备400。这样的数据还可以包括由服务器模拟功能210之一生成的互补模拟数据。例如,服务器模拟功能210的导航功能生成互补模拟数据(例如模拟的参数,诸如风速,模拟的事件,诸如飞机速度太高等),互补模拟数据被发送到网络服务器功能250并且进一步发送到便携式计算设备400。可以将参数和/或事件以图标、文本字段等形式显示在便携式计算设备400的显示器404上。例如,参数和/或事件构成在便携式计算设备400的显示器404上显示的导航图的补充中显示的附加模拟信息。导航图具有导航渲染功能240基于由服务器模拟功能210的导航功能生成的模拟数据生成,并发送到便携式计算设备400。

例如,服务器IOS功能220的IOS功能IOS_1将IOS控制和监视数据222(例如,导航控制网页)发送到便携式计算设备400,用于控制服务器模拟功能的导航功能的执行。IOS控制和监视数据222由IOS功能IOS_1发送到网络服务器功能250,并进一步发送到便携式计算设备400以供显示。IOS控制和监视数据222由便携式计算设备IOS UI 420的显示功能421在显示器404上显示。用户10与所显示的IOS控制和监视数据222(例如,导航控制网页)进行交互,并且便携式计算设备IOS UI 420的交互功能422生成IOS交互数据222。用户10通过便携式计算设备400的用户界面405(例如,键盘、鼠标、触控板、触摸屏等)进行交互,并且基于该交互生成IOS交互数据222。IOS交互数据222由便携式计算设备400发送到网络服务器功能250,并转发到IOS功能IOS_1。IOS功能IOS_1处理IOS交互数据222并基于处理的IOS交互数据222控制服务器模拟功能210的导航功能的执行。

同时,服务器IOS功能220的IOS功能IOS_2将IOS控制和监视数据222(例如,天气控制网页)发送到便携式计算设备400,以控制服务器模拟功能210的天气功能的执行。控制和监视数据222由IOS功能IOS_2发送到网络服务器功能250,并进一步发送到便携式计算设备400以供显示。IOS控制和监视数据222由便携式计算机设备IOS UI 420的显示功能421在显示器404上显示。用户10与所显示的控制数据(例如,天气控制网页)进行交互,并且便携式计算设备IOS UI 420的交互功能422生成IOS交互数据222。IOS交互数据222由便携式计算设备400发送到网络服务器功能250,并转发到IOS功能IOS_2。IOS功能IOS_2处理IOS交互数据222并基于处理的IOS交互数据222控制服务器模拟功能210的天气功能的执行。

在特定实施例中,可以在模拟服务器200上使用视觉数据库(图中未示出)。视觉数据库包含通过渲染功能240的一个或多个实例可以流式传输和显示在便携式计算设备400上的数据(例如,地形、建筑物、3D模型等)。视觉数据库还包含在通过网络服务器功能250直接传输到便携式计算设备400之后可以覆盖在所显示的数据上的参数和/或事件。

现在同时参考图3A和图4,图4示出了支持多个模拟器(例如300和300')以及多个计算设备(例如400和400')的单个模拟服务器200。尽管在图4中已经表示了两个模拟器,但是模拟服务器200可以基于其处理和通信能力支持任何数量的模拟器。类似地,尽管图4中已经表示了两个便携式计算设备,但是模拟服务器200可以基于其处理和通信能力来支持任何数量的便携式计算设备。

为了说明的目的,模拟服务器200执行第一模拟,并且第一用户(在该特定实例中的受训者)通过模拟器300与第一模拟交互,而第二用户(在该特定实例中的指导者)通过便携式计算设备400与第一模拟交互。同时,模拟服务器200执行第二模拟,并且第三用户(另一受训者)通过模拟器300'与第二模拟交互,而第四用户(第二指导者)通过便携式计算设备400'与第二模拟交互。

为了说明的目的,模拟服务器200的服务器模拟功能210同时执行与第一模拟有关的天气功能的第一实例,以及与第二模拟有关的天气功能的第二实例。天气功能的每个实例生成模拟数据(例如,天气图),该模拟数据分别通过网络服务器功能250直接发送到模拟器300和300',而不使用渲染功能240。尽管在该示例中提到了两个天气功能实例,但是可以在模拟服务器200上同时操作更多数量的实例。

出于说明目的,渲染功能240同时执行与第一模拟有关的天气渲染功能的第一实例,以及与第二模拟有关的天气渲染功能的第二实例。由服务器模拟功能210执行的每个天气功能实例在传输到便携式计算设备400和400'之前生成模拟数据(例如,天气图),该模拟数据分别由天气渲染功能的实例适配。尽管在该示例中提到了两个天气渲染功能的实例,但是可以在模拟服务器200上同时操作更多数量的实例。发送到便携式计算设备400和400'的适配的模拟数据可以基于便携式计算设备400和400'中的每一个的特定的特性而不同。例如,可以为便携式计算设备400生成具有比便携式计算设备400'更好的分辨率的天气图。

为了说明的目的,服务器IOS功能220同时执行IOS功能IOS_2的第一和第二实例,用于分别控制由服务器模拟功能210执行的天气功能的第一和第二实例。IOS功能的第一个实例IOS_2将IOS控制和监视数据222(例如,天气控制网页)发送到便携式计算设备400,以控制天气功能的第一实例的执行。控制数据由IOS功能IOS_2的第一实例发送到网络服务器功能250,并进一步发送到便携式计算设备400以供显示。IOS交互数据222由便携式计算设备400生成并发送到网络服务器功能250,并且被转发到IOS功能IOS_2的第一实例。IOS功能IOS_2的第一实例处理IOS交互数据222并基于处理的IOS交互数据222控制由服务器模拟功能210执行的天气功能的第一实例的执行。

IOS功能IOS_2的第二实例将IOS控制和监视数据222(例如,天气控制网页)发送到便携式计算设备400'以控制由服务器模拟功能210执行的天气功能的第二实例的执行。控制数据由IOS功能IOS_2的第二实例发送到网络服务器功能250,并进一步发送到便携式计算设备400'以供显示。IOS交互数据222由便携式计算设备400'生成并发送到网络服务器功能250,并且被转发到IOS功能IOS_2的第二实例。IOS功能IOS_2的第二实例基于处理的IOS交互数据222处理IOS交互数据222并控制由服务器模拟功能210执行的天气功能的第二实例的执行。尽管在该示例中提到IOS功能IOS_2的两个实例,但是可以在模拟服务器200上同时操作更多数量的实例。

或者,服务器模拟功能210可以同时执行与第一模拟有关的天气功能的实例,以及与第二模拟有关的导航功能的实例。由服务器模拟功能210执行的每个天气和导航功能实例生成模拟数据(例如,天气图和导航图),该模拟数据分别通过网络服务器功能250直接发送到模拟器300和300'。渲染功能240同时执行与第一模拟有关的天气渲染功能的实例,以及与第二模拟有关的导航渲染功能的实例。由服务器模拟功能210执行的每个天气和导航功能实例在传输到便携式计算设备400和400'之前生成模拟数据(例如,天气图和导航图),该模拟数据分别由天气和导航渲染功能的实例适配。

在这种情况下,服务器IOS功能220同时执行IOS功能IOS_1的实例和IOS功能IOS_2的实例,以分别控制由服务器模拟功能210执行的导航和天气功能的实例。IOS功能IOS_1和IOS功能IOS_2的实例如先前关于便携式计算设备400和400'所描述的那样操作。

以类似的方式,服务器GUI功能230同时执行与第一模拟有关的服务器GUI功能230的第一实例,以及与第二模拟有关的服务器GUI功能230的第二实例。服务器GUI功能230的每个实例生成GUI图形数据232,GUI图形数据232通过网络服务器功能250分别发送到模拟器300和300'。服务器GUI功能230的每个实例还通过网络服务器功能250接收GUI交互数据232,GUI交互数据232分别由模拟器300和300'发送。模拟器GUI 330在模拟器300和300'上显示从模拟服务器200接收的GUI图形数据232,并基于用户20与显示的GUI图形数据232的交互生成GUI交互数据232。模拟服务器200上的服务器GUI功能230的每个实例处理由模拟器300和300'发送的GUI交互数据232,并基于处理的GUI交互数据232分别控制模拟的第一和第二实例的执行。由服务器模拟功能210生成的数据也由网络服务器功能250直接发送(无需由渲染功能240适配)到模拟器300和300',以供模拟器GUI 330显示。

在替选实施例中,网络服务器功能250由与处理单元201不同的模拟服务器200的专用处理单元(图中未表示)执行。

在另一替选实施例中,网络服务器功能250的若干实例由处理单元201执行。例如,实例专用于服务器IOS功能220,实例专用于服务器模拟功能210,并且实例专用于服务器GUI功能230。如前所述,至少一些实例可以由与处理单元201不同的专用处理单元执行。

在又一替选实施例中,网络服务器功能250未在模拟服务器200上实现,而是在未在图中表示的独立服务器上实现。

现在同时参考图3A、图3B、图3C、图6A、图6B和图6C,其中图6A、图6B和图6C表示示出便携式计算设备400与模拟服务器200的组件之间的交互的示例性流程图600。更确切地说,该示例性流程图600示出了便携式计算设备IOS UI 420与模拟服务器200的交互。

在步骤610处,便携式计算设备400的用户通过输入其凭证来执行认证,并且便携式计算设备网络客户端功能450将凭证发送到网络服务器功能250。网络服务器功能250验证用户是否被授权基于用户凭证连接到模拟门户,并且基于用户凭证的认证结果授予/拒绝对模拟门户的访问。此步骤是可选的,但通常被实现以避免任何用户被授予访问模拟门户而没有限制。可以授权模拟门户的管理员访问门户的管理功能,而标准用户通常只能访问门户的模拟功能。

在步骤615处,便携式计算设备网络客户端功能450启动与网络服务器功能250的模拟网络会话。例如,便携式计算设备400的用户输入对应于由网络服务器功能250托管的模拟门户的统一资源定位符(URL),并且便携式计算机设备网络客户端功能450请求与模拟服务器200的连接,以下称为模拟门户。在返回中,网络服务器功能250返回要由便携式计算设备网络客户端功能450显示的模拟门户的主页。

在步骤620处,网络服务器功能250将候选服务器模拟功能210的列表(例如,天气功能、导航功能等)发送到便携式计算设备网络客户端功能450。可以基于特定的用户简档确定列表,并且可以仅包括由网络服务器功能250支持的所有可用服务器模拟功能210的子集(例如,仅天气功能)。该子集对应于便携式计算设备400的用户被授权基于其简档使用的服务器模拟功能210(例如,仅天气功能)。对于每个用户,网络服务器功能250存储用户的简档以确定相应的授权服务器模拟功能210。每个用户的简档可以由网络服务器功能250的管理员生成。例如,在飞机模拟的情况中,用户可能仅被授权使用服务器模拟功能210,其对应于一种或多种特定类型的飞机、飞机的一个或多个特定系统或子系统、仅军用或民用飞机等。便携式计算设备网络客户端功能450显示候选服务器模拟功能210的列表(例如,天气功能和导航功能),用于允许用户从候选列表中选择一个。由用户在候选服务器模拟功能210的列表中选择特定服务器模拟功能(例如,天气功能)由便携式计算设备网络客户端功能450发送到网络服务器功能250功能。或者,可以同时选择多个候选服务器模拟功能210。

在步骤621处,网络服务器功能250确定所选服务器模拟功能210的实例(例如,天气功能)是否已经在运行,并且如果不是这种情况,则启动这样的实例。由于模拟服务器200可以并行支持多个模拟会话,因此服务器模拟功能210(例如,天气功能)可以具有针对不同的独立模拟会话并行运行的若干实例。因此,在执行步骤620之前,用户可能需要加入现有的模拟会话或创建新的模拟会话。通过便携式计算设备网络客户端功能450和网络服务器功能250之间的交互来执行模拟会话的创建/加入。每个独立模拟会话被分配唯一标识符和描述模拟会话的特征的信息,以便任何便携式计算设备400或模拟器300可以基于其特性(例如,模拟的飞机的类型、用于模拟的模拟器300等)加入适当的正在进行的模拟会话。

所选择的服务器模拟功能210(例如,天气功能)可以自动提供对服务器IOS功能220(例如,IOS功能IOS_2)的对应IOS功能的访问。或者,执行类似于选择步骤620的交互式选择步骤622。在步骤622处,网络服务器功能250将服务器IOS功能220(例如IOS功能IOS_1、IOS功能IOS_2等)的候选IOS功能列表发送到便携式计算设备网络客户端功能450。该列表可以基于用户的特定简档来确定,并且可以仅包括由网络服务器功能250支持的所有可用服务器IOS功能的子集(例如,仅IOS功能IOS_2)。该子集对应于便携式计算设备400的用户基于其简档被授权使用的服务器IOS功能220(例如,仅IOS功能IOS_2)。对于每个潜在用户,网络服务器功能250存储用户的简档以确定相应的授权服务器IOS功能220。便携式计算设备网络客户端功能450显示候选服务器IOS功能220的列表(例如,IOS功能IOS_1和IOS功能IOS_2)以允许用户从候选列表中选择一个。用户在候选服务器IOS功能列表中选择服务器IOS功能220(例如,IOS功能IOS_2)由便携式计算设备网络客户端功能450发送到网络服务器功能250。或者,可以同时选择多个候选服务器IOS功能220。

在步骤625处,网络服务器功能250发起与在步骤622处选择的IOS功能(例如,IOS_2)相对应的服务器IOS功能220的实例。网络服务器功能250还发起与在步骤620处选择的服务器模拟功能210(例如,天气功能)相对应的服务器渲染功能240的实例(例如,天气渲染功能)。如前所述,相同服务器IOS功能210或服务器渲染功能240的若干实例可由模拟服务器200并行执行,以支持多个并行运行的模拟会话,并且还用于支持并行参与相同或类似模拟会话的多个便携式计算设备400。此外,单个便携式计算设备400可以并行地与多个服务器IOS功能210和/或多个服务器渲染功能240交互。

网络服务器功能250建立用于在便携式计算设备400与在步骤625处发起的服务器IOS功能220的实例(例如,IOS功能IOS_2)之间;并且可选地,在便携式计算设备400和在步骤621处发起的服务器模拟功能210的实例(例如,天气功能)之间交换数据的第一通信信道(以直接发送不需要由渲染功能适配的模拟数据)。通过网络服务器功能250和便携式计算设备网络客户端450在模拟服务器200和便携式计算设备400之间交换数据。通过该第一通信信道交换的所有数据不需要通过服务器渲染功能240适于在便携式计算设备400上渲染。

网络服务器功能250在在步骤625处发起的服务器渲染功能240的实例(例如,天气渲染功能)与便携式计算设备400之间建立第二通信信道,用于发送适于在便携式计算设备上渲染的模拟数据。建立该第二通信信道在本领域中是公知的,并且可以包括确定连接标识、选择通信协议、分配通信套接字等。

网络服务器功能250可以为每个便携式计算设备400创建和管理动态通信简档,包括所创建的第一和第二通信信道的特性。动态通信简档的管理包括第一和第二通信信道的创建/更新/删除。

此外,网络服务器功能250向所发起的服务器渲染功能240的实例提供便携式计算设备400的特性。所述特性包括例如处理能力、存储器大小、显示分辨率、通信接口的数据吞吐量、可用的用户界面等。服务器渲染功能240的发起的实例使用这些特性来执行发送到便携式计算设备400的模拟数据的适配。对于模拟门户的每个授权用户,网络服务器功能250可以存储用户使用的便携式计算设备400的静态简档(具有前述特征)。或者,网络服务器功能250通过动态检索用户当前使用的设备400的特性,自动生成用户在步骤610处使用的便携式计算设备400的动态简档(具有前述特征)(该过程是在网页浏览领域中公知的)。

图6B更具体地表示由服务器渲染功能240的实例向便携式计算设备400传输适配的模拟数据。

在步骤630处,服务器模拟功能210的实例(例如,天气功能)生成模拟数据并将模拟数据转发到服务器渲染功能240的对应实例(例如,天气渲染功能)。

在步骤635处,服务器渲染功能240的实例处理模拟数据,并生成适于(基于便携式计算设备400的前述特征)的模拟数据,以用于在便携式计算设备400上渲染。

在步骤640处,适配的模拟数据由服务器渲染功能240的实例直接发送到便携式计算设备400(而不使用网络服务器功能250)。

在步骤645处,便携式计算设备IOS UI 420的显示功能421处理从服务器渲染功能240的实例接收的适配的模拟数据,并在便携式计算设备400的显示器404上显示处理的模拟数据。由于在步骤635处模拟数据已经适于设备400,因此处理非常有限,甚至在显示模拟数据之前甚至可能不需要。

尽管出于简化目的在图6B中表示步骤630、635、640和645的单个序列,但是可以出现多个序列。对于每个序列,在步骤630和635处生成、在步骤640处发送并在步骤645处显示适于在便携式计算设备400上渲染的模拟数据。

图6C更具体地表示未由网络服务器功能250和便携式计算设备400之间的服务器渲染功能240适配的数据的交换。

在步骤650处,服务器IOS功能220的实例(例如,IOS_2)生成IOS控制和监视数据222(不由渲染功能适配),并且将IOS控制和监视数据222转发到网络服务器功能250。

在步骤655处,IOS控制和监视数据222由网络服务器功能250发送到便携式计算设备400(而不应用任何渲染功能)。

在步骤660处,便携式计算设备IOS UI 420的显示功能421在便携式计算设备400的显示器404上显示所接收的IOS控制和监视数据222。

在步骤665处,便携式计算设备IOS UI 420的交互功能422基于便携式计算设备400的用户的交互生成IOS交互数据222(例如,具有步骤660处显示的IOS控制和监视数据222)。

在步骤670处,IOS交互数据222由便携式计算设备400发送到网络服务器功能250。网络服务器功能250简单地将IOS交互数据222转发到服务器IOS功能220的实例(例如,IOS_2)。

网络服务器功能250可以实现过滤功能(未在图中表示),以识别和充分处理从便携式计算设备400接收的数据。过滤功能识别在步骤670处接收的IOS交互数据222,其应被转发到服务器IOS功能220的适当实例(例如IOS_2)。过滤功能还识别在图6A的步骤610、615、620和622处接收的监管和管理数据,该监管和管理数据应由网络服务器功能250直接处理。

在步骤675处,服务器IOS功能220的实例(例如,IOS_2)基于IOS交互数据222处理IOS交互数据222以控制由模拟服务器200执行的模拟的执行。

尽管出于简化目的,在图6C中表示步骤650、655和660的单个序列,但是可以出现多个序列。类似地,可以发生多个步骤665、670和675的序列。步骤650、655和660的多个序列可以在步骤665、670和675的单个序列发生之前发生。类似地,步骤665、670和675的多个序列可以在步骤650、655和660的单个序列发生之前发生。然而,步骤665、670和675的序列之后通常是步骤650、655和660(和/或图6B的步骤630、635、640和645)的序列;因为IOS交互数据222的处理影响由模拟服务器200执行的模拟的执行,这又导致生成新的适配模拟数据212/IOS控制和监视数据222,这些数据被发送到便携式计算设备400。

尽管为了简化目的未在图6C中表示,但是步骤650、655和660还可以包括由模拟数据(其不需要通过渲染功能来适配)的图6B中表示的服务器模拟功能210的实例的生成,由网络服务器功能250直接将这些模拟数据传输到便携式计算设备400,以及在便携式计算设备400上显示这些模拟数据。

此外,由如图6B所示的服务器渲染功能240的实例所适配的模拟数据的传输,以及如图6C所示的由网络服务器功能250对IOS控制和监视数据222/模拟数据212的传输(而无需通过渲染功能)同时且独立地发生。

如本领域所公知的,网络服务器功能250和便携式计算设备网络客户端450之间的通信使用超文本传输协议(HTTP)和/或安全超文本传输协议(HTTPS)。可选地,实时传输协议(RTP)也可以用于在网络服务器功能250和便携式计算设备400之间交换的一些数据。图6A和6C中表示的单个步骤(例如610、615、620、622、655和670)可以包括在网络服务器功能250和便携式计算设备400之间交换的多个HTTP/HTTPS/RTP消息。

类似地,服务器渲染功能240和便携式计算设备400的实例之间的通信也可以使用HTTP和/或HTTPS和/或RTP协议。图6B中表示的单个步骤(例如640)可以包括在服务器渲染功能240和便携式计算设备200的实例之间交换的多个HTTP/HTTPS/RTP消息。在这种情况下,服务器渲染功能的每个实例240实现基于自治HTTP的服务器,该服务器允许通过网络套接字与便携式计算设备400通信。在步骤625处,在网络服务器功能250的指导下执行服务器渲染功能240和便携式计算设备400的实例之间的通信信道的建立。然而,该通信信道不限于使用HTTP和/或HTTPS和/或RTP协议,但是可以使用其他非基于网络的通信协议(例如,专有通信协议)。

流程图600仅用于说明目的。类似的流程图可以适于示出图2B中表示的便携式计算设备GUI 430与模拟服务器200的交互。另外,类似的流程图可以分别适于示出在图2A中表示的模拟器300上执行的模拟器IOS UI 320、模拟器GUI 330和模拟器模拟功能310与模拟服务器200的交互。

现在同时参考图3A、图3B、图3C和图5。图5表示在模拟器300的显示器304上显示的IOS UI页面500。IOS UI页面500由模拟器IOS UI 320的显示功能321显示。IOS UI页面500提供具有实例的子组的用户界面。IOS UI页面500通常包括用于控制模拟参数的图形控制元素(例如,菜单和子菜单、列表框等),以及用于显示由服务器模拟功能210生成的模拟数据的图形显示元素(例如,图像、文本字段、图标、嵌入式视频等)。

图5中表示的IOS UI页面500包括第一图像501(导航图)、图形控制元素502(控制小部件)和第二图像503(天气图)。导航图由服务器模拟功能210的导航功能生成,并且通过网络服务器功能250直接发送到模拟器IOS UI 320(而不通过服务器渲染功能240适配),以通过模拟器显示器304显示在模拟器显示器304上。基于服务器模拟功能210的导航功能的执行来更新导航图。天气图503由服务器模拟功能210的天气功能生成,并且通过网络服务器功能250直接发送到模拟器IOS UI 320(而不通过服务器渲染功能240适配),以通过模拟器显示功能321在模拟器显示器304上显示。基于服务器模拟功能210的天气功能的执行来更新天气图。

网络服务器功能250从服务器IOS功能220接收对应于控制小部件502的IOS控制和监视数据222(例如,用于允许控制导航图501和天气图503)。IOS控制和监视数据222通过网络服务器功能250发送到模拟器300,并且基于所接收的IOS控制和监视数据222,由模拟器IOS UI 321的模拟器显示功能321在模拟器显示器304上显示控制小部件502。当用户通过模拟器IOS UI 320的交互功能322与模拟器300交互时,用户使用控制小部件502来修改例如与导航图501和天气图503相关的参数。包括修改的参数的IOS交互数据222由模拟器IOS UI 320的交互功能322发送到服务器IOS功能220,用于控制例如服务器模拟功能210的导航和天气功能的执行。

图5还表示在便携式计算设备400的显示器404上显示的IOS UI页面510。IOS UI页面510由便携式计算设备IOS UI 420的便携式计算设备显示功能421显示。为了示例的目的,IOS UI页面510包括与IOS UI页面500的导航图501相对应的图像511(导航图),以及与IOS UI页面500的控制小部件502相对应的图形控制元素512(控制小部件)。

出于说明目的,便携式计算设备400的用户已决定不使用服务器模拟功能210的天气功能,因此在便携式计算设备400的显示器404上不显示与IOS UI页面500的天气图503相对应的图像。在图5中未表示的替选使用情况中,如果便携式计算设备400的用户已经决定使用服务器模拟功能210的天气功能,则与IOS UI页面500的天气图503相对应的图像将显示在便携式计算设备显示器404上。

在模拟服务器200上,导航渲染功能240的实例从服务器模拟功能210的导航功能接收对应于导航图511的模拟数据。导航渲染功能240的实例处理模拟数据以生成适于在便携式计算设备400上渲染的导航图511。例如,导航图511的大小和分辨率适于便携式计算设备400的特性(例如,屏幕分辨率等)。导航图511通过服务器渲染功能240的实例发送到便携式计算设备400,并且由便携式计算机设备IOS UI 421显示在便携式计算设备显示器404上。

模拟服务器200处的网络服务器功能250从服务器IOS功能220接收对应于控制小部件512的IOS控制和监视数据222(例如,用于允许控制导航图511)。IOS控制和监视数据222是由网络服务器功能250发送到便携式计算设备400,并且便携式计算设备IOS UI 421基于所接收的IOS控制和监视数据222在便携式计算设备显示器404上显示控制小部件512。

当用户10通过便携式计算设备400的用户界面405与IOS UI页面510交互时,对应的IOS交互数据222由便携式计算设备IOS UI 420的交互功能422生成,并通过交互功能422发送到模拟服务器200的网络服务器功能250。网络服务器功能250将IOS交互数据222转发到服务器IOS功能220。

例如,控件小部件512是包括三个项目的菜单。当用户将指针(对应于鼠标)定位在项目之一上和左键单击时,发送的IOS交互数据222包括所选择的项目。

可选地或互补地,用户10可以在不使用控制小部件512的情况下直接与IOS UI页面510的区域交互。例如,用户10可以将指针(对应于鼠标)定位在导航图511上,并且左键单击或右键单击导航图511。发送的IOS交互数据222包括用户10与导航图511交互的指示,更具体地,通过右键单击或左键单击。IOS交互数据222由模拟服务器200处的服务器IOS功能220解释如下:左键单击是放大请求,右键单击是缩小请求。服务器IOS功能220相应地重新配置服务器模拟功能210的导航功能。在放大的情况下,服务器模拟功能210的导航功能生成更详细的模拟数据,该模拟数据由导航服务器渲染功能240的实例处理,用于生成放大的导航图511,以用于在便携式计算设备400上渲染。在缩小的情况下,服务器模拟功能210的导航功能生成较不详细的模拟数据,该模拟数据由导航服务器渲染功能240的实例处理,以生成缩小的导航图511,以用于在便携式计算设备400上渲染。

更一般地,IOS交互数据222由服务器IOS功能220用于控制相应的服务器模拟功能210(例如导航功能)。控制相应的服务器模拟功能210包括控制由服务器模拟功能210(例如导航功能)生成的模拟数据,该模拟数据由服务器渲染功能240的对应实例(例如,导航服务器渲染功能240的实例)进一步适配以用于在便携式计算设备显示器404上渲染(例如,导航图511)。

网络服务器功能250可以预处理所接收的IOS交互数据222以确定它们是否对应于与便携式计算设备400上显示的IOS UI页面510的合法交互。网络服务器功能250简单地丢弃所发送的不与IOS UI页面500的合法交互对应的IOS交互数据222,并且将合法交互发送到服务器IOS功能220。网络服务器功能250可以进一步区分利用IOSUI页面510生成的IOS交互数据222与其他类型的数据(例如,模拟服务器200的管理和配置),这些数据由网络服务器功能250直接处理。

尽管上文已通过本发明的非限制性示例性实施例描述了本发明,但是在不脱离本发明的精神和实质的情况下,可以在所附权利要求的范围内随意修改这些实施例。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1