The first part of this series drew a parallel of patent prosecution in Software and Biotechnology domains with respect to US and Indian jurisdictions. Herein, we follow up the initial article with a detailed analysis on a sample software patent application that was granted in the US and Indian jurisdictions. The emphasis of this write-up would be to demarcate that levels of enforceability for a patent application granted in the two varied jurisdictions namely US and India.
PATENT APPLICATION IN QUESTION:
The patent application is question selected for this case study was VIRTUAL MACHINE MIGRATION.
|Legal Status :||Inforce|
|Due date of next renewal :||00:00:00|
|Patent Number||:||306474||Date of Patent||:||20/03/2008|
|Application Number||:||5706/CHENP/2009||Date of Grant||:||29/01/2019|
|Type of Application||:||PCT NATIONAL PHASE APPLICATION||Date of Recordal||:||29/01/2019|
|Parent Application Number||:||—||Appropriate Office||:||CHENNAI|
|PCT International Application Number||:||PCT/US2008/057754||PCT International Filing Date||:||20/03/2008|
|Grant Title||:||VIRTUAL MACHINE MIGRATION|
|Sl No||Name of Grantee||Grantee Address|
|1||MICROSOFT TECHNOLOGY LICENSING, LLC||One Microsoft Way, Redmond, Washington 98052|
TABLE 1: Bibliographic data reproduced from the Indian Patent Office website
TURN OF EVENTS IN THE INDIAN JURISDICTION:
5706/CHENP/2009 was filed by Microsoft on 29/09/2009 and was granted on 29/01/2019. At the time of filing there were twenty claims, but the number of allowed claims were only 5. After filing the FER was generated wherein the as filed claims were rejected under the sections pertaining to non-patentability (3m and 3k), novelty, inventive step, clarity and conciseness, indefiniteness, and other formal requirements.
In response to the FER, the originally filed claims 3, 4, 6, 10, 11, and 15-20 were deleted and the remaining claims were renumbered as 1-9. The renumbered claims related to a computer implemented method and system for virtual machine migration.
The patent application addressed the technical problem relating to a large amount of time involved in transferring large data files of a virtual machine when the machine is transferred from one host computer to another. Further, the virtual machine that is being migrated remains shut down and unavailable during the migration process from one host computer to another. The invention as claimed solved this technical problem of the prior art by utilizing LUN (Logical Unit Number) while migrating the virtual machine from one host computer to another. The LUN is a logical unit that represents data storage made available by the storage area network, and a LUN can map to any number of physical drives of the storage area network. Migrating a virtual machine utilizing LUN masking is faster than having to copy all the files for the virtual machine to a destination host computer.
The Hearing Notice dated 14 November 2018, was received for the above referenced application and the hearing was scheduled on 12 December 2018. Post hearing, based on the recommendations of the learned controller, the system claims 5-9 were deleted and the newly amended claims 1-5 were presented.
LIST OF ALLOWED CLAIMS IN THE INDIAN PATENT APPLICATION:
- A computer implemented method (300) for virtual machine migration, the method comprising:
identifying (302), by a processor (806), one or more virtual drives (110) of a virtual machine (106) that are each mapped to a respective LUN (logical unit number) (120) of a storage array (114), wherein the storage array (114) is a storage area network (SAN), and is network-connected through a storage interface (116) to at least two host computers (104(1-2)) via a data network (118), wherein the data network (118) is implemented as at least one of a fibre channel network or an Internet Small Computer System Interface (iSCSI) network;mapping (304), by the processor (806), the one or more virtual drives (110) to a mapping file (128) that is stored on a LUN (120) of the storage array (114);initiating, by a virtual manager (102), that a first virtual machine (106) on a first host computer (104(1)) be shut down to a stopped and saved state ;unmasking (308), by the processor (806), each LUN (120) to migrate the virtual machine (106) from a first host computer (104(1)) to a second host computer (104(2));deleting, by the processor (806), the virtual machine (106) from the first host computer (104(1)); andcreating (314) , by the processor (806), on the second host computer (104(2)), a virtual machine (108) by the virtual manager from a template file that defines a model of a virtual machine, the virtual machine (108) on the second host computer (104(2)) is created according to the mapping file (128) such that the one or more virtual drives (110) are each mapped from the respective LUN (120) of the storage array (114) to the virtual machine (108) on the second host computer (104(2));wherein identifying the one or more virtual drives, mapping the one or more virtual drives, unmasking each LUN, and creating the virtual machine are each tasks of virtual machine migration that can be restarted, wherein tasks that can be restarted are implemented to first check if a task has been completed, and if a task of virtual machine migration fails due to transient error or network connectivity failure, the task be restarted and virtual machine migration will continue from where it failed.
- The method as claimed in claim 1, comprising:disassociating the one or more virtual drives from the first host computer (104(1)).
- The method as claimed in claim 1, comprising:identifying one or more communication ports of the storage interface that each LUN (120) is mapped to for data communication;determining whether the first host computer (104(1)) can access the storage array (114) via any of the one or more identified communication ports;determining whether the second host computer (104(2)) can access the storage array (114) via any of the one or more identified communication ports; andmigrating the virtual machine from the first host computer (104(1)) to the second host computer (104(2)) in an event that the first host computer (104(1)) can access the storage array via at least one of the identified communication ports, and in an event that the second host computer (104(2)) can access the storage array (114) via at least one of the identified communication ports.
- The method as claimed in claim 1, comprising creating a LUN of the storage array (114) in accordance with configuration reliability information that defines a reliability level of the LUN.
- A system to perform the method as claimed in claims 1 to 4.
TURN OF EVENTS IN THE US JURISDICTION:
The subject application was also filed in the US jurisdiction. The US prosecution history may be summarized as follows: 2 Non-Final Office Action, 2 Final Office Action, 1 Advisory Action, 2 Request for Continued Examination (RCE), 3 Examiner’s interview, 3 Notice of Allowance.
The total number of as filed claims were 20 out of which 16 claims were finally allowed. Five claims pertaining to a method for virtual machine migration, five claims pertaining to a system and six claims pertaining to computer-readable storage media.
EFFECT ON CLAIM ENFORCEABILITY:
The Patent Act 1970, in India, does not accord patent protection to software programs. Software is excluded subject matter of the patents under Section 3 of the Act. Section 3(k) clearly states that ‘a mathematical or business method or a computer program per se or algorithms’ is not patentable. Thus, the computer programs are not the subject matter of patents. In this particular case, although, the system claim got a meagre coverage with respect to the method it can perform, the level of enforceability has been considerably reduced. The only way the system has been protected in the Indian granted patent is by virtue of the method it can perform. In stark contrast, the claims that were allowed in the US jurisdiction have been broader in that sense. This may be attributed to the legalities of protecting software programs in the US. However, there is more scope for the software related patents to be granted better protection by adopting better interpretation of the claims per se on a case per case basis.