© Copyright 2000 Cutter
Information Corp. All rights reserved. This artical originally appeared in the December 2000 issue of Cutter IT Journal, and is reproduced here with permission.
USING ARCHITECTURE TO SAVE INTELLECTUAL PROPERTY
by Dwayne Phillips
Intellectual property is everywhere, valuable, and expensive. All organizations from high-tech to no-tech have intellectual property. It is the knowledge that allows everyone to perform. Therefore, it is the most valuable item an organization can keep. The source of intellectual property is people. Since people are expensive, so intellectual property.
In spite of its presence, value, and cost, intellectual property is not always held in high esteem. An organization can pay for it, save it, and use it many times over. Or, an organization can pay for it, waste it, lose it, and pay for it again and again and again.
One difference between between valuing and reusing intellectual property and wasting it is the architecture of systems. Designers can separate the intellectual property from the other system implementation details. If put into a generally usable format, intellectual property can be reused on future projects at low cost. This requires that everyone recognizes that intellectual property exists, understands how intellectual property has been wasted, and is willing to trade-off the value of saving intellectual property for reuse against meeting performance requirements.
INTELLECTUAL PROPERTY: BELIEVE IT OR NOT
Every organization today has intellectual property. This is most evident in high-tech organizations (they invented this concept, didn't they?). Everything they do is related to knowledge, and all good high-tech firms treasure their knowledge. No-tech groups also have and use intellectual property. My brother makes high-grade knives by hand in a workshop behind his home in rural Louisiana. It appears that his work is all physical using his hands and machinery. Intellectual property, however, is present in customer lists, supplier prices, and the knowledge and skill he puts into his knives. Without knowledge, no one can do anything of value. If there is no value, there is no business.
This may seem obvious to readers of an issue that deals with intellectual property, but most conversations with people about intellectual property usually lead to one conclusion, "that is interesting, but doesn't apply to us. Now I do know some people who could really benefit from this."
This oblivious attitude is prevalent. I have yet to find someone at my workplace who looks after our intellectual property. Since intellectual property doesn't exist, there is no problem with it.
Intellectual property always seems to be someone else's concern. Engineers think that the marketing people have intellectual property in their list of customers. That is valuable information because it brings sales. Marketing people think that the engineers have intellectual property in the algorithms they use. That is valuable information because it makes products work. Both groups think managers have the intellectual property stored in the corporate databases. That information enables them to make decisions on new projects, hiring, and strategic direction.
This general lack of acknowledgment of intellectual property is a major cause of wasting it. We waste it because we don't even realize that we have it.
One reason why we do not acknowledge and reuse intellectual property is that we don't know what it is. It is hard to see and is an oxymoron. Property is something real; we can hold in our hands. Intellect is thought; that is not real, and that is not something we can hold in our hands.
A description of intellectual property that people can relate to their jobs is that it is "information we can use." Broader descriptions of intellectual property are it is "information we know how to use" and "things we know how to do."
For example, consider an organization that builds communication systems such as cellular telephones. Part of such a system is modulating and demodulating speech. Knowing how to modulate and demodulate speech is intellectual property. Knowing how to put that knowledge into a hardware and software system is intellectual property. Knowing how to manage a project to do that is intellectual property. Knowing how to hire people who know how to perform these tasks is intellectual property. Knowing that making cell phones is profitable is intellectual property. The intellectual property goes on and on.
Given these definitions and examples of intellectual property, we begin to realize it is everywhere. The economic cost and value of intellectual property, however, doesn't hit home yet. What we need to understand is how we have paid for it many times before.
YOU DON'T KNOW WHAT YOU'VE GOT TILL IT'S GONE
Intellectual property becomes real when we consider how we have wasted it in the past. A typical scenario is:
1. Build a system. Acquire intellectual property at great expense.
2. Build another system. Acquire intellectual property all over again at great expense.
3. Repeat step 2. forever.
Consider building a cell phone. The first version might be a state machine implementation (discrete hardware components). The second version uses generation N of DSP chips and software written for them. The next version uses generation N+1 of DSP chips plus FPGA technology. The DSP software is different, and the knowledge loaded into the FPGA is new. The next version uses generation N+2 of DSP chips with still different software plus some other technology.
Each version of the system reuses little or nothing from its predecessor. The implementation technology of the prior version is obsolete. A new version demands new technology, and the intellectual property is put into a new form. This change of form reinvents the intellectual property at great expense.
This occurs too many times. The performance requirements of the system (execution time, size, power, etc.) mean a custom-built implementation. The intellectual property is hard wired into technology that has guaranteed obsolescence. Hard wired intellectual property is not reusable.
This is caused by impatience and a rush to market. There are few things in the world that increase in power faster than IT hardware. This rate of progress is not fast enough for some people. They "need" more power now, not in 12 months. The only answer is building something state of the art. State of the art this year is unusable next year.
Consider the knowledge, and how much it costs to change its format. The knowledge of how to process signals does not change. How it is expressed in each version does change. That is the cost of the entire project.
A GENERALLY USABLE FORMAT
It is understandable to create a new implementation with each new version of a product. Hardware technology advances as do the wishes of the consumer. Refusing to shrink a cell phone and increase its battery life dooms a product.
What is not understandable, though, is why we would recreate intellectual property with each new version. Intellectual property comes from and through people, the most expensive and valuable asset. In our example of the cell phone project, we start with some information at the beginning of the project and discover other information. We learn or create intellectual property as we move into the details.
Saving the intellectual property is the key issue. What do we do with the information input and gained in a project? What do we do with this intellectual property?
Intellectual property should be placed in a generally usable format. This is a format that can be used in many implementations. A fundamental operation in cell phones is the modulation and demodulation of voice. The basic information for this can be found in a textbook. We can read and understand that as the English language and mathematics express the information.
Our problems would be over if we could feed the textbook into a machine. Each new version of our product would be a smaller and faster version of this machine. Such a "textbook understanding" machine would solve the intellectual property problem. Unfortunately, we don't know how to build such a machine, so the textbook format is not generally usable.
The opposite extreme of the textbook is the hardware implementation of version one of the cell phone. The intellectual property was expressed as discrete hardware components. These components are no longer available, so the hardware design was not generally usable.
The next version of the cell phone used generation N DSP chips and software. Those DSP chips are no longer available, and we wrote the software in a language that no longer exists. That special language code was usable then but is no longer now -- it was not generally usable.
The current version of the product uses some code written for generation N+1 DSP chips and some code for FPGA. Looking to the future, the generation N+2 DSP chips can use some of the current DSP software. We will need to modify a large portion of that software. The FPGA instructions are useless with the next big thing in hardware. Our current intellectual property is not in a generally usable format.
Consider the alternative of expressing the modulation and demodulation algorithms in ANSI C source code. There are processors available that could use that source code. The processors are bigger and consume more power this year than required, but the next generation will meet the size and power requirements. The generation after that will be even better, and we won't need to rewrite our software. Given these conditions, the ANSI C source code is a generally usable format.
There are other examples of generally usable formats for intellectual property. For example, many organizations have bought into a word processor (e.g. Wordstar), put all their documents in that form, and watched that product be overcome in the marketplace (e.g. Microsoft Word). They were forced to convert all their documents to a new format. There are several ASCII document formats (TeX, DocBook, SGML) that are not tied to any one vendor. Those formats are generally usable, flexible, and have long lifetimes.
A harsher example is when organizations buy into a complete data processing system. Many agencies of the US Federal government used data processing systems made by Wang in the 1980s. These systems used operating systems, applications, and hardware specific to Wang. Data could not be transferred to other systems (MS-DOS, MS Windows, Macintosh, VMS, Unix, etc.) without using costly, custom-built systems as interfaces. All the intellectual property of these agencies (documents, databases, spreadsheets, e-mail, etc.) were tied to the Wang systems. These agencies were forced to recreate their intellectual property when they moved on to widely available systems in the 1990s. Their intellectual property was not in a generally usable format.
Had these agencies used an ASCII format for intellectual property, they could have avoided wasting millions of dollars on recreating intellectual property or building one-time-usage systems to translate intellectual property. Of course, ANSI C and ASCII are not the answers to the world's IP preservation problems. They are examples of how to put intellectual property into a generally usable format. These formats are usable on many different platforms and systems and have long lives. There are other such formats available for different types of intellectual property, and it is our challenge to find and apply them.
USING ARCHITECTURE TO SAVE INTELLECTUAL PROPERTY
The architecture of a system determines if the intellectual property can be reused or must be recreated. The key is the old principle of modular design. The designers must separate the unchanging part of the system (the intellectual property) from the changing part of the system (the current-generation hardware or software).
Going back to our cell phone example, recall that the requirements for the intellectual property (modulate and demodulate speech) do not change. The requirements for the performance change (this year's model is smaller, the batteries last longer, there's more memory for numbers, etc.). The designers need to keep the intellectual property in a generally usable format and implement the system around this.
Building a system requires trades between preserving the intellectual property and improving the performance. Plain vanilla software running on basic processors permits paying for intellectual property once. That architecture meets the intellectual property requirements. But the basic processor is too large and draws too much power. The architecture does not meet the performance requirements. This is the "pay me now or pay me later" situation.
The designers must work hard and trade back and forth between requirements analysis and design. The architecture above -- plain software on a plain processor -- can doom a product (who wants to carry the old brick-size cell phone?). The designers will alter the architecture to meet more of the performance requirements. Using DSP or other specialty processors is necessary. The question facing the designers will be which architecture and which processor will meet necessary performance requirements while keeping as much of the intellectual property reusable as possible? There are a variety of processors, compilers, development tools, etc. available. The designers are obliged to study these trade-offs and keep the intellectual property clean.
These trades are difficult, but designers and business managers can make them well if they consider the long-term and short-term costs. Marketing can estimate the profits of each design (pocket cell phones will generate $X, medium cell phones will generate $Y, large cell phones will generate $Z). Managers can estimate the design cost of each architecture. They can also estimate the cost of recreating the intellectual property in the next version for each architecture they choose for the current version. Senior managers need to contribute some calculations about time and market value.
The result of these informed trades is a compromise. As much of the intellectual property is kept in a generally usable format as possible. The implementation does not meet all the performance requirements, but meets the 80% that best serve the potential customers.
Intellectual property is ubiquitous, valuable, and expensive. It deserves our attention and energy. Several pointers include:
1. Take time to point out to people their intellectual property.
2. Consider the cycle of building systems (and wasting intellectual property).
3. Look for a generally usable format for intellectual property.
4. Use an architecture that separates intellectual property from performance requirements.
5. Make the economic and engineering tradeoffs necessary to minimize the cost of recreating intellectual property.
This is a big challenge, and has not been met well by many people. It is not, however, impossible. Like many other challenges, realizing it exists is half the job, convincing other people it exists is the other half, and dealing with it is ...
Dwayne Phillips has worked as a software and systems engineer with the US government since 1980. He has seen intellectual property bought and wasted many times over, and save and reused a couple of times. He has written The Software Project Manager's Handbook, Principles that Work at Work, IEEE Computer Society, 1998. He has a Ph.D. in electrical and computer engineering from Louisiana State University.
Dr. Phillips can be reached at 2315 Ballycairne Court, Reston, VA 20191-1633, USA. Tel: +1 703 476 1951; E-mail: d.phillips@"computer.org.
Cutter IT Journal is published 12 times a year by Cutter Information Corp., 37 Broadway, Suite 1, Arlington, MA 02474-5552. Tel. +1 781 641 5118 or + 1 800 964 5118. Fax: + 1 781 648 1950 or + 1 800 888 1816. E-mail: firstname.lastname@example.org. Please contact Megan Nields for more information or for a free trial subscription.
© Cutter Information Corp. All rights reserved. Unauthorized reproduction in any form, including photocopying, faxing, and image scanning, is against the law.
© CUTTER INFORMATION CORP.|