Hi,
In order to guarantee the permanence of the data I'm using the database.  I have created the following table:
------ *******************************************
------ *******************************************
------          start SESSION_VARIABLES
------ *******************************************
------ *******************************************
-- start table SESSION_VARIABLES
CREATE TABLE session_variables (
        session_id     integer,
        module_id      varchar,
        var_name       varchar,
        var_value      varchar         CONSTRAINT session_variables_var_value_nn
                                       NOT NULL,
        CONSTRAINT session_variables_pk
        PRIMARY KEY(session_id, module_id, var_name)
);
COMMENT ON TABLE session_variables IS '
   The table holds session variables. The programmer is in charge to delete the variables rows, if not the data is holded permanently.
';
COMMENT ON COLUMN session_variables.session_id IS '
   The session ID of the user (obtained with the command [ad_conn session_id]).
';
COMMENT ON COLUMN session_variables.module_id IS '
   The package key plus the package id ( "package_key_[ad_conn package_id]").
';
-- end table SESSION_VARIABLES
------ *******************************************
------ *******************************************
------            end SESSION_VARIABLES
------ *******************************************
------ *******************************************
I don't know if there is a better model, but this one is working fine to me.
Regards,
Jorge.