A solution would be to send an ajax to the server renewing the session every so often
UPDATE 1:
Puedes hacer algo como esto en tu .js
$(document).ready(function(){
setInterval(sessionRenew, X);//Se ejecutara sessionRenew cada X tiempo dado en milisegundos
});
function sessionRenew(){
$.ajax({
url: '/path/to/file', // Archivo donde renueva sus datos
type: 'POST', //Tipo de envio al server
data: {session: 'renew'}, //Parametros que envias
success: function(resp){
doSomething(); //Que hacer despues de una respuesta
console.log('Session renew' + resp); //Comunicar a la consola JS el msg
}
})//Aqui en adelante puedes ver la documentacion de jQuery Ajax, es teoricamente un equivalente a lo anterior
.done(function() {
console.log("success");
})
.fail(function() {
console.log("error");
});
}