anchor.diff:  -include("scalaris.hrl").
   
   -export([init/1, on/2, start_link/2, check_config/0]).
  +
  +-type(rempid() :: %% locally existing subscriptions for remote pids
  +        {
  +          comm:mypid(),  %% remote pid a local subscriber is subscribed to
  +                         %% the other end (fd_hbs) has a monitor
  +                         %% established for this
  +          non_neg_integer(), %% number of local subscribers for the remote pid
  +          util:time(),   %% delay remote demonitoring:
  +                         %%   time of ref count reached 0
  +                         %%   all other modifications change this to {0,0,0}
  +          boolean()      %% delayed demonitoring requested and still open?
  +        }).
  +
   -type(state() :: {
  -       comm:mypid(),   %% remote hbs
  -       [{comm:mypid(), pos_integer()}], %% subscribed rem. pids + ref counting
  -       util:time(),    %% local time of last pong arrival
  -       util:time(),    %% remote is crashed if no pong arrives until this
  -       atom(),         %% ets table name
  -       %% locally monitored pids for a remote hbs:
  +       comm:mypid(), %% remote hbs
  +       [rempid()],  %% subscribed rem. pids + ref counting
  +       util:time(),  %% local time of last pong arrival
  +       util:time(),  %% remote is crashed if no pong arrives until this
  +       atom(),       %% ets table name
  +       %% locally erlang:monitored() pids for a remote hbs:
          [{comm:mypid(), reference()}]
        }).
   
  
positive.code:             state_set_monitors(State,
                                 lists:delete({WatchedPid, MonRef}, Monitors))
      end.
  
negative.code: 
  on({periodic_alive_check}, State) ->
      ?TRACEPONG("Pinger periodic_alive_check~n", []),
      Now = os:timestamp(),
      CrashedAfter = state_get_crashed_after(State),
      comm:send(state_get_rem_hbs(State),
                {pong, comm:this(),
  