KR102610652B1 - 데이터 집약적 워크로드를 위한 리소스 배치에 대한 시스템 및 방법 - Google Patents

데이터 집약적 워크로드를 위한 리소스 배치에 대한 시스템 및 방법 Download PDF

Info

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
Application number
KR1020207021210A
Other languages
English (en)
Other versions
KR20200097795A (ko
Inventor
데보요티 두타
신위안 황
Original Assignee
시스코 테크놀러지, 인크.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 시스코 테크놀러지, 인크. filed Critical 시스코 테크놀러지, 인크.
Publication of KR20200097795A publication Critical patent/KR20200097795A/ko
Application granted granted Critical
Publication of KR102610652B1 publication Critical patent/KR102610652B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5038Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/5044Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation 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/505Allocation 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5083Techniques for rebalancing the load in a distributed system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting

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은 본 개시의 일 양태에 따른, 멀티 클라우드 환경에서의 워크로드 배치 방법을 도시한다.
본 개시의 다양한 실시예들이 아래에서 상세하게 논의된다. 특정 구현들이 논의되지만, 이것은 예시 목적으로만 수행된다는 것을 이해해야 한다. 관련 기술 분야의 통상의 기술자는 본 개시의 사상 및 범위를 벗어나지 않고 다른 컴포넌트 및 구성이 사용될 수 있음을 인식할 것이다.
본 개시에서 하나 또는 어느 예시적인 실시예에 대한 참조는 동일한 예시적인 실시예에 대한 참조일 수 있지만, 반드시 그런 것은 아니며; 그러한 참조는 예시적인 실시예들 중 적어도 하나를 의미한다.
"하나의 예시적인 실시예"또는 "예시적인 실시예"는 예시적인 실시예와 관련하여 설명된 특정 특징, 구조 또는 특성이 본 개시의 적어도 하나의 예에 포함된다는 것을 의미한다. 본 명세서의 다양한 곳에서 "일 실시예에서" 문구의 출현은 반드시 모두 동일한 예시적인 실시예를 지칭하는 것은 아니며, 다른 예시적인 실시예와 상호 배타적인 별도의 또는 대안적인 예시적인 실시예가 아니다. 또한, 다양한 특징들이 설명되어 있으며, 그것은 다른 것들이 아닌 어떤 실시예에 의해 나타나질 수 있다. 이와 유사하게, 다양한 특징들이 설명되며, 어떤 실시예에서는 구현될 수 있지만 다른 실시예에서는 구현되지 않을 수 있다.
본 명세서에서 사용된 용어는 일반적으로 본 개시의 맥락 내에서, 및 각 용어가 사용되는 특정 맥락에서 당업계의 통상적인 의미를 갖는다. 대안적인 표현 및 동의어가 본 명세서에서 논의된 임의의 하나 이상의 용어에 사용될 수 있으며, 본 명세서에서 용어가 상세화되거나 논의되는지 여부에 특별한 의미가 부여되지 않아야 한다. 특정 용어에 대한 동의어가 제공된다. 하나 이상의 동의어의 설명은 다른 동의어의 사용을 배제하지 않는다. 본 명세서에서 논의된 임의의 용어의 예를 포함하여 본 명세서의 임의의 예의 사용은 단지 예시적인 것이며, 본 개시 또는 임의의 예시된 용어의 범위 및 의미를 추가로 제한하려는 것은 아니다. 마찬가지로, 본 개시는 본 명세서에 제공된 다양한 예시에 제한되지 않는다.
본 개시의 범위를 제한하려는 의도는 아니지만, 본 개시의 예에 따른 기구, 장치, 방법 및 관련 결과의 예는 아래에 제공된다. 명칭들 또는 부제들은 독자의 편의를 위해 예시에 사용될 수 있으며, 결코 개시의 범위를 제한해서는 안된다. 달리 정의되지 않는 한, 본원에 사용된 기술 및 과학 용어는 본 발명이 속하는 기술 분야의 통상의 기술자에 의해 일반적으로 이해되는 의미를 갖는다. 충돌이 있을 경우, 정의를 포함한 본 문서가 우선한다.
제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)

  1. 서버리스(serverless) 함수를 구현하기 위해 네트워크를 선택하기 위한 컴퓨터-구현 방법으로서,
    네트워크 제어기의 하나 이상의 프로세서에 의해, 소스 네트워크 내에서의 입력 데이터에 대한 제1 서버리스 함수의 수행으로부터 상기 제1 서버리스 함수의 제1 결과값에 대한 제2 서버리스 함수의 수행으로의 전환을 위한 제1 데이터양에 기초하여 제1 처리량을 결정하는 단계;
    상기 하나 이상의 프로세서에 의해, 상기 제1 결과값에 대한 상기 제2 서버리스 함수의 수행으로부터 싱크 네트워크 내에서의 상기 제2 서버리스 함수의 제2 결과값에 대한 제3 서버리스 함수의 수행으로의 전환을 위한 제2 데이터양에 기초하여 제2 처리량을 결정하는 단계;
    상기 제1 서버리스 함수 및 상기 제3 서버리스 함수가 구현되는 하나 이상의 네트워크 각각에 대한 처리 용량을 결정하는 단계; 및
    상기 제1 처리량, 상기 제2 처리량 및 상기 네트워크 각각에 대한 처리 용량에 기초하여 상기 제2 서버리스 함수를 구현하기 위한 네트워크를 선택하는 단계를 포함하는 방법.
  2. 청구항 1에 있어서,
    상기 제1 서버리스 함수 및 상기 제2 서버리스 함수가 상기 싱크 네트워크에서 구현되는 방법.
  3. 청구항 2에 있어서,
    상기 소스 네트워크의 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 이상인 것으로 결정하는 단계를 더 포함하는 방법.
  4. 청구항 1에 있어서,
    상기 소스 네트워크의 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 미만인 경우, 상기 제2 서버리스 함수를 상기 싱크 네트워크에서 구현하는 단계를 더 포함하는 방법.
  5. 청구항 4에 있어서,
    상기 싱크 네트워크의 제2 처리 용량이 상기 제1 처리량 및 상기 제2 처리량보다 크고, 상기 제2 서버리스 함수 및 상기 제1 결과값에 대응하는 데이터를 상기 소스 네트워크로부터 상기 싱크 네트워크로 전환하는 것과 연관된 비용이 상기 제2 서버리스 함수 및 상기 제1 결과값에 대응하는 데이터를 상기 소스 네트워크로부터 임의의 다른 이용 가능한 네트워크로 전환하는 것과 연관된 모든 비용 중에서 최소화되는 것으로 결정하는 단계를 더 포함하는 방법.
  6. 청구항 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 네트워크에서 구현하는 단계를 더 포함하는 방법.
  7. 청구항 1에 있어서,
    미리 정해진 시간에 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수에 따라 처리될 복수의 데이터 세그먼트의 표시를 수신하는 단계;
    상기 미리 정해진 시간 이전의 복수의 목표 시간 중 하나 이상에서,
    제1 처리된 데이터를 생성하기 위해 상기 복수의 데이터 세그먼트 중 이용 가능한 데이터 세그먼트에 대해 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수를 수행하는 단계; 및
    상기 제1 처리된 데이터를 저장하는 단계를 더 포함하는 방법.
  8. 청구항 7에 있어서,
    상기 미리 정해진 시간에, 상기 복수의 데이터 세그먼트가 변경되지 않았는지를 결정하는 단계;
    상기 복수의 데이터 세그먼트가 변경되지 않았으면,
    제2 처리된 데이터를 생성하기 위해 상기 복수의 목표 시간 중 마지막 시간과 상기 미리 정해진 시간 사이에 수신된 상기 복수의 데이터 세그먼트 중 나머지 데이터 세그먼트에 대해 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수를 수행하는 단계;
    상기 제2 처리된 데이터를 저장하는 단계; 및
    상기 제1 처리된 데이터와 상기 제2 처리된 데이터를 결합하는 단계; 및
    상기 복수의 데이터 세그먼트가 변경되면,
    상기 제1 처리된 데이터를 폐기하는 단계;
    제3 처리된 데이터를 생성하기 위해 상기 복수의 데이터 세그먼트 중 완료된 세트에 대해 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수를 수행하는 단계; 및
    상기 제3 처리된 데이터를 저장하는 단계를 더 포함하는 방법.
  9. 서버리스 함수를 구현하기 위해 네트워크를 선택하기 위한 시스템으로서,
    컴퓨터 판독 가능 명령어를 저장하도록 구성된 메모리; 및
    하나 이상의 프로세서를 포함하고, 상기 하나 이상의 프로세서는 상기 컴퓨터 판독 가능 명령어를 실행하여,
    소스 네트워크 내에서의 입력 데이터에 대한 제1 서버리스 함수의 수행으로부터 상기 제1 서버리스 함수의 제1 결과값에 대한 제2 서버리스 함수의 수행으로의 전환을 위한 제1 데이터양에 기초하여 제1 처리량을 결정하고;
    상기 제1 결과값에 대한 상기 제2 서버리스 함수의 수행으로부터 싱크 네트워크 내에서의 상기 제2 서버리스 함수의 제2 결과값에 대한 제3 서버리스 함수의 수행으로의 전환을 위한 제2 데이터양에 기초하여 제2 처리량을 결정하고;
    상기 제1 서버리스 함수 및 상기 제3 서버리스 함수가 구현되는 하나 이상의 네트워크 각각에 대한 처리 용량을 결정하고;
    상기 제1 처리량, 상기 제2 처리량 및 상기 네트워크 각각에 대한 처리 용량에 기초하여 상기 제2 서버리스 함수를 구현하기 위한 네트워크를 선택하도록 구성되는 시스템.
  10. 청구항 9에 있어서,
    상기 제1 서버리스 함수 및 상기 제3 서버리스 함수가 상기 소스 네트워크에서 구현되고,
    상기 하나 이상의 프로세서는 상기 컴퓨터 판독 가능 명령어를 실행하여 추가로,
    상기 소스 네트워크의 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 이상인지를 결정하고;
    상기 소스 네트워크의 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 미만인 경우 상기 제2 서버리스 함수를 상기 싱크 네트워크에서 구현하도록 구성되는 시스템.
  11. 청구항 10에 있어서,
    상기 하나 이상의 프로세서는 상기 컴퓨터 판독 가능 명령어를 실행하여 추가로, 상기 싱크 네트워크의 제2 처리 용량이 상기 제1 처리량 및 상기 제2 처리량보다 크고, 상기 제2 서버리스 함수 및 상기 제1 결과값에 대응하는 데이터를 상기 소스 네트워크로부터 상기 싱크 네트워크로 전환하는 것과 연관된 비용이 상기 제2 서버리스 함수 및 상기 제1 결과값에 대응하는 데이터를 상기 소스 네트워크로부터 임의의 다른 이용 가능한 네트워크로 전환하는 것과 연관된 모든 비용 중에서 최소화되는 것으로 결정하도록 구성되는 시스템.
  12. 청구항 10에 있어서,
    상기 소스 네트워크 및 상기 싱크 네트워크는 상이한 클라우드 환경과 연관되는 시스템.
  13. 청구항 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 네트워크에서 구현하도록 구성되는 시스템.
  14. 청구항 9에 있어서,
    상기 하나 이상의 프로세서는 상기 컴퓨터 판독 가능 명령어를 실행하여 추가로,
    미리 정해진 시간에 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수에 따라 처리될 복수의 데이터 세그먼트의 표시를 수신하고;
    상기 미리 정해진 시간 이전의 복수의 목표 시간 중 하나 이상에서,
    제1 처리된 데이터를 생성하기 위해 상기 복수의 데이터 세그먼트 중 이용 가능한 데이터 세그먼트에 대해 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수를 수행하고;
    상기 제1 처리된 데이터를 저장하도록 구성되는 시스템.
  15. 청구항 14에 있어서,
    상기 하나 이상의 프로세서는 상기 컴퓨터 판독 가능 명령어를 실행하여 추가로,
    상기 미리 정해진 시간에, 상기 복수의 데이터 세그먼트가 변경되지 않았는지를 결정하고;
    상기 복수의 데이터 세그먼트가 변경되지 않았으면,
    제2 처리된 데이터를 생성하기 위해 상기 복수의 목표 시간 중 마지막 시간과 상기 미리 정해진 시간 사이에 수신된 상기 복수의 데이터 세그먼트 중 나머지 데이터 세그먼트에 대해 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수를 수행하고;
    상기 제2 처리된 데이터를 저장하고;
    상기 제1 처리된 데이터와 상기 제2 처리된 데이터를 결합하고;
    상기 복수의 데이터 세그먼트가 변경되면,
    상기 제1 처리된 데이터를 폐기하고;
    제3 처리된 데이터를 생성하기 위해 상기 복수의 데이터 세그먼트 중 완료된 세트에 대해 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수를 수행하고;
    상기 제3 처리된 데이터를 저장하도록 구성되는 시스템.
  16. 컴퓨터 판독 가능 명령어가 저장된 하나 이상의 비-일시적 컴퓨터 판독 가능 매체로서, 상기 컴퓨터 판독 가능 명령어가 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서로 하여금,
    소스 네트워크 내에서의 입력 데이터에 대한 제1 서버리스 함수의 수행으로부터 상기 제1 서버리스 함수의 제1 결과값에 대한 제2 서버리스 함수의 수행으로의 전환을 위한 제1 데이터양에 기초하여 제1 처리량을 결정하고;
    상기 제1 결과값에 대한 상기 제2 서버리스 함수의 수행으로부터 싱크 네트워크 내에서의 상기 제2 서버리스 함수의 제2 결과값에 대한 제3 서버리스 함수의 수행으로의 전환을 위한 제2 데이터양에 기초하여 제2 처리량을 결정하고;
    상기 제1 서버리스 함수 및 상기 제3 서버리스 함수가 구현되는 하나 이상의 네트워크 각각에 대한 처리 용량을 결정하고;
    상기 제1 처리량, 상기 제2 처리량 및 상기 네트워크 각각에 대한 처리 용량에 기초하여 상기 제2 서버리스 함수를 구현하기 위한 네트워크를 선택하게 하는 하나 이상의 비-일시적 컴퓨터 판독 가능 매체.
  17. 청구항 16에 있어서,
    상기 제1 서버리스 함수 및 상기 제3 서버리스 함수가 상기 소스 네트워크에서 구현되고, 상기 하나 이상의 프로세서는 상기 컴퓨터 판독 가능 명령어를 실행하여 추가로,
    상기 소스 네트워크의 제1 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 이상인지를 결정하고,
    상기 소스 네트워크의 제1 처리 용량이 상기 제1 처리량 및 상기 제2 처리량 미만이고, 상기 싱크 네트워크의 제2 처리 용량이 상기 제1 처리량 및 상기 제2 처리량보다 크고, 상기 제2 서버리스 함수 및 상기 제1 결과값에 대응하는 데이터를 상기 소스 네트워크로부터 상기 싱크 네트워크로 전환하는 것과 연관된 비용이 상기 제2 서버리스 함수 및 상기 제1 결과값에 대응하는 데이터를 상기 소스 네트워크로부터 임의의 다른 이용 가능한 네트워크로 전환하는 것과 연관된 모든 비용 중에서 최소화되는 경우, 상기 제2 서버리스 함수를 상기 싱크 네트워크에서 구현하도록 구성되는 하나 이상의 비-일시적 컴퓨터 판독 가능 매체.
  18. 청구항 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 네트워크에서 구현하도록 구성되는 하나 이상의 비-일시적 컴퓨터 판독 가능 매체.
  19. 청구항 16에 있어서,
    상기 하나 이상의 프로세서는 상기 컴퓨터 판독 가능 명령어를 실행하여 추가로,
    미리 정해진 시간에 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수에 따라 처리될 복수의 데이터 세그먼트의 표시를 수신하고;
    상기 미리 정해진 시간 이전의 복수의 목표 시간 중 하나 이상에서,
    제1 처리된 데이터를 생성하기 위해 상기 복수의 데이터 세그먼트 중 이용 가능한 데이터 세그먼트에 대해 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수를 수행하고;
    상기 제1 처리된 데이터를 저장하도록 구성되는 하나 이상의 비-일시적 컴퓨터 판독 가능 매체.
  20. 청구항 19에 있어서,
    상기 하나 이상의 프로세서는 상기 컴퓨터 판독 가능 명령어를 실행하여 추가로,
    상기 미리 정해진 시간에, 상기 복수의 데이터 세그먼트가 변경되지 않았는지를 결정하고;
    상기 복수의 데이터 세그먼트가 변경되지 않았으면,
    제2 처리된 데이터를 생성하기 위해 상기 복수의 목표 시간 중 마지막 시간과 상기 미리 정해진 시간 사이에 수신된 상기 복수의 데이터 세그먼트 중 나머지 데이터 세그먼트에 대해 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수를 수행하고;
    상기 제2 처리된 데이터를 저장하고;
    상기 제1 처리된 데이터와 상기 제2 처리된 데이터를 결합하고;
    상기 복수의 데이터 세그먼트가 변경되면,
    상기 제1 처리된 데이터를 폐기하고;
    제3 처리된 데이터를 생성하기 위해 상기 복수의 데이터 세그먼트 중 완료된 세트에 대해 상기 제1 서버리스 함수, 상기 제2 서버리스 함수 및 상기 제3 서버리스 함수를 수행하고;
    상기 제3 처리된 데이터를 저장하도록 구성되는 하나 이상의 비-일시적 컴퓨터 판독 가능 매체.
KR1020207021210A 2017-12-21 2018-12-19 데이터 집약적 워크로드를 위한 리소스 배치에 대한 시스템 및 방법 KR102610652B1 (ko)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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集群和分布式系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
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