KR102419370B1 - 원격 프로시저 호출을 구현하는 방법 및 장치 - Google Patents

원격 프로시저 호출을 구현하는 방법 및 장치 Download PDF

Info

Publication number
KR102419370B1
KR102419370B1 KR1020207016018A KR20207016018A KR102419370B1 KR 102419370 B1 KR102419370 B1 KR 102419370B1 KR 1020207016018 A KR1020207016018 A KR 1020207016018A KR 20207016018 A KR20207016018 A KR 20207016018A KR 102419370 B1 KR102419370 B1 KR 102419370B1
Authority
KR
South Korea
Prior art keywords
sdn controller
client
rpc
input parameter
parameter
Prior art date
Application number
KR1020207016018A
Other languages
English (en)
Other versions
KR20200084881A (ko
Inventor
우 샤오영
왕 얀송
톈 지안
커 즈융
Original Assignee
지티이 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 지티이 코포레이션 filed Critical 지티이 코포레이션
Publication of KR20200084881A publication Critical patent/KR20200084881A/ko
Application granted granted Critical
Publication of KR102419370B1 publication Critical patent/KR102419370B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/133Protocols for remote procedure calls [RPC]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/541Interprogram communication via adapters, e.g. between incompatible applications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/547Remote procedure calls [RPC]; Web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/08Protocols for interworking; Protocol conversion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/60Software-defined switches

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Telephonic Communication Services (AREA)
  • Communication Control (AREA)
  • Computer And Data Communications (AREA)

Abstract

본 발명은 원격 프로시저 호출을 구현하는 방법 및 장치를 제공하며, 이 중 상기 방법은, 클라이언트는 SDN 컨트롤러의 서비스 인터페이스를 호출하고, 서비스 인터페이스의 제1 입력 파라미터를 사전 설정된 프로토콜 포맷의 제2 입력 파라미터로 변환하고(400); 클라이언트는 제2 입력 파라미터를 RPC를 만족하는 요청 정보로 변환하여, SDN 컨트롤러로 전송하는 것을 포함한다.

Description

원격 프로시저 호출을 구현하는 방법 및 장치
본 출원은 소프트웨어 정의 네트워크(Software Defined Network, SDN) 기술과 관련되지만 이에 제한되지는 않는다.
참고적으로, 본 출원은 출원번호가 201711190700.1(출원일: 2017 년 11 월 14 일)인 중국 특허 출원을 기초로 하고, 그 중국 특허 출원의 우선권을 주장하며, 그 중국 특허 출원의 전체 내용은 본 출원에 참조로 포함된다.
SDN은 별도의 제어와 전송 기능이 분리되고 소프트웨어 프로그래밍이 가능한 새로운 유형의 네트워크 시스템 아키텍처이다. SDN 아키텍처는 중앙 제어 평면과 분산 데이터 평면을 포함한다. SDN 컨트롤러는 제어 평면의 구현으로 네트워크 상의 모든 정보를 인식하고 전체 네트워크의 로직을 처리하며 다양한 네트워크 프로토콜을 구현할 수 있다. SDN 아키텍처의 중앙 제어 방법은 각 장치에 분산된 기존의 제어 및 복잡한 프로토콜을 단순화하고 네트워크 제어 및 네트워크 진화를 위한 매우 우수한 관리 및 진화 기능을 제공한다. SDN 컨트롤러는 SDN 아키텍처에서 네트워크 애플리케이션과 네트워크 인프라 사이의 중요한 브릿지이다. SDN 컨트롤러는 소프트웨어로 프로그래밍할 수 있기 때문에 네트워크에 유연한 제어 및 애플리케이션 혁신 기능을 제공하여 네트워크를 신속하게 열고 유연하게 네트워크를 조정할 수 있다.
도 1은 관련 기술에서 SDN 제어의 구성의 개략도이다. 도 1에 도시된 바와 같이, 기능 레벨에 따라, SDN 컨트롤러는 일반적으로 노스 바운드 추상화 계층과 분산 코어로 나눌 수 있고, 그 외에 또한 사우스 바운드 추상화 계층, 적응, 구동, 프로토콜 계층 등이 있다.
노스 바운드 추상화 계층은 노스 바운드 인터페이스 추상화 계층이라고도 하는 애플리케이션을 네트워크 세부 정보와 격리하고, 또한 애플리케이션과 네트워크 이벤트(예를 들어, 연결 중단)를 격리할 수 있다.
상응하게 SDN 컨트롤러를 애플리케이션과 격리하여, SDN 컨트롤러는 다수의 경쟁 애플리케이션으로부터의 요청을 관리할 수 있다. 비즈니스 관점에서, 노스 바운드 추상화 계층의 설정은 애플리케이션 개발 속도를 제고하고, 또한 애플리케이션의 중단없이 네트워크를 변경할 수 있다.
분산 코어는 구성 요소 간의 통신, 상태 관리 및 리더 선출 서비스를 제공한다. 따라서 여러 구성 요소를 하나의 로직 구성 요소로 나타낸다. 애플리케이션의 경우, 분산 코어 계층은 네트워크의 차이점을 보호한다. 또한 애플리케이션은 구성 요소 및 데이터 플랫폼의 결함 코드를 학습할 수 있다. 이를 통해 애플리케이션 개발 및 오류 처리 프로세스가 크게 간소화되었다.
관련 기술은 SDN 컨트롤러를 기반으로 다양한 네트워크 애플리케이션 (APP, Application)의 개발을 제공한다. 하나의 APP를 개발할 때, APP과 SDN 컨트롤러 간에 효율적으로 상호 작용을 해야 하는 많은 양의 데이터가 있을 수 있다. 예를 들면, 노스 바운드 추상화 계층에서 제공하는 다양한 네트워크 서비스 호출, 네트워크 토폴로지 및 상태 조회 등 해당 네트워크 작동 명령을 실시하여 네트워크 소프트웨어 프로그래밍을 구현한다.
SDN 컨트롤러는 일반적으로 JAVA와 같은 특정 프로그래밍 언어를 사용하여 개발된다. APP 개발이 PYTHON과 같은 다른 프로그래밍 언어를 사용하는 경우, APP과 SDN 컨트롤러가 교차 프로그래밍 언어의 상호 작용을 직접 구현할 수 없고; 또한 APP과 SDN 컨트롤러가 상이한 호스트에 분산된 경우, 노드 간 원격 상호 작용이 불가능하다.
상기 기술 문제를 해결하기 위해, 본 발명의 실시예는 원격 프로시저 호출을 구현하는 방법 및 장치를 제공한다.
본 출원은 원격 프로시저 호출을 구현하는 장치를 제공하며, 이 장치는 프록시 모듈, 제1 변환 모듈 및 제1 트랜시버 모듈을 포함하며;
상기 프록시 모듈은 SDN 컨트롤러의 서비스 인터페이스를 호출하도록 구성되며, 프록시 모듈의 입력 파라미터 및 출력 파라미터는 SDN 컨트롤러의 실제 서비스 인터페이스 파라미터와 동일하며;
상기 제1 변환 모듈은 자신이 위치한 클라이언트에 의해 제공된 서비스 인터페이스의 APP 클라이언트 프로그래밍 언어 포맷을 만족하는 제1 입력 파라미터를 사전 설정된 프로토콜 포맷의 제2 입력 파라미터로 변환하도록 구성되며;
상기 제1 트랜시버 모듈은 제2 입력 파라미터를 원격 프로시저 호출 프로토콜(RPC, Remote Procedure Call Protocol)을 만족하는 요청 정보로 변환하여 SDN 컨트롤러로 전송하도록 구성된다.
본 출원은 또한 원격 프로시저 호출을 구현하는 장치를 제공하며, 이 장치는 제2 트랜시버 모듈 및 제2 변환 모듈을 포함하며;
상기 제2 트랜시버 모듈은 클라이언트로부터 RPC를 만족하는 요청 정보를 수신하고, 또한 그 요청 정보를 사전 설정된 프로토콜 포맷의 제2 입력 파라미터로 변환하도록 구성되며;
상기 제2 변환 모듈은 제2 입력 파라미터를 자신이 위치한 SDN 컨트롤러에 의해 제공된 서비스 인터페이스의 SDN 컨트롤러 프로그래밍 언어 포맷을 만족하는 제3 입력 파라미터로 변환하도록 구성된다.
본 출원은 또한 원격 프로시저 호출을 구현하는 방법을 제공하여, 이 방법은:
클라이언트는 SDN 컨트롤러의 서비스 인터페이스를 호출하고, 서비스 인터페이스의 제1 입력 파라미터를 사전 설정된 프로토콜 포맷의 제2 입력 파라미터로 변환하며;
클라이언트는 제2 입력 파라미터를 RPC를 만족하는 요청 정보로 변환하여 SDN 컨트롤러로 전송하는 것을 포함한다.
본 출원은 또한 컴퓨터 판독 가능 저장 매체를 제공하며, 이 저장 매체는 컴퓨터 실행 가능 명령을 저장하고, 상기 컴퓨터 실행 가능 명령은 전술한 원격 프로시저 호출을 구현하는 방법을 실행하는데 사용된다.
본 출원은 또한 원격 프로시저 호출을 구현하는 장치를 제공하며, 이 장치는 프로세서 및 메모리를 포함하며, 메모리 상에는 프로세서 상에서 실행 가능한 컴퓨터 프로그램이 저장되고; 상기 프로세서는 상기 컴퓨터 프로그램이 실행될 때 전술한 원격 프로시저 호출을 구현하는 방법을 실행하도록 구성된다.
본 출원은 또한 원격 프로시저 호출을 구현하는 방법을 제공하며, 이 방법은:
SDN 컨트롤러는 클라이언트로부터 RPC를 만족하는 요청 정보를 사전 설정된 프로토콜 포맷의 제2 입력 파라미터로 변환하며;
SDN 컨트롤러는 제2 입력 파라미터를 자신이 위치한 서비스 인터페이스의 제3 입력 파라미터로 변환하는 것을 포함한다.
본 출원은 또한 컴퓨터 판독 가능 저장 매체를 제공하며, 이 저장 매체는 컴퓨터 실행 가능 명령을 저장하고, 상기 컴퓨터 실행 가능 명령은 전술한 원격 프로시저 호출을 구현하는 방법을 실행하는데 사용된다.
본 출원은 또한 원격 프로시저 호출을 구현하는 장치를 제공하며, 이 장치는 프로세서 및 메모리를 포함하며, 메모리 상에는 프로세서 상에서 실행 가능한 컴퓨터 프로그램이 저장되고; 상기 프로세서는 상기 컴퓨터 프로그램이 실행될 때 전술한 원격 프로시저 호출을 구현하는 방법을 실행하도록 구성된다.
본 출원은 SDN컨트롤러와의 상호 작용을 위해, APP 프로그래밍 언어 포맷을 만족하는 정보를 사전 설정된 프로토콜 포맷으로 변환하여, 클라이언트와 SDN 컨트롤러 간의 교차 프로그래밍 언어의 상호 작용 문제를 효과적으로 해결한다. 또한, 본 출원은 대량의 양방향 스트리밍 통신의 효율을 향상시킨다.
도면은 본 출원의 기술 방안에 대한 추가 이해를 제공하기 위해 사용되고, 또한 본 명세서의 일부를 형성하며, 본 출원의 실시예와 함께 본 출원의 기술 방안을 설명하는데 사용된다.
도 1은 관련 기술에서 SDN 제어의 구성의 개략도이다.
도 2는 본 출원의 원격 프로시저 호출을 구현하는 장치의 제1 실시예의 개략적인 구조도이다.
도 3은 본 출원의 원격 프로시저 호출을 구현하는 장치의 제2 실시예의 개략적인 구조도이다.
도 4는 본 출원의의 원격 프로시저 호출을 구현하는 방법의 제1 실시예의 흐름도이다.
도 5는 본 출원의 원격 프로시저 호출을 구현하는 방법의 제2 실시예의 흐름도이다.
본 출원의 목적, 기술 방안 및 장점을 보다 명확하게 하기 위해, 본 출원의 실시예에 대해 도면을 참조하여 아래에서 상세하게 설명한다. 충돌되지 않는 경우, 본 출원의 실시예와 실시예의 특징은 임의로 조합될 수 있음에 유의해야 한다.
도 2는 본 출원의 원격 프로시저 호출을 구현하는 장치의 제1 실시예의 개략적인 구조도이다. 제1 실시예에서, 장치는 APP 클라이언트를 설치하도록 구성된 클라이언트에 설정되며, 도 2에 도시된 바와 같이, 적어도 프록시 모듈, 제1 변환 모듈 및 제1 트랜시버 모듈을 포함한다; 여기서,
프록시 모듈은 SDN 컨트롤러의 서비스 인터페이스를 호출하도록 구성되며, 프록시 모듈의 입력 파라미터 및 출력 파라미터는 내용 상에서SDN 컨트롤러의 실제 서비스 인터페이스 파라미터와 동일한다.
클라이언트 상의 APP 클라이언트에는 실제 SDN 컨트롤러 서비스 인터페이스가 없으므로, 프록시 모듈은 비 컨트롤러 프로그래밍 언어를 사용하는 APP 클라이언트와 SDN 컨트롤러 간의 상호 작용 차이를 보호한다. 따라서, 본 출원의 실시예에서 프록시 모듈을 통해 SDN 컨트롤러의 서비스 인터페이스에 대한 호출을 편리하게 구현한다.
제1 변환 모듈은 자신이 위치한 클라이언트에 의해 제공된 서비스 인터페이스의 제1 입력 파라미터를 사전 설정된 프로토콜 포맷의 제2 입력 파라미터로 변환하도록 구성된다.
여기서, 클라이언트에 의해 제공된 서비스 인터페이스의 입력 파라미터는 APP 클라이언트 프로그래밍 언어 포맷을 만족하는 입력 파라미터이다.
선택적으로, 사전 설정된 프로토콜 포맷은 예를 들어, 프로토콜 캐시(protobuf) 포맷, 인터페이스 정의 언어(IDL, Interface Definition Language) 포맷 및 JS 오브젝트 노테이션(JSON, JavaScript Object Notation) 포맷을 포함할 수 있다. 사전 설정된 프로토콜 포맷으로 인식할 수 있는 파라미터는 문자열, 정수, 부동 소수점, 바이트, 부울 유형 등과 같은 기본 유형이거나 또는 포인터 유형을 포함하지 않는 여러 유형의 조합이다.
제1 트랜시버 모듈은 제2 입력 파라미터를 RPC를 만족하는 요청 정보로 변환하여 SDN 컨트롤러로 전송하도록 구성된다.
선택적으로 클라이언트와 SDN 컨트롤러는 동일한 물리적 장치 또는 상이한 물리적 장치에 설정될 수 있다. 클라이언트와 SDN 컨트롤러가 상이한 물리적 장치에 설정된 경우(예를 들어, 상이한 호스트), 요청 정보는 SDN 컨트롤러의 어드레스와 약정 포트를 더 포함한다. 여기서 약정 포트는 사전 설정된 포트 또는 동적으로 협상된 포트이다.
본 출원의 도 2에 제공된 장치는, 제1 변환 모듈 및 제1 트랜시버 모듈의 기능을 통해 SDN 컨트롤러와의 상호 작용을 위해 APP 프로그래밍 언어 포맷을 만족하는 정보를 사전 설정된 프로토콜 포맷으로 변환하여, 클라이언트 상의 APP 클라이언트와 SDN 컨트롤러 간의 교차 프로그래밍 언어의 상호 작용 문제를 효과적으로 해결하였다.
선택적으로, 도 2에 도시된 장치에서, 제1 트랜시버 모듈은 SDN 컨트롤러로부터 RPC를 만족하는 응답 정보를 수신하고, RPC를 만족하는 응답 정보를 사전 설정된 프로토콜 포맷의 제2 출력 파라미터로 변환하도록 추가로 구성된다. 상응하게,
제1 변환 모듈은 또한 제2 출력 파라미터를 APP 클라이언트 프로그래밍 언어 포맷을 만족하는 제1 출력 파라미터로 변환하여 프록시 모듈로 출력하도록 구성된다.
이러한 방식으로, 프록시 모듈은 획득된 제1 출력 파라미터를 프록시 모듈의 리턴값으로 사용한다.
도 3은 본 출원의 원격 프로시저 호출을 구현하는 장치의 제2 실시예의 개략적인 구조도이며, 제2 실시예에서, 장치는 SDN 컨트롤러에 설치되고, 도 3에 도시된 바와 같이, 적어도 제2 트랜시버 모듈 및 제2 변환 모듈을 포함한다. 여기서,
제2 트랜시버 모듈은 APP 클라이언트로부터 RPC를 만족하는 요청 정보를 수신하고, 또한 그 요청 정보를 사전 설정된 프로토콜 포맷의 제2 입력 파라미터로 변환하도록 구성된다.
선택적으로, 사전 설정된 프로토콜 포맷은 protobuf, IDL 및 JSON과 같은 포맷을 포함할 수 있다. 사전 설정된 프로토콜 포맷으로 인식할 수 있는 파라미터는 문자열, 정수, 부동 소수점 숫자, 바이트, 부울 유형 등과 같은 기본 유형이거나, 또는 포인터 유형을 제외한 여러 유형의 조합이다.
제2 변환 모듈은 제2 입력 파라미터를 자신이 위치한 SDN 컨트롤러에 의해 제공된 서비스 인터페이스의 제3 입력 파라미터로 변환하도록 구성된다.
여기서, SDN 컨트롤러에 의해 제공된 서비스 인터페이스의 제3 입력 파라미터는 SDN 컨트롤러의 프로그래밍 언어 포맷을 만족하는 입력 파라미터이다.
선택적으로, 도 3에 도시된 장치에서,
제2 변환 모듈은 또한 요청 정보에 응답하는 자신이 위치한 SDN 컨트롤러의 제3 출력 파라미터를 사전 설정된 프로토콜 포맷의 제2 출력 파라미터로 변환한다. 상응하게,
제2 트랜시버 모듈은 또한 제2 출력 파라미터를 RPC를 만족하는 응답 정보로 변환하여 클라이언트로 전송하도록 구성된다.
선택적으로, 도 3에 도시된 장치는 등록 모듈을 더 포함하며, 자신이 위치한 SDN 컨트롤러에 RPC 서비스를 등록하고, 또한 RPC 서비스가 필요할 때 그 RPC 서비스를 시작하도록 구성된다.
선택적으로, 도 3에 도시된 장치는 모니터링 모듈을 더 포함하며, 클라이언트와 약정된 포트를 모니터링하고, 포트 상에서 정보 흐름이 모니터링될 때 클라이언트로부터의 정보를 수신하게 제2 트랜시버 모듈에 통지하도록 구성된다.
본 출원의 실시예에서, 도 2에 도시된 장치와 도 3에 도시된 장치를 함께 사용하여, APP이 직접 SDN 컨트롤러와 교차 프로그래밍 언어의 상호 작용하는 것을 구현한다. 또한 APP 클라이언트는 기본 네트워크 프로토콜 및 인코딩 분석을 이해할 필요가 없고, 클라이언트 코드를 자동으로 생성하여 SDN 컨트롤러가 처리하는 네트워크 요청을 로컬 방법을 호출하는 것과 같이 간단하게 한다.
도 4는 본 출원의 원격 프로시저 호출을 구현하는 방법의 제1 실시예의 흐름도이다. 도 4에 도시된 바와 같이, 이 방법은 다음을 포함한다:
단계 400 : 클라이언트는 SDN 컨트롤러의 서비스 인터페이스를 호출하고, 서비스 인터페이스의 제1 입력 파라미터를 사전 설정된 프로토콜 포맷의 제2 입력 파라미터로 변환한다.
여기서, 클라이언트에 의해 제공된 서비스 인터페이스의 제1 입력 파라미터는 APP 클라이언트 프로그래밍 언어 포맷을 만족하는 입력 파라미터이다.
선택적으로, 사전 설정된 프로토콜 포맷은 Protobuf, IDL 및 JSON과 같은 포맷을 포함할 수 있다. 사전 설정된 프로토콜 포맷으로 인식할 수 있는 파라미터는 문자열, 정수, 부동 소수점 숫자, 바이트, 부울 유형 등과 같은 기본 유형이거나, 또는 포인터 유형을 제외한 여러 유형의 조합이다.
단계 401 : 클라이언트는 제2 입력 파라미터를 RPC를 만족하는 요청 정보로 변환하여, SDN 컨트롤러로 전송한다.
선택적으로 클라이언트와 SDN 컨트롤러가 상이한 물리적 장치에 설정된 경우(예를 들어, 상이한 호스트), 요청 정보는 SDN 컨트롤러의 어드레스와 약정 포트를 더 포함한다.
도 4에 도시된 실시예를 통해, SDN컨트롤러와의 상호 작용을 위해, APP 프로그래밍 언어 포맷을 만족하는 정보를 사전 설정된 프로토콜 포맷으로 변환하여, 클라이언트와 SDN 컨트롤러 간의 교차 프로그래밍 언어의 상호 작용 문제를 효과적으로 해결하였다.
선택적으로, 도 4에 도시된 방법은 다음을 더 포함한다:
클라이언트는 SDN 컨트롤러로부터 RPC를 만족하는 응답 정보를 수신하고, RPC를 만족하는 응답 정보를 사전 설정된 프로토콜 포맷의 제2 출력 파라미터로 변환하고;
클라이언트는 제2 출력 파라미터를 APP 클라이언트 프로그래밍 언어 포맷을 만족하는 제1 출력 파라미터로 변환하여 리턴값으로 사용한다.
본 발명의 실시예는 또한 컴퓨터 실행 가능 명령을 저장하는 컴퓨터 판독 가능 저장 매체를 제공하고, 상기 컴퓨터 실행 가능 명령은 본 발명 실시예의 도 4에 도시된 임의의 원격 프로시저 호출을 구현하는 방법을 실행하는데 사용된다.
본 발명의 실시예는 또한 원격 프로시저 호출을 구현하는 장치를 제공하며, 프로세서, 메모리, 및 메모리 상에 저장되고 프로세서 상에서 실행 가능한 컴퓨터 프로그램을 포함하고; SDN 컨트롤러의 서비스 인터페이스를 호출하여 서비스 인터페이스의 제1 입력 파라미터를 사전 설정된 프로토콜 포맷의 제2 입력 파라미터로 변환하고; 제2 입력 파라미터를 RPC를 만족하는 요청 정보로 변환하여 SDN 컨트롤러로 전송한다.
즉, 상기 프로세서가 상기 컴퓨터 프로그램을 실행하도록 구성되면, 클라이언트 측 어느 하나의 원격 프로시저 호출을 구현하는 방법을 수행한다.
도 5는 본 출원의 원격 프로시저 호출을 구현하는 방법의 제2 실시예의 흐름도이며, 도 5에 도시된 바와 같이, 다음을 포함한다:
단계 500: SDN 컨트롤러는 클라이언트로부터 RPC를 만족하는 요청 정보를 사전 설정된 프로토콜 포맷의 제2 입력 파라미터로 변환한다.
선택적으로, 사전 설정된 프로토콜 포맷은 Protobuf, IDL 및 JSON과 같은 포맷을 포함할 수 있다. 사전 설정된 프로토콜 포맷으로 인식할 수 있는 파라미터는 문자열, 정수, 부동 소수점 숫자, 바이트, 부울 유형 등과 같은 기본 유형이거나, 또는 포인터 유형을 제외한 여러 유형의 조합이다.
단계 501: SDN 컨트롤러는 제2 입력 파라미터를 자신이 위치한 서비스 인터페이스의 제3 입력 파라미터로 변환한다.
여기서, SDN 컨트롤러에 의해 제공된 서비스 인터페이스의 제3 입력 파라미터는 SDN 컨트롤러의 프로그래밍 언어 포맷을 만족하는 입력 파라미터이다.
선택적으로, 도 5에 도시된 실시예는 다음 사항을 더 포함한다:
SDN 컨트롤러는 요청 정보에 응답하는 제3 출력 파라미터를 사전 설정된 프로토콜 포맷의 제2 출력 파라미터로 변환하고;
제2 출력 파라미터를 RPC를 만족하는 응답 정보로 변환하여 클라이언트로 전송한다.
선택적으로, 도 5에 도시된 실시예의 방법 전에 다음 사항을 더 포함한다:
SDN 컨트롤러는 RPC 서비스를 등록하고, 또한 RPC 서비스를 사용해야 할 때 그 RPC 서비스를 시작한다.
선택적으로, 도 5에 도시된 실시예의 방법 전에 다음 사항을 더 포함한다:
SDN 컨트롤러는 클라이언트와 약정된 포트를 모니터링하고, 또한 포트 상에서 정보 흐름이 모니터링될 때 클라이언트로부터 정보를 수신한다.
본 출원의 실시예에서, 도 4에 도시된 방법 및 도 5에 도시된 방법을 함께 사용하여, 클라이언트가 직접 SDN 컨트롤러와 교차 프로그래밍 언어의 상호 작용하는 것을 구현한다.
본 발명의 실시예는 또한 컴퓨터 실행 가능 명령을 저장하는 컴퓨터 판독 가능 저장 매체를 제공하고, 상기 컴퓨터 실행 가능 명령은 본 발명의 실시예에서 원격 프로시저 호출을 구현하기 위해 도 5에 도시된 임의의 방법을 실행하는데 사용된다.
본 발명의 실시예는 원격 프로시저 호출을 구현하는 장치를 제공한다. 이 장치는 프로세서, 메모리, 및 메모리 상에 저장되고 프로세서 상에서 실행 가능한 컴퓨터 프로그램을 포함하고; APP 클라이언트의 RPC를 만족하는 요청 정보를 사전 설정된 프로토콜 포맷의 제2 입력 파라미터로 변환하고; 제2 입력 파라미터를 자신이 위치한 서비스 인터페이스의 제3 입력 파라미터로 변환한다.
즉, 상기 프로세서가 상기 컴퓨터 프로그램을 실행하도록 구성되면, 상기 SDN 컨트롤러 측 어느 하나의 원격 프로시저 호출을 구현하는 방법을 수행한다.
다음은 구체적인 실시예와 결합하여 본 발명의 구현 방안을 상세하게 설명한다.
제1 실시예에서, 클라이언트 상에 설정된 APP 클라이언트는 PYTHON 프로그래밍 언어(다른 프로그래밍 언어도 사용될 수 있음)를 사용하여 개발되고, SDN 컨트롤러는 JAVA 프로그래밍 언어(다른 프로그래밍 언어도 사용될 수 있음)를 사용하여 개발되고, 또한 클라이언트와 SDN 컨트롤러는 동일한 호스트에서 실행된다고 가정한다.
제1 실시예에서, APP 클라이언트는 2 개의 네트워크 노드 간에 도달 가능한 경로가 있는지 여부를 조회하기 위해 SDN 컨트롤러의 인터페이스를 호출할 필요가 있다고 가정한다. 이때, APP 클라이언트의 입력 파라미터는 2개의 네트워크 노드의 ID 번호이고(예를 들어, 32 비트 정수 유형), SDN 컨트롤러의 예상 리턴값은 경로 도달 가능 값이다(예를 들어, 부울 유형: 예 또는 아니오).
본 출원의 실시예에서 제공되는 원격 프로시저 호출을 구현하는 방법은 다음과 같다:
SDN 컨트롤러에서 구체적으로 다음을 포함한다:
SDN 컨트롤러에 RPC 서비스를 등록하고, SDN 컨트롤러가 OSGI(Open Service Gateway Initiative) 프레임워크를 따르는 경우, 번들(bundle)에서 경로 도달 가능 조회의 RPC 서비스를 시작하고; SDN 컨트롤러에서 APP 클라이언트와 약정된 포트를 모니터링하고, 그 포트에서 RPC 정보를 수신한다. 제1 실시예에서, 포트 번호를 5001로 약정한 것으로 가정한다.
제1 실시예의 입력 파라미터는 2 개의 네트워크 노드의 ID 번호이고, 유형은 32 비트 정수이며; 출력 파라미터는 경로 도달 가능 값이고, 유형은 부울 유형이며, 이는 사전 설정된 프로토콜 포맷으로 직접 인식할 수 있는 기본 유형이다.
수신된 RPC 요청 정보, 즉, 2 개의 네트워크 노드의 ID 번호의 입력 파라미터에 대해, SDN 컨트롤러는 사전 설정된 프로토콜 포맷에 따라 JAVA와 같은 SDN 컨트롤러 프로그래밍 언어 포맷의 2 개의 네트워크 노드 ID 번호의 입력 파라미터로 변환하고; 전송 준비 중인 RPC 응답 정보의 경우, SDN 컨트롤러에 의해 제공된 서비스 인터페이스의 출력 파라미터, 즉 JAVA 포맷의 부울 유형의 경로 도달 가능 값을 사전 설정된 프로토콜 포맷에 따라 RPC 응답 정보로 변환한다.
APP 클라이언트에는 구체적으로 다음을 포함한다:
제1 실시예에서, APP 클라이언트 상에 내용 상에서 입력 파라미터 및 출력 파라미터와 SDN 컨트롤러의 실제 서비스 인터페이스가 동일한 경로 도달 가능 조회 인터페이스를 설치한다. 제1 실시예에서, 입력 파라미터는 2개의 네트워크 노드의 ID 번호이고, 유형은 32 비트 정수이고, 출력 파라미터는 경로 도달 가능 값이며, 유형은 부울 유형으로, 사전 설정된 프로토콜 포맷으로 직접 인식할 수 있는 기본 유형이다.
전송 준비 중인 RPC 정보의 경우, APP 클라이언트에 의해 제공된 서비스 인터페이스의 출력 파라미터, 즉 2개의 네트워크 노드 ID 번호를 사전 설정된 프로토콜 포맷에 따라 RPC 응답 정보로 변환한다; 수신된 RPC 응답 정보는 사전 설정된 프로토콜 포맷에 따라 PYTHON과 같은 APP 클라이언트 프로그래밍 언어 포맷의 부울 유형의 경로 도달 가능 값으로 변환된다.
APP 클라이언트는 SDN 컨트롤러의 인터페이스를 호출하여 2개의 네트워크 노드 사이의 경로에 도달 가능한지 여부를 조회한다.
SDN 컨트롤러는 등록 모듈을 시작하고 OSGI 프레임워크를 통해 번들에서 경로 도달 가능 조회의 RPC 서비스를 시작하고; SDN 컨트롤러는 모니터링 모듈을 시작하여, SDN 컨트롤러와 APP 클라이언트 간에 약정된 포트를 모니터링하고, RPC 정보를 수신한다. 제1 실시예에서, 포트 번호는 5001로 약정한다;
APP 클라이언트는 개발을 위해 PYTHON과 같은 것을 사용하고, APP 클라이언트에서 경로 도달 가능 조회의 프록시 모듈을 호출하며, 입력 파라미터는 2개의 네트워크 노드의 ID 번호이다; APP 클라이언트는 제1 변환 모듈을 호출하고, 위에서 요청한 입력 파라미터, 즉 2개의 네트워크 노드의 ID 번호를 사전 설정된 프로토콜 포맷의 입력 파라미터로 변환한다; APP의 클라이언트는 제1 트랜시버 모듈을 호출하고, 사전 설정된 프로토콜 포맷의 입력 파라미터를 RPC의 요청 정보로 변환하고, 또한 SDN 컨트롤러의 지정된 어드레스 및 포트(예를 들어, 5001)로 RPC의 요청 정보를 전송한다;
SDN 컨트롤러의 모니터링 모듈은 포트 5001에서 RPC 정보를 모니터링하고, 수신된 RPC 정보를 SDN 컨트롤러의 제2 트랜시버 모듈에 제출하고; SDN 컨트롤러의 제2 트랜시버 모듈은 RPC의 사전 설정된 프로토콜 포맷의 요청 정보를 파싱하고; SDN 컨트롤러의 제2 변환 모듈은 사전 설정된 프로토콜 포맷의 요청 정보를 JAVA와 같은 SDN 컨트롤러 프로그래밍 언어에 대응하는 2 개의 네트워크 노드 ID 번호의 입력 파라미터로 변환하고;
SDN 컨트롤러는 상응하는 경로 도달 가능 조회 인터페이스를 호출하여 작동하고, 또한 제2 변환 모듈을 통해 획득한 입력 파라미터의 리턴값, 즉 부울 유형의 경로 도달 가능 값을 사전 설정된 프로토콜 포맷의 출력 파라미터로 변환하며; 제2 트랜시버 모듈을 통해, 사전 설정된 프로토콜 포맷의 출력 파라미터를 RPC를 만족하는 응답 정보로 변환하여 APP 클라이언트로 전송하며;
APP 클라이언트의 제1 트랜시버 모듈은 RPC 정보를 수신하고, RPC의 응답 정보를 파싱하고, RPC를 만족하는 응답 정보를 사전 설정된 프로토콜 포맷의 출력 파라미터로 변환한 다음 APP 클라이언트의 제1 변환 모듈에 제출하고; APP 클라이언트의 제1 변환 모듈은 사전 설정된 프로토콜 포맷의 출력 파라미터를 PYTHON과 같은 APP 프로그래밍 언어에 대응하는 부울 경로 도달 가능 값의 출력 파라미터로 변환하고, 또한 그 출력 파라미터를 프록시 모듈로 전달하여 그 프록시 모듈의 리턴값으로 사용한다;
이러한 방식으로, APP 클라이언트는 2개의 네트워크 노드 사이의 경로 도달 가능 여부의 리턴값을 획득한다.
제2 실시예에서, 클라이언트 상에 설정된 APP 클라이언트는 PYTHON 프로그래밍 언어를 사용하여 개발되고, SDN 컨트롤러는 JAVA 프로그래밍 언어를 사용하여 개발되고, 또한 클라이언트 및 SDN 컨트롤러는 동일한 호스트에서 실행되는 것으로 가정한다.
제2 실시예에서, APP 클라이언트는 2 개의 네트워크 노드 사이의 경로를 조회하기 위해 SDN 컨트롤러의 인터페이스를 호출할 필요가 있다고 가정한다. 이때, APP 클라이언트의 입력 파라미터는 2개의 네트워크 노드의 ID 번호이고(예를 들어, 32 비트 정수 유형), SDN 컨트롤러의 예상 리턴값은 하나의 경로 도달 가능 값 및 경로 포인터이다. 여기서, 경로 도달 가능 값은 하나의 부울 유형으로, 2개의 노드 사이의 경로에 도달 가능한지 여부를 나타낸다. 경로에 도달 가능한 경우, 경로 포인터는 구체적으로 일련의 링크 ID를 가리킨다(예를 들어, 32 비트 정수 유형의 집합).
제2 실시예와 제1 실시예의 주요한 차이점은: 제1 실시예의 리턴값은 기본 유형인 부울 유형이고, 이는 사전 설정된 프로토콜 포맷에 따라 직접 변환될 수 있다; 제2 실시예의 리턴값은 기본 유형(부울 유형)과 포인터의 조합으로, 포인터 유형의 경우 사전 설정된 프로토콜 포맷에 따라 직접 변환될 수 없다. 따라서, 제2 실시예에서는,
SDN 컨트롤러에서 프로토콜 변환의 구체적인 구현은 다음을 포함한다:
수신된 RPC 요청 정보, 즉, 2 개의 네트워크 노드의 ID 번호의 입력 파라미터의 경우, 사전 설정된 프로토콜 포맷에 따라 JAVA와 같은 SDN 컨트롤러 프로그래밍 언어 포맷의 2 개의 네트워크 노드 ID 번호의 입력 파라미터로 변환되고; 전송 준비 중인 RPC 응답 정보의 경우, SDN 컨트롤러에서 제공하는 서비스 인터페이스의 출력 파라미터가 JAVA 포맷의 부울 유형의 경로 도달 가능 값과 포인터 유형 경로의 조합인 경우: JAVA 포맷의 부울 유형의 경로 도달 가능 값을 읽고; JAVA 포맷의 포인터 유형의 경로의 경우, 구체적으로 일련의 링크 ID를 가리키는 값을 읽고; 위의 두 가지 값을 조합하여 새로운 데이터 유형으로 합성한다. 이 새로운 데이터 유형은 사전 설정된 프로토콜 포맷으로 인식할 수 있는 기본 유형의 조합이며, 다시 이 데이터 유형을 사전 설정된 프로토콜 포맷의 파라미터로 변환한다.
APP 클라이언트에서 프로토콜 변환의 구체적인 구현은 다음을 포함한다.
전송 준비 중인 RPC 정보의 경우, 클라이언트가 제공한 서비스 인터페이스의 입력 파라미터, 즉 예를 들어 PYTHON이 프로그래밍한 2개의 네트워크 노드 ID 번호의 입력 파라미터를 사전 설정된 프로토콜 포맷에 따라 RPC 요청 정보로 변환하고; 수신된 RPC 응답 정보의 경우(그 데이터 유형은 SDN 컨트롤러에 설정된 유형임): 먼저, 사전 설정된 프로토콜 포맷에 따라 PYTHON에 의해 프로그래밍된 두 가지 값의 조합 데이터 유형으로 변환된다; 그런 다음 JAVA 포맷의 부울 유형의 경로 도달 가능 값을 읽고; 경로 조합에서 구체적으로 일련의 링크 ID를 가리키는 값을 읽어, 그 경로 조합을 가리키는 포인터를 구성하고; 부울 유형의 경로 도달 가능 값과 포인터 유형 경로를 APP 클라이언트에서 프록시 모듈의 리턴값 유형으로 조합할 수 있다.
다른 구체적인 구현 프로세스는 제1 실시예와 일치하므로, 여기서 반복하지 않는다.
제3 실시예에서, 클라이언트 상에 설정된 APP 클라이언트는 PYTHON 프로그래밍 언어를 사용하여 개발되고, SDN 컨트롤러는 JAVA 프로그래밍 언어를 사용하여 개발되고, 또한 클라이언트 및 SDN 컨트롤러는 상이한 호스트에서 실행되는 것으로 가정한다.
제3 실시예에서, APP 클라이언트는 2 개의 네트워크 노드 사이의 경로를 조회하기 위해 SDN 컨트롤러의 인터페이스를 호출할 필요가 있다. APP 클라이언트의 입력 파라미터는 2 개의 네트워크 노드의 ID 번호이(예를 들어, 32 비트 정수 유형)이고, SDN 컨트롤러의 예상 리턴값은 하나의 경로 도달 가능 값 및 경로 포인터이다. 여기서, 경로 도달 가능 값은 하나의 부울 유형으로, 2개의 노드 사이의 경로에 도달 가능한지 여부를 나타낸다. 경로에 도달 가능한 경우, 경로 포인터는 구체적으로 일련의 링크 ID를 가리킨다(예를 들어, 32 비트 정수 유형의 집합).
제3 실시예와 제2 실시예의 주요 차이점은: 제2 실시예에서 APP 클라이언트와 SDN 컨트롤러는 동일한 호스트에 있고, 제3 실시예에서 APP 클라이언트와 SDN 컨트롤러는 상이한 호스트에 있다는 것이다. 따라서, 제3 실시예의 경우,
APP 클라이언트가 SDN 컨트롤러의 서비스 인터페이스를 호출하여 2개의 네트워크 노드 사이의 경로의 과정을 조회할 때, 요청 정보에 SDN 컨트롤러의 어드레스와 포트를 대응하는 SDN 컨트롤러의 IP 어드레스와 약정 포트를 지정할 수 있다.
다른 구체적인 구현 프로세스는 제2 실시예와 일치하므로, 여기서 반복하지 않는다.
제4 실시예에서, 클라이언트 상에 설정된 APP 클라이언트는 PYTHON 프로그래밍 언어를 사용하여 개발되고, SDN 컨트롤러는 JAVA 프로그래밍 언어를 사용하여 개발되고, 또한 클라이언트 및 SDN 컨트롤러는 동일한 호스트에서 실행되는 것으로 가정한다.
제4 실시예에서, APP 클라이언트는 복수의 네트워크 노드 쌍 사이에 도달 가능한 경로가 있는지 여부를 조회하기 위해 SDN 컨트롤러의 인터페이스를 호출할 필요가 있다고 가정한다. 이때, APP 클라이언트의 입력 파라미터는 복수의 네트워크 노드 쌍의 ID 번호이고(예를 들어, 각 네트워크 노드 쌍은 2개의 32 비트 정수 유형), SDN 컨트롤러의 예상 리턴값은 복수의 경로 도달 가능 값이다(예를 들어, 도달 가능 경로 값은 부울 유형: 예 또는 아니오).
제4 실시예와 제1 실시예의 주요 차이점은: 제1 실시예에서 APP 클라이언트의 입력 파라미터는 2 개의 네트워크 노드의 ID 번호이고, 제4 실시예에서 APP 클라이언트의 입력 파라미터는 불확실한 수의 네트워크 노드 쌍의 ID 번호라는 것이다. 또한, 제1 실시예의 리턴값은 하나의 경로 도달 가능 값이고, 제4 실시예의 리턴값은 입력 파라미터의 수에 대응하는 경로 도달 가능 값이다. 즉, 제4 실시 예에서, APP 클라이언트와 SDN 컨트롤러 사이의 상호 작용은 전이중 양방향 데이터 흐름이다. 따라서, 제4 실시예에서,
APP 클라이언트는 요청 정보를 시작하기 전에 전송 모드를 스트리밍 모드로 설정해야 하며, 전송이 완료되면 종료 플래그를 설정한다.
SDN 컨트롤러가 APP 클라이언트로 전송한 리턴값은 데이터 스트림이므로, SDN 컨트롤러는 전송 모드를 스트리밍 모드로 설정하고, 리턴값을 스트리밍 모드로 보내야 한다. 전송이 완료되면 종료 플래그를 설정한다.
다른 구체적인 구현 프로세스는 제1 실시예와 일치하므로, 여기서 반복하지 않는다.
본 출원의 실시예는 대량의 양방향 스트리밍 통신의 효율을 향상시킨다.
전술한 내용은 본 발명의 바람직한 예일 뿐이며 본 발명의 보호 범위를 제한하려는 것이 아니다. 본 발명의 사상 및 원리 내의 임의의 수정, 등가의 교체, 개선 등은 본 발명의 보호 범위에 포함되어야 한다.
400, 401, 500, 501: 단계

Claims (16)

  1. 삭제
  2. 삭제
  3. 삭제
  4. 제2 트랜시버 모듈 및 제2 변환 모듈을 포함하며;
    상기 제2 트랜시버 모듈은 클라이언트로부터 RPC를 만족하는 요청 정보를 수신하고, 또한 그 요청 정보를 사전 설정된 프로토콜 포맷의 제2 입력 파라미터로 변환하도록 구성되며;
    상기 제2 변환 모듈은 제2 입력 파라미터를 자신이 위치한 SDN 컨트롤러에 의해 제공된 서비스 인터페이스의 SDN 컨트롤러 프로그래밍 언어 포맷을 만족하는 제3 입력 파라미터로 변환하도록 구성되는, 원격 프로시저 호출을 구현하는 장치.
  5. 청구항 4에 있어서,
    상기 장치는 모니터링 모듈을 더 포함하며, 상기 모니터링 모듈은 클라이언트와 약정된 포트를 모니터링하고, 포트 상에서 정보 흐름이 모니터링될 때 클라이언트로부터의 정보를 수신하게 상기 제2 트랜시버 모듈에 통지하도록 구성되는, 원격 프로시저 호출을 구현하는 장치.
  6. 청구항 4에 있어서,
    상기 제2 변환 모듈은 또한 요청 정보에 응답하는 자신이 위치한 SDN 컨트롤러의 제3 출력 파라미터를 사전 설정된 프로토콜 포맷의 제2 출력 파라미터로 변환하도록 구성되며;
    상기 제2 트랜시버 모듈은 또한 제2 출력 파라미터를 RPC를 만족하는 응답 정보로 변환하여 상기 클라이언트로 전송하도록 구성되는, 원격 프로시저 호출을 구현하는 장치.
  7. 클라이언트는 SDN 컨트롤러의 서비스 인터페이스를 호출하고, 서비스 인터페이스의 제1 입력 파라미터를 사전 설정된 프로토콜 포맷의 제2 입력 파라미터로 변환하며;
    클라이언트는 제2 입력 파라미터를 RPC를 만족하는 요청 정보로 변환하여 SDN 컨트롤러로 전송하며;
    상기 클라이언트는 SDN 컨트롤러로부터 RPC를 만족하는 응답 정보를 수신하고, RPC를 만족하는 응답 정보를 사전 설정된 프로토콜 포맷의 제2 출력 파라미터로 변환하고;
    상기 클라이언트는 제2 출력 파라미터를 APP 클라이언트 프로그래밍 언어 포맷을 만족하는 제1 출력 파라미터로 변환하여 리턴값으로 사용하는 것을 포함하는, 원격 프로시저 호출을 구현하는 방법.
  8. 삭제
  9. 청구항 7에 있어서,
    상기 클라이언트와 SDN 컨트롤러가 동일한 물리적 장치에 설정되거나, 또는 상이한 물리적 장치에 설정되며,
    상기 클라이언트와 SDN 컨트롤러가 상이한 물리적 장치에 설정된 경우, 상기 요청 정보는 SDN 컨트롤러의 어드레스와 약정 포트를 더 포함하며, 상기 약정 포트는 사전 설정된 포트 또는 동적으로 협상된 포트인, 원격 프로시저 호출을 구현하는 방법.
  10. 컴퓨터 실행 가능 명령을 저장하고, 상기 컴퓨터 실행 가능 명령은 청구항 7 또는 청구항 9의 상기 원격 프로시저 호출을 구현하는 방법을 실행하는데 사용되는, 컴퓨터 판독 가능 저장 매체.
  11. 프로세서, 메모리, 및 상기 메모리 상에 저장되고 프로세서 상에서 실행 가능한 컴퓨터 프로그램을 포함하며; 상기 프로세서는 상기 컴퓨터 프로그램이 실행될 때 청구항 7 또는 청구항 9의 상기 원격 프로시저 호출을 구현하는 방법을 실행하도록 구성되는, 원격 프로시저 호출을 구현하는 장치.
  12. SDN 컨트롤러는 클라이언트로부터 RPC를 만족하는 요청 정보를 사전 설정된 프로토콜 포맷의 제2 입력 파라미터로 변환하며;
    SDN 컨트롤러는 제2 입력 파라미터를 자신이 위치한 서비스 인터페이스의 SDN 컨트롤러 프로그래밍 언어 포맷을 만족하는 제3 입력 파라미터로 변환하는 것을 포함하는, 원격 프로시저 호출을 구현하는 방법.
  13. 청구항 12에 있어서, 상기 방법 전에:
    상기 SDN 컨트롤러는 클라이언트와 약정된 포트를 모니터링하고, 또한 포트 상에서 정보 흐름이 모니터링될 때 해당 클라이언트로부터 정보를 수신하는 것을 더 포함하는, 원격 프로시저 호출을 구현하는 방법.
  14. 청구항 12에 있어서, 상기 방법은:
    상기 SDN 컨트롤러는 요청 정보에 응답하는 제3 출력 파라미터를 사전 설정된 프로토콜 포맷의 제2 출력 파라미터로 변환하며;
    제2 출력 파라미터를 RPC를 만족하는 응답 정보로 변환하여 클라이언트로 전송하는 것을 더 포함하는, 원격 프로시저 호출을 구현하는 방법.
  15. 컴퓨터 실행 가능 명령을 저장하고, 상기 컴퓨터 실행 가능 명령은 청구항 12 내지 청구항 14 중 어느 한 항의 상기 원격 프로시저 호출을 구현하는 방법을 실행하는데 사용되는, 컴퓨터 판독 가능 저장 매체.
  16. 프로세서, 메모리, 및 상기 메모리 상에 저장되고 프로세서 상에서 실행 가능한 컴퓨터 프로그램을 포함하며; 상기 프로세서는 상기 컴퓨터 프로그램이 실행될 때 청구항 12 내지 청구항 14 중 어느 한 항의 상기 원격 프로시저 호출을 구현하는 방법을 실행하도록 구성되는, 원격 프로시저 호출을 구현하는 장치.
KR1020207016018A 2017-11-24 2018-09-12 원격 프로시저 호출을 구현하는 방법 및 장치 KR102419370B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
CN201711190700.1 2017-11-24
CN201711190700.1A CN109840155B (zh) 2017-11-24 2017-11-24 一种实现远程过程调用的方法及装置
PCT/CN2018/105323 WO2019100819A1 (zh) 2017-11-24 2018-09-12 一种实现远程过程调用的方法及装置

Publications (2)

Publication Number Publication Date
KR20200084881A KR20200084881A (ko) 2020-07-13
KR102419370B1 true KR102419370B1 (ko) 2022-07-08

Family

ID=66631799

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020207016018A KR102419370B1 (ko) 2017-11-24 2018-09-12 원격 프로시저 호출을 구현하는 방법 및 장치

Country Status (4)

Country Link
EP (1) EP3706382A4 (ko)
KR (1) KR102419370B1 (ko)
CN (1) CN109840155B (ko)
WO (1) WO2019100819A1 (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111010438B (zh) * 2019-12-13 2022-11-11 北京达佳互联信息技术有限公司 远程过程调用方法、装置、服务器及存储介质
CN112100255B (zh) * 2020-08-03 2024-07-02 中冶南方工程技术有限公司 一种钢铁全流程质量数据平台的对外数据通讯方法和系统
CN112788003A (zh) * 2020-12-28 2021-05-11 浪潮通用软件有限公司 一种基于微服务架构的rpc通信方法及设备
CN113138811A (zh) * 2021-04-23 2021-07-20 上海中通吉网络技术有限公司 基于JsonPath的统一服务调用方法
CN113364890B (zh) * 2021-06-30 2022-10-28 北京奇艺世纪科技有限公司 数据处理方法、装置、网络设备及介质
CN113645303B (zh) * 2021-08-11 2024-04-23 曙光信息产业(北京)有限公司 数据传输方法、装置、计算机设备及存储介质
CN114221995B (zh) * 2021-11-11 2024-04-09 中国建设银行股份有限公司 服务调用方法、装置及电子设备
CN116760912A (zh) * 2023-08-18 2023-09-15 杭州星锐网讯科技有限公司 一种基于协议转换的交易实现方法和系统
CN117555528B (zh) * 2024-01-12 2024-03-26 成都索贝视频云计算有限公司 一种服务化代码框架生成方法、装置、设备及介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080163269A1 (en) * 2006-12-27 2008-07-03 Fujitsu Limited Remote procedure call system, remote procedure call method, program for implementing remote procedure call system

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102262560B (zh) * 2010-05-27 2016-12-28 阿里巴巴集团控股有限公司 一种远程服务的调用方法、装置及系统
CN102098296B (zh) * 2010-12-29 2014-08-06 北京新媒传信科技有限公司 一种实现远程调用的方法和系统
US9509549B2 (en) * 2013-03-15 2016-11-29 Cisco Technology, Inc. Extending routing rules from external services
EP3047621B1 (en) * 2013-09-20 2017-07-19 Nokia Solutions And Networks Management International GmbH Handling of signaling messages on the data plane in a software-defined architecture
US9660877B1 (en) * 2014-03-21 2017-05-23 Cisco Technology, Inc. Transaction management in multi-protocol SDN controller
CN105357244A (zh) * 2014-08-22 2016-02-24 中兴通讯股份有限公司 实现对网络逻辑实体的操作方法、客户端及代理端
CN105471726B (zh) * 2014-09-05 2019-08-27 华为技术有限公司 转发参数传递的方法及设备
CN106357713B (zh) * 2015-07-16 2019-12-31 北京京东尚科信息技术有限公司 实现远程过程调用的方法和客户端装置以及服务器装置

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080163269A1 (en) * 2006-12-27 2008-07-03 Fujitsu Limited Remote procedure call system, remote procedure call method, program for implementing remote procedure call system

Also Published As

Publication number Publication date
CN109840155A (zh) 2019-06-04
KR20200084881A (ko) 2020-07-13
EP3706382A1 (en) 2020-09-09
CN109840155B (zh) 2023-04-07
EP3706382A4 (en) 2021-08-04
WO2019100819A1 (zh) 2019-05-31

Similar Documents

Publication Publication Date Title
KR102419370B1 (ko) 원격 프로시저 호출을 구현하는 방법 및 장치
KR101703088B1 (ko) Sdn 기반의 통합 라우팅 방법 및 그 시스템
CN112838940B (zh) 一种网络控制器框架和数据处理方法
US10432448B2 (en) Systems and methods for stream-based, protocol-agnostic messaging
JP2006236354A (ja) ホームネットワークのサービスフレームワーク及びその制御方法
CN105556929A (zh) 在云计算系统中运行应用的网络元件和方法
US10965609B2 (en) Mapping of service requirements for a virtualized network on a packet flow
CN114157715B (zh) 一种骨干网络控制器的网络信息管理方法及系统
Sahlmann et al. Ontology-driven device descriptions for IoT network management
KR20180043041A (ko) 사물인터넷에서 멀티 프로토콜을 지원하는 디바이스 연동 처리 시스템 및 방법
KR102094041B1 (ko) IoT 단말 간 실시간으로 자율적인 상호작용을 위한 RDF 그래프 기반의 Semantic 엔진을 구비한 시스템
JP4317562B2 (ja) ウェブサービス提供装置、ウェブサービス要請装置、ウェブサービス提供方法及びウェブサービス要請方法
CN109861836A (zh) 一种网络管理设备及其管理方法
KR102123750B1 (ko) 네트워크 서비스 요청
CN116760872A (zh) 设备控制系统、方法、装置、计算机设备及存储介质
WO2018092734A1 (ja) 中継装置、クライアント装置、データ中継方法及びプログラムをコンピュータ読み取り可能に記録したプログラム記録媒体
KR101011987B1 (ko) 리눅스 서버 시스템을 위한 제이에스오엔-알피씨를 활용한 파이어월 보안설정 방법
Nurgaliyev et al. AN ANALYSIS OF THE HETEROGENEOUS IOT DEVICE NETWORK INTERACTION IN A CYBER-PHYSICAL SYSTEM
KR101348927B1 (ko) WSUN을 위한 OpenAPI 어뎁터
WO2022190431A1 (ja) 制御システムおよびデータ送信方法
KR20120081405A (ko) 확장 가능형 망 관리 시스템 및 방법
JP5700295B2 (ja) ネットワークシステム
TWI578737B (zh) 交換機、控制設備及其管理方法
KR20040001291A (ko) 망 요소 관리 시스템에서 장치 연동 서버 및 방법
KR101748713B1 (ko) Sms 및 tms 통합 기반 인프라 자동화 운영 및 트래픽 제어 시스템 및 방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant