KR101396661B1 - 네트워크 관리 시스템, 네트워크 관리 방법, 노드 동작 방법 및 적응 네트워크의 자기 활성화 노드 - Google Patents

네트워크 관리 시스템, 네트워크 관리 방법, 노드 동작 방법 및 적응 네트워크의 자기 활성화 노드 Download PDF

Info

Publication number
KR101396661B1
KR101396661B1 KR1020097000368A KR20097000368A KR101396661B1 KR 101396661 B1 KR101396661 B1 KR 101396661B1 KR 1020097000368 A KR1020097000368 A KR 1020097000368A KR 20097000368 A KR20097000368 A KR 20097000368A KR 101396661 B1 KR101396661 B1 KR 101396661B1
Authority
KR
South Korea
Prior art keywords
network
role
node
nodes
roles
Prior art date
Application number
KR1020097000368A
Other languages
English (en)
Other versions
KR20090031723A (ko
Inventor
로저 산보른
제레미 셸던
Original Assignee
마이크로소프트 아말가매티드 컴퍼니 Iii
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 마이크로소프트 아말가매티드 컴퍼니 Iii filed Critical 마이크로소프트 아말가매티드 컴퍼니 Iii
Publication of KR20090031723A publication Critical patent/KR20090031723A/ko
Application granted granted Critical
Publication of KR101396661B1 publication Critical patent/KR101396661B1/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/04Network management architectures or arrangements
    • H04L41/042Network management architectures or arrangements comprising distributed management centres cooperatively managing the network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Mobile Radio Communication Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Computer And Data Communications (AREA)

Abstract

복수의 노드를 갖는 적응 네트워크를 관리하기 위한 시스템이 제공되고, 각 노드는 컴퓨터 실행가능한 명령들을 포함하는 메모리에 연결된 프로세서를 포함하고, 상기 컴퓨터 실행가능한 명령들은, 상기 프로세서에 의해 실행될 때, 상기 노드로 하여금 상기 적응 네트워크를 동작시키기 위한 적어도 하나의 역할을 이행하게 한다. 바람직하게는, 상기 노드들 중 적어도 하나는 활성의 관리 역할을 갖는다. 이 관리 노드는 네트워크 상태들을 판정하고 그 네트워크 상태들에 기초하여 상기 복수의 노드들 상에서 역할들을 선택적으로 활성화하도록 구성된다.
컴퓨터 네트워크, P2P(peer-to-peer), 노드

Description

네트워크 관리 시스템, 네트워크 관리 방법, 노드 동작 방법 및 적응 네트워크의 자기 활성화 노드{SYSTEMS AND METHODS FOR MANAGING NETWORKS}
[관련출원]
본 출원은, 본 명세서에 참고로 통합되는, 2006년 7월 9일에 출원된, 가특허출원 번호 60/806,788의 우선권을 주장한다.
본 발명은 컴퓨터 네트워크의 관리에 관한 것으로, 특히, 복수의 노드를 갖는 컴퓨터 네트워크에 관한 것이다.
몇몇 이용 가능한 네트워크 구성의 유형들은 순수 P2P(peer-to-peer), 클라이언트/서버, 및 하이브리드 P2P를 포함한다. 순수 P2P 네트워크 구성에서는 각 컴퓨팅 노드가 동등한 지위를 갖는다. 그러한 노드들은 "피어"(peer)라고 칭해질 수 있다. 모든 그러한 피어들은 권한 및 역할의 점에서 동일하다고 간주될 수 있다. 클라이언트/서버 네트워크 구성에서는, 기능 및 권한에 관하여 서버가 클라이언트보다 상급이라고 간주될 수 있다. 하이브리드 P2P 네트워크 구성에서는, 피어들이 일부 권한 및 역할에 관해서는 동등하고 다른 권한 및 역할에 관해서는 동등하지 않다고 간주될 수 있다.
관련 기술의 전술한 예들 및 그에 관련된 한계들은 설명을 위한 것이지 한정 을 위한 것이 아니다. 관련 기술의 다른 한계들에 대해서는 이 기술분야의 숙련자들이라면 본 명세서를 읽고 도면들을 검토하면 알 수 있을 것이다.
변화하는 네트워크 상태들에 응답하여 적응하도록 구성된 네트워크가 요구되고 있다.
[개요]
다음의 실시예들 및 그의 양태들은, 범위가 제한적이지 않고 예시와 설명을 위한 시스템들, 도구들 및 방법들에 관련하여 기술되고 설명된다. 다양한 실시예들에서, 상기 문제점들 중 하나 이상이 축소되거나 제거되었고, 한편 다른 실시예들은 다른 개선점들에 관한 것이다.
본 발명의 하나의 양태는 네트워크를 관리하기 위한 시스템을 제공하고, 그 시스템은, 적응 네트워크(adaptive network)에 접속된 복수의 노드들을 갖고, 상기 복수의 노드들 각각은 메모리에 연결된 프로세서를 갖고, 상기 메모리는, 상기 프로세서에 의해 실행될 때 상기 노드로 하여금 상기 적응 네트워크를 동작시키기 위한 적어도 하나의 역할을 이행하게 하는 컴퓨터 판독가능한 명령들, 및 상기 프로세서에 의해 실행될 때 상기 프로세서로 하여금 상기 적어도 하나의 역할을 활성화하는 관리 노드로부터의 요청에 대하여 모니터하게 하는 명령들을 포함하고, 상기 관리 노드는 활성의 관리 역할을 갖고, 상기 관리 노드는 네트워크 상태들을 결정하고 그 네트워크 상태들에 기초하여 상기 복수의 노드들 상에서 역할들을 활성화하는 요청들을 선택적으로 송신하도록 구성된다.
상기 관리 노드는 상기 적응 네트워크에 접속된 다른 노드들에 상기 다른 노드들에 의해 관찰된 네트워크 상태들에 관하여 쿼리(query)함으로써 네트워크 상태들을 결정하도록 구성될 수 있다. 상기 관리 노드는 상기 관리 노드에 접속되어 있는 상기 적응 네트워크의 링크들 상의 트래픽을 모니터함으로써 네트워크 상태들을 결정하도록 구성될 수 있다. 상기 관리 노드는 상기 결정된 네트워크 상태들과 하나 이상의 미리 정해진 목표 상태들을 비교하여 임의의 이행되지 않은 원하는 역할들(unfulfilled desired roles)을 식별하고; 이행되지 않은 원하는 역할이 식별되면, 상기 네트워크에 접속된 상기 복수의 노드들 중 상기 원하는 역할을 이행하도록 구성되어 있는 하나의 노드에 역할 활성화 요청을 송신하도록 구성될 수 있다. 상기 관리 노드는 상기 결정된 네트워크 상태들과 하나 이상의 미리 정해진 목표 상태들을 비교하여 임의의 활성의 원하지 않은 역할들(active undesired roles)을 식별하고; 활성의 원하지 않은 역할이 식별되면, 상기 네트워크에 접속된 상기 복수의 노드들 중 상기 원하지 않은 역할이 활성인 하나의 노드에 역할 비활성화 요청을 송신하도록 구성될 수 있다. 상기 관리 노드는 상기 결정된 네트워크 상태들과 하나 이상의 미리 정해진 목표 상태들을 비교하여 임의의 활성의 원하지 않은 역할들을 식별하고; 활성의 원하지 않은 역할이 식별되면, 상기 네트워크에 접속된 상기 복수의 노드들 중 상기 원하지 않은 역할이 활성인 하나의 노드에 역할 비활성화 요청을 송신하도록 구성될 수 있다. 상기 관리 노드는 상기 적응 네트워크 상의 부하가 미리 정해진 임계치 부하를 초과하면 상기 적응 네트워크에 접속된 상기 복수의 노드들 중 적어도 하나의 노드 상에서 메타데이터 인덱스 서버 역할을 활성화하도록 구성될 수 있다. 상기 관리 노드는 상기 적응 네트워크에 접속된 노드들의 개수가 제1의 미리 정해진 수를 초과하면 상기 적응 네트워크에 접속된 상기 복수의 노드들 중 적어도 하나의 노드 상에서 파일 서버 역할을 활성화하도록 구성될 수 있다. 상기 관리 노드는 상기 적응 네트워크에 접속된 노드들의 개수가 상기 제1의 미리 정해진 수보다 적은 제2의 미리 정해진 수보다 적다면 상기 적응 네트워크에 접속된 상기 복수의 노드들 상에서 모든 파일 서버 역할들을 비활성화하도록 구성될 수 있다. 상기 관리 노드는 상기 적응 네트워크에 접속된 노드들의 개수가 500을 초과하면 상기 적응 네트워크에 접속된 상기 복수의 노드들 중 하나 이상의 노드들 상에서 메타데이터 인덱스 서버 역할 및 파일 서버 역할을 활성화하도록 구성될 수 있다.
본 발명의 다른 양태는 네트워크를 관리하기 위한 시스템을 제공하고, 그 시스템은, 적응 네트워크에 접속된 복수의 노드들을 갖고, 상기 복수의 노드들 각각은, 상기 적응 네트워크를 동작시키기 위한 적어도 하나의 역할을 이행하도록 구성된 적어도 하나의 역할 수행 유닛, 및 상기 적어도 하나의 역할 수행 유닛을 선택적으로 활성화 또는 비활성화하는 관리 노드로부터의 요청에 대하여 모니터하도록 구성된 모니터링 유닛을 갖고, 상기 관리 노드는 활성의 관리 역할을 갖고, 상기 관리 노드는 네트워크 상태들을 결정하고 그 네트워크 상태들에 기초하여 상기 복수의 노드들의 역할 수행 유닛들을 활성화 또는 비활성화하는 요청들을 선택적으로 송신하도록 구성된다.
본 발명의 다른 양태는 네트워크를 관리하기 위한 시스템을 제공하고, 그 시스템은, 적응 네트워크에 접속된 복수의 노드들을 갖고, 상기 복수의 노드들 각각은, 상기 적응 네트워크를 동작시키기 위한 적어도 하나의 역할을 이행하기 위한 수단; 및 상기 적어도 하나의 역할을 이행하기 위한 수단을 선택적으로 활성화 또는 비활성화하는 관리 노드로부터의 요청에 대하여 모니터하기 위한 수단을 갖고, 상기 관리 노드는 활성의 관리 역할을 갖고, 상기 관리 노드는 네트워크 상태들을 결정하고 그 네트워크 상태들에 기초하여 상기 복수의 노드들의 역할 수행 유닛들을 활성화 또는 비활성화하는 요청들을 선택적으로 송신하도록 구성된다.
본 발명의 하나의 양태는 컴퓨팅 네트워크를 관리하기 위한 방법을 제공한다. 그 방법은, 적응 네트워크에 접속된 복수의 노드들을 제공하는 단계 ― 각 노드는 컴퓨터 판독가능한 명령들을 포함하는 메모리에 연결된 프로세서를 포함하고, 상기 컴퓨터 판독가능한 명령들은, 상기 프로세서에 의해 실행될 때, 상기 노드로 하여금 상기 적응 네트워크를 동작시키기 위한 하나 이상의 역할들을 이행하게 함 ―; 상기 복수의 노드들에 쿼리하여 상기 적응 네트워크의 조건들을 결정하는 단계; 상기 결정된 조건들에 기초하여 상기 적응 네트워크에 대한 하나 이상의 원하는 역할들을 결정하는 단계; 상기 하나 이상의 원하는 역할들 중 임의의 원하는 역할이 상기 적응 네트워크에서 이행되지 않는지를 결정하는 단계; 및, 각각의 이행되지 않은 원하는 역할에 대하여, 상기 복수의 노드들 중 그 원하는 역할을 이행하도록 구성된 하나의 노드에 역할 활성화 요청을 송신하는 단계를 포함한다.
상기 방법은, 상기 결정된 조건들에 기초하여 상기 적응 네트워크에 대한 하나 이상의 원하지 않은 역할들을 결정하는 단계; 상기 하나 이상의 원하지 않은 역할들 중 임의의 원하지 않은 역할이 상기 적응 네트워크에서 활성인지를 결정하는 단계; 및 각각의 활성의 원하지 않은 역할에 대하여, 상기 복수의 노드들 중 상기 원하지 않은 역할이 활성인 하나의 노드에 역할 비활성화 요청을 송신하는 단계를 포함할 수 있다. 상기 방법은 하나 이상의 원하는 역할들을 결정하는 단계를 포함할 수 있고, 이 단계는 상기 결정된 조건들과 하나 이상의 미리 정해진 목표 상태들을 비교하는 단계를 포함한다. 상기 방법은 하나 이상의 원하는 역할들을 결정하는 단계를 포함할 수 있고, 이 단계는 상기 적응 네트워크 상의 부하가 미리 정해진 임계치 부하를 초과하면 원하는 역할로서 메타데이터 인덱스 서버 역할을 지정하는 단계를 포함한다. 상기 방법은 또한 하나 이상의 원하는 역할들을 결정하는 단계를 포함할 수 있고, 이 단계는 상기 적응 네트워크에 접속된 노드들의 개수가 미리 정해진 수를 초과하면 원하는 역할로서 파일 서버 역할을 지정하는 단계를 포함한다.
본 발명의 다른 양태는 노드를 동작시키기 위한 방법을 제공하고, 그 방법은, 하나 이상의 역할들을 선택적으로 이행하도록 상기 노드를 구성하는 단계; 상기 노드를 적응 네트워크에 접속시키는 단계; 상기 적응 네트워크를 통하여 노드 정보를 송출하는 단계 ― 상기 노드 정보는 상기 노드가 이행하도록 구성되어 있는 상기 하나 이상의 역할들을 지정하는 정보를 가짐 ―; 상기 적응 네트워크로부터 네트워크 정보를 수신하는 단계; 상기 노드가 이행하도록 구성되어 있는 상기 하나 이상의 역할들에 관한 역할 활성화 요청에 대하여 네트워크 트래픽을 모니터하는 단계; 및, 상기 노드가 이행하도록 구성되어 있는 상기 하나 이상의 역할들에 관한 역할 활성화 요청에 응답하여, 상기 요청된 역할을 활성화하는 단계; 상기 노드 정 보를 업데이트하는 단계; 및, 상기 요청된 역할이 활성화되었다는 확인을 송신하는 단계를 포함한다.
본 발명의 다른 양태는 적응 네트워크의 자기 활성화 노드를 제공하고, 상기 적응 네트워크는 그것에 접속된 복수의 노드들을 포함하고, 상기 자기 활성화 노드는 컴퓨터 판독가능한 명령들을 포함하는 메모리에 연결된 프로세서를 포함하고, 상기 컴퓨터 판독가능한 명령들은, 상기 프로세서에 의해 실행될 때, 상기 자기 활성화 노드로 하여금 상기 네트워크에 접속된 다른 노드들의 ID(identification)들을 수신하게 하고, 상기 수신된 ID들이 활성의 관리 역할이 요망된다는 것을 나타내면 상기 자기 활성화 노드 상에서 관리 역할을 활성화하게 한다.
상기 자기 활성화 노드는 상기 수신된 ID들이 상기 네트워크에 접속된 노드들의 개수가 미리 정해진 수를 초과한다는 것을 나타내면 상기 자기 활성화 노드로 하여금 상기 자기 활성화 노드 상에서 상기 관리 역할을 활성화하게 하는 컴퓨터 판독가능한 명령들을 가질 수 있다. 상기 컴퓨터 판독가능한 명령들은 상기 자기 활성화 노드로 하여금 상기 관리 역할을 활성화하기 전에 상기 네트워크에 접속된 다른 노드에 관리 역할 활성화 통지를 브로드캐스트하게 할 수 있다. 상기 컴퓨터 판독가능한 명령들은 상기 자기 활성화 노드로 하여금 상기 관리 역할 활성화 통지를 브로드캐스트한 후 미리 정해진 기간 동안 상기 관리 역할의 활성화를 지연시키고 충돌 메시지들에 대하여 상기 네트워크를 모니터하게 하고; 임의의 충돌 메시지들이 수신되면 상기 관리 역할의 활성화를 취소하게 할 수 있다. 상기 관리 역할이 활성인 경우, 상기 컴퓨터 판독가능한 명령들은 상기 자기 활성화 노드로 하여금 상기 복수의 노드들 중 각각의 다른 노드에 관한 정보를 수집하게 하고; 상기 수집된 정보로부터 네트워크 상태들을 결정하게 하고; 상기 결정된 네트워크 상태들과 하나 이상의 미리 정해진 목표 상태들을 비교하여 임의의 이행되지 않은 원하는 역할들을 식별하게 하고; 이행되지 않은 원하는 역할이 식별되면, 상기 네트워크에 접속된 상기 다른 노드들 중 그 원하는 역할을 이행하도록 구성되어 있는 하나의 노드에 역할 활성화 요청을 송신하게 할 수 있다. 관리 역할이 활성인 경우, 상기 컴퓨터 판독가능한 명령들은 상기 자기 활성화 노드로 하여금 상기 복수의 노드들 중 각각의 다른 노드에 관한 정보를 수집하게 하고; 상기 수집된 정보로부터 네트워크 상태들을 결정하게 하고; 상기 결정된 네트워크 상태들과 하나 이상의 미리 정해진 목표 상태들을 비교하여 임의의 활성의 원하지 않은 역할들을 식별하게 하고; 활성의 원하지 않은 역할이 식별되면, 상기 네트워크에 접속된 상기 다른 노드들 중 그 원하지 않은 역할이 활성인 하나의 노드에 역할 비활성화 요청을 송신하게 할 수 있다. 상기 관리 역할이 활성인 경우, 상기 컴퓨터 판독가능한 명령들은 상기 자기 활성화 노드로 하여금 상기 결정된 네트워크 상태들과 하나 이상의 미리 정해진 목표 상태들을 비교하여 임의의 활성의 원하지 않은 역할들을 식별하게 하고; 활성의 원하지 않은 역할이 식별되면, 상기 네트워크에 접속된 상기 다른 노드들 중 그 원하지 않은 역할이 활성인 하나의 노드에 역할 비활성화 요청을 송신하게 할 수 있다. 상기 관리 역할이 활성인 경우, 상기 컴퓨터 판독가능한 명령들은 상기 자기 활성화 노드로 하여금 상기 적응 네트워크에 접속된 상기 다른 노드들 각각에 쿼리함으로써 상기 복수의 노드들 중 각각의 다른 노드에 관한 정보를 수집하게 할 수 있다. 상기 관리 역할이 활성인 경우, 상기 컴퓨터 판독가능한 명령들은 상기 자기 활성화 노드로 하여금 상기 자기 활성화 노드에 접속되어 있는 상기 적응 네트워크의 링크들 상의 트래픽을 모니터함으로써 상기 복수의 노드들 중 각각의 다른 노드에 관한 정보를 수집하게 할 수 있다.
본 발명의 다른 양태는 적응 네트워크의 자기 활성화 노드를 제공하고, 상기 적응 네트워크는 그것에 접속된 복수의 노드들을 포함하고, 상기 자기 활성화 노드는 상기 네트워크에 접속된 다른 노드들의 ID들을 수신하도록 구성된 모니터링 유닛; 및 상기 수신된 ID들이 활성의 관리 역할이 요망된다는 것을 나타내면 상기 자기 활성화 노드 상에서 관리 역할을 활성화하도록 구성된 활성화 유닛을 갖는다.
위에서 기술된 예시적인 양태들 및 실시예들에 더하여, 추가의 양태들 및 실시예들은 도면의 참조에 의해 그리고 다음의 상세한 설명의 검토에 의해 명백해질 것이다.
예시적인 실시예들이 참고 도면들에 도시된다. 본 명세서에서 개시된 실시예들 및 도면들은 제한적인 것이라기보다는 설명을 위한 것으로 간주되어야 한다.
본 발명의 비제한적인 실시예들을 도시하는 도면들에서,
도 1은 본 발명에 따른 네트워크를 관리하기 위한 시스템의 실시예를 보여준다.
도 2는 그 안의 노드의 실시예를 보여준다.
도 3은 본 발명에 따른 네트워크를 관리하기 위한 방법의 예를 보여준다.
도 4는 본 발명에 따른 노드를 동작시키기 위한 방법의 예를 보여준다.
도 5는 본 발명에 따른 노드의 다른 실시예를 보여준다.
다음의 설명의 전반에 걸쳐서 이 기술분야의 숙련자들에게 보다 철저한 이해를 제공하기 위하여 특정 상세들이 설명된다. 그러나, 본 명세서를 불필요하게 모호하게 하는 것을 피하기 위하여 잘 알려진 엘리먼트들에 대해서는 상세히 도시 또는 기술되지 않았다. 따라서, 본 설명 및 도면들은 제한적이 아니라 설명의 의미로 간주되어야 한다.
본 명세서에서 기술된 본 발명의 일부 실시예들은 컴퓨터 네트워크를 관리하기 위한 시스템들을 제공한다. 일부 그러한 시스템들은 통신 수단에 의하여 서로 상호접속된 복수의 컴퓨터 시스템들을 포함할 수 있다. 각 컴퓨터 시스템은 하나 이상의 "노드"를 포함할 수 있다. 컴퓨터 시스템들의 노드들은 통신 시스템을 통하여 상호작용하여 적응 네트워크(adaptive network)를 형성할 수 있다. 그 네트워크는 노드들이 그것에 접속되고 그로부터 분리되는 것을 허용하고 네트워크 상태들에 응답하여 접속된 노드들의 동작을 적응시키도록 구성된다.
각 노드는 네트워크를 동작시키기 위한 기능들을 수행하기 위해 선택적으로 활성화될 수 있는 하나 이상의 역할들을 이행하도록 구성될 수 있다. 각 노드의 거동은 그 노드에 대하여 활성인 역할(들)에 의해 결정된다. 예시 역할들은 다음을 포함한다:
(a) 중앙집중식(centralized) 파일 저장(파일 서버);
(b) 메타데이터 저장(인덱스 서버);
(c) 노드/사용자 인증(보안 서버);
(d) 정책 시행;
(e) 개체들에 대한 사용 권한 유효성 검사(permission validation);
(f) 오프라인 메시징 서버;
(g) 감사(auditing) 서버; 및,
(h) 관리(필요에 따라 네트워크 및 활성화 역할들을 모니터하기 위해 이용됨).
적어도 하나의 노드는 관리 역할을 수행하도록 구성될 수 있다. 관리 역할이 활성화된 노드는 "관리 노드"로서 기능한다. 관리 노드는 네트워크 상태들을 모니터하고 네트워크에 접속된 노드들의 역할들을 활성화 및 비활성화한다. 관리 노드는 또한 관리 역할에 더하여 다른 역할들을 수행하도록 구성될 수 있고, 그 자체는 네트워크 상태들 및 관리 역할을 이행하기 위해 요구되는 리소스들의 양에 응답하여 그러한 다른 역할들을 활성화 및 비활성화할 수 있다.
관리 노드는 소정의 규칙들에 따라서 하나 이상의 노드들의 하나 이상의 역할들을 활성화 및/또는 비활성화할 수 있다. 규칙은 소정의 "트리거링 조건들"을 지정할 수 있고, 그 트리거링 조건들은, 네트워크에 존재할 경우, 소정의 역할들의 활성화 및/또는 비활성화를 요구한다. 트리거링 조건들의 예는, 네트워크 상의 부하, 평균 응답 시간, 네트워크에 접속된 노드들의 개수 등을 포함한다. 관리 노드는 또한 네트워크 관리자와 같은 사용자로부터의 입력에 응답하여 하나 이상의 노드들의 하나 이상의 역할들을 활성화 및/또는 비활성화할 수 있다.
관리 노드는 그 관리 노드가 액세스할 수 있는 메모리에 저장된 네트워크에 대한 규칙들의 목록을 갖는다. 그 규칙들은 네트워크 관리자에 의해 지정될 수 있다. 관리 노드는 네트워크 상태들을 모니터하고 그의 규칙 목록을 주기적으로 체크하여(예를 들면, 규칙 목록 상의 항목들을 통하여 순환함으로써) 시행되어야 하는 규칙들을 식별할 수 있다.
네트워크는 관리 역할들을 이행하도록 구성된 복수의 노드들을 가질 수 있다. 네트워크는 다양한 네트워크 상태들에 대하여 요망되는 관리 노드들의 개수를 지정하는 하나 이상의 규칙들을 가질 수 있다. 활성의 관리 역할을 갖는 노드들의 개수가 원하는 관리 노드들의 개수를 초과하면, 관리 노드들 중 하나 이상이 그의 관리 역할을 비활성화할 수 있다. 활성의 관리 역할을 갖는 노드들의 개수가 원하는 관리 노드들의 개수보다 적으면, 관리 노드들은 관리 역할을 이행하도록 구성되어 있지만 관리 역할이 휴지(dormant)인 하나 이상의 노드들에서 관리 역할을 활성화할 수 있다.
네트워크의 관리 노드들 전부가 데이터베이스를 공유하면, 그 네트워크에 대한 규칙들 전부가 데이터베이스에 저장될 수 있다. 하나의 관리 노드가 어떤 규칙을 시행하기 시작하면, 다른 관리 노드가 동일한 규칙을 시행하려고 하지 못하도록, 그 규칙은 데이터베이스에서 "잠금"(locked)으로서 플래그될 수 있다.
관리 노드들이 데이터베이스를 공유하지 않으면, 각 관리 노드는 그것이 시행하고 있는 규칙들의 목록은 물론, 네트워크에 대한 다른 규칙들 전부를 유지할 수 있다. 하나의 관리 노드가 어떤 규칙을 시행하기 시작하면, 그 관리 노드는 그 규칙이 시행되고 있음을 나타내는 메시지를 다른 관리 노드들에 송신할 수 있다. 그 후 다른 관리 노드들은 그 시행을 반영하기 위해 그들 자신의 규칙 목록들을 업데이트할 수 있다. 관리 노드들은 동기화를 위해 주기적으로 그들의 규칙 목록들을 서로에게 브로드캐스트할 수 있다. 각 관리 노드는 시행되어야 하고 다른 관리 노드에 의해 시행되고 있지 않은 규칙들을 식별하기 위해 주기적으로 그 자신의 규칙 목록을 체크할 수 있다. 각 관리 노드는 또한 그의 규칙 목록이 다른 관리 노드들의 목록들과 동기화되도록 보증하기 위해, 그의 규칙 목록을 통한 각각의 패스 사이에 미리 정해진 기간 동안 지연하도록 구성될 수 있다.
도 1은 본 발명의 일 실시예에 따른 시스템(10)을 보여준다. 시스템(10)은 네트워크(12) 및 통신 시스템(14)을 포함한다. 네트워크(12)는 통신 시스템(14)에 의하여 서로 메시지를 교환할 수 있는 복수의 컴퓨터 시스템들(16)을 포함한다. 통신 시스템(14)은, 예를 들면, 인터넷, LAN(local area network), 무선 네트워크 등을 포함할 수 있다. 통신 시스템(14)은 컴퓨터 시스템들(16) 사이에 데이터 통신을 가능케 하는 임의의 메커니즘을 포함할 수 있다. 도시된 실시예에서는, 5개의 컴퓨터 시스템들(16A-E)이 도시되어 있지만, 네트워크(12)는 임의의 개수의 컴퓨터 시스템들(16)을 포함할 수 있다는 것을 이해해야 한다.
컴퓨터 시스템들(16)은 상이한 유형이거나 동일한 유형일 수 있고, 임의의 적합한 방식으로 통신 시스템(14)에 접속될 수 있다. 예를 들면, 도 1에서 컴퓨터 시스템들(16A 및 16D)은 각각 물리적 접속에 의해 통신 시스템(14)에 접속되고, 컴퓨터 시스템들(16B 및 16C)은 통신 시스템(14)에의 물리적 접속을 공유하고, 컴퓨터 시스템(16E)은 무선 접속에 의해 통신 시스템(14)에 접속된다. 각 컴퓨터 시스템(16)은 하나 이상의 노드들을 포함할 수 있다.
도 2는 컴퓨터 시스템들(16) 중 하나에 위치할 수 있는 예시 노드(20)를 보여준다. 노드(20)는 통신 장치(24) 및 메모리(26)에 동작가능하게 접속된 프로세서(22)를 포함한다. 메모리(26)는 그 안에 저장된 운영 명령들(28) 및 데이터를 갖는다. 운영 명령들(28)은 노드(20)가 이행하도록 구성되어 있는 하나 이상의 역할들을 지정하는 명령들을 포함할 수 있다.
데이터(30)는, 예를 들면, 노드 정보(32) 및 네트워크 정보(34)를 포함할 수 있다. 노드 정보(32)는, 예를 들면, 노드(20)가 이행하도록 구성되어 있는 역할들을 지정하는 노드 아이덴티티를 포함할 수 있다. 노드 정보(32)는 또한, 예를 들면, 노드(20)의 속성들에 관한 정보를 포함할 수 있다. 네트워크 정보(34)는, 예를 들면, 노드(20)에 상호접속된 다른 노드들에 관한 정보를 포함할 수 있다.
노드(20)는 기본 또는 "디폴트" 운영 상태를 갖고, 그 상태에서 노드(20)는 네트워크(12)의 동작에 관하여 기본 동작들을 수행한다. 그러한 기본 동작들은, 예를 들면, 노드(20)가 액세스할 수 있는 위치에 저장된 데이터에 대한 요청들에 응답하는 것을 포함할 수 있다. 노드(20)는 또한 노드(20)가 그의 기본 동작들에 더하여 하나 이상의 역할들을 취하고 그에 의해 노드(20)가 네트워크(12)를 관리하기 위한 기능들을 수행하는 것을 허용하는 제어 수단을 포함할 수 있다. 그 제어 수단은 또한 노드(20)가 그의 기본 동작들에 더하여 역할들을 이행하는 것을 중단하게 할 수 있다. 노드(20)는 어떤 역할에 대응하는 운영 명령들(28)의 부분을 구성하는 소프트웨어를 실행함으로써 그 역할을 취할 수 있다.
도 3은 적응 네트워크를 관리하기 위한 예시 방법(100)을 보여준다. 방법(100)은, 예를 들면, 메모리에 저장된 운영 명령들에 따라서 노드의 프로세서에 의해 실행될 수 있다. 방법(100)은, 예를 들면, 적응 네트워크에 대한 활성의 관리 역할을 갖는 노드에 의해 수행될 수 있다. 1개보다 많은 수의 관리 노드를 갖는 네트워크에서, 방법(100)의 단계들은 그 관리 노드들 중 임의의 것에 의해, 단독으로 또는 서로 관련하여 수행될 수 있다. 다음의 단락들에서, 방법(100)의 각 단계를 취하는 노드는 본 명세서에서 혼란을 피하기 위해 "관리 노드"라고 불리지만, 각 단계는 동일한 관리 노드에 의해 취해질 필요는 없다는 것을 이해해야 한다.
블록 102에서, 관리 노드는 네트워크에 접속된 다른 노드들에 쿼리한다. 관리 노드는, 예를 들면, 그 관리 노드를 식별하고 수신하는 노드들에 관한 정보를 요청하는 메시지를 네트워크에 접속된 모든 다른 노드들에 브로드캐스트함으로써 쿼리를 송출할 수 있다. 각 노드는 그 노드에 의해 현재 이행되고 있는 활성의 역할들, 그 노드가 그를 위하여 구성되어 있지만 현재는 활성이 아닌 역할들, 및 그 노드의 성능(예를 들면, 가동 시간(uptime) 및 대기 시간(latency) 등)에 관한 정보를 포함하는 메시지를 관리 노드에 송신함으로써 응답할 수 있다.
블록 104에서, 관리 노드는 현재의 네트워크 상태들을 결정한다. 관리 노드에 의해 결정되는 네트워크 상태들은 다음 중 하나 이상을 포함할 수 있다:
(a) 네트워크에 접속된 노드들의 개수;
(b) 복수의 역할들 각각을 이행하도록 구성된 노드들의 개수;
(c) 복수의 역할들 각각이 활성인 노드들의 개수;
(d) 네트워크 상의 부하;
(e) 노드 대기 시간;
(f) 노드 가동 시간;
(g) 각 노드의 파일/메타데이터 동기화 상태;
(h) 메시지 홉(message hop)들의 평균 수; 및,
(i) 메시지 홉들의 최고 개수.
관리 노드는 블록 102의 쿼리들에 대한 응답들에 기초하여 네트워크 상태들을 결정할 수 있다. 추가로 또는 대안으로, 관리 노드는, 예를 들면, 그 관리 노드에 접속되어 있는 네트워크의 링크들 상의 트래픽을 모니터함으로써, 직접 일부 네트워크 상태들을 관찰할 수 있다.
블록 106에서 관리 노드는 네트워크에 임의의 트리거링 조건들이 존재하는지를 결정한다. 트리거링 조건들의 존재는, 예를 들면, 현재의 네트워크 상태들과 관리 노드가 액세스할 수 있는 메모리에 저장된 규칙 목록에서 지정된 하나 이상의 미리 정해진 목표 상태들을 비교함으로써 결정될 수 있다. 예를 들면, 규칙 목록은 복수의 네트워크 상태들 각각에 대하여 원하는 역할들의 개수 및 유형을 지정할 수 있다.
일부 실시예들에서, 관리 노드는 현재의 네트워크 상태들에 대한 원하는 역할들의 목록과 그 원하는 역할들이 활성인 노드들의 실제 개수를 비교할 수 있다. 예를 들면, 관리 노드는 임계치 부하를 지정하고, 네트워크의 현재의 부하가 그 임계치 부하를 초과할 경우 하나의 노드 상에서 메타데이터 인덱스 서버 역할의 활성화를 요구하는 규칙을 시행하고 있을 수 있다. 유사하게, 어떤 규칙은 네트워크에 접속된 노드들의 개수가 제1의 미리 정해진 수를 초과하면 하나의 노드 상에서 파일 서버 역할의 활성화를 요구하고, 네트워크에 접속된 노드들의 개수가 제2의 보다 적은 미리 정해진 수보다 적다면 모든 파일 서버 역할들의 비활성화를 요구할 수 있다. 일부 네트워크들에서는, 노드들의 개수가 예를 들면 500을 초과하는 경우 파일 서버 역할 및 메타데이터 인덱스 서버 역할의 활성화를 요구하는 규칙들을 시행하는 것이 바람직할 수 있다.
트리거링 조건들이 존재하지 않는다면(블록 106 NO 출력), 방법(100)은 블록 102로 되돌아간다. 관리 노드는 네트워크에 트리거링 조건들이 존재할 때까지 블록들 102, 104 및 106의 단계들을 통하여 순환한다.
트리거링 조건들이 존재한다면(블록 106 YES 출력), 블록 108에서 관리 노드는 현재의 네트워크 상태들에 대하여 요망되는 역할들을 이행하도록 구성될 수 있고 그러한 역할들이 이미 활성이 아닌 하나 이상의 노드들에 하나 이상의 역할 활성화 요청들을 송신한다. 관리 노드는 또한 현재의 네트워크 상태들에 대하여 더 이상 요망되지 않는 활성의 역할들을 갖는 하나 이상의 노드들에 하나 이상의 역할 비활성화 요청들을 송신할 수 있다. 관리 노드는 블록 102의 쿼리들에 대하여 수신된 응답들에 기초하여 적절한 노드들에 역할 활성화 및 비활성화 요청들을 송신할 수 있다.
관리 노드는 또한 네트워크 관리자에 의해 명확하게 요청되는 역할들을 이행하도록 구성된 하나 이상의 노드들에 하나 이상의 역할 활성화 요청들을 송신할 수 있다. 이것은 예를 들면, 네트워크에 보통이 아닌 부하를 지울 수 있는 예기되는 이벤트들에 앞서서 네트워크 관리자가 개입하는 것을 허용한다. 관리 노드는 일단 어떤 역할을 수행하는 모든 자동으로 활성화된 노드들이 비활성화되면 그러한 "수동으로" 활성화된 노드들 상에서만 그 역할을 비활성화하도록 구성될 수 있다. 마찬가지로, 네트워크 관리자는 소정의 노드들 상에서 소정의 역할들이 비활성화되는 것을 명확하게 요청할 수 있고, 그 경우 관리 노드는 그러한 노드들에 그러한 역할들에 대한 역할 활성화 요청들을 송신하지 않을 것이다.
블록 110에서, 관리 노드는 역할 (비)활성화 요청(들)이 수락되었는지 여부를 결정한다. 관리 노드는 그 역할 (비)활성화 요청(들)이 수락되었는지 여부를, 예를 들면, 그 요청(들)을 수락한 노드(들)로부터 확인을 수신하기 위해 대기함으로써, 결정할 수 있다. 소정의 기간(미리 정해질 수도 있고 또는 요청(들)의 특성에 기초할 수도 있음) 후에 역할 (비)활성화 요청(들)이 수락되지 않았다면, (블록 110 NO 출력), 방법(100)은 블록 108로 되돌아가고 관리 노드는 그 요청(들)을 재송신하거나 또는 그 요청(들)을 하나 이상의 다른 노드들에 송신할 수 있다.
일단 역할 (비)활성화 요청(들)이 수락되었다면(블록 110 YES 출력), 관리 노드는 블록 112에서 네트워크 정보를 업데이트한다. 방법(100)은 그 후 블록 102로 되돌아간다.
도 4는 노드를 동작시키기 위한 예시 방법(200)을 보여준다. 방법(200)은, 예를 들면, 메모리에 저장된 운영 명령들에 따라서 노드의 프로세서에 의해 실행될 수 있다. 방법(200)은, 예를 들면, 적응 네트워크를 구성하는 복수의 노드들 각각에 의해 수행될 수 있다.
블록 202에서, 노드는 네트워크에 접속한다. 노드는 그 후 블록 204에서 네트워크를 통하여 노드 정보를 송출하고 블록 206에서 네트워크 정보를 수신한다. 도 4에서 블록 204 및 206 주위에 점선 블록으로 나타낸 바와 같이, 블록 204 및 206에서 수행되는 단계들의 순서는 중요하지 않다. 블록 204에서 송신된 노드 정보는 네트워크의 관리 노드(들)에 의해 그 노드에 어떤 유형의 역할 활성화 요청들이 송신될 수 있는지를 결정하는 데 이용될 수 있다. 블록 206에서 수신된 네트워크 정보는 네트워크에 접속된 다른 노드들에 관한 정보 또는 네트워크 자체에 관한 정보가 수신되는 언제든지 업데이트될 수 있다.
각 노드는 연속적으로 또는 주기적으로 역할 활성화 요청들에 대하여 네트워크 트래픽을 모니터할 수 있다. 그를 위하여 노드가 구성되어 있는 역할들 중 하나를 활성화하는 요청, 또는 노드의 활성 역할들 중 하나를 비활성화하는 요청이 블록 208에서 수신된다. 블록 210에서 노드는 요청을 수락할지를 결정한다. 노드가 역할 활성화 요청을 수락하지 않게 할 수 있는 조건들은, 예를 들면, 노드의 부하 및/또는 이용 가능한 대역폭을 포함한다. 노드는 역할 활성화 요청을 거절하지 않겠지만, 그 요청이 수신될 때 노드가 다른 액션을 수행하고 있다면 그 요청을 수락하는 데 있어서 지연할 수 있다.
노드가 요청을 수락하면(블록 210 YES 출력), 요청된 역할은 (비)활성화되고 블록 212에서 노드 정보가 업데이트된다. 블록 214에서는 노드가 그 요청이 발신된 관리 노드로, 또는 그 요청 내에 지정된 어떤 다른 위치로 확인을 송신함으로써 수락이 확인된다.
노드가 역할 활성화 요청을 수락하지 않으면(블록 210 NO 출력), 블록 216에서 그 요청을 송신한 관리 노드로 거절 통지가 송신된다. 관리 노드는 그 후 그 요청을 원하는 역할을 위해 구성되어 있는 네트워크 상의 다른 노드로 전송할 수 있다. 관리 노드는 노드들로부터 수신된 네트워크 정보에 기초하여 어느 노드들이 원하는 역할을 위하여 구성되어 있는지를 결정할 수 있다.
도 5는 본 발명의 다른 실시예에 따른 예시 노드(50)를 보여준다. 노드(50)는 네트워크(도시되지 않음)와 메시지를 교환하기 위한 통신 장치(52)를 포함한다. 통신 장치(52)에는 네트워크로부터 수신된 메시지들을 모니터하여 임의의 역할 활성화 또는 비활성화 요청들을 식별하기 위한 요청 검출기(54)가 접속되어 있다. 요청 검출기(54)는 제어 수단(56)에 연결되고, 임의의 역할 활성화 또는 비활성화 요청들을 제어 수단(56)에 넘겨준다. 제어 수단(56)은 노드(50)의 상태에 기초하여 각 요청을 수락할지 거절할지를 결정한다. 수신된 각 요청에 대하여, 제어 수단(56)은 데이터 처리 수단(58)으로 하여금 통신 장치(52)에 의하여 네트워크를 통하여 요청의 발신처에 수락 또는 거절 메시지를 송신하게 한다. 요청이 거절되면, 제어 수단(56)은 다른 어떤 액션도 취하지 않는다. 요청이 수락되면, 제어 수단(56)은 그 요청에 따라서, 예를 들면, 그 요청에서 식별된 역할에 허용(enable) 또는 금지(inhibit) 신호를 보냄으로써, 역할들(60) 중 하나를 활성화 또는 비활성화한다.
데이터 처리 수단(58)은, CPU 등과 같은, 프로세서일 수 있고, 다른 데이터 처리 수단과 함께 작동할 수 있다. 제어 수단은 데이터 처리 수단(58)과 함께 노드(50) 상에서 동작가능한 소프트웨어 또는 펌웨어일 수 있고, 노드(50)의 운영 체제 내에 구현될 수 있다.
통신 장치(52)는 또한 네트워크에 접속된 다른 노드들에 관한 정보를 수신할 수 있다. 그러한 정보는, 예를 들면, 네트워크에 접속된 각 노드의 ID 및 각 노드에 대한 활성 및 휴지 역할들을 포함할 수 있다. 그러한 정보는 데이터 처리 수단(58)이 액세스할 수 있는 네트워크 노드 목록(62)에 저장될 수 있다.
역할들(60) 중 하나는 관리 역할을 포함할 수 있다. 일부 실시예들에서, 데이터 처리 수단(58)은 선택적으로 노드(50)의 기본 동작들 중 일부로서 네트워크 모니터링 기능을 수행할 수 있다. 그러한 실시예들에서, 데이터 처리 수단(58)은 주기적으로 또는 연속적으로 네트워크 노드 목록(62)을 모니터하고, 네트워크 노드 목록(62)에 저장된 정보가 관리 역할의 활성화에 의해 네트워크의 동작이 용이하게 될 수 있다는 것을 나타내면 제어 수단(56)으로 하여금 노드(50)의 관리 역할을 활성화하게 한다. 예를 들면, 데이터 처리 수단(58)은 네트워크에 접속된 노드들의 개수가 미리 정해진 수를 초과하면 노드(50)의 관리 역할을 활성화하게 할 수 있다. 네트워크 모니터링 기능은 노드(50)가 그 자신의 관리 역할을 활성화하는 것을 원치 않는 네트워크 관리자에 의해 사용 불가능하게 될 수 있다.
그 자신의 관리 역할을 활성화할 수 있는 노드(50)와 같은 복수의 노드를 포함하는 네트워크에서, 노드들 간의 충돌들은, 예를 들면, 데이터 처리 수단(58)이 관리 역할을 활성화하기 전에 네트워크에 접속된 다른 노드들에 관리 역할 활성화 통지를 브로드캐스트함으로써 최소화될 수 있다. 데이터 처리 수단(58)은 그 후 얼마간의 기간 동안 대기하고 임의의 충돌 메시지에 대하여 통신 장치(52)를 모니터할 수 있다. 만일 어떤 충돌 메시지도 수신되지 않으면, 데이터 처리 수단(58)은 그 후 제어 수단(56)으로 하여금 노드(50)에 대한 관리 역할을 활성화하게 할 수 있다.
본 발명의 일 실시예의 동작의 예로서, 복수의 노드를 포함하는 네트워크는 처음에 순수 P2P 네트워크로서 동작하고, 노드들 각각은 그의 기본 동작들을 수행한다. 그 노드들 중 하나의 노드 상에서 관리 역할이 활성화되지만(네트워크 관리자에 의해 수동으로 또는 노드 자체에 의해 자동으로), 그 관리 노드로 하여금 임의의 다른 역할을 활성화하게 하는 트리거링 조건들이 네트워크에 존재하지 않는다. 그러한 구성에서, 네트워크로부터 파일을 얻기를 원하는 "검색"(searching) 노드는 네트워크의 각각의 다른 노드에 쿼리할 수 있다.
네트워크 상에 트래픽 및/또는 노드들의 수가 증가할 때, 관리 노드는 활성 파일 서버 역할을 요구하는 규칙에 의해 지정된 트리거링 조건들의 존재를 검출한다. 관리 노드는 그 후 그 역할을 이행하도록 구성된 노드에 파일 서버 역할을 활성화하는 요청을 송신한다. 그 요청을 수신하는 노드는 그 후 파일 서버 역할을 활성화하고, 그 요청의 수락을 확인하고, 그것이 파일 서버 역할을 수행하고 있다는 것을 나타내는 메시지를 네트워크의 다른 노드들에 송신한다. 이 변경된 구성에서, 네트워크로부터 파일을 얻기를 원하는 검색 노드는 활성 파일 서버 역할을 갖는 노드에만 쿼리함으로써 파일을 얻을 수 있다.
본 발명의 소정의 구현들은 소프트웨어 명령들을 실행하는 컴퓨터 프로세서들을 포함하고, 소프트웨어 명령들은 프로세서들로 하여금 본 발명의 방법을 수행하게 한다. 예를 들면, 네트워크에 접속된 컴퓨터 시스템 내의 하나 이상의 프로세서들은 그 프로세서들이 액세스할 수 있는 프로그램 메모리 내의 소프트웨어 명령들을 실행함으로써 본 명세서에서 설명된 방법들을 구현할 수 있다. 본 발명은 또한 프로그램 제품의 형태로 제공될 수 있다. 그 프로그램 제품은, 데이터 프로세서에 의해 실행될 때, 데이터 프로세서로 하여금 본 발명의 방법을 실행하게 하는 명령들을 포함하는 컴퓨터 판독가능한 신호들의 세트를 운반하는 임의의 매체를 포함할 수 있다. 본 발명에 따른 프로그램 제품들은 광범위한 형태들 중 어느 하나의 형태일 수 있다. 그 프로그램 제품은, 예를 들면, 플로피 디스켓, 하드 디스크 드라이브를 포함하는 자기 데이터 저장 매체, CD ROM, DVD를 포함하는 광학 데이터 저장 매체, ROM, 플래시 RAM 등을 포함하는 전자 데이터 저장 매체와 같은 물리적 매체 또는 디지털 또는 아날로그 통신 링크와 같은 전송형 매체를 포함할 수 있다. 상기 명령들은 선택적으로 압축되고 및/또는 인코딩될 수 있다.
위에서 컴포넌트(예를 들면, 컴퓨터, 서버, 노드, 어셈블리, 장치, 프로세서 등)가 언급될 때, 그 컴포넌트에 대한 언급("수단"에 대한 언급을 포함함)은 그 컴포넌트의 등가물로서, 본 발명의 설명된 예시적인 실시예들에서 기능을 수행하는 개시된 구조와 구조적으로 동등하지 않은 컴포넌트들을 포함하여, 그 설명된 컴포넌트의 기능을 수행하는(즉, 기능적으로 동등한) 임의의 컴포넌트를 포함하는 것으로 해석되어야 한다.
위에서는 다수의 예시적인 양태들 및 실시예들이 설명되었지만, 이 기술분야의 숙련자라면 그의 소정의 변경, 치환, 추가 및 하위 조합(sub-combination)을 인지할 것이다. 그러므로 다음의 추가된 청구항들 및 지금부터 소개되는 청구항들은 그들의 진의 및 범위 내에 있는 모든 그러한 변경, 치환, 추가 및 하위 조합을 포함하는 것으로 해석되어야 한다.

Claims (32)

  1. 네트워크를 관리하기 위한 시스템으로서,
    통신 시스템을 통해 상호 연결된 복수의 노드들로 구성된 적응 네트워크(adaptive network)와,
    활성의 관리 역할(active administrative role)을 하는 적어도 하나의 관리 노드 - 상기 관리 노드는 네트워크 상태들을 판정하고, 상기 네트워크 상태들 및 활성 규칙에 기초하여 상기 복수의 노드들 상에서 역할들을 활성화하는 요청들을 상기 복수의 노드들 각각에 선택적으로 송신하고, 상기 활성 규칙을 나타내는 메시지를 상기 네트워크를 통해 다른 관리 노드들로 송신하도록 구성됨 -
    를 포함하되,
    상기 적어도 하나의 관리 노드는 상기 복수의 노드들 중 적어도 하나를 포함하고,
    상기 관리 노드는
    상기 판정된 네트워크 상태들과 하나 이상의 미리 정해진 목표 상태들을 비교하여 이행되지 않은 원하는 역할들(unfulfilled desired roles)을 식별하고,
    이행되지 않은 원하는 역할이 식별되면, 상기 네트워크에 접속된 상기 복수의 노드들 중 상기 원하는 역할을 이행하도록 구성되어 있는 하나의 노드에 역할 활성화 요청을 송신하며,
    상기 판정된 네트워크 상태들과 하나 이상의 미리 정해진 목표 상태들을 비교하여 활성의 원하지 않은 역할들(active undesired roles)을 식별하고,
    활성의 원하지 않은 역할이 식별되면, 상기 네트워크에 접속된 상기 복수의 노드들 중 상기 원하지 않은 역할이 활성인 하나의 노드에 역할 비활성화 요청을 송신하도록 더 구성되며,
    상기 복수의 노드들 각각은 메모리에 연결된 프로세서를 포함하고, 상기 메모리는, 상기 프로세서에 의해 실행될 때 상기 노드로 하여금 상기 적응 네트워크를 동작시키기 위한 적어도 하나의 역할을 이행하게 하는 컴퓨터 판독가능한 명령들, 및 상기 프로세서에 의해 실행될 때 상기 프로세서로 하여금 상기 적어도 하나의 역할을 활성화하는 상기 관리 노드로부터의 요청을 모니터하게 하는 명령들을 포함하는
    네트워크 관리 시스템.
  2. 제1항에 있어서, 상기 관리 노드는 상기 적응 네트워크에 접속된 다른 노드들에 상기 다른 노드들에 의해 관찰된 네트워크 상태들에 관하여 쿼리(query)함으로써 네트워크 상태들을 판정하도록 구성되는, 네트워크 관리 시스템.
  3. 제1항에 있어서, 상기 관리 노드는 상기 관리 노드에 접속되어 있는 상기 적응 네트워크의 링크들 상의 트래픽을 모니터함으로써 네트워크 상태들을 판정하도록 구성되는, 네트워크 관리 시스템.
  4. 삭제
  5. 삭제
  6. 삭제
  7. 제1항에 있어서, 상기 관리 노드는,
    상기 적응 네트워크 상의 부하가 미리 정해진 임계치 부하를 초과하면 상기 적응 네트워크에 접속된 상기 복수의 노드들 중 적어도 하나의 노드 상에서 메타데이터 인덱스 서버 역할을 활성화하도록 구성되는, 네트워크 관리 시스템.
  8. 제1항에 있어서, 상기 관리 노드는,
    상기 적응 네트워크에 접속된 노드들의 개수가 제1의 미리 정해진 수를 초과하면 상기 적응 네트워크에 접속된 상기 복수의 노드들 중 적어도 하나의 노드 상에서 파일 서버 역할을 활성화하도록 구성되는, 네트워크 관리 시스템.
  9. 제8항에 있어서, 상기 관리 노드는,
    상기 적응 네트워크에 접속된 노드들의 개수가 상기 제1의 미리 정해진 수보다 적은 제2의 미리 정해진 수보다 적다면 상기 적응 네트워크에 접속된 상기 복수의 노드들 상에서 모든 파일 서버 역할들을 비활성화하도록 구성되는, 네트워크 관리 시스템.
  10. 제1항에 있어서, 상기 관리 노드는,
    상기 적응 네트워크에 접속된 노드들의 개수가 500을 초과하면 상기 적응 네트워크에 접속된 상기 복수의 노드들 중 하나 이상의 노드들 상에서 메타데이터 인덱스 서버 역할 및 파일 서버 역할을 활성화하도록 구성되는, 네트워크 관리 시스템.
  11. 삭제
  12. 삭제
  13. 네트워크를 관리하기 위한 방법으로서
    적응 네트워크에 접속된 복수의 노드들을 제공하는 단계 - 각 노드는 컴퓨터 판독가능한 명령들을 포함하는 메모리에 연결된 프로세서를 포함하고, 상기 컴퓨터 판독가능한 명령들은 상기 프로세서에 의해 실행될 때 상기 노드로 하여금 상기 적응 네트워크를 동작시키기 위한 하나 이상의 역할들을 이행하게 하며, 상기 복수의 노드들 중 적어도 하나는 활성의 관리 역할(active administrative role)을 하는 관리 노드로서 구성됨 - 와,
    상기 관리 노드에 의해 상기 복수의 노드들에 쿼리하여 상기 적응 네트워크의 상태들을 판정하는 단계와,
    상기 판정된 상태들에 기초하여 상기 적응 네트워크에 대한 하나 이상의 원하는 역할들을 상기 관리 노드에 의해 결정하는 단계와,
    상기 하나 이상의 원하는 역할들 중 어느 원하는 역할이 상기 적응 네트워크에서 이행되지 않는지를 상기 관리 노드에 의해 판정하는 단계와,
    각각의 이행되지 않은 원하는 역할에 대하여, 상기 복수의 노드들 중 그 원하는 역할을 이행하도록 구성된 하나의 노드에 역할 활성화 요청을 송신하는 단계와,
    상기 판정된 상태들에 기초하여 상기 적응 네트워크에 대한 하나 이상의 원하지 않은 역할들을 결정하는 단계와,
    상기 하나 이상의 원하지 않은 역할들 중 어느 원하지 않은 역할이 상기 적응 네트워크에서 활성인지를 판정하는 단계와,
    각각의 활성의 원하지 않은 역할에 대하여, 상기 복수의 노드들 중 상기 원하지 않은 역할이 활성인 하나의 노드에 역할 비활성화 요청을 송신하는 단계
    를 포함하는 네트워크 관리 방법.
  14. 삭제
  15. 제13항에 있어서, 하나 이상의 원하는 역할들을 결정하는 단계는 상기 판정된 상태들과 하나 이상의 미리 정해진 목표 상태들을 비교하는 단계를 포함하는 네트워크 관리 방법.
  16. 제13항에 있어서, 하나 이상의 원하는 역할들을 결정하는 단계는 상기 적응 네트워크 상의 부하가 미리 정해진 임계치 부하를 초과하면 원하는 역할로서 메타데이터 인덱스 서버 역할을 지정하는 단계를 포함하는 네트워크 관리 방법.
  17. 제13항에 있어서, 하나 이상의 원하는 역할들을 결정하는 단계는 상기 적응 네트워크에 접속된 노드들의 개수가 미리 정해진 수를 초과하면 원하는 역할로서 파일 서버 역할을 지정하는 단계를 포함하는 네트워크 관리 방법.
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 적응 네트워크(adaptive network)에 연결된 장치에서 실행될 때 상기 네트워크를 관리하기 위한 방법을 수행하는 컴퓨터 실행가능한 명령들을 포함하는 컴퓨터 판독가능한 저장 매체 - 상기 적응 네트워크는 상기 적응 네트워크에 연결된 복수의 노드들을 포함하고, 각 노드는 컴퓨터 판독가능한 명령들을 포함하는 메모리에 연결된 프로세서를 포함하며, 상기 컴퓨터 판독가능한 명령들은 상기 프로세서에 의해 실행될 때 상기 노드로 하여금 상기 적응 네트워크를 동작시키기 위한 하나 이상의 역할들을 이행하게 함 - 로서,
    상기 방법은
    상기 적응 네트워크의 상태들을 판정하는 단계와,
    상기 판정된 상태들에 기초하여 상기 적응 네트워크에 대한 하나 이상의 원하는 역할들을 결정하는 단계 - 상기 결정된 하나 이상의 역할들은 파일 서버, 인덱스 서버, 보안 서버, 정책 시행(policy enforcement), 개체들에 대한 사용 권한 유효성 검사(permission validation for objects), 오프라인 메시징 서버, 감사 서버(auditing server), 및 관리 중 하나 이상을 포함함 - 와,
    상기 하나 이상의 원하는 역할들 중 어느 원하는 역할이 상기 적응 네트워크에서 이행되지 않는지를 판정하는 단계와,
    각각의 이행되지 않은 원하는 역할에 대하여, 상기 복수의 노드들 중 그 원하는 역할을 이행하도록 구성된 하나의 노드에 역할 활성화 요청을 송신하는 단계와,
    상기 노드에 의해 현재 시행되는 활성 규칙을 나타내는 메시지를 상기 적응 네트워크 내의 다른 관리 노드들로 송신하는 단계와,
    상기 판정된 상태들에 기초하여 상기 적응 네트워크에 대한 하나 이상의 원하지 않은 역할들을 결정하는 단계와,
    상기 하나 이상의 원하지 않은 역할들 중 어느 원하지 않은 역할이 상기 적응 네트워크에서 활성인지를 판정하는 단계와,
    각각의 활성의 원하지 않은 역할에 대하여, 상기 복수의 노드들 중 상기 원하지 않은 역할이 활성인 하나의 노드에 역할 비활성화 요청을 송신하는 단계
    를 포함하는
    컴퓨터 판독가능한 저장 매체.
  30. 제29항에 있어서,
    하나 이상의 원하는 역할들을 결정하는 단계는 상기 판정된 상태들과 하나 이상의 미리 정해진 목표 상태들을 비교하는 단계를 포함하는
    컴퓨터 판독가능한 저장 매체.
  31. 제29항에 있어서,
    하나 이상의 원하는 역할들을 결정하는 단계는 상기 적응 네트워크 상의 부하가 미리 정해진 임계치 부하를 초과하면 원하는 역할로서 메타데이터 인덱스 서버 역할을 지정하는 단계를 포함하는
    컴퓨터 판독가능한 저장 매체.
  32. 제29항에 있어서,
    하나 이상의 원하는 역할들을 결정하는 단계는 상기 적응 네트워크에 접속된 노드들의 개수가 미리 정해진 수를 초과하면 원하는 역할로서 파일 서버 역할을 지정하는 단계를 포함하는
    컴퓨터 판독가능한 저장 매체.
KR1020097000368A 2006-07-09 2007-07-09 네트워크 관리 시스템, 네트워크 관리 방법, 노드 동작 방법 및 적응 네트워크의 자기 활성화 노드 KR101396661B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US80678806P 2006-07-09 2006-07-09
US60/806,788 2006-07-09
PCT/CA2007/001206 WO2008006196A2 (en) 2006-07-09 2007-07-09 Systems and methods for managing networks

Publications (2)

Publication Number Publication Date
KR20090031723A KR20090031723A (ko) 2009-03-27
KR101396661B1 true KR101396661B1 (ko) 2014-05-16

Family

ID=38923569

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097000368A KR101396661B1 (ko) 2006-07-09 2007-07-09 네트워크 관리 시스템, 네트워크 관리 방법, 노드 동작 방법 및 적응 네트워크의 자기 활성화 노드

Country Status (6)

Country Link
US (1) US20100011098A1 (ko)
EP (1) EP2080124A4 (ko)
JP (1) JP5002647B2 (ko)
KR (1) KR101396661B1 (ko)
CN (1) CN101971561A (ko)
WO (1) WO2008006196A2 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8577999B2 (en) * 2009-01-30 2013-11-05 Nokia Corporation Method for WLAN network and device role activation
US8719400B2 (en) * 2010-03-02 2014-05-06 International Business Machines Corporation Flexible delegation of management function for self-managing resources
US8549010B2 (en) * 2011-05-13 2013-10-01 Nokia Corporation Method and apparatus for providing distributed key range management
US9467523B2 (en) * 2011-06-15 2016-10-11 Control Point Corporation Small footprint node controller core in a grid communications system
US9092482B2 (en) 2013-03-14 2015-07-28 Palantir Technologies, Inc. Fair scheduling for mixed-query loads
US9173111B2 (en) * 2011-12-28 2015-10-27 Silver Spring Networks, Inc. System and method for convergence and automatic disabling of access points in a wireless mesh network
US10346444B1 (en) * 2012-01-12 2019-07-09 OpsDog, Inc. Management of standardized organizational data
US9331952B2 (en) * 2013-01-02 2016-05-03 International Business Machines Corporation Modifying an assignment of nodes to roles in a computing environment
US9910697B2 (en) 2015-10-13 2018-03-06 Palantir Technologies Inc. Fault-tolerant and highly-available configuration of distributed services
US10362143B2 (en) 2016-09-29 2019-07-23 International Business Machines Corporation Dynamically transitioning the file system role of compute nodes for provisioning a storlet
US20180183695A1 (en) * 2016-12-28 2018-06-28 Intel Corporation Performance monitoring
US10353699B1 (en) 2017-06-26 2019-07-16 Palantir Technologies Inc. Systems and methods for managing states of deployment
US10558454B2 (en) 2018-06-04 2020-02-11 Palantir Technologies Inc. Constraint-based upgrade and deployment
US11016784B2 (en) 2019-03-08 2021-05-25 Palantir Technologies Inc. Systems and methods for automated deployment and adaptation of configuration files at computing devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020156874A1 (en) 2001-04-20 2002-10-24 Suorsa Raymond E. Automated provisioning of computing networks according to customer accounts using a network database data model
US20040177141A1 (en) 2003-03-06 2004-09-09 Actional Corporation Network interaction analysis arrangement
US20060069805A1 (en) 2004-07-30 2006-03-30 Microsoft Corporation Network system role determination
US20060198386A1 (en) 2005-03-01 2006-09-07 Tong Liu System and method for distributed information handling system cluster active-active master node

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4488004A (en) * 1982-03-30 1984-12-11 At&T Bell Laboratories Providing feature transparency between a plurality of PBXs
US5121387A (en) * 1988-08-26 1992-06-09 Scientific Atlanta Link utilization control mechanism for demand assignment satellite communications network
US5206899A (en) * 1991-09-05 1993-04-27 At&T Bell Laboratories Arrangement for outbound telecommunications
US5526358A (en) * 1994-08-19 1996-06-11 Peerlogic, Inc. Node management in scalable distributed computing enviroment
GB9508283D0 (en) * 1995-02-07 1995-06-14 British Telecomm Information services provision and management
FR2750517B1 (fr) * 1996-06-27 1998-08-14 Bull Sa Procede de surveillance d'une pluralite de types d'objets d'une pluralite de noeuds a partir d'un noeud d'administration dans un systeme informatique
US5913921A (en) * 1996-07-12 1999-06-22 Glenayre Electronics, Inc. System for communicating information about nodes configuration by generating advertisements having era values for identifying time reference for which the configuration is operative
US5949977A (en) * 1996-10-08 1999-09-07 Aubeta Technology, Llc Method and apparatus for requesting and processing services from a plurality of nodes connected via common communication links
US5870406A (en) * 1997-02-19 1999-02-09 Ericsson Inc. Automatic repeat request(ARQ) data communications method and apparatus
US5901352A (en) * 1997-02-20 1999-05-04 St-Pierre; Sylvain System for controlling multiple networks and associated services
US6275953B1 (en) * 1997-09-26 2001-08-14 Emc Corporation Recovery from failure of a data processor in a network server
WO1999053415A1 (en) * 1998-04-15 1999-10-21 Hewlett-Packard Company Distributed processing over a network
US6782408B1 (en) * 1999-03-30 2004-08-24 International Business Machines Corporation Controlling a number of instances of an application running in a computing environment
US6611755B1 (en) * 1999-12-19 2003-08-26 Trimble Navigation Ltd. Vehicle tracking, communication and fleet management system
JP3896784B2 (ja) * 2000-10-10 2007-03-22 日本電気株式会社 パケット通信方法および装置
US6704569B2 (en) * 2001-07-09 2004-03-09 Ericsson Inc. Centralized user database and administrative node connecting private and public wireless communications systems
US20030110154A1 (en) * 2001-12-07 2003-06-12 Ishihara Mark M. Multi-processor, content-based traffic management system and a content-based traffic management system for handling both HTTP and non-HTTP data
US7289456B2 (en) * 2002-04-08 2007-10-30 Telcordia Technologies, Inc. Determining and provisioning paths within a network of communication elements
US7769881B2 (en) * 2003-01-24 2010-08-03 Hitachi, Ltd. Method and apparatus for peer-to peer access
US7350186B2 (en) * 2003-03-10 2008-03-25 International Business Machines Corporation Methods and apparatus for managing computing deployment in presence of variable workload
US7590736B2 (en) * 2003-06-30 2009-09-15 Microsoft Corporation Flexible network load balancing
US7302608B1 (en) * 2004-03-31 2007-11-27 Google Inc. Systems and methods for automatic repair and replacement of networked machines
US20050273668A1 (en) * 2004-05-20 2005-12-08 Richard Manning Dynamic and distributed managed edge computing (MEC) framework
US20060015505A1 (en) * 2004-07-16 2006-01-19 Henseler David A Role-based node specialization within a distributed processing system
US7848739B2 (en) * 2005-12-28 2010-12-07 Motorola, Inc. Method for transfer of user identity between CDMA wireless communication devices
US20070174429A1 (en) * 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
SG136825A1 (en) * 2006-04-20 2007-11-29 Mitac Int Corp Navigation provision system and framework for providing content to an end user

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020156874A1 (en) 2001-04-20 2002-10-24 Suorsa Raymond E. Automated provisioning of computing networks according to customer accounts using a network database data model
US20040177141A1 (en) 2003-03-06 2004-09-09 Actional Corporation Network interaction analysis arrangement
US20060069805A1 (en) 2004-07-30 2006-03-30 Microsoft Corporation Network system role determination
US20060198386A1 (en) 2005-03-01 2006-09-07 Tong Liu System and method for distributed information handling system cluster active-active master node

Also Published As

Publication number Publication date
EP2080124A4 (en) 2013-10-16
KR20090031723A (ko) 2009-03-27
EP2080124A2 (en) 2009-07-22
JP5002647B2 (ja) 2012-08-15
CN101971561A (zh) 2011-02-09
WO2008006196A3 (en) 2011-02-03
WO2008006196A2 (en) 2008-01-17
US20100011098A1 (en) 2010-01-14
JP2010501912A (ja) 2010-01-21

Similar Documents

Publication Publication Date Title
KR101396661B1 (ko) 네트워크 관리 시스템, 네트워크 관리 방법, 노드 동작 방법 및 적응 네트워크의 자기 활성화 노드
AU2010214672B2 (en) Method for optimally utilizing a peer to peer network
EP1985024B1 (en) Method and apparatus for updating a presence attribute
US8554827B2 (en) Virtual peer for a content sharing system
US9021026B2 (en) System and method for enhanced experience with a peer to peer network
CN113765715A (zh) 用于iot装置的分散式数据存储和处理
KR101871383B1 (ko) 계층적 데이터 구조의 노드 상에서 재귀적 이벤트 리스너를 사용하기 위한 방법 및 시스템
US20110307564A1 (en) Data node apparatus, peer information acquisition method and system
JP5119844B2 (ja) ファイル転送システム、ファイル転送方法、ファイル転送プログラム及びインデックスサーバ
CA2595684C (en) Method for optimally utilizing a peer to peer network
WO2014050386A1 (ja) ネットワーク、ネットワークノード、配信方法及びネットワークノード用プログラム
WO2016119837A1 (en) Software-defined networking controller
CA2595438C (en) Method for improving peer to peer network communication
US8799925B2 (en) Managing contact list status notifications in collaboration systems to reduce network traffic
EP2071764B1 (en) A method, device and communication system thereof of electing local master
US20140365512A1 (en) Object Filtering in a Computing Network
WO2011116652A1 (zh) 网络管理方法及网络管理系统
JP4449378B2 (ja) 情報処理装置ならびにその名前空間構成装置および方法

Legal Events

Date Code Title Description
N231 Notification of change of applicant
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant
LAPS Lapse due to unpaid annual fee