IDC: Silné regionální výsledky zajistily trhu bezpečnostního hardwaru dvouciferný růst

19. 3. 2021
Doba čtení: 1 minuta

Sdílet

Autor: © Andrea Danti - Fotolia.com
Díky silnému výsledku Číny si trh bezpečnostního hardwaru v posledním kvartálu 2020 připsal růst o 11,3 %. Solidně si vedl i náš region CEE, kde poptávka vyrostla o 9,7 %.

Společnost IDC informuje, že celosvětové tržby trhu bezpečnostního hardwaru v posledním čtvrtletí 2020 meziročně stouply o 11,3 % na 5,3 miliardy dolarů. V mezikvartálním srovnání šlo podle analytiků dokonce o 15% růst.

Počet prodaných zařízení ve sledovaném období vzrostl 10,2 % oproti stejnému období v roce 2019. Mezi segmenty nejvíce rostla poptávka po zařízení pro vytváření virtuálních soukromých sítí, a to o 21,8 %.

Z geografického hlediska stála v čele na konci roku Čína, kde poptávka meziročně stoupla o 27,4 % na 531,4 milionu dolarů. Tržby ve zbytku světa souhrnně vyrostly o 6,4 % meziročně a 4,3 % mezikvartálně.

Dalšími regiony, které ve sledovaném období vykázaly výrazný meziroční růst, byly MEA (21,4 %), Asie-Pacifik (vyjma Číny a Japonska), kde došlo ke zlepšení o 11,1 %, a náš region střední a východní Evropy (9,7 %).

Ačkoli probíhající pandemie utlumila chuť na lokální bezpečnostní hardware po celém světě, výjimečné výsledky ve vybraných regionech pomohly trhu bezpečnostního hardwaru meziročně růst působivých 11,3 %,“ shrnul vývoj Pete Finalle z IDC.

Tabulka – Výsledky globálního trhu bezpečnostního hardwaru v 4Q20 (miliony dolarů)

Výrobce

Prodej 4Q20

Podíl 4Q20

Prodej 4Q19

Podíl 4Q19

Meziroč. změna

1. Palo Alto*

794,0

15,0 %

644,7

13,6 %

23,2 %

1. Cisco*

770,1

14,6 %

757,5

15,9 %

1,7 %

3. Fortinet

642,0

12,1 %

528,3

11,1 %

21,5 %

4. Check Point

439,9

8,3 %

450,5

9,5 %

-2,4 %

5. Huawei

204,2

3,9 %

145,6

3,1 %

40,3 %

5. SonicWALL

174,4

3,3 %

182,6

3,8 %

-4,5 %

ostatní

2 262,8

42,8 %

2 040,1

43,0 %

10,9 %

Celkem

5 287,4

100 %

4 749,4

100 %

11,3 %

* statistická shoda

Zdroj: IDC

Graf – Kvartální vývoj tržních podílů největších výrobců

Graf – Kvartální vývoj tržních podílů největších výrobců

Zdroj: IDC

Čtěte dále

3D tisk – jaké jsou náklady na 3D tisk?
3D tisk – jaké jsou náklady na 3D tisk?
Polovina českých podnikatelů neví, jak se bránit proti kybernetickým útokům
Polovina českých podnikatelů neví, jak se bránit proti kybernetickým útokům
AMD kupuje Nod.ai, posílí možnosti open source softwaru pro umělou inteligenci
AMD kupuje Nod.ai, posílí možnosti open source softwaru pro umělou inteligenci
Tři hlavní důvody, proč malé a středně velké firmy potřebují ke správě sítí umělou inteligenci
Tři hlavní důvody, proč malé a středně velké firmy potřebují ke správě sítí umělou inteligenci
Téměř dvě třetiny firem preferují uchovávat zálohu v cloudu
Téměř dvě třetiny firem preferují uchovávat zálohu v cloudu
IDC: Cla necla, globální dodávky počítačů by letos měly vyrůst o 4 %
IDC: Cla necla, globální dodávky počítačů by letos měly vyrůst o 4 %
'; document.getElementById('preroll-iframe').onload = function () { setupIframe(); } prerollContainer = document.getElementsByClassName('preroll-container-iframe')[0]; } function setupIframe() { prerollDocument = document.getElementById('preroll-iframe').contentWindow.document; let el = prerollDocument.createElement('style'); prerollDocument.head.appendChild(el); el.innerText = "#adContainer>div:nth-of-type(1),#adContainer>div:nth-of-type(1) > iframe { width: 99% !important;height: 99% !important;max-width: 100%;}#videoContent,body{ width:100vw;height:100vh}body{ font-family:'Helvetica Neue',Arial,sans-serif}#videoContent{ overflow:hidden;background:#000}#adMuteBtn{ width:35px;height:35px;border:0;background:0 0;display:none;position:absolute;fill:rgba(230,230,230,1);bottom:20px;right:25px}"; videoContent = prerollDocument.getElementById('contentElement'); videoContent.style.display = 'none'; videoContent.volume = 1; videoContent.muted = false; const playPromise = videoContent.play(); if (playPromise !== undefined) { playPromise.then(function () { console.log('PREROLL sound allowed'); // setUpIMA(true); videoContent.volume = 1; videoContent.muted = false; setUpIMA(); }).catch(function () { console.log('PREROLL sound forbidden'); videoContent.volume = 0; videoContent.muted = true; setUpIMA(); }); } } function setupDimensions() { prerollWidth = Math.min(iinfoPrerollPosition.offsetWidth, 480); prerollHeight = Math.min(iinfoPrerollPosition.offsetHeight, 320); } function setUpIMA() { google.ima.settings.setDisableCustomPlaybackForIOS10Plus(true); google.ima.settings.setLocale('cs'); google.ima.settings.setNumRedirects(10); // Create the ad display container. createAdDisplayContainer(); // Create ads loader. adsLoader = new google.ima.AdsLoader(adDisplayContainer); // Listen and respond to ads loaded and error events. adsLoader.addEventListener( google.ima.AdsManagerLoadedEvent.Type.ADS_MANAGER_LOADED, onAdsManagerLoaded, false); adsLoader.addEventListener( google.ima.AdErrorEvent.Type.AD_ERROR, onAdError, false); // An event listener to tell the SDK that our content video // is completed so the SDK can play any post-roll ads. const contentEndedListener = function () { adsLoader.contentComplete(); }; videoContent.onended = contentEndedListener; // Request video ads. const adsRequest = new google.ima.AdsRequest(); adsRequest.adTagUrl = iinfoVastUrls[iinfoVastUrlIndex]; console.log('Preroll advert: ' + iinfoVastUrls[iinfoVastUrlIndex]); videoContent.muted = false; videoContent.volume = 1; // Specify the linear and nonlinear slot sizes. This helps the SDK to // select the correct creative if multiple are returned. // adsRequest.linearAdSlotWidth = prerollWidth; // adsRequest.linearAdSlotHeight = prerollHeight; adsRequest.nonLinearAdSlotWidth = 0; adsRequest.nonLinearAdSlotHeight = 0; adsLoader.requestAds(adsRequest); } function createAdDisplayContainer() { // We assume the adContainer is the DOM id of the element that will house // the ads. prerollDocument.getElementById('videoContent').style.display = 'none'; adDisplayContainer = new google.ima.AdDisplayContainer( prerollDocument.getElementById('adContainer'), videoContent); } function unmutePrerollAdvert() { adVolume = !adVolume; if (adVolume) { adsManager.setVolume(0.3); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } else { adsManager.setVolume(0); prerollDocument.getElementById('adMuteBtn').innerHTML = ''; } } function onAdsManagerLoaded(adsManagerLoadedEvent) { // Get the ads manager. const adsRenderingSettings = new google.ima.AdsRenderingSettings(); adsRenderingSettings.restoreCustomPlaybackStateOnAdBreakComplete = true; adsRenderingSettings.loadVideoTimeout = 12000; // videoContent should be set to the content video element. adsManager = adsManagerLoadedEvent.getAdsManager(videoContent, adsRenderingSettings); // Add listeners to the required events. adsManager.addEventListener(google.ima.AdErrorEvent.Type.AD_ERROR, onAdError); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_PAUSE_REQUESTED, onContentPauseRequested); adsManager.addEventListener( google.ima.AdEvent.Type.CONTENT_RESUME_REQUESTED, onContentResumeRequested); adsManager.addEventListener( google.ima.AdEvent.Type.ALL_ADS_COMPLETED, onAdEvent); // Listen to any additional events, if necessary. adsManager.addEventListener(google.ima.AdEvent.Type.LOADED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.STARTED, onAdEvent); adsManager.addEventListener(google.ima.AdEvent.Type.COMPLETE, onAdEvent); playAds(); } function playAds() { // Initialize the container. Must be done through a user action on mobile // devices. videoContent.load(); adDisplayContainer.initialize(); // setupDimensions(); try { // Initialize the ads manager. Ad rules playlist will start at this time. adsManager.init(1920, 1080, google.ima.ViewMode.NORMAL); // Call play to start showing the ad. Single video and overlay ads will // start at this time; the call will be ignored for ad rules. adsManager.start(); // window.addEventListener('resize', function (event) { // if (adsManager) { // setupDimensions(); // adsManager.resize(prerollWidth, prerollHeight, google.ima.ViewMode.NORMAL); // } // }); } catch (adError) { // An error may be thrown if there was a problem with the VAST response. // videoContent.play(); } } function onAdEvent(adEvent) { const ad = adEvent.getAd(); console.log('Preroll event: ' + adEvent.type); switch (adEvent.type) { case google.ima.AdEvent.Type.LOADED: if (!ad.isLinear()) { videoContent.play(); } prerollDocument.getElementById('adContainer').style.width = '100%'; prerollDocument.getElementById('adContainer').style.maxWidth = '640px'; prerollDocument.getElementById('adContainer').style.height = '360px'; break; case google.ima.AdEvent.Type.STARTED: window.addEventListener('scroll', onActiveView); if (ad.isLinear()) { intervalTimer = setInterval( function () { // Example: const remainingTime = adsManager.getRemainingTime(); // adsManager.pause(); }, 300); // every 300ms } prerollDocument.getElementById('adMuteBtn').style.display = 'block'; break; case google.ima.AdEvent.Type.ALL_ADS_COMPLETED: if (ad.isLinear()) { clearInterval(intervalTimer); } if (prerollLastError === 303) { playYtVideo(); } break; case google.ima.AdEvent.Type.COMPLETE: if (ad.isLinear()) { clearInterval(intervalTimer); } playYtVideo(); break; } } function onAdError(adErrorEvent) { console.log(adErrorEvent.getError()); prerollLastError = adErrorEvent.getError().getErrorCode(); if (!loadNext()) { playYtVideo(); } } function loadNext() { iinfoVastUrlIndex++; if (iinfoVastUrlIndex < iinfoVastUrls.length) { iinfoPrerollPosition.remove(); playPrerollAd(); } else { return false; } adVolume = 1; return true; } function onContentPauseRequested() { videoContent.pause(); } function onContentResumeRequested() { videoContent.play(); } function onActiveView() { if (prerollContainer) { const containerOffset = prerollContainer.getBoundingClientRect(); const windowHeight = window.innerHeight; if (containerOffset.top < windowHeight/1 && containerOffset.bottom > 0.0) { if (prerollPaused) { adsManager.resume(); prerollPaused = false; } return true; } else { if (!prerollPaused) { adsManager.pause(); prerollPaused = true; } } } return false; } function playYtVideo() { iinfoPrerollPosition.remove(); youtubeIframe.style.display = 'block'; youtubeIframe.src += '&autoplay=1&mute=1'; } }
OSZAR »