KR20210147143A - 네트워크에 연결된 기기들의 서비스 기반의 동작에 관한 정보를 획득하기 위한 방법과 장치 - Google Patents

네트워크에 연결된 기기들의 서비스 기반의 동작에 관한 정보를 획득하기 위한 방법과 장치 Download PDF

Info

Publication number
KR20210147143A
KR20210147143A KR1020200063654A KR20200063654A KR20210147143A KR 20210147143 A KR20210147143 A KR 20210147143A KR 1020200063654 A KR1020200063654 A KR 1020200063654A KR 20200063654 A KR20200063654 A KR 20200063654A KR 20210147143 A KR20210147143 A KR 20210147143A
Authority
KR
South Korea
Prior art keywords
message
type
information
received
service
Prior art date
Application number
KR1020200063654A
Other languages
English (en)
Other versions
KR102394491B1 (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 KR1020200063654A priority Critical patent/KR102394491B1/ko
Publication of KR20210147143A publication Critical patent/KR20210147143A/ko
Application granted granted Critical
Publication of KR102394491B1 publication Critical patent/KR102394491B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0817Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/16Arrangements for providing special services to substations
    • H04L12/18Arrangements for providing special services to substations for broadcast or conference, e.g. multicast
    • H04L12/1895Arrangements for providing special services to substations for broadcast or conference, e.g. multicast for short real-time information, e.g. alarms, notifications, alerts, updates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/06Management of faults, events, alarms or notifications
    • H04L41/069Management of faults, events, alarms or notifications using logs of notifications; Post-processing of notifications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/10Active monitoring, e.g. heartbeat, ping or trace-route
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/32Flow control; Congestion control by discarding or delaying data units, e.g. packets or frames
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/201Multicast operation; Broadcast operation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/20Support for services
    • H04L49/208Port mirroring
    • H04L67/16
    • 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/51Discovery or management thereof, e.g. service location protocol [SLP] or web services

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Environmental & Geological Engineering (AREA)
  • Health & Medical Sciences (AREA)
  • Cardiology (AREA)
  • General Health & Medical Sciences (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

본 발명의 따른 장치는, 복수의 기기들에 상호 간의 통신을 위한 네트워크를 제공하는 스위치가, 수신되는 데이터 프레임에 대해 스위칭하여 출력하는 방식을 가로채기로 변경설정하고, 가로채기 방식으로 설정된 상기 스위치가 가로채어 전달하는 임의의 데이터 프레임에 실린 제 1형의 메시지가 수신되면, 그 이후에 상기 스위치로부터 제 2형의 메시지가 수신될 때까지는 상기 수신된 제 1형의 메시지가 상기 네트워크로 재유입되지 않게 하고, 상기 스위치부터 수신되는 상기 제 2형의 메시지에 대해서는 상기 네트워크로 재유입시킨다. 그리고, 수신된 상기 제 2형의 메시지에 근거하여, 상기 제 2형의 메시지를 발송한 기기의 서비스 기반의 동작에 관한 정보, 예를 들어, 필요서비스 정보 또는 서비스에 대한 요청의 메시지의 재발송 간격의 시간정보 등을 획득한다.

Description

네트워크에 연결된 기기들의 서비스 기반의 동작에 관한 정보를 획득하기 위한 방법과 장치 {Method and apparatus for obtaining information relating to service-based operations of devices connected to a network}
본 발명은, 네트워크에 연결되어 의도된 기능을 수행하는 복수의 기기들이 그 의도된 기능을 위해 필요로 하는 서비스 기반의 동작과 관련된 정보를, 실제 적용하는 상황으로 구축한 네트워크 상에서 획득하거나 관련된 동작을 점검할 수 있게 하는 방법과 그 방법을 위한 장치나 기기 등에 관한 것이다.
사람의 생활을 편리하게 하는 수 많은 종류의 특정 용도의 장치들, 특히 차동차 등과 같이 그 기능이 매우 다양하고 복잡한 장치들은, 수많은 정보가 일명 전자제어 유니트( ECU: Electronic Control Unit )라고 불리는 기기들 간에 실시간으로 통신되는 것에 기반하고 있다.
그리고, 그 특정 용도의 장치의 기능이나 성능 향상을 위해, 데이터를 직접 처리하는 전자제어 유니트에 대해서는, 높은 사양의 유니트가 점진적으로 적용되고 있다. 이와 같은 고사양의 전자제어 유니트는, 생산업자가, 해당 자원( CPU, 메모리, 통신소자, 다양한 종류의 입출력 인터페이스들, ADC 등 )의 효율적인 사용을 위한 운영시스템(O/S)도 함께 제공되고 있어서, 차동차와 같은 특정 용도의 장치에 전자제어 유니트를 적용하고자 할 때, 그 운영시스템을 기반으로 보다 쉽게 전자제어 유니트에서 원하는 동작을 수행하는 응용 프로그램을 개발하여 적용할 수 있다.
이러한 종류의 응용 프로그램들은, 그 응용 프로그램이 이식(porting)되는 전자제어 유니트가 관리 또는 제어하도록 신호연결된 각종의 센서나 부품, 기계적 또는 전기적 모듈 등에서 입력되는, 또는 자체적으로 생성하는 신호를 확인하거나, 그들에 대해 원하는 값이나 레벨로 설정하는 동작을 위한 것일 수 있지만, 이에 그치지 않고, 네트워크에 연결된 다른 전자제어 유니트에서 담당하여 처리하는 신호에 대한 확인( 요청 후에 그에 따른 응답의 수신 )이나 설정의 동작도 함께 할 수 있는 것일 수도 있다.
이와 같은 다른 기기와의 정보 교환을 통해 타 기기의 신호 상태에 대한 확인/설정의 동작이 정상적으로 이루어지게 하기 위해서는, 프로그램 개발자는, 전자제어 유니트에서 실행될 응용 프로그램을 개발할 때, 그 프로그램의 의도된 동작에 필요한 각각의 신호에 대해 구체적으로 파악하고 있어야 한다. 예를 들어, 해당 신호가 또는 해당 신호에 상응하는 정보가, 그 응용 프로그램이 실행될 전자제어 유니트를 포함하여 어떤 전자제어 유니트에서 처리되는 것인 지, 그 전자제어 유니트에서 어떤 응용 프로그램에 의해 처리되는 것인 지, 그리고 네트워크 상에서 어떤 포맷으로 해당 신호가 실려서 전송되는지 등을 파악하고, 그에 맞추어 프로그래밍(programming)하여야 한다.
그런데, 이러한 프로그래밍에 따라 개발되는 응용 프로그램은 이식성(移植性)이 매우 낮을 수 밖에 없어서, 다른 전자제어 유니트에 동일한 프로그램 소스(source)를 컴파일(compile)하여 실행시키는 경우에는, 그 이식된 전자제어 유니트에서 동일한 동작을 정상적으로 수행할 가능성이 희박하다.
그렇기 때문에, 동일 동작을 위한 응용 프로그램을, 적용하는 특정 용도의 장치의 종류가 달라질 때마다 또는 적용 네트워크의 환경이 달라질 때마다, 원래 의도한 동작이 정상적으로 이루어지도록 그에 맞게 응용 프로그램을 수정, 보완해야 할 필요가 있다. 하지만, 이러한 작업은, 개발자에게 있어 대단히 번거로운 일이고, 또한, 그러한 수정 보완 작업이 필요하다는 사실은, 해당 장치의 생산자 입장에서 보면, 장치에 대한 성능 개선이나 새로운 모델의 개발에 있어 시간과 비용을 더 많이 투입해야 할 필요가 있음을 의미한다.
이러한 문제점을 해결하기 위해, 전자제어 유니트와 같은 기기들 간의 네트워크를 경유하는 정보 교환이 서비스 기반으로 이루어지게 하는 방안이 제안된 바 있다. 이 방안에 따르면, 응용 프로그램은, 다른 기기에서 실행될 응용 프로그램들이 요구하거나 제공하는 신호나 데이터 등에서의 세부적 포맷 등의 사항들에 무관하게, 지정된 서비스 규칙에 따른 인터페이싱 형식에 맞게만 개발되면, 그 서비스 규칙에 따른 통신을 지원하는 네트워크 상의 기기들 중에서 그 어떤 기기에 이식되어 실행되어도 정상적으로 동작하게 된다.
이는, 서비스 기반의 응용 프로그램들에 대한 개발작업이, 서로 다른 장소에서 서로 다른 개발자들에 의해 이전과는 비교할 수 없을 정도로 완전히 독립적으로 분업화될 수 있음을 의미한다. 즉, 응용 프로그램의 개발은 물론, 서비스 기반으로 동작하는 하나 이상의 응용 프로그램이 이식된 기기를, 다른 응용 프로그램이나 기기의 개발과는 전적으로 무관하게 진행될 수 있는 것이다.
그러나, 이렇게 서로 독립적으로 개발된 응용 프로그램들이나 기기들도 종국적으로는, 자동차와 같은 특정 용도의 장치에 장착 또는 구축되어 각각이 의도하는 기능을 정상적으로 실현하여야 하는데, 이러한 시스템 통합(integration) 작업에는 필연적으로 의도치 않은 오류가 발생한다. 이러한 통합과정에서의 오류는, 응용 프로그램의 개발자의 코딩 실수나 또는 준수해야 하는 서비스 규칙에 대한 오해석 등에 의해 야기될 수 있다.
따라서, 복수의 기기들을 네트워크를 통해 서로 연결하여 통합적으로 구축한 복수의 기기들( 이하, 이렇게 통합된 기기들을 통칭하여 '네트워크 시스템'이라 한다. )에서 발생하는 오류나, 서비스 규칙을 준수하지 않거나 위반하는 동작이 발생하는 경우, 이러한 발생 원인을 개발자들의 논리적 추론에 근거하여 디버깅(debugging)하여야 한다.
하지만, 복수의 기기들이 연결되어 다-대-다(multi-to-multi) 통신에 의해 동작하므로, 개발자들의 논리적 추론에 의존해서는 그 오류 등의 원인을 찾아내는 것이 쉽지 않고, 각 기기의 개발 주체가 속하는 기관이나 업체 등이 서로 상이하면, 의사소통 과정에서도 상당한 시간이 소요될 수 밖에 없다. 이런 문제를 해소하기 위해서는, 실제 구축되어 동작하는 네트워크 시스템에서, 어떤 기기가 오류의 원인이 될 수 있는 동작을 하는지, 필요한 동작을 하지 않는지, 또는 불필요한 동작을 하는지와 같은 사항들을 객관적으로 그리고 자동적으로 파악하는 방안이 필요하다.
본 발명은, 네트워크에 연결되어 서비스 기반의 동작을 수행하는 기기들에 대해서 서비스 기반의 동작에 대한 객관적인 정보를 자동적으로 획득하기 위한 방법과 장치를 제공하는 것에 일 목적이 있는 것이다.
본 발명의 다른 목적은, 네트워크를 통해 서로 연결된 기기들이 수행하는 서비스 기반의 동작을, 특정 용도의 장치에서 실제 구축되어 운용되는 상황과 동일한 환경에서 확인할 수 있게 하는 방법과 장치를 제공하는 것이다.
본 발명의 또 다른 목적은, 네트워크에 연결되어 서비스 기반의 동작을 수행하는 기기들에 대해서, 그 서비스 기반의 동작들이 사전에 지정된 요건을 충족하는지를 자동적으로 파악할 수 있는 방법과 장치를 제공하는 것이다.
본 발명의 또 다른 목적은, 네트워크를 통해 서로 연결된 기기들에 대하여, 서비스 기반의 동작을 기기별로 확인할 수 있게 하는 방법과 장치를 제공하는 것이다.
본 발명의 또 다른 목적은, 네트워크를 통해 기기들이 연결되어 구축된 네트워크 시스템이 서비스 기반의 동작에 대한 점검과 원래 의도된 정상적인 동작을 선택적으로 수행할 수 있게 하는 방법과 장치를 제공하는 것이다.
본 발명의 목적은, 상기 명시적으로 서술된 목적에 국한되는 것은 아니며, 본 발명에 대한 구체적이고 예시적인 하기의 설명에서 도출될 수 있는 효과를 달성하는 것을 그 목적에 당연히 포함한다.
본 발명의 일 측면에 따른, 스위칭 기기에 개별적으로 연결된 복수의 기기들의 서비스 기반의 동작에 관한 정보를 획득하기 위한 장치는, 상기 복수의 기기들에 상호 간의 통신을 위한 네트워크를 제공하는 상기 스위칭 기기가, 수신되는 데이터 프레임에 대해 스위칭하여 출력하는 방식을 가로채기로 변경설정하도록 구성된 제어부와, 가로채기 방식으로의 변경설정에 따라, 상기 복수의 기기들 중 임의의 한 기기가 발송한 데이터 프레임을 상기 스위칭 기기가 가로채어 전달하는 상기 데이터 프레임에 실린 제 1형의 메시지가 수신되면, 그 이후에 상기 스위치 기기로부터 제 2형의 메시지가 한번 이상의 기 지정된 횟수만큼 수신될 때까지는 상기 수신된 제 1형의 메시지가 상기 네트워크로 재유입되지 않게 하고, 상기 스위칭 기기로부터 수신되는 상기 제 2형의 메시지에 대해서는 상기 네트워크로 재유입시키도록 구성된 정보획득부를 포함하여 구성된다. 그리고, 상기 정보획득부는, 수신된 상기 제 2형의 메시지에 근거하여, 상기 제 2형의 메시지를 발송한 기기의 서비스 기반의 동작에 관한 특정 정보를 획득한다.
본 발명에 따른 일 실시예에서는, 상기 정보획득부에 의해 획득되는 상기 특정 정보가, 상기 제 2형의 메시지를 발송한 기기가 지원하는 적어도 하나의 서비스 항목에 대하여 해당 항목을 식별케 하는 정보이다.
본 발명에 따른 일 실시예에서는, 상기 정보획득부가, 수신된 상기 제 1형의 메시지를 저장하고 있다가, 상기 복수의 기기들 중 적어도 하나로부터 상기 제 2형의 메시지를 수신하면, 상기 저장하고 있던 상기 제 1형의 메시지를 상기 네트워크로 재유입시킬 수도 있다.
본 발명에 따른 일 실시예에서는, 상기 제 1형의 메시지가, 상기 복수의 기기들에 속하는 임의의 기기가 자신이 지원하는 서비스 항목에 대한 정보를 멀티캐스트(multicast) 방식으로 알리는 메시지일 수 있다. 본 실시예에서는, 상기 제어부가, 상기 제 2형의 메시지를 한번 이상의 기 지정된 횟수만큼 송신한 기기가 하나 이상 있는 상태에서, 상기 스위칭 기기로부터 상기 제 1형의 메시지가 추가로 수신되면, 추가로 수신된 상기 제 1형 메시지에 대해서 상기 하나 이상의 기기로만 스위칭하여 출력하게 만드는 멀티캐스트에 대한 설정을 상기 스위칭 기기에 요청한 후에, 추가로 수신된 상기 제 1형의 메시지를 상기 네트워크로 재유입시키게 된다. 그리고, 상기 스위칭 기기로부터 수신되는 단일 목적지를 지정하고 있는 상기 제 1형의 메시지에 대해서는, 상기 네트워크로 바로 재유입시키게 된다. 또한, 본 실시예에서는, 상기 지정된 횟수는 2 또는 그 이상일 수 있다. 이 경우, 상기 정보획득부는, 상기 하나 이상의 기기의 각각이 송신하여 상기 지정된 횟수만큼 반복하여 수신된 상기 제 2형의 메시지로부터, 상기 하나 이상의 기기의 각각이 상기 제 2형의 메시지를 재발송하는 시간격에 대한 정보를 획득하게 된다.
본 발명에 따른 일 실시예에서는, 상기 제 1형의 메시지는, 상기 제 2형의 메시지에 응답하여 발송되는 메시지이다. 이 경우, 상기 획득되는 특정 정보는, 수신된 상기 제 2형의 메시지와, 상기 제 2형의 메시지를 발송한 임의 기기가 상기 제 1형의 메시지보다 앞서 발송한 또 다른 상기 제 2형의 메시지 간의 발송 시간격에 대한 정보일 수 있다. 본 실시예에서는, 상기 정보획득부가, 상기 발송 시간격에 대한 상기 특정 정보가 획득된 후부터는, 상기 임의 기기로 전송되어야 하는 상기 제 1형의 메시지가 수신되면, 그 수신된 상기 제 1형의 메시지에 대해서는 그대로 상기 네트워크로 재유입시킨다. 그리고,상기 제 2형의 메시지는, 서비스 기반의 요청을 하는 메시지이거나, 그룹핑된 이벤트들에 대해서 하나 이상의 그룹을 지정하여 가입을 요구하는 메시지일 수 있다.
본 발명에 따른 다른 일 실시예에서는, 상기 정보획득부가, 수신된 상기 제 1형의 메시지를 폐기함으로써, 상기 네트워크로 재유입되지 않게 한다.
본 발명에 따른 일 실시예에서는, 상기 정보획득부가, 제 3형의 메시지를 수송하는 임의의 데이터 프레임이 상기 스위칭 기기로부터 수신되면, 상기 임의의 데이터 프레임에 대해서 적어도 일부를 수정하여 상기 네트워크로 재유입시키고, 상기 제 3형의 메시지에 대해서 응답하는 제 4형의 메시지가 상기 스위치로부터 수신되면, 그 제 4형의 메시지에 실린 응답 정보와 상기의 수정에서 회신의도한 정보를 비교하여, 상기 제 4형의 메시지를 발송한 기기의 비상처리에 대한 정보를 더 획득한다. 본 실시예에서는, 상기의 수정이, 상기 제 3형의 메시지에 대해서 정해진 특정 형식에 부합하지 않거나 허용되지 않는 정보, 또는 상기 제 3형의 메시지의 목적지 기기가 정상적으로 처리를 할 수 없는 정보가 포함되도록 상기 임의의 데이터 프레임이 수송하는 정보를 변경하는 것일 수 있다.
그리고, 전술한 실시예에서, 상기의 수정에는, 상기 제 3형의 메시지를 구성하는 헤더(header)와 페이로드(payload) 중, 그 페이로드에 포함되어 있는 하나 이상의 데이터 그룹에 대해서 그 데이터 그룹에 속하는 임의 파라미터에 해당하는 데이터 길이를 축소시키는 수정과, 상기 목적지 기기로부터 발송된 상기 제 1형의 메시지에서 확인한 지원 서비스 항목에 해당하지 않는 서비스 항목을 나타내는 식별자로써, 상기 제 3형의 메시지의 서비스 식별자 부분을 대체하는 수정에서 적어도 어느 하나가 포함된다.
또한, 본 발명에 따른 일 실시예에서는, 상기 정보획득부가, 상기 제 3형의 메시지가 수신될 때마다, 상기 제 3형의 메시지에 대해 지정된 복수의 검증사항들의 각각을 위한 수정을 하여 상기 네트워크로 재유입시키고, 그 재유입시킨 상기 제 3형의 메시지에 대해 응답하여 수신되는 상기 제 4형의 메시지에 대해서는 폐기하게 된다. 본 실시예에서는, 상기 정보획득부가, 특정오류의 유발을 위한 수정을 하여 상기 네트워크로 재유입시킨 어느 하나의 상기 제 3형의 메시지에 대해서, 이후에 상기 제 3형의 메시지가 다시 수신될 때까지, 또는 상기 어느 하나의 제 3형의 메시지를 재유입시킨 이후의 일정 시간 내에, 상기 어느 하나의 제 3형의 메시지에 대한 응답을 수신하지 못하면, 상기 비상처리에 대한 정보를 획득함에 있어서, 상기 특정오류의 유발을 위한 수정에 따른 비상처리에 대한 정보가, 다른 수정들에 따른 비상처리에 대한 정보와는 구분될 수 있게 기록한다. 또한, 상기 제 3형의 메시지에 대해서, 상기 복수의 검증사항들의 각각을 위한 수정에 따른 상기 비상처리에 대한 정보가 획득되고 나면, 그 이후에 수신되는 상기 제 3형의 메시지에 대해서는 그대로 상기 네트워크로 재유입시키고, 또한, 그대로 재유입시킨 상기 제 3형의 메시지에 대해 응답되어 수신되는 상기 제 4형의 메시지에 대해서도 상기 네트워크로 그대로 재유입시키게 된다.
본 발명에 따른 일 실시예에서는, 상기 제어부가, 상기 스위칭 기기가, 수신된 데이터 프레임에 대해 스위칭하여 출력하는 방식을 포트복제로 변경설정하도록 더 구성된다. 방식에 대한 변경 설정에 있어서는, 상기 가로채기 방식에서 상기 복수의 기기들에 대하여 서비스 기반의 동작에 연관된 정보를 획득한 후 상기 포트복제 방식으로 전환시키는 순서에 따른다.
본 발명에 따른 일 실시예에서는, 상기 정보획득부가, 상기 포트복제 방식에서 상기 스위칭 기기로부터 수신되는 임의의 데이터 프레임에 실린 특정 메시지에 대해서, 그 특정 메시지를 식별키 위한 정보, 수신된 시각 정보, 그 특정 메시지의 종류, 그리고, 상기 임의의 데이터 프레임의 발신지 기기와 목적지 기기를 각기 식별키 위한 정보를 포함하여 하나의 정보 항목으로 기록한다. 이때, 상기 특정 메시지에 실린 회신 코드가 오류를 나타내는 값이면, 상기 하나의 정보 항목에 대해서는, 기록된 다른 정보 항목들과 구분 식별되게 하는 형식으로 기록할 수도 있다. 또한, 상기 정보획득부는, 상기 특정 메시지를 유발시킨, 그 특정 메시지에 선행하여 수신된 메시지에 대해서 기록된 임의의 정보 항목과 연결시키는 정보를 상기 하나의 정보 항목에 더 포함시켜 기록할 수도 있다.
전술한 실시예에서, 상기 정보획득부는, 앞서 수신한 일련의 메시지들에 대해서 기록한 정보 항목들에서, 상기 수신된 특정 메시지와 동일한 직전 수신된 메시지에 대한 항목을 찾고, 그 찾은 항목의 메시지 수신 시각과 상기 특정 메시지의 수신 시각 간의 시간격을 파악한 후, 그 파악된 시간격을 상기 특정 메시지의 반복 발송에 요구되는 시간격과 비교함으로써, 상기 특정 메시지에 대한 반복 발송의 오류 여부를 판별할 수 있다. 특히, 반복하여 수신되는 상기 특정 메시지에 대해서 각기 파악하는 수신 시간격이, 상기 특정 메시지에 대한 반복 발송에 요구되는 시간격과 2회 이상 연속하여, 지정된 허용범위 이상으로 차이가 나는 경우에, 상기 특정 메시지에 대한 반복 발송에 오류가 있는 것으로 판별할 수도 있다.
본 발명에 따른 일 실시예에서는, 상기 정보획득부가, 상기 포트복제 방식에서 상기 스위칭 기기로부터 수신되는 데이터 프레임에 실린 임의의 메시지에 대해서, 그 임의의 메시지의 특정 부분의 데이터가 적합하게 패킹되었는지를 검사하고, 그 검사결과를, 그 임의의 메시지를 식별케하는 정보와, 그 임의의 메시지의 발신지를 알 수 있는 정보와 함께 하나의 정보 항목으로 기록한다. 본 실시예에서는, 상기 정보획득부가, 패킹의 적합성에 대한 상기 검사에서, 상기 특정 부분에 실린 실제의 데이터의 길이가, 상기 임의의 메시지의 상기 특정 부분에 대해 지정된 길이보다 짧은 경우로 확인되는 경우에는, 긴 경우로 확인되는 경우에 비해서, 패킹의 부적합성의 정도가 더 높음을 나타내는 값으로 하는 검사결과를 상기 하나의 정보 항목으로 기록할 수도 있다.
본 발명에 따른 일 실시예에서는, 상기 장치가, 상기 스위칭 기기를 그 내부 구성으로서 포함하여 일체로 구성될 수도 있다.
본 발명에 따른 다른 일 실시예에서는, 상기 장치가, 상기 복수의 기기들 중 어느 하나의 기기에 내부 구성으로서 포함되어 구현된 것일 수도 있으며, 이와 같은 실시예에서는, 상기 제어부가, 상기 특정 정보를 포함하여 상기 정보획득부가 획득하는 상기 복수의 기기들에 대한 서비스 기반의 동작에 연관된 정보를, 상기 네트워크를 통해 기 지정된 특정의 외부 장치에 제공하게 된다. 또한, 상기 제어부는, 상기 어느 하나의 기기에 장착된 부품이 만드는 전기적 상태값에 따라, 상기 가로채기 방식으로 변경설정하거나 상기 포트복제 방식으로 변경설정할 수 있다.
본 발명의 다른 일 측면에 따른, 스위칭 기기에 개별적으로 연결된 복수의 기기들의 서비스 기반의 동작에 관한 정보를 획득하기 위한 장치는, 상기 복수의 기기들에 상호 간의 통신을 위한 네트워크를 제공하는 상기 스위칭 기기에 특정의 명령을 전송함으로써, 상기 복수의 기기들에서 순차적으로 하나만을 선택하여 상기 스위칭 기기와 데이터 통신을 할 수 있게 하는 제 1제어부와, 상기 제 1제어부에 의해 상기 스위칭 기기와 데이터 통신을 할 수 있도록 선택된 기기가 제 2형의 메시지를 전송함으로써, 상기 스위칭 기기를 통해 그 제 2형 메시지가 수신되면, 수신된 상기 제 2형의 메시지로부터 상기 선택된 기기가 지원하는 적어도 하나의 서비스 항목에 대하여 해당 항목을 식별케 하는 정보를 획득하도록 구성된 정보 획득부를 포함하여 구성된다. 본 장치에서는, 상기 제 2형의 메시지가, 상기 적어도 하나의 서비스 항목을 지원하는 것을 알리는 제 1형의 메시지를 수신하지 못함으로써 멀티캐스트 방식으로 발송되는 메시지이고, 상기 제 1제어부는, 상기 제 2형의 메시지에 할당된 멀티캐스트 주소에 대해 본 장치의 주소를 가입시키게 된다.
본 발명에 따른 일 실시예에서는, 상기 제 1제어부는, 상기 복수의 기기들에 대해서, 하나의 기기를 선택하여 그 선택된 기기만이 전원 인가 상태가 되도록 하고, 그 전원 인가된 기기에서 상기 제 2형의 메시지가 한번 이상의 기 지정된 횟수만큼 발송되면, 다음 순서의 기기만이 전원 인가 상태가 되게 하여 상기 제 2형의 메시지를 발송하게 하는 방식으로, 상기 스위칭 기기를 이용하여 상기 복수의 기기들에 대한 원격 전원켜기/끄기를 수행한다.
본 발명에 따른 다른 일 실시예에서는, 상기 제 1제어부가, 상기 복수의 기기들이 개별적으로 연결된 상기 스위칭 기기의 포트들에 대해서, 하나의 포트만을 활성화 상태가 되도록 하고, 그 활성화된 포트에 연결된 기기에서 상기 제 2형의 메시지가 한번 이상의 기 지정된 횟수만큼 발송되면, 다음 순서의 포트만을 활성화 상태가 되게 하여 상기 다음 순서의 포트에 연결된 기기가 제 2형의 메시지를 발송하게 하는 방식으로, 상기 스위칭 기기의 포트들을 제어한다.
본 발명의 또 다른 일 측면에 따른, 스위칭 기기에 개별적으로 연결된 복수의 기기들의 서비스 기반의 동작에 관한 정보를 획득하기 위한 방법은, 상기 복수의 기기들에 상호 간의 통신을 위한 네트워크를 제공하는 상기 스위칭 기기가, 수신되는 데이터 프레임에 대해 스위칭하여 출력하는 방식을 가로채기로 변경설정하는 1단계와, 상기 복수의 기기들 중 임의의 한 기기로부터 발송되어 상기 스위칭 기기에 의해 가로채어져 전달되는 제 1데이터 프레임을 수신하는 2단계와, 상기 스위칭 기기로부터 제 2형의 메시지가 한번 이상의 기 지정된 횟수만큼 수신될 때까지는 상기 수신된 제 1데이터 프레임에 실린 제 1형의 메시지가 상기 네트워크로 재유입되지 않게 한 상태에서, 상기 스위칭 기기로부터 상기 제 2형의 메시지를 실은 제 2데이터 프레임이 수신되면, 그 제 2데이터 프레임에 대해서는 상기 네트워크로 재유입시키는 3단계를 포함하여 이루어진다. 그리고, 상기 3단계는, 수신된 상기 제 2형의 메시지에 근거하여 상기 제 2형의 메시지를 발송한 기기의 서비스 기반의 동작에 관한 정보를 획득하는 단계를 더 포함한다.
본 발명의 또 다른 일 측면에 따른, 기록매체에 수록된 임의의 컴퓨팅 장치에서 실행될 수 있는 프로그램 개체는, 복수의 기기들에 상호 간의 통신을 위한 네트워크를 제공하는 스위칭 기기와 연결되어 통신할 수 있는 컴퓨팅 장치에 로드(load)되어 실행되는 것을 전제할 때, 상기 스위칭 기기가, 수신된 데이터 프레임에 대해 스위칭하여 출력하는 방식을 가로채기로 변경설정하는 기능과, 상기 복수의 기기들 중 임의의 한 기기로부터 발송되어 상기 스위칭 기기에 의해 가로채어져 전달되는 제 1데이터 프레임을 수신하는 기능과, 상기 스위칭 기기로부터 제 2형의 메시지가 한번 이상의 기 지정된 횟수만큼 수신될 때까지는 상기 제 1데이터 프레임에 실린 제 1형의 메시지가 상기 네트워크로 재유입되지 않게 한 상태에서, 상기 스위칭 기기로부터 상기 제 2형의 메시지를 실은 제 2데이터 프레임이 수신되면, 그 제 2데이터 프레임에 대해서는 상기 네트워크로 재유입시키는 기능과, 수신된 상기 제 2형의 메시지에 근거하여 상기 제 2형의 메시지를 발송한 기기의 서비스 기반의 동작에 관한 정보를 획득하는 기능을 수행하기 위한 프로그램 코드들로써 구성되어 있다.
전술한 본 발명 또는, 하기에서 첨부된 도면과 함께 상세히 설명되는 본 발명의 적어도 일 실시예에 따른, 네트워크에 연결된 기기들의 서비스 기반의 동작에 관한 정보를 획득하기 위한 방법은, 연결된 네트워크를 이용해 서비스 기반으로 동작하는 기기들에 대하여, 자동차와 같은 특정 용도의 장치에 실제로 운용되는 상황과 동일한 환경에서 그들의 서비스 기반의 동작이 정상적으로 수행되는지를 알 수 있게 한다. 그렇기 때문에, 특정 용도의 장치에 구축되어 운용될 때의 각 기기의 서비스 기반의 동작에서의 오류를, 네트워크 시스템의 설계자 등이 사전에 파악할 수 있다.
또한, 서비스 기반으로 동작하는 기기들이 네트워크를 통해 연결되어 통합적으로 구축되었을 때, 그 기기들의 동작에 문제가 있는 경우, 그 문제의 원인이 되는 기기를 바로 파악할 수 있게 함으로써, 통합에 따른 오류에 대한 수정에서의 시간을 크게 단축시킬 수 있다. 이로 인해, 완전한 네트워크 시스템의 개발완료까지 소요되는 비용이나 자원이 절감된다.
그리고, 본 발명에 따른 일 실시예에서는, 네트워크에 연결된 기기들의 서비스 기반의 동작에 관한 정보를 획득하는 방법이 서비스 기반으로 동작하는 임의의 기기에 내재되어 구성될 수도 있는데, 이러한 구성에 의하면, 특정 용도의 장치에 서비스 기반으로 동작하는 기기들이 실제로 구축되어 운용되고 있는 중에, 새롭게 개발된 응용 프로그램이 임의의 기기에 설치되어 실행될 때, 간단한 조작만으로 쉽게 문제 발생 여부를 점검할 수가 있다. 따라서, 특정 용도의 장치에 구축한 네트워크 시스템의 사후 관리나 점검 등에서도 매우 편리해 진다.
도 1은, 본 발명의 일 실시예에 따른, 네트워크에 연결된 기기들의 서비스 기반의 동작에 관한 정보를 획득하기 위한 방법이 적용되는 네트워크 시스템의 구성에 대한 일 예이고,
도 2는, 도 1의 스위치와 본 발명의 일 실시예에 따른 분석 장치의 구성을 함께 도시한 것이고,
도 3은, 본 발명의 일 실시예에 따른, 도 2의 분석 장치가, 네트워크에 연결된 기기들의 서비스 기반의 동작에 관한 정보를 획득하는 방법을 수행할 때의, 분석 장치 내의 정보획득부의 동작에 대한 상태 천이도이고
도 4는, 본 발명의 일 실시예에 따른, 서비스 기반으로 동작하는 기기들에 대한 서비스 기반의 동작에 관한 정보를 획득하는 동작에서의, 도 1의 네트워크 시스템에서 이루어지는 신호 교환과정에 대한 예시적인 흐름도이고,
도 5는, 본 발명의 일 실시예에 따른, 네트워크에 연결된 서비스 기반으로 동작하는 기기들이 전송하는 필요서비스 검색 메시지로부터 추출하는 필요서비스의 정보를 기록함으로써 노드 점검목록을 구성하는 방법을 예시적으로 나타낸 것이고,
도 6은, 본 발명의 일 실시예에 따른, 서비스 기반으로 동작하는 기기들이 전송하는 메시지에 대해서, 그 메시지를 재발송하도록 하여 그 재발송까지의 시간격을 파악하는 방법을 예시적으로 보여주는 상태 흐름도이고,
도 7은, 도 6의 실시예에 따라, 임의 기기들이 재발송하는 메시지에 대하여 그 재발송의 시간격을 기록하여 구성하는 정보 목록의 일 예이고,
도 8은, 본 발명의 일 실시예에 따른, 서비스 기반으로 동작하는 기기들이 메시지의 오류에 대응하는 정보를 획득하는 방법의 일 과정을 보여주는 신호교환 흐름도이고,
도 9는, 도 8에 따른 실시예를 위해, 수신되는 메시지에 대해서, 그 메시지를 수신하는 기기의 오류에 대한 대응처리를 확인할 사항들과 함께 그 메시지 항목을 등재함으로써 구성하는, 오류대응을 확인할 수 있게 하는 정보 목록의 구조에 대한 일 예이고,
도 10은, 본 발명의 일 실시예에 따라, 모니터링 모드에서, 네트워크에 연결된 기기들이 전송하는 메시지들에 대한 정보를 기록함으로써 구성하는 로그(log) 데이터 목록의 구조에 대한 일 예이고,
도 11은, 본 발명의 일 실시예에 따른, 모니터링 모드에서, 서비스 기반으로 동작하는 기기가 반복하여 발송하는 메시지에 대해서 그 발송 간격에 대한 시간정보를 기록함으로써 구성하는 정보 목록의 구조를 예시적으로 보여주는 것이고,
도 12는, 본 발명의 일 실시예에 따른, 서비스 기반으로 동작하는 기기들 간에 송수신되는 메시지에 대해서, 페이로드(payload) 부분이 적합하게 패킹(packing)되어 있는지를 검사하는 방법에 대한 예시적인 상태 흐름도이고,
도 13은, 도 12의 실시예에 따라, 적합성이 판별되는 메시지 항목들을 관리하기 위해 구성하는 정보 목록의 구조에 대한 일 예이다.
이하에서는, 본 발명에 따른 다양한 실시예들에 대해 첨부된 도면을 참조하여 상세히 설명한다.
이하의 본 발명에 따른 실시예들의 설명과 첨부된 도면에 있어서, 부기된 동일 번호는 특별한 사정이 없는 한 동일한 구성요소를 지칭한다. 물론, 설명의 편의와 이해에의 도움을 위해, 필요에 따라서는 동일한 구성요소에 대해서도 서로 다른 번호로 부기될 수도 있다.
도 1은, 본 발명의 일 실시예에 따른, 기기들의 서비스 기반의 동작에 관련된 정보를 획득하는 방법이 적용된 네트워크 시스템의 구성을 예시적으로 도시한 것이다.
도 1에 예시된 네트워크 시스템은, 서비스 기반의 동작을 수행하는 응용 프로그램이 적어도 하나 이식되어 서비스 기반으로 서로 간에 필요한 정보를 교환하는, 전자제어 유니트와 같은 기기들(1i, i=1,2,..)과, 상기 기기들(1i, i=1,2,..)의 각각과 일대일로 통신선(Li, i=1,2,..,n)이 연결되어, 그 기기들이 서로 통신할 수 있는 네트워크를 제공하는 스위칭(switching) 기기인 스위치(10)와, 상기 스위치(10)의 하나의 포트(port)에 연결되어, 상기 기기들(1i, i=1,2,..)의 서비스 기반의 동작과 관련된 정보를 획득하고, 그들에 대해 필요한 점검 동작 등을 수행하도록 구성된 분석 장치(20)를 포함하여 구성되어 있다.
도 2는, 도 1의 상기 스위치(10)와 본 발명의 일 실시예에 따른 상기 분석 장치(20)의 구성을 함께 도시한 것으로서, 상기 스위치(10)는, 구비된 각 포트(Pi, i=1,2,..,n)로 수신되는 데이터 프레임의 착발신 주소에 근거하여 하나 또는 그 이상의 포트로 출력되게 스위칭( 이러한 출력을 위한 스위칭 동작을 '라우팅(routing)'이라 칭한다. )하는 스위칭 박스(12)와, 상기 스위칭 박스(12)의 각 포트에 연결된 기기들에 IP 주소를 할당하고, 또한 상기 스위칭 박스(12)의 라우팅 동작을 제어하도록 구성된 스위칭 관리부(11)를 포함하여 구성된다.
그리고, 상기 분석 장치(20)는, 상기 스위치(10)와 통신선(Ln)으로써 연결되어, 정해진 통신방식으로 데이터 프레임을 송수신하는 망 접속부(23)와, 상기 스위치(10)에 연결된 기기들(1i, i=1,2,..)에 대해 서비스 기반의 동작을 시험하고 필요한 정보를 획득하도록 구성된 정보획득부(22)와, 상기 기기들(1i, i=1,2,..)의 서비스 기반의 동작과 관련된 정보의 획득에 필요한 상기 스위치(10)에 대한 네트워크 구성(configuaion)정보 등의 변경과 상기 정보획득부(22)에 대한 제어를 수행하도록 구성된 주 제어부(21)를 포함하여 구성된다.
도 2에 예시된 구성에서는, 상기 주 제어부(21)가, 상기 스위치(10)의 네트워크 구성정보를 변경코자 할 때는, 변경할 정보를 담은 메시지를 구성하여 지정한 특별한 주소를 목적지로 하여 패킷을 구성하여 상기 스위치(10)로 전송하게 된다. 이렇게 전송된 상기 특별한 주소의 패킷은, 상기 스위칭 박스(12)에 의해 상기 스위칭 관리부(11)에 전달됨으로써, 상기 스위칭 관리부(11)가 그 전달된 패킷의 내용을 해석하여 그에 맞게 네트워크 구성정보를 변경저장하면서, 동시에, 상기 스위칭 박스(12)의 수신된 데이터 프레임에 대한 라우팅할 포트의 결정에 작용하는 주소-포트 매핑정보( 이하, '스위칭 맵'이라 칭한다. )을, 변경된 네트워크 구성정보에 맞도록 상기 스위칭 박스(12)에 설정하게 된다.
도 2에 그 구성이 예시된 본 발명의 일 실시예에 따른 상기 분석 장치(20)는, 상기 스위치(10)와는 별개의 장치로서 구현된 것이지만, 본 발명에 따른 다른 일 실시예에서는, 상기 분석 장치(20)가 상기 스위치(10)와 일체로 구현될 수도 있다. 즉, 상기 분석 장치(20)가 상기 스위치(10)의 구성을 내부 구성요소로 포함하여 구성될 수도 있다. 이러한 실시예에서는, 상기 주 제어부(21)가 네트워크 구성정보의 변경과 같은 요청을, 그 통합된 징치 내의 내부 버스나 또는 직접 연결된 신호선을 통해 상기 스위칭 관리부(11)에 하게 될 것이다. 이러한 실시예에서는, 상기 망 접속부(23)를 구비하지 않을 수 있다.
따라서, 이하의 본 발명에 따른 다양한 실시예들에 대해서는, 도 2에 예시된 바와 같이, 상기 분석 장치(20)가 상기 스위치(10)와 별개로 구성되고, 이들 간에는, 그 스위치(10)의 포트에 연결된 다른 기기들과 마찬가지의 방식으로 통신하여, 상기 스위치(10)를 제어하기 위한 정보를 전달하는 것을 전제로 설명하지만, 이러한 정보 전달의 설명은, 실시예에 따라 단일의 장치로 구현되어 그 장치 내의 내부 신호교환 방식에 의거해 직접 송수신하는 것도 당연히 가능함을 함의(含意)하는 것이다. 그렇기 때문에, 라우팅을 결정케 하는 스위칭 맵의 변경설정을 위한 제어정보에 대한 전달방식이 네트워크를 통해 이루어지든지 또는 직접 연결된 신호선 등을 통해 이루어지든지, 본 발명의 청구범위가 명시적으로 그 해석범위를 제한하지 않는 한, 이하의 구체적인 설명과 상이한 제어정보 전달방식이라는 이유로 본 발명의 권리범위가 미치지 않는 것으로 이해되어서는 안된다.
상기 분석 장치(20)의 주 제어부(21)와 정보획득부(22)는, 그 장치의 기록매체에 구비된 펌웨어(firmware) 등의 기 저장된 명령코드들, 또는 펌웨어에 의해 저장장치에 수록된 프로그램의 명령코드들을 구비된 중앙처리장치(CPU)가 실행함으로써, 그 장치에 구비된 주변 하드웨어 요소들과 함께 이하에서 상세히 설명하는 다양한 동작들을 수행하는 형태로 구성될 수 있다.
또한, 본 발명의 개념과 주제에 대한 이해를 돕기 위해, 상기 분석 장치(20)의 구성요소를 도면에 예시된 바와 같이 기능적으로 구분하였지만, 이들 구성요소들은 필요에 따라 더 세분된 구성요소로 분해될 수도 있고, 또는 일부 구성요소들은 서로 선택적으로 조합되어 하나의 구성요소가 될 수도 있으며, 본 발명의 실시예에 따라서는, 도시되지 않은 구성요소, 예를 들어 사용자 인터페이스부 등이 더 포함되어 상기 분석 장치(20)를 구성할 수도 있다.
이하에서 그 동작이 상세히 설명되는 상기 분석 장치(20), 특히 상기 주 제어부(21)와 상기 정보획득부(22)의 모든 기능은, 범용의 컴퓨팅(computing) 장치에서 그 운영시스템을 기반으로 실행되는 명령 코드(code)들로써 구성된 프로세스(process) 또는 실행 모듈(executable module)에 의해 달성될 수 있다. 이러한 경우에는, 네트워킹 기능을 구비한 범용의 컴퓨팅 장치에서 프로세스 또는 실행모듈이 될 명령 코드들로써 이루어진 하나 이상의 파일이 상기 주 제어부(21)와 상기 정보획득부(22)에 해당할 수 있다. 그리고, 이들(21,22)의 파일은, 별도의 휴대용 저장장치나 서버 등의 하드 디스크와 같은 기록매체에 구비되어, 범용의 컴퓨팅 장치와 직접 연결되어 복사/이동되거나 또는 온라인으로 다운로드된 후 그 범용의 컴퓨팅 장치, 예를 들어, PC 또는 노트북 등의 메모리에 로드(load)되어 하나 또는 그 이상의 프로그램 개체로서 실행될 수 있다.
이렇게 실행된 상태의 범용의 컴퓨팅 장치는, 본 발명에 따른, 네트워크에 연결된 기기들의 서비스 기반의 동작에 관한 정보를 획득하는 방법을 수행하는 상기 분석 장치(20)가 된다.
한편, 상기 주 제어부(21)와 정보획득부(22)의 기능들의 적어도 일부가 미들웨어(middleware), 또는 응용 프로그램들이 기반하는 플랫폼(platform) 형태로, 또는 운영시스템(OS)의 일부의 형태로, 상기 망 접속부(23)에 대응하는 네트워킹 기능을 갖춘 어댑터를 구비하고 있는 범용의 컴퓨팅 장치에 구현되어 있을 수도 있고, 하드웨어(hardware)의 구성을 포함함으로써, 이하에서 상세히 설명하는 기능들의 일부를 그 하드웨어를 통해 수행할 수도 있다.
따라서, 본 발명에 따른 다양한 실시예들에서, 상기 스위치(10)의 메시지 스위칭에 근거하여 수행하는 동작들이 상세히 설명되는 도 2에 예시된 상기 분석 장치(20)는, 그 구현하는 형태 또는 사용된 자원(resource)의 유형 등에 의해 본 발명의 범위가 제한되는 것은 아니다.
도 3은, 본 발명의 일 실시예에 따른, 상기 분석 장치(20)가 네트워크에 연결된 기기들의 서비스 기반의 동작에 관한 정보( 이하, '서비스 연관정보'라 칭한다. )를 획득하는 방법을 수행할 때의, 상기 정보획득부(22)의 동작에 대한 상태 천이도이고, 도 4는, 본 발명의 일 실시예에 따른, 서비스 기반으로 동작하는 기기( 이하에서는, '서비스 기반 기기'라 칭하거나, 단지 '기기'로 약칭하기도 한다. )들에 대한 서비스 연관정보의 적어도 일부를 획득하는 동작에서의, 도 1의 네트워크 시스템에서 이루어지는 신호 교환과정에 대한 예시적인 흐름도로서, 이하에서는 도 3의 상태 천이도와 도 4의 신호 교환과정의 예시적인 흐름도를 참조하여 본 발명에 따른 실시예들에 대해서 구체적으로 설명한다.
상기 분석 장치(20)는, 상기 스위치(10)와 연결되어 네트워크에 대한 액세스(access)가 가능한 상태( 이 상태가 되는 과정에 대해서는, 이후에 간단히 설명한다. )에서, 서비스 연관정보의 획득요구가 있게 되면, 상기 주 제어부(21)는, 상기 스위치(10)를 통해 송수신되는 데이터 프레임에 대한 가로채기를 요청하는 패킷(packet)을 구성하여 상기 망 접속부(23)를 통해 상기 스위치(10)로 전송한다(S400).
서비스 연관정보의 획득요구는, 상기 분석 장치(20)에 구비된 사용자 입력수단( 예를 들어, 키보드 등 )을 통해 상기 주 제어부(21)에 인가될 수도 있고, 또는 상기 스위치(10)가 제공하는 네트워크를 통해 외부의 특정 기기로부터 수신되는 패킷에 실린 명령으로서 전달된 것일 수도 있다. 또는, 상기 분석 장치(20)에 전원이 인가된 후, 상기 망 접속부(23)로부터 네트워크를 액세스할 수 있는 상태가 되었다는 통지가 있을 때, 이 통지를 상기의 획득요구로 간주할 수도 있다.
상기 가로채기 요청 패킷은, 상기 스위치(10)를 목적지로 하는( 예를 들어, 그 스위치의 관리자 모드에의 접근을 위해 할당된 특별한 주소가 목적지 주소로 기입된 ) 데이터 프레임으로 구성되어 전송된다. 따라서, 이 가로채기 요청 패킷은, 상기 스위칭 박스(12)에 기 설정된 스위칭 맵에 의거해 상기 스위칭 관리부(11)로 전달된다.
상기 스위칭 관리부(11)는, 상기 가로채기 요청 패킷이 수신되면, 그 패킷이 수신된 포트를 가로채기 포트로 지정하는 정보를, 상기 스위칭 박스(12)가 임의 포트로 입력된 데이터 프레임을 라우팅할 포트를 결정할 때 참조하는 상기 스위칭 맵에 설정함으로써, 수신되는 데이터 프레임에 대해 스위칭하여 출력하는 방식을 변경한다. 이러한 가로채기의 설정을 위해, 상기 스위칭 관리부(11)가 그 패킷을 송신한 상대측에 필요한 인증을 요청할 수도 있으며, 이러한 인증 과정이 있으면, 상기 주 제어부(21)가 기 설정된 정보에 근거해 필요한 인증용 정보를 제공하게 된다.
한편, 상기 주 제어부(21)는, 상기 스위치(10)로 가로채기 요청 패킷을 전송하고 나면, 상기 정보획득부(22)에 서비스 사양정보 획득명령을 인가한다. 이 획득명령이 인가되면(S301), 상기 정보획득부(22)는, 필요한 초기화 후에 유지하던 휴지(idle) 모드(M01)에서 점검모드(M02)로 진입하고, 이 점검모드에서는, 상기 망 접속부(23)로부터 수신되는 데이터 프레임들에 대해서, 그 프레임에 실린 메시지를 확인하여 필요한 처리를 하게 된다. 그리고, 이 시점 이후부터 상기 망 접속부(23)가 네트워크부터 수신하는 데이터 프레임을 지속적으로 자신에게 전달토록 하기 위해 상기 망 접속부(23)에 필요한 설정을 할 수도 있다.
앞서 설명한 바와 같이 상기 스위치(10)에 가로채기 모드가 설정된 후에, 상기 스위치(10)에 각기 연결되어 있는 서비스 기반 기기들(1i, i=1,2,..)에 전원이 일시에 인가되거나 또는 순차적으로 재시동어 인가되어 의도된 고유의 기능을 각기 시작하게 되면, 각 기기는, 상기 스위치(10)로부터 통신을 위해 필요한 주소( 예를 들어, IP주소 )를 할당받는다. 상기 스위칭 관리부(11)는, 이 주소할당 과정을 주관하며, 네트워크 어댑터와 같은 해당 기기에 구비된 통신모듈의 물리적 고유주소( 예를 들어, MAC 주소 )와 할당하는 주소, 그리고 해당 기기가 연결된 포트의 식별정보( 예를 들어, 포트번호 또는 그 포트의 MAC 주소 등 )를 서로 매핑(mapping)시켜, 네트워크 구성정보에 추가한다. 그리고, 이 구성정보는, 전술한 바와 같이, 상기 스위칭 박스(12)가 데이터 프레임의 라우팅할 포트를 결정하는데 참조하는 상기 스위칭 맵에 반영된다.
통신을 위해 필요한 주소를 할당받는 과정이 진행되어 네트워크에 대한 액세스가 가능하게 되면, 해당 서비스 기반 기기는, 먼저, 적용된 서비스 규칙에 따라 정해진 서비스 항목들에서 자신이 어떤 서비스 항목들을 지원하고 있는지를 알리기 위한 형식으로 구성된 메시지( 본 명세서에서는, 이 메시지에 대해서 '제공서비스 안내 메시지'라 칭한다. )를 데이터 프레임으로 구성하여 상기 스위치(10)로 전송햐게 된다(S401,S402,S403). 이때의 제공서비스 안내 메시지는, 해당 종류의 메시지에 대해서 정해져 있는 멀티캐스트(multicast) 주소를 목적지 주소로 하여 전송된다. 이와 같이 멀티캐스트 주소를 목적지 주소로 하는 메시지, 또는 그러한 메시지를 수송하는 데이터 프레임을 본 명세서에서는 다착신(多着信) 메시지 또는 프레임이라 칭한다. 이에 반해, 단일 목적지를 지시하는 주소를 목적지 주소로 하는 메시지 또는 프레임에 대해서는 단착신(單着信) 메시지 또는 프레임이라 칭한다.
제공서비스 안내 메시지를 수신하는 상기 스위칭 박스(12)는, 그 메시지가 다착신 메시지임에도 불구하고, 현재 가로채기 포트를 지정하고 있는 스위칭 맵에 의해, 그 수신되는 다착신 메시지들을 모두 상기 분석 장치(20)로 전송하게 된다(S410).
이에 따라, 상기 분석 장치(20)의 망 접속부(23)가, 각각의 서비스 기반 기기가 초기에 전송하는 제공서비스 안내 메시지의 데이터 프레임을 수신하게 되고, 그 수신된 데이터 프레임이 상기 정보획득부(22)에 제공된다(S310).
상기 정보획득부(22)는, 임의의 데이터 프레임이 수신되면, 어떤 종류의 메시지인지를 먼저 확인한다. 이 확인동작은, 데이터 프레임에서 추출한 메시지에 대해 적용되는 통신방식, 예를 들어, SOME/IP (Scalable service-Oriented MiddlewarE over IP)에서 정해진 규약(protocol)에 따라, 메시지를 16바이트의 헤더(header)와 부가된 페이로드(payload) 부분으로 구분한 뒤, 그 헤더의 선두에 있는, 서비스 식별자와 메소드 식별자로 구성된 4바이트의 메시지 식별자에 대해 1차적으로 진행된다.
메시지 식별자가 기 지정된 특정 값, 예를 들어 0xFFFF8100 (16진수)이면, 상기 정보획득부(22)는, 그 수신된 메시지를 서비스 디스커버리(discovery)를 위한 형식으로 구성된 메시지로 판단하고, 메시지의 페이로드 부분에 대해 정해진 정보필드들로 분해한 후 타입(type) 필드에 기입된 정보를 2차적으로 확인한다.
상기 정보획득부(22)는, 그 타입 필드에 기록된 값이 '제공서비스 안내'(OfferService)를 나타내고 있으면(S311), 그 메시지가 다착신 프레임에 의해 수송된 것인지를 확인한다(S312).
다착신 프레임에 의해 수송된 제공서비스 안내 메시지이면, 자신이 생성하여 관리하고 있는 노드 점검목록에서, 의도된 동작을 위해 필요로 하는 서비스 항목들에 대한 정보( 본 명세서와 도면에서는, 이 정보를 '서비스 사양정보'라 칭한다. )가 이미 획득된 기기가 있는지를 확인한다(S313). 제공서비스 안내 메시지가 다착신 프레임이 아닌 단착신 프레임에 의해 수송될 수도 있는데, 이에 대한 설명과 처리에 대해서는 이후에 설명한다.
전술한 설명에서, 메시지를 수송한 데이터 프레임이 다착신 프레임인지를 먼저 확인한 후에, 그 프레임에 의해 수송된 메시지의 종류를 확인할 수도 있다.
노드 점검목록의 확인에서, 아직 어떠한 기기에 대해서도 서비스 사양정보가 파악되지 않은 상태인 것으로 확인되면(S314), 상기 정보획득부(22)는, 앞서 수신된 제공서비스 안내 메시지의 프레임을 폐기하여(S316,P41) 네트워크로 다시 유입시키지 않는다. 본 명세서와 도면 등에서 사용하는 '폐기'의 용어는, 네트워크 관점에서 제거한다는 의미로 사용하는 것이다. 따라서, 상기 분석 장치(20)에 의해 삭제되는 것은 물론, 자신의 임의 저장공간에 해당 데이터를 물리적으로 남겨 두더라도 네트워크로 유입되지 않도록 저장만 하고 있는 것이면, 본 명세서에서 사용하는 의미의 '폐기'된 메시지에 해당한다.
실시예에 따라서는, 폐기시키지 않고, 일정시간 동안 지연시킨 후 또는 특정 조건이 충족되었을 때, 수신하여 저장하고 있던 데이터 프레임의 내용을 그대로 상기 망 접속부(23)를 통해 상기 스위치(10)로 전송하여 네트워크에 유입시킬 수도 있다. 여기서 특정 조건이란, 상기 스위치(10)에 연결된 모든 서비스 기반 기기들에 대한, 또는 적어도 하나의 서비스 기반 기기에 대한 서비스 사양정보가 획득완료되는 것일 수 있다.
한편, 상기 정보획득부(22)는, 제공서비스 안내 메시지가 수신될 때마다, 그 제공서비스 안내 메시지의 송신 기기를 식별케 하는 식별정보( 이하, '기기 식별자'로 약칭한다. )를, 도 5에 예시된 바와 같이 노드 점검목록(50)에 차례대로 등재한다(510). 상기 기기 식별자에 대해서는, 상기 스위치(10)에 연결된 서비스 기반 기기를 유일 식별케 하는 것이라면 그 정보를 채택하여 사용할 수 있다. 예를 들어, 각 서비스 기반 기기가 고정 IP주소를 할당받아 사용하도록 설정된 경우이면, 그 메시지에 포함된 IP주소를 기기 식별자로 사용할 수 있다. 다르게는, 데이터 프레임에 포함된 발신지의 물리적인 주소, 예를 들어 MAC 주소를 기기 식별자로 사용할 수도 있다. 물론, 각각의 물리적인 주소에 대해 일련번호가 부여된 기기 번호가 있다면, 이 기기 번호가 기기 식별자로 사용될 수도 있다.
전술한 바와 같이, 상기 정보획득부(22)가, 상기 스위치(10)가 가로채서 전달하는 제공서비스 안내 메시지를 폐기하거나 붙잡아 둠으로써, 네트워크로 다시 유입되지 않게 하면, 상기 스위치(10)에 연결된 서비스 기반 기기들의 어떤 기기에도 전송되지 않게 되므로, 각 서비스 기반 기기는, 기동 후에 아무런 기기로부터도 제공서비스 안내를 받지 못해, 현재의 제공서비스 현황을 알지 못하는 상태가 지속되기 때문에, 서비스 기반 기기들은, 각자의 상황에 따라, 자신의 기능을 위해 필요로 하는 서비스 항목이 어떤 기기들에서 지원되는지를 찾기 위한 형식으로 구성된 필요서비스 검색(FindService) 메시지를 다착신 프레임으로 구성하여 전송하게 된다(S412).
이렇게 전송되는 필요서비스 검색 메시지의 데이터 프레임 또한, 가로채기 모드가 설정된 상기 스위치 박스(12)에 의해 각 포트로 복사전송되는 대신, 상기 분석 장치(20)의 연결포트로 라우팅되어 그 장치로 전송된다(S413).
필요서비스 검색 메시지도, 전술한 제공서비스 안내 메시지와 마찬가지로, 상기 망 접속부(23)에 의해 상기 정보획득부(22)에 전달되고, 상기 정보획득부(22)는, 그 메시지의 헤더와 페이로드 부분을 분석하여 그 메시지의 종류가 필요서비스 검색 메시지임을 확인하게 된다(S321).
도 5에 예시된 바와 같이, 수신된 메시지(500)의 페이로드에 필요서비스 검색을 나타내는 타입( 예를 들어, 한 바이트의 0x00 )의 일명 서비스 엔트리(entry)(501)라고 하는 데이터 그룹이 하나 이상 있으면, 상기 정보획득부(22)는, 그 각 엔트리에 있는 필요서비스에 대한 정보, 즉 해당 서비스 기반 기기가 발견(find)하고자 하는 서비스 항목들 각각에 대한 식별자(Service ID)( 이하, '서비스 식별자'라 칭한다. )를 추출하여(521), 도 5에 예시된 바와 같이, 노드 점검목록(50)에, 그 수신된 메시지 또는 데이터 프레임에 실린 정보로부터 식별할 수 있는 해당 기기에 대해 서비스 사양정보(530)로 등재한다(S322,P42).
이와 같이, 상기 정보획득부(22)는, 상기 스위치(10)에 연결된 임의의 서비스 기반 기기로부터 수신되는 필요서비스 검색 메시지를 통해, 해당 기기가 필요로 하는 하나 이상의 서비스 항목에 대한 정보를 획득하여 기록한 후, 그 검색 메시지에 대해서는 수신된 그대로의 데이터 프레임으로 상기 망 접속부(23)를 통해 상기 스위치(10)로 전송한다(S323,S414).
이렇게 다시 네트워크로 전송되는 필요서비스 검색 메시지는 가로채기로 설정된 포트를 통해서 수신되므로, 상기 스위치(10)의 스위칭 박스(12)는, 그 검색 메시지의 데이터 프레임을 스위칭 맵에 의거해 정상적으로 라우팅하게 되는데, 그 메시지는 다착신 프레임으로 구성된 것이므로, 서비스 기반 기기들이 연결된 모든 포트들로 복사 전송된다(S415).
이에 따라, 필요서비스 검색 메시지는 네트워크의 모든 서비스 기반 기기들로 전송되고, 그 메시지를 수신하는 각 기기는, 그 검색 메시지에 포함된 서비스 식별자가 자신이 제공하는 서비스 항목에 해당하면, 제공서비스 안내 메시지를 구성하여 응답으로서 전송한다(S416). 필요서비스 검색 메시지에 대한 응답으로 전송하는 제공서비스 안내 메시지는 단착신 프레임으로 전송된다. 즉, 그 검색 메시지를 전송한 발신지만을 목적지로 하는 데이터 프레임으로 구성되어 전송딘다. 도 4의 예시된 흐름도에서는, 임의의 한 기기(11)만이 그 검색 메시지에 포함된 서비스 식별자에 해당하는 서비스 항목들을 지원한다는 가정에 따른 것이다.
검색 메시지의 응답으로서 전송하는 제공서비스 안내 메시지 또한, 설정된 가로채기 모드로 인해 상기 스위치(10)가 상기 분석 장치(20)로 전달한다(S417).
상기 정보획득부(22)는, 이렇게 전달된 단착신 프레임의 제공서비스 안내 메시지에 대해서, 전술한 바와 같은 확인 과정(S311,S312)을 거쳐, 수신된 데이터 프레임을 그대로 네트워크로 전송하는 것으로 결정하게 되고(S323), 이에 따라 상기 망 접속부(23)를 통해 상기 스위치(10)로 전송한다(S418).
상기 스위치(10)로 그대로 전송된, 필요서비스 검색 메시지에 대한 응답의 제공서비스 안내 메시지는, 상기 스위칭 박스(12)의 데이터 프레임의 헤더 주소와 스위칭 맵에 의거한 라우팅 포트 결정에 따라 필요서비스 검색 메시지를 전송하였던 기기(12)가 연결된 포트로 전송된다(S419). 이렇게 전송된 응답 메시지를 수신한 기기(12)는, 자신이 서비스 기반의 동작을 위해 필요한 서비스 항목들이 어떤 서비스 기반 기기에 의헤 제공되는지를 알 수 있게 되어, 이후에 필요한 서비스 기반의 조회/설정의 요청 또는 이벤트그룹 가입 등을 그 파악된 기기를 대상으로 하게 된다.
한편, 서비스 기반 기기들 각각은, 제공서비스 안내 메시지를 전송할 때, 그 제공서비스에 대한 유효시간( TTL: Time To Live )을 포함시켜 전송하는데, 제공서비스 안내 메시지를 다착신 프레임으로 전송한 후에, 그 지정한 유효시간이 경과하면 제공서비스 안내 메시지를 재전송한다. 물론, 그 유효시간 사이에 제공서비스에 대한 변화가 있으면, 그 변화된 제공서비스 내용이 제공서비스 안내 메시지에 반영되어 전송된다.
이와 같이 제공서비스 안내 메시지가 반복 전송됨에 의해, 또는 기기들 간의 동작 개시 시점의 차이로 인해, 상기 정보획득부(22)가, 다착신 프레임으로 전송되는 제공서비스 안내 메시지를 네트워크 상에서 가로채어 폐기시키거나 붙잡아 둠으로써, 이들 메시지가 네트워크에 연결되어 있는 서비스 기반 기기들에 전달되지 않게 하여, 각 기기가 필요서비스 검색 메시지를 전송하도록 하고, 그렇게 전송되는 필요서비스 검색 메시지로부터 해당 기기의 서비스 사양정보를 파악하여 상기 노드 점검목록의 해당 기기에 대해 기록하는 동작을, 네트워크에 연결된 모든 서비스 기반 기기들에 대해 완료하지 못한 상태에서, 제공서비스 안내 메시지가 동일 기기로부터 다시, 또는 동작 개시 시점이 늦은 기기로부터 수신될 수 있다.
이처럼, 하나 이상의 기기에 대해 서비스 사양정보가 파악된 상태에서, 임의의 한 기기(1k)가 제공서비스 안내 메시지를 전송함으로써(S420), 상기 스위치(10)가 그 메시지를 가로채어 상기 분석 장치(20)로 전송하게 되면, 상기 정보획득부(22)는, 전술한 바의 노드 점검목록 확인과정(S313)에서, 하나 이상의 기기에 대해 서비스 사양정보가 파악되어 있는 것을 알게 된다(S314,P43).
그러면, 상기 정보획득부(22)는, 상기 주 제어부(21)에, 수신한 안내 메시지의 데이터 프레임에서 파악한 멀티캐스트 주소와 상기 노드 점검목록(50)을 액세스 할 수 있는 메모리 공간 상의 주소를 전달하면서 제한적 멀티캐스트를 요청한다(S315).
상기 정보획득부(22)는, 제한적 멀티캐스트 요청을 동일한 멀티캐스트 주소에 대해 상기 주 제어부(21)에 앞서 요청한 바가 있고, 그때와 현재 사이에 상기 노드 점검목록(50) 상에서 서비스 사양정보가 획득된 기기들에서 변화가 없는 경우에는, 현재 시점에서 제한적 멀티캐스트를 요청하지 않을 수도 있다.
상기 정보획득부(22)로부터의 제한적 멀티캐스트 요청이 있게 되면, 상기 주 제어부(21)는 그 요청과 함께 수신된 멀티캐스트 주소와, 상기 노드 점검목록(50)에서 서비스 사양정보가 획득된 기기 식별자들을 함께 포함시켜 멀티캐스트 적용요청 패킷을 구성하여, 상기 스위치(10), 보다 구체적으로는 상기 스위칭 관리부(11)에 전송하여, 그 멀티캐스트 주소에 대해서는 그 패킷에 포함된 기기 식별자들로만 라우팅하도록 요청한다(S430).
다르게는, 상기 노드 점검목록(50)에서 서비스 사양정보가 미획득된 기기들에 대한 식별자를 그 요청 패킷에 포함시켜, 해당 멀티캐스트 주소에 대해서 그 식별자의 기기들로는 라우팅하지 않도록 요청할 수도 있다.
상기 스위칭 관리부(11)가, 상기의 멀티캐스트에 대한 제한 요청에 따라, 상기 스위칭 맵을 갱신하고 그 요청의 성공을 응답하게 되면, 상기 주 제어부(21)는 그 응답에 따라 상기 정보획득부(22)에 제한적 멀티캐스트 적용완료를 통지한다. 이 적용완료의 통지가 있으면, 상기 정보획득부(22)는, 앞서 수신한 제공서비스 안내 메시지를 그대로 상기 스위치(10)로 전송한다(S323,S431).
이렇게 전송된 제공서비스 안내 메시지는, 상기 스위칭 박스(12)에 의해, 그 멀티캐스트 주소에 대해 전송 허용한 기기들이 연결되어 있는 포트들로만 복사 전송된다(S432). 도 4의 예시적인 흐름도에서, 서비스 기반 기기(12)에 대해서만 서비스 사양정보가 획득되어 있어서, 그 기기 이외의 기기들로는, 상기 정보획득부(22)가 다시 전송한 제공서비스 안내 메시지가 전송되지 않는다.
이와 같이, 멀티캐스트 주소에 대한 상기 스위치(10)의 라우팅을, 서비스 사양정보의 기 획득상황에 따라 변경시킴으로써, 서비스 사양정보가 미획득된 기기들에 대해서는 여전히 제공서비스 안내 메시지가 전송되지 않게 함으로써, 그 기기들로부터 필연적으로 필요서비스 검색 메시지가 발송되도록 한다.
그러한 상황에서, 서비스 사양정보가 아직 미획득된 임의의 기기(11)로부터 필요서비스 검색 메시지가 발송되면(S440), 그 메시지에 대해서는, 전술한 바와 동일한 방식으로 처리하여, 해당 기기(11)에 대한 서비스 사양정보를 획득하여 상기 노드 점검목록(50)에 추가로 기록하고(P44), 그 검색 메시지를 다시 네트워크로 되돌려 전송하게 된다(S442).
한편, 상기 정보획득부(22)는, 수신된 임의의 필요서비스 검색 메시지로부터 해당 기기에 대한 서비스 사양정보를 획득하여 상기 노드 점검목록(50)에 그 획득된 정보를 등재하여(S322) 갱신하고, 그 메시지에 대해서는 상기 스위치(10)로 다시 전송한 후(S323), 상기 노드 점검목록(50)에 등재한 모든 기기들(1i, i=1,2,..)에 대해 서비스 사양정보가 획득되었는지를 확인한다(S324).
만약, 모든 기기들에 대해 서비스 사양정보가 획득 완료되었으면, 상기 정보획득부(22)는 그 노드 점검목록을 상기 주 제어부(21)에 제공하고(S325) 상기 점검모드(M02)로 재진입한다.
전술한 실시예에서는, 서비스 사양정보를 획득할 기기를, 제공서비스 안내 메시지를 전송하는 기기들로부터 선정하였다. 이와 같이 자동적으로 선정하는 대신, 서비스 사양정보를 획득할 기기들이 미리 지정되어 있는 대상기기 목록에 의해 선정될 수도 있다. 이 대상기기 목록은, 상기 주 제어부(21)가, 상기 분석 장치(20)에 구비된 기기 인터페이스를 통해 하나의 파일로서 제공받아, 또는 구비된 사용자 인터페이스를 통해 사용자가 지정하여 만든 기기 식별자들의 파일로부터 읽어서 이용할 수 있다.
상기 주 제어부(21)가, 상기 정보획득부(22)로부터 각 기기가 필요로 하는 서비스 항목들에 대한 정보를 포함하는 완성된 노드 점검목록을 수신받으면, 현재 설정된 가로채기를 해제하는 패킷을 구성하여 상기 망 접속부(23)를 통해 상기 스위치(10)로 전송함으로써, 상기 스위치(10)가 데이터 프레임에 대한 가로채기없이, 수신되는 데이터 프레임이 지향하는 목적지의 기기( 또는 기기들 )가 연결된 포트로 라우팅을 하도록 한다. 그리고, 이어서, 일명 포트 미러링(port mirroring)으로 불리는 '포트복제'를 요구하는 패킷을 구성하여 상기 스위치(10)로 전송하고, 상기 정보획득부(22)에 대해서는 모니터링(monitoring) 모드로의 전환을 명령한다.
전술한 실시예에서는, 상기 정보획득부(22)가, 임의의 한 기기에 대해서 필요서비스 검색 메시지를 수신하여 해당 기기의 서비스 사양정보를 획득하게 되면, 이후에 수신되는 다착신 제공서비스 안내 메시지에 대해서는, 그 임의의 한 기기는 수신할 수 있도록 상기 스위치(10)에 해당 멀티캐스트 주소에 대해 제한요청을 한 후에 네트워크로 바로 재유입시켰다. 이와는 달리, 본 발명에 따른 다른 일 실시예에서는, 네트워크에 연결된 기기들의 각각으로부터 적어도 2회의 필요서비스 검색 메시지가 수신될 때까지는, 상기 스위치(10)가 가로채서 전달하는 제공서비스 안내 메시지를 네트워크로 재유입시키지 않을 수도 있다. 본 실시예는, 이를 통해, 각 기기가, 앞선 필요서비스 검색 메시지의 발송에도 그에 대한 응답의 제공서비스 안내 메시지를 수신하지 못한 경우에 다시 발송하는 필요서비스 검색 메시지의 재발송 간격을 파악하게 된다.
상기 정보획득부(22)는, 임의의 기기로부터의 필요서비스 검색 메시지에 대한 재발송 시간격을 파악하기 위해, 2이상의 기 설정된 횟수만큼 필요서비스 검색 메시지를 그 임의의 기기로부터 수신한 후에, 다른 기기들이 전송하는 제공서비스 안내 메시지에 대해서 상기 임의의 기기가 수신할 수도 있도록, 전술한 바와 같이, 해당 멀티캐스트 주소에 대해 상기 스위치(10)에 제한요청을 한 후에 네트워크로 재유입시키게 된다.
상기 정보획득부(22)는, 서비스 사양정보를 획득해야 할 대상 기기들의 각각에 대해서, 필요서비스 검색 메시지를 재발송하는 시간격이 파악될 때마다, 이를 상기 노드 점검목록(50)에서의 해당 기기의 항목에 하나의 추가 필드로서 기록해 둔다. 그리고, 대상 기기들 모두에 대해 필요서비스 검색 메시지의 발송 시간격이 기록완료되면, 상기 노드 점검목록(50)을 상기 주 제어부(21)에 제공하고 상기 점검모드(M02)로 재진입한다.
상기 정보획득부(22)는, 대상 기기들의 각각으로부터 기 설정된 횟수만큼 필요서비스 검색 메시지가 수신되지 않더라도, 즉, 대상 기기들 모두에 대해 필요서비스 검색 메시지의 발송 시간격이 확인되지 않더라도, 기 지정된 한계 시간( 이 한계 시간은, 필요서비스 검색 메시지의 전송에도 불구하고 그 응답으로 제공서비스 안내 메시지가 수신되지 않을 때 다시 발송하도록 규칙으로 정해진 재발송 주기의 N( N≥2 )배로 지정될 수 있다. )이 경과하면, 그때까지 기록된 정보의 노드 점검목록(5)을 상기 주 제어부(21)에 제공하고 상기 점검모드(M02)로 재진입한다. 이때, 필요서비스 검색 메시지에 대한 발송 시간격이 파악되지 않은 기기의 항목에는, '재발송 오류'를 나타내는 값을 재발송 시간격 기록 필드에 기록한 후에, 상기 주 제어부(21)에 전달하게 된다.전술한 본 발명에 따른 실시예에서는, 상기 점검 모드(M02)에서, 상기 스위치(10)에 연결된 모든 기기들이 자신의 서비스 사양정보를 보여주는 필요서비스 안내 메시지를 네트워크로 전송하도록 하기 위해, 각 기기가 전송하는 제공서비스 안내 메시지를 가로채어, 필요서비스 안내 메시지를 전송하지 않은 기기들에 대해서는 그 안내 메시지가 전송되지 않도록 하였으며, 이를 위해 네트워크를 제공하는 상기 스위치(10)에, 상기 분석 장치(20)가 연결된 포트를 대상으로 가로채기 포트로 지정하였다. 본 발명에 따른 다른 일 실시예에서는, 상기 스위치(10)에 대한 가로채기의 설정없이 네트워크 상의 각 기기의 서비스 사양정보를 획득할 수도 있다.
이하에서 설명하는, 가로채기의 설정없이 각 기기의 서비스 사양정보를 획득하는 방법을 위해서는, 상기 분석 장치(20)가, 다착신 방식으로 전송되는 필요서비스 안내 메시지에 대해 수신이 가능하도록, 상기 스위치(10)에 해당 멀티캐스트 주소에 대해 자신의 주소를 가입(join)해 둘 필요가 있다. 이러한 필요 절차는, 상기 망 접속부(23)로부터 네트워크에의 액세스가 가능하다는 통지가 있을 때 상기 주 제어부(21)가 수행할 수 있다.
가로채기 설정을 사용하지 않는 본 실시예에서는, 상기 스위치(10)를 통해 각 기기에 대해 동작 전원이 순차적으로 인가되게 하는 방법을 대신 사용한다. 이하에서 보다 구체적으로 섦명한다.
본 실시예에서는, 상기 분석 장치(20)의 주 제어부(10)에, 상기 스위치(10)에 연결된 서비스 기반 기기들의 각각에 대해, 해당 기기의 통신모듈의 물리적 고유주소( 예를 들어, MAC 주소 )를 수록하고 있는, 전술한 바와 같은 대상기기 목록이 미리 구비되고, 또한 각 서비스 기반 기기와 상기 스위치(10)가 모두 WOL (Wake On LAN)과 같은 원격 전원 켜기의 기능을 지원하는 것이 전제된다. 그리고, 설명의 편의를 위해, 초기 상태에서는 모든 기기들이 전원 오프(off)된 상태에 있는 것으로 가정한다.
상기 주 제어부(21)는, 네트워크에 대한 액세스가 가능한 상태임이 상기 망 접속부(23)로부터 통지되면, 대상기기 목록 상에 등재된 주소의 순서에 따라 첫번째 주소에 대해서 원격 전원켜기를 요청하는 패킷을 전송하고, 이와 함께, 상기 대상기기 목록을 상기 정보획득부(22)에 전달하면서 서비스 사양정보의 개별적 획득 명령을 인가한다. 이 명령이 인가되면, 전술한 바와 같이 휴지 모드(M01)에서 점검 모드(M02)로 진입하고, 수신된 대상기기 목록 상의 물리적 주소들을, 노드 점검목록 기기의 식별자로 하여 노드 점검목록에 등재한다.
상기 스위치(10)에 연결된 서비스 기반 기기들(1i, i=1,2,..) 중에서, 원격 전원켜기를 요청하는 패킷을 상기 스위치(10)를 경유해 수신한 기기만이 부팅(booting)하여 동작하므로, 그 기기는 제공서비스 안내 메시지를 전송하지만, 다른 기기들로부터는 어떠한 제공서비스 안내 메시지도 수신하지 못한다. 따라서, 어느 정도의 시간이 지나면, 그 기기는 필요서비스 검색 메시지를 다착신 프레임으로 전송하게 되고, 이 다착신의 메시지는 상기 분석 장치(20)의 상기 정보획득부(22)에 의해 수신된다.
상기 정보획득부(22)는, 이 수신된 필요서비스 검색 메시지를 분석하여 전술한 바와 마찬가지로 해당 기기의 서비스 사양정보를 획득하게 되고, 이 획득된 서비스 사양정보를 노드 점검목록에 등재한다. 그리고, 개별 획득의 완료를 상기 제어부(21)에 통지한다.
이 개별 획득완료의 통지가 있으면, 상기 주 제어부(21)는 자신이 전원켜기를 명령한 기기에 대해서 전원 오프를 명령하는 메시지를 구성하여 전송한다. 이때의 전원 오프 명령 메시지는, 서비스 기반 기기들(1i, i=1,2,..)과 기 약속된, 즉 각 기기에서 지원하는 특정 서비스 항목에 속하는 메소드(method)의 형식으로 구성된 것일 수 있다.,
상기 전원 오프 명령 메시지에 대한 응답을 수신하면, 상기 주 제어부(21)는, 상기 대상기기 목록 상의 다음 순서의 주소에 대해서 원격 전원켜기를 요청하는 패킷을 전송함으로써, 다시 네트워크에서 다른 하나의 기기만이 부팅된 상태로 만든다. 이와 함께 상기 정보획득부(22)에 또 다시 서비스 사양정보의 개별적 획득 명령을 인가한다.
이와 같은 과정을 반복함으로써, 상기 정보획득부(22)가 상기 노드 점검목록에 등재된 기기들에 대해 모두 서비스 사양정보를 획득하면, 상기 정보획득부(22)는 그 노드 점검목록을 상기 주 제어부(21)에 제공하고, 서비스 사양정보의 획득을 종료한다.
전술한, 상기 스위치(10)에 대한 가로채기의 설정없이 네트워크 상의 각 기기의 서비스 사양정보를 획득하는 실시예에서도, 그에 앞서 설명한 실시예에서와 마찬가지로, 필요서비스 검색 메시지에 대한 재발송 시간격을 파악할 수 있다. 즉, 네트워크에 연결되어 있는 기기들에서 하나의 기기에 대해서만 동작전원이 인가된 상태가 되게 하거나, 또는 그 하나의 기기가 상기 스위치(10)에 연결된 포트만을 활성화시킨 상태에서, 그 기기로부터, 2회 이상의 기 지정된 횟수만큼 필요서비스 안내 메시지가 수신되면, 해당 기기의 필요서비스 안내 메시지의 재발송 시간격을 파악한 후에, 다음 순서의 다른 기기에만 동작전원이 인가되게 하거나, 그 다른 기기가 연결된 포트만을 활성화시키는 방식으로, 네트워크에 연결된 기기들 모두에 대한 필요서비스 안내 메시지의 재발송 시간격을 확인할 수 있다.
이러한 실시예에서도, 임의의 기기로부터 필요서비스 검색 메시지가 기 지정된 한계 시간 내에 재발송되지 않으면, 해당 기기에 대해서는 '재발송 오류'를 나타내는 값을 기록하게 되고, 다음 순서의 대상 기기에 대한 서비스 사양정보 획득과정으로 진행하게 된다.
한편, 노드 점검목록이 상기 정보획득부(22)로부터 수신되면, 상기 주 제어부(21)는, 구비된 대상기기 목록에 있는 주소를 이용하여, 그 목록 상의 모든 기기들에 대한 원격 전원켜기 패킷을 상기 스위치(10)를 통해 순차적으로 전송하여, 각 기기가 부팅 후, 의도된 기능을 위한 동작을 수행하도록 한다.
본 발명에 따른 다른 일 실시예에서는, 서비스 기반 기기들에 대해 동작전원을 켜기/끄기하는 대신에, 상기 스위치(10)의 포트들에 대해 선별적으로 활성화/비활성화( enable/disable ) 시킴으로써, 서비스 기반 기기들의 서비스 사양정보를 획득할 수도 있다.
본 실시예에서는, 상기 주 제어부(21)가, 상기 분석 장치(20)가 연결된 포트를 제외한 다른 포트들 중에서 하나 만을 활성화시키고 나머지 포트들은 비활성화시키는 명령의 패킷을 구성하여 상기 스위칭 관리부(11)에 전송하게 된다. 상기 분석 장치(20)가 상기 스위치(10)에 연결된 포트와 서비스 기반 기기들이 연결된 포트들을 지시하는 정보, 예를 들어 포트번호들이 상기 주 제어부(21)에 미리 설정되거나, 또는 적절한 입력수단을 통해 서비스 사양정보의 획득 동작의 시작 전에 설정된다.
이와 같이, 상기 스위치(10)에 연결된 서비스 기반 기기들에서 하나의 기기만이 네트워크로의 데이터 프레임의 전송이 가능하도록 한 상태에서, 그 기기가 제공서비스 안내 메시지를 다른 기기들로부터 수신하지 못함으로써 발송하는 다착신의 필요서비스 검색 메시지를 상기 정보획득부(22)가 수신하여 전술한 바와 같이 해당 기기에 대한 서비스 사양정보로 등재하게 된다.
이와 같이, 상기 주 제어부(21)가 상기 스위치(10)의 포트들에서 활성화하는 포트를 순차적으로 변경하고, 이에 따라 상기 정보획득부(22)가, 그 활성화된 포트에 연결된 기기가 어떠한 제공서비스 안내 메시지도 수신하지 못함으로 인해 발송하는 필요서비스 검색 메시지에서 전술한 바와 같이 서비스 사양정보를 추출함으로써, 상기 스위치(10)에 연결된 모든 서비스 기반 기기들에 대한 서비스 사양정보를 획득할 수 있게 된다. 그리고, 모든 기기들에 대한 서비스 사양정보의 획득완료가 상기 정보획득부(22)로부터 통지되면, 상기 주 제어부(21)는, 상기 스위치(10)에 대해 모든 포트를 활성화시키는 명령의 패킷을 구성하여 전송함으로써 네트워크를 정상적인 상태로 복원한다. 이와 함께, 포트복제, 즉, 포트 미러링(port mirroring)을 요구하는 패킷을 구성하여 상기 스위치(10)로 전송하고, 상기 정보획득부(22)에 대해서는 모니터링 모드로의 전환을 명령하게 된다.
전술한 본 발명에 따른 일 실시예에서는, 상기 점검 모드(M02)에서 각 기기의 서비스 사양정보만을 획득하는 것으로 설명하였지만, 상기 스위치(10)에 대해 가로채기 모드로 설정하는 경우, 서비스 사양정보에 한정되지 않고 추가적인 서비스 연관정보를 획득할 수 있다. 이러한 추가적인 서비스 연관정의 한가지는, 기기들의 예외적 상황에 대한 서비스 기반의 동작에 대한 정보일 수 있다. 서비스 사양정보에 더하여 서비스 연관정보로서 획득되는, 기기의 예외적 상황에 대한 서비스 기반의 동작에 대한 정보를 특별히 '비상처리 연관정보'라 칭한다.
본 발명에 따른 일 실시예에서는, 비상처리 연관정보로서, 각 기기가 자신이 발송한 서비스 기반의 조회나 설정과 같은 요청에 대하여 재발송하는 시간 정보를 획득한다. 도 6은, 본 실시예를 예시적으로 보여주는 하나의 흐름드로서, 도 6을 참조하여 본 실시예에 대해 구체적으로 설명한다.
상기 점검 모드(M02)에서, 상기 망 접속부(23)로부터 하나의 데이터 프레임이 수신되면(S610), 상기 정보획득부(22)는, 그 프레임에 실린 메시지가 서비스 기반의 구체적인 조회나 설정을 요구( 서비스 기반의 조회나 설정의 요구를, 본 명세서에서는 '서비스에 대한 요청' 또는 '서비스 기반 요청'으로 통칭한다. )하기 위한 형식으로 구성된 메시지인지를 확인한다(S611). 이때의 확인은, 그 데이터 프레임에서 추출한 메시지의 헤더가 서비스 디스커버리에 대한 것인지 아닌지를 확인하는 것이 될 수 있다.
해당 메시지가 서비스 디스커버리에 대한 것이 아닌 서비스 기반 요청의 메시지이면, 상기 정보획득부(22)는, 그 메시지의 헤더의 특정 필드, 예를 들어 타입 필드의 값이 응답(reponse)을 요구하는 것으로 기록되어 있는지를 2차적으로 확인한다(S612). 응답을 요구하는 값이면, 상기 정보획득부(22)는, 전술한 바의 상기 노드 점검목록 내의 한 부분으로 구성하여 관리하는 비상처리 연관정보의 목록( 이하, '비상처리 연관목록'으로 약칭한다. )에서, 그 메시지에 매칭(matching)되는 기 등재된 항목이 있는지를 검색한다(S613). 이때, 검색되는 비상처리 연관목록은 도 7에 예시된 바와 같은 구조로 구성될 수 있다.
노드 점검목록(50)의 한 부분으로 작성되는 비상처리 연관목록(700)에, 수신된 메시지에 매칭되는 기 등재된 항목이 없으면(S614), 상기 정보획득부(22)는, 그 수신된 메시지에 대한 고유 인스턴스(instance) 번호를 그 목록(700)에 새로운 항목(710)으로 등재하고(S615), 추가적인 정보를 위해 할당되어 있는 해당 항목의 필드들에는 초기값을 기록해 둔다. 이때 기록되는 초기값에는, 서비스 기반 요청에 대해 아직 응답이 없음을 나타내는 값과, 재발송되는 간격을 산출하기 위한, 그 서비스 기반 요청의 메시지가 수신된 시점을 나타내는 시각(TimeSi, i=1,2,..)이 포함될 수 있다.
메시지에 대한 고유 인스턴스 번호(720)는, 구축된 네트워크 시스템에서 해당 메시지를 고유하게 특정할 수 있게 하는 정보로서, 만약, SOME/IP와 같은 통신방식이 적용되는 경우라면, 4바이트의 메시지 식별자와 2바이트의 클라이언트(client) 식별자로 이루어질 수 있다. 클라이언트 식별자는, 메시지 식별자로서 특정되는 서비스 항목과 메소드에 대한 요구의 주체(entity)( 예를 들어, 응용 프로그램 )를 적어도 해당 기기에서 유일 식별케 하는 정보이다. 다르게는, 상기 고유 인스턴스 번호가, 해당 메시지를 수송한 데이터 프레임의 발신 기기의 식별자를 더 포함하여 구성될 수도 있다.
따라서, 앞서 언급한, 수신된 메시지에 매칭되는 항목을 상기 비상처리 연관목록(700)에서 탐색하는 것(S614)은, 수신된 메시지에 포함되어 있는 고유 인스턴스 번호와 일치하는 값이 고유 인스턴스 번호 필드(720)에 기록된 항목을 찾는 과정이 된다.
상기 정보획득부(22)는, 상기 비상처리 연관목록(700)에 새로운 항목을 등재하고 나면, 그 수신된 메시지에 대해서는, 수신된 데이터 프레임 형태 그대로 상기 망 접속부(23)를 통해 상기 스위치(10)로 전송하여(S616), 상기 스위치(10)에 의해 그 메시지가 원래 의도된 목적지의 서비스 기반 기기로 라우팅되게 한다.
이 메시지를 수신하게 되는 임의의 서비스 기반 기기는, 그 메시지에 의해 특정되는 서비스 항목에 대한 메소드를 실행하고, 그 결과를 나타내는 응답 메시지( 이 응답 메시지는, 실행의 결과가 정상임을 나타내는 메시지이거나, 실행 오류를 나타내는 에러 메시지일 수도 있으며, 이하에서의 '응답 메시지'의 용어는 에러 메시지일 수도 있는 경우를 포함하는 의미로 사용한다. )를 구성한다.
이때 구성되는 응답 메시지는, 그 헤더에, 그 실행 결과를 초래한 서비스 기반 요청의 메시지에 포함되어 있던 메시지 인스턴스 번호( 메시지 인스턴스 번호가 메시지 식별자와 클라이언트 식별자로만으로 구성된 경우 )가 그대로 포함된다. 그리고, 헤더 내의 타입 필드에는 실행의 결과가 정상임을 나타내는 값을 포함하거나 또는 에러 메시지임을 나타내는 값을 포함하게 된다. 에러 메시지를 나타낼 때는 그 에러의 유형을 나타내는 값이 헤더의 또 다른 필드에 포함될 수 있다.
이렇게 구성된 응답 메시지는, 서비스에 대한 요청의 메시지를 수송한 데이터 프레임의 착신지 및 발신지의 주소가, 응답 메시지를 수송하는 데이터 프레임의 발신지 및 착신지로 각각 적용되어 상기 스위치(10)로 전송된다.
이러한 방식으로, 임의의 서비스 기반 기기가 전송한 서비스 기반 요청에 대한 응답이 또 다른 임의의 기기로부터 발송되면, 그 응답 메시지는, 상기 스위칭 박스(12)에 의해 가로채어져 상기 분석 장치(20)가 연결된 포트로 라우팅되어 상기 정보획득부(22)에 전달된다. 그러면, 상기 정보획득부(22)는, 그 수신된 메시지에 대한 종류의 확인 과정(S611,S620)에서, 서비스 기반 요청에 대한 응답 메시지의 종류로 확인하게 된다. SOME/IP 통신방식을 예로 하면, 메시지 헤더의 타입 필드의 값이 0x80이거나 0x81이면 상기 확인 과정(S611,S620)에서 응답 메시지로 확인된다.
상기 정보획득부(22)는, 수신된 메시지가 서비스 기반 요청에 대한 응답 메시지로 확인되면, 상기 비상처리 연관목록(700)에서, 그 응답 메시지에 포함되어 있는 메시지 인스턴스 번호와 일치하는 항목을 찾는다(S621). 메시지 인스턴스 번호가 해당 메시지의 발신 기기의 식별자를 포함하여 구성된 경우에는, 당연히, 그 기기 식별자 부분은 배제되어 일치하는 항목의 검색이 이루어진다.
그 검색에서, 수신된 응답 메시지와 매칭되는 고유 인스턴스 번호가 기록된 항목이 찾아지면(S622), 상기 정보획득부(22)는, 그 항목에 대해 필요정보가 기 획득되었는지를 먼저 확인한다(S623). 필요정보와 그 획득에 대해서는 이후 설명된다.
필요정보가 아직 획득된 상태가 아니면, 상기 정보획득부(22)는 그 찾은 항목에 대해서 '응답 수신'을 마크하고, 이와 함께, 그 응답 메시지의 헤더에 포함되어 있는 특정 필드, 예를 들어 SOME/IP 통신방식의 경우라면 1바이트의 회신 코드(Return Code) 필드의 값을 읽어서, 해당 항목의 대응되는 필드에 기입한다(731). 그리고, 그 응답 메시지는 상기 스위치(10)로 전송하지 않고 폐기하여(S624), 네트워크로 유입되지 않게 한다.
만약, 수신된 응답 메시지에 매칭되는 항목이 상기 비상처리 연관목록(700)에서 찾아지지 않거나, 찾았지만 이미 필요정보가 획득되어 해당 항목에 기입되어 있으면, 상기 정보획득부(22)는, 그 응답 메시지에 대해서는 수신된 그대로의 형태로 상기 스위치(10)로 전송하여, 그 응답 메시지에 대해 수신 의도된 기기로 라우팅되게 한다(S616).
한편, 상기 스위치(10)에 의해 가로채어져서 전달된 데이터 프레임의 메시지가 응답을 필요로 하지 않는 것이거나(S612), 또는 서비스 기반 요청의 메시지도 아니고 요청에 대한 응답 메시지도 아니면(S620), 상기 정보획득부(22)는, 그 메시지의 데이터 프레임에 대해서도 수신된 그대로 상기 스위치(10)로 다시 전송하여 의도된 목적지로 라우팅되게 한다(S616).
전술한 바와 같이, 임의의 기기가 응답을 필요로 하는 서비스 기반 요청의 메시지를 송신함에 따라, 그 요청을 수신한 다른 기기가 전송한 그 요청의 응답 메시지가 상기 분석 장치(20)에 의해 폐기가 되어(S623) 네트워크로 다시 유입되지 않으면, 그 임의의 기기는, 앞서 전송한 서비스 기반 요청의 메시지를 재전송하게 된다. 이때 재전송하는 메시지는 메시지 인스턴스 번호에 대해서 앞서 전송한 메시지와 동일한 값을 갖게 된다.
이렇게 재전송하는 서비스 기반 요청의 메시지도 역시 상기 스위치(10)에 의해 가로채어져서 상기 정보획득부(22)에 전달된다. 그러면, 상기 정보획득부(22)는, 그 재전송된 메시지에 대해서 전술한 바의 확인을 거쳐(S611,S612,S613,S614), 상기 비상처리 연관목록(700)에 동일한 메시지 인스턴스 번호가 기록되어 있는 항목에 대응되는 메시지인 것으로 판별하게 된다.
이러한 판별이 있게 되면, 상기 비상처리 연관목록(700)에서 그 대응되는 항목에 대하여, 이미 필요한 정보의 획득이 완료되었는지 확인한다(S630). 본 발명에 따른 일 실시예에서는, 필요정보가 이하에서 설명하는 동일 메시지를 재발송하는 시간격의 정보이다. 즉, 그 대응되는 항목에 재발송의 시간격 정보가 이미 기입되어 있으면 필요정보가 획득완료된 것으로 판별하고, 그 메시지에 대해서는 수송한 데이터 프레임을 그대로 상기 스위치(10)로 전송한다(S616).
수신된 메시지에 메시지 인스턴스 번호가 대응되는 상기 비상처리 연관목록(700) 상의 항목에 대해, 만약 필요정보가 획득되어 있지 않으면, 상기 정보획득부(22)는, 그 대응되는 항목에 대하여, 서비스 기반의 요청이 다시 수신된 시점의 시각을 기록한다(732). 이 시점의 기록과 함께, 또는 그 시점의 기록 대신, 앞서 해당 메시지 인스턴스 번호의 항목에 대해 기록해 둔 첫 메시지의 수신시점과의 시간격을 기록한다(S631). 이와 같은 정보의 기록으로써, 임의의 서비스 기반 기기가 임의의 서비스 기반 요청을 한 후에 그에 따른 결과를 얻지 못할 때, 얼마의 시간으로 동일한 서비스 기반 요청을 재발송하는지에 대한 정보를 획득할 수 있게 된다.
상기 정보획득부(22)는, 재발송된 서비스 기반 요청에 근거하여 전술한 바와 같이 상기 비상처리 연관목록(700)의 해당되는 항목에 대해 정보를 갱신한 후, 그 메시지가, 상기 비상처리 연관목록(700)에서 확인해야 할 대상 메시지의 마지막에 해당하는지를 확인한다(S632). 만약, 마지막 메시지에 해당하면, 현재 작성되어 있는 상기 비상처리 연관목록(700)을 한 부분으로서 포함하는 노드 점검목록을 상기 주 제어부(21)에 제공하고(S633), 재발송된 메시지를 수송한 데이터 프레임을 그대로 상기 스위치(10)로 전송하여(S616), 원래 목적지로 의도된 기기로 전송되게 한다. 마지막 메시지에 해당하지 않으면, 재발송된 메시지를 수송한 데이터 프레임을 그대로 상기 스위치(10)로 전송하는 동작만 수행한다.
전술한 실시예의 설명에서, 확인해야 할 대상 메시지에 대해서는, 상기 분석 장치(20)에 지정된 목록으로서 미리 구비되어 있을 수 있다. 예를 들어, 확인대상 메시지들의 목록을 수록하고 있는 파일로서, 상기 분석 장치(20)에 구비되어 있는 기기 인터페이스( 예를 들어, 주변장치 접속포트, 또는 유선/무선 통신모듈 등 )를 통해 제공되고, 상기 주 제어부(21)는 그 파일 내의 목록을 읽어서, 상기 정보획득부(22)에 모니터링 모드로의 전환을 명령할 때 함께 전달할 수 있다. 확인대상 메시지에 대해서는, 메시지 식별자만으로 특정될 수 있다. 이 경우, 상기 정보획득부(22)는, 메시지 인스턴스 식별자에서 메시지 식별자 부분이 동일하면 재발송 시간격을 확인해야 할 대상 메시지로 간주하게 된다.
본 발명에 따른 다른 일 실시예에서는, 확인할 대상 메시지에 대해서 상기 분석 장치(20)가 동적으로 그 범위를 결정할 수도 있다. 본 실시예에서는, 전술한 실시예에서 구체적으로 그 획득 방법이 설명된 서비스 사양정보에 근거해 확인대상 메시지의 범위가 결정될 수 있다. 예를 들어, 상기 정보획득부(22)는, 획득이 완료된 서비스 사양정보에 포함되어 있는 각 서비스 항목에 대하여, 해당 서비스 항목에 속하는( 보다 구체적으로는, 해당 서비스 항목에 대해 지정된 서비스 식별자가 전치되는 메소드 식별자의 ) 메소드를 호출하는 적어도 한 개의 메시지를 확인대상 범위로 결정할 수 있다.
서비스 사양정보는, 전술한 바와 같이 서비스 기반 기기별로 획득되므로, 기기들 간에 필요로 하는 서비스가 부분적으로 서로 동일할 수 있다. 이와 같이 하나의 서비스 항목이 2개 이상의 기기들에서 필요서비스로서 중복되면, 그 서비스 항목에 대한 확인대상 메시지의 범위는 최소한 그 중복되는 기기들의 수만큼으로 정해질 수 있다.
현재 작성된 비상처리 연관목록을 상기 노드 점검목록(50)에 포함시켜 상기 주 제어부(21)에 전달하는(S633) 시점이, 전술한 실시예들에서와 같이 재발송 시간격이 확인되는 메시지들에 의해 결정되지 않고, 기 지정된 제한 시간으로 정해질 수도 있다. 이 제한 시간은, 적절한 사용자 인터페이스를 통해 상기 주 제어부(21)에 설정되며, 상기 점검 모드(M02)로의 전환 명령과 함께 상기 정보획득부(22)에 그 시간이 지정될 수 있다.
이렇게 제한 시간이 지정되면, 상기 정보획득부(22)는, 상기 점검 모드(M02)의 개시 후 그 제한 시간이 경과하였을 때, 현재까지 획득된 정보가 기록된 비상처리 연관목록을 포함하는 노드 점검목록을 상기 주 제어부(21)에 전달하게 된다.
상기 제한 시간은, 상기 정보획득부(22)가 점검 모드(M02)를 유지하게 되는 시간으로서 설정될 수도 있고, 서비스 사양정보의 획득이 완료된 시점부터 작용하는 시간으로서 설정될 수도 있다.
비상처리 연관정보의 한가지로서 메시지에 대한 재발송의 시간격을 획득하는 실시예에 대해서, 서비스 요청에 대한 메시지를 그 예로 하여 설명하였지만, 본 발명은 다른 종류의 메시지에 대해서도 적용하여 동일한 방식으로 재발송 시간격을 획득할 수 있다. 예를 들어, 미리 정해진 조건이 성립되었을 때 통지하도록 지정된 이벤트들에 대해 그룹핑되어 있는 복수의 이벤트 그룹들에서, 하나 이상의 이벤트 그룹을 지정함으로써 가입하게 되는 이벤트그룹 가입 메시지에 대해서도, 그에 대한 응답 메시지를 폐기시킴으로써, 그 이벤트그룹 가입 메시지를 발송한 서비스 기반 기기가 해당 가입 메시지를 재발송하는 시간격을 파악할 수 있다.
다만, 서비스 기반의 요청과 이벤트그룹 가입 메시지의 경우, 이들은 서로 다른 형식이나 필드들로써 이루어질 수 있으므로, 메시지의 종류에 맞게 필요한 필드의 정보를 확인하여 메시지의 동일성 여부를 확인하게 된다.
예를 들어, 서비스 기반 기기들의 송수신하는 메시지가 SOME/IP의 통신방식에 부합하도록 구성되는 것이라면, 시간을 달리하여 서로 연이어서 수신되는 이벤트그룹 가입 메시지에 대해서는, 메시지 헤더에 있는, 전술한 바의 메시지 인스턴스 번호 외에, 메시지 페이로드에 포함되어 있는 임의의 데이터 그룹인 엔트리 내에서 타입 필드가 '가입'을 나타내는 값으로서 일치하고 또한 이벤트그룹 ID 필드의 값이 일치할 때, 뒤에 수신한 이벤트그룹 가입 메시지는 앞선 가입 메시지에 대해서 재발송한 것으로 판별하게 된다.
상기 정보획득부(22)가 패기할지 여부를 판별하게 되는, 이벤트그룹 가입 메시지에 대한 가입응답 메시지는, 메시지 인스턴스 번호에 있어서, 비상처리 연관목록에 등재되어 있는 임의의 한 항목에 기록되어 있는 메시지 인스턴스 번호와 동일하고, 이벤트그룹 ID에 있어서는, 그 임의의 한 항목에 기록되어 있는 해당 값과 메시지의 페이로드 내에 임의의 한 엔트리에 기록된 이벤트그룹 ID가 동일하며, 그 엔트리의 타입 필드가 '가입에 대한 응답'을 나타내는 값일 때, 비상처리 연관목록에 하나의 항목으로 등재한 이벤트그룹 가입 메시지에 대한 응답 메시지로 판별하게 된다.
따라서, 이 이벤트그룹 가입 메시지에 대해서는, 전술한 바와 같이, 만약, 비상처리 연관목록에서 해당되는 메시지 항목에 대해 필요정보가 기 획득되어 있지 않으면, 그 응답 메시지는 폐기하게 되고, 이에 따라 이후에 동일한 서비스 기반 기기가 동일한 이벤트가입 그룹 메시지를 재발송하면 그 메시지로부터 필요정보를 획득하게 된다.
비상처리 연관정보의 다른 한가지는, 수신한 메시지에 오류가 있을 때, 서비스 기반 기기들이 그 오류에 대응하는 방식에 대한 정보가 될 수 있다. 이와 같은 비상처리 연관정보( 이 정보에 대해서, 특별히 '오류대응 정보'라 구분하여 칭한다. )를 획득하는 본 발명에 따른 실시예에 대해 이하에서 구체적으로 설명한다.
본 발명의 일 실시예에 따라, 서비스 기반 기기들의 오류대응 정보를 획득하는 동작은, 전술한 메시지의 재발송 시간격 획득과 함께 수행될 수도 있고, 재발송 시간격 획득 동작이 종료된 후, 그와는 별개로 새로이 시작할 수도 있다. 전자의 경우에는, 임의의 기기로부터 발송되어 상기 스위치(10)에 의해 가로채어져 전달된 서비스 기반 요청의 메시지에 대해서 오류가 있는 메시지로 변형하여 전송하고, 그 전송에 따라 수신되는 응답( 또는 에러 ) 메시지로부터 이하에서 설명하는 방식으로 오류처리된 정보를 획득함과 함께, 그 응답 메시지를 폐기함으로써, 상기 임의의 기기로부터 동일한 서비스에 대한 요청의 메시지를 수신하여 재발송 시간격을 파악할 수도 있다.
도 8은, 상기 분석 장치(20)가, 본 발명의 일 실시예에 따라 오류대응 정보를 획득하는 방법의 일 과정을 보여주는 신호교환 흐름도를 나타낸 것으로서, 임의의 서비스 기반 기기로부터 발송된 특정 서비스에 대한 임의의 요청 메시지가, 상기 스위치(10)가 가로채어 상기 분석 장치(20)에 전송하면 상기 정보획득부(22)가 그 메시지를 수신하게 된다(S800). 이 메시지는, 동일한 메시지 인스턴스 번호에 대해서 첫번째로 수신된 것일 수도 있고, 상기 정보획득부(22)가 그 메시지에 대한 응답 메시지를 가로채어 폐기함으로써, 다시 전송된 임의 번째의 메시지일 수도 있다.
상기 정보획득부(22)는, 그 수신된 메시지에 대해, 즉 그 메시지의 메시지 인스턴스 번호에 대해 오류처리를 검증할 사항이 남아 있는지를 확인한다(P81). 이 검증할 사항의 존재여부에 대한 확인은, 임의의 한 서비스 요청의 메시지가 수신되었을 때, 도 9에 예시된 바와 같이, 오류에 대한 대응처리를 확인할 사항들(920)과 함께 그 메시지의 메시지 인스턴스 번호를 기록함으로써 등재된 시험 메시지 항목(910)에 대해, 그 사항들의 검증상태 필드(930)에 기록된 값들의 확인을 통해 이루어진다. 본 실시예에서도, 메시지 인스턴스 번호가 메시지 식별자와 클라이언트 식별자 외에, 그 메시지를 수송한 데이터 프레임의 발신 기기에 할당된 주소가 포함되어 구성될 수 있다. 물론, 구축된 네트워크 시스템의 각 기기에서 동작하는 응용 프로그램들에 대해, 네트워크 시스템 전체에서 고유하게 식별될 수 있도록 클라이언트 식별자를 부여한다면, 메시지 인스턴스 번호는, 메시지 식별자와 클라이언트 식별자로써만 구성될 수도 있다. 이는, 이하의 실시예들에 대한 설명에서 언급되는 메시지 인스턴스 번호의 경우에도 마찬가지이다.
해당 메시지 항목(910)에 대해 검증상태 필드(930)들 중 하나 이상에서 '미착수'로 기록되어 있으면, 검증할 사항들의 순서에 따라 유발시킬 오류 사항을 결정하고, 그 결정된 사항에 맞도록, 상기 수신된 서비스 기반 요청의 메시지에 대해서 정해져 있는 형식에 부합하지 않거나 허용되지 않는 정보, 또는 상기 수신된 서비스 기반 요청의 메시지의 목적지 기기가 정상적 처리를 할 수 없는 정보가 포함되도록 해당 정보의 일부를 변경한다(P82).
임의의 서비스 기반 요청의 메시지에 대해서 수신측의 오류처리를 검증할 사항들은, 상기 제어부(21)에의 입력을 통해 상기 정보획득부(22)에 미리 설정된다. 서비스 기반 기기의 오류에 대한 처리동작을 검증할 사항들(ErCaui, i=1,2,3,..)은, 예를 들어, 메시지 헤더 정보의 오류에 대한 처리, 또는 메시지의 길이에서의 오류 등에 대한 처리 등일 수 있다. 그리고, 유발시킬 각각의 오류들에 대해, 그 메시지를 처리하여 응답하는 에러 메시지에 수송되어야 하는 회신 코드(desRCi, i=1,2,3,..)가, 임의 메시지에 대해 도 9의 오류대응 정보목록(900)에 새 항목으로 등재할 때, 해당 항목의 오류처리를 확인할 사항들(ErCaui, i=1,2,3,..)과 연계하여 등재한다.
메시지 헤더 정보에 대해 유발시킬 오류는, 메시지 헤더가 어떻게 구성되어 있는지에 따라 결정된다. 예를 들어, 서비스에 대한 요청의 메시지가 SOME/IP 통신방식에 따라 구성되는 경우라면, 메시지 헤더의 오류에 대해서, 서비스 식별자 오류, 메소드 식별자 오류, 버전 오류, 인터페이스 버전 오류 등을 각기 유발시킬 수 있다. 그리고, 메시지의 길이에 대해서, 헤더의 길이(length) 필드에 그 값을 더 작은 값으로 수정하여 오류를 유발시킬 수 있다.
또한, 특정의 메시지 식별자에 대해서는, 그 메시지의 페이로드에 포함되어 있는 하나 이상의 특정 파라미터(parameter)에 대해서 그 크기를 축소시켜 페이로드를 재배열하고 헤더의 길이 필드는 그 축소된 크기에 맞도록 수정하여 오류를 발생시킬 수도 있다. 통신로를 따라 직렬로 전송되는 데이터에서 메시지 페이로드에 해당되는 직렬 데이터 부분에 대해, 기 정해진 크기 별로 분해하여 해당되는 각 파라미터로 매핑(mapping)( 이러한 과정을 '역직렬화(deserialization)'라고 한다. )하게 되는데, 엎서 언급한 바와 같이, 페이로드의 특정 필드의 크기를 변경하는 것은, 이러한 역직렬화 과정에서 수신 기기가 정상적으로 오류를 검출하는지를 확인하기 위한 것이다.
그리고, 서비스 식별자에 대해 오류를 유발시킬 때는, 서비스 기반 기기들의 서비스 사양정보를 획득하는 과정에서 수신하게 되는 각 기기로부터의 제공서비스 안내 메시지로부터 파악한 서비스 식별자들에 없는 임의의 한 서비스 식별자로써, 수신된 메시지의 헤더의 서비스 식별자를 대체할 수 있다. 물론, 이러한 경우에는, 원래 수신된 메시지 인스턴스 번호와 달라지므로, 그 서비스 식별자를 대체한 서비스 기반 요청의 메시지를 상기 스위치(10)로 전송하여 그 응답을 받을 때도, 메시지 인스턴스 번호의 동일성은 그 변경된 사항을 반영하여 파악하여 해당 시험 메시지 항목(910)을 특정하게 된다. 이는, 메소드 식별자의 오류를 발생시키는( 전치된 서비스 식별자에 해당하는 서비스 항목에 속하는 메소드들의 식별자가 아닌 ) 식별자를 적용하는 경우에도 마찬가지이다.
상기 정보획득부(22)는, 오류 유발을 위해 전술한 바와 같이 그 메시지의 일부분을 변경시킨 오류유발 메시지를 상기 스위치(10)로 전송하여, 수신된 메시지가 원래 목적지로 의도된 기기로 전송되게 한다(S811). 이 전송에 따라, 그 목적지의 기기는 해당 메시지를 처리함에 있어서 메시지의 오류를 감지하게 되고, 이에 따라 에러 메시지를 구성하여 응답으로 전송한다(S812). 물론, 정상적인 오류 검출을 하지 못하고 정상처리를 나타내는 응답 메시지를 전송할 수도 있다.
이 응답된 메시지도 가로채기 모드에 의해 상기 정보획득부(22)에 의해 수신되고, 상기 정보획득부(22)는 그 수신된 응답 메시지가 수송한 특정 필드, 예를 들어 회신 코드 필드의 값(actRCxxi, i=1,2,..)을 추출하여 '응답된 회신코드' 필드에 기입한 후, 해당되는 시험 메시지 항목(910)에서 검증 상태가 '진행중'으로 되어 있는 사항의 회신되어야 할 에러코드(desRCi)와 비교하여, 오류에 대한 대응이 적정한가를 확인한다(P83).
비교하는 양 값이 서로 동일하면, 상기 정보획득부(22)는 이상처리의 적정성에 대해서 '좋음'을 나타내는 값(90)을, 만약, 서로 상이하면 '나쁨'을 나타내는 값(91)을 기록하고, 검증 상태에 대해서는 '완료'로 마크한다. 그리고, 그 응답된 에러 메시지에 대해서는 폐기한다(P84).
만약, 수신된 메시지에 대해서 오류 유발을 위한 변경 후에 네트워크로 전송하여, 임의의 한 시험 사항에 대해 '진행중'으로 검증상태가 기록되어 있을 때, 동일한 메시지 인스턴스 번호를 갖는 서비스 기반 요청의 메시지가 다시 수신되면, 상기 정보획득부(22)는, 그 '진행중'으로 기록되어 있는 시험 사항에 대한 이상처리의 적정성에 대해서는 '최악'을 나타내는 값(92)을 기록하고, 검증 상태에 대해서 '완료'로 마크한다. 이는, 서비스에 대한 요청의 메시지가 다시 발송될 때까지, 앞선 오류유발 메시지를 적절하게 대응하지 못해 수신측 기기기 에러 메시지를 응답하지 못했을 가능성에 따른 것이다.
물론, 재발송될 때까지, 앞선 오류유발 메시지에 대한 응답이 없는 경우에, 해당 시험 사항에 대해서 검증상태를 '완료'로 처리하는 대신, 오류유발 메시지를 전송할 때, 기 지정된 응답 시간을 설정하고, 그 응답 시간 내에 오류유발 메시지에 대한 응답 메시지가 수신되지 않을 때에 전술한 바와 같이 해당 시험 사항에 대해 '최약'을 나타내는 값을 기록하고 검증상태를 '완료'로 지정할 수도 있다.
또한, 상기 정보획득부(22)는, 오류유발 메시지를 구성할 때, 그 메시지의 내용은 그대로 두고서, 그 메시지를 수송한 데이터 프레임의 목적지 주소( MAC 주소 또는 IP 주소 )를 변경시켜 전송할 수도 있다. 이때 변경시키는, 목적지 주소는, 제공서비스 안내 메시지를 수신함으로써 제공서비스들을 확인한 기기들에서, 현재 오류유발을 위해 수정하고자 하는 메시지의 서비스 식별자에 해당하는 서비스 항목을 지원하지 않는 기기들에서 선택한 기기에 할당된 주소가 된다. 이 주소는, 그 선택한 기기가 발송했던 제공서비스 안내 메시지의 페이로드에 실린 IP 주소로부터 파악될 수 있다.
이렇게 변경된 목적지의 데이터 프레임에 동일 내용의 메시지를 포함시켜 전송하게 되면, 그 목적지의 기기가 자신이 지원하지 않는 서비스에 대한 요청의 오류를 어떻게 처리하는지 알 수 있게 된다. 이와 같은 유발오류에 대해 회신되어야 할 에러코드(desRCi)는, 불특정 에러를 나타내는 값 또는 서비스 불가를 나타내는 값으로 지정될 수도 있다.
수신된 메시지의 내용을 수정하여 동일 목적지로 전송하는 경우에는, 그 목적지의 기기가 그 요청된 서비스를 지원하는 것으로 알려진 기기이기 때문에, 그 메시지의 메시지 인스턴스 번호로부터 에러 응답을 처리한 기기가 어떤 기기인 지를 사후에 파악할 수 있다. 하지만, 오류 유발을 위해 전술한 바와 같이 목적지를 임의로 수정하여 전송하면, 사후에 어떤 기기가 응답을 적절히 했는지를 알 수가 없다. 따라서, 이러한 시험 사항을 수행할 때는, 상기 정보획득부(22)가, 해당 시험 사항에 대해 부가 필드를 확보하여 그 부가 필드에 변경한 목적지의 주소를 기록해 둘 수 있다.
한편, 수신된 서비스 기반 요청의 메시지의 메시지 인스턴스 번호로 특정되는 시험 메시지 항목(910)에 대해 현재 검증할 사항이 남아 있는지를 확인하는 단계(P81)에서, 모든 검증 사항들에 대해 '완료'로 되어 있으면, 상기 정보획득부(22)는, 그 수신된 메시지에 대해서는, 아무런 수정없이 수신된 그대로 상기 스위치(10)로 전송하여(S821), 원래 의도된 목적지로 전송되게 하고, 그 목적지의 기기가 그 서비스 기반 요청의 메시지에 대해 응답하는(S822) 메시지에 대해서도 또한 수신된 그대로 상기 스위치(10)로 다시 전송하여(S823), 서비스에 대한 요청의 메시지를 발송한 기기로 응답 메시지가 전송되게 한다. 물론, 상기 수신된 서비스에 대한 요청의 메시지를 그대로 네트워크로 전송하기 전 또는 후에는, 상기 주 제어부(21)에 의한 가로채기 해제 패킷에 의해 상기 스위치(10)의 가로채기 모드가 해제될 수도 있으므로, 상기 수신된 서비스 기반 요청의 메시지에 대한 응답의 메시지는, 상기 스위치(10)에 의해, 상기 분석 장치(20)의 개입없이 해당되는 기기들 간에 직접 송수신될 수 있다.
상기 정보획득부(22)는, 오류대응을 확인키 위한 모든 대상 메시지들에 대해서, 검증할 전체 사항들에 대해 이상처리의 적정성이 확인되고 나면, 작성된 오류대응 정보목록(900)을 한 부분으로서 포함하는 노드 점검목록을 상기 주 제어부(21)에 전달한다.
오류대응을 확인키 위한 대상 메시지들은, 앞서 설명한 실시예에서와 같은 방식으로 지정되거나 또는 그 범위가 결정될 수 있다. 또한, 전술한 실시예와 마찬가지로, 오류대응 정보목록(900)을 상기 주 제어부(21)에 제공하고, 대상 메시지들에 대한 기기의 오류대응을 확인하는 동작을 종료하는 시점이, 대상 메시지들로써 지정되지 않고 제한된 시간으로서 지정될 수도 있다.
한편, 상기 주 제어부(21)는, 전술하였던 바와 같이, 완성된 노드 점검목록을 전달받으면 포트 미러링(port mirroring)을 요구하는 패킷을 구성하여 상기 스위치(10)로 전송하고, 상기 정보획득부(22)에 대해서는 모니터링 모드로의 전환을 명령한다. 이 포트 미러링을 요구하는 패킷이 상기 스위칭 박스(12)의 라우팅의 의해 수신되면, 상기 스위칭 관리부(11)는, 구비된 임의의 포트로부터 수신되는 데이터 프레임에 대해서, 그 포트 미러링 요구 패킷이 수신된 포트로 복제하여 전송하도록 상기 스위칭 박스(12)가 라우팅 시에 참조하는 상기 스위칭 맵을 변경하여, 수신되는 데이터 프레임에 대해 스위칭하여 출력하는 방식을 변경설정하게 된다.
상기 정보획득부(22)는 상기 주 제어부(21)로부터 모니터링 모드로의 전환 명령이 있게 되면(S331), 현재의 점검 모드(M02)에서 모니터링 모드(M03)로 진입한다. 이 모니터링 모드(M03)에서는, 상기 스위치(10)가 복제하여 전송하는 데이터 프레임에 실린 서비스 기반 요청, 그 요청에 대한 응답의 메시지, 또는 이벤트와 관련된 메시지로부터 각 기기의 서비스 기반의 동작을 모니터링하는 동작을 수행하게 되며, 모니터링을 위해 전달받은 메시지에 대해서는 다시 네트워크로 전송하지 않고 폐기하게 된다.
상기 정보획득부(22)가 수행하는 모니터링 동작에는, 일부의 메시지에 대해서 오류 가능성이 있는지를 분석하는 동작이 포함될 수 있다. 상기 모니터링 모드(M03)에서, 상기 정보획득부(22)가 수행하는 동작에 대해서 이하에서 구체적으로 설명한다.
상기 정보획득부(22)는, 상기 스위치(10)의 포트 미터링에 의해 상기 망 접속부(23)를 통해 임의의 메시지가 수신될 때마다, 그 내용을 적어도 부분적으로 확인하고, 그 확인된 내용에 근거하여, 도 10에 예시된 바와 같은 구조의 로그데이터 목록(1000)에 하나의 항목으로서 등재한다.
도 10에 예시된 목록(1000)에 등재되는 항목은 일련번호, 메시지 인스턴스 번호, 수신된 시각, 메시지 종류, 그 메시지에 실린 회신코드, 해당 메시지의 발신지와 목적지를 나타내는 기기의 식별자, 그리고 해당 메시지와 연관된 메시지에 부여된 일련번호가 각기 기록될 수 있는 링크 필드들로써 구성되어 있다.
상기 로그데이터 목록(1000)의 구조는, 본 발명에 따른 모니터링 동작의 예를 위해 제시한 것으로서, 적용되는 네트워크나 통신방식에 따라서는 당연히 다른 유형의 정보가 기록되는 필드가 등재되는 항목에 더 포함될 수 있으며, 물론 예시된 필드들 중 일부 필드를 포함하지 않고 구성될 수도 있다. 또한, 메시지의 전체 데이터를 별도의 저장공간 또는 파일에 기록되고, 그 전체 데이터를 해당 저장공간이나 파일에서 특정할 수 있는 인덱스 정보를 기록하기 위한 필드가 포함될 수도 있다.
상기 정보획득부(22)는, 하나의 메시지가 수신되면, 그 메시지의 헤더로부터 메시지 인스턴스 번호와 회신 코드를 추출하고, 현재의 시각과 함께 새로운 항목으로 상기 로그데이터 목록(1000)에 등재한다. 그리고, 그 메시지에 대해서 종류를 판별한다. 메시지의 종류는, 메시지 헤더에 포함되어 있는 타입 필드의 값과 메시지 페이로드에 포함되는 하나 이상의 일정 크기의 엔트리에 포함되어 있는 타입 필드의 값에 근거하여, 도 10에 예시된 바와 같이 몇가지 중 하나로 판별될 수 있다.
그리고, 그 메시지의 발신지와 착신지를 각기 나타내는 기기 식별자의 필드에는, 그 메시지를 수송한 데이터 프레임의 헤더에 포함되어 있는 발신지와 착신지 주소를 기입한다. 만약, 각 주소에 대해서 개별적으로 할당된 기기 번호가 대응되어 있는 주소-기기간 매핑목록이 있다면, 그 매핑목록을 참조하여 해당 기기의 번호를 대신하여 기입할 수도 있다.
상기 정보획득부(22)는, 수신된 메시지가 응답 또는 에러 메시지와 같이 선행한 메시지에 대해서 반응하여 발송된 메시지로 확인되는 경우에는, 그 메시지를 유발시킨 선행 메시지를 앞선 항목들에서 찾고, 그 찾은 항목에 부여된 일련번호를 링크 필드에 기록해 둔다(1010). 이와 같이 연관된 메시지 항목을 지시하는 정보를 링크해 두면, 이후에 로그데이터 목록을 네트워크 시스템의 개발자가 분석할 때, 네트워크 시스템에서의 이상 동작이 발생하는 원인과 장소를 잦는데 이들 간의 연결 관계정보가 도움이 될 수 있다.
특히, 본 발명에 따른 일 실시예에서는, 전술한 바와 같이 파악하는 메시지의 종류가, 선행한 연관 메시지에 오류가 있음을 나타내는 에러 메시지일 때는, 해당 메시지를 등재한 항목에 대해서는 다른 항목과 구분되어 표시될 수 있게 하는 특정 마크나 서식지정 정보( 예를 들어, 반전, 특정 색상 등 )를 부가할 수도 있다.
또한, 상기 분석 장치(20)가 정보를 표시할 수 있는 디스플레이부를 구비하고 있는 경우에는, 상기 정보획득부(22)는, 상기 로그데이터 목록(1000)에 현재 등제하는 메시지의 종류가 에러 메시지인 경우이거나, 또는 응답 메시지에 실린 회신 코드가 에러를 나타내는 값(1031)일 때는, 그 즉시 상기 디스플레이부 상에 사용자 알림을 위한 창을 표시하고, 그 창에는, 현재 등재하는 메시지(1030)와 그 메시지에 선행된 연관된 메시지(1020)를 함께 표시할 수도 있다.
본 발명에 따른 일 실시예에서는, 상기 모니터링 모드(M03)에서, 반복하여 발송되는 메시지들에 대해서 일정한 횟수가 될 때까지 그 간격을 추적하여 별도의 메시지 타이밍(timing) 정보를 생성할 수도 있다. 도 11은 본 실시예에 따라, 상기 정보획득부(22)가 상기 로그데이터 목록(1000)과는 별도로 작성하는 메시지 타이밍 정보목록(1100)의 구조를 하나의 예시적인 항목으로 나타낸 것이다.
상기 정보획득부(22)는, 수신된 메시지에 대해서 상기 로그데이터 목록(1000)에 하나의 항목으로 등재하고 나면, 그 메시지와 동일한 직전 메시지를 상기 로그데이터 목록(1000)에서 찾는다. 여기서, 메시지 간의 동일성은, 메시지 인스턴스 번호와 메시지 종류가 동일한 지에 근거한다. 다르게는, 메시지 인스턴스 번호와, 해당 메시지 인스턴스 번호에 대해 순차적으로 번호를 부여하는 특정 필드( 예를 들어, SOME/IP 통신방식에서의 세션 ID )의 값에 근거하여 판별될 수도 있다. 즉, 메시지 인스턴스 번호가 동일하면서 그 특정 필드의 값에서 1만큼 차이나는 직전 등재된 메시지가 동일 메시지가 된다.
상기 정보획득부(22)는, 상기 로그데이터 목록(1000)에서 동일한 직전 메시지가 찾아지면, 그 메시지에 대해 수신된 시각과 현재 메시지가 수신된 시각 간의 시간차에 대해서 첫번째의 발송 시간격(1101)으로서 기록한다. 그리고, 이후에 또 다시 동일한 메시지가 수신되면, 동일한 방식으로 두번째 발송 시간격을 기록하며, 이러한 방식의 시간격 기록을, 기 지정된 횟수만큼의 시간격(Int_TXN)이 획득될 때까지 진행한다. 물론, 발송 시간격이 항상 동일한 종류의 메시지에 대해서는 발송 시간격을 한번만 획득할 수도 있다.
전술한 바와 같이, 반복하여 발송되는 메시지의 발송 시간격을 기록하는 동작은, 특정 종류의 메시지에 대해서는 수행되지 않을 수 있다. 예를 들어, 메시지의 종류가 응답이나 에러 메시지일 때, 또는 이벤트그룹 가입 메시지일 때는 직전의 동일 메시지와 시간격을 확인하여 기록하는 동작을 수행하지 않을 수 있다.
도 11에 예시된 바와 같은 메시지 타이밍 정보목록(1100)은, 상기 주 제어부(21)가 모니터링 모드로의 전환 명령과 함께 전달하는 타이밍 측정의 목표 메시지에 대해서만 작성될 수 있다. 그리고 목표 메시지에 대해서는, 일련의 메시지 식별자만으로써 지정될 수 있다. 이러한 경우, 상기 정보획득부(22)는, 지정된 메시지 식별자와 동일한 식별자를 메시지 인스턴스 번호에 포함하는 메시지들에 대해서, 메시지 인스턴스 번호가 동일한 것들끼리 구분하여 시간격을 파악하게 된다. 그리고, 지정된 메시지 식별자가 포함된 메시지 인스턴스 번호를 갖는 메시지에 대해 그 종류가 응답이나 에러 메시지일 때는 시간격 정보의 획득에서 배제한다.
만약, 상기 주 제어부(21)가 타이밍 측정의 목표 메시지를 전달할 때, 해당 메시지 식별자에 대해서 요구 시간격에 대한 정보( 이 정보는, 반복되는 차수에 따라 변하는 시간격을 지정하고 있을 수도 있다. )를 포함시켜 전달하면, 상기 정보획득부(22)는, 현재 작성하는 특정 메시지의 시간격( 또는 특정 순서에서의 시간격 )이, 요구 시간격과 상이할 때, 그 메시지의 타이밍에 오류가 있다는 사실을, 상기 주 제어부(21)에 알리거나, 또는 전술한 바와 같이 디스플레이부를 통해 알림용의 창을 표시할 수도 있다. 상기 주 제어부(21)에 전달하거나 디스플레이부에 표시할 때는, 당연히, 그 메시지에 대한 정보, 예를 들어 메시지 식별자, 메시지의 발신지와 목적지의 기기 식별자, 그리고 요구 시간격과 파악한 시간격 등을 알 수 있도록 제공하거나 표시한다.
상기 정보획득부(22)가 파악하는 동일 메시지 간의 시간격이, 동일 메시지가 네트워크에서 예기치 않은 상황 등으로 소실될 수도 있다. 이러한 경우에는 발신측 기기가 이후에 요구 시간격에 맞게 메시지를 반복하여 발송하여도, 메시지가 소실된 시점의 전후로의 시간격은 요구 시간격과 일치할 수 없다. 따라서, 반복 발송되는 메시지에서 하나가 누락되는 경우에 대해 비정상적 타이밍을 가리키는 정보를 생성하지 않기 위해서, 상기 정보획득부(22)는, 요구 시간격과의 차이가 발생하여도, 이후의 동일 메시지 간의 시간격을 한번 이상 요구 시간격과 비교하고, 연속하여 차이( 지정된 허용범위, 예를 들어 5%를 벗어난 차이 )가 나면, 그때 비로소, 해당 메시지에 대한 타이밍에서의 오류를 전술한 바와 같이 상기 주 제어부(21)에 통지하거나 또는 구비된 디스플레이부에 표시하는 것이 바람직하다.
본 발명에 따른 일 실시예에서는, 상기 모니터링 모드(M03)에서, 네트워크에서 송수신되는 메시지에 대해서 페이로드 부분이 적합하게 패킹(packing)되어 있는지를 검사할 수도 있다. 도 12는, 본 실시예에 따른 상기 정보획득부(22)의 적합성 검사 동작에 대한 상태 흐름도의 일 예이다.
상기 정보획득부(22)는, 도 12에 예시된 상태 흐름도에 따라, 상기 망 접속부(23)를 통해 임의의 한 메시지가 수신되면(S1201), 그 메시지에 페이로드 부분이 포함되어 있는지를 먼저 확인한다(S1202). 메시지에 페이로드가 포함되어 있는지의 여부는 메시지 헤더에 확보된 길이 필드의 값에 근거하여 판별할 수 있다.
페이로드 부분이 포함되어 있는 것으로 확인되면, 상기 정보획득부(22)는, 그 메시지가 이미 페이로드에 대한 적합성이 판별된 메시지인지를 확인한다(S1203). 적합성의 기 판별 여부는, 도 13에 예시된 바와 같은 구조를 갖는, 적합성이 판별된 메시지 항목들을 등재하는 페이로드 검사 목록(1300)에 동일한 메시지가 이미 등재되어 있는지의 여부로 판별할 수 있다.
도 13에 예시된 페이로드 검사 목록(1300)에 등재한 항목과, 수신된 메시지의 동일성은, 메시지 식별자와 발신지 식별자, 그리고 메시지 종류가 함께 동일한가(1310)에 근거하게 된다. 여기서 발신지 식별자는, 전술한 바와 같이 클라이언트 식별자일 수도 있고, 그 메시지를 수송한 데이터 프레임의 발신지 주소일 수도 있으며, 또는 이들이 결합된 정보일 수도 있다. 발신지 식별자에 대해서 해당 메시지를 수송한 데이터 프레임의 발신지 주소를 사용하는 경우에는, 메시지의 동일성 판단의 근거로 메시지 종류는 사용되지 않을 수도 있다.
이미 적합성이 판별된 메시지가 아니면, 상기 정보획득부(22)는, 먼저 해당 메시지에 대해서 페이로드 패킹의 적합성이 확인된 것으로 기록한다(S1210). 적합성이 확인되었음을 나타내는 기록은, 상기 페이로드 검사 목록(1300)에 새로운 항목(1320)으로 등재하는 것일 수 있다.
그리고, 해당 메시지의 페이로드에 대한 적합성을 검사한다. 적합성의 검사는, 각 메시지 식별자의 메시지로써 수송되어야 하는 데이터 블록(block)에 대해 정해져 있는 데이터 구조를 직렬화(serialization)하였을 때의 길이와, 수신된 메시지의 페이로드의 데이터 길이의 비교를 통해 이루어질 수 있다.
상기 정보획득부(22)는, 페이로드에 대한 검증결과, 페이로드가 적합하게 패킹된 것이면(S1211), 즉, 기 지정된 데이터 구조를 직렬화하였을 때의 길이와 상기 수신된 메시지의 페이로드의 길이가 동일하면, 상기 페이로드 검사 목록(1300)에 새로이 등재한 항목(1320)에 대해서, 패킹이 적합하게 되어 있음을 나타내는 값을 기록한다(1321,S1213). 그리고, 그 수신된 메시지는 폐기하고(S1220), 모니터링 모드(M03)으로 재진입한다.
앞서, 수신된 메시지가 페이로드 부분을 포함하고 있지 않거나(S1202), 또는 페이로드 패킹의 적합성이 이미 확인된 메시지이면서 동시에 동일한 발신지의 메시지로 확인되면(S1203,S1204), 상기 정보획득부(22)는, 그 메시지에 대해서 패킹의 적합성에 관련된 별다른 동작없이 단순히 해당 메시지를 폐기하게 된다(S1220).
만약, 페이로드 패킹이 적합하지 않으면, 상기 정보획득부(22)는, 그 부적합의 유형을 기록하고(1330), 그 기록한 부적합의 유형에 따라 '주의' 또는 '에러'를 나타내는 정보를 상기 주 제어부(21)에 통지한다(S1212). 실시예에 따라서는, '에러'의 유형에 대해서만 즉시 통지( 또는 표시 )하고(1331), '주의'의 경우에는 부적합의 유형만 기록해 둘 수 있다.
페이로드 패킹이 부적합할 때 그 정도를 '주의로 지정할지 '에러'로 지정할지는, 해당 메시지 식별자( 또는 이 식별자와 함께 해당 메시지 종류 )에 대해 수송되어야 하는 데이터 블록에 대해 정해져 있는 데이터 구조를 직렬화하였을 때의 데이터 길이보다, 현재 수신된 메시지의 페이로드의 데이터 길이가 더 짧은 지에 따라 결정될 수 있다. 즉, 후자가 전자보다 짧으면, 부적합성이 심각함을 나타내는 '에러'로, 후자가 전자보다 길면 '주의'로 결정될 수 있다. '주의'로 결정하여 부적합성의 심각도를 낮추는 이유는, 일부의 데이터에 대해서 제로(zero) 패딩에 의해 실제의 메시지의 페이로드가 길어질 수 있기 때문이다.
한편, 상기 정보획득부(22)가, 수신된 메시지의 페이로드에 대한 패킹의 적합성을 검사하기 위해 메시지 식별자( 또는 이 식별자와 함께 메시지 종류 )별로 필요한 데이터 구조에 대한 정보는, 상기 주 제어부(21)가 상기 정보획득부(22)에 모니터링 모드(M03)로의 전환을 명령할 때 함께 전달하거나, 또는 그러한 정보가 저장된 저장공간에 대한 위치정보를 전달하게 된다.
그리고, 상기 주 제어부(21)는, 각 메시지 식별자( 또는 이 식별자와 함께 메시지 종류 )의 메시지가 수송해야 하는 데이터 블록에 대해 정해져 있는 데이터 구조에 관한 정보를, 구비된 기기 인터페이스를 통해 하나 이상의 파일로서 제공받아 이용할 수 있다.
본 발명에 따른 일 실시예에서는, 상기 스위치(10)로부터 수신되는 메시지들 중에서 일부의 메시지들에 대해서만, 전술한 바의 페이로드 패킹의 적합성을 검사할 수도 있다. 그리고, 페이로드 패킹의 적합성을 검사할 메시지들에 대해서는, 그 식별자( 또는 이 식별자와 함께 메시지 종류 )들의 목록의 형태로 상기 주 제어부(21)로부터 전달될 수도 있다. 물론, 이와 같은 용도의 목록은, 상기 분석 장치(20)가 디스플레이부를 구비한 경우에, 그 디스플레이부에 제공하는 메뉴 화면 등을 통해서 네트워크 시스템의 개발자가 지정하는 서비스, 메소드 및/또는 이벤트에 해당하는 메시지 식별자와 메시지 종류로써 지정되어 상기 정보획득부(22)에 전달될 수도 있다.
전술한 바의, 상기 모니터링 모드(M03)에서 상기 정보획득부(22)가 수행하는 다양한 동작들은, 상기 주 제어부(21)로부터의 모드 전환 명령에 따라 중단되고, 전환을 명령한 모드, 예를 들어, 상기 점검 모드(M02) 또는 상기 휴지 모드(M01)로 진입하게 된다. 상기 주 제어부(21)는, 상기 정보획득부(22)에 상기 휴지 모드(M01)로의 전환을 명령할 때는, 상기 스위치(10)에 대해서도, 수신되는 데이터 프레임을 그 주소에 따라 통상적으로 스위칭 출력하도록 스위칭 방식을 원래대로 환원시키는 내용의 패킷을 전송한다.
본 발명에 따른 일 실시예에서는, 상기 정보획득부(22)가, 상기 모니터링 모드(M03)에서 다른 모드로 전환할 때, 그 모드(M03)에서 획득하여 구성한 정보, 예를 들어, 상기 로그데이터 목록(1000), 상기 메시지 타이밍 정보목록(1100) 및/또는 상기 페이로드 검사 목록(1300)을 상기 주 제어부(21)에 전달하거나, 그 구성된 각 목록을 참조할 수 있는 저장공간 상의 위치정보를 상기 주 제어부(21)에 알려줄 수 있다.
지금까지 설명한, 본 발명에 따른 다양한 실시예들은, 상기 분석 장치(20)가, 상기 서비스 기반 기기들(1i, i=1,2,..)과는 별개로 구성된, 보다 구체적으로는, 상기 서비스 기반 기기들이 통신선으로 연결되는 상기 스위치(10)와 일체로 구성된 장치, 또는 상기 서비스 기반 기기들과 마찬가지로 상기 스위치(10)와 통신선으로 연결되는 독립된 장치인 것을 전제로 한 것이다. 하지만, 본 발명의 원리와 기술적 사상의 구체적인 실현은, 반드시 서비스 기반 기기와는 독립된 별개의 장치로 구성되어야 하는 것을 필요로 하지는 않는다.
따라서, 지금까지 실시예들과는 다르게, 상기 분석 장치(20)가 서비스 기반 기기에 일부로서 포함되는 경우에도, 본 발명의 원리와 기술적 사상은, 전술한 실시예들에서 의도한 바와 동일하게 실현될 수 있다. 다시 말하면, 전술한 실시예들에 대한 설명이, 상기 주 제어부(21)와 상기 정보획득부(22)가 임의의 한 서비스 기반 기기 내에 포함되어 분석 장치를 구성한 경우( 이를 '기기 내재화된 구성'이라 칭한다. )에도 그대로 적용될 수 있다.
다만, 전술한 실시에들의 설명에서, 상기 주 제어부(21)가 사용자 인터페이스부를 통해 정보를 입력받는 부분, 그리고 상기 주 제어부(21) 또는 상기 정보획득부(22)가 디스플레이부와 같은 표시수단을 통해 정보를 표시하는 부분 등은, 분석 장치(20)에 포함되는 망 접속부(23)를 통해 외부의 특정 기기나 서버 등과 해당되는 정보를 송수신하는 설명으로 대체되어야 한다. 또한, 상기 정보획득부(22)가 획득하여 전달하는 모든 서비스 연관정보에 대해서, 상기 주 제어부(21)는 상기 망 접속부(23)를 통해 지정된 외부의 특정 장치나 서버 등에 제공하게 된다.
그리고, 상기 분석 장치(20)가 기기 내재화된 구성일 때에는, 상기 망 접속부(23)가, 그 기기 내에 기 구비되어 타 기기들과 서비스 기반의 통신을 가능하게 하는 망 인터페이스부의 일부분을 포함할 수도 있다. 그리고, 상기 분석 장치(20)가 기기 내재화된 구성일 때는, 상기 주 제어부(21)가 서비스 기반으로 동작하는 응용 프로그램일 수 있고, 상기 정보획득부(22)는, 상기 주 제어부(21)가 필요한 실행 루틴(routine)을 적절한 프로그램 인터페이스를 통해 호출할 수 있는 실행 모듈일 수 있다.
상기 분석 장치(20)가 기기 내재화된 구성인 경우에, 유효 모드에서, 점검 모드로, 그리고 점검 모드에서 모니터링 모드로 진행하는 과정은, 상기 주 제어부(21)에 미리 설정된 진행 시퀀스에 따라 자동적으로 이루어질 수 있다. 여기서, 진행 시퀀스는, 각각의 모드를 수행하는 시간으로 지정될 수도 있고, 각 모드에서 어떤 정보의 목록이 획득완료되는지에 따라 해당 모드가 종료되고 다음 모드로 진행하는지를 정의하는 방식으로 지정될 수 있다.
본 발명에 따른 다른 일 실시예에서는, 상기 주 제어부(21)가 진행하는 각각의 모드를, 외부의 특정 장치에서 네트워크를 경유하여 전송하는 명령의 메시지로써 지정할 수도 있다.
본 발명에 따른 또 다른 일 실시예에서는, 상기 분석 장치(20)가 기기 내재화된 구성으로서 포함된 서비스 기반 기기에 장착되는, 특히 기기의 외부에서 상태를 조작가능할 수 있도록 장착되는 딥(dip) 스위치와 같은 특정 부품이 만드는 전기적 상태값에 의해 각 모드가 지정될 수도 있다. 본 실시예에서는, 상기 특정 부품에 의해 만들어진 전기적 상태값에 의해, 전술한 바의 점검 모드 또는 모니터링 모드( 또는 휴지 모드도 포함 )에서의 동작이 수행되며, 상기 특정 부품이 지시하는 값은, 도 1과 같은 네트워크 시스템을 특정 용도의 장치에 구축하는 통합 시스템 설계자, 또는 그러한 특정 용도의 장치를 시험하거나 장애 등을 전담하는 기술자 등에 의해 변경될 수 있다.
지금까지 구체적으로 설명한, 본 발명에 따른 네트워크에 연결된 기기들의 서비스 기반의 동작에 관한 정보를 획득하기 위한 방법과 장치에 대한 다양한 실시예들과, 그 실시예에서 설명된 구성 및 작용 등은 서로 양립할 수 없는 경우가 아니라면, 상호 다양한 방식으로 선택적으로 결합되어 실시 가능하다.
이상, 전술한 본 발명의 실시예들은, 예시의 목적을 위해 개시된 것으로, 당업자라면, 이하 첨부된 청구범위에 개시된 본 발명의 기술적 사상과 그 기술적 범위 내에서, 또 다른 다양한 실시예들을 개량, 변경, 대체 또는 부가 등이 가능할 것이다.
1i: 서비스 기반으로 동작하는 기기 10: 스위치
11: 스위칭 관리부 12: 스위칭 박스
20: 분석 장치 21: 주 제어부
22: 정보획득부 23: 망 접속부

Claims (34)

  1. 스위칭 기기에 개별적으로 연결된 복수의 기기들의 서비스 기반의 동작에 관한 정보를 획득하기 위한 장치에 있어서,
    상기 복수의 기기들에 상호 간의 통신을 위한 네트워크를 제공하는 상기 스위칭 기기가, 수신되는 데이터 프레임에 대해 스위칭하여 출력하는 방식을 가로채기로 변경설정하도록 구성된 제어부와,
    가로채기 방식으로의 변경설정에 따라, 상기 복수의 기기들 중 임의의 한 기기가 발송한 데이터 프레임을 상기 스위칭 기기가 가로채어 전달하는 상기 데이터 프레임에 실린 제 1형의 메시지가 수신되면, 그 이후에 상기 스위치 기기로부터 제 2형의 메시지가 한번 이상의 기 지정된 횟수만큼 수신될 때까지는 상기 수신된 제 1형의 메시지가 상기 네트워크로 재유입되지 않게 하고, 상기 스위칭 기기로부터 수신되는 상기 제 2형의 메시지에 대해서는 상기 네트워크로 재유입시키도록 구성된 정보획득부를 포함하여 구성되되,
    상기 정보획득부는, 수신된 상기 제 2형의 메시지에 근거하여, 상기 제 2형의 메시지를 발송한 기기의 서비스 기반의 동작에 관한 특정 정보를 획득하도록 구성된 것인 장치.
  2. 제 1항에 있어서,
    상기 정보획득부는, 수신된 상기 제 2형의 메시지로부터, 상기 제 2형의 메시지를 발송한 기기가 지원하는 적어도 하나의 서비스 항목에 대하여 해당 항목을 식별케 하는 상기 특정 정보를 획득하도록 구성된 것인 장치.
  3. 제 2항에 있어서,
    상기 정보획득부는, 수신된 상기 제 1형의 메시지를 저장하고 있다가, 상기 복수의 기기들 중 적어도 하나로부터 상기 제 2형의 메시지를 수신하면, 상기 저장하고 있던 상기 제 1형의 메시지를 상기 네트워크로 재유입시키도록 구성된 것인 장치.
  4. 제 2항에 있어서,
    상기 제 1형의 메시지는, 상기 복수의 기기들에 속하는 임의의 기기가 자신이 지원하는 서비스 항목에 대한 정보를 멀티캐스트(multicast) 방식으로 알리는 메시지인 것인 장치.
  5. 제 4항에 있어서,
    상기 제어부는, 상기 제 2형의 메시지를 상기 지정된 횟수만큼 송신한 기기가 하나 이상 있는 상태에서, 상기 스위칭 기기로부터 상기 제 1형의 메시지가 추가로 수신되면, 추가로 수신된 상기 제 1형 메시지에 대해서 상기 하나 이상의 기기로만 스위칭하여 출력하게 만드는 멀티캐스트에 대한 설정을 상기 스위칭 기기에 요청한 후에, 추가로 수신된 상기 제 1형의 메시지를 상기 네트워크로 재유입시키도록 구성된 것인 장치.
  6. 제 4항에 있어서,
    상기 정보획득부는, 상기 스위칭 기기로부터 수신되는 단일 목적지를 지정하고 있는 상기 제 1형의 메시지에 대해서는, 상기 네트워크로 재유입시키도록 구성된 것인 장치.
  7. 제 4항에 있어서,
    상기 지정된 횟수는 2 이상이고,
    상기 정보획득부는, 상기 하나 이상의 기기의 각각이 송신하여 상기 지정된 횟수만큼 반복하여 수신된 상기 제 2형의 메시지로부터, 상기 하나 이상의 기기의 각각이 상기 제 2형의 메시지를 재발송하는 시간격에 대한 정보를 획득하도록 구성된 것인 장치.
  8. 제 1항에 있어서,
    상기 제 1형의 메시지는, 상기 제 2형의 메시지에 응답하여 발송되는 메시지이고,
    상기 정보획득부는, 수신된 상기 제 2형의 메시지와, 상기 제 2형의 메시지를 발송한 임의 기기가 상기 제 1형의 메시지보다 앞서 발송한 또 다른 상기 제 2형의 메시지 간의 발송 시간격에 대한 상기 특정 정보를 획득하도록 구성된 것인 장치.
  9. 제 8항에 있어서,
    상기 정보획득부는, 상기 발송 시간격에 대한 상기 특정 정보가 획득된 후에는, 상기 임의 기기로 전송되어야 하는 상기 제 1형의 메시지가 수신되면, 그 수신된 상기 제 1형의 메시지에 대해서는 그대로 상기 네트워크로 재유입시키도록 구성된 것인 장치.
  10. 제 8항에 있어서,
    상기 제 2형의 메시지는, 서비스 기반의 요청을 하는 메시지이거나, 그룹핑된 이벤트들에 대해서 하나 이상의 그룹을 지정하여 가입을 요구하는 메시지인 것인 장치.
  11. 제 2항 또는 제 8항에 있어서,
    상기 정보획득부는, 수신된 상기 제 1형의 메시지를 폐기함으로써, 상기 네트워크로 재유입되지 않게 하도록 구성된 것인 장치.
  12. 제 1항에 있어서,
    상기 정보획득부는, 제 3형의 메시지를 수송하는 임의의 데이터 프레임이 상기 스위칭 기기로부터 수신되면, 상기 임의의 데이터 프레임에 대해서 적어도 일부를 수정하여 상기 네트워크로 재유입시키고, 상기 제 3형의 메시지에 대해서 응답하는 제 4형의 메시지가 상기 스위치로부터 수신되면, 그 제 4형의 메시지에 실린 응답 정보와 상기의 수정에서 회신의도한 정보를 비교하여, 상기 제 4형의 메시지를 발송한 기기의 비상처리에 대한 정보를 획득하도록 더 구성된 것인 장치.
  13. 제 12항에 있어서,
    상기의 수정은, 상기 제 3형의 메시지에 대해서 정해진 특정 형식에 부합하지 않거나 허용되지 않는 정보, 또는 상기 제 3형의 메시지의 목적지 기기가 정상적으로 처리를 할 수 없는 정보가 포함되도록 상기 임의의 데이터 프레임이 수송하는 정보를 변경하는 것인 장치.
  14. 제 13항에 있어서,
    상기의 수정에는, 상기 제 3형의 메시지를 구성하는 헤더(header)와 페이로드(payload) 중, 그 페이로드에 포함되어 있는 하나 이상의 데이터 그룹에 대해서 그 데이터 그룹에 속하는 임의 파라미터에 해당하는 데이터 길이를 축소시키는 수정이 포함되는 것인 장치.
  15. 제 13항에 있어서,
    상기의 수정에는, 상기 정보획득부가, 상기 목적지 기기로부터 발송된 상기 제 1형의 메시지에서 확인한 지원 서비스 항목에 해당하지 않는 서비스 항목을 나타내는 식별자로써, 상기 제 3형의 메시지의 서비스 식별자 부분을 대체하는 수정이 포함되는 것인 장치.
  16. 제 12항에 있어서,
    상기 정보획득부는, 상기 제 3형의 메시지가 수신될 때마다, 상기 제 3형의 메시지에 대해 지정된 복수의 검증사항들의 각각을 위한 수정을 하여 상기 네트워크로 재유입시키고, 그 재유입시킨 상기 제 3형의 메시지에 대해 응답하여 수신되는 상기 제 4형의 메시지에 대해서는 폐기하도록 구성된 것인 장치.
  17. 제 16항에 있어서,
    상기 정보획득부는, 특정오류의 유발을 위한 수정을 하여 상기 네트워크로 재유입시킨 어느 하나의 상기 제 3형의 메시지에 대해서, 이후에 상기 제 3형의 메시지가 다시 수신될 때까지, 또는 상기 어느 하나의 제 3형의 메시지를 재유입시킨 이후의 일정 시간 내에, 상기 어느 하나의 제 3형의 메시지에 대한 응답을 수신하지 못하면, 상기 비상처리에 대한 정보를 획득함에 있어서, 상기 특정오류의 유발을 위한 수정에 따른 비상처리에 대한 정보가, 다른 수정들에 따른 비상처리에 대한 정보와는 구분될 수 있게 기록하도록 구성된 것인 장치.
  18. 제 16항에 있어서,
    상기 정보획득부는, 상기 제 3형의 메시지에 대해서, 상기 복수의 검증사항들의 각각을 위한 수정에 따른 상기 비상처리에 대한 정보가 획득되면, 그 이후에 수신되는 상기 제 3형의 메시지에 대해서는 그대로 상기 네트워크로 재유입시키고, 또한, 그대로 재유입시킨 상기 제 3형의 메시지에 대해 응답되어 수신되는 상기 제 4형의 메시지에 대해서도 상기 네트워크로 그대로 재유입시키도록 구성된 것인 장치.
  19. 제 1항에 있어서,
    상기 제어부는, 상기 스위칭 기기가, 수신된 데이터 프레임에 대해 스위칭하여 출력하는 방식을 포트복제로 변경설정하도록 더 구성되되, 상기 가로채기 방식에서 상기 복수의 기기들에 대하여 서비스 기반의 동작에 연관된 정보를 획득한 후 상기 포트복제 방식으로 전환시키도록 구성된 것인 장치.
  20. 제 19항에 있어서,
    상기 정보획득부는, 상기 포트복제 방식에서 상기 스위칭 기기로부터 수신되는 임의의 데이터 프레임에 실린 특정 메시지에 대해서, 그 특정 메시지를 식별키 위한 정보, 수신된 시각 정보, 그 특정 메시지의 종류, 그리고, 상기 임의의 데이터 프레임의 발신지 기기와 목적지 기기를 각기 식별키 위한 정보를 포함하여 하나의 정보 항목으로 기록하도록 더 구성된 것인 장치.
  21. 제 20 있어서,
    상기 정보획득부는, 상기 특정 메시지에 실린 회신 코드가 오류를 나타내는 값이면, 상기 하나의 정보 항목에 대해서는, 기록된 다른 정보 항목들과 구분 식별되게 하는 형식으로 기록하도록 구성된 것인 장치.
  22. 제 20항에 있어서,
    상기 정보획득부는, 상기 특정 메시지를 유발시킨, 그 특정 메시지에 선행하여 수신된 메시지에 대해서 기록된 임의의 정보 항목과 연결시키는 정보를 상기 하나의 정보 항목에 더 포함시켜 기록하도록 구성된 것인 장치.
  23. 제 20항에 있어서,
    상기 정보획득부는, 앞서 수신한 일련의 메시지들에 대해서 기록한 정보 항목들에서, 상기 수신된 특정 메시지와 동일한 직전 수신된 메시지에 대한 항목을 찾고, 그 찾은 항목의 메시지 수신 시각과 상기 특정 메시지의 수신 시각 간의 시간격을 파악한 후, 그 파악된 시간격을 상기 특정 메시지의 반복 발송에 요구되는 시간격과 비교함으로써, 상기 특정 메시지에 대한 반복 발송의 오류 여부를 판별하도록 더 구성된 것인 장치.
  24. 제 23항에 있어서,
    상기 정보획득부는, 반복하여 수신되는 상기 특정 메시지에 대해서 각기 파악하는 수신 시간격이, 상기 특정 메시지에 대한 반복 발송에 요구되는 시간격과 2회 이상 연속하여, 지정된 허용범위 이상으로 차이가 날 때, 상기 특정 메시지에 대한 반복 발송에 오류가 있는 것으로 판별하도록 구성된 것인 장치.
  25. 제 19항에 있어서,
    상기 정보획득부는, 상기 포트복제 방식에서 상기 스위칭 기기로부터 수신되는 데이터 프레임에 실린 임의의 메시지에 대해서, 그 임의의 메시지의 특정 부분의 데이터가 적합하게 패킹되었는지를 검사하고, 그 검사결과를, 그 임의의 메시지를 식별케하는 정보와, 그 임의의 메시지의 발신지를 알 수 있는 정보와 함께 하나의 정보 항목으로 기록하도록 더 구성된 것인 장치.
  26. 제 25항에 있어서,
    상기 정보획득부는, 패킹의 적합성에 대한 상기 검사에서, 상기 특정 부분에 실린 실제의 데이터의 길이가, 상기 임의의 메시지의 상기 특정 부분에 대해 지정된 길이보다 짧은 경우로 확인되는 경우에는, 긴 경우로 확인되는 경우에 비해서, 패킹의 부적합성의 정도가 더 높음을 나타내는 값으로 하는 검사결과를 상기 하나의 정보 항목으로 기록하도록 구성된 것인 장치.
  27. 제 1항에 있어서,
    상기 장치는, 상기 스위칭 기기를 그 내부 구성으로서 포함하여 일체로 구성된 것인 장치.
  28. 제 1항에 있어서,
    상기 장치는, 상기 복수의 기기들 중 어느 하나의 기기에 내부 구성으로서 포함되어 구현된 것이되,
    상기 제어부는, 상기 특정 정보를 포함하여 상기 정보획득부가 획득하는 상기 복수의 기기들에 대한 서비스 기반의 동작에 연관된 정보를, 상기 네트워크를 통해 기 지정된 특정의 외부 장치에 제공하도록 구성된 것인 장치.
  29. 제 28항에 있어서,
    상기 제어부는, 상기 스위칭 기기가, 수신된 데이터 프레임에 대해 스위칭하여 출력하는 방식을 포트복제로 변경설정하도록 더 구성되되, 상기 어느 하나의 기기에 장착된 부품이 만드는 전기적 상태값에 따라, 상기 가로채기 방식으로 변경설정하거나 상기 포트복제 방식으로 변경설정하도록 구성된 것인 장치.
  30. 스위칭 기기에 개별적으로 연결된 복수의 기기들의 서비스 기반의 동작에 관한 정보를 획득하기 위한 장치에 있어서,
    상기 복수의 기기들에 상호 간의 통신을 위한 네트워크를 제공하는 상기 스위칭 기기에 특정의 명령을 전송함으로써, 상기 복수의 기기들에서 순차적으로 하나만을 선택하여 상기 스위칭 기기와 데이터 통신을 할 수 있게 하는 제어부와,
    상기 제어부에 의해 상기 스위칭 기기와 데이터 통신을 할 수 있도록 선택된 기기가 제 2형의 메시지를 전송함으로써, 상기 스위칭 기기를 통해 그 제 2형 메시지가 수신되면, 수신된 상기 제 2형의 메시지로부터 상기 선택된 기기가 지원하는 적어도 하나의 서비스 항목에 대하여 해당 항목을 식별케 하는 정보를 획득하도록 구성된 정보 획득부를 포함하여 구성되되,
    상기 제 2형의 메시지는, 상기 적어도 하나의 서비스 항목을 지원하는 것을 알리는 제 1형의 메시지를 수신하지 못함으로써 멀티캐스트 방식으로 발송되는 메시지이고,
    상기 제어부는, 상기 제 2형의 메시지에 할당된 멀티캐스트 주소에 대해 상기 장치의 주소를 가입시키도록 더 구성된 것인 장치.
  31. 제 30항에 있어서,
    상기 제어부는, 상기 복수의 기기들에 대해서, 하나의 기기를 선택하여 그 선택된 기기만이 전원 인가 상태가 되도록 하고, 그 전원 인가된 기기에서 상기 제 2형의 메시지가 한번 이상의 기 지정된 횟수만큼 발송되면, 다음 순서의 기기만이 전원 인가 상태가 되게 하여 상기 제 2형의 메시지를 발송하게 하는 방식으로, 상기 스위칭 기기를 이용하여 상기 복수의 기기들에 대한 원격 전원켜기/끄기를 수행하도록 구성된 것인 장치.
  32. 제 30항에 있어서,
    상기 제어부는, 상기 복수의 기기들이 개별적으로 연결된 상기 스위칭 기기의 포트들에 대해서, 하나의 포트만을 활성화 상태가 되도록 하고, 그 활성화된 포트에 연결된 기기에서 상기 제 2형의 메시지가 한번 이상의 기 지정된 횟수만큼 발송되면, 다음 순서의 포트만을 활성화 상태가 되게 하여 상기 다음 순서의 포트에 연결된 기기가 제 2형의 메시지를 발송하게 하는 방식으로, 상기 스위칭 기기의 포트들을 제어하도록 구성된 것인 장치.
  33. 스위칭 기기에 개별적으로 연결된 복수의 기기들의 서비스 기반의 동작에 관한 정보를 획득하기 위한 방법에 있어서,
    상기 복수의 기기들에 상호 간의 통신을 위한 네트워크를 제공하는 상기 스위칭 기기가, 수신되는 데이터 프레임에 대해 스위칭하여 출력하는 방식을 가로채기로 변경설정하는 1단계와,
    상기 복수의 기기들 중 임의의 한 기기로부터 발송되어 상기 스위칭 기기에 의해 가로채어져 전달되는 제 1데이터 프레임을 수신하는 2단계와,
    상기 스위칭 기기로부터 제 2형의 메시지가 한번 이상의 기 지정된 횟수만큼 수신될 때까지는 상기 수신된 제 1데이터 프레임에 실린 제 1형의 메시지가 상기 네트워크로 재유입되지 않게 한 상태에서, 상기 스위칭 기기로부터 상기 제 2형의 메시지를 실은 제 2데이터 프레임이 수신되면, 그 제 2데이터 프레임에 대해서는 상기 네트워크로 재유입시키는 3단계를 포함하여 이루어지되,
    상기 3단계는, 수신된 상기 제 2형의 메시지에 근거하여 상기 제 2형의 메시지를 발송한 기기의 서비스 기반의 동작에 관한 정보를 획득하는 단계를 포함하는 것인 방법.
  34. 임의의 컴퓨팅 장치에서 실행될 수 있는 프로그램 개체를 수록하고 있는 기록매체에 있어서,
    상기 프로그램 개체는, 복수의 기기들에 상호 간의 통신을 위한 네트워크를 제공하는 스위칭 기기와 연결되어 통신할 수 있는 컴퓨팅 장치에 로드(load)되어 실행되는 경우에,
    상기 스위칭 기기가, 수신된 데이터 프레임에 대해 스위칭하여 출력하는 방식을 가로채기로 변경설정하는 기능과,
    상기 복수의 기기들 중 임의의 한 기기로부터 발송되어 상기 스위칭 기기에 의해 가로채어져 전달되는 제 1데이터 프레임을 수신하는 기능과,
    상기 스위칭 기기로부터 제 2형의 메시지가 한번 이상의 기 지정된 횟수만큼 수신될 때까지는 상기 제 1데이터 프레임에 실린 제 1형의 메시지가 상기 네트워크로 재유입되지 않게 한 상태에서, 상기 스위칭 기기로부터 상기 제 2형의 메시지를 실은 제 2데이터 프레임이 수신되면, 그 제 2데이터 프레임에 대해서는 상기 네트워크로 재유입시키는 기능과,
    수신된 상기 제 2형의 메시지에 근거하여 상기 제 2형의 메시지를 발송한 기기의 서비스 기반의 동작에 관한 정보를 획득하는 기능을 수행하기 위한 프로그램 코드들을 포함하여 구성된 기록매체.
KR1020200063654A 2020-05-27 2020-05-27 네트워크에 연결된 기기들의 서비스 기반의 동작에 관한 정보를 획득하기 위한 방법과 장치 KR102394491B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020200063654A KR102394491B1 (ko) 2020-05-27 2020-05-27 네트워크에 연결된 기기들의 서비스 기반의 동작에 관한 정보를 획득하기 위한 방법과 장치

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020200063654A KR102394491B1 (ko) 2020-05-27 2020-05-27 네트워크에 연결된 기기들의 서비스 기반의 동작에 관한 정보를 획득하기 위한 방법과 장치

Publications (2)

Publication Number Publication Date
KR20210147143A true KR20210147143A (ko) 2021-12-07
KR102394491B1 KR102394491B1 (ko) 2022-05-06

Family

ID=78868159

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020200063654A KR102394491B1 (ko) 2020-05-27 2020-05-27 네트워크에 연결된 기기들의 서비스 기반의 동작에 관한 정보를 획득하기 위한 방법과 장치

Country Status (1)

Country Link
KR (1) KR102394491B1 (ko)

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010054709A (ko) * 1999-12-07 2001-07-02 김덕중 랜 브릿지
KR20070039597A (ko) * 2004-07-23 2007-04-12 사이트릭스 시스템스, 인크. 사설망에 대한 원격 액세스를 보안화하기 위한 방법 및시스템
KR20070053502A (ko) * 2005-11-21 2007-05-25 한국전자통신연구원 실시간 멀티캐스트 패킷 스트림을 위한 이더넷 기반 스위칭방법 및 장치, 이를 구비한 이더넷 기반 스위칭 시스템
KR20070108968A (ko) * 2006-05-09 2007-11-15 우전 시스텍(주) 디지털 가입자 회선 장치의 멀티캐스트 그룹 가입자관리방법
KR20140035076A (ko) * 2012-09-13 2014-03-21 충북대학교 산학협력단 트래픽 정보 기반 원격 전원 관리 및 대기전원 관리가 가능한 홈 게이트웨이 장치 및 홈 게이트웨이 시스템
JP2016163245A (ja) * 2015-03-04 2016-09-05 株式会社デンソー イーサネットスイッチおよびゲートウェイ装置
JP2017506025A (ja) * 2013-12-27 2017-02-23 ビッグ スウィッチ ネットワークス インコーポレイテッド ネットワークサービス挿入を実行するシステム及び方法
KR20170093648A (ko) * 2016-02-05 2017-08-16 아토리서치(주) 소프트웨어 정의 네트워크에서 브로드캐스트를 처리하는 방법, 장치 및 컴퓨터 프로그램
JP2019134301A (ja) * 2018-01-31 2019-08-08 日立オートモティブシステムズ株式会社 車載ネットワークシステム、電子制御装置、ゲートウェイ装置

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20010054709A (ko) * 1999-12-07 2001-07-02 김덕중 랜 브릿지
KR20070039597A (ko) * 2004-07-23 2007-04-12 사이트릭스 시스템스, 인크. 사설망에 대한 원격 액세스를 보안화하기 위한 방법 및시스템
KR20070053502A (ko) * 2005-11-21 2007-05-25 한국전자통신연구원 실시간 멀티캐스트 패킷 스트림을 위한 이더넷 기반 스위칭방법 및 장치, 이를 구비한 이더넷 기반 스위칭 시스템
KR20070108968A (ko) * 2006-05-09 2007-11-15 우전 시스텍(주) 디지털 가입자 회선 장치의 멀티캐스트 그룹 가입자관리방법
KR20140035076A (ko) * 2012-09-13 2014-03-21 충북대학교 산학협력단 트래픽 정보 기반 원격 전원 관리 및 대기전원 관리가 가능한 홈 게이트웨이 장치 및 홈 게이트웨이 시스템
JP2017506025A (ja) * 2013-12-27 2017-02-23 ビッグ スウィッチ ネットワークス インコーポレイテッド ネットワークサービス挿入を実行するシステム及び方法
JP2016163245A (ja) * 2015-03-04 2016-09-05 株式会社デンソー イーサネットスイッチおよびゲートウェイ装置
KR20170093648A (ko) * 2016-02-05 2017-08-16 아토리서치(주) 소프트웨어 정의 네트워크에서 브로드캐스트를 처리하는 방법, 장치 및 컴퓨터 프로그램
JP2019134301A (ja) * 2018-01-31 2019-08-08 日立オートモティブシステムズ株式会社 車載ネットワークシステム、電子制御装置、ゲートウェイ装置

Also Published As

Publication number Publication date
KR102394491B1 (ko) 2022-05-06

Similar Documents

Publication Publication Date Title
CN108206847B (zh) Cdn管理***、方法及装置
US6182130B1 (en) Method for enhancing the performance of a network
JP3092135B2 (ja) アプリケーシヨン実行制御方法
CN111431740A (zh) 数据的传输方法、装置、设备及计算机可读存储介质
CN112511611A (zh) 节点集群的通信方法、装置、***及电子设备
US20220261275A1 (en) Self-evolving microservices
EP0954918B1 (en) System and method for communications and process management in a distributed telecommunications switch
CN110855488A (zh) 一种虚拟机接入方法及装置
JP4964666B2 (ja) 冗長化された通信経路を切り替える計算機、プログラム及び方法
KR102394491B1 (ko) 네트워크에 연결된 기기들의 서비스 기반의 동작에 관한 정보를 획득하기 위한 방법과 장치
US20080281969A1 (en) Controlling access to versions of application software by a server, based on site ID
CN112152943A (zh) 基于处理器拟态交换机控制执行体的方法及***
CN116881040A (zh) 一种业务操作处理方法、装置、电子装置和存储介质
US9535874B2 (en) Host embedded controller interface bridge
JP3642594B2 (ja) 開発支援装置
CN102393887A (zh) 基于lsm基制的应用集中管理***及方法
US10333792B2 (en) Modular controller in software-defined networking environment and operating method thereof
CN111585858B (zh) 一种多输入多输出矩阵软总线通信方法和***
JPH09160847A (ja) クライアント・サーバ型分散処理システム
CN115514609B (zh) 一种Socket链路受限的发布订阅***及方法
CN114285863B (zh) 通过更新执行状态判断装置运作状况的***及方法
CN102983993B (zh) 一种提升snmp设备数据处理速度的方法及***
JP3501650B2 (ja) プログラマブルコントローラネットワークシステム
US20020184243A1 (en) Base host-switching database-management system
JPH02297633A (ja) タスク管理方式

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right