The present invention relates to computer managed communication networks such as the World Wide Web (Web) and, particularly, to systems, processes and programs for the distribution of computer power, i.e. distributed data processing carried out over the Web.
The past decade has been marked by a technological revolution driven by the convergence of the data processing industry with the consumer electronics industry. The effect has, in turn, driven technologies that have been known and available but relatively quiescent over the years. A major one of these technologies is the Internet or Web (the two terms are used interchangeably) related distribution of documents, media and programs. The convergence of the electronic entertainment and consumer industries with data processing exponentially accelerated the demand for wide ranging communications distribution channels, and the Web or Internet, which had quietly existed for over a generation as a loose academic and government data distribution facility, reached “critical mass” and commenced a period of phenomenal expansion. With this expansion, businesses and consumers have direct access to all matter of documents, media and computer programs.
Because of the pervasiveness of the Internet or Web, it is expected that it would be considered as an available network for distributed data processing or distributed computing. Distributed computing has conventionally been used for projects that require large amounts of computing power. One typical example is finding a 100,000 digit prime number. It has been estimated that testing just one 100,000 prime number would take a 500 mhz computer one year. Thus, such tasks have been cumbersome for even super computers. This need initially gave rise to distributed computing to cover projects related to the environment, genetics, disease control and like scientific research related to the preservation and advancement of civilization. Now, with the availability of the Web linking computers throughout the world, important research projects requiring the application of tremendous computing power have been using volunteers to permit research project management to distribute computing functions over the Web to the volunteer computers that perform such functions as secondary or background functions that do not interfere with the primary functioning of the volunteer computers. In such distributed computing, the reward to the volunteer computer host is the spiritual compensation that they are doing something in the progress of civilization.
On the other hand, distributed data processing has been available for years within business organizations to break down functions requiring large amounts of computer power over relatively short periods of time, and networks and even the Web have been used in the distribution of such data processing internal to business organizations.
However, in light of the extensive distributive network offered by the Web to all matter of computers and computing power, together with continuous advancement of distributive computing technology, greater opportunities are offered for distributive computing over the Web. The present invention develops such an approach to distributive computing over the Web.
The present invention provides a method, system and program of doing business that enables a computer power service broker operating over the Web to distribute and track such distribution of computer power. The computer power service broker solicits: each of a plurality of client computer stations on the Web to offer for general distribution over the Web computer power in excess to the computer power requirements of each respective client computer station; and a plurality of consumer stations on the Web to request the performance of functions requiring computer power. The broker then distributes each of said requested functions requiring computer power among a plurality of said client stations offering said computer power; and then tracks and bills consumer stations for computer power used in performance of requested functions. Finally, the computer power broker tracks and compensates the client stations for the excess computer power that they contribute in performance of the requested functions. The compensation may be determined by the market value of the broken down functions or tasks.
It should be noted that with such a broker arrangement, the consumer stations need not be the previously described projects or organizations requiring tremendous amounts of computer power for large scale scientific research. The consumers may just be stations wishing to outsource, i.e. request the performance of, some computer functions. With the current emphasis on “lean and mean” business organizations, it may very well be the case that a business may wish to wait before it is ready to invest in more data processing resources upon an increase in computer power demands that may turn out to be temporary. Under such conditions, businesses may be very amenable to the outsourcing of computer functions enabled by this invention.
On the other hand, in the case where the client computer makes a voluntary contribution wherein the consumer stations requesting the performance of functions requiring computer power are owned by charitable organizations, then the step of compensating said client stations for said computer power compensates said client stations by providing a Web document indicating the contribution of the market value of the computer power supplied.
In the fundamental application of the present invention, the market value of the computer power provided by each client station is determined by the amount of data processed and the type of data processing used in processing the data.
When a client computer station solicited by the computer power service broker agrees to participate in the distributed Web computing system, the client station permits the computer power service broker to access, via the Web, the computer power of said client station, and there is then distributed through the broker via the Web to said client station, a process, e.g. program or routine, permitting said computer power service broker to access the computer power of said client station.
The present invention will be better understood and its numerous objects and advantages will become more apparent to those skilled in the art by reference to the following drawings, in conjunction with the accompanying specification, in which:
Referring to
Before there is any further description of the respective computer functions in the present invention, a generalized example of distributed computing via the Web will be considered with respect to
The Internet or Web is a global network of a heterogeneous mix of computer technologies and operating systems. Higher level objects are linked to the lower level objects in the hierarchy through a variety of network server computers. These network servers are the key to network distribution, such as the distribution of Web pages and related documentation. In this connection, the term “documents” is used to describe data transmitted over the Web or other networks and is intended to include Web pages with displayable text, graphics and other images, as well as computer programs. This displayable information may be still, in motion or animated, e.g. animated GIF images.
Web documents are conventionally implemented in HTML language, which is described in detail in the text entitled Just Java, van der Linden, 1997, SunSoft Press, particularly at Chapter 7, pp. 249-268, dealing with the handling of Web pages; and also in the text, Mastering the Internet, particularly at pp. 637-642, on HTML in the formation of Web pages. In addition, aspects of this description will refer to Web browsers. A general and comprehensive description of browsers may be found in the above-mentioned Mastering the Internet text at pp. 291-313. More detailed browser descriptions may be found in the text, Internet: The Complete Reference, Millennium Edition, M. L. Young et al., Osborne/McGraw-Hill, Berkeley Calif., 1999, Chapter 19, pp. 419-454, on the Netscape Navigator; Chapter 20, pp. 455-494, on the Microsoft Internet Explorer; and Chapter 21, pp. 495-512, covering Lynx, Opera and other browsers.
As for distributed computing or data processing systems, in its broadest sense, it may involve an environment wherein idle CPU cycles and storage spaces of from tens to thousands of computers networked together, e.g. over the Web to work on problems that conventionally have been processing intensive. Such distributed computing over the Web and like networks was, in the past, hampered by bandwidth limitations. However, recent dramatic increases in available bandwidth, as well as the greatly increased CPU power on the ubiquitous desktop computers, has made potential applications for distributed computing via the Internet or Web much more practical.
The concepts of the present invention are applicable to grid computing that usually involves larger computer systems initially set up for distributed computing so that the computing power needed is distributed among powerful workstations, even mainframes and super computers, and the problems involve the processing of very large data sets. In the embodiment of the invention to be described, the distributed computing will involve the soliciting and pooling of the computer power of many networked end users or receiving stations, “client computers”, of more limited processing power and whose primary function is not distributed computing.
It is primarily to this latter group of client computers that the present invention is directed. In the present invention, a Web service provider, such as service provider 53 in
Now in an illustrative operation, computer power broker 53 solicits computer stations on the Web for jobs or projects that may require distributed computing or data processing. Assume that each of Web computer stations 57, 42 and 43 responds, e.g. interactively, to a Web page from broker 53 offering to have such projects completed through distributed processing. Broker 53 has also solicited client computer power supplier stations 63 through 66 together with their respective database resources 67 through 70 to agree to do the distributed data processing as required by broker 53. This provision of computer power and storage resources by computer stations 63 through 66 is agreed to be only resources and power in excess of those required by stations to perform their own respective functions. At this point, stations 63 through 66 have interactively, via the Web through their Web service provider 62, agreed to participate in the distributed data processing during background or computer idle time. As will be hereinafter described in greater detail with respect to the programming of the present invention, service provider broker 53 distributes and installs over the Web 60 via the server of service provider 62 a relatively simple program routine that detects when the computer station 63 through 66 is idle and notifies a management server, e.g. server 62. The client computer 63 through 66 then receives a data package via the Web that it runs when it has spare CPU cycles and sends the results back through server 62 via the Web to broker 53 that collects the distributed processing, puts the job or project function results together, bills the respective consumer station 57, 42 or 43 and compensates the client computer power providers station compensation, as will be hereinafter described.
Returning now to the description of the basic computer of
The running of the process set up in
Although certain preferred embodiments have been shown and described, it will be understood that many changes and modifications may be made therein without departing from the scope and intent of the appended claims.