text: the present invention is now described more fully hereinafter with reference to the accompanying drawings that show a preferred embodiment of the present invention . the present invention , however , may be embodied in many different forms and should not be construed as limited to embodiments set forth herein . appropriately , this embodiment are provided so that this disclosure will be thorough and complete , and will fully convey the scope of the present invention . the present invention is a model building process that enables fault tolerant model building . fig1 is an exemplary block diagram of a data mining system , in which the present invention may be implemented . in the embodiment of fig1 , system 100 may be implemented to perform data mining . system 100 includes a data mining system 102 connected to a number of data sources , such as systems 110 a – 110 n and 104 a – 104 n . system 110 a – 110 n includes data sources inaccessible to the public , such as proprietary or internal data sources . systems 104 a – 104 n includes data sources accessible to the public , such as over the internet , privately accessible , such as implementing secure connection technology , or a combination thereof . the data provided by systems 104 a – 104 n and 110 a – 110 n may be of any type and in any format . system 102 may utilize the data in systems 104 a – 104 n and 110 a – 110 n to build models for data mining . fig2 is an exemplary block diagram of system 102 illustrated in fig1 , in which the present invention may be implemented . system 102 is a database management system that includes data mining and checkpoint functionality . in the fig2 embodiment , system 102 is a general purpose computer , such as a workstation , personal computer , server or the like , but may be any computer that executes program instructions in accordance with the present invention . system 102 includes a processor ( cpu ) 202 connected by a bus 204 to memory 206 , network interface 208 and i / o circuitry 210 . in the fig2 embodiment , cpu 202 is a microprocessor , such as an intel pentium ® processor , but may be any processor that executes program instructions in order to carry out the functions of the present invention . as shown , cpu 202 and the various other components of the server 102 communicate through a system bus 204 or similar architecture . network interface 208 provides an interface between system 102 and a network , such as internet 108 . the network may be a local area network ( lan ), a wide area network ( wan ), or combinations thereof . i / o circuitry provides an interface for the input of data to and output of data from system 102 . i / o circuitry includes input devices , such as trackball , mice , touchpads and keyboards , and output devices , such as printers and monitors . in the fig2 embodiment , memory 206 stores routines for execution by cpu 202 . memory 206 also stores data that is manipulated under the direction of cpu 202 . memory includes memory devices , such as read only memory ( rom ), random access memory ( ram ) hard disks , cd - roms , floppy disks , optical storage devices , magnetic storage devices , etc . memory 206 includes routines , such as model build processing routine 212 , database management routines 214 , and operating system 216 , as well as data , such as data mining data 218 . in the fig2 embodiment , routines include program instructions , which implement object - oriented technology , such as java and c ++. the program instructions provide the functionality implemented by their respective routine . the program instructions may be recorded on a computer readable medium and loaded into memory 206 . data mining data 218 includes data organized in rows and columns , such as relational database tables and market basket database matrix . data mining data 218 , serves as inputs to routines , such as model build processing routine 212 . model build processing routine 212 includes data analysis algorithms , such as supervised and unsupervised learning algorithms , association analysis algorithms and clustering algorithms . model build processing routine 212 executes data analysis algorithms 312 a – 312 n to construct model builds for data mining . in the fig2 embodiment , model build processing routine also includes checkpoint process routines . checkpoint process routines provide model building processing routine 212 with checkpoint functionality . database management routines 214 provides database management functionality , such as preprocessing of data mining data 218 and query processing . operating system 216 provides overall system functionality , such as management of routines in memory 206 . fig3 is an exemplary block diagram of model build processing routine 212 illustrated in fig2 implemented by the present invention . in the fig3 embodiment , analysis algorithms , such as data analysis algorithms 312 a – 312 n , are software routines that examine data to identify patterns and relationships between the data and construct model builds that express predictions about new or subsequent data based on the analysis of the data , but may be any routines that perform computation on data to construct a result based on the data . in the fig3 embodiment , data analysis algorithms 312 a – 312 n may also periodically detect and provide interrupts as well as execute checkpoints . checkpoints enable fault tolerant model building . interrupts periodically detected by analysis algorithms 312 a – 312 n may include checkpoint initiation interrupts 306 a and integrity interrupts 306 b . interrupts periodically provided may include checkpoint invocation interrupts 304 a and failure interrupts 304 b . in the fig3 embodiment , checkpoint manager 302 manages checkpoints and system integrity functions and enables fault tolerant model building . the management of checkpoints and system integrity functions includes periodically detecting and providing of interrupts 304 and 306 . checkpoint manager 302 may periodically provide checkpoint initiation interrupts 306 a and integrity interrupts 306 b . checkpoint initiation interrupts 306 a may be provided to one or more analysis algorithms 312 a – 312 n to initiate the execution of checkpoints by the one or more analysis algorithms 312 a – 312 n . integrity interrupts 306 b may be provided to one or more analysis algorithms 312 a – 312 n to initiate the re - loading of checkpoints and instruct the one or more analysis algorithms 312 a – 312 n to continue execution from the checkpoint state or abort model building of the one or more analysis algorithms 312 a – 312 n . in the fig3 embodiment , checkpoint manager 302 may also periodically detect checkpoint invocation interrupts 304 a and failure interrupts 304 b . checkpoint invocation interrupts 304 a are provided by a source to notify checkpoint manager 302 to initiate the execution of checkpoints by one or more analysis algorithms . checkpoint invocation interrupt 304 a may originate from a number of sources , such as a user , an analysis algorithm 312 a – 312 n and checkpoint manager 302 . the source of the checkpoint invocation interrupt 304 determines the one or more data analysis algorithms 312 a – 312 n , which will execute checkpoints . checkpoint invocation interrupts 304 a may include identification information indicating the source of the interrupt 304 a . checkpoint invocation interrupts 304 a may be provided at a frequency defined by a checkpoint interval parameter provided in a configuration table . failure interrupts 304 b are provided by a source to notify checkpoint manager 302 to initiate the re - loading of checkpoints and instruct the one or more analysis algorithms 312 a – 312 n to continue execution from the checkpoint state or abort model building of the one or more analysis algorithms 312 a – 312 n . failure interrupt 304 b may originate from one or more analysis algorithm 312 a – 312 n . the origin of the failure interrupt 304 b determines the one or more data analysis algorithms 312 a – 312 n , which will re - load checkpoints or abort model building . fig4 is an exemplary flow diagram of a checkpoint process , which may be implemented by the model build processing routine shown in fig3 . in the embodiment of fig4 , the process begins with step 402 , in which checkpoint manager 302 may detect interrupts . the interrupts notify checkpoint manager to initiate the execution of integrity functions . the interrupts may originate from a number of sources including a user , checkpoint manager and data analysis algorithms . in step 404 , checkpoint manager 302 may provide interrupts . in the fig4 embodiment , the interrupts provided are based on the interrupt detected by checkpoint manager 302 in step 402 . the interrupts notify a set of one or more data analysis algorithms 312 a – 312 n to execute integrity functions . the set of the one or more data analysis algorithms 312 a – 312 n may be based on the source of the interrupt detected by checkpoint manager 302 in step 402 . in the fig4 embodiment , the set includes each of the analysis algorithms 312 a – 312 n for interrupts originating from a user and checkpoint manger 302 . the set includes one or more respective analysis algorithms 312 a – 312 n for interrupts originating from one or more analysis algorithms . in step 406 , one or more analysis algorithms 312 a – 312 n may detect an interrupt . the interrupts notify a set of one or more analysis algorithms to execute integrity functions . the checkpoint manager 302 determines the set of one or more analysis algorithms . the integrity functions may include checkpoints , re - execution checkpoints and abort model building . in step 408 , integrity functions may be executed . the integrity functions may be executed on a set of the one or more analysis algorithms . in the fig4 embodiment , the integrity functions executed are based on the interrupts provided in step 404 . checkpoints generate intermediate models representing a state from which model building can be resumed for each of the one or more analysis algorithms in the set . checkpoint re - loading immediately attempts to re - execute a checkpoint on each of the one or more analysis algorithms in the set . abort model build automatically aborts model building of each of the one or more analysis algorithms in the set if the data mining system 102 determines it is impossible to complete the need build successfully . fig5 is an exemplary flow diagram of the checkpoint function , which may be implemented by the checkpoint and checkpoint re - execute integrity functions , shown in fig4 . in the fig5 , embodiment , the process begins with step 502 , in which a checkpoint state is determined for each of the analysis algorithms 312 a – 312 n in the set . a checkpoint state corresponds to a point in the analysis of the data mining data 218 where analysis can be resumed later . the characteristics of the information at a checkpoint state that enables resuming a model build may be specific to each analysis algorithm 312 a – 312 n in the set . turning now briefly to fig6 . in the embodiment of fig6 , the checkpoint information 600 obtained and stored at a checkpoint state may include , for example in a neural network , the number of computational iterations performed on a data set 602 , the set of accumulated error 604 , the number of records in the data set that have been completed for the current iteration 606 , as well as the set of weights and topology 608 used by the algorithm . information of a similar nature may also be generated for each specific thread being implemented by an analysis algorithm 312 a – 312 n . the number of computational iterations represents the number of passes that the respective analysis algorithm has made through the data set . the set of accumulated error represents the adjustment to be made to the weights as specified by the specific neural network algorithm . the number or records in the data set represents how many records have been processed out of all the records in the data set for the current iteration . the set of weights and topology are part of the algorithm &# 39 ; s architecture and defines the state essential to allow the build process to resume . returning now to fig5 . in step 504 , the analysis of the data mining data 218 by each of the analysis algorithms in the set is suspended at the checkpoint state . in step 506 , an intermediate model build representation is generated for each of the analysis algorithms in the set based on the analysis of data mining data 218 up to the checkpoint state . an intermediate model build representation requires sufficient detail to enable its respective data analysis algorithm to repopulate in memory data structures , so that model build can continue in the event of hardware or software failure . intermediate model build representation may be generated according to a dtd specification and provided in format xml . in step 508 , the intermediate representation is stored . the intermediate representation may be stored in non - volatile data structure . the data structure may include file systems and databases . the intermediate representation may be stored as an xml string corresponding to the dtd specification . in step 510 , the analysis of the data mining data 218 by each of the analysis algorithms in the set is resumed at the checkpoint state . the present invention is described hereinabove with reference to flowchart illustrations of methods , apparatus ( systems ), methods of doing business and computer program products according to the invention . it will be understood that each block of the flowchart illustrations , and combinations of blocks in the flowchart illustrations , can be implemented by computer program instructions . these computer program instructions may be loaded onto a general - purpose computer , special purpose computer , or other programmable data processing apparatus to produce a machine . these computer program instructions , which execute on the computer or other programmable data processing apparatus , create means for implementing the functions specified in the flowchart block or blocks . these computer program instructions may be stored in a computer - readable memory to direct a computer or other programmable data processing apparatus to function in a particular manner , producing an article of manufacture including instruction means which implement the function specified in the flowchart block or blocks . the computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed , producing a computer implemented process , such that the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart block or blocks . accordingly , blocks of the flowchart illustrations support combinations of means for performing the specified functions , combinations of steps for performing the specified functions and program instruction means for performing the specified functions . it will also be understood that each block of the flowchart illustrations , and combinations of blocks in the flowchart illustrations , can be implemented by special purpose hardware - based computer systems which perform the specified functions or steps , or combinations of special purpose hardware and computer instructions . although specific embodiments of the present invention have been described , it will be understood by those skilled in the art that there are other embodiments that are equivalent to the described embodiments . accordingly it is to be understood that the invention is not to be limited by the specific illustrated embodiments , but only be the scope of the appended claims . although checkpoint of the model build operation is described in detail above , this technique may also apply to other data mining operations , including , but not limited to , data scoring , model testing , lift computations , and feature selection .