;

Krize naučila zaměstnavatele podrobně sledovat využití svých IT zdrojů

14. 12. 2009

Sdílet

Tyto otázky nabyly na naléhavosti pro většinu zaměstnavatelů, kteří jsou pod vlivem krize nuceni mnohem intenzivněji sledovat efektivní využívání pracovní doby svých zaměstnanců a počítačů, kterými firma disponuje.

Skutečnost, že se zaměstnavatelé stále častěji přiklánějí nejen k nasazení nástrojů softwarového auditu, ale zejména k podrobnému monitorování počítačů, dokládá průzkum společnosti truconneXion zveřejněný na výroční konferenci SAM v kostce, která se uskutečnila v Praze ve čtvrtek 3. prosince 2009. Z meziročního srovnání více než 100 respondentů v sektoru malých a středních firem, velkých společností a státních institucí v ČR vyplynulo, že zatímco před dvěma roky tyto nástroje využívalo denně či několikrát do týdne pouhých 21 % firem, v současnosti je s touto četností využívají bezmála tři čtvrtiny (74 %). Celkem 63 % firem, které nasadily monitorovací systém, zaznamenalo v půlročním horizontu okamžité úspory svých IT investic, a to až do výše 50 % původních rozpočtů.

„Je zřejmé, že převážná většina společností pod vlivem hospodářské krize dospěla ke zjištění, že pravidelný audit a zejména pak monitoring IT zdrojů jim mohou reálně ušetřit značné prostředky. Díky relativně malé investici do této oblasti je možné být až o polovinu efektivnější, jak ostatně dokazují zkušenosti našich zákazníků. Za pozitivní považuji, že se to týká firem bez ohledu na jejich velikost,“ uvádí Robert Kleiner, člen představenstva společnosti truconneXion, výrobce nejznámějšího českého auditovacího softwaru AuditPro.

Aplikování nástrojů softwarového auditu je aktuální nejen v soukromých firmách, ale i ve státních organizacích a v institucích veřejné správy. Za příklad může sloužit prezentace Martina Hrubeše, informatika úseku správy databází a aplikací Královéhradeckého kraje. Reálný přínos softwaru AuditPro je z hlediska této organizace jednoznačný zejména v úspoře času techniků při instalacích PC a softwaru (odhalení podlicencování/přelicencování). Díky auditu má administrátor lepší podklady při rozhodování o nákupech a upgradech PC a SW licencí. Jako další efekt Martin Hrubeš uvádí sledování efektivity zaměstnanců. „Výsledná úspora v oblasti IT investic, kterou Královéhradeckému kraji přineslo nasazení auditovacího softwaru, je na úrovni 25 %,“ vyčísluje celkový přínos Martin Hrubeš.

Součástí již 5. ročníku konference pod názvem SAM v kostce, která se věnovala problematice Software Asset Managementu, tedy systému inteligentní správy softwarových licencí, správy IT majetku a monitoringu jeho skutečného využívání, byla i panelová diskuse za účasti odborníků z mnoha souvisejících oborů.

V diskusi zazněly příspěvky Lenky Suchánkové, právníka se zaměřením na IT právo ze společnosti Pierstone, zástupců Úřadu služby kriminální policie a vyšetřování z Policejního prezidia ČR pplk. Víta Řandy z odboru informační kriminality a pplk. Václava Vávry z odboru hospodářské kriminality a dále pak mluvčího organizace Business Software Alliance (BSA) Jana Hlaváče, kteří zodpovídali dotazy na konkrétní právní aspekty užívání nelegálního nebo nelicencovaného softwaru ve firmách. Martina Hyndráková, odborná konzultantka pro softwarový management, Kamil Juřík, vedoucí lektor společnosti Gopas, a Jakub Lukeš, obchodní specialista AuditPro, se věnovali problematice licencování a souvisejících praktických témat z hlediska firem.

Našli jste v článku chybu?
'; 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 »