Use of RCU (read-copy-update)

David Schultz das at FreeBSD.ORG
Sat Dec 24 21:28:38 UTC 2011


On Sat, Dec 24, 2011, Alexander V. Chernikov wrote:
> Main problem: Idea is patended:
> General worlds:
> http://www.groklaw.net/articlebasic.php?story=20061028211523142
> Patents in PDF:
> http://www.groklaw.net/pdf/IBM-835-Exhibit_522.pdf
> http://www.groklaw.net/pdf/IBM-835-Exhibit_523.pdf
> http://www.groklaw.net/pdf/IBM-835-Exhibit_524.pdf
[...]
> What can we do about this?
> 1) Do nothing.
> 
> 2) Check if there a way to write and implementation non-covered by those
> patents
> 
> 3) Determine exact conditions under which IBM permits using RCU? (maybe
> ask IBM directly?)
> 
> 4) Consider the possibility of buying license from IBM (if we can
> redistribute code under BSD license after that)

Negotiating or fighting patents is a messy business, so a technical
solution may be easier.  The ideas behind RCU are very old, so one way
out is to implement one of the older out-of-patent ideas directly.  In
an expired patent, IBM called the idea "passive serialization."  You
can also find a lot of (hopefully unencumbered) research on "software
transactional memory", which is a nice abstraction for a similar
mechanism.  (Most of the papers focus on how to do atomic read-write
transactions; read-only transactions are much easier.)  But be
careful: If you independently invent an improvement that isn't covered
by the older patent but is covered by RCU, that idea may still
infringe.


More information about the freebsd-arch mailing list