Answer depends on the scale of your app.
If you have only one server with enough memory to hold sessions for all your concurrent users
Storing info in the session is the easiest thing to do. Make sure that your graph is serializable and Servlet (or J2EE) container will take of the rest. You can help with httpsession persistence if you implement some custom algo for your data.
If you grew big
That is if you have more than one server with a load balancer in front or your graphs do not fit in memory. Store them in some shared storage - either DB or a filer and retrieve by some key lookup. Consider using sticky sessions to minimize DB/file lookups and cache recent graphs in memory
Fancy trick
If you find a way to compress your whole graph into 1-2KB put it entirely into http cookie, browser will send it back to you on every request, your server will be stateless, no DB, no session affinity issue.