Could not start a new session. Possible causes are invalid address of the remote server or browser start-up failure

It seems like you are following some tutorial, and if so it would make things a lot easier if you would post a link to it and say where things go wrong.

Here is a very thorough and long description of the Selenium/Webdriver architechture and history:

http://www.aosabook.org/en/selenium.html

Why am I pointing you to that? It has a very pithy explanation of why you shouldn’t use RemoteWebDriver to initialize a session unless you are using Selenium Hub/Grid or the like. I’ll quote it for you:

RemoteWebDriver: This driver class comes directly from the upstream Selenium project. This is a pretty generic driver where initializing the driver means making network requests to a Selenium hub to start a driver session. Since Appium operates on the client-server model, Appium uses this to initialize a driver session. However, directly using the RemoteWebDriver is not recommended since there are other drivers available that offer additional features or convenience functions.

My best advice for any beginner in Appium is to find a good tutorial and follow it. When things go wrong, always give the programming language that you are coding with and a very narrow definition of what you are trying to accomplish. In my experience, these are the questions that get the best answers.