WO1990002378A1 - Systeme informatique a repartition multiniveau - Google Patents

Systeme informatique a repartition multiniveau Download PDF

Info

Publication number
WO1990002378A1
WO1990002378A1 PCT/US1989/003622 US8903622W WO9002378A1 WO 1990002378 A1 WO1990002378 A1 WO 1990002378A1 US 8903622 W US8903622 W US 8903622W WO 9002378 A1 WO9002378 A1 WO 9002378A1
Authority
WO
WIPO (PCT)
Prior art keywords
computer
task
portions
low level
computer means
Prior art date
Application number
PCT/US1989/003622
Other languages
English (en)
Inventor
David J. Schwartz
Original Assignee
David Schwartz Enterprises, 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 David Schwartz Enterprises, Inc. filed Critical David Schwartz Enterprises, Inc.
Publication of WO1990002378A1 publication Critical patent/WO1990002378A1/fr

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/505Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2209/00Indexing scheme relating to G06F9/00
    • G06F2209/50Indexing scheme relating to G06F9/50
    • G06F2209/5017Task decomposition

Definitions

  • This invention relates generally to a computer system, and more particularly to distributed processing of a task by a distributed computer system.
  • a distributed computer system is a network of computers each of which function independently of but in a cooperative manner with each other.
  • Versatility of a computer system can be increased by using a plurality of small computers, such as personal computers, to perform simple tasks and a central computer for longer more complex tasks.
  • Such an arrangement lessens the load on the control computer and reduces both the volume and cost of data transmission.
  • a computer system in which portions of a task are performed by a number of different processors is commonly referred to as distributed processing.
  • distributed processing is performed by a number of different microprocessors located within one central processor.
  • a distributed computer system can not perform distributed processing unless specific and detailed instructions are provided for one computer to serve as the equivalent of a slave processor to another computer.
  • a distributed computer system performing distributed processing can not pass portions of a task from one computer to another computer. Rather, the complete task including the entire file is transferred between computers to sequentially process portions of the task. By requiring that the complete task be transferred from one computer to another, a state of distributed processing is created. Generally, no more than about six computers can be used in the system resulting in a state of limited distributed processing.
  • a distributed computer system performing distributed processing with more than about six computers is difficult to work with since many of the same lines, disk drives, printers and other equipment must be shared by each computer.
  • the distributed computer system should include a plurality of personal computers operable for performing distributed processing to avoid the need for a mainframe.
  • a multilevel computer system includes at least one high level computer operable for receiving a task, for distributing portions of the task to be processed by one or more currently available low level computers and for processing, if it can, all undistributed portions of the task itself.
  • At least two low level computers are operable for receiving an additional task, for processing, if they can, portions of the additional task and distributing for processing those portions of the additional task unprocessed by the low level computers to the at least one high level computer if the latter is currently available for processing.
  • the multilevel computer system also includes communications link means for transferring portions of the task and additional task to the plurality of computers within the system (i.e. network) .
  • the communications link means has first links and second links.
  • the first links couple at least one computer of the high level computer means to at least two computers of the low level computer means.
  • Each second link couples at least two computers of the low level computer means together.
  • the number of first links coupled to at least one computer of the high level computer means and the number of second links coupled to one of the at least two computers of the low level computer means are unequal.
  • a pyramid-like network is constructed wherein the number of first links associated with any computer of the high level computer means is preferably greater than the number of second links associated with any computer of the low level computer means.
  • the first links transfer portions of the task and any additional task bidirectionally.
  • the second links are designed to transfer portions of the task and any additional task either unidirectionally or bidirectionally.
  • different portions of the task are processed at the same time by different computers.
  • different portions of any additional task are processed at the same time by different computers.
  • Additional levels of computers can be added to the system to further distribute the processing of portions of a task and additional task. Lessening of the load that any one computer is requested to process results.
  • the multilevel computer system is particularly well suited for use in an office, corporation or the like wherein a hierarchy of personnel exists. Each user would be provided with a personal computer which would be coupled to one of the levels of the system.
  • a further object of the invention is to provide a distributed computer system which includes a plurality of substantially identical computers such as, but not limited to, personal computers operable for performing distributed processing.
  • the invention accordingly comprises the several steps in a relation of one or more such steps with respect to each of the others, and the apparatus embodying features of construction, a combination of elements and arrangements of parts which are adapted to effect such steps, all is exemplified in the following detail disclosure, and the scope of the invention will be indicated in the claims.
  • FIG. 1 is a block diagram of a cluster computer system
  • FIG. 2 is a block diagram of a token ring computer system
  • FIG. 3 is a block diagram of a computer system marketed by T.S.M. Company, Inc., St. Orlando, Florida, under the registered trademark ETHERNET*;
  • FIG. 4 is a block diagram of a computer in accordance with the invention.
  • FIG. 5 is a block diagram of a distributed computer system in accordance with the invention.
  • FIG. 6 is an expanded distributed computer system in accordance with the invention.
  • FIG. 7 is a flow chart of FIG. 6 in accordance with a first embodiment of the invention.
  • FIG. 8 is a flow chart of FIG. 6 in accordance with an alternative embodiment of the invention.
  • a distributed computer system that is, a network of computers each of which functions independently but in a cooperative manner with each other computer, are well known in the art and generally are assembled in the form of a " cluster, token ring or all together along the same line/bus (i.e. the ETHERNET* computer system) .
  • a prior art cluster computer system 10 includes between three to six computers 11 which are hard wired together and totally interlinked.
  • Each computer 11 of system 10 uses one of a plurality of common lines 12, a common hard disk drive 13 and a common printer 15.
  • Tasks can be distributed by passing the entire task from one computer 11 to another computer 11. In other words, the entire task is placed in a package and transferred along lines 12 from one computer 11 to another computer 11. Interaction between computers 11 is impractical. In operation, once one portion of a task is solved by one computer 11 the entire task is then transferred to another computer 11 along lines 12 form the next portion of the task to be processed. Normally, there is no continuous active interconnection between computers 11.
  • Computers which are marketed by Digital Equipment Corporation under the trademark VAX are commonly employed as computers 11 in system 10. No more than about six computers 11 can be used in any cluster system 10 since each computer 11 uses the same hard disk drive 13 and printer 15. Consequently, if more than about six computers are added to cluster system 10, each computer 11 is likely to trample on one or more of the other computers 11 in attempting to use hard disk drive 13 and/or printer 15.
  • a prior art token ring computer system 30 includes a plurality of computers 33, 36, 39, 42 and 45.
  • Computers 33 and 36 are connected together through a line 34.
  • Computers 36 and 39 are connected together through a line 37.
  • Computers 39 and 42 are connected together through a line 40.
  • Computers 42 and 45 are connected together through a line 43 and computers 45 and 33 are connected together through a line 46.
  • Information on lines 34, 37, 40, 43 and 46 travels in only one direction as denoted by an arrow A.
  • the entire task after a portion thereof has been processed by, for example, computer 33 is transferred along line 34 to computer 36 which processes another portion of the task and then transfers the entire task to computer 39 along line 37.
  • the processing of additional portions of the task and transferring of the entire task continue around token ring 30 until all portions of the task are complete.
  • the token ring scheme is based on collision avoidance. No two computers transmit on the same line at the same time. Information can not be transferred from one computer to another unless the computer which is transmitting the information has a "token ring". More particularly the token ring is a piece of information which is part of the transmitted data stream and is required for transmitting information along one of the lines between computers. If information is to be sent between any two computers, the computer which is sending information must wait for the token ring to arrive. Consequently, only one of lines 34, 37,
  • the ETHERNET* computer system 50 is based on collision detection (i.e. detecting when a collision occurs).
  • System 50 includes a plurality of computers 53, 56, 59, 62, 65, 68 and 71 all of which are attached to a common line 75.
  • Information is transmitted among computers 53, 56, 59, 62, 65, 68 and 71 along line 75 at the same time. If collisions of information occur, the information is merely retransmitted. Information is successfully transmitted between any two computers infrequently (e.g., about 10% of the time). System 50 is extremely inefficient.
  • computer 59 will retransmit the information received from computer 59 to computer 53 and await confirmation by computer 53 that the initial transmission received by computer 59 was complete. Consequently, processing of information is undesirably lengthened. Furthermore, if certain portions of the task are to be processed in a particular order system 50 requires an extremely long and undesirable period of time to accomplish the task. Referring once again to FIG. 2, the number of computers shown (i.e. six computers) is to be understood as merely exemplary. Once system 30 is assembled and operating, no additional computers can be added to system 30 without destroying the system integrity. Additional computers, however, can be added to systems 10 and 50 of FIGS. 1 and 3 without destroying the system integrity, that is, while the systems are operating.
  • Systems 10, 30 and 50 provide limited distributed processing, that is, are limited in the number of portions of a task that can be satisfactorily distributed among the computers of each system at any one time. The more computers connected to any one of these three systems, the more time is required for processing of the task.
  • the invention avoids the foregoing drawbacks of distributed computer systems whileprovidingunlimited distributed processing by providing a computer topography which allows computers of the system to communicate with each other on an efficient basis even when a large number of computers are used in the system.
  • a computer 100 includes a central processing unit (CPU) 110, a clock 113, a floating point coprocessor 116, a page management memory unit (PMMU) 119, a read only memory (RAM) 122 and an electrically alterable read only memory (EAROM) 125.
  • Floating point coprocessor 116 performs most of the mathematical calculations required.
  • PMMU 119 takes care of security related functions, directs the placement of information into RAM 122, interfaces with hardware and organizes the processing of information within computer 100.
  • CPU 110 performs similar functions to PMMU 119 and is augmented by PMMU 119.
  • the program within the PMMU serves to extend the capabilities of CPU 110 so that the CPU 110 is able to perform security related functions, management functions and other desired functions.
  • Computer 100 through PMMU 119 includes communications links A, B, C and DO-D7. These eleven different communications links are used to connect each computer 100 to the distributed computer system. Each of these links represents a path along which information travels from and to computer 100. Along each one of these links, may be one or more translators to ensure proper communication.
  • Each of the elements within computer 100 is an off the shelf item.
  • floating point coprocessor 116, CPU 110, and PMMU 119 are available from Motorola Corporation as part nos. MC 68881, MC 68020, and MC 68851, respectively.
  • Peripheral equipment such as printers and terminals can be connected to one of the eleven links or to one of a plurality of hardware expansion ports E.
  • the eleven communications links A, B, C, Do-D7 represents a compromise between using the fewest links possible to reduce the cost in connecting each computer 100 to the rest of the computers forming the distributed computer system and providing an adequate number of communications links so that a sufficiently complex distributed computer system can be established. If desired, more or less communications links can be used provided that an asymmetrical relation, as discussed below, is established between the A and B links of one computer and the associated C link of a computer on the next higher level of the system.
  • the A and B links are used as communications lines for computers 100 which are on the same level within the distributed computer system. Preferably, the A and B links connect all computers on the same level together to form a ring of computers (i.e., a complete chain) within that level.
  • the C link of each computer 100 is used to communicate/transfer information to or receive information from another computer 100 which is on a higher level of the system.
  • Computers on the higher level are used as a last resort for processing when one or more portions of the task cannot be distributed for processing to computers connected through the A, B and DO-D7 links.
  • the DO-D7 links of each computer 100 connect each computer 100 to one or more computers 100 on a lower level.
  • peripheral equipment such as printers and terminals are normally connected to computer 100 through one or more hardware expansion ports E
  • such peripheral equipment can be connected to one of the D links.
  • Protocol of course, would be affected by connecting such peripheral equipment to one of the D links rather than hardware expansion ports E.
  • Hardware expansion ports E also can be used for connection of additional equipment such as RAMs or ROMs. Additional links equivalent to A, B, C and/or DO-D7 can be added through hardware expansion ports.
  • the A and B links are used to shorten the path along which a portion of a task is to be distributed. Under one embodiment of the invention no portion of a task, if possible, should be distributed so that the path of distribution of one or more portions of the task from one computer 100 to another computer 100 includes yet another computer 100 which is on a higher level of the computer system.
  • the A and B links (especially if used to form a complete ring of computers on the same level) avoid such upward passing by providing communications links to computers 100 on the same level or lower levels.
  • the C link is usually the only link along which the status (i.e. availability) is reported of lower level computers.
  • a first distributed computer system embodiment of the invention includes a computer system 200 having levels I, II and III.
  • Level I is the highest level of system 200 and includes a single computer 205.
  • a user can input a task to computer 205 through, for example, a B link.
  • Computer 205 also includes a DO link which is connected to a C link of a computer 210.
  • Computer 210 is in level II, the next lower level of system 200, and includes, for example, a B link through which an additional task can be requested of system 200 and links DO - D7.
  • a plurality of computers 220, 230, 240, 250, 260, 270, 280 and 290 form the next lower level III of system 200.
  • Computers throughout system 200 are constructed substantially similar to one another and are similar to computer 100 of FIG. 4.
  • the DO-D7 links of computer 210 are connected to the C links of computers 220-290, respectively.
  • the A links of computers 220, 230, 240, 250, 260, 270, 280 and 290 are connected to the B links of computers 290, 280, 270, 260, 250, 240, 230 and 220, respectively. Further additional tasks can be requested through the DO link of each computer within level III.
  • System 200 provides a large amount of computer processing capability. Tasks such as, but not limited to, signal processing, image analysis and other real and nonreal time tasks are readily handled by system 200. If system 200 is to be used by a single user, the task to be processed would be inputted through the B link of computer 205 with peripheral equipment such as, but not limited to, the disk drives and printers attached to computer 205 through its hardware expansion E so as to provide high speed access and convenience to the peripheral equipment.
  • peripheral equipment such as, but not limited to, the disk drives and printers attached to computer 205 through its hardware expansion E so as to provide high speed access and convenience to the peripheral equipment.
  • Computer 210 essentially serves as a mediator ensuring that computers in level III pass portions of the task between each other and keeps system 200 organized. If possible, as explained below, computer 205 will not be asked to process any portion of the task. In other words, as long as computers 220-300 are available for processing all portions of the task, computer 205 will not process any portion of the task but will merely organize such processing so that computers 220-300 do not interfere with each other, for example, when using a disk drive and/or printer and be available for responding to any requests by a user.
  • Each computer of level III reports its status of availability through its C lines to computer 210 of level II which reports its status and the status of computers 220-290 through its C line to computer 205 of level I.
  • Computer 205 is free to monitor the processing of a task by a user or to modify the processing of the task or other requests by the user.
  • computer 205 When a request is inputted by a user to computer 205, computer 205 will immediately attempt to pass the task to computer 210 of level II assuming computer 210 is available based on its status report supplied to computer 205. By shifting the task to computer 210, a potential bottleneck between computers 205 and 210 through the single communications link therebetween is avoided. The potential bottleneck is due, in part, to providing peripheral equipment connected to computer 205.
  • computer 210 which is provided with a continuous status report as to the availability of computers 220-300 divides the task into portions and distributes those portions to those computers of level III which are currently available. For example, if the task inputted to computer 205 involves image enhancement of a license plate whose numbers are difficult to read computer 205 will attempt to distribute as much of the entire task as possible to one or more available computers in levels II or III based on the status reports reported to computer 205. Assuming that the entire task is distributed to computer 210, computer 210 would then divide the task of image enhancement into different portions which would be distributed to those computers 220-290 which are available for processing on lower level III.
  • each section of the image to be enhanced would be distributed for processing substantially concurrently to a different one of the computers of level III.
  • the finished enhanced section of the image processed by each computer in level III then would be transferred to computer 210 for combining the enhanced sections together to form an enhanced image of the entire license plate.
  • Processing of a task on a real time basis can be performed by system 200 due to the computing power obtained from the plurality of computers available for processing at any instant in time. Additionally, computer 205 is available for receiving additional tasks and distributing such additional tasks throughout system 200.
  • System 300 is an alternative embodiment of the invention which illustrates the computing power which can be achieved through use of a number of substantially identical computers connected together.
  • System 300 includes levels I, II, III, IV and V.
  • Level I is the highest level of system 300 with levels II, III, IV and V representing descending levels of priority.
  • Level I includes a computer 900.
  • a user - for example, the president of a company, inputs the requested task through the D7 link.
  • Computer 900 also includes a DO link which is connected to the C link of a computer 800.
  • Links D1-D6 are connected to other computers (not shown) in level II.
  • Level II of system 300 includes computer 800 and the other computers (not»shown) which are connected to the A and B links of computer 800 or -to other A and B links of other computers in level II to form a ring of computers within level II.
  • Links D2-D4 not used but available for connection to computers on level III.
  • the D7 link is used to receive requests from another user such as, for example, a vj.ce president of the company.
  • Links DO, DI, D5 and D6 are connected to the C links of a plurality of computers 400, 500, 600, and 700 which form level III, respectively.
  • the A links of computers 400, 500, 600 and 700 are connected to the B links of computers 700, 600, 500 and 400, respectively, to form a ring of computers in level III.
  • Links DO, D3, D6 and D7 of computer 400 are not used but are available for connection to other computers in level IV or to other users.
  • Links DI, D2, D4 and D5 of computer 400 are connected to the C links of a plurality of computers 410, 420, 430 and 440 which form a portion of level IV.
  • the D links of computers 500, 600 and 700 are connected to users or other computers similar to the D links of computer 400.
  • the A links of computers 410, 420, 430 and 440 are connected to the B links of computers 440, 430, 420 and 410, respectively, to form a subring of computers within level IV.
  • other subrings of computers within level IV can be formed which are connected through their C links to computers 500, 600 and 700, respectively.
  • Level V includes computers which are connected to the D links of computers 410, 420, 430 and 440. Other levels below lowest level V can be formed if desired. Computers throughout system 300 are substantially similar in construction to each other and are constructed similar to computer 100.
  • FIG. 7 illustrates the operation of FIG. 6 in terms of a flow chart.
  • a user requests that a task be processed in a step 1000.
  • the task is, for example, inputted through an expansion hardware port E or one of the communication links.
  • the task will be assumed inputted to the D link of computer 800.
  • Computer 800 then separates the task into portions under step 1010. Any status reports which computer 800 may receive through one or more of its D links are checked under step 1020 to determine if a computer on level III or level IV is available for processing one or more portions of the task.
  • a computer on a level III is available to process that portion of the task, such portion is sent on a D line to that available computer under step 1030. For example, if computer 400 is available for processing one or more portions of the task such one or more portions will be sent to computer 400 along the DO link of computer 800. Computer 400 will then check under step 1020 to see if there are any computers on a lower level available for processing the one or more portions of a task which it now has been asked to process. Since computer 400 is aware of the status of each computer on level IV through status signals being transmitted to computer 400 on its D links (i.e., the C links of computers on level IV) , computer 400 is instantaneously aware of whether one or more portions of the task can be transferred to computers on level
  • computer 400 proceeds from--step 1020 to step 1040.
  • the ring* of computers within level III allow computer 400 to transfer the one or more portions of the task through computers 500, 600 and/or 700 of level III to one or more of the computers within level IV which are connected to computers 500, 600 or 700 and which are available for processing.
  • Computer 800 in level, II does not need to be involved in the actual processing of any portion of the task at this time. Rather, computer 800 is still free to monitor and organize the processing of one or more portions of the task. In particular, computer 800 receives the status signals of all computers in levels III, IV and V and thereby monitors which computers in these levels are available for processing.
  • the portions of the task to be processed are first transferred through the C link of computer 400 to computer 800, then transferred to computer 500, 600 and/or 700 through the D links of computer 800 and finally to the one or more available computers in level IV through one or more D links of computers 500, 600 and/or 700.
  • the computers within level IV receiving these portions of the task would then proceed under step 1020 to determine if there are any computers on an even lower level available for processing such portions of the task. If there are no lower levels available for processing a task at the time of the status check, the computer within level IV having the portion of the task to process, would proceed from step 1020 to step 1040.
  • step 1060 computer 400 checks to see whether it is available to process that portion of the task. If computer 400 is available (which presumably it is since its status signal received by computer 800 indicated that computer 400 was available) , such processing occurs under step 1070 with the processed task then transferred to computer 800 (i.e. , the computer which originally requested that portion of the task be processed) under step 1080.
  • computer 900 checks to see if any computers within level II are available for processing the task under step 1090. If a computer other than computer 800 within level II is available for processing the task, that portion of the task is transferred under step 1100 to the available computer either (i) along the A and/or B links of level
  • step 1070 processing proceeds under step 1070.
  • the processed portion is then transferred to the original requesting computer (i.e. computer 800) under step 1080.
  • computer 800 can not transfer that portion of the task to an available computer on a lower level (i.e., levels III or IV) , can not process that portion of the task itself and has no computer on its same level (i.e., level II) which can process the task, the status of computer 900 on level I is checked by computer 900 to determine if it is available for processing under step 1110. If computer 900 is available, that portion of the task is sent to computer 900 along the C line of computer 800 under step 1120. Computer 900 then processes that portion of the task under step 1070. The processed portion is then sent to the original requesting computer under step 1080.
  • computer 800 will begin all over again by checking first to see if a computer on a lower level is available for processing.
  • those portions of the task which have not been transferred for processing to a lower level of the system through D links and which can not be currently processed by the computer which has these one or more portions is transferred along one or more C links until reaching a computer on a higher level which can either process the task itself or has received status signals of availability from a lower level computer.
  • the higher the level of the system the more computers report their availability status to a single computer and the more likely that an available computer will be found.
  • the unprocessed portions of the task will have been transferred to a computer within the highest level of the system (e.g., computer 900) which will retain the unprocessed portions of the task until an available computer is found based on the status signals received by computer 900.
  • a computer within the highest level of the system e.g., computer 900
  • computer system 300 follows the flow chart of FIG. ' 8. Initially, a user requests that a task be processed in step 2000. Once again, for exemplary purposes only, the task will be assumed inputted to the D link of computer 800. Computer 800 then separates the task into portions under step 2010.
  • Any status reports which computer 800 may receive through one or more of its D links are checked under step 2020 to determine if a computer on level III or level IV is available for processing one or more portions of the task.
  • a computer on level III is available to process a portion of the task, such portion is sent on a D line to that available computer under step 2030. For example, if computer 400 is available for processing one or more portions of the task such one or more portions will be sent to computer 400 along the DO link of computer 800. Computer 400 will then check under step 2020 to see if there are any computers on a lower level available for processing the one or more portions of a task which it now has been asked to process. Since computer 400 is aware of the status of each computer on level IV through status signals being transmitted to computer 400 on its D links (i.e., the C links of computers on level IV) , computer 400 is instantaneously aware of whether one or more portions of the task can be transferred to computers on level
  • step 2020 computer 400 which has the task checks to see that if it is available to process that portion or portions. Assuming that it is, computer 400 processes these one or more portions under step 2070 and then sends the processed portion or portions to the original requesting computer, that is, computer 800 under step 2080.
  • computer 800 checks to see if it is available to process the one or more portions of the task. If computer 800 is available, it processes the one or more portions under step 2070. Since it is the original requester of the task the processed portion remains with computer 800.
  • step 2100 computer 800 checks to see if there is a computer on a higher level (i.e. computer 900 on level I) .
  • the one or more portions of the task which have not yet been processed are then sent to computer 900 on the C link of computer 800 under step 2110.
  • computer 900 checks to see if a computer on a lower level is available to process one or more portions of the task. If not, computer 900 checks to see if it is available for processing and if so processes the one or more portions under steps 2060, 2070 and 2080. If no computers in system 300 are available, computer 900 retains the one or more unprocessed portions under step 2060 and proceeds to step
  • the operating system for each computer within systems 200 and 300 is responsible for handling page faults, memory allocations, message passing, CPU time allocation, local event flag waiting, security violations and interrupts and traps. Operating systems for handling such responsibilities are well known and can employ conventional techniques/schemes for handling the same.
  • System 300 can be adapted to provide a distributed computer system with personal computers (or any other type of suitable computers) throughout, for example, a corporation which not only allows the employees of the corporation to send messages to each other but of primary importance to allow each user of system 300 to distribute their tasks over the entire system 300. Consequently, each user need only bear the cost of one personal computer even though each user is obtaining the use of an equivalent mainframe, super computer or the like. In other words, each user is provided with an enormous amount of computer time with complete interlinking and sharing of hardware.
  • the invention thus provides the advantages of a distributed computer system using unlimited distributed processing while not requiring a complex and costly computer program such as required under the prior art cluster system. Real time processing is provided by system 200 and
  • systems 200 and 300 thereby avoiding the undesirable processing times required by prior art token ring systems. Furthermore, systems 200 and 300 avoid collisions of information during transfer between computers as in the ETHERNET* system.

Abstract

Un système informatique à répartition multiniveau pour le traitement réparti comprend de préférence une pluralité d'ordinateurs personnels. Une tâche entrée dans le système est divisée en plusieurs parties. On distribue autant de parties que possible pour les traiter sur le niveau le plus bas du système. Les parties non traitées sur le niveau le plus bas sont réparties pour être traitées sur le niveau suivant le plus bas. Les parties non traitées restantes de la tâche sont distribuées aux ordinateurs disponibles sur des niveaux successivement plus élevés du système jusqu'à ce que toutes les parties de la tâche aient été distribuées en vue d'être traitées.
PCT/US1989/003622 1988-08-25 1989-08-23 Systeme informatique a repartition multiniveau WO1990002378A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US236,493 1988-08-25
US07/236,493 US5025369A (en) 1988-08-25 1988-08-25 Computer system

Publications (1)

Publication Number Publication Date
WO1990002378A1 true WO1990002378A1 (fr) 1990-03-08

Family

ID=22889734

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US1989/003622 WO1990002378A1 (fr) 1988-08-25 1989-08-23 Systeme informatique a repartition multiniveau

Country Status (2)

Country Link
US (1) US5025369A (fr)
WO (1) WO1990002378A1 (fr)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278243A (en) * 1992-01-14 1994-01-11 Soane Technologies, Inc. High impact resistant macromolecular networks
EP2031511A1 (fr) * 2006-06-16 2009-03-04 NEC Corporation Système de traitement d'information et procédé de dispersion de charge
US8438282B2 (en) 2006-06-16 2013-05-07 Nec Corporation Information processing system and load sharing method

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0592080A2 (fr) * 1992-09-24 1994-04-13 International Business Machines Corporation Méthode et appareil pour la communication entre des processus dans un système multi-ordinateur
US5421004A (en) * 1992-09-24 1995-05-30 International Business Machines Corporation Hierarchical testing environment
JP3658420B2 (ja) * 1994-04-14 2005-06-08 株式会社日立製作所 分散処理システム
EP0694838A1 (fr) * 1994-07-25 1996-01-31 International Business Machines Corporation Recouvrement de transaction par pas
US5717919A (en) * 1995-10-02 1998-02-10 Sybase, Inc. Database system with methods for appending data records by partitioning an object into multiple page chains
US5944779A (en) * 1996-07-02 1999-08-31 Compbionics, Inc. Cluster of workstations for solving compute-intensive applications by exchanging interim computation results using a two phase communication protocol
US6725250B1 (en) 1996-11-29 2004-04-20 Ellis, Iii Frampton E. Global network computers
US6167428A (en) * 1996-11-29 2000-12-26 Ellis; Frampton E. Personal computer microprocessor firewalls for internet distributed processing
US7035906B1 (en) 1996-11-29 2006-04-25 Ellis Iii Frampton E Global network computers
US6732141B2 (en) 1996-11-29 2004-05-04 Frampton Erroll Ellis Commercial distributed processing by personal computers over the internet
US20050180095A1 (en) * 1996-11-29 2005-08-18 Ellis Frampton E. Global network computers
US7805756B2 (en) 1996-11-29 2010-09-28 Frampton E Ellis Microchips with inner firewalls, faraday cages, and/or photovoltaic cells
US8225003B2 (en) 1996-11-29 2012-07-17 Ellis Iii Frampton E Computers and microchips with a portion protected by an internal hardware firewall
US8312529B2 (en) 1996-11-29 2012-11-13 Ellis Frampton E Global network computers
US7634529B2 (en) 1996-11-29 2009-12-15 Ellis Iii Frampton E Personal and server computers having microchips with multiple processing units and internal firewalls
US7024449B1 (en) 1996-11-29 2006-04-04 Ellis Iii Frampton E Global network computers
US7506020B2 (en) 1996-11-29 2009-03-17 Frampton E Ellis Global network computers
US7926097B2 (en) 1996-11-29 2011-04-12 Ellis Iii Frampton E Computer or microchip protected from the internet by internal hardware
US6098091A (en) * 1996-12-30 2000-08-01 Intel Corporation Method and system including a central computer that assigns tasks to idle workstations using availability schedules and computational capabilities
US6584146B2 (en) 1999-01-13 2003-06-24 Vanu, Inc. Systems and methods for wireless communications
WO2001059993A2 (fr) * 2000-02-11 2001-08-16 Vanu, Inc. Systemes et procedes de communications radio
US6775831B1 (en) * 2000-02-11 2004-08-10 Overture Services, Inc. System and method for rapid completion of data processing tasks distributed on a network
US9355352B1 (en) 2000-02-24 2016-05-31 Richard Paiz Personal search results
US8977621B1 (en) 2000-02-24 2015-03-10 Richard Paiz Search engine optimizer
US7062527B1 (en) 2000-04-19 2006-06-13 Silicon Graphics, Inc. Management and scheduling of a distributed rendering method and system
US7092983B1 (en) * 2000-04-19 2006-08-15 Silicon Graphics, Inc. Method and system for secure remote distributed rendering
US7783695B1 (en) 2000-04-19 2010-08-24 Graphics Properties Holdings, Inc. Method and system for distributed rendering
US7876748B1 (en) 2000-09-07 2011-01-25 International Business Machines Corporation Stable hash-based mapping computation for a dynamically varying target set
US8024395B1 (en) * 2001-09-04 2011-09-20 Gary Odom Distributed processing multiple tier task allocation
US6915212B2 (en) * 2003-05-08 2005-07-05 Moac, Llc Systems and methods for processing complex data sets
US6996470B2 (en) * 2003-08-01 2006-02-07 Moac Llc Systems and methods for geophysical imaging using amorphous computational processing
US20050234926A1 (en) * 2004-04-12 2005-10-20 Andrew Warner Method to support authentication and authorization of web application user to database management system in web server based data-driven applications
US10959090B1 (en) 2004-08-25 2021-03-23 Richard Paiz Personal search results
US11468128B1 (en) 2006-10-20 2022-10-11 Richard Paiz Search engine optimizer
US7721291B2 (en) * 2004-10-15 2010-05-18 International Business Machines Corporation Apparatus, system, and method for automatically minimizing real-time task latency and maximizing non-real time task throughput
US8291042B2 (en) * 2006-07-31 2012-10-16 Lenovo (Singapore) Pte. Ltd. On-demand groupware computing
US8125796B2 (en) 2007-11-21 2012-02-28 Frampton E. Ellis Devices with faraday cages and internal flexibility sipes
KR101473215B1 (ko) * 2008-04-18 2014-12-17 삼성전자주식회사 파노라마 이미지 생성장치 및 그 방법
US10915523B1 (en) 2010-05-12 2021-02-09 Richard Paiz Codex search patterns
US10922363B1 (en) 2010-04-21 2021-02-16 Richard Paiz Codex search patterns
US11048765B1 (en) 2008-06-25 2021-06-29 Richard Paiz Search engine optimizer
US8429735B2 (en) 2010-01-26 2013-04-23 Frampton E. Ellis Method of using one or more secure private networks to actively configure the hardware of a computer or microchip
US11423018B1 (en) 2010-04-21 2022-08-23 Richard Paiz Multivariate analysis replica intelligent ambience evolving system
US11379473B1 (en) 2010-04-21 2022-07-05 Richard Paiz Site rank codex search patterns
US10936687B1 (en) 2010-04-21 2021-03-02 Richard Paiz Codex search patterns virtual maestro
US20140130056A1 (en) * 2012-11-05 2014-05-08 Rational Systems Llc Parallel Execution Framework
US11741090B1 (en) 2013-02-26 2023-08-29 Richard Paiz Site rank codex search patterns
US11809506B1 (en) 2013-02-26 2023-11-07 Richard Paiz Multivariant analyzing replicating intelligent ambience evolving system

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4130865A (en) * 1974-06-05 1978-12-19 Bolt Beranek And Newman Inc. Multiprocessor computer apparatus employing distributed communications paths and a passive task register
US4394730A (en) * 1975-12-04 1983-07-19 Tokyo Shibaura Denki Kabushiki Kaisha Multi-processor system employing job-swapping between different priority processors
US4394727A (en) * 1981-05-04 1983-07-19 International Business Machines Corporation Multi-processor task dispatching apparatus

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3219980A (en) * 1960-06-30 1965-11-23 Ibm Computer multiplexing apparatus
US4149240A (en) * 1974-03-29 1979-04-10 Massachusetts Institute Of Technology Data processing apparatus for highly parallel execution of data structure operations
US3962685A (en) * 1974-06-03 1976-06-08 General Electric Company Data processing system having pyramidal hierarchy control flow
US4047161A (en) * 1976-04-30 1977-09-06 International Business Machines Corporation Task management apparatus
DE2641741C2 (de) * 1976-09-16 1986-01-16 Siemens AG, 1000 Berlin und 8000 München Rechenanlage aus mehreren miteinander über ein Sammelleitungssystem verbundenen und zusammenwirkenden Einzelrechnern und einem Steuerrechner
US4223380A (en) * 1978-04-06 1980-09-16 Ncr Corporation Distributed multiprocessor communication system
US4251861A (en) * 1978-10-27 1981-02-17 Mago Gyula A Cellular network of processors
US4333144A (en) * 1980-02-05 1982-06-01 The Bendix Corporation Task communicator for multiple computer system
US4583164A (en) * 1981-08-19 1986-04-15 Tolle Donald M Syntactically self-structuring cellular computer
US4714989A (en) * 1982-02-19 1987-12-22 Billings Roger E Funtionally structured distributed data processing system
US4539655A (en) * 1982-03-16 1985-09-03 Phoenix Digital Corporation Microcomputer based distributed control network
US4800521A (en) * 1982-09-21 1989-01-24 Xerox Corporation Task control manager
US4591976A (en) * 1983-06-17 1986-05-27 The United States Of America As Represented By The Secretary Of The Air Force Multiple task oriented processor
US4825354A (en) * 1985-11-12 1989-04-25 American Telephone And Telegraph Company, At&T Bell Laboratories Method of file access in a distributed processing computer network
US4914657A (en) * 1987-04-15 1990-04-03 Allied-Signal Inc. Operations controller for a fault tolerant multiple node processing system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4130865A (en) * 1974-06-05 1978-12-19 Bolt Beranek And Newman Inc. Multiprocessor computer apparatus employing distributed communications paths and a passive task register
US4394730A (en) * 1975-12-04 1983-07-19 Tokyo Shibaura Denki Kabushiki Kaisha Multi-processor system employing job-swapping between different priority processors
US4394727A (en) * 1981-05-04 1983-07-19 International Business Machines Corporation Multi-processor task dispatching apparatus

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5278243A (en) * 1992-01-14 1994-01-11 Soane Technologies, Inc. High impact resistant macromolecular networks
EP2031511A1 (fr) * 2006-06-16 2009-03-04 NEC Corporation Système de traitement d'information et procédé de dispersion de charge
EP2031511A4 (fr) * 2006-06-16 2010-03-24 Nec Corp Système de traitement d'information et procédé de dispersion de charge
US8438282B2 (en) 2006-06-16 2013-05-07 Nec Corporation Information processing system and load sharing method

Also Published As

Publication number Publication date
US5025369A (en) 1991-06-18

Similar Documents

Publication Publication Date Title
US5025369A (en) Computer system
Hwang et al. A Unix-Based local computer network with load balancing
US5220674A (en) Local area print server for requesting and storing required resource data and forwarding printer status message to selected destination
Farber A distributed computer system
US5253342A (en) Intermachine communication services
US6052752A (en) Hierarchical dual bus architecture for use in an electronic switching system employing a distributed control architecture
EP0321723B1 (fr) Appareil pour un système de traitement de données à relation d'égal à égal entre plusieurs unités centrales de traitement
US4390944A (en) System for controlling access to a common bus in a computer system
JPH0581216A (ja) 並列プロセツサ
EP0381645A2 (fr) Système et méthode de communication entre plusieurs processeurs
EP0398649A2 (fr) Traitement à distance d'interruption
EP0183431B1 (fr) Système de commande de réseau pour modules de processeurs multiples
US5640520A (en) Mechanism for supporting out-of-order service of bus requests with in-order only requesters devices
EP0286807A2 (fr) Méthode pour contrôler l'accès de transactions concurrentes à des ressources
JPS6347303B2 (fr)
Shin et al. A distributed i/o architecture for harts
EP0577431B1 (fr) Procédé de remise à zéro de modules couplés et système utilisant le procédé
Ahuja et al. A multi-microprocessor architecture with hardware support for communication and scheduling
JPH01501660A (ja) コンピユータ間通信制御装置及びその方法
JPH01305461A (ja) バス使用権制御方式
JP2507140B2 (ja) 多重並列デ―タバス装置
Barman et al. Dynamic load balancing algorithm in homogeneously distributed systems using donor-acceptor policy
KR960009913B1 (ko) 통신시스템에 있어서 공통의 버스 자원을 공유한 다수 프로세서의 통신 데이타 송·수신 방법
JPS619742A (ja) 事象管理方式
JPH04128959A (ja) マルチプロセッサシステムにおける負荷分配方法

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE FR GB IT LU NL SE