The patent badge is an abbreviated version of the USPTO patent document. The patent badge does contain a link to the full patent document.
The patent badge is an abbreviated version of the USPTO patent document. The patent badge covers the following: Patent number, Date patent was issued, Date patent was filed, Title of the patent, Applicant, Inventor, Assignee, Attorney firm, Primary examiner, Assistant examiner, CPCs, and Abstract. The patent badge does contain a link to the full patent document (in Adobe Acrobat format, aka pdf). To download or print any patent click here.
Patent No.:
Date of Patent:
Oct. 30, 2001
Filed:
Mar. 25, 1996
Michael J. Beckerle, Needham, MA (US);
James Richard Burns, Brookline, MA (US);
Jerry L. Callen, Cambridge, MA (US);
Jeffrey D. Ives, Cambridge, MA (US);
Robert L. Krawitz, Belmont, MA (US);
Daniel L. Leary, New Ipswich, NH (US);
Seven Rosenthal, Cambridge, MA (US);
Edward S. A. Zyzkowski, Newton, MA (US);
Torrent Systems, Inc., Cambridge, MA (US);
Abstract
A system provides an environment for parallel programming by providing a plurality of modular parallelizable operators stored in a computer readable memory. Each operator defines operation programming for performing an operation, one or more communication ports, each of which is either an input port for providing the operation programming a data stream of records, or an output port for receiving a data stream of records from the operation programming and an indication for each of the operator's input ports, if any, of a partitioning method to be applied to the data stream supplied to the input port. An interface enables users to define a data flow graph by giving instructions to select a specific one of the operators for inclusion in the graph, or instructions to select a specific data object, which is capable of supplying or receiving a data stream of one or more records, for inclusion in the graph, or instructions to associate a data link with a specific communication port of an operator in the graph, which data link defines a path for the communication of a data stream of one or more records between its associated communications port and either a specific data object or the specific communication port of another specific operator in said graph. The execution of a data flow graph equivalent to that defined by the users is automatically parallelized by causing a separate instance of each such operator, including its associated operation programming, to be run on each of multiple processors, with each instance of a given operator having a corresponding input and output port for each input and output port of the given operator, and by automatically partitioning the data stream supplied to the corresponding inputs of the instances of a given operator as a function of the partitioning method indication for the given operator's corresponding input.