Redirecionar após Expirar Sessão

Olá a todos, estou precisando redirecionar para a página de login quando a sessão do usuário expirar mas para isto não posso depender de uma requisição http em função da arquitetura que estou usando completamente via chamadas assíncronas, logo pensei em usar uma função js que forçasse um redirecionamento após n minutos da sessão estar aberta sem que o usuário utilizasse, assim criei as tais funções abaixo mas não está funcionando, alguma dica? A idéia desta função é resetar a variável session_count sempre quando o mouse for movimentado sobre as principais áreas do site como menus e div container (principal div do sistema que representa 80% da tela), logo a função delay vrificaria a cada segundo o valor desta variável se a mesma chegasse a n segundos ocorreria o redirect.

Valeu.

PS.: Sei que esta é uma solução bem gambiarrada logo aceito sugestões do tipo alterar o meu listener para que caso a sessão expire redirecionar automaticamente, opção esta que acho ideal.

<script>
    var session_count=0;    
    
    function delay(){     
        setTimeout('afterOneSecond()',1000)
    }

    function afterOneSecond(){
        while(true){        
            session_count ++;
        }if(session_count == 9000){
            window.location="login";
        }            
    }
    
    function reset_session_count(){
        session_count = 0;
    }
</script>

cara pq vc simplesmente nao faz uma funcao de refresh pra executar dps q passar o tempo da sua session ?
ultilize javascript e google x)

Se você fizer o recarregamento de algumas partes da página via AJAX você consegue manter a sessão no servidor.

Para o redirecinamento no servidor para a página de login, sugiro você utilizar um filtro.

Qual a relação do mouse com a sessão no servidor?

Os dados recebidos do servidor já são do cliente. Quando uma nova requisição acontecer e o servidor indicar que a sessão expirou, você poderia escurecer a página e mostrar um formulário de login por cima. Após restabelecer a sessão, repita a requisição que “falhou” e pronto, o usuário estará exatamente onde estava.

Mas só pra reforçar, qual a relação do movimento no cliente com a sessão no servidor?