KR102664946B1 - 네트워크 기반 미디어 프로세싱 제어 - Google Patents

네트워크 기반 미디어 프로세싱 제어 Download PDF

Info

Publication number
KR102664946B1
KR102664946B1 KR1020217033827A KR20217033827A KR102664946B1 KR 102664946 B1 KR102664946 B1 KR 102664946B1 KR 1020217033827 A KR1020217033827 A KR 1020217033827A KR 20217033827 A KR20217033827 A KR 20217033827A KR 102664946 B1 KR102664946 B1 KR 102664946B1
Authority
KR
South Korea
Prior art keywords
workflow
media processing
task
delete delete
network
Prior art date
Application number
KR1020217033827A
Other languages
English (en)
Other versions
KR20210138735A (ko
Inventor
유 유
수지트 샴순다르 메이트
카샤프 캄마치 스리다르
볼프강 반 램돈크
Original Assignee
노키아 테크놀로지스 오와이
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 노키아 테크놀로지스 오와이 filed Critical 노키아 테크놀로지스 오와이
Priority to KR1020247015087A priority Critical patent/KR20240066200A/ko
Publication of KR20210138735A publication Critical patent/KR20210138735A/ko
Application granted granted Critical
Publication of KR102664946B1 publication Critical patent/KR102664946B1/ko

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2353Processing of additional data, e.g. scrambling of additional data or processing content descriptors specifically adapted to content descriptors, e.g. coding, compressing or processing of metadata
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5005Allocation of resources, e.g. of the central processing unit [CPU] to service a request
    • G06F9/5027Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
    • G06F9/5038Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/50Allocation of resources, e.g. of the central processing unit [CPU]
    • G06F9/5061Partitioning or combining of resources
    • G06F9/5066Algorithms for mapping a plurality of inter-dependent sub-tasks onto a plurality of physical CPUs
    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/765Media network packet handling intermediate
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/235Processing of additional data, e.g. scrambling of additional data or processing content descriptors
    • H04N21/2355Processing of additional data, e.g. scrambling of additional data or processing content descriptors involving reformatting operations of additional data, e.g. HTML pages
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/237Communication with additional data server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6543Transmission by server directed to the client for forcing some client operations, e.g. recording

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Library & Information Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computational Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Mathematical Analysis (AREA)
  • Evolutionary Computation (AREA)
  • Data Mining & Analysis (AREA)
  • Artificial Intelligence (AREA)
  • Algebra (AREA)
  • Probability & Statistics with Applications (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

본 발명의 예시적인 양상에 따르면, 방법이 제공되며, 이 방법은, 소스 엔티티로부터 워크플로우 관라자에 의해, 네트워크 기반 미디어 프로세싱을 위한 워크플로우 디스크립션을 수신하는 단계 ― 워크플로우 디스크립션은, 워크플로우 태스크 최적화 정보 엘리먼트를 포함함 ―, 워크플로우 디스크립션에 기초하여 워크플로우를 생성하는 단계 ― 워크플로우는 한 세트의 접속된 미디어 프로세싱 태스크들을 포함함 ―, 및 최적화 정보 엘리먼트에서의 하나 이상의 파라미터들에 기초하여, 워크플로우를 최적화하기 위한 워크플로우 태스크 수정을 야기시키는 단계를 포함한다.

Description

네트워크 기반 미디어 프로세싱 제어
다양한 예시적인 실시예들은 네트워크 기반 미디어 프로세싱에 관한 것이며, 특히 이들의 동적 워크플로우 제어 관리(dynamic workflow control management)에 관한 것이다.
네트워크 기반 미디어 프로세싱(NBMP: network based media processing)은, 서비스 제공자들 및 최종 사용자들이 미디어 프로세싱 동작들을 분배할 수 있게 한다. NBMP는, IT 및 텔레콤 클라우드 네트워크들에서 수행될 수 있는 분산형 미디어 및 메타데이터 프로세싱을 위한 프레임워크를 제공한다.
NBMP는, 미디어 프로세싱 태스크들을 실행할 미디어 프로세싱 엔티티들을 설정하고, 로딩하고, 인스턴스화하고(instantiate) 그리고 모니터링하기 위해 기본 컴퓨트 플랫폼 상호작용(underlying compute platform interaction)들을 추상화한다. NBMP 시스템은: 프로세싱을 위해 네트워크에 미디어 데이터를 업로딩하는 것; 미디어 프로세싱 엔티티(MPE)들을 인스턴스화하는 것; 미디어 프로세싱 파이프라인의 동적 생성을 위해 MPE들을 구성하는 것; 및 지연 방식(deferred way)으로 또는 실시간으로 스케일러블한 방식(scalable fashion)으로, 프로세싱된 미디어 데이터 및 결과적인 메타데이터에 액세스하는 것을 수행할 수 있다. MPE들은, 워크플로우 관리자 및 MPE들을 구현하기 위한 컴퓨테이션 자원(computation resource)들을 포함하는 NBMP 플랫폼에서 워크플로우 관리자에 의해 제어되고 동작될 수 있다.
본 발명의 일부 양상들은 독립항들의 특징들에 의해 정의된다. 일부 특정 실시예들은 종속항들에서 정의된다.
제1 예시적인 양상에 따라, 방법이 제공되며, 이 방법은, 소스 엔티티로부터 워크플로우 관리자에 의해, 네트워크 기반 미디어 프로세싱을 위한 워크플로우 디스크립션(workflow description)을 수신하는 단계 ― 워크플로우 디스크립션은, 워크플로우 태스크 최적화 정보 엘리먼트를 포함함 ―, 워크플로우 디스크립션에 기초하여 워크플로우를 생성하는 단계 ― 워크플로우는 한 세트의 접속된 미디어 프로세싱 태스크들을 포함함 ―, 및 최적화 정보 엘리먼트에서의 하나 이상의 파라미터들에 기초하여, 워크플로우를 최적화하기 위한 워크플로우 태스크 수정(workflow task modification)을 야기시키는 단계를 포함한다.
제2 예시적인 양상에 따라, 방법이 제공되며, 이 방법은, 네트워크-기반 미디어 프로세싱을 위한 워크플로우 디스크립션을 생성하는 단계, 워크플로우 디스크립션에 기초하여 생성된 워크플로우를 최적화하기 위한 워크플로우 태스크 수정을 수행하기 위한 하나 이상의 파라미터들을 정의하는 워크플로우 태스크 최적화 정보 엘리먼트를 워크플로우 디스크립션에 포함시키는 단계, 및 워크플로우 태스크 최적화 정보 엘리먼트를 포함하는 워크플로우 디스크립션을 워크플로우 관리자에게 송신하게 하는 단계를 포함한다.
또한, 장치가 제공되며, 이 장치는, 적어도 하나의 프로세서, 컴퓨터 프로그램 코드를 포함하는 적어도 하나의 메모리를 포함하며, 적어도 하나의 메모리 및 컴퓨터 프로그램 코드는, 적어도 하나의 프로세서와 함께, 장치로 하여금, 적어도 제1 및/또는 제2 양상, 또는 이들의 임의의 실시예에 따른 특징들을 수행하게 하도록 구성된다.
또 다른 추가의 예시적인 양상들에 따라, 데이터 프로세싱 장치에서 실행될 때, 제1 및/또는 제2 양상 또는 이들의 실시예에 따른 특징들을 수행하게 하도록 구성된, 컴퓨터 프로그램 및 컴퓨터-판독가능 매체 또는 비-일시적 컴퓨터-판독가능 매체가 제공된다.
일부 예시적인 실시예들이 이제 첨부된 도면들을 참조로 설명될 것이다.
도 1은 NBMP 시스템의 예를 예시한다.
도 2 내지 도 4는 적어도 일부 실시예들에 따른 방법들의 흐름 그래프(flow graph)들이다
도 5는 워크플로우 및 결과적인 태스크 전개(task deployment)를 예시한다.
도 6은 미디어 프로세싱 워크플로우 및 태스크 배치(task placement)의 예를 예시한다.
도 7은 태스크 향상(task enhancement)을 예시한다.
도 8은 태스크 융합(task fusion)을 예시한다. 그리고
도 9는 적어도 일부 실시예들을 지원할 수 있는 예시적인 장치를 예시한다.
도 1은, 네트워크 내의 프로세싱 엔티티들에 걸쳐 수행되는 프로세싱을 위한 시스템인 NBMP(Network-based Media Processing) 시스템(100)을 예시한다.
시스템(100)은, 프로세싱될 미디어 콘텐츠를 제공하는 엔티티인 NBMP 소스(110)를 포함한다. NBMP 소스는 NBMP 시스템에 대한 미디어 프로세싱을 트리거하고 워크플로우 디스크립션에 의해 설명한다. NBMP 소스는 요청된 미디어 프로세싱을 설명하고, 워크플로우 디스크립션에서 연관된 미디어 데이터의 본질(nature) 및 포맷에 관한 정보를 제공한다. NBMP 소스는 하나 이상의 미디어 소스들(112), 이를테면 비디오 카메라, 인코더 또는 영구 저장소를 포함하거나, 이에 접속될 수 있다. NBMP 소스(110)는, 예를 들어, 피드백, 메타데이터 또는 네트워크 메트릭들을 NBMP 소스(110)에 제공하는 사용자 장비 또는 다른 타입의 엔티티 또는 디바이스와 같은 제3자 엔티티에 의해 제어될 수 있다.
워크플로우 관리자(120)는 네트워크-기반 미디어 프로세싱을 편성하는(orchestrate) 엔티티이며, (NBMP) 제어 기능으로 또한 지칭될 수 있다. 워크플로워 관리자는 워크플로우 API를 통해 NBMP 소스로부터 워크플로우 디스크립션을 수신하고, 요청된 미디어 프로세싱을 위한 워크플로우를 구축한다(build). 본원에서 또한 워크플로우 디스크립션 문서(WDD: workflow description document)로 지칭되는 워크플로우 디스크립션은, NBMP 워크플로우를 인에이블링하는 정보를 설명한다. 워크플로우 관리자(120)는 태스크들을 프로비저닝하고(provision) 이들을 접속시켜, 워크플로우 디스크립션 문서 및 기능 디스크립션들에 기반하여 완전한 워크플로우를 생성한다. NBMP 워크플로우는 특정 미디어 프로세싱을 달성하기 위해 하나 이상의 태스크(들)의 체인을 제공한다. 태스크(들)의 체이닝(chaining)은, 워크플로우의 임의의 레벨에서 순차적이거나, 병렬적이거나, 또는 이 둘 모두일 수 있다. 워크플로우는 방향성 비순환 그래프(DAG: directed acyclic graph)로서 표현될 수 있다.
워크플로우 관리자(120)는 가상화될 수 있는 전용 서버로 구현될 수 있을 뿐만 아니라, 클라우드 컴퓨팅에서 기능부로서 구현될 수 있다. 따라서, 프로세서 및 메모리 대신에, 워크플로우 관리자(120)는 데이터를 프로세싱 및 저장하기 위한 프로세싱 기능 및 메모리 기능을 포함할 수 있다. 이들 기능들 외에, 워크플로우 관리자(120)는 또한, 본원의 다양한 다른 엔티티들과 유사하게, 영구 저장 기능 및 통신 인터페이스 기능과 같은 일부 추가적 기능들을 포함할 수 있지만, 이러한 기능들은 간결성 및 단순성을 위해 예시되지 않는다.
시스템(100)은 기능 저장소(130)를 더 포함한다. 예시적인 실시예에서, 기능 저장소(130)는 네트워크 기반 기능이다. 예시적인 실시예에서, 기능 저장소(130)는, 미디어 프로세싱 엔티티(140)에 대한 태스크들을 정의할 시에 워크플로우 관리자(120)에 의한 사용을 위한 복수의 기능 사양(specification)들(132)을 저장한다. 기능 저장소(130)에 대한 기능 발견 API는, 워크플로우 관리자 및/또는 NBMP 소스가 (104에 의해) 미디어 프로세싱 워크플로우의 일부로서 로딩될 수 있는 미디어 프로세싱 기능들을 발견하는 것을 가능하게 한다.
미디어 프로세싱 엔티티(MPE: Media Processing Entity)는, 워크플로우 관리자(120)에 의해 프로비저닝된 하나 이상의 미디어 프로세싱 태스크들을 수행하는 엔티티이다. MPE는, NBMP 태스크 API 또는 다른 MPE를 통해 NBMP 소스(110)로부터 수신된 미디어 데이터 및 관련 메타데이터 상에 적용되는 태스크들을 실행한다. MPE의 태스크(들)는, 미디어 싱크 엔티티(media sink entity)(150) 또는 다른 MPE의 다른 태스크(들)에 의해 소비될 미디어 데이터 및 관련 메타데이터를 생성한다. 미디어 싱크 엔티티(150)는 일반적으로, MPE의 태스크 출력의 컨슈머(consumer)이다. 태스크(142)에 의해 프로세싱된 콘텐츠는, 적절한 미디어 포맷들로 기존 전달 방법들을 통해, 예를 들어 다운로드, DASH, MMT, 또는 다른 수단을 통해, 미디어 싱크 엔티티에 NBMP 공개 포맷(publish format)으로 전송될 수 있다.
네트워크 기반 미디어 프로세싱(또는 NBMP) 기능은, 독립적(standalone) 및 자급식(self-contained) 미디어 프로세싱 동작 및 그 동작의 대응하는 디스크립션일 수 있다. NBMP 기능은 출력 미디어 또는 메타데이터를 생성할 수 있는 입력 미디어의 프로세싱을 수행한다. 그러한 미디어 프로세싱의 비-제한적인 예들은, 콘텐츠 인코딩, 디코딩, 콘텐츠 암호화, HDR로의 콘텐츠 컨버전, 컨테이너 포맷의 콘텐츠 트랜스-멀티플렉싱, 스트리밍 매니페스트 생성, 프레임-레이트 또는 종횡비 컨버전 및 콘텐츠 스티칭 등을 포함한다. 미디어 프로세싱 태스크(또한, 이하 간결함을 위해 "태스크"로 지칭됨)는, MPE(140)에 의해 실행되게 되는 네트워크 기반 미디어 프로세싱 기능의 실행 인스턴스(running instance)이다.
예시적인 실시예에서, MPE(140)는 컴퓨터에서의 프로세스 또는 실행 콘텍스트(예를 들어, 적절한 하드웨어 가속)이다. 다수의 MPE들이 또한 단일 컴퓨터에서 정의될 수 있다. 이 경우, MPE들에 걸친 태스크들 사이의 통신들은 프로세스-친화적인 프로토콜들, 이를테면, 프로세스 간 통신(IPC: Inter-Process Communication)을 통해 발생할 수 있다.
예시적인 실시예에서, MPE(140)는 전용 장치, 이를테면 서버 컴퓨터이다. 다른 예시적인 실시예에서, MPE(140)는, 예를 들어 적합한 가상화 플랫폼 또는 클라우드 컴퓨팅을 사용하여 워크플로우 관리자(120)에 의해 이러한 목적을 위해 확립된 기능이다. 이러한 경우들에서, 태스크들 사이의 통신들은, 전형적으로 IP-기반 프로토콜들을 사용하는 MPE들에 걸쳐 수행된다.
워크플로우 관리자(120)는 NBMP 소스(110) 및 기능 저장소(130)와 통신 접속한다. 예시적인 실시예에서, 기능 저장소(130)는 추가로, NBMP 소스(110)과 통신 접속한다. 워크플로우 관리자(120)는 기본 인프라구조(예를 들어, 클라우드 오케스트레이터(cloud orchestrator))와 통신하여, 컨테이너들, 가상 머신(VM)들 또는 물리적 컴퓨터 호스트들과 같은 실행 환경들을 프로비저닝하고, 따라서 MPE들로서 동작할 수 있다.
NBMP 시스템(100)은, 미디어 프로세싱 엔티티(140)를 미디어 소스(112) 및 미디어 싱크(150)와 각각 선택적으로 인터페이싱하는 하나 이상의 스트림 브리지들을 더 포함할 수 있다.
워크플로우들 및 연관된 DAG들이 매우 복잡해질 수 있기 때문에, 미디어 프로세싱 태스크들을 어떻게 그리고 어디에 전개할지를, 즉, 미디어 프로세싱 태스크들과 MPE들 사이, 그리고 프로세싱 태스크들 사이의 상관관계를 정의하기 위해, 잘 확립된 제어 및 입도 레벨을 갖는 것이 중요하다. 네트워크 기반 미디어 프로세싱 워크플로우 생성을 안내 또는 제어하기 위한 개선들이 이제 제공된다. 워크플로우 생성 및 최적화를 안내하기 위해 보다 세밀한(fine-grained) 정책들이 이제 정의되며, 이는 새로운 정보 엘리먼트(IE)들 및 파라미터들로서 WDD에 포함될 수 있다.
도 2는 네트워크 기반 미디어 프로세싱 워크플로우 생성 및 이의 최적화를 제어하기 위한 방법을 예시한다. 방법은 미디어 프로세싱 워크플로우들을 생성 또는 제어하는 장치, 이를테면 워크플로우 관리자(120)에 의해 구현될 수 있다.
네트워크 기반 미디어 프로세싱을 위한 워크플로우 디스크립션이 소스 엔티티, 이를테면 NBMP 소스 엔티티(110)로부터 수신된다(200). 워크플로우 디스크립션은 워크플로우 태스크 최적화 정보 엘리먼트를 포함한다. 워크플로우 태스크 최적화 정보 엘리먼트는, 미디어 프로세싱 엔티티들로의 전개 이전에(또는 일부 실시예들에서는, 그 이후에) 워크플로우가 어떻게 최적화될 수 있는지를 정의하는 하나 이상의 정책들을 정의할 수 있다. 워크플로우 태스크 최적화 정보 엘리먼트는 하나 이상의 파라미터들을 포함할 수 있고 워크플로우 디스크립션에 포함된 하나 이상의 필드들을 포함할 수 있다는 것이 인지되어야 한다.
워크플로우 디스크립션에 기초하여 워크플로우가 생성되며(210), 워크플로우는 한 세트의 접속된 미디어 프로세싱 태스크들을 포함한다. 예를 들어, 워크플로우는 WDD에 기반하여 생성된 NBMP 워크플로우 DAG일 수 있다.
최적화 정보 엘리먼트에서의 하나 이상의 파라미터들에 기초하여 워크플로우를 최적화하기 위한 워크플로우 태스크 수정이 수행된다(220). 일부 실시예들에서, 태스크들 중 적어도 일부에 대해 태스크 융합, 태스크 향상, 및/또는 태스크 그룹화가 적용된다.
일부 실시예들에서, 수신된 워크플로우 디스크립션에서 워크플로우 태스크 최적화 정보 엘리먼트를 검출하는 것에 대한 응답으로 블록(220)이 진입된다. 예시적인 실시예에서, 워크플로우 태스크 최적화 정보 엘리먼트가 체크되며, 그리고 하나 이상의 워크플로우 태스크 최적화/수정 (서브-)프로시저들이 정보 엘리먼트에 의해 인에이블링되면, 개개의 (서브-)프로시저들이 개시된다.
그런 다음, 워크플로우 관리자는, 워크플로우 태스크 수정 이후의 워크플로우에 기초하여, 한 세트의 선택된 MPE들에 의해 미디어 프로세싱 태스크들을 전개할 수 있다.
도 3은 네트워크 기반 미디어 프로세싱 워크플로우 생성 및 이의 최적화를 제어하기 위한 방법을 예시한다. 방법은 미디어 프로세싱 워크플로우들의 생성을 개시하는 장치에서, 이를테면 도 2의 방법을 수행하는 워크플로우 관리자(120)에 워크플로우 디스크립션을 제공하는 NBMP 소스 엔티티(110)에서 구현될 수 있다.
네트워크-기반 미디어 프로세싱을 위한 워크플로우 디스크립션이 생성된다(300). 워크플로우 태스크 최적화 정보 엘리먼트는 워크플로우 디스크립션에 포함된다(310). 워크플로우 태스크 최적화 정보 엘리먼트는, 워크플로우 디스크립션에 기초하여 생성된 워크플로우를 최적화하기 위한 워크플로우 태스크 수정을 수행하기 위한 하나 이상의 파라미터들을 정의한다. 워크플로우 태스크 최적화 정보 엘리먼트를 포함하는 워크플로우 디스크립션은 소스 엔티티로부터 워크플로우 관리자로 전송된다(320).
블록(300) 이전에, NBMP 소스(110)는 기능 저장소(130)를 접속하여 기능 저장소로부터의 기능 사양 데이터를 수신할 수 있다. 워크플로우 디스크립션은, 수신된 기능 사양 데이터에 기반하여, 블록(300)에서, 정의되거나 생성될 수 있다.
도 4는 도 2의 방법을 수행하도록 구성된 장치, 이를테면 워크플로우 관리자(120)에 대한 추가적인 특징들을 예시한다.
미디어 프로세싱에 대한 요청 및 워크플로우 디스크립션이 NBMP 소스(110)로부터 수신되는 경우, 워크플로우 관리자(120)가 기능 저장소(130)에 접속한다(400). 따라서, 워크플로우 관리자는 요청을 이행할 수 있는 모든 기능들의 리스트를 찾기 위해 기능 저장소를 스캔할 수 있다. 블록(410)에서, 워크플로우 디스크립션에 기반하는 하나 이상의 미디어 프로세싱 태스크들에 대한 기능 사양 데이터가 수신된다.
NBMP 태스크들은 수신된 미디어 프로세싱 기능 사양 데이터(및 워크플로우 디스크립션)에 기초하여 정의된다(420). 따라서, NBMP 소스(110)로부터의 워크플로우 디스크립션을 사용하여, 워크플로우 관리자(120)는 워크플로우 디스크립션을 충족시키기 위해 기능 저장소로부터 어느 기능들이 선택될 필요가 있는지를 검출하도록 체크될 수 있다. 이 체크는, NBMP 소스로부터의 미디어 프로세싱을 위한 정보, 이를테면, 입력 및 출력 디스크립션, 요청된 미디어 프로세싱의 디스크립션; 및 기능 디렉토리의 각각의 기능에 대한 상이한 디스크립터들에 의존할 수 있다. 요청(들)은 워크플로우에 포함될 적절한 미디어 프로세싱 태스크들에 맵핑된다. 워크플로우에 포함되도록 요구되는 기능들이 기능 저장소를 사용하여 식별되면, 그 다음 단계는, 이 기능들을 태스크들로서 실행하고 그러한 태스크들이 워크플로우에 부가될 수 있도록 그 태스크들을 구성하는 것이다.
일단 요구되는 태스크들이 (예를 들어, 태스크 리스트로서) 정의되면, 워크플로우 DAG는 정의된 태스크들에 기초하여 생성될 수 있다(430). 워크플로우 태스크 최적화는, 블록(440)에서, 최적화 IE에 기초하여 수행된다. (최적화된) 워크플로우의 태스크들은 선택된 MPE들에 전개될 수 있다(450).
따라서, 워크플로우 관리자(120)는 태스크들에 필요한 자원들을 계산한 다음, 블록(450)에서, 인프라구조 제공자(들)로부터 선택된 MPE(들)(140)에 대해 적용할 수 있다. 할당된 MPE들의 수 및 이들의 능력들은 워크플로우 및 태스크들의 총 추정된 자원 요건에 기반할 수 있으며, 실제로는 일부 오버-프로비저닝 능력들이 있다. 실제 배치는, 클라우드 시스템 플랫폼에 상주할 수 있는 클라우드 오케스트레이터에 의해 수행될 수 있다.
워크플로우 정보를 사용하여, 워크플로우 관리자는, 구성 데이터를 추출하고 그리고 일단 워크플로우가 최종이면, 선택된 태스크들을 구성할 수 있다. 이러한 태스크들의 구성은 그러한 태스크들에 의해 지원되는 태스크 API를 사용하여 수행될 수 있다. NBMP 소스 엔티티(110)는 추가로, 워크플로우가 준비되었고 미디어 프로세싱이 시작될 수 있다는 것을 통지받을 수 있다. 그런 다음, NBMP 소스(들)(110)는 프로세싱을 위해 자신들의 미디어를 네트워크에 송신하기 시작할 수 있다.
일부 실시예들에서, NBMP 워크플로우 관리자(120)는, 태스크마다 최소 및 최대 MPE 요건들을 포함하는 MPE 애플리케이션 테이블을 생성할 수 있고, 그리고 MPE 할당을 위해 테이블(또는 이의 일부)을 클라우드 인프라구조/오케스트레이터에 전송한다.
일부 실시예들에서, 도 4에 추가로 예시된 바와 같이, MPE(들) 중 하나 이상으로부터, 그들의 전개된 태스크(들)에 관한 응답(들)이 수신될 수 있다(460). 응답은 태스크(들)의 전개에 관한 정보를 포함할 수 있다. 예시적인 실시예에서, 응답은 태스크 구성 API의 태스크 생성 요청(create task request)에 대한 응답 파라미터들을 포함한다.
그런 다음, 워크플로우 관리자(120)는 MPE 응답(들)을 분석(470)할 수 있는데, 예를 들어, MPE 및 태스크(들)를 적절하게 이행하기 위한 그의 능력을 평가할 수 있다. 필요한 경우, 워크플로우 관리자는, 미디어 프로세싱 엔티티들 및 최적화 IE의 평가에 기초하여 워크플로우 태스크 재-수정을 야기시킬 수 있다(480).
응답(들)(460)시에, 워크플로우 관리자(120)는 워크플로우를 재-최적화(480)할 수 있고 상이한 워크플로우 DAG를 초래할 수 있다. 프로세스는, 워크플로우 관리자가 최적의 또는 용인가능한 워크플로우를 검출할 때까지, 반복될 수 있다.
재귀적 워크플로우 생성 및 최적화 대신에, 병렬 워크플로우 생성 및 최적화를 적용하는 것이 가능하며, 여기서 블록들(430 내지 470) 중 적어도 일부는 복수의 워크플로우 후보들에 대해 수행될 수 있다. 마지막으로, 후보들 중 하나는 최종 전개를 위해 워크플로우 관리자에 의해 선택된다.
워크플로우 관리자(120)에 의해 생성되고(430) 최적화된(440) 워크플로우는 DAG를 사용하여 표현될 수 있다. DAG의 각각의 노드는 워크플로우의 프로세싱 태스크를 표현한다. 그래프에서 하나의 노드를 다른 노드에 접속하는 링크들은, 전자(former)의 출력을 후자(later)에 대한 입력으로서 전송하는 것을 표현한다. 태스크에 대한 입력 및 출력 포트들에 대한 세부사항들은 태스크의 일반 디스크립터에서 제공될 수 있다.
태스크 접속 맵 파라미터는 DAG 에지들을 정적으로 설명하기 위해 적용될 수 있으며, 판독/기록 속성이다. 태스크 접속 맵은, 플레이스 홀더(placeholder)를 제공하고 태스크 최적화 IE들에 대한 파라미터들을 표시할 수 있다. 추가로, 태스크 세트로 지칭될 수 있는 태스크 식별자들의 리스트가 존재할 수 있다. 태스크 세트는, 태스크 인스턴스들, 및 NBMP 기능들과 그들의 관계를 정의할 수 있고, 그리고 워크플로우 API를 통해 관리되는 태스크 디스크립터 자원들에 대한 참조들을 포함할 수 있다.
도 5는 WDD(102)를 예시한다. WDD는, 기능적인 것들(예를 들어, 입력/출력/프로세싱)로부터 비-기능적인 것들(예를 들어, 요건들)까지 다수의 디스크립터들(510, 520, 530)을 포함하는 키 데이터 구조들을 갖는 매니페스트 또는 컨테이너 파일일 수 있다. WDD(102)는, 세트의 디스크립터들(510, 520, 530)에 의한 워크플로우에 대한 입력 및 출력 데이터, 요구되는 기능들, 요건들 등과 같은 세부사항들을 설명한다. 예를 들어, WDD는 일반 디스크립터, 입력 디스크립터, 출력 디스크립터, 프로세싱 디스크립터, 요건(들) 디스크립터(520), 클라이언트 보조 디스크립터, 장애 복구(failover) 디스크립터, 모니터링 디스크립터, 어설션(assertion) 디스크립터, 보고 디스크립터, 및 통지 디스크립터 중 적어도 일부를 포함할 수 있다.
최적화 정보 엘리먼트는 독립적인 디스크립터일 수 있거나, 또는 다른 디스크립터와 결합되거나 또는 다른 디스크립터에 포함될 수 있다. 일부 실시예들에서, 최적화 정보 엘리먼트는 WDD(102)의 요건 디스크립터(520)의 일부(522)로서 포함된다. 워크플로우 최적화 정보 엘리먼트는 WDD(102)의 프로세싱 및/또는 전개 요건들 또는 그의 요건 디스크립터(520)의 일부로서 포함될 수 있다. 워크플로우 디스크립션 및 워크플로우 태스크 최적화 정보 엘리먼트는, 예를 들어, 자바스크립트 객체 표기법(JSON: JavaScript Object Notation) 또는 확장가능 마크업 언어(XML: Extensible Markup Language)로 인코딩될 수 있다.
도 5는 또한, 개별적인 NBMP 태스크들(142)이 WDD(102)에 기초하여 생성되는 것을 예시한다. NBMP 태스크들(142)은 (기능 저장소(130)로부터의) NBMP 기능 템플릿들의 인스턴스들이며, 이는, 또한 WDD에 적용된 디스크립터들 중 일부로부터의 동일한 신택스 및 시맨틱들을 재사용하고 공유할 수 있다.
각각의 태스크의 전개 요건들과 같은 요건 디스크립터(520)에 기초하여, 하나 이상의 MPE(들)이 선택될 수 있고, 하나 이상의 MPE들(140)을 수반하는 워크플로우 DAG가 생성될 수 있다. 도 5의 간단한 예에서, 태스크들(T1 및 T2)은 제1 MPE1(140a)에 의해 전개되고, 후속 태스크들(T3 및 T4)은 제2 MPE2(140b)에 의해 전개된다.
도 6은, NBMP 소스(110)로부터 사용자 장비(미디어 싱크일 수 있음)(600)로의 태스크들(T1-T8)을 포함하는 미디어 프로세싱 워크플로우를 예시하는 다른 예를 제공한다. 태스크들 중 일부는 (중앙) 클라우드 시스템에 할당된 반면, 다른 태스크들은 모바일 에지 컴퓨팅 클라우드 시스템에 의해 수행된다.
일부 실시예들에서, 워크플로우 태스크 최적화 정보 엘리먼트는, NBMP 시스템 태스크들이 워크플로우에 부가되고 그리고/또는 워크플로우로부터 제거될 수 있는지를 정의한다. 태스크 배치는 워크플로우 최적화 정보 엘리먼트의 요건들에 기반하여 워크플로우 관리자에 의해 최적화될 수 있다. 워크플로우 작업 수정(220)은, WDD(102)에 의해 할당된 2개의 태스크들 사이에서, 필요할 때, 일부 지원 태스크들, 이를테면 버퍼링 및 미디어 콘텐츠 트랜스코딩 태스크들을 동적으로 부가 및/또는 제거하는 것을 포함할 수 있다. 그러한 태스크들이 상이한 호스트들에서 실행되는 상이한 MPE들에서 전개되도록 계획되는 경우, 워크플로우 관리자(120)는, 재구성된 태스크 커넥터들을 사용하여 워크플로우 그래프를 결정하고 재구성할 필요가 있을 수 있다. 워크플로우 관리자는 추가로, 예를 들어, MPE들에 대한 적절한 태스크 생성 API에 의해 적당한 소켓-기반 네트워킹 컴포넌트들을 결정하고 구성할 필요가 있을 수 있다.
일 실시예에서, 정책들은, 필요할 때, 워크플로우 최적화 정보 엘리먼트에서, 네스트형 계층 노드(nested hierarchical node)들을 갖는 키-값 구조 또는 트리로서 표현될 수 있다. 일 실시예에서, NBMP 워크플로우 및 태스크들의 계층은 전개 요건들의 유사한 구조를 반영할 수 있다. 즉, 워크플로우 레벨에서의 요건들은 워크플로우의 모든 태스크들에 적용가능할 수 있다. 개별 태스크들의 요건들은, 충돌 요건들이 발생하는 경우, 워크플로우-레벨 요건들을 무시(override)할 수 있다.
일부 실시예들에서, 워크플로우 태스크 최적화 정보 엘리먼트는 미디어 프로세싱 태스크 향상 또는 태스크 향상 정책을 표시한다. 태스크 향상은, 블록(220 및 440)에서 수행될 수 있고 그리고 워크플로우를 최적화하기 위해, 태스크 향상 분석의 결과로서 하나 이상의 태스크들을 수정 및/또는 부가하는 것을 포함할 수 있다. 태스크 향상 분석은, 워크플로우의 하나 이상의 태스크들에 대해 하나 이상의 태스크 향상 액션들이 수행될 필요가 있는지를 평가하는 것을 포함할 수 있고 그리고 추가로, 요구되는 태스크 향상 액션들 및 이들에 대한 추가 제어 정보를 정의하는 것을 포함할 수 있다. 태스크 향상 정보 엘리먼트는, 워크플로우 또는 태스크의 입력 및/또는 출력이 미디어 트랜스코딩, 동기화를 위한 미디어 전송 버퍼링, 또는 상이한 네트워크들을 통해 데이터를 스트리밍하기 위한 태스크들 전송과 같은 시스템-제공 내장 태스크(system-provided built-in task)들로 수정 또는 향상될 수 있는지를 표시할 수 있다.
예를 들어, 태스크 향상은 태스크의 입력 포트의 재구성, 태스크의 출력 포트의 재구성, 및 태스크의 프로토콜의 재구성 중 하나 이상을 포함할 수 있다. 그러한 재구성은 워크플로우에 대한 부가적인 태스크(들)의 주입을 요구할 수 있다.
워크플로우 태스크 최적화 IE에서의 태스크 향상 정보는, 태스크들의 향상이 인에이블링되는지 여부, 및/또는 태스크 향상을 위한 추가적인 파라미터들을 표시할 수 있다. 일 예시적인 실시예에서, 태스크 향상 정보는, 이를테면, 요건 디스크립터의 프로세싱 요건들에서, 예를 들어 태스크 또는 워크플로우 요건들로서, 요건 디스크립터(520)에 IE(522)로서 포함된다. 워크플로우 관리자(120)는, 태스크 향상 IE에 기반하여, 태스크 향상이 허용됨을 검출하는 것에 대한 응답으로, 태스크 향상 기회들을 검출하기 위해 (초기) 워크플로우를 분석하도록 구성될 수 있다.
태스크 향상은 태스크 융합에 대한 반전된 접근법을 표현할 수 있다. 워크플로우 관리자는, 예를 들어, AI/머신 러닝 태스크들을 위한 전용 하드웨어 가속 환경들을 이용하여, 보장된 서비스 품질을 위해 상이한/전용 MPE들에 태스크들을 배치하도록 구성될 수 있다.
일부 실시예들에서, 태스크 향상은 워크플로우 관리자(120)에 의해 부가된 하기의 새로운 특징들 및 태스크들 중 적어도 일부를 포함하거나 이를 인에이블링할 수 있다:
- 자동 네트워크 스트리밍 전송자 및 수신자 태스크들: 클라우드 제공자에 의해 최종 태스크 배치가 확인되고 MPE 정보가 클라우드 인프라구조로부터 워크플로우 관리자로 다시 통신된 후에, 워크플로우 관리자에 의해 접속이 구성될 수 있다;
- 하나의 MPE에서 2개의 태스크들 사이의 데이터 전송이 로컬에서 네트워크-기반으로 변경될 때 필요할 수 있는 자동 미디어 콘텐츠 인코딩 및 디코딩. 전형적으로, 미디어 데이터가 또한 원시 비트스트림들 대신 압축되어야 한다. 그러한 인코딩 및 디코딩 포맷들(예를 들어, H264 AVC 또는 H265 HEVC)은 워크플로우 관리자에 의해 투명한 방식으로 자동적으로 결정될 수 있다. 대안적으로, 특정 압축 또는 암호화 방법들의 사용이 WDD에서 제공될 수 있다.
도 7은 초기 단순화된 예시적인 워크플로우(700)에 대한 태스크 향상을 예시한다. 초기 워크플로우는, 예를 들어, 중앙 클라우드 시스템에 할당될 수 있는, 출력 포트(700)를 갖는 태스크(T1) 및 입력 포트(702)를 갖는 태스크(T2)를 포함한다. 워크플로우 태스크 최적화 IE에 기초하여, 워크플로우 관리자(120)는 태스크 향상이 인에이블링됨을 검출한다. 초기 워크플로우의 태스크 향상 분석에 기반하여, 워크플로우 관리자(120)는 태스크(T1)가 에지 클라우드에 의해 대신 수행되어야 함을 검출한다.
워크플로우 태스크 수정(220) 이후, 결과적인 워크플로우는 실질적으로 상이하다; 이는 에지 클라우드 MPE에 의해 수행되는 제1 부분 및 중앙 클라우드 MPE에 의해 수행되는 제2 부분을 포함한다. 이를 가능하게 하기 위해, 개개의 입력 포트들(704, 716) 및 출력 포트들(706, 718)을 갖는, 새로운 인코딩 태스크(ET) 및 새로운 디코딩 태스크(DT)가 부가된다. 예를 들어, ET는 H.265 인코더 및 페이로더 태스크 및 DT 언패커(unpacker) 및 H.265 디코더 태스크를 포함할 수 있다. 추가로, 적절한 송신 태스크(들)가 부가될 필요가 있을 수 있다. 예를 들어, 개개의 입력 포트들(708, 712) 및 출력 포트들(710, 714)을 갖는, 새로운 전송 계층 서버(예를 들어, TCP 서버 싱크) 태스크(ST) 및 전송 계층 클라이언트(예를 들어, TCP 클라이언트) 태스크(CT)가 부가된다.
일부 실시예들에서, 태스크 향상은 태스크 세분(task splitting)을 포함할 수 있으며, 이는 초기 태스크를 2개 이상의 태스크들로 분할(dividing)하는 것을 지칭할 수 있다. 대안적으로, 태스크 세분은 독립적인 최적화 방법이며, 예를 들어, 태스크 향상 정보에 대해 위에서 예시된 바와 유사하게, WDD(102)에 특정 IE로서 포함될 수 있다.
일부 실시예들에서, 워크플로우 태스크 최적화 IE는 미디어 프로세싱 태스크 융합 또는 태스크 융합 정책을 표시한다. 태스크 융합은, 블록(220 및 440)에서 수행될 수 있고 그리고 워크플로우를 최적화하기 위해, 태스크 융합 분석의 결과로서 하나 이상의 태스크들을 제거 및/또는 결합하는 것을 포함할 수 있다. 태스크 융합 분석은, 워크플로우의 하나 이상의 태스크들에 대해 하나 이상의 태스크 융합 액션들이 수행될 필요가 있는지를 평가하는 것을 포함할 수 있고 그리고 추가로, 요구되는 태스크 융합 액션들 및 이들에 대한 추가 제어 정보를 정의하는 것을 포함할 수 있다. 워크플로우 태스크 최적화 IE에서의 태스크 융합 정보는, 태스크들의 융합이 인에이블링되는지 여부, 및/또는 태스크 융합을 위한 추가적인 파라미터들을 표시할 수 있다. 일 예시적인 실시예에서, 태스크 융합 정보는, 이를테면, 요건 디스크립터의 프로세싱 요건들에서, 예를 들어 태스크 또는 워크플로우 요건들로서, 요건 디스크립터(520)에 IE(522)로서 포함된다. 워크플로우 관리자(120)는, 태스크 최적화 IE에 기반하여, 태스크 융합이 허용됨을 검출하는 것에 대한 응답으로, 태스크 융합 기회들을 검출하기 위해 (초기) 워크플로우를 분석하도록 구성될 수 있다. 태스크 융합은, 불필요한 미디어 트랜스코딩 및/또는 네트워크 전송 태스크들을 제거하여 더 나은 성능(예를 들어, 레이턴시 감소 및 대역폭 및 처리량 향상)을 얻는 것을 가능하게 한다.
도 8은 초기 단순화된 예시적인 워크플로우(800)에 대한 태스크 융합을 예시한다. 초기 워크플로우는 미디어 스트림의 인코딩을 수반하는 태스크(TE) 및 미디어 스트림의 디코딩을 수반하는 후속 태스크(TD)를 포함한다. 예를 들어, 태스크들(TE 및 TD)은 H264 인코딩 및 디코딩을 수반할 수 있고, 상이한 MPE들에서 수행되도록 정의될 수 있다. 워크플로우 태스크 최적화 IE에 기초하여, 워크플로우 관리자(120)는 태스크 융합이 인에이블링됨을 검출한다. 초기 워크플로우(800)의 태스크 융합 분석에 기반하여, 워크플로우 관리자(120)는 태스크들(TE 및 TD)이 불필요하고 제거될 수 있음을 검출한다. 그에 따라, 워크플로우는 워크플로우 태스크 수정(220)의 결과로서 업데이트되고, 결과적인 워크플로우(810)가 전개될 수 있다.
태스크 융합은 하드웨어 가속 MPE들(예를 들어, 고속 미디어 프로세싱 또는 AI/ML 트레이닝 및 추론 태스크들을 위한 GPU-전력공급 MPE들)과 같은 전용 MPE들에서 수행될 수 있다. 그러한 특수한 MPE들은 일반적으로 고정되어 있고 사전-프로비저닝된다. 다른 접근법은, 미디어 프로세싱 기능이, "기능 그룹(Function group)"으로 지칭될 수 있는 개념인 기능들의 그룹으로 구성되는 것이다. 기능 그룹은 부분적 또는 서브-DAG로서 구성될 수 있다. 워크플로우 관리자는 기능 그룹에 대해 정의된 모든 기능들을 거치고 최종 워크플로우 DAG를 판단할 수 있다. 태스크 융합은 더 세밀한 전개 제어를 갖도록 정의될 수 있는 저레벨 프로세싱 태스크들에 기초하여 수행될 수 있다. 고레벨 미디어 프로세싱 태스크들은 융합되기가 더 어려울 수 있지만, 관련 동작 로직이 다른 저레벨 프로세싱 태스크들에 의해 재정의될 수 있는 한 여전히 가능할 수 있다.
일부 실시예들에서, WDD(102)는 미디어 프로세싱 태스크 그룹화 정보를 포함한다. 태스크 그룹화 정보에 기초하여, 워크플로우 관리자(120)는 워크플로우의 2개 이상의 태스크들을 함께 그룹화할 수 있다. 예를 들어, 도 6에서, 태스크들(T1 내지 T4)은 태스크 그룹화 정보에 기초하여 그룹화되고(610), 단일 MPE에 전개되도록 제어될 수 있다. 태스크 그룹화 정보는, 태스크들의 그룹화가 인에이블링되는지 여부, 및/또는 태스크 그룹화를 위한 추가적인 파라미터들, 이를테면 로직 그룹 이름(들)을 표시할 수 있다. 일 예시적인 실시예에서, 태스크 그룹화 정보는, 이를테면, 요건 디스크립터의 프로세싱 요건들에서, 예를 들어 전개 요건들로서, 요건 디스크립터(520)에 포함된다.
일부 실시예들에서, WDD(102)는 워크플로우의 하나 이상의 미디어 프로세싱 태스크들의 배치를 제어하기 위한 위치 정책 정보(location policy information)를 포함한다. 위치 정책 정보는, 하나 이상의 미디어 프로세싱 태스크들 각각에 대한 다음의 세트들의 위치들: 금지된 위치들, 허용된 위치들 및/또는 선호되는 위치들 중 적어도 하나를 포함할 수 있다. 따라서, 예를 들어, 특정 국가들 또는 네트워크들에 대한 미디어 프로세싱 태스크들의 할당이 회피되거나 보장될 수 있다. 위치 정책 정보는 지리적 데이터 센터(들) 또는 로직 위치(들)와 같은 미디어-소스 정의 위치 선호도(media-source defined location preference)를 포함할 수 있다. 일 예시적인 실시예에서, 위치 정책 정보는, 이를테면, 요건 디스크립터의 프로세싱 요건들에서, 예를 들어 전개 요건들로서, 요건 디스크립터(520)에 포함된다.
일부 실시예들에서, 워크플로우 디스크립션은, 미디어 프로세싱 태스크들 및/또는 미디어 프로세싱 엔티티들에 대한 배치 선호도를 표시하는 태스크 친화도(affinity) 및/또는 반-친화도(anti-affinity) 정보를 포함한다.
태스크 친화도 정보는 연관된 태스크들에 대한 배치 선호도를 표시할 수 있다. 태스크 반-친화도 정보는, 동일한 MPE에서 함께 있지 않아야 하는 그러한 태스크들에 대한 배치 선호도를 표시할 수 있다. 예를 들어, 2개의 컴퓨팅 헝그리 태스크(computing hungry task)들은 동일한 MPE에서 스케줄링 및 실행되지 않아야 한다. 다른 예에서, 친화도 정보는, 상이한 워크플로우들로부터의 태스크들이 하나의 MPE를 공유하지 않아야 한다는 것 등을 특정할 수 있다.
실시예에서, 워크플로우 디스크립션은 MPE 친화도 및/또는 반-친화도 정보를 포함하며, 이는 (태스크들 대신) MPE들에 대한 (반-)친화도 제어들을 특정할 수 있다.
일 예시적인 실시예에서, 친화도 및/또는 반-친화도 정보는, 이를테면, 요건 디스크립터의 프로세싱 요건들에서, 예를 들어 전개 요건들로서, 요건 디스크립터(520)에 포함된다.
부록 1은, 태스크/워크플로우 요건들, 전개 요건들, 및 또한 QoS 요건들을 포함하는, 정보 엘리먼트들 및 연관된 파라미터들의 예시적인 차트이다. 예를 들어, 태스크/워크플로우 요건들 및/또는 전개 요건들은 WDD(102)의 요건 디스크립터의 프로세싱 요건들에 포함될 수 있다. 부록 1에 예시된 파라미터들 중 적어도 일부는 위에서 예시된 실시예들 중 적어도 일부를 적용함으로써 워크플로우 디스크립션에 적용될 수 있다는 것이 인지되어야 한다.
위의 실시예들은 워크플로우 요건들 및 워크플로우 최적화 정보 엘리먼트를 NBMP 시그널링 및 WDD(102)에 통합하기 위한 이용가능한 옵션들의 일부 예들만을 예시하며, 다양한 다른 배치 및 명명 옵션들이 사용될 수 있다는 것이 인지되어야 한다.
전자 회로부들을 포함하는 전자 디바이스는 본 발명의 적어도 일부 실시예들을 실현하기 위한 장치일 수 있다. 장치는, 컴퓨터, 네트워크 서버, 셀룰러 폰, M2M(machine to machine) 디바이스(예를 들어, IoT 센서 디바이스), 또는 통신 능력이 제공된 임의의 다른 네트워크 또는 컴퓨팅 장치일 수 있거나 또는 그에 포함될 수 있다. 다른 실시예에서, 위에서 설명된 기능들을 수행하는 장치가 그러한 디바이스에 포함되는데, 예를 들면, 장치는, 위에서 설명된 디바이스들 중 임의의 하나에, 회로부, 이를테면 칩, 칩셋, 마이크로제어기, 또는 이러한 회로부들의 조합을 포함할 수 있다.
본 출원에서 사용되는 바와 같이, "회로부(circuitry)"라는 용어는, 하기의 것들 중 하나 이상 또는 전부를 지칭할 수 있다:
(a) 하드웨어-전용 회로 구현들(이를테면, 아날로그 및/또는 디지털 회로부만의 구현들) 및
(b) 하드웨어 회로들과 소프트웨어의 조합들, 이를테면, (적용가능하다면) :
(i) 아날로그 및/또는 디지털 하드웨어 회로(들)와 소프트웨어/펌웨어의 조합, 및
(ii) 장치(이를테면, 모바일 폰 또는 서버)로 하여금 다양한 기능들을 수행하게 하기 위해 함께 작동하는, 메모리(들), 소프트웨어, 및 (디지털 신호 프로세서(들)를 포함하여) 소프트웨어를 갖는 하드웨어 프로세서(들) 중 임의의 부분들, 그리고
(c) 동작을 위해 소프트웨어(예를 들어, 펌웨어)가 요구되지만, 동작에 필요하지 않은 경우 소프트웨어는 존재하지 않을 수 있는, 마이크로프로세서(들) 또는 마이크로프로세서(들)의 일부와 같은 프로세서(들) 및/또는 하드웨어 회로(들). 회로부의 이러한 정의는, 임의의 청구항들을 포함하여, 본 출원에서의 이러한 용어의 모든 사용들에 적용된다. 추가적인 예로서, 본 출원에서 사용되는 바와 같이, 회로부라는 용어는 또한, 단지 하드웨어 회로 또는 프로세서 (또는 다수의 프로세서들) 또는 하드웨어 회로 또는 프로세서의 일부 및 그의(또는 그들의) 동반 소프트웨어 및/또는 펌웨어의 구현을 커버한다. 회로부라는 용어는 또한, 예를 들어 그리고 특정 청구항 엘리먼트에 적용가능하다면, 모바일 디바이스를 위한 기저대역 집적 회로 또는 프로세서 집적 회로, 또는 서버, 셀룰러 네트워크 디바이스, 또는 다른 컴퓨팅 또는 네트워크 디바이스 내의 유사한 집적 회로를 커버한다.
도 9는 본 발명의 적어도 일부 실시예들을 지원할 수 있는 예시적인 장치를 예시한다. 네트워크 기반 미디어 프로세싱을 제어하도록 구성된 통신 디바이스를 포함할 수 있는 디바이스(900)가 예시된다. 디바이스는 위에서 예시된 실시예들 중 적어도 일부, 이를테면 도 2 내지 도 8과 관련하여 위에서 예시된 특징들 중 일부 또는 그 초과에 따른 동작들을 수행하도록 구성된 하나 이상의 제어기들을 포함할 수 있다. 예를 들어, 디바이스(900)는 도면의 방법을 수행하는 워크플로우 관리자 또는 NBMP 소스로서 동작하도록 구성될 수 있다.
예를 들어, 단일-코어 프로세서 또는 멀티-코어 프로세서를 포함할 수 있는 프로세서(902)가 디바이스(900)에 포함되며, 여기서 단일-코어 프로세서는 하나의 프로세싱 코어를 포함하고, 멀티-코어 프로세서는 2개 이상의 프로세싱 코어를 포함한다. 프로세서(902)는 2개 이상의 프로세서를 포함할 수 있다. 프로세서는 적어도 하나의 주문형 집적 회로(ASIC)를 포함할 수 있다. 프로세서는 적어도 하나의 FPGA(field-programmable gate array)를 포함할 수 있다. 프로세서는 디바이스에서 방법 단계들을 수행하기 위한 수단일 수 있다. 프로세서는, 액션들을 수행하도록, 컴퓨터 명령들에 의해 적어도 부분적으로 구성될 수 있다.
디바이스(900)는 메모리(904)를 포함할 수 있다. 메모리는 랜덤 액세스 메모리 및/또는 영구 메모리를 포함할 수 있다. 메모리는 적어도 하나의 RAM 칩을 포함할 수 있다. 메모리는, 예를 들어, 고체-상태, 자기, 광학 및/또는 홀로그래픽 메모리를 포함할 수 있다. 메모리는 프로세서(902)에 적어도 부분적으로 포함될 수 있다. 메모리(904)는 정보를 저장하기 위한 수단일 수 있다. 메모리는, 프로세서가 실행하도록 구성된 컴퓨터 명령들을 포함할 수 있다. 프로세서로 하여금 특정 액션들을 수행하게 하도록 구성된 컴퓨터 명령들이 메모리에 저장되고, 디바이스가 전체적으로 메모리로부터의 컴퓨터 명령들을 사용하여 프로세서의 지시(direction)하에서 실행되도록 구성되는 경우, 프로세서 및/또는 그의 적어도 하나의 프로세싱 코어는 상기 특정 액션들을 수행하도록 구성되는 것으로 고려될 수 있다. 메모리는 프로세서에 적어도 부분적으로 포함될 수 있다. 메모리는 적어도 부분적으로 디바이스(900) 외부에 있지만 디바이스가 액세스할 수 있다. 예를 들어, 네트워크 기반 미디어 프로세싱 워크플로우 제어와 관련된 동작들에 영향을 미치는 제어 파라미터들은 메모리의 하나 이상의 부분들에 저장되고 장치의 동작을 제어하는 데 사용될 수 있다. 추가로, 메모리는 디바이스(900)의 비밀 및 공개 키와 같은 디바이스-특정 암호표기(cryptographic) 정보를 포함할 수 있다.
디바이스(900)는 송신기(906)를 포함할 수 있다. 디바이스는 수신기(908)를 포함할 수 있다. 송신기 및 수신기는, 각각, 적어도 하나의 셀룰러 또는 비-셀룰러 표준에 따라 정보를 송신 및 수신하도록 구성될 수 있다. 송신기는 2개 이상의 송신기를 포함할 수 있다. 수신기는 2개 이상의 수신기를 포함할 수 있다. 송신기 및/또는 수신기는, 예를 들어, 모바일 통신을 위한 글로벌 시스템(GSM), 광대역 코드 분할 다중 액세스(WCDMA), 롱 텀 에볼루션(LTE), 3GPP N-RAT(new radio access technology), IS-95, 무선 근거리 통신망(WLAN), 및/또는 이더넷 표준들에 따라 동작하도록 구성될 수 있다. 디바이스(900)는 NFC(near-field communication) 트랜시버(910)를 포함할 수 있다. NFC 트랜시버는 적어도 하나의 NFC 기술, 이를테면 NFC, 블루투스, Wibree 또는 유사한 기술들을 지원할 수 있다.
디바이스(900)는 사용자 인터페이스(UI)(912)를 포함할 수 있다. UI는 디스플레이, 키보드, 터치 스크린, 디바이스로 하여금 진동하게 함으로써 사용자에게 시그널링하도록 배열된 진동기, 스피커 및 마이크로폰 중 적어도 하나를 포함할 수 있다. 사용자는, UI를 통해 디바이스를 동작시키는 것, 예를 들어 착신 전화 통화들을 받는 것, 전화 통화들 또는 영상 통화(video call)들을 발신하는 것, 인터넷을 브라우징하고, 미디어 프로세싱 동작들을 야기시키고 제어하는 것, 그리고/또는 메모리(904) 내에, 또는 송신기(906) 및 수신기(908)를 통해 또는 NFC 트랜시버(910)를 통해 액세스가능한 클라우드 상에 저장된 디지털 파일들을 관리하는 것이 가능할 수 있다.
디바이스(900)는 사용자 아이덴티티 모듈(914)을 포함하거나 또는 이를 수용하도록 배열될 수 있다. 사용자 아이덴티티 모듈은, 예를 들어, 디바이스(900)에 설치가능한 가입자 아이덴티티 모듈(SIM) 카드를 포함할 수 있다. 사용자 아이덴티티 모듈(914)은 디바이스(900)의 사용자 가입을 식별하는 정보를 포함할 수 있다. 사용자 아이덴티티 모듈(914)은, 디바이스(900)의 사용자의 아이덴티티를 검증하고 그리고/또는 디바이스(900)를 통해 실시되는 통신을 위한 통신된 미디어 및/또는 메타데이터 정보의 암호화를 가능하게 하기 위해 사용가능한 암호표기 정보를 포함할 수 있다.
프로세서(902)에는, 프로세서로부터, 디바이스(900) 내부의 전기 리드(lead)들을 통해, 디바이스에 포함된 다른 디바이스들로 정보를 출력하도록 배열된 송신기가 갖춰질 수 있다. 그러한 송신기는, 예를 들어, 내부에 저장하기 위해 메모리(904)로의 적어도 하나의 전기 리드를 통해 정보를 출력하도록 배열된 직렬 버스 송신기를 포함할 수 있다. 직렬 버스에 대해 대안적으로, 송신기는 병렬 버스 송신기를 포함할 수 있다. 마찬가지로, 프로세서는 디바이스(900)에 포함된 다른 디바이스들로부터, 디바이스(900) 내부의 전기 리드들을 통해 프로세서 내의 정보를 수신하도록 배열된 수신기를 포함할 수 있다. 그러한 수신기는, 예를 들어 프로세서에서의 프로세싱을 위해 수신기(908)로부터 적어도 하나의 전기 리드를 통해 정보를 수신하도록 배열된 직렬 버스 수신기를 포함할 수 있다. 직렬 버스에 대해 대안적으로, 수신기는 병렬 버스 수신기를 포함할 수 있다.
디바이스(900)는 도 9에 예시되지 않은 추가 디바이스들을 포함할 수 있다. 예를 들어, 디바이스는 적어도 하나의 디지털 카메라를 포함할 수 있다. 일부 디바이스들(900)은 후방(back-facing) 카메라 및 전방(front-facing) 카메라를 포함할 수 있다. 디바이스는 디바이스의 사용자를 적어도 부분적으로 인증하도록 배열된 지문 센서를 포함할 수 있다. 일부 실시예들에서, 디바이스에는 위에서 설명된 적어도 하나의 디바이스가 없다. 예를 들어, 일부 디바이스들은 NFC 트랜시버(910) 및/또는 사용자 아이덴티티 모듈(914)이 없을 수 있다.
프로세서(902), 메모리(904), 송신기(906), 수신기(908), NFC 트랜시버(910), UI(912) 및/또는 사용자 아이덴티티 모듈(914)은, 다수의 상이한 방식들로 디바이스(900) 내부의 전기 리드들에 의해 상호연결될 수 있다. 예를 들어, 전술된 디바이스들 각각은, 디바이스들이 정보를 교환할 수 있게 하기 위해, 디바이스 내부의 마스터 버스에 개별적으로 접속될 수 있다. 그러나, 당업자가 인식할 바와 같이, 이는 단지 하나의 예일 뿐이며, 실시예에 따라, 전술된 디바이스들 중 적어도 2개를 상호접속하는 다양한 방식들이 본 발명의 범위를 벗어남 없이 선택될 수 있다.
개시된 본 발명의 실시예들은 본원에 개시된 특정 구조들, 프로세스 단계들 또는 재료들로 제한되는 것이 아니라 관련 기술들의 당업자들에 의해 인식될 바와 같이 이들의 균등물들로 확장되는 것을 이해해야 한다. 본원에서 이용되는 용어는 오직 특정 실시예들을 설명하기 위한 목적으로 사용되며, 제한적인 것으로 의도되지 않음을 또한 이해해야 한다.
본 명세서 전반에 걸쳐 일 실시예 또는 실시예에 대한 참조는, 실시예와 관련하여 설명되는 특정 특징, 구조 또는 특성이 본 발명의 적어도 하나의 실시예에 포함되는 것을 의미한다. 따라서, 본 명세서 전반에 걸쳐 다양한 장소들에서 "일 실시예에서" 또는 "실시예에서"라는 어구들의 등장들은 반드시 모두 동일한 실시예를 참조하는 것은 아니다. 예를 들어, 약 또는 실질적으로와 같은 용어를 사용하여 수치 값이 참조되는 경우, 정확한 수치 값이 또한 개시된다.
본원에서 사용되는 바와 같이, 복수의 항목들, 구조적 엘리먼트들, 조성 엘리먼트들 및/또는 재료들은 편의를 위해 공통 리스트에 제시될 수 있다. 그러나, 이러한 리스트들은, 리스트의 각각의 멤버가 별개의 및 고유의 멤버로서 개별적으로 식별되는 것처럼 해석되어야 한다. 따라서, 이러한 리스트의 어떠한 개별적인 멤버도, 반대의 표시들이 없다면 공통 그룹에서 단지 이들의 제시에 기반하여 동일한 리스트의 임의의 다른 멤버와 사실상 등가인 것으로 해석되지 않아야 한다. 또한, 본 발명의 다양한 실시예들 및 예는 이들의 다양한 컴포넌트들에 대한 대안들과 함께 본원에서 참조될 수 있다.
또한, 설명된 특징들, 구조들 또는 특성들은 하나 이상의 실시예들에서 임의의 적절한 방식으로 조합될 수 있다. 이전 설명에서, 본 발명의 실시예들의 철저한 이해를 제공하기 위해, 길이들, 폭들, 형상들 등의 예들과 같은 다수의 특정 세부사항들이 제공된다. 그러나, 관련 분야의 당업자는, 본 발명이 특정 세부사항들 중 하나 이상 없이, 또는 다른 방법들, 컴포넌트들, 재료들 등으로 실시될 수 있음을 인식할 것이다. 다른 경우들에서, 본 발명의 양상들을 모호하게 하는 것을 회피하기 위해, 잘 알려진 구조들, 재료들 또는 동작들은 상세히 도시되거나 설명되지 않는다.
"포함하도록(to comprise, to include)"이라는 표현들은 본 문헌에서, 또한 인용되지 않은 특징들의 존재를 배제하는 것도 요구하지 않는 것도 아닌 개방적 제한들로서 사용된다. 종속항들에서 인용된 특징들은 달리 명시적으로 언급되지 않는 한 상호 자유롭게 조합가능하다. 또한, 단수 표현, 즉 단수 형태의 사용은 본 문헌 전반에 걸쳐 복수형을 배제하지 않음을 이해해야 한다.
부록 1 :

Claims (39)

  1. 네트워크 기반 미디어 프로세싱을 위한 장치로서,
    상기 장치는:
    소스 엔티티로부터, 네트워크 기반 미디어 프로세싱을 위한 워크플로우 디스크립션(workflow description)을 수신하는 것 ― 상기 워크플로우 디스크립션은:
    요청된 미디어 프로세싱을 표시하는 정보; 및
    미디어 태스크 융합(media task fusion)이 허용되는지 여부를 표시하는 하나 이상의 정책들을 포함하는 워크플로우 태스크 최적화 정보 엘리먼트를 포함함 ―;
    상기 워크플로우 디스크립션에 기초하여 워크플로우를 생성하는 것 ― 상기 워크플로우는 상기 요청된 미디어 프로세싱을 달성하기 위한 한 세트의 접속된 미디어 프로세싱 태스크들을 포함함 ―; 및
    미디어 태스크 융합이 허용된다고 결정하는 것에 대한 응답으로 상기 한 세트의 접속된 미디어 프로세싱 태스크들로부터의 하나 이상의 미디어 프로세싱 태스크들을 제거하거나 그리고/또는 결합함으로써, 상기 워크플로우 태스크 최적화 정보 엘리먼트에서의 하나 이상의 파라미터들에 기초하여, 상기 워크플로우를 최적화하기 위한 워크플로우 태스크 수정(workflow task modification)을 야기시키는 것
    을 수행하기 위한 수단들을 포함하는, 네트워크 기반 미디어 프로세싱을 위한 장치.
  2. 제1항에 있어서,
    상기 수단들은 추가로, 상기 워크플로우 태스크 수정 이후의 상기 워크플로우에 기초하여 워크플로우 관리자에 의해, 한 세트의 미디어 프로세싱 엔티티들에 의한 미디어 프로세싱 태스크들을 인스턴스화(instantiate)하기 위해 구성되는, 네트워크 기반 미디어 프로세싱을 위한 장치.
  3. 제2항에 있어서,
    상기 수단들은 추가로,
    상기 워크플로우 태스크 수정 이후의 상기 워크플로우에 기초하여 미디어 프로세싱 엔티티들을 선택하고; 그리고
    상기 선택된 미디어 프로세싱 엔티티들에 대한 상기 미디어 프로세싱 태스크들의 전개(deployment)를 야기시키기 위해 구성되는, 네트워크 기반 미디어 프로세싱을 위한 장치.
  4. 제3항에 있어서,
    상기 수단들은 추가로:
    하나 이상의 선택된 미디어 프로세싱 엔티티들로부터 하나 이상의 응답들을 수신하고;
    상기 응답들에 기초하여, 상기 선택된 미디어 프로세싱 엔티티들을 평가하고; 그리고
    상기 워크플로우 태스크 최적화 정보 엘리먼트 및 상기 미디어 프로세싱 엔티티들의 평가에 기초하여 워크플로우 태스크 재-수정(workflow task re-modification)을 야기시키기 위해 구성되는, 네트워크 기반 미디어 프로세싱을 위한 장치.
  5. 제1항 내지 제4항 중 어느 한 항에 있어서,
    상기 수단들은 추가로:
    상기 워크플로우 디스크립션을 수신하는 것에 대한 응답으로, 기능 저장소(function repository)에 접속하고;
    상기 기능 저장소로부터, 상기 워크플로우 디스크립션에 기반하는 하나 이상의 미디어 프로세싱 태스크들에 대한 미디어 프로세싱 기능 사양 데이터(media processing function specification data)를 수신하고;
    상기 미디어 프로세싱 기능 사양 데이터에 기초하여 하나 이상의 네트워크-기반 미디어 프로세싱 태스크들을 정의하고; 그리고
    상기 정의된 미디어 프로세싱 태스크들에 기초하여, 방향성 비순환 그래프(directed acyclic graph)로 표현가능한 워크플로우를 생성하기 위해 구성되는, 네트워크 기반 미디어 프로세싱을 위한 장치.
  6. 네트워크 기반 미디어 프로세싱을 위한 장치로서,
    상기 장치는:
    네트워크-기반 미디어 프로세싱을 위한 워크플로우 디스크립션을 생성하는 것;
    요청된 미디어 프로세싱을 표시하는 정보; 및
    상기 워크플로우 디스크립션에 기초하여 생성된 워크플로우를 최적화하기 위한 워크플로우 태스크 수정을 수행하기 위한 하나 이상의 파라미터들을 정의하는 워크플로우 태스크 최적화 정보 엘리먼트 ― 상기 하나 이상의 파라미터들은 미디어 태스크 융합이 허용되는지 여부의 표시를 포함하고 그리고 워크플로우 태스크 수정은 한 세트의 접속된 미디어 프로세싱 태스크들로부터의 하나 이상의 미디어 프로세싱 태스크들을 제거하거나 그리고/또는 결합하는 것을 포함함 ―
    를 상기 워크플로우 디스크립션에 포함시키는 것; 및
    상기 워크플로우 태스크 최적화 정보 엘리먼트를 포함하는 상기 워크플로우 디스크립션을 워크플로우 관리자에게 송신하는 것을 야기시키는 것
    을 수행하기 위한 수단들을 포함하는, 네트워크 기반 미디어 프로세싱을 위한 장치.
  7. 제6항에 있어서,
    상기 수단들은 추가로:
    기능 저장소로부터 기능 사양 데이터를 수신하고; 그리고
    상기 수신된 기능 사양 데이터에 기반하여 상기 워크플로우 디스크립션을 정의하기 위해 구성되는, 네트워크 기반 미디어 프로세싱을 위한 장치.
  8. 네트워크 기반 미디어 프로세싱을 위한 방법으로서,
    소스 엔티티로부터 워크플로우 관리자에 의해, 네트워크 기반 미디어 프로세싱을 위한 워크플로우 디스크립션을 수신하는 단계 ― 상기 워크플로우 디스크립션은:
    요청된 미디어 프로세싱을 표시하는 정보; 및
    미디어 태스크 융합이 허용되는지 여부를 표시하는 하나 이상의 정책들을 포함하는 워크플로우 태스크 최적화 정보 엘리먼트를 포함함 ―;
    상기 워크플로우 디스크립션에 기초하여 워크플로우를 생성하는 단계 ― 상기 워크플로우는 상기 요청된 미디어 프로세싱을 달성하기 위한 한 세트의 접속된 미디어 프로세싱 태스크들을 포함함 ―; 및
    미디어 태스크 융합이 허용된다고 결정하는 것에 대한 응답으로 상기 한 세트의 접속된 미디어 프로세싱 태스크들로부터의 하나 이상의 미디어 프로세싱 태스크들을 제거하거나 그리고/또는 결합함으로써, 상기 워크플로우 태스크 최적화 정보 엘리먼트에서의 하나 이상의 파라미터들에 기초하여, 상기 워크플로우를 최적화하기 위한 워크플로우 태스크 수정을 야기시키는 단계를 포함하는, 네트워크 기반 미디어 프로세싱을 위한 방법.
  9. 네트워크 기반 미디어 프로세싱을 위해 소스 엔티티에 의해 수행되는 방법으로서,
    네트워크-기반 미디어 프로세싱을 위한 워크플로우 디스크립션을 생성하는 단계;
    요청된 미디어 프로세싱을 표시하는 정보; 및
    상기 워크플로우 디스크립션에 기초하여 생성된 워크플로우를 최적화하기 위한 워크플로우 태스크 수정을 수행하기 위한 하나 이상의 파라미터들을 정의하는 워크플로우 태스크 최적화 정보 엘리먼트 ― 상기 하나 이상의 파라미터들은 미디어 태스크 융합이 허용되는지 여부의 표시를 포함하고 그리고 워크플로우 태스크 수정은 한 세트의 접속된 미디어 프로세싱 태스크들로부터의 하나 이상의 미디어 프로세싱 태스크들을 제거하거나 그리고/또는 결합하는 것을 포함함 ―
    를 상기 워크플로우 디스크립션에 포함시키는 단계; 및
    상기 워크플로우 태스크 최적화 정보 엘리먼트를 포함하는 상기 워크플로우 디스크립션을 워크플로우 관리자에게 송신하는 것을 야기시키는 단계를 포함하는, 네트워크 기반 미디어 프로세싱을 위해 소스 엔티티에 의해 수행되는 방법.
  10. 컴퓨터 판독가능 매체로서,
    장치로 하여금 적어도:
    소스 엔티티로부터 워크플로우 관리자에 의해, 네트워크 기반 미디어 프로세싱을 위한 워크플로우 디스크립션을 수신하는 것 ― 상기 워크플로우 디스크립션은:
    요청된 미디어 프로세싱을 표시하는 정보; 및
    미디어 태스크 융합이 허용되는지 여부를 표시하는 하나 이상의 정책들을 포함하는 워크플로우 태스크 최적화 정보 엘리먼트를 포함함 ―;
    상기 워크플로우 디스크립션에 기초하여 워크플로우를 생성하는 것 ― 상기 워크플로우는 상기 요청된 미디어 프로세싱을 달성하기 위한 한 세트의 접속된 미디어 프로세싱 태스크들을 포함함 ―; 및
    미디어 태스크 융합이 허용된다고 결정하는 것에 대한 응답으로 상기 한 세트의 접속된 미디어 프로세싱 태스크들로부터의 하나 이상의 미디어 프로세싱 태스크들을 제거하거나 그리고/또는 결합함으로써, 상기 워크플로우 태스크 최적화 정보 엘리먼트에서의 하나 이상의 파라미터들에 기초하여, 상기 워크플로우를 최적화하기 위한 워크플로우 태스크 수정을 야기시키는 것
    을 수행하게 하기 위한 프로그램 명령들을 포함하는, 컴퓨터 판독가능 매체.
  11. 컴퓨터 판독가능 매체로서,
    장치로 하여금 적어도:
    네트워크-기반 미디어 프로세싱을 위한 워크플로우 디스크립션을 생성하는 것;
    요청된 미디어 프로세싱을 표시하는 정보; 및
    상기 워크플로우 디스크립션에 기초하여 생성된 워크플로우를 최적화하기 위한 워크플로우 태스크 수정을 수행하기 위한 하나 이상의 파라미터들을 정의하는 워크플로우 태스크 최적화 정보 엘리먼트 ― 상기 하나 이상의 파라미터들은 미디어 태스크 융합이 허용되는지 여부의 표시를 포함하고 그리고 워크플로우 태스크 수정은 한 세트의 접속된 미디어 프로세싱 태스크들로부터의 하나 이상의 미디어 프로세싱 태스크들을 제거하거나 그리고/또는 결합하는 것을 포함함 ―
    를 상기 워크플로우 디스크립션에 포함시키는 것; 및
    상기 워크플로우 태스크 최적화 정보 엘리먼트를 포함하는 상기 워크플로우 디스크립션을 워크플로우 관리자에게 송신하는 것을 야기시키는 것
    을 수행하게 하기 위한 프로그램 명령들을 포함하는, 컴퓨터 판독가능 매체.
  12. 삭제
  13. 삭제
  14. 삭제
  15. 삭제
  16. 삭제
  17. 삭제
  18. 삭제
  19. 삭제
  20. 삭제
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
KR1020217033827A 2019-03-21 2019-03-21 네트워크 기반 미디어 프로세싱 제어 KR102664946B1 (ko)

Priority Applications (1)

Application Number Priority Date Filing Date Title
KR1020247015087A KR20240066200A (ko) 2019-03-21 2019-03-21 네트워크 기반 미디어 프로세싱 제어

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/FI2019/050236 WO2020188140A1 (en) 2019-03-21 2019-03-21 Network based media processing control

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020247015087A Division KR20240066200A (ko) 2019-03-21 2019-03-21 네트워크 기반 미디어 프로세싱 제어

Publications (2)

Publication Number Publication Date
KR20210138735A KR20210138735A (ko) 2021-11-19
KR102664946B1 true KR102664946B1 (ko) 2024-05-09

Family

ID=72519733

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020247015087A KR20240066200A (ko) 2019-03-21 2019-03-21 네트워크 기반 미디어 프로세싱 제어
KR1020217033827A KR102664946B1 (ko) 2019-03-21 2019-03-21 네트워크 기반 미디어 프로세싱 제어

Family Applications Before (1)

Application Number Title Priority Date Filing Date
KR1020247015087A KR20240066200A (ko) 2019-03-21 2019-03-21 네트워크 기반 미디어 프로세싱 제어

Country Status (5)

Country Link
US (1) US20220167026A1 (ko)
EP (1) EP3942835A4 (ko)
KR (2) KR20240066200A (ko)
CN (1) CN113748685A (ko)
WO (1) WO2020188140A1 (ko)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111831842A (zh) 2019-04-23 2020-10-27 腾讯美国有限责任公司 Nbmp中处理媒体内容的方法、装置和存储介质
US11356534B2 (en) * 2019-04-23 2022-06-07 Tencent America LLC Function repository selection mode and signaling for cloud based processing
US11544108B2 (en) * 2019-04-23 2023-01-03 Tencent America LLC Method and apparatus for functional improvements to moving picture experts group network based media processing
US11256546B2 (en) 2019-07-02 2022-02-22 Nokia Technologies Oy Methods, apparatuses and computer readable mediums for network based media processing
US11388067B2 (en) * 2020-03-30 2022-07-12 Tencent America LLC Systems and methods for network-based media processing (NBMP) for describing capabilities
US11743307B2 (en) * 2020-06-22 2023-08-29 Tencent America LLC Nonessential input, output and task signaling in workflows on cloud platforms
US11593150B2 (en) * 2020-10-05 2023-02-28 Tencent America LLC Method and apparatus for cloud service
US11632411B2 (en) * 2021-03-31 2023-04-18 Tencent America LLC Method and apparatus for cascaded multi-input content preparation templates for 5G networks
EP4327206A1 (en) * 2021-04-19 2024-02-28 Nokia Technologies Oy A method and apparatus for enhanced task grouping
US11539776B2 (en) * 2021-04-19 2022-12-27 Tencent America LLC Method for signaling protocol characteristics for cloud workflow inputs and outputs
US20230020527A1 (en) 2021-07-06 2023-01-19 Tencent America LLC Method and apparatus for switching or updating partial or entire workflow on cloud with continuity in dataflow
CN114445047B (zh) * 2022-01-29 2024-05-10 北京百度网讯科技有限公司 工作流生成方法、装置、电子设备及存储介质
US11917034B2 (en) * 2022-04-19 2024-02-27 Tencent America LLC Deployment of workflow tasks with fixed preconfigured parameters in cloud-based media applications

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080207182A1 (en) * 2006-12-13 2008-08-28 Quickplay Media Inc. Encoding and Transcoding for Mobile Media
US20160034306A1 (en) * 2014-07-31 2016-02-04 Istreamplanet Co. Method and system for a graph based video streaming platform

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
RU2496138C2 (ru) * 2009-06-12 2013-10-20 Сони Корпорейшн Магистраль распределения
US11277598B2 (en) * 2009-07-14 2022-03-15 Cable Television Laboratories, Inc. Systems and methods for network-based media processing
US9098338B2 (en) * 2010-12-17 2015-08-04 Verizon Patent And Licensing Inc. Work flow command processing system
US20120246740A1 (en) * 2011-03-22 2012-09-27 Brooker Marc J Strong rights management for computing application functionality
EP2798784B1 (en) * 2011-12-27 2019-10-23 Cisco Technology, Inc. System and method for management of network-based services
US9619772B1 (en) * 2012-08-16 2017-04-11 Amazon Technologies, Inc. Availability risk assessment, resource simulation
US8583467B1 (en) * 2012-08-23 2013-11-12 Fmr Llc Method and system for optimized scheduling of workflows
US20170132200A1 (en) * 2014-06-25 2017-05-11 James Noland Method, System, and Medium for Workflow Management of Document Processing
US10951540B1 (en) * 2014-12-22 2021-03-16 Amazon Technologies, Inc. Capture and execution of provider network tasks
CN104834722B (zh) * 2015-05-12 2018-03-02 网宿科技股份有限公司 基于cdn的内容管理系统
US10146592B2 (en) * 2015-09-18 2018-12-04 Salesforce.Com, Inc. Managing resource allocation in a stream processing framework
US10069869B2 (en) * 2016-05-17 2018-09-04 Amazon Technologies, Inc. Versatile autoscaling
US10567248B2 (en) * 2016-11-29 2020-02-18 Intel Corporation Distributed assignment of video analytics tasks in cloud computing environments to reduce bandwidth utilization
US11296902B2 (en) * 2017-02-05 2022-04-05 Intel Corporation Adaptive deployment of applications
CN109343940A (zh) * 2018-08-14 2019-02-15 西安理工大学 一种云平台中多媒体任务调度优化方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080207182A1 (en) * 2006-12-13 2008-08-28 Quickplay Media Inc. Encoding and Transcoding for Mobile Media
US20160034306A1 (en) * 2014-07-31 2016-02-04 Istreamplanet Co. Method and system for a graph based video streaming platform

Also Published As

Publication number Publication date
EP3942835A4 (en) 2022-09-28
WO2020188140A1 (en) 2020-09-24
CN113748685A (zh) 2021-12-03
EP3942835A1 (en) 2022-01-26
KR20240066200A (ko) 2024-05-14
US20220167026A1 (en) 2022-05-26
KR20210138735A (ko) 2021-11-19

Similar Documents

Publication Publication Date Title
KR102664946B1 (ko) 네트워크 기반 미디어 프로세싱 제어
US11456930B2 (en) Network resource management method, apparatus, and system
CN107533484B (zh) 用于动态管理虚拟网络功能描述符的系统和方法
KR101898170B1 (ko) 자동화된 서비스 프로파일링 및 오케스트레이션
CN114567875A (zh) 用于无线电设备网络空间安全和多个无线电接口测试的技术
US11303526B2 (en) Network slice deployment method and apparatus
US20220353138A1 (en) Apparatus and method for generating network slice in wireless communication system
US12019761B2 (en) Network based media processing security
US11516628B2 (en) Media streaming with edge computing
US20230069604A1 (en) Use of crds as descriptors for applications, application components, deployments, clouds, ai/ml models, and rte in an o-ran system
CN114631085A (zh) 通过5g上行链路实时流框架控制部署nbmp的方法
CN112243016B (zh) 一种中间件平台、终端设备、5g人工智能云处理系统及处理方法
Droste et al. An adaptive 5G multiservice and multitenant radio access network architecture
US11349729B2 (en) Network service requests
CN114365467A (zh) 第三代合作伙伴计划(3gpp)实时上行链路流式传输框架(flus)接收能力确定
US11799937B2 (en) CMAF content preparation template using NBMP workflow description document format in 5G networks
US20240205748A1 (en) Use of crds as descriptors for application ui in an o-ran system
US20240201962A1 (en) Use of crds as descriptors for application ui in an o-ran system
Oredope et al. Deploying cloud services in mobile networks
Aires et al. An orchestrated 5G‐enabled deep vCDN system
KR20230162805A (ko) 5g 미디어 스트리밍 아키텍처에서의 새로운 에지 서버들의 이벤트-중심 프로비저닝
CN117278415A (zh) 信息处理、业务流量路径规划方法、装置和系统
da Silva Service Modelling and End-to-End Orchestration in 5G Networks
WO2023219699A1 (en) End-to-end intent definition of network functions for network slice management
WO2024129143A1 (en) Method and system for retrieving configuration schema for rapp

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right