KR20220038740A - 5g 라이브 업링크 스트리밍용 프레임워크(flus) 제어를 통한 네트워크 기반 미디어 처리(nbmp) 작업흐름 관리 - Google Patents

5g 라이브 업링크 스트리밍용 프레임워크(flus) 제어를 통한 네트워크 기반 미디어 처리(nbmp) 작업흐름 관리 Download PDF

Info

Publication number
KR20220038740A
KR20220038740A KR1020227006148A KR20227006148A KR20220038740A KR 20220038740 A KR20220038740 A KR 20220038740A KR 1020227006148 A KR1020227006148 A KR 1020227006148A KR 20227006148 A KR20227006148 A KR 20227006148A KR 20220038740 A KR20220038740 A KR 20220038740A
Authority
KR
South Korea
Prior art keywords
nbmp
flus
network
capabilities
computer
Prior art date
Application number
KR1020227006148A
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 KR20220038740A publication Critical patent/KR20220038740A/ko

Links

Images

Classifications

    • H04L65/602
    • 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/762Media network packet handling at the source 
    • 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
    • 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/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • H04L65/4084
    • H04L65/608
    • 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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast
    • 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/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/14Session management
    • H04L67/146Markers for unambiguous identification of a particular session, e.g. session cookie or URL-encoding
    • H04L67/16
    • 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
    • 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/5072Grid computing

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

5G 라이브 업링크 스트리밍용 프레임워크(FLUS) 제어를 통해 네트워크 기반 미디어 처리(NBMP) 작업흐름을 설정하기 위한 방법, 컴퓨터 프로그램, 및 컴퓨터 시스템이 제공된다. 네트워크 플랫폼의 복수의 싱크들 및 네트워크 능력들은, 복수의 5G FLUS 발견 및 능력 메커니즘들을 통해 발견된다. NBMP 작업흐름은, FLUS 소스 및 FLUS 싱크를 포함하는 제어 인터페이스를 통해 생성, 업데이트, 검색, 및 삭제되며, 이에 의해, 5G FLUS 제어는, NBMP 소스와 NBMP 작업흐름 관리자 사이에서 정보를 터널링하는 것을 지원하도록 확장된다.

Description

5G 라이브 업링크 스트리밍용 프레임워크(FLUS) 제어를 통한 네트워크 기반 미디어 처리(NBMP) 작업흐름 관리
관련 출원에 대한 상호-참조
본 출원은, 2020년 3월 30일자로 출원된 미국 가특허 출원 제63/001,946호 및 2020년 9월 28일자로 출원된 미국 특허 출원 제17/034,778호를 우선권으로 주장하며, 상기 출원들 전체가 본원에 포함된다.
본 개시내용은 일반적으로 데이터 처리 분야에 관한 것으로, 더 상세하게는, 미디어 처리에 관한 것이다.
단편화를 다루고 임의의 클라우드 플랫폼의 최상부 상에서 그리고 임의의 IP 네트워크 상에서 미디어 처리를 수행하는 통합된 방식을 제공하기 위해 네트워크 기반 미디어 처리(NBMP) 표준이 개발되었다. 3세대 파트너쉽 프로젝트(3GPP) 라이브 업링크 스트리밍용 프레임워크(Framework for Live Uplink Streaming)(FLUS) 프로토콜은, 소스 디바이스로부터 네트워크로의 멀티미디어 콘텐츠의 업링크 스트리밍 및 그 콘텐츠를 하나 이상의 목적지로 전송/배포하기 위한 메커니즘을 제공한다.
실시예들은, 5G FLUS 제어를 통해 NBMP 작업흐름을 설정하기 위한 방법, 시스템, 및 컴퓨터 판독가능 매체에 관한 것이다. 일 양상에 따르면, 5G FLUS 제어를 통해 NBMP 작업흐름을 설정하기 위한 방법이 제공된다. 방법은, 복수의 5G FLUS 발견 및 능력 메커니즘들을 통해 네트워크 플랫폼의 복수의 싱크들 및 네트워크 능력들을 발견하는 단계를 포함할 수 있다. NBMP 작업흐름은 FLUS 소스-싱크 제어 인터페이스를 통해 생성, 업데이트, 검색, 및 삭제되며, 이에 의해, NBMP 소스와 NBMP 작업흐름 관리자 사이에서 정보를 터널링하는 것을 지원하도록 5G FLUS 제어가 확장된다.
다른 양상에 따르면, 5G FLUS 제어를 통해 NBMP 작업흐름을 설정하기 위한 컴퓨터 시스템이 제공된다. 컴퓨터 시스템은, 하나 이상의 프로세서, 하나 이상의 컴퓨터 판독가능 메모리, 하나 이상의 컴퓨터 판독가능 유형적(tangible) 저장 디바이스, 및 하나 이상의 메모리 중 적어도 하나를 통해 하나 이상의 프로세서 중 적어도 하나에 의해 실행되도록 하나 이상의 저장 디바이스 중 적어도 하나에 저장되는 프로그램 명령어들을 포함할 수 있으며, 이에 의해, 컴퓨터 시스템이 방법을 수행하는 것이 가능하다. 방법은, 복수의 FLUS 발견 및 능력 메커니즘들을 통해 네트워크 플랫폼의 복수의 싱크들 및 네트워크 능력들을 발견하는 단계를 포함할 수 있다. NBMP 작업흐름은 FLUS 소스-싱크 제어 인터페이스를 통해 생성, 업데이트, 검색, 및 삭제되며, 이에 의해, NBMP 소스와 NBMP 작업흐름 관리자 사이에서 정보를 터널링하는 것을 지원하도록 FLUS 제어가 확장된다.
또 다른 양상에 따르면, 5G FLUS 제어를 통해 NBMP 작업흐름을 설정하기 위한 컴퓨터 판독가능 매체가 제공된다. 컴퓨터 판독가능 매체는, 하나 이상의 컴퓨터 판독가능 저장 디바이스, 및 하나 이상의 유형적 저장 디바이스 중 적어도 하나 상에 저장되는 프로그램 명령어들을 포함할 수 있으며, 프로그램 명령어들은 프로세서에 의해 실행가능하다. 프로그램 명령어들은 방법을 수행하기 위한 프로세서에 의해 실행가능하며, 방법은 그에 따라, 복수의 FLUS 발견 및 능력 메커니즘들을 통해 네트워크 플랫폼의 복수의 싱크들 및 네트워크 능력들을 발견하는 단계를 포함할 수 있다. NBMP 작업흐름은 FLUS 소스-싱크 제어 인터페이스를 통해 생성, 업데이트, 검색, 및 삭제되며, 이에 의해, NBMP 소스와 NBMP 작업흐름 관리자 사이에서 정보를 터널링하는 것을 지원하도록 5G FLUS 제어가 확장된다.
이들 및 다른 목적들, 특징들 및 이점들은, 첨부된 도면들과 관련하여 읽혀질 예시적인 실시예들의 다음의 상세한 설명으로부터 명백해질 것이다. 도면들의 다양한 특징들은 실척이 아니며, 그 이유는, 예시들이, 상세한 설명과 관련하여 관련 기술분야의 통상의 기술자의 이해를 용이하게 함에 있어서의 명확성을 위한 것이기 때문이다. 도면들에서:
도 1은 적어도 하나의 실시예에 따른 네트워킹된 컴퓨터 환경을 예시한다.
도 2는 적어도 하나의 실시예에 따른, 5G FLUS 제어를 통해 NBMP 작업흐름을 설정하기 위한 시스템의 블록도이다.
도 3은 적어도 하나의 실시예에 따른, 5G FLUS 제어를 통해 NBMP 작업흐름을 설정하기 위한 프로그램에 의해 수행되는 단계들을 예시하는 동작 흐름도이다.
도 4는 적어도 하나의 실시예에 따른, 도 1에 도시된 컴퓨터들 및 서버들의 내부 및 외부 구성요소들의 블록도이다.
도 5는 적어도 하나의 실시예에 따른, 도 1에 도시된 컴퓨터 시스템을 포함하는 예시적인 클라우드 컴퓨팅 환경의 블록도이다.
도 6은 적어도 하나의 실시예에 따른, 도 5의 예시적인 클라우드 컴퓨팅 환경의 기능적 계층들의 블록도이다.
청구된 구조들 및 방법들의 상세한 실시예들이 본원에 개시되지만, 개시된 실시예들은 단지 다양한 형태들로 구현될 수 있는 청구된 구조들 및 방법들을 예시한다는 것이 이해될 수 있다. 그러나, 구조들 및 방법들은 많은 상이한 형태들로 구현될 수 있으며, 본원에 기재된 예시적인 실시예들로 제한되는 것으로 해석되어서는 안 된다. 오히려, 이러한 예시적인 실시예들은, 본 개시내용이 철저하고 완전해질 것이도록, 그리고 관련 기술분야의 통상의 기술자들에게 그 범위를 완전히 전달하도록 제공된다. 설명에서, 잘 알려진 특징들 및 기법들의 세부사항들은 제시된 실시예들을 불필요하게 불명료하게 하는 것을 피하기 위해 생략될 수 있다.
실시예들은 일반적으로 데이터 처리 분야에 관한 것으로, 더 상세하게는, 미디어 처리에 관한 것이다. 다음에 설명되는 예시적인 실시예들은, 다른 것들 중에서도, NBMP 소스가 FLUS 제어 경로를 통해 NBMP 작업흐름 관리자를 완전히 제어하기 위한 메커니즘을 제공하는 시스템, 방법, 및 컴퓨터 프로그램을 제공한다. 따라서, 일부 실시예들은, 소스 클라이언트가 FLUS 제어 인터페이스를 통해 작업흐름을 관리하기 위한 NBMP 소스인 아키텍처를 제공함으로써, 컴퓨팅 분야를 개선하는 능력을 갖는다.
이전에 설명된 바와 같이, 단편화를 다루고 임의의 클라우드 플랫폼의 최상부 상에서 그리고 임의의 IP 네트워크 상에서 미디어 처리를 수행하는 통합된 방식을 제공하기 위해 네트워크 기반 미디어 처리(NBMP) 표준이 개발되었다. 3세대 파트너쉽 프로젝트(3GPP) 라이브 업링크 스트리밍용 프레임워크(FLUS) 프로토콜은, 소스 디바이스로부터 네트워크로의 멀티미디어 콘텐츠의 업링크 스트리밍 및 그 콘텐츠를 하나 이상의 목적지로 전송/배포하기 위한 메커니즘을 제공한다. NBMP 표준에서, NBMP 소스는 미디어 작업흐름을 생성, 실행, 관리 및 모니터링하기 위해 작업흐름 설명을 작업흐름 관리자에게 제공하는 엔티티일 수 있다. NBMP 소스와 작업흐름 관리자 사이의 상호작용은 NBMP 동작 애플리케이션 프로그래밍 인터페이스(API)들의 세트를 통해 이루어질 수 있다. 3GPP FLUS 프로토콜의 경우에, 미디어 스트림들의 소스 디바이스는 네트워크를 통해 싱크와 업링크 세션을 설정할 수 있다. FLUS API들은 소스 디바이스가 세션을 제어할 수 있게 할 수 있고, 또한, 싱크가 소스 디바이스의 피드백 또는 원격 제어를 제공할 수 있게 할 수 있다. 3GPP FLUS 프로토콜은, 소스 디바이스에 의한 세션 제어 업데이트의 일부로서 NBMP 작업흐름 설명 문서(Workflow Description Document)(WDD)의 포함을 지원할 수 있다. 그러나, 프로토콜은, NBMP 작업흐름의 설정 후에 그 작업흐름의 관리를 위한 소스 디바이스와 싱크 사이의 상호작용을 포함하지 않을 수도 있다. 또한, 프로토콜은, 소스 디바이스가, 작업흐름을 동적으로 관리 및 수정할 수 있도록 실행 중인 NBMP 작업흐름으로부터 피드백을 수신할 수 있게 NBMP 작업흐름 관리자 또는 태스크들이 소스 디바이스에 보고 및 통지를 제공하기 위한 아키텍처를 제공하지 않을 수 있다. 따라서, NBMP 소스가 업링크의 소스인 클라이언트 디바이스에 있는 제어와 함께 업링크 스트리밍을 위한 클라우드 기반 작업흐름 처리를 사용함으로써 FLUS 제어 경로를 통해 NBMP 작업흐름 관리자를 완전히 제어하기 위한 메커니즘을 제공하는 것이 유리할 수 있다. 이는, 소스 클라이언트가 FLUS 제어 인터페이스를 통해 작업흐름을 관리하기 위한 NBMP 소스인 아키텍처를 제공할 수 있다.
양상들은, 다양한 실시예들에 따른 방법들, 장치(시스템들), 및 컴퓨터 판독가능 매체의 흐름도 예시들 및/또는 블록도들을 참조하여 본원에서 설명된다. 흐름도 예시들 및/또는 블록도들의 각각의 블록, 및 흐름도 예시들 및/또는 블록도들의 블록들의 조합들은 컴퓨터 판독가능 프로그램 명령어들에 의해 구현될 수 있음이 이해될 것이다.
다음의 설명된 예시적인 실시예들은 5G FLUS 제어를 통해 NBMP 작업흐름을 설정하는 것을 허용하는 시스템, 방법, 및 컴퓨터 프로그램을 제공한다. 이제 도 1을 참조하면, 5G FLUS 제어를 통해 NBMP 작업흐름을 설정하기 위한 미디어 처리 시스템(100)(이하에서, "시스템")을 예시하는 네트워킹된 컴퓨터 환경의 기능 블록도가 있다. 도 1은 일 구현의 예시를 제공할 뿐이며, 상이한 실시예들이 구현될 수 있는 환경들에 대한 어떠한 제한들도 암시하지 않는다는 것이 인식되어야 한다. 도시된 환경들에 대한 다수의 수정들이 설계 및 구현 요건들에 기반하여 이루어질 수 있다.
시스템(100)은, 컴퓨터(102) 및 서버 컴퓨터(114)를 포함할 수 있다. 컴퓨터(102)는, 통신 네트워크(110)(이하에서, "네트워크")를 통해 서버 컴퓨터(114)와 통신할 수 있다. 컴퓨터(102)는, 프로세서(104), 및 데이터 저장 디바이스(106)에 저장되고, 사용자와 인터페이싱하고 서버 컴퓨터(114)와 통신하는 것이 가능해지는 소프트웨어 프로그램(108)을 포함할 수 있다. 도 4를 참조하여 아래에서 논의될 바와 같이, 컴퓨터(102)는 내부 구성요소들(800A)와 외부 구성요소들(900A)을 각각 포함할 수 있고, 서버 컴퓨터(114)는 내부 구성요소들(800B)와 외부 구성요소들(900B)을 각각 포함할 수 있다. 컴퓨터(102)는, 예컨대, 모바일 디바이스, 전화, 개인 휴대 정보 단말기, 넷북, 랩톱 컴퓨터, 태블릿 컴퓨터, 데스크톱 컴퓨터, 또는 프로그램을 실행하고 네트워크에 액세스하고 데이터베이스에 액세스하는 것이 가능한 임의의 유형의 컴퓨팅 디바이스들일 수 있다.
서버 컴퓨터(114)는 또한, 도 5 및 도 6과 관련하여 아래에서 논의되는 바와 같이, 서비스로서의 소프트웨어(Software as a Service)(SaaS), 서비스로서의 플랫폼(Platform as a Service)(PaaS), 또는 서비스로서의 기반구조(Infrastructure as a Service)(laaS)와 같은 클라우드 컴퓨팅 서비스 모델에서 동작할 수 있다. 서버 컴퓨터(114)는 또한, 사설 클라우드, 커뮤니티 클라우드, 공용 클라우드, 또는 하이브리드 클라우드와 같은 클라우드 컴퓨팅 배치 모델에 위치될 수 있다.
5G FLUS 제어를 통해 NBMP 작업흐름을 설정하는 데 사용될 수 있는 서버 컴퓨터(114)는, 데이터베이스(112)와 상호작용할 수 있는 NBMP FLUS 제어 프로그램(116)(이하에서, "프로그램")을 실행하는 것이 가능해진다. NBMP FLUS 제어 프로그램 방법은 도 3과 관련하여 아래에서 더 상세히 설명된다. 일 실시예에서, 컴퓨터(102)는 사용자 인터페이스를 포함하는 입력 디바이스로서 동작할 수 있는 한편, 프로그램(116)은 서버 컴퓨터(114) 상에서 주로 실행될 수 있다. 대안적인 실시예에서, 프로그램(116)은 하나 이상의 컴퓨터(102) 상에서 주로 실행될 수 있는 한편, 서버 컴퓨터(114)는 프로그램(116)에 의해 사용되는 데이터의 처리 및 저장하는 데 사용될 수 있다. 프로그램(116)은 독립형 프로그램일 수 있거나 더 큰 NBMP FLUS 제어 프로그램에 통합될 수 있다는 것이 유의되어야 한다.
그러나, 프로그램(116)에 대한 처리는, 일부 예시들에서, 컴퓨터들(102)과 서버 컴퓨터들(114) 간에 임의의 비율로 공유될 수 있다는 것이 유의되어야 한다. 다른 실시예에서, 프로그램(116)은, 하나 초과의 컴퓨터, 서버 컴퓨터, 또는 컴퓨터들과 서버 컴퓨터들의 일부 조합, 예컨대, 네트워크(110)를 통해 단일 서버 컴퓨터(114)와 통신하는 복수의 컴퓨터들(102) 상에서 동작할 수 있다. 다른 실시예에서, 예컨대, 프로그램(116)은, 네트워크(110)를 통해 복수의 클라이언트 컴퓨터들과 통신하는 복수의 서버 컴퓨터들(114) 상에서 동작할 수 있다. 대안적으로, 프로그램은, 네트워크를 통해 서버 및 복수의 클라이언트 컴퓨터들과 통신하는 네트워크 서버 상에서 동작할 수 있다.
네트워크(110)는, 유선 연결들, 무선 연결들, 광섬유 연결들, 또는 이들의 일부 조합을 포함할 수 있다. 일반적으로, 네트워크(110)는, 컴퓨터(102)와 서버 컴퓨터(114) 사이의 통신들을 지원할 연결들 및 프로토콜들의 임의의 조합일 수 있다. 네트워크(110)는, 예컨대, 근거리 네트워크(LAN), 광역 네트워크(WAN), 이를테면 인터넷, 원격통신 네트워크, 이를테면 공용 교환 전화 네트워크(PSTN), 무선 네트워크, 공용 교환 네트워크, 위성 네트워크, 셀룰러 네트워크(예컨대, 5세대(5G) 네트워크, 롱 텀 에볼루션(LTE) 네트워크, 3세대(3G) 네트워크, 코드 분할 다중 액세스(CDMA) 네트워크 등), 공용 육상 모바일 네트워크(PLMN), 대도시 영역 네트워크(MAN), 사설 네트워크, 애드혹 네트워크, 인트라넷, 광섬유 기반 네트워크 등, 그리고/또는 이들 또는 다른 유형들의 네트워크들의 조합과 같은 다양한 유형들의 네트워크들을 포함할 수 있다.
도 1에 도시된 디바이스들 및 네트워크들의 수 및 배열은 예로서 제공된다. 실제로, 부가적인 디바이스들 및/또는 네트워크들, 더 적은 디바이스들 및/또는 네트워크들, 상이한 디바이스들 및/또는 네트워크들, 또는 도 1에 도시된 것들과 상이하게 배열된 디바이스들 및/또는 네트워크들이 존재할 수 있다. 또한, 도 1에 도시된 2개 이상의 디바이스가 단일 디바이스 내에서 구현될 수 있거나, 도 1에 도시된 단일 디바이스가 다수의 분산된 디바이스들로서 구현될 수 있다. 부가적으로 또는 대안적으로, 시스템(100)의 디바이스 세트(예컨대, 하나 이상의 디바이스)는 시스템(100)의 다른 디바이스 세트에 의해 수행되는 것으로서 설명된 하나 이상의 기능을 수행할 수 있다.
이제 도 2를 참조하면, 3GPP FLUS 아키텍처(200)의 블록도가 도시된다. 3GPP FLUS 아키텍처(200)는, 제1 사용자 환경(202) 및 제2 사용자 환경(204)을 포함할 수 있다. 제1 사용자 환경(202)은, NBMP 소스(205), 하나 이상의 캡처 디바이스(206), 및 FLUS 소스(208)를 포함할 수 있다. FLUS 소스(208)는, 제어 소스(210), 미디어 소스(212), 보조 수신기(214), 및 원격 제어 타깃(216)을 포함할 수 있다. 제2 사용자 환경(204)은, FLUS 싱크(218), NBMP 작업흐름 관리자(219), 보조 전송기(220), NBMP 작업흐름(221) 및 원격 제어기(222)를 포함할 수 있다. FLUS 싱크(218)는, 제어 싱크(224) 및 미디어 싱크(226)를 포함할 수 있다.
NBMP 소스(205)는, 네트워크 또는 목적지 디바이스(즉, 제2 사용자 환경(204))에서의 작업흐름 처리를 정의할 수 있다. NBMP 작업흐름 관리자(219) 및 NBMP 작업흐름(221)은 네트워크 또는 목적지 디바이스(즉, 제2 사용자 환경(204)) 상에 상주할 수 있다. NBMP 작업흐름(221)는 여러 스테이지들을 포함할 수 있다. 스테이지 1(싱크 발견)에서, NBMP 소스(205)는 FLUS 소스(208)에 요청을 함으로써 기존 싱크들을 발견할 수 있으며, 이는 결과적으로 FLUS 발견 포인트에 전송될 수 있다. FLUS 발견 포인트는 싱크들의 목록을 FLUS 소스(208)에 제공할 수 있으며, FLUS 소스(208)는 결과적으로 그것을 NBMP 소스(205)에 제공할 수 있다.
스테이지 2(능력 발견)에서, NBMP 소스(205)는 싱크 목록 내의 제공된 싱크들 중 하나의 능력들을 요청할 수 있다. FLUS 소스(208)는 그 요청을 FLUS 싱크(218)에 전달할 수 있다. FLUS 싱크(218)는, 그의 플랫폼의 능력들을 가질 수 있거나 NBMP 작업흐름 관리자(219)가 현재 플랫폼 능력들을 획득할 것을 요청할 수 있다. 플랫폼의 능력들은 현재 실행 중인 작업흐름들에 따라 변결될 수 있다는 것이 인식될 수 있다. 플랫폼 또는 그에 대한 링크의 능력 설명은 FLUS 싱크(218) 및 FLUS 소스(208)를 통해 NBMP 소스(205)에 반환될 수 있다. 스테이지 2 응답은, 작업흐름 관리자가 NBMP를 지원한다는 것을 표시하는 NBMP 스킴 식별자, 플랫폼의 능력들이 검색될 수 있는 위치(URI)에 대한 URL, 및 플랫폼의 능력들을 설명하는 능력 설명 문서를 포함할 수 있다.
스테이지 3(작업흐름 생성)에서, NBMP 소스(205)는 FLUS 소스(208) 및 FLUS 싱크(218)를 통해 NBMP 작업흐름(221)의 생성을 요청할 수 있다. 스테이지 3 동안, NBMP 작업흐름(221)은 즉시 생성되거나, 거절되거나, 또는 가능한 지연이 있게 생성될 수 있으므로, 스테이지 3 응답은 HTTP 응답 코드(201) 및 WDD, HTTP 응답 코드 4xx 또는 5xx 및 임의적으로 WDD, 또는 HTTP 응답 코드(202) 및 HTTP 헤더 Retry-After 값을 포함할 수 있다.
이제 도 3을 참조하면, 5G FLUS 제어를 통해 NBMP 작업흐름을 설정하기 위한 프로그램에 의해 수행되는 단계들을 예시하는 동작 흐름도(300)가 도시된다. 도 3은, 도 1 및 도 2의 도움으로 설명될 수 있다. 이전에 설명된 바와 같이, NBMP FLUS 제어 프로그램(116)(도 1)은, 소스 클라이언트가 FLUS 제어 인터페이스를 통해 작업흐름을 관리하기 위한 NBMP 소스인 아키텍처를 제공할 수 있다.
302에서, 복수의 FLUS 발견 및 능력 메커니즘들을 통해 네트워크 플랫폼의 복수의 싱크들 및 네트워크 능력들이 발견된다. 네트워크 능력들은, 식별자, 및 네트워크 능력들의 설명들이 검색될 수 있는 URL 위치에 의해 설명될 수 있거나, 발견 응답들에 명시적으로 포함될 수 있다. 동작 시, NBMP 소스(205)(도 2)는, FLUS 소스(208)(도 2)에 요청을 함으로써 기존 싱크들을 발견할 수 있다. 싱크들의 목록은 NBMP 소스(205)에 반환될 수 있다.
304에서, FLUS 소스 및 FLUS 싱크를 포함하는 제어 인터페이스를 통해 NBMP 작업흐름이 생성, 업데이트, 검색, 및 삭제된다. 5G FLUS 제어는 NBMP 소스와 NBMP 작업흐름 관리자 사이에서 정보를 터널링하는 것을 지원하도록 확장된다. 동작 시, NBMP 소스(205)(도 2)는, FLUS 소스(208)(도 2) 및 FLUS 싱크(218)(도 2)를 통해 NBMP 작업흐름(221)(도 2)의 생성을 요청할 수 있다. HTTP 상태 코드 및 WDD는 NBMP 작업흐름(221)이 생성될 때 반환될 수 있다.
도 3은 일 구현의 예시를 제공할 뿐이며, 상이한 실시예들이 구현될 수 있는 방식에 대한 어떠한 제한들도 암시하지 않는다는 것이 인식될 수 있다. 도시된 환경들에 대한 다수의 수정들이 설계 및 구현 요건들에 기반하여 이루어질 수 있다.
도 4는 예시적인 실시예에 따른, 도 1에 도시된 컴퓨터들의 내부 및 외부 구성요소들의 블록도(400)이다. 도 4는 일 구현의 예시를 제공할 뿐이며, 상이한 실시예들이 구현될 수 있는 환경들에 대한 어떠한 제한들도 암시하지 않는다는 것이 인식되어야 한다. 도시된 환경들에 대한 다수의 수정들이 설계 및 구현 요건들에 기반하여 이루어질 수 있다.
컴퓨터(102)(도 1) 및 서버 컴퓨터(114)(도 1)는 도 4에 예시된 내부 구성요소들(800A,B) 및 외부 구성요소들(900A,B)의 개개의 세트들을 포함할 수 있다. 내부 구성요소들(800)의 세트들 각각은, 하나 이상의 버스(826), 하나 이상의 운영 체제(828), 및 하나 이상의 컴퓨터 판독가능 유형적 저장 디바이스(830) 상의 하나 이상의 프로세서(820), 하나 이상의 컴퓨터 판독가능 RAM(822), 및 하나 이상의 컴퓨터 판독가능 ROM(824)을 포함한다.
프로세서(820)는, 하드웨어, 펌웨어, 또는 하드웨어와 소프트웨어의 조합으로 구현된다. 프로세서(820)는, 중앙 처리 유닛(CPU), 그래픽 처리 유닛(GPU), 가속 처리 유닛(APU), 마이크로프로세서, 마이크로제어기, 디지털 신호 프로세서(DSP), 필드 프로그래밍가능 게이트 어레이(FPGA), 주문형 집적 회로(ASIC), 또는 다른 유형의 처리 구성요소이다. 일부 구현들에서, 프로세서(820)는, 기능을 수행하도록 프로그래밍되는 것이 가능한 하나 이상의 프로세서를 포함한다. 버스(826)는, 내부 구성요소들(800A,B) 간의 통신을 허용하는 구성요소를 포함한다.
서버 컴퓨터(114)(도 1) 상의 하나 이상의 운영 체제(828), 소프트웨어 프로그램(108)(도 1), 및 NBMP FLUS 제어 프로그램(116)(도 1)은, 개개의 RAM들(822)(전형적으로, 캐시 메모리를 포함함) 중 하나 이상을 통해 개개의 프로세서들(820) 중 하나 이상에 의한 실행을 위해 개개의 컴퓨터 판독가능 유형적 저장 디바이스들(830) 중 하나 이상 상에 저장된다. 도 4에 예시된 실시예에서, 컴퓨터 판독가능 유형적 저장 디바이스들(830) 각각은 내부 하드 드라이브의 자기 디스크 저장 디바이스이다. 대안적으로, 컴퓨터 판독가능 유형적 저장 디바이스들(830) 각각은, 반도체 저장 디바이스, 이를테면, ROM(824), EPROM, 플래시 메모리, 광학 디스크, 광자기 디스크, 솔리드 스테이트 디스크, 콤팩트 디스크(CD), 디지털 다기능 디스크(DVD), 플로피 디스크, 카트리지, 자기 테이프, 및/또는 컴퓨터 프로그램 및 디지털 정보를 저장할 수 있는 다른 유형의 비-일시적인 컴퓨터 판독가능 유형적 저장 디바이스이다.
내부 구성요소들(800A,B)의 각각의 세트는 또한, 하나 이상의 휴대용 컴퓨터 판독가능 유형적 저장 디바이스(936), 이를테면, CD-ROM, DVD, 메모리 스틱, 자기 테이프, 자기 디스크, 광학 디스크, 또는 반도체 저장 디바이스로부터의 판독 및 그에 대한 기입을 위한 R/W 드라이브 또는 인터페이스(832)를 포함한다. 소프트웨어 프로그램, 이를테면 소프트웨어 프로그램(108)(도 1) 및 NBMP FLUS 제어 프로그램(116)(도 1)은, 개개의 휴대용 컴퓨터 판독가능 유형적 저장 디바이스들(936) 중 하나 이상 상에 저장되고, 개개의 R/W 드라이브 또는 인터페이스(832)를 통해 판독되고, 개개의 하드 드라이브(830)에 로딩될 수 있다.
내부 구성요소들(800A,B)의 각각의 세트는 또한, 네트워크 어댑터들 또는 인터페이스들(836), 이를테면, TCP/IP 어댑터 카드들; 무선 Wi-Fi 인터페이스 카드들; 또는 3G, 4G, 또는 5G 무선 인터페이스 카드들, 또는 다른 유선 또는 무선 통신 링크들을 포함한다. 서버 컴퓨터(114)(도 1) 상의 소프트웨어 프로그램(108)(도 1) 및 NBMP FLUS 제어 프로그램(116)(도 1)은, 네트워크(예컨대, 인터넷, 근거리 네트워크, 또는 다른 광역 네트워크) 및 개개의 네트워크 어댑터들 또는 인터페이스들(836)을 통해 외부 컴퓨터로부터 컴퓨터(102)(도 1) 및 서버 컴퓨터(114)에 다운로드될 수 있다. 네트워크 어댑터들 또는 인터페이스들(836)로부터, 서버 컴퓨터(114) 상의 소프트웨어 프로그램(108) 및 NBMP FLUS 제어 프로그램(116)이 개개의 하드 드라이브(830)에 로딩된다. 네트워크는, 구리 와이어들, 광섬유들, 무선 송신, 라우터들, 방화벽들, 스위치들, 게이트웨이 컴퓨터들, 및/또는 에지 서버들을 포함할 수 있다.
외부 구성요소들(900A,B)의 세트들 각각은, 컴퓨터 디스플레이 모니터(920), 키보드(930), 및 컴퓨터 마우스(934)를 포함할 수 있다. 외부 구성요소들(900A,B)은 또한, 터치 스크린들, 가상 키보드들, 터치 패드들, 포인팅 디바이스들, 및 다른 인간 인터페이스 디바이스들을 포함할 수 있다. 내부 구성요소들(800A,B)의 세트들 각각은 또한, 컴퓨터 디스플레이 모니터(920), 키보드(930), 및 컴퓨터 마우스(934)에 인터페이싱하기 위한 디바이스 드라이버들(840)을 포함한다. 디바이스 드라이버들(840), R/W 드라이브 또는 인터페이스(832), 및 네트워크 어댑터 또는 인터페이스(836)는 하드웨어 및 소프트웨어(저장 디바이스(830) 및/또는 ROM(824)에 저장됨)를 포함한다.
앞서서, 본 개시내용은 클라우드 컴퓨팅에 대한 상세한 설명을 포함하지만, 본원에 언급된 교시들의 구현은 클라우드 컴퓨팅 환경에 제한되지 않는다는 것이 이해된다. 오히려, 일부 실시예들은 현재 알려져 있거나 나중에 개발될 임의의 다른 유형의 컴퓨팅 환경과 함께 구현되는 것이 가능하다.
클라우드 컴퓨팅은, 최소한의 관리 노력 또는 서비스 제공자와의 상호작용으로 신속하게 프로비저닝 및 해제될 수 있는 구성가능한 컴퓨팅 리소스들(예컨대, 네트워크들, 네트워크 대역폭, 서버들, 처리, 메모리, 저장, 애플리케이션들, 가상 기계들, 및 서비스들)의 공유 풀에 대한 편리한 주문형(on-demand) 네트워크 액세스를 가능하게 하기 위한 서비스 전달 모델이다. 이러한 클라우드 모델은 적어도 5가지의 특성, 적어도 3개의 서비스 모델, 및 적어도 4개의 배포 모델을 포함할 수 있다.
특성들은 다음과 같다:
주문형 셀프-서비스: 클라우드 소비자는, 서비스의 제공자와 인간의 상호작용을 요구함이 없이 필요에 따라 자동으로 컴퓨팅 능력들, 이를테면, 서버 시간 및 네트워크 저장을 일방적으로 프로비저닝할 수 있다.
광범위한 네트워크 액세스: 능력들은 네트워크를 통해 이용가능하고, 이종 씬(thin) 또는 씩(thick) 클라이언트 플랫폼들(예컨대, 모바일 폰들, 랩톱들, 및 PDA들)의 사용을 장려하는 표준 메커니즘들을 통해 액세스된다.
리소스 풀링: 제공자의 컴퓨팅 리소스들은, 다수-세입자형(multi-tenant) 모델을 사용하여 다수의 소비자들을 서빙하도록 풀링되며, 상이한 물리적 및 가상 리소스들은 요구에 따라 동적으로 배정 및 재배정된다. 소비자는 일반적으로 제공된 리소스들의 정확한 위치에 대한 제어 또는 지식을 갖지 않지만, 더 높은 수준의 추상화(예컨대, 국가, 주, 또는 데이터센터)에서 위치를 특정하는 것이 가능할 수 있다는 점에서 위치 독립성의 의미가 있다.
신속한 탄력성: 능력들은, 신속하고 탄력적으로 프로비저닝되어, 일부 경우들에서는 자동으로, 빠르게 확장되고, 신속하게 해제되어 빠르게 축소될 수 있다. 소비자에게, 프로비저닝에 이용가능한 능력들은 종종, 무제한인 것으로 그리고 언제든지 임의의 양으로 구매될 수 있는 것으로 보인다.
측정된 서비스: 클라우드 시스템들은 서비스의 유형(예컨대, 저장, 처리, 대역폭, 및 활성 사용자 계정들)에 적절한 일부 추상화 수준에서 계량 능력을 활용함으로써 리소스 사용을 자동으로 제어하고 최적화한다. 리소스 사용이 모니터링되고, 제어되고, 보고될 수 있어서, 활용되는 서비스의 제공자와 소비자 둘 모두에게 투명성이 제공된다.
서비스 모델들은 다음과 같다:
서비스로서의 소프트웨어(SaaS): 소비자에게 제공되는 능력은 클라우드 기반구조 상에서 실행되는 제공자의 애플리케이션들을 사용하는 것이다. 애플리케이션들은 씬 클라이언트 인터페이스, 이를테면 웹 브라우저(예컨대, 웹 기반 이메일)를 통해 다양한 클라이언트 디바이스들로부터 액세스가능하다. 소비자는, 제한된 사용자-특정 애플리케이션 구성 세팅들을 가능한 예외로 두고, 네트워크, 서버들, 운영 체제들, 저장소, 또는 심지어는 개별 애플리케이션 능력들을 포함하는 기저 클라우드 기반구조를 관리하거나 제어하지 않는다.
서비스로서의 플랫폼(PaaS): 소비자에게 제공되는 능력은, 제공자에 의해 지원되는 프로그래밍 언어들 및 도구들을 사용하여 생성된, 소비자에 의해 생성되거나 취득된 애플리케이션을 클라우드 기반구조에 배포하는 것이다. 소비자는, 네트워크들, 서버들, 운영 체제들, 또는 저장소를 포함하는 기저 클라우드 기반구조를 관리하거나 제어하지 않지만, 배포된 애플리케이션들, 및 가능하게는 애플리케이션 호스팅 환경 구성들을 제어할 수 있다.
서비스로서의 기반구조(laaS): 소비자에게 제공되는 능력은, 처리, 저장, 네트워크들, 및 다른 기본 컴퓨팅 리소스들을 프로비저닝하는 것이며, 여기서, 소비자는 운영 체제들 및 애플리케이션들을 포함할 수 있는 임의적 소프트웨어를 배포하고 실행할 수 있다. 소비자는 기저 클라우드 기반구조를 관리하거나 제어하지 않지만, 운영 체제들, 저장소, 배포된 애플리케이션들을 제어할 수 있고, 가능하게는, 선택 네트워킹 구성요소들(예컨대, 호스트 방화벽들)을 제한적으로 제어할 수 있다.
배포 모델들은 다음과 같다:
사설 클라우드: 클라우드 기반구조가 한 조직을 위해서만 운영된다. 그것은, 조직 또는 제3자에 의해 관리될 수 있으며, 온-프레미스(on-premise)들 또는 오프-프레미스(off-premise)들로 존재할 수 있다.
커뮤니티 클라우드: 클라우드 기반구조가 여러 조직들에 의해 공유되고, 관심사(예컨대, 미션, 보안 요건들, 정책, 및 규정 준수 고려사항들)를 공유하는 특정 커뮤니티를 지원한다. 그것은, 조직들 또는 제3자에 의해 관리될 수 있으며, 온-프레미스들 또는 오프-프레미스들로 존재할 수 있다.
공용 클라우드: 클라우드 기반구조가 일반 대중 또는 대규모 산업 그룹에 대해 이용가능하게 이루어지며, 클라우드 서비스들을 판매하는 조직에 의해 소유된다.
하이브리드 클라우드: 클라우드 기반구조가, 고유한 엔티티들로 남아 있지만 데이터 및 애플리케이션 이식성을 가능하게 하는 표준화된 또는 독점적인 기술(예컨대, 클라우드들 사이의 부하 균형을 위한 클라우드 버스팅)에 의해 함께 결속되는 2개 이상의 클라우드(사설, 커뮤니티, 또는 공용)의 구성이다.
클라우드 컴퓨팅 환경은, 무상태성(statelessness), 낮은 결합성(low coupling), 모듈성(modularity), 및 의미론적 상호운용성(semantic interoperability)에 초점을 두고 지향되는 서비스이다. 클라우드 컴퓨팅의 핵심에는 상호연결된 노드들의 네트워크를 포함하는 기반구조가 있다.
도 5를 참조하면, 예시적인 클라우드 컴퓨팅 환경(500)이 도시된다. 도시된 바와 같이, 클라우드 컴퓨팅 환경(500)은, 예컨대, 개인 휴대 정보 단말기(PDA) 또는 셀룰러 전화(54A), 데스크톱 컴퓨터(54B), 랩톱 컴퓨터(54C), 및/또는 자동차 컴퓨터 시스템(54N)과 같은, 클라우드 소비자들에 의해 사용되는 로컬 컴퓨팅 디바이스들이 그와 통신할 수 있는 하나 이상의 클라우드 컴퓨팅 노드(10)를 포함한다. 클라우드 컴퓨팅 노드들(10)은 서로 통신할 수 있다. 이들은, 위에서 설명된 바와 같은 사설, 커뮤니티, 공용, 또는 하이브리드 클라우드들, 또는 이들의 조합과 같은 하나 이상의 네트워크에서 물리적으로 또는 가상으로 그룹화(도시되지 않음)될 수 있다. 이는, 클라우드 컴퓨팅 환경(500)이, 클라우드 소비자가 로컬 컴퓨팅 디바이스 상에 리소스들을 유지할 필요가 없는 서비스들로서 기반구조, 플랫폼들, 및/또는 소프트웨어를 제공할 수 있게 한다. 도 5에 도시된 컴퓨팅 디바이스들(54A-N)의 유형들은 단지 예시적인 것으로 의도되고, 클라우드 컴퓨팅 노드들(10) 및 클라우드 컴퓨팅 환경(500)은 임의의 유형의 네트워크 및/또는 네트워크 어드레싱가능 연결(예컨대, 웹 브라우저를 사용함)을 통해 임의의 유형의 컴퓨터화된 디바이스와 통신할 수 있다는 것이 이해된다.
도 6을 참조하면, 클라우드 컴퓨팅 환경(500)(도 5)에 의해 제공되는 기능적 추상화 계층들의 세트(600)가 도시된다. 앞서서, 도 6에 도시된 구성요소들, 계층들, 및 기능들은 단지 예시적인 것으로 의도되고, 실시예들은 이에 제한되지 않는다는 것이 이해되어야 한다. 도시된 바와 같이, 다음의 계층들 및 대응하는 기능들이 제공된다:
하드웨어 및 소프트웨어 계층(60)은 하드웨어 및 소프트웨어 구성요소들을 포함한다. 하드웨어 구성요소들의 예들은: 메인프레임들(61); 감소된 명령어 세트 컴퓨터(RISC) 아키텍처 기반 서버들(62); 서버들(63); 블레이드 서버들(64); 저장 디바이스들(65); 및 네트워크들 및 네트워킹 구성요소들(66)을 포함한다. 일부 실시예들에서, 소프트웨어 구성요소들은, 네트워크 애플리케이션 서버 소프트웨어(67) 및 데이터베이스 소프트웨어(68)를 포함한다.
가상화 계층(70)은, 다음의 가상 엔티티들의 예들, 즉, 가상 서버들(71); 가상 저장소(72); 가상 사설 네트워크들을 포함하는 가상 네트워크들(73); 가상 애플리케이션들 및 운영 체제들(74); 및 가상 클라이언트들(75)이 그로부터 제공될 수 있는 추상화 계층을 제공한다.
일 예에서, 관리 계층(80)은 아래에 설명된 기능들을 제공할 수 있다. 리소스 프로비저닝(81)은, 클라우드 컴퓨팅 환경 내에서 작업들을 수행하는 데 활용되는 컴퓨팅 리소스들 및 다른 리소스들의 동적 조달을 제공한다. 계량 및 가격 책정(82)은, 리소스들이 클라우드 컴퓨팅 환경 내에서 활용됨에 따른 비용 추적, 및 이러한 리소스들의 소비에 대한 청구서 발부 또는 송장 발부를 제공한다. 일 예에서, 이러한 리소스들은 애플리케이션 소프트웨어 허가들을 포함할 수 있다. 보안은, 클라우드 소비자들 및 작업들에 대한 신원 확인뿐만 아니라 데이터 및 다른 리소스들에 대한 보호를 제공한다. 사용자 포털(83)은, 소비자들 및 시스템 관리자들에게 클라우드 컴퓨팅 환경에 대한 액세스를 제공한다. 서비스 수준 관리(84)는, 요구되는 서비스 수준들이 충족되도록 클라우드 컴퓨팅 리소스 할당 및 관리를 제공한다. 서비스 수준 계약(SLA) 계획 및 이행(85)은, SLA에 따라 향후의 요구가 예상되는 클라우드 컴퓨팅 리소스의 사전 준비(pre-arrangement) 및 조달을 제공한다.
작업부하 계층(90)은, 클라우드 컴퓨팅 환경이 활용될 수 있는 기능성의 예들을 제공한다. 이러한 계층으로부터 제공될 수 있는 작업부하들 및 기능들의 예들은: 맵핑 및 내비게이션(91); 소프트웨어 개발 및 수명주기 관리(92); 가상 교실 교육 전달(93); 데이터 분석 처리(94); 트랜잭션 처리(95); 및 NBMP FLUS 제어(96)를 포함한다. NBMP FLUS 제어(96)는, 소스 클라이언트가 FLUS 제어 인터페이스를 통해 작업흐름을 관리할 수 있는 NBMP 소스인 것을 허용할 수 있다.
일부 실시예들은, 임의의 가능한 기술적 세부 통합 수준에서 시스템, 방법, 및/또는 컴퓨터 판독가능 매체와 관련될 수 있다. 컴퓨터 판독가능 매체는, 프로세서로 하여금 동작들을 수행하게 하기 위한 컴퓨터 판독가능 프로그램 명령어들을 갖는 컴퓨터 판독가능 비-일시적 저장 매체(또는 매체들)를 포함할 수 있다.
컴퓨터 판독가능 저장 매체는, 명령어 실행 디바이스에 의한 사용을 위한 명령어를 보유하고 저장할 수 있는 유형적 디바이스일 수 있다. 컴퓨터 판독가능 저장 매체는, 예컨대, 전자 저장 디바이스, 자기 저장 디바이스, 광학 저장 디바이스, 전자기 저장 디바이스, 반도체 저장 디바이스, 또는 전술한 것들의 임의의 적합한 조합일 수 있지만, 이에 제한되지 않는다. 컴퓨터 판독가능 저장 매체의 더 구체적인 예들에 대한 비-포괄적 목록은 다음의 것들: 휴대용 컴퓨터 디스켓, 하드 디스크, 랜덤 액세스 메모리(RAM), 판독 전용 메모리(ROM), 소거가능한 프로그래밍가능 판독 전용 메모리(EPROM 또는 플래시 메모리), 정적 랜덤 액세스 메모리(SRAM), 휴대용 콤팩트 디스크 판독 전용 메모리(CD-ROM), 디지털 다기능 디스크(DVD), 메모리 스틱, 플로피 디스크, 기계적으로 인코딩된 디바이스, 이를테면, 펀치-카드들 또는 명령어들이 기록된 홈 내의 융기 구조, 및 전술한 것들의 임의의 적합한 조합을 포함한다. 본원에서 사용되는 바와 같이, 컴퓨터 판독가능 저장 매체는, 무선 파들 또는 다른 자유 전파 전자기 파들, 도파관 또는 다른 송신 매체를 통해 전파되는 전자기 파들(예컨대, 광섬유 케이블을 통과하는 광 펄스들), 또는 와이어를 통해 송신되는 전기 신호들과 같은 일시적인 신호 그 자체인 것으로 해석되어서는 안 된다.
본원에서 설명되는 컴퓨터 판독가능 프로그램 명령어들은, 네트워크, 예컨대, 인터넷, 근거리 네트워크, 광역 네트워크, 및/또는 무선 네트워크를 통해 컴퓨터 판독가능 저장 매체로부터 개개의 컴퓨팅/처리 디바이스들에 또는 외부 컴퓨터 또는 외부 저장 디바이스에 다운로드될 수 있다. 네트워크는, 구리 송신 케이블들, 광 송신 섬유들, 무선 송신, 라우터들, 방화벽들, 스위치들, 게이트웨이 컴퓨터들, 및/또는 에지 서버들을 포함할 수 있다. 각각의 컴퓨팅/처리 디바이스의 네트워크 어댑터 카드 또는 네트워크 인터페이스는, 네트워크로부터 컴퓨터 판독가능 프로그램 명령어를 수신하고 개개의 컴퓨팅/처리 디바이스 내의 컴퓨터 판독가능 저장 매체에 저장하기 위해 컴퓨터 판독가능 프로그램 명령어들을 전달한다.
동작들을 수행하기 위한 컴퓨터 판독가능 프로그램 코드/명령어들은, 어셈블러 명령어들, 명령어 세트 아키텍처(ISA) 명령어들, 기계 명령어들, 기계 종속 명령어들, 마이크로코드, 펌웨어 명령어들, 상태 세팅 데이터, 집적 회로를 위한 구성 데이터, 또는 Smalltalk, C++ 등과 같은 객체 지향 프로그래밍 언어를 포함하는 하나 이상의 프로그래밍 언어와, "C" 프로그래밍 언어 또는 유사한 프로그래밍 언어들과 같은 절차적 프로그래밍 언어들의 임의의 조합으로 작성된 소스 코드 또는 객체 코드일 수 있다. 컴퓨터 판독가능 프로그램 명령어들은, 전체적으로 사용자의 컴퓨터 상에서, 부분적으로 사용자의 컴퓨터 상에서, 독립형 소프트웨어 패키지로서, 부분적으로는 사용자의 컴퓨터 상에서 그리고 부분적으로는 원격 컴퓨터 상에서, 또는 전체적으로 원격 컴퓨터 또는 서버 상에서 실행될 수 있다. 후자의 시나리오에서, 원격 컴퓨터는, 근거리 네트워크(LAN) 또는 광역 네트워크(WAN)를 포함하는 임의의 유형의 네트워크를 통해 사용자의 컴퓨터에 연결될 수 있거나, 또는 외부 컴퓨터에 대해 (예컨대, 인터넷 서비스 제공자를 사용하여 인터넷을 통해) 연결이 이루어질 수 있다. 일부 실시예들에서, 예컨대, 프로그래밍가능 논리 회로, 필드 프로그래밍가능 게이트 어레이(FPGA)들, 또는 프로그래밍가능 논리 어레이들(PLA)을 포함하는 전자 회로는, 양상들 또는 동작들을 수행하기 위해, 컴퓨터 판독가능 프로그램 명령어들의 상태 정보를 활용하여 전자 회로를 개인화함으로써 컴퓨터 판독가능 프로그램 명령어들을 실행할 수 있다.
이러한 컴퓨터 판독가능 프로그램 명령어들은, 기계를 생성하기 위한 범용 컴퓨터, 특수 목적 컴퓨터, 또는 다른 프로그래밍가능 데이터 처리 장치의 프로세서에 제공될 수 있어서, 컴퓨터 또는 다른 프로그래밍가능 데이터 처리 장치의 프로세서를 통해 실행되는 명령어들은, 흐름도 및/또는 블록도의 블록 또는 블록들에서 특정되는 기능들/동작들을 구현하기 위한 수단을 생성한다. 이러한 컴퓨터 판독가능 프로그램 명령어들은 또한, 컴퓨터, 프로그래밍가능 데이터 처리 장치, 및/또는 다른 디바이스들이 특정 방식으로 기능하도록 지시할 수 있는 컴퓨터 판독가능 저장 매체에 저장될 수 있어서, 명령어들이 저장된 컴퓨터 판독가능 저장 매체는, 흐름도 및/또는 블록도의 블록 또는 블록들에서 특정되는 기능/동작의 양상들을 구현하는 명령어들을 포함하는 제조 물품을 포함한다.
컴퓨터 판독가능 프로그램 명령어들은 또한, 컴퓨터, 다른 프로그래밍가능 데이터 처리 장치, 또는 다른 디바이스 상으로 로딩되어, 컴퓨터에 의해 구현되는 프로세스를 생성하도록 일련의 동작 단계들이 컴퓨터, 다른 프로그래밍가능 장치, 또는 다른 디바이스 상에서 수행되게 할 수 있어서, 컴퓨터, 다른 프로그래밍가능 장치, 또는 다른 디바이스 상에서 실행되는 명령어들은 흐름도 및/또는 블록도의 블록 또는 블록들에서 특정되는 기능들/동작들을 구현한다.
도면들의 흐름도 및 블록도들은, 다양한 실시예들에 따른 시스템들, 방법들, 및 컴퓨터 판독가능 매체의 가능한 구현들의 아키텍처, 기능성, 및 동작을 예시한다. 이와 관련하여, 흐름도 또는 블록도들의 각각의 블록은, 특정된 논리적 기능(들)을 구현하기 위한 하나 이상의 실행가능 명령어를 포함하는, 모듈, 세그먼트, 또는 명령어들의 일부분을 표현할 수 있다. 방법, 컴퓨터 시스템, 및 컴퓨터 판독가능 매체는 도면들에 도시된 것들에 비해 부가적인 블록들, 더 적은 블록들, 상이한 블록들, 또는 상이하게 배열된 블록들을 포함할 수 있다. 일부 대안적인 구현들에서, 블록들에서 언급된 기능들은 도면들에서 언급된 순서와 다르게 발생할 수 있다. 예컨대, 연속적으로 도시된 2개의 블록은 사실상, 동시에 또는 실질적으로 동시에 실행될 수 있거나, 블록들은 수반되는 기능성에 따라 때로는 역순으로 실행될 수 있다. 또한, 블록도들 및/또는 흐름도 예시의 각각의 블록, 및 블록도들 및/또는 흐름도 예시의 블록들의 조합들은, 특정된 기능들 또는 동작들을 수행하는 특수 목적 하드웨어 기반 시스템들에 의해 구현되거나 특수 목적 하드웨어와 컴퓨터 명령어들의 조합들로 실행될 수 있다는 것이 유의될 것이다.
본원에 설명된 시스템들 및/또는 방법들은 상이한 형태들의 하드웨어, 펌웨어, 또는 하드웨어와 소프트웨어의 조합들로 구현될 수 있다는 것이 명백할 것이다. 이러한 시스템들 및/또는 방법들을 구현하는 데 사용되는 실제의 특수화된 제어 하드웨어 또는 소프트웨어 코드는 구현들을 제한하는 것이 아니다. 그에 따라, 시스템들 및/또는 방법들의 동작 및 거동은 본원에서 특정 소프트웨어 코드를 참조함이 없이 설명되었는데, 소프트웨어 및 하드웨어는 본원에서의 설명에 기반하여 시스템들 및/또는 방법들을 구현하도록 설계될 수 있다는 것이 이해된다.
본원에서 사용된 어떠한 요소, 동작, 또는 명령어도 명시적으로 그러한 것으로 설명되지 않는 한 핵심적이거나 필수적인 것으로 해석되어서는 안 된다. 또한, 본원에서 사용되는 바와 같이, 단수형들은 하나 이상의 항목을 포함하도록 의도되며, "하나 이상"과 상호교환가능하게 사용될 수 있다. 또한, 본원에서 사용되는 바와 같이, "세트"라는 용어는 하나 이상의 항목(예컨대, 관련 항목들, 비-관련 항목들, 관련 및 비-관련 항목들의 조합 등)을 포함하도록 의도되고, "하나 이상"과 상호교환가능하게 사용될 수 있다. 단 하나의 항목이 의도되는 경우, "하나"라는 용어 또는 유사한 언어가 사용된다. 또한, 본원에서 사용되는 바와 같이, "갖다", "갖는다", "가짐" 등은 제한을 두지 않는 용어들인 것으로 의도된다. 추가로, "~에 기반하여"라는 어구는 명시적으로 달리 언급되지 않는 한 "~에 적어도 부분적으로 기반하여"를 의미하도록 의도된다.
다양한 양상들 및 실시예들의 설명들이 예시의 목적들을 위해 제시되었지만, 포괄적이거나 개시된 실시예들로 제한되도록 의도되지 않는다. 특징들의 조합들이 청구항들에서 언급되고/거나 본 명세서에서 개시된다 하더라도, 이러한 조합들은 가능한 구현들의 개시내용을 제한하도록 의도되지 않는다. 사실, 이러한 특징들 중 다수는 청구항들에서 구체적으로 언급되지 않은 그리고/또는 본 명세서에서 구체적으로 개시되지 않은 방식들로 조합될 수 있다. 아래에 열거된 각각의 종속항은 하나의 청구항에만 직접 의존할 수 있지만, 가능한 구현들의 개시내용은 청구항 세트의 모든 각각의 다른 청구항과 조합된 각각의 종속항을 포함한다. 설명된 실시예들의 범위를 벗어나지 않으면서 많은 수정들 및 변형들이 관련 기술분야의 통상의 기술자들에게 명백할 것이다. 본원에서 사용된 용어는, 실시예들의 원리들, 시장에서 발견된 기술들에 대한 실제 적용 또는 기술적 개선을 가장 잘 설명하거나, 관련 기술분야의 다른 통상의 기술자들이 본원에 개시된 실시예들을 이해할 수 있게 하기 위해 선택되었다.

Claims (20)

  1. 프로세서에 의해 실행가능한, 5G 라이브 업링크 스트리밍용 프레임워크(FLUS) 제어를 통해 네트워크 기반 미디어 처리(NBMP) 작업흐름을 설정하기 위한 방법으로서,
    복수의 FLUS 발견 및 능력 메커니즘들을 통해 네트워크 플랫폼의 복수의 싱크들 및 네트워크 능력들을 발견하는 단계; 및
    FLUS 소스 및 FLUS 싱크를 포함하는 제어 인터페이스를 통해 NBMP 작업흐름을 생성, 업데이트, 검색, 및 삭제하는 단계
    를 포함하며, 상기 5G FLUS 제어는 NBMP 소스와 NBMP 작업흐름 관리자 사이에서 정보를 터널링하는 것을 지원하도록 확장되는, 방법.
  2. 제1항에 있어서,
    상기 네트워크 능력들은 식별자에 의해, 그리고 상기 네트워크 능력들의 설명들이 검색될 수 있는 URL 위치에 의해 설명되는, 방법.
  3. 제2항에 있어서,
    상기 능력들의 설명은 상기 NMBP 작업흐름 관리자가 NBMP, 상기 URL 위치, 및 상기 능력들을 설명하는 능력 설명 문서를 지원한다는 것을 표시하는 NBMP 스킴 식별자를 포함하는, 방법.
  4. 제1항에 있어서,
    상기 네트워크 능력들은 발견 응답들에 명시적으로 포함되는, 방법.
  5. 제1항에 있어서,
    상기 싱크들을 발견하는 단계는 상기 NBMP 소스가 상기 FLUS 소스에 요청을 하는 단계를 포함하는, 방법.
  6. 제1항에 있어서,
    상기 NBMP 작업흐름의 생성에 기반하여 HTTP 상태 코드가 반환되는, 방법.
  7. 제1항에 있어서,
    상기 FLUS 싱크는 현재 플랫폼 능력들을 획득하기 위해 상기 NBMP 작업흐름 관리자에게 요청을 전송하는, 방법.
  8. 5G 라이브 업링크 스트리밍용 프레임워크(FLUS) 제어를 통해 네트워크 기반 미디어 처리(NBMP) 작업흐름을 설정하기 위한 컴퓨터 시스템으로서,
    컴퓨터 프로그램 코드를 저장하도록 구성되는 하나 이상의 컴퓨터 판독가능 비-일시적 저장 매체; 및
    상기 컴퓨터 프로그램 코드에 액세스하고 상기 컴퓨터 프로그램 코드에 의해 지시되는 바와 같이 동작하도록 구성되는 하나 이상의 컴퓨터 프로세서
    를 포함하며, 상기 컴퓨터 프로그램 코드는,
    상기 하나 이상의 컴퓨터 프로세서로 하여금, 복수의 FLUS 발견 및 능력 메커니즘들을 통해 네트워크 플랫폼의 복수의 싱크들 및 네트워크 능력들을 발견하게 하도록 구성되는 발견 코드, 및
    상기 하나 이상의 컴퓨터 프로세서로 하여금, FLUS 소스 및 FLUS 싱크를 포함하는 제어 인터페이스를 통해 NBMP 작업흐름을 각각 생성, 업데이트, 검색, 및 삭제하게 하도록 구성되는 개개의 생성, 업데이트, 검색, 및 삭제 코드
    를 포함하며, 상기 5G FLUS 제어는 NBMP 소스와 NBMP 작업흐름 관리자 사이에서 정보를 터널링하는 것을 지원하도록 확장되는, 컴퓨터 시스템.
  9. 제8항에 있어서,
    상기 네트워크 능력들은 식별자에 의해, 그리고 상기 네트워크 능력들의 설명들이 검색될 수 있는 URL 위치에 의해 설명되는, 컴퓨터 시스템.
  10. 제9항에 있어서,
    상기 능력들의 설명은 상기 NMBP 작업흐름 관리자가 NBMP, 상기 URL 위치, 및 상기 능력들을 설명하는 능력 설명 문서를 지원한다는 것을 표시하는 NBMP 스킴 식별자를 포함하는, 컴퓨터 시스템.
  11. 제8항에 있어서,
    상기 네트워크 능력들은 발견 응답들에 명시적으로 포함되는, 컴퓨터 시스템.
  12. 제8항에 있어서,
    상기 싱크들을 발견하는 것은 상기 NBMP 소스가 상기 FLUS 소스에 요청을 하는 것을 포함하는, 컴퓨터 시스템.
  13. 제8항에 있어서,
    상기 NBMP 작업흐름의 생성에 기반하여 HTTP 상태 코드가 반환되는, 컴퓨터 시스템.
  14. 제8항에 있어서,
    상기 FLUS 싱크는 현재 플랫폼 능력들을 획득하기 위해 상기 NBMP 작업흐름 관리자에게 요청을 전송하는, 컴퓨터 시스템.
  15. 5G 라이브 업링크 스트리밍용 프레임워크(FLUS) 제어를 통해 네트워크 기반 미디어 처리(NBMP) 작업흐름을 설정하기 위한 컴퓨터 프로그램이 저장된 비-일시적인 컴퓨터 판독가능 매체로서,
    상기 컴퓨터 프로그램은, 하나 이상의 컴퓨터 프로세서로 하여금,
    복수의 FLUS 발견 및 능력 메커니즘들을 통해 네트워크 플랫폼의 복수의 싱크들 및 네트워크 능력들을 발견하게 하고,
    FLUS 소스 및 FLUS 싱크를 포함하는 제어 인터페이스를 통해 NBMP 작업흐름을 생성, 업데이트, 검색, 및 삭제하게 하도록
    구성되며, 상기 5G FLUS 제어는 NBMP 소스와 NBMP 작업흐름 관리자 사이에서 정보를 터널링하는 것을 지원하도록 확장되는, 컴퓨터 판독가능 매체.
  16. 제15항에 있어서,
    상기 네트워크 능력들은 식별자에 의해, 그리고 상기 네트워크 능력들의 설명들이 검색될 수 있는 URL 위치에 의해 설명되는, 컴퓨터 판독가능 매체.
  17. 제16항에 있어서,
    상기 능력들의 설명은 상기 NMBP 작업흐름 관리자가 NBMP, 상기 URL 위치, 및 상기 능력들을 설명하는 능력 설명 문서를 지원한다는 것을 표시하는 NBMP 스킴 식별자를 포함하는, 컴퓨터 판독가능 매체.
  18. 제15항에 있어서,
    상기 네트워크 능력들은 발견 응답들에 명시적으로 포함되는, 컴퓨터 판독가능 매체.
  19. 제15항에 있어서,
    상기 싱크들을 발견하는 것은 상기 NBMP 소스가 상기 FLUS 소스에 요청을 하는 것을 포함하는, 컴퓨터 판독가능 매체.
  20. 제15항에 있어서,
    상기 NBMP 작업흐름의 생성에 기반하여 HTTP 상태 코드가 반환되는, 컴퓨터 판독가능 매체.
KR1020227006148A 2020-03-30 2020-11-30 5g 라이브 업링크 스트리밍용 프레임워크(flus) 제어를 통한 네트워크 기반 미디어 처리(nbmp) 작업흐름 관리 KR20220038740A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US202063001946P 2020-03-30 2020-03-30
US63/001,946 2020-03-30
US17/034,778 2020-09-28
US17/034,778 US11063992B1 (en) 2020-03-30 2020-09-28 Network-based media processing (NBMP) workflow management through 5G framework for live uplink streaming (FLUS) control
PCT/US2020/062542 WO2021201920A1 (en) 2020-03-30 2020-11-30 Network-based media processing (nbmp) workflow management through 5g framework for live uplink streaming (flus) control

Publications (1)

Publication Number Publication Date
KR20220038740A true KR20220038740A (ko) 2022-03-29

Family

ID=76764548

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020227006148A KR20220038740A (ko) 2020-03-30 2020-11-30 5g 라이브 업링크 스트리밍용 프레임워크(flus) 제어를 통한 네트워크 기반 미디어 처리(nbmp) 작업흐름 관리

Country Status (6)

Country Link
US (3) US11063992B1 (ko)
EP (1) EP4004754A4 (ko)
JP (1) JP7395720B2 (ko)
KR (1) KR20220038740A (ko)
CN (1) CN114365107A (ko)
WO (1) WO2021201920A1 (ko)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20210088519A (ko) * 2018-12-03 2021-07-14 삼성전자주식회사 미디어 콘텐트 처리를 관리하기 위한 방법, 장치 및 컴퓨터 판독 가능한 기록 매체
CN112152988B (zh) * 2019-06-26 2022-07-29 腾讯美国有限责任公司 用于异步nbmp请求处理的方法、系统以及计算机设备和介质
US11297121B2 (en) * 2020-04-07 2022-04-05 Tencent America LLC Split rendering using network based media processing workflow

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11277598B2 (en) * 2009-07-14 2022-03-15 Cable Television Laboratories, Inc. Systems and methods for network-based media processing
US9699500B2 (en) * 2013-12-13 2017-07-04 Qualcomm Incorporated Session management and control procedures for supporting multiple groups of sink devices in a peer-to-peer wireless display system
US9998434B2 (en) * 2015-01-26 2018-06-12 Listat Ltd. Secure dynamic communication network and protocol
CN107431725B (zh) * 2015-03-13 2021-01-29 三星电子株式会社 用于通过无线链路维持持续传屏会话的方法
US11190554B2 (en) * 2017-06-20 2021-11-30 Samsung Electronics Co., Ltd. System and method for discovery and access of uplink services
US10924775B2 (en) * 2018-06-26 2021-02-16 Qualcomm Incorporated Uplink and downlink methods for efficient operation of live uplink streaming services
WO2020040939A1 (en) * 2018-08-20 2020-02-27 Sony Corporation Method and system for utilizing event specific priority in a network controlled uplink media transmission for a collaborative media production
CN112585921B (zh) * 2018-08-20 2023-04-18 索尼公司 提供事件协调的上行链路网络辅助的方法和网络元件
JP2022051975A (ja) * 2019-02-12 2022-04-04 ソニーグループ株式会社 情報処理装置および情報処理方法

Also Published As

Publication number Publication date
JP2022549261A (ja) 2022-11-24
JP7395720B2 (ja) 2023-12-11
WO2021201920A1 (en) 2021-10-07
US20210314371A1 (en) 2021-10-07
US20230216895A1 (en) 2023-07-06
US11063992B1 (en) 2021-07-13
EP4004754A4 (en) 2022-09-14
US11627169B2 (en) 2023-04-11
EP4004754A1 (en) 2022-06-01
CN114365107A (zh) 2022-04-15

Similar Documents

Publication Publication Date Title
US20190052735A1 (en) Chaining Virtual Network Function Services via Remote Memory Sharing
US11627169B2 (en) Network-based Media Processing (NBMP) workflow management through 5G Framework for Live Uplink Streaming (FLUS) control
US9577916B1 (en) Gateway flow plugin containers
US11582285B2 (en) Asynchronous workflow and task api for cloud based processing
US20180046393A1 (en) Dynamic compression for runtime services
US10728193B2 (en) Receiving and sharing files in a group messaging environment
US20230164210A1 (en) Asynchronous workflow and task api for cloud based processing
EP4000239B1 (en) 3rd generation partnership project (3gpp) framework for live uplink streaming (flus) sink capabilities determination
US11910412B2 (en) Media sink capabilities description
US11496537B2 (en) Method and apparatus for reverse address mapping when using content preparation in 5G networks
US11765236B2 (en) Efficient and extensive function groups with multi-instance function support for cloud based processing

Legal Events

Date Code Title Description
E902 Notification of reason for refusal