LEADTOOLS Distributed Computing SDK
The LEADTOOLS Distributed Computing SDK provides developers with a complete job-processing framework which can be used to create powerful cloud-based applications. Utilizing their own existing network of servers and worker machines, developers can easily create their own cloud for distributed, grid or parallel computing application such as:
- Optical Character Recognition (OCR)
- Barcode Recognition
- Forms Recognition and Processing
- Audio/video conversion and recompression
- Distributed graphics rendering
- Web crawlers
By developing an application with the LEADTOOLS Distributed Computing SDK, significant savings in time and money can be realized through the use of existing infrastructure to eliminate bottle-necks in processor-intensive, business-critical activities.
Overview of LEADTOOLS Distributed Computing SDK Technology
- Supports the development of distributed applications for any technology
- Seamlessly integrates with key LEADTOOLS features such as OCR, Barcode, Forms Recognition, Audio/Video Transcoding and Conversion, and Image Processing
- Utilize any computer as a component in the cloud
- Simple configuration options for job type, CPU load, time of day and more
- Create an application that runs on any platform
- Includes demos for OCR and Multimedia Conversion
Framework Components of the LEADTOOLS Distributed Computing SDK
The LEADTOOLS Distributed Computing SDK framework can be broken down into three individual components described below.
The clients exist outside of the cloud and can be any type of computer or mobile device. Communication between the clients and the central server is based on standard web services allowing you to write applications that run on any platform.
Within the cloud, the central server acts as the primary interface between the clients and the worker machines. The primary responsibilities of the central server include:
- Host the web service used to communicate with clients.
- Manage worker machine settings such as job type, number of jobs, etc. Storing these settings in a central location makes it simple for administrators to make global changes within the cloud regardless of where worker machines are physically located.
- Manage the cloud database which is used to store all of the jobs and and any information related to each job.
The worker machines actually perform the work of the distributed application. There is no limit to the number of worker machines used within the cloud and can be hot-plugged or hot-swapped as needed without interrupting service for the clients. Each worker can take on as much or as little work as needed using customizable configuration settings such as:
- Job Type
- Maximum percent of CPU usage
- Number of CPU Cores
- Number of threads
- Number of jobs
- Time of day
Benefits of Distributed Applications in the Cloud
The benefits of parallel processing are well established, but even the most advanced and powerful computers will encounter bottlenecks. For example, a computer with eight cores performing OCR on a 100 page document can only process up to 8 pages at a time. Utilizing the cloud, it is possible to OCR and convert that same document in virtually the same time it takes to OCR and convert a single page given enough worker machines on the network.
Additionally, older hardware and less powerful devices such as mobile phones can utilize cloud applications to accomplish tasks with the same speed and efficiency as a high-end server.
The cloud provides huge potential for significant cost savings. Server hardware is significantly more expensive than desktop PCs.
- Avoid expensive server hardware - Several inexpensive desktops can be purchased and linked together to provide the same or better speed than a pricey server.
- More efficient use of existing hardware - Computers utilizing minimal CPU capacity can be used as worker machines without any noticeable performance degradation to the users' regular tasks.
- Lower hardware specifications - Clients connecting to the cloud require less processing power which means each user's machine is cheaper and has a longer lifetime.
- Inexpensive upgrades - Worker machines can be added and removed at any time.
Additionally, the LEADTOOLS Distributed Computing SDK makes it easy for developers to create the cloud for themselves, eliminating the need for third-party cloud computing services.
Distributed applications running across multiple machines are more dependable and easier to maintain than their counterparts running on a single machine. A well designed cloud application will suffer no downtime during planned maintenance, hardware failures, virus infections and even power outages or natural disasters. As long as there are still machines within the cloud, there is no disruption of service to the client. The central server and worker machines implement fail-safe measures that retry, restart and redistribute jobs.
Since the primary work is done within the cloud, virtually any client is able to access the application. While the actual cloud must be implemented on machines running Windows, the clients can access the cloud using Macs, iPads, mobile devices or anything with a network or Internet connection.
Why Use LEADTOOLS Distributed Computing SDK?
LEADTOOLS Distributed Computing SDK can be used in any scenario where you want to perform some type of automated job processing on a farm of computers. Although this leaves a wide range of opportunities, consider the following scenarios and how the LEADTOOLS Distributed Computing SDK can be used to successfully implement a powerful and dynamic solution:
- My video is too large and takes too long to convert.
Decoding and encoding multimedia files can be both a long and processor-intensive task. By using a cloud-based service for large multimedia files, the client can utilize the farm of worker machines to split large files, convert each piece separately, and re-multiplex them together in a fraction of the time required to convert the same file on a single machine.
- There are too many documents to process and OCR.
A cloud-based application can divide the workload between a farm of worker machines. Once the document conversion or text extraction is complete, the data can be sent back to the client, archived in a database or whatever the application architecture requires. This process can be extremely flexible and dedicate some workers to document cleanup while others perform the OCR. If the files themselves are large, the document can be broken up into the individual pages and pieced back together.
- I don't want to bog down my computer with mindless tasks.
The LEADTOOLS Distributed Computing SDK can be used for any distributed computing application and is ideal for tasks that require little or no user interaction and spawn other tasks. For example, one can use a farm of worker machines to compute complex mathematical and statistical data or crawling and indexing websites.
LEADTOOLS SDK Products that Include Distributed Computing Technology
Hover over each product for a description. Click for more details.
The LEADTOOLS Recognition Imaging SDK is a handpicked collection of LEADTOOLS SDK features designed to build end-to-end document imaging applications within enterprise-level document automation solutions that require OCR, MICR, OMR, ICR, barcode, forms recognition and processing, PDF, print capture, archival, annotation and display functionality. This powerful set of tools utilizes LEAD's award-winning image processing technology to intelligently identify document features that can be used to recognize and extract data from any type of scanned or faxed form image.
The LEADTOOLS Document Imaging Suite SDK is a comprehensive collection of LEADTOOLS SDK features designed to build end-to-end document imaging applications within enterprise-level document automation solutions that require OCR, MICR, OMR, ICR, barcode, forms recognition and processing, PDF, HTML5 Zero-footprint viewing, print capture, archival, annotation and display functionality. This powerful set of tools utilizes LEAD's award-winning image processing technology to intelligently identify document features that can be used to recognize and extract data from any type of scanned or faxed form image.
Develop powerful PACS and Medical imaging applications with LEADTOOLS Medical Imaging Suite. Features include Zero-footprint HTML5 DICOM Viewer, Medical Web Viewer Framework, Medical 3D, DICOM Multimedia codecs, high and low-level PACS SCP and SCU functions and controls, secure PACS communication, Print to PACS, comprehensive DICOM data set support, image annotation, extended grayscale image display such as window level and LUT processing, and specialized medical image processing. Other features include lossless JPEG compression, JPIP, and signed and unsigned image data processing.
The Multimedia Suite SDK is a comprehensive collection of multimedia development technology from LEAD Technologies. By bundling features from the Multimedia SDK, DVD Module, Video Streaming Module, MPEG-2 Transport Module, Imaging Pro SDK and Distributed Computing SDK, the Multimedia Suite provides everything a developer needs to create enterprise level multimedia applications for a wide variety of industries including defense, broadcast, security and more.
The LEADTOOLS Advantage OCR Module adds methods and classes for incorporating optical character recognition (OCR), magnetic ink character recognition (MICR), and optical mark recognition (OMR) technology into applications and includes everything programmers need to develop robust, high performance and scalable image recognition solutions. The LEADTOOLS Advantage OCR Module seamlessly integrates with LEADTOOLS SDKs in the Document and Medical product lines.
The LEADTOOLS Professional OCR Module adds methods and classes for incorporating optical character recognition (OCR) technology into applications and includes everything programmers need to develop robust, high performance and scalable image recognition solutions. The LEADTOOLS Professional OCR Module seamlessly integrates with LEADTOOLS SDKs in the Document and Medical product lines.