How Can Software Qualify For Patent Protection