用于在包括多个路由器的命名数据网络中对数据对象别名化的方法和计算机实现的系统技术方案

技术编号:10135429 阅读:191 留言:0更新日期:2014-06-16 14:41
本发明专利技术提供了用于(在命名数据网络中)对命名数据对象别名化和用于命名数据网络的实体(例如,命名数据网络的命名图)的系统、方法和计算机程序产品。在各种例子中,命名数据对象的别名化可以采用系统、方法和/或算法的形式在一个或多个命名数据网络中实现。在其它例子中,命名图可以采用系统、方法和/或算法的形式在一个或多个命名数据网络中实现。

【技术实现步骤摘要】
用于在包括多个路由器的命名数据网络中对数据对象别名化的方法和计算机实现的系统
本专利技术通常涉及(命名数据网络中)数据对象的别名化的领域。本专利技术通常还涉及用于命名数据网络的实体(例如,用于命名数据网络的命名图)的领域。在各种例子中,命名数据对象的别名化可以采用系统、方法和/或算法的形式在一个或多个命名数据网络中实现。在其它实例中,命名图可以采用系统、方法和/或算法的形式在一个或多个命名数据网络中实现。
技术介绍
在某些编程语言中提供别名化。这种别名化通常描述存储器中的数据位置可通过程序中的不同符号名称来访问的情形。因此,通过一个名称来修改数据隐式地修改了与所有别名化了的名称相关的值,这可能不是程序员所期望的。在某些关系型数据库中也提供别名化(例如,用于关系型数据库的替换名称、通过通信协议、主机名称和数据库实例的标识、用于远程系统上的单个关系型数据库的多个实体)。命名数据网络(在此有时也称为“NDN”)是请求(例如来自用户或代理)使用诸如例如字母数字字符的名称(相对于传统IP网络中的机器地址)被路由到数据实体(或数据对象)的范例。在NDN范例中,用户(或使用者)向数据生产者请求命名数据(这种请求有时称为“interest”)。根据请求中数据的名称,用户的请求通过一个或多个路由器(可能通过一个或多个NDN代理)向数据生产者转发。接着,数据生产者用所请求的数据进行响应。图1示出传统的命名数据网络体系结构100的例子。如该例子所示,用户101A、101B和101C通过代理105A、105B、105C、105D、105E、105F、105G和/或105H与生产者103A、103B和103C进行交互。仍参照图1,在各种实体之间的通信(例如,请求、响应、数据对象)(用实体间的实线表示)可以是双向的。另外,通信可以通过因特网、内部网、局域网、广域网和/或任意其它所期望的通信信道执行。应当注意,尽管图1示出各种实体进行通信,但应当理解,图1实际上是指由每个实体所拥有、租用、操作、使用、持有和/或控制的计算机系统等进行的通信。然而,在这种NDN体系结构100中,单个对象可用多种方式指代。在这一点,请求者(例如,用户、使用者、代理)可能并不明确地知道指定数据对象的名称。因此,数据对象路由可能使用不理想的路由来执行(例如,没有利用某些缓存器)。
技术实现思路
本专利技术通常涉及用于(在命名数据网络中)对命名数据对象别名化的系统、方法和计算机程序产品。本专利技术通常还涉及命名图(用于命名数据网络)的领域。在一个实施例中,提供一种在计算机系统网络中实现的方法,用于在包括多个路由器的命名数据网络中对数据对象别名化,其中,至少第一数据对象与至少第一别名相关联,该方法包括:由第一路由器检测对第一数据对象的至少一个命名数据对象请求的内容和对该命名数据对象请求的至少一个响应的内容;以及由第一路由器至少部分地根据该请求和该响应中的至少一个的所检测的内容隐式地学习第一别名。在另一个实施例中,提供一种在计算机系统网络中实现的方法,用于在包括多个路由器的命名数据网络中基于命名数据对象请求进行数据对象路由,该方法包括:在第一路由器处接收命名数据对象请求;由第一路由器确定由命名数据对象请求命名的数据对象是否在第一路由器的缓存器中;如果由命名数据对象请求命名的数据对象在第一路由器的缓存器中,则由第一路由器用该数据对象进行响应;如果由命名数据对象请求命名的数据对象不在第一路由器的缓存器中,则由第一路由器确定由与命名数据对象相关联的别名命名的数据对象的别名副本是否在第一路由器的缓存器中;如果由命名数据对象请求命名的数据对象不在第一路由器的缓存器中,并且由与命名数据对象相关联的别名命名的数据对象的别名副本在第一路由器的缓存器中,则由第一路由器用别名副本进行响应;如果由命名数据对象请求命名的数据对象不在第一路由器的缓存器中,并且由与命名数据对象相关联的别名命名的数据对象的别名副本不在第一路由器的缓存器中,则由第一路由器确定数据对象的别名副本第二路由器处的位置是否已知;如果由命名数据对象请求命名的数据对象不在第一路由器的缓存器中,并且由与命名数据对象相关联的别名命名的数据对象的别名副本不在第一路由器的缓存器中,并且数据对象的别名副本在第二路由器处的位置是已知的,则由第一路由器将命名数据对象请求向第二路由器的位置路由。在另一个实施例中,提供一种在计算机系统中实现的方法,用于在包括多个路由器的命名数据网络中访问数据对象,该方法包括:在第一路由器处接收命名数据对象请求,其标识第一数据对象;在第一路由器处接收命名图的至少一部分,其中,命名图标识相关数据对象,相关数据对象包括第一数据对象,命名图规定与所标识的相关数据对象的每一个对应的节点,每个节点表示在一个路由器处的位置;由第一路由器获取第一数据对象;当第一数据对象被获取时,由第一路由器至少部分地根据所接收的命名图获取至少一个另外的所标识的相关数据对象。在另一个实施例中,提供一种计算机可读存储介质,其有形地体现可由计算机执行的用于在包括多个路由器的命名数据网络中对数据对象别名化的程序指令,其中,至少第一数据对象与至少第一别名相关联,程序指令在执行时实现以下步骤:由第一路由器检测对第一数据对象的至少一个命名数据对象请求的内容和对该命名数据对象请求的至少一个响应的内容;以及由第一路由器至少部分地根据该请求和该响应中的至少一个的所检测的内容隐式地学习第一别名。在另一个实施例中,提供一种计算机可读存储介质,其有形地体现可由计算机执行的用于在包括多个路由器的命名数据网络中基于命名数据对象请求进行数据对象路由的程序指令,程序指令在执行时实现下列步骤:在第一路由器处接收命名数据对象请求;由第一路由器确定由命名数据对象请求命名的数据对象是否在第一路由器的缓存器中;如果由命名数据对象请求命名的数据对象在第一路由器的缓存器中,则由第一路由器用该数据对象进行响应;如果由命名数据对象请求命名的数据对象不在第一路由器的缓存器中,则由第一路由器确定由与命名数据对象相关联的别名命名的数据对象的别名副本是否在第一路由器的缓存器中;如果由命名数据对象请求命名的数据对象不在第一路由器的缓存器中,并且由与命名数据对象相关联的别名命名的数据对象的别名副本在第一路由器的缓存器中,则由第一路由器用别名副本进行响应;如果由命名数据对象请求命名的数据对象不在第一路由器的缓存器中,并且由与命名数据对象相关联的别名命名的数据对象的别名副本不在第一路由器的缓存器中,则由第一路由器确定数据对象的别名副本第二路由器处的位置是否已知;如果由命名数据对象请求命名的数据对象不在第一路由器的缓存器中,并且由与命名数据对象相关联的别名命名的数据对象的别名副本不在第一路由器的缓存器中,并且数据对象的别名副本在第二路由器处的位置是已知的,则由第一路由器将命名数据对象请求向第二路由器的位置路由。在另一个实施例中,提供一种计算机可读存储介质,其有形地体现可由计算机执行的用于在包括多个路由器的命名数据网络中访问数据对象的程序指令,程序指令在执行时实现下列步骤:在第一路由器处接收命名数据对象请求,其标识第一数据对象;在第一路由器处接收命名图的至少一部分,其中,命名图标识相关数据对象,相关数据对象包括第本文档来自技高网
...
用于在包括多个路由器的命名数据网络中对数据对象别名化的方法和计算机实现的系统

【技术保护点】
一种在计算机系统中实现的方法,用于在包括多个路由器的命名数据网络中对数据对象别名化,其中,所述数据对象中的至少第一数据对象与至少第一别名相关联,所述方法包括:由第一路由器检测对所述第一数据对象的至少一个命名数据对象请求的内容和对所述命名数据对象请求的至少一个响应的内容;以及由所述第一路由器至少部分地基于该请求和该响应中的至少一个的所检测的内容隐式地学习所述第一别名。

【技术特征摘要】
2012.12.06 US 13/707,120;2013.03.08 US 13/790,9621.一种在计算机系统中实现的方法,用于在包括多个路由器的命名数据网络中对数据对象别名化,其中,所述数据对象中的至少第一数据对象与至少第一别名相关联,所述方法包括:由第一路由器检测对所述第一数据对象的至少一个命名数据对象请求的内容和对所述命名数据对象请求的至少一个响应的内容,其中所述至少一个命名数据对象请求的内容包括名字,所述至少一个响应的内容包括所述名字的语义别名;以及由所述第一路由器至少部分地基于该请求和该响应中的至少一个的所检测的内容隐式地学习所述第一别名;其中所述隐式地学习基于与所检测的内容相关联的查询标准化;其中所述查询标准化将不同类型的查询标准化为标准数据名称;其中所述标准数据名称被所述命名数据网络的命名结构所规定。2.如权利要求1所述的方法,还包括:将所述第一数据对象与所述第一别名相关联。3.如权利要求2所述的方法,其中,所述相关联包括:向名称管理服务器注册所述第一别名。4.如权利要求2所述的方法,还包括:将所述第一别名向至少第二路由器传播。5.如权利要求1所述的方法,其中,所述请求和所述响应通过所述第一路由器来路由。6.如权利要求1所述的方法,其中,所述隐式地学习还基于确定与所检测的内容相关联的数据对象签名。7.一种在计算机系统网络中实现的方法,用于在包括多个路由器的命名数据网络中根据命名数据对象请求进行数据对象路由,所述方法包括:在第一路由器处接收所述命名数据对象请求;由所述第一路由器确定由所述命名数据对象请求命名的数据对象是否在所述第一路由器的缓存器中;如果由所述命名数据对象请求命名的数据对象在所述第一路由器的缓存器中,则由所述第一路由器用所述数据对象进行响应;如果由所述命名数据对象请求命名的数据对象不在所述第一路由器的缓存器中,则由所述第一路由器确定由与命名数据对象相关联的别名来命名的数据对象的别名副本是否在所述第一路由器的缓存器中;如果由所述命名数据对象请求命名的数据对象不在所述第一路由器的缓存器中,并且由与命名数据对象相关联的别名来命名的数据对象的别名副本在所述第一路由器的缓存器中,则由所述第一路由器用所述别名副本进行响应;如果由所述命名数据对象请求命名的数据对象不在所述第一路由器的缓存器中,并且由与命名数据对象相关联的别名来命名的数据对象的别名副本不在所述第一路由器的缓存器中,则由所述第一路由器确定所述数据对象的别名副本在第二路由器处的位置是否是已知的;以及如果由所述命名数据对象请求命名的数据对象不在所述第一路由器的缓存器中,并且由与命名数据对象相关联的别名来命名的数据对象的别名副本不在所述第一路由器的缓存器中,并且所述数据对象的别名副本在所述第二路由器处的位置是已知的,则由第一路由器将所述命名数据对象请求向所述第二路由器的位置路由。8.如权利要求7所述的方法,还包括:如果由所述命名数据对象请求命名的数据对象不在所述第一路由器的缓存器中,则由所述第一路由器确定由所述命名数据对象请求命名的数据对象在第三路由器处的位置是否是已知的;其中,如果由所述命名数据对象请求命名的数据对象在所述第三路由器处的位置是已知的,并且所述第三路由器的位置比所述第二路由器的位置更接近所述第一路由器,则:由所述第一路由器将所述命名数据对象请求向所述第三路由器的位置路由,而不是所述第二路由器的位置。9.一种在计算机系统中实现的方法,用于在包括多个路由器的命名数据网络中访问数据对象,所述方法包括:在第一路由器处接收标识第一数据对象的命名数据对象请求;在所述第一路由器处接收命名图的至少一部分,其中,所述命名图标识相关数据对象,所述相关数据对象包括所述第一数据对象,所述命名图规定与所标识的相关数据对象的每一个对应的节点,每个节点表示在一个路由器处的位置;由所述第一路由器获取所述第一数据对象;以及当所述第一数据对象被获取时,由所述第一路由器至少部分地基于所接收的命名图来获取至少一个另外的所标识的相关数据对象。10.如权利要求9所述的方法,其中,所述第一路由器接收整个命名图。11.如权利要求9所述的方法,还包括:由所述第一路由器至少部分地基于所接收的命名图来作出至少一个路由决策。12.一种计算机实现的系统,用于在包括多个路由器的命名数据网络中对数据对象别名化,所述系统包括:被配置为由第一路由器检测对第一数据对象的至少一个命名数据对象请求的内容和对所述命名数据对象请求的至少一个响应的内容的模块,其中所述至少一个命名数据对象请求的内容包括名字,所述至少一个响应的内容包括所述名字的语义别名;以及被配置为由所述第一路由器至少部分地基于该请求和该响应中的至少一个的所检测的内容隐式地学习第一别名的模块;其中所述隐式地学习基于与所检测的内容相关联的查询标准化;其中所述查询标准化将不同类型的查询标准化为标准数据名称;其中所述标准数据名称被所述命名数据网络的命名结构所规定。13.如权利要求12所述的系统,还包括:被配置为将所述第一数据对象与所述第一别名相关联的模块。14.如权利要求13所述的系统,其中,被配置为将所述第一数据对象与所述第一别名相关联的模块包括:被配置为向名称管理服务器注册所述第一别名的模块。15.如权利要求13所述的系统,还包括:被配置为向至少第二路由器传播所述第一别名的模块。16.如权利要求12所述的系统,其中,所述请求和所述响应通过所述第一路由器来路由。17.如权利要求12所述的系统,其中,隐式地学习还基于确定与所检测的内容相关联的数据对象签名。18.一种计算机实现的系统,用于在包括多个路由器的命名数据网络中对数据对象别名化,所述系统包括:被配置为在第一路由器接收命名数据对象请求的模块;被配...

【专利技术属性】
技术研发人员:R·B·迪尔麦格哈尼高凤晙李康源V·帕帕斯R·拉格哈文德拉宋旸
申请(专利权)人:国际商业机器公司
类型:发明
国别省市:美国;US

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1