To view this article in Vietnamese, please click here.
In accordance with Article 59.2 of the Law on Intellectual Property issued in 2005, as amended and supplemented in 2009 and 2019 (“IP Law”), Vietnamese law currently does not recognize the protection of computer programs as inventions. However, in practice, if the subject-matter of an invention related to a computer program has technical characteristics and the program, when running on a computer, creates a further technical effect going beyond the usual physical interactions between a program and a computer, this subject-matter is likely to be protected as an invention.
This condition is not codified, but is reflected in Article 184.108.40.206 of the patent examination guidelines issued in 2010, as amended and supplemented in 2020 – a reference document showing the guidance issued by the Intellectual Property Office of Vietnam (“IP Office”).
Currently, at the formality examination stage, these “technical” conditions for inventions related to computer programs are quite easy to meet as it is only necessary to show that the subject-matter is a “Method performed by a computer for a purpose …”, “Processing apparatus…”, or “Computer-readable storage medium storing a program to perform the method…”.
In the substantive examination stage, however, the “technical” condition is further scrutinized through the assessment of technical features stated in the subject-matter to determine whether the interaction between the program and the computer creates a further technical effect. The IP Office often issues office actions on substantive examination results because the computer-related patent application does not solve any technical problem and does not produce a further technical effect going beyond the normal interactions between the program and the computer.
On December 31, 2021, the IP Office added to the patent examination guidelines mentioned above by issuing an annex with specific guidelines for examining patent applications relating to computer programs. The annex provides detailed guidance on assessing “technicality” in both the formality and substantive examination stages, gives some examples of further technical effects, and outlines several types of subject-matters related to computer programs.
Below are some interesting examples of further technical effects that a program can produce when running on a computer.
Example 1: In addition to a subject-matter related to a computer program being executed by a computer, a corresponding computer program that executes features of the subject-matter will produce a further technical effect when running on the computer. For example, a computer program to implement the method of controlling an anti-lock braking system (ABS) on a car, or determine emissions by X-ray equipment.
Example 2: If a computer program is designed on the basis of specific technical considerations about the internal operations of the computer on which the program is run, such as the program being adapted to a particular computer architecture, it can be seen as producing a further technical effect. For example, the computer program controlling an execution of a function or an internal operation of the computer, such as balancing a processor’s load or allocating memory, often produces a further technical effect.
Example 3: Programs for low-level code processing, such as generators or compilers, are likely technical. However, a computer program for a non-technical purpose that requires less computation time than a known program for the same purpose will not produce a further technical effect. A subject-matter related to a computer program cannot be considered technical only because the computer program is designed so that it can be performed automatically by the computer.
Specific Guidelines for Subject-Matter Types
The last section of the annex provides an analysis of 10 types of subject-matters related to computer programs, explaining whether and when they can be protected. These types include those in which computer programs implement features related to: (i) mathematical methods; (ii) artificial intelligence and machine learning; (iii) simulation, design, or modeling; (iv) diagrams, rules, and methods of playing games; (v) business methods; (vi) information modeling, programming operations, and programming languages; (vii) data retrieval, formats, and structures; (viii) database management and information retrieval systems; (ix) information display; and (x) user interfaces. The guidelines for three of these are summarized below:
- Artificial Intelligence and Machine Learning
Artificial intelligence and machine learning rely on computational models and algorithms with an inherently abstract mathematical nature. However, there are still cases in which subject-matters related to artificial intelligence and machine learning can be protected as inventions in Vietnam, for example.
“1. Computer-readable storage medium comprising a computer program that powers the computer to output quantitative values of the reputation of a hotel based on textual data about the reputation of the hotel, in which:
this program consists of the first neural network and the second neural network connected in such a way that the second neural network receives the output from the first neural network mentioned above;
The first neural network mentioned above includes…
weights of the second neural network above…; and
program causes the computer to do…”
In this subject-matter, the purpose of “output[ting] quantitative values of the reputation of a hotel” can be considered to be non-technical, for business purposes. However, the features in the claims identify a particular technical embodiment that goes beyond aspects of a mere business method. Therefore, from the aspect of pre-processing training data for machine learning, these features are considered to serve a technical purpose, and contribute to the technical characteristic of the present invention. Therefore, the above subject-matter can be protected as an invention.
- Information Modeling, Programming Operations, and Programming Languages
Information modeling is a mental activity being considered non-technically. However, if an information model is intended to be used in the context of an invention to solve a particular technical problem, it may contribute to a technical characteristic of the invention. Features that determine how the model is actually stored (using relational database technology, for example) can also contribute technically.
In a visual programming environment, providing specific graphical building blocks is a part of the programming language and makes no technical contribution if the only effect is to reduce the mental effort of the programmer. Providing specific programming structures may allow programmers to write shorter programs, but that does not qualify as a technical effect because every result reducing a program’s length ultimately depends on how programming constructs are used by programmers. In contrast, the automatic processing of a machine code by splitting it into an instruction sequence and an operand sequence and replacing repetitive instructions with macro instructions to produce an optimized code with reduced memory size will contribute in terms of technical aspect. In this case, the effect does not depend on how the programmer uses the macro instructions.
- User Interfaces
A user interface, especially a graphical user interface (GUI), consists of signs that represent information and receive input as a part of a human-computer interaction. The signs defining the user’s input are likely more technical in nature than those dealing only with the output and display of data, because the input requires compatibility with the machine’s predefined protocol, while the output can largely be dictated by the subjective preferences of the user.
Ways of providing input, such as gestures or keystrokes, that only reflect the user’s subjective preferences, or the conventions or rules of a game, leading to actual ergonomic advantages that cannot objectively be established, do not make a technical contribution. However, performance-oriented improvements for the detection of an input, such as making gesture recognition faster or more accurate or reducing the processing load of the device when performing the recognition, are technical contributions.