anchor.diff:      LNCI = jiffy:encode({[{<<"Time">>,Time},{<<"NCI">>,1}]}),
       LNEP = jiffy:encode({[{<<"Time">>,Time},{<<"NEP">>,1}]}),
       LQPS = jiffy:encode({[{<<"Time">>,Time},{<<"QPS">>,1}]}),
  -    Pid = spawn(?MODULE,listen,[#state{start_time=StartTime,clients=[],last_nci=LNCI,nci_log=[],last_nep=LNEP,last_int_nep=0,last_qps=LQPS}]),
  -    register(tap_client_data,Pid),
  +    Pid = spawn(?MODULE,listen,[#state{start_time=StartTime,clients=[],last_nci=LNCI,nci_log=undefined,last_nep=LNEP,last_int_nep=0,last_qps=LQPS}]),
       Pid.
   
   send(Msg) when is_atom(Msg); is_tuple(Msg) ->
  
positive.code:     end.
  
  listen(State)->
      Clients = State#state.clients,
      NCILog = State#state.nci_log,
      StartTime = State#state.start_time,
      LNCI = State#state.last_nci,
      LNEP = State#state.last_nep,
  
negative.code: 	{more_nci_data,Pid,Start,End,MaxData} ->
  	    error_logger:info_msg("tap_client_data: {more_nci_data,~p,~p,~p,~p}~n",[Pid,Start,End,MaxData]),
  	    spawn(fun()->
  %			  Target = lists:filter(fun({Time,_Value})->(Time >= Start) and (Time =< End) end,NCILog),
  			  Target = ets:foldl(fun(X,AccIn)->{Time,_Value} = X,
  							   case (Time >= Start) and (Time =< End) of
  							       true -> [X|AccIn];
  							       false -> AccIn
  							   end
  					     end, [], NCILog),
  			  Length = length(Target),
  			  case Length > 0 of
  			      true ->
  