KR101948227B1 - 파일 디스크립터를 이용한 서비스 정보 제공방법 - Google Patents

파일 디스크립터를 이용한 서비스 정보 제공방법 Download PDF

Info

Publication number
KR101948227B1
KR101948227B1 KR1020170016762A KR20170016762A KR101948227B1 KR 101948227 B1 KR101948227 B1 KR 101948227B1 KR 1020170016762 A KR1020170016762 A KR 1020170016762A KR 20170016762 A KR20170016762 A KR 20170016762A KR 101948227 B1 KR101948227 B1 KR 101948227B1
Authority
KR
South Korea
Prior art keywords
information
socket
information processing
file descriptor
request
Prior art date
Application number
KR1020170016762A
Other languages
English (en)
Other versions
KR20180091498A (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 주식회사 시큐아이
Priority to KR1020170016762A priority Critical patent/KR101948227B1/ko
Publication of KR20180091498A publication Critical patent/KR20180091498A/ko
Application granted granted Critical
Publication of KR101948227B1 publication Critical patent/KR101948227B1/ko

Links

Images

Classifications

    • 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30181Instruction operation extension or modification
    • G06F9/30192Instruction operation extension or modification according to data descriptor, e.g. dynamic data typing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

본 발명의 실시 예에 따른 파일 디스크립터를 이용한 서비스 정보 제공방법은, 대용량의 서비스 정보를 처리하기 위한 제1 정보처리 프로세스의 제1 소켓을 생성하는 단계와, 상기 제1 소켓에 제1 소켓주소를 부여하고, 파일 디스크립터에 상기 제1 소켓주소를 저장하는 단계와, 상기 제1 소켓주소를 이용하여 상기 제1 소켓을 통해 연결된 정보요청 프로세스로부터 상기 정보처리 요청이 수신되면, 상기 정보처리 요청에 응답하여 상기 서비스 정보를 상기 정보요청 프로세스에 제공하는 단계를 포함한다.

Description

파일 디스크립터를 이용한 서비스 정보 제공방법{PROVIDING METHOD FOR SERVICE INFORMATION USING FILE DESCRIPTOR}
본 발명의 실시 예는 파일 디스크립터를 이용한 서비스 정보 제공방법에 관한 것이다.
일반적으로 프로세스간 통신(Inter Process Communication, IPC)이란 소프트웨어(Software)의 작업 단위인 프로세스간의 통신을 일컫는 말로서, 하나 또는 다수의 운영체계에서 동시에 수행될 개별 프로세스 사이에 서로 메시지(또는 데이터)를 주고 받는 행위 또는 그에 대한 방법이나 경로를 의미한다.
오늘날 프로그램 기능이 갈수록 복잡화, 대형화 됨에 따라 세부 기능들을 별도의 프로세스 또는 스레드(Thread)로 구현하여, 단일 사용자의 요구를 처리하기 위해 여러 프로세스를 수행시키고, 이를 위해 프로세스 간의 많은 연결 및 통신을 고려하여 프로그램을 설계 및 구현하는 것이 중요시되고 있다.
특히, 정보처리 프로세스는 정보요청 프로세스의 정보처리요청에 응답하여 서비스 정보를 제공할 수 있으며, 서비스 정보에 업데이트가 발생됨에 따라 소멸되거나 새롭게 생성될 수 있다. 따라서, 정보요청 프로세스는 정보처리 프로세스가 소멸되면 정상적으로 서비스 정보를 제공받을 수 없기 때문에, 정보처리 프로세스가 정상적으로 서비스를 제공하는지 여부를 지속적으로 체크하는 상황이 발생한다.
본 발명이 이루고자 하는 기술적인 과제는, 파일 디스크립터에 저장된 정보처리 프로세스의 소켓주소를 이용하여 정보요청 프로세스 및 정보처리 프로세스 사이의 원활한 통신을 제공하는 파일 디스크립터를 이용한 서비스 정보 제공방법을 제공하는 것이다.
본 발명의 실시 예에 따른 파일 디스크립터를 이용한 서비스 정보 제공방법은, 대용량의 서비스 정보를 처리하기 위한 제1 정보처리 프로세스의 제1 소켓을 생성하는 단계와, 상기 제1 소켓에 제1 소켓주소를 부여하고, 파일 디스크립터에 상기 제1 소켓주소를 저장하는 단계와, 상기 제1 소켓주소를 이용하여 상기 제1 소켓을 통해 연결된 정보요청 프로세스로부터 상기 정보처리 요청이 수신되면, 상기 정보처리 요청에 응답하여 상기 서비스 정보를 상기 정보요청 프로세스에 제공하는 단계를 포함한다.
실시 예에 따라, 상기 파일 디스크립터를 이용한 서비스 정보 제공방법은, 상기 서비스 정보가 변경된 경우, 변경된 서비스 정보를 처리하기 위한 제2 정보처리 프로세스의 제2 소켓을 생성하는 단계와, 상기 제2 소켓에 상기 제1 소켓주소와 상이한 제2 소켓주소를 부여하고, 상기 파일 디스크립터에 저장된 상기 제1 소켓주소를 상기 제2 소켓주소로 갱신하는 단계를 더 포함할 수 있다.
실시 예에 따라, 상기 파일 디스크립터를 이용한 서비스 정보 제공방법은, 상기 제2 소켓주소를 이용하여 상기 제2 소켓을 통해 연결된 정보요청 프로세스로부터 정보처리 요청이 수신되면, 상기 제2 정보처리 프로세스가 상기 제2 소켓을 통해 연결된 정보요청 프로세스로부터의 상기 정보처리 요청에 응답하여 상기 변경된 서비스 정보를 상기 제2 소켓을 통해 연결된 정보요청 프로세스에 제공하는 단계를 더 포함할 수 있다.
실시 예에 따라, 상기 파일 디스크립터를 이용한 서비스 정보 제공방법은, 상기 서비스 정보를 상기 정보요청 프로세스에 제공한 후, 상기 제1 정보처리 프로세스가 제1 소켓주소와 상기 파일 디스크립터에 저장된 소켓주소의 동일성을 판단하는 단계를 더 포함할 수 있다.
실시 예에 따라, 상기 판단하는 단계는, 상기 파일 디스크립터에 저장된 소켓주소가 상기 제1 소켓주소와 상이한 경우, 상기 제1 정보처리 프로세스는 상기 정보요청 프로세스에 상기 서비스 정보를 제공한 후 소멸될 수 있다.
실시 예에 따라, 판단하는 단계는, 상기 파일 디스크립터에 저장된 소켓주소가 상기 제1 소켓주소와 동일한 경우, 상기 제1 정보처리 프로세스는 상기 정보요청 프로세스에 상기 서비스 정보를 제공한 후 새로운 정보요청 프로세스로부터 새로운 정보처리 요청을 대기할 수 있다.
본 발명의 다른 실시 예에 따른 파일 디스크립터를 이용한 서비스 정보 제공방법은, 제1 정보처리 프로세스가, 대용량의 서비스 정보를 처리하기 위해 제1 소켓을 생성하는 단계와, 상기 제1 정보처리 프로세스가, 상기 제1 소켓에 제1 소켓주소를 부여하고, 파일 디스크립터에 상기 제1 소켓주소를 저장하는 단계와, 정보요청 프로세스가, 상기 파일 디스크립터로부터 상기 제1 소켓주소를 참조하여 상기 제1 정보처리 프로세스에 상기 정보처리 요청을 하는 단계를 포함한다.
실시 예에 따라, 상기 파일 디스크립터를 이용한 서비스 정보 제공방법은, 상기 제1 정보처리 프로세스가, 상기 정보처리 요청에 응답하여 상기 서비스 정보를 상기 정보요청 프로세스에 제공하는 단계를 더 포함할 수 있다.
실시 예에 따라, 상기 파일 디스크립터를 이용한 서비스 정보 제공방법은, 상기 서비스 정보가 변경된 경우, 제2 정보처리 프로세스가 변경된 서비스 정보를 처리하기 위한 제2 소켓을 생성하는 단계와, 상기 제2 정보처리 프로세스가, 상기 제2 소켓에 상기 제1 소켓주소와 상이한 제2 소켓주소를 부여하고, 상기 파일 디스크립터에 저장된 상기 제1 소켓주소를 상기 제2 소켓주소로 갱신하는 단계를 더 포함할 수 있다.
실시 예에 따라, 상기 파일 디스크립터를 이용한 서비스 정보 제공방법은, 상기 제2 소켓주소를 이용하여 상기 제2 소켓을 통해 연결된 정보요청 프로세스로부터 정보처리 요청이 수신되면, 상기 제2 정보처리 프로세스가 상기 제2 소켓을 통해 연결된 정보요청 프로세스로부터의 상기 정보처리 요청에 응답하여 상기 변경된 서비스 정보를 상기 제2 소켓을 통해 연결된 정보요청 프로세스에 제공하는 단계를 더 포함할 수 있다.
실시 예에 따라, 상기 파일 디스크립터를 이용한 서비스 정보 제공방법은, 상기 서비스 정보를 상기 정보요청 프로세스에 제공한 후, 상기 제1 정보처리 프로세스가 상기 제1 소켓주소와 상기 파일 디스크립터에 저장된 소켓주소의 동일성을 판단하는 단계를 더 포함할 수 있다.
실시 예에 따라, 상기 판단하는 단계는, 상기 파일 디스크립터에 저장된 소켓주소가 상기 제1 소켓주소와 상이한 경우, 상기 제1 정보처리 프로세스는 상기 정보요청 프로세스에 상기 서비스 정보를 제공한 후 소멸될 수 있다.
실시 예에 따라, 판단하는 단계는, 상기 파일 디스크립터에 저장된 소켓주소가 상기 제1 소켓주소와 동일한 경우, 상기 제1 정보처리 프로세스는 상기 정보요청 프로세스에 상기 서비스 정보를 제공한 후 새로운 정보요청 프로세스로부터 새로운 정보처리 요청을 대기할 수 있다.
본 발명의 실시 예에 따른 파일 디스크립터를 이용한 서비스 정보 제공방법에 따르면, 정보요청 프로세스는 정보처리 프로세스가 정상적으로 서비스 정보를 제공하는지 지속적으로 체크하지 않아도, 파일 디스크립터에 저장된 소켓주소를 이용함으로써 용이하게 정보처리 프로세스와 통신을 수행할 수 있다.
도 1은 본 발명의 실시 예에 따른 파일 디스크립터를 이용한 서비스 정보 제공방법을 설명하기 위한 개략적인 블록도이다.
도 2는 본 발명의 실시 예에 따른 파일 디스크립터를 이용한 서비스 정보 제공방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 다른 실시 예에 따른 파일 디스크립터를 이용한 서비스 정보 제공방법을 설명하기 위한 개략적인 블록도이다.
도 4는 본 발명의 또 다른 실시 예에 따른 파일 디스크립터를 이용한 서비스 정보 제공방법을 설명하기 위한 개략적인 블록도이다.
본 명세서에 개시되어 있는 본 발명의 개념에 따른 실시 예들에 대해서 특정한 구조적 또는 기능적 설명은 단지 본 발명의 개념에 따른 실시 예들을 설명하기 위한 목적으로 예시된 것으로서, 본 발명의 개념에 따른 실시 예들은 다양한 형태들로 실시될 수 있으며 본 명세서에 설명된 실시 예들에 한정되지 않는다.
본 발명의 개념에 따른 실시 예들은 다양한 변경들을 가할 수 있고 여러 가지 형태들을 가질 수 있으므로 실시 예들을 도면에 예시하고 본 명세서에서 상세하게 설명하고자 한다. 그러나, 이는 본 발명의 개념에 따른 실시 예들을 특정한 개시 형태들에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물, 또는 대체물을 포함한다.
제1 또는 제2 등의 용어는 다양한 구성 요소들을 설명하는데 사용될 수 있지만, 상기 구성 요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성 요소를 다른 구성 요소로부터 구별하는 목적으로만, 예컨대 본 발명의 개념에 따른 권리 범위로부터 벗어나지 않은 채, 제1구성 요소는 제2구성 요소로 명명될 수 있고 유사하게 제2구성 요소는 제1구성 요소로도 명명될 수 있다.
본 명세서에서 사용한 용어는 단지 특정한 실시 예를 설명하기 위해 사용된 것으로서, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 명세서에서, "포함하다" 또는 "가지다" 등의 용어는 본 명세서에 기재된 특징, 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성 요소, 부분품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 나타낸다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥상 가지는 의미와 일치하는 의미를 갖는 것으로 해석되어야 하며, 본 명세서에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
도 1은 본 발명의 실시 예에 따른 파일 디스크립터를 이용한 서비스 정보 제공방법을 설명하기 위한 개략적인 블록도이다.
도 1을 참조하면, 하나의 운영체계 내에서 실행되는 정보처리 프로세스(100) 및 정보요청 프로세스(200), 및 파일 디스크립터(file descriptor, 300)가 도시되어 있다.
정보처리 프로세스(100)는 정보요청 프로세스(200)로부터 수신된 정보처리요청(REQ)에 응답하여 서비스 정보(SI)를 정보요청 프로세스(200)에 제공할 수 있다.
예컨대, 정보처리 프로세스(100)는 데이터 연산, 처리, 실행 등 일련의 처리 동작을 수행할 수 있는 프로세스를 총칭할 수 있다.
정보처리 프로세스(100)는 통신을 위한 소켓을 생성하고, 상기 소켓에 소켓주소(ADDR)를 부여할 수 있다. 상기 소켓주소(ADDR)는 정보처리 프로세스(100)가 시스템 내에서 통신을 수행하기 위한 정보로써, 각 소켓에는 소켓주소(ADDR)와 함께 프로세스의 정보, 예컨대 IP(Internet Protocol)주소와 포트번호 등의 정보가 추가로 할당될 수 있다.
따라서, 정보처리 프로세스(100)와 통신을 수행하고자 하는 프로세스는 상기 소켓주소(ADDR)를 이용하여 정보처리 프로세스(100)의 소켓과 연결을 시도할 수 있다.
또한, 정보처리 프로세스(100)는 소켓에 부여된 소켓주소(ADDR)를 파일 디스크립터(300)에 저장할 수 있다.
파일 디스크립터(300)는 정보처리 프로세스(100)의 제어에 따라 정보처리 프로세스(100)에서 제공한 소켓주소(ADDR)를 저장할 수 있다.
파일 디스크립터(300)는 시스템으로부터 할당받은 파일이나 소켓을 대표하는 정수를 의미할 수 있으며, 프로세스 간 통신에 이용할 소켓을 구분하는 포트 정보를 포함할 수 있다. 예컨대, 파일 디스크립터(300)는 정보처리 프로세스(100)에서 생성된 소켓의 포트 정보를 포함할 수 있다.
정보요청 프로세스(200)는 정보처리 프로세스(100)에 정보처리요청(REQ)을 전송할 수 있고, 정보처리 프로세스(100)로부터 서비스 정보(SI)를 제공받을 수 있다. 여기서, 정보요청 프로세스(200)는 외부의 프로세스에 서비스 정보를 요청하는 일련의 프로세스를 모두 총칭할 수 있다.
한편, 정보요청 프로세스(200)는 원하는 서비스 정보(SI)를 제공하는 정보처리 프로세스(100)의 소켓주소(ADDR)를 획득하기 위해 파일 디스크립터(300)를 참조할 수 있다.
예컨대, 정보처리 프로세스(100)가 복수개 존재하는 경우, 각 정보처리 프로세스(100)가 제공하는 서비스 정보(SI)는 서로 상이할 수 있다. 따라서, 정보요청 프로세스(200)는 파일 디스크립터(300)를 참조하여 원하는 서비스 정보(SI)를 제공하는 정보처리 프로세스(100)의 소켓주소(ADDR)를 획득할 수 있다.
정보요청 프로세스(200)는 파일 디스크립터(300)로부터 획득된 소켓주소(ADDR)를 이용하여 원하는 서비스 정보(SI)를 제공하는 정보요청 프로세스(200)의 소켓과 연결될 수 있다.
이와 같이, 정보처리 프로세스(100)의 소켓이 생성되고, 원하는 서비스 정보(SI)를 상기 소켓에 연결한 경우, 정보처리 프로세스(100)는 정보요청 프로세스(200)의 정보처리요청(REQ)에 응답하여 해당 소켓을 통해 정보요청 프로세스(200)와 데이터를 주고 받을 수 있다.
한편, 도 1에서 도시된 정보처리 프로세스(100) 및 정보요청 프로세스(200), 및 파일 디스크립터(300)는 적어도 하나의 저장수단(미도시)과 적어도 하나의 프로세서(미도시)로 구성된 시스템(미도시)에서 실행될 수 있다.
도 2는 본 발명의 실시 예에 따른 파일 디스크립터를 이용한 서비스 정보 제공방법을 설명하기 위한 흐름도이다.
도 2를 참조하면, 정보처리 프로세스(100)는 외부의 프로세스와 통신을 수행하기 위한 소켓을 생성할 수 있다(S100).
정보처리 프로세스(100)는 생성된 소켓에 소켓주소(ADDR)을 부여할 수 있다(S110). 정보처리 프로세스(100)는 소켓주소(ADDR)를 파일 디스크립터(300)에 저장할 수 있다.
정보처리 프로세스(100)는 상기 소켓으로 수신될 정보처리요청(REQ)을 대기할 수 있다(S120).
한편, 정보요청 프로세스(200)는 원하는 서비스 정보(SI)를 제공하는 정보처리 프로세스(200)와 연결하기 위해 파일 디스크립터(300)를 참조할 수 있다(S200).
정보요청 프로세스(200)는 파일 디스크립터(300)로부터 획득된 소켓주소(ADDR)를 이용하여 정보처리 프로세스(100)의 소켓과 연결될 수 있으며, 상기 소켓으로 정보처리요청(REQ)을 전송할 수 있다(S130).
정보처리 프로세스(100)는 정보처리요청(REQ)에 응답하여 서비스 정보(SI)를 정보요청 프로세스(200)에 제공할 수 있다(S140).
정보처리 프로세스(100)는 서비스 정보(SI)를 정보요청 프로세스(200)에 제공한 후, 파일 디스크립터(300)에 저장된 소켓주소와 정보처리 프로세스(100)의 소켓주소(ADDR)가 동일한지 여부를 판단할 수 있다(S150).
정보처리 프로세스(100)는 동일성 판단 결과에 따라, 정보요청 프로세스(200)에 서비스 정보(SI)를 제공을 완료한 후 소멸되거나, 또 다른 정보처리요청(REQ)을 수신하기 위해 유지될 수 있다.
예컨대, 파일 디스크립터(300)에 정보처리 프로세스(100)의 소켓주소(ADDR)와 상이한 소켓주소가 저장되어 있는 경우, 정보처리 프로세스(100)가 서비스 정보(SI) 제공을 하는데 있어서 더이상 필요하지 않은 것으로 판단될 수 있다. 따라서, 정보처리 프로세스(100)는 현재 연결된 정보요청 프로세스(200)에 서비스 정보(SI) 제공을 완료한 후 소멸될 수 있다.
예컨대, 파일 디스크립터(300)에 정보처리 프로세스(100)의 소켓주소(ADDR)와 동일한 소켓주소가 저장되어 있는 경우, 서비스 정보(SI) 제공에 정보처리 프로세스(100)가 지속적으로 필요한 것으로 판단될 수 있다. 따라서, 정보처리 프로세스(100)는 현재 연결된 정보요청 프로세스(200)에 서비스 정보(SI) 제공을 완료한 후 유지될 수 있다.
이때, 정보처리 프로세스(100)는 현재 연결된 정보요청 프로세스(200)로부터 정보처리요청(REQ)의 수신을 위해 유지할 수 있을 뿐만 아니라, 현재 연결된 정보요청 프로세스(200)와 다른 정보요청 프로세스(200)로부터 정보처리요청(REQ)의 수신을 위해 유지될 수 있다.
도 3은 본 발명의 다른 실시 예에 따른 프로세스 간 통신 방법을 설명하기 위한 개략적인 블록도이다.
도 3에서는 중복된 설명을 피하기 위해, 상술한 실시 예와 상이한 점을 중심으로 설명한다. 도 3에서 특별히 설명되지 않은 부분은 상술한 실시 예에 따르며 동일한 번호는 동일한 구성요소를, 유사한 번호는 유사한 구성 요소를 지칭한다.
도 3을 참조하면, 정보처리 프로세스(100)는 복수의 정보요청 프로세스들(200A 및 200B)로부터 제공된 정보처리요청(REQ1 및 REQ2)에 응답하여 정보요청 프로세스들(200A 및 200B) 각각에 서비스 정보(SI)를 제공할 수 있다.
정보처리 프로세스(100)가 특정 소켓에 서비스 정보(SI)를 연결한 경우, 정보요청 프로세스들(200A 및 200B)은 상기 특정 소켓에 연결해야 서비스 정보(SI)를 정보처리 프로세스(100)로부터 제공받을 수 있다.
한편, 정보처리 프로세스(100)의 소켓은 통해 하나의 정보요청 프로세스(100)와 일대일로 연결되어야 하기 때문에, 복수의 정보요청 프로세스들(200A 및 200B)이 정보처리 프로세스(100)로부터 동시에 서비스 정보(SI)를 제공받을 수 없고, 복수의 정보요청 프로세스들(200A 및 200B) 중 하나의 정보요청 프로세스만 서비스 정보(SI)를 제공받을 수 있다.
이하, 정보처리 프로세스(100)는 복수의 정보요청 프로세스들(200A 및 200B)로부터 제공된 정보처리요청(REQ1 및 REQ2)에 응답하여 정보요청 프로세스들(200A 및 200B) 각각에 서비스 정보(SI)를 제공하는 방법을 상세히 설명한다.
먼저, 정보처리 프로세스(100)는 소켓에 서비스 정보(SI)를 연결한 후, 상기 소켓에 소켓주소(ADDR)를 부여하고, 파일 디스크립터(300)에 소켓주소(ADDR)를 저장할 수 있다.
제1 및 제2 정보요청 프로세스들(200A 및 200B) 각각은 정보처리 프로세스(100)에 연결하기 위해 파일 디스크립터(300)로부터 소켓주소(ADDR)를 획득할 수 있다.
만약, 제1 정보요청 프로세스(200A)가 소켓주소(ADDR)를 이용하여 정보처리 프로세스(100)의 소켓과 연결된 경우, 제2 정보요청 프로세스(200B)는 정보처리 프로세스(100)와의 연결을 위해 대기할 수 있다.
정보처리 프로세스(100)의 소켓과 연결된 제1 정보요청 프로세스(200A)는 제1 정보처리요청(REQ1)을 정보처리 프로세스(100)에 제공할 수 있고, 정보처리 프로세스(100)는 제1 정보처리요청(REQ1)에 응답하여 제1 정보요청 프로세스(200A)에 서비스 정보(SI)를 제공할 수 있다.
앞서 설명한 바와 같이, 정보처리 프로세스(100)는 파일 디스크립터(300)에 저장된 소켓주소와 정보처리 프로세스(100)의 소켓주소(ADDR)의 동일성을 판단할 수 있다. 파일 디스크립터(300)에 새로운 소켓주소가 저장되지 않았으므로, 정보처리 프로세스(100)는 새로운 정보처리요청을 수신하기 위해 유지될 수 있다.
제1 정보요청 프로세스(200A)에 서비스 정보(SI)의 제공이 완료되면, 정보처리 프로세스(100)와 제1 정보요청 프로세스(200A)의 연결이 해제될 수 있다. 그리고, 정보처리 프로세스(100)는 소켓을 통해 새로운 정보처리요청을 대기할 수 있다.
제2 정보요청 프로세스(200B)가 소켓주소(ADDR)를 이용하여 정보처리 프로세스(100)의 소켓과 연결된 경우, 정보처리 프로세스(100)는 제2 정보요청 프로세스(200B)로부터 제2 정보처리요청(REQ2)을 수신할 수 있고, 제2 정보처리요청(REQ2)에 응답하여 제2 정보요청 프로세스(200B)에 서비스 정보(SI)를 제공할 수 있다.
이와 같이, 복수의 정보요청 프로세스들(200A 및 200B)은 파일 디스크립터(300)를 이용하여 정보처리 프로세스(100)의 소켓주소(ADDR)를 획득할 수 있고, 소켓주소(ADDR)를 이용하여 연결된 정보처리 프로세스(100)로부터 원하는 서비스 정보(SI)를 제공받을 수 있다. 따라서, 복수의 정보요청 프로세스들(200A 및 200B)은 정보처리 프로세스(100)가 정상적으로 서비스 정보(SI)를 제공하는지 지속적으로 체크하지 않아도, 파일 디스크립터(300)에 저장된 소켓주소(ADDR)를 이용함으로써 용이하게 정보처리 프로세스(100)와 연결될 수 있다.
도 4는 본 발명의 또 다른 실시 예에 따른 프로세스 간 통신 방법을 설명하기 위한 개략적인 블록도이다.
도 4에서는 중복된 설명을 피하기 위해, 상술한 실시 예와 상이한 점을 중심으로 설명한다. 도 4에서 특별히 설명되지 않은 부분은 상술한 실시 예에 따르며 동일한 번호는 동일한 구성요소를, 유사한 번호는 유사한 구성 요소를 지칭한다.
도 4를 참조하면, 복수의 정보처리 프로세스들(100A 및 100B) 각각은 복수의 정보요청 프로세스들(200A 및 200B)로부터 제공된 정보처리요청(REQ1 및 REQ2)에 응답하여 정보요청 프로세스들(200A 및 200B) 각각에 서비스 정보(SI)를 제공할 수 있다.
먼저, 제1 정보처리 프로세스(100A)는 소켓에 제1 서비스 정보(SI1)를 연결한 후, 상기 소켓에 제1 소켓주소(ADDR1)를 부여하고, 파일 디스크립터(300)에 제1 소켓주소(ADDR1)를 저장할 수 있다.
제1 정보요청 프로세스(200A)는 파일 디스크립터(300)로부터 획득된 제1 소켓주소(ADDR1)를 이용하여 제1 정보처리 프로세스(100A)로 제1 정보처리요청(REQ1)을 전송할 수 있다.
제1 정보요청 프로세스(200A)는 제1 정보처리요청(REQ1)에 응답하여 제1 서비스 정보(SI1)를 제1 정보처리 프로세스(100A)에 제공할 수 있다.
만약, 서비스 정책 변경 등의 사유로 서비스 정보가 변경된 경우, 변경된 서비스 정보를 제공하기 위해 제2 정보처리 프로세스(100B)가 새롭게 생성될 수 있다.
제2 정보처리 프로세스(100B)는 소켓에 제2 서비스 정보(SI2)를 연결한 후, 상기 소켓에 제2 소켓주소(ADDR2)를 부여하고, 파일 디스크립터(300)에 저장된 제1 소켓주소(ADDR1)를 제2 소켓주소(ADDR2)로 갱신할 수 있다. 여기서, 제2 서비스 정보(SI2)는 제1 서비스 정보(SI1)가 변경된 새로운 정보를 의미한다.
한편, 제1 정보처리 프로세스(100A)는 파일 디스크립터(300)에 저장된 소켓주소와 제1 정보처리 프로세스(100A)의 제1 소켓주소(ADDR1)의 동일성을 판단할 수 있다.
파일 디스크립터(300)에는 제2 소켓주소(ADDR2)가 저장되어 있으므로, 제1 정보처리 프로세스(100A)는 제1 서비스 정보(SI1) 제공이 더이상 필요하지 않은 것으로 판단할 수 있다. 따라서, 제1 정보처리 프로세스(100A)는 현재 연결된 제1 정보요청 프로세스(200A)에 제1 서비스 정보(SI1) 제공을 완료한 후 소멸될 수 있다.
그리고, 제2 정보요청 프로세스(200B)는 파일 디스크립터(300)로부터 획득된 제2 소켓주소(ADDR2)를 이용하여 제2 정보처리 프로세스(100B)로 제2 정보처리요청(REQ2)을 전송할 수 있다.
제2 정보요청 프로세스(200B)는 제2 정보처리요청(REQB)에 응답하여 제2 서비스 정보(SIB)를 제2 정보처리 프로세스(100B)에 제공할 수 있다.
이와 같이, 서비스 정보를 제공하는 정보처리 프로세스가 변경되더라도, 변경된 정보처리 프로세스가 파일 디스크립터(300)에 저장된 소켓주소를 갱신함으로써, 정보요청 프로세스에 변경된 서비스 정보를 적절하게 제공할 수 있다.
실시 예에 따라, 정보요청 프로세스가 대용량의 서비스 정보 요청에 대응하여 복수의 정보처리 프로세스가 생성되더라도, 정보요청 프로세스는 파일 디스크립터에 저장된 소켓주소를 이용함으로써 복수의 정보처리 프로세스들과 원활하게 통신을 수행할 수 있다.
본 발명은 도면에 도시된 실시 예를 참고로 설명되었으나 이는 예시적인 것에 불과하며, 본 기술 분야의 통상의 지식을 가진 자라면 이로부터 다양한 변형 및 균등한 타 실시 예가 가능하다는 점을 이해할 것이다. 따라서, 본 발명의 진정한 기술적 보호 범위는 첨부된 등록청구범위의 기술적 사상에 의해 정해져야 할 것이다.
100: 정보처리 프로세스
200: 정보요청 프로세스
300: 파일 디스크립터

Claims (13)

  1. 대용량의 서비스 정보를 처리하기 위한 제1 정보처리 프로세스의 제1 소켓을 생성하는 단계;
    상기 제1 소켓에 제1 소켓주소를 부여하고, 파일 디스크립터에 상기 제1 소켓주소를 저장하는 단계; 및
    상기 제1 소켓주소를 이용하여 상기 제1 소켓을 통해 연결된 정보요청 프로세스로부터 정보처리 요청이 수신되면, 상기 정보처리 요청에 응답하여 상기 서비스 정보를 상기 정보요청 프로세스에 제공하는 단계를 포함하되,
    상기 서비스 정보가 변경된 경우, 변경된 서비스 정보를 처리하기 위한 제2 정보처리 프로세스의 제2 소켓을 생성하는 단계; 및
    상기 제2 소켓에 상기 제1 소켓주소와 상이한 제2 소켓주소를 부여하고, 상기 파일 디스크립터에 저장된 상기 제1 소켓주소를 상기 제2 소켓주소로 갱신하는 단계를 더 포함하는 파일 디스크립터를 이용한 서비스 정보 제공방법.
  2. 삭제
  3. 제1항에 있어서,
    상기 제2 소켓주소를 이용하여 상기 제2 소켓을 통해 연결된 정보요청 프로세스로부터 정보처리 요청이 수신되면, 상기 제2 정보처리 프로세스가 상기 제2 소켓을 통해 연결된 정보요청 프로세스로부터의 상기 정보처리 요청에 응답하여 상기 변경된 서비스 정보를 상기 제2 소켓을 통해 연결된 정보요청 프로세스에 제공하는 단계를 더 포함하는 파일 디스크립터를 이용한 서비스 정보 제공방법.
  4. 제1항에 있어서,
    상기 서비스 정보를 상기 정보요청 프로세스에 제공한 후, 상기 제1 정보처리 프로세스가 제1 소켓주소와 상기 파일 디스크립터에 저장된 소켓주소의 동일성을 판단하는 단계를 더 포함하는 파일 디스크립터를 이용한 서비스 정보 제공방법.
  5. 제4항에 있어서, 상기 판단하는 단계는,
    상기 파일 디스크립터에 저장된 소켓주소가 상기 제1 소켓주소와 상이한 경우, 상기 제1 정보처리 프로세스는 상기 정보요청 프로세스에 상기 서비스 정보를 제공한 후 소멸되는 파일 디스크립터를 이용한 서비스 정보 제공방법.
  6. 제4항에 있어서, 판단하는 단계는,
    상기 파일 디스크립터에 저장된 소켓주소가 상기 제1 소켓주소와 동일한 경우, 상기 제1 정보처리 프로세스는 상기 정보요청 프로세스에 상기 서비스 정보를 제공한 후 새로운 정보요청 프로세스로부터 새로운 정보처리 요청을 대기하는 파일 디스크립터를 이용한 서비스 정보 제공방법.
  7. 제1 정보처리 프로세스가, 대용량의 서비스 정보를 처리하기 위해 제1 소켓을 생성하는 단계;
    상기 제1 정보처리 프로세스가, 상기 제1 소켓에 제1 소켓주소를 부여하고, 파일 디스크립터에 상기 제1 소켓주소를 저장하는 단계; 및
    정보요청 프로세스가, 상기 파일 디스크립터로부터 상기 제1 소켓주소를 참조하여 상기 제1 정보처리 프로세스에 정보처리 요청을 제공하는 단계를 포함하되,
    상기 서비스 정보가 변경된 경우, 제2 정보처리 프로세스가 변경된 서비스 정보를 처리하기 위한 제2 소켓을 생성하는 단계; 및
    상기 제2 정보처리 프로세스가, 상기 제2 소켓에 상기 제1 소켓주소와 상이한 제2 소켓주소를 부여하고, 상기 파일 디스크립터에 저장된 상기 제1 소켓주소를 상기 제2 소켓주소로 갱신하는 단계를 더 포함하는 파일 디스크립터를 이용한 서비스 정보 제공방법.
  8. 제7항에 있어서,
    상기 제1 정보처리 프로세스가, 상기 정보처리 요청에 응답하여 상기 서비스 정보를 상기 정보요청 프로세스에 제공하는 단계를 더 포함하는 파일 디스크립터를 이용한 서비스 정보 제공방법.
  9. 삭제
  10. 제7항에 있어서,
    상기 제2 소켓주소를 이용하여 상기 제2 소켓을 통해 연결된 정보요청 프로세스로부터 정보처리 요청이 수신되면, 상기 제2 정보처리 프로세스가 상기 제2 소켓을 통해 연결된 정보요청 프로세스로부터의 상기 정보처리 요청에 응답하여 상기 변경된 서비스 정보를 상기 제2 소켓을 통해 연결된 정보요청 프로세스에 제공하는 단계를 더 포함하는 파일 디스크립터를 이용한 서비스 정보 제공방법.
  11. 제7항에 있어서,
    상기 서비스 정보를 상기 정보요청 프로세스에 제공한 후, 상기 제1 정보처리 프로세스가 상기 제1 소켓주소와 상기 파일 디스크립터에 저장된 소켓주소의 동일성을 판단하는 단계를 더 포함하는 파일 디스크립터를 이용한 서비스 정보 제공방법.
  12. 제11항에 있어서, 상기 판단하는 단계는,
    상기 파일 디스크립터에 저장된 소켓주소가 상기 제1 소켓주소와 상이한 경우, 상기 제1 정보처리 프로세스는 상기 정보요청 프로세스에 상기 서비스 정보를 제공한 후 소멸되는 파일 디스크립터를 이용한 서비스 정보 제공방법.
  13. 제11항에 있어서, 판단하는 단계는,
    상기 파일 디스크립터에 저장된 소켓주소가 상기 제1 소켓주소와 동일한 경우, 상기 제1 정보처리 프로세스는 상기 정보요청 프로세스에 상기 서비스 정보를 제공한 후 새로운 정보요청 프로세스로부터 새로운 정보처리 요청을 대기하는 파일 디스크립터를 이용한 서비스 정보 제공방법.
KR1020170016762A 2017-02-07 2017-02-07 파일 디스크립터를 이용한 서비스 정보 제공방법 KR101948227B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020170016762A KR101948227B1 (ko) 2017-02-07 2017-02-07 파일 디스크립터를 이용한 서비스 정보 제공방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020170016762A KR101948227B1 (ko) 2017-02-07 2017-02-07 파일 디스크립터를 이용한 서비스 정보 제공방법

Publications (2)

Publication Number Publication Date
KR20180091498A KR20180091498A (ko) 2018-08-16
KR101948227B1 true KR101948227B1 (ko) 2019-02-15

Family

ID=63443814

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020170016762A KR101948227B1 (ko) 2017-02-07 2017-02-07 파일 디스크립터를 이용한 서비스 정보 제공방법

Country Status (1)

Country Link
KR (1) KR101948227B1 (ko)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009252107A (ja) * 2008-04-09 2009-10-29 Sony Corp 記録装置、ファイルディスクリプタ生成方法、プログラム

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2009252107A (ja) * 2008-04-09 2009-10-29 Sony Corp 記録装置、ファイルディスクリプタ生成方法、プログラム

Also Published As

Publication number Publication date
KR20180091498A (ko) 2018-08-16

Similar Documents

Publication Publication Date Title
US6901580B2 (en) Configuration parameter sequencing and sequencer
US11392417B2 (en) Ultraconverged systems having multiple availability zones
JP4822224B2 (ja) キーを提供することなく要求者を認証するための方法およびシステム
CN111245901B (zh) 一种支持服务参数下发的分布式服务注册发现方法及系统
US9596186B2 (en) Multiple processes sharing a single infiniband connection
KR20000004988A (ko) 제한된 메모리 컴퓨터 시스템에서의 클라이언트관리흐름제어를 위한 방법과 장치
JP2010510578A (ja) Sasゾーン・グループ・パーミッション・テーブルのバージョン識別子
US8615586B2 (en) Discovery of logical images at storage area network endpoints
WO2018076882A1 (zh) 存储设备的操作方法及物理服务器
CN111597024B (zh) 跨域集群处理方法、装置、电子设备及存储介质
CN116996908A (zh) 主从网关和无线ap的融合管理方法、装置、设备和介质
CN112087401A (zh) 分布式存储中实现服务质量的方法和装置
US20140067771A2 (en) Management of a Scalable Computer System
CN111917810B (zh) 一种云通信方法及装置、用户设备、网络设备
CN109698845B (zh) 数据传输的方法、服务器、卸载卡及存储介质
CN112751724B (zh) 检测链路状态的方法及装置
WO2020151574A1 (zh) 电子装置注册状态更新方法及系统
KR101948227B1 (ko) 파일 디스크립터를 이용한 서비스 정보 제공방법
KR101432326B1 (ko) 호스트 가장 네트워크 디바이스 및 그의 방법
CN111010425A (zh) 一种服务器连接方法、负载均衡设备及电子设备
WO2022247575A1 (zh) 一种交互方法、装置、交换芯片、介质和多节点服务器
CN115454896A (zh) 基于smbus的ssd mctp控制消息验证方法、装置、计算机设备及存储介质
CN113079128B (zh) 信息封堵方法、装置、计算设备及计算机存储介质
US11271897B2 (en) Electronic apparatus for providing fast packet forwarding with reference to additional network address translation table
TW201509158A (zh) 整合網路裝置及其服務整合方法

Legal Events

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