An agent based architecture for cognitive spectrum management