diff --git a/src/fr/inrialpes/exmo/align/service/CacheImpl.java b/src/fr/inrialpes/exmo/align/service/CacheImpl.java
index dae4cbe72c4c400c8e154332e8df2d88faffec18..82c403a1a831b2c03acefa866e309cd1a1edd6e0 100644
--- a/src/fr/inrialpes/exmo/align/service/CacheImpl.java
+++ b/src/fr/inrialpes/exmo/align/service/CacheImpl.java
@@ -25,6 +25,8 @@ import java.util.Hashtable;
 import java.util.Vector;
 import java.util.Set;
 import java.util.HashSet;
+import java.util.Date;
+import java.util.Random;
 import java.net.URI;
 import java.net.URISyntaxException;
 
@@ -38,7 +40,7 @@ import org.semanticweb.owl.util.OWLManager;
 import org.semanticweb.owl.model.OWLEntity;
 import org.semanticweb.owl.model.OWLOntology;
 import org.semanticweb.owl.model.OWLException;
-import org.semanticweb.owl.util.OWLManager;
+//import org.semanticweb.owl.util.OWLManager;
 
 import fr.inrialpes.exmo.align.impl.BasicRelation;
 import fr.inrialpes.exmo.align.impl.BasicAlignment;
@@ -47,9 +49,8 @@ import org.semanticweb.owl.align.Alignment;
 import org.semanticweb.owl.align.AlignmentException;
 import org.semanticweb.owl.align.Cell;
 
-import org.semanticweb.owl.model.OWLEntity;
-import org.semanticweb.owl.model.OWLOntology;
-import org.semanticweb.owl.model.OWLException;
+//import org.semanticweb.owl.model.OWLEntity;
+//import org.semanticweb.owl.model.OWLOntology;
 
 /**
  * This class caches the content of the alignment database. I.e.,
@@ -130,8 +131,6 @@ public class CacheImpl implements Cache {
 	String query;
 	String tag;
 	String method;
-	OWLEntity ent1 = null, ent2 = null;
-	Cell cell = null;
 				
 	Alignment result = new BasicAlignment();
 		
@@ -143,7 +142,7 @@ public class CacheImpl implements Cache {
 		result.setFile1(new URI(rs.getString("uri1"))); 
 		result.setFile2(new URI(rs.getString("uri2"))); 
 		result.setLevel(rs.getString("level"));
-		result.setType(rs.getString("type"));			
+		result.setType(rs.getString("type"));	
 	    }
 
 	    // Get extension metadata
@@ -217,7 +216,16 @@ public class CacheImpl implements Cache {
 
     private String generateAlignmentId() {
 	// Generate an id based on a URI prefix + Date + random number
-	return "http://blavlacestmoi";
+    Date date;
+    String id;
+    date = new Date();
+    id = "http://blavlacestmoi" + date.getTime() + randomNum();
+	return id;
+    }
+    
+    private int randomNum() {
+    Random rand = new Random(System.currentTimeMillis());
+    return Math.abs(rand.nextInt(1000)); 
     }
 
     //**********************************************************************
@@ -226,11 +234,14 @@ public class CacheImpl implements Cache {
      */
     public Alignment getMetadata( String id ) {
 	Alignment result = null;		
-	String query = null;
+//	String query = null;
 	
 	result = (Alignment)alignmentTable.get( id );
-
-	// Raise an exception if no result
+	
+// Raise an exception if no result (by Seungkeun)
+	if(result == null) {
+		System.out.println("Metadata Loading Error in CacheImpl.getMetadata");
+	}		
 	return result;
     }
 	
@@ -239,15 +250,18 @@ public class CacheImpl implements Cache {
      */
     public Alignment getAlignment( String id ) throws Exception {
 	Alignment result = null;		
-	String query = null;
+//	String query = null;
 	
 	result = (Alignment)alignmentTable.get( id );
-
-	if ( result.getExtension("fr.inrialpes.exmo.align.service.cached") == "" && result.getExtension("fr.inrialpes.exmo.align.service.stored") != "") {
+	
+//	 Raise an exception if no result
+	if(result == null) { 
+		System.out.println("Metadata Loading Error in CacheImpl.getMetadata");
+	}		
+	else if ( result.getExtension("fr.inrialpes.exmo.align.service.cached") == "" && result.getExtension("fr.inrialpes.exmo.align.service.stored") != "") {
 	    retrieveAlignment( id, result );
-	}
-
-	// Raise an exception if no result
+	}	
+	
 	return result;
     }
 	
@@ -365,6 +379,4 @@ public class CacheImpl implements Cache {
 	parser.setConnection(OWLManager.getOWLConnection());
 	return parser.parseOntology(uri);
     }
-
-
 }
diff --git a/src/fr/inrialpes/exmo/align/service/DBService.java b/src/fr/inrialpes/exmo/align/service/DBService.java
index 8a938432c2043089b52fc778333fd4dbe087dea8..91beb85f77a803d4099731c2206584d672bd7934 100644
--- a/src/fr/inrialpes/exmo/align/service/DBService.java
+++ b/src/fr/inrialpes/exmo/align/service/DBService.java
@@ -20,7 +20,7 @@
 
 package fr.inrialpes.exmo.align.service;
 
-import java.net.URI;
+//import java.net.URI;
 import java.sql.Connection;
 import java.sql.SQLException;
 
diff --git a/src/fr/inrialpes/exmo/align/service/DBServiceImpl.java b/src/fr/inrialpes/exmo/align/service/DBServiceImpl.java
index 2724590065392034cd7a9520dfdf2f11a842595b..6ed6f76b7ba385955548819fced5fa3f06241ef7 100644
--- a/src/fr/inrialpes/exmo/align/service/DBServiceImpl.java
+++ b/src/fr/inrialpes/exmo/align/service/DBServiceImpl.java
@@ -22,8 +22,7 @@ package fr.inrialpes.exmo.align.service;
 
 import java.lang.ClassNotFoundException;
 import java.lang.IllegalAccessException;
-import java.util.Vector;
-import java.net.URI;
+
 import java.sql.Connection;
 import java.sql.DriverManager;
 import java.sql.ResultSet;
@@ -41,6 +40,7 @@ public class DBServiceImpl implements DBService{
     String driverPrefix = "jdbc:mysql";
     Statement st = null;
     ResultSet rs = null;
+    Cache cache = null;
 	
     public DBServiceImpl() throws ClassNotFoundException, InstantiationException, IllegalAccessException {
 	Class.forName("com.mysql.jdbc.Driver").newInstance();
@@ -51,7 +51,8 @@ public class DBServiceImpl implements DBService{
 	driverPrefix = prefix;
     }
 
-    public void init() {};
+    public void init() {
+    }
 	 	
     public void connect( String password ) throws SQLException {
 	connect( IPAddress, port, user, password );
@@ -68,14 +69,14 @@ public class DBServiceImpl implements DBService{
     public void connect(String IPAddress, String port, String user, String password ) throws SQLException {
 	conn = DriverManager.getConnection(driverPrefix+"://"+IPAddress+":"+port+"/DBService", user, password);
 	st = (Statement) conn.createStatement();
-    }
+	}
 
     public Connection getConnection() {
 	return conn;
     }
 	
     // JE: I think that there is no interest now
-    public synchronized long nextID(){
+/*  public synchronized long nextID(){
 	long id = 0;
 	try {
 	    st.executeUpdate("insert into id_seq (aa) values ('a')");
@@ -90,7 +91,7 @@ public class DBServiceImpl implements DBService{
 	    return -1;
 	}
 	return id;
-    }
+    } */
 	
     public void close() {
 	try {
@@ -98,7 +99,7 @@ public class DBServiceImpl implements DBService{
 	    st.close();
 	    rs.close();
 	} catch (Exception ex) {
-	    // Do something
+	    System.out.println("DB Closing Error");
 	}
     }
     
diff --git a/src/fr/inrialpes/exmo/align/service/dbschema.sql b/src/fr/inrialpes/exmo/align/service/dbschema.sql
index 0e456999da2e0a1e3a0f48e583350909deb0e728..d7accac438a2460ba1acbdb8f0c465fb81414345 100644
--- a/src/fr/inrialpes/exmo/align/service/dbschema.sql
+++ b/src/fr/inrialpes/exmo/align/service/dbschema.sql
@@ -1,14 +1,7 @@
-// id tabel
-
-create table id_seq(
-    id bigint not null auto_increment,
-    primary key (id),
-    aa char(1));
-
 // alignment info
 
 create table alignment (
-   id varchar(10), 
+   id varchar(50), 
    owlontology1 varchar(100),
    owlontology2 varchar(100),
    type varchar(5),
@@ -22,7 +15,7 @@ create table alignment (
 // cell info
 
 create table cell(
-   id varchar(10),
+   id varchar(50),
    cell_id varchar(20),
    uri1 varchar(100),
    uri2 varchar(100),
@@ -34,6 +27,6 @@ create table cell(
 // cell method
 
 create table method(
-   id varchar(10),
+   id varchar(50),
    tag varchar(20),
-   extension varchar(100))
\ No newline at end of file
+   extension varchar(100));
\ No newline at end of file