Remote-Ability는 Google 원격 프로시저 호출 (gRPC) 기술을 사용하여 NI의 계측 장비와 원격으로 상호작용할 수 있도록 합니다. NI는 자사 제품이 gRPC와 함께 잘 작동하도록 만드는 데 투자하고 있으며 덕분에 고객은 NI 제품과 원격으로 상호작용하며 지연 시간을 줄이면서 짧은 고품질 측정을 수행할 수 있습니다. 엔지니어는 NI Remote-Ability를 통해 기존의 테스트 워크플로를 유연하게 활용할 수 있습니다.
NI Software Remote-Ability는 NI 하드웨어 및 서비스와 원격으로 상호작용하여 지연 시간을 줄이면서 뛰어난 품질의 측정을 수행할 수 있는 기능입니다. NI Software Remote-Ability는 사전 정의된 독립형 어플리케이션, API 및/또는 명령을 OS에 구애받지 않고 전체적으로 사용하며 클라이언트/서버 아키텍처를 활용합니다.
NI Remote-Ability는 내부적으로 gRPC를 사용합니다. gRPC 기반 서버를 사용하면 다양한 프로그래밍 환경, 플랫폼 및 OS에서 테스트 및 측정 장비에 액세스하여 제어할 수 있습니다.
gRPC는 프로토콜 버퍼 (Proto3)를 메시지 교환 포맷으로 사용합니다. 다음 그림은 proto 요청과 응답이 gRPC 서버와 스텁 간에 전송되는 방법을 보여줍니다.
그림 1: gRPC 서버의 요청 및 응답
NI Remote-Ability는 Windows, Linux 및 Mac에서 다양한 프로그래밍 언어로 사용할 수 있습니다. 지원되는 언어 및 OS의 전체 목록은 gRPC 지원 리소스를 참조하십시오.
gRPC는 어디에서나 실행할 수 있는 오픈 소스 원격 프로시저 호출 (RPC) 프레임워크입니다. 이 프레임워크를 통해 클라이언트와 서버 어플리케이션이 투명하게 통신할 수 있으며 연결된 시스템을 원격으로 쉽게 구축할 수 있습니다.
gRPC에서 클라이언트 어플리케이션은 자신이 마치 로컬 객체인 것처럼 다른 시스템에 있는 서버 어플리케이션의 메소드를 직접 호출할 수 있으므로 분산 어플리케이션과 서비스를 보다 쉽게 구축할 수 있습니다. 서버 측에서 서버는 이러한 인터페이스를 구현하고 gRPC 서버를 실행하여 클라이언트 호출을 처리합니다. 클라이언트 측에서 클라이언트에는 서버와 동일한 메소드를 제공하는 스텁(일부 언어에서는 그냥 클라이언트라고도 함)이 있습니다.
gRPC를 사용하는 중요한 이유 중 하나는 클라이언트 측에서 OS 및 언어에 구애받지 않아 유연성을 제공하며 프로젝트에서 이미 사용 중인 현재 OS 또는 프로그래밍 언어에 맞춰 조정할 수 있다는 것입니다.
NI Remote-Ability에 gRPC를 사용함으로써 NI는 Google, Netflix 및 Square 등 다른 대기업을 연결하고 있습니다. gRPC에는 RPyC, SCPI 및 HiSLIP 등과 같은 다른 옵션에는 없는 다음과 같은 강력한 기능이 있습니다.
NI Remote-Ability는gRPC의 기본 인증 메커니즘을 사용합니다. 서버 측 TLS 또는 상호 TLS (제로 트러스트)로 연결을 보호할 수 있어 통신이 암호화되고 클라이언트/서버를 신뢰할 수 있습니다. 인증 서버와 통합하여 사용자 정의 인증을 포함하도록 서버를 업데이트할 수 있습니다.
NI Remote-Ability를 사용하면 고품질 측정 시 지연 시간을 줄일 수 있습니다. 다음 예제는 NI-9207 C 시리즈 모듈을 사용하여 시뮬레이션된 cDAQ-9179 섀시에서 아날로그 입력 전압을 읽을 때의 성능 벤치마크를 보여줍니다.
서버에서 클라이언트로 스트리밍 데이터:
Linux 로컬 호스트
Windows 10 로컬 호스트: 4 GB/s1
Linux-Linux: 11 MB/s
Thunderbolt 3 링크 로컬 네트워크
1 CISO AMP에 유의하십시오.
시뮬레이션된 cDAQ-9179 섀시 및 NI-9207 모듈의 NI-DAQmx:
이러한 벤치마크에서 볼 수 있듯이, gRPC 호출은 기본 드라이버 호출과 비슷하며 지연 시간이 최소화됩니다. gRPC를 통해 NI 고객은 NI 제품과 원격으로 상호작용하여 지연 시간이 짧은 고품질 측정을 수행하고 기존 테스트 워크플로를 활용할 수 있습니다.