PplWare Mobile

2015 vai ter mais 1 segundo e isso será perigoso para a Internet

                                    
                                

Este artigo tem mais de um ano


Autor: Pedro Simões


  1. João says:

    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!!!

  2. Duarte Santos says:

    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?

    • João Simões says:

      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.

      • JJ says:

        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.

      • JJ says:

        @João Simões… ao reler o teu comentário, verifiquei que dissemos a mesma coisa, mas segundo métricas diferentes… 🙂

  3. AA says:

    Não está fácil

    • Tavares says:

      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”…

  4. JJ says:

    Lá vão os hackers aproveitar essa situação, para mais alguns ataques…

  5. Oscrates says:

    Vai ser uma catástrofe como a que aconteceu no ano 2000 com o bug Y2k…

  6. Alex says:

    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

    • Krasy says:

      não se os sistemas congelarem que é o k se teme

    • JJ says:

      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.

  7. José says:

    Será apenas nesse dia?

  8. João says:

    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!!

    • Marisa Pinto says:

      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 🙂

    • JJ says:

      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…

  9. ruben machado says:

    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.

  10. pp says:

    Nunca mais aparecem os ET’S

  11. antunesn says:

    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…
    😀

    • JJ says:

      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.

      • antunesn says:

        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!!!

  12. Kabindas says:

    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 😛

    • JJ says:

      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″…

  13. NTP…

    Sempre saltando segundos pra frente e pra trás e tudo sempre funcionou… :-/

  14. Ed says:

    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?

  15. Gustavo Lima says:

    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…..

  16. Bruno Monteiro says:

    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… )

    • JJ says:

      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).

  17. Arlindo says:

    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! 😛

  18. Bento Martins says:

    Já aconteceu 25 vezes (desde 1972) e ainda não estão preparados?

    • David says:

      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…

  19. Ricardo Martins says:

    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?

  20. valter tembe says:

    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

  21. Carlota Lopes says:

    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.

  22. André says:

    E acertar a hora 1 segundo no dia anterior, ou no dia seguinte, não resolve?

  23. naoliveira says:

    Se os servidores estiverem configurados para a hora UTC, mudam todos ao mesmo tempo, se não estiverem, então estão mal configurados 😉

  24. Francisco says:

    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/

  25. Jose Simoes says:

    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).

Deixe um comentário

O seu endereço de email não será publicado.

You may use these HTML tags and attributes: <a href="" title="" rel=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

*

Aviso: Todo e qualquer texto publicado na internet através deste sistema não reflete, necessariamente, a opinião deste site ou do(s) seu(s) autor(es). Os comentários publicados através deste sistema são de exclusiva e integral responsabilidade e autoria dos leitores que dele fizerem uso. A administração deste site reserva-se, desde já, no direito de excluir comentários e textos que julgar ofensivos, difamatórios, caluniosos, preconceituosos ou de alguma forma prejudiciais a terceiros. Textos de caráter promocional ou inseridos no sistema sem a devida identificação do seu autor (nome completo e endereço válido de email) também poderão ser excluídos.