diff --git a/workspace-gateway/src/main/java/com/aliware/tianchi/CallbackListenerImpl.java b/workspace-gateway/src/main/java/com/aliware/tianchi/CallbackListenerImpl.java
index c8ae4cae85b7e61a702c7505fde27bd3ed97abba..6fed3ef7d5284e277b1c6f6529778a17420bae39 100644
--- a/workspace-gateway/src/main/java/com/aliware/tianchi/CallbackListenerImpl.java
+++ b/workspace-gateway/src/main/java/com/aliware/tianchi/CallbackListenerImpl.java
@@ -14,22 +14,32 @@ public class CallbackListenerImpl implements CallbackListener {
     static long memory_large = 3;
     static long memory_medium = 2;
     static long memory_small = 1;
+    static short mask = 0;
 
     @Override
     public void receiveServerMsg(String msg) {
         //System.out.println("receive msg from server :" + msg);
         String[] rcvmsglist = msg.split(",");
-        if (rcvmsglist[0].equals("small")) memory_small = Long.parseLong(rcvmsglist[1]);
-        else if (rcvmsglist[0].equals("medium")) memory_medium = Long.parseLong(rcvmsglist[1]);
-        else memory_large = Long.parseLong(rcvmsglist[1]);
-
-        long memory_sum = memory_large + memory_medium + memory_small;
-
-        //System.out.println(msg + " : " + memory_large + ',' + memory_medium + ',' + memory_small + "  |  " + memory_sum);
-
-        UserLoadBalance.weight_large = 6.0 * memory_large / memory_sum;
-        UserLoadBalance.weight_medium = 6.0 * memory_medium / memory_sum;
-        UserLoadBalance.weight_small = 6.0 * memory_small / memory_sum;
+        if (rcvmsglist[0].equals("small")) {
+            memory_small = Long.parseLong(rcvmsglist[1]);
+            mask |= 0x001;
+        }
+        else if (rcvmsglist[0].equals("medium")) {
+            memory_medium = Long.parseLong(rcvmsglist[1]);
+            mask |= 0x010;
+        }
+        else {
+            memory_large = Long.parseLong(rcvmsglist[1]);
+            mask |= 0x100;
+        }
+
+        if (mask == 0x111) {
+            long memory_sum = memory_large + memory_medium + memory_small;
+            //System.out.println(msg + " : " + memory_large + ',' + memory_medium + ',' + memory_small + "  |  " + memory_sum);
+            UserLoadBalance.weight_large = 6.0 * memory_large / memory_sum;
+            UserLoadBalance.weight_medium = 6.0 * memory_medium / memory_sum;
+            UserLoadBalance.weight_small = 6.0 * memory_small / memory_sum;
+        }
     }
 
     private String cachedServerCpu;
diff --git a/workspace-provider/src/main/java/com/aliware/tianchi/CallbackServiceImpl.java b/workspace-provider/src/main/java/com/aliware/tianchi/CallbackServiceImpl.java
index 9796d597e00968718df0e86c93d1ec0ae6e2e87d..3c9299223721ec32158f3f79fcfe1b544b52647a 100644
--- a/workspace-provider/src/main/java/com/aliware/tianchi/CallbackServiceImpl.java
+++ b/workspace-provider/src/main/java/com/aliware/tianchi/CallbackServiceImpl.java
@@ -37,7 +37,7 @@ public class CallbackServiceImpl implements CallbackService {
                     }
                 }
             }
-        }, 0, 5000);
+        }, 0, 1000);
     }
 
     private Timer timer = new Timer();