Methods and apparatus for discovery of peer-to-peer overlay networks
Abstract
Methods and apparatus for discovery of peer-to-peer overlay networks. In an aspect, a method includes receiving a request to discover information about overlay networks of interest, generating a search query that comprises at least one parameter associated with the overlay networks of interest, and transmitting the search query to nodes on a local area network. In another aspect, an apparatus includes a memory comprising an overlay database of meta-data associated with one or more known overlay networks and a processor coupled to the memory and configured to obtain a search query that comprises at least one parameter associated with overlay networks of interest, determine one or more selected overlay networks from the overlay database based on the at least one parameter, and transmit meta-data associated with the one or more selected overlay networks in response to the search query.
Term
No projected expiry on record.
- Priority
- Filed
- Published
- Today
62 claims: 18 independent, 44 dependent
- 1一種用於操作一節點以發現覆蓋網路的方法,該方法包括以下步驟:接收要求發現關於感興趣的覆蓋網路的資訊的一請求;產生包括與該感興趣的覆蓋網路相關的至少一個參數的一搜索查詢;以及將該搜索查詢發送到一區域網路上的節點。
- 2如請求項1之方法,其中該發送步驟包括執行以下步驟中的至少一個:將該搜索查詢單播、多播以及廣播到該區域網路上的節點。
- 3如請求項1之方法,其中該接收步驟包括以下步驟:從在該節點處執行的一應用程式接收該請求。
- 4如請求項1之方法,其中該至少一個參數包括以下中的至少一個:覆蓋網路名稱、內容類型參數、特定內容參數、服務品質參數、工作區域參數以及覆蓋網路類型參數。
- 5如請求項1之方法,還包括以下步驟:從該區域網路上的一或多個節點接收與該搜索查詢相匹配的覆蓋網路相關的資訊。
- 6如請求項5之方法,還包括以下步驟:將該與該搜索查詢相匹配的覆蓋網路相關的資訊傳遞到與該請求相關的一實體。
- 7一種經配置用於發現覆蓋網路的裝置,該裝置包括:接收構件,用於接收要求發現關於感興趣的覆蓋網路的資訊的一請求;產生構件,用於產生包括與該感興趣的覆蓋網路相關的至少一個參數的一搜索查詢;以及發送構件,用於將該搜索查詢發送到一區域網路上的節點。
- 8如請求項7之裝置,其中該發送構件包括用於執行以下操作中的至少一個的構件:將該搜索查詢單播、多播以及廣播到該區域網路上的節點。
- 9如請求項7之裝置,其中該接收構件包括:用於從在該節點處執行的一應用程式接收該請求的構件。
- 10如請求項7之裝置,其中該至少一個參數包括以下中的至少一個:覆蓋網路名稱、內容類型參數、特定內容參數、服務品質參數、工作區域參數以及覆蓋網路類型參數。
- 11如請求項7之裝置,還包括:用於從該區域網路上的一或多個節點接收與該搜索查詢相匹配的覆蓋網路相關的資訊的構件。
- 12如請求項11之裝置,還包括:用於將該與該搜索查詢相匹配的覆蓋網路相關的資訊傳遞到與該請求相關的一實體的構件。
- 13一種經配置用於發現覆蓋網路的裝置,該裝置包括:一處理器,經配置用於接收要求發現關於感興趣的覆蓋網路的資訊的一請求,並且產生包括與該感興趣的覆蓋網路相關的至少一個參數的一搜索查詢;以及一收發機,經配置用於將該搜索查詢發送到一區域網路上的節點。
- 14如請求項13之裝置,其中該收發機經配置用於執行以下操作中的至少一個:將該搜索查詢單播、多播以及廣播到該區域網路上的節點。
- 15如請求項13之裝置,其中該處理器經配置用於從在該節點處執行的一應用程式接收該請求。
- 16如請求項13之裝置,其中該至少一個參數包括以下中的至少一個:覆蓋網路名稱、內容類型參數、特定內容參數、服務品質參數、工作區域參數以及覆蓋網路類型參數。
- 17如請求項13之裝置,其中該處理器經配置用於從該區域網路上的一或多個節點接收與該搜索查詢相匹配的覆蓋網路相關的資訊。
- 18如請求項17之裝置,其中該處理器經配置用於將該與該搜索查詢相匹配的覆蓋網路相關的資訊傳遞到與該請求相關的一實體。
- 19一種用於發現覆蓋網路的電腦程式產品,該電腦程式產品包括:包含代碼的一電腦可讀取媒體,該代碼可執行以用於:接收要求發現關於感興趣的覆蓋網路的資訊的一請求;產生包括與該感興趣的覆蓋網路相關的至少一個參數的一搜索查詢;以及將該搜索查詢發送到一區域網路上的節點。
- 20如請求項19之電腦可讀取媒體,其中該等代碼用於執行以下操作中的至少一個:將該搜索查詢單播、多播以及廣播到該區域網路上的節點。
- 21如請求項19之電腦可讀取媒體,其中該等代碼用於從在該節點處執行的一應用程式接收該請求。
- 22如請求項19之電腦可讀取媒體,其中該至少一個參數包括以下中的至少一個:覆蓋網路名稱、內容類型參數、特定內容參數、服務品質參數、工作區域參數以及覆蓋網路類型參數。
- 23如請求項19之電腦可讀取媒體,其中該等代碼用於從該區域網路上的一或多個節點接收與該搜索查詢相匹配的覆蓋網路相關的資訊。
- 24如請求項23之電腦可讀取媒體,其中該等代碼用於將該與該搜索查詢相匹配的覆蓋網路相關的資訊傳遞到與該請求相關的一實體。
- 25一種用於操作一節點以發現覆蓋網路的方法,該方法包括以下步驟:維持與一或多個已知的覆蓋網路相關的元資料的一覆蓋資料庫;獲得包括與感興趣的覆蓋網路相關的至少一個參數的一搜索查詢;基於該至少一個參數從該覆蓋資料庫中確定一或多個所選擇的覆蓋網路;以及回應於該搜索查詢,發送與該一或多個所選擇的覆蓋網路相關的元資料。
- 26如請求項25之方法,其中該獲得步驟包括以下步驟:在一區域網路上的一單播、多播和廣播傳輸的至少一個中接收該搜索查詢。
- 27如請求項26之方法,其中該發送步驟包括以下步驟:將與該一或多個所選擇的覆蓋網路相關的元資料發送到該區域網路上產生該搜索查詢的一節點。
- 28如請求項25之方法,其中該獲得步驟包括以下步驟:在該節點處產生該搜索查詢。
- 29如請求項28之方法,其中該發送步驟包括以下步驟:將與該一或多個所選擇的覆蓋網路相關的元資料發送到發起該搜索查詢的一本地實體。
- 30如請求項25之方法,其中該確定步驟包括以下步驟:藉由將該至少一個參數與在該覆蓋資料庫中維持的元資料進行匹配來確定該一或多個所選擇的覆蓋網路。
- 31如請求項25之方法,其中該至少一個參數包括以下中的至少一個:覆蓋網路名稱、內容類型參數、特定內容參數、服務品質參數、工作區域參數以及覆蓋網路類型參數。
- 32如請求項25之方法,其中該維持步驟包括以下步驟:用與新發現的覆蓋網路相關的元資料對該覆蓋資料庫進行更新。
- 33一種經配置用於發現覆蓋網路的裝置,該裝置包括:維持構件,用於維持與一或多個已知的覆蓋網路相關的元資料的一覆蓋資料庫;獲得構件,用於獲得包括與感興趣的覆蓋網路相關的至少一個參數的一搜索查詢;確定構件,用於基於該至少一個參數從該覆蓋資料庫中確定一或多個所選擇的覆蓋網路;以及發送構件,用於回應於該搜索查詢,發送與該一或多個所選擇的覆蓋網路相關的元資料。
- 34如請求項33之裝置,其中該獲得構件包括:用於在一區域網路上的一單播、多播和廣播傳輸的至少一個中接收該搜索查詢的構件。
- 35如請求項34之裝置,其中該發送構件包括:用於將與該一或多個所選擇的覆蓋網路相關的元資料發送到該區域網路上產生該搜索查詢的一節點的構件。
- 36如請求項33之裝置,其中該獲得構件包括:用於在該節點處產生該搜索查詢的構件。
- 37如請求項36之裝置,其中該發送構件包括:用於將與該一或多個所選擇的覆蓋網路相關的元資料發送到發起該搜索查詢的一本地實體的構件。
- 38如請求項33之裝置,其中該確定構件包括:用於藉由將該至少一個參數與在該覆蓋資料庫中維持的元資料進行匹配來確定該一或多個所選擇的覆蓋網路的構件。
- 39如請求項33之裝置,其中該至少一個參數包括以下中的至少一個:覆蓋網路名稱、內容類型參數、特定內容參數、服務品質參數、工作區域參數以及覆蓋網路類型參數。
- 40如請求項33之裝置,其中該維持構件包括:用於使用與新發現的覆蓋網路相關的元資料對該覆蓋資料庫進行更新的構件。
- 41一種經配置用於發現覆蓋網路的裝置,該裝置包括:一記憶體,其包括與一或多個已知的覆蓋網路相關的元資料的一覆蓋資料庫;以及一處理器,其耦合到該記憶體,並且配置用用於:獲得包括與感興趣的覆蓋網路相關的至少一個參數的一搜索查詢;基於該至少一個參數從該覆蓋資料庫中確定一或多個所選擇的覆蓋網路;以及回應於該搜索查詢,發送與該一或多個所選擇的覆蓋網路相關的元資料。
- 42如請求項41之裝置,其中該處理器配置用用於在一區域網路上的一單播、多播和廣播傳輸的至少一個中接收該搜索查詢。
- 43如請求項42之裝置,其中該處理器配置用用於將與該一或多個所選擇的覆蓋網路相關的元資料發送到該區域網路上產生該搜索查詢的一節點。
- 44如請求項41之裝置,其中該處理器經配置用於在該節點處本地產生該搜索查詢。
- 45如請求項44之裝置,其中該處理器經配置用於將與該一或多個所選擇的覆蓋網路相關的元資料發送到發起該搜索查詢的一本地實體。
- 46如請求項41之裝置,其中該處理器經配置用於藉由將該至少一個參數與在該覆蓋資料庫中維持的元資料進行匹配來確定該一或多個所選擇的覆蓋網路。
- 47如請求項41之裝置,其中該至少一個參數包括以下中的至少一個:覆蓋網路名稱、內容類型參數、特定內容參數、服務品質參數、工作區域參數以及覆蓋網路類型參數。
- 48如請求項41之裝置,其中該處理器經配置用於使用與新發現的覆蓋網路相關的元資料對該覆蓋資料庫進行更新。
- 49一種用於發現覆蓋網路的電腦程式產品,該電腦程式產品包括:包含代碼的一電腦可讀取媒體,該代碼可執行以用於:維持與一或多個已知的覆蓋網路相關的元資料的一覆蓋資料庫;獲得包括與感興趣的覆蓋網路相關的至少一個參數的一搜索查詢;基於該至少一個參數從該覆蓋資料庫中確定一或多個所選擇的覆蓋網路;以及回應於該搜索查詢,發送與該一或多個所選擇的覆蓋網路相關的元資料。
- 50如請求項49之電腦可讀取媒體,其中該等代碼用於在一區域網路上的一單播、多播和廣播傳輸的至少一個中接收該搜索查詢。
- 51如請求項50之電腦可讀取媒體,其中該等代碼用於將與該一或多個所選擇的覆蓋網路相關的元資料發送到該區域網路上產生該搜索查詢的一節點。
- 52如請求項49之電腦可讀取媒體,其中該等代碼用於在該節點處本地產生該搜索查詢。
- 53如請求項52之電腦可讀取媒體,其中該等代碼用於將與該一或多個所選擇的覆蓋網路相關的元資料發送到發起該搜索查詢的一本地實體。
- 54如請求項49之電腦可讀取媒體,其中該等代碼用於藉由將該至少一個參數與在該覆蓋資料庫中維持的元資料進行匹配來確定該一或多個所選擇的覆蓋網路。
- 55如請求項49之電腦可讀取媒體,其中該至少一個參數包括以下中的至少一個:覆蓋網路名稱、內容類型參數、特定內容參數、服務品質參數、工作區域參數和覆蓋網路類型參數。
- 56如請求項49之電腦可讀取媒體,其中該等代碼用於使用與新發現的覆蓋網路相關的元資料對該覆蓋資料庫進行更新。
- 57一種用於操作一節點以對覆蓋網路進行通告的方法,該方法包括以下步驟:維持與一或多個已知的覆蓋網路相關的元資料的一覆蓋資料庫;以及在一區域網路上、在一或多個通告中發送與該一或多個已知的覆蓋網路相關的元資料。
- 58如請求項57之方法,其中該發送步驟包括以下步驟:在該區域網路上的一單播、多播和廣播傳輸的至少一個中發送該一或多個通告。
- 59一種經配置用於操作一節點以對覆蓋網路進行通告的裝置,該裝置包括:維持構件,用於維持與一或多個已知的覆蓋網路相關的元資料的一覆蓋資料庫;以及發送構件,用於在一區域網路上、在一或多個通告中發送與該一或多個已知的覆蓋網路相關的元資料。
- 60如請求項59之裝置,其中該發送構件包括:用於在該區域網路上的一單播、多播和廣播傳輸的至少一個中發送該一或多個通告的構件。
- 61一種經配置用於操作一節點以對覆蓋網路進行通告的裝置,該裝置包括:一處理器,經配置用於維持與一或多個已知的覆蓋網路相關的元資料的一覆蓋資料庫;以及一收發機,經配置用於在一區域網路上、在一或多個通告中發送與該一或多個已知的覆蓋網路相關的元資料。
- 62如請求項61之裝置,其中該收發機經配置用於在該區域網路上的一單播、多播和廣播傳輸的至少一個中發送該一或多個通告。
Independent claims62
84 paragraphs, as filed
Method and device for discovering peer-to-peer overlay network
Priority claim in accordance with the patent law
This patent application requests the priority of provisional application No. 61/073,325 filed on June 17, 2008 named "Methods and Apparatus for Discovering Overlay Networks", which has been assigned to the assignee of this application, and It is expressly incorporated herein by reference.
The present application generally relates to the operation of an overlay network, and more specifically, to a method and apparatus for discovering a peer-to-peer overlay network.
Member nodes obtain services without a server-based infrastructure. Such a network is referred to as a "peer-to-peer" overlay network in this article. In peer-to-peer coverage, peer nodes cooperate with each other to provide services and maintain the network. A peer-to-peer overlay network can be built on top of an underlying network such as a network using Internet Protocol (IP).
For a node to join a peer-to-peer overlay network, it must discover the names of existing overlay networks and metadata related to these overlay networks. Typically, the metadata includes the IP address of the "introducer" node (which can help the joining node to join a specific overlay network).
There are several traditional methods used to solve the overlay network discovery problem. Nodes can use out-of-band mechanisms like web search to find the names of available overlay networks. Next, the node can use the functional variable name service (DNS) to resolve any discovered overlay network names to find the Internet Protocol (IP) address of the leader node. In the second method, the conventional super overlay network is used. Any node that wants to discover other overlay networks joins the super overlay network, and queries the nodes in the super overlay network for information about other overlay networks. However, these technologies are inefficient, and it is difficult to find nodes and join a specific overlay network.
Therefore, it is desirable to have a simple and cost-effective mechanism for allowing nodes to discover peer-to-peer overlay networks.
In one or more aspects, a peer-to-peer overlay network discovery system including methods and devices is provided, which is used to allow nodes to discover peer-to-peer overlay networks. In various aspects, the system is used to allow nodes to use local area transmission mechanisms such as IP multicast to discover information related to the overlay network collected by other nodes in the local area. The node can then use this information to join a specific overlay network.
In one aspect, a method for operating nodes to discover overlay networks is provided. The method includes: receiving a request for discovering information about the overlay network of interest, generating a search query including at least one parameter related to the overlay network of interest, and sending the search query to a node on the local area network.
In one aspect, a device for discovering an overlay network is provided. The device includes: a receiving component for receiving a request for discovering information about the overlay network of interest; a generating component for generating a search query including at least one parameter related to the overlay network of interest: and a sending component , Used to send search queries to nodes on the local network.
In one aspect, a device for discovering an overlay network is provided. The device includes: a processor configured to receive a request for discovering information about the overlay network of interest, and generate a search query including at least one parameter related to the overlay network of interest; and a transceiver, The configuration is used to send search queries to nodes on the local network.
In one aspect, a computer program product for discovering overlay networks is provided. The computer program product includes a computer readable medium containing codes that are executable to: receive a request for discovering information about the overlay network of interest, and generate at least one related to the overlay network of interest Parameter search query, and send the search query to the node on the local network.
In one aspect, a method for operating nodes to discover overlay networks is provided. The method includes: maintaining an overlay database of metadata related to one or more known overlay networks, obtaining a search query including at least one parameter related to the overlay network of interest, and obtaining a search query from the overlay based on the at least one parameter Identify one or more selected coverage networks in the database, and send metadata related to the one or more selected coverage networks in response to search queries.
In one aspect, a device for discovering an overlay network is provided. The device includes: a maintaining component for maintaining an overlay database of metadata related to one or more known overlay networks; an obtaining component for obtaining data including at least one parameter related to the overlay network of interest Search query; determining component for determining one or more selected overlay networks from the coverage database based on the at least one parameter; and sending component for sending and sending one or more selected overlay networks in response to the search query Metadata related to the road.
In one aspect, a device for discovering an overlay network is provided. The device includes: a memory, which includes an overlay database of metadata related to one or more known overlay networks; and a processor, which is coupled to the memory and is configured to obtain information including and of interest A search query for at least one parameter related to an overlay network, based on the at least one parameter, one or more selected overlay networks are determined from the overlay database, and in response to the search query, the one or more selected overlay networks are sent Related metadata.
In one aspect, a computer program product for discovering overlay networks is provided. The computer program product includes a computer readable medium containing codes that are executable to: maintain an overlay database of metadata related to one or more known overlay networks, and obtain coverage data that includes and interest A search query for at least one parameter related to the network, based on the at least one parameter, determine one or more selected coverage networks from the coverage database, and in response to the search query, send information related to the one or more selected coverage networks Metadata for.
After reading the description of the drawings, the specification and the scope of patent application given below, other aspects will become apparent.
The following description describes the appearance of the peer-to-peer overlay network discovery system, which is used to allow nodes to discover peer-to-peer overlay networks. The system works so that nodes wishing to find existing peer-to-peer overlay networks send "coverage search" queries on their local networks. The query includes one or more attributes (or parameters) that identify the type of overlay network that the node is interested in. In one implementation, the coverage search query can be sent to a conventional IP multicast or broadcast address. The nodes on the local area network are used to record the overlay networks they are aware of and the metadata related to these overlay networks. When they receive an overlay search query, they respond with information about the overlay network they know that matches the search criteria. In this way, the requesting node can efficiently discover interesting overlay networks from other nodes in its local area.
Figure 1 illustrates a network 100, which illustrates the appearance of a peer-to-peer overlay network discovery system. The network 100 includes a basic network 102, which includes any type of network such as an Internet protocol network. Although the basic network 102 is represented as a single entity, the basic network may include any number or types of networks, such as WAN, LAN, wireless network, or any other type of network.
The basic network includes multiple peer-to-peer overlay networks (104, 106, and 108). The peer-to-peer overlay networks 104, 106, and 108 each include a subset of the nodes of the basic network 102, and use the services of the basic network 102 to work to allow those nodes to communicate. For example, in the peer-to-peer overlay networks 104, 106, and 108, nodes are connected through the communication links provided by the basic network 102 to form a desired routing path. It should also be noted that the peer-to-peer overlay networks 104, 106, and 108 can have any topology or architecture that supports any routing configuration, and are not limited to the configuration shown in FIG. 1.
The basic network 102 also includes a local area network shown generally at 110 and including a plurality of nodes. The nodes of the local area network 110 can be used to communicate with other nodes on the network 102 and with each other using unicast, multicast, or broadcast transmission. For example, the node 112 that is part of the local area network 110 may multicast or broadcast the message to other nodes in the local area network 110.
According to the coverage discovery system, the nodes of the local area network 110 include a discovery processor (DP) 114. For the purpose of this description, the DP 114 is illustrated at the node 112; however, it will also be assumed that the DP 114 is also available at other nodes of the local area network 110. The DP 114 is used to store information and metadata about the overlay network that its related nodes are aware of during their work on the network 102. For example, the information includes, but is not limited to, the overlay name, the IP address of the node, the IP address of the leader node, and/or other metadata related to the overlay network known on the network 102. During the operation of the nodes of the local network 110, the information is obtained while performing message routing or other tasks. Save this information at DP 114 for later use.
In one aspect, the discovery processors located at the nodes of the local area network 110 automatically advertise their respective information about known overlay networks. In this way, the DP 114 working at the node 112 can listen to these announcements to be aware of one or more overlay networks.
In another aspect, in response to a request (e.g., issued by an application running at node 112), DP 114 generates an overlay search query and sends it on the local area network 110 to obtain information related to the search Information about the overlay network that matches the parameters in the query. The query includes one or more attributes or parameters that identify the type of coverage that node 112 is interested in. For example, the search query includes one or more of the following parameters, but is not limited to these parameters.
1. Overwrite name
2. Content type
3. Specific content
4. Quality of Service (QoS) parameters
5. Cover the working area
6. Override network type parameters
In one aspect, the coverage search query can be sent to a conventional IP multicast or broadcast address, or it can be sent to a well-defined coverage discovery service instance. In the latter case, first use any known service discovery contract to discover the service instance. In either case, the DP 114 working at the nodes on the local area network 110 records the overlay networks they are aware of and metadata related to these overlay networks. When they receive an overlay search query, they respond with information about the overlay network they know that matches the search criteria. A more detailed description of the operation of the DP 114 is provided below. Therefore, a peer-to-peer overlay network discovery system is used to allow nodes to discover interesting peer-to-peer overlay networks.
FIG. 2 illustrates an exemplary discovery processor 200 for use at a node in the aspect of a peer-to-peer coverage discovery system. For example, the discovery processor 200 is suitable for use as the discovery processor 114 shown in FIG. 1. It is found that the processor 200 includes a processor 202, a memory 204, and a transceiver 206, all of which are coupled to the data bus 208. It should be noted that the processor 200 is found to be only one implementation, and other implementations are also possible within the scope of these aspects.
The transceiver 206 includes hardware and/or software executed by the hardware, which is used to allow the discovery processor 200 to transmit data or other information to multiple nodes on the network. In one aspect, the transceiver 206 can be used to send search queries using unicast, multicast, or broadcast transmission over the local area network. The transceiver 206 can also be used to send or listen to announcements on the local network, or to receive messages in response to sent search queries.
The memory 204 includes any suitable memory device that can be used to store the overlay database 212, which contains information (ie, element material).
The memory 204 also includes a discovery module 214 including one or more modules. The one or more modules include those that can be executed by the processor 202 to provide the functions of the peer-to-peer overlay network discovery system described herein. Instructions or codes.
The processor 202 includes at least one of the following: a CPU, a processor, a gate array, hardware logic, memory elements, and/or software executed by hardware. In one aspect, the processor 202 is used to execute instructions of the discovery module 214 to control the discovery processor 200 to perform the functions of the peer-to-peer overlay network discovery system described herein.
<b>Maintain coverage network database</b>
During operation, the processor 202 is used to maintain an overlay database 212 that has information about the overlay network that the processor 200 is aware of. For example, during conventional message routing and network communication, the processor 202 is aware of information and/or metadata related to one or more overlay networks. The processor 202 is used to store the information and/or metadata in the overlay database 212. For example, information and metadata related to the overlay network includes, but is not limited to, the following information.
1. Overwrite the network name
2. Node address
3. The address of the leader node
4. Content type
5. Specific content
6. Quality of Service (QoS) parameters
7. Cover the network working area
8. Coverage network type
<b>Send and receive coverage network announcements</b>
In one aspect, the processor 202 is used to control the transceiver 206 to automatically send notifications on the local area network. The announcement includes information from the coverage database 212 about known coverage networks. In another aspect, the transceiver 206 is used to listen to announcements sent by other nodes in the local area network. The announcements include information about overlay networks known to other nodes that initiated these announcements. The received notification information is passed to the processor 202, which uses the information to update the coverage database 212.
<b>Search coverage network</b>
In another aspect, the processor 202 is used to receive a request for information about an overlay network that matches the selected standard. The request may originate from an application program executed at the node where the discovery processor 200 is located. For example, the request is received from one or more applications via link 216. The processor 202 processes the request to generate a search query that includes criteria, parameters, or metadata related to the overlay network to be searched. The processor 202 controls the transceiver 206 to send the search query to other nodes in the local area network. For example, the transceiver 206 uses at least one of unicast, multicast, and broadcast transmission to send the search query.
The nodes that receive the search query include their own respective DPs that are used to maintain a coverage database similar to coverage database 212. The DPs at the receiving node search their respective coverage databases to determine information and/or metadata about any coverage networks that match the parameters included in the search query. Return the information to DP 200. For example, the transceiver 206 receives the information on the link 210, and the transceiver transmits the information to the processor 202. Subsequently, the processor 202 (using the link 216) informs the requesting entity of the overlay network that matches the search query. In addition, the processor 202 is configured to update the coverage database 212 with any received information about the newly discovered coverage network.
In one aspect, the peer-to-peer coverage network discovery system includes a computer program product that has one or more program instructions ("instructions") or sets of "codes" stored or contained on a machine readable medium. When these codes are executed by at least one processor such as the processor 202, their execution causes the discovery processor 200 to provide the functions of the peer-to-peer overlay network discovery system described herein. For example, the machine-readable medium includes a floppy disk, CDROM, memory card, FLASH memory device, RAM, ROM, or any other type of memory or machine-readable medium, which has an interface with the discovery processor 200. In another aspect, the code set can be downloaded to the discovery processor 200 from an external device or a communication network source. When executed, the code set is used to provide the functions of the peer-to-peer overlay network discovery system as described herein.
Figure 3 illustrates an exemplary method 300 for operating a discovery processor at a node to provide an aspect of a peer-to-peer overlay network discovery system. For clarity, the method 300 is described below with reference to the discovery processor 200 shown in FIG. 2. In one aspect, the processor 202 executes one or more code sets provided by the discovery module 214 to control the discovery processor 200 to perform the functions described below.
At block 302, a request is received for discovering information about the overlay network of interest to the requester. In one aspect, the processor 202 receives the request via the link 216 from the application program executing at the node where the DP 200 is located.
At block 304, a search query is generated based on the request. For example, the processor 202 generates a search query to include one or more parameters that describe or identify criteria related to the overlay network to be searched. For example, the search query includes, but is not limited to, the above-mentioned parameters.
At block 306, the search query is sent on the local network. For example, the processor 202 controls the transceiver 206 to use the communication link 210 to send the search query on the local area network. The transceiver 206 uses unicast, multicast or broadcast on the local area network to send the search query.
At block 308, information about overlay networks matching the search query is received. For example, the transceiver 206 receives the information from a node on the local area network. In one implementation, each node includes a DP, which maintains an overlay database covering network information. The DP at those nodes identifies the selected overlay network based on one or more parameters in the search query. Subsequently, the node sends information about the selected overlay network on the communication link 210 for reception by the transceiver 206. The transceiver 206 then transfers the information to the processor 202.
At block 310, the received information identifying the overlay network that matches the search query is delivered to the original requester. For example, the processor 202 uses the link 216 to transmit the received information about the overlay network matching the search query to the requesting application.
Therefore, the method 300 is executed by the discovery processor at the node to provide the aspect of the peer-to-peer overlay network discovery system. It should be noted that the method 300 is only an implementation, and the operations of the method 300 can be rearranged or modified in other ways within the scope of various aspects. Therefore, other implementations are possible within the scope of the various aspects described herein.
FIG. 4 illustrates an exemplary method 400 for operating a discovery processor at a node to provide an aspect of a peer-to-peer overlay network discovery system. For clarity, the method 400 is described below with reference to the discovery processor 200 shown in FIG. 2. In one aspect, the processor 202 executes one or more code sets provided by the discovery module 214 to control the discovery processor 200 to perform the functions described below.
At block 402, an overlay database with metadata related to known overlay networks is maintained. For example, during conventional routing and message transaction processing on the basic network, the processor 202 obtains information about one or more overlay networks. The processor 202 stores metadata related to the known overlay network in the overlay database 212. In one aspect, the processor 202 updates the coverage database with metadata related to the newly discovered coverage network. For example, during the discovery that the processor is working on the local area network, one or more overlay networks may be discovered.
At block 404, a search query is received. For example, the transceiver 206 receives search queries in unicast, multicast, or broadcast transmissions on the local area network. The transceiver 206 receives the query on the communication link 210. The search query includes one or more parameters that identify the overlay network of interest for which information is being sought.
In another aspect, a search query is generated locally in response to a request from an application program running at the node where the DP 200 is located. For example, the processor 202 receives a request for information about the overlay network that is of interest to the requesting application. In one aspect, the request is received by the processor 202 via the link 216 from an application program running at the node where the DP 200 is located.
At block 406, it is determined whether the parameters in the search query match any of the coverage networks described in the coverage database. For example, the processor 202 is configured to match the parameters in the search query with the information stored in the coverage database 212 to determine metadata and other information related to the known coverage network that matches the search query.
At block 408, assuming that there is a match, metadata and other information that match the parameters in the search query are obtained from the coverage database. For example, the processor 202 obtains metadata and other information matching the search query from the coverage database 212.
In block 410, in response to the search query, metadata and other information determined from the database based on the search query are sent. For example, the processor 202 controls the transceiver 206 to send metadata and other information to entities related to the search query. In one aspect, the metadata is sent to the node related to the search query, and the link 210 is used to perform the sending. In another aspect, where a search is performed on the local overlay database, the metadata is sent to the locally executed application related to the initial request, and the processor 202 uses the link 216 to perform the sending.
Therefore, the method 400 is executed by the discovery processor at the node to provide the appearance of the peer-to-peer overlay network discovery system. It should be noted that the method 400 is only an implementation, and the operations of the method 400 may be rearranged or modified in other ways within the scope of various aspects. Therefore, other implementations are possible within the scope of the various aspects described herein.
Figure 5 illustrates an exemplary method 500 for operating a discovery processor at a node to provide an aspect of a peer-to-peer overlay network discovery system. For clarity, the method 500 is described below with reference to the discovery processor 200 shown in FIG. 2. In one aspect, the processor 202 executes one or more code sets provided by the discovery module 215 to control the discovery processor 200 to perform the functions described below.
At block 502, an overlay database with metadata related to known overlay networks is maintained. For example, during conventional routing and message transaction processing on the basic network, the processor 202 obtains information about one or more overlay networks. The processor 202 stores metadata related to the known overlay network in the overlay database 212. In one aspect, the processor 202 updates the coverage database with metadata related to the newly discovered coverage network. For example, during the discovery that the processor is working on the local area network, one or more overlay networks may be discovered.
At block 504, the announcement is sent in the local area network. For example, the processor 202 obtains information from an overlay database 212 that includes metadata related to a known overlay network, and transmits the information to the transceiver 206. The transceiver 206 is used to send metadata in one or more announcements on the local area network, and any node in the local area that may be listening can receive the one or more announcements. For example, the transceiver 206 is used to send one or more announcements in at least one of unicast, multicast, and broadcast transmission on the local area network.
At block 506, one or more announcements including metadata about known overlay networks are received. For example, the transceiver 206 is used to listen to announcements from other nodes in the local area network, and pass the received metadata to the processor 202. For example, the transceiver 206 is used to receive the one or more announcements in at least one of unicast, multicast, and broadcast transmissions on the local area network. Subsequently, the processor 202 uses the received metadata to update the coverage database 212. For example, the method continues to block 502, where the overlay database 212 is updated.
Therefore, the method 500 is executed by the discovery processor at the node to provide the appearance of the peer-to-peer overlay network discovery system. It should be noted that the method 500 is only an implementation, and the operations of the method 500 can be rearranged or modified in other ways within the scope of various aspects. Therefore, within the scope of the various aspects described herein, other implementations are also possible.
It should also be noted that the methods 300, 400, and 500 can all be executed by the same discovery processor located at a node in the local area network. The operations of the methods 300, 400, and 500 may be combined, mixed, or otherwise executed in a parallel or serial manner, so that a single discovery processor can perform all the functions of the discovery system described herein.
Figure 6 illustrates an exemplary discovery processor 600 used at a node to provide an aspect of an overlay network discovery system. For example, the discovery processor 600 is implemented according to the discovery processor 200 shown in FIG. 2. In one aspect, the discovery processor 600 is implemented by at least one integrated circuit including one or more modules for providing the aspect of the coverage network discovery system as described herein. For example, in one aspect, each module includes hardware and/or software executed by the hardware.
The discovery processor 600 includes a first module, which includes a component (602) for receiving a request for discovery of information about the overlay network of interest. In one aspect, it includes a processor 202. The discovery processor 600 also includes a second module that includes a component (604) for generating a search query including at least one parameter related to the overlay network of interest. In one aspect, it includes a processor 202. The discovery processor 600 also includes a third module, which includes a component (606) for sending search queries to nodes on the local area network. In one aspect, it includes a transceiver 206.
Figure 7 illustrates an exemplary discovery processor 700 used at a node to provide an aspect of an overlay network discovery system. For example, the discovery processor 700 is implemented according to the discovery processor 200 shown in FIG. 2. In one aspect, the discovery processor 700 is implemented by at least one integrated circuit including one or more modules for providing an aspect of the coverage network discovery system as described herein. For example, in one aspect, each module includes hardware and/or software executed by the hardware.
The discovery processor 700 includes a first module that includes a component (702) for maintaining an overlay database of metadata related to one or more known overlay networks. In one aspect, it includes memory 204. The discovery processor 700 also includes a second module, which includes a component (704) for obtaining a search query including at least one parameter related to the overlay network of interest. In one aspect, it includes a processor 202. The discovery processor 700 also includes a third module, which includes a component (706) for determining one or more selected coverage networks from the coverage database based on the at least one parameter. In one aspect, it includes processingDevice202. The discovery processor 700 also includes a fourth module, which includes a component (708) for sending metadata related to one or more selected overlay networks in response to a search query. In one aspect, it includes processingDevice202.
Various illustrative logics, logic blocks, modules, and circuits described in combination with the aspects disclosed in this article can be implemented or executed by the following devices: general-purpose processors, digital signal processors (DSP), and dedicated integrated circuits Circuits (ASIC), field programmable gate arrays (FPGA) or other programmable logic devices, individual gates or transistor logic, individual hardware components or any combination thereof are designed to perform the functions described herein. A general-purpose processor may be a microprocessor, but in the alternative, the processor may also be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of computing devices, for example, a combination of a DSP and a microprocessor, multiple microprocessors, a combination of one or more microprocessors and a DSP core, or any other such configuration.
The steps of the method or algorithm described in combination with the aspects disclosed herein can be directly implemented in hardware, in a software module executed by a processor, or in a combination of the two. The software module can reside in RAM memory, flash memory, ROM memory, EPROM memory, EEPROM memory, scratchpad, hard disk, removable disk, CD-ROM, or known in the art In any other form of storage media. An exemplary storage medium is coupled to the processor such that the processor can read information from and write information to the storage medium. Alternatively, the storage medium may be an integral part of the processor. The processor and storage medium may reside in the ASIC. The ASIC may reside in the wireless communication device. Alternatively, the processor and the storage medium may reside in the wireless communication device as individual components.
An explanation of the disclosed aspects is provided so that any person skilled in the art can implement or use the present invention. Various modifications to these aspects can be obvious to those skilled in the art, and the general principles defined in this article can be applied to other aspects, such as instant messaging services or any general wireless data communication applications. Depart from the spirit or scope of the present invention. Therefore, the present invention is not intended to be limited to the aspect shown in this article, but to conform to the widest scope consistent with the principles and novel features disclosed in this article. The word "exemplary" is used exclusively herein to mean "serving as an example, instance, or illustration." Any aspect described herein as "exemplary" is not necessarily construed as preferred or advantageous over other aspects.
Therefore, although the aspects of the peer-to-peer overlay network discovery system have been shown and described herein, it will be appreciated that various changes can be made to these aspects without departing from their spirit and essential characteristics. Therefore, the disclosure and description herein are intended to illustrate rather than limit the scope of the present invention set forth in the scope of the appended application.
<p>100. . . network</p><p>102. . . Basic network</p><p>104,106,108. . . Peer-to-peer coverage network</p><p>110. . . Local area network</p><p>112. . . node</p><p>114. . . Discovery processor</p><p>200. . . Discovery processor</p><p>202. . . processor</p><p>204. . . Memory</p><p>206. . . Transceiver</p><p>208. . . Data bus</p><p>210. . . link</p><p>212. . . Covering the database</p><p>214. . . Discovery Module</p><p>216. . . link</p><p>300~310. . . Step process</p><p>400~410. . . Step process</p><p>500~506. . . Step process</p><p>600. . . Discovery processor</p><p>602~606. . . Discovery of processor components</p><p>700. . . Discovery processor</p><p>702~708. . . Discovery of processor components</p>
By referring to the following description in conjunction with the drawings, the foregoing aspects of this article will become more apparent, in which: Figure 1 illustrates the network, which illustrates the aspect of the peer-to-peer overlay network discovery system; Figure 2 illustrates In one aspect of the peer-to-peer overlay network discovery system, an exemplary discovery processor for use at the node; Figure 3 illustrates the discovery processor used to operate the node to provide peer-to-peer overlay network discovery An exemplary method for the aspect of the system; FIG. 4 illustrates an exemplary method for operating a discovery processor at a node to provide an aspect of a peer-to-peer overlay network discovery system; FIG. 5 illustrates an exemplary method for operating a node The discovery processor at the location to provide an exemplary method of the peer-to-peer overlay network discovery system; FIG. 6 illustrates an exemplary discovery for use at the node to provide the aspect of the peer-to-peer overlay network discovery system Processor; and FIG. 7 illustrates an exemplary discovery processor for use at a node to provide an aspect of a peer-to-peer overlay network discovery system.
21 members in 9 offices
Priority claims4
| Document | Office | Kind | Date |
|---|---|---|---|
| 61073325 | United States of America | – | |
| 7332508 | United States of America | P | |
| 12485553 | United States of America | – | |
| 48555309 | United States of America | A |
Members21
| Document | Office | Kind | |
|---|---|---|---|
| US2009310517A1 | United States of America | A1 | |
| CA2727934A1 | Canada | A1 | |
| WO2009155374A2 | World Intellectual Property Organization (WIPO) | A2 | |
| TW201006291AThis record | Taiwan Province of China | A | |
| WO2009155374A3 | World Intellectual Property Organization (WIPO) | A3 | |
| WO2009155374A3 | World Intellectual Property Organization (WIPO) | A3 | |
| KR20110030606A | Republic of Korea | A | |
| KR20110030606A | Republic of Korea | A | |
| EP2301201A2 | European Patent Office (EPO) | A2 | |
| CN102067525A | China | A | |
| JP2011524727A | Japan | A | |
| US8199673B2 | United States of America | B2 | |
| RU2011101448A | Russian Federation | A | |
| RU2011101448A | Russian Federation | A | |
| KR101207533B1 | Republic of Korea | B1 | |
| KR101207533B1 | Republic of Korea | B1 | |
| TWI392397B | Taiwan Province of China | B | |
| RU2483455C2 | Russian Federation | C2 | |
| JP5389909B2 | Japan | B2 | |
| CN102067525B | China | B | |
| CA2727934C | Canada | C |
1 legal event, as the office reported them to INPADOC
Events
| Event | Code | |
|---|---|---|
| Annulment or lapse of patent due to non-payment of feesLapsedMM4A | MM4A |
Numbers
- Publication
- 201006291
- Application
- 98120317
Titles4
- Chinese
- 用於發現對等覆蓋網路的方法和裝置
- English
- METHODS AND APPARATUS FOR DISCOVERY OF PEER-TO-PEER OVERLAY NETWORKS
- Unlabeled
- 用於發現對等覆蓋網路的方法和裝置
- Unlabeled
- Method and device for discovering peer-to-peer overlay network
Classification
- CPC, 3
- H04L67/104
- H04L67/1068
- H04L67/51
- IPC, 2
- H04W84 18
- H04W48 16