KR20060051938A - 네트워크 노드 열거에 관한 시스템 및 방법 - Google Patents

네트워크 노드 열거에 관한 시스템 및 방법 Download PDF

Info

Publication number
KR20060051938A
KR20060051938A KR1020050092116A KR20050092116A KR20060051938A KR 20060051938 A KR20060051938 A KR 20060051938A KR 1020050092116 A KR1020050092116 A KR 1020050092116A KR 20050092116 A KR20050092116 A KR 20050092116A KR 20060051938 A KR20060051938 A KR 20060051938A
Authority
KR
South Korea
Prior art keywords
enumeration
timing
network
request
round
Prior art date
Application number
KR1020050092116A
Other languages
English (en)
Inventor
알렌산드루 가브릴레스쿠
오스틴 엔 도넬리
데이비드 쥐. 탈러
리차드 존 블랙
Original Assignee
마이크로소프트 코포레이션
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 마이크로소프트 코포레이션 filed Critical 마이크로소프트 코포레이션
Publication of KR20060051938A publication Critical patent/KR20060051938A/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/12Discovery or management of network topologies
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • 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/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources

Landscapes

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

Abstract

네트워크 내의 한 노드로부터 열거 요청들이 송신된다. 열거 요청을 수신한 각 노드는 이 열거 요청을 수신한 노드에 의해 결정되는 시점에서 열거 응답을 송신한다.
네트워크 노드 열거, 라운드 기반 스케줄링, 열거 모듈

Description

네트워크 노드 열거에 관한 시스템 및 방법{NETWORK NODE ENUMERATION}
도 1은 본 명세서에서 기술된 시스템 및 방법에 따른 네트워크 노드 열거가 구현될 수 있는 컴퓨터 네트워크(100)의 일반적인 표현을 도시한 도면.
도 2는 도 1의 네트워크와 같은 네트워크에서 열거자에 의해 수행되는 열거 프로세스에서 수행될 수 있는 다양한 동작을 포함하는 동작 흐름도.
도 3은 응답자 모듈이 네트워크 열거 중에 전이될 수 있는 예시적인 상태들을 도시하는 간단한 상태 전이도.
도 4는 도 1의 네트워크와 같은 네트워크의 응답자 모듈에서의 고정된 라운드 길이 스케줄링 방법에 대한 동작 흐름도.
도 5는 도 1의 네트워크와 같은 네트워크의 응답 모듈에서의 가변 라운드 길이 스케줄링 방법에 대한 동작 흐름도.
도 6은 컴퓨터 시스템의 형태로 된 예시적인 네트워크 노드를 도시하는 도면.
<도면의 주요 부분에 대한 부호의 설명>
110: 노드
116: 열거 모듈
118: 응답자 모듈
본 명세서에 기술된 시스템 및 방법은 일반적으로 네트워크 노드 열거에 관련된 것이다.
본 명세서에서는 네트워크 노드 열거에 대한 시스템 및 방법의 다양한 구현이 기술된다. 본 명세서에서 기술된 몇 가지 시스템 및 방법에 따르면, 네트워크 내의 노드들 중 선택된 노드는 네트워크의 다른 노드들에게 열거 요청을 송신한다. 열거 요청을 수신하는 것에 대한 응답으로서, 액세스 가능하고(즉, "온라인") 요청을 수신하는 노드들이 열거 응답을 송신하므로, 자신들을 열거 요청을 송신하는 노드에 액세스할 수 있다고 식별한다. 그 다음 열거 요청을 송신하는 노드는 수신된 열거 응답들의 ACK(acknowledgement)를 송신한다. 한 구현에서, 열거 요청을 송신하는 노드는 하나 이상의 이후의 열거 요청으로 ACK를 송신한다.
열거 요청에 대한 응답으로서 열거 응답들을 동시에 송신하는 많은 수의 액세스 가능한 노드로부터 일어날 수 있는 과도한 네트워크 정체를 줄이기 위하여, 열거 응답들은 여러 시점에서 액세스 가능한 노드들로부터 송신된다. 많은 수의 액세스 가능한 노드로부터의 열거 응답들에 대한 동시 송신을 악성 노드가 개시할 수 있는 가능성을 줄이기 위해, 각 액세스 가능한 노드는 자신이 자신의 열거 응답을 송신하는 시점을 독립적으로 결정한다.
몇몇의 구현에서, 각 노드는 열거 응답이 송신되는 시점 또는 시점들을 노드에서 이루어진 추후의 네트워크 활동의 예측 및/또는 네트워크 활동의 관측에 기초하여 독립적으로 스케줄링한다. 또한, 몇몇의 구현에서는 각 액세스 가능한 노드는 각 열거 응답이 복수의 타이밍 라운드 중 하나로 송신되도록 스케줄링 된 "라운드 기반" 스케줄링 방법을 채용한다.
이제 도 1로 돌아가면, 도 1에는 컴퓨터 네트워크(100)의 일반적인 표현이 도시된다. 네트워크(100)는 네트워크 노드 열거가 일어날 수 있는 하나의 가능한 환경을 도시한다. 컴퓨터 네트워크(100)는 네트워크 클라우드(112)를 통해 상호접속된 복수(N)의 노드(110)를 포함한다. 네트워크 클라우드(112)는 일반적으로 데이터가 노드(110)들 사이에서 순회하는 것과 같이 데이터(예를 들면, 열거 요청 및 열거 응답)가 다양한 네트워크 경로, 장치 및/또는 전송 매체를 통해 다양하게 라우팅할 수 있음을 나타낸다. 선(108)과 같은, 노드(110)와 네트워크 클라우드(112) 간의 꺽인선은 노드(110)가 네트워크(110)에 액세스될 수 있음(즉, "온라인")을 나타낸다. 예를 들면, 노드 (1), (2), (3), (5), 및 (N) 각각은 네트워크에 액세스 가능한 것으로 나타나는 한편, 노드(4)는 네트워크(100)에 액세스될 수 없는("오프라인") 것으로 나타난다.
본 명세서에서 기재된, 용어 "노드"는 네트워크(예를 들면, 네트워크(100))에서 고유한 주소가 정해질 수 있거나, 고유하게 식별될 수 있고 네트워크에서 다른 노드와 통신하도록 동작가능한 임의의 컴퓨터 시스템, 장치 또는 프로세스를 칭 한다. 예를 들면, 노드는 퍼스널 컴퓨터, 서버 컴퓨터, 핸드헬드(hand-held) 또는 랩탑 장치, 타블렛 장치, 마이크로프로세서 시스템, 마이크로프로세서-기반 시스템, 셋 탑 박스, 소비자 전자 장치, 네트워크 PC, 미니컴퓨터, 메인프레임 컴퓨터, 상기 시스템 또는 장치의 임의의 것을 포함하는 분산형 컴퓨팅 환경 등을 포함할 수 있지만 이에 한정되지 않는다. 컴퓨터 시스템(600)의 형태로 된 네트워크 노드(110)의 예는 도 6에 관련하여 이하 설명된다.
노드가 컴퓨터 시스템 또는 몇 가지 형태의 장치를 포함하는 경우, 노드는 통상적으로 프로세서와 하나 이상의 유형의 컴퓨터 판독가능 매체, 및 노드가 네트워크(100)에 동작적으로 접속되도록 하는 하나 이상의 통신 접속을 포함한다. 본 명세서에서 기술된 바와 같이, 컴퓨터-판독가능 매체는 컴퓨터가 이해하고 액세스할 수 있는 형태로 인코딩된 정보를 저장하고 구현할 수 있는 임의의 매체일 수 있다. 통상적인 유형의 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 메모리, 분리형 및/또는 비분리형 매체를 포함하는 데이터 저장장치, 및 통신 매체를 포함하지만 이에 한정되지 않는다.
통신 매체는 반송파 또는 기타 전송 메카니즘 등의 변조된 데이터 신호에 컴퓨터 판독가능 정보를 구현하며, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호 내의 정보를 인코딩하도록 하나 또는 그 이상의 특성을 설정 또는 변경시킨 신호를 의미한다. 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속 등의 유선 매체와, 음향, RF, 적외선 및 기타 무선 매체 등의 무선 매체를 포함하지만, 이에 한정되지 않는다.
도시된 바와 같이, 노드 (1)(114)는 열거 모듈(116)을 포함하는 한편, 노드(2)-(N)는 각각 응답자 모듈(118)을 포함한다. 일반적으로, 열거 모듈(116)은 노드 (1)(114)에게 네트워크 노드 열거를 수행하는 다양한 기능을 제공한다. 예를 들면, 열거 모듈(116)은 열거 요청을 구축하고, 열거 요청의 송신을 스케줄링하고, 열거 요청을 송신하고, 열거 응답 ACK를 송신하고, 수신된 열거 응답에 포함된 정보를 처리하고, 네트워크에서 액세스 가능한 노드의 개수 및/또는 네트워크에서 액세스 가능한 노드의 식별자를 결정하는 기능을 노드 (1)(114)에게 제공할 수 있다. 일반적으로, 각 응답자 모듈(118)은 이 모듈이 포함되고 관련된 노드(110)에게 수신된 열거 요청들을 처리하고, 몇 가지 기준 및/또는 로직(logic)에 기초하여 열거 응답을 송신한 시점을 결정하는 기능을 제공한다. 본 명세서에서 기재된, "송신"이라는 용어는 일반적으로 네트워크(100)를 통해, 열거 요청 및 열거 응답과 같은 정보를 전송하는 것(예를 들면, 브로드캐스팅, 멀티캐스팅, 유닛캐스팅, 등)을 칭한다.
본 명세서에서 특정 모듈과 관련하여 기술된 기능은 이 모듈에 의해 직접, 이 모듈이 포함되거나 연관된 노드와 협력하는 모듈에 의해, 또는 복수의 부-모듈에 의해 수행될 수 있다고 이해되어야 한다. 예를 들면, 몇몇의 구현에서, 모듈에 의해 수행된 동작들은 하나 이상의 컴퓨터 판독가능 매체에 실시되는 컴퓨터 실행가능 명령어로서 구현된다. 이들 구현에서, 모듈의 동작들은 모듈이 포함되거나 연관된 노드에서 프로세서 또는 프로세서들에 의해 실행될 수 있다. 다른 구현들에서, 모듈의 동작들은 하드웨어, 펌웨어, 또는 하드웨어, 펌웨어, 및 소프트웨어 의 몇몇의 조합으로서, 모듈이 포함되거나 연관된 노드의 일부로서, 또는 이 노드와 관련된 몇몇의 다른 방식으로 구현될 수 있다. 또한, 특정 모듈에 관련하여 본 명세서에서 기술된 기능은 복수의 노드에 의해 수행되거나 복수의 노드 간에 분산될 수 있다.
이제 열거 모듈(116)의 몇몇의 특정 기능을 보다 상세히 설명하자면, 한 구현에서, 네트워크(100)에서 열거 모듈(116)은 시간적으로 간격을 두고 있는 복수의 열거 요청을 응답자 모듈(118)에게 송신한다. 송신된 열거 요청들 간의 간격은 주기적이거나 비-주기적일 수 있다. 예를 들면, 한 구현에서, 열거 요청들은 본 명세서에서는 "요청 간격"으로서 칭하는 균일하게 간격을 둔 시간 간격으로 송신될 수 있다. 다른 구현에서, 열거 요청들은 다양한 무작위로 선택된 시점들에서 송신될 수 있다. 또 다른 구현에서는, 열거 요청들은 몇몇의 다른 스케줄, 로직, 및/또는 열거 모듈(116)에 의해 이루어진 결정에 기초하여 열거 모듈(116)에 의해 결정된 시점들에서 송신된다.
한 구현에서, 열거 요청들은, 여럿 가운데서, 열거 모듈(116)에 의해 수신되었던 열거 응답들을 이전에 송신한 (ACK하는) 노드(110)를 식별하는 정보를 포함한다. 일 실시예에서, 각 열거 요청은 소정의 시간 프레임으로 열거 모듈에 의해 수신된 열거 응답들을 송신하였던 노드(110)를 식별하는 정보를 포함한다. 예를 들면, 한 구현에서, 각 열거 요청은 마지막 열거 요청이 열거 모듈에 의해 송신된 이후에 열거 응답들을 송신하였던 노드들(110)을 식별하는 정보를 포함한다. 한 구현에서, 열거 요청들은 이전에 ACK되었던 노드(110)를 식별할 수 있다. 다른 구현 에서, 열거 요청 시에 소정의 노드가 ACK되는 빈도는 한정되거나 상한이 정해질 수 있다.
열거 모듈(116)이 열거 응답을 수신할 때, 응답에 포함된 정보는 처리 또는 이후의 검색을 위해 저장될 수 있다. 예를 들면, 열거 모듈(116)은 열거 응답을 송신하였던 각 노드의 식별자들(예를 들면, 네트워크 주소들)이 저장된 하나 이상의 데이터 구조를 생성하고/거나 보유할 수 있다. 한 구현에서, 열거 모듈(116)은 마지막 열거 요청이 송신된 이후에 열거 응답들을 송신한 모든 노드의 주소들을 포함하는 데이터 구조 및 전체 열거 프로세스 중에 열거 응답들을 송신한 모든 노드의 주소들을 포함하는 다른 데이터 구조를 보유한다. 그러면, 이 구현에서, 마지막 열거 응답 이후의 열거 응답들을 송신한 모든 노드의 주소들을 포함하는 데이터 구조는 다음의 열거 요청을 구축하는 데에 이용될 수 있는 한편, 전체 열거 프로세스 중에 열거 응답들을 송신한 모든 노드의 주소들을 포함하는 데이터 구조는 마지막 네트워크 노드 열거에 이용될 수 있다. 다른 구현에서, 열거 모듈(116)은 열거 프로세싱에 이용되는 여러가지 다른 데이터를 컴파일하고/거나 저장한다.
몇몇의 구현에서, 열거 모듈(116)은 열거 요청들을 송신하고, 소정의 조건(예를 들면, 시간 조건 등)을 만족할 때까지 열거 응답들을 수신하고 처리한다. 예를 들면, 한 구현에서, 열거 모듈(116)은 마지막 열거 응답이 열거 모듈(116)에 의해 수신된 이후에 소정의 기간이 만료될 때까지 열거 요청들을 송신하는 것을 계속하지만 이 구현에 한정되지 않는다. 다른 구현에서, 열거 모듈(116)은 소정의 기간 당 응답들의 개수가 몇몇의 최소값 이하가 될 때까지 열거 요청들을 송신하는 것을 계속한다. 또 다른 구현에서, 열거 모듈(116)은 소정의 기간 당 수신된 응답의 개수가 몇몇의 최소값 이하일 때까지 열거 요청들을 송신한 다음 추가적인 소정의 기간동안 열거 요청들을 송신하는 것을 계속한다.
한 구현에서, 열거 프로세스 중에 노드들로부터 수신된 정보가 분석되고/거나 컴파일되어 다양한 열거 데이터를 생성한다. 예를 들면, 열거 프로세스 중에 열거 응답들을 송신하였던 모든 노드의 개수 및/또는 식별자는 이후에 다른 정보와 함께 결정될 수 있다.
도 2는 네트워크에서 열거자에 의해 수행되는 열거 프로세스에서 수행될 수 있는 다양한 동작들을 포함하는 동작 흐름(200)을 도시한다. 이하 도 2의 설명은 도 1의 네트워크(100)를 참조하여 이루어진다. 상세히는, 도 2의 설명은 도 1의 열거 모듈(116) 및 네트워크(100)를 참조하여 이루어진다. 그러나, 도 2에 관하여 기술된 동작 흐름은 열거 모듈(116)에 의해, 또는 네트워크(100)에서 수행되고 있다고 한정함을 의도하는 것은 아니라고 이해되어야 한다. 또한, 동작 흐름(200)은 동작을 실행시키는 특정 순서를 나타내지만, 다른 구현에서 동작들은 다른 순서일 수 있다고 이해되어야 한다.
동작 흐름(200)은, 여럿 가운데서, 요청 단계를 도시한다. 요청 단계는 네트워크에서 열거 응답들이 노드들로 송신되고 있는 열거 프로세스의 일부분이다. 요청 단계는 동작 흐름(200)에서 동작(210-218)을 포함하는 동작 루프로서 도시된다.
도시된 바와 같이, 동작(208)에서 열거 요청들 간의 소정의 간격이 설정된 다. 도 2에 도시된 구현에서, 동작(208)은 동작 흐름(200) 중에서, 요청 단계 이전에 한번 일어난다. 대안적인 실시예에서, 동작(208)은 요청 단계에서 일어날 수도 있다. 이는 동작적인 조건이나 네트워크 조건 또는 동작자의 선호도에 기초하여 요청 단계 도중에 열거 요청들 간의 소정의 간격을 변경하는 융통성을 제공한다.
다음에, 동작(210)에서 열거 모듈(116)에 의해 네트워크(100)에서 열거 요청이 노드(110)에 송신된다. 동작(210)에서 송신된 열거 요청은, 여럿 가운데서, 열거 모듈(116)에 의해 수신되었던 열거 응답들을 이전에 송신한 노드들(110)을 식별하는 정보를 포함할 수 있다. 즉, 동작(210)에서 송신한 열거 요청은 열거 모듈(116)에 의해 수신되었던 열거 응답들을 이전에 송신한 노드들(110)의 ACK를 포함할 수 있다.
한 구현에서, 동작(210)에서 송신된 열거 응답은 열거 모듈(116)에 의해 마지막 열거 요청이 수신된 이후에 열거 모듈(116)에 의해 수신되었던 열거 응답을 송신한 노드들(110)만을 식별하거나 ACK하는 정보를 포함한다. 다른 구현에서, 동작(210)에서 송신된 열거 응답은 현재 열거 프로세스 중 열거 모듈(116)에 의해 수신되었던 열거 응답을 송신한 노드(110) 중 모두 또는 일부를 식별하는 정보를 포함한다.
그 다음, 동작(212)에서 열거 모듈(116)이 열거 프로세스의 요청 단계를 종료해야할지 여부가 판정된다. 즉, 동작(210-218)에 의해 형성된 동작 루프를 빠져나가야 하는지 여부에 대한 판정이 이루어진다. 동작(212)에서 이루어지는 판정은 다양한 요소에 기초하여 이루어질 수 있다. 몇몇의 구현에서, 동작(212)에서 이루어지는 판정은 열거 프로세스 중에 응답할 가능성이 있었던 모든 노드가 이미 응답하였다고 나타내거나 가정하는 기준 또는 몇몇의 기준들에 기초하여 이루어진다. 예를 들면, 한 구현에서 마지막 열거 응답이 열거 모듈(116)에 의해 수신된 이후에 소정의 시간이 지났다면, 동작(212)에서 열거 프로세스의 요청 단계를 종료하라는 판정이 이루어진다. 다른 구현에서, 열거 모듈(116)이 열거 프로세스의 요청 단계를 종료할지 여부를 판정하는 데에 다른 기준이 이용될 수 있다. 동작(212)은 동작(210) 이후 외에도 동작(210-218)에 의해 형성된 동작 루프에서 여러 번 일어날 수 있다고 인식되어야 한다.
동작(212)에서 열거 모듈(116)이 요청 단계를 종료해야한다고 판정되면, 동작 흐름(200)은 후술될 동작(220)으로 계속된다. 그러나, 동작(212)에서 열거 모듈(116)이 요청 단계를 종료해야 한다고 판정되지 않는다면, 동작 흐름은 동작(214)으로 진행되며, 이 동작에서 마지막 열거 요청이 열거 모듈(116)에 의해 송신된 이후에 임의의 열거 응답들이 수신되었는지 여부에 대한 판정이 이루어진다.
동작(214)에서 마지막 열거 요청이 열거 모듈(116)에 의해 송신된 이후에 어떠한 열거 응답도 수신되지 않았다고 판정되면, 동작 흐름(200)은 후술될 동작(218)으로 계속된다. 그러나, 동작(214)에서 마지막 열거 요청이 열거 모듈(116)에 의해 송신된 이후에 하나 이상의 열거 응답들이 수신되었다고 판정되면, 응답들을 송신하였던 노드들의 식별자들이 저장되고, 동작 흐름(200)은 동작(218)으로 계속된다.
동작(218)에서, 열거 요청이 송신되어야 할지 여부가 판정된다. 이 판정은 다양한 방식으로 이루어질 수 있다. 예를 들면, 한 구현에서, 마지막 열거 요청이 열거 모듈(116)에 의해 송신된 이후에 동작(208)에서 설정된, 열거 요청들 간의 소정의 간격과 동일한 기간이 만료되었는지 여부에 기초하는 판정이 이루어진다. 동작(218)에서 열거 요청이 송신되어야 한다고 판정되면, 동작 흐름(200)은 동작(210)으로 복귀한다. 동작(218)에서 열거 요청이 송신되지 않아야 한다고 판정되면, 동작 흐름은 동작(214)으로 복귀한다. 동작(218)은 동작(214) 이후에 외에도 요청 단계에서 여러 번 일어날 수 있다고 인식되어야 한다.
동작(212)으로 돌아가면, 상술한 바와 같이 이 동작에서 열거 모듈(116)은 요청 단계를 종료시켜야 한다고 판정되면, 동작 흐름(200)은 동작(220)으로 계속된다. 동작(220)에서, 열거 프로세스 중에 수집된 데이터는 컴파일되어 송신되고/거나 저장되며, 동작 흐름(200)은 종료한다. 동작(220)에서 컴파일될 수 있는 데이터 유형의 몇 가지 예로는 소정의 기간 내에 열거 모듈(116)에 의해 송신된 열거 요청들에 응답한 모든 노드의 식별자 및/또는 카운트를 포함한다.
몇몇의 실시예에서, 동작 흐름(200)에서 동작(220)은 동작(212)의 이후에 오지 않는다. 즉, 몇몇의 실시예에서, 동작(220)은 열거 모듈(116)이 열거 프로세스의 요청 단계를 종료해야한다는 판정 이후에 수행되지 않는다. 대신, 몇몇의 실시예에서, 데이터를 컴파일하고 송신하는 이 작업은 요청 단계 중에 한번 이상 또는 요청 단계 전반에서 계속적으로 일어날 수 있다.
각 응답자 모듈(118)은 열거 모듈(116)로부터의 열거 요청의 송신을 찾기 위 하여 네트워크를 모니터링(monitor)한다. 본 명세서에서 기술된 다양한 구현에서, 열거 요청을 탐지했을 때, 각 응답자 모듈(118)은 응답 스케줄링 방법을 실행한다. 일반적으로, 응답 스케줄링 방법은 응답자 모듈(118)이 열거 응답을 송신함으로써 열거 요청에 응답할 것인지 여부를 판정한다. 응답자 모듈이 열거 요청에 응답할 것이라고 판정되면, 스케줄링 방법은 응답자 모듈(118)이 열거 응답을 송신할 시점을 결정한다.
응답자 모듈(118)이 채용할 수 있는 복수의 다른 유형의 응답 스케줄링 방법이 존재한다. 예를 들면, 도 3, 4, 및 5 각각은 응답자 모듈(118)에 의해 채용될 수 있는 응답 스케줄링 방법을 도시하지만, 이에 한정되지 않는다. 몇몇의 구 현에서, 네트워크(100)의 각 응답자 모듈은 소정의 열거 프로세스 중에 동일하거나 상당히 유사한 응답 스케줄링 방법을 이용한다. 다른 구현에서, 네트워크(100) 내의 다양한 응답자 모듈(118)에 의해 서로 다른 스케줄링 방법들이 이용될 수 있다.
도 1의 네트워크(100)를 참조하여 이하의 도 3, 4, 및 5의 설명이 이루어진다. 상세히는, 도 3, 4, 및 5의 설명은 네트워크(100)의 열거자 모듈(116) 및 응답자 모듈(118)을 참조하여 이루어진다. 그러나, 도 3, 4, 및 5에 기술된 스케줄링 방법은 응답자 모듈(118), 열거 모듈(116)에 의해, 또는 네트워크(100)에서 수행되고 있다고 한정되는 것으로 의도되지 않는다고 이해되어야 한다. 또한, 도 3, 4, 및 5에 도시된 스케줄링 방법 각각이 동작 및/또는 상태의 특정 순서를 나타내지만, 다른 구현에서 동작 및/또는 상태는 다른 순서일 수 있고, 몇몇의 도시된 동작 및/또는 상태가 수행되지 않거나 포함되지 않고/거나 다른 동작 및/또는 상태가 포함될 수 있다고 이해되어야 한다.
먼저 도 3으로 돌아가면, 도 3에는 응답자 모듈(118)이 네트워크 열거 중에 전이될 수 있는 예시적인 상태를 도시하는 간단한 상태 전이도가 도시된다. 도시된 바와 같이, 응답자 모듈(118)은 처음에는 아이들(idle) 상태에 있게 된다. 열거 요청(312)이 수신되면, 응답자 모듈(118)은 응답 타이머를 설정하고, 열거 응답 송신 시점을 결정하고, 아이들 상태로부터 정지 상태(320)로 전이시킨다. 열거 응답 송신 시점은 타이머에 따라서, 응답자 모듈이 열거 응답을 열거 모듈(116)에 송신해야 할 시점을 기술한다.
응답자 모듈(118)은 다양한 방식으로 열거 응답 송신 시점을 결정할 수 있다. 몇몇의 실시예에서, 응답자 모듈(118)은 다른 응답자 모듈들로부터 송신된 열거 응답들의, 응답자 모듈(118)에 의해 이루어진 관측에 기초하여 열거 응답 송신 시점을 결정한다. 보다 상세히는, 이들 구현에서, 응답자 모듈은 이들 관측을 이용하여 네트워크에서 다른 노드들이 유사한 타이밍 방법을 이용한다고 가정하여 네트워크 간에서의 송신된 열거 응답들의 소정의 분배를 제공하도록 의도될 수 있는 타이밍 방법을 이용하여 열거 송신 시점을 설정한다. 타이밍 방법은 네트워크에서 다른 노드들이 유사한 타이밍 방법을 이용한다는 가정을 이용할 수 있지만 이 가정은 올바르지 않을 수 있다고 이해되어야 한다.
이러한 한 구현에서, 응답자 모듈(118)에 의해 이루어진 관측들은 다른 응답자 모듈들에 의한 열거 응답들의 송신이 일으키는 네트워크 상의 평균 열거 응답 밀도에 관련된다. 이러한 다른 구현에서, 응답자 모듈(118)에 의해 이루어진 관측 은 다른 응답자 모듈들에 의한 열거 응답들의 송신에 의한, 네트워크 상의 소정의 기간 마다 송신된 데이터의 양(예를들면, 초당 비트들)에 대한 네트워크 부하에 관련된다. 송신 시점이 계산될 수 있는 방식에 대한 보다 상세한 예는 도 4 및 도 5와 관련하여 이하 기술된다.
일단 정지 상태(320)가 되면, 응답자 모듈(118)은 타이머가 응답 송신 시점(322)에 도달했거나 열거 모듈(116)이 응답자 모듈(118)로부터 열거 응답을 수신했다는 ACK(긍정 ACK)를 포함하는 열거 요청(324)이 송신될 때까지 기다린다. 타이머가 응답 송신 시점(322)에 도달한다면, 응답자 모듈은, 응답 송신 시점에 또는 다른 시점에서, 열거 응답을 송신하고, 송신된 상태(330)로 전이된다. 응답자 모듈이 긍정 ACK(324)를 수신한다면, 응답자 모듈(118)은 완료 상태(340)로 전이된다.
일단 송신된 상태(330)가 되면, 응답자 모듈(118)은 열거 요청(332 또는 334)의 수신을 기다린다. 열거 요청이 긍정 ACK(334)를 포함하지 않는다면, 전술한 바와 같이, 응답자 모듈(118)은 응답 타이머를 설정하고, 열거 응답 송신 시점을 결정하고, 송신된 상태(330)로부터 정지 상태(320)로 전이된다. 열거 요청이 긍정 ACK(322)을 포함한다면, 응답자 모듈(118)은 송신 상태(330)로부터 완료 상태(340)로 전이된다.
몇몇의 구현에서, 응답자 모듈(118)은 "라운드 기반" 스케줄링 방법을 채용한다. 라운드 기반 스케줄링 방법은 네트워크에서 다양한 응답자 모듈들 간에 일반적으로 동기화될 수 있는 복수의 일련의 타이밍 라운드 중 한 라운딩 중에 열거 응답의 송신을 스케줄링한다. 라운드 기반 스케줄링에서, 라운드의 타이밍은 각 응답자 모듈(118)에 의해 개별적으로 계산된다. 그러나, 응답자 모듈(118)에서 공통된 스케줄링 방법들이 이용되고 열거 요청이 트리거하는 이 스케줄링 방법에 대한 거의 동시의 시작 시간 때문에 다양한 응답자 모듈(118)에서 타이밍 라운드들 간에 일반적인 동기화가 일어날 수 있다.
라운드 기반 스케줄링은 고정된 라운드 길이 스케줄링 또는 가변 라운드 길이 스케줄링 중 하나로서 분류될 수 있다. 고정된 라운드 길이 스케줄링에서, 소정의 일련의 타이밍 라운드에서 각 타이밍 라운드 기간은 거의 동일하다. 이와 다르게, 가변 라운드 길이 스케줄링은 소정의 일련의 타이밍 라운드에서 각 타이밍 라운드 기간은 변할 수 있다.
고정된 라운드 길이 스케줄링 및 가변 라운드 길이 스케줄링 모두에서, 열거 응답들 간의 몇몇의 바람직한 최소 평균 시간으로 모든 액세스 가능한 응답자 모듈로부터의 열거 응답들의 송신을 균일하게 분산시키려는 시도가 이루어진다. 이를 달성하기 위하여, 고정된 라운드 길이 스케줄링 방법 및 가변 라운드 길이 스케줄링 방법 모두는 남아있는 노드 값(N) 및 최소 간격 값(I)을 계산한다. 남아있는 노드 값(N)은 열거 모듈(116)로부터 긍정 ACK를 아직 수신하지 않은 노드의 개수의 추정치를 기술하는 정수이다. 최소 간격 값(I)은 열거 프로세스 중에 모든 액세스 가능한 노드의 응답자 모듈로부터의, 네트워크를 통한 열거 응답들 간의 바람직한 최소 평균 시간을 기술한다.
고정된 라운드 길이 스케줄링에서, N 및 I 값은 열거 응답이 소정의 라운드 로 송신되는지 여부를 판정하는 데에 이용된다. 가변 라운드 길이 스케줄링에서, N 및 I 값은 라운드의 길이를 결정하는 데에 이용된다.
남아있는 노드 값(N)이 결정되는 방식은 이용되는 라운드 기반 스케줄링의 유형에 따라 달라진다. 남아있는 노드 값(N)이 결정될 수 있는 방식의 몇 가지 예가 도 4 및 5에 관하여 이하 기술된다. I 값은 경험적으로 선택될 수 있거나, 최대 네트워크 사이즈, 네트워크 전송 속도, 등과 같은 다양한 파라미터에 기초하여 계산될 수 있다. 몇몇의 구현에서, I는 밀리세컨트(ms)로 기술된다. 다른 구현에서, I는 다른 시간 단위로 표현된다. I 값을 일단 구했다면, 이 값은 네트워크에서 모든 응답자 모듈(118)에 저장되거나 그렇지 않으면 액세스 가능하게 될 수 있다.
도 4 및 5는 각각 스케줄링 방법의 한 가능한 구현에 대한 동작 흐름을 도시한다. 하나의 열거 요청에 응답하는 하나의 응답자 모듈(118)에 관련하여 도 4 및 5에 관련된 이하의 설명이 이루어진다. 도 4 및 5에 도시된 동작 흐름들은 열거 요청들이 응답자 모듈들(118)에 의해 수신될 때마다 응답자 모듈(118)에서 일어날 수 있다고 이해되어야 한다. 또한, 통상적으로 도 4 및 5에 도시된 것과 동일하거나 유사한 동작 흐름들이 열거 프로세스 중에 네트워크(100)에서 액세스 가능한 응답자 모듈(118) 각각에서 일어날 것이라고 이해되어야 한다.
도 4는 응답자 모듈(118)에서의 고정된 라운드 길이 스케줄링 방법에 대한 한 가능한 동작 흐름(400)을 도시한다. 몇몇의 구현에서, 동작 흐름(400)에 의해 도시된 스케줄링 방법은 열거 응답이 응답자 모듈에 의해 수신될 때마다 응답자 모 듈(118)에 의해 수행된다. 다른 구현에서, 동작 흐름(400)에 의해 도시된 스케줄링 방법은 오직 특정된 시점마다 응답자 모듈(118)에 의해 수행된다. 즉, 몇몇의 구현에서, 동작 흐름(400)에 의해 도시된 스케줄링 방법은 다양한 동작적인 조건 또는 사용자 요구에 기초하여 "켜지거나" "꺼진다".
몇몇의 구현에서, 응답자 모듈에서 동작 흐름(400)을 수행하기 이전의 어느 시점에서, 고정된 라운드 길이 스케줄링 방법에 이용된 타이밍 라운드들의 기간을 기술하는 타이밍 라운드 기간 값(td)이 결정된다. td 값은 경험적으로 선택되거나 최대 네트워크 사이즈, 네트워크 전송 속도 등과 같은 다양한 파라미터에 기초하여 계산될 수 있다. 몇몇의 구현에서, td는 밀리세컨드(ms)로 타이밍 라운드들의 기간을 나타내는 정수 값이다. 다른 구현에서, td는 다른 시간 단위로 표현된다. td값을 일단 구하면, 이 값은 네트워크에서 모든 응답자 모듈(118)에 저장되거나 그렇지 않으면 액세스 가능하게 된다.
많은 구현에서, td값은 열거 프로세스가 시작하기 전에 결정된다. 대부분의 구현에서, td값은 스케줄링 방법 전반에 걸쳐 일정하게 유지된다. 몇몇의 구현에서, td값은 이 스케줄링 방법에서의 제1 타이밍 라운드에 대한 제1 값을 가지고, 관측된 프로세스 로드와 같은 요소들에 기초하여, 이 스케줄링 방법에서의 남아있는 타이밍 라운드들에 대한 제2 값으로 조정된다.
동작(410)에서, 응답자 모듈(118)에 의해 열거 요청이 수신된다. 열거 요청 의 수신은 응답자 모듈(118)에서 스케줄링 방법을 시작하거나, "트리거"한다. 동작(412)에서, 열거 모듈(116)이 응답자 모듈(118)로부터 열거 응답을 이미 수신하였다는 표시("긍정 ACK")를, 수신된 열거 요청이 포함하는지 여부에 대한 판정이 이루어진다. 예를 들면, 응답자 모듈은 열거 프로세스의 더 이전의 시점에 송신된 열거 요청에 대한 응답으로서 열거 응답을 송신했을 수 있다.
동작(412)에서 수신된 열거 요청이 긍정 ACK를 포함한다고 판정되면, 동작 흐름(400)은 종료된다. 그러나, 동작(412)에서, 수신된 열거 요청이 긍정 ACK를 포함하지 않는다고 판정되면, 동작(414)에서 열거 응답이 동작 흐름(400) 중에 일어나는 일련의 타이밍 라운드들에서의 다음 타이밍 라운드로 송신될 확률을 기술하는 확률 값(φ)의 결정이 이루어진다.
확률 값(φ)은 다양한 방식으로 선택되거나 결정될 수 있다. 예를 들면, 한 구현에서, 값 φ은 아직 열거 응답을 열거 모듈(116)에게 송신해야 할 응답자 모듈의 개수의 추정치에 기초하여 결정된다. 한 구현에서, 값 φ은 다음과 같이 결정된다:
Figure 112005055656589-PAT00001
동작(414)이 처음으로 수행될 때, 초기에 N 값에 네트워크(100)에서 액세스 가능한 노드의 최대 개수의 추정치를 나타내는 최대 노드 값(Nmax)이 설정된다. 동 작 흐름에서 다음에 동작(414)이 수행되는 시점마다, 이하 상세히 기술될 바와 같이, 다른 응답자 모듈로부터 송신된 관측된 응답들에 기초하여 N이 결정된다.
그 다음, 타이밍 라운드 동작(416)은 기간 td인 타이밍 라운드를 시작한다. 타이밍 라운드의 시작과 거의 동시에, 동작(418)에서 이 타이밍 라운딩 중에 열거 응답이 응답자 모듈(118)에 의해 송신되어야 할지 여부가 판정된다. 이 판정은, 동작(414)에서 결정된 확률 φ을 가지고 이루어진다. 즉, 열거 응답이 현재 라운딩 중에 송신되어야 할지 여부를 확률 φ로 선택하는 데에 몇몇의 메카니즘 또는 알고리즘이 이용된다.
동작(418)에서 열거 응답이 현재 타이밍 라운딩 중에 송신되지 않아야 된다고 판정되면, 동작 흐름(400)은 후술될 동작(424)으로 진행된다. 그러나, 동작(418)에서 열거 응답이 현재 타이밍 라운딩 중에 송신되어야 한다고 판정되면, 동작(420)에서 열거 응답이 송신되어야할 라운딩 중의 정확한 시점이 생성된다. 한 구현에서, 열거 응답이 송신되어야 할 라운딩 중의 시점은 라운드 기간 중에서 무작위로 선택된다. 다른 구현에서, 열거 응답이 송신되어야 할 라운딩 중의 시점은 다른 방식으로 선택될 수 있다. 동작(420) 이후에, 동작(422)에서 동작(420) 중에 결정된 시점에서 열거 응답이 송신된다.
동작(422) 이후에, 동작(424)에서 현재 타이밍 라운딩 중에 열거 응답을 송신하였던 모든 노드의 카운트(r)가 생성된다. 한 구현에서, 응답자 모듈이 네트워크를 모니터링하고 현재 타이밍 라운딩 중에 네트워크에서, 송신된 열거 응답의 개 수를 카운팅함으로써 카운트(r)가 생성된다. 동작(424)은 동작(422) 이후에 일어나는 것으로 도시되지만, 동작 중에, 현재 타이밍 라운딩 중에 네트워크에서의 송신된 열거 응답들의 카운팅은 통상적으로 모든 또는 대부분의 타이밍 라운드 전반에 걸쳐 일어날 것이라고 인식되어야 한다.
다음에, 동작 흐름(400)은 남아있는 노드 값(N)이 추정되는 동작(426)으로 진행된다. 일반적으로, N은 다른 응답자 모듈들로부터 송신된 관측된 응답들에 기초하여 추정된다. 예를 들면, 한 구현에서, 남아있는 노드 값(N)은 다음과 같이 계산된다:
Figure 112005055656589-PAT00002
동작 흐름(400)에서, 동작(426)이 처음으로 수행될 때, Nprevious의 값은 Nmax와 같다. 동작 흐름(400)에서 동작(426)이 다음에 수행될 때마다, N 값은 흐름(400)에서 가장 최근에 동작(426)이 수행되었을 때 계산된 N값일 것이다.
몇몇의 구현에서, 계산된 N값은 상한(NUB) 및/또는 하한(NLB)을 가질 수 있다. NUB 및 NLB 값은 다양한 방식으로 선택될 수 있다. 예를 들면, 이들 값은 소정의 고정된 값일 수 있고, 동작 흐름(400) 중에 계산될 수 있고, 다양한 관측된 노드 또는 네트워크 행위에 기초할 수 있고/거나 이전 또는 현재 계산된 N값의 백분 율일 수 있지만 이에 한정되지 않는다.
또한, 몇몇의 실시예에서, 동작(426)에서 N을 추정하거나 계산하는 데에 값(td)을 이용하는 대신에, 타이밍 라운드의 실제 기간(tactual)이 측정되며, 그 다음 이 측정된 값 tactual은 N을 추정하거나 계산하는 데에 이용된다. 예를 들면, 값 tactual은 상술한 수학식 2에서 값 td 대신에 이용될 것이다.
그 다음, 동작(428)에서 열거 요청이 현재 타이밍 라운딩 중에 수신되었는지 여부에 대한 판정이 이루어진다. 요청이 현재 타이밍 라운딩 중에 수신되었다고 판정되면, 동작 흐름은 상술한 동작(412)으로 복귀한다. 요청이 현재 타이밍 라운딩 중에 송신되지 않았다고 판정되면, 동작 흐름은 비활성 조건이 만족되었는지 여부에 대한 판정이 이루어지는 동작(430)으로 진행된다.
비활성 조건은 여러가지 방식으로 선택되고/거나 결정될 수 있다. 예를 들면, 한 구현에서, 열거 요청을 수신한 이후에 소정의 시간이 지났다면 비활성 조건이 만족된다. 동작(430)에서 비활성 조건이 만족되었다고 판정되면, 동작 흐름은 종료된다. 그러나, 동작(430)에서 비활성 조건이 만족되지 않았다고 판정되면 동작 흐름은 전술한 동작(414)로 복귀한다.
상술한 바와 같이, 동작 흐름(400)은 긍정 ACK를 포함하는 열거 응답이 수신될 때(동작(412)), 또는 비활성 조건이 만족되었을 경우(동작(430))에서 종료할 수 있다. 또한, 몇몇의 구현에서, 열거 요청이 수신된 동작 흐름에서의 임의의 시점에서, 요청이 긍정 ACK를 포함하는지 여부에 대한 판정이 이루어진다. 수신된 요 청이 긍정 ACK를 포함하지 않는다고 판정되면, 동작 흐름은 계속된다. 예를 들면, 동작(416) 이후에 요청이 수신되지만, 동작(418) 이전까지 이 긍정 요청이 긍정 ACK를 포함하지 않는다면, 동작 흐름은 동작(418)으로 계속될 것이다. 수신된 요청이 긍정 ACK를 포함한다고 판정되면, 동작 흐름은 종료된다.
한 구현에서, 응답자 모듈은, 동작 루프(400)가 시작한 후에 다른 응답자 모듈들로부터 송신된, 관측된 열거 응답의 총 개수(TR)의 카운트를 얻는다. 이러한 구현에 따르면, 열거 요청이 응답자 모듈에 의해 수신될 때마다, 요청이 수신되었을 시점에서의 TR 값(TRmb)이 저장된다. 즉, 각 수신된 요청마다 값 TRmb이 저장된다. 소정의 라운드 i의 종료 시점에서, TRmb의 최대 현재 값은 이전 타이밍 라운드의 종료 시점에서의 값 TRmb과 비교된다. TRmb의 최대 현재 값이 이전 타이밍 라운드의 종료 시점에서의 값 TRmb보다 크다면, TRmb의 최대 현재 값과 이전 타이밍 라운드의 종료 시점에서의 값 TRmb 간의 차이(TRdiff)는 다음에 표현될 바와 같이, 동작 흐름(400)의 동작(426)에서 결정된 값 N에 추가된다:
Figure 112005055656589-PAT00003
도 5는 응답자 모듈(118)에서 가변 라운드 길이 스케줄링 방법에 대한 한 가능한 동작 흐름(500)을 도시한다. 몇몇의 구현에서, 동작 흐름(500)에 의해 도시 된 스케줄링 방법은 열거 요청이 응답자 모듈에 의해 수신될 때마다 응답자 모듈(118)에 의해 수행된다. 다른 구현에서, 동작 흐름(500)에 의해 도시된 스케줄링 방법은 오직 지정된 시점들에서만 응답자 모듈(118)에 의해 수행된다. 즉, 몇몇의 실시예에서, 동작 흐름(500)에 의해 도시된 스케줄링 방법은 다양한 동작 조건 또는 사용자 요구에 기초하여 "켜지거나" "꺼진다".
응답자 모듈에서 동작 흐름(500)을 수행하기 이전의 어느 시점에서, 전송 확률 값(φ) 및/또는 최초의 타이밍 라운드 기간 값(tinitial)이 결정된다. 전송 확률 값(φ)은 응답이 타이밍 라운드로 발행될 가능성을 기술한다. 최초의 타이밍 라운드 기간 값(tinitial)은 가변 라운드 길이 스케줄링 방법의 첫번째 타이밍 라운드의 기간을 기술한다.
φ 및 tinitial 값은 경험적으로 선택되거나 최대 네트워크 사이즈, 네트워크 전송 속도, 등과 같은 다양한 파라미터에 기초하여 계산될 수 있다. 일단 φ 및 tinitial 값을 구하면, 이 값은 네트워크에서 모든 응답자 모듈(118)에 저장되거나, 그렇지 않으면 액세스할 수 있게 된다.
많은 구현에서, 값 φ은 열거 프로세스가 시작하기 전에 결정된다. 대부분의 구현에서, 값 φ은 스케줄링 방법 전반에 걸쳐 일정하게 유지된다. 몇몇의 실시예에서, 값 φ은 스케줄링 방법에서의 제1 타이밍 라운드에 대한 제1 값을 가지며, 관측된 프로세싱 부하와 같은 요소에 기초하여, 스케줄링 방법에서의 남아있는 타이밍 라운드들에 대한 제2 값으로 조정된다.
한 구현에서, tinitial 값이 다음과 같이 결정된다. 첫째, 네트워크(100)에서 액세스 가능한 노드의 최대 개수의 추정치를 나타내는 최대 노드 값(Nmax)이 결정된다. 그 다음 다음과 같이 최초의 타이밍 라운드 기간 값(tinitial)이 결정된다.
Figure 112005055656589-PAT00004
동작(510)에서, 응답자 모듈(118)에 의해 열거 요청이 수신된다. 열거 요청의 수신은 응답자 모듈(118)에서 스케줄링 방법을 시작하거나 "트리거"한다. 동작(512)에서, 열거 모듈(116)이 응답자 모듈(118)로부터 열거 응답을 이미 수신하였다는 표시("긍정 ACK")를, 수신된 열거 요청이 포함하는지 여부에 대한 판정이 이루어진다. 예를 들면, 응답자 모듈은 열거 프로세스의 더 이전의 시점에 송신된 열거 요청에 대한 응답으로서 열거 응답을 송신했을 수 있다.
동작(512)에서 수신된 열거 요청이 긍정 ACK를 포함한다고 판정되면, 동작 흐름(500)은 종료된다. 그러나, 동작(512)에서, 수신된 열거 요청이 긍정 ACK를 포함하지 않는다고 판정되면, 동작(514)에서 다음 타이밍 라운드의 기간(T)이 결정된다. 동작(514)이 처음으로 수행될 때, T는 tinitial과 같다. 동작 흐름에서 다음에 동작(514)이 수행될 때마다, T는 다른 응답자 모듈로부터 송신된 관측된 응답들에 기초하여 결정된다. 예를 들면, 한 구현에서 열거 응답들이 다음 타이밍 라운드에서 균일하게 분산되도록 다음과 같이 T 값이 계산된다.
Figure 112005055656589-PAT00005
그 다음, 타이밍 라운드 동작(516)은 기간 T인 타이밍 라운드를 시작한다. 타이밍 라운드의 시작과 거의 동시에, 동작(518)에서 열거 응답이 타이밍 라운드 중에 응답자 모듈(118)에 의해 송신되어야 하는지 여부가 판정된다. 이 판정은 상술한 확률 φ을 가지고 이루어진다. 즉, 열거 응답이 현재 라운딩 중에 송신될지 여부를 확률 φ로 선택하는 데에 몇몇의 메카니즘 또는 알고리즘이 이용된다.
한 구현에서, 응답자는 자신이 동작하는 데에 이용할 T의 최소값을 가진다. 이 값은 Tmin으로서 시간 단위로 직접 기술되거나 노드의 개수 Nmin으로서 간접적으로 기술될 수 있다. T가 Tmin 보다 작아야 하는 (또는 N이 Nmin 보다 작아야 하는) 경우의 구현에서는, 타이밍 라운드의 기간은 Tmin으로 설정되고 확률은 1로 설정된다.
동작(518)에서 열거 응답이 현재 타이밍 라운딩 중에 송신되지 않아야 한다고 판정되면, 동작 흐름(500)은 후술될 동작(524)으로 진행된다. 그러나, 동작(518)에서 열거 응답이 현재 타이밍 라운딩 중에 송신되어야 한다고 판정되면, 동작(520)에서 열거 응답이 송신되어야 할 라운딩 중의 정확한 시점이 생성된다. 한 구현에서, 열거 응답이 송신되어야 할 라운딩 중의 시점은 라운드의 기간 중에서 무작위로 선택된다. 다른 구현에서, 열거 응답이 송신되어야 할 라운딩 중의 시점은 다른 방식으로 선택될 수 있다. 동작(520) 이후에, 동작(522)에서 동작(520) 중에 결정된 시점에서 열거 응답이 송신된다.
동작(522) 이후에, 동작(524)에서 현재 타이밍 라운딩 중에 열거 응답을 송신하는 모든 노드의 카운트(r)가 생성된다. 한 구현에서, 네트워크를 모니터링하고 현재 타이밍 라운딩 중에 네트워크에서, 송신되는 열거 응답의 개수를 카운팅함으로써 카운트(r)가 생성된다. 동작(524)은 동작(522) 이후에 일어나는 것으로 도시되지만, 동작 중에, 현재 타이밍 라운딩 중에 네트워크에서의 송신된 열거 응답의 카운팅은 통상적으로 모든 또는 대부분의 타이밍 라운드 전반에 걸쳐 일어날 것이라고 인식되어야 한다.
다음에, 동작 흐름(500)은 남아있는 노드 값(N)이 추정되는 동작(526)으로 진행된다. 일반적으로, N은 다른 응답자 모듈들로부터 송신된 관측된 응답들에 기초하여 추정된다. 현재 라운드(Ncurrent)가 시작될 때 열거 요청에 아직 응답해야 했던 응답자 모듈의 개수는 대략
Figure 112005055656589-PAT00006
었다고 추정될 수 있다. 그 다음, 이 Ncurrent에 대한 추정치를 이용하여, 남아있는 노드 값(N)은 다음과 같이 추정될 수 있다:
Figure 112005055656589-PAT00007
그 다음, 동작(528)에서 열거 요청이 현재 타이밍 라운딩 중에 수신되었는지 여부에 대한 판정이 이루어진다. 요청이 현재 타이밍 라운딩 중에 수신되었다고 판정되면, 동작 흐름은 상술한 동작(512)으로 복귀한다. 요청이 현재 타이밍 라운딩 중에 수신되지 않았다고 판정되면, 동작 흐름은 비활성 조건이 만족되었는지 여부에 대한 판정이 이루어지는 동작(530)으로 진행된다.
비활성 조건은 여러가지 방식으로 선택되고/거나 결정될 수 있다. 예를 들면, 한 구현에서, 비활성 조건은 열거 요청을 수신한 이후에 소정의 시간이 지났다면 만족된다. 동작(530)에서 비활성 조건이 만족되었다고 판정되면, 동작 흐름은 종료된다. 그러나, 동작(530)에서, 비활성 조건이 만족되지 않았다고 판정되면, 동작 흐름은 전술한 동작(514)으로 복귀한다.
상술한 바와 같이, 동작 흐름(500)은 긍정 ACK를 포함하는 열거 응답이 수신될 때(동작(512)), 또는 비활성 조건이 만족되었을 경우(동작(530))에 종료될 것이다. 또한, 몇몇의 구현에서, 열거 요청이 수신된 동작 흐름에서의 임의의 시점에서, 요청이 긍정 ACK를 포함하는지 여부에 대한 판정이 이루어진다. 수신된 요청이 긍정 ACK를 포함하지 않는다고 판정되면, 동작 흐름은 계속된다. 예를 들면, 동작(516) 이후에 요청이 수신되지만, 동작(518) 이전까지 이 요청이 긍정 ACK를 포함하지 않는다면, 동작 흐름은 동작(518)으로 계속될 것이다. 수신된 요청이 긍정 ACK를 포함한다고 판정되면, 동작 흐름은 종료된다.
상술한 다양한 타이밍 방법에서, 응답자 모듈(118)은 통상적으로 열거 요청이 수신될 때마다 열거 응답들을 송신할 것이다. 또한 기술된 바와 같이, 다양한 구현에서 응답자 모듈은 통상적으로 네트워크(100)를 모니터링하고 소정의 기간 동안 송신된 열거 응답의 개수를 카운팅할 것이다. 그 다음 이 카운트는 아직 열거 요청에 응답해야 할 응답자 모듈의 개수 N을 추정하는 데에 이용된다. 그러나, 몇몇의 실시예에서, 응답자 모듈은 소정의 확률 z로 네트워크에 응답들을 전체적으로 송신해내고(브로드캐스팅) (1-z)의 확률로 열거자 모듈(116)에 지정된 응답들을 송신함(유니캐스팅)으로써 네트워크에 부가된 부하를 줄일 수 있다. 이러한 실시예에서, 관측된 응답의 개수를 z로 나눔으로써 N을 추정하는 것 역시 가능할 수 있다.
도 6은 컴퓨터 시스템(600)의 형태로 된, 예시적인 네트워크 노드(110)를 도시한다. 이 시스템의 가장 기본적인 구성에서, 컴퓨팅 시스템(600)은 적어도 하나의 프로세싱 유닛(602) 및 메모리(604)를 포함한다. 컴퓨팅 장치의 유형 및 정확한 구성에 따라서, 메모리(604)는 (RAM과 같은) 휘발성, (ROM, 플래쉬 메모리, 등과 같은) 비휘발성, 또는 이 둘의 몇 가지 조합일 수 있다. 이 가장 기본적인 구성은 도 6에서 점선(606)으로 도시된다. 또한, 컴퓨터 시스템(600)은 추가적인 특징/기능을 포함할 수도 있다. 예를 들면, 장치(600)는 자기 또는 광 디스크 또는 테이프를 포함하지만 이에 한정되지 않는, 추가적인 (분리형 및/또는 비분리형) 저장장치 또한 포함할 수 있다. 이러한 추가적인 저장장치는 도 6에서 분리형 저장장치(608) 및 비분리형 저장장치(610)로 도시된다.
컴퓨터 시스템(600)은 장치가 다른 장치들과 통신할 수 있게 하는 통신 접속(들)(612) 또한 포함할 수 있다. 컴퓨터 시스템(600)은 키보드, 마우스, 펜, 음성 입력 장치, 접촉 입력 장치, 등과 같은 입력 장치(들)(614) 또한 가질 수 있다. 디스플레이, 스피커, 프린터, 등과 같은 출력 장치(들)(616)도 컴퓨터 시스템(600) 에 포함될 수 있다. 이들 장치 모두는 본 기술 분야에 잘 알려져 있으며 본 명세서에 장황하게 설명할 필요가 없다.
시스템 및 방법의 몇몇의 특정 실시예가 첨부된 도면에 도시되었고 전술한 상세한 설명에 기술되었지만, 도시되고 기술된 시스템 및 방법은 기술된 특정 구현에 한정되는 것이 아니라, 특허 청구 범위가 설명하고 정의하는 사상으로부터 벗어나지 않고 다양하게 재구성, 수정, 및 대체를 할 수 있다고 이해될 것이다.
본 명세서에서는 네트워크 노드 열거에 대한 시스템 및 방법의 다양한 구현이 기술된다. 본 명세서에서 기술된 몇 가지 시스템 및 방법에 따르면, 노드들의 네트워크에서 선택된 노드는 네트워크의 다른 노드들에게 열거 요청을 송신한다. 열거 요청을 수신하는 것에 대한 응답으로서, 액세스 가능하고(즉, "온라인") 요청을 수신하는 노드들이 열거 응답을 송신하므로, 자신들을 열거 요청을 송신하는 노드에 액세스할 수 있다고 식별한다. 그 다음 열거 요청을 송신하는 노드는 수신된 열거 응답들의 ACK(acknowledgement)를 송신한다. 한 구현에서, 열거 요청을 송신하는 노드는 하나 이상의 이후의 열거 요청으로 ACK를 송신한다.

Claims (38)

  1. 프로세서-실행가능 명령어를 포함하는 하나 이상의 컴퓨터 판독가능 매체로서, 상기 프로세서- 실행가능 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
    노드에서, 상기 노드가 네트워크에서 열거 프로세스 중에 열거 요청에 응답할 시점을, 상기 열거 프로세스 중에 상기 네트워크 내의 노드들에 의해 이전에 송신된 열거 응답들에 관련된 정보 및 상기 열거 프로세스 중에 송신된 열거 응답들 간의 소정의 평균 시간에 기초하여 결정하는 단계, 및
    상기 결정된 시점에서 상기 열거 요청에 응답하는 단계를 포함하는 방법을 실행하도록 하는 컴퓨터 판독가능 매체.
  2. 제1항에 있어서,
    상기 정보는 상기 열거 프로세스 중에 소정의 기간 동안 이전에 열거 응답들을 송신한 노드의 카운트(count)를 포함하는 컴퓨터 판독가능 매체.
  3. 제1항에 있어서,
    상기 정보는 상기 열거 프로세스의 나머지 중에 열거 응답들을 송신할 가능성이 있는 노드들의 추정치를 포함하는 컴퓨터 판독가능 매체.
  4. 제1항에 있어서,
    상기 열거 요청에 응답하는 시점은 라운드 기반 스케줄링(round based scheduling) 방법을 이용하여 결정되는 컴퓨터 판독가능 매체.
  5. 제1항에 있어서,
    상기 열거 요청에 응답하는 시점은 가변 라운드 길이 스케줄링 방법을 이용하여 결정되는 컴퓨터 판독가능 매체.
  6. 제1항에 있어서,
    상기 열거 요청에 응답하는 시점은 고정된 라운드 길이 스케줄링 방법을 이용하여 결정되는 컴퓨터 판독가능 매체.
  7. 제1항에 있어서,
    상기 열거 요청은 상기 열거 프로세스 중에 이전에 열거 요청에 응답한 상기 네트워크 내의 노드들을 식별하는 정보를 포함하는 컴퓨터 판독가능 매체.
  8. 제1항에 있어서,
    상기 열거 요청은 상기 열거 프로세스 중에 이전에 열거 요청에 응답한 상기 네트워크 내의 노드들의 네트워크 주소들을 포함하는 컴퓨터 판독가능 매체.
  9. 제1항에 있어서,
    상기 열거 요청에 응답하는 시점은 라운드 기반 스케줄링 방법을 이용하여 결정되고, 상기 결정된 시점에서 상기 열거 요청에 응답하는 단계는 상기 라운드 기반 스케줄링 방법에 의해 규정된 타이밍 라운드로 응답하는 단계를 포함하는 컴퓨터 판독가능 매체.
  10. 일련의 타이밍 라운드 중에서 네트워크 내의 한 노드로부터의 열거 응답을 송신할 타이밍 라운드를, 상기 네트워크 내의 노드들로부터 송신된 열거 응답들을 모니터링하여 수집된 정보에 기초하여 결정하는 단계, 및
    상기 결정된 타이밍 라운드로 상기 열거 응답을 송신하는 단계
    를 포함하는 방법.
  11. 제10항에 있어서,
    상기 일련의 타이밍 라운드 내의 상기 타이밍 라운드들 각각은 대체로 동일한 기간으로 된 방법.
  12. 제10항에 있어서,
    상기 일련의 타이밍 라운드 내의 상기 타이밍 라운드들 중 적어도 하나의 기간은 상기 네트워크에서 송신된 열거 응답들의 카운트에 기초하여 결정되는 방법.
  13. 제10항에 있어서,
    상기 일련의 타이밍 라운드 내의 복수의 상기 타이밍 라운드 각각의 기간은 상기 네트워크에서 송신된 열거 응답들의 비트 밀도에 기초하여 결정되는 방법.
  14. 제10항에 있어서,
    상기 결정된 타이밍 라운딩 중에 상기 열거 응답을 송신할 시점을 무작위로 선택하는 단계, 및
    상기 선택된 시점에서 상기 결정된 타이밍 라운드로 상기 열거 응답을 송신하는 단계를 더 포함하는 방법.
  15. 제10항에 있어서,
    일련의 타이밍 라운드 중에서 열거 응답을 송신할 타이밍 라운드를 결정하는 단계는
    기간 t인 현재 타이밍 라운드를 개시하는 단계,
    상기 네트워크를 통하여 열거 응답을 송신하지 않은 상기 네트워크 내의 노드의 수(N)를 추정하는 단계,
    상기 열거 프로세스 중에 상기 네트워크에 걸친 열거 응답들 간의 바람직한 최소 평균 시간을 기술하는 최소 간격 값(I) 및 N에 기초하여 상기 열거 프로세스의 종료 시점을 추정하는 단계,
    상기 현재 타이밍 라운드의 개시 시점 및 상기 열거의 추정된 종료 시점 간 에서 한 시점을 선택하는 단계, 및
    상기 선택된 시점이 상기 현재 타이밍 라운드에서 일어난다면 상기 현재 타이밍 라운드로 상기 열거 응답을 송신한다고 판정하는 단계
    를 포함하는 방법.
  16. 프로세서-실행가능 명령어를 포함하는 하나 이상의 컴퓨터 판독가능 매체로서, 상기 프로세서-실행가능 명령어는 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
    네트워크 내의 제1 노드에서 상기 네트워크를 통해 이전에 열거 응답들을 송신한 상기 네트워크 내의 노드들을 식별하는 정보를 포함하는 열거 요청을 수신하는 단계,
    일련의 타이밍 라운드 중에서 상기 제1 노드로부터의 열거 응답을 송신할 타이밍 라운드를 결정하는 단계, 및
    상기 제1 노드가 상기 열거 요청에서 식별되지 않은 경우 상기 결정된 타이밍 라운딩 중에 상기 열거 응답을 송신하는 단계를 포함하는 방법을 실행하도록 하게 하는 컴퓨터 판독가능 매체.
  17. 제16항에 있어서,
    상기 일련의 타이밍 라운드 내의 상기 타이밍 라운드들 각각은 대체로 동일한 기간으로 된 컴퓨터 판독가능 매체.
  18. 제16항에 있어서,
    상기 일련의 타이밍 라운드 내의 상기 타이밍 라운드들 중 적어도 하나의 기간은 상기 열거 요청에 대한 응답으로서 열거 응답을 송신하지 않았던 상기 네트워크 내의 노드의 개수에 대한 추정치에 기초하여 결정되는 컴퓨터 판독가능 매체.
  19. 제16항에 있어서,
    상기 일련의 타이밍 라운드 내의 상기 타이밍 라운드들 중 적어도 하나의 기간은 열거 응답들 간의 바람직한 최소 평균 시간을 기술하는 최소 간격 값(I)에 기초하여 결정되는 컴퓨터 판독가능 매체.
  20. 제16항에 있어서,
    상기 일련의 타이밍 라운드 내의 상기 타이밍 라운드들 중 적어도 하나의 기간은 한 노드가 상기 타이밍 라운드들 중 하나로 열거 응답을 송신할 소정의 가능성을 나타내는 소정의 값에 기초하여 결정되는 컴퓨터 판독가능 매체.
  21. 제16항에 있어서,
    상기 일련의 타이밍 라운드 내의 상기 타이밍 라운드들 중 적어도 하나의 기간은 상기 일련의 타이밍 라운딩 중에 송신된 열거 응답들 간의 바람직한 최소 평균 시간을 기술하는 최소 간격 값(I), 및 상기 열거 응답에 대한 응답으로서 열거 응답을 송신하지 않았던 상기 네트워크 내의 노드의 개수의 추정치에 기초하여 결정되는 컴퓨터 판독가능 매체.
  22. 제16항에 있어서,
    상기 일련의 타이밍 라운드 중에서 송신되어야 할 상기 타이밍 라운드는, 상기 열거 요청에 대한 응답으로서 열거 요청을 송신하지 않았던 상기 네트워크 내의 노드의 개수에 대한 추정치에 기초하여 결정되는 컴퓨터 판독가능 매체.
  23. 제16항에 있어서,
    상기 일련의 타이밍 라운드 중에서 송신되어야 할 상기 타이밍 라운드는, 열거 응답들 간의 바람직한 최소 평균 시간을 기술하는 최소 간격 값(I)에 기초하여 결정되는 컴퓨터 판독가능 매체.
  24. 제16항에 있어서,
    상기 일련의 타이밍 라운드 내의 상기 타이밍 라운드는 상기 열거 요청에 응답한 노드들의 개수의 카운트에 기초하는 컴퓨터 판독가능 매체.
  25. 프로세서-실행가능 명령어를 포함하는 하나 이상의 컴퓨터 판독가능 매체로서, 상기 프로세서-실행가능 명령어들은 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
    제1 열거 요청을 네트워크 내의 복수의 노드에게 송신하는 단계,
    상기 복수의 노드 중 적어도 하나로부터 열거 응답을 수신하는 단계 - 상기 수신된 열거 응답은 스케줄링 방법을 이용하여 상기 적어도 하나의 노드에 의해 결정된 시점에서 상기 적어도 하나의 노드로부터 송신되었음 - , 및
    제2 열거 요청을 상기 복수의 노드에게 송신하는 단계 - 상기 제2 열거 요청은 열거 응답이 상기 복수의 노드 중 상기 적어도 하나로부터 수신되었다는 ACK(acknowledgment)를 포함함 -
    를 포함하는 방법을 실행하도록 하게 하는 컴퓨터 판독가능 매체.
  26. 제25항에 있어서,
    상기 스케줄링 방법은 라운드 기반 스케줄링 방법을 포함하는 컴퓨터 판독가능 매체.
  27. 제25항에 있어서,
    상기 스케줄링 방법은 고정된 라운드 길이 스케줄링 방법을 포함하는 컴퓨터 판독가능 매체.
  28. 제25항에 있어서,
    상기 스케줄링 방법은 가변 라운드 길이 스케줄링 방법을 포함하는 컴퓨터 판독가능 매체.
  29. 제25항에 있어서,
    제1 열거 요청을 송신하는 단계는 상기 제1 열거 요청을 브로드캐스팅(broadcasting)하는 단계를 포함하는 컴퓨터 판독가능 매체.
  30. 제25항에 있어서,
    제1 열거 요청을 송신하는 단계는 상기 제1 열거 요청을 멀티캐스팅(multicasting)하는 단계를 포함하는 방법.
  31. 임의의 한 노드, 및
    상기 노드 내에 있으며, 상기 네트워크를 통해 수신된 열거 요청에 대해 상기 네트워크 내의 다른 노드들로부터 송신된 열거 응답들을 모니터링하여 수집된 정보를 이용하여 결정된 시점에서 상기 네트워크를 통해 열거 응답을 송신함으로써 응답하는 응답자 수단을 포함하는 시스템.
  32. 제31항에 있어서,
    상기 응답자 수단은 라운드 기반 스케줄링 수단을 포함하는 시스템.
  33. 제31항에 있어서,
    응답하는 것은 열거 응답을 송신하는 것을 포함하는 시스템.
  34. 제31항에 있어서,
    상기 시점은 고정된 라운드 길이 스케줄링 방법을 이용하여 결정되는 시스템.
  35. 제31항에 있어서,
    상기 시점은 가변 라운드 길이 스케줄링 방법을 이용하여 결정되는 시스템.
  36. 제31항에 있어서,
    상기 수집된 정보는 열거 응답들이 일으킨 네트워크 부하에 관련된 정보를 포함하는 시스템.
  37. 제31항에 있어서,
    상기 수집된 정보는 소정의 기간 동안 상기 네트워크에서 송신된 열거 응답의 개수를 포함하는 시스템.
  38. 제31항에 있어서,
    상기 수집된 정보는 상기 네트워크에서 소정의 기간 동안 응답들로서 송신된 데이터의 양을 포함하는 시스템.
KR1020050092116A 2004-09-30 2005-09-30 네트워크 노드 열거에 관한 시스템 및 방법 KR20060051938A (ko)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/955,938 2004-09-30
US10/955,938 US20060075113A1 (en) 2004-09-30 2004-09-30 Network node enumeration

Publications (1)

Publication Number Publication Date
KR20060051938A true KR20060051938A (ko) 2006-05-19

Family

ID=36013363

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020050092116A KR20060051938A (ko) 2004-09-30 2005-09-30 네트워크 노드 열거에 관한 시스템 및 방법

Country Status (5)

Country Link
US (1) US20060075113A1 (ko)
EP (1) EP1655890A2 (ko)
JP (1) JP2006109435A (ko)
KR (1) KR20060051938A (ko)
CN (1) CN1756198A (ko)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7567523B2 (en) * 2004-01-29 2009-07-28 Microsoft Corporation System and method for network topology discovery
US7870247B2 (en) * 2004-09-30 2011-01-11 Microsoft Corporation Node discovery involving multiple node enumerators
US7953845B2 (en) * 2004-09-30 2011-05-31 Microsoft Corporation Network-specific estimation in network node discovery
US20070245033A1 (en) * 2006-04-14 2007-10-18 Microsoft Corporation Link layer discovery and diagnostics
US8539098B2 (en) * 2007-10-17 2013-09-17 Dispersive Networks, Inc. Multiplexed client server (MCS) communications and systems
CA2763148C (en) * 2009-05-20 2016-11-22 Redcliff Investments, L.L.C. Secure workflow and data management facility
CN102110018B (zh) * 2010-12-23 2013-09-11 山东中创软件工程股份有限公司 一种云应用处理方法及系统
CN103530254B (zh) * 2013-10-11 2016-11-23 杭州华为数字技术有限公司 多节点系统的外部设备互联枚举方法和装置
US9426027B1 (en) * 2014-02-18 2016-08-23 Amazon Technologies, Inc. Request response transmutation pipeline

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5953012A (en) * 1994-12-13 1999-09-14 Microsoft Corporation Method and system for connecting to, browsing, and accessing computer network resources
US5859835A (en) * 1996-04-15 1999-01-12 The Regents Of The University Of California Traffic scheduling system and method for packet-switched networks
US5948064A (en) * 1997-07-07 1999-09-07 International Business Machines Corporation Discovery of authentication server domains in a computer network
US6233611B1 (en) * 1998-05-08 2001-05-15 Sony Corporation Media manager for controlling autonomous media devices within a network environment and managing the flow and format of data between the devices
US6891841B2 (en) * 2001-03-12 2005-05-10 Advent Networks, Inc. Time division multiple access over broadband modulation method and apparatus
US7319671B1 (en) * 2001-03-29 2008-01-15 Cisco Technology, Inc. Time division polling scheme for network management systems
US8543681B2 (en) * 2001-10-15 2013-09-24 Volli Polymer Gmbh Llc Network topology discovery systems and methods
JP2004112171A (ja) * 2002-09-17 2004-04-08 Nec Corp 無線lan基地局選択方法および無線lanシステム
JP4023308B2 (ja) * 2002-12-17 2007-12-19 ソニー株式会社 通信装置および通信方法
US7342896B2 (en) * 2003-03-03 2008-03-11 Sharp Laboratories Of America, Inc. Centralized network organization and topology discover in Ad-Hoc network with central controller
US7555545B2 (en) * 2003-07-30 2009-06-30 AT&T Intellectual Property, I,L.P Method system and storage medium for detecting network elements
US7475125B2 (en) * 2003-11-24 2009-01-06 Microsoft Corporation Seamless discovery of workstation-installed remote applications from an extranet

Also Published As

Publication number Publication date
US20060075113A1 (en) 2006-04-06
JP2006109435A (ja) 2006-04-20
CN1756198A (zh) 2006-04-05
EP1655890A2 (en) 2006-05-10

Similar Documents

Publication Publication Date Title
KR20060051938A (ko) 네트워크 노드 열거에 관한 시스템 및 방법
KR20080084969A (ko) 컴퓨터 네트워크의 열거 트래픽 관리 방법, 및 컴퓨터판독가능 매체
US20210184947A1 (en) Automatic capture of detailed analysis information based on remote server analysis
US7870247B2 (en) Node discovery involving multiple node enumerators
US7855975B2 (en) Response time estimation for intermittently-available nodes
CN102132527B (zh) 获得和传播有关节点的处理容量的信息的方法和设备
Zhang et al. Distributed dynamic packet scheduling for handling disturbances in real-time wireless networks
KR20080084961A (ko) 열거 트래픽 관리 방법, 컴퓨터 판독가능 매체, 및네트워크 노드
SE537197C2 (sv) Metod, nod och datorprogram för möjliggörande av automatiskanpassning av resursenheter
RU2016103796A (ru) Система и способ управления полосой пропускания данных
US20140258382A1 (en) Application congestion control
JP2006109435A5 (ko)
CN110020046B (zh) 一种数据抓取方法及装置
EP2940930A1 (en) Upgrading a gateway
CN113242149B (zh) 长连接配置方法、装置、设备、存储介质和程序产品
JP2001202318A (ja) データ配信システム
CN111104289A (zh) 一种gpu集群的效率检查系统及方法
WO2019119951A1 (zh) 设备资源管理
JP2020136745A (ja) ゲートウェイ、通信システム及び通信方法
CN112533246B (zh) 一种智能设备设备频繁网络请求的监控系统及方法
CN111726658B (zh) 一种多媒体数据传输方法及装置
JP4622944B2 (ja) 複数拠点間トラフィック制御方法及びシステム
Alfa et al. Discrete time analysis of cognitive radio networks with imperfect sensing and saturated source of secondary users
CN116112640A (zh) 信息传输方法、装置和系统
CN113886432A (zh) 一种任务状态的查询方法、设备及存储介质

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid