Patentable categories of software

Patentable categories of software invention are (1) device using program, (2) method, (3) computer readable medium storing program, and (4) program.