change proto README cpp node ruby
diff --git a/README.md b/README.md
index 3a2fb8d..c48007a 100644
--- a/README.md
+++ b/README.md
@@ -187,7 +187,7 @@
 // The greeting service definition.
 service Greeter {
   // Sends a greeting
-  rpc sayHello (HelloRequest) returns (HelloReply) {}
+  rpc SayHello (HelloRequest) returns (HelloReply) {}
 }
 
 // The request message containing the user's name.
@@ -254,7 +254,7 @@
     ```java
   public static interface Greeter {
 
-    public void sayHello(ex.grpc.Helloworld.HelloRequest request,
+    public void SayHello(ex.grpc.Helloworld.HelloRequest request,
         com.google.net.stubby.stub.StreamObserver<ex.grpc.Helloworld.HelloReply>
         responseObserver);
   }
@@ -405,7 +405,7 @@
     try {
       Helloworld.HelloRequest request =
       Helloworld.HelloRequest.newBuilder().setName(name).build();
-      Helloworld.HelloReply reply = blockingStub.sayHello(request);
+      Helloworld.HelloReply reply = blockingStub.SayHello(request);
       logger.info("Greeting: " + reply.getMessage());
     } catch (RuntimeException e) {
       logger.log(Level.WARNING, "RPC failed", e);
diff --git a/cpp/helloworld/greeter_client.cc b/cpp/helloworld/greeter_client.cc
index 4a51f5e..3c2bbc2 100644
--- a/cpp/helloworld/greeter_client.cc
+++ b/cpp/helloworld/greeter_client.cc
@@ -62,7 +62,7 @@
     HelloReply reply;
     ClientContext context;
 
-    Status status = stub_->sayHello(&context, request, &reply);
+    Status status = stub_->SayHello(&context, request, &reply);
     if (status.IsOk()) {
       return reply.message();
     } else {
diff --git a/cpp/helloworld/greeter_server.cc b/cpp/helloworld/greeter_server.cc
index 3a2ab60..01a0bf2 100644
--- a/cpp/helloworld/greeter_server.cc
+++ b/cpp/helloworld/greeter_server.cc
@@ -52,7 +52,7 @@
 using helloworld::Greeter;
 
 class GreeterServiceImpl final : public Greeter::Service {
-  Status sayHello(ServerContext* context, const HelloRequest* request,
+  Status SayHello(ServerContext* context, const HelloRequest* request,
                   HelloReply* reply) override {
     std::string prefix("Hello ");
     reply->set_message(prefix + request->name());
diff --git a/cpp/helloworld/helloworld.pb.cc b/cpp/helloworld/helloworld.pb.cc
index a5b82c5..9540f2c 100644
--- a/cpp/helloworld/helloworld.pb.cc
+++ b/cpp/helloworld/helloworld.pb.cc
@@ -109,7 +109,7 @@
   ::google::protobuf::DescriptorPool::InternalAddGeneratedFile(
     "\n\020helloworld.proto\022\nhelloworld\"\034\n\014HelloR"
     "equest\022\014\n\004name\030\001 \001(\t\"\035\n\nHelloReply\022\017\n\007me"
-    "ssage\030\001 \001(\t2I\n\007Greeter\022>\n\010sayHello\022\030.hel"
+    "ssage\030\001 \001(\t2I\n\007Greeter\022>\n\010SayHello\022\030.hel"
     "loworld.HelloRequest\032\026.helloworld.HelloR"
     "eply\"\000B\t\n\007ex.grpcb\006proto3", 185);
   ::google::protobuf::MessageFactory::InternalRegisterGeneratedFile(
@@ -587,7 +587,7 @@
 
 
 static const char* Greeter_method_names[] = {
-  "/helloworld.Greeter/sayHello",
+  "/helloworld.Greeter/SayHello",
 };
 
 Greeter::Stub* Greeter::NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel) {
@@ -596,11 +596,11 @@
   return stub;
 };
 
-::grpc::Status Greeter::Stub::sayHello(::grpc::ClientContext* context, const ::helloworld::HelloRequest& request, ::helloworld::HelloReply* response) {
+::grpc::Status Greeter::Stub::SayHello(::grpc::ClientContext* context, const ::helloworld::HelloRequest& request, ::helloworld::HelloReply* response) {
   return ::grpc::BlockingUnaryCall(channel(),::grpc::RpcMethod(Greeter_method_names[0]), context, request, response);
 }
 
-::grpc::ClientAsyncResponseReader< ::helloworld::HelloReply>* Greeter::Stub::sayHello(::grpc::ClientContext* context, const ::helloworld::HelloRequest& request, ::grpc::CompletionQueue* cq, void* tag) {
+::grpc::ClientAsyncResponseReader< ::helloworld::HelloReply>* Greeter::Stub::SayHello(::grpc::ClientContext* context, const ::helloworld::HelloRequest& request, ::grpc::CompletionQueue* cq, void* tag) {
   return new ::grpc::ClientAsyncResponseReader< ::helloworld::HelloReply>(channel(), cq, ::grpc::RpcMethod(Greeter_method_names[0]), context, request, tag);
 }
 
@@ -610,11 +610,11 @@
   delete service_;
 }
 
-::grpc::Status Greeter::Service::sayHello(::grpc::ServerContext* context, const ::helloworld::HelloRequest* request, ::helloworld::HelloReply* response) {
+::grpc::Status Greeter::Service::SayHello(::grpc::ServerContext* context, const ::helloworld::HelloRequest* request, ::helloworld::HelloReply* response) {
   return ::grpc::Status(::grpc::StatusCode::UNIMPLEMENTED);
 }
 
-void Greeter::AsyncService::RequestsayHello(::grpc::ServerContext* context, ::helloworld::HelloRequest* request, ::grpc::ServerAsyncResponseWriter< ::helloworld::HelloReply>* response, ::grpc::CompletionQueue* cq, void* tag) {
+void Greeter::AsyncService::RequestSayHello(::grpc::ServerContext* context, ::helloworld::HelloRequest* request, ::grpc::ServerAsyncResponseWriter< ::helloworld::HelloReply>* response, ::grpc::CompletionQueue* cq, void* tag) {
   AsynchronousService::RequestAsyncUnary(0, context, request, response, cq, tag);
 }
 
@@ -627,7 +627,7 @@
       Greeter_method_names[0],
       ::grpc::RpcMethod::NORMAL_RPC,
       new ::grpc::RpcMethodHandler< Greeter::Service, ::helloworld::HelloRequest, ::helloworld::HelloReply>(
-          std::function< ::grpc::Status(Greeter::Service*, ::grpc::ServerContext*, const ::helloworld::HelloRequest*, ::helloworld::HelloReply*)>(&Greeter::Service::sayHello), this),
+          std::function< ::grpc::Status(Greeter::Service*, ::grpc::ServerContext*, const ::helloworld::HelloRequest*, ::helloworld::HelloReply*)>(&Greeter::Service::SayHello), this),
       new ::helloworld::HelloRequest, new ::helloworld::HelloReply));
   return service_;
 }
diff --git a/cpp/helloworld/helloworld.pb.h b/cpp/helloworld/helloworld.pb.h
index f49adae..1eb8701 100644
--- a/cpp/helloworld/helloworld.pb.h
+++ b/cpp/helloworld/helloworld.pb.h
@@ -319,8 +319,8 @@
  public:
   class Stub final : public ::grpc::InternalStub {
    public:
-    ::grpc::Status sayHello(::grpc::ClientContext* context, const ::helloworld::HelloRequest& request, ::helloworld::HelloReply* response);
-    ::grpc::ClientAsyncResponseReader< ::helloworld::HelloReply>* sayHello(::grpc::ClientContext* context, const ::helloworld::HelloRequest& request, ::grpc::CompletionQueue* cq, void* tag);
+    ::grpc::Status SayHello(::grpc::ClientContext* context, const ::helloworld::HelloRequest& request, ::helloworld::HelloReply* response);
+    ::grpc::ClientAsyncResponseReader< ::helloworld::HelloReply>* SayHello(::grpc::ClientContext* context, const ::helloworld::HelloRequest& request, ::grpc::CompletionQueue* cq, void* tag);
   };
   static Stub* NewStub(const std::shared_ptr< ::grpc::ChannelInterface>& channel);
 
@@ -328,7 +328,7 @@
    public:
     Service() : service_(nullptr) {}
     virtual ~Service();
-    virtual ::grpc::Status sayHello(::grpc::ServerContext* context, const ::helloworld::HelloRequest* request, ::helloworld::HelloReply* response);
+    virtual ::grpc::Status SayHello(::grpc::ServerContext* context, const ::helloworld::HelloRequest* request, ::helloworld::HelloReply* response);
     ::grpc::RpcService* service() override final;
    private:
     ::grpc::RpcService* service_;
@@ -337,7 +337,7 @@
    public:
     explicit AsyncService(::grpc::CompletionQueue* cq);
     ~AsyncService() {};
-    void RequestsayHello(::grpc::ServerContext* context, ::helloworld::HelloRequest* request, ::grpc::ServerAsyncResponseWriter< ::helloworld::HelloReply>* response, ::grpc::CompletionQueue* cq, void *tag);
+    void RequestSayHello(::grpc::ServerContext* context, ::helloworld::HelloRequest* request, ::grpc::ServerAsyncResponseWriter< ::helloworld::HelloReply>* response, ::grpc::CompletionQueue* cq, void *tag);
   };
 };
 
diff --git a/node/greeter_client.js b/node/greeter_client.js
index ab7050a..db45afc 100644
--- a/node/greeter_client.js
+++ b/node/greeter_client.js
@@ -44,7 +44,7 @@
   } else {
     user = 'world';
   }
-  client.sayHello({name: user}, function(err, response) {
+  client.SayHello({name: user}, function(err, response) {
     console.log('Greeting:', response.message);
   });
 }
diff --git a/node/greeter_server.js b/node/greeter_server.js
index 6d4183c..fa95cea 100644
--- a/node/greeter_server.js
+++ b/node/greeter_server.js
@@ -39,9 +39,9 @@
 var Server = grpc.buildServer([hello_proto.Greeter.service]);
 
 /**
- * Implements the sayHello RPC method.
+ * Implements the SayHello RPC method.
  */
-function sayHello(call, callback) {
+function SayHello(call, callback) {
   callback(null, {message: 'Hello ' + call.request.name});
 }
 
@@ -52,7 +52,7 @@
 function main() {
   var server = new Server({
     "helloworld.Greeter": {
-      sayHello: sayHello
+      SayHello: SayHello
     }
   });
 
diff --git a/node/helloworld.proto b/node/helloworld.proto
index e1f5700..a52c947 100644
--- a/node/helloworld.proto
+++ b/node/helloworld.proto
@@ -36,7 +36,7 @@
 // The greeting service definition.
 service Greeter {
   // Sends a greeting
-  rpc sayHello (HelloRequest) returns (HelloReply) {}
+  rpc SayHello (HelloRequest) returns (HelloReply) {}
 }
 
 // The request message containing the user's name.
diff --git a/protos/helloworld.proto b/protos/helloworld.proto
index 4781fb4..f9abd3d 100644
--- a/protos/helloworld.proto
+++ b/protos/helloworld.proto
@@ -36,7 +36,7 @@
 // The greeting service definition.
 service Greeter {
   // Sends a greeting
-  rpc sayHello (HelloRequest) returns (HelloReply) {}
+  rpc SayHello (HelloRequest) returns (HelloReply) {}
 }
 
 // The request message containing the user's name.
diff --git a/ruby/greeter_server.rb b/ruby/greeter_server.rb
index eb1a6ab..d4f9cf7 100755
--- a/ruby/greeter_server.rb
+++ b/ruby/greeter_server.rb
@@ -42,7 +42,7 @@
 
 # GreeterServer is simple server that implements the Helloworld Greeter server.
 class GreeterServer < Helloworld::Greeter::Service
-  # say_hello implements the sayHello rpc method.
+  # say_hello implements the SayHello rpc method.
   def say_hello(hello_req, _unused_call)
     Helloworld::HelloReply.new(message: "Hello #{hello_req.name}")
   end
diff --git a/ruby/lib/helloworld_services.rb b/ruby/lib/helloworld_services.rb
index 9bd5284..7da45eb 100644
--- a/ruby/lib/helloworld_services.rb
+++ b/ruby/lib/helloworld_services.rb
@@ -16,7 +16,7 @@
       self.unmarshal_class_method = :decode
       self.service_name = 'helloworld.Greeter'
 
-      rpc :sayHello, HelloRequest, HelloReply
+      rpc :SayHello, HelloRequest, HelloReply
     end
 
     Stub = Service.rpc_stub_class