diff --git a/webservice/DataSID.java b/webservice/DataSID.java
index 4364b55a9f261a8de3f8b7d496aa7977b3456383..3c60d23b3630659d1bbaa30175d0bd4fd31a4135 100644
--- a/webservice/DataSID.java
+++ b/webservice/DataSID.java
@@ -44,23 +44,23 @@ import javax.xml.validation.SchemaFactory;
 import javax.xml.transform.stream.StreamSource;
 
 public class DataSID {
-    
+
     private static final int LINUX = 0;
     private static final int WINDOWS = 1;
 
     private static final String SA_INVENTORY = "telecenter_inventory";
     private static final String SA_NET_USAGE = "net_usage";
     private static final String SA_USER_HISTORY = "telecenter_user";
-    
+
     private static final File XML_INVENTORY_SCHEMA = new File("/home/datasid/conf/collected-data.xsd");
     private static final File XML_NET_USAGE_SCHEMA = new File("/home/datasid/conf/net-collected-data.xsd");
-    
+
     private static final String AGENT_VERSION = "1.0.1";
     private static final String AGENT_UPDATE_LINK = "http://bisimmcdev.c3sl.ufpr.br/download/datasid-1.0.1-update.run";
-    
+
     private static final String WINDOWS_AGENT_VERSION = "1.0.0";
     private static final String WINDOWS_UPDATE_LINK = "http://bisimmcdev.c3sl.ufpr.br/download/datasid-1.0.0-update.exe";
-    
+
     // enum does not work as expected inside an axis web service
     // using simple constants instead
     private static final int ERROR = 0;
@@ -137,15 +137,15 @@ public class DataSID {
      */
     public static String getAgentVersion(int OS) {
         switch(OS){
-            case LINUX: 
+            case LINUX:
                 return AGENT_VERSION;
-            case WINDOWS:                       
+            case WINDOWS:
                 return WINDOWS_AGENT_VERSION;
             default:
-                return "ERROR: invalid OS";                              
+                return "ERROR: invalid OS";
         }
-        
-    }    
+
+    }
 
     /**
      * Return a string that contains a link to download the newest version of
@@ -158,14 +158,14 @@ public class DataSID {
     public static String getUpdateLink(int OS)
     {
         switch(OS){
-            case LINUX: 
+            case LINUX:
                 return AGENT_UPDATE_LINK;
-            case WINDOWS:                       
+            case WINDOWS:
                 return WINDOWS_UPDATE_LINK;
             default:
-                return "ERROR: invalid OS";                             
+                return "ERROR: invalid OS";
         }
-    }   
+    }
 
     /**
      * Receive an XML string which has the inventory data to be parsed and
@@ -206,7 +206,7 @@ public class DataSID {
             // contact_date = current date
             Calendar cal = Calendar.getInstance();
             java.sql.Date contactDate = new java.sql.Date(cal.getTimeInMillis());
-                    
+
             PreparedStatement st = createInventoryStatement(con, collected, contactDate);
             st.executeUpdate();
 
@@ -216,17 +216,17 @@ public class DataSID {
             org.postgresql.util.PGobject macaddr = new org.postgresql.util.PGobject();
             macaddr.setType("macaddr");
             macaddr.setValue(interfaces.get(0).getMacAddress());
-            
+
             for(User user: users) {
-                st = createUserHistoryStatement(con, contactDate, idpoint, 
+                st = createUserHistoryStatement(con, contactDate, idpoint,
                     macaddr, user.getName(), user.getLogin(), user.getLogout());
                 st.executeUpdate();
             }
             con.close();
 
-            log(INFO, "setInventory(idpoint=" + collected.getPointInfo().getIdpoint() + 
+            log(INFO, "setInventory(idpoint=" + collected.getPointInfo().getIdpoint() +
                         ", macaddr=" + interfaces.get(0).getMacAddress() + ")");
-                        
+
             return "Success";
         } catch (Exception e) {
             log(ERROR, e.getMessage() + " " + xmlData);
@@ -234,7 +234,7 @@ public class DataSID {
             return "ERROR: " + e.getMessage();
         }
     }
-    
+
     private static PreparedStatement createInventoryStatement(Connection con, CollectedData collectedData, java.sql.Date contactDate) throws SQLException, ParseException {
         final String query = "INSERT INTO " + SA_INVENTORY + " " +
             "(contact_date, machine_type, id_point, macaddr, agent_version, " +
@@ -262,7 +262,7 @@ public class DataSID {
 
         // contact_date
         st.setDate(1, contactDate);
-        
+
         // machine_type
         if(collectedData.getMachineType().compareTo("client") == 0)
             st.setInt(2, 0);
@@ -277,7 +277,7 @@ public class DataSID {
         macaddr.setType("macaddr");
         macaddr.setValue(interfaces.get(0).getMacAddress());
         st.setObject(4, macaddr);
-        
+
         // versao
         st.setString(5, collectedData.getAgentVersion());
 
@@ -298,7 +298,7 @@ public class DataSID {
 
         // disk1_model
         st.setString(11, disks.get(0).getModel());
-        
+
         // disk1_size
         st.setInt(12, disks.get(0).getSize().intValue());
 
@@ -328,17 +328,17 @@ public class DataSID {
 
         // extra_hds
         st.setInt(17, (disks.size() > 2) ? (disks.size() - 2) : 0);
-        
+
 
         // mirrors_timestamp
         if(collectedData.getMirrorsTimestamp().compareTo(" ") == 0)
-            st.setTimestamp(18, null); 
+            st.setTimestamp(18, null);
         else {
             SimpleDateFormat dt = new SimpleDateFormat("EEE MMM dd hh:mm:ss zzz yyyy", Locale.US);
             Date ts = dt.parse(collectedData.getMirrorsTimestamp());
             st.setTimestamp(18, new java.sql.Timestamp(ts.getTime()));
         }
-        
+
         // user_count
         st.setInt(19, pointInfo.getUserCount().intValue());
 
@@ -352,13 +352,13 @@ public class DataSID {
             "(?, ?, ?, ?, ?, ?);";
 
         PreparedStatement st = con.prepareStatement(query);
-        
+
         st.setDate(1, contactDate);
 
         st.setInt(2, id_point);
 
         st.setObject(3, macaddr);
-        
+
         st.setString(4, name);
 
         try {
@@ -366,16 +366,16 @@ public class DataSID {
         } catch (Exception e) {
             st.setTime(5, null);
         }
-        
+
         try {
             st.setTime(6, java.sql.Time.valueOf(logout));
         } catch (Exception e) {
             st.setTime(6, null);
         }
-        
+
         return st;
     }
-    
+
     /**
      * Receive an XML string which has the inventory data to be parsed and
      * inserted into database. Return "Success" string if insertion operation
@@ -413,9 +413,9 @@ public class DataSID {
             // Decode the XML into a Java Object
             JAXBElement<NetCollectedData> element = (JAXBElement<NetCollectedData>) unmarshaller.unmarshal(new StreamSource(is), NetCollectedData.class);
             NetCollectedData netCollectedData = element.getValue();
-            
+
             List<Interface> interfaces = netCollectedData.getInterfaces().getInterface();
-    
+
             // contact_date = current date
             Calendar cal = Calendar.getInstance();
             java.sql.Date contactDate = new java.sql.Date(cal.getTimeInMillis());
@@ -423,20 +423,20 @@ public class DataSID {
             org.postgresql.util.PGobject macaddr = new org.postgresql.util.PGobject();
             macaddr.setType("macaddr");
             macaddr.setValue(interfaces.get(0).getMacAddress());
-        
+
             List<NetUse> netUses = netCollectedData.getBandwidthUsage().getNetuse();
-            
+
             for(NetUse netUse : netUses) {
                 PreparedStatement st = createNetUsageStatement(con, contactDate,
-                 netCollectedData.getIdPoint(), (Object)macaddr, 
-                 netUse.getDate(), netUse.getTime(), netUse.getRx().getRxBytes(), 
+                 netCollectedData.getIdPoint(), (Object)macaddr,
+                 netUse.getDate(), netUse.getTime(), netUse.getRx().getRxBytes(),
                  netUse.getRx().getRxPackets(), netUse.getTx().getTxBytes(),
                  netUse.getTx().getTxPackets());
                 st.executeUpdate();
             }
             con.close();
 
-            log(DEBUG, "setNetUsage(idpoint=" + netCollectedData.getIdPoint() + 
+            log(DEBUG, "setNetUsage(idpoint=" + netCollectedData.getIdPoint() +
                         ", macaddr=" + interfaces.get(0).getMacAddress() + ")");
             return "Success";
         } catch (Exception e) {
@@ -453,7 +453,7 @@ public class DataSID {
             "(contact_date, id_point, macaddr, collect_date, collect_time, " +
             "down_kbits, down_packages, up_kbits, up_packages, ip, city_code) VALUES " +
             "(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?);";
-        
+
         PreparedStatement st = con.prepareStatement(query);
 
         st.setDate(1, contactDate);
@@ -461,23 +461,23 @@ public class DataSID {
         st.setInt(2, idpoint.intValue());
 
         st.setObject(3, macaddr);
-        
+
         st.setDate(4, java.sql.Date.valueOf(collect_date));
-                
+
         st.setTime(5, java.sql.Time.valueOf(collect_time));
-        
-        st.setInt(6, down_kbits.intValue() );
-        
+
+        st.setLong(6, down_kbits.LongValue() );
+
         st.setInt(7, down_packages.intValue());
-        
-        st.setInt(8, up_kbits.intValue());
-        
+
+        st.setLong(8, up_kbits.LongValue());
+
         st.setInt(9, up_packages.intValue());
 
         st.setObject(10, null);
 
         st.setString(11, null);
-    
-        return st;  
+
+        return st;
     }
 }
diff --git a/webservice/net-collected-data.xsd b/webservice/net-collected-data.xsd
index a3f4bc60932a24c4d9dd3c88bdea6ac84316bd90..afefe000fd153bf17f9186669b759d1a496d284a 100644
--- a/webservice/net-collected-data.xsd
+++ b/webservice/net-collected-data.xsd
@@ -22,25 +22,25 @@
             <xsd:element name="interface" type="Interface" minOccurs="1" maxOccurs="unbounded" />
         </xsd:sequence>
     </xsd:complexType>
-    
+
     <xsd:complexType name="Interface">
         <xsd:attribute name="name" type="xsd:string" use="required" />
         <xsd:attribute name="mac-address" type="MacAddress" use="required" />
     </xsd:complexType>
-    
+
     <xsd:simpleType  name="MacAddress">
         <xsd:restriction  base="xsd:string">
             <xsd:pattern  value="[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}:[0-9a-fA-F]{2}" />
         </xsd:restriction>
     </xsd:simpleType>
-    
+
     <xsd:complexType name="BandwidthUsage">
         <xsd:sequence>
             <xsd:element name="netuse" type="NetUse" minOccurs="1" maxOccurs="unbounded" />
         </xsd:sequence>
     </xsd:complexType>
 
-    <xsd:complexType name="NetUse"> 
+    <xsd:complexType name="NetUse">
         <xsd:all>
             <xsd:element name="id" type="xsd:integer" minOccurs="1"/>
             <xsd:element name="rx" type="Rx" minOccurs="1" />
@@ -49,19 +49,19 @@
             <xsd:element name="time" type="xsd:string" minOccurs="1" />
         </xsd:all>
     </xsd:complexType>
-    
+
     <xsd:complexType name="Rx">
-        <xsd:all>        
+        <xsd:all>
             <xsd:element name="rx-packets" type="xsd:integer" minOccurs="1" />
-            <xsd:element name="rx-bytes" type="xsd:integer" minOccurs="1" />
+            <xsd:element name="rx-bytes" type="xsd:long" minOccurs="1" />
         </xsd:all>
     </xsd:complexType>
-    
+
     <xsd:complexType name="Tx">
         <xsd:all>
             <xsd:element name="tx-packets" type="xsd:integer" minOccurs="1" />
-            <xsd:element name="tx-bytes" type="xsd:integer" minOccurs="1" />
+            <xsd:element name="tx-bytes" type="xsd:long" minOccurs="1" />
         </xsd:all>
     </xsd:complexType>
-    
+
 </xsd:schema>