Hi pqsfb,
"Will register the copyright help us protecting our IP? When registering software copyright, shall we submit our code entirely? Will others see the code after we register?"
You have a Copyright (providing that there's sufficient creativity- courts don't require much creativity) upon placing your work in a tangible medium (i.e., printed, computer disc, etc...). It's almost always better to Register your work with the Copyright Office - it allows you some added benefits, such as Statutory Damages (i.e., don't need to prove your damages for courts to award a 'statutory amount' of $200 - $150,000 depending on the specific circumstances) and possible attorney fees. It used to be, to be eligible for Stat. Dmgs., that the work needed to be Registered within 5 years of first publication, or before the actual infringement commenced (or Reg. within 3 months of publication if the infringement occurred within 3 months of the publication date). Perhaps someone can verify if this is still the case.
Computer code is usually registered as a Literary Work. Again, it used to be that you could submit the first 25 and the last 25 pages of code as a Copyright Specimine. Perhaps someone can verify this as well. Registering your own copyright is something most people can accomplish on their own.
Yes, the code submitted as the specimine may be viewed by the public.
Re: Patenting- this is a whole different animal. First, something must be new, useful and non-obvious. Obviousness is something that has volumes and violumes written about it, and cannot be easily explained. Even if your functionality is similar, you mentioned it is more efficient. So there would be a possibility that you can be dealing with Patentable subject matter. However, to be eligible for US patent protection, you must have a patent application on file within 1 year of your first publication, offer or actual sale, public disclosure or commercial use, or else you lose your ability to seek patent protection on your invention. In most other countries in the world, the second that you made your invention publically known, you've surrendered any patent protection on your invention that was not filed (as an application) prior to the public disclosure.
You may seek both Patent and Copyright protection for the code (I.e., the rights are not mutually exclusive, but are limited by the circumstances mentioned above).
Copyright protection allows you to recover for (possible) Statutory Damages, or actual profits lost. However, independent creation is a defense to Copyright infringement, and Copyright protects the 'creativity' in the code, not the functionality, so another's copying of the functionality without copying the creativity would not be Copyright infringement.
Patent protection (if you receive it) protects the functionality of the invention, regardless of how it is implements. Though limited in time (20 years from filing), it is almost always a 'stronger' IP protection.
Don't rule out establishing (or continuing to establish) your Trademark with the product. Name recognition can be a strong protection if you can associate your mark with the product in people's minds, and be 'the one' that users want... And, though you can establish Trademark rights without Federal Registration of your mark, Federal Registration is almost always better...
Good luck!
Not to be construed as legal advice, as such advice is rendered only within an attorney/client relationship that is NOT established through a public forum