US2003009509A1PendingUtilityA1

Distributed means of organizing an arbitrarily large number of computers

Priority: Jun 22, 2001Filed: Jun 22, 2001Published: Jan 9, 2003
Est. expiryJun 22, 2021(expired)· nominal 20-yr term from priority
H04L 9/40H04L 67/10H04L 69/329H04L 69/164H04L 69/16G06F 2209/505
44
PatentIndex Score
0
Cited by
0
References
0
Claims

Abstract

A technique for organizing a plurality of computers such that message broadcast, content searching, and computer identification of the entire collection or a subset of the entire collection may be performed quickly without the use of a controlling computer. The technique describes the creation, operation, and maintenance of a connection scheme by which each computer in the collection appears to be the top level of a hierarchical array. The maintenance of this hierarchical connection scheme allows one to many communications throughout the collection of computers to scale geometrically rather than linearly.

Claims

exact text as granted — not AI-modified
What is claimed is:  
     
         1 . A distributed computer network, comprising: 
 a plurality of processors, and    at least one communication medium for interconnecting the plurality of processors: 
 wherein the plurality of processors are logically arranged such that each processor can operate at a top level of a hierarchy that includes at least a significant number of the plurality of processors by sending a message to at least one logically neighboring processor;  
 wherein the message is disseminated throughout the hierarchy by each processor that receives the message forwarding the message to at least one logically neighboring processor such that each processor in the hierarchy receives the message only once.  
   
     
     
         2 . The distributed computer network of  claim 1 , wherein the at least one communication medium includes at least one physical interconnection unrelated to the logical arrangement of the plurality of processors.  
     
     
         3 . The distributed computer network of  claim 1 , wherein each processor that receives the message forwards the message to one or two logically neighboring processors.  
     
     
         4 . The distributed computer network of  claim 1 , wherein the plurality of processors include a processor situated at a logical center and the remaining processors are logically arranged around the logical center.  
     
     
         5 . The distributed computer network of  claim 4 , wherein the plurality of processors are logically arranged in a polygonal configuration having an even number of sides.  
     
     
         6 . The distributed computer network of  claim 4 , wherein the plurality of processors are logically arranged in a three dimensional configuration.  
     
     
         7 . The distributed computer network of  claim 4 , wherein each processor tends to move to a location closer to the logical center if said location is not occupied by another processor.  
     
     
         8 . The distributed computer network of  claim 7 , wherein each processor further tends to move in a predetermined direction to an adjacent location on the same logical level if said adjacent location is not occupied by another processor.  
     
     
         9 . The distributed computer network of  claim 4 , wherein each processor tends to switch positions with an adjacent processor closer to the logical center when the adjacent processor has less available bandwidth than said processor.  
     
     
         10 . The distributed computer network of  claim 1 , wherein the message relates to a broadcast of data.  
     
     
         11 . The distributed computer network of  claim 1 , wherein the message relates to a search for information selected from the group consisting of specified data and a specified processor.  
     
     
         12 . A distributed computer network comprising: 
 a collection of computers logically arranged such that a first computer of the collection of computers is situated at a logical center of the collection of computers, wherein a plurality of computers from the collection of computers form a series of concentric polygons around the first computer; and    wherein each computer in the collection of computers can act as a top computer in a hierarchy of computers, said hierarchy including at least a subset of the collection of computers by: 
 said top computer sending a message along each of at least one radial, each of said at least one radial comprising a line of logically adjacent computers in the collection of computers that logically extends radially from said top computer; and  
 at least one lower level computer, of the collection of computers, located on one of said radials further forwarding the message along an indirect radial, each indirect radial comprising a line of logically adjacent computers in the collection of computers that logically extends radially from said at least one lower level computer but does not logically intersect any of the at least one radial.  
   
     
     
         13 . The distributed computer network of  claim 12 , wherein each computer not located on an outermost edge of the collection of computers has the same number of radials extending therefrom as there are sides of the concentric polygons.  
     
     
         14 . The distributed computer network of  claim 12 , wherein each computer operates to: 
 move to a position closer to the logical center when said closer position is not occupied by another computer; and    move, in one of a clockwise and a counterclockwise direction, to a position at the same level as a current position of the computer when the same level position is not occupied by another computer.    
     
     
         15 . The distributed computer network of  claim 14 , wherein each computer further operates to prevent neighboring computers from moving during each of said moving to a closer location and moving to a same level position.  
     
     
         16 . The distributed computer network of  claim 12 , wherein each respective computer in the collection of computers stores information relating to each of a plurality of subordinate computers logically connected to and located around the respective computer.  
     
     
         17 . The distributed computer network of  claim 16 , wherein a top computer in the collection of computers can initiate a search for content on the plurality of subordinate computers that correspond to each computer in the collection of computers by sending said message.  
     
     
         18 . The distributed computer network of  claim 12 , wherein said message is selected from the group consisting of broadcast data, a search parameter, and update information.  
     
     
         19 . The distributed computer network of  claim 12 , wherein, other than the top computer, each computer on a radial forwards the message to two other computers and each computer not on a radial forwards the message to one other computer.  
     
     
         20 . The distributed computer network of  claim 19 , wherein each of the computers in the collection of computers is forwarded the message only once.  
     
     
         21 . A method for communicating in a computer network, comprising: 
 logically arranging a plurality of computers around a first computer situated at a logical center of the plurality of computers;    initiating a message at a top computer selected from the plurality of computers;    sending the message from the top computer along at least one series of logically adjacent subordinate computers that logically extends radially from the top computer, the plurality of computers including said subordinate computers; and    forwarding the message, from at least one of the subordinate computers that logically extend radially from the top computer, along at least one series of logically adjacent computers that logically extends radially from the at least one subordinate computer but that does not intersect any of the series of logically adjacent subordinate computers that logically extend radially from the top computer.    
     
     
         22 . The method of  claim 21 , wherein the step of logically arranging comprises establishing a plurality of logically neighboring computers for each computer, wherein each computer has no more than a predetermined number of logically neighboring computers, and wherein the plurality of computers are evenly distributed around the first computer.  
     
     
         23 . The method of  claim 21 , further comprising the step of switching positions of at least two adjacent computers to move computers with lower bandwidth availability away from the logical center of the plurality of computers.  
     
     
         24 . The method of  claim 21 , further comprising the step of delaying sending of the message from the top computer if a bandwidth utilization of the plurality of computers is above a predetermined threshold.  
     
     
         25 . A method for logically configuring a collection of computers, comprising: 
 selecting a computer to serve as a logical center of the collection of computers;    adding computers to the collection of computers to logically configure the computers into a plurality of concentric polygons, wherein each added computer operates to: 
 find a computer in the collection of computers;  
 follow one of a radial and an indirect radial that includes the found computer to a collection edge, said radial comprising a series of logically adjacent radial computers that logically extend from the logical center, and said indirect radial comprising a series of logically adjacent computers that logically extend from one of the radial computers, wherein the collection edge comprises a logically outermost computer on said one of the radial and the indirect radial; and  
 logically attach to a computer the collection of computers on the collection edge.  
   
     
     
         26 . The method of  claim 25 , further comprising the step of moving each added computer to a neighboring logical position that is logically closer to the logical center of the collection of computers if said closer neighboring logical position is not currently occupied by one of the computers in the collection of computers.  
     
     
         27 . The method of  claim 26 , further comprising the step of rotating each added computer to a neighboring logical position on the same logical level as the added computer if the same level neighboring logical position is not currently occupied by one of the computers in the collection of computers.  
     
     
         28 . The method of  claim 27 , wherein the step of rotating comprises rotating in a preselected one of a clockwise and a counterclockwise direction.  
     
     
         29 . The method of  claim 27 , further comprising the step of preventing other computers from moving into the closer neighboring logical position and from moving into the same level neighboring logical position during said steps of moving and rotating.  
     
     
         30 . The method of  claim 25 , wherein each of the plurality of concentric polygons has the same number of sides and has an even number of sides.  
     
     
         31 . A method for logically configuring a collection of computers, comprising: 
 selecting a computer to serve as a logical center of the collection of computers;    arranging computers from the collection of computers such that the collection of computers are logically configured to form a plurality of successively higher concentric polygon levels around the logical center;    adding a computer to the collection of computers;    logically connecting the added computer to a computer in the collection of computers, located at a collection edge, wherein the collection edge comprises a logical outer edge of the collection of computers and forms at least a partial concentric polygon level around the plurality of concentric polygon levels; and    repeating the steps of: 
 changing a logical location of the added computer to a next lower concentric polygon level if a computer in the collection of computers is not situated at a logical position that neighbors the added computer at the next lower concentric polygon level; and  
 changing a logical location of the added computer to a logically adjacent position on a current concentric polygon level of the added computer if a computer in the collection of computers is not situated at said logically adjacent position.  
   
     
     
         32 . The method of  claim 31 , further comprising the step of sending a message from a top computer of the collection of computers to each of a plurality of neighboring radial computers, each neighboring radial computer forwarding the message to another neighboring radial computer and to a neighboring indirect radial computer, such that the message is forwarded to each computer in the collection of computers only once.  
     
     
         33 . The method of  claim 31 , wherein the collection of computers comprises one of a collection of caching computers and a collection of non-caching computers, wherein each caching computer stores information relating to a corresponding collection of caching computers.  
     
     
         34 . A computer network, comprising: 
 a collection of caching computers logically arranged such that a first caching computer is situated at a logical center of the collection of caching computers, wherein the remaining caching computers are logically arranged to form at least one concentric polygon around the first caching computer;    at least one collection of non-caching computers, each respective collection of non-caching computers logically arranged to form a plurality of successively higher concentric polygon levels around a respective caching computer that stores information relating to the respective collection of non-caching computers;    at least one communication medium providing a physical interconnection between the caching computers in the collection of caching computers and the non-caching computers in the at least one collection of non-caching computers, said physical interconnection unrelated to said logical arrangements; and    at least one of the collection of caching computers and the at least one collection of non-caching computers logically arranged such that a message originating at a top computer is forwarded along each of at least one radial, each said radial comprising a line of logically adjacent computers that logically extends radially from the top computer, and wherein a plurality of computers forming the radial further forward the message along an indirect radial, each said indirect radial comprising a line of logically adjacent computers that logically extends radially from a corresponding one of the plurality of computers and that does not intersect any of the at least one radial.    
     
     
         35 . The computer network of  claim 34 , wherein each caching computer operates to determine whether its available bandwidth is greater than an available bandwidth of a logically adjacent caching computer logically closer to the first caching computer and to switch positions with the logically adjacent caching computer when the available bandwidth of the caching computer is greater than the available bandwidth of the logically adjacent caching computer.  
     
     
         36 . The computer network of  claim 35 , further comprising at least one added non-caching computer, wherein the added non-caching computer logically attaches to a collection of non-caching computers associated with a caching computer currently situated at the logical center of the collection of caching computers.  
     
     
         37 . The computer network of  claim 34 , wherein the information relating to the respective collection of non-caching computers comprises an index of data stored on the respective collection of non-caching computers.  
     
     
         38 . The computer network of  claim 34 , further comprising at least one added computer, wherein the at least one added computer is assigned as one of a caching computer and a non-caching computer based on an available bandwidth of the at least one added computer.  
     
     
         39 . The computer network of  claim 34 , wherein the message comprises one of broadcast information and search request data.  
     
     
         40 . A distributed computer network, comprising: 
 a collection of computers;    means for an added computer to locate the collection of computers;    means for the added computer to establish a connection to the collection of computers;    means for each computer in the collection of computers, including the added computer, to establish a logical arrangement such that each computer in the collection of computers can act as a top level of a hierarchy, wherein the hierarchy includes at least a substantial number of the computers in the collection of computers.    
     
     
         41 . The distributed computer network of  claim 40 , wherein the hierarchy comprises a set of member computers, a membership of which depends upon a logical location of the computer that acts as the top level of the hierarchy.  
     
     
         42 . The distributed computer network of  claim 40 , further comprising means for the computer that acts as the top level of the hierarchy to initiate a search for one of a specified computer and specified data.  
     
     
         43 . The distributed computer network of  claim 42 , wherein each computer in the collection of computers includes a searchable index of the contents of the computer for facilitating said search.  
     
     
         44 . The distributed computer network of  claim 40 , further comprising means for the computer than acts as the top level of the hierarchy to broadcast information throughout the hierarchy.  
     
     
         45 . The distributed computer network of  claim 40 , further comprising means to control a bandwidth utilization of the collection of computers.  
     
     
         46 . The distributed computer network of  claim 40 , further comprising a plurality of lower level computers, wherein information regarding the lower level computers is stored in a respective one of the computers in the collection of computers.  
     
     
         47 . The distributed computer network of  claim 40 , further comprising means for rebuilding a logical arrangement of the collection of computers following a loss of at least one computer from the collection of computers.  
     
     
         48 . The distributed computer network of  claim 40 , further comprising means for distributing software updates throughout the collection of computers.  
     
     
         49 . The distributed computer network of  claim 40 , wherein each computer in the collection of computers includes a dynamic physical address.  
     
     
         50 . The distributed computer network of  claim 40 , further comprising means for generating the logical arrangement to substantially minimize a logical distance between a logical center of the collection of computers and a logical collection edge.

Join the waitlist — get patent alerts

Track US2003009509A1 — get alerts on status changes and closely related new filings.

We store only your email — no account needed. See our privacy policy.