Patent Protection Of Software And Hardware: Technical, Social, And Legal Aspects