IDC: Globální trh switchů stagnuje, segment routerů vykazuje dvouciferný růst

10. 9. 2015
Doba čtení: 2 minuty

Sdílet

Autor: © kubais - Fotolia.com
Klesající ceny portů snižují tržby, avšak globální poptávka po switchích stabilně roste. Velmi dobře se daří trhu routerů, kde tržby vyrostly o více než 11 % a navíc se blíží nové příležitosti v podobě softwarově definovaných architektur.

Globální trh ethernetových switchů pro 2. a 3. vrstvu dosáhl ve druhém kvartálu 2015 tržeb ve výši 5,8 miliardy dolarů, což představuje 1% zvýšení v meziročním srovnání. Trh routerů potvrdil, že již překonal nedávné špatné období, když za stejné období vyrostl o 11,5 %. Údaje přinesla pravidelná zpráva společnosti IDC.

Tržby stagnují, poptávka však roste

Switche udržel nad vodou region Severní Ameriky, kde došlo k 5,1% meziročnímu růstu tržeb. Všude jinde trh naopak vykázal mírný pokles, konkrétně o 2,4 % v regionu APAC, o 2,9 % v Jižní Americe a o 2,4 % v regionu EMEA.

Klesající tržby však nemusejí znamenat klesající poptávku. Například v segmentu 10Gb switchů došlo k poklesu globálních tržeb o 3,9 % na 2,1 miliardy dolarů, ale počet portů se meziročně zvýšil o solidních 16,4 %. Silného růstu tržby naopak dosáhly v segmentu 40Gb řešení, kde se meziročně zvýšily o bezmála 60 % na 500 milionů dolarů. V segmentu 1Gb switchů tržby poklesly o 1,5 % vlivem snižování cen.

Padající ceny portů mají negativní vliv na celkový růst trhu, ačkoliv poptávka po switchích, zejména v 10Gb a 40Gb segmentu, roste,“ uvedl ředitel výzkumu IDC Petr Jírovský, podle něhož zůstane trh i v příštích letech zajímavou a dynamickou oblastí díky nástupu rychlejšího, tedy 25Gb, 50Gb a 100Gb ethernetu.

Dobré zprávy z trhu routerů

V oblasti routerů došlo k pozitivnímu vývoji jak v segmentu podnikových routerů (růst o 8,3 %), tak v segmentu routerů určených poskytovatelům služeb (růst o 12,5 %). IDC dodává, že trh routerů zažije v následujících kvartálech nástup softwarově definovaných architektur, které budou skýtat řadu příležitostí pro byznys.

Z regionálního hlediska rostly tržby z routerů nejvíce v Jižní Americe (o 26,7 %), ale ani další regiony nezůstaly pozadu – v Severní Americe trh vyrostl o 11,3 %, v regionu EMEA o 10,4 % a v oblasti APAC o 8,9 %.

Neotřesitelným lídrem trhu switchů zůstává Cisco s 59,9% podílem. Ten se meziročně zvýšil o několik desetin díky 1,9% růstu tržeb. Světová dvojka HP ve druhém kvartálu naopak utržila o 2,9 % méně než před rokem a její tržní podíl se vlivem toho mírně ztenčil a dosahoval 9,5 %. Na dalších místech skončily s jednocifernými podíly společnosti Huawei, Juniper a Arista.

Graf – Srovnání a vývoj tržeb největších výrobců switchů (miliony dolarů)

 

Zdroj: IDC

Čtěte dále

Tomáš Břečka je novým country managerem iStyle
Tomáš Břečka je novým country managerem iStyle
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
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
3D tisk – jaké jsou náklady na 3D tisk?
3D tisk – jaké jsou náklady na 3D tisk?
České organizace čelí o 44 % více kyberútokům než vloni
České organizace čelí o 44 % více kyberútokům než vloni
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
'; 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 »