KR20210119372A - 네트워크 최적화 및 비 일시적 컴퓨터 판독 가능 매체를 위한 장치 및 방법 - Google Patents

네트워크 최적화 및 비 일시적 컴퓨터 판독 가능 매체를 위한 장치 및 방법 Download PDF

Info

Publication number
KR20210119372A
KR20210119372A KR1020217008870A KR20217008870A KR20210119372A KR 20210119372 A KR20210119372 A KR 20210119372A KR 1020217008870 A KR1020217008870 A KR 1020217008870A KR 20217008870 A KR20217008870 A KR 20217008870A KR 20210119372 A KR20210119372 A KR 20210119372A
Authority
KR
South Korea
Prior art keywords
data center
network
workload
edge
machine learning
Prior art date
Application number
KR1020217008870A
Other languages
English (en)
Inventor
친링 정
이산 나자파바디
야세르 잭로울
Original Assignee
삼성전자주식회사
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 삼성전자주식회사 filed Critical 삼성전자주식회사
Publication of KR20210119372A publication Critical patent/KR20210119372A/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0852Delays
    • 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
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • H04L67/327
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/049Temporal neural networks, e.g. delay elements, oscillating neurons or pulsed inputs
    • 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/14Network analysis or design
    • H04L41/147Network analysis or design for predicting network behaviour
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/16Threshold monitoring
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/12Avoiding congestion; Recovering from congestion
    • H04L47/125Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/28Flow control; Congestion control in relation to timing considerations
    • H04L47/283Flow control; Congestion control in relation to timing considerations in response to processing delays, e.g. caused by jitter or round trip time [RTT]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L47/00Traffic control in data switching networks
    • H04L47/10Flow control; Congestion control
    • H04L47/31Flow control; Congestion control by tagging of packets, e.g. using discard eligibility [DE] bits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1001Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
    • H04L67/1004Server selection for load balancing
    • H04L67/1008Server selection for load balancing based on parameters of servers, e.g. available memory or workload
    • H04L67/16
    • H04L67/325
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/51Discovery or management thereof, e.g. service location protocol [SLP] or web services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/62Establishing a time schedule for servicing the requests
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • G06F9/45558Hypervisor-specific management and integration aspects
    • G06F2009/45591Monitoring or debugging support
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/10Machine learning using kernel methods, e.g. support vector machines [SVM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N20/00Machine learning
    • G06N20/20Ensemble learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/04Architecture, e.g. interconnection topology
    • G06N3/044Recurrent networks, e.g. Hopfield networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/084Backpropagation, e.g. using gradient descent
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/02Neural networks
    • G06N3/08Learning methods
    • G06N3/088Non-supervised learning, e.g. competitive learning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N3/00Computing arrangements based on biological models
    • G06N3/12Computing arrangements based on biological models using genetic models
    • G06N3/126Evolutionary algorithms, e.g. genetic algorithms or genetic programming
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/01Probabilistic graphical models, e.g. probabilistic networks
    • 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/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • 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/16Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using machine learning or artificial intelligence
    • 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/40Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks using virtualisation of network functions or resources, e.g. SDN or NFV entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/70Routing based on monitoring results

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Artificial Intelligence (AREA)
  • Medical Informatics (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Databases & Information Systems (AREA)
  • Biomedical Technology (AREA)
  • Biophysics (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Molecular Biology (AREA)
  • Computer Hardware Design (AREA)
  • Environmental & Geological Engineering (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

네트워크 최적화를 위한 장치로서, 컴퓨터 실행 가능 명령어를 저장하는 적어도 하나의 메모리 장치, 및 상기 메모리 장치에 액세스하도록 구성된 적어도 하나의 프로세서를 포함하되, 상기 프로세서는, 코어 데이터 센터 및 에지 데이터 센터를 포함하는 네트워크 아키텍처와 관련된 네트워크 매개 변수를 결정하는 것, 상기 네트워크 매개 변수를 사용하여, 상기 코어 데이터 센터와 관련된 제1 프로그램 방식으로 예상되는 지연 시간 및 상기 에지 데이터 센터와 관련된 제2 프로그램 방식으로 예상되는 지연 시간을 결정하는 것, 및 상기 제1 프로그래밍 방식으로 예상되는 지연 시간과 상기 제2 프로그래밍 방식으로 예상되는 지연 시간 사이의 차이에 적어도 부분적으로 기초하여 상기 코어 데이터 센터와 상기 에지 데이터 센터 사이에 라우팅 될 워크로드의 분포를 결정하는 것을 위한 상기 컴퓨터 실행 가능 명령을 실행하도록 구성되는 장치가 제공된다.

Description

네트워크 최적화 및 비 일시적 컴퓨터 판독 가능 매체를 위한 장치 및 방법
본 개시는 일반적으로 에지 컴퓨팅에 관한 것으로, 보다 상세하게는 지연 인식 에지 컴퓨팅(latency-aware edge computing)을 위한 시스템 및 방법에 관한 것이다.
최근 몇 년 동안 사물 인터넷(IoT) 및 5세대(5G) 장치 및 기술은 다양한 소비자, 상업, 산업 및 인프라 응용 분야에서 두각을 나타내고 있다. 모바일 데이터 트래픽이 증가하고 무선 장치가 더욱 풍부 해지고 다양 해짐에 따라 이러한 프로토콜을 사용하는 네트워크, 및/또는 IoT와 5G 장치를 운영하는 서비스 공급자는 상당한 오버 헤드(overhead)에 직면할 수 있다. 따라서 IoT 및 5G 통신은 클라우드 컴퓨팅에서 에지 컴퓨팅 플랫폼으로 점차 마이그레이션되는 일부 컴퓨팅 플랫폼을 나타낸다.
이 배경 기술 항목에 개시된 상기 정보는 개시의 배경에 대한 이해를 높이기 위한 것일 뿐이므로, 종래 기술을 구성하지 않는 정보를 포함할 수 있다.
본 개시의 실시예들에 따른 과제는 네트워크 아키텍처에서 지연 시간을 줄이고 대역폭을 증가시키는 것이다.
다양한 실시 예에서, 여기에 설명된 것은 워크로드를 에지 컴퓨팅 데이터 센터 및 네트워크 아키텍처의 다른 부분과 관련된 네트워크 매개 변수 모델에 기반한 적어도 하나의 코어 데이터 센터를 포함하는 네트워크 아키텍처의 다른 부분으로 라우팅하기 위한 시스템, 방법 및 장치를 포함한다.
상기 과제 해결을 위한 일 실시 예에 따른 장치는, 네트워크 최적화를 위한 장치로서, 컴퓨터 실행 가능 명령어를 저장하는 적어도 하나의 메모리 장치, 및 상기 메모리 장치에 액세스하도록 구성된 적어도 하나의 프로세서를 포함하되, 상기 프로세서는, 코어 데이터 센터 및 에지 데이터 센터를 포함하는 네트워크 아키텍처와 관련된 네트워크 매개 변수를 결정하는 것, 상기 네트워크 매개 변수를 사용하여, 상기 코어 데이터 센터와 관련된 제1 프로그램 방식으로 예상되는 지연 시간 및 상기 에지 데이터 센터와 관련된 제2 프로그램 방식으로 예상되는 지연 시간을 결정하는 것, 및 상기 제1 프로그래밍 방식으로 예상되는 지연 시간과 상기 제2 프로그래밍 방식으로 예상되는 지연 시간 사이의 차이에 적어도 부분적으로 기초하여 상기 코어 데이터 센터와 상기 에지 데이터 센터 사이에 라우팅 될 워크로드의 분포를 결정하는 것을 위한 상기 컴퓨터 실행 가능 명령을 실행하도록 구성된다.
상기 네트워크 매개 변수는 사용 백분율(usage percentage), 코어 데이터 센터 선택 확률(core data center selection probability), 지연 민감도 값(delay sensitivity value), 데이터 업로드 양(data upload amount), 데이터 다운로드 양(data download amount), 프로세서 사용 요구 사항(processor usage requirement), 및 가상 머신(VM; virtual machine) 사용률 중 적어도 하나를 포함할 수 있다.
상기 각 결정하는 것은 머신 러닝 기술(machine learning technique)을 사용하여 수행되며, 상기 머신 러닝 기술은 감독된 머신 러닝 기술 및 비감독 머신 러닝 기술 중 적어도 하나를 포함하고, 상기 머신 러닝 기술은 장단기 기억(LSTM; long short term memory) 신경망, 반복 신경망, 시간 지연 신경망, 및 피드 포워드 신경망 중 적어도 하나를 더 포함할 수 있다.
상기 분포는 미리 결정된 임계 값을 초과하는 차이에 적어도 부분적으로 기초하여 결정될 수 있다.
상기 차이에 기초하여, (1) 상기 코어 데이터 센터와의 데이터 트래픽과 관련된 전송 속도, (2) 상기 에지 데이터 센터를 오가는 데이터 트래픽과 관련된 전송 속도, (3) 상기 에지 데이터 센터와 관련된 장치와의 데이터 트래픽과 관련된 전송 속도, 및 (4) 상기 코어 데이터 센터와 관련된 장치와의 데이터 트래픽과 관련된 전송 속도 중 적어도 하나가 스로틀링(throttle)될 수 있다.
상기 프로세서는 상기 워크로드의 적어도 제1 부분에 제1 태그로 라벨링 하도록 추가로 구성되고, 상기 제1 태그는 상기 제1 부분이 상기 코어 데이터 센터로 라우팅 될 것임을 표시하고, 상기 프로세서는 상기 워크로드의 적어도 제2 부분을 제2 태그로 라벨링 하도록 구성되며, 상기 제2 태그는 상기 제2 부분이 상기 에지 데이터 센터로 라우팅 될 것임을 표시할 수 있다.
상기 프로세서는, (1) 상기 코어 데이터 센터에서 상기 제1 부분과 관련된 제1 완료된 워크로드를 수신하고, (2) 상기 에지 데이터 센터로부터 상기 제2 부분과 관련된 제2 완료된 워크로드를 수신하고, 및 (3) 상기 제1 태그 또는 상기 제2 태그를 사용하여 상기 제1 완료된 워크로드 또는 상기 제2 완료된 워크로드를 분류, 필터링 또는 집계할 수 있다.
상기 프로세서는 적어도 상기 제1 완료된 워크로드 또는 상기 제2 완료된 워크로드를 상기 네트워크 아키텍처 상의 다른 장치로 전송하도록 구성될 수 있다.
상기 과제 해결을 위한 일 실시 예에 따른 방법은, 네트워크 최적화를 위한 방법으로서, 코어 데이터 센터 및 에지 데이터 센터를 포함하는 네트워크 아키텍처와 관련된 네트워크 매개 변수를 결정하는 것, 상기 네트워크 매개 변수를 사용하여, 상기 코어 데이터 센터와 관련된 제1 프로그램 방식으로 예상되는 지연 시간 및 상기 에지 데이터 센터와 관련된 제2 프로그램 방식으로 예상되는 지연 시간을 결정하는 것, 및 상기 제1 프로그래밍 방식으로 예상되는 지연 시간과 상기 제2 프로그래밍 방식으로 예상되는 지연 시간 사이의 차이에 적어도 부분적으로 기초하여 상기 코어 데이터 센터와 상기 에지 데이터 센터 사이에서 라우팅 될 워크로드의 분포를 결정하는 것을 포함한다.
본 개시의 실시예들에 따르면, 에지 컴퓨팅은 에지 및 코어 데이터 센터를 모두 통합하는 네트워크 아키텍처에서 지연 시간을 줄이고 대역폭을 증가시킬 수 있다. 또한, 에지 컴퓨팅 플랫폼 설계를 최적화할 수 있다.
본 기술의 상기 언급된 양태 및 다른 양태는 도면 번호가 유사하거나 동일한 요소를 나타내는 다음 도면을 고려하여 본 명세서를 읽을 때 더 잘 이해될 것이다.
도 1은 본 개시의 예시적인 실시 예들에 따라, 개시된 실시 예의 측면이 제1 토폴로지와 관련하여 동작할 수 있는 대표적인 네트워크 아키텍처의 다이어그램을 도시한다.
도 2는 본 개시의 예시적인 실시 예들에 따라, 개시된 실시 예들의 양상들이 제2 토폴로지와 관련하여 동작할 수 있는 도 1의 대표적인 네트워크 아키텍처의 다른 다이어그램을 도시한다.
도 3은 본 개시의 예시적인 실시 예들에 따라, 개시된 실시 예의 양상들이 제3 토폴로지와 관련하여 동작할 수 있는, 대표적인 네트워크 아키텍처의 다른 다이어그램을 도시한다.
도 4는 본 개시의 예시적인 실시 예들에 따른, 네트워크 아키텍처의 상이한 부분들에 걸친 워크로드들의 분포를 결정하기 위한 감독된 머신 러닝 접근법의 다이어그램을 도시한다.
도 5는 본 개시의 예시적인 실시 예에 따른 네트워크 아키텍처의 상이한 부분들에 걸친 워크로드의 분포를 결정하기 위한 비감독 머신 러닝 방법의 다이어그램을 도시한다.
도 6은 본 개시의 예시적인 실시 예에 따라 네트워크, 서버 및 사용자 장치와 관련하여 개시된 실시 예의 다양한 동작을 수행할 수 있는 관리 컴퓨팅 엔티티를 나타내는 시스템의 다이어그램을 도시한다.
도 7은 본 개시의 예시적인 실시 예들에 따른, 다양한 입력 네트워크 매개 변수에 기초하여 예시적인 네트워크 아키텍처의 지연 시간 및 호스트-레벨 성능 메트릭과 같은 네트워크 매개 변수를 결정하기위한 예시적인 모델의 다이어그램을 도시한다.
도 8은 본 개시의 예시적인 실시 예들에 따른, 네트워크 아키텍처의 상이한 부분들과 관련된 예시적인 지연 시간들의 다이어그램을 도시한다.
도 9는 본 개시의 예시적인 실시 예들에 따라, 네트워크 아키텍처의 부분들에 대한 다양한 통신들의 양상들을 표현하기 위해 수학적 모델들을 사용하여 지연들과 같은 네트워크 매개 변수들을 결정하기위한 다른 모델의 다이어그램을 도시한다.
도 10은 본 개시의 예시적인 실시예들에 따라, 개시된 모델(들)의 예시적인 부분들을 구현하기 위한 랙의 다이어그램을 도시한다.
도 11a는 본 개시의 예시적인 실시 예들에 따른, 네트워크 아키텍처의 모델(들)과 관련된 예시적인 연결 및 데이터 경로들의 다이어그램을 도시한다.
도 11b는 본 개시의 예시적인 실시 예들에 따른, 네트워크 아키텍처의 모델(들)과 관련된 다른 예시적인 연결 및 데이터 경로들의 다이어그램을 도시한다.
도 12는 본 개시 내용의 실시 예들을 실행하는데 사용될 수 있는 시스템의 예시적인 개략도를 도시한다.
도 13은 본 개시의 예시적인 실시예들에 따른, 관리 컴퓨팅 엔티티의 예시적인 개략도를 도시한다.
도 14는 본 개시의 예시적인 실시 예들에 따른, 사용자 장치의 예시적인 개략도를 도시한다.
도 15는 본 개시의 예시적인 실시 예들에 따른, 네트워크 아키텍처를 통한 워크로드의 분포를 결정하기 위해 개시된 시스템들을 동작시키는 예시적인 방법의 예를 도시한다.
도 16a는 본 개시의 예시적인 실시 예들에 따라, 네트워크 아키텍처를 통해 워크로드를 코어 데이터 센터 및 하나 이상의 에지 데이터 센터로 라우팅하기 위한 개시된 시스템의 예시적인 방법의 예를 도시한다.
도 16b는 본 개시의 예시적인 실시 예에 따라 네트워크 아키텍처를 통해 코어 데이터 센터 및 하나 이상의 에지 데이터 센터로 워크로드를 라우팅하기 위한 개시된 시스템의 다른 예시적인 방법의 예를 도시한다.
도 17은 본 개시의 예시적인 실시 예들에 따른, 비디오 스트리밍 애플리케이션에 대한 클라우드 상의 서비스 시간(y-축 상의 초 단위 대 x-축 상의 모바일 장치의 수)의 플롯을 도시한다.
도 18은 본 개시의 예시적인 실시 예들에 따라, y-축 상의 초 단위 대 x-축 상의 모바일 장치들의 수의 비디오 스트리밍 애플리케이션에 대한 클라우드 상의 서비스 시간의 플롯을 도시한다.
도 19는 본 개시의 예시적인 실시 예들에 따른, y-축 상의 초 단위 대 x-축 상의 모바일 장치들의 수의 비디오 스트리밍 애플리케이션에 대한 클라우드 상의 서비스 시간의 플롯을 도시한다.
도 20은 본 개시의 예시적인 실시 예들에 따른, y-축 상의 백분율 단위 대 x-축 상의 IOPS의 가상 머신 사용률의 플롯(2000)을 도시한다.
도 21은 본 개시의 예시적인 실시 예들에 따라, 비디오 스트리밍 애플리케이션에 대한 평균 WAN 지연(z-축 상의 초 단위) 대 x-축 상의 디스크 IOPS 및 y-축 상의 EU 장치 수의 3 차원 플롯을 도시한다.
도 22는 본 개시의 예시적인 실시 예들에 따라, 비디오 스트리밍 애플리케이션에 대한 평균 LAN 지연 대 x-축 상의 디스크 IOPS 및 y-축 상의 EU 장치 수의 3차원 플롯을 도시한다.
도 23은 본 개시의 예시적인 실시 예들에 따라, 비디오 스트리밍 애플리케이션을 위한 클라우드에서의 처리 시간(z-축 상의 초 단위) 대 x-축 상의 디스크 IOPS 및 y-축 상의 EU 장치 수의 3차원 플롯을 도시한다.
도 24는 본 개시의 예시적인 실시 예들에 따라, x-축 상의 디스크 IOPS 및 y-축 상의 EU 장치 수에 대한 비디오 스트리밍 애플리케이션에 대한 에지 상의 처리 시간(z-축 상의 초 단위)의 3차원 플롯(2400)을 도시한다.
도 25는 본 개시의 예시적인 실시 예들에 따라, 비디오 스트리밍 애플리케이션에 대한 클라우드에서의 서비스 시간(z-축 상의 초 단위) 대 x-축 상의 디스크 IOPS와 y-축 상의 EU 장치 수의 3차원 플롯을 도시한다.
도 26은 본 개시의 예시적인 실시 예들에 따라, x-축 상의 디스크 IOPS 및 y-축 상의 EU 장치 수에 대한 비디오 스트리밍 애플리케이션에 대한 에지 상의 서비스 시간을 z-축 상의 초 단위로 나타낸 3차원 플롯을 도시한다.
본 기술은 다양한 수정 및 대안적인 형태가 가능하지만, 그 특정 실시 예는 도면에서 예로서 도시되고 여기서 설명될 것이다. 도면은 축척되지 않을 수 있으나, 그러나, 도면 및 그에 대한 상세한 설명은 본 기술을 개시된 특정 형태로 제한하려는 것이 아니고, 그러나 반대로, 그 의도는 첨부된 청구 범위에 의해 정의된 본 기술의 사상 및 범위 내에 있는 모든 수정, 등가물 및 대안을 포괄하는 것을 이해해야 한다.
본 명세서에 설명된 주제의 하나 이상의 실시예의 세부 사항은 첨부된 도면 및 이하의 설명에서 설명된다. 주제의 다른 특징, 측면 및 이점은 설명, 도면 및 청구 범위로부터 명백해질 것이다.
본 명세서에서 사용되는 바와 같이 에지 컴퓨팅(edge computing)은 예를 들어, 응답 시간을 개선하고 대역폭을 절약하기 위해, 그러한 리소스가 필요할 수 있는 위치에 계산 및 데이터 저장을 물리적으로 더 가깝게 가져오는 분산 컴퓨팅 시스템을 지칭할 수 있다. 에지 컴퓨팅은 예를 들어, 계산 집약적이고 지연 시간이 중요한 애플리케이션을 지원하기 위해, 클라우드 컴퓨팅, 네트워크 제어 및 스토리지의 특정 측면을 리소스가 제한된 최종 장치에 물리적으로 더 가까워질 수 있는 네트워크 에지 플랫폼(예, 에지 데이터 센터 및/또는 장치)으로 이동하는 역할을 할 수 있다. 따라서, 에지 컴퓨팅은 에지 및 코어 데이터 센터를 모두 통합하는 네트워크 아키텍처에서 지연 시간을 줄이고 대역폭을 증가시킬 수 있다. 일부 양태에서, 저 지연(low-latency) 서비스를 제공하기 위해, 에지 컴퓨팅 패러다임은 에지 컴퓨팅 플랫폼 설계를 최적화할 수 있으며, 그 측면이 여기에 설명된다.
일부 예들에서, 에지 컴퓨팅은 모바일 클라우드 컴퓨팅(MCC; mobile cloud computing), 클라우드 렛(cloudlets), 포그 컴퓨팅(fog computing), 모바일 에지 컴퓨팅(MEC; mobile edge computing), 이들의 조합 등을 포함 하나, 이에 제한되지 않는 다양한 기술 컴퓨팅 기술을 더 포함할 수 있다. 예를 들어 클라우드 렛은 AR(artificial reality) 및 이미지 처리 작업과 같은 특정 애플리케이션을 지원할 수 있는 저 지연 네트워크 아키텍처를 의미할 수 있다. 클라우드 렛은, 예를 들어, 코어 데이터 센터와 사용자 장치 사이의 네트워크 내의 가상 플랫폼을 더 참조할 수 있다. 에지 클라우드 컴포지트(edge cloud composites) 또는 에지 클라우드 컴퓨팅(ECC; edge cloud computing)과 MEC는 코어 네트워크의 에지에서 서비스를 제공할 수 있으며, 여러 사용자를 지원할 수 있다. 포그 컴퓨팅은 네트워크 에지에서 확장된 클라우드 컴퓨팅을 의미할 수 있다. 일부 측면에서, 포그 컴퓨팅은 네트워크에서 에지 장치 간의 협력을 포함할 수 있으며 엔터프라이즈 애플리케이션(enterprise application)에서 사용될 수 있다. 다양한 실시 예에서, 개시된 실시 예의 다양한 측면은 간결함을 위해 본 명세서에서 집합적으로 에지 데이터 센터로 지칭될 수 있는 전술 한 하나 이상의 에지 컴퓨팅 기술과 관련하여 사용될 수 있음을 이해해야 한다.
이제 본 개시의 다양한 실시 예가 첨부된 도면을 참조하여 이하에서 보다 자세하게 설명될 것이며, 여기서 모든 실시예는 아니지만 일부 실시예가 도시된다. 실제로, 본 개시는 여러 가지 상이한 형태로 구현될 수 있으며 여기에서 설명하는 실시 예에 한정되는 것으로 해석되어서는 아니된다. 오히려, 이러한 실시 예는 본 개시가 적용 가능한 법적 요건을 만족하도록 제공된다. 용어 "또는"은 달리 지시되지 않는 한, 대안적 및 결합적 의미로 본원에서 사용된다. "예시적"이라는 용어는 품질 수준을 나타내지 않는 예로 사용된다. 같은 참조 번호는 전체적으로 같은 요소를 나타낸다. 각 그림의 화살표는 양방향 데이터 흐름 및/또는 양방향으로 데이터가 흐르는 기능을 나타낸다.
본 개시의 실시 예는 제조 물품을 포함하는 컴퓨터 프로그램 제품을 포함하여 다양한 방식으로 구현될 수 있다. 컴퓨터 프로그램 제품에는 어플리케이션, 프로그램, 프로그램 구성 요소, 스크립트, 소스 코드, 프로그램 코드, 개체 코드, 바이트 코드, 컴파일 코드, 해석 코드, 머신 코드, 실행 가능한 명령 및/또는 이와 유사한 것(본 명세서에서 실행 가능한 명령어, 실행을 위한 명령어, 컴퓨터 프로그램 제품, 프로그램 코드 및/또는 본 명세서에서 상호 교환 적으로 사용되는 유사한 용어로 참조됨)을 저장하는 비 일시적 컴퓨터 판독 가능 저장 매체가 포함될 수 있다. 이러한 비 일시적 컴퓨터 판독 가능 저장 매체는 모든 컴퓨터 판독 가능 매체(휘발성 및 비 휘발성 매체 포함)를 포함한다.
일 실시 예에서, 비 휘발성 컴퓨터 판독 가능 저장 매체는 플로피 디스크, 플렉서블 디스크, 하드 디스크, 솔리드 스테이트 스토리지(SSS)(예, 솔리드 스테이트 드라이(SSD)), 솔리드 스테이트 카드(SSC), 솔리드 스테이트 구성 요소(SSM), 엔터프라이즈 플래시 드라이브, 자기 테이프 또는 기타 비 일시적 자기 매체 등을 포함할 수 있다. 비 휘발성 컴퓨터 판독 가능 저장 매체는 또한 펀치 카드, 종이 테이프, 광학 마크 시트(또는 구멍 패턴 또는 기타 광학적으로 인식 가능한 표시가 있는 기타 물리적 매체), CD-ROM(Compact Disc Read Only Memory), CD-RW(Compact disc-rewritable), DVD(Digital Versatile Disc), BD(Blu-ray Disc), 기타 비 일시적 광학 매체 등을 포함할 수 있다. 이러한 비 휘발성 컴퓨터 판독 가능 저장 매체는 또한 판독 전용 메모리(ROM), 프로그램 가능한 판독 전용 메모리(PROM), 삭제 가능한 프로그램 가능한 판독 전용 메모리(EPROM), 전기적으로 삭제 가능한 프로그램 가능한 판독 전용 메모리(EEPROM), 플래시 메모리(예, 직렬, NAND, NOR 등), 멀티미디어 메모리 카드(MMC), 보안 디지털(SD) 메모리 카드, 스마트 미디어(SmartMedia) 카드, 컴팩트 플래시(CompactFlash; CF) 카드, 메모리 스틱 및/또는 이와 같은 것을 포함할 수 있다. 또한, 비 휘발성 컴퓨터 판독 가능 저장 매체는 CBRAM(conductive-bridging random access memory), PRAM(phase-change random access memory), FeRAM(ferroelectric random-access memory), NVRAM(non-volatile random-access memory), MRAM(magnetoresistive random-access memory), RRAM(resistive random-access memory), SONOS(Silicon-Oxide-Nitride-Oxide-Silicon) 메모리, FJG RAM(floating junction gate random access memory), 밀리피드(Millipede) 메모리, 레이스 트랙(racetrack) 메모리 등을 포함할 수 있다.
일 실시 예에서, 휘발성 컴퓨터 판독 가능 저장 매체는 랜덤 액세스 메모리(RAM), 동적 랜덤 액세스 메모리(DRAM), 정적 랜덤 액세스 메모리(SRAM), 고속 페이지 모드 동적 랜덤 액세스 메모리(FPM DRAM), 확장 데이터 출력 동적 랜덤 액세스 메모리(EDO DRAM), 동기식 동적 랜덤 액세스 메모리(SDRAM), 더블 데이터 레이트 동기식 동적 랜덤 액세스 메모리(DDR SDRAM), 더블 데이터 레이트 유형 2 동기식 동적 랜덤 액세스 메모리(DDR2 SDRAM), 더블 데이터 레이트 유형 3 동기식 동적 랜덤 액세스 메모리(DDR3 SDRAM), 램버스(Rambus) 동적 랜덤 액세스 메모리(RDRAM), 트윈 트랜지스터 RAM(TTRAM), 사이리스터 RAM(T-RAM), 제로 커패시터(Z-RAM), 램버스(Rambus) 인라인 메모리 구성 요소(RIMM), 듀얼 인라인 메모리 구성 요소(DIMM), 단일 인라인 메모리 구성 요소(SIMM), 비디오 랜덤 액세스 메모리(VRAM), 캐시 메모리(다양한 레벨 포함), 플래시 메모리, 레지스터 메모리 및/또는 기타 이와 유사한 것을 포함할 수 있다. 실시 예가 컴퓨터 판독 가능 저장 매체를 사용하는 것으로 설명되는 경우, 다른 유형의 컴퓨터 판독 가능 저장 매체가 전술한 컴퓨터 판독 가능 저장 매체에 추가하여 대체되거나 사용될 수 있다는 것이 이해될 것이다.
이해되어야 하는 바와 같이, 본 개시의 다양한 실시 예는 또한 방법, 장치, 시스템, 컴퓨팅 장치, 컴퓨팅 엔티티(entity) 등으로서 구현될 수 있다. 이와 같이, 본 개시의 실시 예는 특정 단계 또는 동작을 수행하기 위해 컴퓨터 판독 가능 저장 매체에 저장된 명령어를 실행하는 장치, 시스템, 컴퓨팅 장치, 컴퓨팅 엔티티 등의 형태를 취할 수 있다. 따라서, 본 개시의 실시 예는 또한 전체 하드웨어 실시 예, 전체 컴퓨터 프로그램 제품 실시 예, 및/또는 컴퓨터 프로그램 제품과 특정 단계 또는 동작을 수행하는 하드웨어의 조합을 포함하는 실시 예의 형태를 취할 수 있다.
본 개시 내용의 실시 예는 블록도 및 흐름도를 참조하여 아래에 설명된다. 따라서, 블록 다이어그램 및 순서도에서 예시의 각 블록은 실행을 위한 컴퓨터 판독 가능 저장 매체에서 상호 교환 적으로 사용되는 명령어, 동작, 단계 및 유사한 단어(예, 실행 가능한 명령어, 실행을 위한 명령어, 프로그램 코드 등)를 수행하는 컴퓨터 프로그램 제품, 전체 하드웨어 실시 예, 하드웨어와 컴퓨터 프로그램 제품의 조합, 장치, 시스템, 컴퓨팅 장치, 컴퓨팅 엔티티 등으로 구현될 수 있음을 이해해야 한다. 예를 들어, 코드의 검색, 로드 및 실행은 한 번에 하나의 명령이 검색, 로드 및 실행되도록 순차적으로 수행될 수 있다. 일부 예시적인 실시 예에서, 검색, 로딩 및/또는 실행은 병렬로 수행되어 다중 명령이 함께 검색, 로드 및/또는 실행될 수 있다. 따라서, 그러한 실시 예는 블록 다이어그램 및 흐름도 예시에 명시된 단계 또는 동작을 수행하는 구체적으로 구성된 머신을 생성할 수 있다. 따라서, 블록도 및 흐름도 예시는 지정된 명령, 동작 또는 단계를 수행하기 위한 실시 예의 다양한 조합을 지지한다.
특정 예에서, 개시된 시스템은 특정 실시 예의 예시 및 목적을 위해 MEC와 관련하여 구현될 수 있다. 개시된 시스템은 본 명세서에 명시 적으로 설명된 것과는 다른 네트워크 아키텍처와 관련하여 사용될 수 있다는 것을 이해해야 한다. 일부 측면에서, MEC(mobile edge computing)는 예를 들어 5세대(5G) 네트워크와 같은 셀룰러 네트워크의 차세대 진화에 사용될 수 있다. 예를 들어, ETSI(European Telecommunications Standard Institute)와 같은 일부 관리 기관은 소비자 및 기업의 특정 요구 사항을 충족하기 위해 MEC에 대한 표준화를 시도할 수 있다. 앞서 언급했듯이 MEC는 클라우드 기능이 로컬 모바일 사용자에게 상대적으로 더 가까운 네트워크 에지에 클라우드 기능을 배포하는 역할을 할 수 있습니다. MEC는 5G 셀룰러 네트워크와 연결하여 구현되어 지연 시간이 짧은 네트워크 아키텍처를 구현할 수 있다. MEC 시스템에서 이러한 저 지연 서비스를 제공하기 위해, 개시된 시스템은 본 명세서에서 더 설명되는 바와 같이 클라이언트 작업 오프 로딩(client task offloading), 오프 로딩된 작업 우선 순위(offloaded task prioritizing) 및 오프로드 된 작업 배치(offloaded task placing)의 선택을 통해 응답 시간을 최소화할 수 있다. 더욱이, 개시된 시스템은 에지-서버 아키텍처 설계 및 에지-컴퓨팅 서비스 최적화를 통해 지연 요구 사항을 충족시키기 위해 에지 컴퓨팅 플랫폼의 미리 결정된 구성과 함께 사용될 수 있다.
아래에서 추가로 설명되는 바와 같이, 본 개시의 실시 예는 네트워크상의 지연을 시뮬레이션 할 때 에지 컴퓨팅 아키텍처 인자를 포함할 수 있는 모델 (예, 수학적 및 머신 러닝(machine learning) 기반 기술)을 설명한다. 또한, 공개된 시스템은 오프로드 대상에 대한 모델을 사용하여 스토리지 성능 요소를 모델링할 수 있다. 따라서, 일부 예에서, 개시된 시스템은 MEC 아키텍처에서 지연 시간 인식 네트워크를 모델링할 수 있다. 개시된 시스템은 네트워크상의 장치의 저장 성능, 최종 사용자의 수, 작업 크기, 메모리, 프로세서 활용 효과 등을 포함하는(이에 제한되지 않음), 이러한 모델을 사용하여, 네트워크와 관련된 다양한 매개 변수를 결정할 수 있습니다. 또한, 상기 모델은 아래에서 더 설명하는 바와 같이 코어 데이터 센터 및 에지 데이터 센터와 같은 네트워크의 다양한 구성 요소 사이에서 네트워크 데이터를 라우팅하기 위해 머신 러닝 기술과 관련하여 사용될 수 있다.
이제 도면을 살펴보면, 도 1은 본 개시의 예시적인 실시 예들에 따라, 개시된 실시 예의 측면이 제1 토폴로지와 관련하여 동작할 수 있는 대표적인 네트워크 아키텍처의 다이어그램을 도시한다. 특히, 다이어그램(100)은 이하에서 자세하게 설명되는, 네트워크(102), 제1 데이터 전송(103), 호스트(104), 제2 데이터 전송(105), 장치(106), 관리 컴퓨팅 엔티티(108), 코어 데이터 센터(110), 장치들(112, 114 및 116)을, 에지 데이터 센터(140), 장치(142, 144 및 146), 에지 데이터 센터(120), 장치(122, 124 및 126), 모바일 에지 데이터 센터(130), 및 장치(132, 134 및 136)를 도시한다.
일부 실시 예에서, 다이어그램(100)은 호스트(104)가 네트워크(102) 로의 제1 데이터 전송(103)을 통해 워크로드(workload) 요청을 개시할 수 있음을 도시한다. 관리 컴퓨팅 엔티티(108)는 네트워크 아키텍처(예, 아래 도 7과 연결하여 추가로 도시되고 설명되는, 데이터 전송 속도, 네트워크 부분 활용, 이들의 조합 등)를 모니터링 할 수 있다(예, 코어 데이터 센터(110) 및 에지 데이터 센터(120) 및 에지 데이터 센터(140)와 같은 다양한 에지 데이터 센터와 관련된 네트워크 매개 변수를 포함하지만 이에 제한되지 않음). 모니터링의 결과에 기초하여, 관리 컴퓨팅 엔티티(108)는 워크로드의 적어도 일부를 코어 데이터 센터(110)로 라우팅하도록 결정할 수 있다. 일부 예들에서, 관리 컴퓨팅 엔티티(108)는 워크로드의 다른 부분을 에지 데이터 센터(140) 또는 에지 데이터 센터(120)로 추가로 라우팅 할 수 있다. 워크로드를 라우팅 할 위치를 결정하기 위해, 관리 컴퓨팅 엔티티(108)는 도 7 내지 도 9에서 연결하여 추가로 도시되고 설명되는 네트워크 아키텍처의 다른 부분과 관련된 지연 시간을 결정하기 위해, 네트워크 아키텍처 및/또는 네트워크 일부의 모델(예, 에지 데이터 센터, 코어 데이터 센터, 다양한 장치 등)을 실행할 수 있다. 선택적으로, 관리 컴퓨팅 엔티티(108)는 워크로드의 코어 데이터 센터와 에지 데이터 센터 계산 간의 최적 라우팅을 결정하기 위해, 지연 시간을 머신 러닝 구성 요소(아래의 도 4 및 5와 연결하여 추가로 도시되고 설명됨)에 대한 입력으로 사용할 수 있다.
이제 다이어그램(100)에 도시된 다양한 구성 요소로 돌아가서, 다양한 구성 요소에 대한보다 상세한 설명이 아래에 제공될 것이다. 일부 실시 예에서, 네트워크(102)는 인터넷 또는 광역 네트워크(WLAN)와 같은 공용 네트워크를 포함할 수 있지만, 이에 제한되지 않는다. 일부 예에서, 호스트(104)는 네트워크 호스트, 예를 들어 컴퓨터 또는 컴퓨터 네트워크에 연결된 다른 장치를 포함할 수 있다. 호스트는 네트워크(102) 상의 사용자 또는 다른 호스트에 정보 자원, 서비스 및 애플리케이션을 제공하는 서버로서 동작할 수 있다. 일부 예에서, 호스트에는 적어도 하나의 네트워크 주소가 할당될 수 있다. 다른 예에서, 인터넷과 같은 네트워크에 참여하는 컴퓨터는 인터넷 호스트라고 할 수 있다. 이러한 인터넷 호스트는 각각의 네트워크 인터페이스에 할당된 하나 이상의 IP 주소를 포함할 수 있다.
일부 예에서, 장치(106)(device)는, 예를 들어, 유선 또는 무선 링크를 통해 네트워크(102)에 직접 연결된 장치를 포함할 수 있다. 일부 양상들에서, 장치(106)는 워크로드(예, 비디오 스트리밍 요청)를 개시할 수 있다. 그 다음, 워크로드는 여기에 개시된 실시 예에 따라 네트워크 아키텍처의 관련 부분에 의해 처리될 수 있다. 장치(106)로서 기능할 수 있는 장치의 예가 도 12에 연결하여 더 도시되고 설명된다.
다양한 실시 예에서, 관리 컴퓨팅 엔티티(108)는 코어 데이터 센터(110) 및/또는 하나 이상의 에지 데이터 센터(120)에 대한 트래픽 및/또는 워크로드의 라우팅을 수행할 수 있다. 또한, 관리 컴퓨팅 엔티티(108)는 모니터링 된 네트워크 트래픽 데이터에 기초하여 네트워크의 다른 부분과 관련된 지연 시간을 결정하기 위해 모델을 실행할 수 있다. 예시적인 모델이 도 7 내지 도 9에 연결하여 더 도시되고 설명된다. 일부 실시 예에서, 관리 컴퓨팅 엔티티(108)는 워크로드 데이터를 라우팅하는 방법을 결정하기 위해 머신 러닝 모델을 선택적으로 실행할 수 있다. 머신 러닝 모델의 예가 도 4 및 도 5에 연결하여 도시되고 설명된다.
일부 실시 예에서, 코어 데이터 센터(110)는 컴퓨터 시스템 및 통신 및 저장 시스템 및/또는 구성 요소와 같은 관련 구성 요소(컴포넌트)를 수용할 수 있는 전용 엔티티를 포함할 수 있다. 또한, 코어 데이터 센터(110)는 워크로드 실행, 관련 데이터 저장, 네트워크(102)와 데이터 통신, 에지 데이터 센터(예, 에지 데이터 센터(120), 모바일 에지 데이터 센터 (130)), 및/또는 네트워크 아키텍처의 다른 부분(미도시)에 사용하기 위한 컴퓨팅, 네트워크 및 스토리지 리소스를 갖는 다양한 서버를 포함할 수 있다. 일부 실시 예에서, 코어 데이터 센터(110)는 다양한 장치(예, 장치(112, 114 및 116))에 연결될 수 있다. 예를 들어, 연결은 유선 연결(예, 이더넷 기반) 또는 무선 연결(예, Wi-Fi, 5G 및/또는 셀룰러 기반)일 수 있다. 다른 실시 예에서, 코어 데이터 센터(110)는 코어 데이터 센터(110)에 직접 연결된 다양한 장치(예, 장치(112, 114 및 116))로부터 워크로드 요청((아래에서, 추가 논의됨)을 수신할 수 있고, 주어진 워크로드 요청의 적어도 일부를 실행할 수 있다. 일부 예에서, 코어 데이터 센터(110)는 주어진 워크로드의 결과를 코어 데이터 센터에 직접 또는 간접적으로 연결된 다양한 장치로 전송할 수 있다.
일부 실시 예에서, 에지 데이터 센터(140)는 통신 및 저장 시스템과 같은 컴퓨터 시스템 및 관련 구성 요소를 수용할 수 있고, 코어 데이터 센터와 동일하거나 유사한 기능을 많이 가질 수 있는 전용 엔티티를 지칭할 수 있지만, 그러나, 에지 데이터 센터(140)는 일반적으로 코어 데이터 센터에 비해 더 작은 물리적 풋 프린트(footprint)를 가질 수 있다. 또한, 언급된 바와 같이 에지 데이터 센터(140)는 최종 사용자에게 물리적으로 더 가깝게 위치할 수 있으며, 이에 따라 특정 워크로드 및 애플리케이션에 대해 감소된 지연 시간을 제공할 수 있다. 일부 실시예에서, 에지 데이터 센터(140)는 코어 데이터 센터 또는 다른 에지 데이터 센터(예, 모바일 에지 데이터 센터(130) 또는 에지 데이터 센터(120))에 연결될 수 있다. 또한, 에지 데이터 센터(140)는 에지 데이터 센터(140)에 직접 연결된 다양한 장치(예, 장치 142, 144 및 146)로부터 워크로드 요청을 수신할 수 있고, 주어진 워크로드 요청(아래에서, 추가 논의됨)의 적어도 일부를 실행할 수 있다. 다른 실시 예에서, 에지 데이터 센터(140)는 워크로드의 일부를 다른 에지 데이터 센터(예, 에지 데이터 센터(120)) 또는 코어 데이터 센터(예, 코어 데이터 센터 (110))로 전송할 수 있다. 또한, 에지 데이터 센터(140)는 에지 데이터 센터에 직접 또는 간접적으로 연결된 다양한 장치에 주어진 워크로드의 결과를 전송할 수 있다.
도 2는 본 개시의 예시적인 실시 예들에 따라, 개시된 실시 예들의 양상들이 제2 토폴로지와 관련하여 동작할 수 있는 도 1의 대표적인 네트워크 아키텍처의 다른 다이어그램을 도시한다. 특히, 다이어그램(200)은 위에서 설명한 도 1과 동일하게 많은 요소를 도시한다. 그러나, 다이어그램(200)은 도 1에서와 같이 네트워크(102) 대신에 제2 토폴로지에서 코어 데이터 센터(110)에 연결될 수 있는 관리 컴퓨팅 엔티티(208)를 도시한다. 이는 관리 컴퓨팅 엔티티가 네트워크 아키텍처의 다른 위치(예, 코어 데이터 센터 대 네트워크)에 상주할 수 있는 가능성을 보여주기 위한 것이다.
일부 실시 예에서, 다이어그램(200)은 네트워크(102)가 코어 데이터 센터(110) 로의 제1 데이터 전송(201)을 통해 워크로드 요청을 개시할 수 있는 예를 더 도시한다. 예를 들어, 네트워크(102)에 연결된 장치(예, 장치(106)) 또는 호스트(예, 호스트(104))는 워크로드를 생성할 수 있으며, 네트워크(102)에 의해 처리될 수 있는 워크로드는 제1 데이터 전송(201)을 통해 워크로드 요청을 시작할 수 있다. 관리 컴퓨팅 엔티티(208)는 네트워크 아키텍처(예, 코어 데이터 센터(110) 및 에지 데이터 센터(120) 및 에지 데이터 센터(140)와 같은 다양한 에지 데이터 센터와 관련된 네트워크 매개 변수를 포함하지만, 이에 제한되지 않는, 네트워크 매개 변수)와 관련하여, 네트워크 아키텍처(예, 데이터 전송 속도, 네트워크 부분 활용, 이들의 조합 등 아래 도 7과 연결하여 추가로 도시되고 설명되는)를 다시 모니터링 할 수 있다.
모니터링의 결과에 기초하여, 관리 컴퓨팅 엔티티(208)는 워크로드의 적어도 일부를 코어 데이터 센터(110)에 유지하기로 결정할 수 있다. 일부 예들에서, 관리 컴퓨팅 엔티티(208)는 워크로드의 다른 부분을 에지 데이터 센터(140), 에지 데이터 센터(120), 또는 심지어 모바일 에지 데이터 센터(130)(예, 예를 들어 무선 연결을 통해 위치를 변경할 수 있는 에지 데이터 센터)로 추가 라우팅 할 수 있다. 앞서 언급한 바와 같이, 워크로드를 라우팅할 위치를 결정하기 위해, 관리 컴퓨팅 엔티티(208)는 네트워크 아키텍처의 모델 및 네트워크의 일부를 실행하여 네트워크 아키텍처의 다른 부분과 관련된 다양한 지연 시간을 결정할 수 있는데, 이에 대해 도 7 내지 도 9에서 연결하여 더 도시되고 설명된다. 선택적으로, 관리 컴퓨팅 엔티티(208)는 워크로드 계산을 위해 코어 데이터 센터와 에지 데이터 센터 간의 최적 경로를 결정하기 위해, (아래의 도 4 및 5에 연결하여 추가로 도시되고 설명될) 머신 러닝 구성 요소에 대한 입력으로서 지연 시간을 사용할 수 있다.
도 3은 본 개시의 예시적인 실시 예들에 따라, 개시된 실시 예의 양상들이 제3 토폴로지와 관련하여 동작할 수 있는, 대표적인 네트워크 아키텍처의 다른 다이어그램을 도시한다. 특히, 다이어그램(300)은 위에서 설명한 도 1과 동일한 많은 요소를 도시한다. 그러나, 다이어그램(300)은 도 1에서와 같은 네트워크(102) 또는 도 2에서와 같은 코어 데이터 센터(110) 대신에 제3 토폴로지의 모바일 에지 데이터 센터(130)와 같은 예시적인 에지 데이터 센터에 연결될 수 있는 관리 컴퓨팅 엔티티(308)를 도시한다. 다시 한번, 이 토폴로지는 관리 컴퓨팅 엔티티가 네트워크 아키텍처(예, 에지 데이터 센터 대 코어 데이터 센터 및/또는 네트워크)의 다른 위치에 상주할 수 있는 가능성을 반영한다.
일부 실시 예에서, 다이어그램(300)은 네트워크(102)가 코어 데이터 센터(110)로의 제1 데이터 전송(301)을 통해 워크로드 요청을 개시할 수 있음을 추가로 도시한다. 예를 들어, 네트워크(102)에 연결된 장치(예, 장치(106)) 또는 호스트(예, 호스트(104))는 네트워크(102)에 의해 처리될 수 있고 데이터 전송(301)을 통해 작업 부하 요청을 개시할 수 있는 워크로드를 생성할 수 있다. 관리 컴퓨팅 엔티티(308)는 다시 네트워크 아키텍처와 관련된(예, 코어 데이터 센터(110) 및 모바일 에지 데이터 센터(130), 에지 데이터 센터(120) 및/또는 에지 데이터 센터(140)와 같은 다양한 에지 데이터 센터와 관련된 네트워크 매개 변수를 포함하지만, 이에 제한되지 않음) 네트워크 매개 변수(예, 데이터 전송 속도, 네트워크 부분 활용, 이들의 조합 등, 아래도 7과 연결하여 더 도시되고 설명됨)를 모니터링할 수 있다.
모니터링의 결과에 기초하여, 관리 컴퓨팅 엔티티 (308)는 모바일 에지 데이터 센터(130)에 워크로드의 적어도 일부를 유지하도록 결정할 수 있다. 일부 예들에서, 관리 컴퓨팅 엔티티(308)는 워크로드의 상이한 부분을 코어 데이터 센터(110), 에지 데이터 센터(140) 및/또는 에지 데이터 센터(120)로 추가로 라우팅할 수 있다. 앞서 언급한 바와 같이, 워크로드를 라우팅 할 위치를 결정하기 위해, 관리 컴퓨팅 엔티티(308)는 네트워크 아키텍처의 다른 부분과 관련된 다양한 지연 시간을 결정하기 위해, 네트워크 아키텍처 및 네트워크 부분의 모델을 실행할 수 있는데, 이에 대해 도 7-9에서 연결하여 더 도시되고 설명된다. 선택적으로, 관리 컴퓨팅 엔티티(308)는 워크로드의 코어 데이터 센터와 에지 데이터 센터 계산 간의 최적 라우팅을 결정하기 위해, 지연 시간을 (아래의 도 4 및 5에 연결하여 추가로 도시되고 설명될) 머신 러닝 구성 요소에 대한 입력으로 사용할 수 있다.
도 4는 본 개시의 예시적인 실시 예들에 따른, 네트워크 아키텍처의 상이한 부분들에 걸친 워크로드들의 분포를 결정하기 위한 감독된 머신 러닝 접근법의 다이어그램을 도시한다. 특히, 다이어그램(400)은 예상 지연 시간 및 네트워크 매개 변수에 기초하여 코어 데이터 센터 및 하나 이상의 에지 데이터 센터에 주어진 워크로드의 분포를 결정하는 감독된 머신 러닝 접근 방식을 도시한다. 보다 구체적으로, 다이어그램(400)은 머신 러닝 접근법의 훈련 구성 요소(401)를 보여주는데, 훈련 구성 요소(401)는 후술되는 네트워크(402), 네트워크 매개 변수(404), 라벨(406), 특징 벡터(408), 관리 컴퓨팅 엔티티(110), 머신 러닝 구성 요소(412), 프로세서(414) 및 메모리(416)를 포함한다. 추가적으로, 다이어그램(400)은 머신 러닝 접근법의 추론 구성 요소(403)를 보여주는데, 추론 구성 요소(403)는 네트워크 매개 변수들(420), 특징 벡터(422), 예측 모델(424) 및 예상 분포(426)를 포함하며, 이는 또한 아래에서 설명될 것이다.
이제 다이어그램(400)에 도시된 다양한 구성 요소로 돌아가서, 더 상세한 설명이 기재된다. 특히, 네트워크(402)는 위의 도 1에 연결하여 도시되고 설명된 네트워크(102)와 유사할 수 있다. 일부 예들에서, 네트워크(402)는 관리 컴퓨팅 엔티티(410)에 통신 가능하게 결합될 수 있다. 일부 실시 예에서, 네트워크 매개 변수(404)는 도 1과 연결하여 도시되고 설명된 것과 같은 다양한 엔티티 사이의 네트워크 아키텍처의 다양한 부분에서 전송되는 원시 데이터(raw data)를 포함할 수 있다. 일부 예에서, 원시 데이터는 네트워크의 일부에 대한 워크로드, 데이터 전송, 지연 시간 및/또는 데이터 전송 속도를 포함할 수 있지만, 이에 제한되지는 않는다.
일부 실시 예에서, 라벨(406)은 특정 구성을 갖는 예시적인 네트워크 아키텍처에서 코어 데이터 센터 및 하나 이상의 에지 데이터 센터에 걸쳐 주어진 워크로드의 최적 분포를 나타낼 수 있다. 일부 실시 예에서, 라벨(406)은 아래 도 7과 연결하여 도시되고 설명될 모델(702)과 같은 모델의 결과를 사용하여 결정될 수 있다. 다양한 양상에서, 라벨(406)은 예를 들어, 추론 구성 요소(403) 동안 코어 데이터 센터 및 하나 이상의 에지 데이터 센터에 걸쳐 주어진 미래 워크로드의 예상 분포(426)를 예측하기 위해 머신 러닝 구성 요소(412)를 훈련시키는 데 사용될 수 있다.
일부 실시 예에서, 특징 벡터(408)는 네트워크 매개 변수(404)의 일부일 수 있는 원시 데이터로부터 추출될 수 있는 다양한 관심 매개 변수(예, 지연 시간 및/또는 데이터 전송 속도)를 나타낼 수 있다. 일부 예에서, 특징 벡터(408)는, 예를 들어, 아래 도 7에서 연결하여 설명된 바와 같이, 네트워크 아키텍처를 통해 관리 컴퓨팅 엔티티에 의해 감독된 전송의 개별 측정 가능한 속성 또는 특성을 나타낼 수 있다.
다른 실시 예에서, 관리 컴퓨팅 엔티티(410)는 네트워크(402)에 통신 가능하게 결합될 수 있고, 머신 러닝 구성 요소(412), 프로세서(414) 및 메모리(416)를 포함할 수 있다. 특히, 머신 러닝 구성 요소(412)는 임의의 적절한 머신 러닝 기술을 사용하여 코어 데이터 센터 및 하나 이상의 에지 데이터 센터에 걸쳐 주어진 워크로드를 처리하기위한 예상 분포(426)의 예측 모델(424)을 생성할 수 있다. 비 제한적인 머신 러닝 기술은 감독 학습 기술(도 4에 연결하여 도시 및 설명됨), 비감독 학습 기술(도 5에 연결하여 도시 및 설명됨), 강화 학습 기술, 자가 학습 기술, 특징 학습 기술, 연관 규칙 기술 및 이들의 조합을 포함할 수 있지만, 이에 제한되지는 않는다. 추가적인 비 제한적인 머신 러닝 기술은 인공 신경망, 의사 결정 트리, 지원 벡터 머신, 회귀 분석 기술, 베이지안 네트워크 기술, 유전 알고리즘 기술, 및/또는 이들의 조합을 포함할 수 있으나, 이에 제한되지는 않는다.
언급된 바와 같이, 다이어그램(400)은 추론 구성 요소(403)를 포함한다. 특히, 추론 구성 요소(403)는 네트워크 매개 변수(420)가 수신되고, 특징 벡터가 (예, 관리 컴퓨팅 엔티티(410)에 의해) 추출되고, 예측 모델(424)을 실행하는 머신 러닝 구성 요소(410)가 다음과 같은 점에서 훈련 구성 요소 (401)와 유사할 수 있고, 및 코어 데이터 센터 및 하나 이상의 에지 데이터 센터에 걸쳐 주어진 워크로드 처리의 예상 분포(426)를 결정하는 데 사용된다. 추론 구성 요소(403)와 훈련 구성 요소(401) 사이의 한 가지 차이점은 추론 구성 요소가 분포를 결정하기 위해 머신 러닝 구성 요소를 훈련시키기 위해 라벨(예, 라벨(406))을 수신하지 않을 수 있다는 것이다. 따라서, 추론 구성 요소(403) 동작 모드에서, 관리 컴퓨팅 엔티티(410)는 주어진 워크로드의 예상 분포(426)를 라이브로 결정할 수 있다. 이어서, 에러율(예, 주어진 워크로드에 대한 전체 지연 감소에 기초하여 정의됨)이 미리 결정된 임계 값 미만이면, 머신 러닝 구성 요소(412)는 훈련 구성 요소(401)를 사용하여 재 훈련될 수 있다(예, 상이한 또는 유사한 네트워크 매개 변수(404)와 관련된 상이한 라벨(406)과 함께). 추론 구성 요소(403)는 에러율을 미리 결정된 임계값 이상으로 향상시키기 위해 후속 적으로 실행될 수 있다.
도 5는 본 개시의 예시적인 실시 예에 따른 네트워크 아키텍처의 상이한 부분들에 걸친 워크로드의 분포를 결정하기 위한 비감독 머신 러닝 방법의 다이어그램을 도시한다. 특히, 다이어그램(500)은 관리 컴퓨팅 엔티티(510)에 연결된 네트워크(502)를 도시한다. 또한, 다이어그램(500)은 네트워크 매개 변수(504), 특징 벡터(508), 머신 러닝 구성 요소(512)를 갖는 관리 컴퓨팅 엔티티(510), 프로세서(514) 및 메모리(516)를 포함하는 머신 러닝 방법의 훈련 구성 요소(501)를 포함한다. 또한, 다이어그램(500)은 네트워크 매개 변수(520), 특징 벡터(522), 모델(524) 및 코어 및 에지 데이터 센터에 걸친 워크로드의 예상 분포(526)를 포함하는 머신 러닝 방법의 추론 구성 요소(503)를 포함한다.
이제 다이어그램(500)에 도시된 다양한 구성 요소로 돌아가서, 보다 상세한 설명이 제공된다. 특히, 네트워크(502)는 위의 도 1과 연결하여 도시되고 설명된 네트워크(102)와 유사할 수 있다. 일부 예들에서, 네트워크(502)는 관리 컴퓨팅 엔티티(510)에 통신 가능하게 결합될 수 있다. 일부 실시 예에서, 네트워크 매개 변수(504)는 도 1과 연결하여 도시되고 설명된 것과 같은 네트워크 아키텍처의 다양한 부분에서 전송되는 원시 데이터(raw data)를 포함할 수 있다. 일부 예에서, 원시 데이터는 네트워크의 일부에 대한 워크로드, 데이터 전송, 지연 시간 및/또는 데이터 전송 속도, 이들의 조합 등을 포함할 수 있지만 이에 제한되지는 않는다.
일부 실시 예에서, 위의 도 4에서 연결하여 도시되고 설명된 코어 데이터 센터 및 하나 이상의 에지 데이터 센터에 걸쳐 주어진 워크로드의 최적 분포를 나타내는 라벨(406)과 대조적으로, 훈련 구성 요소(501)는 그러한 라벨을 갖지 않을 수 있다. 오히려, 관리 컴퓨팅 엔티티(510)는 라벨없이 (예를 들어, 추론 구성 요소(503)를 사용하여 코어 데이터 센터 및 하나 이상의 에지 데이터 센터에 걸쳐 주어진 미래 워크로드의 예상 분포(526)를 예측하기 위해) 머신 러닝 구성 요소(512)를 훈련시킬 수 있다.
일부 실시 예에서, 특징 벡터(508)는 네트워크 매개 변수(504)의 일부일 수 있는 원시 데이터로부터 추출될 수 있는 다양한 관심 매개 변수(예를 들어, 지연 시간 및/또는 데이터 전송 속도)를 나타낼 수 있다. 일부 예들에서, 특징 벡터(508)는, 예를 들어, 아래 도 7과 연결하여 설명된 바와 같이 네트워크 아키텍처를 통해 관리 컴퓨팅 엔티티에 의해 관찰된 전송의 개별 측정 가능한 속성 또는 특성을 나타낼 수 있다.
다른 실시 예에서, 관리 컴퓨팅 엔티티(510)는 네트워크(502)에 통신 가능하게 결합될 수 있고, 머신 러닝 구성 요소(512), 프로세서(514) 및 메모리(516)를 포함할 수 있다. 특히, 머신 러닝 구성 요소(512)는 임의의 적절한 머신 러닝 기술을 사용하여 코어 데이터 센터 및 하나 이상의 에지 데이터 센터에 걸쳐 주어진 워크로드를 처리하는 예상 분포(526)의 모델(524)을 생성할 수 있다.
언급된 바와 같이, 다이어그램(500)은 추론 구성 요소(503)를 포함한다. 특히, 추론 구성 요소(503)는 네트워크 매개 변수(520)가 수신되고 특징 벡터(522)가 추출된다는 점에서(예, 관리 컴퓨팅 엔티티에 의해) 훈련 구성 요소(501)와 유사할 수 있고, 모델(524)을 실행하는 머신 러닝 구성 요소(510)는 코어 데이터 센터 및 하나 이상의 에지 데이터 센터에 걸쳐 주어진 워크로드 처리의 예상 분포(526)를 결정하는 데 사용된다. 따라서, 추론 구성 요소(503) 동작 모드에서, 관리 컴퓨팅 엔티티(510)는 주어진 워크로드의 예상 분포(526)를 라이브로 결정할 수 있다. 그 후, 에러율(예, 주어진 워크로드에 대한 전체 지연 시간 감소에 기초하여 정의됨)이 미리 결정된 임계 값 미만이면, 머신 러닝 구성 요소(512)는 훈련 구성 요소(501)를 사용하여 재 훈련될 수 있다. 추론 구성 요소(503)는 미리 결정된 임계 값 이상이 되도록 에러율을 개선하기 위해 후속적으로 실행될 수 있다.
도 6은 본 개시의 예시적인 실시 예에 따라 네트워크, 서버 및 사용자 장치와 관련하여 개시된 실시 예의 다양한 동작을 수행할 수 있는 관리 컴퓨팅 엔티티를 나타내는 시스템의 다이어그램을 도시한다. 다이어그램(600)은 관리 컴퓨팅 엔티티(601), 프로세서(602), 메모리(604), 네트워크 모니터링 구성 요소(606), 통신 구성 요소(608), 컴퓨팅 구성 요소(610), 라우팅 구성 요소(612), 네트워크(622), 서버(614) 및 장치(616)를 도시한다.
특히, 관리 컴퓨팅 엔티티(601)는 위의 도 1과 연결하여 도시되고 설명된 관리 컴퓨팅 엔티티(108)와 유사할 수 있지만, 반드시 동일하지는 않을 수 있다. 관리 컴퓨팅 엔티티(601)의 추가 세부 사항이 아래 도 13 및 도 14와 연결하여 도시되고 설명된다.
일부 실시 예에서, 컴퓨팅 구성 요소(610)는 관련된 구성 파일로부터 다양한 코어 및 에지 컴퓨팅 시나리오를 로드하고 실행할 수 있다. 또한, 컴퓨팅 구성 요소(610)는 네트워크의 측면, 네트워크 상의 장치에 대한 이동성 (예를 들어, 시간이 지남에 따라 네트워크와 관련된 모바일 장치의 위치를 결정하거나 및/또는 미리 결정된 모델을 사용하여 장치 위치를 나타내기 위해, 예를 들어, 장치의 위치가 지속적인 위치 업데이트 대신 주기적으로 변경되는 유목 이동성 모델을 사용하여), 및 에지 오케스트레이터(orchestrator)를 추상화하는 클래스의 라이브러리를 사용하여 MEC 아키텍처의 특정 측면을 모델링 할 수 있다. 일부 실시 예에서, 컴퓨팅 구성 요소(610)는 작업(task) 목록을 통해 작업 생성 패턴을 결정하기 위해 클래스와 함께 주어진 네트워크 구성에 대한 예시 작업을 생성하기 위해 부하 생성기 구성 요소(미도시)를 포함할 수 있다. 일부 실시 예에서, 부하 생성기 구성 요소는 특정 활성 기간에 작업을 생성하고 특정 유휴 기간에 비활성 상태를 유지하는 모바일 장치를 모델링 할 수 있는데, 예를 들어, 미리 결정된 작업 간격 시간에 따라 네트워크 트래픽 모니터링 또는 사용자 입력을 기반으로 유휴 및 활성 기간이 제공될 수 있다.
일부 실시 예에서, 컴퓨팅 구성 요소(610)는 들어오는 클라이언트 요청을 처리하는 방법 및 위치를 결정하기 위해 다른 구성 요소로부터 수집된 정보를 사용하는 에지 오케스트레이터 구성 요소(미도시)를 포함할 수 있다. 특히, 에지 오케스트레이터 구성 요소는 하나 이상의 에지 장치에 요청을 할당하는 동안 임의의 적절한 알고리즘(예, first/next/best/worst/random(f/n/b/w/r) 적합 알고리즘)을 구현할 수 있다. 또한 에지 오케스트레이터 구성 요소는 알고리즘과 관련된 미리 결정된 정책을 기반으로 VM을 에지 데이터 센터로 오프로드 하는 모델을 만들 수 있다.
시스템(600)은 서버 장치, 하나 이상의 네트워크 및 하나 이상의 장치(미도시)를 선택적으로 포함할 수 있다. 시스템(600)은 또한 메모리(604)에 저장된 컴퓨터 실행 가능 구성 요소를 실행하는 적어도 하나의 프로세서(602)를 포함하거나 그와 연관될 수 있다. 시스템(600)은 다양한 구성 요소를 결합할 수 있는 시스템 버스(611)를 더 포함할 수 있지만, 이에 제한되지 않고, 네트워크 모니터링 구성 요소(606), 통신 구성 요소(608), 컴퓨팅 구성 요소(610), 라우팅 구성 요소(612) 및/또는 다른 것과 결합해 작동하는 다른 구성 요소를 더 포함할 수 있다.
시스템의 양상(예, 시스템(600) 등)에서, 본 개시에서 설명된 장치 또는 프로세스는 머신(들) 내에 구현된 머신 실행 가능 구성 요소(들)를 구성할 수 있으며, 예를 들어, 하나 이상의 머신과 관련된 하나 이상의 컴퓨터 판독 가능 매체(또는 매체)로 구현된다. 예를 들어, 컴퓨터(들), 컴퓨팅 장치(들), 가상 머신(들) 등과 같은 하나 이상의 머신에 의해 실행될 때 그러한 구성 요소(들)는 머신(들)이 설명된 동작을 수행하게 할 수 있다. 본 명세서에 설명된 하나 이상의 실시 예에서 사용되는 유사 요소의 반복적 인 설명은 간결함을 위해 생략된다.
일부 예들에서, 시스템(600)은 임의의 적절한 컴퓨팅 장치 또는 장치에 통신 가능하게 결합될 수 있는 컴퓨팅 장치 세트를 사용하여 구현된 관리 컴퓨팅 엔티티를 포함할 수 있으며, 이에 제한되지 않고, 서버 컴퓨터, 컴퓨터, 모바일 컴퓨터, 메인 프레임 컴퓨터, 자동 테스트 시스템, 네트워크 저장 장치, 통신 장치, 웹 서버 장치, 네트워크 스위칭 장치, 네트워크 라우팅 장치, 게이트웨이 장치, 네트워크 허브 장치, 네트워크 브리지 장치, 제어 시스템 또는 기타 적절한 컴퓨팅 장치를 포함할 수 있다. 장치는 시스템(600)과 정보를 통신할 수 있는 임의의 장치 및/또는 시스템(600)에 의해 제공된 정보를 사용할 수 있는 임의의 다른 적절한 장치일 수 있다. 시스템(600), 구성 요소, 모델 또는 장치에는 하나 이상의 네트워크를 통해(예, 코어 및 에지 데이터 센터를 포함하는 클라우드 컴퓨팅 환경에서) 시스템, 구성 요소, 모델, 장치 등 간의 통신을 가능하게 하는 통신 구성 요소(618)가 장착될 수 있음을 이해해야 한다.
일부 실시 예에서, 네트워크 모니터링 구성 요소(606)는 네트워크 또는 네트워크의 일부를 통과하는 트래픽을 캡처 및/또는 기록할 수 있는 소프트웨어 및/또는 하드웨어 구성 요소를 포함할 수 있다. 패킷 캡처(packet capture)는 트래픽을 가로 채고(intercepting) 로깅(logging)하는 프로세스를 참조할 수 있다. 데이터 스트림(data stream)이 네트워크를 통해 흐를 때, 네트워크 모니터링 구성 요소(606)는 패킷을 캡처할 수 있고, 필요한 경우 패킷의 원시 데이터를 디코딩하여 패킷의 다양한 필드의 값을 표시하고 적절한 사양에 따라 그 내용을 분석할 수 있다. 일부 실시 예에서, 네트워크 모니터링 구성 요소(606)는 워크로드를 네트워크의 다른 부분으로 라우팅하는 데 사용될 수 있는 다양한 네트워크 매개 변수를 캡처 및/또는 결정하는 기능을 포함할 수 있다.
일부 양상들에서, 통신 구성 요소(608)는 네트워크 아키텍처상의 다양한 장치들에 정보(예, 데이터 및/또는 워크로드)를 통신하기 위해 다양한 구성 요소(예, 트랜시버, 안테나 등)를 포함할 수 있다. 통신 구성 요소(608)의 추가 세부 사항이 아래 도 14에 연결하여 도시되고 설명된다.
시스템(600)의 다양한 구성 요소(예, 네트워크 모니터링 구성 요소(606), 통신 구성 요소(608), 컴퓨팅 구성 요소(610), 라우팅 구성 요소(612) 및/또는 다른 구성 요소)는 직접 또는 하나 이상의 네트워크를 통해 (예를 들어, 통신 구성 요소(618)를 통해) 연결될 수 있다. 이러한 네트워크는 셀룰러 네트워크, 광역 통신망(WAN)(예, 인터넷) 또는 근거리 통신망 (LAN)을 포함 하나, 이에 제한되지 않는 셀룰러, WAN, Wi-Fi, Wi-Max, WLAN, 무선 통신, 마이크로파 통신, 위성 통신, 광 통신, 음파 통신 또는 기타 적절한 통신 기술과 같은 유선 및 무선 네트워크를 포함할 수 있다. 더욱이, 전술한 시스템 및/또는 장치는 여러 구성 요소 간의 상호 작용과 관련하여 설명되었다. 이러한 시스템 및 구성 요소는 그 안에 특정된 구성 요소 또는 하위 구성 요소, 특정 구성 요소 또는 하위 구성 요소 중 일부, 및/또는 추가 구성 요소를 포함할 수 있음을 이해해야 한다. 하위 구성 요소는 상위 구성 요소에 포함되지 않고 다른 구성 요소와 통신적으로 연결된 구성 요소로 구현될 수도 있다. 또한, 하나 이상의 구성 요소 및/또는 하위 구성 요소는 통합 기능을 제공하는 단일 구성 요소로 결합될 수 있다. 구성 요소는 또한 간결함을 위해 본 명세서에 구체적으로 설명되지 않았지만 당업자에게 공지된 하나 이상의 다른 구성 요소와 상호 작용할 수 있다.
일부 양상에서, 컴퓨팅 구성 요소(610)는 인공 지능(AI)(예를 들어, 도 4 및 5에 연결하여 위에서 도시되고 설명된 머신 러닝 구성 요소)을 사용하여 네트워크의 부분들 사이의 워크로드의 라우팅을 결정할 수 있고, 예를 들어, 향상된 워크로드 라우팅을 위해 시간이 지남에 따라 네트워크의 여러 부분(예, 히스토리(historical) 데이터)에 대한 데이터 흐름을 모니터링 한다. 따라서, 여기에 설명된 장치, 관리 컴퓨팅 엔티티 및/또는 관련 구성 요소의 실시 예는 여기에 설명된 하나 이상의 특징을 자동화하는 것을 용이하게 하기 위해 AI를 사용할 수 있다. 구성 요소는 본 명세서에 개시된 다양한 실시 예/예들을 수행하기 위해 다양한 AI 기반 방식을 사용할 수 있다. 여기에 설명된 수많은 결정(예, 결정, 확인, 추론, 계산, 예측, 추정, 도출, 탐지)을 제공하거나 지원하기 위해, 여기에 설명된 구성 요소는 데이터의 전체 또는 하위 집합을 검사할 수 있고, 액세스 권한이 부여되고 이벤트 및/또는 데이터를 통해 캡처된 일련의 관찰에서 시스템, 환경 등에 대한 추론을 제공하거나 상태를 결정할 수 있다. 예를 들어, 특정 상황이나 행동을 식별하기 위해 결정을 사용하거나 상태에 대한 확률 분포를 생성할 수 있다. 결정은 확률적(즉, 데이터 및 이벤트를 고려하여 관심 상태에 대한 확률 분포를 계산하는 것)일 수 있다. 결정은 또한 일련의 이벤트 및/또는 데이터에서 상위 수준 이벤트를 구성하는 데 사용되는 기술을 참조할 수 있다.
이러한 결정은 사건이 시간적으로 가까운 거리에서 상관 관계가 있는지 여부, 및 이벤트와 데이터가 하나 또는 여러 이벤트 및 데이터 소스에서 오는지 여부와 같은 관찰된 이벤트 세트 및/또는 저장된 이벤트 데이터로부터 새로운 이벤트 또는 동작의 구성을 초래할 수 있다. 본 명세서에 개시된 구성 요소는 청구된 주제와 관련하여 자동 및/또는 결정된 동작을 수행하는 것과 관련하여 다양한 분류 방식(명시적으로 훈련된(예, 훈련 데이터를 통해) 및 암시적으로 훈련된(예, 행동 관찰, 선호도, 과거 정보, 외부 정보 수신 등) 및/또는 시스템(예, 지원 벡터 머신, 신경망, 전문가 시스템, 베이지안(Bayesian) 신념(belief) 네트워크, 퍼지(fuzzy) 논리, 데이터 융합 엔진 등))을 사용할 수 있다. 따라서 분류 체계 및/또는 시스템을 사용하여 여러 기능, 작업 및/또는 결정을 자동으로 학습하고 수행할 수 있다. 일부 양상에서, 신경망은 장단기 기억(LSTM; long short term memory) 신경망, 반복 신경망(recurrent neural network), 시간 지연 신경망(time delay neural network), 또는 피드 포워드 신경망(feed forward neural network) 중 적어도 하나를 포함할 수 있지만, 이에 제한되지는 않는다.
분류기는 입력 속성 벡터 z=(z1, z2, z3, z4, ?, zn)를 f(z)=신뢰(클래스)와 같이 입력이 클래스에 속한다는 신뢰에 매핑할 수 있다. 이러한 분류는 확률적 및/또는 통계 기반 분석을 사용하여 자동으로 수행할 작업을 결정할 수 있다. SVM(Support Vector Machine)은 사용할 수 있는 분류기의 예가 될 수 있다. SVM은 가능한 입력 공간에서 하이퍼 표면을 찾아서 작동하며, 여기서 하이퍼 표면(hyper-surface)은 비 트리거(non-triggering) 이벤트에서 트리거(triggering) 기준을 분리하려고 시도한다. 직관적으로 이것은 훈련 데이터와 동일하지는 않지만 가깝지만 동일하지 않은 테스트 데이터에 대해 분류를 올바르게 만든다. 다른 방향성 및 무 방향성 모델 분류 접근 방식에는, 예를 들어, 나이브 베이즈(na
Figure pct00001
ve Bayes), 베이지안(Bayesian) 네트워크, 의사 결정 트리, 신경망, 퍼지(fuzzy) 논리 모델 및/또는 다양한 독립 패턴을 제공하는 확률적 분류 모델이 사용될 수 있다. 여기에 사용된 분류는 또한 우선 순위 모델을 개발하는데 사용되는 통계적 회귀를 포함한다.
일부 실시 예에서, 라우팅 구성 요소(612)는 워크로드 및/또는 관련 데이터를 네트워크의 다른 부분으로 전송하기로 결정하는 구성 요소를 포함할 수 있다. 일부 양상들에서, 라우팅 구성 요소(612)는 그에 따라 전송을 라우팅하기 위해 본 명세서에서 다양하게 설명된 모델링 및/또는 머신 러닝 기술들에 의해 결정된 분포들에 기초하여 전송들을 기반으로 할 수 있다. 일부 실시 예에서, 라우팅 구성 요소(612)는 적절한 헤더 및/또는 메타 데이터 정보와 관련된 패킷을 캡슐화(encapsulate)하여 네트워크의 다른 부분(예, 네트워크의 무선 부분 또는 네트워크의 유선 부분)으로 전송할 수 있다. 네트워크(622)는 위의 도 1과 연결하여 도시되고 설명된 네트워크(102)와 유사하지만, 반드시 동일하지는 않을 수 있다. 일부 예들에서, 라우팅 구성 요소(612) 및/또는 컴퓨팅 구성 요소(610)는 (1) 코어 데이터 센터로의 및 코어 데이터 센터로부터의 데이터 트래픽과 관련된 전송 속도, (2) 에지 데이터 센터를 오가는 데이터 트래픽과 관련된 전송 속도, (3) 에지 데이터 센터와 관련된 장치와의 데이터 트래픽과 관련된 전송 속도, 또는 (4) 코어 데이터 센터와 관련된 제1 프로그래밍 방식으로 예상되는 지연 시간 또는 에지 데이터 센터와 관련된 제2 프로그래밍 방식으로 예상되는 지연 시간 간의 차이에 기초하여 코어 데이터 센터와 관련된 장치로/로부터의 데이터 트래픽과 관련된 전송 속도 중 적어도 하나를 스로틀링(throttle) 할 수 있다.
일부 실시 예에서, 서버 (614)는 네트워크상의 서버, 코어 데이터 센터 및/또는 에지 데이터 센터를 나타낼 수 있다. 특히, 서버(614)는 일부 예에서 관리 컴퓨팅 엔티티(601)의 적어도 일부를 포함하거나 실행하도록 구성될 수 있다. 예를 들어, 관리 컴퓨팅 엔티티(601)는 위의 도 1과 연결하여 도시되고 설명된 바와 같이 네트워크의 호스트를 나타내는 서버에 상주할 수 있다. 대안적으로 또는 추가적으로, 관리 컴퓨팅 엔티티(601)는 위의 도 2와 연결하여 추가로 도시되고 설명된 바와 같이 코어 데이터 센터의 서버에 상주할 수 있다. 또한, 관리 컴퓨팅 엔티티(601)는 위의 도 3과 연결하여 추가로 도시되고 설명된 바와 같이 에지 데이터 센터의 서버에 상주할 수 있다. 다른 실시 예에서, 관리 컴퓨팅 엔티티(601)의 다양한 부분은 네트워크, 코어 데이터 센터 및/또는 에지 데이터 센터와 관련된 하나 이상의 서버(또는 장치)에 적어도 부분적으로 상주할 수 있으며, 이는 함께 관리 컴퓨팅 엔티티(601)의 완전한 기능을 형성할 수 있다. 또한, 장치(616)는 사용자 장치(예, 휴대 전화, 노트북, 태블릿 등)를 포함할 수 있고, 위의 도 1과 연결하여 도시되고 설명되고, 및 아래 도 12와 연결하여 설명되는 장치와 유사하지만 반드시 동일하지는 않을 수 있다.
도 7은 본 개시의 예시적인 실시 예들에 따른, 다양한 입력 네트워크 매개 변수에 기초하여 예시적인 네트워크 아키텍처의 지연 시간 및 호스트-레벨 성능 메트릭(host-level performance metric)과 같은 네트워크 매개 변수를 결정하기위한 예시적인 모델의 다이어그램을 도시한다. 일부 실시 예에서, 다이어그램(700)은 클라우드 컴퓨팅 부분(704), 로드 밸런서 부분(706), 에지 컴퓨팅 부분(708), 사용자 장치 부분(710)을 포함하는 모델(702)을 도시한다. 또한, 다이어그램(700)은 모델(702)에 공급될 수 있는 다양한 입력 매개 변수(712)를 도시한다. 모델(702)은 다양한 출력 매개 변수(714)를 출력할 수 있다. 일부 예들에서, 출력 매개 변수들(714)은 머신 러닝 기술(예, 상기 도 4 및 5와 연결하여 도시되고 설명된 머신 러닝 기술)에 의해 사용될 수 있다.
이제 다이어그램(700)의 요소에 대한보다 상세한 설명으로 돌아 가면, 모델(702)은 클라우드 컴퓨팅 부분(704)을 포함할 수 있다. 특히, 클라우드 컴퓨팅 부분(704)은 코어 데이터 센터 및/또는 위의 도 1과 연결하여 도시되고 설명된 네트워크(102)와 유사한 네트워크를 포함할 수 있다. 또한, 로드 밸런서 부분(706)은 하나 이상의 에지 데이터 센터 및/또는 네트워크와 관련된 다른 서버와 같은 다수의 컴퓨팅 리소스에 걸쳐 워크로드의 분포를 개선하는 역할을 할 수 있는 구성 요소를 포함할 수 있다. 더욱이, 에지 컴퓨팅 부분(708)은 위의 도 6과 연결하여 도시되고 설명된 서버(614)와 유사하지만 반드시 동일하지는 않은 다양한 서버 및 저장 장치를 포함할 수 있다. 일부 양상들에서, 사용자 장치 부분(710)은 아래 도 12와 연결하여 추가로 도시되고 설명된 바와 같이 다양한 사용자 장치(예, 모바일 폰, 랩탑, IoT 장치, 이들의 조합 등)를 포함할 수 있다.
일부 실시 예에서, 입력 매개 변수(712)는 사용 백분율(usage percentage)을 포함할 수 있으며, 이는 다양한 장치가 역사적으로(historically) 사용했거나 네트워크 아키텍처에서 다양한 구성 요소를 사용하도록 예상되는 백분율을 나타낼 수 있다. 다른 양상에서, 입력 매개 변수(712)는 주어진 워크로드가 적어도 원래 코어 데이터 센터에 할당될 확률을 나타낼 수 있는 클라우드 선택 확률(selection probability)을 포함할 수 있다. 또한, 확률은 임의의 적절한 수학적 및/또는 통계적 프로세스(예, 포아송(Poisson) 프로세스)에 의해 모델링될 수 있다. 예시적인 실시 예에서, 입력 매개 변수(712)는 확률을 모델링하는 통계 프로세스에 대한 포아송 도착 간(inter-arrival) 값을 포함할 수 있는데, 상기 도착 간 값은 네트워크상의 다양한 장치(예, 사용자 장치 부분(710))로부터의 작업 부하 할당을 나타내는 이벤트 간의 시간 차이를 나타낸다. 다른 양상에서, 입력 매개 변수(712)는 지연에 대한 주어진 워크로드의 상대적 민감도를 나타낼 수 있는 수치(예, 0 내지 10 사이의 숫자)를 지칭할 수 있는 지연 민감도 값을 포함할 수 있다. 예를 들어, 비디오 스트리밍 애플리케이션의 경우 지연 민감도가 이메일 애플리케이션보다 높을 수 있으며 지연이 사용자 경험에 지장을 주지 않을 수 있다.
일부 예들에서, 입력 매개 변수(712)는 휴면(dormant)과 반대로 네트워크의 특정 부분이 활성화되는(예, 워크로드 및 다른 요청에 응답하는) 기간을 지칭할 수 있는 활성 기간을 포함할 수 있다. 일부 예에서, 이 매개 변수는 일정 기간 동안 전체 네트워크 아키텍처에 대한 상대적 부하를 캡처하는 다른 활동주기에 반영될 수 있다. 일부 실시 예에서, 입력 매개 변수(712)는 유휴 기간을 포함할 수 있으며, 이는 네트워크의 특정 부분이 활성과 반대로 휴면 상태인 기간을 지칭할 수 있다. 다시 말하지만, 일부 예에서 이 매개 변수는 시간이 지남에 따라 전체 네트워크 아키텍처에 대한 상대적 부하를 캡처하는 다른 활동주기에 반영될 수 있다.
다양한 실시 예에서, 입력 매개 변수(712)는 데이터 업로드 속도 또는 양을 포함할 수 있으며, 이는 장치 및/또는 네트워크 아키텍처의 일부가 한 노드에서 다른 노드로 데이터를 업로드할 수 있는 속도를 나타낼 수 있다. 예를 들어, 데이터 업로드 속도는 사용자 장치(예, 휴대폰)가 코어 데이터 센터 또는 에지 데이터 센터의 서버에 이미지를 업로드하는 속도를 반영할 수 있다. 일부 예에서, 입력 매개 변수(712)는 데이터 다운로드 속도 또는 양을 포함할 수 있으며, 이는 장치 및/또는 네트워크 아키텍처의 일부가 한 노드에서 다른 노드로 데이터를 다운로드 할 수 있는 속도를 지칭할 수 있다. 예를 들어, 데이터 다운로드 속도는 사용자 장치(예, 휴대폰)가 코어 데이터 센터 또는 에지 데이터 센터의 서버에서 이미지 및/또는 비디오를 다운로드 할 수 있는 속도를 반영할 수 있다. 다른 양상에서, 입력 매개 변수(712)는 특정 워크로드를 실행하는데 필요한 코어 프로세서의 양을 나타낼 수 있는 필수 코어 사용을 포함할 수 있다. 예를 들어, 특정 워크로드는 작업을 실행하기 위해 미리 정해진 수의 전용 프로세서를 필요로 할 수 있으며, 작업의 중요성은 다양하다. 다양한 실시 예에서, 입력 매개 변수(712)는 코어 및/또는 에지 데이터 센터에 의해 처리되는 워크로드에 의한 가상 머신의 예상 사용을 지칭할 수 있는 VM 사용률을 포함할 수 있다.
다른 양상에서, 출력 매개 변수(714)는 네트워크 아키텍처상의 워크로드를 처리하는 것과 관련된 다양한 지연을 포함할 수 있다. 특히, 출력 매개 변수(714)는 통신 지연을 포함할 수 있으며, 이는 다양한 미디어를 통한 네트워크의 부분들 간의 통신 지연에 의해 야기되는 지연을 지칭할 수 있다. 예를 들어, 통신 지연은 무선 전송 또는 이더넷 전송으로 인한 지연을 반영할 수 있다. 다양한 실시 예에서, 출력 매개 변수(714)는 네트워크의 일부(예, 에지 또는 코어 데이터 센터)에서 주어진 작업을 완료하는 것과 관련된 지연을 지칭할 수 있는 처리 지연을 포함할 수 있다. 일부 실시 예에서, 출력 매개 변수(714)는 주어진 워크로드를 실행하고 처리하는데 필요한 전체 시간을 지칭할 수 있는 총 서비스 시간을 포함할 수 있다. 다양한 실시 예에서, 출력 매개 변수(714)는 호스트-레벨 성능 메트릭(host-level performance metric)을 포함할 수 있다. 다른 측면에서, 호스트-레벨 성능 메트릭은 특정 크기를 갖는 작업과 관련된 지연을 지칭할 수 있는 작업 크기 효과를 포함할 수 있다. 워크로드 완료에 대한 작업(task) 크기의 영향의 예는 아래 도 17, 18 및 19과 연결하여 더 도시되고 설명된다.
일부 예들에서, 호스트-레벨 성능 메트릭은 스토리지 성능을 포함할 수 있으며, 이는 네트워크상의 저장 장치(예를 들어, 솔리드 스테이트 드라이브, 하드 드라이브, 플래시 드라이브, 플래시 드라이브, 플래시 드라이브, 이들의 조합 및/또는 이와 유사한 것)의 효율성 및 성능을 특성화하는 메트릭을 나타낼 수 있다. 다양한 실시 예에서, 호스트-레벨 성능 메트릭은 특정 워크로드를 실행할 때 호스트에 의해 사용되는 메모리 양을 나타낼 수 있는 메모리 용량을 포함할 수 있다. 다른 측면에서, 호스트-레벨 성능 메트릭은 특정 워크로드를 실행하는 데 호스트에 의해 사용되는 프로세서 사용량을 나타낼 수 있는 중앙 처리 장치(CPU) 사용률을 포함할 수 있다. 다양한 실시 예에서, 호스트-레벨 성능 메트릭은 특정 워크로드를 실행하는 데 있어서 다양한 머신 러닝 작업을 수행하는 것과 관련된 효율성, 전력 사용량 및/또는 지연을 나타낼 수 있는 머신 러닝 성능 메트릭을 포함할 수 있다. 일부 실시 예에서, 머신 러닝 성능 메트릭은 네트워크 아키텍처의 다양한 부분으로 관리 컴퓨팅 엔티티에 의한 데이터 라우팅과 관련된 효율성, 전력 사용량 및/또는 지연을 포함할 수 있다.
도 8은 본 개시의 예시적인 실시 예들에 따른, 네트워크 아키텍처의 상이한 부분들과 관련된 예시적인 지연 시간들의 다이어그램을 도시한다. 특히, 다이어그램(800)은 처리 지연(804) 및 통신 지연(806)을 포함할 수 있는 서비스 시간(802)을 도시한다. 처리 지연(804)은 에지 처리(808) 지연 및 클라우드 처리(810) 지연을 포함할 수 있다. 또한, 통신 지연(806)은 WAN 지연(812) 및 LAN 지연(814)을 포함할 수 있다. 다양한 지연에 대해서는 아래에서 자세히 설명한다.
일부 실시 예에서, 서비스 시간(802)은 주어진 워크로드를 실행하고 처리하는 데 필요한 전체 시간을 포함할 수 있다. 일부 예에서, 처리 지연(804)은 네트워크의 일부(예, 에지 또는 코어 데이터 센터)에서 주어진 작업을 완료하는 것과 관련된 지연을 포함할 수 있다. 일 실시 예에서, 통신 지연(806)은 다양한 매체를 통한 네트워크의 부분들 간의 통신의 지연에 의해 야기되는 지연을 포함할 수 있다. 예를 들어, 통신 지연은 무선 전송 또는 이더넷 전송으로 인한 지연을 반영할 수 있다. 일부 양상들에서, 에지 처리(808) 지연은 에지 데이터 센터에서 주어진 작업을 완료하는 것과 관련된 지연을 포함할 수 있다. 일부 실시 예에서, 클라우드 처리(810) 지연은 코어 데이터 센터에서 주어진 작업을 완료하는 것과 관련된 지연을 포함할 수 있다. 다른 양상들에서, WAN 지연(812)은 주어진 워크로드 및/또는 관련 데이터를 WAN에서 전송하는 것과 관련된 지연을 포함할 수 있다. 일부 실시 예에서, LAN 지연(814)은 LAN에서 주어진 워크로드 및/또는 관련 데이터를 전송하는 것과 관련된 지연을 포함할 수 있다.
일부 예들에서, 개시된 시스템은 일반적으로 처리되는 데이터에 대한 통신 경로를 단축하고 통신 지연을 감소시키는 것을 추구할 수 있다. 일부 예들에서, 상대적으로 무거운 컴퓨팅 및/또는 스토리지 리소스를 요청하는 에지 데이터 센터의 주어진 에지 서버로 흐르는 상대적으로 많은 양의 요청이 있을 때, 에지 처리(808) 지연은 클라우드 처리(810) 지연에 비해 길어질 수 있다. 따라서, 개시된 실시 예들 중 하나 이상을 구현함으로써, 네트워크 아키텍처(예, MEC 네트워크 아키텍처)에서 실행되는 워크로드의 전체 서비스 시간(802)을 감소시키기 위해, 개시된 시스템은 모델 및/또는 머신 러닝 기술을 사용하여 워크로드를 다양한 에지 및 코어 데이터 센터로 라우팅하여 위에서 설명한 지연 중 하나 이상을 최소화할 수 있다.
도 9는 본 개시의 예시적인 실시 예들에 따라, 네트워크 아키텍처의 부분들에 대한 다양한 통신들의 양상들을 표현하기 위해 수학적 모델들을 사용하여 지연(latency)들과 같은 네트워크 매개 변수들을 결정하기위한 다른 모델의 다이어그램을 도시한다. 특히, 다이어그램(902)은 모바일 클라이언트(904) 모델링 구성 요소, 에지 처리 시간(906) 모델링 구성 요소 및 클라우드 처리 시간(908) 모델링 구성 요소를 포함할 수 있는 관리 컴퓨팅 엔티티(910)를 포함한다. 또한, 모바일 클라이언트(904) 모델링 구성 요소는 포아송 프로세스(911)와 같은 통계 모델을 사용할 수 있고, 에지 처리 시간(906) 모델링 구성 요소는 지수 분포(912)를 사용할 수 있다. 또한, 클라우드 처리 시간(908)은 워크로드(914)에 기초할 수 있다.
일부 실시 예에서, 모바일 클라이언트(904) 구성 요소는 에지 데이터 센터 및/또는 코어 데이터 센터에 연결된 다양한 장치를 모델링하는 역할을 할 수 있다. 특히, 모바일 클라이언트(904) 구성 요소는 시간에 대한 각각의 모바일 장치의 위치를 계산하는데 사용되는 추상 클래스를 참조할 수 있는 이동성 모델(mobility model)을 포함할 수 있다. 이동성 모델은 지속적인 위치 업데이트 대신 장치 위치가 수시로 변경되는 기본적인 유목 이동성 모델(nomadic mobility model)을 구현할 수 있다. 모바일 장치의 위치는 이동성 구성 요소에 따라 업데이트될 수 있다.
또한, 모바일 클라이언트(904) 구성 요소는 주어진 장치 및/또는 네트워크 구성에 대한 작업을 생성할 수 있는 작업 생성기 구성 요소를 더 포함할 수 있다. 작업 생성기 구성 요소는 작업 목록을 통해 작업 생성 패턴을 결정하는 데 사용되는 추상 클래스를 포함할 수 있다. 모바일 장치가 활성 기간 동안 작업을 생성하고 유휴 기간 동안 대기하는 기본 부하 생성기 모델을 구현한다. 포아송 프로세스(911)에 나타난 바와 같이, 각 최종 사용자 장치는 속도가 λ인 포아송 프로세스에 따라 워크로드를 생성하도록 모델링될 수 있다. 또한, 도착은 포아송 프로세스에 따라 λ 비율로 발생하도록 모델링할 수 있으며 프로세스를 특정 상태에서 다음 상태로 이동할 수 있다.
MEC 시뮬레이터(906)는 구성 파일로부터 에지 컴퓨팅 시나리오를 로딩 및 실행하기 위한 로거(logger), 구성 관리자(configuration manager) 및/또는 시나리오 관리자(scenario manager)를 포함하는 코어 모델링 구성 요소를 포함할 수 있다. 또한, 로거를 사용하여 시뮬레이션 결과 파일을 저장할 수 있다. MEC 시뮬레이터(906)는 예시적인 무선 네트워크 모델(예, WLAN 링크 모델 및 WAN 링크 모델)을 갖는 네트워킹 구성 요소를 더 포함할 수 있다. MEC 시뮬레이터(906)는 에지 호스트(edge host), 에지 스토리지(edge storage), 에지 VM 및 CPU 활용 모델을 포함하는 에지 서버를 더 포함할 수 있다.
MEC 시뮬레이터(906) 구성 요소는 네트워크를 통한 데이터 업로드 및 다운로드 모두를 고려함으로써 WLAN 및 WAN에서 전송 지연을 처리할 수 있는 네트워크 구성 요소를 포함할 수 있다. 네트워크 구성 요소에는 장치 간의 네트워크 지연을 계산하는데 사용되는 추상 클래스(abstract class)가 포함될 수 있다. 일부 실시 예에서, 네트워크 구성 요소는 LAN 및 WAN 통신을 위한 M/M/1 큐 모델(queue model)을 구현할 수 있다.
일부 예에서, 에지 서버 구성 요소는 에지 호스트, 에지 가상 머신, 에지 서버 관리자 및 VM 할당 정책 모델을 포함할 수 있다. 에지 서버 구성 요소는 들어오는 클라이언트 요청을 처리하는 방법과 할당할 위치를 결정할 수 있다. 일부 실시 예에서, 각각의 에지 서버에서의 작업 크기 및 작업 도착은 지수 분포(912)에 의해 표시된 바와 같이 평균 μ-1을 갖는 지수 분포에 따라 독립적이고 동일하게 분포된 것으로 가정된다. 특히, 개시된 시스템은 M/M/1 대기열을 사용하여 속도 매개 변수 μ를 갖는 지수 분포로 서비스 시간을 모델링 할 수 있으며, 여기서 1/μ는 평균 서비스 시간이다.
관리 컴퓨팅 엔티티(910)는 클라우드 처리 시간(908) 구성 요소를 더 포함할 수 있다. 일부 실시 예에서, 클라우드 처리 시간(908) 구성 요소는 다양한 VM 구조 및 VM 서비스, 클라우드 서비스, 클라우드 스토리지 구성 요소, 클라우드 리소스(예, 컴퓨팅, 네트워크, 및/또는 스토리지 리소스) 및 네트워킹 구성 요소를 포함할 수 있지만, 이에 제한되지 않고, 코어 데이터 센터에서 워크로드(914)의 처리를 모델링하는데 사용할 수 있다. 더욱이, 클라우드 처리 시간(908) 구성 요소는 들어오는 클라이언트 요청을 처리하는 방법 및 위치를 결정하기 위해 다른 구성 요소로부터 수집된 정보를 사용할 수 있는 로드 밸런싱(LB; load balancing) 구성 요소(미도시)를 포함할 수 있다. 로드 밸런싱(LB) 구성 요소에는 first/next/best/worst/random(f/n/b/w/r) 정책에 따라 각 클라이언트 요청에 대한 VM을 선택하고, f/n/b/w/r 적합 알고리즘을 기반으로 에지 장치에 요청을 할당하는데 사용되는 추상 클래스가 포함될 수 있다.
도 10은 본 개시의 예시적인 실시예들에 따라, 개시된 모델(들)의 예시적인 부분들을 구현하기 위한 랙(rack)의 다이어그램을 도시한다. 일부 예에서, 다이어그램(1000)은 2계층 MEC 아키텍처에 따라 5G 네트워크 환경에서 중앙 사무실 재 설계된 데이터 센터 설계를 기반으로 구축될 수 있는 MEC 플랫폼을 포함하는 랙(1002)을 묘사한다. 일부 예에서, 랙(1002)은 5G 구현을 포함하는 셀룰러 네트워크에 대한 다양한 ONF(Open Networking Foundation) 프로토콜 및 사양을 준수할 수 있다. 따라서 랙은 분할 무선 액세스 네트워크(RAN), RAN 사용자 평면 및 제어 평면 분리(예, xRAN), 프로그래밍 가능한 네트워크 슬라이싱(예, ProgRAN) 및 이동성 관리 엔티티(MME) 분리와 같은 5G 특정 기능의 측면을 모델링 할 수 있다. 일부 예시적인 실시 예에서, 개시된 시스템은 MEC 서비스를 호스트하기 위해 에지 클라우드를 구현할 수 있다.
보다 구체적으로, 일부 예들에서, 랙(1002)은 건축용 직물의 리프(leaf)와 스파인(spine)의 일부로서 리프(예, 리프 1(1004) 및 리프 2(1006)) 및 스파인(스파인 1(1012) 및 스파인 2(1014))를 형성할 수 있는 스위치를 갖는 물리적 설정을 포함할 수 있다. 컴퓨팅 노드(compute node)(예, 컴퓨팅 노드 1(1010) 및 컴퓨팅 노드 2(1008)) 및 헤드 노드(1016)(head node)는 리프 스위치(예, 리프 1(1004) 또는 리프 2(1006)) 중 하나의 포트에 연결될 수 있다. 네트워크 장치(액세스 장치 및 패브릭 스위치)는 전용 관리 포트 (예, DEV 머신(1018))를 통해 네트워크에 연결할 수 있다. 헤드 노드(1016)는 네트워크(예, 인터넷) 및 시스템의 다른 구성 요소 모두에 연결될 수 있다. 컴퓨팅 노드(예, 컴퓨팅 노드 1(1010) 및 컴퓨팅 노드 2(1008)) 및 리프(리프 1(1004) 및 리프 2(1006)) 및 스파인(예, 스파인 1(1012) 및 스파인 2(1014))과 같은 스위치는 헤드 노드(1016)에만 연결될 수 있으며, 핵심 기능을 구현하는 소프트웨어를 스위치에 제공한다. 일부 예에서, 블레이드 서버(blade server)는 헤드 노드(1016) 및 컴퓨팅 노드(예, 컴퓨팅 노드 1(1010) 및 컴퓨팅 노드 2(1008))로서 사용될 수 있다. 또한, 랙에는 미리 결정된 폼 팩터(form factor)(예, 1U 폼 팩터)에 포함된 여러 전면 서비스 가능 네트워크 지원(front-serviceable network-enabled) 저장 장치(예, 솔리드 스테이트 드라이브) 베이가 있다. 일부 실시 예에서, 저장 장치는 올 플래시 서버(all-flash server)용으로 설계되고 주어진 폼 팩터(예, 1U 설계)에 대해 최적화될 수 있다. 또한, 랙은 실시간 분석과 같은 I/O 집약적인 로컬 워크로드를 지원하기 위해 실시간(real-time) 분석 및 데이터베이스 서버와 같은, 메모리의 듀얼 소켓 프로세서와 DDR4(double data rate 4 synchronous dynamic random-access memory) DIMMs(dual in-line memory components)을 포함할 수 있다.
도 11a는 본 개시의 예시적인 실시 예들에 따른, 네트워크 아키텍처의 모델(들)과 관련된 예시적인 연결 및 데이터 경로들의 다이어그램을 도시한다. 일부 예들에서, 다이어그램(1100)은 4개의 스위치(예, 스파인(1104 및 1106) 및 리프(1108 및 1110))를 갖는 스위칭 패브릭(1102) 및 예를 들어 헤드 및/또는 컴퓨팅 노드(1122, 1124 및 1126)(예, x86 서버)를 갖는 컴퓨팅 구성 요소(1120)를 포함하는 전형적인 랙의 하이-레벨 논리적 표현(high-level logical representation)을 도시한다. 또한, 다이어그램(1100)은 최종 사용자(end-user) 트래픽이 (경로(1107)를 통해) 액세스 장치로부터 메트로 네트워크(metro network)로 이동하는 데이터 평면 연결(1105)(data plane connections)(예, 40G 데이터 평면 연결(1105))을 포함한다. 일부 실시 예에서, 사용자 트래픽은 필요한 서비스에 따라 다른 리프, 스파인 및 컴퓨팅 노드를 통과할 수 있으며, 노드는 장치에 대해 물리적으로 위치한다. 언급했듯이 스위치는 리프 및 스파인 패브릭을 형성할 수 있다. 일부 예에서, 컴퓨팅 노드(예, 컴퓨팅 노드 1(1124) 및 컴퓨팅 노드 2(1126)) 및 헤드 노드(예, 헤드 노드 1(1122))는 리프 스위치(예, 리프 1(1108) 및/또는 리프 2(1110)) 중 하나에 연결될 수 있다.
도 11b는 본 개시의 예시적인 실시 예들에 따른, 네트워크 아키텍처의 모델(들)과 관련된 다른 예시적인 연결 및 데이터 경로들의 다이어그램을 도시한다. 특히, 다이어그램(1131)은 다이어그램(1100)과 유사한 요소를 보여주지만, 최종 사용자 트래픽이 액세스 장치에서 메트로 네트워크로 횡단하는 다른 경로(1132)를 도시한다. 일부 실시 예에서, 개시된 시스템은 네트워크 아키텍처의 상이한 부분에서 데이터 전송을 위해 상이한 데이터 플레인(data plane)을 캡처하기 위해 노드와 패브릭 사이의 다양한 경로를 모델링 할 수 있다.
도 12는 본 개시 내용의 실시 예들을 실행하는데 사용될 수 있는 시스템의 예시적인 개략도를 도시한다. 도 12에 도시 된 바와 같이, 이 특정 실시 예는 하나 이상의 관리 컴퓨팅 엔티티(1200), 하나 이상의 네트워크(1205) 및 하나 이상의 사용자 장치(1210)를 포함할 수 있다. 여기서 상호 교환적으로 사용되는 이러한 구성 요소, 엔티티, 장치, 시스템 및 유사한 단어 각각은 예를 들어 동일하거나 다른 유선 또는 무선 네트워크(예, 도 1에 연결하여 도시되고 설명된 에지 데이터 센터 및/또는 코어 데이터 센터를 포함하는 네트워크(102), 다만 이에 제한되지 않음)를 통해 서로 직접 또는 간접적으로 통신할 수 있다. 또한, 도 12는 별개의 독립형 엔티티로서 다양한 시스템 엔티티를 예시하지만, 다양한 실시 예는 이 특정 아키텍처로 제한되지 않는다. 또한, 관리 컴퓨팅 엔티티(1200)는 여기에 설명된 모델링 및/또는 머신 러닝 구성 요소를 포함할 수 있다. 언급된 바와 같이, 통신은 본 명세서에서 더 설명되는 임의의 적절한 프로토콜(예, 5G 네트워크 프로토콜)을 사용하여 수행될 수 있다.
도 13은 본 개시의 예시적인 실시예들에 따른, 관리 컴퓨팅 엔티티의 예시적인 개략도를 도시한다. 또한, 관리 컴퓨팅 엔티티(1300)는 컨텐츠 구성 요소, 처리 구성 요소 및 전송 구성 요소(미도시)를 포함할 수 있다. 특히, 콘텐츠 구성 요소는 여기에 설명된 네트워크 아키텍처를 통해 전송될 데이터(예를 들어, 비디오, 오디오, 텍스트, 데이터, 이들의 조합 등)를 나타내는 신호를 결정하는 역할을 할 수 있다. 다른 실시 예에서, 전송을 위한 신호의 결정은, 예를 들어, 장치에 대한 사용자 입력, 네트워크 상의 데이터 전송의 미리 결정된 일정, 네트워크 조건의 변화 등에 기초할 수 있다. 일 실시 예에서, 신호는 데이터가 장치로부터 네트워크상의 하나 이상의 장치로 전송되도록 구성된 데이터 프레임(예, 5G 데이터 프레임)에 캡슐화(encapsulated) 될 수 있다는 것을 포함할 수 있다.
다른 실시 예에서, 처리 요소(1305)는 네트워크(예, 네트워크(1205))를 통해 전송되는 데이터와 관련된 다양한 매개 변수를 결정하는 역할을 할 수 있다. 예를 들어, 처리 요소(1305)는 네트워크 데이터에 대해 모델을 실행하고, 네트워크 데이터에 대해 머신 러닝 기술을 실행하고, 네트워크 아키텍처의 다양한 부분, 이들의 조합 및/또는 이와 같은 것 등에 의해 처리될 워크로드의 분포를 결정한다.
일 실시 예에서, 전송 구성 요소(미도시)는 네트워크상의 하나의 장치로부터 다른 장치로 신호를 전송하는 역할을 할 수 있다. 예를 들어, 송신 구성 요소는 네트워크를 통해 신호를 송신하기 위해 송신기(예, 아래 도 14의 송신기(1404))를 준비하는 역할을 할 수 있다. 예를 들어, 전송 구성 요소는 하나 이상의 버퍼에 데이터를 큐잉 할 수 있고, 전송 장치 및 관련 송신기가 기능적이며 네트워크를 통해 신호를 전송하기에 적절한 전력을 가지고 있는지 확인할 수 있고, 데이터의 전송과 관련된 하나 이상의 매개 변수(예, 변조 유형(modulation type), 신호 증폭(signal amplification), 신호 전력 레벨(signal power level), 잡음 제거(noise rejection), 이들의 조합 및/또는 이와 같은 것 등)를 조정할 수 있다.
일반적으로, 컴퓨팅 엔티티, 컴퓨터, 엔티티, 장치, 시스템 및 / 또는 여기에서 상호 교환 적으로 사용되는 유사한 단어는 예를 들어, 하나 이상의 컴퓨터, 컴퓨팅 엔티티, 데스크톱 컴퓨터, 휴대폰, 태블릿, 패 블릿, 노트북, 랩톱, 분산 시스템, 게임 콘솔(예, Xbox, Play Station, Wii), 시계, 안경, i비콘(iBeacon), 근접 비콘, 열쇠 고리, 무선 주파수 식별(RFID) 태그, 이어 피스, 스캐너, 텔레비전, 동글, 카메라, 손목 밴드, 웨어러블 아이템/장치, 키오스크, 입력 터미널, 서버 또는 서버 네트워크, 블레이드, 게이트웨이, 스위치, 처리 장치, 처리 엔티티, 셋톱 박스, 릴레이, 라우터, 네트워크 액세스 포인트, 기지국 등, 및/또는 여기에 설명 된 기능, 동작 및/또는 프로세스를 수행하도록 적응 된 장치 또는 엔티티의 임의의 조합을 참조할 수 있다. 이러한 기능, 동작 및/또는 프로세스는 예를 들어, 여기서 상호 교환적으로 사용되는 전송, 수신, 동작, 처리, 표시, 저장, 결정, 생성, 모니터링, 평가, 비교 및/또는 유사한 용어를 포함할 수 있다. 일 실시 예에서, 이러한 기능, 동작 및/또는 프로세스는 본 명세서에서 상호 교환 적으로 사용되는 데이터, 콘텐츠, 정보 및/또는 유사한 용어에 대해 수행될 수 있다.
표시된 바와 같이, 일 실시예에서, 관리 컴퓨팅 엔티티(1200)는 또한 다양한 컴퓨팅 엔티티와 통신하기 위한, 예를 들어, 전송, 수신, 작동, 처리, 표시, 저장 등이 될 수 있는 데이터, 콘텐츠, 정보 및/또는 본 명세서에서 상호 교환 적으로 사용되는 유사한 것을 통신함으로써 하나 이상의 통신 인터페이스(1320)를 포함할 수 있다. 예를 들어, 관리 컴퓨팅 엔티티(1200)는 사용자 장치(1210) 및/또는 다양한 다른 컴퓨팅 엔티티와 통신할 수 있다.
도 13에 도시 된 바와 같이. 일 실시 예에서, 관리 컴퓨팅 엔티티(1200)는 예를 들어, 버스를 통해 관리 컴퓨팅 엔티티(1200) 내의 다른 요소들과 통신하는 하나 이상의 처리 요소(1305)(또한, 본 명세서에서 상호 교환 적으로 사용되는 프로세서, 처리 회로 및/또는 유사한 용어로 지칭됨)를 포함하거나 그와 통신할 수 있다. 이해되는 바와 같이, 처리 요소(1305)는 다수의 상이한 방식으로 구현될 수 있다. 예를 들어, 처리 요소(1305)는 하나 이상의 복잡한 프로그래밍 가능 논리 장치(CPLD; complex programmable logic device), 마이크로 프로세서, 멀티 코어 프로세서, 코 처리 엔티티(coprocessing entity), ASIP(application-specific instruction-set processor), 마이크로 컨트롤러 및/또는 컨트롤러로 구현될 수 있다. 또한, 처리 요소(1305)는 하나 이상의 다른 처리 장치 또는 회로로서 구현될 수 있다. 회로라는 용어는 완전히 하드웨어 실시 예 또는 하드웨어와 컴퓨터 프로그램 제품의 조합을 지칭할 수 있다. 따라서, 처리 요소(1305)는 집적 회로, 주문형 집적 회로(ASIC), 필드 프로그래밍 가능 게이트 어레이(FPGA), 프로그래밍 가능 논리 어레이(PLA), 하드웨어 가속기, 기타 회로 등으로 구현될 수 있다. 따라서 이해되는 바와 같이, 처리 요소(1305)는 특정 용도를 위해 구성되거나 휘발성 또는 비 휘발성 매체에 저장된 명령을 실행하도록 구성되거나 처리 요소(1305)에 액세스 할 수 있도록 구성될 수 있다. 이와 같이, 하드웨어 또는 컴퓨터 프로그램 제품에 의해 구성되든, 또는 이들의 조합에 의해 구성되든, 처리 요소(1305)는 그에 따라 구성될 때 본 발명의 실시 예에 따른 단계 또는 동작을 수행할 수 있다.
일 실시 예에서, 관리 컴퓨팅 엔티티(1200)는 비 휘발성 매체(비 휘발성 저장 장치, 메모리, 메모리 저장 장치, 메모리 회로 및/또는 본 명세서에서 상호 교환 적으로 사용되는 유사한 용어로도 지칭됨)를 더 포함하거나 그와 통신할 수 있다. 일 실시 예에서, 비 휘발성 저장소 또는 메모리는 하나 이상의 비 휘발성 저장소 또는 메모리 매체(1310)를 포함할 수 있으며, 이에 제한되지 않고, 하드 디스크, ROM, PROM, EPROM, EEPROM, 플래시 메모리, MMC, SD 메모리 카드, 메모리 스틱, CBRAM, PRAM, FeRAM, NVRAM, MRAM, RRAM, SONOS, FJG RAM, Millipede 메모리, 레이스 트랙 메모리를 및/또는 이와 같은 것을 포함할 수 있다. 알 수 있듯이 비 휘발성 저장 장치 또는 메모리 매체는 데이터베이스, 데이터베이스 인스턴스, 데이터베이스 관리 시스템, 데이터, 애플리케이션, 프로그램, 프로그램 구성 요소, 스크립트, 소스 코드, 개체 코드, 바이트 코드, 컴파일 된 코드, 해석된 코드, 머신 코드, 실행 가능한 명령 등을 저장할 수 있다. 데이터베이스, 데이터베이스 인스턴스(instance), 데이터베이스 관리 시스템 및/또는 여기에서 상호 교환 적으로 사용되는 유사한 용어는 기록 모음 또는 계층 적 데이터베이스 모델, 네트워크 모델, 관계형 모델, 엔티티-관계 모델, 객체 모델, 문서 모델, 의미론적 모델, 그래프 모델 및/또는 이와 같은 하나 이상의 데이터베이스 모델을 사용하여 컴퓨터 판독 가능 저장 매체에 저장된 데이터 등을 참조한다.
일 실시 예에서, 관리 컴퓨팅 엔티티(1200)는 휘발성 매체(또한 본 명세서에서 상호 교환적으로 사용되는 휘발성 저장 장치, 메모리, 메모리 저장 장치, 메모리 회로 및/또는 유사한 용어로도 지칭됨)를 포함하거나 그와 통신할 수 있다. 일 실시 예에서, 휘발성 저장소 또는 메모리는 또한 하나 이상의 휘발성 저장소 또는 RAM, DRAM, SRAM, FPM DRAM, EDO DRAM, SDRAM, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, RDRAM, TTRAM, T-RAM, Z-RAM, RIMM, DIMM, SIMM, VRAM, 캐시 메모리를, 레지스터 메모리 및/또는 이와 같은 것을 포함하나, 이에 제한되지 않는 메모리 매체를 포함할 수 있다. 인식되는 바와 같이, 휘발성 저장 장치 또는 메모리 매체는 데이터베이스, 데이터베이스 인스턴스, 데이터베이스 관리 시스템, 데이터, 애플리케이션, 프로그램, 프로그램 구성 요소, 스크립트, 소스 코드, 객체 코드, 바이트 코드의 적어도 일부, 컴파일된 코드, 해석된 코드, 머신 코드, 실행 가능한 명령어 및/또는 예를 들어 처리 요소(1305)에 의해 실행되는 유사한 것들을 저장하는데 사용될 수 있다. 따라서, 데이터베이스, 데이터베이스 인스턴스, 데이터베이스 관리 시스템, 데이터, 애플리케이션, 프로그램, 프로그램 구성 요소, 스크립트, 소스 코드, 객체 코드, 바이트 코드, 컴파일 된 코드, 해석된 코드, 머신 코드, 실행 가능한 명령어 등은 처리 요소(1305)및 운영 체제의 도움으로 관리 컴퓨팅 엔티티(1200)의 동작의 특정 측면을 제어하는 데 사용된다.
지시된 바와 같이, 일 실시 예에서, 관리 컴퓨팅 엔티티(1300)는 또한 전송, 수신, 작동, 처리, 표시, 저장 등을 할 수 있는 데이터, 콘텐츠, 정보 및/또는 여기에서 상호 교환 적으로 사용되는 유사한 용어를 통신하는 것과 같이 다양한 컴퓨팅 엔티티와 통신하기 위한 하나 이상의 통신 인터페이스(1320)를 포함할 수 있다. 이러한 통신은 광섬유 분산 데이터 인터페이스(FDDI), 디지털 가입자 회선(DSL), 이더넷, 비동기 전송 모드(ATM), 프레임 릴레이, DOCSIS(data over cable service interface specification) 또는 기타 유선 전송 프로토콜과 같은 유선 데이터 전송 프로토콜을 사용하여 실행될 수 있다. 유사하게, 관리 컴퓨팅 엔티티(1300)는 GPRS(General Packet Radio Service), UMTS(Universal Mobile Telecommunications System), CDMA2000(Code Division Multiple Access 2000), CDMA2000 1X(1xRTT), WCDMA(Wideband Code Division Multiple Access), Time Division-Synchronous Code Division Multiple Access(TD-SCDMA), LTE(Long Term Evolution), E-UTRAN(Evolved Universal Terrestrial Radio Access Network), EVDO(Evolution-Data Optimized), HSPA(High Speed Packet Access), HSDPA(High-Speed Downlink Packet Access) , IEEE 802.11(Wi-Fi), Wi-Fi Direct, 802.16(WiMAX), 초 광대역(UWB), 적외선 (IR) 프로토콜, 근거리 무선 통신(NFC) 프로토콜, ZigBee, Bluetooth 프로토콜, 무선 범용 직렬 버스(USB) 프로토콜 및 또는 기타 무선 프로토콜과 같은 다양한 프로토콜 중 임의의 것을 사용하여 무선 외부 통신 네트워크를 통해 통신하도록 구성될 수 있다.
도시되지는 않았지만, 관리 컴퓨팅 엔티티(1300)는 키보드 입력, 마우스 입력, 터치 스크린/디스플레이 입력, 모션 입력, 움직임 입력, 오디오 입력, 포인팅 장치 입력, 조이스틱 입력, 키패드 입력 등과 같은 하나 이상의 입력 요소를 포함하거나 그와 통신할 수 있다. 관리 컴퓨팅 엔티티(1300)는 또한 오디오 출력, 비디오 출력, 스크린/디스플레이 출력, 모션 출력, 움직임 출력 등과 같은 하나 이상의 출력 요소(미도시)를 포함하거나 그와 통신할 수 있다.
이해되는 바와 같이, 하나 이상의 관리 컴퓨팅 엔티티(1300) 구성 요소는 분산 시스템에서와 같이 다른 관리 컴퓨팅 엔티티(1300) 구성 요소로부터 원격으로 위치할 수 있다. 또한, 하나 이상의 구성 요소가 결합될 수 있고 여기에 설명된 기능을 수행하는 추가 구성 요소가 관리 컴퓨팅 엔티티(1300)에 포함될 수 있다. 따라서, 관리 컴퓨팅 엔티티(1300)는 다양한 요구 및 상황을 수용하도록 적응될 수 있다. 인식되는 바와 같이, 이러한 아키텍처 및 설명은 예시 목적으로만 제공되며 다양한 실시 예로 제한되지 않는다.
사용자는 개인, 가정, 회사, 조직, 엔티티, 조직 내의 부서, 조직 및/또는 사람의 대표자 등일 수 있다. 일 예에서, 사용자는 직원, 거주자, 고객 등일 수 있다. 예를 들어, 사용자는 관리 컴퓨팅 엔티티(1300)의 구성 요소와 기능적으로 유사한 하나 이상의 구성 요소를 포함하는 사용자 장치(1210)를 조작할 수 있다.
다양한 양상들에서, 처리 구성 요소, 송신 구성 요소, 및/또는 수신 구성 요소(미도시)는 하나 이상의 상에서 동작하도록 구성될 수 있으며, 여기 도 12 및 도 13에 연결하여 도시되고 설명된 바와 같이, 관리 컴퓨팅 엔티티(1300)의 기능의 양상들을 포함할 수 있다. 특히, 처리 구성 요소, 송신 구성 요소 및/또는 수신 구성 요소는 하나 이상의 처리 요소(1305), 메모리(1310), 휘발성 메모리(1315) 및/또는 수신 구성 요소와 통신하도록 구성될 수 있고, (예를 들어, 장치들 간의 통신을 용이하게 하기 위해) 통신 인터페이스(1320)를 포함할 수 있다.
도 14는 본 개시의 예시적인 실시 예들에 따른, 사용자 장치의 예시적인 개략도를 도시한다. 도 14는 본 개시의 실시 예들과 함께 사용될 수 있는 사용자 장치(1410)를 나타내는 예시적인 개략도를 제공한다. 일반적으로, 여기에서 상호 교환 적으로 사용되는 용어 장치, 시스템, 컴퓨팅 엔티티, 엔티티 및/또는 유사한 단어는, 예를 들어, 하나 이상의 컴퓨터, 컴퓨팅 엔티티, 데스크톱, 휴대폰, 태블릿, 패 블릿, 노트북, 랩톱, 분산 시스템, 게임 콘솔(예, Xbox, Play Station, Wii), 시계, 안경, 열쇠 고리, 무선 주파수 식별(RFID) 태그, 이어 피스, 스캐너, 카메라, 손목 밴드, 키오스크, 입력 터미널, 서버 또는 서버 네트워크, 블레이드, 게이트웨이, 스위치, 처리 장치, 처리 엔티티, 셋톱 박스, 릴레이, 라우터, 네트워크 액세스 포인트,베이스 스테이션 및/또는 여기에 설명 된 기능, 동작 및/또는 프로세스를 수행하도록 적응된 장치 또는 엔티티의 임의의 조합을 지칭할 수 있다. 사용자 장치(1410)는 다양한 당사자에 의해 운영될 수 있다. 도 14에 도시 된 바와 같이, 사용자 장치(1410)는 안테나(1412), 송신기(1404)(예, 라디오), 수신기(1406)(예, 라디오) 및 송신기(1404) 및 수신기(1406)에 각각 신호를 제공하고 그로부터 신호를 수신하는 처리 요소(1408)(예, CPLD, 마이크로 프로세서, 멀티 코어 프로세서, 코 처리 엔티티, ASIP, 마이크로 컨트롤러 및/또는 컨트롤러)를 포함할 수 있다.
송신기(1404) 및 수신기(1406)에 각각 제공되고 수신된 신호는 적용 가능한 무선 시스템의 무선 인터페이스 표준에 따른 시그널링 정보를 포함할 수 있다. 이와 관련하여, 사용자 장치(1410)는 하나 이상의 무선 인터페이스 표준, 통신 프로토콜, 변조 유형 및 액세스 유형으로 동작할 수 있다. 더 구체적으로, 사용자 장치(1410)는 관리 컴퓨팅 엔티티(1200)와 관련하여 위에서 설명된 것과 같은 다수의 무선 통신 표준 및 프로토콜 중 임의의 것에 따라 동작할 수 있다. 특정 실시 예에서, 사용자 장치(1410)는 다수의 무선 통신 표준 및 공개된 IoT DOCSIS 프로토콜, UMTS, CDMA2000, 1xRTT, WCDMA, TD-SCDMA, LTE, E-UTRAN, EVDO, HSPA, HSDPA, Wi-Fi, Wi-Fi Direct, WiMAX, UWB, IR, NFC, Bluetooth, USB 및/또는 이와 같은 프로토콜에 따라 동작할 수 있다. 유사하게, 사용자 장치(1410)는 네트워크 인터페이스(1420)를 통해 관리 컴퓨팅 엔티티(1200)에 대해 위에서 설명된 것과 같은 다수의 유선 통신 표준 및 프로토콜에 따라 동작할 수 있다.
이러한 통신 표준 및 프로토콜을 통해, 사용자 장치(1410)는 USSD(Unstructured Supplementary Service Data), SMS(Short Message Service), MMS(Multimedia Messaging Service), DTMF(Dual-Tone Multi-Frequency Signaling) 및/또는 SIM 다이얼러(Subscriber Identity Component Dialer)와 같은 개념을 사용하여 다양한 다른 엔티티와 통신할 수 있다. 사용자 장치(1410)는 또한 예를 들어 펌웨어, 소프트웨어(예, 실행 가능한 명령, 애플리케이션, 프로그램 구성 요소 포함) 및 운영 체제에 대한 변경, 추가 기능 및 업데이트를 다운로드할 수 있다.
일 실시 예에 따르면, 사용자 장치(1410)는 본 명세서에서 상호 교환 적으로 사용되는 위치 결정 양상, 장치, 구성 요소, 기능 및/또는 유사한 단어를 포함할 수 있다. 위치 결정 양상은 관리 컴퓨팅 엔티티에 의해 사용되는 모델 및 여기에 설명된 모델 및/또는 머신 러닝 기술 중 하나 이상을 알리기 위해 사용될 수 있다. 예를 들어, 사용자 장치(1410)는 획득하도록 적응된 위치 구성 요소와 같은 예를 들어, 위도, 경도, 고도, 지오 코드(geocode), 코스, 방향, 방향, 속도, 표준시(UTC), 날짜 및/또는 기타 다양한 정보/데이터와 같은 실외 측위 측면을 포함할 수 있다. 일 실시 예에서, 위치 구성 요소는 관측중인 위성의 수 및 이러한 위성의 상대적 위치를 식별함으로써 때때로 천체력 데이터로 알려진 데이터를 획득할 수 있다. 위성은 저궤도(LEO) 위성 시스템, 국방부(DOD) 위성 시스템, 유럽 연합 갈릴레오 위치 확인 시스템, 중국 나침반 내비게이션 시스템, 인도 지역 내비게이션 위성 시스템 및/또는 이와 같은 것을 포함한 다양한 위성일 수 있다. 대안 적으로, 위치 정보는 셀룰러 타워, Wi-Fi 액세스 포인트 등을 포함하는 다양한 다른 시스템과 관련하여 사용자 장치(1410)의 위치를 삼각 측량함으로써 결정될 수 있다. 유사하게, 사용자 장치(1410)는 예를 들어, 위도, 경도, 고도, 지오 코드, 코스, 방향, 방향, 속도, 시간, 날짜 및/또는 다양한 기타 정보/데이터를 획득하도록 적응된 위치 구성 요소와 같은 실내 측위 측면을 포함할 수 있다. 일부 실내 시스템은 RFID 태그, 실내 비콘 또는 송신기, Wi-Fi 액세스 포인트, 셀룰러 타워, 인근 컴퓨팅 장치(예, 스마트 폰, 랩톱) 등을 포함한 다양한 위치 또는 위치 기술을 사용할 수 있다. 예를 들어, 이러한 기술은 i비콘, 짐벌(Gimbal) 근접 비콘, Bluetooth Low Energy(BLE) 송신기, NFC 송신기 등을 포함할 수 있다. 이러한 실내 위치 지정 측면은 다양한 설정에서 사용되어 인치 또는 센티미터 이내로 누군가 또는 무언가의 위치를 결정할 수 있다.
사용자 장치(1410)는 또한 사용자 인터페이스(처리 요소(1408)에 연결된 디스플레이(1416)를 포함할 수 있음) 및/또는 사용자 입력 인터페이스(처리 요소(1408)에 연결된)를 포함할 수 있다. 예를 들어, 사용자 인터페이스는 사용자 애플리케이션, 브라우저, 사용자 인터페이스 및/또는 여기에서 상호 교환 적으로 실행되고, 및/또는 사용자 장치(1410)를 통해 액세스 할 수 있고, 및/또는 여기에 설명된 바와 같이 관리 컴퓨팅 엔티티(1200)로부터 정보의 디스플레이를 야기하는 유사한 용어일 수 있다. 키패드(1418)를 포함하는 실시 예에서, 키패드(1418)는 종래의 숫자(0-9) 및 관련 키(#, *), 및 사용자 장치(1410)를 작동시키는 데 사용되는 다른 키를 포함(또는 표시를 유발)할 수 있고, 알파벳 키의 전체 세트 또는 전체 영숫자 키 세트를 제공하기 위해 활성화될 수 있는 키 세트가 포함될 수 있다. 입력을 제공하는 것 외에도 사용자 입력 인터페이스를 사용하여 예를 들어 화면 보호기 및/또는 절전 모드와 같은 특정 기능을 활성화하거나 비활성화 할 수 있다.
사용자 장치(1410)는 또한 내장될 수 있고/있거나 제거될 수 있는 휘발성 저장소 또는 메모리(1422) 및/또는 비 휘발성 저장소 또는 메모리(1424)를 포함할 수 있다. 예를 들어, 비 휘발성 메모리는 ROM, PROM, EPROM, EEPROM, 플래시 메모리, MMC, SD 메모리 카드, 메모리 스틱, CBRAM, PRAM, FeRAM, NVRAM, MRAM, RRAM, SONOS, FJG RAM, Millipede 메모리, 레이스트랙 메모리 등일 수 있다. 휘발성 메모리는 RAM, DRAM, SRAM, FPM DRAM, EDO DRAM, SDRAM, DDR SDRAM, DDR2 SDRAM, DDR3 SDRAM, RDRAM, TTRAM, T-RAM, Z-RAM, RIMM, DIMM, SIMM, VRAM, 캐시 메모리, 레지스터 메모리 등일 수 있다. 휘발성 및 비 휘발성 스토리지 또는 메모리는 데이터베이스, 데이터베이스 인스턴스, 데이터베이스 관리 시스템, 데이터, 애플리케이션, 프로그램, 프로그램 구성 요소, 스크립트, 소스 코드, 개체 코드, 바이트 코드, 컴파일 된 코드, 해석된 코드, 머신 코드, 실행 파일 등 사용자 장치(1410)의 기능을 구현하기한 명령어 등을 저장할 수 있다. 표시된 바와 같이, 이것은 엔티티 상에 상주하거나 관리 컴퓨팅 엔티티(1200) 및/또는 다양한 다른 컴퓨팅 엔티티와 통신하기 위해 브라우저 또는 다른 사용자 인터페이스를 통해 액세스 가능한 사용자 애플리케이션을 포함할 수 있다.
다른 실시 예에서, 사용자 장치(1410)는 위에서 더 상세히 설명된 바와 같이 관리 컴퓨팅 엔티티(1200)의 것과 동일하거나 유사한 하나 이상의 구성 요소 또는 기능을 포함할 수 있다. 인식되는 바와 같이, 이러한 아키텍처 및 설명은 예시 목적으로 만 제공되며 다양한 실시 예로 제한되지 않는다.
도 15는 본 개시의 예시적인 실시 예들에 따른, 네트워크 아키텍처를 통한 워크로드의 분포를 결정하기 위해 개시된 시스템들을 동작시키는 예시적인 방법(1500)의 예를 도시한다. 블록 1502에서, 개시된 시스템은 네트워크에 통신 가능하게 결합된 호스트로부터 워크로드를 수신할 수 있다. 일부 실시 예에서, 호스트는 인터넷상의 호스트를 포함할 수 있다. 일부 예에서, 워크로드는 호스트에 연결된 장치, 예를 들어 특정 서비스(예, 비디오 스트리밍 요청, 검색 요청, 이들의 조합 등)를 요청하는 사용자 장치(예, 이동 전화)에서 발생할 수 있다. 일부 측면에서 호스트로부터의 워크로드 수신은 유사할 수 있으나, 그러나 반드시 위의 도 1과 연결하여 도시되고 설명된 프로세스와 동일하지는 않는다.
블록 1504에서, 개시된 시스템은 에지 데이터 센터로부터 워크로드를 수신할 수 있다. 블록 1502와 유사하게, 워크로드는 에지 데이터 센터에 연결된 장치, 예를 들어, 특정 서비스(예, 비디오 스트리밍 요청, 검색 요청, 이들의 조합 등)를 요청하는 사용자 장치(예, 휴대폰)에서 발생할 수 있다. 일부 측면에서 호스트로부터의 워크로드 수신은 유사할 수 있으나, 그러나 반드시 위의 도 3과 연결하여 도시되고 설명된 프로세스와 동일하지는 않는다.
블록 1506에서, 개시된 시스템은 코어 데이터 센터로부터 워크로드를 수신할 수 있다. 블록 1502 및 1504와 유사하게 워크로드는 에지 데이터 센터 또는 코어 데이터 센터에 연결된 장치, 예를 들어, 특정 서비스(예, 비디오 스트리밍 요청, 검색 요청 등)를 요청하는 사용자 장치(예, 휴대폰)에서 발생할 수 있다. 일부 양상들에서, 호스트로부터 워크로드의 수신은 위의 도 2와 관련하여 도시되고 설명된 프로세스와 유사할 수 있지만 반드시 동일하지는 않을 수 있다.
일부 예에서, 개시된 시스템은 호스트, 에지 데이터 센터 및/또는 코어 데이터 센터 중 임의의 조합으로부터 워크로드의 일부를 예를 들어 분해된 방식으로 수신할 수 있다. 예를 들어, 서비스를 요청하는 둘 이상의 장치를 P2P(Peer-to-Peer) 연결로 연결하고, 네트워크 아키텍처의 다른 부분(예, 호스트, 에지 데이터 센터 및/또는 코어 데이터 센터)에서 수신할 수 있는 복합 워크로드를 생성할 수 있다. 또한, 개시된 시스템은 아래에 설명된 동작에 따라 추가 처리를 위해 관리 컴퓨팅 엔티티(네트워크 아키텍처의 임의의 적절한 위치에서 부분적으로 또는 전체적으로 실행될 수 있음)에서 부분 워크로드 요청을 집계할 수 있다.
블록 1508에서, 개시된 시스템은 코어 데이터 센터 및 에지 데이터 센터와 관련된 네트워크 매개 변수를 수신할 수 있다. 특히, 개시된 시스템은 네트워크 매개 변수를 결정하기 위해 네트워크 아키텍처를 모니터링하기 위해 여기에 다양하게 도시되고 설명된 관리 컴퓨팅 엔티티를 사용할 수 있다. 일부 실시 예에서, 개시된 시스템은 네트워크 아키텍처의 다양한 부분에서 전송되는 원시 데이터를 가로 채거나 그렇지 않으면 액세스 할 수 있고 원시 데이터로부터, 예를 들어, 제한되진 않지만, 위의 도 7과 연결하여 추가로 도시되고 설명된 바와 같이, 데이터 레이트, 머신 이용 비율 등을 포함하는 특정 네트워크 매개 변수를 결정할 수 있다.
블록 1510에서, 개시된 시스템은 네트워크 매개 변수에 기초하여 코어 데이터 센터 및 에지 데이터 센터에서 실행되는 워크로드와 관련된 예상 지연 시간을 결정할 수 있습니다. 특히, 개시된 시스템은 워크로드와 관련된 지연 시간을 결정하기 위해, 도 7 내지 9와 연결하여 추가로 도시되고 설명된 모델을 사용할 수 있다. 일부 실시 예에서, 개시된 시스템은 특정 프로토콜(예, 5G 네트워크 프로토콜)을 구현하는 특정 네트워크 아키텍처(예, MEC 아키텍처)에 매핑되는 지연 시간을 결정할 수 있다.
블록 1512에서, 개시된 시스템은 에지 데이터 센터 또는 코어 데이터 센터로의 라우팅을 결정하기 위해 선택적으로 모델을 실행할 수 있다. 특히, 개시된 시스템은 에지 데이터 센터 또는 코어 데이터 센터로의 최적 라우팅을 결정하기 위해 머신 러닝 기술을 구현할 수 있다. 예를 들어, 개시된 시스템은 워크로드를 에지 데이터 센터 또는 코어 데이터 센터로 라우팅하기 위해 예상되는 분포를 결정하기 위해, 도 4과 연결하여 추가로 도시되고 설명된 바와 같이 감독된 머신 러닝 기술 또는, 도 5와 연결하여 추가로 도시되고 설명된 바와 같은 비감독 머신 러닝 기술을 구현할 수 있다. 다른 예들에서, 개시된 시스템은 머신 러닝 접근 방식에 반대하거나 그와 결합하여 워크로드를 에지 데이터 센터 또는 코어 데이터 센터로 라우팅하기 위한 미리 결정된 규칙(예, 사용자 지정 정책)을 구현할 수 있다.
블록 1514에서, 개시된 시스템은 예상되는 지연 시간 및 네트워크 매개 변수에 적어도 부분적으로 기초하여 코어 데이터 센터 또는 에지 데이터 센터로의 워크로드 분포를 결정할 수 있다. 특히, 개시된 시스템은 결정된 분포를 특징으로 하는 바와 같이 워크로드의 제1 부분을 코어 데이터 센터로 전송하고 워크로드의 제2 부분을 에지 데이터 센터로 전송하도록 결정할 수 있다. 일부 실시 예에서, 개시된 시스템은 네트워크 아키텍처의 전체 지연(예, 서비스 지연)을 감소시킬 가능성이 있는 분포를 결정할 수 있다. 다른 측면에서, 개시된 시스템은 제한되지 않지만, 네트워크의 대역폭 사용량, 네트워크의 전력 사용량 또는 네트워크의 일부, 이들의 조합 등을 포함하는 네트워크 아키텍처와 관련된 다른 요인을 줄이기 위해 분포를 더 결정할 수 있다.
도 16a는 본 개시의 예시적인 실시 예들에 따라, 네트워크 아키텍처를 통해 워크로드를 코어 데이터 센터 및 하나 이상의 에지 데이터 센터로 라우팅하기 위한 개시된 시스템의 예시적인 방법(1600)의 예를 도시한다. 블록 1602에서, 개시된 시스템은 워크로드 및 워크로드의 분포를 수신할 수 있다. 일부 실시 예에서, 코어 네트워크에 상주하는 관리 컴퓨팅 엔티티는 워크로드 및 분포를 수신할 수 있다. 위에서 언급했듯이 워크로드는 인터넷의 호스트 또는 코어 데이터 센터에 연결된 장치, 예를 들어, 특정 서비스(예, 비디오 스트리밍 요청, 검색 요청, 이들의 조합 등)를 요청하는 사용자 장치(예, 휴대폰)에서 발생할 수 있다. 또한, 워크로드의 분포는 도 15와 연결하여 전술 및 개시 전체에 걸쳐 설명되는 모델링 및/또는 머신 러닝 기술의 결과로부터 결정될 수 있다. 일 예에서, 분포는 코어 데이터 센터와 관련된 제1 프로그래밍 방식으로 예상되는 지연 시간과 미리 결정된 임계 값을 초과하는 에지 데이터 센터와 관련된 제2 프로그래밍 방식으로 예상되는 지연 사이의 차이에 적어도 부분적으로 기초하여 결정될 수 있다.
블록 1604에서, 개시된 시스템은 분포에 기초하여 워크로드의 일부 및 워크로드의 일부와 관련된 데이터를 하나 이상의 에지 데이터 센터로 라우팅할 수 있다. 특히, 개시된 시스템은 워크로드의 개별 구성 요소를 모듈식 작업(modular task)으로 분할하고, 워크로드의 개별 구성 요소와 관련된 일련의 패킷을 생성하고, 적절한 경우 네트워크 아키텍처를 통해 네트워크의 지정된 부분(예, 다양한 에지 데이터 센터)으로 패킷을 전송할 수 있다. 또한, 개시된 시스템은 임의의 기본 네트워크 매체를 통한 전송을 위해 임의의 적절한 헤더로 개별 구성 요소를 캡슐화(encapsulate) 할 수 있다. 예를 들어, 개시된 시스템은 제1 네트워크 프로토콜(예, 5G 프로토콜)과 관련된 제1 메타 데이터를 사용하여 워크로드의 개별 구성 요소를 캡슐화 할 수 있고, 각각 제1 에지 데이터 센터 및 제2 에지 데이터 센터로의 전송을 위해 제2 네트워크 프로토콜(예, 이더넷 프로토콜)과 관련된 제2 메타 데이터로 워크로드의 개별 구성 요소를 캡슐화 할 수 있다.
블록 1606에서, 개시된 시스템은 코어 데이터 센터에서 워크로드의 일부와 관련된 데이터 및 워크로드의 다른 부분을 처리할 수 있다. 특히, 개시된 시스템은 코어 데이터 센터에서 처리하기 위해 워크로드의 일부를 유지할 수 있다. 예를 들어, 코어 데이터 센터에서 처리되는 부분은 상대적으로 더 높은 수준의 계산 리소스를 필요로 할 수 있으며, 이는 에지 데이터 센터(들)와는 반대로 코어 데이터 센터에서 사용할 수 있다. 일부 실시 예에서, 개시된 시스템은 임의의 적절한 서비스 수준 계약(SLA; service level agreement)에 따라 워크로드의 일부를 처리할 수 있다.
블록 1608에서, 개시된 시스템은 코어 데이터 센터 및 에지 데이터 센터(들)로부터 워크로드의 처리된 부분을 집계할 수 있다. 일부 예에서, 개시된 시스템은 워크로드의 상이한 부분에 대한 태그를 포함할 수 있으며, 태그는 워크로드의 각각의 부분을 처리한 네트워크의 부분(예, 코어 또는 에지 데이터 센터)을 반영한다. 예를 들어, 태그는 작업 부하 부분과 관련된 메타 데이터(예, 작업 부하 부분을 나타내는 패킷과 관련된 메타 데이터)에 포함될 수 있다. 따라서, 개시된 시스템은 태그를 사용하여 처리된 부분을 분류, 필터링 및/또는 집계할 수 있다. 특히, 개시된 시스템은 데이터 센터로부터 제1 부분과 관련된 제1 완료된 워크로드를 수신할 수 있고, 에지 데이터 센터로부터 제2 부분과 관련된 제2 완료된 워크로드를 수신할 수 있으며, 및 제1 태그 또는 제2 태그를 사용하여 제1 완료된 워크로드 또는 제2 완료된 워크로드를 분류, 필터링 또는 집계할 수 있다.
블록 1610에서, 개시된 시스템은 워크로드의 집계되고 처리된 부분을 적어도 하나의 장치로 전송할 수 있다. 일부 실시 예에서, 개시된 시스템은 통합 및 처리된 부분을 워크로드 요청을 발생시킨 장치와 유사하거나 다른 네트워크 부분에 위치한 장치로 전송할 수 있다.
도 16b는 본 개시의 예시적인 실시 예에 따라 네트워크 아키텍처를 통해 코어 데이터 센터 및 하나 이상의 에지 데이터 센터로 워크로드를 라우팅하기 위한 개시된 시스템의 다른 예시적인 방법(1601)의 예를 도시한다. 블록 1612에서, 개시된 시스템은 워크로드 및 워크로드의 분포를 수신할 수 있다. 일부 실시 예에서, 에지 네트워크에 상주하는 관리 컴퓨팅 엔티티는 워크로드 및 분포를 수신할 수 있다. 위에서 언급했듯이 워크로드는 인터넷의 호스트 또는 코어 데이터 센터, 예를 들어, 특정 서비스(예, 비디오 스트리밍 요청, 검색 요청 등)를 요청하는 사용자 장치(예, 휴대폰)에 연결된 장치에서 발생할 수 있다. 또한, 워크로드의 분포는 위의 도 15와 연결하여 설명되고 개시 전체에 걸쳐 설명되는 모델링 및/또는 머신 러닝 기법의 결과로부터 결정될 수 있다.
블록 1614에서, 개시된 시스템은 분포에 기초하여 워크로드의 일부 및 워크로드의 일부와 관련된 데이터를 코어 데이터 센터로 라우팅할 수 있다. 언급한 바와 같이, 개시된 시스템은 워크로드의 개별 구성 요소를 모듈식 작업으로 분할하고 워크로드의 개별 구성 요소와 관련된 일련의 패킷을 생성할 수 있고, 및 적절한 경우 네트워크 아키텍처를 통해 지정된 부분(예, 코어 데이터 센터)으로 패킷을 전송할 수 있다. 또한, 개시된 시스템은 임의의 기본 네트워크 매체를 통한 전송을 위해 임의의 적절한 헤더로 개별 구성 요소를 캡슐화 할 수 있다. 예를 들어, 개시된 시스템은 제1 네트워크 프로토콜(예, 5G 기반 네트워크 프로토콜)과 관련된 제1 메타 데이터를 사용하여 워크로드의 개별 구성 요소를 캡슐화 할 수 있고, 각각 제1 코어 데이터 센터 및 제2 코어 데이터 센터로의 전송을 위해 제2 네트워크 프로토콜(예, 이더넷 기반 네트워크 프로토콜)과 관련된 제2 메타 데이터로 워크로드의 개별 구성 요소를 캡슐화 할 수 있다.
블록 1616에서, 개시된 시스템은 하나 이상의 에지 데이터 센터에서 워크로드의 일부와 관련된 데이터 및 워크로드의 다른 부분을 처리할 수 있다. 특히, 개시된 시스템은 에지 데이터 센터(들)에서 처리하기 위해 워크로드의 일부를 보유할 수 있다. 예를 들어, 에지 데이터 센터(들)에서 처리되는 부분은 상대적으로 낮은 수준의 계산 리소스를 필요로 할 수 있지만 지연 시간이 줄어들 수 있으며, 이는 코어 데이터 센터와 반대로 에지 데이터 센터에서 이용 가능할 수 있다. 일부 실시 예에서, 개시된 시스템은 임의의 적절한 SLA에 따라 워크로드의 일부를 처리할 수 있다.
블록 1618에서, 개시된 시스템은 코어 데이터 센터 및 에지 데이터 센터(들)로부터 워크로드의 처리된 부분을 집계할 수 있다. 일부 예들에서, 언급된 바와 같이, 개시된 시스템은 워크로드의 상이한 부분에 대한 태그를 포함할 수 있고, 태그는 워크로드의 각각의 부분을 처리한 네트워크의 부분(예, 코어 또는 에지 데이터 센터)을 반영한다. 예를 들어, 태그는 작업 부하 부분과 관련된 메타 데이터(예, 작업 부하 부분을 나타내는 패킷과 관련된 메타 데이터)에 포함될 수 있다. 따라서, 개시된 시스템은 태그를 사용하여 처리된 부분을 분류, 필터링 및/또는 집계할 수 있다.
블록 1620에서, 개시된 시스템은 워크로드의 집계되고 처리된 부분을 적어도 하나의 장치로 전송할 수 있다. 일부 실시 예에서, 개시된 시스템은 워크로드 요청을 발생시킨 장치와 유사하거나 다른 네트워크 부분에 위치한 장치로 집계 및 처리된 부분을 전송할 수 있다.
이제 테스트 케이스의 결과 예를 살펴본다. 아래의 17, 18 및 19는 작업 길이가 각각 200 MI, 3000 MI 및 45000 MI로 설정된 경우 다양한 모바일 장치 수에 대한 예제 비디오 스트리밍 애플리케이션의 서비스 지연 시간을 도시한다. 특히, 도 17은 본 개시의 예시적인 실시 예들에 따른, 비디오 스트리밍 애플리케이션에 대한 클라우드 상의 서비스 시간(Service time on cloud for video streaming App)(y-축 상의 초 단위 대 x-축 상의 모바일 장치의 수(Number of mobile devices))의 제1 플롯(1700)을 도시한다. 특히, 제1 플롯(1700)은 200 MI의 작업 크기에 대해 EO가 있는 2 계층(2-tier) 및 2 계층 모두에 대한 서비스 시간을 나타내는 곡선(1706)을 도시한다.
도 17은 본 개시의 예시적인 실시 예들에 따른, y-축 상의 초 단위 대 x-축 상의 모바일 장치들의 수(Number of mobile devices)의 비디오 스트리밍 애플리케이션에 대한 에지 상의 서비스 시간(Service time on cloud for video streaming App)의 제2 플롯(1701)을 더 도시한다. 특히, 제2 플롯(1701)은 200 MI의 작업 크기에 대해 EO가 있는 2 계층 및 2 계층 모두에 대한 서비스 시간을 나타내는 곡선(1716)을 도시한다. 곡선(1706 및 1716)에서 알 수 있는 바와 같이, 서비스 시간은 일반적으로 장치 수가 증가함에 따라 클라우드 및 에지 컴퓨팅 프로세스 모두에 대해 증가할 수 있으나, 그러나, 에지 오케스트레이터(edge orchestrator)를 구현하는 2 계층 MEC 네트워크 아키텍처에서는 클라우드의 서비스 시간에 비해 에지의 서비스 시간 상승이 줄어들 수 있다.
도 18은 본 개시의 예시적인 실시 예들에 따라, y-축 상의 초 단위 대 x-축 상의 모바일 장치들의 수의 비디오 스트리밍 애플리케이션에 대한 클라우드 상의 서비스 시간의 제1 플롯(1800)을 도시한다. 특히, 제1 플롯(1800)은 3000 MI의 작업 크기에 대해 EO가있는 2 계층 및 2 계층 모두에 대한 서비스 시간을 나타내는 곡선(1806)을 도시한다.
도 18은 본 개시의 예시적인 실시 예들에 따른, y-축 상의 초 단위 대 x-축 상의 모바일 장치들의 수(Number of mobile devices)의 비디오 스트리밍 애플리케이션에 대한 에지 상의 서비스 시간(Service time on cloud for video streaming App)의 제2 플롯(1801)을 더 도시한다. 특히, 제2 플롯(1801)은 3000 MI의 작업 크기에 대해 EO를 갖는 2 계층 및 2 계층 모두에 대한 서비스 시간을 나타내는 곡선(1816)을 도시한다. 다시, 곡선(1806 및 1816)에서 볼 수 있듯이, 서비스 시간은 일반적으로 장치 수가 증가함에 따라 클라우드 및 에지 컴퓨팅 프로세스 모두에 대해 증가할 수 있으나; 그러나, 에지 오케스트레이터를 구현하는 2 계층 MEC 네트워크 아키텍처에서는 클라우드의 서비스 시간에 비해 에지의 서비스 시간 상승이 줄어들 수 있다.
도 19는 본 개시의 예시적인 실시 예들에 따른, y-축 상의 초 단위 대 x-축 상의 모바일 장치들의 수의 비디오 스트리밍 애플리케이션에 대한 클라우드 상의 서비스 시간의 제1 플롯(1900)을 도시한다. 특히, 제1 플롯(1900)은 45000 MI의 작업 크기에 대해 EO가있는 2 계층 및 2 계층 모두에 대한 서비스 시간을 나타내는 곡선(1906)을 도시한다.
도 19는 본 개시의 예시적인 실시 예들에 따른, y-축 상의 초 단위 대 x-축 상의 모바일 장치들의 수(Number of mobile devices)의 비디오 스트리밍 애플리케이션에 대한 에지 상의 서비스 시간(Service time on cloud for video streaming App)의 제2 플롯(1901)을 더 도시한다. 특히, 제2 플롯(1901)은 45000 MI의 작업 크기에 대해 EO가있는 2 계층 및 2 계층 모두에 대한 서비스 시간을 나타내는 곡선(1916)을 도시한다. 곡선(1906 및 1916)에서 볼 수 있듯이, 에지 오케스트레이터를 구현하는 2 계층 MEC 네트워크 아키텍처에서 에지에서의 서비스 시간 상승은 클라우드의 서비스 시간에 비해 감소될 수 있다.
도 17, 18 및 19의 플롯에 묘사된 테스트 결과로부터, 스트리밍 중 작업 크기가 증가하고 추가 스트리밍 성능이 필요한 경우(예, 고화질 비디오 스트리밍 요청 시), 클라우드와 에지의 서비스 시간은 함께 증가할 수 있다. 또한 에지의 서비스 시간이 지배적일 뿐만 아니라 클라우드의 지연 시간 증가에 비해 빠르게 증가한다. 또한 작업 크기가 45000MI로 증가하면 에지가 병목 현상을 초래한다. 에지의 총 서비스 지연 시간은 클라우드의 지연 시간보다 약 20배 이상 높다. 이 경우 에지 서버가 대부분의 지연을 유발할 수 있다. 그러나 EU(end user)의 수는 클라우드의 서비스 지연에 작은 영향을 미치는 것으로 보이지만 여전히 에지의 지연 시간에 선형 적으로 단조롭게 증가하는 영향을 미친다. 또한 모바일 기기 수가 300 대 이상일 때, EO가 포함된 2 계층 아키텍처는 EO 기능이 요청 처리를 최적화하기 위해 균형 잡힌 접근 방식으로 서버 간에 작업을 분산할 수 있기 때문에 에지에서 2 계층 아키텍처보다 낮은 지연 시간을 제공하는 것으로 보인다.
도 20은 본 개시의 예시적인 실시 예들에 따른, y-축 상의 백분율 단위 대 x-축 상의 IOPS의 가상 머신 사용률(VM Utilization)의 플롯(2000)을 더 도시한다. 위에서 언급한 바와 같이, 비디오 스트리밍 애플리케이션에서 상대적으로 큰 작업 크기에 대해 에지 데이터 센터가 병목 현상이 될 수 있다는 것을 도 17, 18 및 19에 도시된 테스트의 결과로부터 알 수 있다. 일부 예들에서, LAN 네트워크를 통한 통신은 5G 네트워크에 의해 결정될 수 있기 때문에, 에지 데이터 센터는 예를 들어 가상 머신(VM)에서 컴퓨팅 및 스토리지 리소스 혼잡에 직면할 수 있다.
도 20의 플롯에 도시 된 바와 같이, 서비스 시간에 대한 에지 서버 스토리지 성능 효과를 모델링할 수 있다. 특히, 플롯은 스트리밍 할 작업 크기가 상대적으로 크고 모바일 장치 수가 상대적으로 높을 때 RAM(Random Access Memory) 및 서버(예, 에지 데이터 센터와 관련된 서버)의 캐싱(caching)은 상대적으로 빠르게 포화될 수 있다. 작업 크기가 3000 MI 일 때 메모리와 캐싱이 포화 상태라고 가정하면, 스토리지 용량 및 IOPS 성능은 도 20에 도시된 바와 같이 이 특정 애플리케이션에 대한 CPU 사용률과 디스크 IOPS 간의 관계를 모델링하기 위해 조정될 수 있다. 특히, 이 그림은 제한된 메모리 및 캐싱이 주어지면 디스크 IOPS가 증가함에 따라 에지 서버의 각 VM에서 CPU 사용률도 증가함을 도시한다. 그러나 CPU 사용률이 프로세서 당 100 %를 초과하지 않기 때문에 이러한 증가는 반드시 선형이 아닐 수 있다. 또한, 드라이브 활동이 CPU 사용률을 낮추는 유일한 작업은 아니다. RAM 액세스, 비디오/오디오 통신 및 네트워크 활동과 같은 활동도 CPU 사용률을 줄일 수 있다. 일부 실시 예에서, 드라이브 활동이 드라이브가 야기하는 지연이 CPU에 대한 다른 지연보다 상당히 작은 지점에 도달하면, 증가하는 사용률이 포화될 수 있다.
도 21은 본 개시의 예시적인 실시 예들에 따라, 비디오 스트리밍 애플리케이션에 대한 평균 WAN 지연(Average WAN delay for video streaming)(z-축 상의 초 단위) 대 x-축 상의 디스크 IOPS(Disk IOPS) 및 y-축 상의 EU 장치 수(Number of EUs)의 제1 3 차원 플롯(2100)을 도시한다. 특히, 제1 플롯(2100)은 2-계층 MEC 아키텍처에 대한 평균 WAN 지연을 나타내는 곡선(2106)을 묘사한다.
도 21은 본 개시의 예시적인 실시 예들에 따라, 또한 비디오 스트리밍 애플리케이션에 대한 평균 WAN 지연(Average WAN delay for video streaming)(z-축 상의 초 단위) 대 x-축 상의 디스크 IOPS(Disk IOPS) 및 y-축 상의 EU 장치 수(Number of EUs)의 제2 3 차원 플롯(2101)을 더 도시한다. 특히, 제2 플롯(2101)은 EO가있는 2-계층 MEC 아키텍처에 대한 평균 WAN 지연을 나타내는 곡선(2116)을 묘사한다.
도 22는 본 개시의 예시적인 실시 예들에 따라, 비디오 스트리밍 애플리케이션에 대한 평균 LAN 지연(Average LAN delay for video streaming)(z-축 상의 초 단위) 대 x-축 상의 디스크 IOPS(Disk IOPS) 및 y-축 상의 EU 장치 수(Number of EUs)의 제1 3차원 플롯(2200)을 도시한다. 특히, 제1 플롯(2200)은 2-계층 MEC 아키텍처에 대한 평균 LAN 지연을 나타내는 곡선(2206)을 묘사한다.
도 22는 본 개시의 예시적인 실시 예들에 따라, 또한 비디오 스트리밍 애플리케이션에 대한 평균 LAN 지연(Average LAN delay for video streaming)(z-축 상의 초 단위) 대 x-축 상의 디스크 IOPS(Disk IOPS) 및 y-축 상의 EU 장치 수(Number of EUs)의 제2 3차원 플롯(2201)을 도시한다. 특히, 제2 플롯(2201)은 EO를 갖는 2-계층 MEC 아키텍처에 대한 평균 LAN 지연을 나타내는 곡선(2216)을 도시한다.
위의 도 21 및 도 22와 연결하여 도시되고 설명된 저장 성능 모델에 기초하여, WAN 네트워킹 지연(도 21 참조) 및 LAN 네트워킹 지연(도 22 참조)의 성능에 대한 EU 및 에지 서버 디스크 IOPS의 수의 효과를 설명할 수 있다. 특히 사용자 수가 100 명에서 1000 명으로 증가한 경우와 스토리지 IOPS가 증가한 경우를 모델링했다. 도 21 및 도 22에 도시된 바와 같이, 개시된 시스템은 WAN 지연 시간이 2 계층 아키텍처 모두에 대한 LAN 지연 시간의 약 10 배임을 결정할 수 있다. 따라서 사용자 수가 증가하면 WAN 지연이 증가할 수 있다. 또한 EU 양이 상대적으로 낮은 경우 디스크 IOPS가 높을수록 WAN 지연 시간이 단조롭게 증가할 수 있다. 그러나 총 EU가 높으면 WAN 지연이 먼저 감소하고, 디스크 IOPS가 증가함에 따라 증가할 수 있다. 모바일 장비의 양이 증가하고 IOPS가 증가하면 LAN 지연 시간이 늘어날 수 있다.
도 23은 본 개시의 예시적인 실시 예들에 따라, 비디오 스트리밍 애플리케이션을 위한 클라우드에서의 처리 시간(Processing time on cloud for video streaming)(z-축 상의 초 단위) 대 x-축 상의 디스크 IOPS(Disk IOPS) 및 y-축 상의 EU 장치 수(Number of EUs)에 대한 제1 3차원 플롯(2300)을 도시한다. 특히, 제1 플롯(2300)은 2-계층 MEC 아키텍처에 대한 처리 시간을 나타내는 곡선(2306)을 묘사한다.
도 23은 또한 본 개시의 예시적인 실시 예들에 따라, 비디오 스트리밍 애플리케이션을 위한 클라우드에서의 처리 시간(Processing time on cloud for video streaming)(z-축 상의 초 단위) 대 x-축 상의 디스크 IOPS(Disk IOPS) 및 y-축 상의 EU 장치 수(Number of EUs)의 제2 3차원 플롯(2301)을 도시한다. 특히, 제2 플롯(2301)은 EO가 있는 2-계층 MEC 아키텍처에 대한 처리 시간을 나타내는 곡선(2316)을 묘사한다.
도 24는 본 개시의 예시적인 실시 예들에 따라, x-축 상의 디스크 IOPS(Disk IOPS) 및 y-축 상의 EU 장치 수(Number of EUs)에 대한 비디오 스트리밍 애플리케이션에 대한 에지 상의 처리 시간(Processing time on edge for video streaming)(z-축 상의 초 단위)의 제1 3차원 플롯(2400)을 도시한다. 특히, 제1 플롯(2400)은 2-계층 MEC 아키텍처에 대한 처리 시간을 나타내는 곡선(2406)을 묘사한다.
도 24는 또한 본 개시의 예시적인 실시 예들에 따라, 비디오 스트리밍 애플리케이션에 대한 에지에서의 처리 시간(Processing time on edge for video streaming)(z-축 상의 초 단위) 대 x-축 상의 디스크 IOPS(Disk IOPS) 및 y-축 상의 EU 장치 수(Number of EUs)의 제2 3차원 플롯(2401)을 도시한다. 특히, 제2 플롯(2416)은 EO가 있는 2-계층 MEC 아키텍처에 대한 처리 시간을 묘사한다.
특히, 도 23과 도 24는 클라우드와 에지의 처리 시간을 별도로 도시한다. 그림 23에서 UE 및 스토리지 IOPS의 변경이 클라우드(즉, 코어 데이터 센터)의 처리 시간에 최소한의 영향을 미칠 수 있음을 입증할 수 있다. 그러나 에지 데이터 센터의 처리 시간은 전체 계산 지연 시간에 크게 영향을 미칠 수 있으며, 이는 EU 수가 증가함에 따라 증가하고 IOPS가 증가함에 따라 감소할 수 있다.
도 25는 본 개시의 예시적인 실시 예들에 따라, 비디오 스트리밍 애플리케이션에 대한 클라우드에서의 서비스 시간(2500)(Service time on cloud for video streaming)의 z-축 상의 초 단위 대 x-축 상의 디스크 IOPS와 y-축 상의 EU 장치 수의 제1 3차원 플롯(2500)을 도시한다. 특히, 제1 플롯(2500)은 2-계층 MEC 아키텍처에 대한 서비스 시간을 나타내는 곡선(2506)을 묘사한다.
도 25는 또한 본 개시의 예시적인 실시 예들에 따라, x-축 상의 디스크 IOPS(Disk IOPS) 및 y-축 상의 EU 장치 수에 대한 z-축 상의 초 단위로 비디오 스트리밍 애플리케이션에 대한 클라우드에서의 서비스 시간(Service time on cloud for video streaming)의 제2 3차원 플롯(2501)을 도시한다. 특히, 제2 플롯(2501)은 EO를 갖는 2-계층 MEC 아키텍처에 대한 서비스 시간을 나타내는 곡선(2516)을 도시한다.
도 26은 본 개시의 예시적인 실시 예들에 따라, x-축 상의 디스크 IOPS(Disk IOPS) 및 y-축 상의 EU 장치 수에 대한 비디오 스트리밍 애플리케이션에 대한 에지 상의 서비스 시간(2600)(Service time on edge for video streaming)을 z-축 상의 초 단위로 나타낸 제1 3차원 플롯(2600)을 도시한다. 특히, 제1 플롯(2600)은 2-계층 MEC 아키텍처에 대한 서비스 시간을 나타내는 곡선(2606)을 묘사한다.
도 26은 또한 본 개시의 예시적인 실시 예들에 따라, 비디오 스트리밍 애플리케이션에 대한 에지에서의 서비스 시간(Service time on edge for video streaming)(z-축 상의 초 단위) 대 x-축 상의 디스크 IOPS(Disk IOPS) 및 y-축 상의 EU 장치 수의 제2 3차원 플롯(2601)을 도시한다. 특히, 제2 플롯(2601)은 EO가있는 2- 계층 MEC 아키텍처에 대한 서비스 시간을 나타내는 곡선(2616)을 묘사한다.
특히, 도 25 및 도 26은 각각 클라우드 및 에지에서의 서비스 시간 플롯을 도시한다. 일부 양상에서, 서비스 시간은 통신 및 계산 지연으로 인한 총 영향을 포함할 수 있으므로, 도 23은 도 22 및 도 23에 도시된 지연을 나타내고, 여기서 클라우드(예, 코어 데이터 센터)의 서비스 시간은 주로 WAN 네트워킹 지연으로 인해 발생할 수 있다. 유사하게, 에지 상의 서비스 시간은 도 22 및 도 24에 도시 된 지연을 나타내고, 이는 주로 에지 데이터 센터의 처리 시간으로 인해 발생한다. 총 서비스 시간은 주로 에지 데이터 센터에서 소비되며, 이는 에지의 지연 시간이 병목 현상이 될 수 있음을 도시한다.
다양한 양상에서, 개시된 시스템은 에지 컴퓨팅 플랫폼을 최적화함으로써 5G 네트워크를 지원하기 위해 MEC 아키텍처 상의 지연 시간을 개선하는 역할을 할 수 있다. 공개된 시스템은 여기서 2-계층 MEC 구조와 LB 구조가 있는 2-계층 MEC에서 에지 컴퓨팅 지연 시간에 대한 스토리지 성능 효과를 모델링 할 수 있다. 또한, 비디오 스트리밍의 예시적인 사용 사례에 대한 스토리지 성능으로 인한 지연에 대한 영향이 여기에서 다양하게 설명된다.
특정 실시 예는 하드웨어, 펌웨어 및 소프트웨어 중 하나 또는 조합으로 구현될 수 있다. 다른 실시 예는 또한 본 명세서에 설명된 동작을 수행하기 위해 적어도 하나의 프로세서에 의해 판독 및 실행될 수 있는 컴퓨터 판독 가능 저장 장치에 저장된 명령어로서 구현될 수 있다. 컴퓨터 판독 가능 저장 장치는 머신(예를 들어, 컴퓨터)에 의해 판독 가능한 형태로 정보를 저장하기 위한 임의의 비 일시적 메모리 메커니즘을 포함할 수 있다. 예를 들어, 컴퓨터 판독 가능 저장 장치는 ROM(read-only memory), RAM(random-access memory), 자기 디스크 저장 매체, 광학 저장 매체, 플래시 메모리 장치 및 기타 저장 장치 및 매체를 포함할 수 있다.
본 명세서에서 "예시적인"이라는 단어는 "예시, 실례 또는 예시로서 제공하는"을 의미하기 위해 사용된다. 본 명세서에서 "예시적인"것으로 설명된 임의의 실시 예는 반드시 다른 실시 예보다 바람직하거나 유리한 것으로 해석될 필요는 없다. 본 명세서에서 사용되는 용어 "컴퓨팅 장치", "사용자 장치", "통신 스테이션", "스테이션", "핸드 헬드 장치", "모바일 장치", "무선 장치"및 "사용자 장비(UE)"는 휴대폰, 스마트 폰, 태블릿, 넷북, 무선 단말기, 랩톱 컴퓨터, 펨토셀, HDR(High Data Rate) 가입자 스테이션, 액세스 포인트, 프린터, POS 장치, 액세스 단말기 또는 기타 개인 통신 시스템(PCS) 장치와 같은 무선 통신 장치를 의미합니다. 장치는 이동식 또는 고정식일 수 있다.
이 명세서 내에서 사용된 용어 "통신하다"는 전송, 수신 또는 전송과 수신 모두를 포함하도록 의도된다. 이것은 하나의 장치에 의해 전송되고 다른 장치에 의해 수신되는 데이터의 구성을 설명할 때 청구항에서 특히 유용할 수 있지만 청구항을 침해하려면 해당 장치 중 하나의 기능만 필요하다. 마찬가지로, 두 장치(교환 중에 전송 및 수신하는 두 장치 모두) 간의 양방향 데이터 교환은 해당 장치 중 하나의 기능만 요구될 때 '통신'으로 설명될 수 있다. 무선 통신 신호와 관련하여 본 명세서에서 사용되는 "통신"이라는 용어는 무선 통신 신호를 송신 및/또는 무선 통신 신호를 수신하는 것을 포함한다. 예를 들어, 무선 통신 신호를 통신할 수있는 무선 통신 장치는 적어도 하나의 다른 무선 통신 장치에 무선 통신 신호를 전송하는 무선 송신기를 포함할 수 있고, 및/또는 적어도 하나의 다른 무선 통신 유닛으로부터 무선 통신 신호를 수신하기 위한 무선 통신 수신기를 포함할 수 있다.
일부 실시 예는, 예를 들어, 개인용 컴퓨터(PC), 데스크톱 컴퓨터, 모바일 컴퓨터, 랩톱 컴퓨터, 노트북 컴퓨터, 태블릿 컴퓨터, 서버 컴퓨터, 핸드 헬드 컴퓨터, 핸드 헬드 장치, PDA(Personal Digital Assistant) 장치 , 핸드 헬드 PDA 장치, 온보드 장치, 오프 보드 장치, 하이브리드 장치, 차량 장치, 비 차량 장치, 모바일 또는 휴대용 장치, 소비자 장치, 비 모바일 또는 비 휴대용 장치, 무선 통신 스테이션, 무선 통신 장치, 무선 액세스 포인트(AP), 유선 또는 무선 라우터, 유선 또는 무선 모뎀, 비디오 장치, 오디오 장치, 오디오-비디오(A/V) 장치 , 유선 또는 무선 네트워크, 무선 영역 네트워크, 무선 비디오 영역 네트워크(WVAN), 근거리 영역 네트워크(LAN), 무선 LAN(WLAN), 개인 영역 네트워크(PAN), 무선 PAN(WPAN) 등 다양한 장치 및 시스템과 함께 사용될 수 있다.
일부 실시 예는 단방향 및/또는 양방향 무선 통신 시스템, 셀룰러 무선 전화 통신 시스템, 이동 전화, 셀룰러 전화, 무선 전화, 개인 통신 시스템(PCS) 장치, 무선 통신 장치, 모바일 또는 휴대용 GPS(Global Positioning System) 장치가 통합된 PDA 장치, GPS 수신기 또는 트랜시버 또는 칩이 통합된 장치, RFID 요소 또는 칩이 통합 된 장치, 다중 입력 다중 출력(MIMO) 트랜시버 또는 장치, SIMO(Single Input Multiple Output) 트랜시버 또는 장치, MISO (Multiple Input Single Output) 트랜시버 또는 장치, 하나 이상의 내부 안테나 및/또는 외부 안테나가 있는 장치, DVB(Digital Video Broadcast) 장치 또는 시스템, 다중 표준 무선 장치 또는 시스템, 예를 들어, 스마트 폰, WAP(Wireless Application Protocol) 장치 등과 같은 유선 또는 무선 핸드 헬드 장치와 함께 사용될 수 있다.
일부 실시 예는 하나 이상의 무선 통신 프로토콜, 예를 들어 무선 주파수(RF), 적외선(IR), 주파수 분할 다중화(Frequency-Division Multiplexing, FDM), 직교 FDM(OFDM), 시분할 다중화(TDM), 시분할 다중 액세스(TDMA), 확장 TDMA(E-TDMA), 일반 패킷 무선 서비스(GPRS), 확장 GPRS, 코드 분할 다중 액세스(CDMA), 광대역 CDMA(WCDMA), CDMA 2000, 단일 반송파 CDMA, 다중 반송파 CDMA, 다중 반송파 변조(MDM), 이산 다중 톤(DMT), BluetoothTM, GPS(Global Positioning System), Wi- Fi, Wi-Max, ZigBeeTM, UWB(Ultra-Wideband), GSM(Global System for Mobile Communication), 2G, 2.5G, 3G, 3.5G, 4G, 5G 모바일 네트워크, 3GPP, Long Term Evolution( LTE), LTE Advanced, EDGE(Enhanced Data Rates for GSM Evolution) 등을 따르는 하나 이상의 유형의 무선 통신 신호 및/또는 시스템과 함께 사용될 수 있다. 다른 실시 예는 다양한 다른 장치, 시스템 및/또는 네트워크에서 사용될 수 있다.
예시적인 처리 시스템이 위에서 설명되었지만, 본 명세서에 설명된 주제 및 기능적 동작의 실시예는 본 명세서에 개시된 구조 및 그 구조적 등가물을 포함하거나, 이들 중 하나 이상의 조합을 포함하는 다른 유형의 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다.
본 명세서에 설명된 주제 및 동작의 실시 예는 본 명세서에 개시된 구조 및 구조적 등가물 또는 그들의 하나 이상의 조합을 포함하는 디지털 전자 회로, 또는 컴퓨터 소프트웨어, 펌웨어 또는 하드웨어에서 구현될 수 있다. 본 명세서에 설명된 주제의 실시 예들은 정보/데이터 처리 장치에 의해 실행되거나 그 동작을 제어하기 위해 컴퓨터 저장 매체 상에 인코딩된 하나 이상의 컴퓨터 프로그램, 즉 컴퓨터 프로그램 명령의 하나 이상의 구성 요소로서 구현될 수 있다. 대안적으로 또는 추가로, 프로그램 명령은 인공적으로 생성된 전파 신호(예, 머신 생성 전기, 광학 또는 전자기 신호)에 인코딩될 수 있고, 이는 정보/데이터 처리 장치에 의한 실행을 위해 적절한 수신기 장치로 전송하기 위해 정보/데이터를 인코딩하기 위해 생성될 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독 가능 저장 장치, 컴퓨터 판독 가능 저장 기판, 랜덤 또는 직렬 액세스 메모리 어레이 또는 장치, 또는 이들 중 하나 이상의 조합 일 수 있거나 여기에 포함될 수 있다. 더욱이, 컴퓨터 저장 매체는 전파된 신호가 아니지만, 컴퓨터 저장 매체는 인위적으로 생성된 전파 신호로 인코딩된 컴퓨터 프로그램 명령의 소스 또는 목적지일 수 있다. 컴퓨터 저장 매체는 또한 하나 이상의 개별 물리적 구성 요소 또는 매체(예, 멀티플 CD, 디스크 또는 기타 저장 장치)일 수 있다.
본 명세서에 설명된 동작은 하나 이상의 컴퓨터 판독 가능 저장 장치에 저장되거나 다른 소스로부터 수신된 정보/데이터에 대해 정보/데이터 처리 장치에 의해 수행되는 동작으로서 구현될 수 있다.
용어 "데이터 처리 장치"는 데이터를 처리하기위한 모든 종류의 장치, 장치 및 머신을 포함하며, 예로서, 프로그램 가능한 프로세서, 컴퓨터, 시스템 온 칩, 또는 전술한 것의 다수 또는 조합을 포함한다. 장치는 FPGA(field programmable gate array) 또는 ASIC(application specific integrated circuit)와 같은 특수 목적 논리 회로를 포함할 수 있다. 이 장치는 하드웨어 외에도 해당 컴퓨터 프로그램의 실행 환경을 생성하는 코드, 예를 들어, 프로세서 펌웨어, 프로토콜 스택, 데이터베이스 관리 시스템, 운영 체제, 크로스 플랫폼 런타임 환경, 가상 머신 또는 이들 중 하나 이상의 조합을 구성하는 코드를 포함할 수 있다. 장치 및 실행 환경은 웹 서비스, 분산 컴퓨팅 및 그리드 컴퓨팅 인프라와 같은 다양한 컴퓨팅 모델 인프라를 구현할 수 있다.
컴퓨터 프로그램(프로그램, 소프트웨어, 소프트웨어 애플리케이션, 스크립트 또는 코드라고도 함)은 컴파일 또는 해석 언어, 선언적 또는 절차적 언어를 포함한 모든 형태의 프로그래밍 언어로 작성될 수 있고, 독립 실행형 프로그램 또는 컴퓨팅 환경에서 사용하기에 적합한 구성 요소, 구성 요소, 서브 루틴, 개체 또는 기타 장치를 포함하여 모든 형태로 배포할 수 있다. 컴퓨터 프로그램은 파일 시스템의 파일에 해당할 수 있지만 반드시 그럴 필요는 없다. 프로그램은 다른 프로그램 또는 정보/데이터(예, 마크 업 언어 문서에 저장된 하나 이상의 스크립트)를 보유하는 파일의 일부, 해당 프로그램 전용 단일 파일 또는 여러 조정 파일(예, 하나 이상의 구성 요소, 하위 프로그램 또는 코드 부분을 저장하는 파일)에 저장될 수 있다. 컴퓨터 프로그램은 한 컴퓨터 또는 한 사이트에 위치하거나 여러 사이트에 분산되고 통신 네트워크로 상호 연결된 여러 컴퓨터에서 실행되도록 배포될 수 있다.
본 명세서에 설명된 프로세스 및 로직 흐름은 입력 정보/데이터에 대해 동작하고 출력을 생성함으로써 동작을 수행하기 위해 하나 이상의 컴퓨터 프로그램을 실행하는 하나 이상의 프로그램 가능 프로세서에 의해 수행될 수 있다. 컴퓨터 프로그램의 실행에 적합한 프로세서는 예를 들어 범용 및 특수 목적의 마이크로 프로세서와 모든 종류의 디지털 컴퓨터의 임의의 하나 이상의 프로세서를 포함한다. 일반적으로 프로세서는 판독 전용 메모리나 랜덤 액세스 메모리 또는 둘 다에서 명령 및 정보/데이터를 수신한다. 컴퓨터의 필수 요소는 명령에 따라 동작을 수행하기 위한 프로세서와 명령 및 데이터를 저장하기 위한 하나 이상의 메모리 장치이다. 일반적으로, 컴퓨터는 또한 데이터를 저장하기 위한 하나 이상의 대용량 저장 장치, 예를 들어 자기, 광 자기 디스크 또는 광 디스크로부터 정보/데이터를 수신하거나 정보/데이터를 전송하거나 둘 모두를 포함하거나 작동 가능하게 결합된다. 그러나 컴퓨터에는 이러한 장치가 필요하지 않는다. 컴퓨터 프로그램 명령 및 정보/데이터를 저장하는 데 적합한 장치에는 모든 형태의 비 휘발성 메모리, 미디어 및 메모리 장치, 예로서 반도체 메모리 장치를 포함하고, 예를 들어 EPROM, EEPROM 및 플래시 메모리 장치; 자기 디스크, 예를 들어 내부 하드 디스크 또는 이동식 디스크; 광 자기 디스크; 및 CD ROM 및 DVD-ROM 디스크를 포함할 수 있다. 프로세서와 메모리는 특수 목적 논리 회로에 의해 보완되거나 통합될 수 있다.
사용자와의 상호 작용을 제공하기 위해, 여기에 설명된 주제의 실시 예는 정보를 표시하기 위해 CRT(음극선 관) 또는 LCD(액정 디스플레이) 모니터와 같은 디스플레이 장치, 사용자에게 정보/데이터를 표시하기 위한 키보드 및 예를 들어, 사용자가 컴퓨터에 입력을 제공할 수 있는 마우스 또는 트랙볼과 같은 포인팅 장치를 갖는 컴퓨터에서 구현될 수 있다. 사용자와의 상호 작용을 제공하기 위해 다른 종류의 장치를 사용할 수도 있고; 예를 들어, 상호 작용은 사용자에게 제공되는 피드백은 예를 들어 시각적 피드백, 청각적 피드백 또는 촉각적 피드백과 같은 모든 형태의 감각 피드백 일 수 있고, 사용자로부터의 입력은 음향, 음성 또는 촉각 입력을 포함한 모든 형태로 수신될 수 있다. 또한, 컴퓨터는 사용자가 사용하는 장치로 문서를 보내고 받는 장치에서 사용자와 상호 작용할 수 있고; 예를 들어, 상호 작용은 웹 브라우저에서 수신된 요청에 대한 응답으로 사용자 클라이언트 장치의 웹 브라우저에 웹 페이지를 전송하는 것이다.
여기에 설명된 주제의 실시 예는 예를 들어 정보/데이터 서버와 같은 백엔드(back end) 구성 요소, 또는 미들웨어 구성 요소(예, 애플리케이션 서버), 또는 사용자가 여기에 설명된 주제의 실시 예와 상호 작용할 수 있는 그래픽 사용자 인터페이스 또는 웹 브라우저를 가진 클라이언트 컴퓨터와 같은 프런트 엔드 구성 요소, 또는 이러한 백 엔드, 미들웨어 또는 프런트 엔드 구성 요소 중 하나 이상의 조합을 포함하는 컴퓨팅 시스템에서 구현될 수 있다. 시스템의 구성 요소는 디지털 정보/데이터 통신의 모든 형태 또는 매체, 예를 들어 통신 네트워크에 의해 상호 연결될 수 있다. 통신 네트워크의 예로는 근거리 통신망("LAN")과 광역 통신망("WAN"), 인터-네트워크(예, 인터넷), 및 피어-투-피어(peer-to-peer) 네트워크(예, 애드혹(ad hoc) 피어-투-피어 네트워크)가 있다.
컴퓨팅 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트와 서버는 일반적으로 서로 떨어져 있으며 일반적으로 통신 네트워크를 통해 상호 작용한다. 클라이언트와 서버의 관계는 각 컴퓨터에서 실행되고 서로 클라이언트-서버 관계를 갖는 컴퓨터 프로그램으로 인해 발생한다. 일부 실시 예에서, 서버는 정보/데이터(예, HTML 페이지)를 (예를 들어, 정보/데이터를 클라이언트 장치와 상호 작용하는 사용자에게 표시하고 사용자로부터 사용자 입력을 수신하기 위해) 클라이언트 장치로 전송한다. 클라이언트 장치에서 생성된 정보/데이터 (예, 사용자 상호 작용의 결과)는 서버의 클라이언트 장치에서 수신할 수 있다.
본 명세서는 많은 특정 실시 예, 세부 사항을 포함하지만, 이들은 임의의 실시 예의 범위 또는 청구항에 기재된 것에 대한 제한으로 해석되어서는 아니되며, 특정 실시 예에 특정한 특징의 설명으로 해석되어야 한다. 별도의 실시 예의 맥락에서 여기에 설명된 특정 특징은 단일 실시 예에서 조합하여 구현될 수도 있다. 반대로, 단일 실시 예의 맥락에서 설명된 다양한 특징은 또한 다중 실시 예에서 개별적으로 또는 임의의 적절한 하위 조합으로 구현될 수 있다. 더욱이, 특징이 특정 조합으로 작용하는 것으로 위에서 설명될 수 있고, 심지어 처음에 그렇게 주장될 수도 있지만, 청구된 조합으로부터의 하나 이상의 특징은 어떤 경우에는 조합으로부터 절제될 수 있고, 청구된 조합은 하위 조합 또는 하위 조합의 변형에 대한 것일 수 있다.
유사하게, 동작이 특정 순서로 도면에 도시되어 있지만, 이는 그러한 동작이 도시된 특정 순서 또는 순차적인 순서로 수행될 것, 또는 바람직한 결과를 얻기 위해 모든 예시된 작업이 수행될 것을 요구하는 것으로 이해되어서는 아니된다. 특정 상황에서는 멀티 태스킹 및 병렬 처리가 유리할 수 있다. 더욱이, 위에서 설명된 실시 예들에서 다양한 시스템 구성 요소들의 분리는 모든 실시 예들에서 그러한 분리를 요구하는 것으로 이해되어서는 아니되고, 설명된 프로그램 구성 요소 및 시스템은 일반적으로 단일 소프트웨어 제품으로 함께 통합되거나 여러 소프트웨어 제품으로 패키지화 될 수 있음을 이해해야 한다.
따라서, 주제의 특정 실시 예가 설명되었다. 다른 실시 예는 다음 청구항의 범위 내에 있다. 일부 경우에, 청구 범위에 언급된 동작은 다른 순서로 수행될 수 있으며 여전히 바람직한 결과를 얻을 수 있다. 또한, 첨부된 도면에 묘사된 프로세스는 바람직한 결과를 얻기 위해 도시된 특정 순서 또는 순차적인 순서를 반드시 필요로 하지 않는다. 특정 실시 예에서, 멀티 태스킹 및 병렬 처리가 유리할 수 있다.
본 명세서에 설명된 개시 내용의 많은 수정 및 다른 실시 예는 전술한 설명 및 관련 도면에 제시된 교시의 이점을 갖는 이들 실시 예가 속하는 기술 분야의 숙련자에게 떠오를 것이다. 따라서, 실시 예는 개시된 특정 실시 예로 제한되지 않으며, 수정 및 다른 실시 예는 첨부된 청구 범위의 범위 내에 포함되도록 의도된다는 것을 이해해야 한다. 본 명세서에서는 특정 용어가 사용되지만 제한 목적이 아니라 일반적이고 설명적인 의미로만 사용된다.
102: 네트워크 104: 호스트
108, 208, 308: 관리 컴퓨팅 엔티티
110: 코어 데이터 센터 120, 140: 에지 데이터 센터
130: 모바일 에지 데이터 센터 402: 네트워크
404: 네트워크 매개 변수 406: 라벨
408, 422: 특징 벡터 412: 머신 러닝 구성 요소(알고리즘)
414: 프로세서 416: 메모리
420: 네트워크 매개 변수 424: 예측 모델
426: 예상 분포 502: 네트워크
504: 네트워크 매개 변수 508, 522: 특징 벡터
512: 머신 러닝 구성 요소(알고리즘)
514: 프로세서 516: 메모리
520: 네트워크 매개 변수 524: 모델
526: 예상 분포 602: 프로세서
604: 메모리 606: 네트워크 모니터링 구성 요소
608: 통신 구성 요소 610: 컴퓨팅 구성 요소
612: 라우팅 구성 요소 622: 네트워크
802: 서비스 시간 804: 처리 지연
806: 통신 지연 808: 에지 처리
810: 클라우드 처리 812: WAN 지연
814: LAN 지연 1205: 네트워크
1305: 처리 요소 1310: 메모리
1315: 휘발성 메모리 1320: 통신 인터페이스
1404: 송신기 1406: 수신기
1408: 처리 요소 1416: 디스플레이
1418: 키패드 1420: 네트워크 인터페이스
1422: 휘발성 메모리 1424: 비 휘발성 메모리

Claims (20)

  1. 네트워크 최적화를 위한 장치로서,
    컴퓨터 실행 가능 명령어를 저장하는 적어도 하나의 메모리 장치; 및
    상기 메모리 장치에 액세스하도록 구성된 적어도 하나의 프로세서를 포함하되,
    상기 프로세서는,
    코어 데이터 센터 및 에지 데이터 센터를 포함하는 네트워크 아키텍처와 관련된 네트워크 매개 변수를 결정하는 것;
    상기 네트워크 매개 변수를 사용하여, 상기 코어 데이터 센터와 관련된 제1 프로그램 방식으로 예상되는 지연 시간 및 상기 에지 데이터 센터와 관련된 제2 프로그램 방식으로 예상되는 지연 시간을 결정하는 것; 및
    상기 제1 프로그래밍 방식으로 예상되는 지연 시간과 상기 제2 프로그래밍 방식으로 예상되는 지연 시간 사이의 차이에 적어도 부분적으로 기초하여 상기 코어 데이터 센터와 상기 에지 데이터 센터 사이에 라우팅 될 워크로드의 분포를 결정하는 것,
    을 위한 상기 컴퓨터 실행 가능 명령을 실행하도록 구성되는,
    장치.
  2. 제1 항에 있어서,
    상기 네트워크 매개 변수는 사용 백분율(usage percentage), 코어 데이터 센터 선택 확률(core data center selection probability), 지연 민감도 값(delay sensitivity value), 데이터 업로드 양(data upload amount), 데이터 다운로드 양(data download amount), 프로세서 사용 요구 사항(processor usage requirement), 및 가상 머신(VM; virtual machine) 사용률 중 적어도 하나를 포함하는,
    장치.
  3. 제1 항에 있어서,
    상기 각 결정하는 것은 머신 러닝 기술(machine learning technique)을 사용하여 수행되며,
    상기 머신 러닝 기술은 감독된 머신 러닝 기술 및 비감독 머신 러닝 기술 중 적어도 하나를 포함하고,
    상기 머신 러닝 기술은 장단기 기억(LSTM; long short term memory) 신경망, 반복 신경망, 시간 지연 신경망, 및 피드 포워드 신경망 중 적어도 하나를 더 포함하는,
    장치.
  4. 제1 항에 있어서,
    상기 분포는 미리 결정된 임계 값을 초과하는 차이에 적어도 부분적으로 기초하여 결정되는,
    장치.
  5. 제1 항에 있어서,
    상기 차이에 기초하여,
    (1) 상기 코어 데이터 센터와의 데이터 트래픽과 관련된 전송 속도,
    (2) 상기 에지 데이터 센터를 오가는 데이터 트래픽과 관련된 전송 속도,
    (3) 상기 에지 데이터 센터와 관련된 장치와의 데이터 트래픽과 관련된 전송 속도, 및
    (4) 상기 코어 데이터 센터와 관련된 장치와의 데이터 트래픽과 관련된 전송 속도,
    중 적어도 하나가 스로틀링(throttle)되는,
    장치.
  6. 제1 항에 있어서,
    상기 프로세서는 상기 워크로드의 적어도 제1 부분에 제1 태그로 라벨링 하도록 추가로 구성되고, 상기 제1 태그는 상기 제1 부분이 상기 코어 데이터 센터로 라우팅 될 것임을 표시하고,
    상기 프로세서는 상기 워크로드의 적어도 제2 부분을 제2 태그로 라벨링 하도록 구성되며, 상기 제2 태그는 상기 제2 부분이 상기 에지 데이터 센터로 라우팅 될 것임을 표시하는,
    장치.
  7. 제6 항에 있어서,
    상기 프로세서는,
    (1) 상기 코어 데이터 센터에서 상기 제1 부분과 관련된 제1 완료된 워크로드를 수신하고,
    (2) 상기 에지 데이터 센터로부터 상기 제2 부분과 관련된 제2 완료된 워크로드를 수신하고, 및
    (3) 상기 제1 태그 또는 상기 제2 태그를 사용하여 상기 제1 완료된 워크로드 또는 상기 제2 완료된 워크로드를 분류, 필터링 또는 집계하는,
    장치.
  8. 제7 항에 있어서,
    상기 프로세서는 적어도 상기 제1 완료된 워크로드 또는 상기 제2 완료된 워크로드를 상기 네트워크 아키텍처 상의 다른 장치로 전송하도록 구성되는,
    장치.
  9. 네트워크 최적화를 위한 방법으로서,
    코어 데이터 센터 및 에지 데이터 센터를 포함하는 네트워크 아키텍처와 관련된 네트워크 매개 변수를 결정하는 것;
    상기 네트워크 매개 변수를 사용하여, 상기 코어 데이터 센터와 관련된 제1 프로그램 방식으로 예상되는 지연 시간 및 상기 에지 데이터 센터와 관련된 제2 프로그램 방식으로 예상되는 지연 시간을 결정하는 것; 및
    상기 제1 프로그래밍 방식으로 예상되는 지연 시간과 상기 제2 프로그래밍 방식으로 예상되는 지연 시간 사이의 차이에 적어도 부분적으로 기초하여 상기 코어 데이터 센터와 상기 에지 데이터 센터 사이에서 라우팅 될 워크로드의 분포를 결정하는 것을 포함하는,
    방법.
  10. 제9 항에 있어서,
    상기 네트워크 매개 변수는 사용 백분율(usage percentage), 코어 데이터 센터 선택 확률(core data center selection probability), 지연 민감도 값(delay sensitivity value), 데이터 업로드 양(data upload amount), 데이터 다운로드 양(data download amount), 프로세서 사용 요구 사항(processor usage requirement), 및 가상 머신(VM; virtual machine) 사용률 중 적어도 하나를 포함하는,
    방법.
  11. 제9 항에 있어서,
    상기 각 결정하는 것은 머신 러닝 기술(machine learning technique)을 사용하여 수행되며,
    상기 머신 러닝 기술은 감독된 머신 러닝 기술 및 비감독 머신 러닝 기술 중 적어도 하나를 포함하고,
    상기 머신 러닝 기술은 장단기 기억(LSTM; long short term memory) 신경망, 반복 신경망, 시간 지연 신경망, 및 피드 포워드 신경망 중 적어도 하나를 더 포함하는,
    방법.
  12. 제9 항에 있어서,
    상기 분포는 미리 결정된 임계 값을 초과하는 차이에 적어도 부분적으로 기초하여 결정되는,
    방법.
  13. 제9 항에 있어서,
    상기 차이에 기초하여,
    (1) 상기 코어 데이터 센터와의 데이터 트래픽과 관련된 전송 속도,
    (2) 상기 에지 데이터 센터를 오가는 데이터 트래픽과 관련된 전송 속도,
    (3) 상기 에지 데이터 센터와 관련된 장치와의 데이터 트래픽과 관련된 전송 속도, 및
    (4) 상기 코어 데이터 센터와 관련된 장치와의 데이터 트래픽과 관련된 전송 속도,
    중 적어도 하나가 스로틀링(throttle)하는 것을 더 포함하는,
    방법.
  14. 제9 항에 있어서,
    상기 워크로드의 적어도 제1 부분에 제1 태그로 라벨링 하는 것; 및
    상기 워크로드의 적어도 제2 부분을 제2 태그로 라벨링 하는 것을 더 포함하되,
    상기 제1 태그는 상기 제1 부분이 상기 코어 데이터 센터로 라우팅 될 것임을 표시하고,
    상기 제2 태그는 상기 제2 부분이 상기 에지 데이터 센터로 라우팅 될 것임을 표시하는,
    방법.
  15. 제14 항에 있어서,
    (1) 상기 코어 데이터 센터에서 상기 제1 부분과 관련된 제1 완료된 워크로드를 수신하는 것;
    (2) 상기 에지 데이터 센터로부터 상기 제2 부분과 관련된 제2 완료된 워크로드를 수신하는 것; 및
    (3) 상기 제1 태그 또는 상기 제2 태그를 사용하여 상기 제1 완료된 워크로드 또는 상기 제2 완료된 워크로드를 분류, 필터링 또는 집계하는 것을 더 포함하는,
    방법.
  16. 제15 항에 있어서,
    적어도 상기 제1 완료된 워크로드 또는 상기 제2 완료된 워크로드를 상기 네트워크 아키텍처 상의 다른 장치로 전송하는 것을 더 포함하는,
    방법.
  17. 프로세서에 의해 실행될 때, 상기 프로세서가,
    코어 데이터 센터 및 에지 데이터 센터를 포함하는 네트워크 아키텍처와 관련된 네트워크 매개 변수를 결정하는 것;
    상기 네트워크 매개 변수를 사용하여, 상기 코어 데이터 센터와 관련된 제1 프로그램 방식으로 예상되는 지연 시간 및 상기 에지 데이터 센터와 관련된 제2 프로그램 방식으로 예상되는 지연 시간을 결정하는 것; 및
    상기 제1 프로그래밍 방식으로 예상되는 지연 시간과 상기 제2 프로그래밍 방식으로 예상되는 지연 시간 사이의 차이에 적어도 부분적으로 기초하여 상기 코어 데이터 센터와 상기 에지 데이터 센터 사이에서 라우팅 될 워크로드의 분포를 결정하는 것을
    포함하는 동작을 수행하게 하는 컴퓨터 실행 가능 명령어를 저장하는, 비 일시적 컴퓨터 판독 가능 매체.
  18. 제17 항에 있어서,
    상기 네트워크 매개 변수는 사용 백분율(usage percentage), 코어 데이터 센터 선택 확률(core data center selection probability), 지연 민감도 값(delay sensitivity value), 데이터 업로드 양(data upload amount), 데이터 다운로드 양(data download amount), 프로세서 사용 요구 사항(processor usage requirement), 및 가상 머신(VM; virtual machine) 사용률 중 적어도 하나를 포함하는,
    비 일시적 컴퓨터 판독 가능 매체.
  19. 제17 항에 있어서,
    상기 각 결정하는 것은 머신 러닝 기술(machine learning technique)을 사용하여 수행되며,
    상기 머신 러닝 기술은 감독된 머신 러닝 기술 및 비감독 머신 러닝 기술 중 적어도 하나를 포함하고,
    상기 머신 러닝 기술은 장단기 기억(LSTM; long short term memory) 신경망, 반복 신경망, 시간 지연 신경망, 및 피드 포워드 신경망 중 적어도 하나를 더 포함하는,
    비 일시적 컴퓨터 판독 가능 매체.
  20. 제17 항에 있어서,
    (1) 상기 코어 데이터 센터와의 데이터 트래픽과 관련된 전송 속도,
    (2) 상기 에지 데이터 센터를 오가는 데이터 트래픽과 관련된 전송 속도,
    (3) 상기 에지 데이터 센터와 관련된 장치와의 데이터 트래픽과 관련된 전송 속도, 및
    (4) 상기 코어 데이터 센터와 관련된 장치와의 데이터 트래픽과 관련된 전송 속도,
    중 적어도 하나는 상기 차이에 기초하여 스로틀링(throttle)되는,
    비 일시적 컴퓨터 판독 가능 매체.
KR1020217008870A 2019-02-15 2020-02-17 네트워크 최적화 및 비 일시적 컴퓨터 판독 가능 매체를 위한 장치 및 방법 KR20210119372A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201962806504P 2019-02-15 2019-02-15
US62/806,504 2019-02-15
US16/790,582 US11902092B2 (en) 2019-02-15 2020-02-13 Systems and methods for latency-aware edge computing
US16/790,582 2020-02-13
PCT/KR2020/002186 WO2020167074A1 (en) 2019-02-15 2020-02-17 Systems and methods for latency-aware edge computing

Publications (1)

Publication Number Publication Date
KR20210119372A true KR20210119372A (ko) 2021-10-05

Family

ID=72040505

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020217008870A KR20210119372A (ko) 2019-02-15 2020-02-17 네트워크 최적화 및 비 일시적 컴퓨터 판독 가능 매체를 위한 장치 및 방법

Country Status (6)

Country Link
US (1) US11902092B2 (ko)
EP (1) EP3925196A4 (ko)
KR (1) KR20210119372A (ko)
CN (1) CN112805983A (ko)
TW (1) TW202131661A (ko)
WO (1) WO2020167074A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102519007B1 (ko) * 2022-12-30 2023-04-06 주식회사 에스티씨랩 리소스 상태 기반 트래픽 자동 관리 시스템 및 방법

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019232471A1 (en) * 2018-06-01 2019-12-05 Nami Ml Inc. Machine learning at edge devices based on distributed feedback
US11902092B2 (en) * 2019-02-15 2024-02-13 Samsung Electronics Co., Ltd. Systems and methods for latency-aware edge computing
US11620207B2 (en) * 2020-01-08 2023-04-04 International Business Machines Corporation Power efficient machine learning in cloud-backed mobile systems
US11375409B2 (en) * 2020-04-09 2022-06-28 Dish Wireless L.L.C. Cellular network capacity slicing systems and methods
CN112312482B (zh) * 2020-10-23 2023-02-28 珠海格力电器股份有限公司 楼宇数据管理方法、管理设备、楼宇管理系统及存储介质
US11546216B2 (en) 2020-12-22 2023-01-03 Mellanox Technologies, Ltd. Real time performance tuning of network devices
CN113012432B (zh) * 2021-03-15 2022-07-08 武强 云计算与雾计算协同强化学习的交通红绿灯控制系统
US20220318065A1 (en) * 2021-04-02 2022-10-06 Red Hat, Inc. Managing computer workloads across distributed computing clusters
CN113254527B (zh) * 2021-04-22 2022-04-08 杭州欧若数网科技有限公司 分布式存储图数据的优化方法、电子装置和存储介质
US20220385552A1 (en) * 2021-05-27 2022-12-01 At&T Intellectual Property I, L.P. Record and replay network traffic
CN113535261B (zh) * 2021-07-05 2022-09-06 云南大学 基于边缘计算的车联网车辆集群任务卸载方法
JP2023020264A (ja) * 2021-07-30 2023-02-09 株式会社Screenホールディングス スケジュール作成方法、スケジュール作成装置、基板処理装置、基板処理システム、記録媒体、及びスケジュール作成プログラム
US11973824B2 (en) * 2021-09-23 2024-04-30 Shanghai Anviz Technology Co., Ltd. Method for data transmission of audio and video in end-to-end system
CN113839704B (zh) * 2021-09-30 2023-01-10 东南大学 一种密集低轨卫星与陆地融合的移动边缘计算方法
TWI806496B (zh) * 2022-03-16 2023-06-21 緯創資通股份有限公司 遞迴貝式網路建構系統、遞迴貝式網路建構方法、電腦可讀取記錄媒體、非暫時性電腦程式產品及無線網路控制系統
TWI806192B (zh) * 2021-10-13 2023-06-21 緯創資通股份有限公司 人工智慧計劃方法及人工智慧計劃裝置
US11627074B1 (en) 2022-01-24 2023-04-11 Mellanox Technologies, Ltd. Network device with real-time data-path optimization
CN114462623B (zh) * 2022-02-10 2023-05-26 电子科技大学 基于边缘计算的数据分析方法、系统及平台
US11811645B1 (en) * 2022-06-03 2023-11-07 Microsoft Technology Licensing, Llc Request routing system using reinforcement learning
CN115348210A (zh) * 2022-06-21 2022-11-15 深圳市高德信通信股份有限公司 一种基于边缘计算的延迟优化方法
US11876858B1 (en) * 2023-09-05 2024-01-16 Armada Systems Inc. Cloud-based fleet and asset management for edge computing of machine learning and artificial intelligence workloads
US11960515B1 (en) 2023-10-06 2024-04-16 Armada Systems, Inc. Edge computing units for operating conversational tools at local sites
US11995412B1 (en) 2023-10-06 2024-05-28 Armada Systems, Inc. Video based question and answer

Family Cites Families (42)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7484002B2 (en) 2000-08-18 2009-01-27 Akamai Technologies, Inc. Content delivery and global traffic management network system
CN1823499A (zh) 2003-07-14 2006-08-23 西门子技术至商业中心有限责任公司 为无线网络提供延迟保证的方法和装置
US20080114858A1 (en) * 2006-11-14 2008-05-15 Fmr Corp. Reconstructing Data on a Network
US8060792B2 (en) * 2009-03-31 2011-11-15 Amazon Technologies, Inc. Monitoring and automated recovery of data instances
US8631411B1 (en) * 2009-07-21 2014-01-14 The Research Foundation For The State University Of New York Energy aware processing load distribution system and method
US9001663B2 (en) 2010-02-26 2015-04-07 Microsoft Corporation Communication transport optimized for data center environment
EP2659624B1 (en) * 2010-12-28 2017-04-12 Citrix Systems Inc. Systems and methods for vlan tagging via cloud bridge
US20120265881A1 (en) * 2011-04-14 2012-10-18 Yuan Chen Provisioning data center resources
US9098344B2 (en) * 2011-12-27 2015-08-04 Microsoft Technology Licensing, Llc Cloud-edge topologies
US8914406B1 (en) * 2012-02-01 2014-12-16 Vorstack, Inc. Scalable network security with fast response protocol
US9389920B2 (en) 2012-05-02 2016-07-12 Futurewei Technologies, Inc. Intelligent data center cluster selection
US9002939B2 (en) * 2012-06-03 2015-04-07 International Business Machines Corporation Adaptive and dynamic replication management in cloud computing
US9374276B2 (en) 2012-11-01 2016-06-21 Microsoft Technology Licensing, Llc CDN traffic management in the cloud
US9705808B2 (en) 2014-03-21 2017-07-11 Cisco Technology, Inc. Flow aware buffer management for data center switches
US9736056B2 (en) 2014-05-02 2017-08-15 Cisco Technology, Inc. Centralized predictive routing using delay predictability measurements
US9552550B2 (en) 2014-05-13 2017-01-24 Cisco Technology, Inc. Traffic shaping based on predicted network resources
US10708187B2 (en) 2014-05-22 2020-07-07 Intel Corporation Data center congestion management for non-TCP traffic
US10516608B2 (en) * 2014-09-11 2019-12-24 Oath Inc. Systems and methods for directly responding to distributed network traffic
US20170026461A1 (en) 2015-07-24 2017-01-26 Cisco Technology, Inc. Intelligent load balancer
US10070328B2 (en) 2015-08-20 2018-09-04 International Business Mahcines Corporation Predictive network traffic management
US10547540B2 (en) 2015-08-29 2020-01-28 Vmware, Inc. Routing optimization for inter-cloud connectivity
US10089309B2 (en) 2016-02-05 2018-10-02 Spotify Ab System and method for load balancing based on expected latency for use in media content or other environments
WO2017194080A1 (en) * 2016-05-09 2017-11-16 Nokia Solutions And Networks Oy Policy control with mobile edge computing
US10390114B2 (en) 2016-07-22 2019-08-20 Intel Corporation Memory sharing for physical accelerator resources in a data center
US10440096B2 (en) * 2016-12-28 2019-10-08 Intel IP Corporation Application computation offloading for mobile edge computing
US10382565B2 (en) * 2017-01-27 2019-08-13 Red Hat, Inc. Capacity scaling of network resources
CN108574728B (zh) * 2017-03-08 2021-05-04 中兴通讯股份有限公司 用于移动边缘计算的流量路径改变检测的方法和装置
US10536517B2 (en) 2017-03-16 2020-01-14 A10 Networks, Inc. Distributed global server load balancing controllers sharing service delay time
US10956222B2 (en) * 2017-05-04 2021-03-23 Salesforce.Com, Inc. Systems, methods, and apparatuses for implementing a scheduler and workload manager with dynamic workload termination based on cost-benefit analysis
US10270884B2 (en) * 2017-06-02 2019-04-23 Wistron Neweb Corporation Control method, network system and control platform for mobile-edge computing
CN107482766B (zh) 2017-07-05 2019-12-03 国网江苏省电力公司经济技术研究院 基于数据网络和电力网络互动运行的电力系统调度方法
CN107819695B (zh) 2017-10-19 2020-11-10 西安电子科技大学 一种基于sdn的分布式控制负载均衡系统与方法
US10791168B1 (en) * 2018-05-21 2020-09-29 Rafay Systems, Inc. Traffic aware network workload management system
US10466716B1 (en) * 2018-09-05 2019-11-05 Chongqing Jinkang New Energy Vehicle Co., Ltd Vehicle command generation using vehicle-to-infrastructure communications and deep networks
US11902092B2 (en) * 2019-02-15 2024-02-13 Samsung Electronics Co., Ltd. Systems and methods for latency-aware edge computing
US20200272896A1 (en) * 2019-02-25 2020-08-27 Alibaba Group Holding Limited System for deep learning training using edge devices
US11216309B2 (en) * 2019-06-18 2022-01-04 Juniper Networks, Inc. Using multidimensional metadata tag sets to determine resource allocation in a distributed computing environment
US11263037B2 (en) * 2019-08-15 2022-03-01 International Business Machines Corporation Virtual machine deployment
US20200228630A1 (en) * 2020-03-27 2020-07-16 Intel Corporation Persistence service for edge architectures
US11994932B2 (en) * 2020-06-21 2024-05-28 Intel Corporation Platform ambient data management schemes for tiered architectures
US20210014114A1 (en) * 2020-09-25 2021-01-14 Intel Corporation Methods, apparatus, and articles of manufacture for workload placement in an edge environment
US11940933B2 (en) * 2021-03-02 2024-03-26 Mellanox Technologies, Ltd. Cross address-space bridging

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102519007B1 (ko) * 2022-12-30 2023-04-06 주식회사 에스티씨랩 리소스 상태 기반 트래픽 자동 관리 시스템 및 방법

Also Published As

Publication number Publication date
EP3925196A1 (en) 2021-12-22
WO2020167074A1 (en) 2020-08-20
EP3925196A4 (en) 2022-10-12
TW202131661A (zh) 2021-08-16
US20200267053A1 (en) 2020-08-20
CN112805983A (zh) 2021-05-14
US11902092B2 (en) 2024-02-13

Similar Documents

Publication Publication Date Title
KR20210119372A (ko) 네트워크 최적화 및 비 일시적 컴퓨터 판독 가능 매체를 위한 장치 및 방법
US11829800B2 (en) Predictive resource allocation in an edge computing network utilizing machine learning
US20180349168A1 (en) Systems and methods for managing a cloud computing environment
US11102095B2 (en) Monitoring data queues and providing alerts
US11537493B2 (en) System and method for low latency edge computing
US11778055B2 (en) Systems and methods for storage-efficient sensors
CN105468442B (zh) 用于跨越云来迁移资源的方法、系统和介质
US10419528B2 (en) Dynamically instantiating and terminating data queues
US10599529B2 (en) Instantiating data queues for management of remote data stores
Bellavista et al. A migration-enhanced edge computing support for mobile devices in hostile environments
US11126506B2 (en) Systems and methods for predictive data protection
US20220329522A1 (en) Adaptive resilient network communication
KR102320317B1 (ko) 클라우드 엣지 환경에서 예측 기반 마이그레이션 후보 및 대상 선정 방법
US11983644B2 (en) Insight allotment to edged locations
Wang et al. Accelerating task completion in mobile offloading systems through adaptive restart
Chebaane et al. Container-based task offloading for time-critical fog computing
Tärneberg The confluence of Cloud computing, 5G, and IoT in the Fog
US11381468B1 (en) Identifying correlated resource behaviors for resource allocation
Zaid et al. Toward Smart Urban Development Through Intelligent Edge Analytics
Seal Implementation of a Distributed Middleware Framework to Span the Edge-Fog-Cloud Tiers of a Mobile Distributed Computing IoE Platform Requiring Real-Time and Near-Real-Time Response