anchor.diff:      net_kernel:monitor_nodes(true),
   
       %% Setup ETS table to track node status
  -    ets:new(?MODULE, [protected, named_table]),
  +    ets:new(?MODULE, [protected, read_concurrency, named_table]),
   
       {ok, schedule_broadcast(#state{})}.
   
  
positive.code: 
  
  node_delete(Node) ->
      Services = pubtab_get_services(Node),
      [pubtab_delete(Node, Service) || Service <- Services],
      ets:delete(?MODULE, Node),
      Services.
  
  
negative.code:     %% know and determine what's changed (if anything).
      Now = riak_core_util:moment(),
      NewStatus = ordsets:from_list(Services),
      OldStatus = ordsets:from_list(internal_get_services(Node)),
  
      Added     = ordsets:subtract(NewStatus, OldStatus),
      Deleted   = ordsets:subtract(OldStatus, NewStatus),
  
      %% Update ets table with changes; make sure to touch unchanged
      %% service with latest timestamp
      [internal_delete(Node, Ss) || Ss <- Deleted],
      [internal_insert(Node, Ss) || Ss <- Added],
  
      %% Keep track of the last time we recv'd data from a node
      ets:insert(?MODULE, {Node, Now}),
  