KR102610652B1 - 데이터 집약적 워크로드를 위한 리소스 배치에 대한 시스템 및 방법 - Google Patents
데이터 집약적 워크로드를 위한 리소스 배치에 대한 시스템 및 방법 Download PDFInfo
- Publication number
- KR102610652B1 KR102610652B1 KR1020207021210A KR20207021210A KR102610652B1 KR 102610652 B1 KR102610652 B1 KR 102610652B1 KR 1020207021210 A KR1020207021210 A KR 1020207021210A KR 20207021210 A KR20207021210 A KR 20207021210A KR 102610652 B1 KR102610652 B1 KR 102610652B1
- Authority
- KR
- South Korea
- Prior art keywords
- throughput
- serverless function
- network
- data
- function
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 73
- 238000012545 processing Methods 0.000 claims abstract description 51
- 230000006870 function Effects 0.000 claims description 325
- 230000015654 memory Effects 0.000 claims description 32
- 238000006243 chemical reaction Methods 0.000 claims description 5
- 230000007704 transition Effects 0.000 abstract description 7
- 238000012384 transportation and delivery Methods 0.000 abstract description 4
- 230000008569 process Effects 0.000 description 40
- 239000004744 fabric Substances 0.000 description 17
- 238000007726 management method Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 8
- 230000008901 benefit Effects 0.000 description 6
- 238000004891 communication Methods 0.000 description 6
- 230000006855 networking Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 4
- 230000014509 gene expression Effects 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 238000004458 analytical method Methods 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000005012 migration Effects 0.000 description 2
- 238000013508 migration Methods 0.000 description 2
- 238000005457 optimization Methods 0.000 description 2
- 230000002093 peripheral effect Effects 0.000 description 2
- 238000012546 transfer Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000027455 binding Effects 0.000 description 1
- 238000009739 binding Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 230000001413 cellular effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- QVFWZNCVPCJQOP-UHFFFAOYSA-N chloralodol Chemical compound CC(O)(C)CC(C)OC(O)C(Cl)(Cl)Cl QVFWZNCVPCJQOP-UHFFFAOYSA-N 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000003909 pattern recognition Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000013439 planning Methods 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 239000004984 smart glass Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000005641 tunneling Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5038—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/5044—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering hardware capabilities
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5083—Techniques for rebalancing the load in a distributed system
-
- 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/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer And Data Communications (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
멀티 클라우드 환경에서 워크로드 및 리소스 배치를 위해 클라우드 상의 포인트 오브 딜리버리(POD) 디바이스 또는 네트워크 컴포넌트를 결정하기위한 시스템, 방법, 컴퓨터 판독 가능 매체가 개시된다. 방법은 입력 데이터에 대한 제1 함수의 수행으로부터 제1 함수의 제1 결과값에 대한 제2 함수의 수행으로의 전환을 위한 제1 데이터양을 결정하는 단계; 제1 결과값에 대한 제2 함수의 수행으로부터 제2 함수의 제2 결과값에 대한 제3 함수의 수행으로의 전환을 위한 제2 데이터양을 결정하는 단계; 제1 함수 및 제3 함수가 구현되는 하나 이상의 네트워크 노드 각각에 대한 처리 용량을 결정하는 단계; 및 제1 데이터양, 제2 데이터양 및 네트워크 노드에 각각에 대한 처리 용량에 기초하여 제2 함수를 구현하기 위한 네트워크 노드를 선택하는 단계를 포함한다.
Description
본 출원은 2017년 12월 21일에 출원 된 미국 비-특허 출원 제15/850,230 호에 우선권을 주장하며, 그 내용은 그 전문이 본원에 참조로 포함된다.
본 기술은 멀티 클라우드 환경에서의 워크로드 배치를 위한 포인트 오브 딜리버리(POD) 디바이스 또는 네트워크 컴포넌트를 결정하는 시스템 및 방법에 관한 것이다.
서버리스(serverless) 컴퓨팅 서비스와 같은 서비스를 제공하는 멀티 클라우드 환경에서, 데이터 집약적인 워크로드는 종종 각각이 (다른 지리적 위치에 위치한) 서로 다른 클라우드 내에 있는 여러 디바이스에 걸쳐 구현된다. 일반적으로 한 클라우드 환경의 한 네트워크 컴포넌트에서 다른 클라우드 환경의 다른 네트워크 컴포넌트로 작업 부하를 전환(transitioning)하는 것과 연관된 비용 함수(리소스 사용률 및/또는 금전적 가치로 표현)가 있다. 따라서, 전환 비용을 최소화하고 최적의 성능을 제공하기 위해 다양한 클라우드에 걸쳐 워크로드 배치를 최적화 할 필요가 있다.
본 개시의 상술한 사항 및 다른 장점 및 특징이 구비될 수 있는 방식을 설명하기 위해, 위에서 간략하게 설명된 원리들에 대한 보다 구체적인 설명은 첨부된 도면에 도시된 특정 실시예들을 참조하여 제공될 것이다. 이들 도면은 단지 본 개시의 예시적인 실시예를 도시하고 그 범위를 제한하는 것으로 간주되지 않는다는 것을 이해하고, 본 명세서의 원리는 아래 첨부 도면의 사용을 통해 추가적인 특징 및 세부 사항으로 기술되고 설명된다:
도 1a 내지 도 1d는 본 개시의 일 양태에 따른, 예시적인 네트워크 환경 및 아키텍처를 도시한다;
도 2는 본 개시의 일 양태에 따른, 멀티 클라우드 환경을 도시한다;
도 3은 본 개시의 일 양태에 따른, 스위칭, 라우팅, 로드 밸런싱 및 다른 네트워킹 동작을 수행하기에 적합한 예시적인 네트워크 디바이스를 도시한다;
도 4는 본 개시의 일 양태에 따른, 컴퓨팅 시스템 아키텍처를 도시한다.
도 5는 본 개시의 일 양태에 따른, 멀티 클라우드 환경에서의 워크로드 배치 방법을 도시한다; 그리고
도 6은 본 개시의 일 양태에 따른, 멀티 클라우드 환경에서의 워크로드 배치 방법을 도시한다.
도 1a 내지 도 1d는 본 개시의 일 양태에 따른, 예시적인 네트워크 환경 및 아키텍처를 도시한다;
도 2는 본 개시의 일 양태에 따른, 멀티 클라우드 환경을 도시한다;
도 3은 본 개시의 일 양태에 따른, 스위칭, 라우팅, 로드 밸런싱 및 다른 네트워킹 동작을 수행하기에 적합한 예시적인 네트워크 디바이스를 도시한다;
도 4는 본 개시의 일 양태에 따른, 컴퓨팅 시스템 아키텍처를 도시한다.
도 5는 본 개시의 일 양태에 따른, 멀티 클라우드 환경에서의 워크로드 배치 방법을 도시한다; 그리고
도 6은 본 개시의 일 양태에 따른, 멀티 클라우드 환경에서의 워크로드 배치 방법을 도시한다.
본 개시의 다양한 실시예들이 아래에서 상세하게 논의된다. 특정 구현들이 논의되지만, 이것은 예시 목적으로만 수행된다는 것을 이해해야 한다. 관련 기술 분야의 통상의 기술자는 본 개시의 사상 및 범위를 벗어나지 않고 다른 컴포넌트 및 구성이 사용될 수 있음을 인식할 것이다.
본 개시에서 하나 또는 어느 예시적인 실시예에 대한 참조는 동일한 예시적인 실시예에 대한 참조일 수 있지만, 반드시 그런 것은 아니며; 그러한 참조는 예시적인 실시예들 중 적어도 하나를 의미한다.
"하나의 예시적인 실시예"또는 "예시적인 실시예"는 예시적인 실시예와 관련하여 설명된 특정 특징, 구조 또는 특성이 본 개시의 적어도 하나의 예에 포함된다는 것을 의미한다. 본 명세서의 다양한 곳에서 "일 실시예에서" 문구의 출현은 반드시 모두 동일한 예시적인 실시예를 지칭하는 것은 아니며, 다른 예시적인 실시예와 상호 배타적인 별도의 또는 대안적인 예시적인 실시예가 아니다. 또한, 다양한 특징들이 설명되어 있으며, 그것은 다른 것들이 아닌 어떤 실시예에 의해 나타나질 수 있다. 이와 유사하게, 다양한 특징들이 설명되며, 어떤 실시예에서는 구현될 수 있지만 다른 실시예에서는 구현되지 않을 수 있다.
본 명세서에서 사용된 용어는 일반적으로 본 개시의 맥락 내에서, 및 각 용어가 사용되는 특정 맥락에서 당업계의 통상적인 의미를 갖는다. 대안적인 표현 및 동의어가 본 명세서에서 논의된 임의의 하나 이상의 용어에 사용될 수 있으며, 본 명세서에서 용어가 상세화되거나 논의되는지 여부에 특별한 의미가 부여되지 않아야 한다. 특정 용어에 대한 동의어가 제공된다. 하나 이상의 동의어의 설명은 다른 동의어의 사용을 배제하지 않는다. 본 명세서에서 논의된 임의의 용어의 예를 포함하여 본 명세서의 임의의 예의 사용은 단지 예시적인 것이며, 본 개시 또는 임의의 예시된 용어의 범위 및 의미를 추가로 제한하려는 것은 아니다. 마찬가지로, 본 개시는 본 명세서에 제공된 다양한 예시에 제한되지 않는다.
본 개시의 범위를 제한하려는 의도는 아니지만, 본 개시의 예에 따른 기구, 장치, 방법 및 관련 결과의 예는 아래에 제공된다. 명칭들 또는 부제들은 독자의 편의를 위해 예시에 사용될 수 있으며, 결코 개시의 범위를 제한해서는 안된다. 달리 정의되지 않는 한, 본원에 사용된 기술 및 과학 용어는 본 발명이 속하는 기술 분야의 통상의 기술자에 의해 일반적으로 이해되는 의미를 갖는다. 충돌이 있을 경우, 정의를 포함한 본 문서가 우선한다.
제1, 제2 등의 용어는 본 명세서에서 다양한 요소를 설명하기 위해 사용될 수 있지만, 이들 요소는 이들 용어에 의해 제한되지 않아야 한다. 이러한 용어는 하나의 요소를 다른 요소와 구별하기 위해서만 사용된다. 예를 들어, 본 개시의 범위를 벗어나지 않으면서 제1 요소는 제2 요소로 명명될 수 있고, 유사하게 제2 요소도 제1 요소로 명명될 수 있다. 본원에 사용된 용어 "및/또는"은 연관된 열거된 항목 중 하나 이상의 임의의 및 모든 조합을 포함한다.
요소가 다른 요소에 "연결된(connected)"또는 "결합된(coupled)" 것으로 언급될 때, 다른 요소에 직접 연결되거나 결합될 수 있거나, 중간 요소가 존재할 수 있다. 대조적으로, 어떤 요소가 다른 요소에 "직접 연결되어(directly connected)" 있다거나 "직접 결합되어(directly coupled)" 있다고 언급된 때에는, 중간에 다른 요소가 존재하지 않는 것으로 이해되어야 할 것이다. 요소들 사이의 관계를 설명하기 위해 사용된 다른 단어들은 유사한 방식으로 해석되어야 한다(예를 들어, "사이에(between)"과 "사이에 직접(directly between)", "인접한(adjacent)"과 "직접적으로 인접한(directly adjacent)" 등).
본 명세서에서 사용된 용어는 단지 특정 예를 설명하기 위한 것이며 제한하려는 것이 아니다. 본 명세서에서 사용되는 것과 같이, 문맥상 명확하게 다르게 나타내지 않는 한, 단수 형태 "a", "an" 및 "the"도 복수 형태를 포함하도록 의도되었다. 본 명세서에서 사용될 때 "포함한다(comprises)", "포함하는(comprising)", "포함한다(includes)" 및/또는 "포함하는(including)" 이라는 용어는 언급된 특징, 정수(integer), 단계, 동작, 요소 및/또는 컴포넌트의 존재를 특정하나, 하나 이상의 다른 특징, 정수(integer), 단계, 동작, 요소, 컴포넌트 및/또는 이들의 그룹의 존재 또는 추가를 배제하지는 않는다고 이해될 것이다.
일부 대안적인 구현에서, 언급된 기능/동작은 도면에 언급된 순서를 벗어나서 발생할 수 있음에 유의해야 한다. 예를 들어, 연속으로 도시된 2 개의 도면은 실제로 관련된 함수/동작에 따라 실질적으로 동시에 실행될 수 있거나 때로는 역순으로 실행될 수 있다.
실시예의 철저한 이해를 제공하기 위해 다음의 설명에서 특정 세부 사항이 제공된다. 그러나, 본 기술 분야의 통상의 지식을 가진 자라면 이러한 특정 세부 사항없이 예들이 실시될 수 있음을 이해할 것이다. 예를 들어, 시스템은 불필요한 세부 사항으로 예시를 모호하게 하지 않도록 블록도로 도시될 수 있다. 다른 예에서, 잘 알려진 프로세스, 구조 및 기술은 예시를 모호하게 하지 않기 위해 불필요한 세부 사항 없이 도시될 수 있다.
이하의 설명에서, 예시적인 예는 특정 작업을 수행하거나 특정 추상 데이터 유형을 구현하고 네트워크 요소에서 하드웨어를 사용하여 구현될 수 있는, 루틴, 프로그램, 객체, 컴포넌트, 데이터 구조 등을 포함하는 프로그램 서비스 또는 기능적 프로세스로서 구현될 수 있는 동작의 행위 및 상징적 표현(예를 들어, 플로우 차트, 플로우 다이어그램, 데이터 플로우 다이어그램, 구조 다이어그램, 블록 다이어그램 등)을 참조하여 설명될 것이다. 그러한 하드웨어의 비-제한적인 예는 하나 이상의 중앙 처리 장치(CPU), 디지털 신호 처리 장치(DSP), 주문형 집적 회로, 필드 프로그래머블 게이트 어레이(FPGA), 컴퓨터 등을 포함할 수 있다.
본 개시의 추가적인 특징 및 장점은 다음의 설명에 명시될 것이며, 부분적으로 설명으로부터 명백해지거나 본 명세서에 개시된 원리를 실시함으로써 학습될 수 있다. 본 개시의 특징 및 장점은 첨부된 청구 범위에서 특히 지시된 기구 및 조합에 의해 실현되고 획득될 수 있다. 본 개시의 이들 및 다른 특징은 다음의 설명 및 첨부된 청구 범위로부터 보다 완전하게 명백해지거나 본 명세서에 기재된 원리의 실시에 의해 학습될 수 있다.
본 개시의 일 양태에서, 네트워크 함수를 구현하기 위해 네트워크 노드를 선택하기 위한 컴퓨터-구현 방법으로서, 입력 데이터에 대한 제1 함수의 수행으로부터 제1 함수의 제1 결과값에 대한 제2 함수의 수행으로의 전환을 위해 제1 데이터양을 결정하는 단계; 상기 제1 결과값에 대한 제2 함수의 수행으로부터 상기 제2 함수의 제2 결과값에 대한 제3 함수의 수행으로의 전환을 위해 제2 데이터양을 결정하는 단계; 상기 제1 함수 및 상기 제3 함수가 구현되는 하나 이상의 네트워크 노드 각각에 대한 처리 용량을 결정하는 단계; 및 제1 데이터양, 제2 데이터양 및 네트워크 노드에 각각에 대한 처리 용량에 기초하여 제2 함수를 구현하기 위한 네트워크 노드를 선택하는 단계를 포함한다.
본 개시의 일 양태에서, 네트워크 함수를 구현하기 위해 네트워크 노드를 선택하기 위한 시스템으로서, 컴퓨터 판독 가능 명령어를 저장하도록 구성된 메모리; 및 컴퓨터 판독 가능 명령어를 실행하여 함수를 수행하도록 구성된 하나 이상의 프로세서를 포함하고, 함수는, 입력 데이터에 대한 제1 함수의 수행으로부터 제1 함수의 제1 결과값에 대한 제2 함수의 수행으로의 전환을 위해 제1 데이터양을 결정하는 단계; 상기 제1 결과값에 대한 제2 함수의 수행으로부터 상기 제2 함수의 제2 결과값에 대한 제3 함수의 수행으로의 전환을 위해 제2 데이터양을 결정하는 단계; 상기 제1 함수 및 상기 제3 함수가 구현되는 하나 이상의 네트워크 노드 각각에 대한 처리 용량을 결정하는 단계; 및 제1 데이터양, 제2 데이터양 및 네트워크 노드 각각에 대한 처리 용량에 기초하여 제2 함수를 구현하기 위한 네트워크 노드를 선택하는 단계를 포함한다.
본 개시의 일 양태에서, 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서가 함수를 수행함으로써 네트워크 함수를 구현하기 위해 네트워크 노드를 선택하게 하는 컴퓨터 판독 가능 명령이 저장된 하나 이상의 비-일시적 컴퓨터 판독 가능 매체로서, 함수는, 입력 데이터에 대한 제1 함수의 수행으로부터 제1 함수의 제1 결과값에 대한 제2 함수의 수행으로의 전환을 위해 제1 데이터양을 결정하는 단계; 상기 제1 결과값에 대한 제2 함수의 수행으로부터 상기 제2 함수의 제2 결과값에 대한 제3 함수의 수행으로의 전환을 위해 제2 데이터양을 결정하는 단계; 상기 제1 함수 및 상기 제3 함수가 구현되는 하나 이상의 네트워크 노드 각각에 대한 처리 용량을 결정하는 단계; 및 제1 데이터양, 제2 데이터양 및 네트워크 노드에 각각에 대한 처리 용량에 기초하여 제2 함수를 구현하기 위한 네트워크 노드를 선택하는 단계를 포함한다.
설명
개시된 기술은 워크로드 및 관련 데이터의 클라우드 간 마이그레이션/전환/전송과 관련된 다양한 비용을 감소시킬 뿐만 아니라 기본 워크로드의 효율 및 처리 속도를 증가시키기 위해 상이한 클라우드에 대응하는 네트워크 컴포넌트에 걸친 워크로드(리소스)의 적절한 배치를 결정하기 위한 기술의 필요성을 해결한다.
본 개시는 도 1a 내지 도 1d 및 도 2에 도시된 바와 같이, 분산 스트리밍 시스템을 위해 구현될 수 있는 예시적인 네트워크 환경 및 아키텍처의 설명으로 시작한다.
본 개시는 도 1a 내지 도 1d에 도시된 바와 같이 예시적인 네트워크 환경 및 아키텍처의 설명으로 시작한다.
도 1a는 본 개시의 일 양태에 따른, 예시적인 시스템을 도시한다. 도 1a의 시스템(네트워크)(100)은 제어기(102) 및 분산 스트리밍 시스템(120)을 포함한다. 제어기(102)는 애플리케이션, 소프트웨어 컨테이너, 가상 머신, 서비스 체인, 가상 함수(들) 등일 수 있다. 제어기(102)는 하나 이상의 프로세서(예를 들어, 프로세서(104)), 하나 이상의 메모리(예를 들어, 메모리(106)), 트랜시버(108), 디스플레이 디바이스(디스플레이)(110) 및 입력/출력 디바이스(입력/출력 또는 입력 디바이스)(112)와 같은 컴포넌트를 갖는 하나 이상의 디바이스 또는 서버에서 실행될 수 있다. 프로세서(104)는 도 5-6을 참조하여 후술될 기능들을 수행하기 위해 메모리(106)에 저장된 컴퓨터 판독 가능 명령어를 실행하도록 구성될 수 있다. 본 개시 전체에서, 제어기(102)는 시스템 관리 컴포넌트(102), 관리 디바이스(102), 디바이스(102) 및/또는 시스템 제어기(102)로 지칭될 수 있다.
트랜시버(108)는 제어기(102)가 분산 스트리밍 시스템(120)의 컴포넌트와 같은 외부 컴포넌트와 정보를 송수신할 수 있는 임의의 알려진 또는 개발될 수신기 및 송신기일 수 있다.
네트워크 운영자 및 제어기(운영 관리 컴포넌트)는 후술하는 바와 같이 분산 스트리밍 시스템(120)의 상태 및/또는 운영 관리에 대응하는 데이터를 보기 위해 디스플레이(110)를 사용할 수 있다. 디스플레이(110)는 액정 디스플레이(LCD), 발광 다이오드 디스플레이(LED) 등과 같은 임의의 유형의 알려진 또는 개발될 디스플레이일 수 있다.
입력 디바이스(112)는 키보드, 터치 기반 입력 디바이스 등을 포함하지만 이에 제한되지 않는 임의의 알려진 또는 개발될 입력 디바이스일 수 있다. 일례에서, 디스플레이(110)가 입력을 수신할 수 있는 터치 가능 디바이스인 경우, 디스플레이(110) 및 입력 디바이스(112)는 동일할 수 있다. 네트워크 관리자 및 운영자는 입력 디바이스(112)를 통해 분산 스트리밍 시스템(120)의 모니터링 및 관리를 위한 적절한 명령을 제공할 수 있다.
제어기(102)는 임의의 알려진 또는 개발될 무선 통신 및/또는 유선 통신 수단을 통해 분산 스트리밍 시스템(120)의 다양한 컴포넌트와 통신할 수 있다. 예를 들어, 제어기(102)는 근거리 무선 네트워크(LAN), 가상 근거리 통신망(vLAN) 및/또는 제어기(102)가 분산 스트리밍 시스템(120)의 각 컴포넌트와 통신할 수 있는 알려진 또는 개발될, 임의의 다른 유형의 네트워크와 같은 네트워크를 통해 분산 스트리밍 시스템(120)의 각 컴포넌트에 액세스하고 정보를 얻을 수 (및/또는 정보를 보낼 수) 있다.
일 양상에서, 제어기(102)는 랩탑, 데스크탑 컴퓨터, 모바일 디바이스, 핸드 헬드 디바이스 등을 포함하지만 이에 제한되지 않는 임의의 알려진 또는 개발될 전자 디바이스일 수 있다.
분산 스트리밍 시스템(120)은 컴포넌트(122-1, 122-2, 122-3 및 122-4)와 같은 다양한 컴포넌트가 분산 방식으로 사용자에게 스트리밍 서비스를 제공하기 위해 서로 통신하는 임의의 알려진 또는 개발될 분산 스트리밍 시스템일 수 있다. 이하, 컴포넌트(122-1, 122-2, 122-3 및 122-4)는 간단히 컴포넌트(122) 또는 노드(122)로 지칭될 수 있다. 본 개시 전반에 걸쳐, 분산 스트리밍 시스템(120)이 예로서 제공되지만, 본 개시는 이에 제한되지 않으며, 각각의 정점(vertex)이 정보/메시지를 나타낼 수 있고 정보/메시지가 특정 방향으로 에지를 통과하는 방향성 비순환 그래프(DAG)로 추상화 될 수 있는 임의의 분산 시스템을 포괄하고 적용할 수 있다. 분산 시스템의 다른 예로는 신호가 센서에서 센서로 전파되는 분산 센서 네트워크, 각 컴포넌트가 데이터 청크를 수신 및 처리하여 다음 컴포넌트(들)로 전달하는 다중 컴포넌트 데이터 처리 시스템을 포함한다.
컴포넌트들(122) 각각은 다른 컴포넌트들(122)과 같은 다른 디바이스들과 원격으로 통신할 수 있는 임의의 알려진 또는 개발될 전자 디바이스일 수 있다. 예를 들어, 각 컴포넌트(122)는 모바일 디바이스, 랩탑, 데스크탑 컴퓨터, 스위치, 하나 이상의 서버를 포함하는 데이터 센터 등일 수 있다. 예를 들어, 컴포넌트(122) 중 일부는 최종 사용자 디바이스 또는 호스트일 수 있고, 컴포넌트(122) 중 다른 것들은 분산 스트리밍 시스템(120)에 의해 제공되는 스트리밍 서비스를 용이하게 하는 서버일 수 있다.
또한, 분산 스트리밍 시스템(120)은 시스템의 다른 컴포넌트(최종 사용자 디바이스)에 대한 정보(데이터)의 수집기로서 작용하는 서버(114)를 가질 수 있다. 데이터의 예로는 디바이스 ID, 관련 타임 스탬프, 디바이스 IP 주소, 디바이스 처리량, 디바이스 대기 시간, 메모리 및 처리 속도 특성 등과 같은 디바이스 메트릭이 있다.
일 예에서, 시스템(100)은 컴포넌트(122) 상의 (제어기(102)에 의해 사용될) 다양한 유형의 데이터가 수집 및 저장될 수 있는 하나 이상의 피드백 서버(116)를 더 포함한다. 다른 예에서, 시스템(100)은 어떠한 피드백 서버도 포함하지 않고, 대신에 각 컴포넌트(122)로부터 (아래에 설명될) 의도된 데이터를 (푸쉬 또는 풀 동작을 통해) 직접 수신할 수 있다.
특정 컴포넌트가 시스템(100)의 일부로서 도시되어 있지만, 시스템(100)은 이에 제한되지 않으며 클라이언트 및 최종 사용자에게 서비스를 제공하기 위한 임의의 다른 유형의 컴포넌트(예를 들어, 추가 서버, 액세스 포인트, 센서 등)를 포함할 수 있다.
분산 스트리밍 시스템(120)은 클라우드 기반 시스템일 수 있으며, 이의 각 컴포넌트는 상이한 지리적 위치에 위치하지만 서로 통신하여 분산 스트리밍 시스템(120)을 (예를 들어, 인터넷을 통해) 형성할 수 있다.
분산 스트리밍 시스템(120)을 통해 제공되는 스트리밍 서비스의 예는 스피치, 콘서트, TV 프로그램, 음악 등과 같은 라이브 비디오 및/또는 오디오 콘텐츠를 포함할 수 있지만, 이에 제한되지는 않는다. 이러한 예는 신호, 이미지 및 비디오 처리 응용 프로그램 및 서비스와 같은 다른 많은 예와 함께 데이터 집약적 서비스 또는 워크로드로 지칭될 수 있다. 도 1a의 시스템(100)은 클라이언트/서버 기반 아키텍처를 이용할 수 있다. 다른 예로서, 시스템(100)은 클라우드 또는 포그 컴퓨팅 아키텍처로서 구현될 수 있다.
최종 사용자에게 스트리밍 서비스를 전달하기 위한 분산 스트리밍 시스템(120)의 동작은 예를 들어, 실시간 또는 거의 실시간 또는 주기적으로 텍스트, 그래프, 비디오, 오디오, 시계열 데이터 등의 스트림을 연속적으로 처리하기 위한 임의의 알려진 또는 개발될 방법에 기초할 수 있다.
도 1b는 예시적인 클라우드 컴퓨팅 아키텍처(네트워크)(130)의 도면을 도시한다. 아키텍처는 클라우드(132)를 포함할 수 있다. 클라우드(132)는 하나 이상의 프라이빗 클라우드, 퍼블릭 클라우드 및/또는 하이브리드 클라우드를 포함할 수 있다. 또한, 클라우드(132)는 클라우드 요소(134-144)를 포함할 수 있다. 클라우드 요소(134-144)는 예를 들어 서버(134), 가상 머신(VM)(136), 하나 이상의 소프트웨어 플랫폼(138), 애플리케이션 또는 서비스(140), 소프트웨어 컨테이너(142) 및 인프라 스트럭처 노드(144)를 포함할 수 있다. 인프라 스트럭처 노드(144)는 컴퓨팅 노드, 스토리지 노드, 네트워크 노드, 관리 시스템 등과 같은 다양한 유형의 노드를 포함할 수 있다. 일 예에서, 하나 이상의 서버(134)는 후술될 제어기(102)의 기능을 구현할 수 있다. 또는, 제어기(102)는 분산 스트리밍 시스템(120)과 유사한 분산 스트리밍 시스템으로서 기능하는 클라우드 컴퓨팅 아키텍처(130)의 컴포넌트와 통신하는 별도의 컴포넌트일 수 있다.
클라우드(132)는 서비스형 소프트웨어(SaaS)(예를 들어, 협업 서비스, 이메일 서비스, 엔터프라이즈 리소스 계획 서비스, 컨텐츠 서비스, 통신 서비스 등), 서비스형 인프라스트럭처(IaaS)(예를 들어, 보안 서비스, 네트워킹 서비스, 시스템 관리 서비스 등), 서비스형 플랫폼(PaaS)(예를 들어, 웹 서비스, 스트리밍 서비스, 응용 프로그램 개발 서비스 등), 서비스형 함수(FaaS) 및, 서비스형 데스크탑(DaaS), 서비스형 IT 관리(ITaaS), 서비스형 관리된(managed) 소프트웨어(MSaaS), 서비스로서의 모바일 백엔드(MBaaS) 등과 같은 다른 서비스 유형과 같은, 클라우드 엘리먼트(134-144)를 통해 다양한 클라우드 컴퓨팅 서비스를 제공할 수 있다.
클라이언트 엔드 포인트(146)는 클라우드(132)와 연결하여 클라우드(132)로부터 하나 이상의 특정 서비스를 얻을 수 있다. 클라이언트 엔드 포인트(146)는 하나 이상의 공용 네트워크(예를 들어, 인터넷), 개인 네트워크 및/또는 하이브리드 네트워크(예를 들어, 가상 개인 네트워크)를 통해 엘리먼트(134-144)와 통신할 수 있다. 클라이언트 엔드 포인트(146)는 랩탑 컴퓨터, 태블릿 컴퓨터, 서버, 데스크탑 컴퓨터, 스마트 폰, 네트워크 디바이스(예를 들어, 액세스 포인트, 라우터, 스위치 등), 스마트 텔레비전, 스마트 카, 센서, GPS 디바이스, 게임 시스템, 스마트 웨어러블 오브젝트(예를 들어, 스마트 워치 등), 소비자 오브젝트(예를 들어, 인터넷 냉장고, 스마트 조명 시스템 등), 도시 또는 교통 시스템(예를 들어, 교통 통제, 요금 징수 시스템 등), 사물 인터넷(IoT) 디바이스, 카메라, 네트워크 프린터, 운송 시스템(예를 들어, 비행기, 기차, 오토바이, 보트 등) 또는 모든 스마트 또는 연결된 오브젝트(예를 들어, 스마트 홈, 스마트 빌딩, 스마트 소매점, 스마트 안경 등) 등과 같이 네트워킹 능력을 갖는 임의의 디바이스를 포함할 수 있다.
도 1c는 예시적인 포그 컴퓨팅 아키텍처(네트워크)(150)의 도면을 도시한다. 포그 컴퓨팅 아키텍처(150)는 클라우드(132) 및 임의의 다른 클라우드 시스템 또는 환경을 포함하는 클라우드 계층(154), 포그 노드(162))를 포함하는 포그 계층(156) 및 클라이언트 엔드 포인트(146)를 포함할 수 있다. 클라이언트 엔드 포인트(146)는 클라우드 계층(154) 및/또는 포그 계층(156)과 통신할 수 있다. 아키텍처(150)는 클라우드 계층(154), 포그 계층(156) 및 클라이언트 엔드 포인트(146) 사이의 하나 이상의 통신 링크(152)를 포함할 수 있다. 통신은 클라우드 계층(154) 및/또는 클라이언트 엔드 포인트(146)로 흐를 수 있다.
일 예에서, 하나 이상의 서버(134)는 후술할 제어기(102)의 기능을 구현할 수 있다. 또는, 제어기(102)는 분산 스트리밍 시스템(120)과 유사한 분산 스트리밍 시스템으로서 기능하는 포그 컴퓨팅 아키텍처(150)의 컴포넌트와 통신하는 별도의 컴포넌트일 수 있다.
포그 계층(156) 또는 "포그"는 전통적인 클라우드 네트워크의 계산, 저장 및 네트워킹 능력을 제공하지만 엔드 포인트에 더 가깝다. 포그는 따라서 클라우드(132)를 클라이언트 엔드 포인트(146)에 더 가깝게 확장할 수 있다. 포그 노드(162)는 포그 네트워크의 물리적 구현일 수 있다. 또한, 포그 노드(162)는 로컬 또는 지역 서비스 및/또는 클라이언트 엔드 포인트(146)에 대한 연결성을 제공할 수 있다. 결과적으로, 트래픽 및/또는 데이터는 클라우드(132)로부터 포그 계층(156)으로 (예를 들어, 포그 노드(162)를 통해) 오프로드 될 수 있다. 포그 계층(156)은 더 짧은 대기 시간으로 더 빠른 서비스 및/또는 클라이언트 엔드 포인트(146)에 대한 연결성을 제공할 수 있을 뿐만 아니라 데이터를 로컬 또는 지역 네트워크(들) 내에 유지함으로써 보안 이점과 같은 또다른 이점을 제공할 수 있다.
포그 노드(162)는 서버, 스위치, 라우터, 제어기, 카메라, 액세스 포인트, 키오스크, 게이트웨이 등과 같은 임의의 네트워크 컴퓨팅 디바이스를 포함할 수 있다. 또한, 포그 노드(162)는 공장 바닥, 전봇대, 철도변, 차량, 석유 굴착 장치, 공항, 항공기, 쇼핑 센터, 병원, 공원, 주차장, 도서관 등과 같이 네트워크 연결을 갖는 어디든지 배치될 수 있다.
일부 구성에서, 하나 이상의 포그 노드(162)가 포그 인스턴스(158, 160) 내에 배치될 수 있다. 포그 인스턴스(158 및 160)는 로컬 또는 지역 클라우드 또는 네트워크일 수 있다. 예를 들어, 포그 인스턴스(158 및 160)는 지역 클라우드 또는 데이터 센터, 근거리 통신망, 포그 노드(162)의 네트워크 등일 수 있다. 일부 구성에서, 하나 이상의 포그 노드(162)는 예를 들어 네트워크 내에 또는 독립형 또는 개별 노드로서 배치될 수 있다. 또한, 하나 이상의 포그 노드(162)는 예를 들어 스타, 링, 메시 또는 계층적 배열을 포함하는 다양한 토폴로지로링크(164)를 통해 서로 상호 연결될 수 있다.
일부 경우에, 하나 이상의 포그 노드(162)는 이동 포그 노드일 수 있다. 이동 포그 노드는 클라우드 계층(154) 및/또는 엔드 포인트(146)와의 연결성을 유지하면서 다른 지리적 위치, 논리적 위치 또는 네트워크, 및/또는 포그 인스턴스로 이동할 수 있다. 예를 들어, 특정 포그 노드는 하나의 지리적 위치 및/또는 논리적 위치에서 다른 지리적 위치 및/또는 논리적 위치로 이동할 수 있는 항공기 또는 기차와 같은 이동 수단에 배치될 수 있다. 이 예에서, 특정 포그 노드는 시작 위치에 위치하면서 클라우드 계층(154)과 특정 물리적 및/또는 논리적 연결점에 연결될 수 있고 목적지 위치에 있는 동안 클라우드 계층(154)과 다른 물리적 및/또는 논리적 연결점으로 전환한다. 따라서 특정 포그 노드는 특정 클라우드 및/또는 포그 인스턴스 내에서 이동할 수 있으므로 다른 시간에 다른 위치에서 엔드 포인트에 기능을 제공한다.
도 1d는 예시적인 네트워크 아키텍처(네트워크)(180)의 개략적인 블록도를 도시한다. 일부 경우에, 아키텍처(180)는 클라우드(132)를 지원 및/또는 호스팅 할 수 있는 데이터 센터를 포함할 수 있다. 또한, 아키텍처(180)는 네트워크 패브릭(182) 내의 리프(186A, 186B, 186C, …, 186N)(통칭하여 "리프(186))")에 연결된 스파인(184A, 184B, …, 184N)(통칭하여 "스파인(184))"을 갖는 네트워크 패브릭(182)을 포함한다. 스파인(184) 및 리프(186)는 스위치 또는 라우터와 같은 레이어 2 및/또는 레이어 3 디바이스일 수 있다. 명확성을 위해, 이들은 본 명세서에서 스파인 스위치(184) 및 리프 스위치(186)로 지칭될 것이다.
스파인 스위치(184)는 패브릭(182)의 리프 스위치(186)에 연결된다. 리프 스위치(186)는 액세스 포트(또는 비-패브릭 포트) 및 패브릭 포트를 포함할 수 있다. 패브릭 포트는 스파인 스위치(182)에 대한 업 링크를 제공할 수 있는 반면, 액세스 포트는 디바이스, 호스트, 엔드 포인트, VM 또는 외부 네트워크의 패브릭(182)에 대한 연결성을 제공할 수 있다.
리프 스위치(186)는 패브릭(182)과 테넌트 또는 고객 공간 사이의 경계에 존재할 수 있다. 리프 스위치(186)는 테넌트 패킷을 라우팅 및/또는 브리지하고 네트워크 정책을 적용할 수 있다. 경우에 따라 리프 스위치는 매핑 캐시 구현, 캐시 누락이 있을 때 프록시 함수로 패킷 보내기, 패킷 캡슐화, 수신 또는 송신 정책 시행 등과 같은 하나 이상의 추가 함수를 수행할 수 있다.
또한, 리프 스위치(186)는 가상 터널 엔드 포인트(VTEP) 함수와 같은 가상 스위칭 및/또는 터널링 기능을 포함할 수 있다. 따라서, 리프 스위치(186)는 패브릭(182)을 오버레이(예를 들어, VXLAN 네트워크)에 연결할 수 있다.
패브릭(182)에서의 네트워크 연결은 리프 스위치(186)를 통해 흐를 수 있다. 리프 스위치(186)는 서버, 리소스, 엔드 포인트, 외부 네트워크, 컨테이너 또는 VM이 패브릭(182)에 액세스 할 수 있도록 하고 리프 스위치(186)를 서로 연결할 수 있다. 리프 스위치(186)는 애플리케이션 및/또는 엔드 포인트 그룹("EPG")을 패브릭(182)의 내부 또는 외부의 다른 리소스 및 외부 네트워크에 연결할 수 있다.
엔드 포인트(192A-D)(통칭하여 "엔드 포인트(192)")는 리프 스위치(186)를 통해 패브릭(182)에 연결될 수 있다. 예를 들어, 엔드 포인트(192A 및 192B)는 엔드 포인트(192A 및 192B)를 패브릭(182) 및/또는 리프 스위치(186) 중 임의의 다른 것에 연결할 수 있는 리프 스위치(186A)에 직접 연결될 수 있다. 유사하게, 제어기(102)(도 1a를 참조하여 전술한 제어기(102)와 동일할 수 있음)는 리프 스위치(186C)에 직접 연결될 수 있고, 이는 제어기(102)를 패브릭(182) 및/또는 다른 리프 스위치(186)에 연결할 수 있다. 한편, 엔드 포인트(192C 및 192D)는 네트워크를 통해 리프 스위치(186A 및 186B)에 연결될 수 있다. 또한, 광역 통신망(WAN)(190)은 리프 스위치(186N)에 연결될 수 있다.
엔드 포인트(192)는 컴퓨터, 서버, 클러스터, 스위치, 컨테이너, VM, 가상 애플리케이션 등과 같은 임의의 통신 디바이스 또는 리소스를 포함할 수 있다. 일부 경우에, 엔드 포인트(192)는 오버레이 네트워크를 패브릭(182)과 연결하는 가상 터널 엔드 포인트 기능으로 구성된 서버 또는 스위치를 포함할 수 있다. 예를 들어, 일부 경우에, 엔드 포인트(192)는 가상 터널 엔드 포인트 성능을 가지며, 가상 환경(예를 들어, 하이퍼 바이저, 가상 머신(들), 컨테이너 등)을 구동하는 함수를 갖는 호스트(예를 들어, 서버)를 나타낼 수 있다. 엔드 포인트(192)와 관련된 오버레이 네트워크는 서버; 애플리케이션; EPG; 가상 세그먼트; 가상 워크로드; 등과 같은 물리적 디바이스를 호스팅 할 수 있다. 마찬가지로, 엔드 포인트(192)는 또한 가상 워크로드 및 애플리케이션을 호스팅 할 수 있으며, 이는 패브릭(182) 또는 외부 네트워크를 포함하는 임의의 다른 디바이스 또는 네트워크와 연결될 수 있다.
도 2는 본 개시의 일 양태에 따른 멀티 클라우드 환경을 도시한다. 멀티 클라우드 환경(200)은 제1 클라우드 환경(205), 제2 클라우드 환경(210), 제3 클라우드 환경(215) 및 클라이언트 엔드 포인트(146)를 포함한다. 제1 클라우드 환경(205), 제2 클라우드 환경(210) 및 제3 클라우드 환경(215) 각각은 도 1a 내지 도 1d를 참조하여 전술한 클라우드(132)와 동일할 수 있다. 또한, 제1 클라우드 환경(205), 제2 클라우드 환경(210) 및 제3 클라우드 환경(215) 각각은 하나 이상의 클라우드 엘리먼트(132)(예를 들어, 도 1b를 참조하여 전술한 바와 같은, 서버(134), VM(136), 소프트웨어 플랫폼(138), 애플리케이션(140), 컨테이너(142) 및 인프라 스트럭처 노드(144))를 가질 수 있다.
또한, 제1 클라우드 환경(205), 제2 클라우드 환경(210) 및 제3 클라우드 환경(215) 각각은 별개의 지리적 위치에 위치될 수 있고/있거나 다른 클라우드 서비스 제공자에 의해 운영될 수 있다.
클라이언트 엔드 포인트(146)는 도 1a-d를 참조하여 전술한 것과 동일하므로, 간결성을 위해 더 이상 설명하지 않을 것이다. 하나 이상의 클라이언트 엔드 포인트 (또는 제1 클라우드 환경(205), 제2 클라우드 환경(210) 및 제3 클라우드 환경(215)의 다른 컴포넌트)에 의해 요청될 때 다양한 유형의 워크로드가 처리를 위해 제1 클라우드 환경(205), 제2 클라우드 환경(210) 및 제3 클라우드 환경(215) 중 하나 이상에서 수신될 수 있다.
후술될 바와 같이, 클라이언트 엔드 포인트 및/또는 다른 클라우드 네트워크 컴포넌트가 요청한 워크로드의 일부로 제공되는 다양한 애플리케이션 프로세스 및 서비스는 제1 클라우드 환경(205), 제2 클라우드 환경(210) 및 제3 클라우드 환경(215) 중 동일한 하나의 컴포넌트에 의해 또는 제1 클라우드 환경(205), 제2 클라우드 환경(210) 및 제3 클라우드 환경(215) 중 다른 것에 위치한 상이한 컴포넌트에 의해 제공될 수 있다. 따라서, 요청된 서비스 또는 워크로드의 일부로 기본 데이터에 대한 한 프로세스(함수)에서 다음 프로세스로 이동할 때, 여러 클라우드 환경에서 하나의 네트워크 컴포넌트에서 다음 네트워크 컴포넌트로의 데이터 전환/마이그레이션과 연관된 비용이 감소/최소화되도록 다음 함수나 프로세스를 수행할 클라우드 환경(이러한 클라우드 환경의 네트워크 컴포넌트)을 결정할 필요가 있다. 이는 도 5 및 도 6을 참조하여 더 설명될 것이다.
일 예에서 그리고 도 2에 도시되지는 않았으나, 제1 클라우드 환경(205), 제2 클라우드 환경(210) 및 제3 클라우드 환경(215) 중 하나 이상에서 구현될 수 있는 네트워크 제어기는 멀티 클라우드 간의 워크로드 분배를 관리하고 요청된 워크로드 및 프로세스의 일부로 수행될 함수/프로세스 체인에서 각 함수의 목적지를 판별하도록 구성될 수 있다. 이러한 제어기는 예를 들어, 도 1a를 참조하여 전술한 제어기(102)와 동일할 수 있다.
도 2는 3 개의 상이한 클라우드 환경을 도시하지만, 본 개시는 이에 제한되지 않으며 다양한 함수가 수행되는 클라우드 환경의 수가 더 많거나 적을 수 있다.
도 3은 본 개시의 한 양태에 따른, 스위칭, 라우팅, 로드 밸런싱 및 다른 네트워킹 동작을 수행하기에 적합한 예시적인 네트워크 디바이스를 도시한다. 일 예에서, 네트워크 디바이스(300)는 도 1a의 제어기(102) 및/또는 컴포넌트(122) 중 임의의 하나일 수 있다. 네트워크 디바이스(300)는 중앙 처리 장치(CPU)(304), 인터페이스(302) 및 버스(310)(예를 들어, PCI 버스)를 포함한다. 적절한 소프트웨어 또는 펌웨어의 제어 하에 동작할 때, CPU(304)는 패킷 관리, 에러 검출 및/또는 라우팅 기능을 실행하는 역할을 한다. CPU(304)는 바람직하게는 운영 체제 및 임의의 적절한 애플리케이션 소프트웨어를 포함하는 소프트웨어의 제어 하에 이러한 모든 기능을 달성한다. CPU(304)는 INTEL X86 패밀리의 마이크로 프로세서로부터의 프로세서와 같은 하나 이상의 프로세서(308)를 포함할 수 있다. 일부 경우에, 프로세서(308)는 네트워크 디바이스(300)의 동작을 제어하기 위해 특별히 설계된 하드웨어일 수 있다. 일부 경우에, 메모리(306)(예를 들어, 비 휘발성 RAM, ROM 등)는 또한 CPU(304)의 일부를 형성한다. 그러나 메모리를 시스템에 연결될 수 있는 다양한 방법이 있다.
인터페이스(302)는 전형적으로 모듈식 인터페이스 카드(때때로 "라인 카드"로 지칭됨)로서 제공된다. 일반적으로, 이들은 네트워크를 통한 데이터 패킷의 송수신을 제어하고 때로는 네트워크 디바이스(300)와 함께 사용되는 다른 주변 디바이스를 지원한다. 제공될 수 있는 인터페이스 중에는 이더넷 인터페이스, 프레임 릴레이 인터페이스, 케이블 인터페이스, DSL 인터페이스, 토큰 링 인터페이스 등이 있다. 또한, 고속 토큰 링 인터페이스, 무선 인터페이스, 이더넷 인터페이스, 기가비트 이더넷 인터페이스, ATM 인터페이스, HSSI 인터페이스, POS 인터페이스, FDDI 인터페이스, WIFI 인터페이스, 3G/4G/5G 셀룰러 인터페이스, CAN BUS, LoRA 등과 같은 다양한 초고속 인터페이스가 제공될 수 있다. 일반적으로 이러한 인터페이스에는 적절한 매체와 통신하기에 적합한 포트가 포함될 수 있다. 경우에 따라 독립 프로세서 및 경우에 따라 휘발성 RAM이 포함될 수도 있다. 독립 프로세서는 패킷 교환, 미디어 제어, 신호 처리, 암호화 처리 및 관리와 같은 통신 집약적인 작업을 제어할 수 있다. 통신 집약적인 작업을 위한 별도의 프로세서를 제공함으로써, 이러한 인터페이스는 마스터 마이크로 프로세서(304)가 라우팅 계산, 네트워크 진단, 보안 기능 등을 효율적으로 수행할 수 있게 한다.
도 3에 도시된 시스템은 본 발명의 하나의 특정 네트워크 디바이스이지만, 본 발명이 구현될 수 있는 유일한 네트워크 디바이스 구조는 아니다. 예를 들어, 통신 및 라우팅 계산 등을 처리하는 단일 프로세서를 가진 아키텍처가 종종 사용된다. 또한, 다른 유형의 인터페이스 및 매체가 네트워크 디바이스(300)와 함께 사용될 수도 있다.
네트워크 디바이스의 구성에 관계없이, 본 명세서에 기술된 로밍, 경로 최적화 및 라우팅 기능을 위한 범용 네트워크 동작 및 메커니즘을 위한 프로그램 명령을 저장하도록 구성된 하나 이상의 메모리 또는 메모리 모듈(메모리(306)를 포함함)을 사용할 수 있다. 프로그램 명령은 예를 들어 운영 체제 및/또는 하나 이상의 애플리케이션의 동작을 제어할 수 있다. 메모리 또는 메모리들은 또한 이동성 바인딩, 레지스트레이션 및 연관 테이블 등과 같은 테이블을 저장하도록 구성될 수 있다. 메모리(306)는 또한 다양한 소프트웨어 컨테이너 및 가상화 된 실행 환경 및 데이터를 보유할 수 있다.
네트워크 디바이스(300)는 또한 라우팅 및/또는 스위칭 동작을 수행하도록 구성될 수 있는 주문형 집적 회로(ASIC)를 포함할 수 있다. ASIC은 버스(310)를 통해 네트워크 디바이스(300)의 다른 컴포넌트와 통신하여, 데이터 및 신호를 교환하고, 예를 들어 라우팅, 스위칭 및/또는 데이터 저장 동작과 같은 네트워크 디바이스(300)에 의한 다양한 유형의 동작을 조정할 수 있다.
도 4는 본 개시의 일 양태에 따른, 컴퓨팅 시스템 아키텍처를 도시한다. 도 4에 도시된 바와 같이, 시스템(400)의 컴포넌트는 버스와 같은 커넥터(405)를 사용하여 서로 전기적으로 통신한다. 예시적인 시스템(400)은 처리 유닛(CPU 또는 프로세서)(410) 및 시스템 메모리(415), 판독 전용 메모리(ROM)(320) 및 랜덤 액세스 메모리(RAM)(425)를 포함하는 다양한 시스템 컴포넌트를 프로세서(410)에 결합하는 커넥터(405)를 포함한다. 시스템(400)은 프로세서(410)와 직접 연결되거나, 근접하거나 또는 프로세서(410)의 일부로서 통합된 고속 메모리의 캐시(412)를 포함할 수 있다. 시스템(400)은 프로세서(410)에 의한 빠른 액세스를 위해 메모리(415) 및/또는 저장 디바이스(430)로부터 캐시(412)로 데이터를 복사할 수 있다. 이러한 방식으로, 캐시(412)는 데이터를 기다리는 동안의 프로세서(410)의 지연을 피하는 성능 향상을 제공할 수 있다. 이들 및 다른 모듈은 다양한 동작을 수행하도록 프로세서(410)를 제어하거나 제어하도록 구성될 수 있다. 다른 시스템 메모리(415)도 사용 가능할 수 있다. 메모리(415)는 상이한 성능 특성을 갖는 다수의 상이한 유형의 메모리를 포함할 수 있다. 프로세서(410)는 프로세서(410)를 제어하도록 구성된, 임의의 범용 프로세서 및 저장 디바이스(430)에 저장된 서비스 1(432), 서비스 2(434) 및 서비스 3(436)과 같은 소프트웨어 또는 하드웨어 서비스를 포함할 수 있을 뿐만 아니라, 소프트웨어 명령이 실제 프로세서 설계에 통합되는 특수 목적 프로세서도 포함할 수 있다. 프로세서(410)는 다수의 코어 또는 프로세서, 버스, 메모리 제어기, 캐시 등을 포함하는 완전히 독립적인 컴퓨팅 시스템일 수 있다. 멀티-코어 프로세서는 대칭 또는 비대칭일 수 있다.
컴퓨팅 디바이스(400)와의 사용자 상호 작용을 가능하게 하기 위해, 입력 디바이스(445)는 음성용 마이크로폰, 제스처 또는 그래픽 입력용 터치 감지 스크린, 키보드, 마우스, 모션 입력, 스피치 등과 같은 임의의 수의 입력 메커니즘을 나타낼 수 있다. 출력 디바이스(435)는 또한 당업자에게 알려진 다수의 출력 메커니즘 중 하나 이상일 수 있다. 일부 예에서, 멀티 모달 시스템은 사용자가 컴퓨팅 디바이스(400)와 통신하기 위해 다수 유형의 입력을 제공할 수 있게 한다. 통신 인터페이스(440)는 일반적으로 사용자 입력 및 시스템 출력을 제어 및 관리 할 수 있다. 특정 하드웨어 구성에서 작동하는 것에 대한 제한이 없으며, 따라서 본 명세서에서의 기본 특징은 개선된 하드웨어 또는 펌웨어 구성이 개발되어도 쉽게 대체될 수 있다.
저장 디바이스(430)는 비-휘발성 메모리이고, 하드 디스크 또는 자기 카세트, 플래시 메모리 카드, 솔리드 스테이트 메모리 디바이스, 디지털 다용도 디스크(DVD), 카트리지, 랜덤 액세스 메모리(RAMs)(425), 판독 전용 메모리(ROM)(420) 및 이들의 하이브리드와 같이 컴퓨터에 의해 액세스 가능한 데이터를 저장할 수 있는 다른 유형의 컴퓨터 판독 가능 매체일 수 있다.
저장 디바이스(430)는 프로세서(410)를 제어하기 위한 서비스(432, 434, 436)를 포함할 수 있다. 다른 하드웨어 또는 소프트웨어 모듈이 고려된다. 저장 디바이스(430)는 커넥터(405)에 연결될 수 있다. 일 양태에서, 특정 함수를 수행하는 하드웨어 모듈은 함수를 수행하기 위해, 프로세서(410), 커넥터(405), 디스플레이(435) 등과 같은, 필요한 하드웨어 컴포넌트와 관련되어 컴퓨터 판독 가능 매체에 저장된 소프트웨어 컴포넌트를 포함할 수 있다.
전술한 바와 같이, 데이터 집약적 워크로드(예를 들어, 로그 처리 워크로드)에 대해, 기본 데이터에 대해 수행될 몇몇 함수가 있을 수 있다. 예를 들어, 로그 처리 워크로드에서 머신 로그를 수신하고 특정 형식으로 변환하는 제1 함수를 수행(perform)(이행(implement), 수행(carry out) 등) 할 수 있다. 제1 함수는 변환 함수라고 할 수 있다. 변환된 머신 로그를 분석하기 위한 제2 함수가 수행될 수 있으며, 분석은 필터링, 패턴 인식 등을 포함할 수 있다. 제2 함수는 분석 함수로 지칭될 수 있다. 분석된 머신 로그를 출력하고 저장하기 위해 제3 함수를 수행할 수 있다. 제3 함수는 출력 또는 저장 함수라고 할 수 있다.
일 시나리오에서, 제1 함수는 도 2의 클라우드 환경(205)(또는 대안적으로 클라우드 환경(210) 및 클라우드 환경(215) 중 하나)에서 수행된다. 그런 다음 제1 함수와 동일한 클라우드 환경 또는 다른 클라우드 환경에서 제3 함수를 수행할 수 있다. 본 개시는 데이터 마이그레이션(예를 들어, 위의 예에서 변환된 머신 로그)에 관한 비용이 최소화되도록 중간 함수(제2 함수)가 수행될 클라우드 환경을 결정하는 것에 관한 것이다(예를 들어, 제2 함수가 제1 함수 및/또는 제3 함수와 동일한 클라우드 환경에서 수행되는지 또는 대안적으로 다른 클라우드 환경에서 수행되는지). 이 프로세스는 멀티 클라우드 환경에서 워크로드 배치 프로세스 또는 멀티 클라우드 환경에서 함수 배치 프로세스라고 할 수 있다.
일 예에서, 특정 클라우드 환경에서 함수를 수행하는 것은 특정 클라우드 환경의 일부인 네트워크 노드에서 함수를 수행하는 것을 포함한다.
이하, 도 5 및 도 6을 참조하여 멀티 클라우드 환경에서 워크로드 배치를 위한 프로세스를 설명한다.
도 5는 본 개시의 일 양태에 따른, 멀티 클라우드 환경에서의 워크로드 배치 방법을 도시한다. 도 5는 도 1a의 제어기(시스템 관리 컴포넌트)(102)의 관점에서 설명될 것이다. 그러나 프로세서(104)와 같은 제어기(102)의 하나 이상의 프로세서는 도 5의 기능 및 프로세스를 수행하기 위해 하나 이상의 프로세서를 특수 목적 프로세서(들)로 변환하기 위해 메모리(106)와 같은 하나 이상의 메모리에 저장된 컴퓨터 판독 가능 명령어를 실행한다는 것을 이해할 것이다.
S500에서, 제어기(102)는 특정 함수 세트가 구현될 수신 데이터(예를 들어, 기본 데이터)의 표시(indication)를 수신한다. 예를 들어, 제어기(102)는 수신 데이터가 처리를 위해 소스 함수(예를 들어, 전술한 예의 변환 함수)로 전송될 것임을 나타내는 표시를 데이터 소스로부터 수신한다. 데이터 소스는 소스 함수가 구현되는 네트워크 노드에 통신 가능하게 연결될 수 있으며, 예를 들어 데이터베이스, 네트워크 게이트웨이, 데이터 스트림 파이프 라인, 하나 이상의 클라이언트 엔드 포인트(예를 들어, 클라이언트 엔드 포인트(146)) 등일 수 있다. 다른 예에서, 제어기(102)는 소스 함수가 구현된 네트워크 노드로부터 표시를 수신할 수 있고, 네트워크 노드는 수신 데이터가 데이터 소스로부터 네트워크 노드에서 수신되었다는 것을 나타내는 표시를 전송한다.
이 데이터는 또한 워크로드 데이터로 지칭될 수 있다. 워크로드 데이터는 예를 들어 위에서 설명한 예의 머신 로그일 수 있다.
S502에서, 제어기(102)는 워크로드 데이터에 대해 수행될 함수를 식별한다. 이들 함수는 예를 들어, 전술한 예의 변환 함수, 분석 함수 및 출력 또는 저장 함수일 수 있다. 이하, 제1 함수를 소스 함수(Sc)이라고 하고, 제2 함수를 중간 함수(f(x))이라고 하고, 제3 함수를 싱크 함수(Si)라고도 한다.
S504에서, 제어기(102)는 제1 함수를 수행하기 위해 S500의 워크로드 데이터를 클라우드 환경(예를 들어, 클라우드 환경의 네트워크 노드)으로 전송하도록 데이터 소스를 구성한다. 예를 들어, 제1 함수가 클라우드 환경(205)에서 애플리케이션(140)에 의해 구현되는 경우, 제어기(102)는 S500의 워크로드 데이터를 클라우드 환경(205)으로, 보다 구체적으로는 애플리케이션(140)을 구현하는 클라우드 환경(205)의 서버(134)로 전송하도록 데이터 소스를 지시하는 명령을 데이터 소스로 전송할 수 있다.
워크로드 데이터에 대한 제1 함수의 수행시, S506에서, 제어기(102)는 제1 함수와 제2 함수 사이(소스 함수와 중간 함수 사이)의 데이터 트래픽의 평균량을 결정한다. 이 데이터 트래픽의 평균량을 제1 데이터양이라고 한다.
일 예에서, 소스 함수 Sc와 중간 함수 f(x) 사이의 제1 데이터양은 w(Sc, f(x))로 표현된다. 제1 데이터양의 값은 예를 들어 초당 메시지로 표현될 수 있다. 제어기(102)는 임의의 알려진 또는 개발될 방법에 따라 제1 데이터양을 결정한다.
S508에서, 제어기(102)는 제2 함수와 제3 함수 사이(중간 함수와 싱크 함수 사이)의 데이터 트래픽의 평균량을 결정한다. 이 데이터 트래픽의 평균량은 제2 데이터양으로 지칭될 수 있다.
일 예에서, 중간 함수 f(x)와 싱크 함수 Si 사이의 제2 데이터양은 w(f(x), Si)로 표현된다. 제2 데이터양의 값은 예를 들어 초당 메시지로 표현될 수 있다. 제어기(102)는 임의의 알려진 또는 개발될 방법에 따라 제2 데이터양을 결정한다.
S510에서, 제어기(102)는 제1 함수 Sc 및 제3 함수 Si가 동일한 클라우드 환경에 있는지 여부를 결정한다(예를 들어, 클라우드 환경들(205, 210 또는 215)중 동일한 것에 속하는 네트워크 노드(들)에서 수행되는지).
S510에서, 제어기(102)가 제1 함수 Sc와 제3 함수 Si가 동일한 클라우드 환경에 있다고 결정하면, S512에서, 제어기(102)는 제1 함수 Sc 및 제3 함수 Si가 구현되는 동일한 클라우드 환경의 용량을 결정한다. 용량은 클라우드 환경(또는 동일한 클라우드 환경의 해당 네트워크 노드 용량)의 처리 용량일 수 있다. 이 용량은 CR_k로 표현될 수 있다. 여기서 k는 특정 클라우드 환경을 식별하는 색인이다(예를 들어, k는 도 2의 클라우드 환경(205, 210 및 215) 중 하나에 대응하는 205, 210 및 215 일 수 있음).
S514에서, 제어기(102)는 CR_k가 제1 데이터양(w(Sr, f(x)) 및 제2 데이터양(w(f(x), Si))의 최소값 이상인지 여부를 결정한다. 일례에서, CR_k가 제1 데이터양 및 제2 데이터양의 최소값 이상이어야 한다는 요건은 클라우드 제공자와 워크로드 프로세스가 수행되는 해당 클라이언트 간의 특정 서비스 레벨 계약(SLA)이 충족되는 함수가 실행되도록 보장한다.
S514에서, 제어기(102)가 CR_k가 제1 데이터양 및 제2 데이터양의 최소값 이상이라고 결정하면, S516에서, 제어기(102)는 소스 함수(Sc) 및 싱크 함수(Si)가 구현되는 것과 동일한 클라우드 환경(예를 들어, 클라우드 환경 205, 210 및 215 중 하나)에서 중간 함수(제2 함수(f(x))가 수행/구현될 것으로 결정한다. 그 후, 이하에 더 설명하는 바와 같이 프로세스는 S532 및 S534로 진행된다.
그러나, S514에서, 제어기(102)가 CR_k가 제1 데이터양 및 제2 데이터양의 최소값보다 작다고 결정하면, S518에서, 제어기(102)는 제2 함수를 구현하기 위해 다른 클라우드 환경을 선택한다. 이 선택된 클라우드 환경은 선택된 포인트 오브 딜리버리(POD)라고도 한다. 일례로, S518에서 선택된 클라우드 환경은 두 가지 조건을 만족하는 클라우드 환경이다. 제1 조건은 선택된 클라우드 환경의 해당 CR_k가 제1 데이터양 및 제2 데이터양의 최소값 이상이어야 한다는 것이다. 제2 조건은 제1 함수가 구현된 클라우드 환경(C_Sc)으로부터 제2 함수가 구현될 선택된 클라우드 환경(C_f(x))으로 제1 함수의 산출값(제1 함수의 결과값)을 마이그레이션(전환)하는 비용(비용의 합계, 총 비용 등)(비용 함수는 C(C_Sc, C_f(x))로 표현될 수 있음) 및 제2 함수가 구현된 클라우드 환경(C_f(x))으로부터 제3 함수(C_Si)가 구현된 클라우드 환경으로 제2 함수의 산출값(제2 함수의 결과값)을 마이그레이션(전환)하는 비용(비용 함수는 C(C_f(x), C_Si)로 표현될 수 있음)이, C_Sc로부터 제1 함수의 산출값과 (또한) C_f(x)로부터 제2 함수의 산출값을 각각 제1 함수(소스 함수) 및/또는 제2 함수(중간 함수)가 구현될 임의의 다른 클라우드 환경으로 마이그레이션하는 것과 연관된 모든 비용 중에서 최소화되어야 한다는 것이다. 그 후, 이하에 더 설명하는 바와 같이 프로세스는 S532 및 S534로 진행된다.
S510으로 돌아가서, 제어기(102)가 제1 함수(소스 함수 Sc) 및 제3 함수(싱크 함수 Si)가 동일한 클라우드 환경에서 구현되지 않았다고 결정하면, 제어기(102)는 S512와 관련하여 전술한 것과 동일한 방식으로 CR_Sc 및 CR_Si를 결정한다.
그 후, S522에서, 제어기(102)는 CR_Sc가 제1 데이터양 및 제2 데이터양의 최소값 이상인지 여부를 결정한다. S522에서, 제어기(102)가 CR_Sc가 제1 데이터양 및 제2 데이터양의 최소값 이상이라고 결정하면, S524에서, 제어기(102)는 중간 함수 f(x)를 구현하기 위해 소스 함수 Sc가 구현되는 것과 동일한 클라우드 환경(소스 함수 클라우드 환경)을 선택한다. 그 후, 이하에 더 설명하는 바와 같이 프로세스는 S532 및 S534로 진행된다.
그러나, S522에서, 제어기(102)가 CR_Sc가 제1 데이터양 및 제2 데이터양의 최소값보다 미만인 것으로 결정하면, S526에서, 제어기(102)는 싱크 함수가 구현된 클라우드 환경(CR_Si)의 처리 용량이 제1 데이터양 및 제2 데이터양의 최소값 이상인지 여부를 결정한다.
S526에서, 제어기(102)가 CR_Si가 제1 데이터양 및 제2 데이터양의 최소값 이상이라고 결정하면, S528에서, 중간 함수 f(x)를 구현하기 위해 소스 함수 Sc가 구현된 것과 동일한 클라우드 환경(싱크 함수 클라우드 환경)을 선택한다. 그 후, 이하에 더 설명하는 바와 같이 처리는 S532 및 S534로 진행된다.
그러나, S526에서, 제어기(102)가 CR_Si가 제1 데이터양 및 제2 데이터양의 최소값보다 미만인 것으로 결정하면, S530에서, 제어기(102)는 전술한 S518에서와 동일한 방식으로 제2 함수를 구현하기 위해 다른 클라우드 환경을 선택한다. 이 선택된 클라우드 환경은 선택된 포인트 오브 딜리버리(POD)라고도 한다. 일례로, S530에서 선택된 클라우드 환경은 두 가지 조건을 만족하는 클라우드 환경이다. 제1 조건은 선택된 클라우드 환경의 해당 CR_k가 제1 데이터양 및 제2 데이터양의 최소값 이상이어야한다는 것이다. 제2 조건은 제1 함수가 구현된 클라우드 환경(C_Sc)으로부터 제2 함수가 구현될 선택된 클라우드 환경(C_f(x))으로 제1 함수의 산출값(제1 함수의 결과값)을 마이그레이션(전환)하는 비용(비용 함수는 C(C_Si, C_f(x))로 표현될 수 있음)이, C_Sc로부터 제1 함수의 산출값을 제2 함수가 구현될 임의의 다른 클라우드 환경으로 마이그레이션하는 것과 연관된 모든 비용 중에서 최소화되어야 한다는 것이다. 그 후, 이하에 더 설명하는 바와 같이 프로세스는 S532 및 S534로 진행된다.
S532에서 및 중간 함수를(선택된 POD에서) 구현하기 위한 적절한 클라우드 환경을 선택할 때, 제어기(102)는 중간 함수를 구현하기 위해 선택된 적절한 클라우드 환경(소스 함수가 수행되는 클라우드 환경과 동일하거나 동일하지 않을 수 있음)으로 제1 함수의 결과값(산출값)을 전송하도록 소스 함수를 구성(예를 들어, 소스 함수가 구현된 네트워크 노드에 명령을 보냄)한다.
제1 함수의 결과값에 대한 중간 함수의 구현시, S534에서, 제어기(102)는 중간 함수의 결과값(산출값)을 싱크 함수가 수행되는 클라우드 환경(중간 함수가 수행되는 클라우드 환경과 동일하거나 동일하지 않을 수 있음)으로 전송하도록 중간 함수를 구성한다(예를 들어, 중간 함수가 구현된 네트워크 노드에 명령을 보냄). 그 후, 프로세스는 종료된다.
도 5는 3 가지 함수가 수행되는 예를 참조하여 설명되었지만, 본 개시는 이에 제한되지 않음이 이해될 수 있다. 예를 들어 둘 이상의 중간 함수(총 4 가지 함수, 5 가지 함수 등)가 있을 수 있다. 따라서, 제어기(102)는 각각의 중간 함수에 대해 클라우드 환경을 선택하기 위한 도 5의 프로세스를 구현하며, 여기서 각각의 중간 함수에 대한 직전 함수는 소스 함수이고 싱크 함수는 모든 중간 함수에 대해 동일하게 유지된다.
워크로드 배치를 위해 클라우드 환경을 선택하는 프로세스를 설명하였지만, 함수(예를 들어, 소스, 중간 및 싱크 함수)가 특정 시점(미리 결정된 시점 또는 단순히 미리 결정된 시간)에서 데이터의 튜플에 수행되는 경우가 있을 수 있다.
예를 들어, (전체 프로세스의 일부로서 수행되는 여러 함수를 가질 수 있는) 워크로드의 특정 예로서 백업 검색을 하는 경우, 함수는 12 시간마다, 24 시간마다 한 번씩 수행되도록 스케줄링 될 수 있다.
그러나 제어기(102)가 함수를 구현하기 전에 특정 시점까지 모든 워크로드 데이터가 수신될 때까지 기다린다면 높은 데이터 트래픽이 수반될 수 있으므로 도 5의 프로세스의 적용이 더욱 까다롭고 어려워진다.
따라서, 본 개시는 워크로드 데이터의 수신 시작 시점과 미리 결정된 시점 사이에 지정된 시점(복수의 목표 시간)에서 수신된 워크로드 데이터에 대해 함수(예를 들어, 백업 검색의 함수)가 구현되는 프로세스가 포함된다. 백업 검색의 예에서, 이러한 지정된 시점은 오전 12:00 ~ 오후 11:59 사이의 3시간마다 또는 오전 12:00 ~ 오전 11:59 사이의 6시간마다 일 수 있다.
이 프로세스에 따르면, 각각의 지정된 시점에서 함수를 구현한 결과가 일시적으로 저장된다. 미리 결정된 시점에 도달하면, 데이터가 변경되었는지 여부가 결정된다. 데이터가 변경되면, 일시적으로 저장된 결과는 폐기될 수 있고, 그 미리 결정된 시점까지 수신된 전체 워크로드 데이터에 대해 함수가 수행될 수 있다. 그러나, 워크로드 데이터가 변경되지 않으면, 미리 결정된 시점에 함수에 의해 처리되지 않은 워크로드 데이터 부분만 처리될 수 있으며, 그 결과는 지정된 시점에서 임시 저장된 결과에 의해 증대된다. 특정 워크로드에 대한 함수를 단편적으로 구현하면 데이터 트래픽 양을 줄이고, 도 5의 클라우드 환경 선택 프로세스의 성능을 향상시킬 수 있다. 이 프로세스는 도 6을 참조하여 아래에서 더 설명된다.
도 6은 본 개시의 일 양태에 따른, 멀티 클라우드 환경에서의 워크로드 배치 방법을 도시한다. 도 6은 도 1a의 제어기(시스템 관리 컴포넌트)(102)의 관점에서 설명될 것이다. 그러나, 프로세서(104)와 같은 제어기(102)의 하나 이상의 프로세서는 하나 이상의 프로세서를 도 6의 기능 및 프로세스를 수행하기 위한 특수 목적 프로세서(들)로 변환하기 위해 메모리(106)와 같은 하나 이상의 메모리에 저장된 컴퓨터 판독 가능 명령을 실행한다는 것이 이해될 것이다.
S600에서, 제어기(102)는 S500을 참조하여 전술한 바와 유사한 방식으로, 수신 워크로드 데이터(또는 그 일부)의 표시를 수신한다. 일례에서, 워크로드 데이터는 D(t) = [d-0, d-1, d-2, …, dt]로 표현되는 배치(batch)로 정의되며, 여기서 각각의 0, 1, 2, …, t는 지정된 시점을 나타낸다. 일 예에서, "T"는 상술한 미리 결정된 기간을 나타낼 수 있다. 따라서 d-0은 지정된 제1 시점 0까지 수신된 워크로드 데이터의 청크이고, d-1은 지정된 제1 시점 0과 지정된 제2 시점 1 사이의 데이터의 청크이다. d-0, d-1, d-2 내지 d-t는 복수의 데이터 세그먼트로 지칭될 수 있다.
S602에서, 제어기(102)는 지정된 시점 0, 1, 2 등과 같은 지정된 시점에 도달했는지를 결정한다. 제어기(102)가 지정된 시점에 도달하지 않았다고 결정하면, 프로세스는 S600으로 되돌아가고 제어기(102)는 지정된 시점에 도달할 때까지 워크로드 데이터를 계속 수신한다.
S602에서, 제어기(102)가 지정된 시점에 도달했다고 결정하면, S604에서, 제어기(102)는 워크로드 배치를 위한 클라우드 환경을 선택하기 위한 도 5의 프로세스를 구현하고 도달된 지정된 시점에 대응하는 데이터 청크 상에 대응하는 함수(예를 들어, 상술한 소스, 중간 및 싱크 함수)를 구현하기 위해 제1 함수, 제2 함수 및 제3 함수에 대응하는 네트워크 노드를 구성(예를 들어, 명령을 송신)한다. 예를 들어, 지정된 시점 0에 도달하면, 제어기(102)는 중간 함수 f(x)를 구현하기 위한 클라우드 환경을 결정하기 위해 도 5의 프로세스를 구현한 후, 데이터 청크 d-0의 소스, 중간 및 싱크 함수를 구현한다.
그 후, S606에서, 제어기(102)는 도달된 지정된 특정 시점에 대응하는 데이터 청크의 함수를 구현한 결과(예를 들어, d-0에서 함수를 구현한 결과)를 (연관된 메모리에) 임시 저장한다. 이 임시 저장된 결과는 y '로 표현될 수 있다.
일례에서, 제어기(102)가 S602 내지 S606을 반복할 때마다, 제어기(102)는 최신 워크로드 데이터 청크에 대해 함수를 구현한 새로운 결과로 y '를 갱신한다.
S608에서, 제어기(102)는 미리 결정된 시점에 도달했는지를 결정한다. 이것은 예를 들어, 시간 T 일 수 있다(예를 들어, 전술한 바와 같이 12 시간마다, 24 시간마다 한 번씩 등의 검색 백업을 수행함). 제어기(102)가 S608에서 미리 결정된 시점에 도달하지 않았다고 결정하면, 프로세스는 S600으로 되돌아 가고 제어기(102)는 S600 내지 S608을 반복한다.
그러나, S608에서, 제어기(102)가 미리 결정된 시점에 도달했다고 결정하면, S610에서, 제어기(102)는 워크로드 데이터가 변경되었는지를 결정한다. 일 예에서, 미리 결정된 기간 T(d-T)에서의 워크로드 데이터가 모든 수신된 데이터 청크의 연결이라면(즉, D(T) = [D(t), [d-t + 1, d-t + 2, …, d-T]]), 제어기(102)는 워크로드 데이터가 변경되지 않았다고 결정한다. 그렇지 않으면, 제어기(102)는 워크로드 데이터가 미리 결정된 시점에서 변경되었다고 결정한다.
S608에서, 제어기(102)가 워크로드 데이터가 변경되지 않았다고 결정하면, S612에서, 제어기(102)는 클라우드 환경 상에 중간 함수의 배치를 위해 도 5의 프로세스를 구현한 다음, S604와 S606이 마지막으로 구현된 시간과 미리 결정된 기간 사이에 수신된 데이터 청크들에 대한 함수들(예를 들어, 상술한 소스, 중간 및 싱크 함수)을 구현하기 위해 제1 함수, 제2 함수 및 제3 함수에 대응하는 네트워크 노드를 구성(예를 들어, 명령을 전송)한다. 이 과정의 결과는 y로 지정될 수 있다.
그 후, S614에서, 제어기(102)는 y'(S606에서 일시적으로 저장된 결과) 및 y를 결합하여 복수의 데이터 청크 모두에 함수를 구현한 결과를 산출 (및/또는 선택적으로 저장)한다. 그 후, 프로세스는 종료되거나 또는 S600으로 되돌아가고, 여기서 제어기(102)는 도 6의 프로세스를 반복한다.
그러나, S608에서, 제어기(102)는 워크로드 데이터가 변경되었다고 결정하면, S616에서 제어기(102)는 y'(S606의 임시 저장된 결과)를 폐기한다. 이어서, S618에서, 제어기(102)는 전체 워크로드 데이터(즉, 제어기(102)가 S600에서 워크로드 데이터를 수신하기 시작한 시점부터 미리 결정된 시점 T에서 수신한 데이터까지)에 대해 도 5의 프로세스를 구현하고 워크로드 데이터 전체에 대응하는 함수(예를 들어, 전술한 소스, 중간 및 싱크 함수)을 구현하도록 제1 함수, 제2 함수 및 제3 함수에 대응하는 네트워크 노드를 구성(예를 들어, 명령을 전송)한다.
그 후, S620에서, 제어기(102)는 전체 워크로드 데이터에 대해 함수를 구현한 결과를 산출한다. 그 후, 프로세스는 종료되거나 또는 S600으로 되돌아 가고, 여기서 제어기(102)는 도 6의 프로세스를 반복한다.
첨부 도면을 참조하여 전술한 예는 다수의 클라우드(분산 클라우드 환경의 네트워크)에 걸친 워크로드의 배치를 최적화하기 위한 기존의 방법 및 시스템의 하나 이상의 양태에 대한 개선을 제공한다. 이러한 최적화는 현대 소프트웨어 서비스의 기술 분야에서 중요한 역할을 하며, 이들은 많은 컴포넌트가 복잡한 종속성을 가지고 실시간 및 분산 방식으로 작동한다. 이러한 서비스를 사용하는 네트워크 운영자가 더 나은 그리고 더 효율적인 서비스를 고객에게 제공하기 위해 사용 가능한 네트워크 리소스 사용을 최적화하고 관련 비용을 줄이는 것은 중요한 요소이다. 예를 들어, 클라우드 네트워크 내의 특정 위치에서 특정 함수를 수행하거나 위에서 설명한대로 한 클라우드 환경에서 다른 클라우드 환경으로 처리된 (또는 처리될) 기본 데이터를 마이그레이션하는 데 드는 비용이 있다. 기본 데이터에 네트워크 함수를 구현하기 위한 블라인드(무작위) 클라우드 환경 선택은 네트워크 운영자의 리소스 소비 및/또는 비용을 증가시킬 수 있다. 따라서, 기본 데이터에 대한 네트워크 함수를 구현하기 위한 클라우드 환경을 결정하기 위한 전술한 바와 같은 방법을 제공하는 것은 중요하며, 이는 네트워크 리소스 소비를 개선하고 네트워크 운영자에 대한 연관 비용을 감소시킨다.
설명의 명확성을 위해, 일부 예에서, 본 기술은 소프트웨어로 구현된 방법 또는 하드웨어와 소프트웨어의 조합에서 디바이스, 디바이스 컴포넌트, 단계 또는 루틴을 포함하는 기능적 블록을 포함하는, 개별 기능적 블록을 포함하는 것으로 제시될 수 있다.
일부 실시예에서 컴퓨터 판독 가능 저장 디바이스, 매체 및/또는 메모리는 비트 스트림 등을 포함하는 케이블 또는 무선 신호를 포함할 수 있다. 그러나, 언급될 때, 비-일시적 컴퓨터 판독 가능 저장 매체는 에너지, 캐리어 신호, 전자기파 및 신호 자체와 같은 매체를 명백하게 배제한다.
전술한 예에 따른 방법은 저장되거나 컴퓨터 판독 가능 매체로부터 다른 방식으로 이용 가능한 컴퓨터 실행 가능 명령을 사용하여 구현될 수 있다. 이러한 명령은 범용 컴퓨터, 특수 목적 컴퓨터 또는, 특정 함수나 함수 그룹을 수행하기 위한 특수 목적 처리 디바이스를 야기하거나 달리 구성하는 명령 및 데이터를 포함할 수 있다. 사용되는 컴퓨터 리소스의 일부는 네트워크를 통해 액세스 할 수 있다. 컴퓨터 실행 가능 명령은 예를 들어, 바이너리, 어셈블리 언어와 같은 중간 포맷 명령어, 펌웨어 또는 소스 코드일 수 있다. 설명된 예에 따른 방법 동안 생성된 명령, 사용되는 정보 및/또는 명령을 저장하는데 사용될 수 있는 컴퓨터 판독 가능 매체의 예는 자기 또는 광 디스크, 플래시 메모리, 비-휘발성 메모리가 제공된 USB 디바이스, 네트워크 저장 디바이스 등을 포함한다.
이들 개시에 따른 방법을 구현하는 디바이스는 하드웨어, 펌웨어 및/또는 소프트웨어를 포함할 수 있고, 다양한 폼 팩터(form factor)를 취할 수 있다. 이러한 폼 팩터의 일반적인 예로는 랩톱, 스마트 폰, 소형 폼 팩터 개인용 컴퓨터, 개인용 디지털 단말기(PDA), 랙 마운트 디바이스, 독립형 디바이스 등이 있다. 본 명세서에 기술된 기능은 또한 주변 디바이스 또는 애드-인(add-in) 카드에 구현될 수 있다. 이러한 기능은 또한 다른 예로서, 상이한 칩들의 회로 보드 또는 단일 디바이스에서 실행되는 상이한 프로세스들에서 구현될 수도 있다.
명령, 명령을 전달하기 위한 매체, 명령을 실행하기 위한 컴퓨팅 리소스, 및 이러한 컴퓨팅 리소스를 지원하기 위한 다른 구조는 본 개시에 기술된 함수를 제공하기 위한 수단이다.
첨부된 청구 범위의 범주 내에서 양태를 설명하기 위해 다양한 예 및 다른 정보가 사용되었지만, 통상의 기술자가 본 예시를 사용하여 광범위한 구현을 도출 할 수 있기 때문에, 본 예에서의 특정 특징 또는 구성에 기초하여 청구 범위의 제한이 암시되어서는 안된다. 또한, 일부 항목은 구조적 특징 및/또는 방법 단계의 예에 특정한 표현으로 설명되었지만, 첨부된 청구 범위에 정의된 항목은 이러한 설명된 특징 또는 행위에 반드시 제한되는 것은 아니라는 점을 이해해야 한다. 예를 들어, 이러한 기능은 본 명세서에서 식별된 것과 다른 컴포넌트로 상이하게 분배되거나 수행될 수 있다. 오히려, 설명된 특징 및 단계는 첨부된 청구 범위의 범위 내에서 시스템 및 방법의 컴포넌트의 예로서 개시된다. 또한, 집합 중 "적어도 하나"를 언급하는 청구 범위의 표현은 집합의 하나의 요소 또는 집합의 다수 요소가 청구 범위를 만족한다는 것을 나타낸다.
또한, 집합 중 "적어도 하나"를 언급하는 청구 범위 표현은 집합의 하나의 요소 또는 집합의 다수의 요소가 청구 범위를 만족한다는 것을 나타낸다. 예를 들어, "A, B 및 C 중 적어도 하나" 또는 "A, B 또는 C 중 적어도 하나"를 언급하는 청구 범위 표현은 A 하나, B 하나, C 하나, A 및 B 같이, A 및 C 같이, B 및 C 같이 또는 A, B 및 C 같이를 의미한다.
Claims (20)
- 서버리스(serverless) 함수를 구현하기 위해 네트워크를 선택하기 위한 컴퓨터-구현 방법으로서,
네트워크 제어기의 하나 이상의 프로세서에 의해, 소스 네트워크 내에서의 입력 데이터에 대한 제1 서버리스 함수의 수행으로부터 상기 제1 서버리스 함수의 제1 결과값에 대한 제2 서버리스 함수의 수행으로의 전환을 위한 제1 데이터양에 기초하여 제1 처리량을 결정하는 단계;
상기 하나 이상의 프로세서에 의해, 상기 제1 결과값에 대한 상기 제2 서버리스 함수의 수행으로부터 싱크 네트워크 내에서의 상기 제2 서버리스 함수의 제2 결과값에 대한 제3 서버리스 함수의 수행으로의 전환을 위한 제2 데이터양에 기초하여 제2 처리량을 결정하는 단계;
상기 제1 서버리스 함수 및 상기 제3 서버리스 함수가 구현되는 하나 이상의 네트워크 각각에 대한 처리 용량을 결정하는 단계; 및
상기 제1 처리량, 상기 제2 처리량 및 상기 네트워크 각각에 대한 처리 용량에 기초하여 상기 제2 서버리스 함수를 구현하기 위한 네트워크를 선택하는 단계를 포함하는 방법. - 청구항 1에 있어서,
상기 제1 서버리스 함수 및 상기 제2 서버리스 함수가 상기 싱크 네트워크에서 구현되는 방법. - 청구항 2에 있어서,
상기 소스 네트워크의 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 이상인 것으로 결정하는 단계를 더 포함하는 방법. - 청구항 1에 있어서,
상기 소스 네트워크의 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 미만인 경우, 상기 제2 서버리스 함수를 상기 싱크 네트워크에서 구현하는 단계를 더 포함하는 방법. - 청구항 4에 있어서,
상기 싱크 네트워크의 제2 처리 용량이 상기 제1 처리량 및 상기 제2 처리량보다 크고, 상기 제2 서버리스 함수 및 상기 제1 결과값에 대응하는 데이터를 상기 소스 네트워크로부터 상기 싱크 네트워크로 전환하는 것과 연관된 비용이 상기 제2 서버리스 함수 및 상기 제1 결과값에 대응하는 데이터를 상기 소스 네트워크로부터 임의의 다른 이용 가능한 네트워크로 전환하는 것과 연관된 모든 비용 중에서 최소화되는 것으로 결정하는 단계를 더 포함하는 방법. - 청구항 1에 있어서,
상기 제1 서버리스 함수 및 상기 제3 서버리스 함수가 각각 상기 소스 네트워크 및 상기 싱크 네트워크에서 구현되고,
상기 방법은:
상기 소스 네트워크의 제1 처리 용량을 결정하는 단계;
상기 싱크 네트워크의 제2 처리 용량을 결정하는 단계;
상기 소스 네트워크의 제1 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 이상인 경우, 상기 제2 서버리스 함수를 상기 소스 네트워크에서 구현하는 단계;
(1) 상기 소스 네트워크의 제1 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 미만이고,
(2) 상기 싱크 네트워크의 제2 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 이상인 경우,
상기 제2 서버리스 함수를 상기 싱크 네트워크에서 구현하는 단계; 및
(1) 상기 소스 네트워크의 제1 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 미만이고,
(2) 상기 싱크 네트워크의 제2 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 미만이고,
(3) 제3 네트워크의 제3 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 이상이고,
(4) 상기 제2 서버리스 함수 및 상기 제1 결과값에 대응하는 데이터를 상기 소스 네트워크로부터 상기 제3 네트워크로 전환하는 것과 연관된 비용이 상기 제2 서버리스 함수 및 상기 제1 결과값에 대응하는 데이터를 상기 소스 네트워크로부터 임의의 다른 이용 가능한 네트워크로 전환하는 것과 연관된 모든 비용 중에서 최소화되는 경우,
상기 제2 서버리스 함수를 상기 제3 네트워크에서 구현하는 단계를 더 포함하는 방법. - 청구항 1에 있어서,
미리 정해진 시간에 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수에 따라 처리될 복수의 데이터 세그먼트의 표시를 수신하는 단계;
상기 미리 정해진 시간 이전의 복수의 목표 시간 중 하나 이상에서,
제1 처리된 데이터를 생성하기 위해 상기 복수의 데이터 세그먼트 중 이용 가능한 데이터 세그먼트에 대해 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수를 수행하는 단계; 및
상기 제1 처리된 데이터를 저장하는 단계를 더 포함하는 방법. - 청구항 7에 있어서,
상기 미리 정해진 시간에, 상기 복수의 데이터 세그먼트가 변경되지 않았는지를 결정하는 단계;
상기 복수의 데이터 세그먼트가 변경되지 않았으면,
제2 처리된 데이터를 생성하기 위해 상기 복수의 목표 시간 중 마지막 시간과 상기 미리 정해진 시간 사이에 수신된 상기 복수의 데이터 세그먼트 중 나머지 데이터 세그먼트에 대해 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수를 수행하는 단계;
상기 제2 처리된 데이터를 저장하는 단계; 및
상기 제1 처리된 데이터와 상기 제2 처리된 데이터를 결합하는 단계; 및
상기 복수의 데이터 세그먼트가 변경되면,
상기 제1 처리된 데이터를 폐기하는 단계;
제3 처리된 데이터를 생성하기 위해 상기 복수의 데이터 세그먼트 중 완료된 세트에 대해 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수를 수행하는 단계; 및
상기 제3 처리된 데이터를 저장하는 단계를 더 포함하는 방법. - 서버리스 함수를 구현하기 위해 네트워크를 선택하기 위한 시스템으로서,
컴퓨터 판독 가능 명령어를 저장하도록 구성된 메모리; 및
하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는 상기 컴퓨터 판독 가능 명령어를 실행하여,
소스 네트워크 내에서의 입력 데이터에 대한 제1 서버리스 함수의 수행으로부터 상기 제1 서버리스 함수의 제1 결과값에 대한 제2 서버리스 함수의 수행으로의 전환을 위한 제1 데이터양에 기초하여 제1 처리량을 결정하고;
상기 제1 결과값에 대한 상기 제2 서버리스 함수의 수행으로부터 싱크 네트워크 내에서의 상기 제2 서버리스 함수의 제2 결과값에 대한 제3 서버리스 함수의 수행으로의 전환을 위한 제2 데이터양에 기초하여 제2 처리량을 결정하고;
상기 제1 서버리스 함수 및 상기 제3 서버리스 함수가 구현되는 하나 이상의 네트워크 각각에 대한 처리 용량을 결정하고;
상기 제1 처리량, 상기 제2 처리량 및 상기 네트워크 각각에 대한 처리 용량에 기초하여 상기 제2 서버리스 함수를 구현하기 위한 네트워크를 선택하도록 구성되는 시스템. - 청구항 9에 있어서,
상기 제1 서버리스 함수 및 상기 제3 서버리스 함수가 상기 소스 네트워크에서 구현되고,
상기 하나 이상의 프로세서는 상기 컴퓨터 판독 가능 명령어를 실행하여 추가로,
상기 소스 네트워크의 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 이상인지를 결정하고;
상기 소스 네트워크의 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 미만인 경우 상기 제2 서버리스 함수를 상기 싱크 네트워크에서 구현하도록 구성되는 시스템. - 청구항 10에 있어서,
상기 하나 이상의 프로세서는 상기 컴퓨터 판독 가능 명령어를 실행하여 추가로, 상기 싱크 네트워크의 제2 처리 용량이 상기 제1 처리량 및 상기 제2 처리량보다 크고, 상기 제2 서버리스 함수 및 상기 제1 결과값에 대응하는 데이터를 상기 소스 네트워크로부터 상기 싱크 네트워크로 전환하는 것과 연관된 비용이 상기 제2 서버리스 함수 및 상기 제1 결과값에 대응하는 데이터를 상기 소스 네트워크로부터 임의의 다른 이용 가능한 네트워크로 전환하는 것과 연관된 모든 비용 중에서 최소화되는 것으로 결정하도록 구성되는 시스템. - 청구항 10에 있어서,
상기 소스 네트워크 및 상기 싱크 네트워크는 상이한 클라우드 환경과 연관되는 시스템. - 청구항 9에 있어서,
상기 제1 서버리스 함수 및 상기 제2 서버리스 함수가 각각 상기 소스 네트워크 및 상기 싱크 네트워크에서 구현되고, 상기 하나 이상의 프로세서는 상기 컴퓨터 판독 가능 명령어를 실행하여 추가로,
상기 소스 네트워크의 제1 처리 용량을 결정하고;
상기 싱크 네트워크의 제2 처리 용량을 결정하고;
상기 소스 네트워크의 제1 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 이상인 경우, 상기 제2 서버리스 함수를 상기 소스 네트워크에서 구현하고;
(1) 상기 소스 네트워크의 제1 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 미만이고,
(2) 상기 싱크 네트워크의 제2 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 이상인 경우,
상기 제2 서버리스 함수를 상기 싱크 네트워크에서 구현하고;
(1) 상기 소스 네트워크의 제1 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 미만이고,
(2) 상기 싱크 네트워크의 제2 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 미만이고,
(3) 제3 네트워크의 제3 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 이상이고,
(4) 상기 제2 서버리스 함수 및 상기 제1 결과값에 대응하는 데이터를 상기 소스 네트워크로부터 상기 제3 네트워크로 전환하는 것과 연관된 비용이 상기 제2 서버리스 함수 및 상기 제1 결과값에 대응하는 데이터를 상기 소스 네트워크로부터 임의의 다른 이용 가능한 네트워크로 전환하는 것과 연관된 모든 비용 중에서 최소화되는 경우,
상기 제2 서버리스 함수를 상기 제3 네트워크에서 구현하도록 구성되는 시스템. - 청구항 9에 있어서,
상기 하나 이상의 프로세서는 상기 컴퓨터 판독 가능 명령어를 실행하여 추가로,
미리 정해진 시간에 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수에 따라 처리될 복수의 데이터 세그먼트의 표시를 수신하고;
상기 미리 정해진 시간 이전의 복수의 목표 시간 중 하나 이상에서,
제1 처리된 데이터를 생성하기 위해 상기 복수의 데이터 세그먼트 중 이용 가능한 데이터 세그먼트에 대해 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수를 수행하고;
상기 제1 처리된 데이터를 저장하도록 구성되는 시스템. - 청구항 14에 있어서,
상기 하나 이상의 프로세서는 상기 컴퓨터 판독 가능 명령어를 실행하여 추가로,
상기 미리 정해진 시간에, 상기 복수의 데이터 세그먼트가 변경되지 않았는지를 결정하고;
상기 복수의 데이터 세그먼트가 변경되지 않았으면,
제2 처리된 데이터를 생성하기 위해 상기 복수의 목표 시간 중 마지막 시간과 상기 미리 정해진 시간 사이에 수신된 상기 복수의 데이터 세그먼트 중 나머지 데이터 세그먼트에 대해 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수를 수행하고;
상기 제2 처리된 데이터를 저장하고;
상기 제1 처리된 데이터와 상기 제2 처리된 데이터를 결합하고;
상기 복수의 데이터 세그먼트가 변경되면,
상기 제1 처리된 데이터를 폐기하고;
제3 처리된 데이터를 생성하기 위해 상기 복수의 데이터 세그먼트 중 완료된 세트에 대해 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수를 수행하고;
상기 제3 처리된 데이터를 저장하도록 구성되는 시스템. - 컴퓨터 판독 가능 명령어가 저장된 하나 이상의 비-일시적 컴퓨터 판독 가능 매체로서, 상기 컴퓨터 판독 가능 명령어가 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
소스 네트워크 내에서의 입력 데이터에 대한 제1 서버리스 함수의 수행으로부터 상기 제1 서버리스 함수의 제1 결과값에 대한 제2 서버리스 함수의 수행으로의 전환을 위한 제1 데이터양에 기초하여 제1 처리량을 결정하고;
상기 제1 결과값에 대한 상기 제2 서버리스 함수의 수행으로부터 싱크 네트워크 내에서의 상기 제2 서버리스 함수의 제2 결과값에 대한 제3 서버리스 함수의 수행으로의 전환을 위한 제2 데이터양에 기초하여 제2 처리량을 결정하고;
상기 제1 서버리스 함수 및 상기 제3 서버리스 함수가 구현되는 하나 이상의 네트워크 각각에 대한 처리 용량을 결정하고;
상기 제1 처리량, 상기 제2 처리량 및 상기 네트워크 각각에 대한 처리 용량에 기초하여 상기 제2 서버리스 함수를 구현하기 위한 네트워크를 선택하게 하는 하나 이상의 비-일시적 컴퓨터 판독 가능 매체. - 청구항 16에 있어서,
상기 제1 서버리스 함수 및 상기 제3 서버리스 함수가 상기 소스 네트워크에서 구현되고, 상기 하나 이상의 프로세서는 상기 컴퓨터 판독 가능 명령어를 실행하여 추가로,
상기 소스 네트워크의 제1 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 이상인지를 결정하고,
상기 소스 네트워크의 제1 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 미만이고, 상기 싱크 네트워크의 제2 처리 용량이 상기 제1 처리량 및 상기 제2 처리량보다 크고, 상기 제2 서버리스 함수 및 상기 제1 결과값에 대응하는 데이터를 상기 소스 네트워크로부터 상기 싱크 네트워크로 전환하는 것과 연관된 비용이 상기 제2 서버리스 함수 및 상기 제1 결과값에 대응하는 데이터를 상기 소스 네트워크로부터 임의의 다른 이용 가능한 네트워크로 전환하는 것과 연관된 모든 비용 중에서 최소화되는 경우, 상기 제2 서버리스 함수를 상기 싱크 네트워크에서 구현하도록 구성되는 하나 이상의 비-일시적 컴퓨터 판독 가능 매체. - 청구항 16에 있어서,
상기 제1 서버리스 함수 및 상기 제2 서버리스 함수가 각각 상기 소스 네트워크 및 상기 싱크 네트워크에서 구현되고, 상기 하나 이상의 프로세서는 상기 컴퓨터 판독 가능 명령어를 실행하여 추가로,
상기 소스 네트워크의 제1 처리 용량을 결정하고;
상기 싱크 네트워크의 제2 처리 용량을 결정하고;
상기 소스 네트워크의 제1 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 이상인 경우, 상기 제2 서버리스 함수를 상기 소스 네트워크에서 구현하고;
(1) 상기 소스 네트워크의 제1 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 미만이고,
(2) 상기 싱크 네트워크의 제2 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 이상인 경우,
상기 제2 서버리스 함수를 상기 싱크 네트워크에서 구현하고;
(1) 상기 소스 네트워크의 제1 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 미만이고,
(2) 상기 싱크 네트워크의 제2 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 미만이고,
(3) 제3 네트워크의 제3 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 이상이고,
(4) 상기 제2 서버리스 함수 및 상기 제1 결과값에 대응하는 데이터를 상기 소스 네트워크로부터 상기 제3 네트워크로 전환하는 것과 연관된 비용이 상기 제2 서버리스 함수 및 상기 제1 결과값에 대응하는 데이터를 상기 소스 네트워크로부터 임의의 다른 이용 가능한 네트워크로 전환하는 것과 연관된 모든 비용 중에서 최소화되는 경우,
상기 제2 서버리스 함수를 상기 제3 네트워크에서 구현하도록 구성되는 하나 이상의 비-일시적 컴퓨터 판독 가능 매체. - 청구항 16에 있어서,
상기 하나 이상의 프로세서는 상기 컴퓨터 판독 가능 명령어를 실행하여 추가로,
미리 정해진 시간에 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수에 따라 처리될 복수의 데이터 세그먼트의 표시를 수신하고;
상기 미리 정해진 시간 이전의 복수의 목표 시간 중 하나 이상에서,
제1 처리된 데이터를 생성하기 위해 상기 복수의 데이터 세그먼트 중 이용 가능한 데이터 세그먼트에 대해 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수를 수행하고;
상기 제1 처리된 데이터를 저장하도록 구성되는 하나 이상의 비-일시적 컴퓨터 판독 가능 매체. - 청구항 19에 있어서,
상기 하나 이상의 프로세서는 상기 컴퓨터 판독 가능 명령어를 실행하여 추가로,
상기 미리 정해진 시간에, 상기 복수의 데이터 세그먼트가 변경되지 않았는지를 결정하고;
상기 복수의 데이터 세그먼트가 변경되지 않았으면,
제2 처리된 데이터를 생성하기 위해 상기 복수의 목표 시간 중 마지막 시간과 상기 미리 정해진 시간 사이에 수신된 상기 복수의 데이터 세그먼트 중 나머지 데이터 세그먼트에 대해 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수를 수행하고;
상기 제2 처리된 데이터를 저장하고;
상기 제1 처리된 데이터와 상기 제2 처리된 데이터를 결합하고;
상기 복수의 데이터 세그먼트가 변경되면,
상기 제1 처리된 데이터를 폐기하고;
제3 처리된 데이터를 생성하기 위해 상기 복수의 데이터 세그먼트 중 완료된 세트에 대해 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수를 수행하고;
상기 제3 처리된 데이터를 저장하도록 구성되는 하나 이상의 비-일시적 컴퓨터 판독 가능 매체.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US15/850,230 | 2017-12-21 | ||
US15/850,230 US10705882B2 (en) | 2017-12-21 | 2017-12-21 | System and method for resource placement across clouds for data intensive workloads |
PCT/US2018/066469 WO2019126304A1 (en) | 2017-12-21 | 2018-12-19 | System and method for resource placement across clouds for data intensive workloads |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20200097795A KR20200097795A (ko) | 2020-08-19 |
KR102610652B1 true KR102610652B1 (ko) | 2023-12-05 |
Family
ID=66949577
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020207021210A KR102610652B1 (ko) | 2017-12-21 | 2018-12-19 | 데이터 집약적 워크로드를 위한 리소스 배치에 대한 시스템 및 방법 |
Country Status (6)
Country | Link |
---|---|
US (1) | US10705882B2 (ko) |
EP (1) | EP3729268A1 (ko) |
KR (1) | KR102610652B1 (ko) |
CN (1) | CN111527476B (ko) |
CA (1) | CA3086510C (ko) |
WO (1) | WO2019126304A1 (ko) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10459892B2 (en) | 2014-04-23 | 2019-10-29 | Qumulo, Inc. | Filesystem hierarchical aggregate metrics |
US10095729B2 (en) | 2016-12-09 | 2018-10-09 | Qumulo, Inc. | Managing storage quotas in a shared storage system |
JP6427697B1 (ja) * | 2018-01-22 | 2018-11-21 | 株式会社Triart | 情報処理装置、情報処理方法、プログラムおよび情報処理システム |
US11360936B2 (en) | 2018-06-08 | 2022-06-14 | Qumulo, Inc. | Managing per object snapshot coverage in filesystems |
US10534758B1 (en) | 2018-12-20 | 2020-01-14 | Qumulo, Inc. | File system cache tiers |
US11258729B2 (en) * | 2019-02-27 | 2022-02-22 | Vmware, Inc. | Deploying a software defined networking (SDN) solution on a host using a single active uplink |
AU2020402099B2 (en) * | 2019-12-13 | 2023-07-20 | Liveperson, Inc. | Function-as-a-service cloud chatbot for two-way communication systems |
WO2021141293A1 (ko) * | 2020-01-06 | 2021-07-15 | 주식회사 아미크 | 데이터의 전송 및 조회 시의 비용을 최소화하기 위한 데이터 아카이빙 방법 및 시스템 |
US11044173B1 (en) | 2020-01-13 | 2021-06-22 | Cisco Technology, Inc. | Management of serverless function deployments in computing networks |
US10795796B1 (en) | 2020-01-24 | 2020-10-06 | Qumulo, Inc. | Predictive performance analysis for file systems |
US10860372B1 (en) | 2020-01-24 | 2020-12-08 | Qumulo, Inc. | Managing throughput fairness and quality of service in file systems |
US11151001B2 (en) | 2020-01-28 | 2021-10-19 | Qumulo, Inc. | Recovery checkpoints for distributed file systems |
US11775481B2 (en) | 2020-09-30 | 2023-10-03 | Qumulo, Inc. | User interfaces for managing distributed file systems |
US11157458B1 (en) | 2021-01-28 | 2021-10-26 | Qumulo, Inc. | Replicating files in distributed file systems using object-based data storage |
US11461241B2 (en) | 2021-03-03 | 2022-10-04 | Qumulo, Inc. | Storage tier management for file systems |
US11567660B2 (en) * | 2021-03-16 | 2023-01-31 | Qumulo, Inc. | Managing cloud storage for distributed file systems |
US11132126B1 (en) | 2021-03-16 | 2021-09-28 | Qumulo, Inc. | Backup services for distributed file systems in cloud computing environments |
US11669255B2 (en) | 2021-06-30 | 2023-06-06 | Qumulo, Inc. | Distributed resource caching by reallocation of storage caching using tokens and agents with non-depleted cache allocations |
US11294604B1 (en) | 2021-10-22 | 2022-04-05 | Qumulo, Inc. | Serverless disk drives based on cloud storage |
US11354273B1 (en) | 2021-11-18 | 2022-06-07 | Qumulo, Inc. | Managing usable storage space in distributed file systems |
US11599508B1 (en) | 2022-01-31 | 2023-03-07 | Qumulo, Inc. | Integrating distributed file systems with object stores |
US11652872B1 (en) * | 2022-02-24 | 2023-05-16 | Cisco Technology, Inc. | Policy-based workload orchestration for enterprise networks |
US11722150B1 (en) | 2022-09-28 | 2023-08-08 | Qumulo, Inc. | Error resistant write-ahead log |
US11729269B1 (en) | 2022-10-26 | 2023-08-15 | Qumulo, Inc. | Bandwidth management in distributed file systems |
US11921677B1 (en) | 2023-11-07 | 2024-03-05 | Qumulo, Inc. | Sharing namespaces across file system clusters |
US11934660B1 (en) | 2023-11-07 | 2024-03-19 | Qumulo, Inc. | Tiered data storage with ephemeral and persistent tiers |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130219405A1 (en) | 2012-02-21 | 2013-08-22 | Electronics and Telecommunications Research Institute of Suwon | Apparatus and method for managing data stream distributed parallel processing service |
US20140229221A1 (en) | 2013-02-11 | 2014-08-14 | Amazon Technologies, Inc. | Cost-minimizing task scheduler |
US20150143366A1 (en) | 2012-06-29 | 2015-05-21 | Shiva Prakash Suragi Math | Optimizing placement of virtual machines |
US20170093639A1 (en) | 2015-09-28 | 2017-03-30 | Cisco Technology, Inc. | Enhanced cloud demand prediction for smart data centers |
Family Cites Families (409)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5889896A (en) | 1994-02-09 | 1999-03-30 | Meshinsky; John | System for performing multiple processes on images of scanned documents |
US5812773A (en) | 1996-07-12 | 1998-09-22 | Microsoft Corporation | System and method for the distribution of hierarchically structured data |
US6108782A (en) | 1996-12-13 | 2000-08-22 | 3Com Corporation | Distributed remote monitoring (dRMON) for networks |
US6178453B1 (en) | 1997-02-18 | 2001-01-23 | Netspeak Corporation | Virtual circuit switching architecture |
CA2217275C (en) | 1997-10-03 | 2005-08-16 | Newbridge Networks Corporation | Multiple internetworking realms within an internetworking device |
US6298153B1 (en) | 1998-01-16 | 2001-10-02 | Canon Kabushiki Kaisha | Digital signature method and information communication system and apparatus using such method |
US6735631B1 (en) | 1998-02-10 | 2004-05-11 | Sprint Communications Company, L.P. | Method and system for networking redirecting |
US6643260B1 (en) | 1998-12-18 | 2003-11-04 | Cisco Technology, Inc. | Method and apparatus for implementing a quality of service policy in a data communications network |
US20040095237A1 (en) | 1999-01-09 | 2004-05-20 | Chen Kimball C. | Electronic message delivery system utilizable in the monitoring and control of remote equipment and method of same |
EP1096360B1 (en) | 1999-10-25 | 2004-09-22 | Texas Instruments Incorporated | Intelligent power management for distributed processing systems |
US6707794B1 (en) | 1999-11-15 | 2004-03-16 | Networks Associates Technology, Inc. | Method, system and computer program product for physical link layer handshake protocol analysis |
US6343290B1 (en) | 1999-12-22 | 2002-01-29 | Celeritas Technologies, L.L.C. | Geographic network management system |
US6683873B1 (en) | 1999-12-27 | 2004-01-27 | Cisco Technology, Inc. | Methods and apparatus for redirecting network traffic |
JP4162347B2 (ja) | 2000-01-31 | 2008-10-08 | 富士通株式会社 | ネットワークシステム |
US7058706B1 (en) | 2000-03-31 | 2006-06-06 | Akamai Technologies, Inc. | Method and apparatus for determining latency between multiple servers and a client |
US6954429B2 (en) | 2000-04-05 | 2005-10-11 | Dyband Corporation | Bandwidth control system |
US6721804B1 (en) | 2000-04-07 | 2004-04-13 | Danger, Inc. | Portal system for converting requested data into a bytecode format based on portal device's graphical capabilities |
CA2413931A1 (en) | 2000-06-01 | 2003-11-28 | Nisshinbo Industries, Inc. | Kit and method for determining hla types |
US7917647B2 (en) | 2000-06-16 | 2011-03-29 | Mcafee, Inc. | Method and apparatus for rate limiting |
US7062571B1 (en) | 2000-06-30 | 2006-06-13 | Cisco Technology, Inc. | Efficient IP load-balancing traffic distribution using ternary CAMs |
US7051078B1 (en) | 2000-07-10 | 2006-05-23 | Cisco Technology, Inc. | Hierarchical associative memory-based classification system |
US7007299B2 (en) | 2000-08-30 | 2006-02-28 | Citibank, N.A. | Method and system for internet hosting and security |
US7596784B2 (en) | 2000-09-12 | 2009-09-29 | Symantec Operating Corporation | Method system and apparatus for providing pay-per-use distributed computing resources |
US6996615B1 (en) | 2000-09-29 | 2006-02-07 | Cisco Technology, Inc. | Highly scalable least connections load balancing |
US7054930B1 (en) | 2000-10-26 | 2006-05-30 | Cisco Technology, Inc. | System and method for propagating filters |
US20020143928A1 (en) | 2000-12-07 | 2002-10-03 | Maltz David A. | Method and system for collection and storage of traffic data in a computer network |
US7065482B2 (en) | 2001-05-17 | 2006-06-20 | International Business Machines Corporation | Internet traffic analysis tool |
US7002965B1 (en) | 2001-05-21 | 2006-02-21 | Cisco Technology, Inc. | Method and apparatus for using ternary and binary content-addressable memory stages to classify packets |
US6963913B2 (en) | 2001-06-11 | 2005-11-08 | Bluefire Security Technologies, Inc. | Packet filtering system and methods |
US7212490B1 (en) | 2001-07-06 | 2007-05-01 | Cisco Technology, Inc. | Dynamic load balancing for dual ring topology networks |
US7028098B2 (en) | 2001-07-20 | 2006-04-11 | Nokia, Inc. | Selective routing of data flows using a TCAM |
FI115358B (fi) | 2001-11-05 | 2005-04-15 | Nokia Corp | Tilaton kuormanjako |
US7188364B2 (en) | 2001-12-20 | 2007-03-06 | Cranite Systems, Inc. | Personal virtual bridged local area networks |
JP2003345612A (ja) | 2002-05-28 | 2003-12-05 | Sony Corp | 演算処理システム、コンピュータ・システム上でのタスク制御方法、並びにコンピュータ・プログラム |
US8103755B2 (en) | 2002-07-02 | 2012-01-24 | Arbor Networks, Inc. | Apparatus and method for managing a provider network |
US7313667B1 (en) | 2002-08-05 | 2007-12-25 | Cisco Technology, Inc. | Methods and apparatus for mapping fields of entries into new values and combining these mapped values into mapped entries for use in lookup operations such as for packet processing |
US20040034702A1 (en) | 2002-08-16 | 2004-02-19 | Nortel Networks Limited | Method and apparatus for exchanging intra-domain routing information between VPN sites |
US20040131059A1 (en) | 2002-09-19 | 2004-07-08 | Ram Ayyakad | Single-pass packet scan |
DE60334126D1 (de) | 2002-10-04 | 2010-10-21 | Ericsson Telefon Ab L M | Isolation von mit einem zugangsnetzwerk verbundenen hosts |
US7574738B2 (en) | 2002-11-06 | 2009-08-11 | At&T Intellectual Property Ii, L.P. | Virtual private network crossovers based on certificates |
US7536476B1 (en) | 2002-12-20 | 2009-05-19 | Cisco Technology, Inc. | Method for performing tree based ACL lookups |
US6733449B1 (en) | 2003-03-20 | 2004-05-11 | Siemens Medical Solutions Usa, Inc. | System and method for real-time streaming of ultrasound data to a diagnostic medical ultrasound streaming application |
US7567504B2 (en) | 2003-06-30 | 2009-07-28 | Microsoft Corporation | Network load balancing with traffic routing |
US20050060418A1 (en) | 2003-09-17 | 2005-03-17 | Gennady Sorokopud | Packet classification |
US7474653B2 (en) | 2003-12-05 | 2009-01-06 | Hewlett-Packard Development Company, L.P. | Decision cache using multi-key lookup |
US7496661B1 (en) | 2004-03-29 | 2009-02-24 | Packeteer, Inc. | Adaptive, application-aware selection of differentiated network services |
CN101061454B (zh) | 2004-04-15 | 2011-09-28 | 清晰路径网络股份有限公司 | 用于管理网络的系统和方法 |
CN1906904A (zh) | 2004-06-11 | 2007-01-31 | 松下电器产业株式会社 | 路由器装置、通信装置、路由方法、路由程序及记录了路由程序的计算机可读取的记录媒体 |
CN1973517A (zh) | 2004-06-25 | 2007-05-30 | 皇家飞利浦电子股份有限公司 | 带有匿名证书表示的匿名证书 |
US7379846B1 (en) | 2004-06-29 | 2008-05-27 | Sun Microsystems, Inc. | System and method for automated problem diagnosis |
US7881957B1 (en) | 2004-11-16 | 2011-02-01 | Amazon Technologies, Inc. | Identifying tasks for task performers based on task subscriptions |
WO2006058065A2 (en) | 2004-11-23 | 2006-06-01 | Nighthawk Radiology Services | Methods and systems for providing data across a network |
US7548562B2 (en) | 2004-12-14 | 2009-06-16 | Agilent Technologies, Inc. | High speed acquisition system that allows capture from a packet network and streams the data to a storage medium |
US20060146825A1 (en) | 2004-12-30 | 2006-07-06 | Padcom, Inc. | Network based quality of service |
US7808897B1 (en) | 2005-03-01 | 2010-10-05 | International Business Machines Corporation | Fast network security utilizing intrusion prevention systems |
US20110016214A1 (en) | 2009-07-15 | 2011-01-20 | Cluster Resources, Inc. | System and method of brokering cloud computing resources |
US9015324B2 (en) | 2005-03-16 | 2015-04-21 | Adaptive Computing Enterprises, Inc. | System and method of brokering cloud computing resources |
WO2006107531A2 (en) | 2005-03-16 | 2006-10-12 | Cluster Resources, Inc. | Simple integration of an on-demand compute environment |
US7480672B2 (en) | 2005-03-31 | 2009-01-20 | Sap Ag | Multiple log queues in a database management system |
US7606147B2 (en) | 2005-04-13 | 2009-10-20 | Zeugma Systems Inc. | Application aware traffic shaping service node positioned between the access and core networks |
US7693050B2 (en) | 2005-04-14 | 2010-04-06 | Microsoft Corporation | Stateless, affinity-preserving load balancing |
US9065727B1 (en) | 2012-08-31 | 2015-06-23 | Google Inc. | Device identifier similarity models derived from online event signals |
US7607043B2 (en) | 2006-01-04 | 2009-10-20 | International Business Machines Corporation | Analysis of mutually exclusive conflicts among redundant devices |
US7613955B2 (en) | 2006-01-06 | 2009-11-03 | Microsoft Corporation | Collecting debug data from a wireless device |
US8028071B1 (en) | 2006-02-15 | 2011-09-27 | Vmware, Inc. | TCP/IP offload engine virtualization system and methods |
US8040895B2 (en) | 2006-03-22 | 2011-10-18 | Cisco Technology, Inc. | Method and system for removing dead access control entries (ACEs) |
US7778183B2 (en) | 2006-03-31 | 2010-08-17 | International Business Machines Corporation | Data replica selector |
US20090019367A1 (en) | 2006-05-12 | 2009-01-15 | Convenos, Llc | Apparatus, system, method, and computer program product for collaboration via one or more networks |
US7761596B2 (en) | 2006-06-30 | 2010-07-20 | Telefonaktiebolaget L M Ericsson (Publ) | Router and method for server load balancing |
US8533687B1 (en) | 2009-11-30 | 2013-09-10 | dynaTrade Software GmbH | Methods and system for global real-time transaction tracing |
US8194664B2 (en) | 2006-10-10 | 2012-06-05 | Cisco Technology, Inc. | Two-level load-balancing of network traffic over an MPLS network |
JP4333736B2 (ja) | 2006-12-19 | 2009-09-16 | 村田機械株式会社 | 中継サーバおよびクライアント端末 |
US7653063B2 (en) | 2007-01-05 | 2010-01-26 | Cisco Technology, Inc. | Source address binding check |
US8103773B2 (en) | 2007-01-19 | 2012-01-24 | Cisco Technology, Inc. | Transactional application processing in a distributed environment |
US20080201455A1 (en) | 2007-02-15 | 2008-08-21 | Husain Syed M Amir | Moving Execution of a Virtual Machine Across Different Virtualization Platforms |
US8050267B2 (en) | 2007-02-19 | 2011-11-01 | Cisco Technology, Inc. | Simple virtual private network for small local area networks |
US8406141B1 (en) | 2007-03-12 | 2013-03-26 | Cybertap, Llc | Network search methods and systems |
US7853998B2 (en) | 2007-03-22 | 2010-12-14 | Mocana Corporation | Firewall propagation |
US7773510B2 (en) | 2007-05-25 | 2010-08-10 | Zeugma Systems Inc. | Application routing in a distributed compute environment |
US9678803B2 (en) | 2007-06-22 | 2017-06-13 | Red Hat, Inc. | Migration of network entities to a cloud infrastructure |
US9588821B2 (en) | 2007-06-22 | 2017-03-07 | Red Hat, Inc. | Automatic determination of required resource allocation of virtual machines |
US8301740B2 (en) | 2007-06-27 | 2012-10-30 | Ca, Inc. | Autonomic control of a distributed computing system using dynamically assembled resource chains |
US8205208B2 (en) | 2007-07-24 | 2012-06-19 | Internaitonal Business Machines Corporation | Scheduling grid jobs using dynamic grid scheduling policy |
US8423470B2 (en) | 2007-09-21 | 2013-04-16 | Microsoft Corporation | Distributed secure anonymous conferencing |
US8284664B1 (en) | 2007-09-28 | 2012-10-09 | Juniper Networks, Inc. | Redirecting data units to service modules based on service tags and a redirection table |
US8121117B1 (en) | 2007-10-01 | 2012-02-21 | F5 Networks, Inc. | Application layer network traffic prioritization |
US8862765B2 (en) | 2007-10-18 | 2014-10-14 | Arris Solutions, Inc. | Fair bandwidth redistribution algorithm |
US8583797B2 (en) | 2008-01-07 | 2013-11-12 | Ca, Inc. | Interdependent capacity levels of resources in a distributed computing system |
US20090178058A1 (en) | 2008-01-09 | 2009-07-09 | Microsoft Corporation | Application Aware Networking |
US8291474B2 (en) | 2008-04-16 | 2012-10-16 | Oracle America, Inc. | Using opaque groups in a federated identity management environment |
US8935692B2 (en) | 2008-05-22 | 2015-01-13 | Red Hat, Inc. | Self-management of virtual machines in cloud-based networks |
US8943497B2 (en) | 2008-05-29 | 2015-01-27 | Red Hat, Inc. | Managing subscriptions for cloud-based virtual machines |
US8171415B2 (en) | 2008-06-11 | 2012-05-01 | International Business Machines Corporation | Outage management portal leveraging back-end resources to create a role and user tailored front-end interface for coordinating outage responses |
US8429675B1 (en) | 2008-06-13 | 2013-04-23 | Netapp, Inc. | Virtual machine communication |
WO2009155574A1 (en) | 2008-06-19 | 2009-12-23 | Servicemesh, Inc. | Cloud computing gateway, cloud computing hypervisor, and methods for implementing same |
US8931038B2 (en) | 2009-06-19 | 2015-01-06 | Servicemesh, Inc. | System and method for a cloud computing abstraction layer |
US9069599B2 (en) | 2008-06-19 | 2015-06-30 | Servicemesh, Inc. | System and method for a cloud computing abstraction layer with security zone facilities |
US8175103B2 (en) | 2008-06-26 | 2012-05-08 | Rockstar Bidco, LP | Dynamic networking of virtual machines |
US8479192B2 (en) | 2008-06-27 | 2013-07-02 | Xerox Corporation | Dynamic XPS filter |
US7970905B2 (en) | 2008-07-03 | 2011-06-28 | International Business Machines Corporation | Method, system and computer program product for server selection, application placement and consolidation planning of information technology systems |
US20100036903A1 (en) | 2008-08-11 | 2010-02-11 | Microsoft Corporation | Distributed load balancer |
US8250215B2 (en) | 2008-08-12 | 2012-08-21 | Sap Ag | Method and system for intelligently leveraging cloud computing resources |
US8706878B1 (en) | 2008-08-21 | 2014-04-22 | United Services Automobile Association | Preferential loading in data centers |
US9130846B1 (en) | 2008-08-27 | 2015-09-08 | F5 Networks, Inc. | Exposed control components for customizable load balancing and persistence |
US8234522B2 (en) | 2008-09-04 | 2012-07-31 | Telcordia Technologies, Inc. | Computing diagnostic explanations of network faults from monitoring data |
US8238256B2 (en) | 2008-09-08 | 2012-08-07 | Nugent Raymond M | System and method for cloud computing |
US8041714B2 (en) | 2008-09-15 | 2011-10-18 | Palantir Technologies, Inc. | Filter chains with associated views for exploring large data sets |
CN101394360B (zh) | 2008-11-10 | 2011-07-20 | 北京星网锐捷网络技术有限公司 | 地址解析协议报文的处理方法、接入设备和通信系统 |
US9621341B2 (en) | 2008-11-26 | 2017-04-11 | Microsoft Technology Licensing, Llc | Anonymous verifiable public key certificates |
EP2211508A1 (en) | 2009-01-22 | 2010-07-28 | IBBT vzw | Method and device for characterising a data flow in a network for transferring media data |
US8566362B2 (en) | 2009-01-23 | 2013-10-22 | Nasuni Corporation | Method and system for versioned file system using structured data representations |
US20120005724A1 (en) | 2009-02-09 | 2012-01-05 | Imera Systems, Inc. | Method and system for protecting private enterprise resources in a cloud computing environment |
US8510735B2 (en) | 2009-02-11 | 2013-08-13 | International Business Machines Corporation | Runtime environment for virtualizing information technology appliances |
US8341427B2 (en) | 2009-02-16 | 2012-12-25 | Microsoft Corporation | Trusted cloud computing and services framework |
US9473555B2 (en) | 2012-12-31 | 2016-10-18 | The Nielsen Company (Us), Llc | Apparatus, system and methods for portable device tracking using temporary privileged access |
EP2228719A1 (en) | 2009-03-11 | 2010-09-15 | Zimory GmbH | Method of executing a virtual machine, computing system and computer program |
US8271615B2 (en) | 2009-03-31 | 2012-09-18 | Cloud Connex, Llc | Centrally managing and monitoring software as a service (SaaS) applications |
US8560639B2 (en) | 2009-04-24 | 2013-10-15 | Microsoft Corporation | Dynamic placement of replica data |
US8516106B2 (en) | 2009-05-18 | 2013-08-20 | International Business Machines Corporation | Use tag clouds to visualize components related to an event |
TW201112006A (en) | 2009-05-29 | 2011-04-01 | Ibm | Computer system, method and program product |
US8639787B2 (en) | 2009-06-01 | 2014-01-28 | Oracle International Corporation | System and method for creating or reconfiguring a virtual server image for cloud deployment |
US20100318609A1 (en) | 2009-06-15 | 2010-12-16 | Microsoft Corporation | Bridging enterprise networks into cloud |
KR101626117B1 (ko) | 2009-06-22 | 2016-05-31 | 삼성전자주식회사 | 클라우드 스토리지를 제공하는 클라이언트, 중개 서버 및 방법 |
US8281149B2 (en) | 2009-06-23 | 2012-10-02 | Google Inc. | Privacy-preserving flexible anonymous-pseudonymous access |
US8244559B2 (en) | 2009-06-26 | 2012-08-14 | Microsoft Corporation | Cloud computing resource broker |
US20100333116A1 (en) | 2009-06-30 | 2010-12-30 | Anand Prahlad | Cloud gateway system for managing data storage to cloud storage sites |
US8234377B2 (en) | 2009-07-22 | 2012-07-31 | Amazon Technologies, Inc. | Dynamically migrating computer networks |
US8966475B2 (en) | 2009-08-10 | 2015-02-24 | Novell, Inc. | Workload management for heterogeneous hosts in a computing system environment |
US8495725B2 (en) | 2009-08-28 | 2013-07-23 | Great Wall Systems | Methods, systems, and computer readable media for adaptive packet filtering |
US8271653B2 (en) | 2009-08-31 | 2012-09-18 | Red Hat, Inc. | Methods and systems for cloud management using multiple cloud management schemes to allow communication between independently controlled clouds |
US8862720B2 (en) | 2009-08-31 | 2014-10-14 | Red Hat, Inc. | Flexible cloud management including external clouds |
US8510469B2 (en) | 2009-08-31 | 2013-08-13 | Cisco Technology, Inc. | Measuring attributes of client-server applications |
US20110072489A1 (en) | 2009-09-23 | 2011-03-24 | Gilad Parann-Nissany | Methods, devices, and media for securely utilizing a non-secured, distributed, virtualized network resource with applications to cloud-computing security and management |
JP2011076292A (ja) | 2009-09-30 | 2011-04-14 | Hitachi Ltd | 取得可能な機器情報に応じた障害原因解析ルールの設計方法及び計算機 |
US8532108B2 (en) | 2009-09-30 | 2013-09-10 | Alcatel Lucent | Layer 2 seamless site extension of enterprises in cloud computing |
US8880682B2 (en) | 2009-10-06 | 2014-11-04 | Emc Corporation | Integrated forensics platform for analyzing IT resources consumed to derive operational and architectural recommendations |
US20110110382A1 (en) | 2009-11-10 | 2011-05-12 | Cisco Technology, Inc., A Corporation Of California | Distribution of Packets Among PortChannel Groups of PortChannel Links |
US8611356B2 (en) | 2009-11-13 | 2013-12-17 | Exalt Communications Incorporated | Apparatus for ethernet traffic aggregation of radio links |
US20110126197A1 (en) | 2009-11-25 | 2011-05-26 | Novell, Inc. | System and method for controlling cloud and virtualized data centers in an intelligent workload management system |
CN101719930A (zh) | 2009-11-27 | 2010-06-02 | 南京邮电大学 | 一种基于云币的层次式云端计算系统激励方法 |
GB2475897A (en) | 2009-12-04 | 2011-06-08 | Creme Software Ltd | Resource allocation using estimated time to complete jobs in a grid or cloud computing environment |
US8037187B2 (en) | 2009-12-11 | 2011-10-11 | International Business Machines Corporation | Resource exchange management within a cloud computing environment |
US20130117337A1 (en) | 2009-12-23 | 2013-05-09 | Gary M. Dunham | Locally Connected Cloud Storage Device |
US9959147B2 (en) | 2010-01-13 | 2018-05-01 | Vmware, Inc. | Cluster configuration through host ranking |
US9883008B2 (en) | 2010-01-15 | 2018-01-30 | Endurance International Group, Inc. | Virtualization of multiple distinct website hosting architectures |
US8301746B2 (en) | 2010-01-26 | 2012-10-30 | International Business Machines Corporation | Method and system for abstracting non-functional requirements based deployment of virtual machines |
US8549146B2 (en) | 2010-01-28 | 2013-10-01 | Telefonaktiebolaget L M Ericsson (Publ) | Stateless forwarding of load balanced packets |
TWI389525B (zh) | 2010-02-25 | 2013-03-11 | Gemtek Technology Co Ltd | 具有多網段存取性的資料傳輸系統及其方法 |
US8898457B2 (en) | 2010-02-26 | 2014-11-25 | Red Hat, Inc. | Automatically generating a certificate operation request |
US9129086B2 (en) | 2010-03-04 | 2015-09-08 | International Business Machines Corporation | Providing security services within a cloud computing environment |
US20110252327A1 (en) | 2010-03-26 | 2011-10-13 | Actiance, Inc. | Methods, systems, and user interfaces for graphical summaries of network activities |
US20110239039A1 (en) | 2010-03-26 | 2011-09-29 | Dieffenbach Devon C | Cloud computing enabled robust initialization and recovery of it services |
US8886806B2 (en) | 2010-04-07 | 2014-11-11 | Accenture Global Services Limited | Generic control layer in a cloud environment |
US8243598B2 (en) | 2010-04-26 | 2012-08-14 | International Business Machines Corporation | Load-balancing via modulus distribution and TCP flow redirection due to server overload |
US8345692B2 (en) | 2010-04-27 | 2013-01-01 | Cisco Technology, Inc. | Virtual switching overlay for cloud computing |
US8547974B1 (en) | 2010-05-05 | 2013-10-01 | Mu Dynamics | Generating communication protocol test cases based on network traffic |
US8719804B2 (en) | 2010-05-05 | 2014-05-06 | Microsoft Corporation | Managing runtime execution of applications on cloud computing systems |
US8688792B2 (en) | 2010-05-06 | 2014-04-01 | Nec Laboratories America, Inc. | Methods and systems for discovering configuration data |
US8499093B2 (en) | 2010-05-14 | 2013-07-30 | Extreme Networks, Inc. | Methods, systems, and computer readable media for stateless load balancing of network traffic flows |
US8910278B2 (en) | 2010-05-18 | 2014-12-09 | Cloudnexa | Managing services in a cloud computing environment |
CN102255933B (zh) | 2010-05-20 | 2016-03-30 | 中兴通讯股份有限公司 | 云服务中介、云计算方法及云系统 |
US8954564B2 (en) | 2010-05-28 | 2015-02-10 | Red Hat, Inc. | Cross-cloud vendor mapping service in cloud marketplace |
US8477610B2 (en) | 2010-05-31 | 2013-07-02 | Microsoft Corporation | Applying policies to schedule network bandwidth among virtual machines |
WO2011152910A1 (en) | 2010-06-02 | 2011-12-08 | Vmware, Inc. | Securing customer virtual machines in a multi-tenant cloud |
US8352415B2 (en) | 2010-06-15 | 2013-01-08 | International Business Machines Corporation | Converting images in virtual environments |
US8705395B2 (en) | 2010-06-15 | 2014-04-22 | Jds Uniphase Corporation | Method for time aware inline remote mirroring |
US8135979B2 (en) | 2010-06-24 | 2012-03-13 | Hewlett-Packard Development Company, L.P. | Collecting network-level packets into a data structure in response to an abnormal condition |
US9201701B2 (en) | 2010-07-16 | 2015-12-01 | Nokia Technologies Oy | Method and apparatus for distributing computation closures |
TWM394537U (en) | 2010-08-17 | 2010-12-11 | Chunghwa Telecom Co Ltd | A system for providing web cloud integrated services |
US8473557B2 (en) | 2010-08-24 | 2013-06-25 | At&T Intellectual Property I, L.P. | Methods and apparatus to migrate virtual machines between distributive computing networks across a wide area network |
US8656023B1 (en) | 2010-08-26 | 2014-02-18 | Adobe Systems Incorporated | Optimization scheduler for deploying applications on a cloud |
US9311158B2 (en) | 2010-09-03 | 2016-04-12 | Adobe Systems Incorporated | Determining a work distribution model between a client device and a cloud for an application deployed on the cloud |
US8539597B2 (en) | 2010-09-16 | 2013-09-17 | International Business Machines Corporation | Securing sensitive data for cloud computing |
US8572241B2 (en) | 2010-09-17 | 2013-10-29 | Microsoft Corporation | Integrating external and cluster heat map data |
US8413145B2 (en) | 2010-09-30 | 2013-04-02 | Avaya Inc. | Method and apparatus for efficient memory replication for high availability (HA) protection of a virtual machine (VM) |
WO2012042509A1 (en) | 2010-10-01 | 2012-04-05 | Peter Chacko | A distributed virtual storage cloud architecture and a method thereof |
US20120084445A1 (en) | 2010-10-05 | 2012-04-05 | Brock Scott L | Automatic replication and migration of live virtual machines |
EP2439637A1 (en) | 2010-10-07 | 2012-04-11 | Deutsche Telekom AG | Method and system of providing access to a virtual machine distributed in a hybrid cloud network |
US8797867B1 (en) | 2010-10-18 | 2014-08-05 | Juniper Networks, Inc. | Generating and enforcing a holistic quality of service policy in a network |
US9075661B2 (en) | 2010-10-20 | 2015-07-07 | Microsoft Technology Licensing, Llc | Placing objects on hosts using hard and soft constraints |
US8909744B2 (en) | 2010-10-20 | 2014-12-09 | Hcl Technologies Limited | System and method for transitioning to cloud computing environment |
US8407413B1 (en) | 2010-11-05 | 2013-03-26 | Netapp, Inc | Hardware flow classification for data storage services |
US8612615B2 (en) | 2010-11-23 | 2013-12-17 | Red Hat, Inc. | Systems and methods for identifying usage histories for producing optimized cloud utilization |
JP5725812B2 (ja) | 2010-11-25 | 2015-05-27 | キヤノン株式会社 | 文書処理装置、文書処理方法、及びプログラム |
US8560792B2 (en) | 2010-12-16 | 2013-10-15 | International Business Machines Corporation | Synchronous extent migration protocol for paired storage |
US10176018B2 (en) | 2010-12-21 | 2019-01-08 | Intel Corporation | Virtual core abstraction for cloud computing |
US8495356B2 (en) | 2010-12-31 | 2013-07-23 | International Business Machines Corporation | System for securing virtual machine disks on a remote shared storage subsystem |
US8935383B2 (en) | 2010-12-31 | 2015-01-13 | Verisign, Inc. | Systems, apparatus, and methods for network data analysis |
US20120179909A1 (en) | 2011-01-06 | 2012-07-12 | Pitney Bowes Inc. | Systems and methods for providing individual electronic document secure storage, retrieval and use |
US8448171B2 (en) | 2011-01-07 | 2013-05-21 | International Business Machines Corporation | Communications between virtual machines that have been migrated |
US20120182891A1 (en) | 2011-01-19 | 2012-07-19 | Youngseok Lee | Packet analysis system and method using hadoop based parallel computation |
US9225554B2 (en) | 2011-01-26 | 2015-12-29 | Cisco Technology, Inc. | Device-health-based dynamic configuration of network management systems suited for network operations |
US8619568B2 (en) | 2011-02-04 | 2013-12-31 | Cisco Technology, Inc. | Reassignment of distributed packet flows |
US9063789B2 (en) | 2011-02-08 | 2015-06-23 | International Business Machines Corporation | Hybrid cloud integrator plug-in components |
US8805951B1 (en) | 2011-02-08 | 2014-08-12 | Emc Corporation | Virtual machines and cloud storage caching for cloud computing applications |
US9009697B2 (en) | 2011-02-08 | 2015-04-14 | International Business Machines Corporation | Hybrid cloud integrator |
ES2595605T3 (es) | 2011-02-22 | 2017-01-02 | Fedex Corporate Services, Inc. | Sistema y método para geotránsito de datos de sensor a través de una arquitectura global distribuida (nube) |
US8832818B2 (en) | 2011-02-28 | 2014-09-09 | Rackspace Us, Inc. | Automated hybrid connections between multiple environments in a data center |
US20120236716A1 (en) | 2011-03-14 | 2012-09-20 | Atheros Communications, Inc. | Profile-based quality of service for wireless communication systems |
KR101544482B1 (ko) | 2011-03-15 | 2015-08-21 | 주식회사 케이티 | 클라우드센터제어장치 및 그의 클라우드센터선택방법 |
US8839363B2 (en) | 2011-04-18 | 2014-09-16 | Bank Of America Corporation | Trusted hardware for attesting to authenticity in a cloud environment |
KR101544485B1 (ko) | 2011-04-25 | 2015-08-17 | 주식회사 케이티 | 클라우드 스토리지 시스템에서 복수개의 복제본을 분산 저장하는 방법 및 장치 |
US8869244B1 (en) | 2011-05-03 | 2014-10-21 | Symantec Corporation | Techniques for providing role-based access control using dynamic shared accounts |
US8806015B2 (en) | 2011-05-04 | 2014-08-12 | International Business Machines Corporation | Workload-aware placement in private heterogeneous clouds |
US9253252B2 (en) | 2011-05-06 | 2016-02-02 | Citrix Systems, Inc. | Systems and methods for cloud bridging between intranet resources and cloud resources |
US9253159B2 (en) | 2011-05-06 | 2016-02-02 | Citrix Systems, Inc. | Systems and methods for cloud bridging between public and private clouds |
US8977754B2 (en) | 2011-05-09 | 2015-03-10 | Metacloud Inc. | Composite public cloud, method and system |
US8590050B2 (en) | 2011-05-11 | 2013-11-19 | International Business Machines Corporation | Security compliant data storage management |
CN102164091B (zh) | 2011-05-13 | 2015-01-21 | 北京星网锐捷网络技术有限公司 | 一种mac地址表建立方法及运营商边缘设备 |
US8719627B2 (en) | 2011-05-20 | 2014-05-06 | Microsoft Corporation | Cross-cloud computing for capacity management and disaster recovery |
US9244751B2 (en) | 2011-05-31 | 2016-01-26 | Hewlett Packard Enterprise Development Lp | Estimating a performance parameter of a job having map and reduce tasks after a failure |
US9104460B2 (en) | 2011-05-31 | 2015-08-11 | Red Hat, Inc. | Inter-cloud live migration of virtualization systems |
US8984104B2 (en) | 2011-05-31 | 2015-03-17 | Red Hat, Inc. | Self-moving operating system installation in cloud-based network |
US8959526B2 (en) | 2011-06-09 | 2015-02-17 | Microsoft Corporation | Scheduling execution of complementary jobs based on resource usage |
US8806003B2 (en) | 2011-06-14 | 2014-08-12 | International Business Machines Corporation | Forecasting capacity available for processing workloads in a networked computing environment |
US8547975B2 (en) | 2011-06-28 | 2013-10-01 | Verisign, Inc. | Parallel processing for multiple instance real-time monitoring |
US8589543B2 (en) | 2011-07-01 | 2013-11-19 | Cisco Technology, Inc. | Virtual data center monitoring |
US8959003B2 (en) | 2011-07-07 | 2015-02-17 | International Business Machines Corporation | Interactive data visualization for trend analysis |
US20130036213A1 (en) | 2011-08-02 | 2013-02-07 | Masum Hasan | Virtual private clouds |
CN107071087B (zh) | 2011-08-17 | 2021-01-26 | Nicira股份有限公司 | 逻辑l3路由 |
WO2013028211A1 (en) | 2011-08-19 | 2013-02-28 | Hewlett-Packard Development Company, L.P. | Providing a simulation service by a cloud-based infrastructure |
US8630291B2 (en) | 2011-08-22 | 2014-01-14 | Cisco Technology, Inc. | Dynamic multi-path forwarding for shared-media communication networks |
WO2013046287A1 (ja) | 2011-09-26 | 2013-04-04 | 株式会社日立製作所 | 根本原因を解析する管理計算機及び方法 |
CN103023762A (zh) | 2011-09-27 | 2013-04-03 | 阿尔卡特朗讯公司 | 云计算接入网关及用于提供用户终端接入云提供商的方法 |
US8560663B2 (en) | 2011-09-30 | 2013-10-15 | Telefonaktiebolaget L M Ericsson (Publ) | Using MPLS for virtual private cloud network isolation in openflow-enabled cloud computing |
US9250941B2 (en) | 2011-09-30 | 2016-02-02 | Telefonaktiebolaget L M Ericsson (Publ) | Apparatus and method for segregating tenant specific data when using MPLS in openflow-enabled cloud computing |
US20130091557A1 (en) | 2011-10-11 | 2013-04-11 | Wheel Innovationz, Inc. | System and method for providing cloud-based cross-platform application stores for mobile computing devices |
DE102012217202B4 (de) | 2011-10-12 | 2020-06-18 | International Business Machines Corporation | Verfahren und System zum Optimieren des Platzierens virtueller Maschinen in Cloud-Computing-Umgebungen |
US9201690B2 (en) | 2011-10-21 | 2015-12-01 | International Business Machines Corporation | Resource aware scheduling in a distributed computing environment |
US8897154B2 (en) | 2011-10-24 | 2014-11-25 | A10 Networks, Inc. | Combining stateless and stateful server load balancing |
US8789179B2 (en) | 2011-10-28 | 2014-07-22 | Novell, Inc. | Cloud protection techniques |
US9311160B2 (en) | 2011-11-10 | 2016-04-12 | Verizon Patent And Licensing Inc. | Elastic cloud networking |
US8832249B2 (en) | 2011-11-30 | 2014-09-09 | At&T Intellectual Property I, L.P. | Methods and apparatus to adjust resource allocation in a distributive computing network |
US9916184B2 (en) | 2011-12-02 | 2018-03-13 | International Business Machines Corporation | Data relocation in global storage cloud environments |
US20130152076A1 (en) | 2011-12-07 | 2013-06-13 | Cisco Technology, Inc. | Network Access Control Policy for Virtual Machine Migration |
US9113376B2 (en) | 2011-12-09 | 2015-08-18 | Cisco Technology, Inc. | Multi-interface mobility |
US8694995B2 (en) | 2011-12-14 | 2014-04-08 | International Business Machines Corporation | Application initiated negotiations for resources meeting a performance parameter in a virtualized computing environment |
US8832262B2 (en) | 2011-12-15 | 2014-09-09 | Cisco Technology, Inc. | Normalizing network performance indexes |
US10134056B2 (en) | 2011-12-16 | 2018-11-20 | Ebay Inc. | Systems and methods for providing information based on location |
US8860777B2 (en) | 2011-12-22 | 2014-10-14 | Verizon Patent And Licensing Inc. | Multi-enterprise video conference service |
US8547379B2 (en) | 2011-12-29 | 2013-10-01 | Joyent, Inc. | Systems, methods, and media for generating multidimensional heat maps |
US8555339B2 (en) | 2012-01-06 | 2013-10-08 | International Business Machines Corporation | Identifying guests in web meetings |
US8908698B2 (en) | 2012-01-13 | 2014-12-09 | Cisco Technology, Inc. | System and method for managing site-to-site VPNs of a cloud managed network |
US8732291B2 (en) | 2012-01-13 | 2014-05-20 | Accenture Global Services Limited | Performance interference model for managing consolidated workloads in QOS-aware clouds |
US9529348B2 (en) | 2012-01-24 | 2016-12-27 | Emerson Process Management Power & Water Solutions, Inc. | Method and apparatus for deploying industrial plant simulators using cloud computing technologies |
US9900231B2 (en) | 2012-01-27 | 2018-02-20 | Microsoft Technology Licensing, Llc | Managing data transfers over network connections based on priority and a data usage plan |
US8660129B1 (en) | 2012-02-02 | 2014-02-25 | Cisco Technology, Inc. | Fully distributed routing over a user-configured on-demand virtual network for infrastructure-as-a-service (IaaS) on hybrid cloud networks |
US8553552B2 (en) | 2012-02-08 | 2013-10-08 | Radisys Corporation | Stateless load balancer in a multi-node system for transparent processing with packet preservation |
US9451303B2 (en) | 2012-02-27 | 2016-09-20 | The Nielsen Company (Us), Llc | Method and system for gathering and computing an audience's neurologically-based reactions in a distributed framework involving remote storage and computing |
US10097406B2 (en) | 2012-03-19 | 2018-10-09 | Level 3 Communications, Llc | Systems and methods for data mobility with a cloud architecture |
US9350671B2 (en) | 2012-03-22 | 2016-05-24 | Futurewei Technologies, Inc. | Supporting software defined networking with application layer traffic optimization |
US20130254415A1 (en) | 2012-03-26 | 2013-09-26 | F. Brian Fullen | Routing requests over a network |
EP2645257A3 (en) | 2012-03-29 | 2014-06-18 | Prelert Ltd. | System and method for visualisation of behaviour within computer infrastructure |
FR2988943A1 (fr) | 2012-03-29 | 2013-10-04 | France Telecom | Systeme de supervision de la securite d'une architecture |
US8930747B2 (en) | 2012-03-30 | 2015-01-06 | Sungard Availability Services, Lp | Private cloud replication and recovery |
US9164795B1 (en) | 2012-03-30 | 2015-10-20 | Amazon Technologies, Inc. | Secure tunnel infrastructure between hosts in a hybrid network environment |
US8856339B2 (en) | 2012-04-04 | 2014-10-07 | Cisco Technology, Inc. | Automatically scaled network overlay with heuristic monitoring in a hybrid cloud environment |
US9313048B2 (en) | 2012-04-04 | 2016-04-12 | Cisco Technology, Inc. | Location aware virtual service provisioning in a hybrid cloud environment |
US9201704B2 (en) | 2012-04-05 | 2015-12-01 | Cisco Technology, Inc. | System and method for migrating application virtual machines in a network environment |
US8775576B2 (en) | 2012-04-17 | 2014-07-08 | Nimbix, Inc. | Reconfigurable cloud computing |
US9203784B2 (en) | 2012-04-24 | 2015-12-01 | Cisco Technology, Inc. | Distributed virtual switch architecture for a hybrid cloud |
US8918510B2 (en) | 2012-04-27 | 2014-12-23 | Hewlett-Packard Development Company, L. P. | Evaluation of cloud computing services |
US9223634B2 (en) | 2012-05-02 | 2015-12-29 | Cisco Technology, Inc. | System and method for simulating virtual machine migration in a network environment |
US9218196B2 (en) * | 2012-05-17 | 2015-12-22 | International Business Machines Corporation | Performing pre-stage replication of data associated with virtual machines prior to migration of virtual machines based on resource usage |
WO2013186870A1 (ja) | 2012-06-13 | 2013-12-19 | 株式会社日立製作所 | サービス監視システム、及び、サービス監視方法 |
US9183031B2 (en) | 2012-06-19 | 2015-11-10 | Bank Of America Corporation | Provisioning of a virtual machine by using a secured zone of a cloud environment |
US8938775B1 (en) | 2012-06-27 | 2015-01-20 | Amazon Technologies, Inc. | Dynamic data loss prevention in a multi-tenant environment |
US8909857B2 (en) | 2012-06-29 | 2014-12-09 | Broadcom Corporation | Efficient storage of ACL frequent ranges in a ternary memory |
US9215131B2 (en) | 2012-06-29 | 2015-12-15 | Cisco Technology, Inc. | Methods for exchanging network management messages using UDP over HTTP protocol |
US20140006585A1 (en) | 2012-06-29 | 2014-01-02 | Futurewei Technologies, Inc. | Providing Mobility in Overlay Networks |
US8850002B1 (en) | 2012-07-02 | 2014-09-30 | Amazon Technologies, Inc. | One-to many stateless load balancing |
US20140052877A1 (en) | 2012-08-16 | 2014-02-20 | Wenbo Mao | Method and apparatus for tenant programmable logical network for multi-tenancy cloud datacenters |
US9167050B2 (en) | 2012-08-16 | 2015-10-20 | Futurewei Technologies, Inc. | Control pool based enterprise policy enabler for controlled cloud access |
US9582221B2 (en) | 2012-08-24 | 2017-02-28 | Vmware, Inc. | Virtualization-aware data locality in distributed data processing |
US10097378B2 (en) | 2012-09-07 | 2018-10-09 | Cisco Technology, Inc. | Efficient TCAM resource sharing |
US9047181B2 (en) | 2012-09-07 | 2015-06-02 | Splunk Inc. | Visualization of data from clusters |
US9069979B2 (en) | 2012-09-07 | 2015-06-30 | Oracle International Corporation | LDAP-based multi-tenant in-cloud identity management system |
US9634922B2 (en) | 2012-09-11 | 2017-04-25 | Board Of Regents Of The Nevada System Of Higher Education, On Behalf Of The University Of Nevada, Reno | Apparatus, system, and method for cloud-assisted routing |
US9383900B2 (en) | 2012-09-12 | 2016-07-05 | International Business Machines Corporation | Enabling real-time operational environment conformity to an enterprise model |
US8924720B2 (en) | 2012-09-27 | 2014-12-30 | Intel Corporation | Method and system to securely migrate and provision virtual machine images and content |
US8850182B1 (en) | 2012-09-28 | 2014-09-30 | Shoretel, Inc. | Data capture for secure protocols |
US9301205B2 (en) | 2012-10-04 | 2016-03-29 | Benu Networks, Inc. | Application and content awareness for self optimizing networks |
JP6423348B2 (ja) | 2012-10-08 | 2018-11-14 | フィッシャー−ローズマウント システムズ,インコーポレイテッド | 動的に再使用可能なクラス |
US9424437B1 (en) | 2012-10-12 | 2016-08-23 | Egnyte, Inc. | Systems and methods for providing file access in a hybrid cloud storage system |
US9361192B2 (en) | 2012-10-19 | 2016-06-07 | Oracle International Corporation | Method and apparatus for restoring an instance of a storage server |
US9264478B2 (en) | 2012-10-30 | 2016-02-16 | Microsoft Technology Licensing, Llc | Home cloud with virtualized input and output roaming over network |
US9424228B2 (en) | 2012-11-01 | 2016-08-23 | Ezchip Technologies Ltd. | High performance, scalable multi chip interconnect |
US9442954B2 (en) | 2012-11-12 | 2016-09-13 | Datawise Systems | Method and apparatus for achieving optimal resource allocation dynamically in a distributed computing environment |
US20140140211A1 (en) | 2012-11-16 | 2014-05-22 | Cisco Technology, Inc. | Classification of traffic for application aware policies in a wireless network |
US9398436B2 (en) | 2012-11-21 | 2016-07-19 | Acer Incorporated | Cloud service for making social connections |
US9049115B2 (en) | 2012-12-13 | 2015-06-02 | Cisco Technology, Inc. | Enabling virtual workloads using overlay technologies to interoperate with physical network services |
US9268808B2 (en) | 2012-12-31 | 2016-02-23 | Facebook, Inc. | Placement policy |
US9122510B2 (en) | 2013-01-02 | 2015-09-01 | International Business Machines Corporation | Querying and managing computing resources in a networked computing environment |
CN105144652A (zh) | 2013-01-24 | 2015-12-09 | 惠普发展公司,有限责任合伙企业 | 软件定义的网络中的地址解析 |
US20140215471A1 (en) | 2013-01-28 | 2014-07-31 | Hewlett-Packard Development Company, L.P. | Creating a model relating to execution of a job on platforms |
US9274818B2 (en) | 2013-02-06 | 2016-03-01 | International Business Machines Corporation | Reliable and scalable image transfer for data centers with low connectivity using redundancy detection |
US9525564B2 (en) | 2013-02-26 | 2016-12-20 | Zentera Systems, Inc. | Secure virtual network platform for enterprise hybrid cloud computing environments |
US9183016B2 (en) | 2013-02-27 | 2015-11-10 | Vmware, Inc. | Adaptive task scheduling of Hadoop in a virtualized environment |
US9251115B2 (en) | 2013-03-07 | 2016-02-02 | Citrix Systems, Inc. | Dynamic configuration in cloud computing environments |
US9027087B2 (en) | 2013-03-14 | 2015-05-05 | Rackspace Us, Inc. | Method and system for identity-based authentication of virtual machines |
US9043439B2 (en) | 2013-03-14 | 2015-05-26 | Cisco Technology, Inc. | Method for streaming packet captures from network access devices to a cloud server over HTTP |
US9244775B2 (en) | 2013-03-14 | 2016-01-26 | International Business Machines Corporation | Reducing reading of database logs by persisting long-running transaction data |
US10243862B2 (en) | 2013-03-15 | 2019-03-26 | Gigamon Inc. | Systems and methods for sampling packets in a network flow |
KR102098697B1 (ko) | 2013-03-15 | 2020-04-08 | 삼성전자주식회사 | 비휘발성 메모리 시스템, 이를 포함하는 시스템 및 상기 비휘발성 메모리 시스템의 적응적 사용자 저장 영역 조절 방법 |
US20140280964A1 (en) | 2013-03-15 | 2014-09-18 | Gravitant, Inc. | Systems, methods and computer readable mediums for implementing cloud service brokerage platform functionalities |
US8954992B2 (en) | 2013-03-15 | 2015-02-10 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Distributed and scaled-out network switch and packet processing |
JP5983484B2 (ja) | 2013-03-21 | 2016-08-31 | 富士通株式会社 | 情報処理システム、情報処理装置を制御する制御プログラム及び情報処理システムの制御方法 |
US20140295831A1 (en) | 2013-03-29 | 2014-10-02 | Broadcom Corporation | Background Paging Monitoring in Dual SIM Wireless Communication Device |
US9438495B2 (en) | 2013-04-02 | 2016-09-06 | Amazon Technologies, Inc. | Visualization of resources in a data center |
US9613322B2 (en) | 2013-04-02 | 2017-04-04 | Orbis Technologies, Inc. | Data center analytics and dashboard |
US10135914B2 (en) | 2013-04-16 | 2018-11-20 | Amazon Technologies, Inc. | Connection publishing in a distributed load balancer |
US9432245B1 (en) | 2013-04-16 | 2016-08-30 | Amazon Technologies, Inc. | Distributed load balancer node architecture |
US10038626B2 (en) | 2013-04-16 | 2018-07-31 | Amazon Technologies, Inc. | Multipath routing in a distributed load balancer |
US10069903B2 (en) | 2013-04-16 | 2018-09-04 | Amazon Technologies, Inc. | Distributed load balancer |
US9973375B2 (en) | 2013-04-22 | 2018-05-15 | Cisco Technology, Inc. | App store portal providing point-and-click deployment of third-party virtualized network functions |
US9397929B2 (en) | 2013-04-22 | 2016-07-19 | Ciena Corporation | Forwarding multicast packets over different layer-2 segments |
US9794379B2 (en) | 2013-04-26 | 2017-10-17 | Cisco Technology, Inc. | High-efficiency service chaining with agentless service nodes |
US9407540B2 (en) | 2013-09-06 | 2016-08-02 | Cisco Technology, Inc. | Distributed service chaining in a network environment |
US9560126B2 (en) | 2013-05-06 | 2017-01-31 | Alcatel Lucent | Stateless load balancing of connections |
US9560172B2 (en) | 2013-05-06 | 2017-01-31 | Alcatel Lucent | Stateless recognition of keep-alive packets |
US9246799B2 (en) | 2013-05-10 | 2016-01-26 | Cisco Technology, Inc. | Data plane learning of bi-directional service chains |
US9444675B2 (en) | 2013-06-07 | 2016-09-13 | Cisco Technology, Inc. | Determining the operations performed along a service path/service chain |
US9521028B2 (en) | 2013-06-07 | 2016-12-13 | Alcatel Lucent | Method and apparatus for providing software defined network flow distribution |
US20140366155A1 (en) | 2013-06-11 | 2014-12-11 | Cisco Technology, Inc. | Method and system of providing storage services in multiple public clouds |
US9621642B2 (en) | 2013-06-17 | 2017-04-11 | Telefonaktiebolaget Lm Ericsson (Publ) | Methods of forwarding data packets using transient tables and related load balancers |
US9137165B2 (en) | 2013-06-17 | 2015-09-15 | Telefonaktiebolaget L M Ericsson (Publ) | Methods of load balancing using primary and stand-by addresses and related load balancers and servers |
US9509614B2 (en) | 2013-06-20 | 2016-11-29 | Cisco Technology, Inc. | Hierarchical load balancing in a network environment |
US9632858B2 (en) | 2013-07-28 | 2017-04-25 | OpsClarity Inc. | Organizing network performance metrics into historical anomaly dependency data |
US9426060B2 (en) | 2013-08-07 | 2016-08-23 | International Business Machines Corporation | Software defined network (SDN) switch clusters having layer-3 distributed router functionality |
US9311140B2 (en) | 2013-08-13 | 2016-04-12 | Vmware, Inc. | Method and apparatus for extending local area networks between clouds and migrating virtual machines using static network addresses |
US9338223B2 (en) | 2013-08-14 | 2016-05-10 | Verizon Patent And Licensing Inc. | Private cloud topology management system |
US9043576B2 (en) | 2013-08-21 | 2015-05-26 | Simplivity Corporation | System and method for virtual machine conversion |
US9686154B2 (en) | 2013-08-21 | 2017-06-20 | International Business Machines Corporation | Generating a service-catalog entry from discovered attributes of provisioned virtual machines |
US20150085870A1 (en) | 2013-09-25 | 2015-03-26 | Cisco Technology, Inc. | Co-operative load sharing and redundancy in distributed service chains in a network environment |
US9491094B2 (en) | 2013-09-25 | 2016-11-08 | Cisco Techonology, Inc. | Path optimization in distributed service chains in a network environment |
US9379982B1 (en) | 2013-09-30 | 2016-06-28 | Juniper Networks, Inc. | Adaptive stateless load balancing |
US9385950B2 (en) | 2013-10-14 | 2016-07-05 | Cisco Technology, Inc. | Configurable service proxy local identifier mapping |
US9304804B2 (en) | 2013-10-14 | 2016-04-05 | Vmware, Inc. | Replicating virtual machines across different virtualization platforms |
US20150106805A1 (en) | 2013-10-15 | 2015-04-16 | Cisco Technology, Inc. | Accelerated instantiation of cloud resource |
US9634944B2 (en) | 2013-10-24 | 2017-04-25 | Dell Products, Lp | Multi-level iSCSI QoS for target differentiated data in DCB networks |
US9787586B2 (en) | 2013-10-24 | 2017-10-10 | University Of Houston System | Location-based network routing |
US20150124622A1 (en) | 2013-11-01 | 2015-05-07 | Movik Networks, Inc. | Multi-Interface, Multi-Layer State-full Load Balancer For RAN-Analytics Deployments In Multi-Chassis, Cloud And Virtual Server Environments |
US9300585B2 (en) | 2013-11-15 | 2016-03-29 | Cisco Technology, Inc. | Shortening of service paths in service chains in a communications network |
KR20150070676A (ko) | 2013-12-17 | 2015-06-25 | 소프팅스 주식회사 | 퍼스널 홈 클라우드 컴퓨터 시스템 |
US10915449B2 (en) | 2013-12-19 | 2021-02-09 | Hewlett Packard Enterprise Development Lp | Prioritizing data requests based on quality of service |
US20150189009A1 (en) | 2013-12-30 | 2015-07-02 | Alcatel-Lucent Canada Inc. | Distributed multi-level stateless load balancing |
WO2015100656A1 (zh) | 2013-12-31 | 2015-07-09 | 华为技术有限公司 | 一种实现虚拟机通信的方法和装置 |
US9992103B2 (en) | 2014-01-24 | 2018-06-05 | Cisco Technology, Inc. | Method for providing sticky load balancing |
US9529657B2 (en) | 2014-02-07 | 2016-12-27 | Oracle International Corporation | Techniques for generating diagnostic identifiers to trace events and identifying related diagnostic information |
US9678731B2 (en) | 2014-02-26 | 2017-06-13 | Vmware, Inc. | Methods and apparatus to generate a customized application blueprint |
US20150249709A1 (en) | 2014-02-28 | 2015-09-03 | Vmware, Inc. | Extending cloud storage with private devices |
US9705778B2 (en) | 2014-03-06 | 2017-07-11 | International Business Machines Corporation | Deploying operators of a streaming application based on physical location attributes of a virtual machine |
US9535734B2 (en) | 2014-03-06 | 2017-01-03 | International Business Machines Corporation | Managing stream components based on virtual machine performance adjustments |
US9344337B2 (en) | 2014-03-13 | 2016-05-17 | Cisco Technology, Inc. | Service node originated service chains in a network environment |
US9591064B2 (en) | 2014-03-31 | 2017-03-07 | Verizon Patent And Licensing Inc. | Method and apparatus for dynamic provisioning of communication services |
US9722945B2 (en) | 2014-03-31 | 2017-08-01 | Microsoft Technology Licensing, Llc | Dynamically identifying target capacity when scaling cloud resources |
US9755858B2 (en) | 2014-04-15 | 2017-09-05 | Cisco Technology, Inc. | Programmable infrastructure gateway for enabling hybrid cloud services in a network environment |
US20150309908A1 (en) | 2014-04-29 | 2015-10-29 | Hewlett-Packard Development Company, L.P. | Generating an interactive visualization of metrics collected for functional entities |
US20150319063A1 (en) | 2014-04-30 | 2015-11-05 | Jive Communications, Inc. | Dynamically associating a datacenter with a network device |
US9473365B2 (en) | 2014-05-08 | 2016-10-18 | Cisco Technology, Inc. | Collaborative inter-service scheduling of logical resources in cloud platforms |
US9483378B2 (en) | 2014-05-21 | 2016-11-01 | Dynatrace Llc | Method and system for resource monitoring of large-scale, orchestrated, multi process job execution environments |
US9582254B2 (en) | 2014-05-22 | 2017-02-28 | Oracle International Corporation | Generating runtime components |
US9398486B2 (en) | 2014-06-10 | 2016-07-19 | Cisco Technology, Inc. | Conveying subscriber information to service chain services using tunnel protocol header encapsulation for mobile network applications in a network environment |
US9426221B2 (en) | 2014-06-18 | 2016-08-23 | International Business Machines Corporation | Dynamic proximity based networked storage |
US10375024B2 (en) | 2014-06-20 | 2019-08-06 | Zscaler, Inc. | Cloud-based virtual private access systems and methods |
US9613078B2 (en) | 2014-06-26 | 2017-04-04 | Amazon Technologies, Inc. | Multi-database log with multi-item transaction support |
US10122605B2 (en) | 2014-07-09 | 2018-11-06 | Cisco Technology, Inc | Annotation of network activity through different phases of execution |
US20160013990A1 (en) | 2014-07-09 | 2016-01-14 | Cisco Technology, Inc. | Network traffic management using heat maps with actual and planned /estimated metrics |
US10275184B2 (en) | 2014-07-22 | 2019-04-30 | Oracle International Corporation | Framework for volatile memory query execution in a multi node cluster |
CN105446793B (zh) | 2014-08-28 | 2018-08-28 | 国际商业机器公司 | 迁移虚拟资产的方法和设备 |
US9571570B1 (en) | 2014-09-24 | 2017-02-14 | Juniper Networks, Inc. | Weighted rendezvous hashing |
US9825878B2 (en) | 2014-09-26 | 2017-11-21 | Cisco Technology, Inc. | Distributed application framework for prioritizing network traffic using application priority awareness |
US9634928B2 (en) | 2014-09-29 | 2017-04-25 | Juniper Networks, Inc. | Mesh network of simple nodes with centralized control |
US10257095B2 (en) | 2014-09-30 | 2019-04-09 | Nicira, Inc. | Dynamically adjusting load balancing |
US9825810B2 (en) | 2014-09-30 | 2017-11-21 | Nicira, Inc. | Method and apparatus for distributing load among a plurality of service nodes |
US20160099853A1 (en) | 2014-10-01 | 2016-04-07 | Cisco Technology, Inc. | Active and passive dataplane performance monitoring of service function chaining |
US20160099847A1 (en) | 2014-10-02 | 2016-04-07 | Cisco Technology, Inc. | Method for non-disruptive cloud infrastructure software component deployment |
US9686181B2 (en) | 2014-10-07 | 2017-06-20 | Cisco Technology, Inc. | Selective service bypass in service function chaining |
US10757170B2 (en) | 2014-10-13 | 2020-08-25 | Vmware, Inc. | Cross-cloud namespace management for multi-tenant environments |
US9558078B2 (en) | 2014-10-28 | 2017-01-31 | Microsoft Technology Licensing, Llc | Point in time database restore from storage snapshots |
CN104320342B (zh) | 2014-10-29 | 2017-10-27 | 新华三技术有限公司 | 一种多链路透明互联网络中报文转发方法和装置 |
US9871745B2 (en) | 2014-11-12 | 2018-01-16 | International Business Machines Corporation | Automatic scaling of at least one user application to external clouds |
US9602544B2 (en) | 2014-12-05 | 2017-03-21 | Viasat, Inc. | Methods and apparatus for providing a secure overlay network between clouds |
US10277506B2 (en) | 2014-12-08 | 2019-04-30 | 128 Technology, Inc. | Stateful load balancing in a stateless network |
US9497123B2 (en) | 2014-12-18 | 2016-11-15 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for load balancing in a software-defined networking (SDN) system upon server reconfiguration |
US9747249B2 (en) | 2014-12-29 | 2017-08-29 | Nicira, Inc. | Methods and systems to achieve multi-tenancy in RDMA over converged Ethernet |
US9075649B1 (en) | 2015-01-26 | 2015-07-07 | Storagecraft Technology Corporation | Exposing a proprietary image backup to a hypervisor as a disk file that is bootable by the hypervisor |
US10050862B2 (en) | 2015-02-09 | 2018-08-14 | Cisco Technology, Inc. | Distributed application framework that uses network and application awareness for placing data |
US9983973B2 (en) | 2015-02-18 | 2018-05-29 | Unravel Data Systems, Inc. | System and method for analyzing big data activities |
US10037617B2 (en) | 2015-02-27 | 2018-07-31 | Cisco Technology, Inc. | Enhanced user interface systems including dynamic context selection for cloud-based networks |
US10708342B2 (en) | 2015-02-27 | 2020-07-07 | Cisco Technology, Inc. | Dynamic troubleshooting workspaces for cloud and network management systems |
US10346075B2 (en) * | 2015-03-16 | 2019-07-09 | Hitachi, Ltd. | Distributed storage system and control method for distributed storage system |
US10114966B2 (en) | 2015-03-19 | 2018-10-30 | Netskope, Inc. | Systems and methods of per-document encryption of enterprise information stored on a cloud computing service (CCS) |
US9432294B1 (en) | 2015-03-21 | 2016-08-30 | Cisco Technology, Inc. | Utilizing user-specified access control lists in conjunction with redirection and load-balancing on a port |
US9444744B1 (en) | 2015-04-04 | 2016-09-13 | Cisco Technology, Inc. | Line-rate selective load balancing of permitted network traffic |
US20170024260A1 (en) | 2015-07-21 | 2017-01-26 | Cisco Technology, Inc. | Workload migration across cloud providers and data centers |
US20170026470A1 (en) | 2015-07-22 | 2017-01-26 | Cisco Technology, Inc. | Intercloud audience and content analytics |
US9667657B2 (en) | 2015-08-04 | 2017-05-30 | AO Kaspersky Lab | System and method of utilizing a dedicated computer security service |
US9781209B2 (en) | 2015-08-20 | 2017-10-03 | Intel Corporation | Techniques for routing packets between virtual machines |
US10067780B2 (en) | 2015-10-06 | 2018-09-04 | Cisco Technology, Inc. | Performance-based public cloud selection for a hybrid cloud environment |
US11005682B2 (en) | 2015-10-06 | 2021-05-11 | Cisco Technology, Inc. | Policy-driven switch overlay bypass in a hybrid cloud network environment |
US10462136B2 (en) | 2015-10-13 | 2019-10-29 | Cisco Technology, Inc. | Hybrid cloud security groups |
US10084703B2 (en) | 2015-12-04 | 2018-09-25 | Cisco Technology, Inc. | Infrastructure-exclusive service forwarding |
US10142293B2 (en) | 2015-12-15 | 2018-11-27 | International Business Machines Corporation | Dynamically defined virtual private network tunnels in hybrid cloud environments |
CN105740084B (zh) | 2016-01-27 | 2018-08-24 | 北京航空航天大学 | 考虑共因故障的云计算系统可靠性建模方法 |
US20170220365A1 (en) | 2016-01-29 | 2017-08-03 | International Business Machines Corporation | Virtual machine allocation to hosts for data centers |
US10778600B2 (en) * | 2016-03-30 | 2020-09-15 | Intel Corporation | Adaptive workload distribution for network of video processors |
US10129177B2 (en) | 2016-05-23 | 2018-11-13 | Cisco Technology, Inc. | Inter-cloud broker for hybrid cloud networks |
CN107273527A (zh) * | 2017-06-27 | 2017-10-20 | 北京云和时空科技有限公司 | 一种Hadoop集群和分布式系统 |
-
2017
- 2017-12-21 US US15/850,230 patent/US10705882B2/en active Active
-
2018
- 2018-12-19 KR KR1020207021210A patent/KR102610652B1/ko active IP Right Grant
- 2018-12-19 EP EP18837029.0A patent/EP3729268A1/en active Pending
- 2018-12-19 CN CN201880080484.1A patent/CN111527476B/zh active Active
- 2018-12-19 WO PCT/US2018/066469 patent/WO2019126304A1/en unknown
- 2018-12-19 CA CA3086510A patent/CA3086510C/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130219405A1 (en) | 2012-02-21 | 2013-08-22 | Electronics and Telecommunications Research Institute of Suwon | Apparatus and method for managing data stream distributed parallel processing service |
US20150143366A1 (en) | 2012-06-29 | 2015-05-21 | Shiva Prakash Suragi Math | Optimizing placement of virtual machines |
US20140229221A1 (en) | 2013-02-11 | 2014-08-14 | Amazon Technologies, Inc. | Cost-minimizing task scheduler |
US20170093639A1 (en) | 2015-09-28 | 2017-03-30 | Cisco Technology, Inc. | Enhanced cloud demand prediction for smart data centers |
Also Published As
Publication number | Publication date |
---|---|
EP3729268A1 (en) | 2020-10-28 |
KR20200097795A (ko) | 2020-08-19 |
CN111527476A (zh) | 2020-08-11 |
US10705882B2 (en) | 2020-07-07 |
WO2019126304A1 (en) | 2019-06-27 |
CA3086510A1 (en) | 2019-06-27 |
CN111527476B (zh) | 2024-02-27 |
CA3086510C (en) | 2023-05-09 |
US20190196879A1 (en) | 2019-06-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR102610652B1 (ko) | 데이터 집약적 워크로드를 위한 리소스 배치에 대한 시스템 및 방법 | |
US10791065B2 (en) | Systems and methods for providing container attributes as part of OAM techniques | |
US11252063B2 (en) | System and method for obtaining micro-service telemetry data | |
CN111108722B (zh) | 使用实时网络业务的复制容器性能和策略验证的系统和方法 | |
US11562176B2 (en) | IoT fog as distributed machine learning structure search platform | |
US10866879B2 (en) | System and method for graph based monitoring and management of distributed systems | |
US20190034225A1 (en) | Data supression for faster migration | |
US9705750B2 (en) | Executing data stream processing applications in dynamic network environments | |
US10904071B2 (en) | System and method for network root cause analysis | |
US20190079788A1 (en) | Predictive image storage system for fast container execution | |
US11044173B1 (en) | Management of serverless function deployments in computing networks | |
US20200252296A1 (en) | Knowledge aggregation for gan-based anomaly detectors | |
Achary et al. | Dynamic job scheduling using ant colony optimization for mobile cloud computing | |
US10691671B2 (en) | Using persistent memory to enable consistent data for batch processing and streaming processing | |
US20230269191A1 (en) | Flow parser and per flow data center utilization in a cloud-based secure access service environment | |
US20230269228A1 (en) | Pre-emptive flow dropping in a cloud-based secure access service |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
E902 | Notification of reason for refusal | ||
E701 | Decision to grant or registration of patent right | ||
GRNT | Written decision to grant |