WO2002031654A1 - Distributed use of heterogeneous networked computers with billing - Google Patents

Distributed use of heterogeneous networked computers with billing Download PDF

Info

Publication number
WO2002031654A1
WO2002031654A1 PCT/DE2000/003553 DE0003553W WO0231654A1 WO 2002031654 A1 WO2002031654 A1 WO 2002031654A1 DE 0003553 W DE0003553 W DE 0003553W WO 0231654 A1 WO0231654 A1 WO 0231654A1
Authority
WO
WIPO (PCT)
Prior art keywords
mediator
order
provider
worker
orders
Prior art date
Application number
PCT/DE2000/003553
Other languages
German (de)
French (fr)
Inventor
Rainer Glaschick
Gerhard Schulz
Wolfgang Thronicke
Original Assignee
Siemens Aktiengesellschaft
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 Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to PCT/DE2000/003553 priority Critical patent/WO2002031654A1/en
Publication of WO2002031654A1 publication Critical patent/WO2002031654A1/en

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/5061Partitioning or combining of resources
    • G06F9/5072Grid computing
    • 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

Abstract

The invention relates to a method for using free computer capacity. According to this method, a conveyor conveys orders and has these orders processed several times for security.

Description

Verteilte Nutzung heterogener vernetzter Rechner mit Abrechnung Distributed use of heterogeneous networked computers with billing
Die Erfindung betrifft die Nutzung vernetzter heterogener Rechner, wobei die von den Rechnern abgerufene Leistung vergütet wird. Sie betrifft insbesondere Techniken, bei denen ansonsten nicht genutzte Rechnerleistung ausgenutzt wird.The invention relates to the use of networked heterogeneous computers, wherein the service called up by the computers is remunerated. It relates in particular to techniques in which otherwise unused computing power is used.
Sehr bald nach Erfindung der Computer wurden Betriebssysteme entwickelt, die zu Anfang, wie z.B. das Betriebssystem "IBSYS" für die Rechner der Serie "7040" und "7090" der Firma IBM, die die Aufgabe hatten, den Rechner möglichst gut auszulasten. Durch den Fortschritt der Mikroprozessortechnik in Verbindung mit der Entwicklung von Arbeitsplatz- rechnern mit graphischen Oberflächen hat sich die Situation ergeben, daß letztere überwiegend im Leerlauf sind, weil die Rechenleistung lediglich als Spitzenleistung benötigt wird. Daher sind mittlerweile Überlegungen und Lösungen bekannt geworden, die diese nicht genutzte Rechenleistung sinnvoll verwenden soll. Hierüber findet sich eine gute Übersicht in dem Artikel von Brian Hayes, "Collective Wis- dom", American Scientist, Vol. 86. No.2 (1998), p. 118-122. Er beschreibt insbesondere die bereits aktiven Anwendungen wie "distributed.net" und "SETI@home".Very soon after the invention of the computer, operating systems were developed that initially, such as the operating system "IBSYS" for the computers of the "7040" and "7090" series from IBM, which had the task of using the computer as well as possible. Due to the progress of microprocessor technology in connection with the development of workstations with graphical user interfaces, the situation has arisen that the latter are mostly idle, because the computing power is only required as peak performance. Therefore, considerations and solutions have become known that should use this unused computing power wisely. A good overview of this can be found in the article by Brian Hayes, "Collective Wisdom", American Scientist, Vol. 86. No.2 (1998), p. 118-122. It describes in particular the already active applications such as "distributed.net" and "SETI @ home".
Diese Anwendungen haben eine Reihe von Gemeinsamkeiten:These applications have a number of things in common:
• Es handelt sich um fest definierte Anwendungen, so daß der "Sponsor" kein oder wenig Sorge haben muß, daß die Anwendung ein Sicherheitsrisiko darstellt, • Der Vorrat an Teilaufgaben ist sehr viel größer als die Anzahl der Teilnehmer; d.h., die Gesamtaufgäbe ist einfach in eine sehr große Anzahl von Teilaufgaben teilbar,• These are defined applications, so that the "sponsor" has little or no concern that the application poses a security risk, • The supply of subtasks is much larger than the number of participants; that is, the total tasks can easily be divided into a very large number of subtasks,
• Verlorengegangene Aufträge sind für das Ergebnis unpro- blematisch,• Lost orders are unproblematic for the result,
• Die Rechenleistung wird von den Teilnehmern gespendet,• The computing power is donated by the participants,
• Die Aufträge werden von einer Zentrale aus verwaltet und verteilt; d.h. die Zentrale ist gleichzeitig Auftraggeber,• The orders are managed and distributed from a central office; i.e. the head office is also the client,
• Der Zeithorizont der Fertigstellung für das Gesamtprojekt liegt eher im Bereich von Monaten bis Jahren als in Tagen,• The time horizon of completion for the overall project is in the range of months to years rather than days,
• Das benötigte Betriebsmittel ist im wesentlichen Rechenzeit; hingegen wird wenig Speicherplatz benötigt,• The required equipment is essentially computing time; on the other hand, little storage space is required,
• Die Bearbeitungszeit für eine Teilaufgabe kann problemlos eine Woche sein, so daß ein relativ seltener Zugriff über das Netzwerk auf die Zentrale notwendig ist .• The processing time for a subtask can easily be a week, so that relatively rare access to the control center is necessary via the network.
In dem letzten Abschnitt des o.g. Artikels von Hayes wird jedoch bereits erwähnt, daß auch eine kommerzielle Nutzung der ungenutzten Rechnerleistung denkbar sei, bei der freie Rechnerleistung angeboten und über eine Zentrale beide zueinander gebracht werden. Allerdings sei noch eine Anzahl von Problemen zu lösen, die einen tatsächlichen Einsatz bislang verhindert haben, darunter Probleme der Sicherheit und Vertraulichkeit : • Wie wird verhindert, daß von dem Rechner Information entwendet wird?In the last section of the above-mentioned article by Hayes, however, it is already mentioned that commercial use of the unused computing power is also conceivable, in which free computing power is offered and both are brought together via a central office. However, there are still a number of problems to be solved that have so far prevented actual use, including problems of security and confidentiality: • How is information prevented from being stolen from the computer?
• Wie wird verhindert, daß die Daten des Auftrags mißbraucht werden?• How is the order data prevented from being misused?
Bei den bereits bekannten Anwendungen wie "distributed.net" und "SETI@home" sind diese Probleme nicht relevant.These problems are not relevant for the already known applications such as "distributed.net" and "SETI @ home".
Noch nicht von Hayes benannt wurden Probleme, die sich aus der Abrechung von Rechenleistung insofern ergeben, daß nicht einfach falsche Ergebnisse abgegeben werden oder die dazu benötigte Rechenzeit überhöht in Rechnung gestellt wird. Hierzu sei es notwendig, die Rechenleistung der Zentraleinheiten finanziell vergleichbar zu machen.Problems have not yet been named by Hayes, which result from the billing of computing power insofar as incorrect results are not simply given or the computing time required for this is overcharged. For this, it was necessary to make the computing power of the central processing units financially comparable.
Nach Hayes ist eine Lösung zwar grundsätzlich denkbar, aber noch keine allgemein praktikable Lösung bekannt,According to Hayes, a solution is possible in principle, but no generally practicable solution is known yet,
Es ergibt sich aus der folgenden Beschreibung, daß die Lösung dieser Aufgabe weniger schwierig ist, als beispielsweise von Hayes angenommen wurde .It follows from the following description that this task is less difficult than was assumed, for example, by Hayes.
Zur Vereinfachung der Beschreibung werden die verschiedenen Rollen wie folgt bezeichnet :To simplify the description, the different roles are designated as follows:
Anbieter: ('tenderer') Stellt Aufträge ('Jobs') für eine Bearbeitung bereit und erhält die ErgebnisseProvider: ('tenderer') Provides orders ('Jobs') for processing and receives the results
Arbeiter: ('Jobber') Holt sich Aufträge, wenn Rechenleistung frei ist, und liefert Ergebnisse.Worker: ('Jobber') Fetches orders when computing power is free and delivers results.
Eine erste Maßnahme besteht darin, einen Vermittler ('agent', 'conveyor ') einzuführen. Dieser nimmt die Aufträge von den Anbietern entgegen und reiht sie in eine Auftrags- Warteschlage ein. Gleichzeitig fragen die Arbeiter bei dem Vermittler nach Aufträgen an. Die wesentliche Funktion des Vermittlers ist es dabei, Anbieter und Arbeiter gegeneinander zu anonymisieren und die Leistungen abzurechnen. Zwar hat Hayes bereits ein 'clearinghouse' vorgeschlagen; aus dem Zusammenhang geht jedoch hervor, daß dessen primäre Aufgabe die Preisbildung gemäß Angebot und Nachfrage sei. Hayes fehlt jedoch die Erkenntnis, daß bei Aufgaben, die sich in sehr viele relativ unabhängige Aufträge zerlegen lassen, die Kenntnis eines einzigen bzw. einer kleinen, zufällig ausgewählten Anzahl von Aufträgen dem Arbeiter ohnehin nur unter Einsatz von großer Rechenleistung erlaubt, auf die Gesamtaufgabe zu schließen und eine signifikante Informationsmenge zu erhalten. In der Kryptographie ist dieses Prinzip von großer Bedeutung: Wenn ein Schlüssel als Zufallszahl gewählt wird, dann ist es zwar theoretisch möglich, die Nachricht durch einen zweiten zufällig gewählten Schlüssel zu entschlüsseln. Allein die geringe Erfolgswahrscheinlichkeit jedoch führt dazu, daß gar nicht erst der Versuch unternommen wird. Wenn zudem noch der Anbieter dem Arbeiter nicht bekannt ist, sinken dessen Chancen, aus den Aufträgen Information illegal zu entnehmen. Dies umso mehr, wenn der Vermittler, dem ja Anbieter und Arbeiter bekannt sind, bei der Auswahl der Arbeiter berücksichtigt, daß kein Arbeiter mehr als einen vorbestimmten Prozentsatz der Aufträge einer einzigen Klasse, die vom Anbieter vorgegeben ist, erhält. Da die Klasse nicht an den Arbeiter mitgegeben wird, hat auch ein (illegaler) Zusammenschluß von Arbeitern praktisch keine Chance, aus den Aufträgen verwertbare Daten zu entwenden. Gleichzeitig kann der Vermittler das Abrechnungsproblem lösen. In der einfachsten Form wird jeder Auftrag an zwei verschiedene Arbeiter übermittelt. Erstens müssen die Ergebnisse identisch sein, und zweitens sind beide Arbeiter gleich zu vergüten. Es zeigt sich, daß durch diese bewußte "Verschwendung" von Rechenleistung sichergestellt wird, daß sich für den Arbeiter Manipulationen nicht lohnen. Immerhin wird auf diese Art und Weise überhaupt erst einmal die ungenutzte Rechenleistung des Internet kommerziell verfügbar und eine große Anzahl von Teilnehmern erschlossen, die bislang mangels Anreiz kein Interesse haben.A first measure is to introduce an agent ('conveyor'). This accepts the orders from the providers and lines them up in an order Queue on. At the same time, the workers ask the agent for orders. The essential function of the intermediary is to anonymize providers and workers against each other and to bill the services. Hayes has already proposed a 'clearinghouse'; however, it appears from the context that its primary task is to set prices according to supply and demand. However, Hayes lacks the knowledge that in the case of tasks that can be broken down into a large number of relatively independent orders, knowledge of a single or a small, randomly selected number of orders only allows the worker to use the entire task with great computing power close and get a significant amount of information. This principle is of great importance in cryptography: If a key is chosen as a random number, it is theoretically possible to decrypt the message with a second randomly chosen key. However, the low probability of success means that no attempt is made in the first place. If the provider is also unknown to the worker, his chances of illegally extracting information from the orders decrease. This is all the more so if the agent, who is known to the supplier and worker, takes into account when selecting the worker that no worker receives more than a predetermined percentage of the orders of a single class, which is specified by the provider. Since the class is not given to the worker, an (illegal) association of workers has practically no chance of stealing usable data from the orders. At the same time, the intermediary can solve the billing problem. In the simplest form, each job is sent to two different workers. First, the results have to be identical, and second, both workers are to be paid equally. It turns out that this deliberate "waste" of computing power ensures that manipulations are not worthwhile for the worker. After all, in this way the unused computing power of the Internet becomes commercially available and a large number of participants are tapped who have so far been of no interest due to the lack of incentive.
Allein schon dadurch, daß der Vermittler und nicht der Anbieter Vertragspartner des Arbeiters ist, hat letzterer auch eine praktische Sicherheit dagegen, daß die Programme seine Daten ausspionieren. Abgesehen von möglicher Haftung für Schäden wird ein Vermittler, der sich diesbezüglich einen Fehler leistet, in der Regel sofort seine Arbeiter an einen anderen Vermittler verlieren, da das Umschalten auf einen anderen Vermittler praktisch ohne Aufwand für den Ar- beiter möglich ist.Simply because the agent and not the provider is the contractor of the worker, the latter also has practical security against the programs spying on his data. Aside from possible liability for damage, an agent who makes a mistake in this regard will usually immediately lose his workers to another agent, since switching to another agent is practically effortless for the worker.
Dabei muß der Vermittler in seiner Warteschlage gar nicht die Daten der Aufträge selbst speichern. Der Anbieter übermittelt in diesem Fall lediglich eine URL, mit der ein Auftrag von seinem Server abrufbar ist . Dies kann auch eine URL für dynamische Datenlieferung sein, wie sie mit einem CGI-Script erreichbar ist. Diese Information wird in die Warteschlange eingereiht. Ein Arbeiter, der einen solchen Auftrag bearbeiten möchte, erhält seinerseits eine URL, die jedoch von der des Anbieters unterschiedlich ist. Mit die- ser URL wendet sich der Arbeiter an den Vermittler in der Art, wie ein 'proxy server' arbeitet. Dieser holt dann aktuell die Daten vom Anbieter und reicht sie an den Arbeiter weiter.The agent does not even have to save the data of the orders in his queue. In this case, the provider only transmits a URL with which an order can be called up from its server. This can also be a URL for dynamic data delivery, as can be reached with a CGI script. This information is put in the queue. A worker who wants to process such an order in turn receives a URL, but this is different from that of the provider. With this URL, the worker turns to the agent in the The way a 'proxy server' works. The latter then fetches the data from the provider and passes it on to the worker.
Wesentlich für die Sicherheit der Lösung ist es, daß die Aufträge von Filtern durchgeführt werden. Filter sind Programme, die genau eine Eingabedatei sequentiell lesen und genau eine Ausgabedatei sequentiell schreiben. Eine der gleichzeitig einfachsten und effektivsten Filter ist ein P- code Interpreter. P-code steht für eine für die Program- miersprache PASCAL entworfene virtuelle Maschinensprache, die von den ersten PASCAL-Compilern verwendet wurde. Ein P- code Interpreter für die ursprüngliche Definition von PASCAL ist auf eine Filterfunktion ausgelegt, kann also keine weiteren Systemzugriffe durchführen. Die Eingabedatei enthält dann zunächst den P-code des auszuführenden Programms, sicherlich in gepackter Form, und sodann die Eingabedaten. Das interpretierte Programm liest Eingabezeile für Eingabezeile und erzeugt die entsprechenden Ausgaben. Gegebenenfalls wird das Programm Eingaben in Arrays zwischen- speichern, wenn ein Zurücksetzen auf den Anfang nicht vorgesehen ist. Auf jeden Fall ist ein solcher P-code Interpreter im Quellcode recht klein und kann daher problemlos auch im Quellcode zur Verfügung gestellt werden, so daß dieser einmal bei der Installation gegen Sicherheitslücken geprüft werden kann, wenn nicht ohnehin die Komponente, die den Arbeiter realisiert, von dem Vermittler als Binärdatei übernommen wird. In einer Variante ruft der Arbeiter zunächst die gesamte Eingabedatei ab und speichert sie auf seiner eigenen Platte zwischen, führt sodann den Auftrag durch, speichert die Ausgaben gleichfalls zwischen und sendet dann die Ausgaben 'en bloc' zurück. Dies ist besonders vorteilhaft, wenn die Netzwerkanbindung nur temporär besteht. Alternativ kann mit Beginn der Bearbeitung des Auftrags je eine Eingangs-und Ausgangsverbindung zu dem Anbieter, in der Regel über den Vermittler, aufgebaut werden. Dabei werden dann Eingabezeilen solange gepuffert, wie Platz dafür bereitsteht, und nach deren Aufbrauchen über die Verbindung weitere angefordert. Entsprechend wird die Ausgabe zwar gepuffert, aber regelmäßig über die Ausgangsverbindung abgeliefert . Dieses Verhalten ist dann besonders sinnvoll, wenn eine große Datenmenge bearbeitet werden muß. Analog zu der Verwendung von PASCAL ist die Verwendung von JAVA, für welches gleichfalls ein virtueller Befehlssatz definiert ist, hier JAVA Bytecode genannt. Bei JAVA sind zudem 'on-the-fly Compiler bekannt, die den Bytecode im Verlaufe der Ausführung in Maschinencode umsetzen und so eine sehr hohe Effizienz erreichen. Das auch 'sandbox' genannte Sicherheitskonzept von JAVA erlaubt es auch, dem JAVA Programm keine Privilegien einzuräumen, so daß ein Ausspionieren des Arbeiter-Rechners unterbunden wird. Da in P-code bzw. JAVA Bytecode die ursprünglichen Bezeichner nicht mehr vorhanden sind, sondern nur noch durchnumeri- rierte Variablen, ist es mit größerem Aufwand verbunden, dieses Programm zurückzuübersetzen. Auch dieses führt dazu, daß es praktisch unmöglich ist, sowohl den Anbieter als auch das von diesem bearbeitete Problem mitsamt einer ausreichenden Datenmenge zu ermitteln.It is essential for the security of the solution that the orders are carried out by filters. Filters are programs that read exactly one input file sequentially and write exactly one output file sequentially. One of the simplest and most effective filters is a P-code interpreter. P-code stands for a virtual machine language designed for the PASCAL programming language, which was used by the first PASCAL compilers. A P-code interpreter for the original definition of PASCAL is designed for a filter function, so it cannot carry out any further system accesses. The input file then contains the P code of the program to be executed, certainly in a packed form, and then the input data. The interpreted program reads input line by input line and generates the corresponding output. If necessary, the program will temporarily store entries in arrays if a reset to the beginning is not intended. In any case, such a P-code interpreter is quite small in the source code and can therefore also be made available in the source code without any problems, so that it can be checked against security gaps during installation, if not the component that realizes the worker, is adopted by the intermediary as a binary file. In a variant, the worker first retrieves the entire input file and stores it temporarily on his own disk, then executes the job, also temporarily stores the output and then sends the output back "en bloc". This is special advantageous if the network connection is only temporary. Alternatively, one input and one output connection to the provider, usually via the intermediary, can be set up when the order is processed. Input lines are then buffered as long as there is space for them, and further requests are made via the connection after they have been used up. Accordingly, the output is buffered, but is regularly delivered via the output connection. This behavior is particularly useful when a large amount of data has to be processed. Analogous to the use of PASCAL, the use of JAVA, for which a virtual command set is also defined, is called JAVA bytecode here. At JAVA, on-the-fly compilers are also known that convert the bytecode into machine code during execution and thus achieve very high efficiency. The security concept from JAVA, also called 'sandbox', also allows no privileges to be granted to the JAVA program, so that spying on the workers' computer is prevented. Since the original identifiers are no longer available in P-code or JAVA bytecode, but only numbered variables, it takes more effort to recompile this program. This also leads to the fact that it is practically impossible to determine both the provider and the problem dealt with by them, together with a sufficient amount of data.
Gerade bei P-code- oder Bytecode-Interpretern ist das Problem der Leistungsbewertung relativ einfach, indem die Anzahl der ausgeführten P-Code oder Bytecode-Befehle gezählt und abgerechnet wird. Dies ist selbst bei 'on-the-fly' com- pilern möglich, auch wenn dies zu einer geringen Leistungsverminderung führt .With P-code or bytecode interpreters in particular, the problem of performance evaluation is relatively simple in that the number of P-code or bytecode commands executed is counted and billed. This is even with 'on-the-fly' com- pilers possible, even if this leads to a slight reduction in performance.
Einer der einfachsten Arbeiter besteht daher aus einem ständig bzw. zeit -oder ereignis-gesteuerten Programm, z.B. einem Bildschirmschoner, der von dem Vermittler eine URL holt, sodann die damit bezeichnete HTML-Datei holt und formatiert. Die HTML-Datei erhält JAVA oder JAVAscript ' app- lets', welche dann ausgeführt werden. Die Ergebnisse des Programms bzw. Scripts werden sodann als HTML-Formular an den Anbieter über die proxy-Funktion des Vermittlers geschickt .One of the simplest workers therefore consists of a constantly or time-controlled or event-controlled program, e.g. a screen saver that fetches a URL from the intermediary, then fetches and formats the HTML file designated with it. The HTML file receives JAVA or JAVAscript 'applets', which are then executed. The results of the program or scripts are then sent to the provider as an HTML form using the intermediary's proxy function.
Anstelle von Filtern, die immer einen Auftrag vollständig ausführen, können auch Lösungen vorgesehen werden, bei denen ein teilweise bearbeiteter Auftrag wieder in die Warteschlänge eingereiht wird und vom nächsten Arbeiter weiterbearbeitet werden. Diese sind auch unter dem Begriff 'agen- ten' bekannt. Hier sind zwei Varianten gegeben: zum Einen feste Anwendungen, bei denen das Datenformat so gewählt ist, daß immer ein Zwischenstand abgespeichert wird. Als Beispiel mag die Diagonalisierung einer Matrix dienen, deren Bearbeitung aus einer Kette von Matrizen besteht, die sich immer mehr an das Ergebnis annähern und es schließlich erreicht. Eine andere Variante, auch als 'snapshot' bezeichnet, speichert die Werte der Programmvariablen zusam- men mit dem Programm und kann damit die Ausführung wiederaufnehmen. Allerdings verlangt diese Version recht viel Speicher zum Speichern des Zwischenzustands.Instead of filters that always complete a job completely, solutions can also be provided in which a partially processed job is queued again and processed by the next worker. These are also known under the term 'agents'. There are two variants here: firstly, fixed applications in which the data format is selected so that an intermediate status is always saved. The diagonalization of a matrix can be used as an example, the processing of which consists of a chain of matrices that come closer and closer to the result and finally reaches it. Another variant, also referred to as 'snapshot', stores the values of the program variables together with the program and can therefore resume execution. However, this version requires quite a bit of memory to store the intermediate state.
Es handelt sich also um eine Methode zur Nutzung freier Rechnerleistung, bei der ein Vermittler Aufträge vermittelt und diese zur Sicherung mehrfach bearbeiten läßt . It is therefore a method of using free computing power, in which an intermediary mediates orders and has them processed several times for security purposes.

Claims

Patentansprüche claims
1. Verfahren zur Nutzung von Rechenleistung in einem Netzwerk, in dem ein Vermittler sowohl mit mehreren Anbietern als auch mit mehreren Arbeitern Nachrichten aus- tauscht, die auf getrennten Rechnern ablaufen, mit den Schritten:1. A method for using computing power in a network, in which an intermediary exchanges messages with both providers and with several workers, which run on separate computers, with the steps:
* ein Anbieter erzeugt einen Auftrag, vorzugsweise durch Zerlegen einer Aufgabe in voneinander unabhängige Teile, * der Anbieter sendet den Auftrag an den Vermittler,* a provider creates an order, preferably by splitting a task into independent parts, * the provider sends the order to the intermediary,
* der Vermittler erhält eine Anfrage von einem Arbeiter,* the mediator receives a request from a worker,
* der Vermittler sendet dem Arbeiter den Auftrag,* the mediator sends the worker the order
* der Arbeiter bearbeitet den Auftrag gemäß einem in dem Auftrag codierten Verfahren, wobei ein Ergebnis entsteht,* the worker processes the order according to a method coded in the order, with a result being obtained,
* der Arbeiter liefert das Ergebnis an den Vermittler,* the worker delivers the result to the mediator,
* der Vermittler leitet das Ergebnis an den Anbieter. * the mediator forwards the result to the provider.
2. Verfahren nach dem vorherigen Anspruch, wobei der Vermittler Aufträge oder Anfragen in Warteschlangen einreiht .2. The method according to the preceding claim, wherein the mediator queues orders or requests.
3. Verfahren nach den vorherigen Ansprüchen, wobei der Vermittler bestimmte Aufträge von mindestens zwei ver- schiedenen Arbeitern redundant bearbeiten läßt und die Ergebnisse vergleicht. 3. The method according to the preceding claims, wherein the mediator has certain orders processed by at least two different workers redundantly and compares the results.
4. Verfahren nach dem vorherigen Anspruch, wobei der Anbieter die Mindestanzahl der redundanten Bearbeitungen in seinem Auftrag festlegt .4. The method according to the preceding claim, wherein the provider specifies the minimum number of redundant processing on his behalf.
5. Verfahren nach Anspruch 3 oder 4 , wobei der Vermittler durch eine Zufallsauswahl eine redundanten Bearbeitung des Auftrags bestimmt.5. The method of claim 3 or 4, wherein the agent determines a redundant processing of the order by a random selection.
6. Verfahren nach Anspruch 1, wobei der Anbieter für jeden Auftrag den geplanten Aufwand oder die maximale Verweilzeit vorschreibt und der Arbeiter den verbrauchten Aufwand mit dem Ergebnis dem Vermittler mitteilt .6. The method according to claim 1, wherein the provider prescribes the planned effort or the maximum dwell time for each order and the worker informs the agent of the effort used with the result.
7. Verfahren nach dem vorherigen Anspruch, wobei der Vermittler Aufträge oder Anfragen in Warteschlangen einreiht, bestimmte Aufträge von mindestens zwei verschiedenen Arbeitern redundant bearbeiten läßt, die ver- brauchten Aufwände miteinander vergleicht und den kleineren von beiden dem Anbieter berechnet .7. The method according to the preceding claim, wherein the mediator queues orders or inquiries, has certain orders processed by at least two different workers redundantly, compares the expenditure used and calculates the smaller of the two by the provider.
8. Verfahren nach dem vorherigen Anspruch, wobei der Vermittler die Aufwände gleicher Aufträge mit vorbestimmten Eigenschaften der Arbeiter korreliert und so die relative Leistung der Arbeiter vorab zu schätzen vermag.8. The method according to the preceding claim, wherein the mediator correlates the costs of the same orders with predetermined properties of the workers and thus can estimate the relative performance of the workers in advance.
9. Verfahren nach dem vorherigen Anspruch, wobei der Vermittler den gemeldeten Aufwand redundanter Ergebnisse anhand der Korrelationsergebnisse normiert und Ergeb- nisse, deren normierter Aufwand gemäß einer vorbestimmten Schranke über dem der anderen Bearbeitung liegt, zurückweist .9. The method according to the preceding claim, wherein the mediator normalizes the reported effort of redundant results on the basis of the correlation results and rejects results whose standardized effort lies above that of the other processing according to a predetermined limit.
10. Verfahren nach einem der vorherigen Ansprüche, wobei in jedem Auftrag eine maximale Bearbeitungszeit enthalten ist, nach dessen Erreichen die Ergebnisse als ohne Leistung angesehen werden.10. The method according to any one of the preceding claims, wherein in each order contain a maximum processing time after which the results are considered to be without performance.
11. Verfahren nach einem der vorherigen Ansprüche, wobei eine kurze Bearbeitungszeit die Leistungszahl erhöht. 11. The method according to any one of the preceding claims, wherein a short processing time increases the coefficient of performance.
12. Vermittler für die Durchführung eines der Verfahren nach einem der vorhergehenden Ansprüche. 12. Mediator for performing one of the methods according to one of the preceding claims.
PCT/DE2000/003553 2000-10-10 2000-10-10 Distributed use of heterogeneous networked computers with billing WO2002031654A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
PCT/DE2000/003553 WO2002031654A1 (en) 2000-10-10 2000-10-10 Distributed use of heterogeneous networked computers with billing

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/DE2000/003553 WO2002031654A1 (en) 2000-10-10 2000-10-10 Distributed use of heterogeneous networked computers with billing

Publications (1)

Publication Number Publication Date
WO2002031654A1 true WO2002031654A1 (en) 2002-04-18

Family

ID=5647974

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE2000/003553 WO2002031654A1 (en) 2000-10-10 2000-10-10 Distributed use of heterogeneous networked computers with billing

Country Status (1)

Country Link
WO (1) WO2002031654A1 (en)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892945A (en) * 1996-03-21 1999-04-06 Oracle Corporation Method and apparatus for distributing work granules among processes based on the location of data accessed in the work granules
US6112225A (en) * 1998-03-30 2000-08-29 International Business Machines Corporation Task distribution processing system and the method for subscribing computers to perform computing tasks during idle time

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5892945A (en) * 1996-03-21 1999-04-06 Oracle Corporation Method and apparatus for distributing work granules among processes based on the location of data accessed in the work granules
US6112225A (en) * 1998-03-30 2000-08-29 International Business Machines Corporation Task distribution processing system and the method for subscribing computers to perform computing tasks during idle time

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
NISAN N ET AL: "Globally distributed computation over the Internet-the POPCORN project", PROCEEDINGS. 18TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS (CAT. NO.98CB36183), PROCEEDINGS OF 18TH INTERNATIONAL CONFERENCE ON DISTRIBUTED COMPUTING SYSTEMS, AMSTERDAM, NETHERLANDS, 26-29 MAY 1998, 1998, Los Alamitos, CA, USA, IEEE Comput. Soc, USA, pages 592 - 601, XP002174140, ISBN: 0-8186-8292-2 *
O. REGEV: "Economic orienter CPU sharing system for the Internet", THESIS, July 1998 (1998-07-01), Institute of Computer Science, Jerusalem, Israel, pages 1 - 56, XP002174142 *
TAKAGI H ET AL: "Ninflet: a migratable parallel objects framework using Java", WORKSHOP ON JAVA FOR HIGH-PERFORMANCE NETWORK COMPUTING, 1998, pages 151 - 159, XP002174141 *

Similar Documents

Publication Publication Date Title
DE69724877T2 (en) Method and device for operating an aggregation of server computers using a dual-purpose proxy server
DE112012000797B4 (en) Multiple modeling paradigm for predictive analytics
DE69926459T2 (en) METHOD AND DEVICE FOR REDUCE SERVER-EXCLUSIVE HYPERLINK REFERENCES
DE69734432T2 (en) Method and apparatus for sending client method calls in a server computer system
EP1108308A1 (en) System and method for controlling the operational sequence in network applications
DE10039538A1 (en) Device for measuring and analyzing the output capacity of computer program, includes processor and memory coupled to at least one processor, with computer program having number of code segments stored in memory
DE112005001995B4 (en) A computer arrangement and method for offering services to users over a network
DE69814697T2 (en) DEVICE, METHOD AND COMPUTER PROGRAM PRODUCT FOR CLIENT / SERVER COMPUTERS WITH LOCALIZATION OF TRANSACTION OBJECTS SELECTABLE FROM THE CLIENT
EP2648094B1 (en) Method and system for creating a source code for a computer program for executing and simulating a process
DE10222361C2 (en) Method for operating a distributed computer network comprising a plurality of distributed computers
EP3576001B1 (en) Computer-implemented method for transferring a data string from an application to a data protection device
DE19626972A1 (en) Preliminary release method and apparatus for the use of a program protected by an electronic cassette
DE19933584A1 (en) Process for the compact presentation of information packets and their storage or transmission
DE102013211266A1 (en) Maintaining the bandwidth quality of service of a hardware resource through a hardware counter
WO2002031654A1 (en) Distributed use of heterogeneous networked computers with billing
EP3557341A1 (en) Method and administration device for optimizing an industrial process
DE19933299A1 (en) Distributed use of heterogeneous networked computers with accounting
DE102012106913A1 (en) Modular tool for building a link to a rights program of article information
WO2010034548A1 (en) Test module and method for testing an o/r imaging middleware
DE60037972T2 (en) Method and device for offering resources in an Internet device
EP0977160B1 (en) Method and data processing device for the reliable execution of instructions
WO2004081971A2 (en) Method for using a microprocessor and a microprocessor system
WO2023030757A1 (en) Monitoring method
DE10302427B4 (en) Method for operating a data processing system with a security device
DE10007599A1 (en) Program operating method for licensing computer software for set period - requests new utilisation code before utilisation limit is reached and determines new limit from new code

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

121 Ep: the epo has been informed by wipo that ep was designated in this application
122 Ep: pct application non-entry in european phase