CN102067562A - 用于使用覆盖网络对设备和服务进行代理的方法和装置 - Google Patents

用于使用覆盖网络对设备和服务进行代理的方法和装置 Download PDF

Info

Publication number
CN102067562A
CN102067562A CN2009801226869A CN200980122686A CN102067562A CN 102067562 A CN102067562 A CN 102067562A CN 2009801226869 A CN2009801226869 A CN 2009801226869A CN 200980122686 A CN200980122686 A CN 200980122686A CN 102067562 A CN102067562 A CN 102067562A
Authority
CN
China
Prior art keywords
data
equipment
service
index
overlay network
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2009801226869A
Other languages
English (en)
Other versions
CN102067562B (zh
Inventor
V·纳拉亚南
R·S·贾亚拉姆
L·R·东代蒂
E·T·L·哈迪
N·A·齐夫
R·苏布拉马尼安
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN102067562A publication Critical patent/CN102067562A/zh
Application granted granted Critical
Publication of CN102067562B publication Critical patent/CN102067562B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1091Interfacing with client-server systems or between P2P systems
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1087Peer-to-peer [P2P] networks using cross-functional networking aspects
    • H04L67/1093Some peer nodes performing special functions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/563Data redirection of data network streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1063Discovery through centralising entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1061Peer-to-peer [P2P] networks using node-based peer discovery mechanisms
    • H04L67/1065Discovery involving distributed pre-established resource-based relationships among peers, e.g. based on distributed hash tables [DHT] 

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computing Systems (AREA)
  • Computer And Data Communications (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本文公开了用于使用覆盖网络对设备和服务进行代理的方法和装置。一种用于对代理进行操作的方法包括:获得与设备和服务中的至少一个相关的元数据,生成该元数据的可搜索索引,并且在覆盖网络上将该可搜索索引公布为分布式索引和集中式索引中的至少一个。另一种方法包括:使用非覆盖协议从设备或服务接收要求从覆盖网络接收数据和服务中的至少一个的请求,基于该请求在覆盖网络上搜索元数据的索引,基于该索引识别出与数据和服务中的至少一个相关的节点,与该节点建立直接连接,并且使用该直接连接来获得数据和服务中的至少一个。

Description

用于使用覆盖网络对设备和服务进行代理的方法和装置
按照35U.S.C.§119的优先权要求
本专利申请要求2008年6月17日提交的、题目为“Methods and Apparatus for Interworking between IP Overlay Networks and non-IP Devices”的临时申请No.61/073,213的优先权,后者已被转让给本申请的受让人,并且通过引用将其明确并入本文中。
本专利申请要求2009年1月9日提交的、题目为“Proxying in Peer-to-Peer Networks”的临时申请No.61/143,704的优先权,后者已被转让给本申请的受让人,并且通过引用将其明确并入本文中。
技术领域
本申请总体上涉及覆盖网络(overlay network)的操作,并且更具体地,涉及用于使用覆盖网络对设备和服务进行代理的方法和装置。
背景技术
成员节点在缺少基于服务器的基础设施的情况下获得服务,这样的网络被称为“对等(peer-to-peer)”覆盖网络。在对等覆盖中,对等节点(peer node)互相合作,均用来提供服务并且维护网络。可以在诸如使用网际协议(IP)的网络这样的基础网络(underlying network)之上构建对等覆盖网络。
典型地,对等覆盖网络的节点在能力上互不相同,并且每个节点的能力可能随着时间变化。例如,在一个节点处可用的永久性存储的容量可能随着文件存储设备对文件进行存储和删除而不同。在另一个例子中,当将一个节点与主电源断开时,该节点处的电池电平随时间下降。
考虑无法加入对等覆盖网络的节点(因为它不支持该覆盖上使用的协议)。对于该节点(即,设备)来说,它仍然可能通过将对等覆盖网络中的另一个节点指定为代理而以受限的形式向对等覆盖网络提供服务或者从对等覆盖网络接收服务。代理节点代表被代理节点对覆盖网络的其它节点做出响应。这样,就该覆盖网络的其它节点而言,就好像代理节点正在提供被代理节点的服务。
通常,节点可以使用与在覆盖网络上使用的协议不兼容的非覆盖协议与其代理进行通信。代理用于将来自被代理节点的分组转发到该覆盖上的另一个节点,后者又将那些分组转发到使用同一个非覆盖协议的节点。因此,在传统系统中,代理用于允许使用同一个非覆盖协议的节点通过覆盖网络进行通信。然而,当前的系统并不允许在使用不同非覆盖协议的节点或者设备之间的通信。
因此,期望有一种简单的、有成本效益的机制,其用于允许在对等覆盖网络上对设备和服务进行代理,而不管所述设备或者服务是否使用非覆盖协议。
发明内容
提供了包含方法和装置的代理系统,其用于允许在对等覆盖网络上对设备和服务进行代理,而不管所述设备和服务是否使用非覆盖协议。
在一个方案中,提供了一种用于在对等覆盖网络中对代理进行操作的方法。该方法包括:获得与设备和服务中的至少一个相关的元数据,生成该元数据的可搜索索引,以及在覆盖网络上将该可搜索索引公布为分布式索引和集中式索引中的至少一个。
在一个方案中,提供了一种用于在对等覆盖网络中进行代理的装置。该装置包括:获得单元,用于获得与设备和服务中的至少一个相关的元数据;生成单元,用于生成该元数据的可搜索索引;以及公布单元,用于在覆盖网络上将该可搜索索引公布为分布式索引和集中式索引中的至少一个。
在一个方案中,提供了一种用于在对等覆盖网络中进行代理的装置。该装置包括:处理器,用于获得与设备和服务中的至少一个相关的元数据,并且生成该元数据的可搜索索引;以及收发机,用于在覆盖网络上将该可搜索索引公布为分布式索引和集中式索引中的至少一个。
在一个方案中,提供了用于在对等覆盖网络中进行代理的计算机程序产品。该计算机程序产品包括包含代码的计算机可读介质,这些代码可执行以用于:获得与设备和服务中的至少一个相关的元数据,生成该元数据的可搜索索引,以及在覆盖网络上将该可搜索索引公布为分布式索引和集中式索引中的至少一个。
在一个方案中,提供了一种用于在对等覆盖网络中对代理进行操作的方法。该方法包括:使用非覆盖协议从设备和服务中的至少一个接收要求从覆盖网络接收数据和服务中的至少一个的请求,基于该请求在覆盖网络上搜索元数据的索引,其中该索引是分布式索引和集中式索引中的至少一个,以及基于该索引识别出与数据和服务中的至少一个相关的节点。该方法还包括与该节点建立直接连接,以及使用该直接连接获得数据和服务中的至少一个。
在一个方案中,提供了一种用于在对等覆盖网络中对设备进行代理的装置。该装置包括:接收单元,用于使用非覆盖协议从设备和服务中的至少一个接收要求从覆盖网络接收数据和服务中的至少一个的请求;搜索单元,用于基于该请求在覆盖网络上搜索元数据的索引,其中该索引是分布式索引和集中式索引中的至少一个;以及识别单元,用于基于该索引识别出与数据和服务中的至少一个相关的节点。该装置还包括:用于与该节点建立直接连接的单元;以及用于使用该直接连接获得数据和服务中的至少一个的单元。
在一个方案中,提供了一种用于在对等覆盖网络中对设备进行代理的装置。该装置包括:收发机,用于使用非覆盖协议从设备和服务中的至少一个接收要求从覆盖网络接收数据和服务中的至少一个的请求。该装置还包括:处理器,用于基于该请求在覆盖网络上搜索元数据的索引,其中该索引是分布式索引和集中式索引中的至少一个,基于该索引识别出与数据和服务中的至少一个相关的节点,与该节点建立直接连接,以及使用该直接连接获得数据和服务中的至少一个。
在一个方案中,提供了一种用于在对等覆盖网络中对设备进行代理的计算机程序产品。该计算机程序产品包括包含代码的计算机可读介质,这些代码可执行以用于:使用非覆盖协议从设备和服务中的至少一个接收要求从覆盖网络接收数据和服务中的至少一个的请求,基于该请求在覆盖网络上搜索元数据的索引,其中该索引是分布式索引和集中式索引中的至少一个,基于该索引识别出与数据和服务中的至少一个相关的节点,与该节点建立直接连接,以及使用该直接连接获得数据和服务中的至少一个。
在阅读了下文所给出的附图说明、说明书和权利要求书之后,其它方案将变得显而易见。
附图说明
通过结合附图参考下面的说明书,本文的前述方案将变得更加显而易见,其中:
图1示出了网络,其说明了代理系统的方案;
图2示出了用于在代理系统的方案中使用的代理;
图3示出了用于在代理系统的方案中对代理进行操作的示例性方法;
图4示出了用于在代理系统的方案中对代理进行操作的示例性方法;
图5示出了在代理系统的方案中使用的代理;以及
图6示出了在代理系统的方案中使用的代理。
具体实施方式
下列说明描述了代理系统的方案,该代理系统用于允许在对等覆盖网络上对设备和服务进行代理,而不管所述设备和服务是否使用非覆盖协议。
图1示出了对等覆盖网络100,其说明了代理系统的方案。覆盖网络100使用诸如网际协议网络这样的基础网络112的基础设施,以允许该基础网络的节点子集102加入覆盖网络100。基础网络112可以包括任以数目或者类型的网络,例如WAN、LAN、无线网络或者任何其它类型的IP网络。在一个方案中,覆盖网络100是分布式哈希表(DHT)覆盖网络;然而,该代理系统也适合与其它类型的覆盖网络一起使用。
覆盖网络100包括第一代理(P1),其可用于使用覆盖协议在覆盖网络100上进行通信。设备(D1)耦合到第一代理(P1),并且使用第一非覆盖协议与该第一代理进行通信。例如,设备D1可以是诸如多媒体音乐/视频播放器这样的IP协议设备,或者是使用通用即插即用(UPnP)协议的设备。覆盖网络100还包括第二代理(P2),其可用于使用覆盖协议在覆盖网络100上进行通信。设备(D2)耦合到第二代理(P2),并且使用第二非覆盖协议与该第二代理进行通信。例如,设备D2可以是诸如蓝牙或者通用串行总线(USB)设备这样的非IP协议设备。覆盖网络100还包括第三设备(D3),其使用覆盖协议在覆盖网络上进行通信。设备D3可以是IP设备,其也作为路由节点工作在覆盖网络100上。还应该注意到,该代理系统可应用于对设备和服务都进行代理。例如,代理P1还可以对覆盖网络100上的服务进行代理。在一个实现中,所述服务与代理P1位于一处,并且可以应用下面所述的代理系统的各种方案,而只有很少或者没有修改,以便涵盖该配置或者拓扑。
元数据索引的生成
在代理系统工作期间,代理P1和P2用于生成与它们各自所代理的设备相关的元数据的可搜索索引。例如,代理P1用于生成表征关于设备D1及其所提供的服务的信息的元数据索引1。类似地,代理P2用于生成表征关于设备D2及其所提供的服务的信息的元数据索引2。因此,每个元数据索引都描述了相关设备提供的数据和/或服务。在一个方案中,代理P1和P2使用合适的非覆盖协议发起与它们各自的设备(D1和D2)的通信,以获得元数据。在另一个方案中,每个设备独立工作,以使用合适的非覆盖协议将其元数据发送或者以其它方式传送到其各自的代理。例如,每个代理(P1,P2)收听来自它们各自所代理的设备D1和D2的通告,以获得元数据。
元数据索引的公布
在生成元数据索引之后,代理P1和P2用于在覆盖网络上公布元数据索引,如104和106处所示。例如,将元数据索引公布为分布式索引,使得所述索引的一些部分被维持在覆盖网络100上的一个或多个节点处。在另一个方案中,在覆盖网络上的特定位置处将元数据索引公布为集中式索引。所公布的索引允许覆盖网络上的其它节点对元数据进行搜索。例如,设备D3可以执行对所公布的索引的搜索,以确定可以在覆盖网络上的何处找到所期望的数据。
搜索索引
在公布了元数据索引之后,覆盖网络100上的任何节点都可以搜索所述索引以找到所期望的数据或者服务。例如,设备D2将请求发送到代理P2,该请求要求进行针对数据、特定文件、或者特定服务的搜索。使用第二非覆盖协议发送该请求。代理P2使用覆盖网络协议在覆盖网络100上进行通信,以对所公布的元数据索引进行搜索,以寻找所期望的数据或者服务的位置。对于该例子,假定该搜索指示可以在设备D1处找到所期望的数据或者服务。代理P2使用第二非覆盖协议将该信息传送到设备D2。
建立连接以获得数据
在设备D2被告知了数据或者服务在覆盖网络上的位置之后,设备D2使用第二非覆盖协议与代理P2进行通信,以请求从设备D1获得数据或者服务。代理P2使用覆盖协议来发出与设备D1建立通信信道的请求108。该请求被在覆盖网络上进行路由(即,从一跳到另一跳),直到它到达代理P1。在代理P1和P2之间的一些协商之后,使用基础网络(在该例子中,IP网络)的服务在这两个代理之间建立直接通信信道110。
转换数据
一旦建立了通信信道110,代理P1和P2就使用合适的非覆盖协议与设备D1和D2进行通信。针对选定的数据文件或者服务的请求被设备D1进行处理,并且利用通信信道110以及代理P1和P2的用于在第一和第二非覆盖协议以及覆盖协议之间进行转换的服务,将所述数据或服务提供给设备D2。该转换的方案包括、但不限于:数据格式的转换、IP地址的修改、以及采取步骤以确保服务和数据标识符的唯一性。
在另一个方案中,设备D3使用覆盖协议在覆盖网络100上工作。设备D3以与代理P1和P2类似的方式来搜索索引,以发现由被代理到覆盖网络100上的设备所提供的数据或者服务的位置。随后,设备D3可以发出针对数据或者服务的请求,其被在覆盖网络上路由到合适的代理。随后,可以在设备D3和合适的代理之间建立通信信道,以帮助对期望的数据或者服务的访问。
因此,该代理系统用于提供一种高效的机制,其用于在对等覆盖网络上对不同的设备进行代理,而不管所述设备所使用的是否是非覆盖协议。
图2示出了在代理系统的方案中使用的代理200。例如,代理200适合于用作图1中所示的代理P1或者代理P2。代理200包括处理器202、存储器204、以及收发机206,其全部都耦合到数据总线208。应该注意到,代理200仅仅是一种实现,并且其它的实现也是可能的。
收发机206包括硬件和/或硬件执行的软件,其用于允许代理200使用覆盖协议与对等覆盖网络上的多个节点传送数据或者其它信息。例如,收发机206使用通信链路210与覆盖网络上的节点进行通信。收发机206还可用于使用通信链路210与覆盖网络上的另一个节点或设备建立直接通信链路。例如,该直接通信链路可以是基础IP网络基础设施所支持的TCP或者UDP连接。
收发机206还用于允许代理200使用非覆盖协议与一个或多个设备进行通信。例如,收发机206使用非覆盖协议以及通信链路212来与IP或者非IP设备进行通信。在一个方案中,所述设备包括、但不限于:多媒体设备、蓝牙设备、USB设备、以及任何其它类型的IP或者非IP设备。
存储模块204包括任何合适的存储设备,其可用于存储与一个或多个设备以及相关的数据或服务相关的被索引的元数据214。例如,元数据包括、但不限于:设备描述符、数据描述符、标题、作者、持续时间、数据速率、类型、带宽或者任何其它类型的信息。
存储器204还可用于存储包含一个或多个模块的代理模块216,该一个或多个模块包含指令或者代码,处理器202可执行这些指令或者代码,以执行本文所述的代理系统的功能。
在一个或多个方案中,处理器202包括以下中的至少一个:CPU、处理器、门阵列、硬件逻辑、存储元件、和/或硬件执行的软件。在一个方案中,处理器202用于执行代理模块216的代码,以控制代理200通过执行上述功能来在覆盖网络上对一个或多个设备进行代理。在本文档的另一个章节中提供了对代理200的操作的更详细说明。
在一个方案中,该代理系统包括一种计算机程序产品,其具有存储或者包含在机器可读介质上的一个或多个程序指令(“指令”)或者“代码”集。当这些代码由诸如处理器202这样的至少一个处理器执行时,它们的执行使得代理200提供本文所述的代理系统的功能。例如,机器可读介质包括软盘、CDROM、存储卡、FLASH存储设备、RAM、ROM、光盘或者任何其它类型的存储设备或者机器可读介质,其与代理200有接口。当执行时,所述代码集用于提供如本文所述的代理系统的方案。
图3示出了用于对代理进行操作以提供代理系统的方案的示例性方法300。为清楚起见,下面参考图2中所示的代理200对方法300进行描述。在一个方案中,处理器202执行代理模块216的一个或多个代码集,以控制代理200执行下面所述的功能。
在方框302处,从将要在覆盖网络上被代理的设备获得元数据。例如,处理器202使用该设备支持的非覆盖协议,通过收发机206和通信链路212与该设备进行通信。该设备提供关于它所提供或支持的数据或服务的类型的信息。在一个方案中,处理器202用于使用该设备所支持的非覆盖协议从该设备请求元数据信息。在另一个方案中,该设备将元数据信息通告或者以其它方式发送给代理200,而无需专门的请求。
在方框304处,为元数据编制索引。编制索引是这样一个处理过程,通过该过程,对数据进行收集、解析、并且以有助于快速和准确地取回信息的形式对其进行存储。在一个方案中,处理器202生成元数据的可搜索索引214,并且将其存储在存储器204中。
在方框306处,将元数据的可搜索索引公布在覆盖网络上。例如,处理器202使用收发机206和通信链路210在覆盖网络上公布元数据的可搜索索引214。在一个实现中,元数据的索引被公布为分布式索引,使得覆盖网络上的各个节点维持该索引的一个或多个部分,并且覆盖网络上的所有节点可以容易地搜索到该索引。在另一个实现中,元数据的索引被公布为集中式索引,使得覆盖网络上的所有节点可以容易地在覆盖网络上的特定位置处搜索到该索引。
在方框308处,接收要求获得数据或者服务的请求。例如,覆盖网络上的一个节点已经搜索了分布式元数据索引,并且确定被代理设备具有该节点期望接收到的数据。于是,该节点在该覆盖上发送要求获得该数据或者服务的请求。该请求被在覆盖网络上路由到支持该设备的代理。在这种情况下,由代理200使用通信链路210接收该请求。
在方框310处,使用该设备所支持的非覆盖协议将对数据或者服务的请求传递到被代理设备。例如,使用合适的非覆盖协议在链路212上将该请求发送到被代理设备。
在方框312处,该设备同意提供所请求的数据或者服务,并且请求该代理建立一条与请求节点的直接通信链路。例如,在代理200和覆盖网络上的节点或者覆盖网络上的其它代理之间建立直接连接。在一个方案中,基础网络基础设施用于建立直接连接。
在方框314处,使用该设备所支持的非覆盖协议,将所请求的数据或者服务从该设备发送到代理。随后,为了在覆盖网络上进行传输,代理对该数据进行转换,并且使用直接通信链路将该数据或者服务直接发送到请求节点。例如,代理200使用通信链路212和合适的非覆盖协议从被代理设备接收数据。随后,代理200对该数据进行转换,并且使用通信链路210在覆盖网络上对其进行发送。例如,处理器202执行数据和服务的转换,以提供合适的数据格式、IP地址的修改、以及服务和数据标识符的唯一性。
因此,方法300用于在代理处提供代理系统的方案。应该注意到,方法300仅仅是一种实现,并且可以在各种方案的范围内对方法300的操作进行重新安排或者以其它方式进行修改。因此,其它的实现也是可能的。
图4示出了在代理系统的方案中使用的、用来对代理进行操作的示例性方法400。为清楚起见,下面参考图2中所示的代理200对方法400进行描述。在一个方案中,处理器202执行代理模块216的一个或多个代码集,以控制代理200执行下面所述的功能。
在方框402处,使用非覆盖协议从设备或服务处接收要求在覆盖网络上搜索数据或服务的请求。例如,设备D2使用第二非覆盖协议将请求发送到代理P2。该请求是由收发机206在通信链路212上接收的,并且将其传递到处理器202。
在方框404处,响应于该请求,使用覆盖协议在覆盖网络上搜索索引。例如,代理P2使用覆盖协议在覆盖网络上搜索索引。在一个方案中,处理器202控制收发机206使用通信链路210在覆盖网络上搜索索引。在一个方案中,该索引是分布式索引和集中式索引中的至少一个。
在方框406处,识别出可以在覆盖网络上找到所期望的数据或服务的节点。在一个方案中,处理器202根据搜索确定设备D1可以提供所请求的数据或者服务。设备D1是可以通过代理P1访问的。在另一个方案中,所请求的数据或者服务看起来是在P1而不是D1上。也就是说,P1可以隐藏该数据或者服务在D1上的事实。
在方框408处,从代理P2发送针对所期望的数据或者服务的覆盖请求,并且将其通过覆盖网络路由到代理P1。在一个方案中,处理器202使用覆盖协议通过收发机206和通信链路210发送覆盖请求。
在方框410处,响应于该请求,在代理P2和代理P1之间建立直接通信链路。例如,处理器202和收发机206使用通信链路210和覆盖协议来协商使用基础网络基础设施的服务的直接连接。
在方框412处,代理P2获得所期望的数据或者服务,并且将其传递到设备D2。例如,该数据是由收发机206在直接通信链路210上接收的,并且将其传递到处理器202。处理器202对该数据或者服务进行转换,并且使用非覆盖协议将它们通过收发机206和通信链路212发送到设备D2。
因此,方法400用于在代理处提供代理系统的方案。应该注意到,方法400仅仅是一种实现,并且可以在各种方案的范围内对方法400的操作进行重新安排或者以其它方式进行修改。因此,其它的实现也是可能的。
图5示出了在代理系统的方案中使用的示例性代理500。例如,代理500适合于用作图2中所示的代理200。在一个方案中,代理500是由包括一个或多个模块的至少一个集成电路来实现的,所述模块用于提供如本文所述的对等覆盖网络代理系统的方案。例如,在一个方案中,每个模块包括硬件和/或硬件执行的软件。
代理500包括第一模块,其包括用于获得与设备或者服务相关的元数据的单元(502),在一个方案中,其包括处理器202。代理500还包括第二模块,其包括用于生成元数据的可搜索索引的单元(504),在一个方案中,其包括处理器202。代理500还包括第三模块,其包括用于在覆盖网络上将可搜索索引公布为分布式索引和集中式索引中的至少一个的单元(506),在一个方案中,其包括收发机206。
图6示出了在代理系统的方案中使用的示例性代理600。例如,代理600适合于用作图2中所示的代理200。在一个方案中,代理600是由包括一个或多个模块的至少一个集成电路来实现的,所述模块用于提供如本文所述的对等覆盖网络代理系统的方案。例如,在一个方案中,每个模块包括硬件和/或硬件执行的软件。
代理600包括第一模块,其包括用于使用非覆盖协议从设备和服务中的至少一个接收要求从覆盖网络接收数据和服务中的至少一个的请求的单元(602),在一个方案中,其包括收发机206。代理600还包括第二模块,其包括用于基于该请求在覆盖网络上搜索元数据的索引的单元(604),其中,该索引是分布式索引和集中式索引中的至少一个,在一个方案中,其包括处理器202。代理600还包括第三模块,其包括用于基于该索引识别出与数据和服务中的至少一个相关的节点的单元(606),在一个方案中,其包括处理器202。代理600还包括第四模块,其包括用于与该节点建立直接连接的单元(608),在一个方案中,其包括处理器202。代理600还包括第五模块,其包括用于使用直接连接获得数据和服务中的至少一个的单元(610),在一个方案中,其包括处理器202。
结合本文所公开的方案而描述的各种说明性的逻辑、逻辑块、模块及电路均可通过如下装置来实现或执行:通用处理器、数字信号处理器(DSP)、专用集成电路(ASIC)、现场可编程门阵列(FPGA)或其它可编程逻辑器件、分立门或晶体管逻辑、分立硬件部件或其任意组合,被设计用于执行本文所述的功能。通用处理器可以是微处理器,但替代地,处理器也可以是任何常规的处理器、控制器、微控制器或状态机。处理器也可被实现为计算设备的组合,例如,DSP与微处理器的组合、多个微处理器、一个或多个微处理器与DSP核心的结合、或任意其它此类配置。
结合本文所公开的方案而描述的方法或算法的步骤可直接具体实现在硬件中、在由处理器执行的软件模块中或在二者的组合中。软件模块可驻留在RAM存储器、闪速存储器、ROM存储器、EPROM存储器、EEPROM存储器、寄存器、硬盘、可移动磁盘、CD-ROM、或本领域中已知的任意其它形式的存储介质中。示例性存储介质耦合至处理器,以使处理器可从所述存储介质读取信息及向所述存储介质写入信息。替代地,存储介质可以是处理器的一个组成部分。处理器及存储介质可驻留在ASIC中。ASIC可驻留在无线通信设备中。替代地,处理器和存储介质可作为分立部件驻留在无线通信设备中。
提供了对所公开的方案的说明,以使本领域的任何技术人员都能够实现或者使用本发明。对这些方案的各种修改对于本领域的技术人员来说可以是显而易见的,并且可以将本文定义的一般性原理应用到其它方案,例如即时消息服务或者任何一般的无线数据通信应用,而不背离本发明的精神或者范围。因此,本发明并不是要被限制于本文所示的方案,而是要符合与本文所公开的原理和新颖特征相一致的最宽范围。词语“示例性的”在本文中专门用于表示“作为例子、实例或者说明”。本文描述为“示例性的”任何方案并不必然被解释为相比于其它方案是优选的或者有利的。
因此,虽然已经在本文中示出并描述了代理系统的方案,但是将意识到,可以对这些方案进行各种变更,而不背离它们的精神和本质特征。因此,本文的公开和说明是想要对在所附权利要求书中阐述的本发明的范围进行举例说明而不是进行限制。

Claims (56)

1.一种用于在对等覆盖网络中对代理进行操作的方法,所述方法包括:
获得与设备和服务中的至少一个相关的元数据;
生成所述元数据的可搜索索引;以及
在所述覆盖网络上将所述可搜索索引公布为分布式索引和集中式索引中的至少一个。
2.如权利要求1所述的方法,其中,所述获得包括:使用非覆盖协议从所述设备获得所述元数据。
3.如权利要求1所述的方法,其中,所述获得包括:查询所述设备以获得所述元数据。
4.如权利要求1所述的方法,其中,所述获得包括:收听来自所述设备的通告以获得所述元数据。
5.如权利要求1所述的方法,还包括:从节点接收要求从所述设备获得数据或者服务的请求,其中,所述请求是通过所述覆盖网络接收的。
6.如权利要求5所述的方法,还包括:
与所述节点建立直接连接;
与所述节点所代理的选定设备建立连接;以及
使用所述直接连接将所述数据或者服务提供给所述节点。
7.如权利要求6所述的方法,其中,所述提供包括:对所述数据的选定数据元素进行转换。
8.如权利要求7所述的方法,其中,所述选定设备是IP设备和非IP设备之一。
9.如权利要求1所述的方法,其中,所述设备是IP设备和非IP设备之一。
10.一种用于在对等覆盖网络中进行代理的装置,所述装置包括:
获得单元,用于获得与设备和服务中的至少一个相关的元数据;
生成单元,用于生成所述元数据的可搜索索引;以及
公布单元,用于在所述覆盖网络上将所述可搜索索引公布为分布式索引和集中式索引中的至少一个。
11.如权利要求10所述的装置,其中,所述获得单元包括:用于使用非覆盖协议从所述设备获得所述元数据的单元。
12.如权利要求10所述的装置,其中,所述获得单元包括:用于查询所述设备以获得所述元数据的单元。
13.如权利要求10所述的装置,其中,所述获得单元包括:用于收听来自所述设备的通告以获得所述元数据的单元。
14.如权利要求10所述的装置,还包括:用于从节点接收要求从所述设备获得数据或者服务的请求的单元,其中,所述请求是通过所述覆盖网络接收的。
15.如权利要求15所述的装置,还包括:
直接连接建立单元,用于与所述节点建立直接连接;
连接建立单元,用于与所述节点所代理的选定设备建立连接;以及
提供单元,用于使用所述直接连接将所述数据或者服务提供给所述节点。
16.如权利要求15所述的装置,其中,所述提供单元包括对所述数据的选定数据元素进行转换。
17.如权利要求16所述的装置,其中,所述选定设备是IP设备和非IP设备之一。
18.如权利要求10所述的装置,其中,所述设备是IP设备和非IP设备之一。
19.一种用于在对等覆盖网络中进行代理的装置,所述装置包括:
处理器,用于获得与设备和服务中的至少一个相关的元数据,并且生成所述元数据的可搜索索引;以及
收发机,用于在所述覆盖网络上将所述可搜索索引公布为分布式索引和集中式索引中的至少一个。
20.如权利要求19所述的装置,其中,所述处理器用于使用非覆盖协议从所述设备获得所述元数据。
21.如权利要求19所述的装置,其中,所述处理器用于查询所述设备以获得所述元数据。
22.如权利要求19所述的装置,其中,所述处理器用于收听来自所述设备的通告以获得所述元数据。
23.如权利要求19所述的装置,其中,所述处理器用于从节点接收要求从所述设备获得数据或者服务的请求,其中,所述请求是通过所述覆盖网络接收的。
24.如权利要求23所述的装置,其中,所述处理器用于:
与所述节点建立直接连接;
与所述节点所代理的选定设备建立连接;以及
使用所述直接连接将所述数据或者服务提供给所述节点。
25.如权利要求24所述的装置,其中,所述处理器用于对所述数据的选定数据元素进行转换。
26.如权利要求25所述的装置,其中,所述选定设备是IP设备和非IP设备之一。
27.如权利要求19所述的装置,其中,所述设备是IP设备和非IP设备之一。
28.一种用于在对等覆盖网络中进行代理的计算机程序产品,所述计算机程序产品包括:
包含代码的计算机可读介质,所述代码可执行以用于:
获得与设备和服务中的至少一个相关的元数据;
生成所述元数据的可搜索索引;以及
在所述覆盖网络上将所述可搜索索引公布为分布式索引和集中式索引中的至少一个。
29.如权利要求28所述的计算机可读介质,其中,所述代码用于使用非覆盖协议从所述设备获得所述元数据。
30.如权利要求28所述的计算机可读介质,其中,所述代码用于查询所述设备以获得所述元数据。
31.如权利要求28所述的计算机可读介质,其中,所述代码用于收听来自所述设备的通告以获得所述元数据。
32.如权利要求28所述的计算机可读介质,其中,所述代码用于从节点接收要求从所述设备获得数据或者服务的请求,其中,所述请求是通过所述覆盖网络接收的。
33.如权利要求32所述的计算机可读介质,其中,所述代码用于:
与所述节点建立直接连接;
与所述节点所代理的选定设备建立连接;以及
使用所述直接连接将所述数据或者服务提供给所述节点。
34.如权利要求33所述的计算机可读介质,其中,所述代码用于对所述数据的选定数据元素进行转换。
35.如权利要求34所述的计算机可读介质,其中,所述选定设备是IP设备和非IP设备之一。
36.如权利要求28所述的计算机可读介质,其中,所述设备是IP设备和非IP设备之一。
37.一种用于在对等覆盖网络中对代理进行操作的方法,所述方法包括:
使用非覆盖协议从设备和服务中的至少一个接收要求从所述覆盖网络接收数据和服务中的至少一个的请求;
基于所述请求在所述覆盖网络上搜索元数据的索引,其中,所述索引是分布式索引和集中式索引中的至少一个;
基于所述索引识别出与所述数据和服务中的至少一个相关的节点;
与所述节点建立直接连接;以及
使用所述直接连接获得所述数据和服务中的至少一个。
38.如权利要求37所述的方法,其中,所述建立包括:使用所述覆盖网络将针对所述数据和服务中的至少一个的覆盖请求发送到所述节点。
39.如权利要求37所述的方法,还包括:使用所述非覆盖协议将所述数据和服务中的至少一个发送到所述设备。
40.如权利要求39所述的方法,其中,所述发送包括:对所述数据和服务中的至少一个进行转换,以提供数据格式的转换、IP地址的修改、以及服务和数据标识符的唯一性。
41.如权利要求37所述的方法,其中,所述设备是IP设备和非IP设备之一。
42.一种用于在对等覆盖网络中对设备进行代理的装置,所述装置包括:
接收单元,用于使用非覆盖协议从设备和服务中的至少一个接收要求从所述覆盖网络接收数据和服务中的至少一个的请求;
搜索单元,用于基于所述请求在所述覆盖网络上搜索元数据的索引,其中,所述索引是分布式索引和集中式索引中的至少一个;
识别单元,用于基于所述索引识别出与所述数据和服务中的至少一个相关的节点;
建立单元,用于与所述节点建立直接连接;以及
获得单元,用于使用所述直接连接获得所述数据和服务中的至少一个。
43.如权利要求42所述的装置,其中,所述建立单元包括:用于使用所述覆盖网络将针对所述数据和服务中的至少一个的覆盖请求发送到所述节点的单元。
44.如权利要求42所述的装置,还包括:发送单元,用于使用所述非覆盖协议将所述数据和服务中的至少一个发送到所述设备。
45.如权利要求44所述的装置,其中,所述发送单元包括:用于对所述数据和服务中的至少一个进行转换以提供数据格式的转换、IP地址的修改、以及服务和数据标识符的唯一性的单元。
46.如权利要求42所述的装置,其中,所述设备是IP设备和非IP设备之一。
47.一种用于在对等覆盖网络中对设备进行代理的装置,所述装置包括:
收发机,用于使用非覆盖协议从设备和服务中的至少一个接收要求从所述覆盖网络接收数据和服务中的至少一个的请求;以及
处理器,用于:
基于所述请求在所述覆盖网络上搜索元数据的索引,其中,所述索引是分布式索引和集中式索引中的至少一个;
基于所述索引识别出与所述数据和服务中的至少一个相关的节点;
与所述节点建立直接连接;以及
使用所述直接连接获得所述数据和服务中的至少一个。
48.如权利要求47所述的装置,其中,所述处理器用于使用所述覆盖网络将针对所述数据和服务中的至少一个的覆盖请求发送到所述节点。
49.如权利要求47所述的装置,其中,所述收发机用于使用所述非覆盖协议将所述数据和服务中的至少一个发送到所述设备。
50.如权利要求47所述的装置,其中,所述处理器用于对所述数据和服务中的至少一个进行转换,以提供数据格式的转换、IP地址的修改、以及服务和数据标识符的唯一性。
51.如权利要求47所述的装置,其中,所述设备是IP设备和非IP设备之一。
52.一种用于在对等覆盖网络中对设备进行代理的计算机程序产品,所述计算机程序产品包括:
包含代码的计算机可读介质,所述代码可执行以用于:
使用非覆盖协议从设备和服务中的至少一个接收要求从所述覆盖网络接收数据和服务中的至少一个的请求;
基于所述请求在所述覆盖网络上搜索元数据的索引,其中,所述索引是分布式索引和集中式索引中的至少一个;
基于所述索引识别出与所述数据和服务中的至少一个相关的节点;
与所述节点建立直接连接;以及
使用所述直接连接获得所述数据和服务中的至少一个。
53.如权利要求52所述的计算机可读介质,其中,所述代码用于使用所述覆盖网络将针对所述数据和服务中的至少一个的覆盖请求发送到所述节点。
54.如权利要求52所述的计算机可读介质,其中,所述代码用于使用所述非覆盖协议将所述数据和服务中的至少一个发送到所述设备。
55.如权利要求52所述的计算机可读介质,其中,所述代码用于对所述数据和服务中的至少一个进行转换,以提供数据格式的转换、IP地址的修改、以及服务和数据标识符的唯一性。
56.如权利要求52所述的计算机可读介质,其中,所述设备是IP设备和非IP设备之一。
CN200980122686.9A 2008-06-17 2009-06-17 用于使用对等覆盖网络对设备和服务进行代理的方法和装置 Expired - Fee Related CN102067562B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US7321308P 2008-06-17 2008-06-17
US61/073,213 2008-06-17
US14370409P 2009-01-09 2009-01-09
US61/143,704 2009-01-09
US12/485,538 2009-06-16
US12/485,538 US8606967B2 (en) 2008-06-17 2009-06-16 Methods and apparatus for proxying of devices and services using overlay networks
PCT/US2009/047708 WO2009155376A1 (en) 2008-06-17 2009-06-17 Methods and apparatus for proxying of devices and services using overlay networks

Publications (2)

Publication Number Publication Date
CN102067562A true CN102067562A (zh) 2011-05-18
CN102067562B CN102067562B (zh) 2015-05-06

Family

ID=41415736

Family Applications (1)

Application Number Title Priority Date Filing Date
CN200980122686.9A Expired - Fee Related CN102067562B (zh) 2008-06-17 2009-06-17 用于使用对等覆盖网络对设备和服务进行代理的方法和装置

Country Status (9)

Country Link
US (1) US8606967B2 (zh)
EP (1) EP2294794A1 (zh)
JP (1) JP5335905B2 (zh)
KR (1) KR101192516B1 (zh)
CN (1) CN102067562B (zh)
CA (1) CA2727468A1 (zh)
RU (1) RU2011101375A (zh)
TW (1) TW201018160A (zh)
WO (1) WO2009155376A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023935A (zh) * 2011-09-23 2013-04-03 中兴通讯股份有限公司 M2m平台云系统及其处理m2m服务的方法
CN107113898A (zh) * 2015-01-19 2017-08-29 英特尔Ip公司 用于使用pc5协议的直接通信的系统、方法和设备

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101997759B (zh) * 2009-08-10 2013-06-05 中兴通讯股份有限公司 一种业务实现方法及业务系统
US8578011B2 (en) * 2010-06-15 2013-11-05 At&T Mobility Ii Llc Systems, methods, and computer program products for providing a remote non-IP-addressable device with an IP stack
EP2506162A1 (en) * 2011-03-31 2012-10-03 Itsystems AG Finding a data item of a plurality of data items stored in a digital data storage
US9348927B2 (en) 2012-05-07 2016-05-24 Smart Security Systems Llc Systems and methods for detecting, identifying and categorizing intermediate nodes
US10778659B2 (en) 2012-05-24 2020-09-15 Smart Security Systems Llc System and method for protecting communications
US9325676B2 (en) 2012-05-24 2016-04-26 Ip Ghoster, Inc. Systems and methods for protecting communications between nodes
US20140136671A1 (en) * 2012-11-14 2014-05-15 General Electric Company Device and method for aggregating services for use across networks using separate data format protocols
US9674819B2 (en) 2013-03-15 2017-06-06 Qualcomm Incorporated Systems and methods for sharing context information in a neighbor aware network
US10382595B2 (en) 2014-01-29 2019-08-13 Smart Security Systems Llc Systems and methods for protecting communications
US10079798B2 (en) 2015-10-23 2018-09-18 Inernational Business Machines Corporation Domain intercommunication in shared computing environments
US11194930B2 (en) 2018-04-27 2021-12-07 Datatrendz, Llc Unobtrusive systems and methods for collecting, processing and securing information transmitted over a network
US11621986B2 (en) * 2021-06-29 2023-04-04 Western Digital Technologies, Inc. Peer-to-peer media streaming from an edge data storage device to a browser
US11997364B2 (en) 2022-06-29 2024-05-28 Western Digital Technologies, Inc. Peer-to-peer data transfer for video on demand from an edge data storage device to a browser

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3983451B2 (ja) 2000-04-07 2007-09-26 シャープ株式会社 ディジタル信号のサンプリング周波数変換装置
JP3711866B2 (ja) * 2000-04-10 2005-11-02 日本電気株式会社 プラグアンドプレイ機能を有するフレームワークおよびその再構成方法
JP2003273937A (ja) 2002-03-19 2003-09-26 Hitachi Ltd サービスゲートウェイ装置
US20040066770A1 (en) 2002-10-07 2004-04-08 Pabla Kuldip Singh Method for communicating with a resource-constrained device on an edge of a network
US7769881B2 (en) 2003-01-24 2010-08-03 Hitachi, Ltd. Method and apparatus for peer-to peer access
WO2004110018A1 (en) 2003-06-04 2004-12-16 Sony Computer Entertainment, Inc. Content distribution overlay network for a peer to peer network
US8095500B2 (en) * 2003-06-13 2012-01-10 Brilliant Digital Entertainment, Inc. Methods and systems for searching content in distributed computing networks
US7474631B2 (en) 2005-01-13 2009-01-06 International Business Machines Corporation On-demand group communication services with quality of service (QoS) guarantees
CN100544261C (zh) 2005-12-20 2009-09-23 中国科学院声学研究所 一种基于网络信息的数据分布/获取方法
US20070250590A1 (en) * 2006-04-21 2007-10-25 Microsoft Corporation Ad-hoc proxy for discovery and retrieval of dynamic data such as a list of active devices
US8230098B2 (en) * 2006-05-10 2012-07-24 At&T Intellectual Property Ii, L.P. System and method for streaming media objects
JP4692414B2 (ja) 2006-06-29 2011-06-01 ブラザー工業株式会社 通信システム、コンテンツデータ送信可否決定方法、ノード装置、及びノード処理プログラム等

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023935A (zh) * 2011-09-23 2013-04-03 中兴通讯股份有限公司 M2m平台云系统及其处理m2m服务的方法
CN103023935B (zh) * 2011-09-23 2018-06-26 中兴通讯股份有限公司 M2m平台云系统及其处理m2m服务的方法
CN107113898A (zh) * 2015-01-19 2017-08-29 英特尔Ip公司 用于使用pc5协议的直接通信的系统、方法和设备
CN107113898B (zh) * 2015-01-19 2021-05-28 苹果公司 用于使用pc5协议的直接通信的系统、方法和设备
US11108754B2 (en) 2015-01-19 2021-08-31 Apple Inc. Systems, methods and devices for direct communication

Also Published As

Publication number Publication date
KR101192516B1 (ko) 2012-10-17
EP2294794A1 (en) 2011-03-16
KR20110022677A (ko) 2011-03-07
US8606967B2 (en) 2013-12-10
RU2011101375A (ru) 2012-07-27
CN102067562B (zh) 2015-05-06
TW201018160A (en) 2010-05-01
WO2009155376A1 (en) 2009-12-23
US20090313290A1 (en) 2009-12-17
JP5335905B2 (ja) 2013-11-06
JP2011524597A (ja) 2011-09-01
CA2727468A1 (en) 2009-12-23

Similar Documents

Publication Publication Date Title
CN102067562A (zh) 用于使用覆盖网络对设备和服务进行代理的方法和装置
CN102067525B (zh) 用于发现对等覆盖网络的方法和装置
Dannewitz Netinf: An information-centric design for the future internet
Jara et al. Extending the Internet of Things to the Future Internet through IPv6 support
US20080235358A1 (en) Proxy Device, Network System, and Communication Method
US8903972B2 (en) Method and apparatus for sharing contents using information of group change in content oriented network environment
CN1165851C (zh) 家庭网络中实现动态组网时的设备发现方法
JP2004506988A (ja) Havi及び他のインターネット動作装置での資源要求の転送
KR100896438B1 (ko) IPv6를 IPv4네트워크망으로 터널링하기 위한 시스템및 IPv6패킷 변환방법
US7693972B2 (en) Directory service in an automation system
KR20090022341A (ko) 유비쿼터스 웹서비스 게이트웨이 및 방법
JP2003208366A (ja) 機器統合のためのネットワーク構築装置
Yuan et al. A secure service discovery protocol for MANET
Moritz et al. Devices profile for web services in wireless sensor networks: Adaptations and enhancements
Ziegler et al. Scalable integration framework for heterogeneous smart objects, applications and services
JP2003067276A (ja) 異なるp2pファイル交換ネットワーク間の相互接続方法、および、p2pファイル交換ネットワークシステム
CN116782345A (zh) 通信方法、通信装置、存储介质与电子设备
CN108234325B (zh) 基于ip任播的系统及报文转发方法
EP1533976B1 (en) Apparatus and method for requesting service provided by network equipment
Moeller et al. Wireless networking services for implementation of ambient intelligence at home
WO2003023613A2 (en) Distributed service component systems
Feldbusch et al. The BTRC Bluetooth remote control system
JP2778505B2 (ja) 移動体対応ルータ
JP2003273937A (ja) サービスゲートウェイ装置
CN115623091B (zh) 一种实现网络互联互通和路由的转发方法和装置

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20150506

Termination date: 20190617