Multi-level cache architecture and cache management method for peer-to-peer name resolution protocol
First Claim
1. A cache memory architecture for use in a peer having at least one locally registered peer ID within a peer name space, the peer name space having a first number of peer IDs instantiated therein, the first number of peer IDs having an average spacing therebetween, comprising:
- a second number N of memory regions for storing peer IDs, each memory region from 1 . . . N storing peer IDs within a range of +/−
101 . . . N times the average spacing from the at least one locally registered peer ID, each of the memory regions 2 . . . N excluding the peer IDs stored in preceding memory regions 1 . . . N−
1; and
wherein the number N of memory regions is determined as the log of the first number of peer IDs instantiated in the name space.
2 Assignments
0 Petitions
Accused Products
Abstract
A peer-to-peer cache architecture stores peer address certificates in different cache segments according to the number of IDs being stored and their relative distance in the peer name space. The cache instantiates regions of decreased range and increased granularity as additional information from close peers is learned. In a large peer cloud where the number of instantiated IDs is not known, each succeeding cache region covers one tenth of the preceding cache region. For peers with multiple IDs registered locally, the segmented cache of the present invention combines overlapping segments of the same granularity to eliminate the duplication of information that would otherwise occur. A cache tree, an instantiated segment tree, and an uninstantiated segment tree are arranged in red-black trees to simplify the search and proper placement and instantiation of information.
-
Citations
28 Claims
-
1. A cache memory architecture for use in a peer having at least one locally registered peer ID within a peer name space, the peer name space having a first number of peer IDs instantiated therein, the first number of peer IDs having an average spacing therebetween, comprising:
-
a second number N of memory regions for storing peer IDs, each memory region from 1 . . . N storing peer IDs within a range of +/−
101 . . . N times the average spacing from the at least one locally registered peer ID, each of the memory regions 2 . . . N excluding the peer IDs stored in preceding memory regions 1 . . . N−
1; and
wherein the number N of memory regions is determined as the log of the first number of peer IDs instantiated in the name space. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A cache memory architecture for use in a peer having at least one locally registered peer ID within a peer name space, the peer name space having a first number of peer IDs instantiated therein, the first number of peer IDs being approximately evenly distributed throughout the peer name space and having an average spacing therebetween, comprising:
-
a first memory region for storing peer IDs within a first range of +/−
ten times the average spacing from the locally registered peer ID;
a second memory region for storing peer IDs within a second range of +/−
one hundred times the average spacing from the locally registered peer ID excluding the peer IDs within a range of +/−
ten times the average spacing from the locally registered peer ID; and
a third memory region for storing peer IDs within a third range of +/−
one thousand times the average spacing from the locally registered peer ID excluding the peer IDs within a range of +/−
one hundred times the average spacing from the locally registered peer ID. - View Dependent Claims (8, 9, 10)
-
-
11. A cache memory architecture for use in a peer having at least a first locally registered peer ID within a peer name space, the name space having an unknown number of peer IDs registered therein, comprising:
-
a first cache memory segment for storing peer IDs instantiated anywhere in the peer name space, the first cache memory segment having a predetermined maximum number of peer IDs that may be stored therein;
a second cache memory segment instantiated when the first cache memory segment exceeds the predetermined maximum number of peer IDs, the second cache memory segment spanning a range of one tenth the first cache memory segment centered at the first locally registered peer ID, the second cache memory segment forming an exclusion in the first cache memory segment, the second cache segment having a predetermined maximum number of peer IDs that may be stored therein; and
a third cache memory segment instantiated when the second cache memory segment exceeds the predetermined maximum number of peer IDs, the third cache memory segment spanning a range of one tenth the second cache memory segment centered at the first locally registered peer ID, the third cache memory segment forming an exclusion in the second cache memory segment, the third cache memory segment having a predetermined maximum number of peer IDs that may be stored therein. - View Dependent Claims (12, 13, 14, 15)
-
-
16. A method of cache memory management for a segmented cache architecture used in a peer-to-peer name resolution system in which peers may register IDs in a peer name space, the system including at least one locally registered peer ID, the method comprising the steps of:
-
populating a first cache segment with a number of peer IDs discovered by the peer-to-peer name resolution system;
instantiating a second cache segment covering a fraction of the first cache segment and centered at the locally registered peer ID upon receipt of an additional peer ID discovered by the peer-to-peer name resolution system after the number of peer IDs populated in the first cache segment reaches a predetermined maximum, the instantiation of the second cache segment resulting in an exclusion in the first cache segment; and
instantiating a third cache segment covering a fraction of the second cache segment and centered at the locally registered peer ID upon receipt of an additional peer ID discovered by the peer-to-peer name resolution system after the number of peer IDs populated in the second cache segment reaches a predetermined maximum, the instantiation of the third cache segment resulting in an exclusion in the second cache segment. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A cache memory architecture for use in a peer having at least a first locally registered peer ID within a peer name space, the name space having an unknown number of peer IDs registered therein, comprising:
-
a first cache memory segment for storing peer IDs instantiated anywhere in the peer name space, the first cache memory segment having a predetermined maximum number K of peer IDs that may be stored therein;
a second cache memory segment instantiated when the first cache memory segment exceeds the predetermined maximum number of peer IDs, the second cache memory segment spanning a range of 1/(K/2) the first cache memory segment centered at the first locally registered peer ID, the second cache memory segment forming an exclusion in the first cache memory segment, the second cache segment having a predetermined maximum number K of peer IDs that may be stored therein; and
a third cache memory segment instantiated when the second cache memory segment exceeds the predetermined maximum number of peer IDs, the third cache memory segment spanning a range of 1/(K/2) the second cache memory segment centered at the first locally registered peer ID, the third cache memory segment forming an exclusion in the second cache memory segment, the third cache memory segment having a predetermined maximum number K of peer IDs that may be stored therein. - View Dependent Claims (27)
-
-
28. A cache memory architecture for use in a peer having at least one locally registered peer ID within a peer name space, the peer name space having a first number of peer IDs instantiated therein, the first number of peer IDs having an average spacing therebetween, comprising:
-
a second number N of memory regions for storing peer IDs, each memory region from 1 . . . N storing peer IDs within a range of +/K1 . . . N times the average spacing from the at least one locally registered peer ID, wherein K is a positive integer greater than 1, each of the memory regions 2 . . . N excluding the peer IDs stored in preceding memory regions 1 . . . N−
1; and
wherein the number N of memory regions is determined as the log base K of the first number of peer IDs instantiated in the name space.
-
Specification