Enterprise Software
Many types of applications appear serial, but can be parallelized with little difficulty. Imagine, for example, an enterprise software application such as billing, payroll, or other accounting function. Such applications frequently make simple queries to a back-end database, and then perform many complex calculations and summaries on the extracted data. Many of these queries are completely independent; billing records for a single customer do not impact any other customer records in any way. Similarly, a single employee's payroll records do not impact any other employee's records. In today's systems, however, these records are processed sequentially, resulting in overnight processing of these tasks.
Such software is often built with a three-tiered architecture, in which the back end may scale well (e.g., with an advanced database such as Oracle, Microsoft SQL Server, or DB2); in many cases, however, the middle tier is custom code that does not scale well at all. Many such applications written just a few years ago are well designed systems, and their useful lives could be extended if only the middle tier business rules could execute on many machines simultaneously instead of just one.
The Digipede Network is readily applied to such scale-out problems. Depending on the methods used to hand off tasks in the middle tier, adapting such enterprise applications to use the Digipede API can be accomplished in a few hours or days by a single programmer. Developers need not concern themselves with the number of computers available, which computer performs any specific task, how data is moved to the right computer running a particular algorithm, what to do if a computer leaves the network in the middle of a job, or any of the other "plumbing" needed for successful distributed computing. The Digipede Network handles these functions, leaving your developers free to concentrate on business functionality.