用于网络发现和同步的系统的制作方法

文档序号:14013493阅读:109来源:国知局



背景技术:

本说明书涉及用于发现和同步网络中的节点的系统。

节点的网状网络具有网络拓扑,其中,每个节点中继网络的数据。每个节点可以将数据传输到相邻节点。可以通过将传输分成相邻节点之间的一系列短跳来长距离传输数据。

网络能够可靠并且提供冗余。当一个节点不再能操作时,剩下的节点仍然可以直接或通过一个或多个中间节点相互通信。



技术实现要素:

通常,本说明书描述用于发现和同步与定向天线无线通信的节点的系统。

通常,本说明书中所述的主题的一个创新方面能以方法体现,该方法包括下述动作:

由云控制器维护表示节点的网络的拓扑的数据,其中,所述数据指示连接到所述云控制器的第一组节点,并且对所述网络中的每一节点,指示该节点的一个或多个相应的相邻节点,以及其中,每一节点通过在特定时间间隔期间形成发射节点和接收节点对来与相邻节点无线通信,其中,当该发射节点处于发射模式并且该接收节点处于接收模式时,在特定时间间隔期间,该对中的该发射节点将数据传送到该对中的该接收节点;在所述云控制器处,从所述第一组节点接收用于连接到所述网络的一个或多个请求;由所述云控制器选择所述第一组节点中发送所述请求的第一节点;以及由所述云控制器生成指令,所述指令被配置为使所述第一节点将所述第一节点的时间戳传送到所述第一节点的每个相邻节点,并且使得每一相邻节点将所述第一节点的所述时间戳传送到该相邻节点的每一其他相邻节点,其中,节点在接收到所述第一节点的所述时间戳时,同步它们相应的时间戳,其中,传送所述时间戳继续直到所述网络中的每一节点已经与所述第一节点的时间戳同步为止;以及将所述指令发送到所述第一节点,从而使所述网络中的节点与所述第一节点的时间戳同步。

实施方式可以包括下述特征中的一个或多个。在由所述第一节点接收到所述指令后,所述第一节点扫描相邻节点,以及其中,每一相邻节点将其相应的时间戳与所述第一节点的所述时间戳同步。对每一相邻节点,该相邻节点扫描其他相应的相邻节点,以及其中,所述其他相应的相邻节点中的每一个使其相应的时间戳与所述第一节点的所述时间戳同步。向所述第一节点推送排程以传播到所述网络中的每一节点,其中,所述排程指定每对相邻节点中的每个节点何时处于所述发射模式或所述接收模式。确定包括从拓扑数据库确定第二组节点还未与所述第一节点的时间戳同步;从所述拓扑数据库中识别所述第二组节点中的每一节点的相邻节点;生成附加指令,所述附加指令被配置为使所述第二组节点中的每个节点的相邻节点继续传送所述时间戳,直到所述相邻节点接收到所述第二组节点中的每一节点已经与所述第一节点的所述时间戳同步的指示为止;以及将所述附加指令发送到所述第二组节点中的每个节点的相邻节点。所述第一节点包括多个毫米波无线电设备,其中,所述指令被配置为使所述第一节点传送所述第一节点的时间戳,包括:由所述第一节点选择所述毫米波无线电设备中的一个毫米波无线电设备的第一时间戳;使其他毫米波无线电设备中的每一个其他毫米波无线电设备的时间戳与第一时间戳同步;以及使用所述多个毫米波无线电设备,将所述时间戳传送到所述第一节点的相邻节点。所述第一节点包括第一定向天线,以及与所述第一节点相邻的节点包括第二定向天线,进一步包括:从所述数据中识别所述第二定向天线的坐标;以及其中,所述指令包括所述坐标,并且使所述第一定向天线转向到所述第二定向天线的所述坐标。所述网络中的第一节点具有第一定向天线,以及所述网络中的第二节点具有第二定向天线,以及其中,当所述第一定向天线转向到所述第二定向天线以及所述第二定向天线转向到第一定向天线时,所述第一节点将数据传送到所述第二节点。所述第一组节点连接到所述云控制器而不经过所述网络中的任何其他节点。所述网络中的特定节点定期地向其相邻节点发送同步的请求,以使得所述相邻节点将它们相应的时间戳与该节点的时间戳同步,并且使得每个相邻节点向该相邻节点的其他相邻节点发送同步的请求。

另一创新方面包括下述动作:由云控制器维护表示节点网络的拓扑的数据,其中,所述数据指示连接到所述云控制器的第一组节点,并且对所述网络中的每一节点,指示该节点的一个或多个相应的相邻节点,以及其中,每一节点通过在特定时间间隔期间形成发射节点和接收节点对来与相邻节点无线通信,其中,当该发射节点处于发射模式并且该接收节点处于接收模式时,在特定时间间隔期间,该对中的该发射节点将数据传送到该对中的接收节点;由所述云控制器根据所述数据,选择还未添加到所述网络的第一节点;使用所述数据来由所述云控制器确定所述第一节点周围的相邻节点;由所述云控制器生成被配置为使所述相邻节点发现所述第一节点的指令;将所述指令发送到所述相邻节点,从而使所述相邻节点发现所述第一节点;以及接收所述第一节点与所述相邻节点无线通信的指示。

实施方式可以包括下述特征中的一个或多个。所述指令使得所述第一节点将所述第一节点的时间戳与所述相邻节点中的一个相邻节点的时间戳同步。跨节点网络分发排程,其中,所述排程协调所述网络中的每一节点之间的未来通信。所述网络中的第一节点具有第一定向天线,以及所述网络中的第二节点具有第二定向天线,以及其中,当所述第一定向天线转向到所述第二定向天线以及所述第二定向天线转向到所述第一定向天线时,所述第一节点将数据传送到所述第二节点。所述第一节点处于接收模式,以及其中,所述第一节点在全运动范围内转向定向天线,以及其中,所述指令被配置为使所述相邻节点发现所述第一节点,包括:在处于发射节点中的同时,在全运动范围中转向所述相邻节点的定向天线;对所述相邻节点中的一个相邻节点,确定所述第一节点的定向天线被转向到所述相邻节点的相应的定向天线;以及将所述确定存储在所述数据中。从所述数据中识别所述第一节点的第一定向天线的坐标;以及其中,所述指令包括所述坐标并且使得所述相邻节点的定向天线转向到所述第一定向天线的所述坐标。

可以实现在本说明书中所述的主题的特定实施例以便实现一个或多个下述优点。仅当节点的定向天线被转向到其他节点的定向天线时,这些节点才通信。当时间在跨网络的节点处被同步时,云控制器可以协调具有定向天线的节点之间的通信。云控制器可以实现节点的复杂网络的可扩展管理。云控制器可以易于将节点添加到网络并且在添加节点后,同步节点的时间。如果节点停止与网络通信,则云控制器可以将该节点重新连接到网络并且自动地重新同步节点的时间。

在附图和下述描述中,阐述本说明书的主题的一个或多个实施方式的细节。从说明书、附图和权利要求,该主题的其他特征、方面和优点将变得显而易见。

附图说明

图1图示出用于跨节点的网络同步时间的系统的示例性架构。

图2图示出用于网络中的特定节点的示例性架构。

图3是用于由云控制器同步时间的示例性过程的流程图。

图4a-b是图示出如何通过网络的节点同步时间的图。

图5是用于由邻近节点发现网络中的未添加节点的示例性过程的流程图。

不同图中相同的附图标记和名称表示相同的元件。

具体实施方式

图1图示出了用于同步节点的网络的时间的系统的示例性架构100。节点网络使得用户能够在互联网并不普遍的大的区域上访问无线高速互联网。例如,节点网络可以在极少有连接到互联网的基础设施的偏远村庄中实现。

该系统包括负责管理跨节点网络的时间同步的云控制器102。在一些实施方式中,节点网络被组织为网状网络。

节点网络包括中枢节点106、120和常规节点108-118。常规节点可以是中继节点或接入端点,例如用于wi-fi接入。中继节点可以将数据中继到网络中的其他节点。接入端点允许用户通过接入端点连接到外部网络,例如互联网,并且还可以将数据中继到网络中的其他节点。中枢节点可以是中继节点或接入端点,并且也可以直接与云控制器102通信。也就是说,虽然非中枢节点可以通过任何中枢节点访问云控制器102,但中枢节点可以不经过在任何其他节点的情况下连接到云控制器102。例如,与可以通过中枢节点106连接到云控制器102的节点110相反,中枢节点106、120具有与云控制器102的直接连接。在一些实施方式中,中枢节点106、120被布线到外部网络,而其他节点是无线的。

每个节点具有被用来与相邻节点通信的一个或多个定向天线。例如,每个节点可以包括多个毫米波无线电设备,每个毫米波无线电设备具有定向天线。

通常,具有高定向天线的节点提供更高的带宽,但是以一次只能与另一个节点的另一个无线电设备通信为代价。具体而言,对于节点通信,给定无线电设备的定向天线可以被转向另一个节点中的另一个无线电设备的定向天线。而且,如果给定节点包括两个定向天线,每个定向天线被转向到相应的相邻节点,则给定节点可以同时与两个相邻节点通信。

当两个节点在特定的时间间隔内相互通信时,节点可以在特定的时间间隔内形成发射和接收节点对。举例说明,当中枢节点106和节点108通信时,中枢节点106可以处于发射模式,而节点108可以处于接收模式。具体而言,中枢节点106的定向天线被转向到节点108的定向天线,从而使中枢节点106能够向节点108发送数据。在一些实施方式中,当节点108向中枢节点106发送响应,中枢节点106转换到接收模式,而节点108转换到发射模式。

架构100中的节点网络描绘了在特定时间点,具有活动连接和替选连接的示例性拓扑。用实线表示活动连接,例如活动连接124,用虚线表示替选连接,例如替选连接122。节点之间的活动连接是数据在节点之间活动地转移的连接。节点之间的替选连接是数据在节点之间可能但不是目前转移的连接。为使两个节点之间的替选连接成为活动连接,两个节点的定向天线可以如上所述转向彼此。

举例说明,中枢节点106与节点108具有活动连接,这表明中枢节点106的定向天线在特定时间点被转向到节点108的定向天线。

节点108与节点112、106具有活动连接并且与节点116具有替选连接122,这表明节点108正在与中枢节点106和节点112通信,但是在该特定时间点,未与节点116通信。

为了跨网络通信,云控制器102可以将活动连接转换为替选连接,或反之亦然。在一些实施方式中,云控制器102确定用于跨每个节点的连接的转换的排程,这将参考图3描述。例如,在未来的时间点,节点108可以将其定向天线从节点112的定向天线转向到节点116的定向天线,由此在节点108和节点116之间创建活动连接并且在节点108和节点112之间创建替选连接。

云控制器102还与拓扑数据库122通信。拓扑数据库122可以包括表示节点网络的拓扑的、关于网络中的每个节点的信息。用于特定节点的信息可以包括节点中的多个无线电设备、节点的角色,例如集线器,中继器或接入点、与节点相邻的节点以及该节点是否被添加到,即,连接到网络。在一些实施方式中,拓扑数据库122还对任何给定节点指定与网络中的任何其他给定节点通信的最佳路径。具体而言,最佳路径可以指定中继数据以最小化等待时间的一系列中继节点。

云控制器102可以与拓扑数据库122通信以将节点添加或重新连接到网络。在下文中,参考图3,更详细地描述拓扑数据库122。

在本说明书中,术语“数据库”将广泛地用于指代维护数据元素之间的关系的任何适当的数据集合。数据不需要被存储为表、以任何特定的方式结构化,或者完全结构化,并且数据库中的数据可以存储在一个或多个位置的存储设备上。因此,例如,拓扑数据库122可以包括多个数据集合,每个数据集合可以被不同地组织和访问。

图2图示出了具有多个无线电设备204-208的网络中的特定节点的示例架构200。每个无线电设备204-208可以具有朝向网络中的另一不同节点的相应的定向天线。该节点可以具有与每个无线电设备204-208通信的网络处理器202。在一些实施方式中,网络处理器202通过在每个无线电设备中同步硬件时间戳,例如媒体访问控制(mac)时间戳来同步节点中的时间。这将参考图4进一步描述。

图3是用于通过云控制器同步时间的示例过程的流程图。通常,系统可以使用示例过程来同步网络中的节点。同步节点通常还要求发现节点。但是,该系统可以替选地执行仅用于发现网络中的节点的示例过程。为了方便,该过程将被描述为由一个或多个计算机的适当编程的系统执行,例如,图1的云控制器102。

系统维护表示节点网络的拓扑的数据(步骤302)。数据可以存储在拓扑数据库中,例如图1的拓扑数据库122。数据可以指定连接到该系统的网络中的第一组节点。第一组节点可以是直接连接到该系统的中枢节点,即,可以不经过其他节点连接到系统的节点。

系统从第一组节点接收用于连接到网络的一个或多个请求(步骤304)。在一些实施方式中,每个节点可以尝试连接到系统,即被系统发现。对连接的尝试可以发生在节点启动时。

每个节点可以响应于连接到该系统来同步其时间戳。即,将节点连接到网络的过程包括节点将其时间戳与网络中的其他节点同步。这将在下文参考图5进一步描述。

系统从第一组节点中选择连接到系统的特定节点(步骤306)。在一些实施方式中,系统选择首先对请求作出响应的节点。在一些其他实施方式中,系统从第一组中随机选择节点。在又一些其他实施方式中,系统选择具有最高数量的相邻节点的节点。通常,例如网络的中枢节点的第一组节点可以直接布线到外部网络,例如互联网,因此可以是网络中最可靠地与系统通信的节点。

该系统生被配置为使被选节点传送用于同步该被选节点的每个相邻节点的请求的指令(步骤308),并且将该指令发送到被选节点(步骤310)。

收到指令后,该被选节点可以扫描相邻节点。在一些实施方式中,系统在指令中包括该被选节点的定向天线可以被转向的、来自拓扑数据库的坐标以定位相邻节点。这些指令可以使被选节点向其每个相邻节点传播将它们相应的时间戳与该被选节点的时间戳同步的请求。例如同步帧的该请求还可以包括该被选节点的时间戳。这将参考图4a-b来描述。

如果系统仅执行发现而不执行同步,则系统可以传播对待发现的每个相邻节点的请求,这可以被称为发现帧。该请求可以使得相邻节点不断尝试连接到系统,例如通过连接到云控制器。中枢节点可以直接连接到系统,而常规节点可以通过与中枢节点的无线连接来连接到系统。在一些实施方式中,该请求使节点被发现并且节点同步它们的时间戳。

在一些实施方式中,请求还包括拓扑标识符。每个节点都可以预加载拓扑标识符。然后,每个节点可以将预加载的拓扑标识符与指令中的拓扑标识符比较。如果拓扑标识符匹配,则节点可以继续将其时间戳与指令中的时间戳同步。这确保该节点同步到预期的时间戳。

节点接收到的每个请求可以使得该节点将该请求传播到该节点的相邻节点。这可以继续,直到网络中的每个节点已经被同步到被选节点的时间戳。为了将给定节点的时间戳与被选节点的时间戳同步,节点可以将被选节点的时间戳存储到给定节点的存储器中。

当请求被用于同步节点时,每个节点可以定期地发送请求以同步时间到相邻节点。这考虑到了每个节点的内部时钟随时间的轻微漂移,例如,其可以在几微秒的级别。这也可以从系统,即云控制器抽象时间同步。也就是说,该系统可以假定网络中的每个节点具有跨网络的同步时间戳。因此,该系统可以基于该同步的时间戳来推送排程,这将在下文进一步描述。

在一些实施方式中,当发送用于同步时间的请求时,特定节点启动定时器。到定时器到期为止,节点可以阻止自己进入接收模式,即,节点将不会接收到任何同步请求。定时器可以略小于发送用于同步时间的请求的定期(periodicity)。这可以防止由于同步请求而过载网络。

在一些其他实施方式中,一旦给定节点被同步,则该给定节点例如通过连接到该系统的其他节点来向系统发送同步指示,其可以在拓扑数据库中存储同步的指示。一旦每个节点都与时间戳同步,则该系统就可以基于该时间戳推送排程。

在一些实施方式中,节点具有多个无线电设备,如上参考图2所述。节点可以接收用于与在该节点的网络处理器处选择的节点的时间戳同步的指令。网络处理器可以被连接,例如布线到每个无线电设备,并且可以使每个无线电设备将其时间戳与被选节点的时间戳同步。

在一些实施方式中,如果拓扑数据库存储同步的指示,则系统确定网络中的第二组节点尚未被同步到来自拓扑数据库的被选节点的时间戳,该拓扑数据库存储如上所述的同步指示。当第二组中的节点不能与网络中的其余节点通信时,这可以发生。例如,第二组中的节点可以使其天线转向到相邻节点,但是视线会被物体物理遮挡。

该系统可以使用拓扑数据库来识别第二组节点的每一节点的相邻节点,所述相邻节点已经与该被选节点的时间戳同步时间。

该系统可以生成附加指令并且将附加指令发送到所标识的相邻节点,该附加指令被配置为使所标识的相邻节点继续向第二组中的节点发送同步请求,直到该系统从第二组中的每个节点接收到同步指示为止。通过使用拓扑数据库通过网络中继附加指令,可以将指令发送到所标识的相邻节点。在一些实施方式中,该系统例如使用指数退避算法来重复地尝试发送包括被选节点的时间戳的同步请求。

在网络中的每个节点与被选节点的时间戳同步之后,系统可以将排程推送到协调跨网络的通信的被选节点。排程可以指定每对相邻节点中的每个节点何时处于发射模式或接收模式。通过同步时间,节点可以将其定向天线同时转向适当的位置。例如,排程可以指定被选节点从时间戳x到时间戳y,将其天线转向到第一相邻节点,其中,x和y是来自被选节点的当前时间戳的未来增量。然后,排程可以指定被选节点从时间戳y到时间戳z,将其天线转向到第二相邻节点,其中,被选节点处于发射模式,同时第二相邻模式处于接收模式。

图4a是图示出在网络的中枢节点406处接收用于同步的指令之后,如何同步时间的图400。中枢节点406可以从云控制器402接收指令。中枢节点406可以具有时间戳time_a。中枢节点406具有与节点408、410的活动连接,这指示中枢节点406具有多个定向天线,每个定向天线被转向到相应的节点408、410。中枢节点406可以将同步请求以及中枢节点406的时间戳,即time_a发送到节点408、410。

图4b是示出在节点408、410从中枢节点406接收到同步请求之后,如何同步时间的图422。在接收到同步请求时,节点408、410可以将它们相应的时间戳同步到time_a。

节点408具有与节点412的活动连接以及具有与节点416的替选连接。因此,节点408向节点412发送对时间戳time_a的同步请求。因为节点408的定向天线没有被转向到节点416的定向天线,节点408不能在当前时间点向节点416发送同步请求。

在一些实施方式中,在节点408将包括time_a的请求发送到节点412之后,节点408可以进入扫描模式。扫描模式可以使节点408搜索其他相邻节点。例如,扫描模式可以使定向天线全运动范围中转向,直到节点408定位另一节点的定向天线为止。节点408可以确定另一节点是否没有将其时间戳同步到time_a。在一些实施方式中,系统向中枢节点406、420发送同步指示的快照以供分发。在一些其他实施方式中,节点408等待来自另一节点的指示其他节点已经被同步的响应。在又一些其它实施方式中,节点408将同步请求发送到另一节点,而与其他节点是否已经将其时间戳同步到time_a无关。

在一些实施方式中,在节点408将包括time_a的请求发送到节点412之后,节点等待来自云控制器402的指令。云控制器402可以确定节点416未将其时间戳同步到time_a,例如,因为节点416未连接到云控制器402,并且生成使节点408与节点416形成活动连接的指令,以及发送请求以将节点416的时间戳同步到time_a,如上参考图3所述。

类似地,在从中枢节点406接收到同步请求时,节点410将其时间戳设置为time_a,并且通过活动连接向节点412发送包括time_a的同步请求。在一些实施方式中,如果节点412已经由于来自节点408的同步请求而同步了它的时间戳,则节点412忽略该请求。

图5是用于使网络中的未添加节点被相邻节点发现的示例性过程的流程图。为了方便,该过程将被描述为由例如图1的云控制器102的一个或多个计算机的适当编程的系统执行。在一些实施方式中,在同步网络中的时间之前,系统尝试发现如在拓扑数据库中识别的每个未发现的节点。

系统维护表示网络拓扑的数据(步骤502)。数据可以被存储在拓扑数据库中,如上参考图3所述。

系统根据数据选择尚未添加到网络的特定节点(步骤504)。系统可以分析存储特定节点是否被添加到网络的拓扑数据库来选择特定节点。在一些情况下,被选节点可能先前已经试图被添加到网络,但是可能例如由于物理障碍而已经失败。

当被选节点试图被添加到网络中时,该被选节点可以进入接收模式。该被选节点还可以在其全范围内扫描定向天线以尝试与相邻节点连接。所述全范围可以由无线电设备预先确定。

系统使用数据来确定被选节点周围的相邻节点(步骤506)。在一些实施方式中,系统查询拓扑数据库以确定相邻节点的坐标。特别地,拓扑数据库可以包括相邻节点的定向天线应当转向到的被选节点的定向天线的坐标。

系统生成被配置成发现被选节点的指令(步骤508),并且将该指令发送到相邻节点,从而使相邻节点发现该被选节点(步骤510)。这些指令可以使相邻节点将其相应的定向天线转向到被选节点的定向天线的坐标。在一些实施方式中,这些指令使得相邻节点的相应的定向天线在全范围内转向,以搜索与被选节点的更强的连接。相邻节点可以各自处于发射模式。系统可以对相邻节点中的一个相邻节点确定被选节点的定向天线被转向到该一个相邻节点的相应的定向天线。在一些实施方式中,只需要相邻节点中的一个节点来实现要被添加到网络的被选节点的连接。当被选节点连接到该一个相邻节点时,被选节点可以发送实现与系统连接的指示。然后,被选节点可以与该一个相邻节点无线通信。

在一些实施方式中,如上参考图5所述,指令使得被选节点将其时间戳同步到相邻节点的时间戳。

系统还可以跨节点网络来分发排程,如上参考图3所述。

能在数字电子电路装置中或者在有形地体现的计算机软件或固件或者在计算机硬件中,包括在本说明书中公开的结构及其结构等效物中或者在它们中的一项或者多项的组合中实施在本说明书中描述的主题和功能操作的实施例。能将在本说明书中描述的主题的实施例实施为一个或者多个计算机程序,即编码在有形非易失性程序载体上的用于由数据处理装置执行或者控制数据处理装置的操作的一个或者多个计算机程序指令模块。能在例如,机器生成的电、光或者电磁信号的人为生成的传播的信号上对程序指令编码,该信号被生成用于对信息编码以用于向适当接收器装置发送以供数据处理装置执行。计算机存储介质能是机器可读存储设备、机器可读存储基板、随机或者串行存取存储器设备或者它们中的一项或者多项的组合。

术语“数据处理装置”涵盖各种用于处理数据的装置、设备和机器,举例而言包括可编程处理器、计算机、多个处理器或计算机。该装置能包括专用逻辑电路装置,例如,fpga(现场可编程门阵列)或者asic(专用集成电路)。该装置除了硬件之外,还能包括为所述计算机程序创建执行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统的代码或者它们中的一项或者多项的组合的代码。

计算机程序(也可以被称为或描述为程序、软件、软件应用、应用、模块、软件模块、脚本或者代码)能用任何形式的编程语言编写,包括编译或者解译语言、或说明或者过程语言,并且计算机程序能用任何形式部署,包括部署为独立程序或者部署为适合于在计算环境中使用的模块、组件、子例程或者其他单元。程序可以,但是无需对应于文件系统中的文件。程序能被存储于保持其他程序或者数据的文件,例如,存储于标记语言文档中的一个或者多个脚本的一部分中、专用于讨论的程序的单个文件中,或者多个协同文件,例如,存储一个或者多个模块、子程序或者代码部分的文件中。计算机程序能被部署用于在一个计算机上或者在位于一个地点或者跨多个地点分布并且由数据通信网络互连的多个计算机上执行。

如在本说明书中所使用的,“引擎”,或“软件引擎”是指提供不同于输入的输出的软件实现的输入/输出系统。引擎能是功能性的编码块,诸如库、平台、软件开发套件(“sdk”)或对象。每一引擎能实现在包括一个或多个处理器和计算机可读介质上的任何适当类型的计算设备上,例如服务器、移动电话、平板电脑、笔记本电脑、音乐播放器、电子书阅读器、膝上型或桌面型计算机、pdas、智能电话或其他固定或便携式设备。此外,引擎中的两个或多于两个可以实现在同一计算设备上,或不同的计算设备上。

在本说明书中描述的过程和逻辑流程能由一个或者多个可编程计算机执行,该一个或者多个可编程计算机执行一个或者多个计算机程序以通过对输入数据操作并且生成输出来执行功能。该过程和逻辑流还能由专用逻辑电路,例如,fpga(现场可编程门阵列)或者asic(专用集成电路)实现,或装置能实现为专用逻辑电路,例如,fpga(现场可编程门阵列)或者asic(专用集成电路)

适合于执行计算机程序的计算机能基于通用或专用微处理器或者其两者,或者任何其他种类的中央处理单元。通常,中央处理单元将从只读存储器或者随机存取存储器或者二者接收指令和数据。计算机的必要元件是用于实现或执行指令的中央处理单元以及用于存储指令和数据的一个或者多个存储器设备。通常,计算机还将包括或可操作地耦接以从其接收数据或向其传送数据的用于存储数据的一个或者多个海量存储设备,例如,磁盘、磁光盘或者光盘。然而,计算机无需具有这样的设备。另外,计算机能被嵌入于另一设备中,聊举数例,例如,移动电话、个人数字助理(pda)、移动音频或者视频播放器、游戏控制台、全球定位系统(gps)接收器或者便携存储设备,例如,通用串行总线(usb)闪存驱动。

适合于存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,举例而言包括半导体存储器设备,例如,eprom、eeprom和闪速存储器设备;磁盘,例如,内部硬盘或者可移动盘;磁光盘;以及cd-rom和dvd-rom盘。处理器和存储器能由专用逻辑电路补充或合并在专用逻辑电路中。

为了提供与用户的交互,能在计算机上实施在本说明书中描述的主题的实施例,该计算机具有用于向用户显示信息的显示设备,例如,crt(阴极射线管)、lcd(液晶显示器)监视器或oled显示器以及用户能用来向计算机提供输入的输入设备,例如键盘、鼠标或存在敏感显示器或其他接口。其他种类的设备也能用来提供与用户的交互;例如,向用户提供的反馈能是任何形式的感官反馈,例如,视觉反馈、听觉反馈或者触觉反馈;并且能用包括声音、语音或者触觉输入的任何形式接收来自用户的输入。此外,计算机能通过向用户使用的设备发送资源和从该设备接收资源,例如,通过响应于从web浏览器接收的请求,向用户的客户端设备上的web浏览器发送网页来与用户交互。

在本说明书中描述的主题的实施例能在计算系统中实施,该计算系统包括例如作为数据服务器的后端组件,或者包括中间件组件,例如,应用服务器或者包括前端组件,例如,具有图形用户界面或者web浏览器的客户端计算机,用户能通过它们与在本说明书中描述的主题的实现方式交互,或者一个或者多个这样的后端、中间件或者前端部件的任何组合。系统的组件能通过任何数字数据通信形式或者介质,例如,通信网络互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”),例如,互联网。

计算系统能包括客户端和服务器。客户端和服务器一般相互远离并且通常通过通信网络交互。客户端和服务器的关系借助在相应计算机上运行并且相互具有客户端-服务器关系的计算机程序而产生。

尽管本说明书包含许多具体实现方式细节,但是不应将这些解释为限制任何发明的范围或可以要求保护的内容的范围,而是解释为对具体发明的具体实现方式特有的特征的描述。在本说明书中在分开的实施例的背景中描述的某些特征也能在单个实施例中被组合实施。相反地,在单个实施例的背景中描述的各种特征也能在多个实施例中分开地或者在任何适当子组合中被实施。另外,虽然上文能将特征描述为在某些组合中动作并且甚至起初这样要求保护,但是来自要求保护的组合的一个或者多个特征能在一些情况下从该组合中被删除,并且要求保护的组合能涉及子组合或者子组合的变型。

类似地,尽管在附图中以特定顺序描绘操作,但是这不应被理解为要求以所示特定顺序或者以依次顺序执行这样的操作或者执行所有所示操作以实现希望的结果。在某些场境中,多任务和并行处理会是有利的。另外,在上文描述的实施例中的各种系统模块和部件的分离不应被理解为在所有实施例中要求这样的分离,并且应当理解描述的程序组件和系统一般能一起集成于单个软件产品中或者被封装到多个软件产品中。

描述了主题的具体实施例。其他实现方式在所附权利要求的范围内。例如,在权利要求中记载的动作能按不同顺序被执行而仍然实现希望的结果。作为一个示例,在附图中描绘的过程未必需要所示特定顺序或者依次顺序以实现希望的结果。在某些实施方式中,多任务和并行处理会是有利的。

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