Section 3(K) of India’s Patents Act proscribes the patenting of “a mathematical or business method or a computer program per se or algorithms”. Until last week, the most recent guidance on that question was a set of guidelines for examination of CRIs released in 2013. These, many contend “seem to encourage novelty in hardware to overcome rejections”. The guidelines now contain illustrative examples of claims that are patentable.
The following are examples (illustrative but not exhaustive) of some of the granted claims by Indian Patent Office:
Example 8.1: An apparatus (610, 650) for eigenvalue decomposition and singular value decomposition of matrices in wireless communications comprising: plurality of transmitters ( 622a; 622ap ); plurality of receivers ( 622a; 622ap ); a controller (630) configured to receive traffic data and generating data symbols; a transmit (TX) data processor (614) coupled to said controller (630); a receive (RX) data processor (642) coupled to said controller (630); a channel processor (628) coupled to said controller (630); wherein said channel processor (628) and said controller (630) performs a plurality of iterations of Jacobi rotation on a first matrix of complex values with a plurality of Jacobi rotation matrices of complex values, wherein, for each of the plurality of iterations, said channel processor (628) and said controller (630) is configured to form a submatrix based on the first matrix, to decompose the submatrix to obtain eigenvectors for the submatrix, to form a Jacobi rotation matrix with the eigenvectors, and to update the first matrix with the Jacobi rotation matrix, and to derive a second matrix of complex values based on the plurality of Jacobi rotation matrices, the second matrix comprising orthogonal vectors; and a memory (632) coupled to the said channel processor (628, 630) and said controller (678, 680).
Example 8.2: A method for granting an access to a computer-based object, wherein - a memory card having a program code processor is provided, with at least one public and one private key assigned to the memory card being stored thereon, - an item of license information which comprises at least one license code encrypted by means of the public key assigned to the memory card is provided at a computing device controlling the access to the computer-based object, - a symmetric key which is made available to the memory card and the computing device is generated from a first random number generated by the memory card and from a second random number provided by the computing device, - the encrypted license code and a specification, provided with a hash value encrypted using the symmetric key, of a function that is to be executed by the memory card for decrypting the license code are transmitted to the memory card, - the encrypted hash value is decrypted by the memory card and checked for agreement with a hash value computed for the specification of the function to be executed by the memory card, - if the result of the check is positive, the function for decrypting the license code is executed by the memory card and a decrypted license code is transmitted to the computing device, - the decrypted license code is provided at least temporarily for accessing the computer-based object.
Example 8.3: A method of controlling an electronic device (1) comprising a touch sensitive display (11) the method comprising: displaying a plurality of graphical items (43) on the touch sensitive display (11) where each graphical item (43) has an identity (44); detecting a coupling, formed by a user, of at least two graphical items (43), the coupling comprising, a trace on the touch sensitive display (11) between the at least two graphical items (43); and, performing an action dependent upon the identity (44) of the coupled graphical items (43), Page 16 of 21 characterized in that when characterized in that when the user begins to make the trace, an indication is displayed to indicate the item ( 43) on which the trace began.
Example 8.4: A computer-implemented method comprising: identifying one or more person names in a set of one or more documents, with each identified person name more likely to refer to a single person in a profession than other person names in the document: identifying descriptive language from one or more documents, based on the identified names; and identifying within one or more documents other person names that refer to persons in the profession, based on one or more portions of the identified descriptive language.
Example 8.5: A method for providing a network bridge in UDP multicast traffic, the method being executed by a multicast repeater (108a; 708a) on a host computer system (104a, 704a) on a network 102a; 702a), the method comprising the steps of: holding information about one or more other multicast repeaters ( 108a; 708a) which have been discovered, each multicast repeater (108a; 708a) being arranged on a separate network (102b; 702b) that is separated from the network (102a; 702a) including a host by at least one network device that is not configured to route UDP multicast addressing; and at each time when a UDP multicast request packet (320; 720) is received via multicast, extracting a globally unique packet ID from the UDP multicast request packet (320; 720); determining whether or not the multicast repeater (108a; 708a) has previously forwarded the UDP multicast request packet (320; 720) by searching an ID cache for the packet ID; ignoring the UDP multicast request packet (320; 720) in a case where the multicast repeater (1 08a; 708a) has previously forwarded the UDP multicast request packet (320; 720); and in a case where the multicast repeater (108a; 708a) has not previously forwarded the UDP multicast request packet (320; 720), transmitting the UDP multicast request packet (320; 720) to the one or more other multicast repeaters (108a; 708a) which have been discovered, and recording the packet ID in the ID cache, wherein the method comprises determining whether or not a UDP multicast request packet corresponding to a UDP multicast response packet (320; 720) has originated in the network (102a;702a) whenever the UDP multicast response packet is received.
Example 8.6: A method for estimating a length of time required to download one or more application programs on a wireless device over wireless network, said method comprising operations of: the wireless device exchanging one or more data files with server, said data files including at least information representing a size of the one or more application programs available for downloading onto the wireless device; during the exchanging, at least one of the server and wireless device measuring one or more data transfer rates for the exchanging operation; receiving user input of one or more application programs to download; at least one of the server and wireless device: utilizing the one or more measured data transfer rates and the size of the selected one or more application programs to estimate a length of time required to download the one or more application programs onto the wireless device and the wireless device providing an output of the estimated time. Example 8.7: A method for tracking a mobile electronic device using instant messaging (IM), the method comprising the steps of: determining whether a currently inserted subscriber identity module (SIM) card is different from the SIM card stored in a memory of a mobile electronic device; stealthily initiating a live voice call over an instant messaging (IM) message to a predefined IM identity of a user; and automatically sending IM message along with the live voice call, location and IMSI number of the currently inserted SIM card to the predefined IM identity of the user via an IM server if the currently inserted SIM card is different from the SIM card stored in the memory of the mobile electronic device.
Example 8.8: A method of creating Tunnel End Points for a IPv6 over IPv4 tunnel using simple network management protocol (SNMP) in a system having Dual-Stack Border Router as v4/v6 nodes, the method comprising steps of: selecting at least one v4/v6 node as SNMP manager and the rest as SNMP agent configuring the tunnel configuration pertaining to the new node (cloud) at the SNMP manager whenever a new v4/v6 node is added to the v4 network; sending an SNMP SET request to the new v4/v6 node with the tunnel configuration information of all the nodes by the SNMP manager; processing the SNMP SET request by the said new v4/v6 node and configuring the tunnel configuration information of all the nodes if the attempt succeeds; sending a response to the SNMP manager indicating success or failure of the configuration; configuring existing SNMP agents and the new node in order to effect incorporation of tunnel configuration information of new v4/v6 node. Example 8.9: IPAB Decision relating to CRI While dealing with a patent application having title “Method for controlling a wind turbine and a wind turbine”,
IPAB observed: “This is normally a computer operated or computer controlled technical instrumentation processing of the utilities to achieve the target in an automatic fashion and this technical process control associated with or directed to a computer set up to operate in accordance with a specified program (whether by means of hardware or software) for controlling or carrying out a technical process control such as the above, cannot be regarded as relating to a computer program per se or a set of rules of procedure like algorithms and thus are not objectionable from the point of view of patentability, more so when the claims do not claim, or contain any algorithm or its set of rules as such, but only comprise of some process steps to carry out a technical process or achieve a technical effect finally the maximum power output by controlling the wind turbine. Hence the objection that invention is not patentable under section 3(k) fails or not valid.”
The following are examples (illustrative but not exhaustive) of some of the granted claims by Indian Patent Office:
Example 8.1: An apparatus (610, 650) for eigenvalue decomposition and singular value decomposition of matrices in wireless communications comprising: plurality of transmitters ( 622a; 622ap ); plurality of receivers ( 622a; 622ap ); a controller (630) configured to receive traffic data and generating data symbols; a transmit (TX) data processor (614) coupled to said controller (630); a receive (RX) data processor (642) coupled to said controller (630); a channel processor (628) coupled to said controller (630); wherein said channel processor (628) and said controller (630) performs a plurality of iterations of Jacobi rotation on a first matrix of complex values with a plurality of Jacobi rotation matrices of complex values, wherein, for each of the plurality of iterations, said channel processor (628) and said controller (630) is configured to form a submatrix based on the first matrix, to decompose the submatrix to obtain eigenvectors for the submatrix, to form a Jacobi rotation matrix with the eigenvectors, and to update the first matrix with the Jacobi rotation matrix, and to derive a second matrix of complex values based on the plurality of Jacobi rotation matrices, the second matrix comprising orthogonal vectors; and a memory (632) coupled to the said channel processor (628, 630) and said controller (678, 680).
Example 8.2: A method for granting an access to a computer-based object, wherein - a memory card having a program code processor is provided, with at least one public and one private key assigned to the memory card being stored thereon, - an item of license information which comprises at least one license code encrypted by means of the public key assigned to the memory card is provided at a computing device controlling the access to the computer-based object, - a symmetric key which is made available to the memory card and the computing device is generated from a first random number generated by the memory card and from a second random number provided by the computing device, - the encrypted license code and a specification, provided with a hash value encrypted using the symmetric key, of a function that is to be executed by the memory card for decrypting the license code are transmitted to the memory card, - the encrypted hash value is decrypted by the memory card and checked for agreement with a hash value computed for the specification of the function to be executed by the memory card, - if the result of the check is positive, the function for decrypting the license code is executed by the memory card and a decrypted license code is transmitted to the computing device, - the decrypted license code is provided at least temporarily for accessing the computer-based object.
Example 8.3: A method of controlling an electronic device (1) comprising a touch sensitive display (11) the method comprising: displaying a plurality of graphical items (43) on the touch sensitive display (11) where each graphical item (43) has an identity (44); detecting a coupling, formed by a user, of at least two graphical items (43), the coupling comprising, a trace on the touch sensitive display (11) between the at least two graphical items (43); and, performing an action dependent upon the identity (44) of the coupled graphical items (43), Page 16 of 21 characterized in that when characterized in that when the user begins to make the trace, an indication is displayed to indicate the item ( 43) on which the trace began.
Example 8.4: A computer-implemented method comprising: identifying one or more person names in a set of one or more documents, with each identified person name more likely to refer to a single person in a profession than other person names in the document: identifying descriptive language from one or more documents, based on the identified names; and identifying within one or more documents other person names that refer to persons in the profession, based on one or more portions of the identified descriptive language.
Example 8.5: A method for providing a network bridge in UDP multicast traffic, the method being executed by a multicast repeater (108a; 708a) on a host computer system (104a, 704a) on a network 102a; 702a), the method comprising the steps of: holding information about one or more other multicast repeaters ( 108a; 708a) which have been discovered, each multicast repeater (108a; 708a) being arranged on a separate network (102b; 702b) that is separated from the network (102a; 702a) including a host by at least one network device that is not configured to route UDP multicast addressing; and at each time when a UDP multicast request packet (320; 720) is received via multicast, extracting a globally unique packet ID from the UDP multicast request packet (320; 720); determining whether or not the multicast repeater (108a; 708a) has previously forwarded the UDP multicast request packet (320; 720) by searching an ID cache for the packet ID; ignoring the UDP multicast request packet (320; 720) in a case where the multicast repeater (1 08a; 708a) has previously forwarded the UDP multicast request packet (320; 720); and in a case where the multicast repeater (108a; 708a) has not previously forwarded the UDP multicast request packet (320; 720), transmitting the UDP multicast request packet (320; 720) to the one or more other multicast repeaters (108a; 708a) which have been discovered, and recording the packet ID in the ID cache, wherein the method comprises determining whether or not a UDP multicast request packet corresponding to a UDP multicast response packet (320; 720) has originated in the network (102a;702a) whenever the UDP multicast response packet is received.
Example 8.6: A method for estimating a length of time required to download one or more application programs on a wireless device over wireless network, said method comprising operations of: the wireless device exchanging one or more data files with server, said data files including at least information representing a size of the one or more application programs available for downloading onto the wireless device; during the exchanging, at least one of the server and wireless device measuring one or more data transfer rates for the exchanging operation; receiving user input of one or more application programs to download; at least one of the server and wireless device: utilizing the one or more measured data transfer rates and the size of the selected one or more application programs to estimate a length of time required to download the one or more application programs onto the wireless device and the wireless device providing an output of the estimated time. Example 8.7: A method for tracking a mobile electronic device using instant messaging (IM), the method comprising the steps of: determining whether a currently inserted subscriber identity module (SIM) card is different from the SIM card stored in a memory of a mobile electronic device; stealthily initiating a live voice call over an instant messaging (IM) message to a predefined IM identity of a user; and automatically sending IM message along with the live voice call, location and IMSI number of the currently inserted SIM card to the predefined IM identity of the user via an IM server if the currently inserted SIM card is different from the SIM card stored in the memory of the mobile electronic device.
Example 8.8: A method of creating Tunnel End Points for a IPv6 over IPv4 tunnel using simple network management protocol (SNMP) in a system having Dual-Stack Border Router as v4/v6 nodes, the method comprising steps of: selecting at least one v4/v6 node as SNMP manager and the rest as SNMP agent configuring the tunnel configuration pertaining to the new node (cloud) at the SNMP manager whenever a new v4/v6 node is added to the v4 network; sending an SNMP SET request to the new v4/v6 node with the tunnel configuration information of all the nodes by the SNMP manager; processing the SNMP SET request by the said new v4/v6 node and configuring the tunnel configuration information of all the nodes if the attempt succeeds; sending a response to the SNMP manager indicating success or failure of the configuration; configuring existing SNMP agents and the new node in order to effect incorporation of tunnel configuration information of new v4/v6 node. Example 8.9: IPAB Decision relating to CRI While dealing with a patent application having title “Method for controlling a wind turbine and a wind turbine”,
IPAB observed: “This is normally a computer operated or computer controlled technical instrumentation processing of the utilities to achieve the target in an automatic fashion and this technical process control associated with or directed to a computer set up to operate in accordance with a specified program (whether by means of hardware or software) for controlling or carrying out a technical process control such as the above, cannot be regarded as relating to a computer program per se or a set of rules of procedure like algorithms and thus are not objectionable from the point of view of patentability, more so when the claims do not claim, or contain any algorithm or its set of rules as such, but only comprise of some process steps to carry out a technical process or achieve a technical effect finally the maximum power output by controlling the wind turbine. Hence the objection that invention is not patentable under section 3(k) fails or not valid.”
No comments:
Post a Comment