LEADTOOLS Distributed Computing SDK

LEADTOOLS 분산 컴퓨팅 SDK는 강력한 클라우드 기반의 어플리케이션을 제작하기 위해 사용될 수 있는 완전한 작업 처리 프레임워크를 개발자에게 제공합니다. 서버와 클라이언트들의 기존 네트워크를 활용하여, 개발자들은 아래와 같은 분산된 그리드 또는 병렬 컴퓨팅 어플리케이션들을 쉽게 제작할 수 있습니다:

  • 광학 문자 인식 (OCR)
  • 바코드 인식
  • 양식 인식 및 처리
  • 오디오/비디오 변환 및 재압축
  • 분산 그래픽 렌더링
  • 웹 크롤러

LEADTOOLS 분산 컴퓨팅 SDK를 사용하여 어플리케이션을 개발함으로써, 기존 인프라 구조의 사용을 통해 프로세스 중심인 업무 활동의 병목을 제거하여 시간과 비용의 절감을 실현할 수 있습니다.

LEADTOOLS 분산 컴퓨팅 SDK 기술의 개요

LEADTOOLS 분산 컴퓨팅 SDK의 프레임워크 컴퍼넌트들

LEADTOOLS 분산 컴퓨팅 SDK 프레임워크는 아래와 같이 3개의 개별 구성 요소로 구분됩니다:

클라이언트

클라이언트는 클라우드의 외부에 존재하며 컴퓨터 또는 모바일 디바이스의 임의 타입이 될 수 있습니다. 클라이언트와 중앙 서버 간의 통신은 임의 플랫폼상에서 동작하는 어플리케이션을 제작할 수 있도록 표준 웹 서비스를 기반으로 합니다.

중앙 서버

클라우드내에서, 중앙 서버는 클라이언트와 작업자 시스템 간의 기본 인터페이스로서 작동합니다. 중앙 서버의 주요 책임은 다음과 같습니다:

  • 클라이언트와 통신하기 위해 사용되는 웹 서비스를 호스팅
  • 작업 유형, 작업 번호 등과 같은 작업자 디바이스의 설정을 관리. 중앙 위치에 이러한 설정을 저장하면, 작업자 디바이스가 물리적으로 어디에 위치해 있건간에 관계없이 관리자가 클라우드내에서 글러벌 변경을 쉽게 할 수 있습니다.
  • 모든 작업 및 각 작업에 관련된 정보를 저장하기 위해 사용되는 클라우드 데이터베이스를 관리.

작업자 장치

작업자 디바이스는 실제로 분산 어플리케이션의 작업을 수행합니다. 클라우드내에 사용되는 작업자 장치들의 수에 제한은 없으며 클라이언트에 대한 서비스를 중단함이 없이 필요에 따라 핫-플러그 또는 핫- 스왑 될 수 있습니다. 각 작업자는 아래와 같은 사용자 정의 구성 설정들을 사용하여 필요에 따라 많은 또는 약간의 작업을 수행할 수 있습니다:

  • 작업 종류
  • CPU 사용량의 최대 퍼센트
  • CPU 코어의 수
  • 스레드 수
  • 작업의 수
  • 하루 시간

클라우드에서 분산 어플리케이션의 장점

속도

병렬 처리의 장점은 잘 확립되어 있지만, 최 고급의 강력한 컴퓨터 조차 병목 현상을 발생합니다. 예를 들어, 100 페이지 문서에 OCR을 수행하는 8 개의 코어를 가진 컴퓨터는 한번에 8 페이지 까지만 처리할 수 있습니다. 클라우드를 이용하면, 네트워크상 작업자 장치들이 단일 페이지를 OCR 및 변환하는데 걸리는 시간과 거의 동일한 시간에 동일한 문서를 OCR 및 변환하는 것이
가능합니다.

또한, 휴대폰과 같이 오래된 하드웨어로 강력하지 못한 디바이스들 조차 클라우드 어플리케이션을 이용하여 고성능 서버와 동일한 속도 및 효율로서 작업을 수행할 수 있습니다.

비용 절감

클라우드는 상당한 비용 절감을 위한 거대한 잠재력을 제공합니다. 서버 하드웨어는 데스크톱 PC보다 훨씬 더 고가입니다.

  • 비싼 서버 하드웨어를 피함 - 고가 서버보다 동일하거나 더 나은 속도를 제공하기 위해 몇 개의 저렴한 데스크톱들이 구입되어 함께 연결될 수 있습니다.
  • 기존 하드웨어의 보다 효율적인 사용 - 최소의 CPU 용량을 이용하는 컴퓨터는 사용자의 일반 작업에 대해 눈에 띄는 성능 저하없이 작업자 장치로서 사용될 수 있습니다.
  • 낮은 하드웨어 사양 - 클라우드에 연결하는 클라이언트는 저렴한 장치들로 낮은 처리 능력을 요구하며 더 긴 수명을 갖습니다.
  • 저렴한 업그레이드 - 작업자 장치는 언제든지 추가 또는 제거될 수 있습니다.

또한, LEADTOOLS 분산 컴퓨팅 SDK는 제3자 클라우드 컴퓨팅 서비스의 필요 없이도, 개발자 스스로 쉽게 클라우드를 생성할 수 있도록 해 줍니다.

신뢰성

여러 시스템에 걸쳐 동작하는 분산 어플리케이션은 단일 시스템상에서 동작하는 대응 어플리케이션보다 유지하는 것이 더 용이하며 신뢰성을 갖습니다. 잘 설계된 클라우드 어플리케이션은 계획된 유지보수, 하드웨어 장애, 바이러스 감염, 그리고 심지어 정전이나 자연 재해시에도 다운타임을 겪지 않습니다. 클라우드내 장치들이 존재하는 한, 클라이언트에 대한 서비스의 중단은 없습니다. 중앙 서버와 작업자 장치들은 작업을 재시도, 재시작 및 재배포하는 고장 안전 조치를 구현합니다.

플랫폼 독립

기본 작업이 클라우드내에서 수행되기 때문에, 거의 모든 클라이언트가 어플리케이션에 액세스할 수 있습니다. 실제의 클라우드는 Windows가 구동되는 컴퓨터상에 수행되어야 하는 반면, 클라이언트들은 맥, 아이패드, 모바일 장치 또는 기타 장치를 사용하여 클라우드에 액세스할 수 있습니다.

LEADTOOLS분산 컴퓨팅 SDK를 사용하는 이유

  1. 내 비디오는 너무 커서 변환하는 데 시간이 너무 오래 걸립니다:
    디코딩 및 인코딩 멀티미디어 파일은 모두 길고 프로세서 중심의 작업이 될 수 있습니다. 대용량 멀티미디어 파일에 대해 클라우드 기반 서비스를 이용함으로써, 클라이언트는 단일 장치상에서 같은 파일을 변환하는데 걸리는 시간의 일부 시간내에 큰 파일을 분할하고, 각 조각을 별도로 변환하고, 이들을 함께 재멀티플렉스 하도록 작업자 장치들의 농장을 이용할 수 있습니다.
  2. OCR 처리하는데 너무 많은 문서가 있습니다:
    클라우드 기반의 어플리케이션은 작업자 장치들의 농장간에 작업 부하를 분배할 수 있습니다. 문서 변환 또는 텍스트 추출이 완료되면, 데이터는 클라이언트로 다시 전송되고 데이터베이스에 보관될 수 있습니다. 이 과정은 매우 유연하며 다른 사람들이 OCR을 수행하는 동안 일부 작업자들이 문서 클린업을 수행하도록 전용될 수 있습니다. 파일 자체가 큰 경우, 문서는 개별 페이지로 나누어진 다음 다시 재결합될 수 있습니다.
  3. 나는 어리석은 작업들에 내 컴퓨터를 사용하고 싶지 않습니다:
    LEADTOOLS 분산 컴퓨팅 SDK는 임의 분산 컴퓨팅 어플리케이션에 사용될 수 있으며 사용자 상호작용이 없거나 미미한 작업들에 적합합니다. 예를 들어, 작업자는 복잡한 수학 및 통계 데이터 또는 크롤링 및 인덱싱 웹 사이트를 계산하기 위해 작업자 장치의 농장을 사용할 수 있습니다.

분산 컴퓨팅 SDK 기술은 포함하고 있는 SDK 제품들

분산 컴퓨팅 기술에 대한 LEADTOOLS 온라인 문서




Copyright © 2015 by Hyubwoo. Info. Tech. Co., Ltd. All rights reserved.