分布式存储转发系统中的按序消息递送的制作方法

文档序号:17120739发布日期:2019-03-15 23:46阅读:190来源:国知局
分布式存储转发系统中的按序消息递送的制作方法

分布式存储转发系统是包括多个网络节点的数据通信网络,其中信息从始发或源节点被发送给中间节点。然后将数据保存在中间节点处,并且在稍后的时间处将其发送给目的地节点。通常,一旦中间节点能够与目的地节点建立连接,其就将数据提供给目的地节点。这种类型的数据分发用在各种环境中,例如用在设备管理系统中,在设备管理系统中,目的地节点是可穿戴设备(例如智能手表),其可能不总是与分布式存储转发系统通信地连接。

然而,传统的分布式存储转发系统中的数据分发有时可能是有问题的。在某些情况下,被存储在一个中间节点上的数据(用于目的地节点)可能与被存储在另一中间节点上的数据不同,这可能导致目的地节点接收到过时信息。



技术实现要素:

本文所描述的技术使得存储转发系统能够将数据保存在始发节点(例如,服务平台)处直到它们可以被提供给目的地节点(例如,用户装置)为止。换句话说,可以在始发节点处对数据进行缓冲,直到目的地节点“在线”,并且目的地节点和中间节点之间的连接的建立可以触发中间节点从始发节点取回该数据。可以实现额外的技术以确保当数据正在从始发节点被传送给中间节点时,中间节点和目的地节点之间的数据连接不会到期。

根据本公开内容的操作分布式存储转发系统中的中间节点的示例方法包括:由所述中间节点建立与目的地节点的第一通信链路,其中,所述第一通信链路包括第一开放系统互连(osi)模型层。所述方法还包括:当与所述目的地节点的所述第一通信链路被建立时,从所述中间节点向始发节点发送请求,其中:所述请求是针对要提供给所述目的地节点的信息的,以及所述请求是经由第二通信链路来发送的,所述第二通信链路包括与所述第一osi模型层不同的第二osi模型层。所述方法还包括:由所述中间节点经由所述第二通信链路接收要提供给所述目的地节点的消息;以及在所述第一通信链路被建立时,经由所述第一通信链路从所述中间节点向所述目的地节点发送所述消息。

所述方法还可以包括以下特征中的一个或多个特征。所述方法还可以包括:维护针对所述第一通信链路的会话定时器;以及在所述会话定时器指示门限不活动时段之前,从所述中间节点向所述目的地节点发送通信。来自所述中间节点的所述通信可以包括用于以下各项的通信:从所述目的地节点的属性进行读、对所述目的地节点的属性进行写、或两者。所述第二通信链路可以包括传输控制协议(tcp)连接。所述第一通信链路可以包括:蓝牙连接、蓝牙低能(ble)连接、zigbee连接、ieee802.15.4连接、ieee802.11连接,或者近场通信(nfc)连接,或者其任何组合。所述第二通信链路可以包括osi模型层3或更高的层。所述第一通信链路可以包括osi模型层2。

根据本公开内容的示例电子设备可以包括:通信接口;存储器;以及与所述通信接口和所述存储器通信地耦合的处理单元,其中,所述处理单元被配置为使得所述电子设备进行以下操作:经由所述通信接口建立与目的地节点的第一通信链路,其中,所述第一通信链路包括第一开放系统互连(osi)模型层。所述处理单元还被配置为使得所述电子设备进行以下操作:当与所述目的地节点的所述第一通信链路被建立时,经由所述通信接口向始发节点发送请求,其中,所述请求是针对要提供给所述目的地节点的信息的,以及所述请求是经由第二通信链路来发送的,所述第二通信链路包括与所述第一osi模型层不同的第二osi模型层;所述处理单元还被配置为使得所述电子设备进行以下操作:经由所述第二通信链路接收要提供给所述目的地节点的消息;以及在所述第一通信链路被建立时,经由所述第一通信链路从所述电子设备向所述目的地节点发送所述消息。

所述电子设备可以包括以下特征中的一个或多个特征。所述处理单元还可以被配置为使得所述电子设备进行以下操作:维护针对所述第一通信链路的会话定时器;以及在所述会话定时器指示门限不活动时段之前,经由所述通信接口向所述目的地节点发送通信。所述处理单元还可以被配置为使得所述电子设备在所述通信中包括用于以下各项的消息:从所述目的地节点的属性进行读、对所述目的地节点的属性进行写、或两者。所述处理单元还可以被配置为使得所述电子设备进行以下操作:通过建立传输控制协议(tcp)连接来建立所述第二通信链路。所述处理单元还被配置为使得所述电子设备通过建立以下各项来建立所述第一通信链路:蓝牙连接、蓝牙低能(ble)连接、zigbee连接、ieee802.15.4连接、ieee802.11连接、或者近场通信(nfc)连接、或者其任何组合。所述第二通信链路可以包括osi模型层3或更高的层。所述第一通信链路可以包括osi模型层2。

根据本公开内容的示例装置包括:用于由中间节点建立与目的地节点的第一通信链路的单元,其中,所述第一通信链路包括第一开放系统互连(osi)模型层。所述装置还包括:用于当与所述目的地节点的所述第一通信链路被建立时,从所述中间节点向始发节点发送请求的单元,其中,所述请求是针对要提供给所述目的地节点的信息的,以及所述请求是经由第二通信链路来发送的,所述第二通信链路包括与所述第一osi模型层不同的第二osi模型层。所述装置还包括:用于经由所述第二通信链路接收要提供给所述目的地节点的消息的单元;以及用于在所述第一通信链路被建立时,经由所述第一通信链路从所述中间节点向所述目的地节点发送所述消息的单元。

所述装置可以包括以下特征中的一个或多个特征。所述装置可以包括:用于维护针对所述第一通信链路的会话定时器的单元;以及用于在所述会话定时器指示门限不活动时段之前,从所述中间节点向所述目的地节点发送通信的单元。所述用于从所述中间节点发送所述通信的单元可以包括用于在所述通信中包括用于以下各项的消息的单元:从所述目的地节点的属性进行读、对所述目的地节点的属性进行写、或两者。所述装置可以包括用于使用传输控制协议(tcp)连接来建立所述第二通信链路的单元。所述用于建立第一通信链路的单元包括用于建立以下各项的单元:蓝牙连接、蓝牙低能(ble)连接、zigbee连接、ieee802.15.4连接、ieee802.11连接、或者近场通信(nfc)连接、或者其任何组合。所述第二通信链路可以包括osi模型层3或更高的层。所述第一通信链路可以包括osi模型层2。

根据描述的示例非暂时性计算机可读介质可以具有嵌入在其中的用于操作分布式存储转发系统中的中间节点的指令。所述指令包括用于进行以下操作的计算机代码:由所述中间节点建立与目的地节点的第一通信链路,其中,所述第一通信链路包括第一开放系统互连(osi)模型层。所述指令包括用于进行以下操作的计算机代码:当与所述目的地节点的所述第一通信链路被建立时,从所述中间节点向始发节点发送请求,其中,所述请求是针对要提供给所述目的地节点的信息的,以及所述请求是经由第二通信链路来发送的,所述第二通信链路包括与所述第一osi模型层不同的第二osi模型层。所述指令包括用于进行以下操作的计算机代码:经由所述第二通信链路接收要提供给所述目的地节点的消息;以及在所述第一通信链路被建立时,经由所述第一通信链路从所述中间节点向所述目的地节点发送所述消息。

所述非暂时性计算机可读介质可以包括以下特征中的一个或多个特征。所述指令还可以包括用于进行以下操作的计算机代码:维护针对所述第一通信链路的会话定时器;以及在所述会话定时器指示门限不活动时段之前,从所述中间节点向所述目的地节点发送通信。所述指令还可以包括用于在所述通信中包括用于以下各项的消息的计算机代码:从所述目的地节点的属性进行读、对所述目的地节点的属性进行写、或两者。所述指令还可以包括用于进行以下操作的计算机代码:使用传输控制协议(tcp)连接来建立所述第二通信链路。所述指令还可以包括用于使用以下各项来建立第一通信链路的计算机代码:蓝牙连接、蓝牙低能(ble)连接、zigbee连接、ieee802.15.4连接、ieee802.11连接、或者近场通信(nfc)连接、或者其任何组合。所述第二通信链路可以包括osi模型层3或更高的层。所述第一通信链路可以包括osi模型层2。

附图说明

参考以下附图来描述非限制性且非详尽的方面,其中,除非另有指定,否则贯穿各个附图,相同的附图标记指代相同的部分。

图1是根据一个实施例的分布式存储转发系统的框图。

图2是示出根据一个实施例的数据分发技术的实施例的泳道图。

图3是根据一个实施例的状态机图,其示出了中间节点可以执行以维持与目的地节点的通信链路的功能。

图4是根据一个实施例的用于在分布式存储转发系统中提供按序消息递送的方法的流程图。

图5是示出电子设备的实施例的框图。

图6是示出计算机的实施例的框图。

具体实施方式

现在将关于附图来描述若干说明性实施例,这些附图形成其一部分。随后的描述仅提供了实施例,而并不旨在限制本公开内容的范围、适用性或配置。确切而言,随后对实施例的描述将向本领域技术人员提供用于实现实施例的可行(enabling)描述。应当理解的是,在不脱离本公开内容的精神和范围的情况下,可以对元素的功能和布置进行各种改变。

图1是分布式存储转发系统100的实施例的框图。如图所示,分布式存储转发系统100可以包括服务平台130、多个集线器(120-1至120-n,或者在本文中统称为集线器120)以及设备110。将理解的是,替代实施例可以包括对图1中所示的实施例的各种改变中的任何改变。例如,分布式存储转发系统100可以包括一个以上的服务平台130、一个以上的设备110以及比图1中所示的更多或更少数量的集线器。分布式存储转发系统100可以用于管理设备110以及其它设备(例如,数百、数千、数百万或更多)。

此处,服务平台130可以包括被配置为向最终用户设备(例如设备110)传送信息以及从最终用户设备传送信息。该信息可以包括要在最终用户设备之间分发的软件和/或其它更新、来自设备110的用户信息和/或输入、在服务平台130和设备110之间的各种各样的消息等。例如,在健身追踪器的情况下,用户可以(例如,经由用户的移动电话上的应用)向服务平台130提供经更新的针对用户希望在特定日期期间实现的步数的目标。然后,服务平台130可以经由集线器120向设备110发送具有该经更新的目标的消息。

集线器120(也被称为“网关设备”)可以包括可以用于与服务平台130和设备110二者进行通信的各种设备中的任何设备。例如,这些集线器120可以包括移动电话、平板设备、计算机、专用通信设备(包括企业内的移动和/或固定/不动电子设备)和/或其它电子设备。

集线器120和服务平台130可以是较大的网络140(例如,广域网(wan)或无线wan(wwan))的一部分。该网络可以包括各种较小的网络(包括公共和/或私有网络、有线和/或无线网络、安全和/或非安全网络等),并且可以包括互联网。较大的网络140可以使得设备能够经由诸如射频(rf)、光学、有线电气和/或其它通信之类的各种技术中的任何技术来彼此通信。

集线器120和服务平台130可以使用各种管理网络协议中的任何协议来彼此通信。例如,在一些实施例中,集线器120和服务平台130使用端到端传输控制协议(tcp)进行通信。也就是说,在服务平台130和集线器120之间的通信中,互联网协议(ip)终止是在集线器120处。集线器120和服务平台130之间的通信传统上采用拉取型(pull-type)通信,其中,集线器120将分别周期性地与服务平台130进行通信,并且从服务平台130下载任何新信息以提供给设备110。在一些系统中,服务平台130可以向集线器120提供关于其具有集线器120可能需要取来的要被传播给设备110的新信息的指示。一旦设备110连接到集线器120,集线器120就将该信息传播给设备110。

设备110可以包括能够与集线器120进行通信的各种电子设备中的任何电子设备。这可以包括连接或半连接的可穿戴设备(即,健身追踪器、活动跟踪器、智能手表、以及其它这样的由用户穿戴的电子设备)、个人电子设备、家庭自动化设备和物联网(iot)内的其它设备等。设备110可以使用无线通信链路150与集线器120进行通信,从而允许设备110的移动性。在移动时,设备110可以建立与最近在其附近的集线器120的无线通信链路150,并且结束与不再在其附近的集线器120的无线通信链路150。

另外或替代地,设备110可以经由有线连接160与一个或多个集线器120进行通信。例如,设备110的对接站115可以经由有线连接160与一个或多个集线器120连接,其中,当该设备与对接站115物理上对接时设备110可以使用有线连接160。另外或替代地,在一些实施例中,对接站115可以用作集线器120和/或反之亦然。在适用的程度上,本文关于无线通信链路150描述的功能可以由有线连接160执行。

可以注意的是,如本文所使用的,术语“通信链路”可以指代无线和有线通信。此外,其还可以指代可以在其中传送通信的数据通信会话。这样,结束“通信链路”可以包括根据管理协议和/或标准来终止数据通信会话。

通常,存储转发系统利用(与用于集线器120和设备110之间的通信的层相比)不同的开放系统互连(osi)模型层,来使得服务平台130能够与集线器120进行通信。如前所述,可以使用tcp连接将信息从服务平台130递送给集线器120。更广泛而言,服务平台130和集线器120之间的通信可以主要使用osi模型层3或更高层来执行。另一方面,可以在osi模型层2(数据链路层)处使用各种无线技术中的任何无线技术来建立集线器120和设备110之间的无线通信链路150和/或有线连接160,这些无线技术包括但不限于低能(ble)、zigbee、ieee802.15.4、ieee802.11、wi-fi、长期演进直连(lte-d)、近场通信(nfc)、以太网等。集线器120和设备110之间的无线通信链路150和/或有线连接160可以不包括osi模型层3及更高层。

在传统系统中,这可能是有问题的,这是因为集线器120可能仅周期性地从服务平台130接收信息,并且一个集线器可能具有不同的周期和/或可能与另一集线器不同步,这可能导致集线器120向设备110提供来自服务平台130的旧信息或过期信息。

例如,第一集线器120-1可以每四个小时周期性地从服务平台130接收信息,而第二集线器120-2可以每12个小时周期性地从服务平台130接收信息。在第一时间t1处,第一集线器120-1和第二集线器120-2二者都可以从服务平台接收原始消息,并且将其存储,直到其有机会将消息转发给设备110为止。随后,在第一集线器120-1和设备110之间建立无线通信链路150,第一集线器120-1将原始消息转发给设备110。四小时之后,在时间t2处,第一集线器120-1可以接收到其向设备110提供的经更新的消息。但是,因为第二集线器120-2尚未接收到经更新的消息,所以如果设备110随后建立到第二集线器120-2的无线通信链路150,则第二集线器120-2将向设备110提供原始消息,其可能覆盖经更新的消息并且向设备110提供旧的、可能是过时的信息。因为集线器120以不同的周期在不同的时间处进行更新,并且因为周期可能相对不频繁(在更新之间数小时左右),所以在设备110正在集线器120之间移动并且建立(和结束)与它们的无线通信链路150的情况下,可能经常出现这些类型的情况。

可以注意的是,在某些情况下,其中服务平台130将消息发送给集线器120以提供给设备110的推送型(push-type)通知系统也可能容易向设备110提供过时信息。例如,移动集线器120可能由于各种原因(例如,缺少互联网连接、暂时关闭等)中的任何原因而无法从服务平台130接收推送型消息。在这种情况下,移动集线器120可能向设备110提供过时信息。

因此,在传统的存储转发系统100中将消息拉取到或推送到集线器120可能出现集线器120向设备110提供过时信息的情况。通过使用这种过时信息可能对设备110的操作产生负面影响。

本文所描述的技术可以通过将消息保存在服务平台130处直到它们可以被提供给设备110为止,来解决分布式存储转发系统中的该问题(例如图1的分布式存储转发系统100)。换句话说,在服务平台处对消息进行缓冲直到该设备“在线”“为止,并且该设备和集线器之间的连接的建立触发集线器120从服务平台130取得该消息。这与用于管理存储转发系统的传统技术相反,传统技术倾向于将信息推送到网络的边缘。

图2是示出该技术的实施例的泳道图200。此处,因为本文的技术不一定必须限于具有设备管理系统(例如,图1的分布式存储转发系统100)的服务平台、集线器和/或设备的实施例,所以组件已被概括为“始发节点”(例如,对应于图1的服务平台130)、“中间节点”(例如,对应于集线器120)和目的地节点(对应于设备110)。这样,将理解的是,实施例可以用在各种应用中的各种分布式存储转发系统中。

该方法可以在框205和210处开始,其中,在目的地节点和中间节点之间建立通信链路。该通信链路可以例如是经由低能(ble)、zigbee、ieee802.15.4、ieee802.11、wi-fi、长期演进直连(lte-d)、近场通信(nfc)和/或osi模型层2处的其它无线技术的数据通信会话。根据期望的功能,该通信链路的建立可以基于目的地节点进入中间节点的无线通信范围内(或者可能反之亦然)而是自动的。另外或替代地,可以在可能时基于调度、确定的周期、触发事件和/或其它因素来建立通信链路。此外,通信链路可以是加密的或以其它方式安全的会话,在这种情况下,建立通信链路可以涉及交换加密密钥、安全证书和/或执行其它类型的认证。对于利用有线技术的实施例,可以在目的地节点在物理上连接到中间节点或对接站时建立通信链路。

在框215处,中间节点发送针对用于目的地节点的信息的请求。此处,可以通过在中间节点和目的地节点之间建立通信链路来触发请求。此外,在一些实施例中,中间节点可能已经从始发节点接收到关于始发节点具有用于目的地节点的信息的信息(例如,始发节点可能已经将消息“推送”给中间节点,其指示新信息可用于目的地节点),在这种情况下,中间节点发送针对该信息的请求。在框220处,由始发节点接收针对用于目的地节点的信息的请求。

根据一些实施例,中间节点和目的地节点可以可选地执行操作以确保在框205和210处在中间节点和目的地节点之间建立的通信链路被刷新。具体地,一旦建立了通信链路,会话定时器可以要求中间节点在会话超时之前的门限时间量内向目的地节点发送信息。为了帮助确保会话不超时,在框225处,中间节点可以向目的地节点发送一个或多个读和/或写指令,在这种情况下,在框230处,目的地节点可以执行所请求的读和/或写操作。中间节点可以在会话定时器到期并且会话超时之前执行框225的功能。应注意的是,在一些实施例中,可以执行除了读和/或写之外的指令和/或操作,这可以取决于各种因素,例如,中间节点和/或目的地节点的设备类型、所使用的无线技术、任何适用的管理标准和/或协议等等。根据始发节点多久利用目的地节点的信息进行响应,中间节点可以将框225的功能执行多次以确保通信链路被刷新。在图3中示出并且下文更加详细地描述了关于该功能的额外细节。

在框235处,始发节点向中间节点发送用于目的地节点的信息,在框240处,中间节点接收该信息。如前所述,根据期望的功能,用于目的地节点的信息包括各种事项中的任何事项。例如,在一些实施例中,用于目的地节点的信息可以包括用于目的地节点的用户的消息、用于目的地节点的固件或其它软件更新、来自目的地节点的针对信息的请求、和/或其它类型的信息。

在框245处,中间节点发送用于目的地节点的信息,在框250处,目的地节点接收该信息。然后,在框255和260处,中间节点和目的地节点分别终止(在框210和205处建立的)通信链路。再次,根据所建立的通信链路的类型,这可以简单地意味着传送指示通信会话终止的一个或多个消息。

根据期望的功能,图2中所示的过程可以包括额外或替代功能。例如,在一些实施例中,当中间节点成功地将用于目的地节点的信息提供给目的地节点时,中间节点可以向始发节点发送指示目的地节点成功接收到该信息的消息。该功能可以通过目的地节点向中间节点发送成功接收到信息的确认来触发。

另外或替代地,如上所述,在框225和230处提供的功能是可选的,并且可以被执行以帮助确保在中间节点和目的地节点之间的通信链路不会在中间节点正在等待从始发节点接收用于目的地节点的信息的时间段期间超时。可以另外或替代地执行用于维持中间节点和目的地节点之间的通信链路的其它技术。

图3是根据一个实施例的状态机图300,其示出了中间节点可以执行以维持与目的地节点的通信链路的功能。本领域技术人员将认识到的是,根据期望的功能,替代实施例可以添加、省略和/或重新排列图3中所描绘的示出的功能。例如,可能存在许多其它实例,其中,中间节点可以进入结束状态360,停止维护通信链路的过程(例如,在中间节点无法执行状态机图300中的一个或多个其它状态处的功能的情况下)。

该过程可以在状态310处开始,在状态310下,启动不活动定时器。此处,不活动定时器可以反映中间节点要在中间节点和目的地节点之间的数据通信会话超时之前向目的地节点提供信息的时间段。换句话说,不活动定时器可以是在建立中间节点和目的地节点之间的通信链路(例如,在图2的框205和210处)时建立的,并且可以指示通信链路除非刷新否则可能到期的时间。该时间段(其通常在几秒钟的数量级上;例如,3、5、10、12s等)可以由适用的标准和/或协议来管理,这些标准和/或协议可以根据中间节点和目的地节点之间的通信类型、目的地节点的设备类型和/或其它因素而变化。

如图所示,在状态310处启动不活动定时器之后,中间节点然后可以移动到状态320,在状态320下,其等待来自始发节点的数据。如图2中所示,中间节点可以在该时间段期间执行其它功能(如图3中的状态机图300所示,与维持通信链路无关)。这可以包括向始发节点发送针对用于目的地节点的信息的请求(如图2的框215中所示)。中间节点然后可以保持在该状态320下,直到从始发节点接收到数据或者不活动定时器即将到期为止。

如前所述,本文提供的技术可以在使用“推送”或“拉取”数据分发机制的实施例中使用。在前一种情况下,始发节点可以向中间节点发送指示始发节点具有用于目的地节点的数据的信息。然而,在后一种情况下,当始发节点可能不具有用于目的地节点的数据时,中间节点可以不时地从始发节点请求信息(例如,在中间节点建立与目的地节点的通信链路之后)。在这样的情况下,始发节点可以向中间节点回复其不具有用于目的地节点的数据,在这种情况下,目的地节点可以简单地移动到结束状态360(退出维持与目的地节点的通信链路的过程),如图3中所示。

当在状态320下等待来自始发节点的数据时,中间节点可以在不活动定时器即将到期时开始“刷新”与目的地节点的通信链路的过程。此处,术语“即将到期”可以意指不活动定时器处于不活动定时器到期而会话超时之前的门限时间段内。该门限时间段可以根据期望的功能、管理标准和/或协议、所涉及的通信技术和/或其它因素而变化。最终,门限时间段可以是预定时间段,该预定时间段允许中间节点和始发节点之间的通信链路在其到期之前被刷新(如果必要的话)。也就是说,门限时间段可以被预定为允许中间节点执行状态330和340中所示的功能以刷新通信链路(如果需要的话)。

最初,当中间节点确定不活动状态定时器即将到期时,其可以进入状态330,在状态330下,其增加“刷新”计数器。此处,“刷新”计数器可以简单地是计数器,其跟踪由中间节点进行的以刷新中间节点和目的地节点之间的通信链路的尝试数量。如果尝试了门限刷新次数(而没有从始发节点接收到用于目的地节点的数据),则中间节点可以进入结束状态360并且停止尝试维持与目的地节点的通信链路。(再一次,该门限可以是基于期望的功能、管理协议等而预定的数量)

如果还没有达到门限刷新次数,则中间节点然后将移动到状态340,在状态340下,其对目的地节点进行读和/或写,从而刷新通信链路和相关联的不活动定时器。这种读和/或写可以与目的地节点的属性相关联。例如,在采用ble无线技术的实施例中,中间节点可以对目的地节点的ble“特性”进行读或写。这可以包括例如设置目的地节点的时间。

在执行状态340处的功能之后,中间节点然后可以重新进入状态320,在状态320下,其继续等待来自始发节点的数据。中间节点可以将状态330和340处的功能重复多次(只要刷新计数器中的刷新次数小于门限),从而刷新通信链路并且争取用于始发节点提供用于目的地节点的数据的额外时间。

如果中间节点在处于状态320时接收到用于目的地节点的数据,则中间节点然后可以移动到状态350,在状态350下,其向目的地节点发送数据。在成功发送数据之后,中间节点然后可以进入结束状态360。

在一些实施例中,中间节点可以在进入结束状态360之前进行用以向目的地节点发送数据的门限次数的尝试。如果成功,则中间节点然后可以进入结束状态360。如果不成功,则中间节点可以在进入结束状态360之前,向始发节点发送指示数据未被发送给目的地节点的消息。根据期望的功能,各实施例可以以相同的方式采用额外或替代的应急机制(因为它们可以涉及状态机图300中所示的其它状态)。

图4是示出根据本文描述的技术的操作分布式存储转发系统中的中间节点的实施例的流程图400。与本文提供的其它附图一样,图4中提供的实施例是非限制性例子。本领域技术人员将认识到的是,替代实施例可以采用多种变型中的任何变型。在图4的方框中示出的任何或所有功能可以由先前描述的实施例的中间节点(包括图1的多个集线器120中的任何或所有集线器)来执行,但是替代实施例可以使得另外或替代的目的地节点能够执行一些或所有功能。用于执行图4中所示的任何或所有框的功能的单元可以包括移动设备(例如,在图5中所示并且下文进一步详细描述的电子设备500)和/或计算机(例如,在图6中所示并且下文进一步详细描述的计算机600)的软件和/或硬件组件。

在框410处,建立与目的地节点的第一通信链路,其中,第一通信链路包括第一osi模型层。如前所述,目的地节点可以是移动的,并且因此(例如当在中间节点的门限接近度内时)可以建立与中间节点的无线连接(例如,无线通信链路150)。如前所指出的,可以使用各种osi模型层2(数据链路层)无线技术和/或有线技术中的任何技术,这可以取决于所使用的物理层(osi模型层1)的类型。而且,连接可以是根据管理协议来建立的,并且可以由中间节点或目的地节点来发起。这样的osi模型层2协议可以包括例如以太网、wi-fi、wimax、点对点协议(ppp)等。此时,中间节点可能不具有来自始发节点的要提供给设备110的任何消息。

用于执行框410处的功能的单元可以包括如图5中所示并且下文描述的电子设备500的处理单元510、无线通信接口530、总线505和/或存储器560。另外或替代地,用于执行框410处的功能的单元可以包括如图6中所示并且下文描述的计算机600的处理单元610、通信子系统630和/或无线通信接口633、总线605和/或工作存储器635。

在框420处,在与目的地节点的第一通信链路被建立时,向始发节点发送请求,其中,该请求是针对要提供给目的地节点的信息的,并且该请求是经由第二通信链路来发送的,第二通信链路包括与第一osi模型层不同的第二osi模型层。在一些实施例中,该请求可以是“取来”消息。在一些实施例中,该请求可以包括关于目的地节点的信息,以帮助始发节点确定是否需要消息。该信息可以包括关于固件或操作系统版本号的信息、目的地节点的识别码、和/或可以由始发节点用来确定是否要向目的地节点发送消息的其它信息。

此处,第一通信链路和第二通信链路中涉及的不同osi模型层可以反映所涉及的不同类型的技术。例如,可以经由tcp/ip消息传送(osi模型层3)来发送中间节点和始发节点之间在第二通信链路上的通信,其中每个节点具有不同的ip地址。另一方面,中间节点和目的地节点之间的通信可以由与osi模型层2相关的协议和/或标准(而不包括osi模型层3及其以上的层)来管理(其中,例如,两个节点都不具有在通信中共享的ip地址)。

用于执行框420处的功能的单元可以包括如图5中所示并且下文描述的电子设备500的处理单元510、无线通信接口530、总线505和/或存储器560。另外或替代地,用于执行框420处的功能的单元可以包括如图6中所示并且下文描述的计算机600的处理单元610、通信子系统630和/或无线通信接口633、总线605和/或工作存储器635。

在框430处,中间节点经由第二通信链路来接收要提供给目的地节点的消息。例如,该消息可以包括所请求的用于目的地节点的信息。如上所述,该消息可以包括用于目的地节点的软件更新、可能影响目的地节点的功能的数据等。

最后,在框440处,当第一通信链路被建立时,经由第一通信链路从中间节点向目的地节点发送消息。然后,中间节点和目的地节点可以终止通信会话和/或以其它方式结束第一通信链路。

用于执行框430和/或440处的功能的单元可以包括如图5中所示并且下文描述的电子设备500的处理单元510、无线通信接口530、总线505和/或存储器560。另外或替代地,用于执行框430和/或440处的功能的单元可以包括如图6中所示并且下文描述的计算机600的处理单元610、通信子系统630和/或无线通信接口633、总线605和/或工作存储器635。

根据期望的功能,可以对图4中示出的基本功能进行各种改变中的任何改变。例如,如先前所指出的,一些实施例可以采用技术来确保在框410处在中间节点和目的地节点之间建立的连接不会在中间节点从始发节点接收到消息并且将其提供给目的地节点之前超时(例如,不活动定时器到期)。

在一些实施例中,图4中描述的功能可能仅与某些类型的消息一起使用。例如,存储转发系统(例如,图1的分布式存储转发系统100)可以关于从始发节点向目的地节点提供的大多数消息采用传统的存储转发功能。然而,对于某些消息(例如,那些已经被标记为重要的或者如果没有按序接收则被识别为对目的地节点造成有害影响的消息),存储转发系统可以执行图4中示出的功能。在一些实施例中,始发节点可以通过向中间节点传送该信息来识别这些消息。

在一些实施例中,在已经执行框440处的功能之后,中间节点可以从目的地节点接收关于该消息已经被接收到的确认。然后,中间节点可以向始发节点提供关于该消息已经被递送给设备的确认或某种其它指示。该端到端确认使得始发节点能够跟踪已经被递送给目的地节点的消息,从而使得如果目的地节点随后“上线”,则始发节点将不需要再次递送该消息。

替代地,如果中间节点没有从目的地节点接收到确认,则中间节点可以向始发节点提供“失败”消息,该“失败”消息指示消息没有被成功递送。在这样的情况下,当目的地节点再次变为“在线”时,始发节点随后可以尝试重新递送消息。在一些实施例中,中间节点可以在向始发节点报告“失败”消息之前,尝试向目的地节点递送消息至少预定次数。

可以注意到的是,虽然本文所提供的实施例是关于存储转发系统来描述的,但是所公开的技术可以用在使用各种无线和/或有线通信技术中的任何技术的其它类型的技术系统和平台中。

图5示出了电子设备500的实施例,其可以用作如本文提供的实施例中所描述的分布式存储转发(或类似)系统中的一种或多种类型的节点。例如,根据期望的功能,图1的设备110和/或集线器120可以包括图5的电子设备500中示出的组件中的一些或所有组件。(例如,在一些实施例中,设备110可以具有比集线器120少得多的组件。)也就是说,图5仅意在提供对各种组件的概括性说明,其中的任何或所有组件可以酌情使用。可以注意到的是,在一些情况下,图5所示出的组件可以被局部化到单个物理设备和/或分布在可以设置在不同的物理位置处的各种联网设备当中。该装置可以被配置为执行本文描述的方法(例如,对应于图2-4的方法)的一个或多个功能。

电子设备500被示为包括可以经由总线505电耦合的硬件元件(或者可以酌情以其它方式进行通信)。硬件元件可以包括处理单元510,其可以包括但不限于一个或多个通用处理器、一个或多个专用处理器(例如,数字信号处理(dsp)芯片、图形加速处理器、专用集成电路(asic)等等)和/或可以被配置为执行本文描述的方法中的一种或多种方法的其它处理结构或单元。如图5中所示,根据期望的功能,一些实施例可以具有单独的dsp520。电子设备500还可以包括:一个或多个输入设备570,其可以包括但不限于一个或多个触摸屏、触摸板、麦克风、按钮、转盘(dial)、开关等等;以及一个或多个输出设备515,其可以包括但不限于一个或多个显示器、发光二极管(led)、扬声器等等。

电子设备500还可以包括无线通信接口530,其可以包括但不限于调制解调器、网卡、红外通信设备、无线通信设备和/或芯片组(例如,蓝牙(或ble)设备、ieee802.11设备、ieee802.15.4(或zigbee)设备、wifi设备、wimax设备、蜂窝通信设施等)等等。无线通信接口530可以允许与网络、位置服务器、无线接入点、其它计算机系统和/或本文描述的任何其它电子设备(例如,设备、集线器和/或服务平台)传送数据。可以经由发送和/或接收无线信号534的一个或多个无线通信天线532来执行通信。

根据期望的功能,无线通信接口530可以包括用于与可以在不同网络上的不同设备进行通信的单独的收发机。(例如,中间节点可以分别使用第一和第二收发机来与目的地节点和始发节点进行通信。)这些不同的数据网络可以包括各种网络类型。另外,wwan可以是码分多址(cdma)网络、时分多址(tdma)网络、频分多址(fdma)网络、正交频分多址(ofdma)网络、单载波频分多址(sc-fdma)网络、wimax(ieee802.16)等。cdma网络可以实现一种或多种无线接入技术(rat),例如cdma2000、宽带cdma(w-cdma)等。cdma2000包括is-95、is-2000和/或is-856标准。tdma网络可以实现全球移动通信系统(gsm)、数字高级移动电话系统(d-amps)或某种其它rat。ofdma网络可以采用lte、改进的lte等。在来自3gpp的文档中描述了lte、改进的lte、gsm和w-cdma。在来自名称为“第三代合作伙伴计划2”(3gpp2)的联盟的文档中描述了cdma2000。3gpp和3gpp2文档是公众可得到的。无线局域网(wlan)也可以是ieee802.11x网络,而无线个域网(wpan)可以是蓝牙网络、ieee802.15x或某种其它类型的网络。本文描述的技术还可以用于wwan、wlan和/或wpan的任何组合。

电子设备500还可以包括传感器540。这样的传感器可以包括但不限于一个或多个加速度计、陀螺仪、照相机、磁力计、高度计、麦克风、接近度传感器、光传感器等。例如,根据期望的功能,可以在图1的设备110中使用这样的传感器以提供诸如活动跟踪等的特征。

电子设备500的实施例还可以包括卫星定位系统(sps)接收机580,其能够使用sps天线582从一个或多个sps卫星接收信号584。这种定位可以用于补充和/或并入本文所描述的技术。sps接收机580可以使用传统技术从sps系统(例如,gnss(例如,全球定位系统(gps))、伽利略(galileo)、格洛纳斯(glonass)、指南针、日本的准天顶卫星系统(qzss)、印度的印度区域导航卫星系统(irnss)、中国的北斗等等)的sps卫星飞行器(sv)提取半连接移动设备的位置。此外,sps接收机580可以用于各种增强系统(例如,基于卫星的增强系统(sbas)),其可以与一个或多个全球和/或区域导航卫星系统相关联或以其它方式被启用以与一个或多个全球和/或区域导航卫星系统一起使用。通过举例而非限制的方式,sbas可以包括提供完整性信息、差分校正等的增强系统,例如,广域增强系统(waas)、欧洲对地静止导航覆盖服务(egnos)、多功能卫星增强系统(msas)、gps辅助型静地增强导航或gps及静地增强导航系统(gagan)等等。因此,如本文所使用的,sps可以包括一个或多个全球和/或区域导航卫星系统和/或增强系统的任何组合,并且sps信号可以包括sps、类似sps的信号和/或与这样的一个或多个sps相关联的其它信号。

电子设备500还可以包括存储器560和/或与存储器560进行通信。存储器560可以包括但不限于本地和/或网络可访问存储装置、磁盘驱动器、驱动器阵列、光学存储设备、固态存储设备(例如,随机存取存储器(“ram”)和/或只读存储器(“rom”)),其可以是可编程的、可闪速更新的等等。这样的存储设备可以被配置为实现任何适当的数据存储,包括但不限于各种文件系统、数据库结构等等。该存储器560可以用于存储如本文描述的发送给服务平台和设备/从服务平台和设备发送的消息和/或其它信息,其可以使用数据库、链表或任何其它类型的数据结构来实现。另外或替代地,可以将消息和/或其它信息存储在由专用硬件用于数据收集的单独的存储器中。

电子设备500的存储器560还可以包括软件元件(未示出),其包括操作系统、设备驱动器、可执行库和/或诸如一个或多个应用程序之类的其它代码,其可以包括由各个实施例提供的计算机程序,和/或可以被设计为实现由如本文描述的其它实施例提供的方法和/或配置由所述其它实施例提供的系统。仅举例而言,关于上文论述的功能而描述的一个或多个过程可以被实现为可由电子设备500(和/或电子设备500内的处理单元)执行的代码和/或指令。那么,在一个方面中,这样的代码和/或指令可以用于将通用计算机(或其它设备)配置为和/或适配为执行根据所描述的方法的一个或多个操作。

图6示出了计算机系统600的实施例,其可以包括本文描述的设备(例如,分布式存储转发系统中的一种或多种节点类型(例如,图1的集线器120和/或服务平台130))或至少部分地被并入这些设备中。图6提供了计算机系统600的一个实施例的示意图,计算机系统600可以执行先前描述的实施例的方法,例如图2的方法。应当注意的是,图6仅意在提供各种组件的概括性说明,其中的任何或所有组件可以酌情使用。因此,图6广义地示出了如何以相对分离或相对更加集成的方式来实现各个系统元件。另外,可以注意到的是,图6所示出的组件可以被局部化到单个设备和/或分布在可以设置在不同的物理位置处的各种联网设备当中。

计算机系统600被示为包括可以经由总线605电耦合的硬件元件(或者可以酌情以其它方式进行通信)。硬件元件可以包括:处理单元610,其可以包括但不限于一个或多个通用处理器、一个或多个专用处理器(例如,数字信号处理芯片、图形加速处理器等等);和/或其它处理结构,其可以被配置为执行本文描述的方法中的一种或多种方法。计算机系统600还可以包括:一个或多个输入设备615,其可以包括但不限于鼠标、键盘、相机、麦克风等等;以及一个或多个输出设备620,其可以包括但不限于显示设备、打印机等等。

计算机系统600还可以包括一个或多个非暂时性存储设备625(和/或与之进行通信),其可以包括但不限于本地和/或网络可访问存储装置,和/或可以包括但不限于磁盘驱动器、驱动器阵列、光学存储设备、固态存储设备(例如,随机存取存储器(“ram”)和/或只读存储器(“rom”)),其可以是可编程的、可闪速更新的等等。这样的存储设备可以被配置为实现任何适当的数据存储,包括但不限于各种文件系统、数据库结构等等。这样的数据存储可以包括用于存储和管理如本文描述的要经由集线器发送给一个或多个设备的消息和/或其它信息的数据库和/或其它数据结构。

计算机系统600还可以包括通信子系统630,其可以包括由无线通信接口633管理和控制的无线通信技术、以及有线技术(例如,以太网、同轴通信、通用串行总线(usb)等等)。这样,通信子系统可以包括调制解调器、网卡(无线或有线)、红外通信设备、无线通信设备和/或芯片组(例如,蓝牙设备、ieee802.11设备、ieee802.15.4设备、wifi设备、wimax设备、蜂窝通信设施、超宽带(uwb)接口等)等等。通信子系统630可以包括诸如无线通信接口633之类的一个或多个输入和/或输出通信接口,以允许图5的电子设备500、其它计算机系统和/或本文描述的任何其它电子设备。因此,通信子系统630可以用于接收和发送如本文的实施例中描述的数据。

在许多实施例中,计算机系统600还将包括工作存储器635,其可以包括如上所述的ram或rom设备。被示为位于工作存储器635内的软件元件可以包括操作系统640、设备驱动器、可执行库和/或诸如一个或多个应用645之类的其它代码,其可以包括由各个实施例提供的计算机程序,和/或可以被设计为实现由如本文描述的其它实施例提供的方法和/或配置由所述其它实施例提供的系统。仅举例而言,关于上文论述的方法而描述的一个或多个过程可以被实现为可由计算机(和/或计算机内的处理单元)执行的代码和/或指令;那么,在一个方面中,这样的代码和/或指令可以用于将通用计算机(或其它设备)配置为和/或适配为执行根据所描述的方法的一个或多个操作。

这些指令和/或代码的集合可以被存储在非暂时性计算机可读存储介质(例如,上述存储设备625)上。在一些情况下,存储介质可以被并入到计算机系统(例如,计算机系统600)内。在其它实施例中,存储介质可以与计算机系统分离(例如,可移动介质(例如光盘)),和/或在安装包中提供,使得存储介质可以用于利用存储在其上的指令/代码来对通用计算机编程、配置和/或适配。这些指令可以采用可由计算机系统600执行的可执行代码的形式和/或可以采用源和/或可安装代码的形式,源和/或可安装代码在计算机系统600上编译和/或安装(例如,使用各种通常可得到的编译器、安装程序、压缩/解压缩工具等)时随后采用可执行代码的形式。

对于本领域技术人员将显而易见的是,可以根据特定要求进行实质变化。例如,还可以使用定制硬件,和/或可以用硬件、软件(包括便携式软件(例如小应用程序)等)或两者来实现特定元件。此外,可以采用与诸如网络输入/输出设备之类的其它计算设备的连接。

参照附图,可以包括存储器的组件可以包括非暂时性机器可读介质。如本文使用的术语“机器可读介质”和“计算机可读介质”指代参与提供使得机器以特定方式操作的数据的任何存储介质。在上文提供的实施例中,在向处理单元和/或其它设备提供指令/代码以供执行时可以涉及各种机器可读介质。另外或替代地,机器可读介质可以用于存储和/或携带这样的指令/代码。在许多实现中,计算机可读介质是物理和/或有形存储介质。这样的介质可以采用许多形式,包括但不限于非易失性介质、易失性介质和传输介质。计算机可读介质的常见形式包括例如磁性和/或光学介质、穿孔卡、纸带、具有孔图案的任何其它物理介质、ram、prom、eprom、闪速eprom、任何其它存储器芯片或盒式磁带、如下文所述的载波、或计算机可以从其读取指令和/或代码的任何其它介质。

本文论述的方法、系统和设备是例子。各个实施例可以酌情省略、替换或添加各种过程或组件。例如,关于某些实施例描述的特征可以组合到各个其它实施例中。可以以类似的方式组合各实施例的不同方面和元素。本文提供的附图的各个组件可以体现为硬件和/或软件。此外,技术在发展,并且因此,许多元素是不将本公开内容的范围限于那些具体例子的例子。

贯穿本说明书对“一个例子”、“一例子”、“某些例子”或“示例性实现”的提及意指结合特征和/或例子所描述的特定特征、结构或特性可以被包括在所要求保护的主题的至少一个特征和/或例子中。因此,贯穿本说明书在各个地方出现的短语“在一个例子中”、“一例子”、“在某些例子中”、或“在某些实现中”或其它类似短语不一定都指代相同的特征、例子和/或限制。此外,特定特征、结构或特性可以被组合在一个或多个例子和/或特征中。

本文包括的详细描述的一些部分是依据对存储在特定装置或专用计算设备或平台的存储器内的二进制数字信号的操作的算法或符号表示来给出的。在该特定说明书的上下文中,术语特定装置等包括通用计算机(一旦其被编程为根据来自程序软件的指令执行特定操作)。算法描述或符号表示是信号处理或相关领域中的普通技术人员用于将他们工作的实质传达给本领域其他技术人员的技术的例子。此处是算法,并且算法通常被认为是导致期望结果的自洽操作序列或类似的信号处理。在这种情况下,操作或处理涉及对物理量的物理操纵。通常,尽管不是必须的,但是这样的量可以采用能够被存储、传输、组合、比较或以其它方式操纵的电信号或磁信号的形式。有时,主要出于通用的原因,已经证明将这些信号称为比特、数据、值、元素、符号、字符、项、数、数字等是方便的。然而,应当理解的是,所有这些或类似的术语都与适当的物理量相关联,并且仅仅是方便的标记。除非另有明确说明,否则如从本文的论述中显而易见的是,应明白的是,贯穿本说明书,利用诸如“处理”、“运算”、“计算”、“确定”等术语的论述指代特定装置(例如,专用计算机、专用计算装置或类似的专用电子计算设备)的动作或过程。因此,在本说明书的上下文中,专用计算机或类似的专用电子计算设备能够操纵或转换如下的信号:这些信号通常被表示为专用计算机或类似的专用电子计算设备的存储器、寄存器或其它信息存储设备、传输设备或显示设备内的物理电子或磁量。

在前面的详细描述中,已经阐述了许多具体细节以提供对所要求保护的主题的透彻理解。然而,本领域技术人员将理解的是,可以在没有这些具体细节的情况下实施所要求保护的主题。在其它情况下,没有详细地描述本领域普通技术人员将已知的方法和装置,以便不会模糊所要求保护的主题。

如本文使用的术语“和”、“或”以及“和/或”可以包括还预期至少部分地取决于在其中使用这样的术语的上下文的多种含义。通常,如果“或”用于关联列表(例如a、b或c),则其意指a、b和c(此处在包含性意义上使用的)、以及a、b或c(此处在排除意义上使用的)。另外,如本文所使用的术语“一个或多个”可以用于以单数形式描述任何特征、结构或特性,或者可以用于描述多个特征、结构或特性、或者其某种其它组合。但是,应当注意的是,这仅仅是说明性例子,并且所要求保护的主题不限于该例子。

虽然已经示出并且描述了目前认为是示例特征的内容,但是本领域技术人员将理解的是,在不脱离所要求保护的主题的情况下,可以进行各种其它修改,并且可以替换等效物。另外,在不脱离本文描述的中心构思的情况下,可以进行许多修改以使特定情况适应所要求保护的主题的教导。

因此,旨在所要求保护的主题不限于所公开的特定例子,而是这样要求保护的主题也可以包括落入所附权利要求的范围内的所有方面以及其等效物。

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