A method for providing a context-based service to a terminal (T) of a communication network (CN), said method comprising, at a context server (SCtx) cooperating with said communication network (CN): a) receiving a query from a service application (A) suitable for implementing said context based service, said query indicating that said context server (SCtx) should perform an action when a query condition (Cq) is fulfilled, said query condition (Cq) referring to one or more attributes of derived context information (DS) indicative of a context of said terminal (T), said derived context information (DS) being derived by processing raw context information (RS) detectable by said terminal (T); b) generating a query evaluation trigger indicating that said query condition (Cq) should be evaluated when said derived context information (DS) is updated; c) identifying said raw context information (RS) allowing to derive said derived context information (DS); d) generating a calculation trigger indicating that said derived context information (DS) should be calculated when an update of said raw context information (RS) is received from said terminal (T); e) receiving from said terminal (T) an update (U) of said raw context information (RS) and, according to said calculation trigger, calculating a new value (NV) of said derived context information (DS) according to said update (U); and f) according to said query evaluation trigger, evaluating said query condition (Cq) by using said new value (NV) and, if said query condition is fulfilled, performing said action, wherein said step e) further comprises, after calculating said new value (NV) of said derived context information (DS), storing said new value (NV) in a context database (C-DB) cooperating with said context server (SCtx), said context database (C-DB) also storing a previously stored value (SV) of said derived context information (DS), and comparing said new value (NV) with said stored value (SV) and, if said new value (NV) is equal to said stored value (SV), deciding not to perform said step f). a) receiving a query from a service application (A) suitable for implementing said context based service, said query indicating that said context server (SCtx) should perform an action when a query condition (Cq) is fulfilled, said query condition (Cq) referring to one or more attributes of derived context information (DS) indicative of a context of said terminal (T), said derived context information (DS) being derived by processing raw context information (RS) detectable by said terminal (T); b) generating a query evaluation trigger indicating that said query condition (Cq) should be evaluated when said derived context information (DS) is updated; c) identifying said raw context information (RS) allowing to derive said derived context information (DS); d) generating a calculation trigger indicating that said derived context information (DS) should be calculated when an update of said raw context information (RS) is received from said terminal (T); e) receiving from said terminal (T) an update (U) of said raw context information (RS) and, according to said calculation trigger, calculating a new value (NV) of said derived context information (DS) according to said update (U); and f) according to said query evaluation trigger, evaluating said query condition (Cq) by using said new value (NV) and, if said query condition is fulfilled, performing said action, <EOS>