Tag Archives: patent infringement

SAFE Corporation Awarded Patent Number Six for its CodeSuite Software Forensics Tool

The CodeCross function of CodeSuite compares functional source code to commented-out source code

CUPERTINO, CA (February 9, 2015) – Software Analysis & Forensic Engineering Corporation, the leading provider of forensic tools for software copyright and trade secret analysis, had its sixth patent allowed covering its CodeSuite® tool for comparing software code to help detect copyright infringement.

This latest patent is entitled “Detecting Plagiarism in Computer Source Code” and covers the CodeCross functionality that compares functional code to non-functional code. CodeSuite is the only commercially successful tool for comparing computer source code and object code to find infringement that has been accepted by the courts. It has been used successfully in over 70 intellectual property litigations worldwide. CodeSuite has been recognized by the USPTO as a unique invention. Our customers agree.

“Other programs that compare software don’t provide any understanding about the comparison or the results,” according to Gary Stringham of Gary Stringham & Associates, who has used CodeSuite in his expert witness cases. “Things match or they don’t. Only CodeSuite allows me to delve into the reasons for the matches, search the Internet for comparable third-party code, and then systematically filter out false positives. This means I can focus on possible infringement very quickly. Or, if nothing is left after filtering, I have a very strong argument against infringement.”

“CodeSuite has survived every challenge in court that it’s ever faced,” says Bob Zeidman, president of SAFE Corporation and inventor of CodeSuite. “Judges and juries like the quantitative, objective measurements produced by CodeSuite when they’re produced by a qualified expert trained in the tool. We provide online certification courses that give lawyers confidence that the expert knows how to use the tool and produce rock solid results that will stand up to scrutiny in court.”

CodeSuite 4.7 is available now and can be purchased on a term license or project basis. Project pricing is based on the size of code analyzed and the specific function used for the analysis. Pricing varies from $10 per megabyte for CodeCross® to $400 per megabyte for CodeMatch®. A six-month unlimited use license for CodeSuite is $50,000. A limited feature version of the program, CodeSuite-LT, is available for a six-month unlimited license for $3,000. Free trial licenses can be requested by contacting sales@SAFE-corp.biz.

Job Opening: Software Forensic Engineer

Zeidman Consulting, a leading research and development company (and sister  company to SAFE Corporation), is looking to hire a full-time software forensic engineer. Acting as a high-tech sleuth, this person will analyze and reverse-engineer software using CodeSuite® and other state-of-the-art software tools, helping to resolve lawsuits involving hundreds of millions or billions of dollars. The employee will also work on one of several ongoing cutting edge research projects. These projects often lead to publication in academic journals, presentations at conferences, patents, and new product spinoffs. Past and ongoing projects include:

  • CodeMatch®, a program for comparing and measuring the similarity of different programs.
  • CodeGrid®, a computer grid-enabled version of CodeMatch®.
  • HTML Preprocessor™, a tool for breaking complex HTML pages into components consisting of text, pure HTML, JavaScript, images, etc.
  • RPG, a tool for automatically generating expert reports for copyright, trade secret, and patent litigation.

A successful candidate will need the following attributes:

  • At least a bachelor’s degree in computer science or equivalent. Advanced degree is preferred.
  • Excellent programming skills in one or more programming languages.
  • Ability to work independently on projects that are not well-defined.
  • Excellent verbal and writing skills for creating detailed specifications and reports.
  • Ability to work on multiple projects simultaneously and to switch projects suddenly as the need arises.
  • Enjoys working long hours on interesting projects, including weekends when projects hit critical periods.
  • Enjoys free time when projects are not in critical periods.

Zeidman Consulting pays above average salaries with profit-sharing and provides health insurance and paid time off for holidays, vacation, and illness. To apply, please email a resume to Info@ZeidmanConsulting.com.

Be a Pioneer in the Field of Software Forensics

I hope you’re all aware of my book The Software IP Detective’s Handbook: Measurement, Comparison, and Infringement Detection. It’s the first book on Software Forensics, a field that I pioneered at Software Analysis and Forensic Engineering and Zeidman Consulting. Whereas Digital Forensics deals with bits and files, without any detailed knowledge of the meaning of the data, Software Forensics deals with analysis of software using detailed knowledge of its syntax and functionality to perform analysis to find stolen code and stolen trade secrets. The algorithms described in the book have been used in many court cases. The book also describes algorithms for measuring software evolution, particularly as it relates to IP changes.

If you are a teacher, this is a great time to incorporate the materials in the book into your courses on software development, intellectual property law, business management, and computer science. There’s something for everyone in the various chapters of the book. Your students and you will be at the forefront of an important and very new field of study.

If you’re interested, please contact me.

Ways to Infringe a Patent

A patent can be infringed in two basic ways: directly and indirectly. These different ways of infringing are important to understand by anyone wanting to enforce patents and by anyone wanting to avoid infringing a patent.

Direct Infringement

A patent claim is directly infringed by some product when that product practices each “limitation” of the claim when the claim is a method claim, or includes a structure equivalent to each “limitation” of the claim when the claim is an apparatus claim, or does both in the case of a means-plus-function claim. The term “limitation” is used by lawyers and those in the know to mean the step or steps spelled out in the patent claim.

There is another way of directly infringing known as the doctrine of equivalents. If a product doesn’t perfectly meet the limitations of a claim, it may still infringe on the patent if it does something that a person of ordinary skill in the art (“POSITA” or “OOSITA”) would know was equivalent. While this may seem like a loophole, it’s actually quite fair. Suppose someone patents a “glass bulb containing a filament that produces light when an electric current is sent through it.” The inventor may not realize that a bulb made of specially treated plastic would also work. The key to the invention isn’t the material from which the bulb is made. Thus a plastic bulb could infringe on the patent because of the doctrine of equivalents.

Indirect Infringement

If a product doesn’t directly infringe a patent, it may also indirectly infringe. There are two types of indirect infringement: induced infringement and contributory infringement. Encouraging others to infringe a patent is called “induced infringement.” When two products working together infringe on a patent, that’s called “contributory infringement.”

Induced infringement

Induced infringement occurs when some party purposefully causes or encourages another party to infringe a patent. The key work here is “purposely.” Induced infringement must meet these criteria:

  • The infringer actively encouraged or instructed another party on how to use a product or perform a process in a way that infringes the patent claims.
  • The infringer knew of the patent.
  • The infringer knew or should have known that the encouragement or instructions would induce infringement of the patent.
  • The other party actually infringed the patent.

So induced infringement requires that the infringer purposely got another party to infringe a patent. Let’s say you have a software company that produces word processing software, and your competitor has a patent on checking the spelling of words in a document and putting a squiggly red line under misspelled words. You need a spell checker, but you don’t want to infringe, so your product outputs misspelled words to a separate file and you recommend that your customers buy third-party software that reads in that separate file and puts squiggly red lines in the documents. You may be inducing infringement by encouraging your customers to perform the patented method. And don’t try to use an orange line or a chartreuse line, because you’ll probably still be infringing under the doctrine of equivalents.

Contributory Infringement

Contributory infringement occurs when one party who knows about the patent supplies a component to another party to use in an infringing product. Contributory infringement occurs if the party who received the component directly infringes the patent and if the component has the following characteristics:

  • The component is a significant part of the invention.
  • The component is especially made for use in a way that infringes the patent.
  • The supplier knows that the component was especially made for that use.
  • The component doesn’t have any substantial non-infringing use.

So contributory infringement requires that the infringer knowingly supplied another party with a product that was incorporated into a second product, causing the combination to infringe a patent.

Let’s take the example again of your word processing company. Suppose your word processing company decides to buy the third-party squiggle generator software to incorporate into your word processor. You meet with the head of the squiggler company and tell her that your word processor doesn’t infringe on your competitor’s product and the squiggler doesn’t infringe. You want to embed the squiggler into the word processor. At that point you’ve just lost the game, because the squiggler company knows that the combination infringes and so they can be found to be contributory infringers. Because it’s your product, you can be liable for direct infringement in this scenario.

However, if the squiggler can be used to underline important words, hyperlinks, and naughty words in addition to misspelled words, then the squiggler company may be OK because the component has significant uses that are non-infringing.

Do Non-Practicing Entities Impede Progress?

On April 12 an op-ed was published in the Wall Street Journal  entitled Patent Trolls vs. Progress by Andy Kessler, a former hedge-fund manager. I would like to correct some inaccuracies. Mr. Kessler attributes Microsoft’s recent purchase of AOL’s patents and Google’s purchase of Motorola Mobility (presumably for its patents) as protection against non-practicing entities (“NPEs”) also disparagingly known as “patent trolls.” First, no portfolio of patents will ever protect against an NPE. This is because an NPE, by definition, does not produce a product. In a patent litigation between two companies, the typical scenario is that company A owns a patent and attempts to license that patent to company B that it believes is infringing. Company B can pay a fee to company A or it can refuse to pay. Or company A may attempt to get an injunction against company B to prevent it from selling its product that incorporates the invention described by the patent. If company A wants an injunction or requests a fee that company B refuses to pay, then company A will almost
certainly take company B to court. At that point, company B takes some combination of three possible countermeasures. Company B can attempt to show that the patent is invalid. Company B can attempt to show that its product does not infringe the patent. Company B can countersue company A for infringement of some patent of its own. Typically after months of threats, legal maneuvers, and negotiations, the companies will settle on some payment from one company to the other. The cases rarely go to court. Now suppose that company A is an NPE. Company B’s third option of countersuing is not an option because company A produces no product and thus cannot infringe on any patent. Thus buying patents provides zero defense against an NPE, contrary to what Mr. Kessler asserts.

Mr. Kessler reaches back seven years to 2005 for the case of NTP v. Research-In-Motion, the famous case against the Blackberry manufacturer, for his justification and concern about NPEs, but in recent years it is the major players in high tech have been suing each other over patents. The companies in the news for patent sales, patent purchases, and patent lawsuits are not NPEs but the high tech goliaths including Google, Apple, Microsoft, Motorola, Oracle, Facebook, AOL, and Yahoo among others. Purchasing patent portfolios can be used defensively against other companies and just as easily these patent purchases can be used, and are being used, as offensive weapons against competitors. Patent trolls are simply the bogeymen used by large companies to convince politicians to “reform” patent laws.

Mr. Kessler argues that the extension of the patent term to 20 years, enacted in 1995 to make U.S. patent law consistent with the World Trade Organization’s Agreement on Trade-Related Aspects of Intellectual Property Rights (TRIPs), is a problem because “in technology things move a lot faster.” I do not understand the reasoning behind this complaint. If technology moves so fast, then a patent becomes worthless long before the term is over. What does it matter if a patent is valid for five years or 50 years if the patent is worthless after five years?

Mr. Kessler states the “we have to stop allowing juries to establish the value of patents… the market… [should] determine value. ” In fact, the market does determine value. The majority of patent lawsuits are settled before reaching court, and both parties determine a fair value based on free market principles. A negotiation between two parties is a great example of such free market principles where each party determines the value of the patent with respect to its own interests, free from other considerations. For cases that reach a jury, the jurists are provided information by economists and accountants who determine the value of a patent based on the market value of the products that embody the patented inventions. Of course we can argue about whether their models and calculations are correct, but our entire justice system is based on juries determining values and awarding damages and so if Mr. Kessler believes that juries are incapable of determining value, then he is implying that our entire legal system-at least the civil system-is flawed. If that is true, then it is the legal system as a whole that needs to be revised.

Perhaps the most disturbing recommendation is to require patent holders to manufacture or sell products. This requirement would fundamentally damage the patent system. Patents allow small, cash-strapped inventors to create something new and protect that invention from large corporations that have the money and resources to kill it or steal it before the inventor can get funding or market share. I know this from experience. Years ago I created a software tool that I sold to a large company that enabled that company to sell their expensive hardware to customers in the communications industry. Each software package, that sold for about $25,000, enabled this company to sell their multimillion dollar equipment to communications companies that otherwise would never have been customers. The arrangement seemed good to me, but the large company made it clear that they did not like being beholden to me, so after several years of buying my software, they created their own. My sales immediately went to zero-in other words I became a non-practicing entity. Fortunately I had patented my invention and so I had more leverage than the large company expected. Had Mr. Kessler’s recommendation been in effect, I would have had no recourse against that large company.

According to Kessler, James Madison was the man behind Article 1, Section 8, Clause 8 of the U.S. Constitution, giving Congress the power “to promote the Progress of Science and useful Arts, by securing for limited Times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries.” Historical documents suggest that Thomas Jefferson and Charles Pinckney also lobbied for this clause. In any case, this section of the Constitution has been the justification for our patent system for over 200 years. Mr. Kessler believes that Mr. Madison did not understand what he was doing or, at best, did not foresee the expense that patent litigation would involve in the 21st century. In fact, the founding fathers knew exactly what they were doing when writing the intellectual property clause into the U.S. Constitution. They were protecting the individual from the overwhelming power of large entities. They were enacting the very principles of American society for which we fought the Revolutionary War. Since 1790 the U.S. patent system has contributed to America becoming the most innovative society in the history of the world. Fundamentally changing the system in the ways suggested by Mr. Kessler would stifle that innovation.

Guidelines for lawyers dealing with experts

Most lawyers know the importance of treating experts with respect. Even if we turn out to be ignorant, arrogant, immature idiots, we hold the keys to presenting the facts and the analysis that will win your client’s case or at least put it in the best light possible given all of the facts. If we’re going to testify, you want us feeling good about it, about the client, about you, and about ourselves. Most attorneys know this but some, in the emotion of the “battle,” forget this. Here’s a checklist to serve as a reminder.

  • Have us give input into schedules. We know best how much work an analysis is going to take. And some of us have lives outside of work (not me, but I’ve heard that others do). Don’t give us a schedule without our input and expect us to meet it.
  • Don’t hire us just to keep us off the other side. I’ve had this happen. It’s flattering, but it’s also unethical. I need to make a living. Also I will never work for you again, and I will warn my colleagues about you.
  • Involve us with crafting the strategy. Don’t let us work in the dark and then complain, for example, that our invalidity argument hurts the non-infringement argument or vice-versa. And by the way, a great argument for one will always make the other much more difficult to show.
  • Involve us with claim construction. We have the appropriate experience to figure out a decent claim construction. Too often I’m called into a case where the claim construction makes little sense to me. I need to be educated about how the claims are construed and then I need to see if I can work with them. Sometimes adding or removing a word from the claim construction would make things significantly easier for me to understand and explain to the judge and jury.
  • Give us enough time to do our jobs. Maybe this is a pipe dream. Lately, cases have been more and more compressed and I’m brought in later, probably to save costs. But it hurts the case and stresses us out.
  • Don’t antagonize us. We’re they guys who are going to help your client by clarifying their position and explaining difficult concepts to the judge and/or jury. You don’t want us ticked off, even if we really are stupid jerks. You want us in a good frame of mind and happy about what we’re doing. At least until we’re done testifying.
  • Explain your positions to us patiently. If you can’t get us to understand it and adopt it, how can you get a judge or jury?
  • Don’t tell us we have to adopt your positions or we’ll lose the case. We’re independent and unbiased. The threat of losing the case is not a reason for us to support your position, and stating this can come back to haunt both of us eventually.
  • If things aren’t going well, meet face-to-face. It’s easier to communicate about difficult subjects. It’s easier to wave hands, draw diagrams, point to things. And it’s more likely for both to see each other as humans, not someone being difficult.
  • Don’t expect us to understand all the legal issues. I’ve met lawyers who didn’t understand all the legal issues. I actually do understand legal issues more than most experts because of my experience and my writing on the topic. Yet there are still gaps. And the lawyers can disagree. I’ve been in many long sessions where lawyers argued about legal issues.
  • Don’t believe you understand all the technical issues. Some of the lawyers I’ve met were once great engineers. Others have no engineering experience whatsoever. Some will take my word completely and others will fight me. I don’t mind reasoned debate—in fact I enjoy it. But remember that my understanding of the technical issues is ultimately what I will present in my reports and my testimony.
  • Be clear in your instructions. We know you’re in a hurry, but this is critical to getting good information. I’ve had cases where I got a quick call to do some analysis and then spent the weekend setting up equipment, getting results, and writing a report, only to find there had been a miscommunication about what was needed. Sure I get paid per hour, but I’d still like to know I’m doing something useful. I’m sure you and your client prefer that too.
  • Have us sit in on depositions. We can add a lot of knowledge and we can help craft the direction of the questioning. I was in one deposition where, searching the Internet, I found an expert’s presentation slides promoting a software method while she was testifying she would never ever use such an “unreliable” method. I’ve also had lawyers call me after a “very successful” deposition where they thought they’d uncovered some really useful facts but were asking questions about the wrong technology.
  • Don’t write the reports and expect us to just sign it. Our reputations and careers are on the line, not yours. Unfortunately, some experts do this and collect their checks. I won’t and neither will any expert worth his or her hourly rate.
  • Expect us to sleep some time. OK, the lawyers themselves get little sleep during a case. Me too. I just prefer that you act as though you care about my getting rest even though we both know I won’t. So don’t tell me to be available at midnight, ask me if I can please make myself available at midnight even though you know it’s a burden. It just sounds nicer.
  • Pay us on time or be honest about any problems. Sometimes clients run into financial trouble. I prefer to work for a client who is honest about financial trouble than one who constantly tells me “the check is in the mail.” Usually this is an issue with the client not the lawyer, but I’ve had lawyers misplace my final invoice, simply because they had moved onto other more pressing matters. My payment is a pressing matter, and a late or missing payment means I’m unlikely to be available the next time you need my expertise.
  • Don’t negotiate our fees after the case is over. This is just poor business practice and makes me not want to work with you again. The time for negotiation is before hiring me, not after I’ve put in time on the case.
  • Remember that our job is to be honest and unbiased. Expect us to point out the bad along with the good. If we find your client’s case doesn’t have merit, at least be happy we discovered that before the other party’s expert informed you at trial. You can settle early or limit the damages or just know that you did the right thing.

The Software IP Detective’s Handbook

My book on software intellectual property, a labor of love (and hate) for the last two years, has just been published by Prentice-Hall. The book is intended for several different audiences including computer scientists, computer programmers, business managers, lawyers, engineering consultants, expert witnesses, and high-tech entrepreneurs. Some chapters give easy-to-understand explanations of intellectual property concepts including copyrights, patents, and trade secrets. Other chapters are highly mathematical treatments describing quantitative ways of comparing and measuring software and software IP. The first chapter of the book outlines which chapters are most important for the different audiences.

Overall the book covers the following topics:

  • Key concepts of software intellectual property
  • Comparing and correlating source code for signs of theft or infringement
  • Uncovering signs of copying in object code when source code is inaccessible
  • Tracking malware and third-party code in applications
  • Using software clean rooms to avoid IP infringement
  • Understanding IP issues associated with patents, open source, and DMCA

You can purchase your copy from Amazon.com here.

Do patents really kill innovation?

In a recent editorial in the Wall Street Journal entitled Digital Innovators vs. the Patent Trolls, Peter Huber, a senior fellow at the Manhattan Institute, argues that software patents are the shotguns that kill innovation (my analogy) and that non-practicing entities (NPEs derisively referred to as “patent trolls”) are pulling the trigger (again, my analogy). I disagree.

Peter Huber makes some contradictory and misleading arguments where he claims that non-practicing entities are ruining innovation in America. On the one hand, he acknowledges that only a small percentage of patents, roughly 2% by his own estimate, end up court. Yet he also believes that “[o]ur patent laws have drifted way off course.” He states that “[t]he patent office now grants more than 4,000 patents a week” but neglects to mention that the total number of patent applications and the number of patent rejections have both similarly risen. And one major goal of USPTO director David Kappos, appointed in 2009 by President Obama, is to reduce the backlog of 1.2 million patents around the time he took office. Many more patents are being submitted and examined than ever before-—a sign of the vigorous spirit of innovation in America.

Dr. Huber’s logic is equally baffling when he claims that companies rarely sue each other but that companies spend lots of money collecting patents. Why would a company spend so much on worthless patents? Patents are used to protect their investments in technology, and the vast majority of patent lawsuits are between large corporations like the recent ones between Oracle and Google, Apple and Samsung, Dish Network and Tivo, and many, many others.

Dr. Huber claims that the Supreme Court’s decision in Bilski v. Kappos somehow agrees with his view that patentability must be restricted. In fact, this decision did just the opposite. While business method patents were rejected by the court, as expected, the patentability of software was expanded.

Dr. Huber claims that plaintiffs in the Eastern District of Texas almost blindly reward plaintiffs in patent cases, but a recent study by the Stanford
Intellectual Property Clearinghouse
showed that plaintiffs in that jurisdiction win only 40.3% of the time.

Finally Dr. Huber gets to his point. Patent examiners and juries just aren’t smart enough to figure out which patents are good and which are “sketchy.” So instead, he wants the patent system changed to restrict inventors from owning the fruits of their intellectual labor. As an individual inventor I object to his condescension and to his attempt to limit this constitutionally protected driver of American innovation.

ADFSL 2011 Conference on Digital Forensics, Security and Law

Last year my consulting company presented a paper entitled Measuring Whitespace Patterns As An Indication of Plagiarism that examined and tested the concept that patterns of whitespace in two source code files can be used to determine whether one program was copied from the other. The conference was an enjoyable three days in St. Paul, Minnesota. We even got a tour of the Forensic Science Laboratory of the Bureau of Criminal Apprehension where we learned the real forensic science used to catch criminals (the CSI TV shows are a “little bit” exaggerated, but the reality is just as interesting).

This year the conference will be at Longwood University in Richmond, Virginia from May 25 through 27. I’m serving on the conference committee. We’re looking for paper, presentation, and panel submissions in the following areas:

Curriculum

1. Digital Forensics Curriculum
2. Cyber Law Curriculum
3. Information Assurance Curriculum
4. Accounting Digital Forensics Curriculum

Teaching Methods

5. Digital Forensics Teaching Methods
6. Cyber Law Teaching Methods
7. Information Assurance Teaching Methods
8. Accounting Digital Forensics Teaching Methods

Cases

9. Digital Forensics Case Studies
10. Cyber Law Case Studies
11. Information Assurance Case Studies
12. Accounting Digital Forensics Case Studies

Information Technology

13. Digital Forensics And Information Technology
14. Cyber Law And Information Technology
15. Information Assurance And Information Technology
16. Accounting Digital Forensics Information Technology

Networks And The Internet

17. Digital Forensics And The Internet
18. Cyber Law And The Internet
19. Information Assurance And Internet
20. Digital Forensics Accounting And The Internet

Anti-Forensics And Counter Anti-Forensics

21. Steganography
22. Stylometrics And Author Attribution
23. Anonymity And Proxies
24. Encryption And Decryption

International Issues

25. International Issues In Digital Forensics
26. International Issues In Cyber Law
27. International Issues In Information Assurance
28. International Issues In Accounting Digital Forensics

Theory

29. Theory Development In Digital Forensics
30. Theory Development In Information Assurance
31. Methodologies For Digital Forensic Research
32. Analysis Techniques For Digital Forensic And Information Assurance Research

Digital Rights Management (DRM)

33. DRM Issues In Digital Forensics
34. DRM Issues In Information Technology
35. DRM Issues In Information Assurance
36. DRM Issues In Cyber Law

Privacy Issues

37. Privacy Issues In Digital Forensics
38. Privacy Issues In Information Assurance
39. Privacy Issues In Cyber Law
40. Privacy Issues In Digital Rights Management

Software Forensics

41. Software Piracy Investigation
42. Software Quality Forensics

Other Topics

43. Cyber Culture And Cyber Terrorism

The deadline for submissions is February 19. The website for the conference is at http://www.digitalforensics-conference.org where you’ll find more information about the conference, the venue, and submission guidelines.

Words to fear: I’m from the government and I’m here to help

So the government is finding ways to fix the patent system. One of those fixes is the  Peer-to-Patent program. It seems like a good idea. In order to speed up the granting of good patents and quickly eliminate the bad ones, allow people from everywhere and anywhere to submit prior art. If that’s actually the way it worked, I’d celebrate; it would be a great resource for finding prior art and making the patent office more efficient. Unfortunately my experience is that the program creates more problems than it fixes. The patent office invited me to participate in the program. Two people posted “invalidating prior art” for my patent application entitled “Detecting Plagiarism in Computer Source Code.” This art was related to my invention, but definitely was not invalidating. Here is the first independent claim of my original patent application:

  1. A computer-implemented method comprising:
    • creating, by a computer system, a first array of lines of functional program code from a first program source code file, the first program source code file including the lines of functional program code of a first program and lines of nonfunctional comments of the first program;
    • creating, by the computer system, a second array of lines of nonfunctional comments from a second program source code file, the second program source code file including lines of functional program code of a second program and the lines of nonfunctional comments of the second program;
    • comparing, by the computer system, the lines of functional program code from the first array with the lines of nonfunctional comments from the second array to find similar lines;
    • calculating, by the computer system, a similarity number based on the similar lines; and presenting to a user an indication of copying of the first program source code file wherein said indication of copying is defined by the similarity number.

Here is the only dependent claim of the prior art patent US 7,568,109:

  1. A system for comparing at least a first corpus to a second corpus, comprising:
    • an analyzer identifying concepts in the corpuses, said analyzer determining a frequency rating of each of said concepts in each corpus;
    • for each corpus, replacing each instance of each of said concepts with its respective determined frequency rating to create a frequency file;
    • and a comparator comparing the frequency file for the first corpus to the frequency file for the second corpus, wherein said comparing the frequency file for the first corpus to the frequency file for the second corpus further comprises comparing portions of one corpus against the other corpus.

The second prior art submission was simply a reference to the UNIX diff command. While the diff command is relevant, it is a simple line-by line comparison of text files without any understanding or parsing of programming source code. It doesn’t separate functional lines of code (statements) from nonfunctional lines (comments).

Judging by their remarks, the posters to the Peer-to-Patent site didn’t understand patents, and didn’t read the patent claims. They should be allowed to post references, but the ultimate decision must be in the hands of those trained in examining patents. However, the patent examiner told me that her supervisor didn’t want to issue a patent that had been publicly noted to be invalid, and so after months of arguments I had to arbitrarily narrow the claims to get allowance, resulting in patent US 7,823,127. So now, anyone from anywhere with any ulterior motive (particularly those who believe no software should be patentable) can bring about the quick rejection of an otherwise useful and valid patent.