Index: modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/clients/locators/ServiceRunningInstance.java
===================================================================
--- modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/clients/locators/ServiceRunningInstance.java	(revision 45515)
+++ modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/clients/locators/ServiceRunningInstance.java	(nonexistent)
@@ -1,73 +0,0 @@
-package eu.dnetlib.clients.locators;
-
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * This bean packages the minimum information for describing a service running instance.
- */
-public class ServiceRunningInstance {
-
-	private String serviceId;
-	private String url;
-	private int usedDiskSpace = 0;
-	private int handledDatastructures = 0;
-	private Map<String, String> serviceProperties = new HashMap<String, String>();
-
-	public ServiceRunningInstance() {}
-
-	public ServiceRunningInstance(final String serviceId, final String url) {
-		this.serviceId = serviceId;
-		this.url = url;
-	}
-
-	public ServiceRunningInstance(final String serviceId, final String url, final int usedDiskSpace,
-			final int handledDatastructures, final Map<String, String> serviceProperties) {
-		this.serviceId = serviceId;
-		this.url = url;
-		this.usedDiskSpace = usedDiskSpace;
-		this.handledDatastructures = handledDatastructures;
-		this.serviceProperties = serviceProperties;
-	}
-
-	public String getServiceId() {
-		return serviceId;
-	}
-
-	public void setServiceId(final String serviceId) {
-		this.serviceId = serviceId;
-	}
-
-	public String getUrl() {
-		return url;
-	}
-
-	public void setUrl(final String url) {
-		this.url = url;
-	}
-
-	public Map<String, String> getServiceProperties() {
-		return serviceProperties;
-	}
-
-	public void setServiceProperties(final Map<String, String> serviceProperties) {
-		this.serviceProperties = serviceProperties;
-	}
-
-	public int getUsedDiskSpace() {
-		return usedDiskSpace;
-	}
-
-	public void setUsedDiskSpace(final int usedDiskSpace) {
-		this.usedDiskSpace = usedDiskSpace;
-	}
-
-	public int getHandledDatastructures() {
-		return handledDatastructures;
-	}
-
-	public void setHandledDatastructures(final int handledDatastructures) {
-		this.handledDatastructures = handledDatastructures;
-	}
-
-}
Index: modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/clients/locators/ServiceClientLocator.java
===================================================================
--- modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/clients/locators/ServiceClientLocator.java	(revision 45515)
+++ modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/clients/locators/ServiceClientLocator.java	(revision 45516)
@@ -3,6 +3,7 @@
 import java.util.Comparator;
 
 import eu.dnetlib.clients.BaseServiceClient;
+import eu.dnetlib.services.ServiceRunningInstance;
 
 public interface ServiceClientLocator {
 
Index: modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/clients/locators/DefaultServiceClientLocator.java
===================================================================
--- modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/clients/locators/DefaultServiceClientLocator.java	(revision 45515)
+++ modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/clients/locators/DefaultServiceClientLocator.java	(revision 45516)
@@ -27,6 +27,7 @@
 import eu.dnetlib.enabling.annotations.DnetServiceType;
 import eu.dnetlib.exceptions.DnetGenericRuntimeException;
 import eu.dnetlib.exceptions.ISLookUpException;
+import eu.dnetlib.services.ServiceRunningInstance;
 
 public class DefaultServiceClientLocator implements ServiceClientLocator, BeanFactoryAware {
 
Index: modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/clients/locators/comparators/HandledDatastructuresComparator.java
===================================================================
--- modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/clients/locators/comparators/HandledDatastructuresComparator.java	(revision 45515)
+++ modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/clients/locators/comparators/HandledDatastructuresComparator.java	(revision 45516)
@@ -2,7 +2,7 @@
 
 import java.util.Comparator;
 
-import eu.dnetlib.clients.locators.ServiceRunningInstance;
+import eu.dnetlib.services.ServiceRunningInstance;
 
 public class HandledDatastructuresComparator implements Comparator<ServiceRunningInstance> {
 
Index: modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/clients/locators/comparators/DiskSpaceComparator.java
===================================================================
--- modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/clients/locators/comparators/DiskSpaceComparator.java	(revision 45515)
+++ modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/clients/locators/comparators/DiskSpaceComparator.java	(revision 45516)
@@ -2,7 +2,7 @@
 
 import java.util.Comparator;
 
-import eu.dnetlib.clients.locators.ServiceRunningInstance;
+import eu.dnetlib.services.ServiceRunningInstance;
 
 public class DiskSpaceComparator implements Comparator<ServiceRunningInstance> {
 
Index: modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/clients/BaseServiceClient.java
===================================================================
--- modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/clients/BaseServiceClient.java	(revision 45515)
+++ modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/clients/BaseServiceClient.java	(revision 45516)
@@ -2,10 +2,10 @@
 
 import javax.annotation.PostConstruct;
 
-import eu.dnetlib.clients.locators.ServiceRunningInstance;
 import eu.dnetlib.enabling.annotations.DnetService;
 import eu.dnetlib.enabling.annotations.DnetServiceType;
 import eu.dnetlib.exceptions.DnetGenericException;
+import eu.dnetlib.services.ServiceRunningInstance;
 
 public abstract class BaseServiceClient {
 
Index: modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/services/ServiceRunningInstance.java
===================================================================
--- modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/services/ServiceRunningInstance.java	(nonexistent)
+++ modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/services/ServiceRunningInstance.java	(revision 45516)
@@ -0,0 +1,73 @@
+package eu.dnetlib.services;
+
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * This bean packages the minimum information for describing a service running instance.
+ */
+public class ServiceRunningInstance {
+
+	private String serviceId;
+	private String url;
+	private int usedDiskSpace = 0;
+	private int handledDatastructures = 0;
+	private Map<String, String> serviceProperties = new HashMap<String, String>();
+
+	public ServiceRunningInstance() {}
+
+	public ServiceRunningInstance(final String serviceId, final String url) {
+		this.serviceId = serviceId;
+		this.url = url;
+	}
+
+	public ServiceRunningInstance(final String serviceId, final String url, final int usedDiskSpace,
+			final int handledDatastructures, final Map<String, String> serviceProperties) {
+		this.serviceId = serviceId;
+		this.url = url;
+		this.usedDiskSpace = usedDiskSpace;
+		this.handledDatastructures = handledDatastructures;
+		this.serviceProperties = serviceProperties;
+	}
+
+	public String getServiceId() {
+		return serviceId;
+	}
+
+	public void setServiceId(final String serviceId) {
+		this.serviceId = serviceId;
+	}
+
+	public String getUrl() {
+		return url;
+	}
+
+	public void setUrl(final String url) {
+		this.url = url;
+	}
+
+	public Map<String, String> getServiceProperties() {
+		return serviceProperties;
+	}
+
+	public void setServiceProperties(final Map<String, String> serviceProperties) {
+		this.serviceProperties = serviceProperties;
+	}
+
+	public int getUsedDiskSpace() {
+		return usedDiskSpace;
+	}
+
+	public void setUsedDiskSpace(final int usedDiskSpace) {
+		this.usedDiskSpace = usedDiskSpace;
+	}
+
+	public int getHandledDatastructures() {
+		return handledDatastructures;
+	}
+
+	public void setHandledDatastructures(final int handledDatastructures) {
+		this.handledDatastructures = handledDatastructures;
+	}
+
+}
Index: modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/services/BaseService.java
===================================================================
--- modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/services/BaseService.java	(revision 45515)
+++ modules/dnet-common-utils/trunk/src/main/java/eu/dnetlib/services/BaseService.java	(revision 45516)
@@ -4,10 +4,13 @@
 import java.util.Map;
 
 import javax.annotation.PostConstruct;
+import javax.servlet.http.HttpServletRequest;
 
+import org.apache.commons.lang3.StringUtils;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 import org.springframework.context.Lifecycle;
+import org.springframework.web.bind.annotation.RequestMapping;
 
 import eu.dnetlib.enabling.annotations.DnetService;
 import eu.dnetlib.enabling.annotations.DnetServiceType;
@@ -56,6 +59,11 @@
 		log.info("Stopping service " + this);
 	}
 
+	@RequestMapping("identify")
+	public ServiceRunningInstance identify(final HttpServletRequest req) {
+		return new ServiceRunningInstance(getProfileId(), StringUtils.substringBeforeLast(req.getRequestURI(), "/identify"));
+	}
+
 	public String getProfileId() {
 		return profileId;
 	}
