Monday, February 21, 2011

How to patent an algorithm in the US

Today I got Google Alert today on the following pending patent -- Belief Propagation for Generalized Matching. I like to stay up on Belief Propagation literature, so I took a closer look. The PDF linked gives a fairly detailed explanation of belief propagation for solving matching problems, including pseudocode which is very detailed, looking like an excerpt of a C program. Appendix A seems to be an expanded version of a paper which appeared in NIPS 2008 workshop

A pecularity of the US patent system is that patents on algorithms are not allowed, yet algorithms are frequently patented. A few years ago when I blogged on the issue of patents in Machine Learning, I didn't know the specifics, but now, having gone through the process, I know a bit more.

When filing an algorithm patent, patent lawyer will tell you to remove every instance of the word "algorithm" and replace it with some other word. This seems to be necessary for getting the patent through.

So, in the patent above, belief propagation algorithm is referred to as "belief propagation system". In the whole application, word "system" occurs 114 times, whereas "algorithm" occurs 1 time, in reference to a competing approach.

Another thing the patent lawyer will probably ask for is lots and lots of diagrams. I'm guessing that diagrams serve as further evidence that your algorithm is a "system" and not merely an algorithm. There are only so many useful diagrams you can have, so at some point you may find yourself pulling diagrams from thin ar and thinking "why am I doing this?" (but then remembering that it's because of the bonus). In the industry, a common figure seems to be $5000 for a patent that goes through. If a company doesn't have bonus structure, they may use other means to pressure employees into patent process. (note, patent above was filed through a university)

As a result, these kinds of patents end up with vacuous diagrams.

For instance, In the patent above, there are 17 figures, and a few of them don't seem to convey any useful information. The one below is illustrating the "plurality of belief propagation processors connected to a bus"

And this one is one is to illustrate belief propagation processors connected to a network

Finally when I saw the following diagram, I first thought it was there to illustrate BP update formula, which involves adding and multiplying numbers

But it's not even tenuously connected to the rest of the patent. 604 is supposed to be "computer readable media", 606 is a "link that couples media to the network", 608 is the "network" for aforementioned "link" and "media". 616 and 618 are not referenced.

This doesn't actually matter because nobody really reads the patent anyway. The most important part of getting the patent through is having a patent lawyer on the case who can frame it in the right format and handle communication with the patent office. The process for regular (non-expedited) patents can take five years and the total cost can exceed $50,000.

As to why an organization would spend so much time and money on a patent that might not even be enforceable by virtue of being an algorithm patent -- patents have intrinsic value. Once patent clears the patent office, a patent is an asset which can be sold or traded and as a result increases company worth. You can sell rights to pending patents before they are granted which makes the actual content of the patent even less important


Diego said...

Algorithm patents are evil:

Yaroslav said...

A strangeness of the system is that you can patent material which has been established as unpatentable. For instance, you could patent a mathematical algorithm, and it will remain on the books until someone challenges it in court, in which case the court will refer to a prior ruling

Energy Patent Lawyer said...

Simple, useful and readable blog is hardly found. But after reading this blog I can only say that this one of the highly informative blogs that I have ever read.

Steve S said...

Thanks for sharing these diagrams. These can be helpful for us.

where to buy viagra

T Barnaby said...

genetic cavities

Mark Bintu said...

Win a lottery

Ty Williams said...

You can not legally patent math but you can patent a mechanical process so all of the diagrams are to show that this algorithm is a really a mechanical process instead of a mathematical one.

lsufyan said...

Thanks for sharing this useful information keep it up the good work.

buy twitter followers

Patent search in India said...

This is exactly what I was looking for. Thanks a bunch for sharing this. Intellectual property law firm India|Patent registration in India|PCT National Phase India

MauricioRevollo said...
This comment has been removed by the author.
MauricioRevollo said...

¡Pepsi's formula is patented, and it's certainly THE algorithm to use, when it comes to exemplify previously patented algorithms! :)

Andria BZ said...

Digital Marketing is a kind of marketing strategy that relies on electronic medium like television, internet and mobile in promoting a product. It delivers incredible result to the business owners to boost their business online presence and enjoy maximum leads. Digital Marketing Training Institute in Chennai | Digital Marketing Course

Ugur Karakus said...

marka patent Patent ile fikirleriniz aydınlansın

tasarım tescil Marka ile fikirleriniz aydınlansın

patent tescil Marka ve patent değerinizi güncelleyin

patent sorgulama Tasarım tescil ile fikiriniz güvence altına alın

marka sorgulama Markanız ile özel hissedin

marka patent Patent tescili burada

tasarım tescil Marka tescili burada

patent tescil patent ve marka tescil adresi

patent sorgulama Tasarımlarınızı tescilleyin , tasarım tescili

marka sorgulama Markanı ücretsiz sorgula

marka patent Marka tescil ve patent danışmanı

tasarım tescil Tasarım tescil danışmanı

patent tescil Patent tescil danışmanı

patent sorgulama Patent sorgulayın , güvende olun

marka sorgulama Marka tescil sorgulama

1-888-867-9209, QuickBooks Technical Support Phone Number said...

Intuit QuickBooks accounting is very easy to manage while you are the new user. To receive numerous solution for your business accounting can contact QuickBooks Contact Support Toll Free Phone Number USA, Canada 1-888-867-9209 Intuit QuickBooks Customer Support Number

techvelocity partners said...

It exactly matches, what am looking for.Thank you so much for sharing
Risk management consulting services
ROI consultant minnesota
consulting company minnesota

summit tiwari said...

Thank you for the posting the procedure of patent.It is going to help me a lot.

kanaga seo said...

Nice article Thanks for sharing this article Wonderful information from this website Thanks !!!

Embedded training in chennai | Embedded training centre in chennai | Embedded system training in chennai | PLC Training institute in chennai | IEEE final year projects in chennai | VLSI training institute in chennai

Vikky cmd said...

I’d love to be a part of group where I can get advice from other experienced people that share the same interest. If you have any recommendations, please let me know. Thank you.

Digital Marketing Training in Chennai

sobiga J said...

Thank you Admin!
Realtime project center chennai provides Embedded projects in chennai

Melissa Liana said...

Very nice post here thanks for it .I always like and such a super contents of these post.Excellent and very cool idea and great content of different kinds of the valuable information's.
Mindmajix PIM Training

Latha said...

It was really a nice article and i was really impressed by reading this article We are also giving all software Course Training.The IT Inplant Training is one of the leading Best Free Inplant Training institute in the world.

Kavitha,Java Developer said...

I have read your blog its very attractive and impressive.I like it your blog.

Robotics Projects in Chennai | Vlsi Projects in Chennai.

akhila priya said...

I have read your blog its very attractive and impressive. I like your blog machine learning online training Bangalore

Alister cook said...

I believe there are many more pleasurable opportunities ahead for individuals that looked at your site.

digital marketing training in chennai

digital marketing institute in chennai

samala swathi said...

Nice information thank you,if you want more information please visit our link
machine learning online training

Arthur Mendoza said...

if I say things honestly then I would really appreciate these two step as they are really helpful tips as being a writer I can feel that. read here to know about the quality of writing.

Arthur Mendoza said...

There has so many variation in the mba course and you could find the best for you. I think you should choose that one which side is really suits you for career building. read here that is for more help on your writing.

Unknown said...

It is not tough to do patent if you want but there has a fact that you need to do something so great to make a patent. this page for more help on your writing. this page for more help on your writing.

john jersy said...

A very nice guide. I will definitely follow these tips. Thank you for sharing such a detailed article. I am learning a lot from you.
Click here:
angularjs training in bangalore

sai said...

Superb. I really enjoyed very much with this article here. Really it is an amazing article I had ever read. I hope it will help a lot for all. Thank you so much for this amazing posts and please keep update like this excellent article. thank you for sharing such a great blog with us.
Click here:
Microsoft Azure training in online

Sam Davis said...


Thank you for sharing useful information

Here i can share about attractive and high quality Mobile Application Development services with low cost. Ecommerce portal design and development services so please feel free to contact Aapthi Technologies

Website Designing and Development
Ecommerce Store Mobile Application Development
Wordpress Ecommerce Website Development
Web Development Frameworks
Ecommerce Websites Mobile App Development

pooja saravanan said...

Thanks for the informative article. This is one of the best resources I have found in quite some time. Nicely written and great info. I really cannot thank you enough for sharing.

Blueprism training in Chennai

Blueprism training in Bangalore

Blueprism training in Pune

Blueprism training in tambaram

Blueprism training in annanagar

Blueprism training in velachery

Blueprism training in marathahalli

AWS Training in chennai

AWS Training in bangalore

gowsalya said...

Great post! I am actually getting ready to across this information, It’s very helpful for this blog.Also great with all of the valuable information you have Keep up the good work you are doing well.
Devops training in tambaram|Devops training in velachery|Devops training in annanagar|Devops training in sholinganallur

Anonymous said...

Best AngularJS Training in Bangalore offered by myTectra. India's No.1 AngularJS Training Institute. Classroom, Online and Corporate training in AngularJS.
angularjs training in bangalore

Lucy T. Patterson said...

It is not that difficult to patent the algorithm here and it does not matter where you are and you just need to focus on what they said here.

robert said...

Some important informations are given here about your algorithm things as you need to use those methods to solve those.

Safety Professionals said...

The young boys ended up stimulated to read through them and now have unquestionably been having fun with these things.
fire and safety course in chennai

shyam said...

very nice blog
Best OAM Online Training Institute
Best OEM Online Training Institute
Best Office 365 Online Training Institute
Best Oracle ADF Online Training Institute
Best Oracle APPS Functional Online Training Institute
Best Oracle DBA Online Training Institute

Chitra devi said...

Really very nice blog information for this one and more technical skills are improve,i like that kind of post.

best rpa training in chennai |
rpa training in chennai |
rpa training in bangalore
rpa training in pune | rpa online training

nivatha said...

Pleasant Tips..Thanks for Sharing….We keep up hands on approach at work and in the workplace, keeping our business pragmatic, which recommends we can help you with your tree clearing and pruning in an invaluable and fit way.
Data Science Training in Chennai | Data Science course in anna nagar
Data Science course in chennai | Data science course in Bangalore
Data Science course in marathahalli | Data Science course in btm

janani said...

Excellent blog, I wish to share your post with my folks circle. It’s really helped me a lot, so keep sharing post like this

java training in chennai | java training in USA

sumathi s said...

Thanks a lot very much for the high quality and results-oriented help. I won’t think twice to endorse your blog post to anybody who wants and needs support about this area.
fire and safety course in chennai

Swetha Gauri said...

Needed to compose you a very little word to thank you yet again regarding the nice suggestions you’ve contributed here.
industrial safety course in chennai

gowthunan said...

I don’t have time to go through it all at the minute but I have saved it and also added in your RSS feeds, so when I have time I will be back to read more, Please do keep up the awesome job.
nebosh course in chennai

Anonymous said...

I really enjoy simply reading all of your weblogs. Simply wanted to inform you that you have people like me who appreciate your work. Definitely a great post I would like to read this

angularjs online Training

angularjs Training in marathahalli

angularjs interview questions and answers

angularjs Training in bangalore

angularjs Training in bangalore

saran latha said...

Great post! I am actually getting ready to across this information, It’s very helpful for this blog.Also great with all of the valuable information you have Keep up the good work you are doing well.
advanced excel training in bangalore

jyothi kits said...

very nice blog
Best Online Training Instittue
Active Directory Training
Android Training
Angular JS Training
Application Packaging Training

Sri Nithya said...

Thanks for taking time to share this valuable information admin. Really informative, keep sharing more like this.
Blue Prism Training in Chennai
Blue Prism Training Institute in Chennai
RPA Training in Chennai
Angularjs Training in Chennai
AWS Training in Chennai
DevOps Training in Chennai

Prityyou said...

Awwsome informative blog ,Very good information thanks for sharing such wonderful blog with us ,after long time came across such knowlegeble blog. keep sharing such informative blog with us. Aviation Courses in Chennai | Best Aviation Academy in Chennai | Aviation Academy in Chennai | Aviation Training in Chennai | Aviation Institute in Chennai

Shadeep shree said...

The blog which you have shared is more useful for us. Thanks for your information.
German Coaching Classes in Coimbatore
German Language Learning
Learn German in Coimbatore
German Coaching Class in Coimbatore
German Language Coaching Classes in Coimbatore

Sakthi Murugan said...

Your article inspired me to learn more and more about this technology, waiting for your next content!!
Selenium Training in Chennai
Selenium Training
iOS Training in Chennai
Digital Marketing Training in Chennai
core java training in chennai
Selenium Interview Questions and Answers
Future of testing professional

yuva rani said...

This is really too useful and have more ideas and keep sharing many techniques. Eagerly waiting for your new blog keep doing more.
Best Institute For Java Training In Bangalore
Java J2ee Courses In Bangalore
Aws Classes in Bangalore
Aws Cloud Training in Bangalore
Aws Coaching Centre in Bangalore

RainbowTrainings Rajkumar said...

Thank you for providing useful information and this is the best article blog for the students. learn Oracle Fusion Financials Online Training.

Oracle Fusion Financials Online Training

RainbowTrainings Rajkumar said...

Thank you for sharing such a valuable article with good information containing in this blog. learn Oracle Fusion Technical Online Training.

Oracle Fusion Technical Online Training

RainbowTrainings Rajkumar said...

Thanks for sharing valuable information in the article.students can make a good career by learning Oracle Fusion SCM Online Training.

Oracle Fusion SCM Online Training

RainbowTrainings Rajkumar said...

Thanks for providing such a great information in the blog and also very helpful to all.learn best Oracle Fusion HCM Online Training.

Oracle Fusion HCM Online Training

Gautam krish said...

Really great information!!! Thanks for your blog.
German Classes in Coimbatore
German Language Course in Coimbatore
German language Classes in Coimbatore
German Language Course
German Courses in Coimbatore

Vicky Ram said...

Thanks for your sharing such a useful information. this was really helpful to me

Article submission sites