preliminary findings of a trudge through the official journal of the indian patent office software...

20
PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT OFFICE Software Patents

Upload: elfreda-jennings

Post on 17-Jan-2016

212 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT OFFICE Software Patents

PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT

OFFICE

Software Patents

Page 2: PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT OFFICE Software Patents

Methodology

Patent website Browsers

SQL Security certificates

Patent Search(es) Patent Search

18 month search Controller’s decisions search

Patent journals

Outside resources Software Patents in India Group discussions

BigPatent.com website Bhaven Sampet, Mailman School of Public Health, Columbia University, with

funding from Ford Foundation

Page 3: PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT OFFICE Software Patents

Some Statistics

Total granted~300

Total applied for895233

Microsoft1012

(including “a novel method for chromatographic finger printing and standardization of single medicines and formulation”)

Page 4: PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT OFFICE Software Patents

Points to remember

Abstracts need to be more descriptive so that they are challengeable

Subject matter Prior art

Weasel words

Vigilant civil society organizations reviewing such patent applications

Persons skilled in the art

Page 5: PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT OFFICE Software Patents

Existing system

0003/DEL/2004 - 10/02/2006 - Journal No. 06/2006MICROSOFT CORPORATION CONFIGURATION OF USER INTERFACESConfiguration of user interfaces is described. In an

implementation, a method includes receiving a query from a device. The query is for a user interface (UI) from a client. A processing of the request determines whether the execution by the client of the control function is permitted. The processing is performed at a head end by using client state data. The hardware and/or software capabilities of the device to execute the UI are detected. The UI is configured based on the hardware and/or software capabilities of the device.

[This seems to allude to something like a conditional template/stylesheet/theme.]

Page 6: PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT OFFICE Software Patents

Existing system

0270/DEL/2005 - 09/02/2005 - Journal No. 52/2006 MICROSOFT CORPORATIONUPDATE DISTRIBUTION SYSTEM ARCHITECTURE

AND METHOD FOR DISTRIBUTING SOFTWARE A hierarchical software update distribution system and

method for distributing software updates is presented. The update distribution system includes a root update service node and at least one update service node. In an update distribution system, each update service node, except the root update service node, has one parent update service node. Each update service node may function as parent update service node to child update service nodes.

[Seems like apt-get / yum, etc.]

Page 7: PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT OFFICE Software Patents

Anti-circumvention?

1043/DELNP/2008 - 04/07/2008 - Journal No. 27/2008 SECURED DIMENSIONS LTD. METHOD FOR PREVENTING SOFTWARE REVERSE

ENGINEERING, UNAUTHORIZED MODIFICATION, AND RUNTIME DATA INTERCEPTION

A method for preventing the unauthorized modification of a software or unauthorized modification of runtime data. According to this method ‘a converter, which is capable of converting the software into a generalized machine code is provided’. The converter is designed such that it cannot be reverse engineered, by using a conversion process that causes data loss. An interpreter, which the knowledge of its process method is kept restricted, is also provided. The interpreter interprets the general machine code into a specific machine code, while reconstructing the lost data during the interpretation process.

Page 8: PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT OFFICE Software Patents

Purely Algorithmics/Software

0577/DELO/2005 - 16/03/2005 - Journal No. 35/2007   METHOD AND SYSTEM FOR LIMITING SOFTWARE UPDATES  MICROSOFT CORPORATION A method of detecting pirated software includes receiving a

request for a software update by a client computer and providing to the client computer a test to be performed. The test is performed on the client computer against the client software application. The client computer may be denied a software update as a result of the test finding an illegitimate copy of the client software. The invention may be practiced in a network environment where a server transfers a test program for a client to execute upon request of a software update. The test performs an integrity cheek and denies the request for a software update if the client software is found to be illegitimate.

[The core of the ‘method’ is the integrity check, which is a) (algorithmic) cryptographic hashing, b) performed by software.]

Page 9: PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT OFFICE Software Patents

Existant

02287/DELNP/2003 - 20/01/2006 - Journal No. - 3/2006 CONTENTGUARD HOLDINGS, INC METHOD AND APPARATUS FOR SUPPORTING MULTIPLE

TRUST ZONES IN A DIGITAL RIGHTS MANAGEMENT SYSTEM A digital rights management method and system for items having

usage rights. A first activation device defines a first trust zone. A first license device associated with the first trust zone generates an open license having usage rights associated with a first item. A second activation device defines a second trust zone and is adapted to issue a software package that enforces usage rights. A user device associated with the second trust zone is adapted to receive the software package from the second activation device, to receive the open license associated with the first item, and to use the first item in accordance with the open license. In addition, a method is provided for enforcing a license granting usage rights associated with a protected item, and for classifying a license, the license being an open license or a closed license.

Page 10: PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT OFFICE Software Patents

Purely Software

0251/DEL/2005 - 29/12/2006 - Journal No. 52/2006 MICROSOFT CORPORATION SCALABLE PRINT SPOOLER An exemplary scalable print spooler efficiently prints data on a

printer and is most effective in use with a dedicated print server. One use of the invention is with a print server that services a large number of client computers having applications programs having a need to print data. These could include, but are not limited to, word processing applications programs. A server computer has software that implements a server print spooler for co-ordinating the printing of data sent to the print server by the client computers. A number of printers are coupled to the server computer for printing under direction of the server print spooler. Client calls to the print spooler are accomplished by asynchronous procedures that communicate by means or an remote procedure call channel. A thread pool at the print server services these calls without unreasonable context switching between client requests.

Page 11: PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT OFFICE Software Patents

 0284/DEL/2005 - 29/12/2006 - Journal No. 52/2006 MICROSOFT CORPORATION TAG-BASED SCHEMA FOR DISTRIBUTING UPDATE METADATA IN AN

UPDATE DISTRIBUTION SYSTEM A tag-based structure for communicating software update metadata

information to client computers and to update service nodes is presented. An update metadata file includes: an identifier tag including a software update identifier that uniquely identifies the software update; zero or more general properties tags that carry general property information relating the software update; zero or more localized properties tags that carry localized property information organized according to language; zero or more relationship tags that identify dependency relationships the current software update, as described in the update metadata, has with other software updates; zero or more applicability rules tags that carry information for determining the applicability of the software update to a client computer; zero or more files tags that carry information relating to the software update's payload files; and handler specific data tags that carry information directed to the software handler for installing the software update.

Page 12: PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT OFFICE Software Patents

 0529/DEL/2005 - 12/01/2007 - Journal No. 02/2007 MICROSOFT CORPORATION FILE LOCKER AND MECHANISMS FOR PROVIDING AND

USING SAME A file locker manages the storage and use of protected data for

software objects. A protected environment maintains the cryptographic and isolative infrastructure to support sealing of data items for use by a trusted agent. The file locker uses the protected environment's sealing functionality to seal data items for the file locker's exclusive access. The file locker seals, to itself, files received from software objects, and provides those files upon request, and upon sufficient proof of the requestor's trustworthiness, authenticity, and/or identity. The file locker may be used to extend the protected environment's sealing functionality to legacy applications, without the legacy applications having to implement agents that can run in the protected environment and access the sealing functionality directly.

Page 13: PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT OFFICE Software Patents

0870/DEL/2005 - 05/01/2007 - Journal No. 01/2007 CISCO TECHNOLOGY, INC. METHOD AND SYSTEM FOR CODE COVERAGE A method, a native library and a java Virtual Machine Debugger

interface agent for providing code coverage for programs coded in a computer language are described. The method involves determining the classes for which the code coverage is desired. The runtime environment for the computer language generates software events for several events that take place in the environment, such as preparing a class for loading and breakpoints. Handler functions for the events corresponding to events such as preparing a class for loading and breakpoints are registered with the runtime environment. The method further involves receiving breakpoints for one or more executable units in the classes for which the code coverage is desired. On receiving the breakpoint event, a line hit counter is incremented, which enables determination of the lines of code which are exercised and which are not. The native library and Java Virtual Machine Debugger Interface agent contain instructions that implement the method.

Page 14: PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT OFFICE Software Patents

0926/DEL/2005 - 01/12/2006 - Journal No. 48/2006MICROSOFT CORPORATIONEFFICIENT PATCHINGA facility for augmenting software in a target computer

system is described. The facility receives and augmentation specification in the target computer system. The augmentations specification specifies; (a) a function to be augmented, (b) a parameter of the function to be tested, (c) a test to apply to the specified parameter, and (d) and modification to perform to the behaviour of the function if specified test is not satisfied by the specified parameter. When the specified function is invoked on the target computer system, if the specified tested is not satisfied by the specified parameter, the facility performs the specified modification to the behaviour of the specified function.

Page 15: PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT OFFICE Software Patents

Intuitive

10063/DELNP/2007 - 20/06/2008 - Journal No. - 25/2008 AB INITIO SOFTWARE CORPORATION MANAGING MEMORY PAGESA method, and corresponding software and system, is

described for paging memory used for one or more sequentially-accessed data structure. The method includes providing a data structure (200) representing an order in which memory pages are to be reused; and maintaining the data structure according to a history of access to a memory page associated with one of the sequentially-accessed data structures. A position of the memory page in the order depends on a transition of sequential access off of the memory page.

Page 16: PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT OFFICE Software Patents

Purely Software

10085/DELNP/2007 - 20/06/2008 - Journal No. - 25/2008

NOKIA CORPORATION SHOWING TOOLTIPS FOR PAGE SEGMENTS AND

GENERATING CONTENT FOR THE PAGE SEGMENTA method, system, device, and software product are

presented for describing to a user a section of a page on a small display, such as a mobile phone display. A section selection signal indicates a section of the page, and then a tooltip describes content of that section of the page. The tooltip is superimposed on at least part of the page. Then a larger version of that section of the page can be displayed.

[Insufficient details.]

Page 17: PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT OFFICE Software Patents

Purely Software

 10184/DELNP/2007 - 20/06/2008 - Journal No. 25/2008 MICROSOFT CORPORATION IMMUNIZING HTML BROWSERS AND EXTENSIONS FROM

KNOWN VULNERABILITIES An exemplary computer-implementable method (300) transforms

or "immunizes" information to reduce or eliminate risk of exploitation of a known vulnerability of a software service and includes receiving information (304) in response to a request, transforming the information (308) to produce transformed information and sending the transformed information (312). An exemplary firewall server (112) includes server software (144, 148) that allows the firewall server (112) to receive information from a resource (104, 108) via a network and to send information to a client computer (114) and an immunization component (264, 268) for immunizing the information to prevent exploitation of a vulnerability of browser software (154) on the client computer (114). Various other exemplary methods, devices, systems, etc., are also disclosed.

Page 18: PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT OFFICE Software Patents

Standard

 1036/DEL/2005 - 31/08/2007 - Journal No. 35/2007 MICROSOFT CORPORATION GENERIC USB DRIVERS Techniques are disclosed to provide generic USB drivers.

More particularly, a generic USB device driver architecture is described which enables development through a user-mode USB library that accesses a generic kernel-mode driver. In a described implementation, a method includes loading a kernel-mode generic device driver in response to a plug-in event of a device. A user software component accesses the device by utilizing routing provided by the generic user- mode library (e.g., a dynamic link library (DLL) that communicates with the generic device driver).

[This shows that it is very difficult to interpret “software per se” narrowly, as all software is meant to interact with hardware.]

Page 19: PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT OFFICE Software Patents

Misleading

 1043/DELNP/2008 - 04/07/2008 - Journal No. 27/2008 SECURED DIMENSIONS LTD. METHOD FOR PREVENTING SOFTWARE REVERSE

ENGINEERING, UNAUTHORIZED MODIFICATION, AND RUNTIME DATA INTERCEPTION

A method for preventing the unauthorized modification of a software or unauthorized modification of runtime data. According to this method a, converter, which is capable of converting the software into a generalized machine code is provided. The converter is designed such that it cannot be reverse engineered, by using a conversion process that causes data loss. An interpreter, which the knowledge of its process method is kept restricted, is also provided. The interpreter interprets the general machine code into a specific machine code, while reconstructing the lost data during the interpretation process.

[Possibly refers to cryptography, which isn’t patentable either, under section 3(k), as it would be an algorithm.]

Page 20: PRELIMINARY FINDINGS OF A TRUDGE THROUGH THE OFFICIAL JOURNAL OF THE INDIAN PATENT OFFICE Software Patents

Purely software

 0003/DEL/2004 - 10/02/2006 - Journal No. 06/2006MICROSOFT CORPORATION CONFIGURATION OF USER INTERFACESConfiguration of user interfaces is described. In an

implementation, a method includes receiving a query from a device. The query is for a user interface (UI) from a client. A processing of the request determines whether the execution by the client of the control function is permitted. The processing is performed at a head end by using client state data. The hardware and/or software capabilities of the device to execute the UI are detected. The UI is configured based on the hardware and/or software capabilities of the device.

[Not tied down to particular hardware, and seems to be aimed at competitor control, rather than innovation.]