KR102648108B1 - Method for providing collaborative http adaptive streaming using wifi network based on software-defined networking and apparatus thereof - Google Patents

Method for providing collaborative http adaptive streaming using wifi network based on software-defined networking and apparatus thereof Download PDF

Info

Publication number
KR102648108B1
KR102648108B1 KR1020210140538A KR20210140538A KR102648108B1 KR 102648108 B1 KR102648108 B1 KR 102648108B1 KR 1020210140538 A KR1020210140538 A KR 1020210140538A KR 20210140538 A KR20210140538 A KR 20210140538A KR 102648108 B1 KR102648108 B1 KR 102648108B1
Authority
KR
South Korea
Prior art keywords
ratio
segment
bandwidth
slope
sdn
Prior art date
Application number
KR1020210140538A
Other languages
Korean (ko)
Other versions
KR20220063723A (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 KR20220063723A publication Critical patent/KR20220063723A/en
Application granted granted Critical
Publication of KR102648108B1 publication Critical patent/KR102648108B1/en

Links

Images

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/24Monitoring of processes or resources, e.g. monitoring of server load, available bandwidth, upstream requests
    • H04N21/2402Monitoring of the downstream path of the transmission network, e.g. bandwidth available
    • 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, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234381Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by altering the temporal resolution, e.g. decreasing the frame rate by frame skipping
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W24/00Supervisory, monitoring or testing arrangements
    • H04W24/08Testing, supervising or monitoring using real traffic
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W28/00Network traffic management; Network resource management
    • H04W28/02Traffic management, e.g. flow control or congestion control
    • H04W28/0231Traffic management, e.g. flow control or congestion control based on communication conditions
    • H04W28/0236Traffic management, e.g. flow control or congestion control based on communication conditions radio quality, e.g. interference, losses or delay

Abstract

본 발명의 SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치는, 프로세서(processor) 및 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)를 포함하고, 상기 적어도 하나의 명령은 상기 프로세서가, UE(USER ENTITY) 들이 자신의 네트워크 상황을 고려해서 스트리밍을 요청하는 단계, 네트워크에 혼잡이 발생했는지 판단하기 위해 UE(USER ENTITY)들이 사용하는 타임슬롯의 합이 각각의 AP(ACCESS POINT) 타임슬롯보다 더 큰지 확인하는 단계, 혼잡이 발생하면 각 변수들을 초기화 하는 단계, 기울기를 통해 비트레이트를 계산하는 단계를 포함하고, 다중 Wi-Fi 환경에서 MPEG-DASH와 SDN을 결합한 비디오 스트리밍 시스템상에서 서비스 받는 전체 사용자들의 비디오 품질의 합을 최대화하는 비디오 세그먼트의 비트레이트 결정 장치이다.The cooperative HTTP adaptive streaming device through an SDN-based multiple Wi-Fi network of the present invention includes a processor and a memory storing at least one command executed through the processor, and the at least one command is a step in which the processor requests streaming by UEs (USER ENTITY) considering their network conditions; the sum of the time slots used by UEs (USER ENTITY) to determine whether congestion has occurred in the network is determined by each AP ( ACCESS POINT) Includes the step of checking if it is larger than the timeslot, initializing each variable when congestion occurs, and calculating the bitrate through the slope. Video that combines MPEG-DASH and SDN in a multi-Wi-Fi environment It is a device that determines the bit rate of video segments that maximizes the sum of video quality of all users receiving service on a streaming system.

Description

SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 방법 및 장치{METHOD FOR PROVIDING COLLABORATIVE HTTP ADAPTIVE STREAMING USING WIFI NETWORK BASED ON SOFTWARE-DEFINED NETWORKING AND APPARATUS THEREOF}Method and device for cooperative HTTP adaptive streaming over SDN-based multiple Wi-Fi networks

본 발명은 다중 Wi-Fi 네트워크상에서 SDN(Software-Defined Networking)과 DASH(Dynamic Adaptive Streaming over HTTP) 기술을 이용함으로써 사용자들의 QoE(Quality of experience) 향상을 위한 기술이다.The present invention is a technology for improving users' QoE (Quality of experience) by using SDN (Software-Defined Networking) and DASH (Dynamic Adaptive Streaming over HTTP) technologies on multiple Wi-Fi networks.

최근 전세계적으로 YouTube, Facebook 과 같은 플랫폼이 급격히 성장하면서 비디오 트래픽 증가로 네트워크 망 관리자들이 어려움을 겪고 있다. Recently, as platforms such as YouTube and Facebook have grown rapidly around the world, network managers are experiencing difficulties due to increased video traffic.

DASH(Dynamic Adaptive Streaming over HTTP)는 사용자의 이용 가능한 네트워크 자원을 고려하여 영상의 비트레이트를 선택함으로써, 끊김 없는 고품질의 비디오를 스트리밍하는 기술 중 하나이다. DASH는 시변하는 네트워크 상황을 고려하기 위해 영상을 일정한 시간 간격인 세그먼트 단위로 분할 하며, 네트워크 상황에 적응적으로 영상을 제공하기 위해 세그먼트를 다양한 비트레이트로 인코딩하여 DASH Server에 저장한다. DASH Server는 저장된 세그먼트들의 길이, 비트레이트 정보를 XML 형태인 MPD(Media Presentation Description) 파일로 기술하여 저장하며, 사용자는 MPD 파일을 DASH Server로부터 수신받아서, 사용자의 네트워크 상황에 알맞은 세그먼트를 선택하고, 선택한 세그먼트를 DASH Server로 요청 및 수신 받아서 끊김 없는 고품질의 스트리밍 서비스를 받을 수 있다.DASH (Dynamic Adaptive Streaming over HTTP) is a technology that streams high-quality, seamless video by selecting the bitrate of the video considering the user's available network resources. DASH divides the video into segments at regular time intervals to take into account time-varying network conditions, and encodes the segments at various bitrates and stores them in the DASH Server to provide video adaptively to the network situation. The DASH Server describes and stores the length and bitrate information of the stored segments in an XML format MPD (Media Presentation Description) file. The user receives the MPD file from the DASH Server and selects a segment appropriate for the user's network situation. You can receive uninterrupted, high-quality streaming service by requesting and receiving selected segments from DASH Server.

SDN(Software-Defined Networking)은 기존의 전통적인 네트워크 구조에서 결합 돼 있던 제어부와 전송부를 분리하여 복잡도를 낮추고, Open Flow 기술을 통해 전체적인 네트워크를 하드웨어가 아닌 소프트웨어르 통해 제어할 수 있는 중앙집중형 시스템이다. 이러한 구조는 단일 사용자의 네트워크 상태뿐만 아니라, 네트워크에 참여하는 모든 구성원의 정보를 동시에 고려하여 자원을 관리할 수 있는 것이 특징이다.SDN (Software-Defined Networking) is a centralized system that reduces complexity by separating the control unit and transmission unit that were combined in the existing traditional network structure, and allows the entire network to be controlled through software rather than hardware through Open Flow technology. . This structure is characterized by being able to manage resources by simultaneously considering not only the network status of a single user but also the information of all members participating in the network.

DASH는 단일 사용자의 네트워크 상황만을 고려하여 영상의 품질을 결정한다. 따라서, 이기적인 사용자들이 네트워크 자원을 독점하게 될 경우, 네트워크에 참여하는 모든 유저들의 영상 품질의 합이 낮아지는 문제가 발생할 수 있다(P. Georgopopulos, Y. Elkhatib, M. Broadnet, M.Mu and N. Race, “Towards network-wide QoE fairness using openflow-assisted adaptive video streaming”, in Proceddings of ACM FhMn, pp. 15-20, 2013). 기존의 DASH를 SDN과 결합하여 자원 불공정성 문제를 해결하기 위한 연구가 있다(H. Noh, H. Lee, Y. Go. H. Park, J. Lee, J. Kim, H. Song, “Congestion-aware HTTP adaptive streaming system over SDN-enabled Wi-Fi network”, Wiley Online Library. Concurrency and Computation, April. 2019). 해당 연구에서는 SDN에서는 주기적으로 네트워크 자원 정보를 수집하여 혼잡이 발생 됐다고 판단될 경우, 전체적인 관점에서 네트워크 상황을 고려하여 자원을 분배하고 혼잡을 방지한다(D. Kreutz et al., “Software-defined networking: A comprehensive survey,” Proc. IEEE, vol. 103, no. 1, pp. 14-76, Jan. 2015.) 이를 통해 기존 DASH에서 이기적인 사용자에 의해 발생하는 문제점을 해결할 수 있다. 하지만 해당 연구의 경우 단일 AP에서만 고려되었기 때문에 다중 AP 상황에서의 효율적인 자원 분배 방법을 고려하지 않았다. SDNHAS 연구(A. Bentaleb, A. C. Begen, R. Zimmermann, and S. Harous, “SDNHAS: An SDN-enabled architecture to optimize QoE in HTTP adaptive streaming”, IEEE Trans. Multimedia, vol. 19, no. 10, pp. 2136-2151, Oct. 2017)에서는 SDN을 통하여 전체적인 네트워크 자원 정보를 수집하고, POMDP(Partially Observable Markov Decision Process) 방법을 이용하여 사용자들을 여러 그룹으로 나누며, 사용자들은 그룹에 따라 그에 맞는 영상을 서비스를 받는 방법을 제안한다. 해당 연구는 클러스터링을 통해 네트워크에 참여하는 전체적인 사용자들의 영상 품질을 향상시킬 수 있는 장점이 있지만, 단일 사용자의 특징은 고려하지 않는 단점이 있다. MP-DASH(B. Han, F. Qian, L. Ji, and V. Gopalakrishnan, “MP-DASH: Adaptive video streaming over preference-aware multipath,” in Proc. 12th Int. Conf. Emerg. Netw. Exp. Technol. (CoNEXT), Irvine, CA, USA, 2016, pp. 129-143. [Online]. Available: https://doi.org/10.1145/2999572.2999606.)는 네트워크 대역폭의 활용도를 높이기 위해 다중 경로 접속 방법을 이용한 연구이다. 해당 연구에서는 전체적인 영상의 품질을 높이기 위해 MPTCP(Multipath TCP)를 활용하였다(A. Ford, C. Raiciu, M. Handley, and O. Bonaventure. TCP Extensions for Multipath Operation with Multiple Addresses. RFC 6824, 2013).DASH determines video quality by considering only the network situation of a single user. Therefore, if selfish users monopolize network resources, a problem may occur where the sum of the video quality of all users participating in the network is lowered (P. Georgopopulos, Y. Elkhatib, M. Broadnet, M.Mu and N . Race, “Towards network-wide QoE fairness using openflow-assisted adaptive video streaming”, in Proceedings of ACM FhMn, pp. 15-20, 2013). There is research to solve the resource unfairness problem by combining existing DASH with SDN (H. Noh, H. Lee, Y. Go. H. Park, J. Lee, J. Kim, H. Song, “Congestion- aware HTTP adaptive streaming system over SDN-enabled Wi-Fi network”, Wiley Online Library. Concurrency and Computation, April. 2019). In this study, SDN periodically collects network resource information, and when it is determined that congestion has occurred, it distributes resources and prevents congestion by considering the network situation from an overall perspective (D. Kreutz et al., “Software-defined networking : A comprehensive survey,” Proc. IEEE, vol. 103, no. 1, pp. 14-76, Jan. 2015.) Through this, problems caused by selfish users in existing DASH can be solved. However, because this study only considered a single AP, it did not consider an efficient resource distribution method in a multi-AP situation. SDNHAS study (A. Bentaleb, A. C. Begen, R. Zimmermann, and S. Harous, “SDNHAS: An SDN-enabled architecture to optimize QoE in HTTP adaptive streaming”, IEEE Trans. Multimedia, vol. 19, no. 10, pp . 2136-2151, Oct. 2017) collects overall network resource information through SDN, divides users into several groups using the POMDP (Partially Observable Markov Decision Process) method, and provides video services to users according to their group. Suggest a way to receive . This study has the advantage of improving the video quality of all users participating in the network through clustering, but has the disadvantage of not considering the characteristics of single users. MP-DASH (B. Han, F. Qian, L. Ji, and V. Gopalakrishnan, “MP-DASH: Adaptive video streaming over preference-aware multipath,” in Proc. 12th Int. Conf. Emerg. Netw. Exp. (CoNEXT), Irvine, CA, USA, 2016, pp. 129-143. [Online]. Available: https://doi.org/10.1145/2999572.2999606.) uses multi-path access to increase network bandwidth utilization. This is a study using a method. In this study, MPTCP (Multipath TCP) was used to improve the overall video quality (A. Ford, C. Raiciu, M. Handley, and O. Bonaventure. TCP Extensions for Multipath Operation with Multiple Addresses. RFC 6824, 2013) .

P. Georgopopulos, Y. Elkhatib, M. Broadnet, M.Mu and N. Race, “Towards network-wide QoE fairness using openflow-assisted adaptive video streaming”, in Proceddings of ACM FhMn, pp. 15-20, 2013. P. Georgopopulos, Y. Elkhatib, M. Broadnet, M.Mu and N. Race, “Towards network-wide QoE fairness using openflow-assisted adaptive video streaming”, in Proceedings of ACM FhMn, pp. 15-20, 2013. H. Noh, H. Lee, Y. Go. H. Park, J. Lee, J. Kim, H. Song, “Congestion-aware HTTP adaptive streaming system over SDN-enabled Wi-Fi network”, Wiley Online Library. Concurrency and Computation, April. 2019. H. Noh, H. Lee, Y. Go. H. Park, J. Lee, J. Kim, H. Song, “Congestion-aware HTTP adaptive streaming system over SDN-enabled Wi-Fi network”, Wiley Online Library. Concurrency and Computation, April. 2019. D. Kreutz et al., “Software-defined networking: A comprehensive survey,” Proc. IEEE, vol. 103, no. 1, pp. 14-76, Jan. 2015. D. Kreutz et al., “Software-defined networking: A comprehensive survey,” Proc. IEEE, vol. 103, no. 1, pp. 14-76, Jan. 2015. A. Bentaleb, A. C. Begen, R. Zimmermann, and S. Harous, “SDNHAS: An SDN-enabled architecture to optimize QoE in HTTP adaptive streaming”, IEEE Trans. Multimedia, vol. 19, no. 10, pp. 2136-2151, Oct. 2017. A. Bentaleb, A. C. Begen, R. Zimmermann, and S. Harous, “SDNHAS: An SDN-enabled architecture to optimize QoE in HTTP adaptive streaming”, IEEE Trans. Multimedia, vol. 19, no. 10, pp. 2136-2151, Oct. 2017. B. Han, F. Qian, L. Ji, and V. Gopalakrishnan, “MP-DASH: Adaptive video streaming over preference-aware multipath,” in Proc. 12th Int. Conf. Emerg. Netw. Exp. Technol. (CoNEXT), Irvine, CA, USA, 2016, pp. 129-143. [Online]. Available: https://doi.org/10.1145/2999572.2999606. B. Han, F. Qian, L. Ji, and V. Gopalakrishnan, “MP-DASH: Adaptive video streaming over preference-aware multipath,” in Proc. 12th Int. Conf. Emerg. Netw. Exp. Technol. (CoNEXT), Irvine, CA, USA, 2016, pp. 129-143. [Online]. Available: https://doi.org/10.1145/2999572.2999606. A. Ford, C. Raiciu, M. Handley, and O. Bonaventure. TCP Extensions for Multipath Operation with Multiple Addresses. RFC 6824, 2013. A. Ford, C. Raiciu, M. Handley, and O. Bonaventure. TCP Extensions for Multipath Operation with Multiple Addresses. RFC 6824, 2013.

상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, SDN 컨트롤러는 주기적으로 AP(Access Point)로부터 네트워크 트래픽 정보를 모니터링하며, 모니터링 된 정보를 이용하여 영상의 비트레이트와 AP(ACCESS POINT) 연결 비율을 조절함으로써 QoE를 증진시키는 SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 방법 및 장치를 제공하는 것이다.The purpose of the present invention to solve the above problems is that the SDN controller periodically monitors network traffic information from an AP (Access Point) and uses the monitored information to determine the video bitrate and AP (ACCESS POINT) connection ratio. To provide a cooperative HTTP adaptive streaming method and device through SDN-based multiple Wi-Fi networks that improves QoE by controlling .

본 발명의 일 실시예에 따른 SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치는, 프로세서(processor); 및 프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory); 를 포함하고, 상기 적어도 하나의 명령은 상기 프로세서가: UE(User Entity) 들이 자신의 네트워크 상황을 고려해서 스트리밍을 요청하는 단계; 네트워크에 혼잡이 발생했는지 판단하기 위해 UE(USER ENTITY)들이 사용하는 타임슬롯의 합이 각각의 AP(ACCESS POINT) 타임슬롯보다 더 큰지 확인하는 단계; 혼잡이 발생하면 각 변수들을 초기화 하는 단계; 기울기를 통해 비트레이트를 계산하는 단계; 를 포함하고, 다중 Wi-Fi 환경에서 MPEG-DASH와 SDN을 결합한 비디오 스트리밍 시스템상에서 서비스 받는 전체 사용자들의 비디오 품질의 합을 최대화하는 비디오 세그먼트의 비트레이트 결정 장치일 수 있다.A cooperative HTTP adaptive streaming device through SDN-based multiple Wi-Fi networks according to an embodiment of the present invention includes a processor; and a memory storing at least one instruction to be executed through a processor. Includes, wherein the at least one command includes: requesting streaming from user entities (UEs) considering their network conditions; Checking whether the sum of time slots used by UEs (USER ENTITY) is greater than each AP (ACCESS POINT) timeslot to determine whether congestion has occurred in the network; Initializing each variable when congestion occurs; calculating the bit rate through the gradient; It may be a device for determining the bitrate of video segments that maximizes the sum of video quality of all users served on a video streaming system combining MPEG-DASH and SDN in a multi-Wi-Fi environment.

상기 장치는, SDN Application이 알고리즘을 통해 계산한 비트레이트를 이용하여 Media Server로 세그먼트를 요청하는 DASH Client; DASH Client로부터 네트워크 자원 정보를 주기적으로 수집하고 SDN Application에게 수집한 정보들을 제공하는 AP Agent; DASH Client가 요청한 세그먼트의 비트레이트를 알고리즘을 통해 전체 네트워크 상황을 고려하여 계산한 후 응답하는 SDN Application; 세그먼트 요청을 받을 경우 요청된 비트레이트로 인코딩된 영상을 DASH Client에게 제공하는 Media Server; 를 포함할 수 있다.The device includes a DASH Client that requests a segment from the Media Server using a bitrate calculated by an SDN Application algorithm; AP Agent that periodically collects network resource information from DASH Client and provides the collected information to SDN Application; SDN Application that calculates the bitrate of the segment requested by the DASH Client by considering the entire network situation through an algorithm and then responds; Media Server that provides video encoded at the requested bitrate to the DASH Client when a segment request is received; may include.

DASH Client는, 실질적인 스트리밍 서비스를 받는 UE(User Entity)이고, 다중 경로 접속을 구현하기 위해 추가적인 무선 LAN 인터페이스가 장착되고, 각각의 무선 LAN 인터페이스는 하나의 AP(ACCESS POINT)와 연결되고, Multipath Agent 모듈을 통해 수신받고자 하는 비디오 세그먼트를 각 AP(ACCESS POINT)의 네트워크 상태를 고려하여 분할하여 수신되고, 스트리밍 서비스 요청 시 Media Server(40)로부터 각 영상의 세그먼트 정보가 담긴 MPD 파일을 요청할 수 있다.DASH Client is a UE (User Entity) that actually receives streaming services, and is equipped with an additional wireless LAN interface to implement multipath access. Each wireless LAN interface is connected to one AP (ACCESS POINT), and the Multipath Agent Video segments to be received through the module are received by dividing them considering the network status of each AP (ACCESS POINT), and when requesting streaming service, an MPD file containing segment information of each video can be requested from the Media Server 40.

MPD 파일은, 각 세그먼트의 길이, 인코딩 비트레이트, URL 정보를 포함한 XML 형식의 파일로, DASH Client가 시변하는 네트워크 상황에 따라 어떤 세그먼트를 선택해야 하는지 정보를 제공할 수 있다.The MPD file is an XML format file containing the length, encoding bitrate, and URL information of each segment, and can provide information on which segment the DASH Client should select according to time-varying network conditions.

SDN Application은, DASH Client가 요청한 세그먼트의 비트레이트를 알고리즘을 통해 전체 네트워크 상황을 고려하여 계산한 후 응답하고, 이후 DASH Client는 SDN Application이 알고리즘을 통해 계산한 비트레이트를 이용하여 Media Server로 세그먼트를 요청할 수 있다.The SDN Application responds after calculating the bitrate of the segment requested by the DASH Client, taking into account the entire network situation through an algorithm. Afterwards, the DASH Client sends the segment to the Media Server using the bitrate calculated by the SDN Application through the algorithm. You can request it.

AP Agent는, 네트워크 자원 정보는 RSSI(Received Signal Strength Indication) 신호에 기반한 대역폭 모델을 사용하고, 대역폭 모델은 측정된 대역폭과 AP Agent에서 얻어지는 RSSI 값들을 통해 커브 피팅(Curve fitting) 하여 결정되고, EWMA(Exponentially Weighted Moving Average)모델을 적용하여 대역폭을 안정화하여 사용할 수 있다.The AP Agent uses a bandwidth model based on the RSSI (Received Signal Strength Indication) signal for network resource information, and the bandwidth model is determined by curve fitting through the measured bandwidth and RSSI values obtained from the AP Agent, and EWMA Bandwidth can be stabilized and used by applying the (Exponentially Weighted Moving Average) model.

SDN Application은, Traffic Info Collector 모듈을 통해 모든 AP Agent들로부터 자원을 주기적으로 수집하고, 수집된 자원을 바탕으로 Streaming Optimizer 소프트웨어 모듈을 통해 전체적인 네트워크 상황을 고려하여 DASH Client들의 세그먼트 비트레이트와 다중 경로 중에서 어떤 경로로 세그먼트를 얼마나 받아야 하는지에 대한 비율을 결정할 수 있다.SDN Application periodically collects resources from all AP Agents through the Traffic Info Collector module, and based on the collected resources, considers the overall network situation through the Streaming Optimizer software module to select the segment bitrate and multi-path of DASH Clients. You can determine the ratio of how many segments should be received through which path.

Media Server는, DASH Client에게 제공 가능한 세그먼트들의 정보를 담고 있는 MPD 파일과, 다양한 비트레이트로 인코딩된 비디오 세그먼트들을 저장하고 있는 웹 서버로 구성되고, 세그먼트 요청을 받을 경우 요청된 비트레이트로 인코딩된 영상을 DASH Client에게 제공할 수 있다.The Media Server consists of an MPD file containing information on segments that can be provided to the DASH Client, and a web server that stores video segments encoded at various bitrates. When a segment request is received, the video encoded at the requested bitrate can be provided to DASH Client.

본 발명의 다른 일 실시예에 따른 SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 방법은, 다중 Wi-Fi 환경에서 MPEG-DASH와 SDN을 결합한 비디오 스트리밍 시스템의 SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 방법에 있어서, UE(USER ENTITY) 들이 자신의 네트워크 상황을 고려해서 스트리밍을 요청하는 단계; 네트워크에 혼잡이 발생했는지 판단하기 위해 UE(USER ENTITY)들이 사용하는 타임슬롯의 합이 각각의 AP 타임슬롯보다 더 큰지 확인하는 단계; 혼잡이 발생하면 각 변수들을 초기화 하는 단계; 기울기를 통해 비트레이트를 계산하는 단계; 를 포함하고, 서비스 받는 전체 사용자들의 비디오 품질의 합을 최대화하는 비디오 세그먼트의 비트레이트 결정 방법일 수 있다.The cooperative HTTP adaptive streaming method through SDN-based multiple Wi-Fi networks according to another embodiment of the present invention is an SDN-based multiple Wi-Fi network of a video streaming system that combines MPEG-DASH and SDN in a multiple Wi-Fi environment. In the cooperative HTTP adaptive streaming method through a network, UEs (USER ENTITY) request streaming in consideration of their network conditions; Checking whether the sum of time slots used by UEs (USER ENTITY) is greater than each AP timeslot to determine whether congestion has occurred in the network; Initializing each variable when congestion occurs; calculating the bit rate through the gradient; It may be a method of determining the bit rate of a video segment that maximizes the sum of video quality of all users receiving the service.

기울기를 통해 비트레이트를 계산하는 단계는, 라그랑주 승수법을 통해 도출된 수학식 10를 이용하고, 각 UE(USER ENTITY)들의 가상 AP(ACCESS POINT)의 대역폭을 수학식 11을 통해 계산할 수 있다.In the step of calculating the bit rate through the slope, Equation 10 derived through the Lagrange multiplier method can be used, and the bandwidth of the virtual AP (ACCESS POINT) of each UE (USER ENTITY) can be calculated through Equation 11.

기울기를 통해 비트레이트를 계산하는 단계는, 각 AP(ACCESS POINT)에 대해 사용 중인 네트워크 자원을 계산 단계: 버퍼 언더플로우 여부를 계산하여 특정 AP(ACCESS POINT)에서만 버퍼 언더플로우가 일어나는지 확인하는 단계; 및 한쪽 AP(ACCESS POINT)만 언더플로우가 발생하고, 나머지 AP(ACCESS POINT)에서는 언더플로우가 발생하지 않을 경우, 모든 AP(ACCESS POINT)들의 네트워크 자원이 효율적으로 활용되지 않는 것이므로 세그먼트를 나눠 받는 비율을 다시 조절하는 단계; 를 포함할 수 있다.The step of calculating the bit rate through the slope includes calculating the network resources in use for each AP (ACCESS POINT): calculating whether buffer underflow is present and checking whether buffer underflow occurs only at a specific AP (ACCESS POINT); And if underflow occurs in only one AP (ACCESS POINT) and no underflow occurs in the remaining APs (ACCESS POINT), the network resources of all APs (ACCESS POINT) are not utilized efficiently, and the segment sharing ratio re-adjusting; may include.

세그먼트를 나눠 받는 비율을 다시 조절하는 단계는, 세그먼트 비율을 조절할 UE(USER ENTITY)를 찾기 위해 각 UE(USER ENTITY)별로 사용 가능한 자원이 없는 AP(ACCESS POINT)와 사용 가능한 자원이 있는 AP(ACCESS POINT)의 대역폭 비율을 계산하고 오름차순으로 정렬을 하는 단계; 를 포함할 수 있다.In the step of readjusting the segment sharing ratio, in order to find a UE (USER ENTITY) to adjust the segment ratio, an AP (ACCESS POINT) with no available resources for each UE (USER ENTITY) and an AP with available resources (ACCESS POINT) calculating the bandwidth ratio and sorting in ascending order; may include.

세그먼트를 나눠 받는 비율을 다시 조절하는 단계는, 모든 AP(ACCESS POINT)에 대해서 언더플로우가 발생한다면, 비트레이트를 높게 설정한 것이므로 감소시켜야 하고, 반대로 모든 AP(ACCESS POINT)에 대해서 AP(ACCESS POINT)들의 사용 가능한 네트워크 자원이 많이 남는다면 증가시켜서 네트워크 자원을 완전히 활용할 수 있도록 하는 단계: 를 포함할 수 있다. In the step of re-adjusting the segment sharing ratio, if underflow occurs for all APs (ACCESS POINT), the bit rate has been set high and must be reduced. Conversely, the bit rate must be reduced for all APs (ACCESS POINT). ) If there are a lot of available network resources remaining, it may include a step of increasing them so that the network resources can be fully utilized.

이진 탐색을 이용하여 기울기를 조절하는 단계는, 자원이 충분한 경우에는 기울기를 줄여 영상의 품질을 높이는 단계; 및 조절된 기울기가 이전 루프에서 구해진 기울기와 차이가 작은지를 조사하는 단계; 조절된 기울기가 이전 루프에서 구해진 기울기와 차이가 소정의 크기보다 작다면 전체 알고리즘을 종료하는 단계; 를 포함할 수 있다. The step of adjusting the gradient using binary search includes increasing the quality of the image by reducing the gradient when there are sufficient resources; and examining whether the difference between the adjusted slope and the slope obtained in the previous loop is small; Terminating the entire algorithm if the difference between the adjusted slope and the slope obtained in the previous loop is less than a predetermined size; may include.

이진 탐색을 이용하여 기울기를 조절하는 단계는, 자원이 부족한 경우에는 기울기를 증가시킨 후, 기울기를 통해 비트레이트를 계산하는 단계를 수행하는 단계; 를 포함할 수 있다. The step of adjusting the gradient using binary search includes increasing the gradient when resources are insufficient and then calculating the bit rate through the gradient; may include.

네트워크에 혼잡이 발생했는지 판단하기 위해 UE(USER ENTITY)들이 사용하는 타임슬롯의 합이 각각의 AP(ACCESS POINT) 타임슬롯보다 더 큰지 확인하는 단계는, 사용하는 타임슬롯 합이 AP(ACCESS POINT) 타임슬롯보다 크다면 이는 AP(ACCESS POINT)에서 사용 가능한 자원이 없다는 의미이며, 단 하나의 AP(ACCESS POINT)라도 조건에 해당된다면 혼잡이 발생한 것으로 간주하는 단계; 혼잡이 발생하지 않은 경우, 사용자가 요청한 비트레이트로 스트리밍이 제공되며 알고리즘을 종료하는 단계; 및 혼잡이 발생한 경우, 혼잡이 발생하면 각 변수들을 초기화 하는 단계로 진행하는 단계; 를 포함할 수 있다.To determine whether congestion has occurred in the network, the step of checking whether the sum of time slots used by UEs (USER ENTITY) is greater than the time slots of each AP (ACCESS POINT) is to determine whether the sum of time slots used is greater than the AP (ACCESS POINT) time slot. If it is larger than the timeslot, it means that there are no resources available at the AP (ACCESS POINT), and if even one AP (ACCESS POINT) meets the condition, it is considered that congestion has occurred; If no congestion occurs, streaming is provided at the bitrate requested by the user and terminating the algorithm; and when congestion occurs, proceeding to initializing each variable when congestion occurs; may include.

혼잡이 발생하면 각 변수들을 초기화 하는 단계는, 초기 값을 설정하기 위해 기울기 값은 기울기 하한 값과 기울기 상한 값의 중간 값으로 설정하고, 이전 기울기 값은 알고리즘 종료 조건을 판단하는데 사용되어 기울기 상한 값으로 초기화 하고, 세그먼트를 나눠 받는 비율은 강한 RSSI 신호 세기를 제공하는 AP(ACCESS POINT)를 값 1로 초기화하는 단계; 를 포함할 수 있다.In the step of initializing each variable when congestion occurs, the slope value is set to the middle value between the lower slope value and the upper slope limit to set the initial value, and the previous slope value is used to determine the algorithm termination condition to set the upper slope limit value. Initializing the AP (ACCESS POINT), which provides strong RSSI signal strength, with a segment sharing ratio of 1; may include.

상기 방법은, 다중 Wi-Fi 환경에서 SDN을 활용하여 유저의 QoE 뿐만 아니라 AP(ACCESS POINT)의 활용성(Utilization)을 최대화하는 비디오 스트리밍 방법으로, 가상 AP(Virtual Access Point)는 여러 AP(ACCESS POINT)를 하나의 AP(ACCESS POINT)만 존재하는 것처럼 간주하고, 가상 AP(ACCESS POINT)를 사용할 경우 구해야 할 기울기를 하나로 줄임으로써 수학식 8, 수학식 9, 수학식 10으로 표현되고, 수학식 10 과 같이 표현되는 비트레이트와 기울기와의 관계식을 이용하여 기울기를 조절해 UE(USER ENTITY)들의 비트레이트를 구하고, 기울기는 이진탐색을 이용하여 제약조건들을 만족하는 비트레이트 값들을 구할 수 있다. The above method is a video streaming method that utilizes SDN in a multi-Wi-Fi environment to maximize not only the user's QoE but also the utilization of the AP (ACCESS POINT). POINT) is treated as if there is only one AP (ACCESS POINT), and when using a virtual AP (ACCESS POINT), the slope to be obtained is reduced to one, so it is expressed as Equation 8, Equation 9, and Equation 10, and Equation Using the relationship between bit rate and slope expressed as 10, the bit rate of UEs (USER ENTITY) can be obtained by adjusting the slope, and the bit rate values that satisfy the constraints can be obtained using binary search for the slope.

상기 방법은, AP(ACCESS POINT)를 하나로 설정함으로써 기존의 UE(USER ENTITY)와 AP(ACCESS POINT) 사이의 대역폭을 통합하기 위하여, 통합된 대역폭은 UE(USER ENTITY)와 AP(ACCESS POINT) 사이의 사용 비율을 고려해 수학식 11과 같이 정의될 수 잇다. The method is to integrate the bandwidth between the existing UE (USER ENTITY) and AP (ACCESS POINT) by setting one AP (ACCESS POINT), and the integrated bandwidth is between UE (USER ENTITY) and AP (ACCESS POINT). It can be defined as in Equation 11, considering the usage ratio of .

전술한 항 중 어느 한 항의 SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 방법의 프로그램을 구현하기 위한 컴퓨터 판독 가능한 기록매체일 수 있다.It may be a computer-readable recording medium for implementing a program of the cooperative HTTP adaptive streaming method through SDN-based multiple Wi-Fi networks according to any one of the preceding clauses.

본 발명에 의하면, SDN과 DASH 기반의 적응적 비디오 스트리밍 기술은 단일 사용자뿐만 아니라, 네트워크 전체를 고려하여 네트워크에 참여하는 구성원들의 비디오 품질을 향상 시킴으로써 QoE를 증진시킬 수 있다.According to the present invention, adaptive video streaming technology based on SDN and DASH can improve QoE by improving the video quality of members participating in the network by considering not only a single user but also the entire network.

또한, 특정 Access Point의 대역폭이 낭비되는 것을 방지함으로써 망 관리자가 불필요한 Access Point 추가 개설하는 것을 방지하여 비용을 절감할 수 있다.Additionally, by preventing the bandwidth of a specific Access Point from being wasted, costs can be reduced by preventing network managers from opening unnecessary additional Access Points.

도 1은 본 발명의 실시예에 따른 SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치의 구조도이다.
도 2는 도 1의 실시예에 따른 가상 AP(ACCESS POINT)의 이미지이다.
도 3은 도 1의 실시예에 따른 동작 순서도이다.
도 4는 본 발명의 실시예에 따른 SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 방법의 순서도이다.
도 5는 DASH Client(10)의 QOE를 최대화하기 위한 수도 코드 알고리즘 이미지이다.
도 6는 DASH Client(10)의 세그먼트 다운로드 비율을 조절하는 수도 코드 알고리즘 이미지이다.
도 7은 DASH Client(10)의 기울기 값을 조절하는 수도 코드 알고리즘 이미지이다.
도 8은 본 발명의 실시예에 따른 SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치의 구성도이다.
Figure 1 is a structural diagram of a cooperative HTTP adaptive streaming device through an SDN-based multiple Wi-Fi network according to an embodiment of the present invention.
FIG. 2 is an image of a virtual AP (ACCESS POINT) according to the embodiment of FIG. 1.
Figure 3 is an operation flow chart according to the embodiment of Figure 1.
Figure 4 is a flowchart of a cooperative HTTP adaptive streaming method through SDN-based multiple Wi-Fi networks according to an embodiment of the present invention.
Figure 5 is an image of a pseudo code algorithm for maximizing the QOE of the DASH Client (10).
Figure 6 is an image of a pseudo code algorithm that adjusts the segment download rate of the DASH Client (10).
Figure 7 is an image of a pseudo code algorithm that adjusts the slope value of the DASH Client (10).
Figure 8 is a configuration diagram of a cooperative HTTP adaptive streaming device through an SDN-based multiple Wi-Fi network according to an embodiment of the present invention.

본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다. Since the present invention can make various changes and have various embodiments, specific embodiments will be illustrated in the drawings and described in detail in the detailed description. However, this is not intended to limit the present invention to specific embodiments, and should be understood to include all changes, equivalents, and substitutes included in the spirit and technical scope of the present invention. While describing each drawing, similar reference numerals are used for similar components.

제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는 데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. "및/또는"이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다. Terms such as first, second, A, B, etc. may be used to describe various components, but the components should not be limited by the terms. The above terms are used only for the purpose of distinguishing one component from another. For example, a first component may be named a second component, and similarly, the second component may also be named a first component without departing from the scope of the present invention. The term “and/or” includes any of a plurality of related stated items or a combination of a plurality of related stated items.

어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다. When a component is said to be "connected" or "connected" to another component, it is understood that it may be directly connected to or connected to the other component, but that other components may exist in between. It should be. On the other hand, when it is mentioned that a component is “directly connected” or “directly connected” to another component, it should be understood that there are no other components in between.

본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.The terms used in this application are only used to describe specific embodiments and are not intended to limit the invention. Singular expressions include plural expressions unless the context clearly dictates otherwise. In this application, terms such as “comprise” or “have” are intended to designate the presence of features, numbers, steps, operations, components, parts, or combinations thereof described in the specification, but are not intended to indicate the presence of one or more other features. It should be understood that this does not exclude in advance the possibility of the existence or addition of elements, numbers, steps, operations, components, parts, or combinations thereof.

다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다. Unless otherwise defined, all terms used herein, including technical or scientific terms, have the same meaning as commonly understood by a person of ordinary skill in the technical field to which the present invention pertains. Terms defined in commonly used dictionaries should be interpreted as having a meaning consistent with the meaning in the context of the related technology, and unless explicitly defined in the present application, should not be interpreted in an ideal or excessively formal sense. No.

이하, 첨부한 도면들을 참조하여, 본 발명의 바람직한 실시예를 보다 상세하게 설명하고자 한다. 본 발명을 설명함에 있어 전체적인 이해를 용이하게 하기 위하여 도면상의 동일한 구성요소에 대해서는 동일한 참조부호를 사용하고 동일한 구성요소에 대해서 중복된 설명은 생략한다. Hereinafter, preferred embodiments of the present invention will be described in more detail with reference to the attached drawings. In order to facilitate overall understanding when describing the present invention, the same reference numerals are used for the same components in the drawings, and duplicate descriptions for the same components are omitted.

도 1은 본 발명의 일 실시예에 따른 본 발명의 실시예에 따른 SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치의 구조도이다.Figure 1 is a structural diagram of a cooperative HTTP adaptive streaming device through an SDN-based multiple Wi-Fi network according to an embodiment of the present invention.

도 1을 참조하면, 본 발명의 일 실시예에 따른 SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치는 DASH Client(10), AP Agent(20), SDN Application(30), Media Server(40)의 4가지 요소로 구성되어 있다. Referring to Figure 1, a cooperative HTTP adaptive streaming device through an SDN-based multiple Wi-Fi network according to an embodiment of the present invention includes DASH Client (10), AP Agent (20), SDN Application (30), and Media It consists of four elements: Server (40).

DASH Client(10)는 실질적으로 스트리밍 서비스를 받는 UE(User Entity)이다. 본 발명에서는 다중 경로 접속을 구현하기 위해 추가적인 무선 LAN 인터페이스를 DASH Client(10)에 장착하였고, 각각의 무선 인터페이스는 하나의 AP(ACCESS POINT)와 연결되도록 구성하였다. DASH Client(10)의 Multipath Agent 모듈을 통해 수신받고자 하는 비디오 세그먼트를 각 AP(ACCESS POINT)의네트워크 상태를 고려하여 분할하여 받는다. DASH Client(10)는 스트리밍 서비스 요청 시 Media Server(40)로부터 각 영상의 세그먼트 정보가 담긴 MPD 파일을 요청한다. MPD 파일은 각 세그먼트의 길이, 인코딩 비트레이트, URL 정보를 포함한 XML 형식의 파일로, DASH Client(10)가 시변하는 네트워크 상황에 따라 어떤 세그먼트를 선택해야 하는지 정보를 제공한다. 전통적인 DASH에 의해 선택된 세그먼트의 비트레이트는 전체적인 네트워크 상황을 고려하지 않아서 불공정한 네트워크 자원 분배 문제가 일어날 수 있다. 따라서, DASH Client(10)는 세그먼트를 요청할 때마다 SDN Application(30)에게 자신이 요청한 세그먼트의 비트레이트가 전체 네트워크 상황을 고려했을 때 적합한지 확인하는 절차가 필요하다. SDN Application(30)은 DASH Client(10)가 요청한 세그먼트의 비트레이트를 알고리즘을 통해 전체 네트워크 상황을 고려하여 계산한 후 응답한다. 이후 DASH Client(10)는 SDN Application(30)이 알고리즘을 통해 계산한 비트레이트를 이용하여 Media Server(40)로 세그먼트를 요청한다.The DASH Client 10 is actually a UE (User Entity) that receives streaming services. In the present invention, an additional wireless LAN interface was installed in the DASH Client (10) to implement multi-path access, and each wireless interface was configured to be connected to one AP (ACCESS POINT). Through the Multipath Agent module of the DASH Client (10), the video segments to be received are divided and received, taking into account the network status of each AP (ACCESS POINT). When requesting a streaming service, the DASH Client (10) requests an MPD file containing segment information for each video from the Media Server (40). The MPD file is an XML format file containing the length, encoding bitrate, and URL information of each segment, and provides information on which segment the DASH Client (10) should select according to time-varying network conditions. The bitrate of the segment selected by traditional DASH does not consider the overall network situation, which can lead to unfair network resource distribution problems. Therefore, each time the DASH Client (10) requests a segment, it is necessary to check with the SDN Application (30) whether the bit rate of the segment it requested is appropriate considering the overall network situation. The SDN Application (30) calculates the bitrate of the segment requested by the DASH Client (10) by considering the entire network situation through an algorithm and then responds. Afterwards, the DASH Client (10) requests a segment from the Media Server (40) using the bitrate calculated by the SDN Application (30) through an algorithm.

AP Agent(20)의 Traffic Info Transmitter 모듈(21)을 통해 DASH Client(10)로부터 네트워크 자원 정보를 주기적으로 수집하고 SDN Application(30)에게 수집한 정보들을 제공한다. 네트워크 전체 상황을 고려해야 하기 때문에, DASH Client(10)가 연결되지 않은 AP Agent(20)에 대해서도 파악할 수 있어야 한다. 이러한 문제를 해결하기 위해 네트워크 자원 정보는 RSSI(Received Signal Strength Indication) 신호에 기반한 대역폭 모델을 사용하였고, 대역폭 모델은 측정된 대역폭과 AP Agent(20)에서 얻어지는 RSSI 값들을 통해 커브 피팅(Curve fitting) 하여 결정된다. 또한, 네트워크 상황은 시간에 따라 급격하게 변화하는 성질이 있어서, 영상의 품질이 불규칙적으로 변화할 수 있기 때문에, EWMA(Exponentially Weighted Moving Average)모델을 적용하여 대역폭을 안정화하여 사용한다.Network resource information is periodically collected from the DASH Client (10) through the Traffic Info Transmitter module (21) of the AP Agent (20) and the collected information is provided to the SDN Application (30). Since the entire network situation must be considered, the DASH Client (10) must be able to identify AP Agents (20) that are not connected. To solve this problem, the network resource information used a bandwidth model based on the RSSI (Received Signal Strength Indication) signal, and the bandwidth model was curve fitted using the measured bandwidth and RSSI values obtained from the AP Agent (20). It is decided. In addition, since network conditions tend to change rapidly over time, and the quality of video may change irregularly, the EWMA (Exponentially Weighted Moving Average) model is applied to stabilize the bandwidth.

SDN Application(30)은 Traffic Info Collector 모듈(31)을 통해 모든 AP Agent(20)들로부터 자원을 주기적으로 수집한다. 수집된 자원을 바탕으로 Streaming Optimizer 소프트웨어 모듈(32)을 통해 전체적인 네트워크 상황을 고려하여 DASH Client(10)들의 세그먼트 비트레이트와 다중 경로 중에서 어떤 경로로 세그먼트를 얼마나 받아야 하는지에 대한 비율을 결정한다.SDN Application (30) periodically collects resources from all AP Agents (20) through the Traffic Info Collector module (31). Based on the collected resources, the overall network situation is considered through the Streaming Optimizer software module 32 to determine the segment bitrate of DASH Clients 10 and the ratio of how many segments should be received through which path among multiple paths.

Media Server(40)는 DASH Client(10)에게 제공 가능한 세그먼트들의 정보를 담고 있는 MPD 파일(41)과, 다양한 비트레이트로 인코딩된 비디오 세그먼트들(42)을 저장하고 있는 웹 서버이다. 세그먼트 요청을 받을 경우 요청된 비트레이트로 인코딩된 영상을 DASH Client(10)에게 제공한다.The Media Server 40 is a web server that stores an MPD file 41 containing information on segments that can be provided to the DASH Client 10 and video segments 42 encoded at various bit rates. When a segment request is received, video encoded at the requested bitrate is provided to the DASH Client (10).

수학식 1에서 번째 UE(USER ENTITY)가 스트리밍을 위해 선택한 비트레이트를 의미하고, 번째 UE(USER ENTITY)가 번째 AP를 통해 수신받는 비율을 의미하고, 은 UE(USER ENTITY)의 집합, 은 AP(ACCESS POINT)의 집합을 의미한다. 수학식 2는 영상의 품질을 PSNR(Peak Signal-to-Noise Ratio)을 통해 로그함수 형태로 표현한 것이며, 계수 는 UE(USER ENTITY)가 요청하는 영상의 종류, 비트레이트, 세그먼트 인덱스에 따라 모두 다른 값을 가지며 실제 영상 세그먼트의 PSNR 값을 커브 피팅하여 결정된다. 따라서 수학식 1과 수학식 2를 통해 본 발명은 전체 UE(USER ENTITY)들의 영상 품질을 합을 최대화하는 번째 유저의 비트레이트 번째 유저가 번째 AP(ACCESS POINT)를 통해 수신받는 비율 를 결정하는 문제이다. 이때 한 UE(USER ENTITY)가 여러 AP(ACCESS POINT)들로부터 세그먼트를 나눠 받는 비율의 합은 1이며(수학식 3), SDN Application(30)에 의해 조절된 비트레이트()는 클라이언트가 요청한 비트레이트()를 초과할 수 없다(수학식 4). 또한 버퍼 언더플로우가 발생하는 것을 방지하기 위해 타임슬롯은 버퍼 조절함수 를 통해 버퍼 한계치()와 DASH Client(10)들의 버퍼 중앙값()을 비교해 조절한다. 버퍼 한계치에 비해 버퍼에 쌓인 데이터 양이 적으면 영상의 끊김을 방지하기 위해 타임 슬롯을 감소시켜서 사용자들의 비트레이트를 낮춘다. 반대로 버퍼에 쌓인 데이터 양이 많으면 버퍼를 더 쌓을 수 있기 때문에 영상의 비트레이트를 높여 영상의 품질을 높인다. 이러한 기능을 제공하기 위해 는 아래와 같이 3 차 다항식인 수학식 6으로 정의된다. In equation 1 Is This refers to the bitrate selected by the second UE (USER ENTITY) for streaming, Is The first UE (USER ENTITY) is This refers to the rate of reception through the second AP, is a set of UE (USER ENTITY), means a set of AP (ACCESS POINT). Equation 2 expresses the image quality in the form of a logarithmic function through PSNR (Peak Signal-to-Noise Ratio), and the coefficient has different values depending on the type of video requested by the UE (USER ENTITY), bit rate, and segment index, and is determined by curve fitting the PSNR value of the actual video segment. Therefore, through Equation 1 and Equation 2, the present invention maximizes the sum of the video quality of all UEs (USER ENTITY). Bitrate of the second user class The second user Rate of reception through the first AP (ACCESS POINT) It is a matter of deciding. At this time, the sum of the ratios at which one UE (USER ENTITY) receives segments from multiple APs (ACCESS POINT) is 1 (Equation 3), and the bit rate adjusted by the SDN Application (30) ) is the bitrate requested by the client ( ) cannot be exceeded (Equation 4). Additionally, to prevent buffer underflow from occurring, the timeslot is a buffer control function. Via buffer limit ( ) and the buffer median of DASH Clients (10) ( ) to compare and adjust. If the amount of data accumulated in the buffer is small compared to the buffer limit, the bit rate for users is lowered by reducing the time slot to prevent video interruption. Conversely, if the amount of data accumulated in the buffer is large, more buffers can be accumulated, thereby increasing the video bit rate and improving video quality. To provide these features is defined by Equation 6, which is a third-order polynomial as follows.

위 식에서 의 계수이다. 또한 갑작스러운 품질 변화를 피하기 위해 의 출력 범위를 [- / 2, / 2]로 제한한다.In the above equation Is is the coefficient of Also, to avoid sudden changes in quality, The output range of [- / 2, / 2].

주어진 문제는 해를 구하기 위해 라그랑주 승수법(Lagrange multiplier) 을 이용한다. 라그랑주 승수법은 제약 조건을 만족하고 목적 함수를 최대화 혹은 최소화하는 해를 기하학적으로 구하는 방법이다. 최적의 해는 두 함수가 접하는 지점에 있다고 가정하며 기울기(λ) 조절을 통해 해를 구한다. 기존에 정의한 문제 정의를 라그랑주 승수법을 통해 표현하면 수학식 7과 같다.The given problem uses the Lagrange multiplier to find the solution. The Lagrange multiplier method is a method of geometrically obtaining a solution that satisfies constraints and maximizes or minimizes the objective function. The optimal solution is assumed to be at the point where the two functions meet, and the solution is obtained by adjusting the slope (λ). If the previously defined problem definition is expressed through the Lagrange multiplier method, it is as shown in Equation 7.

수학식 7에서 볼 수 있듯이 AP 1개당 기울기 1개가 발생하는데, 이는 여러 기울기 간의 의존성이 존재하여 복잡도가 크기 때문에 AP(ACCESS POINT)의 수가 증가할수록 다항 시간 내에 풀 수 없는 문제가 될 수 있다. 이러한 높은 시간 복잡도를 해결하기 위해 도 2와 같이 가상 AP(ACCESS POINT) 개념을 도입하여 문제를 해결한다.As can be seen in Equation 7, one gradient occurs per AP. This is a problem that cannot be solved in polynomial time as the number of APs (ACCESS POINT) increases because the complexity is high due to the dependence between multiple gradients. To solve this high time complexity, the problem is solved by introducing the virtual AP (ACCESS POINT) concept as shown in Figure 2.

도 2는 본 발명의 실시예에 따른 가상 AP(ACCESS POINT)의 이미지이다.Figure 2 is an image of a virtual AP (ACCESS POINT) according to an embodiment of the present invention.

도 2를 참조하면, 가상 AP(Virtual Access Point)는 여러 AP(ACCESS POINT)를 하나의 AP(ACCESS POINT)만 존재하는 것처럼 간주하여 문제를 푸는 방식이다. 가상 AP(ACCESS POINT)를 사용할 경우 구해야 할 기울기를 하나로 줄임으로써 다음과 같이 간소화 할 수 있다.Referring to FIG. 2, virtual AP (Virtual Access Point) is a method of solving the problem by treating multiple APs (ACCESS POINT) as if only one AP (ACCESS POINT) exists. When using a virtual AP (ACCESS POINT), the slope to be obtained can be simplified as follows by reducing it to one.

비트레이트와 기울기와의 관계는 수학식 10 와 같이 표현할 수 있으며, 해당 식을 이용하여 기울기를 조절해 UE(USER ENTITY)들의 비트레이트를 구한다. 기울기는 이진탐색을 이용하여 제약조건들을 만족하는 비트레이트 값들을 구한다. 또한 AP(ACCESS POINT)를 하나로 만듦으로써 기존의 UE(USER ENTITY)와 AP(ACCESS POINT) 사이의 대역폭을 통합해야 한다. 통합된 대역폭()은 UE(USER ENTITY)와 AP(ACCESS POINT) 사이의 사용 비율을 고려해 아래 수학식 11과 같이 정의된다. The relationship between bit rate and slope can be expressed as Equation 10, and the bit rate of UEs (USER ENTITY) is obtained by adjusting the slope using the equation. The gradient uses binary search to find bitrate values that satisfy the constraints. Additionally, the bandwidth between the existing UE (USER ENTITY) and AP (ACCESS POINT) must be integrated by creating one AP (ACCESS POINT). Integrated bandwidth ( ) is defined as Equation 11 below, considering the usage ratio between UE (USER ENTITY) and AP (ACCESS POINT).

가상 AP(ACCESS POINT) 개념을 적용한 후 문제를 다시 정의하면 다음과 같다. After applying the virtual AP (ACCESS POINT) concept, the problem is redefined as follows.

도 4는 본 발명의 실시예에 따른 SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 방법의 순서도이고, 도 5는 DASH Client(10)의 QOE를 최대화하기 위한 수도 코드 알고리즘 이미지이고, 도 6은 DASH Client(10)의 세그먼트 다운로드 비율을 조절하는 수도 코드 알고리즘 이미지이고, 도 7은 DASH Client(10)의 기울기 값을 조절하는 수도 코드 알고리즘 이미지이다.Figure 4 is a flowchart of a cooperative HTTP adaptive streaming method through SDN-based multiple Wi-Fi networks according to an embodiment of the present invention, and Figure 5 is an image of a pseudocode algorithm for maximizing the QOE of the DASH Client 10. Figure 6 is an image of a pseudo code algorithm that adjusts the segment download rate of the DASH Client (10), and Figure 7 is an image of a pseudo code algorithm that adjusts the slope value of the DASH Client (10).

도 3 내지 도 7을 참조하여, 본 발명의 실시예에 따른 SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 방법의 제어 변수 결정 알고리즘을 설명한다.With reference to FIGS. 3 to 7, a control variable determination algorithm of a cooperative HTTP adaptive streaming method through an SDN-based multiple Wi-Fi network according to an embodiment of the present invention will be described.

도 3을 참조하면, 전술한 문제를 풀기 위한 제어 변수 결정 알고리즘의 전체 플로우 차트가 도시된다. Referring to Figure 3, an overall flow chart of the control variable determination algorithm for solving the above-described problem is shown.

단계 1000: UE(USER ENTITY) 들이 자신의 네트워크 상황을 고려해서 을 선택하여 스트리밍을 요청한다.Step 1000: UE (USER ENTITY) considers their network situation Select to request streaming.

단계 1100: 네트워크에 혼잡이 발생했는지 판단하기 위해 UE(USER ENTITY)들이 사용하는 타임슬롯의 합()이 각각의 AP(ACCESS POINT) 타임슬롯()보다 더 큰지 확인한다. 사용하는 타임슬롯 합이 AP(ACCESS POINT) 타임슬롯보다 크다면 이는 AP(ACCESS POINT)에서 사용 가능한 자원이 없다는 의미이며, 단 하나의 AP(ACCESS POINT)라도 조건에 해당된다면 혼잡이 발생한 것으로 간주한다. 혼잡이 발생하지 않은 경우 가 되어, 사용자가 요청한 비트레이트로 스트리밍이 제공되며 알고리즘을 종료한다. 혼잡이 발생한 경우 단계 1200로 진행한다.Step 1100: Sum of timeslots used by UEs (USER ENTITY) to determine whether congestion has occurred in the network ( ) is each AP (ACCESS POINT) timeslot ( ) Check whether it is greater than . If the sum of used timeslots is greater than the AP (ACCESS POINT) timeslot, this means that there are no resources available at the AP (ACCESS POINT). If even one AP (ACCESS POINT) meets the condition, congestion is considered to have occurred. . When no congestion occurs Is , streaming is provided at the bitrate requested by the user, and the algorithm ends. If congestion occurs, proceed to step 1200.

단계 1200: 혼잡이 발생하면 도 5의 6~9 번째 줄과 같이 각 변수들을 초기화 한다. 초기 값을 설정하기 위해 기울기 값()은 기울기 하한 값()과 기울기 상한 값()의 중간 값으로 설정한다. 이전 기울기 값()은 알고리즘 종료 조건을 판단하는데 사용되며, 기울기 상한 값으로 초기화 한다. 세그먼트를 나눠 받는 비율()은 강한 RSSI 신호 세기를 제공하는 AP(ACCESS POINT)를 값 1로 초기화 한다.Step 1200: When congestion occurs, each variable is initialized as shown in lines 6 to 9 of FIG. 5. To set the initial value, the slope value ( ) is the lower limit of the slope ( ) and the upper slope value ( ) is set to the middle value. Previous slope value ( ) is used to determine the algorithm termination condition and is initialized to the upper slope value. Segment sharing ratio ( ) initializes the AP (ACCESS POINT), which provides strong RSSI signal strength, to the value of 1.

단계 1300: 라그랑주 승수법을 통해 도출된 수학식 10를 이용해서 기울기()를 통해 비트레이트()를 계산한다. DASH의 세그먼트들은 이산 값(Discrete value) 으로 인코딩 되어 있기 때문에, 계산된 비트레이트()를 양자화(Quantization) 하여서, MPD 파일에서 비트레이트()와 가장 근사한 값을 선택한다.Step 1300: Gradient using Equation 10 derived through the Lagrange multiplier method ( ) via bitrate ( ) is calculated. Because DASH segments are encoded as discrete values, the calculated bitrate ( ) by quantizing the bitrate ( ) Select the value that is closest to .

단계 1310: 수학식 11을 통해 각 UE(USER ENTITY)들의 가상 AP(ACCESS POINT)의 대역폭()을 계산하며, 각 AP(ACCESS POINT)에 대해 사용 중인 네트워크 자원()을 계산한다. 그 후, 버퍼 언더플로우 여부를 계산하여(), 특정 AP(ACCESS POINT) 에서만 버퍼 언더플로우가 일어나는지 확인한다(단계 1311). 만약 한쪽 AP(ACCESS POINT)만 언더플로우가 발생하고, 나머지 AP(ACCESS POINT)에서는 언더플로우가 발생하지 않을 경우, 모든 AP(ACCESS POINT)들의 네트워크 자원이 효율적으로 활용되지 않는 것이므로 세그먼트를 나눠 받는 비율()을 다시 조절해야 한다(단계 1312). 다시 조절하기 위해서 단계 1315을 수행한다. 만약 그렇지 않을 경우, 단계 1320를 수행한다.Step 1310: Bandwidth of the virtual AP (ACCESS POINT) of each UE (USER ENTITY) through Equation 11 ( ), and the network resources in use for each AP (ACCESS POINT) ( ) is calculated. Afterwards, calculate whether the buffer underflows ( ), check whether buffer underflow occurs only at a specific AP (ACCESS POINT) (step 1311). If underflow occurs in only one AP (ACCESS POINT) but does not occur in the remaining APs (ACCESS POINT), the network resources of all APs (ACCESS POINT) are not utilized efficiently, and the segment sharing ratio ( ) must be adjusted again (step 1312). Perform step 1315 to readjust. If not, step 1320 is performed.

단계 1315: 세그먼트를 나눠 받는 비율()을 다시 조절하기 위해서 도 6과 같이 세그먼트 비율을 조절할 UE(USER ENTITY)를 찾기 위해 각 UE(USER ENTITY)별로 사용 가능한 자원이 없는 AP(ACCESS POINT)와 사용 가능한 자원이 있는 AP(ACCESS POINT)의 대역폭 비율을 계산하고 오름차순으로 정렬을 한다. 정렬 후 대역폭 비율이 가장 낮은 UE(USER ENTITY)의 세그먼트 비율을 조절한다. 대역폭 비율이 가장 낮은 UE(USER ENTITY)를 조절하는 이유는 자원 사용이 많은 AP(ACCESS POINT)의 자원을 많이 줄이면서 사용이 적은 AP(ACCESS POINT)의 자원 사용량을 증가시킬 수 있기 때문이다.Step 1315: Segment split ratio ( ), an AP (ACCESS POINT) with no available resources and an AP (ACCESS POINT) with available resources for each UE (USER ENTITY) to find a UE (USER ENTITY) to adjust the segment ratio as shown in Figure 6. Calculate the bandwidth ratio and sort in ascending order. After sorting, adjust the segment ratio of the UE (USER ENTITY) with the lowest bandwidth ratio. The reason for adjusting the UE (USER ENTITY) with the lowest bandwidth ratio is to increase the resource usage of the AP (ACCESS POINT) with low resource use while greatly reducing the resources of the AP (ACCESS POINT) with high resource use.

단계 1320: 만약 모든 AP(ACCESS POINT)에 대해서 언더플로우가 발생한다면, 비트레이트()를 높게 설정한 것이므로 감소시켜야 하고. 반대로 모든 AP(ACCESS POINT)에 대해서 AP(ACCESS POINT)들의 사용 가능한 네트워크 자원이 많이 남는다면 증가시켜서 네트워크 자원을 완전히 활용할 수 있도록 만들어야 한다. 해당 과정을 수행하기 위해서 도 7과 같이 이진 탐색을 이용하여 기울기()를 조절한다. 자원이 충분한 경우에는 기울기()를 줄여 영상의 품질을 높인다(단계 1321). 이때 조절된 기울기가 이전 루프에서 구해진 기울기와 차이가 작은지(ε 이하)를 조사한다(단계 1322). 만약 차이가 작다면 더 이상 기울기 조절을 통해 비트레이트를 조절할 수 없다고 판단하여 전체 알고리즘을 종료한다(단계 1323). 자원이 부족한 경우에는 기울기를 증가시킨 후, 단계 1300을 수행한다(단계 1324).Step 1320: If underflow occurs for all APs (ACCESS POINT), bitrate ( ) is set high, so it must be decreased. Conversely, for all APs (ACCESS POINTs), if there are a lot of available network resources for APs (ACCESS POINTs), they must be increased to fully utilize the network resources. In order to perform this process, binary search is used as shown in Figure 7 to find the gradient ( ). If there are sufficient resources, the slope ( ) to increase the quality of the image (step 1321). At this time, it is checked whether the difference between the adjusted slope and the slope obtained in the previous loop is small (epsilon or less) (step 1322). If the difference is small, it is determined that the bit rate can no longer be adjusted through slope adjustment, and the entire algorithm is terminated (step 1323). If resources are insufficient, increase the slope and then perform step 1300 (step 1324).

도 8은 본 발명의 일 실시예의 SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치(100)의 구성도이다.Figure 8 is a configuration diagram of a cooperative HTTP adaptive streaming device 100 through an SDN-based multiple Wi-Fi network in an embodiment of the present invention.

도 8을 참조하면, 본 발명의 일 실시예의 SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치(100)는, 프로세서(110), 메모리(120), 송수신 장치(transceiver, 130), 입력 인터페이스 장치(140), 출력 인터페이스 장치(150), 저장 장치(160) 및 버스(bus)(170)를 포함하여 구성될 수 있다.Referring to FIG. 8, the cooperative HTTP adaptive streaming device 100 through an SDN-based multiple Wi-Fi network of an embodiment of the present invention includes a processor 110, a memory 120, and a transceiver (transceiver, 130). , may be configured to include an input interface device 140, an output interface device 150, a storage device 160, and a bus 170.

본 발명의 SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치(100)는, SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치(100)에 있어서, 프로세서(processor)(110), 프로세서(110)를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory)(120)를 포함하되, 적어도 하나의 명령은 상기 프로세서가, UE(USER ENTITY) 들이 자신의 네트워크 상황을 고려해서 스트리밍을 요청하는 단계, 네트워크에 혼잡이 발생했는지 판단하기 위해 UE(USER ENTITY)들이 사용하는 타임슬롯의 합이 각각의 AP 타임슬롯보다 더 큰지 확인하는 단계, 혼잡이 발생하면 각 변수들을 초기화 하는 단계, 기울기를 통해 비트레이트를 계산하는 단계를 수행하도록 구성된다.The cooperative HTTP adaptive streaming device 100 through an SDN-based multiple Wi-Fi network of the present invention includes a processor (processor). (110), including a memory 120 storing at least one command executed through the processor 110, wherein the at least one command is configured so that the processor, UEs (USER ENTITY) consider their network conditions. The step of requesting streaming, the step of checking whether the sum of the time slots used by UEs (USER ENTITY) is greater than the time slots of each AP to determine whether congestion has occurred in the network, and initializing each variable when congestion occurs. It is configured to perform the step of calculating the bit rate through the step and gradient.

프로세서(110)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. The processor 110 may refer to a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which methods according to embodiments of the present invention are performed.

메모리(120) 및 저장 장치(160) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다. Each of the memory 120 and the storage device 160 may be comprised of at least one of a volatile storage medium and a non-volatile storage medium. For example, the memory 120 may be comprised of at least one of read only memory (ROM) and random access memory (RAM).

또한, SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치(100)는 무선 네트워크를 통해 통신을 수행하는 송수신 장치(transceiver, 130)를 포함할 수 있다. Additionally, the cooperative HTTP adaptive streaming device 100 through an SDN-based multiple Wi-Fi network may include a transceiver 130 that performs communication through a wireless network.

또한, SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치(100)는 입력 인터페이스 장치(140), 출력 인터페이스 장치(150), 저장 장치(160) 등을 더 포함할 수 있다.In addition, the cooperative HTTP adaptive streaming device 100 through an SDN-based multiple Wi-Fi network may further include an input interface device 140, an output interface device 150, a storage device 160, etc.

SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치(100)에 포함된 각각의 구성 요소들은 버스(bus)(170)에 의해 연결되어 서로 통신을 수행할 수 있다.Each component included in the cooperative HTTP adaptive streaming device 100 through an SDN-based multiple Wi-Fi network is connected by a bus 170 and can communicate with each other.

본 발명의 SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치(100)의 예를 들면, 통신 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), PDA(Personal Digital Assistant) 등일 수 있다.Examples of the cooperative HTTP adaptive streaming device 100 through an SDN-based multiple Wi-Fi network of the present invention include a desktop computer, a laptop computer, a laptop, and a smartphone capable of communication. (smart phone), tablet PC, mobile phone, smart watch, smart glass, e-book reader, PMP (portable multimedia player), portable game console, navigation ( navigation) device, digital camera, digital multimedia broadcasting (DMB) player, digital audio recorder, digital audio player, digital video recorder, digital video player ( It may be a digital video player), PDA (Personal Digital Assistant), etc.

본 발명의 실시예들에 따른 방법의 동작은 컴퓨터로 읽을 수 있는 기록매체에 컴퓨터가 읽을 수 있는 프로그램 또는 코드로서 구현하는 것이 가능하다. 컴퓨터가 읽을 수 있는 기록매체는 컴퓨터 시스템에 의해 읽혀질 수 있는 데이터가 저장되는 모든 종류의 기록장치를 포함한다. 또한 컴퓨터가 읽을 수 있는 기록매체는 네트워크로 연결된 컴퓨터 시스템에 분산되어 분산 방식으로 컴퓨터로 읽을 수 있는 프로그램 또는 코드가 저장되고 실행될 수 있다.The operations of the method according to the embodiments of the present invention can be implemented as a computer-readable program or code on a computer-readable recording medium. Computer-readable recording media include all types of recording devices that store data that can be read by a computer system. Additionally, computer-readable recording media can be distributed across networked computer systems so that computer-readable programs or codes can be stored and executed in a distributed manner.

또한, 컴퓨터가 읽을 수 있는 기록매체는 롬(rom), 램(ram), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치를 포함할 수 있다. 프로그램 명령은 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다.Additionally, computer-readable recording media may include hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, etc. Program instructions may include not only machine language code such as that created by a compiler, but also high-level language code that can be executed by a computer using an interpreter, etc.

본 발명의 일부 측면들은 장치의 문맥에서 설명되었으나, 그것은 상응하는 방법에 따른 설명 또한 나타낼 수 있고, 여기서 블록 또는 장치는 방법 단계 또는 방법 단계의 특징에 상응한다. 유사하게, 방법의 문맥에서 설명된 측면들은 또한 상응하는 블록 또는 아이템 또는 상응하는 장치의 특징으로 나타낼 수 있다. 방법 단계들의 몇몇 또는 전부는 예를 들어, 마이크로프로세서, 프로그램 가능한 컴퓨터 또는 전자 회로와 같은 하드웨어 장치에 의해(또는 이용하여) 수행될 수 있다. 몇몇의 실시예에서, 가장 중요한 방법 단계들의 하나 이상은 이와 같은 장치에 의해 수행될 수 있다. Although some aspects of the invention have been described in the context of an apparatus, it may also refer to a corresponding method description, where a block or device corresponds to a method step or feature of a method step. Similarly, aspects described in the context of a method may also be represented by corresponding blocks or items or features of a corresponding device. Some or all of the method steps may be performed by (or using) a hardware device, such as a microprocessor, programmable computer, or electronic circuit, for example. In some embodiments, one or more of the most important method steps may be performed by such an apparatus.

실시예들에서, 프로그램 가능한 로직 장치(예를 들어, 필드 프로그머블 게이트 어레이)가 여기서 설명된 방법들의 기능의 일부 또는 전부를 수행하기 위해 사용될 수 있다. 실시예들에서, 필드 프로그머블 게이트 어레이는 여기서 설명된 방법들 중 하나를 수행하기 위한 마이크로프로세서와 함께 작동할 수 있다. 일반적으로, 방법들은 어떤 하드웨어 장치에 의해 수행되는 것이 바람직하다.In embodiments, a programmable logic device (e.g., a field programmable gate array) may be used to perform some or all of the functionality of the methods described herein. In embodiments, a field programmable gate array may operate in conjunction with a microprocessor to perform one of the methods described herein. In general, the methods are preferably performed by some hardware device.

이상 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.Although the present invention has been described with reference to preferred embodiments of the present invention, those skilled in the art may make various modifications and changes to the present invention without departing from the spirit and scope of the present invention as set forth in the claims below. You will understand that it is possible.

Claims (20)

프로세서(processor); 및
프로세서를 통해 실행되는 적어도 하나의 명령이 저장된 메모리(memory);
를 포함하고, 상기 적어도 하나의 명령에 의해 상기 프로세서는,
UE(User Entity)들로부터 각 UE가 선택한 세그먼트의 비트레이트로 영상의 스트리밍을 요청받는 단계;
상기 UE들의 복수의 AP(Access Point)들을 하나의 가상 AP(virtual AP, VAP)로 설정하고 각 UE가 세그먼트를 나눠 받는 비율에 기초하여 상기 VAP의 대역폭을 계산하는 단계;
상기 대역폭에 기초하여 각 AP가 사용 중인 네트워크 자원을 계산하는 단계;
네트워크에 혼잡이 발생했는지 판단하기 위해 각 AP의 상기 UE들이 사용하는 타임슬롯들의 합이 해당 AP 타임슬롯보다 큰지 확인하여 각 AP의 버퍼 언더플로우 여부를 판단하는 단계;
상기 버퍼 언더플로우가 특정 AP에서만 발생하면 상기 세그먼트의 비율을 조절할 UE를 찾기 위해 각 UE별로 사용가능한 자원이 없는 AP의 대역폭 비율과 사용가능한 자원이 있는 AP의 대역폭 비율을 계산하는 단계;
상기 UE별 모든 AP들을 상기 대역폭 비율의 오름차순으로 정렬하는 단계;
상기 정렬하는 단계에서의 정렬 후에 상기 대역폭 비율이 가장 낮은 UE의 세그먼트 비율을 증가시키는 단계;
상기 세그먼트 비율이 증가된 UE의 세그먼트 비율에 대한 라그랑주 승수법의 기울기와 이전 루프에서 구해진 세그먼트 비율에 대한 상기 기울기와의 차이가 기준치보다 작으면 상기 VAP의 대역폭을 계산하는 단계로 되돌아가지 않고 현재의 프로세스를 종료하는 단계; 및
상기 버퍼 언더플로우가 모든 AP들에서 발생하면 모든 AP들의 각 UE별 세그먼트를 나눠 받는 비율을 감소시킨 후 상기 VAP의 대역폭을 계산하는 단계로 되돌아가는 단계;를 수행하는,
SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치.
processor; and
A memory storing at least one instruction to be executed through a processor;
It includes, and by the at least one instruction, the processor,
Receiving a request from UEs (User Entities) to stream video at the bitrate of the segment selected by each UE;
Setting a plurality of access points (APs) of the UEs into one virtual AP (virtual AP, VAP) and calculating the bandwidth of the VAP based on the ratio in which each UE receives a segment;
calculating network resources being used by each AP based on the bandwidth;
In order to determine whether congestion has occurred in the network, determining whether the buffer underflow of each AP is performed by checking whether the sum of the time slots used by the UEs of each AP is greater than the corresponding AP timeslot;
If the buffer underflow occurs only in a specific AP, calculating the bandwidth ratio of the AP without available resources and the bandwidth ratio of the AP with available resources for each UE to find a UE to adjust the segment ratio;
Sorting all APs for each UE in ascending order of the bandwidth ratio;
increasing the segment ratio of the UE with the lowest bandwidth ratio after alignment in the sorting step;
If the difference between the slope of the Lagrange multiplier method for the segment ratio of the UE with the increased segment ratio and the slope for the segment ratio obtained in the previous loop is less than the reference value, the current bandwidth is not returned to the step of calculating the bandwidth of the VAP. terminating the process; and
If the buffer underflow occurs in all APs, reducing the ratio of all APs to receiving segments for each UE and then returning to the step of calculating the bandwidth of the VAP; performing,
Cooperative HTTP adaptive streaming devices over SDN-based multiple Wi-Fi networks.
청구항 1에 있어서,
상기 프로세서는, 상기 VAP의 대역폭을 계산하는 단계에서,
상기 라그랑주 승수법을 통해 도출된 수학식 10의 기울기(λ)를 이용하여 비트레이트를 계산하고, 계산된 비트레이트를 양자화하여 Media Server로부터 받은 MPD(Media Presentation Description) 파일에서 양자화된 비트레이트와 가장 근사한 값을 선택하고, 각 UE들의 가상 AP의 대역폭을 수학식 11을 통해 계산하며,
Figure 112023108092818-pat00065

수학식 10에서,
Figure 112023108092818-pat00069
는 i번째 UE가 스트리밍을 위해 선택한 비트레이트를,
Figure 112023108092818-pat00070
는 i번째 UE가 요청한 영상 세그먼트의 PSNR(Peak Signal-to-Noise Ratio) 계수를, i는 임의의 자연수를, 그리고 N은 UE의 집합을 각각 나타내고,
수학식 11에서,
Figure 112023108092818-pat00071
는 통합된 대역폭을, M은 AP의 집합을,
Figure 112023108092818-pat00072
는 i번째 UE가 j번째 AP를 통해 수신받는 세그먼트 비율을, i는 임의의 자연수를, 그리고
Figure 112023108092818-pat00073
는 i번째 UE가 j번째 AP를 통해 수신받는 대역폭을 각각 나타내는,
SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치.
In claim 1,
In the step of calculating the bandwidth of the VAP, the processor
The bit rate is calculated using the slope (λ) of Equation 10 derived through the Lagrange multiplier method, the calculated bit rate is quantized, and the quantized bit rate and the most Select an approximate value and calculate the bandwidth of the virtual AP of each UE using Equation 11,
Figure 112023108092818-pat00065

In equation 10,
Figure 112023108092818-pat00069
is the bitrate selected by the ith UE for streaming,
Figure 112023108092818-pat00070
represents the Peak Signal-to-Noise Ratio (PSNR) coefficient of the video segment requested by the ith UE, i is a random natural number, and N represents the set of UEs,
In equation 11,
Figure 112023108092818-pat00071
is the integrated bandwidth, M is the set of APs,
Figure 112023108092818-pat00072
is the segment ratio that the ith UE receives through the jth AP, i is a random natural number, and
Figure 112023108092818-pat00073
represents the bandwidth that the i-th UE receives through the j-th AP, respectively.
Cooperative HTTP adaptive streaming devices over SDN-based multiple Wi-Fi networks.
청구항 2에 있어서,
상기 프로세서는, 상기 기울기가 수학식 8, 및 수학식 9로 표현될 때, 수학식 10으로 표현되는 비트레이트와 기울기와의 관계식을 이용하여 상기 기울기를 조절함으로써 각 UE의 비트레이트를 구하는 단계를 더 수행하고,
상기 기울기를 조절하는 것은 이진탐색을 이용하여 제약조건들을 만족하는 비트레이트 값들을 구하는 것을 포함하며,
Figure 112023108092818-pat00066

수학식 8에서, L은 라그랑주 승수법(Lagrange mlutiplier)을, 계수
Figure 112023108092818-pat00074
Figure 112023108092818-pat00075
는 UE(USER ENTITY)가 요청하는 영상의 종류, 비트레이트, 세그먼트 인덱스에 따라 모두 다른 값을 가지며 실제 영상 세그먼트의 PSNR 값을 커브 피팅하여 결정되고,
Figure 112023108092818-pat00076
는 i번째 UE에게 제공되는 세그먼트의 영상 비트레이트를 각각 나타내는,
SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치.
In claim 2,
When the slope is expressed in Equation 8 and Equation 9, the processor calculates the bit rate of each UE by adjusting the slope using the relationship between the bit rate and slope expressed in Equation 10. Do more,
Adjusting the slope includes finding bitrate values that satisfy constraints using binary search,
Figure 112023108092818-pat00066

In Equation 8, L is the Lagrange multiplier (Lagrange mlutiplier), and the coefficient
Figure 112023108092818-pat00074
and
Figure 112023108092818-pat00075
has different values depending on the type, bit rate, and segment index of the video requested by the UE (USER ENTITY), and is determined by curve fitting the PSNR value of the actual video segment.
Figure 112023108092818-pat00076
represents the video bitrate of the segment provided to the ith UE, respectively.
Cooperative HTTP adaptive streaming devices over SDN-based multiple Wi-Fi networks.
청구항 3에 있어서,
상기 UE별 모든 AP들을 하나의 VAP로 설정함으로써 각 AP에서의 UE들과 AP의 통합된 대역폭은 UE들과 AP 사이의 사용 비율을 고려해 수학식 11과 같이 정의되는, SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치.
In claim 3,
By setting all APs for each UE to one VAP, the integrated bandwidth of UEs and APs at each AP is defined as Equation 11 in consideration of the usage ratio between UEs and AP. SDN-based multiple Wi-Fi network Collaborative HTTP adaptive streaming devices via.
청구항 1에 있어서,
상기 프로세서는, 상기 혼잡이 발생하고, 상기 UE들이 사용하는 타임슬롯의 합이 각각의 AP 타임슬롯보다 크면 상기 각 UE가 세그먼트를 나눠 받는 비율과 상기 각 UE의 세그먼트 비율의 기울기를 초기화하는 단계를 더 수행하며,
상기 초기화하는 단계는, 초기 값을 설정하기 위해 기울기 값을 기울기 하한 값과 기울기 상한 값의 중간 값으로 설정하고, 이전 기울기 값을 알고리즘 종료 조건을 판단하는데 사용하기 위한 기울기 상한 값으로 초기화하고, 상기 세그먼트를 나눠 받는 비율은 상기 모든 AP들 중 가장 강한 RSSI 신호 세기를 제공하는 AP를 값 1로 초기화하는 것을 포함하는,
SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치.
In claim 1,
If the congestion occurs and the sum of time slots used by the UEs is greater than each AP timeslot, the processor initializes the ratio at which each UE shares segments and the slope of the segment ratio of each UE. Do more,
In the initializing step, the slope value is set to the middle value between the lower slope value and the upper slope limit value to set the initial value, and the previous slope value is initialized to the upper slope value for use in determining the algorithm termination condition, The segment sharing ratio includes initializing the AP that provides the strongest RSSI signal strength among all the APs to the value 1,
Cooperative HTTP adaptive streaming devices over SDN-based multiple Wi-Fi networks.
청구항 1에 있어서,
상기 프로세서는, 상기 모든 AP들에 대해서 AP들의 사용 가능한 네트워크 자원이 남는다면 모든 AP들의 각 UE별 세그먼트를 나눠 받는 비율을 일정 크기만큼 증가시키는 단계를 더 수행하는,
SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치.
In claim 1,
The processor further performs a step of increasing the ratio of all APs to receiving segments for each UE by a certain amount if available network resources remain for all APs.
Cooperative HTTP adaptive streaming devices over SDN-based multiple Wi-Fi networks.
청구항 1에 있어서,
상기 협력적 HTTP 적응적 스트리밍 장치는 SDN Application을 포함하고,
상기 SDN Application은, Traffic Info Collector 모듈을 통해 모든 AP Agent들로부터 자원을 주기적으로 수집하고, 수집된 자원을 바탕으로 Streaming Optimizer 소프트웨어 모듈을 통해 전체적인 네트워크 상황을 고려하여 DASH Client들의 세그먼트 비트레이트와 다중 경로 중에서 어떤 경로로 세그먼트를 얼마나 받아야 하는지에 대한 비율을 결정하며,
여기서, 각 DASH Client는 상기 SDN Application이 알고리즘을 통해 계산한 비트레이트를 이용하여 Media Server로 세그먼트를 요청하고,
상기 AP Agent는 상기 DASH Client로부터 네트워크 자원 정보를 주기적으로 수집하고 상기 SDN Application에게 수집한 정보들을 제공하고,
상기 Media Server는, 상기 세그먼트의 요청을 받는 경우, 요청된 비트레이트로 인코딩된 영상을 상기 DASH Client에게 제공하는,
SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치.
In claim 1,
The cooperative HTTP adaptive streaming device includes an SDN Application,
The SDN Application periodically collects resources from all AP Agents through the Traffic Info Collector module, and based on the collected resources, considers the overall network situation through the Streaming Optimizer software module to determine the segment bitrate and multipath of DASH Clients. It determines the ratio of how many segments should be received through which route.
Here, each DASH Client requests a segment from the Media Server using the bitrate calculated by the SDN Application through an algorithm,
The AP Agent periodically collects network resource information from the DASH Client and provides the collected information to the SDN Application,
When receiving a request for the segment, the Media Server provides video encoded at the requested bit rate to the DASH Client.
Cooperative HTTP adaptive streaming devices over SDN-based multiple Wi-Fi networks.
청구항 7에 있어서,
상기 Media Server는, DASH Client에게 제공 가능한 세그먼트들의 정보를 담고 있는 MPD 파일과, 다양한 비트레이트로 인코딩된 비디오 세그먼트들을 저장하고 있는 웹 서버로 구성되는,
SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 장치.
In claim 7,
The Media Server consists of an MPD file containing information on segments that can be provided to the DASH Client, and a web server that stores video segments encoded at various bit rates.
Cooperative HTTP adaptive streaming devices over SDN-based multiple Wi-Fi networks.
다중 Wi-Fi 환경에서 MPEG-DASH와 SDN을 결합한 비디오 스트리밍 시스템의 SDN application의 프로세서에 의해 수행되는, SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 방법에 있어서,
UE(USER ENTITY)들로부터 각 UE가 선택한 세그먼트의 비트레이트로 영상의 스트리밍을 요청받는 단계;
상기 UE들의 복수의 AP(Access Point)들을 하나의 가상 AP(virtual AP, VAP)로 설정하고 각 UE가 세그먼트를 나눠 받는 비율에 기초하여 상기 VAP의 대역폭을 계산하는 단계;
상기 대역폭에 기초하여 각 AP가 사용 중인 네트워크 자원을 계산하는 단계;
네트워크에 혼잡이 발생했는지 판단하기 위해 각 AP의 UE들이 사용하는 타임슬롯의 합이 해당 AP 타임슬롯보다 큰지 확인하여 각 AP의 버퍼 언더플로우 여부를 판단하는 단계;
상기 버퍼 언더플로우가 특정 AP에서만 발생하면 상기 세그먼트의 비율을 조절할 UE를 찾기 위해 각 UE별로 사용가능한 자원이 없는 AP의 대역폭 비율과 사용가능한 자원이 있는 AP의 대역폭 비율을 계산하는 단계;
상기 UE별 모든 AP들을 상기 대역폭 비율의 오름차순으로 정렬하는 단계;
상기 정렬하는 단계에서의 정렬 후에 상기 대역폭 비율이 가장 낮은 UE의 세그먼트 비율을 증가시키는 단계;
상기 세그먼트 비율이 증가된 UE의 세그먼트 비율에 대한 라그랑주 승수법의 기울기와 이전 루프에서 구해진 세그먼트 비율에 대한 상기 기울기와의 차이가 기준치보다 작으면 상기 VAP의 대역폭을 계산하는 단계로 되돌아가지 않고 현재의 프로세스를 종료하는 단계; 및
상기 버퍼 언더플로우가 모든 AP들에서 발생하면 모든 AP들의 각 UE별 세그먼트를 나눠 받는 비율을 감소시킨 후 상기 VAP의 대역폭을 계산하는 단계로 되돌아가는 단계;를 포함하는,
SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 방법.
In a cooperative HTTP adaptive streaming method through SDN-based multiple Wi-Fi networks, which is performed by a processor of an SDN application of a video streaming system combining MPEG-DASH and SDN in a multiple Wi-Fi environment,
Receiving a request from UEs (USER ENTITIES) to stream video at the bitrate of the segment selected by each UE;
Setting a plurality of access points (APs) of the UEs into one virtual AP (virtual AP, VAP) and calculating the bandwidth of the VAP based on the ratio in which each UE receives a segment;
calculating network resources being used by each AP based on the bandwidth;
In order to determine whether congestion has occurred in the network, determining whether the buffer underflow of each AP is performed by checking whether the sum of the time slots used by the UEs of each AP is greater than the corresponding AP's timeslot;
If the buffer underflow occurs only in a specific AP, calculating the bandwidth ratio of the AP without available resources and the bandwidth ratio of the AP with available resources for each UE to find a UE to adjust the segment ratio;
Sorting all APs for each UE in ascending order of the bandwidth ratio;
increasing the segment ratio of the UE with the lowest bandwidth ratio after alignment in the sorting step;
If the difference between the slope of the Lagrange multiplier method for the segment ratio of the UE with the increased segment ratio and the slope for the segment ratio obtained in the previous loop is less than the reference value, the current bandwidth is not returned to the step of calculating the bandwidth of the VAP. terminating the process; and
If the buffer underflow occurs in all APs, reducing the ratio of all APs to receiving segments for each UE and then returning to the step of calculating the bandwidth of the VAP;
A cooperative HTTP adaptive streaming method over SDN-based multiple Wi-Fi networks.
청구항 9에 있어서,
상기 VAP의 대역폭을 계산하는 단계는,
상기 라그랑주 승수법을 통해 도출된 수학식 10의 기울기(λ)를 이용하여 비트레이트를 계산하고, 계산된 비트레이트를 양자화하여 Media Server로부터 받은 MPD(Media Presentation Description) 파일에서 양자화된 비트레이트와 가장 근사한 값을 선택하고, 각 UE(USER ENTITY)들의 가상 AP(ACCESS POINT)의 대역폭을 수학식 11을 통해 계산하며,

수학식 10에서, 는 i번째 UE가 스트리밍을 위해 선택한 비트레이트를, 는 i번째 UE가 요청한 영상 세그먼트의 PSNR(Peak Signal-to-Noise Ratio) 계수를, i는 임의의 자연수를, 그리고 N은 UE의 집합을 각각 나타내고,
수학식 11에서, 는 통합된 대역폭을, M은 AP의 집합을, 는 i번째 UE가 j번째 AP를 통해 수신받는 세그먼트 비율을, i는 임의의 자연수를, 그리고 는 i번째 UE가 j번째 AP를 통해 수신받는 대역폭을 각각 나타내는,
SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 방법.
In claim 9,
The step of calculating the bandwidth of the VAP is,
The bit rate is calculated using the slope (λ) of Equation 10 derived through the Lagrange multiplier method, the calculated bit rate is quantized, and the quantized bit rate and the most Select an approximate value and calculate the bandwidth of the virtual AP (ACCESS POINT) of each UE (USER ENTITY) using Equation 11,

In equation 10, is the bitrate selected by the ith UE for streaming, represents the Peak Signal-to-Noise Ratio (PSNR) coefficient of the video segment requested by the ith UE, i is a random natural number, and N represents the set of UEs,
In equation 11, is the integrated bandwidth, M is the set of APs, is the segment ratio that the ith UE receives through the jth AP, i is a random natural number, and represents the bandwidth that the i-th UE receives through the j-th AP, respectively.
A cooperative HTTP adaptive streaming method over SDN-based multiple Wi-Fi networks.
삭제delete 삭제delete 청구항 10에 있어서,
모든 AP들에 대해서 AP들의 사용 가능한 네트워크 자원이 남는다면 모든 AP들의 각 UE별 세그먼트를 나눠 받는 비율을 일정 크기만큼 증가시키는 단계:를 더 포함하는,
SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 방법.
In claim 10,
Further comprising: increasing the proportion of all APs receiving segments for each UE by a certain amount if available network resources remain for all APs,
A cooperative HTTP adaptive streaming method over SDN-based multiple Wi-Fi networks.
삭제delete 삭제delete 삭제delete 청구항 10에 있어서,
상기 혼잡이 발생하고, 상기 UE들이 사용하는 타임슬롯의 합이 각각의 AP 타임슬롯보다 크면 상기 각 UE가 세그먼트를 나눠 받는 비율과 상기 각 UE의 세그먼트 비율의 기울기를 초기화하는 단계를 더 포함하며,
상기 초기화 하는 단계는, 초기 값을 설정하기 위해 기울기 값을 기울기 하한 값과 기울기 상한 값의 중간 값으로 설정하고, 이전 기울기 값을 알고리즘 종료 조건을 판단하는데 사용하기 위한 기울기 상한 값으로 초기화하고, 여기서 상기 세그먼트를 나눠 받는 비율은 상기 모든 AP들 중 가장 강한 RSSI 신호 세기를 제공하는 AP를 값 1로 초기화되는,
SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 방법.
In claim 10,
If the congestion occurs and the sum of time slots used by the UEs is greater than each AP timeslot, initializing the ratio of each UE to share segments and the slope of the segment ratio of each UE,
In the initialization step, the slope value is set to the middle value between the lower slope value and the upper slope limit value to set the initial value, and the previous slope value is initialized as the upper slope value to be used to determine the algorithm termination condition, where The segment sharing ratio is initialized to a value of 1 for the AP that provides the strongest RSSI signal strength among all the APs.
A cooperative HTTP adaptive streaming method over SDN-based multiple Wi-Fi networks.
청구항 10에 있어서,
상기 VAP에서 상기 기울기는 수학식 8, 및 수학식 9로 표현될 때, 수학식 10으로 표현되는 비트레이트와 기울기와의 관계식을 이용하여 기울기를 조절함으로써 각 UE의 비트레이트를 구하는 단계를 더 포함하고,
상기 기울기를 조절하는 것은 이진탐색을 이용하여 제약조건들을 만족하는 비트레이트 값들을 구하는 것을 포함하며,
Figure 112023108092818-pat00068

수학식 8에서, L은 라그랑주 승수법(Lagrange mlutiplier)을, 계수 는 UE(USER ENTITY)가 요청하는 영상의 종류, 비트레이트, 세그먼트 인덱스에 따라 모두 다른 값을 가지며 실제 영상 세그먼트의 PSNR 값을 커브 피팅하여 결정되고, 는 i번째 UE에게 제공되는 세그먼트의 영상 비트레이트를 각각 나타내는,
SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 방법.
In claim 10,
In the VAP, when the slope is expressed by Equation 8 and Equation 9, it further includes the step of obtaining the bit rate of each UE by adjusting the slope using the relationship between the bit rate and slope expressed by Equation 10. do,
Adjusting the slope includes finding bitrate values that satisfy constraints using binary search,
Figure 112023108092818-pat00068

In Equation 8, L is the Lagrange multiplier (Lagrange mlutiplier), and the coefficient and has different values depending on the type, bit rate, and segment index of the video requested by the UE (USER ENTITY), and is determined by curve fitting the PSNR value of the actual video segment. represents the video bitrate of the segment provided to the ith UE, respectively.
A cooperative HTTP adaptive streaming method over SDN-based multiple Wi-Fi networks.
청구항 18에 있어서,
상기 UE별 모든 AP들을 하나의 VAP로 설정함으로써 각 AP에서의 UE들과 AP의 통합된 대역폭은 UE들과 AP 사이의 사용 비율을 고려해 수학식 11과 같이 정의되는, SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 방법.
In claim 18,
By setting all APs for each UE to one VAP, the integrated bandwidth of UEs and APs at each AP is defined as Equation 11 in consideration of the usage ratio between UEs and AP. SDN-based multiple Wi-Fi network A collaborative HTTP adaptive streaming method via.
청구항 9, 청구항 10, 청구항 13, 및 청구항 17 내지 청구항 19 중 어느 한 항의 SDN 기반 다중 Wi-Fi 네트워크를 통한 협력적 HTTP 적응적 스트리밍 방법의 프로그램을 구현하기 위한 컴퓨터 판독 가능한 기록매체.A computer-readable recording medium for implementing a program of the cooperative HTTP adaptive streaming method over an SDN-based multiple Wi-Fi network of any one of claims 9, 10, 13, and 17 to 19.
KR1020210140538A 2020-11-10 2021-10-20 Method for providing collaborative http adaptive streaming using wifi network based on software-defined networking and apparatus thereof KR102648108B1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR20200149176 2020-11-10
KR1020200149176 2020-11-10

Publications (2)

Publication Number Publication Date
KR20220063723A KR20220063723A (en) 2022-05-17
KR102648108B1 true KR102648108B1 (en) 2024-03-15

Family

ID=81799996

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020210140538A KR102648108B1 (en) 2020-11-10 2021-10-20 Method for providing collaborative http adaptive streaming using wifi network based on software-defined networking and apparatus thereof

Country Status (1)

Country Link
KR (1) KR102648108B1 (en)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060165103A1 (en) * 2005-01-26 2006-07-27 Colubris Networks, Inc. Configurable quality-of-service support per virtual access point (vap) in a wireless lan (wlan) access device

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060165103A1 (en) * 2005-01-26 2006-07-27 Colubris Networks, Inc. Configurable quality-of-service support per virtual access point (vap) in a wireless lan (wlan) access device

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Ali Gohar et al., "Multipath Dynamic Adaptive Streaming over HTTP Using Scalable Video Coding in Software Defined Networking",MDPI,(2020.10.30)*
Muhammad et al., "A Distributed Multi-service Resource Allocation Algorithm in Heterogeneous Wireless Access Medium", IEEE,(2012.01.23)*
이환욱, 'Wi-Fi 네트워크 상에서 SDN-assisted HTTP 적응형 스트리밍', 포스텍,(2017.12.16)*

Also Published As

Publication number Publication date
KR20220063723A (en) 2022-05-17

Similar Documents

Publication Publication Date Title
Fu et al. Soft actor–critic DRL for live transcoding and streaming in vehicular fog-computing-enabled IoV
US10271112B2 (en) System and method for dynamic adaptive video streaming using model predictive control
Xing et al. A real-time adaptive algorithm for video streaming over multiple wireless access networks
EP3210385B1 (en) Dynamic programming across multiple streams
CN112954385B (en) Self-adaptive shunt decision method based on control theory and data driving
US11283854B2 (en) Method and system for providing variable quality streaming video services in mobile communication networks
CN111654712A (en) Dynamic self-adaptive streaming media multicast method suitable for mobile edge computing scene
CN107637046B (en) Method and apparatus for controlling multiple connections to increase data transfer rate
CN110072130A (en) A kind of HAS video segment method for pushing based on HTTP/2
Khorov et al. SEBRA: SAND-enabled bitrate and resource allocation algorithm for network-assisted video streaming
CN112543357A (en) Streaming media data transmission method based on DASH protocol
JP5388384B2 (en) Rate shaping method and rate shaping apparatus
Fu et al. Transcoding for live streaming-based on vehicular fog computing: An actor-critic DRL approach
Lee et al. Video quality adaptation for limiting transcoding energy consumption in video servers
CN110913239A (en) Video cache updating method for refined mobile edge calculation
CN103428107A (en) Self-adaptive bitstream switching method and system based on cache underflow probability estimation
Nguyen et al. An adaptive streaming method of 360 videos over HTTP/2 protocol
KR102648108B1 (en) Method for providing collaborative http adaptive streaming using wifi network based on software-defined networking and apparatus thereof
Chen et al. User-aware dash over wi-fi
Lu et al. Optimizing stored video delivery for wireless networks: The value of knowing the future
Kazemian An intelligent video streaming technique in zigbee wireless
Bouraqia et al. Solving startup-delay-QoE dilemma for video streaming services in 5G networks
Tao et al. Energy efficient video QoE optimization for dynamic adaptive HTTP streaming over wireless networks
Saleem et al. Stochastic QoE-aware optimization of multisource multimedia content delivery for mobile cloud
Tosic et al. Soft sensors in wireless networking as enablers for SDN based management of content delivery

Legal Events

Date Code Title Description
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant