diff --git a/apm-collector/apm-collector-remote/collector-remote-grpc-define/pom.xml b/apm-collector/apm-collector-remote/collector-remote-grpc-define/pom.xml
deleted file mode 100644
index fc41a17ea..000000000
--- a/apm-collector/apm-collector-remote/collector-remote-grpc-define/pom.xml
+++ /dev/null
@@ -1,77 +0,0 @@
-
-
-
- apm-collector-remote
- org.skywalking
- 3.2.3-2017
-
- 4.0.0
-
- collector-remote-grpc-define
- jar
-
-
- UTF-8
- 1.4.0
-
-
-
-
- org.skywalking
- collector-remote-define
- ${project.version}
-
-
- org.skywalking
- collector-grpc-manager-define
- ${project.version}
-
-
-
-
-
-
- kr.motd.maven
- os-maven-plugin
- 1.4.1.Final
-
-
-
-
- org.apache.maven.plugins
- maven-resources-plugin
- 2.4.3
-
- ${project.build.sourceEncoding}
-
-
-
- org.xolstice.maven.plugins
- protobuf-maven-plugin
- 0.5.0
-
-
- com.google.protobuf:protoc:3.3.0:exe:${os.detected.classifier}
-
- grpc-java
- io.grpc:protoc-gen-grpc-java:1.4.0:exe:${os.detected.classifier}
-
-
-
-
-
- compile
- compile-custom
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/apm-collector/apm-collector-remote/collector-remote-grpc-provider/pom.xml b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/pom.xml
index a06f69fe3..d26da25e1 100644
--- a/apm-collector/apm-collector-remote/collector-remote-grpc-provider/pom.xml
+++ b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/pom.xml
@@ -30,4 +30,61 @@
collector-remote-grpc-provider
jar
+
+
+ org.skywalking
+ collector-remote-define
+ ${project.version}
+
+
+ org.skywalking
+ collector-grpc-manager-define
+ ${project.version}
+
+
+
+
+
+
+ kr.motd.maven
+ os-maven-plugin
+ 1.4.1.Final
+
+
+
+
+ org.apache.maven.plugins
+ maven-resources-plugin
+ 2.4.3
+
+ ${project.build.sourceEncoding}
+
+
+
+ org.xolstice.maven.plugins
+ protobuf-maven-plugin
+ 0.5.0
+
+
+ com.google.protobuf:protoc:3.3.0:exe:${os.detected.classifier}
+
+ grpc-java
+ io.grpc:protoc-gen-grpc-java:1.4.0:exe:${os.detected.classifier}
+
+
+
+
+
+ compile
+ compile-custom
+
+
+
+
+
+
\ No newline at end of file
diff --git a/apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteModuleGRPCProvider.java b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteModuleGRPCProvider.java
similarity index 100%
rename from apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteModuleGRPCProvider.java
rename to apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteModuleGRPCProvider.java
diff --git a/apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteModuleGRPCRegistration.java b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteModuleGRPCRegistration.java
similarity index 100%
rename from apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteModuleGRPCRegistration.java
rename to apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/RemoteModuleGRPCRegistration.java
diff --git a/apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/data/GRPCRemoteData.java b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/data/GRPCRemoteData.java
similarity index 100%
rename from apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/data/GRPCRemoteData.java
rename to apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/data/GRPCRemoteData.java
diff --git a/apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/data/instance/InstPerformanceRemoteData.java b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/data/instance/InstPerformanceRemoteData.java
similarity index 100%
rename from apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/data/instance/InstPerformanceRemoteData.java
rename to apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/data/instance/InstPerformanceRemoteData.java
diff --git a/apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/data/node/NodeComponentRemoteData.java b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/data/node/NodeComponentRemoteData.java
similarity index 100%
rename from apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/data/node/NodeComponentRemoteData.java
rename to apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/data/node/NodeComponentRemoteData.java
diff --git a/apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/data/node/NodeMappingRemoteData.java b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/data/node/NodeMappingRemoteData.java
similarity index 100%
rename from apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/data/node/NodeMappingRemoteData.java
rename to apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/data/node/NodeMappingRemoteData.java
diff --git a/apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/data/noderef/NodeReferenceRemoteData.java b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/data/noderef/NodeReferenceRemoteData.java
similarity index 100%
rename from apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/data/noderef/NodeReferenceRemoteData.java
rename to apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/data/noderef/NodeReferenceRemoteData.java
diff --git a/apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/data/register/ApplicationRemoteData.java b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/data/register/ApplicationRemoteData.java
similarity index 100%
rename from apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/data/register/ApplicationRemoteData.java
rename to apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/data/register/ApplicationRemoteData.java
diff --git a/apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/data/register/InstanceRemoteData.java b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/data/register/InstanceRemoteData.java
similarity index 100%
rename from apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/data/register/InstanceRemoteData.java
rename to apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/data/register/InstanceRemoteData.java
diff --git a/apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/data/register/ServiceNameRemoteData.java b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/data/register/ServiceNameRemoteData.java
similarity index 100%
rename from apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/data/register/ServiceNameRemoteData.java
rename to apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/data/register/ServiceNameRemoteData.java
diff --git a/apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/data/service/ServiceEntryRemoteData.java b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/data/service/ServiceEntryRemoteData.java
similarity index 100%
rename from apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/data/service/ServiceEntryRemoteData.java
rename to apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/data/service/ServiceEntryRemoteData.java
diff --git a/apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/data/serviceref/ServiceReferenceRemoteData.java b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/data/serviceref/ServiceReferenceRemoteData.java
similarity index 100%
rename from apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/data/serviceref/ServiceReferenceRemoteData.java
rename to apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/data/serviceref/ServiceReferenceRemoteData.java
diff --git a/apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/handler/RemoteCommonServiceHandler.java b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/handler/RemoteCommonServiceHandler.java
similarity index 100%
rename from apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/handler/RemoteCommonServiceHandler.java
rename to apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/handler/RemoteCommonServiceHandler.java
diff --git a/apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/service/GRPCRemoteClient.java b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/service/GRPCRemoteClient.java
similarity index 100%
rename from apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/service/GRPCRemoteClient.java
rename to apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/service/GRPCRemoteClient.java
diff --git a/apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/service/GRPCRemoteClientService.java b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/service/GRPCRemoteClientService.java
similarity index 100%
rename from apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/service/GRPCRemoteClientService.java
rename to apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/service/GRPCRemoteClientService.java
diff --git a/apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/service/GRPCRemoteServerService.java b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/service/GRPCRemoteServerService.java
similarity index 100%
rename from apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/java/org/skywalking/apm/collector/remote/grpc/service/GRPCRemoteServerService.java
rename to apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/java/org/skywalking/apm/collector/remote/grpc/service/GRPCRemoteServerService.java
diff --git a/apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/proto/RemoteCommonService.proto b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/proto/RemoteCommonService.proto
similarity index 100%
rename from apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/proto/RemoteCommonService.proto
rename to apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/proto/RemoteCommonService.proto
diff --git a/apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider b/apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider
similarity index 100%
rename from apm-collector/apm-collector-remote/collector-remote-grpc-define/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider
rename to apm-collector/apm-collector-remote/collector-remote-grpc-provider/src/main/resources/META-INF/services/org.skywalking.apm.collector.core.module.ModuleProvider
diff --git a/apm-collector/apm-collector-remote/pom.xml b/apm-collector/apm-collector-remote/pom.xml
index fef5aa482..73df4af20 100644
--- a/apm-collector/apm-collector-remote/pom.xml
+++ b/apm-collector/apm-collector-remote/pom.xml
@@ -13,7 +13,6 @@
pom
collector-remote-define
- collector-remote-grpc-define
collector-remote-kafka-provider
collector-remote-grpc-provider