Como posso armazenar o estado de uma guia / janela individual do navegador?

Estou desenvolvendo uma página única jQuery & Backbone.js web app. O backend é um servidor de aplicativos JBoss 6.

Até agora tínhamos a seguinte estrutura:

Existe apenas um servlet (front controller). Toda solicitação do cliente JavaScript passa por aqui.No servlet - na primeira requisição de um certo cliente JS - eu faço uma olhada em p para um bean de sessão com estado. Para as próximas solicitações deste cliente, armazeno o resultado da consulta em um contêiner de sessão HTTP. Portanto, todo cliente JS possui exatamente um bean de sessão com estado. Essa conexão é mantida por um cookie de sessão.

Agora eu tenho um requisito adicional:

Quando o usuário tem duas guias do navegador (em um navegador), ele deve ter duas instâncias isoladas do aplicativo da Web em todas as guias do navegador. Por causa disso, eu tenho um problema com cookies de sessão porque esse cookie de sessão é para todas as guias do navegador.

Eu tenho que mudar a estrutura para que:

O servlet precisa gerar um novo ID de sessão para a primeira solicitação de um determinado cliente JS. Este ID de sessão é comunicado ao cliente.Com cada POST para o back-end, o cliente JS precisa enviar esse ID de sessão.

Minha pergunta é:

Até agora eu salvei o resultado da pesquisa em um objeto de sessão HTTP e não tive que pensar em gerar um ID de sessão. Mas agora eu tenho que guardar isso em outro lugar, onde?

Alguém tem experiência com esse tipo de cenário e pode me ajudar?

Atualizar:
Obrigado BalusC por esta abordagem muito interessante.
Quando te entendi bem, isso significa:

Todos os clientes JS individuais das guias de1 o navegador compartilha um objeto de sessão HTTP. E neste objeto de sessão HTTP, cada guia possui seu próprio ponto de entrada. Isso soa muito bem. Portanto, ainda posso usar toda a infraestrutura de sessão HTTP e não preciso reinventar a roda.

questionAnswers(2)

yourAnswerToTheQuestion