数据通信设备和数据通信方法
技术领域
本发明涉及通信技术领域,具体而言,涉及一种数据通信设备和一种数据通信方法。
背景技术
信息中心网络(ICN,Information-Centric Network),又名内容中心网络(CCN,Content-Centric Network),将内容作为传输基础,通过名字来获取内容而不再通过IP。内容中心网络在自组织的网络环境中可以充分发挥其优点,(移动)节点之间的通信只依赖于他们需要的内容,而不是如IP网络那样依赖于事先计算的一条确定路径来连接到一个节点。在内容中心网络中,节点只以Host name被识别,而不再需要IP地址,并且数据可以被任何节点缓存,以便将来被重新利用。
具体地,内容中心网络中的每个节点对一项资源生成对应的一条兴趣,将该兴趣记录在自身的FIB(Forwarding Information Base)表中,如果该资源为该节点所有,该节点还为该兴趣生成一链路指向信息,即Link信息,当Link信息指向该节点时,表明该节点可以获得该资源;该节点将Link信息与兴趣相关联地存储在FIB表中,并广播至内容中心网络中的其他节点。
若当前节点接收到其他节点发送的FIB表之后,该节点将接收到的FIB表中的兴趣(自身的FIB表中没有的兴趣)添加至自身的FIB表中,并为新添加的兴趣生成对应的Link信息,该Link信息指向当前节点,表明当前节点可以用于获取该资源,然后发送修改后的FIB表。
通过多个层级的节点之间的信息广播,使得网络内的所有节点都知道可以从哪个节点处获取所需的资源,并且每个节点只需要关心与其相邻的上、下层级的节点即可,无需了解到资源实际上所处的位置。
可见,当某个节点接收到其他节点发送的FIB表时,该FIB表中的某个兴趣的Link信息都是指向该FIB表的发送方的,然而该发送方并不一定拥有具体的资源数据;因此,如果某个节点希望获取某个兴趣对应的资源时,需要向其上一级(节点A从节点B发送的FIB表中获知该兴趣时,节点B为节点A的上一级节点)节点发送获取请求,而当上一级节点并不拥有该资源数据时,需要逐层向上级转发获取请求,直至某个节点真正拥有该资源时,再逐层向下级转发资源数据。
然而,当某个节点同时接收到多个节点发送的FIB表,且都指向同一资源时,该节点无法确定哪个节点真正拥有该资源,也无法确定哪个节点距离拥有该资源的节点更近(转发次数更少),使得资源的传输过程十分盲目,很可能造成对带宽资源的浪费,且消耗更多的时间。
因此,如何识别出每个节点与资源之间的距离,以便在最少的转发次数下获取资源数据,成为目前亟待解决的技术问题。
发明内容
本发明正是基于上述问题,提出了一种新的数据通信技术,可以使得内容中心网络中的每个节点都只保留长度最短的资源路径,从而有助于避免对带宽资源的过多占用,并且加快节点对资源的获得。
有鉴于此,本发明提出了一种数据通信设备,位于内容中心网络中,所述数据通信设备包括:信息生成单元,用于针对所述数据通信设备拥有的任一项资源,生成对应的资源信息,所述资源信息包括任一项资源的标识、链接指向信息和所述任一节点距离该资源的路径长度;信息发送单元,用于向所述内容中心网络中的其他节点广播所述资源信息。
在该技术方案中,针对任一项资源的资源信息,添加了当前节点(即所述任一节点)与该资源之间的路径长度,即当前节点需要获取该资源时,所需要经历的转发次数。通过设置路径长度,使得接收到该资源信息的其他节点能够了解到当前节点与资源之间的距离,从而当需要获取该资源时,能够根据路径长度确定具体向哪个节点发起请求。由于当前节点拥有该资源,因而相应的资源信息中的路径长度即为0;其他节点(假定为节点A)若接收到当前节点(假定为节点B)和另一节点(假定为节点C)发送的资源信息时,由于节点B对应的路径长度为0,即节点B拥有该资源,而节点C对应的路径长度为d(d>0),即节点C本身并不拥有该资源,需要从其他的节点,比如节点B处,获取并转发资源,因此,节点A通过向节点B发出请求,而非节点C,可以尽快获取相应的资源,既节省了时间,又有助于减少对带宽的占用。
在上述技术方案中,优选地,所述资源信息还包括:任一项资源的有效时间,则所述信息发送单元还用于:在所述有效时间到期之前,重新发送所述资源信息。
在该技术方案中,通过设置有效时间,使得资源的拥有方按照协商(由于资源信息中包含该有效时间,相当于在发送方和接收方之间执行了协商)好的时间间隔或时间点(有效时间)来反复发送资源信息,以实现对资源信息的更新。
通过对资源信息的反复发送,相当于在资源信息的发送方和接收方之间维持了“心跳检测”,使得发生发送方断开连接或其他情况时,接收方能够及时了解到情况的发生,并尽快做出反应,比如删除该资源信息,或删除该项资源指向该发送方的链接指向信息。
在上述任一技术方案中,优选地,还包括:表格编辑单元,用于将所述资源信息添加至所述任一节点的FIB表中,并通过广播所述FIB表,以广播所述资源信息。
在该技术方案中,可以通过将资源信息添加至FIB表中,并直接发送FIB表,使得当存在多个兴趣时,仅需要发送一次FIB表即可,而无需多次分别发送每个兴趣对应的资源信息。
在上述任一技术方案中,优选地,还包括:所述任一项资源包括:资源数据和/或网络接口资源。
在上述任一技术方案中,优选地,还包括:请求处理单元,用于获取对应于接收到的请求信息的资源数据,或利用所述网络接口资源执行所述请求信息;数据传输单元,用于向所述请求信息的发送方返回对应于所述请求信息的资源数据,或利用所述网络接口资源执行所述请求信息后的结果数据。
在该技术方案中,资源数据可以为具体的数据或文件等,当某个节点请求该资源数据时,可以直接返回该资源数据。
资源数据还可以为网络接口资源,比如无线局域网络(如WIFI)接口资源、无线移动通信网络(如GPRS等2G网络、WCDMA等3G网络、LTE等4G网络等)接口资源,由于内容中心网络中可能仅存在部分节点具有上述网络接口资源,则其他节点可以通过向上述的部分节点发起请求,以共享网络接口资源。具体地,比如可以通过将需要执行的网络操作或需要访问的网络地址发送至上述的部分节点,以由这些节点执行该网络操作或访问该网络地址,并将操作结果或网络地址的链接内容返回请求方,从而完成以具有网络接口资源的节点为网络代理的操作过程。
本发明还提出了一种数据通信方法,包括:内容中心网络中的任一节点针对自身拥有的任一项资源,生成对应的资源信息,所述资源信息包括任一项资源的标识、链接指向信息和所述任一节点距离该资源的路径长度;所述任一节点向所述内容中心网络中的其他节点广播所述资源信息。
在该技术方案中,针对任一项资源的资源信息,添加了当前节点(即所述任一节点)与该资源之间的路径长度,即当前节点需要获取该资源时,所需要经历的转发次数。通过设置路径长度,使得接收到该资源信息的其他节点能够了解到当前节点与资源之间的距离,从而当需要获取该资源时,能够根据路径长度确定具体向哪个节点发起请求。由于当前节点拥有该资源,因而相应的资源信息中的路径长度即为0;其他节点(假定为节点A)若接收到当前节点(假定为节点B)和另一节点(假定为节点C)发送的资源信息时,由于节点B对应的路径长度为0,即节点B拥有该资源,而节点C对应的路径长度为d(d>0),即节点C本身并不拥有该资源,需要从其他的节点,比如节点B处,获取并转发资源,因此,节点A通过向节点B发出请求,而非节点C,可以尽快获取相应的资源,既节省了时间,又有助于减少对带宽的占用。
在上述技术方案中,优选地,所述资源信息还包括:任一项资源的有效时间;以及在所述有效时间到期之前,重新发送所述资源信息。
在该技术方案中,通过设置有效时间,使得资源的拥有方按照协商(由于资源信息中包含该有效时间,相当于在发送方和接收方之间执行了协商)好的时间间隔或时间点(有效时间)来反复发送资源信息,以实现对资源信息的更新。
通过对资源信息的反复发送,相当于在资源信息的发送方和接收方之间维持了“心跳检测”,使得发生发送方断开连接或其他情况时,接收方能够及时了解到情况的发生,并尽快做出反应,比如删除该资源信息,或删除该项资源指向该发送方的链接指向信息。
在上述任一技术方案中,优选地,还包括:将所述资源信息添加至所述任一节点的FIB表中,并通过广播所述FIB表,以广播所述资源信息。
在该技术方案中,可以通过将资源信息添加至FIB表中,并直接发送FIB表,使得当存在多个兴趣时,仅需要发送一次FIB表即可,而无需多次分别发送每个兴趣对应的资源信息。
在上述任一技术方案中,优选地,所述任一项资源包括:资源数据和/或网络接口资源。
在上述任一技术方案中,优选地,还包括:获取对应于接收到的请求信息的资源数据,或利用所述网络接口资源执行所述请求信息;向所述请求信息的发送方返回对应于所述请求信息的资源数据,或利用所述网络接口资源执行所述请求信息后的结果数据。
在该技术方案中,资源数据可以为具体的数据或文件等,当某个节点请求该资源数据时,可以直接返回该资源数据。
资源数据还可以为网络接口资源,比如无线局域网络(如WIFI)接口资源、无线移动通信网络(如GPRS等2G网络、WCDMA等3G网络、LTE等4G网络等)接口资源,由于内容中心网络中可能仅存在部分节点具有上述网络接口资源,则其他节点可以通过向上述的部分节点发起请求,以共享网络接口资源。具体地,比如可以通过将需要执行的网络操作或需要访问的网络地址发送至上述的部分节点,以由这些节点执行该网络操作或访问该网络地址,并将操作结果或网络地址的链接内容返回请求方,从而完成以具有网络接口资源的节点为网络代理的操作过程。
本发明还提出了一种数据通信设备,位于内容中心网络中,所述数据通信设备包括:信息接收单元,用于接收来自任一节点的资源信息,所述资源信息包括至少一项资源的标识、指向所述任一节点的第一链接指向信息和所述任一节点距离该资源的路径长度;信息存储单元,用于存储所述资源信息。
在该技术方案中,针对任一项资源的资源信息,添加了当前节点(即所述任一节点)与该资源之间的路径长度,即当前节点需要获取该资源时,所需要经历的转发次数。通过设置路径长度,使得接收到该资源信息的节点(如数据通信设备)能够了解到当前节点与资源之间的距离,从而当需要获取该资源时,能够根据路径长度确定具体向哪个节点(当存在多个节点都发送了对应于同一资源的资源信息时)发起请求。
在上述技术方案中,优选地,还包括:信息选择单元,用于在接收到指向同一项资源的多条资源信息的情况下,选择对应的路径长度最短的资源信息,以供所述信息存储单元进行存储。
在该技术方案中,当接收到来自多个节点的、对应于同一项资源的资源信息时,通过对路径长度的比较,以便经由最短的路径长度,即可实现对资源的获取,有助于降低对带宽资源的占用,以及提高对资源的获取效率。
当然,如果存在多个资源信息中包含的路径长度相同且都最短,则可以同时存储所有的最短路径长度对应的资源信息,以便增强可靠性。
在上述任一技术方案中,优选地,所述资源信息还包括:所述至少一项资源的第一有效时间,以及所述数据通信设备还包括:信息处理单元,用于当所述信息接收单元在所述第一有效时间到期后仍未收到所述资源信息的更新信息时,删除所述资源信息。
在该技术方案中,通过设置有效时间,使得资源信息的发送方按照协商(由于资源信息中包含该有效时间,相当于在发送方和接收方之间执行了协商)好的时间间隔或时间点(有效时间)来反复发送资源信息,以实现对资源信息的更新。
通过对资源信息的反复发送,相当于在资源信息的发送方和接收方之间维持了“心跳检测”,使得发生发送方断开连接或其他情况时,接收方能够及时了解到情况的发生,并尽快做出反应,比如删除该资源信息,或删除该项资源指向该发送方的链接指向信息。
在上述任一技术方案中,优选地,还包括:信息编辑单元,用于将所述第一链接指向信息编辑为指向所述数据通信设备的第二链接指向信息,并将所述第一路径长度编辑为所述数据通信设备距离所述至少一项资源的第二路径长度,以得到编辑后的资源信息;信息发送单元,用于向所述内容中心网络中的其余节点广播所述编辑后的资源信息。
在该技术方案中,由于节点之间的距离并不都相同,使得某个节点在发送了资源信息时,仅一部分节点能够接收到,而其他节点则无法接收到该资源信息;因而通过由接收到资源信息的节点再次发送资源信息,并经过多个层级之间的反复发送,使得整个网络中的所有节点都了解到该资源的存在。
一方面,通过编辑链接指向信息,使得每个接收到编辑后的资源信息的节点:仅需要关心该编辑后的资源信息的发送方即可,而无需了解资源的真正拥有者,即只需要向该编辑后的资源信息的发送方直接请求资源即可,无需关心其中经历的转发过程,有助于降低对资源请求方的要求;另一方面,通过编辑路径长度,使得每个接收到编辑后的资源信息的节点:能够了解到该编辑后的资源信息的发送方与资源之间的距离,以便在接收到多个资源信息时,能够从中做出选择,有助于降低带宽占用,提高资源的获取效率。
在上述任一技术方案中,优选地,所述信息接收单元用于接收来自所述任一节点的FIB表,所述编辑后的资源信息位于该FIB表中;以及所述信息发送单元还用于:将所述编辑后的资源信息添加至所述数据通信设备的FIB表中,并通过广播该FIB表,以广播所述编辑后的资源信息。
在该技术方案中,可以通过将资源信息添加至FIB表中,并直接发送FIB表,使得当存在多个兴趣时,仅需要发送一次FIB表即可,而无需多次分别发送每个兴趣对应的资源信息。
在上述任一技术方案中,优选地,所述编辑后的资源信息还包括:所述至少一项资源的第二有效时间;以及所述信息发送单元还用于:在所述第二有效时间到期之前,重新发送所述编辑后的资源信息。
在该技术方案中,通过设置有效时间,使得资源信息的发送方按照协商(由于资源信息中包含该有效时间,相当于在发送方和接收方之间执行了协商)好的时间间隔或时间点(有效时间)来反复发送资源信息,以实现对资源信息的更新。
通过对资源信息的反复发送,相当于在资源信息的发送方和接收方之间维持了“心跳检测”,使得发生发送方断开连接或其他情况时,接收方能够及时了解到情况的发生,并尽快做出反应,比如删除该资源信息,或删除该项资源指向该发送方的链接指向信息。
其中,第一有效时间和第二有效时间可以相同,也可以由节点根据实际情况而设置为不同,比如第二有效时间可以大于第一有效时间。
在上述任一技术方案中,优选地,所述至少一项资源包括:资源数据和/或网络接口资源。
在上述任一技术方案中,优选地,所述信息接收单元还用于:接收其他节点对所述至少一项资源的请求信息;所述信息发送单元还用于:向所述任一节点转发所述请求信息,并将所述任一节点返回的相应数据转发至所述请求信息的发送方。
在该技术方案中,处于资源的请求方和资源的拥有者之间的节点,相当于两者之间的通信中继,通过对请求信息和相应的资源的转发,确保资源请求的顺利执行。
在上述任一技术方案中,优选地,所述返回的相应数据包括:对应于所述请求信息的资源数据,或利用所述网络接口资源执行所述请求信息后的结果数据。
在该技术方案中,资源数据可以为具体的数据或文件等,当某个节点请求该资源数据时,可以直接返回该资源数据。
资源数据还可以为网络接口资源,比如无线局域网络(如WIFI)接口资源、无线移动通信网络(如GPRS等2G网络、WCDMA等3G网络、LTE等4G网络等)接口资源,由于内容中心网络中可能仅存在部分节点具有上述网络接口资源,则其他节点可以通过向上述的部分节点发起请求,以共享网络接口资源。具体地,比如可以通过将需要执行的网络操作或需要访问的网络地址发送至上述的部分节点,以由这些节点执行该网络操作或访问该网络地址,并将操作结果或网络地址的链接内容返回请求方,从而完成以具有网络接口资源的节点为网络代理的操作过程。
本发明还提出了一种数据通信方法,包括:内容中心网络中的任一节点接收来自其他节点的资源信息,所述资源信息包括至少一项资源的标识、指向所述其他节点的第一链接指向信息和所述其他节点距离该资源的路径长度;存储所述资源信息。
在该技术方案中,针对任一项资源的资源信息,添加了当前节点(即所述任一节点)与该资源之间的路径长度,即当前节点需要获取该资源时,所需要经历的转发次数。通过设置路径长度,使得接收到该资源信息的节点(如数据通信设备)能够了解到当前节点与资源之间的距离,从而当需要获取该资源时,能够根据路径长度确定具体向哪个节点(当存在多个节点都发送了对应于同一资源的资源信息时)发起请求。
在上述技术方案中,优选地,还包括:当接收到指向同一项资源的多条资源信息时,选择并存储对应的路径长度最短的资源信息。
在该技术方案中,当接收到来自多个节点的、对应于同一项资源的资源信息时,通过对路径长度的比较,以便经由最短的路径长度,即可实现对资源的获取,有助于降低对带宽资源的占用,以及提高对资源的获取效率。
当然,如果存在多个资源信息中包含的路径长度相同且都最短,则可以同时存储所有的最短路径长度对应的资源信息,以便增强可靠性。
在上述任一技术方案中,优选地,所述资源信息还包括:所述至少一项资源的第一有效时间;以及所述任一节点在所述第一有效时间到期后仍未收到所述资源信息的更新信息时,删除所述资源信息。
在该技术方案中,通过设置有效时间,使得资源信息的发送方按照协商(由于资源信息中包含该有效时间,相当于在发送方和接收方之间执行了协商)好的时间间隔或时间点(有效时间)来反复发送资源信息,以实现对资源信息的更新。
通过对资源信息的反复发送,相当于在资源信息的发送方和接收方之间维持了“心跳检测”,使得发生发送方断开连接或其他情况时,接收方能够及时了解到情况的发生,并尽快做出反应,比如删除该资源信息,或删除该项资源指向该发送方的链接指向信息。
在上述任一技术方案中,优选地,还包括:所述任一节点将所述第一链接指向信息编辑为指向所述数据通信设备的第二链接指向信息,并将所述第一路径长度编辑为所述数据通信设备距离所述至少一项资源的第二路径长度,以得到编辑后的资源信息;所述任一节点向所述内容中心网络中的其余节点广播所述编辑后的资源信息。
在该技术方案中,由于节点之间的距离并不都相同,使得某个节点在发送了资源信息时,仅一部分节点能够接收到,而其他节点则无法接收到该资源信息;因而通过由接收到资源信息的节点再次发送资源信息,并经过多个层级之间的反复发送,使得整个网络中的所有节点都了解到该资源的存在。
一方面,通过编辑链接指向信息,使得每个接收到编辑后的资源信息的节点:仅需要关心该编辑后的资源信息的发送方即可,而无需了解资源的真正拥有者,即只需要向该编辑后的资源信息的发送方直接请求资源即可,无需关心其中经历的转发过程,有助于降低对资源请求方的要求;另一方面,通过编辑路径长度,使得每个接收到编辑后的资源信息的节点:能够了解到该编辑后的资源信息的发送方与资源之间的距离,以便在接收到多个资源信息时,能够从中做出选择,有助于降低带宽占用,提高资源的获取效率。
在上述任一技术方案中,优选地,还包括:所述任一节点接收来自所述其他节点的FIB表,所述编辑后的资源信息位于该FIB表中;以及将所述编辑后的资源信息添加至所述任一节点的FIB表中,并通过广播该FIB表,以广播所述编辑后的资源信息。
在该技术方案中,可以通过将资源信息添加至FIB表中,并直接发送FIB表,使得当存在多个兴趣时,仅需要发送一次FIB表即可,而无需多次分别发送每个兴趣对应的资源信息。
在上述任一技术方案中,优选地,所述编辑后的资源信息还包括:所述至少一项资源的第二有效时间;以及所述任一节点在所述第二有效时间到期之前,重新发送所述编辑后的资源信息。
在该技术方案中,通过设置有效时间,使得资源信息的发送方按照协商(由于资源信息中包含该有效时间,相当于在发送方和接收方之间执行了协商)好的时间间隔或时间点(有效时间)来反复发送资源信息,以实现对资源信息的更新。
通过对资源信息的反复发送,相当于在资源信息的发送方和接收方之间维持了“心跳检测”,使得发生发送方断开连接或其他情况时,接收方能够及时了解到情况的发生,并尽快做出反应,比如删除该资源信息,或删除该项资源指向该发送方的链接指向信息。
其中,第一有效时间和第二有效时间可以相同,也可以由节点根据实际情况而设置为不同,比如第二有效时间可以大于第一有效时间。
在上述任一技术方案中,优选地,所述至少一项资源包括:资源数据和/或网络接口资源。
在上述任一技术方案中,优选地,还包括:当接收到来自其余节点对所述至少一项资源的请求信息时,向所述其他节点转发所述请求信息,并将所述其他节点返回的相应数据转发至所述请求信息的发送方。
在该技术方案中,处于资源的请求方和资源的拥有者之间的节点,相当于两者之间的通信中继,通过对请求信息和相应的资源的转发,确保资源请求的顺利执行。
在上述任一技术方案中,优选地,所述返回的相应数据包括:对应于所述请求信息的资源数据,或利用所述网络接口资源执行所述请求信息后的结果数据。
在该技术方案中,资源数据可以为具体的数据或文件等,当某个节点请求该资源数据时,可以直接返回该资源数据。
资源数据还可以为网络接口资源,比如无线局域网络(如WIFI)接口资源、无线移动通信网络(如GPRS等2G网络、WCDMA等3G网络、LTE等4G网络等)接口资源,由于内容中心网络中可能仅存在部分节点具有上述网络接口资源,则其他节点可以通过向上述的部分节点发起请求,以共享网络接口资源。具体地,比如可以通过将需要执行的网络操作或需要访问的网络地址发送至上述的部分节点,以由这些节点执行该网络操作或访问该网络地址,并将操作结果或网络地址的链接内容返回请求方,从而完成以具有网络接口资源的节点为网络代理的操作过程。
通过以上技术方案,可以使得内容中心网络中的每个节点都只保留长度最短的资源路径,从而有助于避免对带宽资源的过多占用,并且加快节点对资源的获得。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
附图说明
图1示出了根据本发明的一个实施例的数据通信方法的示意流程图;
图2示出了根据本发明的一个实施例的数据通信设备的示意框图;
图3示出了根据本发明的另一个实施例的数据通信方法的示意流程图;
图4示出了根据本发明的另一个实施例的数据通信设备的示意框图;
图5示出了根据本发明的实施例的数据通信设备的功能结构示意图;
图6示出了根据本发明的一个实施例的网络节点之间的数据通信示意图;
图7示出了根据本发明的一个实施例的FIB表的结构示意图;
图8示出了根据本发明的一个实施例的内容中心网络的结构示意图;
图9为图8所示实施例的内容中心网络中,资源下载时间与路由断开次数之间的关联示意图;
图10为图8所示实施例的内容中心网络中,网络内的数据总流量与资源的请求者数量之间的关联示意图。
具体实施方式
为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。
在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是,本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明并不限于下面公开的具体实施例的限制。
基于本发明的内容中心网络中,是由多个网络节点相互构成的网络结构,其中,针对每个网络节点是否拥有某项资源,可以将其分为两类:
1、拥有资源(即上述的某些资源)的节点。此类节点由于自身拥有资源,因而需要实现的功能包括:对自身所拥有资源的资源信息进行广播,以便于其他节点请求和获取相应的资源;响应于其他节点的请求,传输资源数据或执行请求中的信息。
2、没有资源(即上述的某些资源)的节点。此类节点自身并不拥有资源,因而需要实现的功能包括:接收其他节点发布的资源信息;转发资源信息;发布资源请求;接收并转发其他节点的资源请求;接收并转发资源数据或请求中的信息的执行结果。
当然,需要指出的是,由于一个节点很难拥有所有类型的资源,因而针对任何一个节点拥有的资源,其属于上述的类型1的节点,而针对该节点没有的资源,其又属于上述的类型2的节点,即需要根据具体情况来确定某个节点的类型,以确定该节点所需要实现的功能。
下面将分别针对上述的两类不同节点,结合附图进行详细地介绍和说明。
一、拥有资源的节点
图1示出了根据本发明的一个实施例的数据通信方法的示意流程图。
如图1所示,根据本发明的一个实施例的数据通信方法,包括:步骤102,内容中心网络中的任一节点针对自身拥有的任一项资源,生成对应的资源信息,所述资源信息包括任一项资源的标识、链接指向信息和所述任一节点距离该资源的路径长度;步骤104,所述任一节点向所述内容中心网络中的其他节点广播所述资源信息。
在该技术方案中,针对任一项资源的资源信息,添加了当前节点(即所述任一节点)与该资源之间的路径长度,即当前节点需要获取该资源时,所需要经历的转发次数。通过设置路径长度,使得接收到该资源信息的其他节点能够了解到当前节点与资源之间的距离,从而当需要获取该资源时,能够根据路径长度确定具体向哪个节点发起请求。由于当前节点拥有该资源,因而相应的资源信息中的路径长度即为0;其他节点(假定为节点A)若接收到当前节点(假定为节点B)和另一节点(假定为节点C)发送的资源信息时,由于节点B对应的路径长度为0,即节点B拥有该资源,而节点C对应的路径长度为d(d>0),即节点C本身并不拥有该资源,需要从其他的节点,比如节点B处,获取并转发资源,因此,节点A通过向节点B发出请求,而非节点C,可以尽快获取相应的资源,既节省了时间,又有助于减少对带宽的占用。
在上述技术方案中,优选地,所述资源信息还包括:任一项资源的有效时间;以及在所述有效时间到期之前,重新发送所述资源信息。
在该技术方案中,通过设置有效时间,使得资源的拥有方按照协商(由于资源信息中包含该有效时间,相当于在发送方和接收方之间执行了协商)好的时间间隔或时间点(有效时间)来反复发送资源信息,以实现对资源信息的更新。
通过对资源信息的反复发送,相当于在资源信息的发送方和接收方之间维持了“心跳检测”,使得发生发送方断开连接或其他情况时,接收方能够及时了解到情况的发生,并尽快做出反应,比如删除该资源信息,或删除该项资源指向该发送方的链接指向信息。
在上述任一技术方案中,优选地,还包括:将所述资源信息添加至所述任一节点的FIB表中,并通过广播所述FIB表,以广播所述资源信息。
在该技术方案中,可以通过将资源信息添加至FIB表中,并直接发送FIB表,使得当存在多个兴趣时,仅需要发送一次FIB表即可,而无需多次分别发送每个兴趣对应的资源信息。
在上述任一技术方案中,优选地,所述任一项资源包括:资源数据和/或网络接口资源。
在上述任一技术方案中,优选地,还包括:获取对应于接收到的请求信息的资源数据,或利用所述网络接口资源执行所述请求信息;向所述请求信息的发送方返回对应于所述请求信息的资源数据,或利用所述网络接口资源执行所述请求信息后的结果数据。
在该技术方案中,资源数据可以为具体的数据或文件等,当某个节点请求该资源数据时,可以直接返回该资源数据。
资源数据还可以为网络接口资源,比如无线局域网络(如WIFI)接口资源、无线移动通信网络(如GPRS等2G网络、WCDMA等3G网络、LTE等4G网络等)接口资源,由于内容中心网络中可能仅存在部分节点具有上述网络接口资源,则其他节点可以通过向上述的部分节点发起请求,以共享网络接口资源。具体地,比如可以通过将需要执行的网络操作或需要访问的网络地址发送至上述的部分节点,以由这些节点执行该网络操作或访问该网络地址,并将操作结果或网络地址的链接内容返回请求方,从而完成以具有网络接口资源的节点为网络代理的操作过程。
内容中心网络中的每个节点,实际上就是一个或一簇通信设备,则本发明还提出了对应于上述数据通信方法的数据通信设备。
图2示出了根据本发明的一个实施例的数据通信设备的示意框图。
如图2所示,根据本发明的一个实施例的数据通信设备,位于内容中心网络中,所述数据通信设备200包括:信息生成单元202,用于针对所述数据通信设备200拥有的任一项资源,生成对应的资源信息,所述资源信息包括任一项资源的标识、链接指向信息和所述任一节点距离该资源的路径长度;信息发送单元204,用于向所述内容中心网络中的其他节点广播所述资源信息。
在该技术方案中,针对任一项资源的资源信息,添加了当前节点(即所述任一节点)与该资源之间的路径长度,即当前节点需要获取该资源时,所需要经历的转发次数。通过设置路径长度,使得接收到该资源信息的其他节点能够了解到当前节点与资源之间的距离,从而当需要获取该资源时,能够根据路径长度确定具体向哪个节点发起请求。由于当前节点拥有该资源,因而相应的资源信息中的路径长度即为0;其他节点(假定为节点A)若接收到当前节点(假定为节点B)和另一节点(假定为节点C)发送的资源信息时,由于节点B对应的路径长度为0,即节点B拥有该资源,而节点C对应的路径长度为d(d>0),即节点C本身并不拥有该资源,需要从其他的节点,比如节点B处,获取并转发资源,因此,节点A通过向节点B发出请求,而非节点C,可以尽快获取相应的资源,既节省了时间,又有助于减少对带宽的占用。
在上述技术方案中,优选地,所述资源信息还包括:任一项资源的有效时间,则所述信息发送单元204还用于:在所述有效时间到期之前,重新发送所述资源信息。
在该技术方案中,通过设置有效时间,使得资源的拥有方按照协商(由于资源信息中包含该有效时间,相当于在发送方和接收方之间执行了协商)好的时间间隔或时间点(有效时间)来反复发送资源信息,以实现对资源信息的更新。
通过对资源信息的反复发送,相当于在资源信息的发送方和接收方之间维持了“心跳检测”,使得发生发送方断开连接或其他情况时,接收方能够及时了解到情况的发生,并尽快做出反应,比如删除该资源信息,或删除该项资源指向该发送方的链接指向信息。
在上述任一技术方案中,优选地,还包括:表格编辑单元206,用于将所述资源信息添加至所述任一节点的FIB表中,并通过广播所述FIB表,以广播所述资源信息。
在该技术方案中,可以通过将资源信息添加至FIB表中,并直接发送FIB表,使得当存在多个兴趣时,仅需要发送一次FIB表即可,而无需多次分别发送每个兴趣对应的资源信息。
在上述任一技术方案中,优选地,还包括:所述任一项资源包括:资源数据和/或网络接口资源。
在上述任一技术方案中,优选地,还包括:请求处理单元208,用于获取对应于接收到的请求信息的资源数据,或利用所述网络接口资源执行所述请求信息;数据传输单元210,用于向所述请求信息的发送方返回对应于所述请求信息的资源数据,或利用所述网络接口资源执行所述请求信息后的结果数据。
在该技术方案中,资源数据可以为具体的数据或文件等,当某个节点请求该资源数据时,可以直接返回该资源数据。
资源数据还可以为网络接口资源,比如无线局域网络(如WIFI)接口资源、无线移动通信网络(如GPRS等2G网络、WCDMA等3G网络、LTE等4G网络等)接口资源,由于内容中心网络中可能仅存在部分节点具有上述网络接口资源,则其他节点可以通过向上述的部分节点发起请求,以共享网络接口资源。具体地,比如可以通过将需要执行的网络操作或需要访问的网络地址发送至上述的部分节点,以由这些节点执行该网络操作或访问该网络地址,并将操作结果或网络地址的链接内容返回请求方,从而完成以具有网络接口资源的节点为网络代理的操作过程。
二、没有资源的节点
图3示出了根据本发明的另一个实施例的数据通信方法的示意流程图。
如图3所示,根据本发明的另一个实施例的数据通信方法,包括:步骤302,内容中心网络中的任一节点接收来自其他节点的资源信息,所述资源信息包括至少一项资源的标识、指向所述其他节点的第一链接指向信息和所述其他节点距离该资源的路径长度;步骤304,存储所述资源信息。
在该技术方案中,针对任一项资源的资源信息,添加了当前节点(即所述任一节点)与该资源之间的路径长度,即当前节点需要获取该资源时,所需要经历的转发次数。通过设置路径长度,使得接收到该资源信息的节点(如数据通信设备)能够了解到当前节点与资源之间的距离,从而当需要获取该资源时,能够根据路径长度确定具体向哪个节点(当存在多个节点都发送了对应于同一资源的资源信息时)发起请求。
在上述技术方案中,优选地,还包括:当接收到指向同一项资源的多条资源信息时,选择并存储对应的路径长度最短的资源信息。
在该技术方案中,当接收到来自多个节点的、对应于同一项资源的资源信息时,通过对路径长度的比较,以便经由最短的路径长度,即可实现对资源的获取,有助于降低对带宽资源的占用,以及提高对资源的获取效率。
当然,如果存在多个资源信息中包含的路径长度相同且都最短,则可以同时存储所有的最短路径长度对应的资源信息,以便增强可靠性。
在上述任一技术方案中,优选地,所述资源信息还包括:所述至少一项资源的第一有效时间;以及所述任一节点在所述第一有效时间到期后仍未收到所述资源信息的更新信息时,删除所述资源信息。
在该技术方案中,通过设置有效时间,使得资源信息的发送方按照协商(由于资源信息中包含该有效时间,相当于在发送方和接收方之间执行了协商)好的时间间隔或时间点(有效时间)来反复发送资源信息,以实现对资源信息的更新。
通过对资源信息的反复发送,相当于在资源信息的发送方和接收方之间维持了“心跳检测”,使得发生发送方断开连接或其他情况时,接收方能够及时了解到情况的发生,并尽快做出反应,比如删除该资源信息,或删除该项资源指向该发送方的链接指向信息。
在上述任一技术方案中,优选地,还包括:所述任一节点将所述第一链接指向信息编辑为指向所述数据通信设备的第二链接指向信息,并将所述第一路径长度编辑为所述数据通信设备距离所述至少一项资源的第二路径长度,以得到编辑后的资源信息;所述任一节点向所述内容中心网络中的其余节点广播所述编辑后的资源信息。
在该技术方案中,由于节点之间的距离并不都相同,使得某个节点在发送了资源信息时,仅一部分节点能够接收到,而其他节点则无法接收到该资源信息;因而通过由接收到资源信息的节点再次发送资源信息,并经过多个层级之间的反复发送,使得整个网络中的所有节点都了解到该资源的存在。
一方面,通过编辑链接指向信息,使得每个接收到编辑后的资源信息的节点:仅需要关心该编辑后的资源信息的发送方即可,而无需了解资源的真正拥有者,即只需要向该编辑后的资源信息的发送方直接请求资源即可,无需关心其中经历的转发过程,有助于降低对资源请求方的要求;另一方面,通过编辑路径长度,使得每个接收到编辑后的资源信息的节点:能够了解到该编辑后的资源信息的发送方与资源之间的距离,以便在接收到多个资源信息时,能够从中做出选择,有助于降低带宽占用,提高资源的获取效率。
在上述任一技术方案中,优选地,还包括:所述任一节点接收来自所述其他节点的FIB表,所述编辑后的资源信息位于该FIB表中;以及将所述编辑后的资源信息添加至所述任一节点的FIB表中,并通过广播该FIB表,以广播所述编辑后的资源信息。
在该技术方案中,可以通过将资源信息添加至FIB表中,并直接发送FIB表,使得当存在多个兴趣时,仅需要发送一次FIB表即可,而无需多次分别发送每个兴趣对应的资源信息。
在上述任一技术方案中,优选地,所述编辑后的资源信息还包括:所述至少一项资源的第二有效时间;以及所述任一节点在所述第二有效时间到期之前,重新发送所述编辑后的资源信息。
在该技术方案中,通过设置有效时间,使得资源信息的发送方按照协商(由于资源信息中包含该有效时间,相当于在发送方和接收方之间执行了协商)好的时间间隔或时间点(有效时间)来反复发送资源信息,以实现对资源信息的更新。
通过对资源信息的反复发送,相当于在资源信息的发送方和接收方之间维持了“心跳检测”,使得发生发送方断开连接或其他情况时,接收方能够及时了解到情况的发生,并尽快做出反应,比如删除该资源信息,或删除该项资源指向该发送方的链接指向信息。
其中,第一有效时间和第二有效时间可以相同,也可以由节点根据实际情况而设置为不同,比如第二有效时间可以大于第一有效时间。
在上述任一技术方案中,优选地,所述至少一项资源包括:资源数据和/或网络接口资源。
在上述任一技术方案中,优选地,还包括:当接收到来自其余节点对所述至少一项资源的请求信息时,向所述其他节点转发所述请求信息,并将所述其他节点返回的相应数据转发至所述请求信息的发送方。
在该技术方案中,处于资源的请求方和资源的拥有者之间的节点,相当于两者之间的通信中继,通过对请求信息和相应的资源的转发,确保资源请求的顺利执行。
在上述任一技术方案中,优选地,所述返回的相应数据包括:对应于所述请求信息的资源数据,或利用所述网络接口资源执行所述请求信息后的结果数据。
在该技术方案中,资源数据可以为具体的数据或文件等,当某个节点请求该资源数据时,可以直接返回该资源数据。
资源数据还可以为网络接口资源,比如无线局域网络(如WIFI)接口资源、无线移动通信网络(如GPRS等2G网络、WCDMA等3G网络、LTE等4G网络等)接口资源,由于内容中心网络中可能仅存在部分节点具有上述网络接口资源,则其他节点可以通过向上述的部分节点发起请求,以共享网络接口资源。具体地,比如可以通过将需要执行的网络操作或需要访问的网络地址发送至上述的部分节点,以由这些节点执行该网络操作或访问该网络地址,并将操作结果或网络地址的链接内容返回请求方,从而完成以具有网络接口资源的节点为网络代理的操作过程。
类似地,本发明还提出了对应于上述数据通信方法的数据通信设备。
图4示出了根据本发明的另一个实施例的数据通信设备的示意框图。
如图4所示,根据本发明的另一个实施例的数据通信设备400,位于内容中心网络中,所述数据通信设备400包括:信息接收单元402,用于接收来自任一节点的资源信息,所述资源信息包括至少一项资源的标识、指向所述任一节点的第一链接指向信息和所述任一节点距离该资源的路径长度;信息存储单元404,用于存储所述资源信息。
在该技术方案中,针对任一项资源的资源信息,添加了当前节点(即所述任一节点)与该资源之间的路径长度,即当前节点需要获取该资源时,所需要经历的转发次数。通过设置路径长度,使得接收到该资源信息的节点(如数据通信设备)能够了解到当前节点与资源之间的距离,从而当需要获取该资源时,能够根据路径长度确定具体向哪个节点(当存在多个节点都发送了对应于同一资源的资源信息时)发起请求。
在上述技术方案中,优选地,还包括:信息选择单元406,用于在接收到指向同一项资源的多条资源信息的情况下,选择对应的路径长度最短的资源信息,以供所述信息存储单元404进行存储。
在该技术方案中,当接收到来自多个节点的、对应于同一项资源的资源信息时,通过对路径长度的比较,以便经由最短的路径长度,即可实现对资源的获取,有助于降低对带宽资源的占用,以及提高对资源的获取效率。
当然,如果存在多个资源信息中包含的路径长度相同且都最短,则可以同时存储所有的最短路径长度对应的资源信息,以便增强可靠性。
在上述任一技术方案中,优选地,所述资源信息还包括:所述至少一项资源的第一有效时间,以及所述数据通信设备400还包括:信息处理单元408,用于当所述信息接收单元402在所述第一有效时间到期后仍未收到所述资源信息的更新信息时,删除所述资源信息。
在该技术方案中,通过设置有效时间,使得资源信息的发送方按照协商(由于资源信息中包含该有效时间,相当于在发送方和接收方之间执行了协商)好的时间间隔或时间点(有效时间)来反复发送资源信息,以实现对资源信息的更新。
通过对资源信息的反复发送,相当于在资源信息的发送方和接收方之间维持了“心跳检测”,使得发生发送方断开连接或其他情况时,接收方能够及时了解到情况的发生,并尽快做出反应,比如删除该资源信息,或删除该项资源指向该发送方的链接指向信息。
在上述任一技术方案中,优选地,还包括:信息编辑单元410,用于将所述第一链接指向信息编辑为指向所述数据通信设备400的第二链接指向信息,并将所述第一路径长度编辑为所述数据通信设备400距离所述至少一项资源的第二路径长度,以得到编辑后的资源信息;信息发送单元412,用于向所述内容中心网络中的其余节点广播所述编辑后的资源信息。
在该技术方案中,由于节点之间的距离并不都相同,使得某个节点在发送了资源信息时,仅一部分节点能够接收到,而其他节点则无法接收到该资源信息;因而通过由接收到资源信息的节点再次发送资源信息,并经过多个层级之间的反复发送,使得整个网络中的所有节点都了解到该资源的存在。
一方面,通过编辑链接指向信息,使得每个接收到编辑后的资源信息的节点:仅需要关心该编辑后的资源信息的发送方即可,而无需了解资源的真正拥有者,即只需要向该编辑后的资源信息的发送方直接请求资源即可,无需关心其中经历的转发过程,有助于降低对资源请求方的要求;另一方面,通过编辑路径长度,使得每个接收到编辑后的资源信息的节点:能够了解到该编辑后的资源信息的发送方与资源之间的距离,以便在接收到多个资源信息时,能够从中做出选择,有助于降低带宽占用,提高资源的获取效率。
在上述任一技术方案中,优选地,所述信息接收单元402用于接收来自所述任一节点的FIB表,所述编辑后的资源信息位于该FIB表中;以及所述信息发送单元412还用于:将所述编辑后的资源信息添加至所述数据通信设备的FIB表中,并通过广播该FIB表,以广播所述编辑后的资源信息。
在该技术方案中,可以通过将资源信息添加至FIB表中,并直接发送FIB表,使得当存在多个兴趣时,仅需要发送一次FIB表即可,而无需多次分别发送每个兴趣对应的资源信息。
在上述任一技术方案中,优选地,所述编辑后的资源信息还包括:所述至少一项资源的第二有效时间;以及所述信息发送单元412还用于:在所述第二有效时间到期之前,重新发送所述编辑后的资源信息。
在该技术方案中,通过设置有效时间,使得资源信息的发送方按照协商(由于资源信息中包含该有效时间,相当于在发送方和接收方之间执行了协商)好的时间间隔或时间点(有效时间)来反复发送资源信息,以实现对资源信息的更新。
通过对资源信息的反复发送,相当于在资源信息的发送方和接收方之间维持了“心跳检测”,使得发生发送方断开连接或其他情况时,接收方能够及时了解到情况的发生,并尽快做出反应,比如删除该资源信息,或删除该项资源指向该发送方的链接指向信息。
其中,第一有效时间和第二有效时间可以相同,也可以由节点根据实际情况而设置为不同,比如第二有效时间可以大于第一有效时间。
在上述任一技术方案中,优选地,所述至少一项资源包括:资源数据和/或网络接口资源。
在上述任一技术方案中,优选地,所述信息接收单元402还用于:接收其他节点对所述至少一项资源的请求信息;所述信息发送单元412还用于:向所述任一节点转发所述请求信息,并将所述任一节点返回的相应数据转发至所述请求信息的发送方。
在该技术方案中,处于资源的请求方和资源的拥有者之间的节点,相当于两者之间的通信中继,通过对请求信息和相应的资源的转发,确保资源请求的顺利执行。
在上述任一技术方案中,优选地,所述返回的相应数据包括:对应于所述请求信息的资源数据,或利用所述网络接口资源执行所述请求信息后的结果数据。
在该技术方案中,资源数据可以为具体的数据或文件等,当某个节点请求该资源数据时,可以直接返回该资源数据。
资源数据还可以为网络接口资源,比如无线局域网络(如WIFI)接口资源、无线移动通信网络(如GPRS等2G网络、WCDMA等3G网络、LTE等4G网络等)接口资源,由于内容中心网络中可能仅存在部分节点具有上述网络接口资源,则其他节点可以通过向上述的部分节点发起请求,以共享网络接口资源。具体地,比如可以通过将需要执行的网络操作或需要访问的网络地址发送至上述的部分节点,以由这些节点执行该网络操作或访问该网络地址,并将操作结果或网络地址的链接内容返回请求方,从而完成以具有网络接口资源的节点为网络代理的操作过程。
图5示出了根据本发明的实施例的数据通信设备的功能结构示意图。
如图5所示,根据本发明的实施例的数据通信设备包括:路由模块、存储模块、兴趣请求模块、FIB更新模块等。其中,路由模块用于:广播和接收兴趣,并对接收到的信息或数据进行处理以供其他模块使用;存储模块用于:尽可能长久地在CS(Content Store,内容存储区)中缓存接收到的数据内容;兴趣追踪模块用于:在收到兴趣请求时,在PIT表中增加一条记录,以便查找或接收到与该兴趣匹配的数据时,及时返回给兴趣请求方;FIB更新模块用于:每隔一段时间更新FIB,并添加新的内容指向信息,并删除超过有效时间的表项,实现对有效内容的维护。
图6示出了根据本发明的一个实施例的网络节点之间的数据通信示意图。
如图6所示,在一个具体的实施例中,假定选取内容中心网络中的节点A、B、C和D,其中,每个节点分别维护一个自身的FIB表。
针对某项资源“1.mpg”,比如A和D拥有该资源,而B和C则没有该资源。
1)A将兴趣“1.mpg”添加至自身的FIB表中,并设置了Link指向自身。
2)当A对自身的FIB表进行广播时,使得B和C能够接收到,并更新自身的FIB表,即针对兴趣“1.mpg”,B和C分别在自身的FIB表中添加该兴趣以及相应的Link,即指向A。
3)B和C发送自身的FIB表,使得B在接收到C发送的FIB表时,了解到针对兴趣“1.mpg”,另一个Link为指向C,同理使得C在接收到B发送的FIB表时,了解到另一个Link为指向B。
4)D将兴趣“1.mpg”添加至自身的FIB表中,并设置了Link指向自身。
5)当D对自身的FIB表进行广播时,使得C能够接收到,并更新自身的FIB表,即针对兴趣“1.mpg”,C在自身的FIB表中添加该兴趣以及相应的Link,即指向D。
因此,针对兴趣“1.mpg”,B可以从A或C处获取该兴趣的资源,C可以从A、B或D处获取该兴趣的资源。
然而,由于每个节点都只关心接收到的FIB表,而FIB表中又没有具体标示出资源的实际位置,使得节点无法确定从哪个Link指向的路径是最便捷的,从而可能导致下述问题:
1、比如节点C在经由A或D时,可以一步就获取资源,而经由B时,则需要由B向A获取后,转发给C,即经过两步来获取资源。
2、B和C存在交叉获取资源,可能导致在B和C之间反复循环发送请求,造成无法真正获取资源。
为了解决上述问题,本发明引入了新的FIB表结构,具体地,图7示出了根据本发明的一个实施例的FIB表的结构示意图。
如图7所示,FIB表中每一项包含兴趣(或兴趣名)、Link、跳数(到达满足该兴趣的数据源经过的路径长度)和有效时间四个信息,其中跳数和有效时间是传统CCN网络的FIB表中没有的。当一个节点拥有某份内容并愿意分享时,它在自己的FIB表中添加一项,将内容名字作为兴趣名,Link指向自己,表示拥有这份内容。节点广播自己的FIB表,其邻居收到广播后,记下兴趣名,并Link指向广播者,存入自己的FIB表。当所有的节点都将想要分享的内容存入FIB表,那么一些次数的广播和更新,网络中就建立了一个关于这些内容的拓扑,每个节点都清楚在需要某份内容时,可以向哪个节点转发这个兴趣请求以获得内容。
通过对跳数的记载,使得当一个节点收到多个邻居发来的FIB表信息时,它只保留跳数最少的Link方向;其中,如果有多个Link方向都是跳数最少的,保留全部。这样每个节点在FIB表中保留的都是获得某兴趣目标数据路径最短的方向,一方面有助于减少对网络带宽的占用,另一方面则可以避免网络中出现多个节点在相同兴趣下循环Link,比如避免图6中的节点B和C之间的循环现象。
通过对有效时间的记载,FIB表中每个Link都含有有效时间信息,每个节点都定时广播自己的FIB表,如果超过了有效时间还没有收到某个Link指向节点发来的新FIB表,则删除这个Link。这样某个节点或某个连接断开后,带来的内容拓扑信息的变化一段时间后就可以被其他节点所感知。具体地,有效时间可以是广播FIB表间隔的2-3倍。
需要说明的是,资源的类型可以有很多种,比如可以为如图6和图7所示的资源数据,即诸如“1.mpg”的数据文件等,资源拥有者将视频文件名作为兴趣放入FIB表中,并定时广播。经过它邻居的几次广播和更新,网络中所有节点都会知道想得到这份资源应该向哪些节点发出请求,即Link到那些节点。任何想要这份资源的人发出兴趣请求,经过几次的转发,最终资源拥有者会收到这个请求并传回视频文件。在文件传回途中,每个节点都会被Cache模块缓存至CS中。
此外,还可以为网络接口资源,如WIFI接口、3G网络接口等。如果网络中只有一个或几个节点拥有3G上网资源,并想分享它,那么这些节点将“3G”作为兴趣名存入FIB表中并广播,其中“3G”被设为一个关键词,兴趣名只要拥有“3G”前缀,都将匹配“3G”。当一个节点需要Internet服务,如访问***主页,它会发出名为“3G/***.com”的兴趣请求,匹配FIB表中兴趣名为“3G”的表项,这个兴趣会被最终转发给拥有3G上网接口的节点(3G源)。3G源可以作为上网代理,访问***主页,并将页面传回给最初的上网请求者。
为了验证本发明下的内容中心网络的可行性和可靠性,本发明基于CCNx平台进行了模拟实验,模拟环境为如图8所示的6台虚拟机器构成的无线环境下的内容中心网络。相互连接的机器代表他们都可以收到对方广播的FIB表和发送的数据,以用来模拟无线环境中两台机器的距离足够近。A节点拥有内容,每个节点广播自己FIB表的时间间隔为1秒,有效时间为2秒。
第一个模拟实验中,取图8中A,B,C,D四个节点,D作为内容请求者,B和C作为路由负责转发兴趣请求和被送回的内容文件,即D有两条路径来获取内容文件。并且在A发出兴趣请求后,B,C节点每隔10秒会轮流从网络中断开,并且在断开5秒后恢复连接。统计不同总断开次数对D获得完整文件所需时间的影响,如图9所示,可以看出,路由断开对传输时间的影响很小,说明基于本发明的CCN网络是有弹性的,在网络环境变化时可以自动寻找一条可行路径并忽略断开的路径。
第二个模拟实验中,拓扑信息如图8所示,除A和C之外,B,D,E,F节点轮流加入内容请求者,并且各次实验中所有内容请求者会同时发出内容兴趣请求。统计请求者数量变化对开始请求30秒后,网络中数据总流量的变化,并对比CCN网络和基于IP的TCP传输协议。如图10所示,随着请求者数量增多,CCN网络的数据总流量的增长速度比TCP增长缓慢,这说明CCN网络的缓存可以有效减少数据通路的流量。
以上结合附图详细说明了本发明的技术方案,本发明提出了一种无线通信设备和一种无线通信方法,可以使得内容中心网络中的每个节点都只保留长度最短的资源路径,从而有助于避免对带宽资源的过多占用,并且加快节点对资源的获得。
本领域内的技术人员应明白,本发明的实施例可提供为方法、***、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(***)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。