| "The first topic relates to how to improve clarity of claim boundaries that define the scope of patent protection for claims that use functional language." Or to put it another way, the patent database is a broken datastructure, how do we fix it? I think it's important to take their question seriously, because if we give them serious answers it will bring home why the patent system is more broken for software than for other things. The problem with boundaries is that in ordinary property, the incentives are to make boundaries precise. Each property owner may not mind if it's not obverious that the other guy's property is on the other side, but he wants to be sure all of his property is on his side. This doesn't work in patents. The pushback comes from overstretched bureaucrats, not other property owners. So, an interesting question is, is there a way of changing this so each patent filer has the incentive to police the boundaries of other patents? Imagine that at a given point in time, the patent database included not just the individual patents, but a '20 questions' style index, whereby any patent could be located. Crucially, no patent could be enforced against anything outside the 'bucket' in which it is indexed. (A patent could be indexed in more than one bucket, but only by paying the fee for each.) That would give patent owners the incentive to police the boundaries of the 'buckets', and it would allow people to more easily find patents they might be infringing. It would also make clear which areas of patentable material have endemic fuzzy boundaries, so a case could be made for reform. There are large areas where the questions would be things like 'does it contain an aldehyde group?' where a tree would work well. There is a problem with this as a datastructure, though. Any binary tree has to be rebalanced for searching it to be efficient. Even assuming that everyone can be given the incentive to make the rebalancing happen, it's not obvious how to do this. I need a diagram, I'll use this one:
http://upload.wikimedia.org/wikipedia/commons/thumb/4/43/Bin...
Suppose we want to do the tree rotation as in the diagram. The problem is, we only know that the the patents descended from 'alpha' have the 'left' answer to the question in the light green node. We don't know how they relate to the question in the darker green node. So after the tree is rotated, we may need to ask that question of all the patents under 'alpha', an O(N) operation (in legal fees!) and then we may need to move some of them under the branch 'gamma', possibly triggering more rebalancing, so it's not obvious that the operation would even terminate. So, question: Can a suitable datastructure be devised? |
Would it need to be balanced? It might be better to have to play 100 questions instead of 20 rather than pay O(n) in legal fees multiple times