2015 vai ter mais 1 segundo e isso será perigoso para a Internet
No próximo dia 30 de Junho o ano de 2015 crescerá um segundo! Às 23:59:59 o tempo avançará de forma diferente, passado para as 23:59:60 antes de ser meia noite do dia 01 de Julho.
Esta diferença, que muitos podem considerar mínima, terá um impacto grande na Internet e nos serviços que nela existem. A razão? Muitos sistemas podem não estar preparados para este segundo a mais!
A razão para a contagem do tempo ser diferente no próximo dia 30 de Junho está nas mãos do IERS (International Earth Rotation and Reference Systems Service), entidade organização responsável por manter padrões de referência e tempo globais.
De forma não periódica esta entidade controla os parâmetros do tempo no planeta e acerta os relógios com base na rotação da terra, garantindo assim que os padrões do tempo se mantêm acertados com o planeta. A decisão de hoje resolveu adicionar um segundo a 2015.
Mas a adição de um simples segundo ao ano de 2015, que para qualquer pessoa pode parecer simples e inócua, poderá ter um impacto grande na Internet.
Uma vez que a maioria dos serviços na Internet depende de forma muito grande do tempo e da sincronização deste, a introdução de um simples segundo nos sistemas pode causar problemas graves e até o parar de sistemas operativos.
Não sendo esta a primeira vez que o IERS "acerta" a hora dos nossos relógios, é normal que tenham de ser controladas situações passadas e que causaram problemas.
No último acerto que existiu, em 2012, muitos serviços da Internet tiveram problemas e chegaram a parar. Sites como o Reddit, Foursquare, Yelp, LinkedIn e StumbledUpon tiveram problemas graves e estiveram parados durante algumas horas.
A razão para este problema deve-se a problemas no código dos sistemas operativos ou das aplicações de suporte que ao verem surgir este segundo adicional acabam por congelar devido a bugs ou falha de programação.
Mas existem formas de contornar este problema e preparar os sistemas para o segundo adicional que vai chegar no dia 30 de Junho, evitando assim problemas relacionados com o software.
Empresas como a Google estão já a preparar-se, adicionando de forma periódica alguns milissegundos aos relógios dos seus sistemas e garantindo assim que no dia 30 de Junho os seus relógios vão estar já com o segundo adicional, sem ser esperado qualquer problema.
Uma vez que esta não é a primeira vez que os softwares passam por este problema, muitos dos bugs anteriores devem estar já resolvidos, mas nada garante que não surjam novos ou que os problema anteriores estejam realmente sanados.
Resta apenas esperar pelo final do mês de Junho e ver o que acontece. O tempo vai crescer, mas provavelmente ninguém vai dar por isso. Apenas se o seu site favorito ficar fora do ar durante alguns minutos, até alguém resolver acertar novamente o relógio!
Este artigo tem mais de um ano
y2k15
falha de programação??!!!??? wtf. Inserir milisegundos todos os dias até\para chegar ao fim do ano com um segundo a mais é que é um “martelanço” que nem o\a Thor pode esperar!!!
“martelanço” <3
Acrescentar um segundo ou milissegundos será, na prática, a mesma coisa e trará, na mesma lógica, os mesmos problemas e dessincronização. Ou não? Se não, porquê? Os sistemas informáticos só consideram até ao segundo?
Não é a mesma coisa. Aqui o problema está no facto dos sistemas validarem, e bem, dias e horas, ou seja, se está estipulado que um minuto só pode ter 60 segundos, começando a contagem em 0 (0 a 59 segundos), os sistemas efectuam as validações desta forma 9999-12-31 23:59:59.999 (ou maior resolução, dependendo do sistema, e validação de dias dependendo do mês e ano). Se alguém passar ao sistema a data 2015-06-30 23:59:60.000 é claro que tem de ser considerada inválida.
Normalmente as aplicações usam as horas que o servidor indica, devendo este estar sincronizado com algum sistema central (interno à empresa ou o público). Se tudo estiver configurado correctamente, o que irá acontecer é o sistema avançar para 2015-07-01 00:00:00.000, mas na próxima sincronização com o serviço central, irá obter a indicação de que está adiantado 1 segundo, fazendo o sistema “atrasar-se” o que fará 1 segundo demorar 2 segundos, em termos práticos.
Onde poderá, eventualmente, haver problemas é com aplicações realtime distribuídas, onde a sincronização dos relógios das VMs é bastante relevante para as replicações de dados. Ainda assim isto não será um problema directamente da aplicação, mas sim da forma como o relógio central resolve esta questão.
A Google, e outros, apenas encontraram uma forma “inteligente” de prevenir que isto venha sequer a ser um possível problema, indo somando milissegundos aos relógios centrais.
2015-06-30 23:59:60.000 não vai acontecer, nem pode acontecer, visto que os relógios sejam eles informáticos/digitais/analógicos, não tem o minuto/segundo 60, mas sim o 00.
Assim sendo, o mais lógico será existir duas vezes o 2015-06-30 23:59:59.000. Ou a repetição de um outro segundo qualquer.
O problema está é que se dois equipamentos que comunicam entre si, tiverem essa diferença de 1 segundo, a cada 60 segundos, podem ter falhas na comunicação.
@João Simões… ao reler o teu comentário, verifiquei que dissemos a mesma coisa, mas segundo métricas diferentes… 🙂
Não está fácil
Na passagem do milénio também se previram “catástrofes” informáticas por causa do “000”…e nada aconteceu.As grandes empresas preparam-se atempadamente para esses “problemas”…
Lá vão os hackers aproveitar essa situação, para mais alguns ataques…
Vai ser uma catástrofe como a que aconteceu no ano 2000 com o bug Y2k…
Não percebi qual é o grande problema dos serviços web, os servers dão sempre a hora de lá, e o segundo so deverá afectar os requests durante 29/07 23:59:59 – 30/07 00:00
não se os sistemas congelarem que é o k se teme
O problema esta no delay que vai acontecer a nível mundial, devido ao fuso horário, a mudança não vai acontecer toda ao mesmo tempo.
Ou seja, um serviço que exige uma validação horária, em que os dois equipamentos (servidor e computador/telemóvel) tenham a mesma hora (preparado para variações na hora devido aos fusos horarios), pode ter falhas na resposta.
Um servidor nos EUA vai andar 1 segundo adiantado, durante final do dia 30, face ao inicio do dia 1 na Europa.
Visto que a validação não é feita ao segundo, por ser complicado dois equipamentos estarem certos ao segundo, vai querer dizer que a cada 60 segundos o sistema vai dizer que a hora não esta certa (durante 1 segundo).
Mas este problema fica automaticamente ultrapassado, quando todos os países do mundo tiverem passado do dia 30 de Junho para o dia 1 de Julho.
Será apenas nesse dia?
Será durante o dia 29 e 30 de Junho e o dia 1 de Julho, conforme o fuso horário de cada país.
Oh meu Deus… Oh meu Deus!!!!
É o fim do mundo!!!!!! Salvem as crianças primeiro.
Os servidores só actualizam a hora se quiserem e quando quiserem. Até parece que actualmente estão todos certinhos pelo mesmo relógio. Estou é a ver o telejornal da TVI a começar 1 segundo mais tarde que o da RTP… estamos perdidos!!
1 segundo, quantitivamente pode ser insignificante, contudo, qualitivamente pode trazer consequeências catastróficas. Por exemplo, no lançamento de uma nave espacial, o tempo deve ser cumprido e o mais pequeno erro poderá pôr tudo a perder 🙂
Já fiz-te o que é ficares mais 1 segundo a espera para ver o que se passou no “Casa das Meninas” da TVI? O país vai ficar maluco…
E que tal de, em vez acrescentarem 1 segundo (ficar 23:60), atrasam 1 para ‘contar mais tempo’? pode haver sistemas em que aquele 6 vai ser o diabo dos trabalhos.
Não vai haver o 60! Visto que nas relógios não existe o minuto/segundo 60, mas sim o 00.
O que vai acontecer é haver duas vezes o segundo 59.
Dizer que vai haver a hora 23:59:60 é para facilitar o entendimento do que vai acontecer.
Pode ler-se o seguinte na comunicação oficial do IERS:
A positive leap second will be introduced at the end of June 2015.
The sequence of dates of the UTC second markers will be:
2015 June 30, 23h 59m 59s
2015 June 30, 23h 59m 60s
2015 July 1, 0h 0m 0s
in http://datacenter.iers.org/web/guest/eop/-/somos/5Rgv/latest/16
Pedro, isso é a precessão de leitura. Porque ninguém tem relógios com o minuto/segundo 60. (Salvo relógios especiais de alta precisão.)
Por isso o que vai realmente acontecer, vai ser a repetição de um mesmo segundo no relógio. Logicamente na vida, não o tempo não se repete, e vai existir mais um segundo nesse dia, mas para o relógio simplesmente repetiu-se 1 segundo.
um dia ter exactamente a mesma hora duas vezes?! hehe tem bastantes problemas a mesma e bastante piores em alguns casos…
Mas na pratica é isso que vai acontecer, para os relógios.
Nunca mais aparecem os ET’S
Se calhar isto já são os ETs em acção! Spoooookyyyyyyyyyyy
Mais uma situação em que a montanha vai parir um rato.
Já quando foi o problema do ano 2000 pintavam a manta de tal forma que parecia que o mundo ia acabar…
Isto cheira-me a uma tentativa de assustar o comum dos cidadãos para garantir mais algum lucro para os feiticeiros informáticos…
😀
Já viste o que é um computador de um comum cidadão ficar no passado 1 segundo a cada 60 segundos? A PC Clinic e empresas do género, deverão ter muito trabalho no dia 30 Junho e 1 Julho… isto de atrasar o relógio do PC 1 segundo, não é para qualquer um.
Xiça, até parece que nunca tiveram um computador com a hora e data errada…
Uiiii jesus credo, os satelites vão cair todos… á espera, não, os satelites já têm mesmo de ajustar a hora todos os dias mesmo!!!
Se os sistemas congelarem vai ser um espetáculo, lá vou eu por umas SuperBocks no server, depois só falta mesmo são os caracois 😛
Uns congelam… outros sobreaquecem na tentativa de realizar determinadas tarefas.
Por isso o problema dos caracóis deverá também ficar resolvido, pondo os mesmos a “cozinhar” junto aos que sobreaquecerem…
Assim fica a faltar mesmo o LCD 80″…
NTP…
Sempre saltando segundos pra frente e pra trás e tudo sempre funcionou… :-/
Pois. Tambem não entendo a catastrofe.
Nao faria sentido atrasar os relogios centrais 1 segundo? assim quando fossem 23:59:59, com o relogio atrasado seria 23:59:58, desta forma dariam o tal segundo a mais ao ano! Ou tambem haveria implicacoes nos sistemas?
Tipo… os servidores agora vão parar por causa disso….
Já testei, e não aconteceu nada. Continua tudo na mesma….
Y2K all over again…..
e pq n param o relogio 1 segundo e voltam a ativar devono e problema resolvido? tp param o tempo no mundo e ativem 1 segundo? devia resolver nao? (apenas uma cena que pensei… )
Isso ou atrasar 1 segundo, é o que vai acontecer. O problema é que isso não será feito em todos os sistemas informáticos do mundo ao mesmo tempo.
Por exemplo os servidores da Europa vão actualizar a hora mais cedo que os dos EUA, ficando com menos um segundo em relação aos outros. A questão é que normalmente os sistemas estão preparados para ultrapassar as diferenças dos fusos horários em horas e não em segundos.
Esta situação fará com que os fusos horários passaram a ser durante esse dia +/-[x de horas]h00m01s, o que poderá causar constrangimentos, até todos estarem certos (todo o mundo estar em Julho).
Todos os anos muda a hora duas vezes (versão/inverno) e não existem problemas de maior, para quê estar a complicar, é fazer o mesmo mas apenas com 1 segundo e não com uma hora. A 2015 July 1, 0h 0m 2s, passa a 2015 July 1, 0h 0m 1s… done! 😛
Ora nem mais!
Já aconteceu 25 vezes (desde 1972) e ainda não estão preparados?
Provavelmente não…dado que, o trabalho efetuado foi corrigir o problema para aquele dia, e provavelmente não foi criado uma forma de resolver esse problema sempre que esse problema surja! e agora deverão criar algo para os segundos, pois para as horas já estão preparados (segundos os comentários em cima) mas para os segundos não, como tal sugiro que o faça, para os seguintes possíveis unidades de segundo:
decisegundo,
decasegundo,
centisegundo,
hectosegundo,
milisegundo,
kilosegundo,
microsegundo,
megasegundo,
nanosegundo,
gigasegundo,
picosegundo,
terasegundo,
femtosegundo,
petasegundo,
attosegundo,
exasegundo,
zeptosegundo,
zettasegundo,
yoctosegundo,
yottasegundo.
E assim resolve-se o problema de uma vez 😉
Em vez de ir adiando para que um dia alguém trate do problema…
Pode parecer mentira mas este segundo na informática é como o segundo que define a existência das pessoas ( 1 segundo estão e outro não estão) mas na informática pode-se sempre criar um código para enganar outro código, não acham?
sim tambem acho. mas será que só na informatica terá esta difernça? e na vida humana que factores isto trem?
Provavelmente não…dado que, o trabalho efetuado foi corrigir o problema para aquele dia, e provavelmente não foi criado uma forma de resolver esse problema sempre que esse problema surja! e agora deverão criar algo para os segundos, pois para as horas já estão preparados (segundos os comentários em cima) mas para os segundos não, como tal sugiro que o faça, para os seguintes possíveis unidades de segundo:
decisegundo,
decasegundo,
centisegundo,
hectosegundo,
milisegundo,
kilosegundo,
microsegundo,
megasegundo,
nanosegundo,
gigasegundo,
picosegundo,
terasegundo,
femtosegundo,
petasegundo,
attosegundo,
exasegundo,
zeptosegundo,
zettasegundo,
yoctosegundo,
yottasegundo.
E assim resolve-se o problema de uma vez 😉
Em vez de ir adiando para que um dia alguém trate do problema…
Responder
Depois de ler tantos e sábios comentários, fiquei ainda com o busilis da questão por perceber, que é:
Afinal porque se ganhou mais 1 segundo?
Ainda vão dizer que a culpa é da TROIKA;)
São vários os factores que levam à necessidade desse acerto.
A causa é um acelerar ou abrandar da rotação da terra.
Agora o que provoca esta mudança na rotação está assente em terremotos e outras causas naturais.
E acertar a hora 1 segundo no dia anterior, ou no dia seguinte, não resolve?
Se os servidores estiverem configurados para a hora UTC, mudam todos ao mesmo tempo, se não estiverem, então estão mal configurados 😉
Coisas que devem funcionar 24h/7 podem ter um problema com esta mudança afectar também a hora UTC. Os programas que usam a hora em UTC que não sofre as mudanças de hora de verão/inverno.
Quando os computadores funcionam com base em nanosegundos e esperam precisão, podem fazer disparar alarmes de cpu ( interrupts ) antes ou depois do tempo esperado pelos programas, e isso pode gerar crash nos mesmos e o efeito em cadeia pode ter consequências importantes.
Vários sites tiveram problemas com o ultimo leap second, em particular envolvendo programas em java.
http://www.cnet.com/news/leap-second-bug-causes-site-software-crashes/
Ao longo dos anos tenho verificado uma relutância dos programadores de atacar, ou mesmo perceber, este problema.
Reconheço que há um problema que não era fácil de resolver (eu sei já fiz programas que dependiam criticamente de ter a hora certa, com muita precisão). A questão é que os segundos de permeio (leap seconds) são imprevisíveis, e anunciados tipicamente só com 6 meses de avanço.
Isto é, se estiver escrever código hoje não tenho nenhuma maneira de saber se, digamos, no dia 31 de Dezembro de 2015 (uma data possível) vai ou não ser introduzido – ou retirado – um segundo.
Evidentemente que o problema pode ser resolvido, exige alguns recursos, mas pode ser resolvido, até porque o assunto está na mão de pessoas que percebem o que fazem.
Semelhante, mas muito pior porque não pode ser resolvido, é duplicação de horas que existe uma vez por ano quando passamos da hora de verão para a hora de inverno. Aparentemente o legislador não se apercebeu que cria uma vazio legal, que dois eventos com a mesma data e hora legal podem ter acontecido separados de uma hora (teria sido fácil de resolver criando uma 25a hora).