Software Intellectual Property Blog
A SoftwareCEO Blog
Bob Zeidman of Safe Corp discusses issues of software intellectual property, analysis, and forensic engineering.
||My new book is a great addition to any IP lawyer's library.� It takes you on a whirlwind tour of the fundamentals of electronics.� By the end, you'll be familiar with the basic concepts of various kinds of modern electronic technologies and devices.� Especially for IP attorneys without an engineering degree,�it will enable you to converse with your experts and consultants.��For those IP attorneys who have been away from technology�for a while, this will help you brush up. The topics covered�are:
- Linear Devices
- Electricity as Sound
- Nonlinear Devices
- Transmission Lines
- Digital Logic
- Semiconductor Technology
- Memory Devices
- Application Specific Integrated Circuits (ASICs)
- Programmable Devices (CPLDs and FPGAs)
- Computer Architecture
- Engineering Equipment
You can order your copy on Amazon here�or at other online and brick-and-mortar bookstores.
If you want to get up-to-date information on the world of intellectual?property, and you want it to be interesting, passionate (yes, some people are passionate about IP) and sometimes even controversial
(yes, IP can also provoke fiery controversy), then you definitely need to sign up for Gene Quinn's IP Watchdog blog.
IP Watchdog is considered one of the most influential IP blogs in cyberspace. In fact, the American Bar Association runs a poll each year to rank the best law blogs, and IP Watchdog usually comes out on top or near the top for IP blogs. But as they say on DWTS, you need to vote! There's no guarantee that your celebrity will win. So I'm asking you to vote for IP Watchdog in the ABA blawg 100 competition. Go here
to vote and look for IP Watchdog in the... where else?... IP category.
Software Analysis and Forensic Engineering has just released a new version? of CodeSuite that has some really great new features.
What's? a PID? It's a partial identifier. Or more specifically, a partially?matching identifier. That's where two identifiers in code almost match. So for example, the identifiers identifier1
and confident_boy share the partial identifier (or "PID") ident. CodeMatch has always been able to correlate PIDs and use that in calculating the identifier correlation score as a component of the
entire correlation score between two source code files. But there can be so many PIDs that users got blurry-eyed trying to view them all and find suspicious ones in a CodeMatch HTML report.
So we came up with a solution. You can now export the PIDs from a CodeSuite database into a spreadsheet. You can see not only the PIDs, but the original identifiers that share the PIDs. Now you can sort and
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?.
- RPG, a tool for automatically generating expert reports for copyright, trade secret, and patent litigation.
A successful candidate will need the following attributes:
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.
S.A.F.E. recently released the HTML Preprocessor. The HTML Preprocessor is designed to transform web pages into files that are amenable to analysis by CodeSuite, DocMate, and other source code analysis tools. The HTML Preprocessor examines HTML files and other markup language files and extracts all embedded code into separate files. These files each contain only one kind of code that can be easily analyzed and compared using CodeSuite and DocMate. The code contained in these generated files are:
- Cascading style sheets (CSS)
- Comment text containing HTML comments
- Message text containing HTML user messages
- HTML tags
- Pure HTML
- Pseudocode representation of the HTML
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.
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.
On April 12 an op-ed was published in the Wall Street Journal entitled PatentTrolls vs. Progress by Andy Kessler, a former hedge-fundmanager. 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
S.A.F.E. recently released version 4.4 of CodeSuite and version 1.1 of CodeSuite-LT. The most important new feature of this version is that these programs now recognizes many different text encoding formats including ASCII, UTF-8, UTF-16, and UTF-32. Characters in alphabets other than the Latin alphabet used for English are now supported. For example, code with comments or strings in Japanese, Korean, Chinese, or Russian can be compared correctly.
The most significant change is to BitMatch. When examining binary object code to find text strings, you can now specify the encoding format of the file. If you're not sure about the encoding, you can choose multiple formats.
As demand for our products increase outside the United States, we realized a need to support languages in those countries also.
A patent can de divided into the following sections:
- Abstract. This is a one-paragraph description of the invention that's being patented.
- Drawings. These are carefully labeled figures that are used to illustrate important concepts of the invention and that are described in the detailed description. It is important that at least one diagram shows a block diagram of the invention if the patent includes apparatus claims. For a physical device, a diagram should show the physical parts and their relationships. For software, the diagram should show the architecture of the software. For a patent that includes method claims, at least one diagram should have a flow chart that illustrates the method.
- Background of the invention. This section describes the field of the invention, other inventions, or publications that predate this invention ("prior art"), and other inventions related to this invention. This section typically explains the inventions usefulness-what's so great about the invention and why people will want it.