KR20070116237A - 피어 투 피어 네트워크 메트릭을 감시하고 그에 반응하기위한 시스템 및 방법 - Google Patents
피어 투 피어 네트워크 메트릭을 감시하고 그에 반응하기위한 시스템 및 방법 Download PDFInfo
- Publication number
- KR20070116237A KR20070116237A KR1020077021612A KR20077021612A KR20070116237A KR 20070116237 A KR20070116237 A KR 20070116237A KR 1020077021612 A KR1020077021612 A KR 1020077021612A KR 20077021612 A KR20077021612 A KR 20077021612A KR 20070116237 A KR20070116237 A KR 20070116237A
- Authority
- KR
- South Korea
- Prior art keywords
- peer
- network
- peer network
- nodes
- health
- Prior art date
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/50—Testing arrangements
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L12/00—Data switching networks
- H04L12/28—Data switching networks characterised by path configuration, e.g. LAN [Local Area Networks] or WAN [Wide Area Networks]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0805—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
- H04L43/0817—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking functioning
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
- H04L41/145—Network analysis or design involving simulating, designing, planning or modelling of a network
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/50—Network service management, e.g. ensuring proper service fulfilment according to agreements
- H04L41/5003—Managing SLA; Interaction between SLA and QoS
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/02—Network architectures or network communication protocols for network security for separating internal from external traffic, e.g. firewalls
- H04L63/0272—Virtual private networks
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
- Debugging And Monitoring (AREA)
Abstract
피어 투 피어 네트워크의 전반적인 건강(health)은 피어 투 피어 네트워크 내의 개별 노드 및 노드 투 노드 성능과 관련된 수집되고 분석된 통계치로부터 추측할 수 있다. 개발 또는 시험을 위한 시뮬레이션에서 사용될 때, 변경이 시스템 성능을 향상시키는가를 결정하기 위해 건강 통계치는 표준 회기 검사 대신 또는 이를 보충하기 위해 사용될 수 있다. 실제 피어 투 피어 네트워크에서 사용될 때, 건강 통계치는 네트워크 성능에 대한 실시간 관측을 제공할 수 있다. 이러한 관측은 피어 투 피어 네트워크 토폴로지를 조정하거나, 다른 것만큼 성능이 좋지 못하거나 악성인 노드를 격리시키기 위해 사용될 수 있다.
피어 투 피어 네트워크, 노드 투 노드 성능, 통계치
Description
본 발명은 일반적으로 분산된 네트워크 관리의 분야에 관한 것이며, 특히 피어 투 피어 네트워크 메트릭을 감시하고 피어 투 피어 네트워크 메트릭에 반응하기 위한 시스템 및 방법에 관한 것이다.
일반적으로, 데이터 시스템을 시뮬레이트하거나 시험할 때, 변경된 데이터 시스템이 설계 목표에 부합하고 동시에 데이터 시스템의 앞선 버전과 호환성을 갖는지를 결정하기 위해, 시스템에 대해 제안된 변경이 설치된 후 때때로 회귀 검사(regression test)라 불리는 일련의 검사가 수행된다. 회귀 검사는 소모적(exhaustive)이고 이진법적(binary)인 경향이 있다. 즉, 테스트 케이스들의 집합이 설계되고 개발된다. 각 테스트 케이스가 실행되며 결과가 기록된다. 검사는 첫 시험이 실패하거나 실패한 실험들의 카탈로그가 개발될 때까지 계속되고, 그러한 시점에서 검사가 끝나고 데이터 시스템은 개발팀에 다시 위탁된다.
대규모 분산 시스템에서, 시스템의 부분에 가해진 변경과 시스템의 각 요소에 가해진 점증적 변경은 모든 경우가 철저하게 시험될 수는 없으며, 또한 주어진 테스트 케이스 스윗으로는 변경의 영향이 분명하지 않을 수 있다. 따라서, 피어 투 피어 네트워크 메트릭을 감시하고 피어 투 피어 네트워크 메트릭에 반응하기 위한 시스템 및 방법이 필요하다.
피어 투 피어 네트워크와 같은 대규모 분산 데이터 시스템에서는, 노드 성능에 대한 통상적인 회귀 검사가 분산 시스템에 가해진 변경의 전반적인 영향을 나타내지 못할 수 있다. 분산된 네트워크 시스템에서, 개별 노드와 노드 투 노드(node-to-node) 성능을 결정하기 위해 일련의 측정이 이루어질 수 있다. 그러한 메트릭은 주소 확인(address resolution) 성공률, 주소 확인 시간, 퍼센트 캐시 정확도 등을 포함한다. 개별 메트릭 조차도 피어 투 피어 네트워크의 구조와 로딩의 통계적인 변경에 의한 네트워크 성능의 미묘한 차이를 드러내지 못한다. 수백만의 노드를 가진 분산 네트워크의 시뮬레이션의 결과에 대한 원시 데이터는 인간 관측자가 이해하기 어려울 수 있다.
그러한 경우에 노드와 노드 투 노드(node-to-node) 메트릭을 전반적인 건강 통계치(health statistic)로 종합하는 것이 편리할 수 있다. 그러면 건강 통계치는 개발 중 시뮬레이션을 할 때에, 분산된 네트워크에 가해진 변경의 본질을 감시하는데 사용될 수 있다. 뿐만 아니라, 건강 통계치는 분산 네트워크 전반과 때때로 클라우드(cloud)라 불리는 분산 네트워크 부분들의 성능을 감시하는데 유용할 수 있다. 개발에 있어서, 건강 통계치는 분산 네트워크에 가해진 변경이 언제 실제로 향상을 가져오는지, 또는 설계 결함이나 부작용에 의해 변경이 전반적인 성능의 저하를 가져오는지를 결정하는데 이용될 수 있다. 라이브 시스템에서, 노드는 메트릭 데이터(metric data)를 건강 통계치를 제공하기 위해 집계되는 하나 이상의 모니터링 포인트(monitoring point)에 보고하도록 계측될 수 있다. 글로벌 클라우드, 또는 더 작은 사이트 및 링크 클라우드를 위한 건강 통계치의 분석은 문제 지점을 밝혀내고 시스템이 자동으로 클라우드를 고치는 단계를 밟을 수 있도록 한다.
도 1은 컴퓨터 네트워크에 관한 간략하고 대표적인 블록 다이어그램이다.
도 2는 컴퓨터에 관한 간략하고 대표적인 블록 다이어그램이다.
도 3은 피어 투 피어 네트워크에 관한 간략하고 대표적인 블록 다이어그램이다.
도 4는 피어 투 피어 네트워크를 관리하기 위한 방법을 나타내는 순서도이다.
이하에서는 다수의 상이한 실시예에 대한 상세한 설명을 개시하지만, 이러한 설명의 법률적 범위는 본 명세서의 끝 부분에 개시되는 특허청구범위의 용어들에 의해 제한된다는 점이 이해되어야 한다. 상세한 설명은 단지 예시적인 것으로 고려되어야 하고, 모든 가능한 실시예들을 설명하는 것은 아니며, 이는 비록 불가능하지 않더라도 모든 가능한 실시예들을 설명한다는 것은 실용적이지 않기 때문이다. 현재의 기술 또는 본 특허의 출원일 이후에 개발된 기술들을 사용하여 다수의 대안적인 실시예들이 구현될 수 있지만, 이러한 것들도 역시 본 발명의 특허청구범 위의 범위에 포함되는 것이다.
"본 명세서에서 사용될 때, 용어 '____'는 ...을 의미하도록 여기에서 정의된다"라는 문장 또는 이와 유사한 문장을 사용하여 본 명세서에서 명시적으로 정의되지 않는 한, 이러한 용어는 명시적으로든 또는 암시적으로든, 그것의 일반적인 의미 또는 보통의 의미 이상으로, 그 용어의 의미를 제한하려는 의도는 아니며, 이러한 용어가 본 명세서의 임의의 섹션에 있는 임의의 문장(청구항의 언어가 아니라)에 기초하여 범위가 제한되도록 해석되어서는 안 된다는 것 또한 이해할 것이다. 본 명세서의 끝 부분에 있는 청구범위에 언급된 임의의 용어가 단일 의미로 일관된 방식으로 본 명세서에서 지칭되는 점에서, 이는 단지 독자들을 혼동시키지 않도록 단순 명료하게 기술한 것으로, 이러한 청구범위의 용어가 암시적으로든 또는 다르게든, 그 단일 의미로 제한되는 것은 아니다. 마지막으로, 임의의 구조의 언급 없이 "수단"이라는 단어와 기능을 언급함으로써 청구항의 구성요소가 정의되지 않는다면, 임의의 청구항의 구성요소의 범위가 U.S.C.§112, 6번째 항의 적용에 기초하여 해석되어야 하는 것은 아니다.
대부분의 진보성이 있는 기능성 및 다수의 진보성이 있는 원리들은 소프트웨어 프로그램들 또는 명령어들 및 주문형 집적 회로와 같은 집적 회로와 함께, 또는 이들에 의해 가장 잘 구현된다. 당업자라면, 예를 들어, 사용가능한 시간, 현재 기술 및 경제적인 고려들에 의해 동기부여가 되는 상당한 노력 및 많은 설계 선택 사항들에도 불구하고, 본 명세서에 개시되는 개념들 및 원리들에 도움을 받을 때, 최소한의 실험으로 이러한 소프트웨어 명령어들과 프로그램들 및 IC들을 용이하게 생성할 수 있을 것이다. 따라서, 간결화 및 본 발명에 따른 원리들 및 개념들을 모호하게 하는 임의의 위험성을 최소화하는 관점에서, 이러한 소프트웨어 및 IC들에 대한 더 이상의 논의는 혹시 존재하더라도 바람직한 실시예의 원리들 및 개념들에 대하여 본질적인 것들로 제한될 것이다.
도 1은 피어 투 피어 네트워크를 지원하기 위해 이용될 수 있는 네트워크(10)를 도시한다. 네트워크(10)는 인터넷, 가상 사설망(VPN), 또는 하나 이상의 컴퓨터, 통신 장치, 데이터 베이스 등이 통신에 관하여 서로 연결되도록 하는 어떤 네트워크일 수 있다. 네트워크(10)는 이더넷(16)과 라우터(18), 지상 통신선(20)을 통해 개인용 컴퓨터(12)와 컴퓨터 단말기(14)에 연결될 수 있다. 한편, 네트워크(10)는 무선 통신국(26)과 무선 링크(28)를 통해 무선으로 랩톱 컴퓨터(22), 개인 휴대 정보 단말기(24)와 연결될 수 있다. 이와 유사하게, 서버(30)는 통신 링크(32)를 이용하여 네트워크(10)에 연결될 수 있고, 메인 프레임(34)은 또 다른 통신 링크(36)를 이용하여 네트워크(10)에 연결될 수 있다.
도 2는 네트워크(10)에 연결될 수 있고, 피어 투 피어 네트워크에 관여할 수 있는 컴퓨팅 장치를 컴퓨터(110)의 형태로 도시하고 있다. 컴퓨터(110)의 구성요소에는 처리 장치(120), 시스템 메모리(130), 그리고 시스템 메모리를 포함하는 다양한 시스템 요소들을 처리 장치(120)에 결합시키는 시스템 버스(121)가 포함되지만 이에 제한되는 것은 아니다. 시스템 버스(121)는 메모리 버스나 메모리 제어기, 주변 장치 버스, 및 다양한 버스 아키텍처를 사용하는 로컬 버스를 포함하는 어떤 유형의 버스 구조도 가능하다. 예를 들어, 이러한 아키텍처는 ISA(Industry Standard Architecture) 버스, MCA(Micro Channel Architecture) 버스, EISA(Enhanced ISA) 버스, VESA(Video Electronics Standards Association) 로컬 버스, 그리고 메자닌(mezzanine) 버스라고도 알려진 PCI(Peripheral Component Interconnect) 버스 등을 포함하지만 이에 제한되는 것은 아니다.
컴퓨터(110)는 통상적으로 각종 컴퓨터 판독가능한 매체를 포함한다. 컴퓨터(110)에 의해 액세스 가능한 매체는 그 어떤 것이든지 컴퓨터 판독가능 매체가 될 수 있고, 이러한 컴퓨터 판독가능 매체는 휘발성 및 비휘발성 매체, 이동식 및 이동불가식 매체를 포함한다. 예를 들어, 컴퓨터 판독가능 매체는 컴퓨터 저장 매체 및 통신 매체를 포함하지만 이에 제한되는 것은 아니다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터와 같은 정보의 저장을 위해 모든 방법 또는 기술로 의해 구현되는 휘발성 및 비휘발성, 이동식 및 이동불가식 매체를 포함한다. 컴퓨터 저장 매체는 RAM, ROM, EEPROM, 플래시 메모리 또는 기타 메모리 기술, CD-ROM, DVD 또는 기타 광 디스크 저장 장치, 자기 카세트, 자기 테이프, 자기 디스크 저장 장치 또는 기타 자기 저장 장치, 또는 컴퓨터(110)에 의해 액세스되고 원하는 정보를 저장할 수 있는 임의의 기타 매체를 포함하지만 이에 제한되는 것은 아니다. 통신 매체는 통상적으로 반송파 또는 기타 전송 메커니즘(transport mechanism)과 같은 피변조 데이터 신호(modulated data signal)에서 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 또는 기타 데이터 등을 구현하고 모든 정보 전달 매체를 포함한다. "피변조 데이터 신호"라는 용어는, 신호 내의 정보가 암호화되도록 그 신호의 하나 이상의 특성을 설정 또는 변경시킨 신호를 의미한다. 예를 들어, 통신 매체는 유선 네트워크 또는 다이렉트 유선 접속과 같은 유선 매체, 그리고 음향, RF, 적외선 기타 무선 매체와 같은 무선 매체를 포함한다. 상술된 매체들의 모든 조합이 또한 컴퓨터 판독가능 매체의 영역 안에 포함되어야 한다.
시스템 메모리(130)는 판독 전용 메모리(ROM)(131) 및 랜덤 액세스 메모리(RAM)(132)와 같은 휘발성 및/또는 비휘발성 메모리의 형태로 컴퓨터 저장 매체를 포함한다. 시동 시 컴퓨터 내 요소들 간 정보의 전송을 돕는 기본 루틴을 포함하는 기본 입/출력 시스템(BIOS)(133)은 통상적으로 ROM(131)에 저장되어 있다. RAM(132)은 통상적으로 처리 장치(120)에 의해 즉시 액세스 가능하고 및/또는 현재 처리 장치(120)에 의해 동작되고 있는 데이터 및/또는 프로그램 모듈을 포함한다. 예를 들어, 도 2는 운영 체제(134), 에플리케이션 프로그램(135), 기타 프로그램 모듈(136) 및 프로그램 데이터(137)를 도시하고 있지만 이에 제한되는 것은 아니다.
컴퓨터(110)는 또한 기타 이동식/이동불가식, 휘발성/비휘발성 컴퓨터 저장 매체를 포함한다. 단지 예를 들어, 도 2는 이동불가식, 비휘발성 자기 매체로의 기록 또는 그로부터의 판독을 위한 하드 디스크 드라이브(140), 이동식, 비휘발성 자기 디스크(152)로의 기록 또는 그로부터의 판독을 위한 자기 디스크 드라이브(151), 그리고 CD-ROM 또는 기타 광 매체 등의 이동식, 비휘발성 광 디스크(156)로의 기록 또는 그로부터의 판독을 위한 광 디스크 드라이브(155)를 포함한다. 예시적인 운영 환경에 이용될 수 있는 기타 이동식/이동불가식, 휘발성/비휘발성 컴 퓨터 기억 매체로는 자기 테이프 카세트, 플래시 메모리 카드, DVD, 디지털 비디오 테이프, 고체(solid state) RAM, 고체 ROM 등이 있지만 이에 제한되는 것은 아니다. 통상적으로 하드 디스크 드라이브(141)는 인터페이스(140)와 같은 이동불가식 메모리 인터페이스를 통해 시스템 버스(121)와 접속되고, 자기 디스크 드라이브(151) 및 광 디스크 드라이브(155)는 통상적으로 인터페이스(150)와 같은 이동식 메모리 인터페이스에 의해 시스템 버스(121)에 접속된다.
위에서 설명되고 도 2에 도시된 드라이브들 및 이들과 관련된 컴퓨터 저장 매체는, 컴퓨터(110)를 위해, 컴퓨터 판독가능 명령어, 데이터 구조, 프로그램 모듈 및 다른 데이터를 저장한다. 도 2에서, 예를 들어, 하드 디스크 드라이브(141)는 운영 체제(144), 어플리케이션 프로그램(145), 기타 프로그램 모듈(146) 및 프로그램 데이터(147)를 저장하는 것으로 도시되어 있다. 여기서 주의할 점은 이 컴포넌트들이 운영 체제(134), 어플리케이션 프로그램(135), 기타 프로그램 모듈(136), 프로그램 데이터(137)와 동일할 수도 있고 다를 수도 있다는 것이다. 이에 관해, 운영 체제(144), 어플리케이션 프로그램(145), 기타 프로그램 모듈(146) 및 프로그램 데이터(147)에 다른 번호가 주어졌다는 것은 적어도 이들이 서로 다른 사본(copy)이라는 것을 나타낸다. 사용자는 키보드(162), 일반적으로 마우스, 트랙볼, 터치 패드로 언급되는 포인팅 장치(161) 등의 입력 장치를 통해 명령과 정보를 컴퓨터(110)에 입력할 수 있다. 다른 입력 장치로는 웹캠(163)이라고 알려진, 인터넷을 통해 이미지를 전송하기 위한 카메라가 있다. 다른 입력 장치로는 (도시되지 않은) 마이크로폰, 조이스틱, 게임 패드, 위성 안테나, 스캐너 등이 포함된 다. 이들과 이외의 입력 장치들은 흔히 시스템 버스와 연결된 사용자 입력 인터페이스(160)를 통해 처리 장치(120)에 연결되지만, 병렬 포트나 게임 포트, 범용 직렬 버스(USB) 같은 다른 인터페이스나 버스 구조를 통해 연결될 수 있다. 모니터(191)나 다른 유형의 디스플레이 장치 또한 비디오 인터페이스(190) 같은 인터페이스를 통해 시스템 버스(121)에 연결된다. 모니터와 더불어, 컴퓨터는 출력 주변 장치 인터페이스(190)를 통해 연결될 수 있는, 스피커(197), 프린터(196) 같은 다른 주변 출력 장치를 포함한다.
컴퓨터(110)는 원격 컴퓨터(180) 같은 하나 이상의 원격 컴퓨터와의 논리 연결을 통해 네트워크 환경에서 작동할 수 있다. 원격 컴퓨터(180)는 개인용 컴퓨터나 서버, 라우터, 네트워크 PC, 피어 장치 또는 다른 공통 네트워크 노드일 수 있으며, 도 2에는 메모리 저장 장치(181)만 도시되어 있지만 일반적으로 위에서 컴퓨터(110)와 관련하여 기술한 여러 또는 모든 요소들을 포함한다. 도 2에 도시된 논리 연결은 근거리 통신망(LAN)(171)과 광역 통신망(WAN)(173)을 포함하지만 또 다른 네트워크를 포함할 수 있다. 이러한 네트워크 환경은 사무실과 전사적인 컴퓨터 네트워크, 인트라넷과 인터넷에서 흔히 있다.
LAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 네트워크 인터페이스 또는 어댑터(170)를 통해 LAN(171)에 접속된다. WAN 네트워킹 환경에서 사용될 때, 컴퓨터(110)는 통상적으로 인터넷과 같은 WAN(173)을 통해 통신을 설정하기 위한 모뎀(172) 또는 기타 수단을 포함한다. 내장형 또는 외장형일 수 있는 모뎀(172)은 사용자 입력 인터페이스(160) 또는 기타 적절한 메커니즘을 통해 시스템 버스(121) 에 접속된다. 네트워크화된 환경에서, 컴퓨터(110) 또는 그의 일부와 관련하여 기술된 프로그램 모듈은 원격 메모리 저장 장치에 저장될 수 있다. 그 예를 들어, 도 2는 원격 어플리케이션 프로그램(185)이 메모리 장치(181)에 상주하고 있는 것을 도시하고 있지만 이에 제한되는 것은 아니다. 도시된 네트워크 접속은 예시적인 것이며 이 컴퓨터들 사이의 통신 링크를 설정하는 다른 수단이 사용될 수 있다는 것을 이해할 것이다.
도 3은 피어 투 피어 네트워크(300)에 관여하고 있는 노드에 대한 간략하고 대표적인 블록 다이어그램이다. 피어 투 피어 네트워크(300)는 노드들 간에서 일대일로 통신하는 포인트 투 포인트 피어 투 피어 네트워크일 수 있다. 또한 피어 투 피어 네트워크(300)는 일대다(one-to-many)로 통신하는 멀티케스트 피어 투 피어 네트워크일 수 있다. 각 노드는 알려진 다른 노드들의 캐시를 가질 수 있다. 일반적으로, 예를 들어 노드는 수치상으로 멀리 있는 노드보다 가까이 있는 노드의 정보를 많이 갖는다. 첫 번째 노드가 다른 노드를 검색할 때, 먼저 수치상으로 목적지에 가까운 이웃에 목표 노드에 관한 데이터를 갖고 있는지 물을 수 있다. 만약 이웃 노드가 갖고 있다면, 그 메시지나 요청을 전달(forward)할 것을 요청받을 수 있다. 도 3으로 설명하면, 노드(500)는 노드(800)에 접속하려고 하고 있다. 노드(500)는 먼저 노드(503)에게 대신해서 메시지를 전달할 것을 요청할 수 있다. 노드(503)는 노드(800)에 대해 모르지만 노드(800)에 더 가까운 피어 투 피어 식별자를 가진 노드(605)에 대한 엔트리를 캐시에 가지고 있다. 다음, 노드(605)는 메시지를 노드(610)에 전달할 수 있다. 노드(610)는 노드(800)에 대한 캐시 엔트리 를 갖고 있으며 메시지를 최종 목적지로 전달할 수 있다. 이 예에서, 각 노드는 점진적으로 목적지 노드에 가깝다. 항상 이와 같이 이루어지는 것은 아니고, 몇몇의 재시도가 발생할 수 있지만, 이것으로 기본 라우팅 방식을 충분히 설명할 수 있다. 노드(495, 600, 608, 612)는 예시된 라우팅에서 관여하지 않았다. 노드(502) 및 (505)는 아래에 설명된다. 이러한 분산 시스템을 작은 규모로 구성하고 유지하는 것은 비교적 간단하다. 하지만 수백, 수백만의 노드로 규모가 커졌을 때, 분산 시스템의 하드웨어와 소프트웨어에 변화를 주었을 때 네트워크 구조(fabric)의 성능을 평가하기 어렵다.
종래 기술의 시뮬레이션 시스템과 달리, 피어 투 피어 네트워크와 같은 대규모 분산 시스템의 시뮬레이션 및 검사에서는 표준 테스트 스윗과 고/노-고(go/no-go) 테스팅을 사용하지 않을 수 있다. 라우팅 및/또는 네트워크 관리 루틴에 만들어진 수정(fix) 또는 패치는 지역적인 효과와 전역적인 효과 모두를 갖는다. 시뮬레이트된 노드, 또는 시뮬레이트된 노드의 부분집합에서의 계측은 글로벌 클라우드뿐 아니라 사이트 및 링크 클라우드의 고위 성능(high level performance)의 평가를 가능하게 해주는 건강 통계치가 생성되도록 한다.
대규모 피어 투 피어 네트워크는 몇몇 관점에서 볼 수 있다. 한 관점은, 노드와 피어 투 피어 네트워크에서의 노드의 성능이 실제 지리적 위치에 따라 관찰되는 물리적 로캘(physical locale)이다. 피어 투 피어 네트워크는 네트워크 로캘의 관점 즉, 인터넷 서비스 제공자 또는 라우터 연결에 의해 조직된 노드로 관찰될 수 있다. 같은 네트워크 로캘에 있는 노드는 지리적으로 분산되고 다른 네트워크 로 캘의 노드와 뒤섞이게 된다. 세 번째로, 피어 투 피어 네트워크 조직은 논리적 로캘(logical locale)의 관점 즉, 피어 투 피어 네트워크의 식별 번호에 의해 관찰될 수 있다. 몇몇 피어 투 피어 네트워크에서의 식별 번호는 서비스 이름의 해시와 관련되기 때문에 물리적 로캘 및 네트워크 로캘과 관련되지 않는다. 그 결과, 피어 투 피어 네트워크에 대한 논리적 로캘 관점이 물리적 로캘 및 네트워크 로캘과 다르다.
시뮬레이션 중이나 실제 작동 중에 피어 투 피어 네트워크 성능을 측정함으로써, 관심 로캘에 따라 건강 통계치가 생성될 수 있다. 다시 말해, 위에 설명된 로캘 중 하나에 따라 건강 통계치를 관련시킴으로써, 시스템 문제가 특정 로캘의 하나 이상의 요소에 대응하는 것으로 확인될 수 있다. 개발 및 시뮬레이션 중에, 시뮬레이트된 로캘 데이터를 이용해 생성된 건강 통계치는 취약성을 정확하게 지적하거나 라우팅 및 관리 전략을 확정할 수 있다. 로캘에 의한 분석은 개발자와 관리자들에게 피어 투 피어 네트워크의 변경을 회귀 검사하고 개량을 비교 평가할 수 있는 더 신뢰할 수 있는 방법을 제공한다. 예를 들어 이름 서비스의 코드 변경과 같은 변경이 도입되고 건강 통계치가 향상되면 그 변경은 계속 유지될 수 있다. 변경이 도입되고 건강 통계치가 떨어지면 그 변경은 롤백되고 시스템은 기존 구성이나 코드 세트로 되돌려질 수 있다. 이 변경은 주어진 로캘이나 시스템 수준(system level)에서 도입되고 감시될 수 있다.
실제 상황에서 예를 확장하자면, 계측은 지리적 또는 논리적으로 여러 노드에 추가될 수 있다. 이 예에서, 노드(500, 600 및 800)는 계측(instrumented)될 수 있다. 통계치는, 예를 들어, 노드(600)와 같은 현존하는 네트워크 노드 내의 컨트롤러에 보고될 수 있고, 또는 피어 투 피어 네트워크 트래픽(traffic) 라우팅에 관여하지 않으면서 피어 투 피어 네트워크에 연결될 수도 있다.
예를 들어, 노드(503)가 성능 문제를 나타낸다고 하자. 성능 문제에는 많은 원인이 있을 수 있다. 노드(503)는 오프라인으로 되었을 수 있고 이웃들은 그것을 자신의 캐시에서 지우지 않았을 수 있기 때문에 노드(503)로 보내진 패킷은 잃어버리게 된다. 노드(503)가 비지(busy)상태이고 큐를 관리하지 않고 있어 트래픽이 지연되거나 폐기될 수 있다. 또는 노드(503)가 악성이어서 고의로 패킷을 지연시키거나 버리는 것도 다른 이유일 수 있다. 다른 이유들도 존재할 수 있지만, 이것들은 설명을 위해 충분하다.
기기가 추가된 노드, 특히 이웃하는 노드(500) 및 노드(600)에 의해 제공된 메트릭은 노드(503)가 응답하지 않고 있으며 큐 타임이 네트워크의 그 부분에서 쌓이고 있다고 보고하기 시작할 수 있다. 컨트롤러, 이 사례에서 노드(600)는, 느리거나 실패한 노드(503)의 주위를 채우는 역할을 하도록 새로운 노드(502) 및 (505)를 네트워크에 등록할 수 있다. 노드(503) 주위의 수 공간(number space)에서 새로운 노드(502) 및 (505)를 정확하게 겨냥함으로써, 이웃하는 노드, 예를 들어 노드(500) 및 (495)는 라우팅 및 데이터 요청을 위해 노드(502) 및 (505)를 발견하고 사용할 수 있다. 노드(503)는, 존재한다면, 여전히 어드레스 가능하며, 어드레스되었을 때 응답할 수 있다. 그러나, 이웃하는 노드 즉, 노드(503) 어드레스를 계속 캐싱하고 있는 노드는, 개입하는 노드들이 그 영역의 라우팅 지원을 세워놓았기 때문에 노드(503)를 제안으로 선택하지 않기 쉽다. 이와 같이, 건강하지 못한 또는 심지어 악성인 노드들이 둘러싸여져서, 그들이 피어 투 피어 네트워크에 주는 영향이 감소하거나 제거될 수 있다.
노드(502)와 노드(505)가 성능 저하 때문에 특별히 그 영역에 등록되었기 때문에 그것들은 또한 계측(instrumented)될 수 있다. 이 계측은 특정한 문제 진단에 더 초점이 맞춰지고 더 복잡할 수 있다. 즉, 루틴보다는, 더 자원 집중적이고 넓게 분산된 계측이다. 영역 내에서의 추가적인 계측은 문제 진단의 더 나아간 개선을 허락하고, 문제 또는 문제들의 복구를 돕는다. 특정 노드들은 근본 원인 문제를 결정하기 위해, 또는 노드가 악성으로 보일 때 더 주의 깊게 감시될 수 있다. 만약 건강 통계치가 노드(503)가 건강함을 나타낼 때, 예를 들어, 큐들은 사라지고 라우팅 성능이 개선되면, 노드(502)와 노드(505)는 제거될 수 있다.
도 4를 참조하면, 피어 투 피어 네트워크를 관리하기 위한 방법을 도시한 순서도가 논의되고 설명되고 있다. 도 3의 피어 투 피어 네트워크(200)와 같은 피어 투 피어 네트워크는, 도 1의 네트워크(10)와 같은 네트워크에서, 도 2의 컴퓨터(110)와 같은 컴퓨터로 구성될 수 있다. 이 명세서를 위해, 피어 투 피어 네트워크는 또한 그러한 시뮬레이션에서 요구되는 컴퓨터와 네트워크 상호접속의 시뮬레이션일 수 있다. 어느 경우에나, 노드는 계측될 수 있다(302). 즉, 내부 및 외부 성능과 관련된 데이터 통계치를 측정하고 보고하도록 구성될 수 있다. 몇몇 예시적인 측정은 주소 확인 성공률, 주소 확인 시간, 퍼센트 캐시 정확도를 포함할 수 있다. 데이터 통계치가 예를 들어, 실제 경우에 노드(600)에 보고됨에 따라, 측정 데이터는 건강 통계치로 집계된다(304). 메트릭의 첫 집합 및 상응하는 건강 통계치는 기준선 측정(baseline measurement)으로 사용될 수 있다.
다음으로 하나 이상의 피어 투 피어 네트워크 클라이언트 노드에 대한 변경, 또는 서버 지원 이름 확인(server supporting name resolution)과 같은 네트워크 요소에 대한 변경과 같은 변경이 도입될 수 있다(306). 변경은 예를 들어, 물리적 노드를 추가하거나 제거하는 것과 같은, 피어 투 피어 네트워크의 물리적 토폴로지에 대한 변경일 수 있다. 다르게는, 변경은 예를 들어, 특정 클라우드에 노드를 등록하는 것과 같은, 피어 투 피어 네트워크의 논리적 구조에 대한 변경일 수 있다. 다음으로, 앞서와 같이 피어 투 피어 네트워크는 동작하고 메트릭 데이터가 다시 수집된다. 실제 네트워크의 작동이 정확하게 복제되는 것은 실질적으로 불가능하므로, 사실, 현실적인 정도의 임의성을 갖는 시뮬레이션조차도 작동을 정확히 복제할 수 없으므로, 메트릭 데이터는 이전에 얻은 데이터와 차이가 나기 쉬울 수 있다. 집계된 데이터로부터 제2 건강 통계치가 만들어질 수 있다(308). 제1 및 제2 건강 통계치의 비교가 이루어질 수 있다(310). 만약 제2 건강 통계치가 제1 건강 통계치보다 더 좋다면, 피어 투 피어 네트워크 성능이 향상되었다고 말할 수 있다. 블록(310)으로부터의 "예" 분기가 선택되어 변경이 제자리에 유지될 수 있으며, 동시에 제2 건강 통계치는 미래의 참조를 위해 기록될 수 있다(312).
만약, 블록(310)에서, 제2 건강 통계치가 제1 건강 통계치보다 나빴다면, 또는 몇몇 경우에서는 같았더라도, 블록(310)으로부터의 "아니오" 분기가 선택되어 변경은 롤백되고(314) 피어 투 피어 네트워크는 이전의 상태로 복원될 수 있다. 그러면 실행은 다시 블록(306)으로 돌아갈 수 있고 거기서 다른 변경이 도입되고 프로세스가 반복될 수 있다.
앞에서는 본 발명의 다수의 상이한 실시예에 대한 상세한 설명을 개시하였지만, 본 발명의 범위는 본 출원서의 끝 부분에 개시되는 특허청구범위의 용어들에 의해 제한된다는 점이 이해되어야 한다. 상세한 설명은 단지 예시적인 것으로 고려되어야 하고, 본 발명의 모든 가능한 실시예들을 설명하는 것은 아니며, 이는 비록 불가능하지 않더라도 모든 가능한 실시예들을 설명한다는 것은 실용적이지 않기 때문이다. 현재의 기술 또는 본 특허의 출원일 이후에 개발된 기술들을 사용하여 다수의 대안적인 실시예들이 구현될 수 있지만, 이러한 것들도 역시 본 발명을 정의하는 특허청구범위의 범위에 포함되는 것이다.
따라서, 여기에 묘사되고 설명된 기술과 구조에 대한 많은 변경과 변화가 본 발명의 사상과 범위 내에서 만들어질 수 있다. 그러므로, 여기에 묘사된 방법 및 장치들은 단지 예시적인 것이며 본 발명의 범위를 제한하는 것이 아니라는 것이 이해되어야 한다.
Claims (11)
- 피어 투 피어 네트워크를 시험하기 위한 방법으로서,상기 피어 투 피어 네트워크의 복수의 노드를 계측(instrumenting)하는 단계,상기 복수의 노드 각각으로부터 수신된 제1 데이터를 이용하여 성능 통계치의 제1 집합을 집계하는 단계,상기 피어 투 피어 네트워크에 대한 변경을 설치하는 단계,상기 복수의 노드 각각으로부터 수신된 제2 데이터를 이용하여 성능 통계치의 제2 집합을 집계하는 단계, 및상기 제2 집계가 상기 제1 집계보다 더 높을 때 상기 변경이 유익한 것으로 결정하는 단계를 포함하는 방법.
- 제1항에 있어서,상기 피어 투 피어 네트워크에 대한 변경은 노드에 대한 소프트웨어 변경인 방법.
- 제1항에 있어서,상기 피어 투 피어 네트워크에 대한 변경은 상기 피어 투 피어 네트워크의 물리적 토폴로지에 대한 변경인 방법.
- 제1항에 있어서,상기 피어 투 피어 네트워크에 대한 변경은 논리적 피어 투 피어 네트워크 구조에 대한 변경인 방법.
- 제1항에 있어서,상기 피어 투 피어 네트워크는 시뮬레이트된 네트워크 및 물리적 네트워크 중 하나인 방법.
- 복수의 노드를 포함하는 피어 투 피어 네트워크에서, 상기 피어 투 피어 네트워크를 유지하기 위한 방법으로서,상기 복수의 노드의 세트를 계측하는 단계,상기 복수의 노드의 세트로부터 성능 통계치를 수집하는 단계,건강 통계치(health statistic)를 생성하기 위해 상기 성능 통계치를 집계하는 단계,상기 건강 통계치를 임계치 레벨(threshold level) 건강 통계치에 비교하는 단계, 및상기 건강 통계치가 상기 임계치보다 낮을 때, 최소한 하나의 새로운 노드를 상기 피어 투 피어 네트워크에 등록하는 단계를 포함하는 방법.
- 제6항에 있어서,상기 피어 투 피어 네트워크는 멀티캐스트 피어 투 피어 네트워크인 방법.
- 제6항에 있어서,상기 건강 통계치는 물리적 로캘(locale), 네트워크 로캘, 및 논리적 로캘 중 하나에 대응하는 방법.
- 피어 투 피어 네트워크 관리를 위해 구성된 컨트롤러로서,코드를 실행하기 위한 프로세서,상기 프로세서에 연결된 데이터 통신을 위한 포트, 및상기 프로세서에 연결된 실행가능 코드를 저장하는 메모리를 포함하고,상기 실행가능 코드는,상기 포트를 통해 상기 피어 투 피어 네트워크 상의 복수의 노드로부터 데이터를 수집하기 위한 모듈,건강 통계치를 생성하기 위해 상기 복수의 노드로부터의 데이터를 분석하기 위한 모듈,상기 건강 통계치를 이전의 건강 통계치와 비교하기 위한 모듈, 및상기 이전의 건강 통계치에 대한 상기 건강 통계치의 비교에 근거하여 동작을 결정하기 위한 모듈을 포함하는 컨트롤러.
- 제9항에 있어서,상기 실행가능 코드는, 상기 건강 통계치가 상기 이전의 건강 통계치보다 나쁜 것에 응하여 시스템에 대한 변경을 롤백(roll back)하도록 신호를 보내기 위한 모듈을 더 포함하는 컨트롤러.
- 제9항에 있어서,상기 실행가능 코드는,나빠진 건강 통계치와 관련된 피어 투 피어 네트워크 로캘을 결정하기 위한 모듈, 및상기 나빠진 건강 통계치와 관련된 피어 투 피어 네트워크 로캘 근처에 적어도 하나의 새로운 노드를 생성하는 모듈을 더 포함하는 컨트롤러.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US11/089,894 | 2005-03-25 | ||
US11/089,894 US7656810B2 (en) | 2005-03-25 | 2005-03-25 | System and method for monitoring and reacting to peer-to-peer network metrics |
Publications (1)
Publication Number | Publication Date |
---|---|
KR20070116237A true KR20070116237A (ko) | 2007-12-07 |
Family
ID=37035042
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020077021612A KR20070116237A (ko) | 2005-03-25 | 2006-03-21 | 피어 투 피어 네트워크 메트릭을 감시하고 그에 반응하기위한 시스템 및 방법 |
Country Status (5)
Country | Link |
---|---|
US (2) | US7656810B2 (ko) |
KR (1) | KR20070116237A (ko) |
CN (1) | CN101204042A (ko) |
TW (1) | TW200644500A (ko) |
WO (1) | WO2006104771A2 (ko) |
Families Citing this family (103)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8326965B2 (en) * | 2001-05-03 | 2012-12-04 | Hewlett-Packard Development Company, L.P. | Method and apparatus to extract the health of a service from a host machine |
US9123077B2 (en) | 2003-10-07 | 2015-09-01 | Hospira, Inc. | Medication management system |
US8065161B2 (en) | 2003-11-13 | 2011-11-22 | Hospira, Inc. | System for maintaining drug information and communicating with medication delivery devices |
US20070066297A1 (en) * | 2005-09-20 | 2007-03-22 | Ghobad Heidari-Bateni | Network monitoring system and method |
US8370928B1 (en) * | 2006-01-26 | 2013-02-05 | Mcafee, Inc. | System, method and computer program product for behavioral partitioning of a network to detect undesirable nodes |
WO2008057729A2 (en) | 2006-10-16 | 2008-05-15 | Hospira, Inc. | System and method for comparing and utilizing activity information and configuration information from mulitple device management systems |
US8762295B2 (en) * | 2007-02-11 | 2014-06-24 | Trend Micro Incorporated | Methods and system for determining licensing/billing fees for computer security software |
US7877644B2 (en) * | 2007-04-19 | 2011-01-25 | International Business Machines Corporation | Computer application performance optimization system |
US8185891B2 (en) | 2007-05-14 | 2012-05-22 | Red Hat, Inc. | Methods and systems for provisioning software |
US8561058B2 (en) | 2007-06-20 | 2013-10-15 | Red Hat, Inc. | Methods and systems for dynamically generating installation configuration files for software |
US8464247B2 (en) | 2007-06-21 | 2013-06-11 | Red Hat, Inc. | Methods and systems for dynamically generating installation configuration files for software |
CN101436926B (zh) * | 2007-11-16 | 2011-11-16 | 华为技术有限公司 | 一种在p2p网络中防止攻击的方法、网络节点及*** |
US8321937B2 (en) * | 2007-11-25 | 2012-11-27 | Trend Micro Incorporated | Methods and system for determining performance of filters in a computer intrusion prevention detection system |
US9021082B2 (en) * | 2008-01-30 | 2015-04-28 | Case Western Reserve University | Internet measurement system application programming interface |
US8713177B2 (en) | 2008-05-30 | 2014-04-29 | Red Hat, Inc. | Remote management of networked systems using secure modular platform |
US8943271B2 (en) | 2008-06-12 | 2015-01-27 | Microsoft Corporation | Distributed cache arrangement |
US8176256B2 (en) * | 2008-06-12 | 2012-05-08 | Microsoft Corporation | Cache regions |
EP2139205B1 (en) * | 2008-06-27 | 2012-10-31 | Alcatel Lucent | Method of redundant data storage |
US9100297B2 (en) * | 2008-08-20 | 2015-08-04 | Red Hat, Inc. | Registering new machines in a software provisioning environment |
US8930512B2 (en) | 2008-08-21 | 2015-01-06 | Red Hat, Inc. | Providing remote software provisioning to machines |
US9477570B2 (en) | 2008-08-26 | 2016-10-25 | Red Hat, Inc. | Monitoring software provisioning |
US8838827B2 (en) * | 2008-08-26 | 2014-09-16 | Red Hat, Inc. | Locating a provisioning server |
US8793683B2 (en) | 2008-08-28 | 2014-07-29 | Red Hat, Inc. | Importing software distributions in a software provisioning environment |
US9021470B2 (en) | 2008-08-29 | 2015-04-28 | Red Hat, Inc. | Software provisioning in multiple network configuration environment |
US9111118B2 (en) | 2008-08-29 | 2015-08-18 | Red Hat, Inc. | Managing access in a software provisioning environment |
US8103776B2 (en) | 2008-08-29 | 2012-01-24 | Red Hat, Inc. | Systems and methods for storage allocation in provisioning of virtual machines |
US9164749B2 (en) * | 2008-08-29 | 2015-10-20 | Red Hat, Inc. | Differential software provisioning on virtual machines having different configurations |
US8244836B2 (en) | 2008-08-29 | 2012-08-14 | Red Hat, Inc. | Methods and systems for assigning provisioning servers in a software provisioning environment |
US8527578B2 (en) | 2008-08-29 | 2013-09-03 | Red Hat, Inc. | Methods and systems for centrally managing multiple provisioning servers |
US9952845B2 (en) | 2008-08-29 | 2018-04-24 | Red Hat, Inc. | Provisioning machines having virtual storage resources |
US8612968B2 (en) | 2008-09-26 | 2013-12-17 | Red Hat, Inc. | Methods and systems for managing network connections associated with provisioning objects in a software provisioning environment |
US8326972B2 (en) | 2008-09-26 | 2012-12-04 | Red Hat, Inc. | Methods and systems for managing network connections in a software provisioning environment |
US10055739B2 (en) * | 2008-10-06 | 2018-08-21 | The Trustees Of Princeton University | System and method for pricing and exchanging content |
US8898305B2 (en) | 2008-11-25 | 2014-11-25 | Red Hat, Inc. | Providing power management services in a software provisioning environment |
US9124497B2 (en) | 2008-11-26 | 2015-09-01 | Red Hat, Inc. | Supporting multiple name servers in a software provisioning environment |
US8832256B2 (en) | 2008-11-28 | 2014-09-09 | Red Hat, Inc. | Providing a rescue Environment in a software provisioning environment |
US8775578B2 (en) | 2008-11-28 | 2014-07-08 | Red Hat, Inc. | Providing hardware updates in a software environment |
US8782204B2 (en) | 2008-11-28 | 2014-07-15 | Red Hat, Inc. | Monitoring hardware resources in a software provisioning environment |
US8924460B2 (en) * | 2008-12-19 | 2014-12-30 | International Business Machines Corporation | Method and system of administrating a peer-to-peer file sharing network |
US8402123B2 (en) | 2009-02-24 | 2013-03-19 | Red Hat, Inc. | Systems and methods for inventorying un-provisioned systems in a software provisioning environment |
US9727320B2 (en) | 2009-02-25 | 2017-08-08 | Red Hat, Inc. | Configuration of provisioning servers in virtualized systems |
US20100217944A1 (en) * | 2009-02-26 | 2010-08-26 | Dehaan Michael Paul | Systems and methods for managing configurations of storage devices in a software provisioning environment |
US8413259B2 (en) | 2009-02-26 | 2013-04-02 | Red Hat, Inc. | Methods and systems for secure gated file deployment associated with provisioning |
US8892700B2 (en) | 2009-02-26 | 2014-11-18 | Red Hat, Inc. | Collecting and altering firmware configurations of target machines in a software provisioning environment |
US8667096B2 (en) | 2009-02-27 | 2014-03-04 | Red Hat, Inc. | Automatically generating system restoration order for network recovery |
US9940208B2 (en) | 2009-02-27 | 2018-04-10 | Red Hat, Inc. | Generating reverse installation file for network restoration |
US8572587B2 (en) * | 2009-02-27 | 2013-10-29 | Red Hat, Inc. | Systems and methods for providing a library of virtual images in a software provisioning environment |
US8640122B2 (en) | 2009-02-27 | 2014-01-28 | Red Hat, Inc. | Systems and methods for abstracting software content management in a software provisioning environment |
US8135989B2 (en) * | 2009-02-27 | 2012-03-13 | Red Hat, Inc. | Systems and methods for interrogating diagnostic target using remotely loaded image |
US8990368B2 (en) | 2009-02-27 | 2015-03-24 | Red Hat, Inc. | Discovery of network software relationships |
US9558195B2 (en) | 2009-02-27 | 2017-01-31 | Red Hat, Inc. | Depopulation of user data from network |
US9411570B2 (en) | 2009-02-27 | 2016-08-09 | Red Hat, Inc. | Integrating software provisioning and configuration management |
US8417926B2 (en) | 2009-03-31 | 2013-04-09 | Red Hat, Inc. | Systems and methods for providing configuration management services from a provisioning server |
US8271106B2 (en) | 2009-04-17 | 2012-09-18 | Hospira, Inc. | System and method for configuring a rule set for medical event management and responses |
US9250672B2 (en) | 2009-05-27 | 2016-02-02 | Red Hat, Inc. | Cloning target machines in a software provisioning environment |
US9134987B2 (en) | 2009-05-29 | 2015-09-15 | Red Hat, Inc. | Retiring target machines by a provisioning server |
US9047155B2 (en) | 2009-06-30 | 2015-06-02 | Red Hat, Inc. | Message-based installation management using message bus |
US7716179B1 (en) * | 2009-10-29 | 2010-05-11 | Wowd, Inc. | DHT-based distributed file system for simultaneous use by millions of frequently disconnected, world-wide users |
US8825819B2 (en) | 2009-11-30 | 2014-09-02 | Red Hat, Inc. | Mounting specified storage resources from storage area network in machine provisioning platform |
US10133485B2 (en) | 2009-11-30 | 2018-11-20 | Red Hat, Inc. | Integrating storage resources from storage area network in machine provisioning platform |
US20120005685A1 (en) * | 2010-07-04 | 2012-01-05 | Chen Steve S | Information Processing Grid and Method for High Performance and Efficient Resource Utilization |
US8572439B2 (en) * | 2011-05-04 | 2013-10-29 | Microsoft Corporation | Monitoring the health of distributed systems |
WO2013059615A1 (en) | 2011-10-21 | 2013-04-25 | Hospira, Inc. | Medical device update system |
CN102768635B (zh) * | 2012-06-07 | 2015-02-11 | 北京奇虎科技有限公司 | 一种计算机健康指数显示设备和方法 |
CA2904053C (en) | 2013-03-06 | 2023-01-03 | Hospira, Inc. | Medical device communication method |
US10534995B2 (en) * | 2013-03-15 | 2020-01-14 | Qylur Intelligent Systems, Inc. | Network of intelligent machines |
WO2014146265A1 (en) * | 2013-03-20 | 2014-09-25 | Nokia Corporation | Method and apparatus for personalized resource recommendations |
US11157664B2 (en) | 2013-07-09 | 2021-10-26 | Oracle International Corporation | Database modeling and analysis |
US10776244B2 (en) | 2013-07-09 | 2020-09-15 | Oracle International Corporation | Consolidation planning services for systems migration |
US9762461B2 (en) * | 2013-07-09 | 2017-09-12 | Oracle International Corporation | Cloud services performance tuning and benchmarking |
US9996562B2 (en) | 2013-07-09 | 2018-06-12 | Oracle International Corporation | Automated database migration architecture |
US9967154B2 (en) | 2013-07-09 | 2018-05-08 | Oracle International Corporation | Advanced customer support services—advanced support cloud portal |
US9805070B2 (en) | 2013-07-09 | 2017-10-31 | Oracle International Corporation | Dynamic migration script management |
US9747311B2 (en) | 2013-07-09 | 2017-08-29 | Oracle International Corporation | Solution to generate a scriptset for an automated database migration |
US9491072B2 (en) | 2013-07-09 | 2016-11-08 | Oracle International Corporation | Cloud services load testing and analysis |
EP3039596A4 (en) | 2013-08-30 | 2017-04-12 | Hospira, Inc. | System and method of monitoring and managing a remote infusion regimen |
US9662436B2 (en) | 2013-09-20 | 2017-05-30 | Icu Medical, Inc. | Fail-safe drug infusion therapy system |
US9792194B2 (en) | 2013-10-18 | 2017-10-17 | International Business Machines Corporation | Performance regression manager for large scale systems |
US10311972B2 (en) | 2013-11-11 | 2019-06-04 | Icu Medical, Inc. | Medical device system performance index |
CA2930830C (en) | 2013-11-19 | 2019-12-03 | Hospira, Inc. | Infusion pump automation system and method |
EP3138032B1 (en) | 2014-04-30 | 2024-07-24 | ICU Medical, Inc. | Patient care system with conditional alarm forwarding |
US9724470B2 (en) | 2014-06-16 | 2017-08-08 | Icu Medical, Inc. | System for monitoring and delivering medication to a patient and method of using the same to minimize the risks associated with automated therapy |
US9539383B2 (en) | 2014-09-15 | 2017-01-10 | Hospira, Inc. | System and method that matches delayed infusion auto-programs with manually entered infusion programs and analyzes differences therein |
WO2016189417A1 (en) | 2015-05-26 | 2016-12-01 | Hospira, Inc. | Infusion pump system and method with multiple drug library editor source capability |
US10116521B2 (en) | 2015-10-15 | 2018-10-30 | Citrix Systems, Inc. | Systems and methods for determining network configurations using historical real-time network metrics data |
US11036696B2 (en) | 2016-06-07 | 2021-06-15 | Oracle International Corporation | Resource allocation for database provisioning |
CA3030786A1 (en) | 2016-07-14 | 2018-01-18 | Icu Medical, Inc. | Multi-communication path selection and security system for a medical device |
US10917324B2 (en) | 2016-09-28 | 2021-02-09 | Amazon Technologies, Inc. | Network health data aggregation service |
US10944636B2 (en) * | 2016-09-28 | 2021-03-09 | Mcafee, Llc | Dynamically identifying criticality of services and data sources |
KR101836096B1 (ko) | 2016-12-02 | 2018-03-12 | 주식회사 수아랩 | 이미지 데이터의 상태 판단 방법, 장치 및 컴퓨터-판독가능 저장 매체에 저장된 컴퓨터 프로그램 |
KR101916348B1 (ko) | 2017-08-04 | 2018-11-08 | 주식회사 수아랩 | 인공 신경망의 훈련 방법 |
US10353620B2 (en) * | 2017-11-30 | 2019-07-16 | International Business Machines Corporation | Lifecycle management of memory devices |
CN108156051A (zh) * | 2017-12-12 | 2018-06-12 | 上海天旦网络科技发展有限公司 | 分析网络数据信息的展现方法与*** |
US11139058B2 (en) | 2018-07-17 | 2021-10-05 | Icu Medical, Inc. | Reducing file transfer between cloud environment and infusion pumps |
NZ772135A (en) | 2018-07-17 | 2022-11-25 | Icu Medical Inc | Systems and methods for facilitating clinical messaging in a network environment |
EP3824386B1 (en) | 2018-07-17 | 2024-02-21 | ICU Medical, Inc. | Updating infusion pump drug libraries and operational software in a networked environment |
US10950339B2 (en) | 2018-07-17 | 2021-03-16 | Icu Medical, Inc. | Converting pump messages in new pump protocol to standardized dataset messages |
US10692595B2 (en) | 2018-07-26 | 2020-06-23 | Icu Medical, Inc. | Drug library dynamic version management |
WO2020023231A1 (en) | 2018-07-26 | 2020-01-30 | Icu Medical, Inc. | Drug library management system |
US10841393B2 (en) * | 2018-11-12 | 2020-11-17 | Citrix Systems, Inc. | Systems and methods for secure peer-to-peer caching |
US11256671B2 (en) | 2019-09-13 | 2022-02-22 | Oracle International Corporation | Integrated transition control center |
US11727306B2 (en) | 2020-05-20 | 2023-08-15 | Bank Of America Corporation | Distributed artificial intelligence model with deception nodes |
US11436534B2 (en) | 2020-05-20 | 2022-09-06 | Bank Of America Corporation | Distributed artificial intelligence model |
Family Cites Families (34)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US148333A (en) * | 1874-03-10 | Improvement in apparatus for raising sunken vessels | ||
US111469A (en) * | 1871-01-31 | Xsamuel o | ||
US55892A (en) * | 1866-06-26 | Improvement in carbon-battery connections | ||
US4874963A (en) | 1988-02-11 | 1989-10-17 | Bell Communications Research, Inc. | Neuromorphic learning networks |
JP2517410B2 (ja) | 1989-05-15 | 1996-07-24 | 三菱電機株式会社 | 学習機能付集積回路装置 |
US6209033B1 (en) * | 1995-02-01 | 2001-03-27 | Cabletron Systems, Inc. | Apparatus and method for network capacity evaluation and planning |
GB2327014B (en) * | 1997-06-30 | 2002-04-24 | Ericsson Telefon Ab L M | Mobile communications system |
US6910068B2 (en) | 1999-06-11 | 2005-06-21 | Microsoft Corporation | XML-based template language for devices and services |
US6725281B1 (en) | 1999-06-11 | 2004-04-20 | Microsoft Corporation | Synchronization of controlled device state using state table and eventing in data-driven remote device control model |
US6892230B1 (en) | 1999-06-11 | 2005-05-10 | Microsoft Corporation | Dynamic self-configuration for ad hoc peer networking using mark-up language formated description messages |
US6990616B1 (en) * | 2000-04-24 | 2006-01-24 | Attune Networks Ltd. | Analysis of network performance |
US7194689B2 (en) | 2000-08-22 | 2007-03-20 | Microsoft Corporation | Generic user control point tool for universal plug and play (UPnP) devices |
US7171475B2 (en) | 2000-12-01 | 2007-01-30 | Microsoft Corporation | Peer networking host framework and hosting API |
US7539664B2 (en) * | 2001-03-26 | 2009-05-26 | International Business Machines Corporation | Method and system for operating a rating server based on usage and download patterns within a peer-to-peer network |
US7065587B2 (en) | 2001-04-02 | 2006-06-20 | Microsoft Corporation | Peer-to-peer name resolution protocol (PNRP) and multilevel cache for use therewith |
US7493363B2 (en) | 2001-09-19 | 2009-02-17 | Microsoft Corporation | Peer-to-peer group management and method for maintaining peer-to-peer graphs |
US7299351B2 (en) | 2001-09-19 | 2007-11-20 | Microsoft Corporation | Peer-to-peer name resolution protocol (PNRP) security infrastructure and method |
US7068789B2 (en) | 2001-09-19 | 2006-06-27 | Microsoft Corporation | Peer-to-peer name resolution protocol (PNRP) group security infrastructure and method |
US7337402B2 (en) | 2001-11-09 | 2008-02-26 | Microsoft Corporation | Tunable information presentation appliance using an extensible markup language |
US7962605B2 (en) | 2001-11-20 | 2011-06-14 | Microsoft Corporation | Distributed device discovery framework for a network |
US20030126256A1 (en) * | 2001-11-26 | 2003-07-03 | Cruickshank Robert F. | Network performance determining |
US20050013244A1 (en) * | 2001-12-14 | 2005-01-20 | Parlos Alexander G | System for actively controlling distributed applications |
US7051102B2 (en) | 2002-04-29 | 2006-05-23 | Microsoft Corporation | Peer-to-peer name resolution protocol (PNRP) security infrastructure and method |
US7159021B2 (en) * | 2002-06-27 | 2007-01-02 | Microsoft Corporation | System and method for testing peer-to-peer network applications |
US7430747B2 (en) | 2002-12-04 | 2008-09-30 | Microsoft Corporation | Peer-to peer graphing interfaces and methods |
US7596625B2 (en) | 2003-01-27 | 2009-09-29 | Microsoft Corporation | Peer-to-peer grouping interfaces and methods |
GB0307913D0 (en) * | 2003-04-05 | 2003-05-14 | Hewlett Packard Development Co | Management of peer-to-peer network using reputation services |
JP4057457B2 (ja) * | 2003-04-15 | 2008-03-05 | 株式会社ディスコ | フリップチップボンダー |
US7418486B2 (en) | 2003-06-06 | 2008-08-26 | Microsoft Corporation | Automatic discovery and configuration of external network devices |
US20040255029A1 (en) | 2003-06-16 | 2004-12-16 | Microsoft Corporation | Discovery and control protocol for intelligent displays |
US7336623B2 (en) | 2003-10-30 | 2008-02-26 | Microsoft Corporation | Peer-to-peer cloud-split detection and repair methods |
US7730207B2 (en) * | 2004-03-31 | 2010-06-01 | Microsoft Corporation | Routing in peer-to-peer networks |
US20060047809A1 (en) * | 2004-09-01 | 2006-03-02 | Slattery Terrance C | Method and apparatus for assessing performance and health of an information processing network |
US7734574B2 (en) * | 2005-02-17 | 2010-06-08 | International Business Machines Corporation | Intelligent system health indicator |
-
2005
- 2005-03-25 US US11/089,894 patent/US7656810B2/en active Active
-
2006
- 2006-03-21 KR KR1020077021612A patent/KR20070116237A/ko not_active Application Discontinuation
- 2006-03-21 WO PCT/US2006/010258 patent/WO2006104771A2/en active Application Filing
- 2006-03-21 CN CNA2006800093283A patent/CN101204042A/zh active Pending
- 2006-03-22 TW TW095109939A patent/TW200644500A/zh unknown
- 2006-04-28 US US11/413,538 patent/US7698239B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101204042A (zh) | 2008-06-18 |
TW200644500A (en) | 2006-12-16 |
US7656810B2 (en) | 2010-02-02 |
WO2006104771A3 (en) | 2007-09-20 |
US20060215575A1 (en) | 2006-09-28 |
US7698239B2 (en) | 2010-04-13 |
WO2006104771A2 (en) | 2006-10-05 |
US20060262726A1 (en) | 2006-11-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR20070116237A (ko) | 피어 투 피어 네트워크 메트릭을 감시하고 그에 반응하기위한 시스템 및 방법 | |
Jiang et al. | A survey on load testing of large-scale software systems | |
Kasick et al. | Black-Box Problem Diagnosis in Parallel File Systems. | |
Jiang | Automated analysis of load testing results | |
US7340649B2 (en) | System and method for determining fault isolation in an enterprise computing system | |
CN102439888B (zh) | 一种快速通道互连链路监控方法和设备及*** | |
Syer et al. | Leveraging performance counters and execution logs to diagnose memory-related performance issues | |
US20150095892A1 (en) | Systems and methods for evaluating a change pertaining to a service or machine | |
US20070265811A1 (en) | Using stochastic models to diagnose and predict complex system problems | |
CN109039787B (zh) | 日志处理方法、装置及大数据集群 | |
US8024713B2 (en) | Using ghost agents in an environment supported by customer service providers | |
Jayathilaka et al. | Detecting performance anomalies in cloud platform applications | |
Khan et al. | SNTS: Sensor network troubleshooting suite | |
JP2021502788A (ja) | コンピュータネットワーク障害の発生源の検出 | |
CN111309570A (zh) | 压力测试方法、介质、装置和计算设备 | |
Mendes et al. | Monitoring large systems via statistical sampling | |
JP4443200B2 (ja) | 情報システム | |
US11334349B2 (en) | Removing feature flag-related codebase from applications | |
JP7292784B2 (ja) | トポロジ情報を用いないネットワーク性能評価方法、システム、プログラム | |
Jiang et al. | Dependency-aware fault diagnosis with metric-correlation models in enterprise software systems | |
CN115543665A (zh) | 一种内存可靠性评估方法、装置及存储介质 | |
CN113364652A (zh) | 网卡流量测试方法、装置、网络设备、***及可读介质 | |
CN117056918A (zh) | 一种代码分析方法及相关设备 | |
US8825843B2 (en) | System and methods for monitoring a geographic information system | |
O'Donovan et al. | Detailed diagnosis of performance anomalies in sensornets |
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 |