KR101940802B1 - 단말 자원을 활용한 지역삼각형 개수 산출 시스템 및 그 동작 방법 - Google Patents

단말 자원을 활용한 지역삼각형 개수 산출 시스템 및 그 동작 방법 Download PDF

Info

Publication number
KR101940802B1
KR101940802B1 KR1020160012791A KR20160012791A KR101940802B1 KR 101940802 B1 KR101940802 B1 KR 101940802B1 KR 1020160012791 A KR1020160012791 A KR 1020160012791A KR 20160012791 A KR20160012791 A KR 20160012791A KR 101940802 B1 KR101940802 B1 KR 101940802B1
Authority
KR
South Korea
Prior art keywords
node
local
information
triangles
server
Prior art date
Application number
KR1020160012791A
Other languages
English (en)
Other versions
KR20170091912A (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 KR1020160012791A priority Critical patent/KR101940802B1/ko
Publication of KR20170091912A publication Critical patent/KR20170091912A/ko
Application granted granted Critical
Publication of KR101940802B1 publication Critical patent/KR101940802B1/ko

Links

Images

Classifications

    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0813Configuration setting characterised by the conditions triggering a change of settings
    • 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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • 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/14Network analysis or design

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Image Generation (AREA)

Abstract

본 발명은 단말 자원을 활용한 지역삼각형 개수 산출 방법에 관한 것으로서, 본 발명의 실시예에 따른 단말 자원을 활용한 지역삼각형 개수 산출 방법은 단말 자원을 활용한 지역삼각형 개수 산출 방법은 서버에서 제1 및 제2 노드에게 상기 제1 노드와 상기 제2 노드 간의 신규 에지가 추가됨을 알리는 단계, 상기 제1 노드에서 기저장된 제1 이웃 집합 정보에 상기 제2 노드의 정보를 추가하여 업데이트하고, 상기 제2 노드에서 기저장된 제2 이웃 집합 정보에 상기 제1 노드의 정보를 추가하여 업데이트하는 단계, 상기 제2 노드에서 업데이트된 상기 제2 이웃 집합 정보를 상기 제2 노드로 전송하는 단계, 상기 제1 노드에서 상기 제2 노드로부터 수신되는 상기 제2 이웃 집합 정보와 상기 제1 이웃 집합 정보를 기반으로 공통 이웃 노드와 상기 공통 이웃 노드에 의해 생성되는 지역삼각형의 개수를 구하는 단계, 및 상기 제1 노드에서 상기 공통 이웃 노드의 정보와 상기 지역삼각형의 개수를 상기 서버로 전송하는 단계를 포함한다.

Description

단말 자원을 활용한 지역삼각형 개수 산출 시스템 및 그 동작 방법{System for calculating the number of the local triangular using the terminal resources and method thereof}
본 발명은 다수의 노드로 구성된 네트워크 기술에 관한 것으로, 특히 단말 자원을 활용한 지역삼각형(local triangles) 개수 산출 시스템 및 그 동작 방법에 관한 것이다.
오늘날 IoT(Internet of Things) 환경에서 다양한 디바이스가 인터넷과 연결되어 실시간으로 데이터를 생산 및 수집한다. 생산 및 수집된 데이터는 서버로 전송되고 분석되어 유용하게 사용될 수 있다. 이때, 서버는 노드들간의 연결 관계를 파악하여 지역삼각형(local triangles)의 개수를 산출(카운팅)할 수 있다. 여기서, 지역삼각형이란 그래프 안에서 각 노드별 그 노드가 포함되어 있는 삼각형을 말한다. 이때, 산출된 지역삼각형의 개수는 스팸 추적(spam detection), 가짜 계정 추적(fake account detection), 커뮤니티 추적(community detection) 및 이상 추적(anomaly detection) 등 다양한 사례에 적용된다.
서버는 복수의 노드로 구성된 그래프를 관리하는데, 그 그래프 안에는 노드와 노드 간의 연결(에지, edge)가 포함된다. 기존에는 그래프를 분석하는데 메모리를 얼마를 쓰든 계산식이 얼마나 정확하든 간에 서버에서 그래프의 형상을 모아 처리하는 방식이었다.
예컨대, 도 1과 같이 서버와 복수의 노드(u노드, w노드, v노드)가 존재하며, u노드와 w노드를 연결하는 에지가 구성되어 있다고 가정한다. 이때, u노드와 v노드를 연결하는 새로운 에지(e=(u, v))가 추가되면, 서버는 도 2와 같은 과정을 거쳐 지역삼각형의 개수를 업데이트 한다.
구체적으로, 서버는 u노드의 이웃 집합 정보(Nu), v노드의 이웃 집합 정보(Nv)에 추가된 에지(e)를 근거로 서로 이웃으로 추가한다(S201). 이후, 서버는 u노드의 이웃 집합 정보(Nu)와 v노드의 이웃 집합 정보(Nv)의 공통 이웃 노드(교집합)(N)을 구한다(S202). 이렇게 구해진 공통 이웃 노드(N)를 통해 u노드와 v노드각각에 기저장된 자신의 지역삼각형의 개수를 업데이트한다(S203). 이때, 새로운 에지(e)를 통해 새로 생기는 지역삼각형은 두 노드(u노드와 v노드) 모두의 이웃하는 공통 이웃 노드에 의해 형성되는 것은 자명하다. 이후, u 노드와 v노드의 공통 이웃 노드(w노드)에 저장된 지역삼각형의 개수를 업데이트한다(S204). 여기서, 공통이웃 노드는 자신의 지역삼각형 개수에 1을 추가한다.
이와 같은 과정을 통하면 지역삼각형의 개수를 정확하게 산출할 수 있다. 하지만, 전술한 바와 같이 모든 그래프의 형상이 서버 메모리에 올라와야 위의 계산이 가능하다. 대표적인 SNS 서비스 회사인 페이스북의 경우 실 사용자(노드)가 10억명 정도라고 하는데 그 관계(에지)는 이론상 (10억)2/2다.
그러나, 최근 노드와 에지의 개수가 늘어나면서 그래프 자체의 크기가 늘어나고, 모든 그래프의 형상을 서버 메모리에 한꺼번에 올려놓고 분석하기가 어려워졌다. 그리고, 에지의 추가 및 삭제가 동적으로 일어나면, 그 변화에 대한 계산이 지속적으로 이루어져야 하는데 그러한 연산 또한 쉽지 않다.
이와 같이, 그래프의 형상을 서버 메모리에 다 올려놓고 비교할 수가 없기 때문에 샘플링이라는 방법을 사용하여 그보다 훨씬 작은 그래프로 지역삼각형을 예측할 수 있다. 샘플링 방법은 모든 그래프를 다 서버의 메모리에 올려놓고 계산하는 것이 아니라 일정 확률로 에지를 선별하여 지역삼각형의 개수를 산출하고, 산출된 결과에 계산식을 사용하여 보정된 값을 구한다. 이러한 방식은 메모리 요구량을 줄이면서도 계산시에 따라 상당히 정확한 지역삼각형의 개수를 구할 수 있다.
그러나, 이러한 샘플링 방법은 추정값일 뿐 오차가 존재하며, 메모리를 상당히 절약하지만 서버의 부담이 크다.
본 발명의 목적은 노드에 해당하는 단말이나 사용자가 보유한 메모리와 컴퓨팅 자원을 활용하여 지역삼각형의 개수를 산출하는 시스템 및 방법을 제공함에 있다.
전술한 과제를 달성하기 위한 본 발명의 일 양상에 따른 단말 자원을 활용한 지역삼각형 개수 산출 방법은 서버에서 제1 및 제2 노드에게 상기 제1 노드와 상기 제2 노드 간의 신규 에지가 추가됨을 알리는 단계, 상기 제1 노드에서 기저장된 제1 이웃 집합 정보에 상기 제2 노드의 정보를 추가하여 업데이트하고, 상기 제2 노드에서 기저장된 제2 이웃 집합 정보에 상기 제1 노드의 정보를 추가하여 업데이트하는 단계, 상기 제2 노드에서 업데이트된 상기 제2 이웃 집합 정보를 상기 제2 노드로 전송하는 단계, 상기 제1 노드에서 상기 제2 노드로부터 수신되는 상기 제2 이웃 집합 정보와 상기 제1 이웃 집합 정보를 기반으로 공통 이웃 노드와 상기 공통 이웃 노드에 의해 생성되는 지역삼각형의 개수를 구하는 단계, 및 상기 제1 노드에서 상기 공통 이웃 노드의 정보와 상기 지역삼각형의 개수를 상기 서버로 전송하는 단계를 포함한다.
상기 단말 자원을 활용한 지역삼각형 개수 산출 방법은 상기 제1 노드에서 기저장된 제1 지역삼각형 정보에 상기 지역삼각형의 개수를 업데이트하는 단계를 더 포함한다.
상기 단말 자원을 활용한 지역삼각형 개수 산출 방법은 상기 제1 노드에서 상기 지역삼각형의 개수를 상기 제2 노드로 전송하는 단계, 및 상기 제2 노드에서 기저장된 제2 지역삼각형 정보에 수신된 상기 지역삼각형의 개수를 업데이트하는 단계를 더 포함한다.
상기 단말 자원을 활용한 지역삼각형 개수 산출 방법은 상기 서버에서 수신된 상기 공통 이웃 노드의 정보와 상기 지역삼각형의 개수를 기반으로 그래프의 형상을 업데이트하는 단계를 더 포함한다.
상기 단말 자원을 활용한 지역삼각형 개수 산출 방법은 상기 서버에서 상기 공통 이웃 노드 각각에게 상기 지역삼각형 개수가 1씩 추가됨을 알리는 단계, 상기 공통 이웃 노드에 포함된 제3 노드에서 기저장된 제3 지역삼각형 정보에 포함된 지역삼각형 개수에 1을 더하는 단계를 더 포함한다.
상기 신규 에지가 추가됨을 알리는 단계는 상기 제1 및 제2 노드 중 적어도 하나의 노드로부터 상기 제1 노드와 상기 제2 노드 간의 에지 연결이 요청되면, 상기 제1 및 제2 노드에게 상기 신규 에지가 추가됨을 알린다.
한편, 전술한 과제를 달성하기 위한 본 발명의 다른 양상에 따른 단말 자원을 활용한 지역삼각형 개수 산출 방법은 서버에서 제1 노드에게 상기 제1 노드와 제2 노드 간의 신규 에지가 추가됨을 알리는 단계, 상기 서버에서 상기 제2 노드에 저장된 제2 이웃 집합 정보를 상기 제1 노드로 전송하는 단계, 상기 제1 노드에서 기저장된 제1 이웃 집합 정보에 상기 제2 노드의 정보를 추가하여 업데이트하는 단계, 상기 제1 노드에서 업데이트된 상기 제1 이웃 집합 정보와 상기 제2 이웃 집합 정보를 기반으로 공통 이웃 노드와 상기 공통 이웃 노드에 의해 생성되는 지역삼각형의 개수를 구하는 단계, 및 상기 제1 노드에서 상기 공통 이웃 노드의 정보와 상기 지역삼각형의 개수를 상기 서버로 전송하는 단계를 포함한다.
상기 단말 자원을 활용한 지역삼각형 개수 산출 방법은 상기 제1 노드에서 상기 제1 지역삼각형 정보에 상기 지역삼각형의 개수를 업데이트하는 단계를 더 포함한다.
상기 단말 자원을 활용한 지역삼각형 개수 산출 방법은 상기 서버에서 수신된 상기 공통 이웃 노드의 정보와 상기 지역삼각형의 개수를 기반으로 그래프의 형상을 업데이트하는 단계를 더 포함한다.
상기 단말 자원을 활용한 지역삼각형 개수 산출 방법은 상기 서버에서 상기 제2 노드에게 상기 신규 에지가 추가됨을 알리고, 상기 지역삼각형의 개수를 상기 제2 노드로 전송하는 단계를 더 포함한다.
상기 단말 자원을 활용한 지역삼각형 개수 산출 방법은 상기 제2 노드에서 상기 제2 이웃 집합 정보에 상기 제1 노드의 정보를 추가하여 업데이트하고, 기저장된 제2 지역삼각형 정보에 수신된 상기 지역삼각형의 개수를 업데이트하는 단계를 더 포함한다.
상기 단말 자원을 활용한 지역삼각형 개수 산출 방법은 상기 서버에서 상기 공통 이웃 노드 각각에게 상기 지역삼각형 개수가 1씩 추가됨을 알리는 단계, 및 상기 공통 이웃 노드에 포함된 제3 노드에서 기저장된 제3 지역삼각형 정보에 포함된 지역삼각형 개수에 1을 더하는 단계를 더 포함한다.
상기 신규 에지가 추가됨을 알리는 단계는 외부로부터 상기 제1 노드와 상기 제2 노드 간의 에지 연결이 요청되면, 상기 제1 노드에게 상기 신규 에지가 추가됨을 알린다.
본 발명의 실시예에 따르면, 서버가 지역삼각형을 오롯이 구하는 방식을 탈피하여 노드 단말의 자원을 활용하여 분산 처리함으로써, 대형 그래프 분석이 정확하면서도 효율적으로 수행될 수 있다.
도 1은 종래의 지역삼각형 개수 산출 방식을 설명하기 위한 제1 참조도.
도 2는 종래의 지역삼각형 개수 산출 방식을 설명하기 위한 제2 참조도.
도 3은 본 발명의 실시예에 따른 단말 자원을 활용한 지역삼각형 개수 산출 시스템 구성도.
도 4는 본 발명의 일 실시예에 따른 단말 자원을 활용한 지역삼각형 개수 산출 방법 흐름도.
도 5는 본 발명의 다른 실시예에 따른 단말 자원을 활용한 지역삼각형 개수 산출 방법 흐름도.
본 발명의 이점 및 특징, 그리고 그것들을 달성하는 방법은 첨부되는 도면과 함께 상세하게 후술되어 있는 실시예들을 참조하면 명확해질 것이다. 그러나 본 발명은 이하에서 개시되는 실시예들에 한정되는 것이 아니라 서로 다른 다양한 형태로 구현될 것이며, 단지 본 실시예들은 본 발명의 개시가 완전하도록 하며, 본 발명이 속하는 기술분야에서 통상의 지식을 가진 자에게 발명의 범주를 완전하게 알려주기 위해 제공되는 것이며, 본 발명은 청구항의 기재에 의해 정의된다. 한편, 본 명세서에서 사용된 용어는 실시예들을 설명하기 위한 것이며 본 발명을 제한하고자 하는 것은 아니다. 본 명세서에서, 단수형은 문구에서 특별히 언급하지 않는 한 복수형도 포함한다. 명세서에서 사용되는 "포함한다(comprises)" 또는 "포함하는(comprising)"은 언급된 구성요소, 단계, 동작 및/또는 소자 이외의 하나 이상의 다른 구성요소, 단계, 동작 및/또는 소자의 존재 또는 추가를 배제하지 않는다.
이하, 본 발명의 바람직한 실시예를 첨부된 도면들을 참조하여 상세히 설명한다. 우선 각 도면의 구성요소들에 참조부호를 부가함에 있어서, 동일한 구성요소들에 대해서는 비록 다른 도면상에 표시되더라도 가급적 동일한 부호를 부여하고, 또한 본 발명을 설명함에 있어, 관련된 공지 구성 또는 기능에 대한 구체적인 설명이 본 발명의 요지를 흐릴 수 있는 경우에는 그 상세한 설명은 생략한다.
도 3은 본 발명의 실시예에 따른 단말 자원을 활용한 지역삼각형 개수 산출 시스템의 전체 구성도이다.
도 3에 도시된 바와 같이, 본 발명의 실시예에 따른 단말 자원을 이용한 지역삼각형 개수 산출 시스템은 서버(110), 제1 노드(121), 제2 노드(122) 및 제3 노드(123)을 포함한다.
여기서, 노드들(제1 내지 제3 노드(121~123))은 다양한 형태(형상)을 취할 수 있다. 예컨대, 노드가 페이스북(Facebook)이나 트위터(Twitter)와 같은 SNS의 한 사용자일 경우에는 응용이나 웹브라우저, 플러그인과 같은 소프트웨어(SW)의 형태일 수 있다. 또는, 노드가 네트워크의 게이트웨이나 IoT(Internet of Things)의 하나의 Things일 경우에는 임베디드 소프트웨어(SW)의 형태를 취할 수 있다. 이러한 노드의 공통점은 저장공간과 컴퓨팅 자원을 보유하고 있고, 네트워크로 연결되어 통신이 가능하다는 것이다.
아울러, 노드들(제1 내지 제3 노드(121~123)) 각각은 자신과 이웃한 이웃 노드들에 대한 정보가 포함된 이웃 집합 정보를 저장할 수 있다. 여기서, 이웃 노드들에 대한 정보는 이웃 노드의 고유 식별자(ID) 정보일 수 있다. 예컨대, 이웃 노드는 자신과 에지(edge)로 연결된 노드일 수 있다. 구체적으로, 도 3을 참조하면 제1 노드(121)의 이웃 집합 정보(제1 이웃 집합 정보)에는 제1 노드(121)와 에지로 연결된 이웃 노드인 제3 노드(123)의 정보가 저장되어 있을 수 있다. 이와 마찬가지로, 제3 노드(123)의 이웃 집합 정보(제3 이웃 집합 정보)에는 제3 노드(123)와 에지로 연결된 이웃 노드인 제1 노드(121)의 정보가 저장되어 있을 수 있다.
아울러, 노드들(제1 내지 제3 노드(121~123)) 각각은 자신과 관계된 지역삼각형(local triangles) 정보도 기저장되어 있을 수 있다. 이때, 노드들(제1 내지 제3 노드(121~123)) 각각의 지역삼각형 정보에는 자신과 함께 지역삼각형을 형성하는 다른 노드 또는 서버의 정보가 포함될 수 있다. 또한, 노드들(제1 내지 제3 노드(121~123)) 각각의 지역삼각형 정보에는 자신이 관련된 지역삼각형의 개수도 저장될 수 있다. 예컨대, 제1 노드(121)는 자신과 관계된 지역삼각형 정보(제1 지역삼각형 정보)(△u)를 기저장할 수 있으며, 이와 마찬가지로 제2 및 제3 노드(122, 123) 각각도 자신과 관계된 지역삼각형 정보(제2 및 제3 지역삼각형 정보(△v, △w)를 포함할 수 있다.
한편, 본 발명에서는 노드들 간에 에지가 추가되거나 삭제되는 경우, 노드에 해당하는 단말이나 사용자가 보유한 메모리와 컴퓨팅 자원을 활용하여 지역삼각형의 개수를 산출하는 기술을 설명한다. 즉, 본 발명의 실시예에 따르면 그래프의 형상을 노드에서 나눠서 저장하거나 서버로부터 다운로드 받고, 서버 대신 노드에서 지역삼각형의 개수 산출을 계산할 수 있다.
이하에서는, 설명의 편의를 위해 제1 노드(121)와 제2 노드(122) 간의 새로운 에지(e=u, v)가 추가되는 경우를 가정하여 설명한다.
도 4는 본 발명의 일 실시예에 따른 단말 자원을 활용한 지역삼각형 개수 산출 방법 흐름도이다.
먼저, 제1 노드(121)와 제2 노드(122) 간의 신규 에지(e)의 추가를 요청 받는다 (S401). 이때, 서버(110)는 외부로부터 제1 노드(121)와 제2 노드(122) 간의 신규 에지 추가 요청(request)을 수신할 수 있다. 일 예로서, 서버(110)는 시스템 전체의 네트워크를 유지하고 관리하는 네트워크 관리자의 입력에 따라 신규 에지 추가 요청을 수신할 수 있다. 다른 예로서, 서버(110)는 제1 노드(121)와 제2 노드(122) 중 적어도 하나의 노드의 사용자의 조작으로 인해 제1 노드(121)와 제2 노드(122) 간의 에지 연결이 요청될 수 있다. 또는, 서버(110)는 제1 노드(121)와 제2 노드(122) 간의 에지 연결이 요청되면 자체적인 평가를 통해 에지 연결 요청에 대한 승인(accept)할 수 있다.
신규 에지(e)의 추가 요청을 받으면, 서버(110)는 제1 및 제2 노드(121, 122)에게 제1 노드(121)와 제2 노드(122) 간의 신규 에지(e)의 추가를 알린다(S402). 덧붙여, 서버(110)는 제1 노드(121)와 제2 노드(122) 간의 연결 방법을 제1 및 제2 노드(121, 122) 각각에게 제시할 수 있다.
예컨대, 서버(110)는 제1 및 제2 노드(121, 122) 각각에게 기저장된 자신의 이웃 집합 정보(Nu, Nv)에 서로를 추가 저장하는 것을 요청할 수 있다. 구체적으로, 서버(110)는 신규 에지(e)를 근거로 제1 노드(121)에 기저장된 제1 이웃 집합 정보(Nu)에 제2 노드(122)의 정보가 추가될 수 있도록 제1 노드(121)에게 요청하며, 제2 노드(122)에 기저장된 제2 이웃 집합 정보(Nv)에 제1 노드(121)의 정보가 추가될 수 있도록 제2 노드(122)에게 요청할 수 있다.
이에 따라, 제1 노드(121)는 자신의 이웃 집합 정보(제1 이웃 집합 정보)(Nu)에 제2 노드(122)의 정보를 추가(Insert v to Nu)하고, 제2 노드(122)는 자신의 이웃 집합 정보(제2 이웃 집합 정보)(Nv)에 제1 노드(121)의 정보를 추가(Insert u to Nv)하여 자신의 이웃 집합 정보를 업데이트할 수 있다(S403-1, S403-2)
아울러, 서버(110)는 제1 노드(121) 및 제2 노드(122) 중 어느 하나의 노드에게 업데이트된 자신의 이웃 집합 정보를 다른 노드에게 전송하도록 지시할 수 있다. 이때, 지시는 단계 S402에서 연결 방법을 제시할 시 함께 지시할 수 있다. 예컨대, 서버(110)는 제2 노드(122)에게 제1 노드(121)의 정보가 추가되어 업데이트된 제2 이웃 집합 정보(Nv)를 제1 노드(121)에게 전송하도록 지시할 수 있다. 이에 따라, 제2 노드(122)는 업데이트된 자신의 이웃 집합 정보(Nv)를 제1 노드(121)에게 전송할 수 있다(S404). 이때, 특정 도메인에서는 자신의 이웃 집합 정보를 암호화 처리하여 비교 분석하는 기법 등을 사용할 수도 있다.
제2 노드(122)로부터 제2 이웃 집합 정보(Nv)를 수신한 제1 노드(121)는 수신된 제2 이웃 집합 정보(Nv)와 자신의 이웃 집합 정보(제1 이웃 집합 정보)(Nu)의 교집합(N)(공통 이웃 노드)과 교집합(N)에 의해 생성되는 지역삼각형의 개수(|N|)를 구한다(S405). 이때, 신규 에지(e)를 통해 새로 생성되는 지역삼각형에 포함된 노드는 두 노드(제1 및 제2 노드(121, 122)) 모두의 이웃 노드인 것은 자명하다.
이렇게 구해진 결과는 그래프의 형상과 지역함각형의 개수를 변화시키기 때문에, 제1 노드(121)는 단계 S405에서 구해진 공통 이웃 노드(N)의 정보와 공통 이웃 노드(N)에 의해 새로 생성되는 지역삼각형의 개수(|N|)를 서버(110)로 전송하며(S406-1), 제2 노드(122)로는 생성된 지역삼각형의 개수(|N|)를 전송한다(S406-2).
서버(110)는 제1 노드(121)로부터 수신된 공통 이웃 노드(N) 정보와 공통 이웃 노드(N)에 의해 생성되는 지역삼각형의 개수(|N|)를 기반으로 그래프의 형상을 업데이트한다(S407).
아울러, 제1 노드(121)와 제2 노드(122) 각각은 자신의 지역삼각형 정보(△u, △v)에 공통 이웃 노드(N)에 의해 생성되는 지역삼각형의 개수(|N|)를 반영하여 업데이트한다(S408-1, S408-2). 구체적으로, 제1 노드(121)는 자신의 지역삼각형 정보(△u)에 공통 이웃 노드(N)에 의해 생성되는 지역삼각형의 개수(|N|)를 반영하여 자신의 지역삼각형 정보(제1 지역삼각형 정보)(△u)를 업데이트하며(△u=△u+|N|), 제2 노드(122)는 자신의 지역삼각형 정보(제2 지역삼각형 정보)(△v)에 공통 이웃 노드(N)에 의해 생성되는 지역삼각형의 개수(|N|)를 반영하여 자신의 지역삼각형 정보(△v)를 업데이트한다(△v=△v+|N|).
또한, 서버(110)는 제1 및 제2 노드(121, 122)의 공통 이웃 노드 각각에게 지역삼각형의 개수가 1씩 추가됨을 알린다(S409). 예컨대, 제3 노드(123)가 제1 및 제2 노드(121, 122)의 공통 이웃 노드일 경우, 서버(110)는 제3 노드(123)에게 지역삼각형의 개수를 1씩 추가함을 요청할 수 있다.
이에 따라, 제3 노드(123)는 자신의 지역삼각형 정보(△w)에 1개를 추가하여(△w=△w+1) 자신의 지역삼각형 정보(△w)를 업데이트할 수 있다(S410). 상기의 과정 중에서, 단계 S407, S408-1, S408-2, S409, S410의 동작 순서는 상황에 따라 바뀌어도 무방하다.
또 다른 방식으로 단말 자원을 활용한 지역삼각형 개수 산출하는 방법으로는 서버(110)에서 그래프의 형상을 내려주는 방식이 있다. 이는, 노드 간의 직접적인 연결은 나타나지 않고 서버가 주관하여 관리하는 방법이다.
이하, 도 5를 참조하여 본 발명의 다른 실시예에 따른 단말 자원을 활용한 지역삼각형 개수 산출 방법에 대해 설명한다.
도 5는 본 발명의 다른 실시예에 따른 단말 자원을 활용한 지역삼각형 개수 산출 방법 흐름도이다.
먼저, 제1 노드(121)와 제2 노드(122) 간의 신규 에지(e)의 추가를 요청 받는다 (S501). 이때, 서버(110)는 외부로부터 제1 노드(121)와 제2 노드(122) 간의 신규 에지 추가 요청(request)을 수신할 수 있다. 일 예로서, 서버(110)는 시스템 전체의 네트워크를 유지하고 관리하는 네트워크 관리자의 입력에 따라 신규 에지 추가 요청을 수신할 수 있다. 다른 예로서, 서버(110)는 제1 노드(121)와 제2 노드(122) 중 적어도 하나의 노드의 사용자의 조작으로 인해 제1 노드(121)와 제2 노드(122) 간의 에지 연결이 요청될 수 있다. 또는, 서버(110)는 제1 노드(121)와 제2 노드(122) 간의 에지 연결이 요청되면 자체적인 평가를 통해 에지 연결 요청에 대한 승인(accept)할 수 있다.
신규 에지(e)의 추가 요청을 받으면, 서버(110)는 제1 노드(121)에게 제1 노드(121)와 제2 노드(122) 간의 신규 에지(e)의 추가를 알린다(S502). 이와 동시에, 서버(110)는 제1 노드(121)에게 제2 노드(122)의 이웃 집합 정보(제2 이웃 집합 정보)(Nv)의 정보를 전송한다.
이에 따라, 제1 노드(121)는 자신의 이웃 집합 정보(Nu)에 제2 노드(122)의 정보를 추가하여(Insert v to Nu) 자신의 이웃 집합 정보를 업데이트 하며, 서버(110)로부터 수신한 제2 이웃 집합 정보(Nv)와 자신의 이웃 집합 정보(제1 이웃 집합 정보)(Nu)의 교집합(N)(공통 이웃 노드)과 교집합(N)에 의해 생성되는 지역삼각형의 개수(|N|)를 구한다(S503). 이때, 신규 에지(e)를 통해 새로 생성되는 지역삼각형에 포함된 노드는 두 노드(제1 및 제2 노드(121, 122)) 모두의 이웃 노드인 것은 자명하다.
이렇게 구해진 결과는 그래프의 형상과 지역함각형의 개수를 변화시키기 때문에, 제1 노드(121)는 단계 S503에서 구해진 공통 이웃 노드(N)의 정보와 공통 이웃 노드(N)에 의해 새로 생성되는 지역삼각형의 개수(|N|)를 서버(110)로 전송한다(S504).
서버(110)는 제1 노드(121)로부터 수신된 공통 이웃 노드(N) 정보와 공통 이웃 노드(N)에 의해 생성되는 지역삼각형의 개수(|N|)를 기반으로 그래프의 형상을 업데이트한다(S505).
아울러, 제1 노드(121)는 자신의 지역삼각형 정보(△u)에 공통 이웃 노드(N)에 의해 생성되는 지역삼각형의 개수(|N|)를 반영하여 업데이트한다(S506).
한편, 서버(110)는 공통 이웃 노드(N)에게 지역삼각형의 개수가 1씩 추가됨을 알린다(S507). 예컨대, 제3 노드(123)가 제1 및 제2 노드(121, 122)의 공통 이웃 노드일 경우, 서버(110)는 제3 노드(123)에게 지역삼각형의 개수를 1씩 추가함을 요청할 수 있다.
이에 따라, 제3 노드(123)는 자신의 지역삼각형 정보(△w)에 1개를 추가하여(△w=△w+1) 자신의 지역삼각형 정보(△w)를 업데이트할 수 있다(S508).
아울러, 서버(110)는 제2 노드(122)에게 제1 노드(121)와 제2 노드(122) 간의 신규 에지(e)의 추가를 알리며, 공통 이웃 노드(N)에 의해 생성되는 지역삼각형의 개수(|N|)를 전송한다(S509).
이에 따라, 제2 노드(122)는 자신의 이웃 집합 정보(제2 이웃 집합 정보)(Nv)에 서버(110)로부터 수신된 제1 노드(121)의 정보를 추가(Insert u to Nv)하여 자신의 이웃 집합 정보를 업데이트하며, 자신의 지역삼각형 정보(△v)에 공통 이웃 노드(N)에 의해 생성되는 지역삼각형의 개수(|N|)를 반영하여 자신의 지역삼각형 정보(△v)를 업데이트한다(△v=△v+|N|)(S510).
이러한 방식은 도 4의 방식보다 서버(110)의 작업량은 늘지만 노드 간의 불안정한 간섭은 최소화한다. 예컨대, 도 4의 방식에서 제2 이웃 집합 정보(Nv)를 제1 노드(121)로 전송하는 것을 제2 노드(122)가 담당했다면, 도 5의 방식에서는 서버(110)가 담당한다. 마찬가지로, 도 4에서 제1 노드(121)가 공통 이웃 노드(N)의 정보와 공통 이웃 노드(N)에 의해 새로 생성되는 지역삼각형의 개수(|N|)를 제2 노드(122)에 전송하여 새로운 그래프 형상을 업데이트하도록 요청하였다면, 도 5의 방식에서는 서버(110)가 담당한다.
아울러, 본 발명은 이러한 핵심적인 요소를 포함한 분산 처리 지역삼각형 개수 산출의 다양한 변형을 포함한다. 예컨대, 단계의 선후관계를 다소 바꾸거나 서버의 역할을 더 늘리는 방식 등의 다양한 변형이 있을 수 있다.
이와 같이, 본 발명의 실시예에 따르면, 서버가 지역삼각형을 오롯이 구하는 방식을 탈피하여 노드 단말의 자원을 활용하여 분산 처리함으로써, 대형 그래프 분석이 정확하면서도 효율적으로 수행될 수 있다.
예컨대, 본 발명의 실시예는 SNS 서비스에서 스팸 계정을 색출할 때 적용될 수 있다. 여기서, SNS 서비스를 사용하는 사용자 단말 또는 브라우저가 노드가 되는 것이고 그 상단에 SNS 서비스를 제공하는 서버가 존재한다.
스팸 계정을 색출하기 위한 지역삼각형 카운팅 방법에서 각 사용자 단말 또는 브라우저의 저장 공간에 자신의 친구(이웃) 리스트가 기록되어 있고 지역삼각형의 개수가 기록되어 있다. 이때, 그래프의 형상이 노드(단말)에 분산 기록되어 있을 수 있다. 또한, 새로운 친구 관계가 맺어지는 것이 새로운 에지(e=(u, v))가 추가되는 상황일 수 있다. 기존에는 서버에서 그래프 분석을 담당하여 스팸 계정을 색출하고 있는데, 본 발명의 실시예에 따르면 사용자 단말을 활용하여 그래프 분석을 효과적이며 정확하게 수행하여 스팸 계정을 색출할 수 있다.
이상, 본 발명의 바람직한 실시예를 통하여 본 발명의 구성을 상세히 설명하였으나, 본 발명이 속하는 기술분야의 통상의 지식을 가진 자는 본 발명이 그 기술적 사상이나 필수적인 특징을 변경하지 않고서 본 명세서에 개시된 내용과는 다른 구체적인 형태로 실시될 수 있다는 것을 이해할 수 있을 것이다. 그러므로 이상에서 기술한 실시예들은 모든 면에서 예시적인 것이며 한정적이 아닌 것으로 이해해야만 한다. 본 발명의 보호범위는 상기 상세한 설명보다는 후술하는 특허청구범위에 의하여 나타내어지며, 특허청구의 범위 그리고 그 균등 개념으로부터 도출되는 모든 변경 또는 변형된 형태가 본 발명의 범위에 포함되는 것으로 해석되어야 한다.
110 : 서버 121 : 제1 노드
122 : 제2 노드 123 : 제3 노드

Claims (13)

  1. 서버에서 제1 및 제2 노드에게 상기 제1 노드와 상기 제2 노드 간의 신규 에지가 추가됨을 알리는 단계;
    상기 제1 노드에서 기저장된 제1 이웃 집합 정보에 상기 제2 노드의 정보를 추가하여 업데이트하고, 상기 제2 노드에서 기저장된 제2 이웃 집합 정보에 상기 제1 노드의 정보를 추가하여 업데이트하는 단계;
    상기 제2 노드에서 업데이트된 상기 제2 이웃 집합 정보를 상기 제1 노드로 전송하는 단계;
    상기 제1 노드에서 상기 제2 노드로부터 수신되는 상기 제2 이웃 집합 정보와 상기 제1 이웃 집합 정보를 기반으로 공통 이웃 노드와 상기 공통 이웃 노드에 의해 생성되는 지역삼각형의 개수를 구하는 단계; 및
    상기 제1 노드에서 상기 공통 이웃 노드의 정보와 상기 지역삼각형의 개수를 상기 서버로 전송하는 단계;
    를 포함하는 단말 자원을 활용한 지역삼각형 개수 산출 방법.
  2. 제1항에 있어서,
    상기 제1 노드에서 기저장된 제1 지역삼각형 정보에 상기 지역삼각형의 개수를 업데이트하는 단계;
    를 더 포함하는 단말 자원을 활용한 지역삼각형 개수 산출 방법.
  3. 제1항에 있어서,
    상기 제1 노드에서 상기 지역삼각형의 개수를 상기 제2 노드로 전송하는 단계; 및
    상기 제2 노드에서 기저장된 제2 지역삼각형 정보에 수신된 상기 지역삼각형의 개수를 업데이트하는 단계;
    를 더 포함하는 단말 자원을 활용한 지역삼각형 개수 산출 방법.
  4. 제1항에 있어서,
    상기 서버에서 수신된 상기 공통 이웃 노드의 정보와 상기 지역삼각형의 개수를 기반으로 그래프의 형상을 업데이트하는 단계;
    를 더 포함하는 단말 자원을 활용한 지역삼각형 개수 산출 방법.
  5. 제1항에 있어서,
    상기 서버에서 상기 공통 이웃 노드 각각에게 상기 지역삼각형 개수가 1씩 추가됨을 알리는 단계; 및
    상기 공통 이웃 노드에 포함된 제3 노드에서 기저장된 제3 지역삼각형 정보에 포함된 지역삼각형 개수에 1을 더하는 단계;
    를 더 포함하는 단말 자원을 활용한 지역삼각형 개수 산출 방법.
  6. 제1항에 있어서, 상기 신규 에지가 추가됨을 알리는 단계는,
    상기 제1 및 제2 노드 중 적어도 하나의 노드로부터 상기 제1 노드와 상기 제2 노드 간의 에지 연결이 요청되면, 상기 제1 및 제2 노드에게 상기 신규 에지가 추가됨을 알리는 것
    인 단말 자원을 활용한 지역삼각형 개수 산출 방법.
  7. 서버에서 제1 노드에게 상기 제1 노드와 제2 노드 간의 신규 에지가 추가됨을 알리는 단계;
    상기 서버에서 상기 제2 노드에 저장된 제2 이웃 집합 정보를 상기 제1 노드로 전송하는 단계;
    상기 제1 노드에서 기저장된 제1 이웃 집합 정보에 상기 제2 노드의 정보를 추가하여 업데이트하는 단계;
    상기 제1 노드에서 업데이트된 상기 제1 이웃 집합 정보와 상기 제2 이웃 집합 정보를 기반으로 공통 이웃 노드와 상기 공통 이웃 노드에 의해 생성되는 지역삼각형의 개수를 구하는 단계; 및
    상기 제1 노드에서 상기 공통 이웃 노드의 정보와 상기 지역삼각형의 개수를 상기 서버로 전송하는 단계;
    를 포함하는 단말 자원을 활용한 지역삼각형 개수 산출 방법.
  8. 제7항에 있어서,
    상기 제1 노드에서 제1 지역삼각형 정보에 상기 지역삼각형의 개수를 업데이트하는 단계;
    를 더 포함하는 단말 자원을 활용한 지역삼각형 개수 산출 방법.
  9. 제7항에 있어서,
    상기 서버에서 수신된 상기 공통 이웃 노드의 정보와 상기 지역삼각형의 개수를 기반으로 그래프의 형상을 업데이트하는 단계;
    를 더 포함하는 단말 자원을 활용한 지역삼각형 개수 산출 방법.
  10. 제9항에 있어서,
    상기 서버에서 상기 제2 노드에게 상기 신규 에지가 추가됨을 알리고, 상기 지역삼각형의 개수를 상기 제2 노드로 전송하는 단계
    를 더 포함하는 단말 자원을 활용한 지역삼각형 개수 산출 방법.
  11. 제10항에 있어서,
    상기 제2 노드에서 상기 제2 이웃 집합 정보에 상기 제1 노드의 정보를 추가하여 업데이트하고, 기저장된 제2 지역삼각형 정보에 수신된 상기 지역삼각형의 개수를 업데이트하는 단계;
    를 더 포함하는 단말 자원을 활용한 지역삼각형 개수 산출 방법.
  12. 제9항에 있어서,
    상기 서버에서 상기 공통 이웃 노드 각각에게 상기 지역삼각형 개수가 1씩 추가됨을 알리는 단계; 및
    상기 공통 이웃 노드에 포함된 제3 노드에서 기저장된 제3 지역삼각형 정보에 포함된 지역삼각형 개수에 1을 더하는 단계;
    더 포함하는 단말 자원을 활용한 지역삼각형 개수 산출 방법.
  13. 제7항에 있어서, 상기 신규 에지가 추가됨을 알리는 단계는,
    외부로부터 상기 제1 노드와 상기 제2 노드 간의 에지 연결이 요청되면, 상기 제1 노드에게 상기 신규 에지가 추가됨을 알리는 것
    인 단말 자원을 활용한 지역삼각형 개수 산출 방법.
KR1020160012791A 2016-02-02 2016-02-02 단말 자원을 활용한 지역삼각형 개수 산출 시스템 및 그 동작 방법 KR101940802B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020160012791A KR101940802B1 (ko) 2016-02-02 2016-02-02 단말 자원을 활용한 지역삼각형 개수 산출 시스템 및 그 동작 방법

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR1020160012791A KR101940802B1 (ko) 2016-02-02 2016-02-02 단말 자원을 활용한 지역삼각형 개수 산출 시스템 및 그 동작 방법

Publications (2)

Publication Number Publication Date
KR20170091912A KR20170091912A (ko) 2017-08-10
KR101940802B1 true KR101940802B1 (ko) 2019-01-22

Family

ID=59652412

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020160012791A KR101940802B1 (ko) 2016-02-02 2016-02-02 단말 자원을 활용한 지역삼각형 개수 산출 시스템 및 그 동작 방법

Country Status (1)

Country Link
KR (1) KR101940802B1 (ko)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109993338B (zh) * 2017-12-29 2021-08-06 中移(苏州)软件技术有限公司 一种链路预测方法及装置

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101307337B1 (ko) * 2011-12-12 2013-09-10 건국대학교 산학협력단 맵 리듀스를 이용한 트라이앵글 카운팅 샘플링 장치 및 그 방법
KR101958494B1 (ko) * 2013-12-05 2019-03-14 건국대학교 산학협력단 트라이앵글 카운팅을 이용한 서비스 거부 공격 방어 장치 및 방법

Also Published As

Publication number Publication date
KR20170091912A (ko) 2017-08-10

Similar Documents

Publication Publication Date Title
CN107169094B (zh) 信息聚合方法及装置
CN113807538B (zh) 联邦学习方法、装置、电子设备及存储介质
US10939228B2 (en) Mobile device location proofing
US10862862B2 (en) Identifying devices on a remote network
US10452726B2 (en) In-network semantic mashup for an information-centric networking (ICN) network
CN110601978B (zh) 流量分发控制方法和装置
CN104243598A (zh) 一种信息推荐方法及装置
CN103139081A (zh) 分布式哈希表路由表更新方法及节点
WO2014151507A1 (en) System and method for omni-channel identity matching
CN113347269A (zh) 一种工业系统的数据更新方法、电子设备和存储介质
CN105100002A (zh) 属性的操作方法及装置
US10764724B2 (en) Method and apparatus for implementing member resource processing
KR101940802B1 (ko) 단말 자원을 활용한 지역삼각형 개수 산출 시스템 및 그 동작 방법
CN105530323A (zh) 一种文件升级方法、相关设备及系统
CN109471713B (zh) 用于查询信息的方法和装置
CN110888892A (zh) 一种区块同步方法、装置及存储介质
JP2023109707A (ja) ビデオ分析システムおよびデータ配信方法
CN107682271B (zh) 一种路由线路的生成方法及装置
EP3955542A1 (en) Enhancements for secure updating in communication networks
CN107517162B (zh) 一种cdn缓存服务器的确定方法及装置
CN109474712B (zh) 一种ip地理信息确定方法、服务器及存储介质
US9536199B1 (en) Recommendations based on device usage
CN103186570A (zh) 基于云端服务器的数据源查询系统及其方法
CN103970860B (zh) 一种数据处理的方法、装置及系统
CN110545333B (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
GRNT Written decision to grant