Without Scalability, All DBs Die

August 6th, 2014


Loyalty Group exec: Database needs room to grow, should allow choice of tools from different vendors

In thousands of large grey and black boxes around the world sits information about who we are, the money we earn and spend, the places we’ve travelled to, and the places where we live. Some of these boxes even house information on the most basic elements of humankind itself – our genetic material.

Databases are the underpinning of much of the IT we use today, and as many industry experts will attest, there is no end to the amount of information these databases will be able to store – or how businesses will use that information.

Gary Saarenvirta knows all about databases and the power they hold. As principal for Toronto-based Loyalty Consulting, a business unit of Loyalty Group Inc., the company responsible for managing Canada’s Air Miles program, he uses database systems and data mining tools to analyze his clients’ information.

“We do data mining consulting and data warehousing consulting so a lot of our customers send us their data and say, ‘Here is all the information about our credit card customers; analyze it for us.'”

He acknowledges that while Loyalty Consulting does not have a lot of technical users – he puts the number at five – they deal with hundreds of gigabytes of data every day.

“Imagine one of our banking clients,” Saarenvirta says. “They might have six million customers and a year’s worth of transactions for those six million, and want some very complicated analysis of that data. We might run all kinds of complex analysis plus data mining tools to build predictive models and segmentations.”

A year later, that same client may approach Loyalty Consulting with seven million customers and much larger transaction volumes. “I want to be able to deal with that just by adding some components to my system and not having to re-invent the wheel,” he says.

The ability to do that lies in the scalability of the database system, what Saarenvirta pegs as the number one consideration when looking at vendors’ database offerings. When he implemented the original data warehouse for Loyalty Group’s Air Miles program, he discovered that once a successful database is established, it tends to “feed on itself.”

The desire for scalability, as well as a database that featured open system functionality – allowing Saarenvirta’s team to pick and choose the tools they wanted to use without relying on one vendor – led him to choose IBM Corp.’s DB2 Universal Database on its 6000 SP platform. “I think the scalability is second to none,” he says. “The 6000 SP platform scales basically to infinity.”

That sort of customer enthusiasm has led IBM to jump ahead of Oracle Corp. in the race for market share. According to Dataquest Inc. of San Jose, Calif., the worldwide database market had a solid year in 1998 with US$7.1 billion in revenue – a 15 per cent increase over 1997. Dataquest predicts the database industry will reach $10 billion by 2003. With 32.3 per cent of market share in 1998, IBM grabbed the top spot away from Oracle, which slid to second with 29.3 per cent of market share.

Sitting a distant third was Microsoft Corp., with just over 10 per cent market share. Informix and Sybase barely register with 4.4 per cent and 3.5 per cent respectively.

“It’s just the nature of the business that the smaller guys just can’t compete on the same level as IBM and Oracle,” says John Shoesmith, research manager of Canadian software at Toronto-based International Data Corp. (Canada) Inc.

Shoesmith adds smaller vendors may find their niche in embedded databases, which are loaded on to small devices such as cellular phones.

One change that may affect how Microsoft fares in the database battle is the move to mid-market, says Shoesmith. While Unix is still by far and away the largest platform for databases, NT is the fastest growing, and Microsoft will be crossing its fingers that the move to mid-market will fuel that growth even more.

“Microsoft is the company that has been growing the most in terms of database revenues,” Shoesmith says. “In Canada their growth is in the 80 per cent range – keep in mind they’re coming from a smaller revenue base to start.”

The move to luring mid-market businesses is only one factor in database systems’ continuing growth. As it has affected just about every other area of technology, the Internet – and specifically electronic commerce – is also driving vendors’ revenues.

“Companies are changing their business by linking customers to one end and suppliers at the other to their workflow using Internet technology,” says Herschel Harris, the director of database technology for Markham, Ont.-based IBM Canada Ltd.

Danica Pravica, marketing manager of server technologies for Mississauga, Ont.-based Oracle Corp. Canada Inc., echoes Harris. “With the introduction of the Internet you are dealing with limitless amounts of information,” she says. “You want to make sure your system, and your company, isn’t going to be left in the dust while others are able to adapt.”

The ‘Net is leading all database vendors to push Internet-enabled products, says Shoesmith. Database vendors are recognizing that e- commerce and the Internet is what they will have to tie themselves too in both the short and long term. “They’re realizing that the client- server world is drying up a little bit, and the Internet is a huge opportunity,” he says.

But the quest for information takes databases beyond just being technological tools. Business intelligence, a phrase bandied about by industry experts and vendors alike, is finally allowing companies to take the information housed in databases and put it to use that will improve a company’s bottom-line performance.

“Business intelligence is something that a CEO can get his head around,” says Shoesmith. “That’s why the vendors are couching data warehousing and decision support under the term business intelligence.” There is so much need for an organization to consolidate its data that it’s driving database sales, he adds.

With companies having 20 to 30 years of transaction-based data – everything from sales to inventory to manufacturing – businesses want to get better value from their data.

“There is very little leverage in building a better cash register management system,” says Harris. “There is no leverage like the leverage that comes from developing products that are going to be successful – identifying the customers who are most likely to buy them.”


My Business Just Started And These Taxes Are Outrageous!

March 3rd, 2014

mbjstThere are many reasons why your taxes could have skyrocketed but if you think there is nothing you can do to get these paid, tax relief companies are here to help! Tax relief companies do not only offer lending money for tax payments but they also help you decrease your taxes. How do they do that?

Just like every problem in the world, aside from solutions, there are also loopholes. Tax relief companies know what these loopholes are but they only disclose these solutions to sure customers. These loopholes are guaranteed to be legal and there are not against the law. Tax reliefs are big help to people who are struggling to pay their taxes especially when they have more expenses than income.

With the economy’s status right now, tax relief should be everywhere. People sometimes try to get away with paying their taxes since the government asks for too much tax with very small wage from the open jobs nowadays. Aside from tax issues, it is impossible that a country has no problem with employment. Everything is connected in the government, if there is poor number of employment, it reflects to the country’s economy. If there are many open jobs, the taxes are high. Well, they actually are high even with low number of open jobs.

How Do I Know My Tax Relief Company Is Doing The Services For Me?

If you have a tax relief company that is not that famous and after some months of getting your tax relief services from them, how will you make sure that they really are doing what you pay them to do? It will be really hard to tell especially if they don’t send you any receipts as proofs that they are doing all the tax relief services for you. Here is an article about investigating if you really are getting what you are paying for.

Before you read on, prepare a written letter for suing your tax relief company just in case you prove that they are not doing what you are paying them for and then send the letter to the investigation bureau so they can quietly investigate. A way to tell if you are getting the tax relief services you are paying for is by asking them for a receipt for “filing purposes” and if they can’t show you any, this will raise suspicion. If you still want to go forward and investigate before suing them, try asking them for how much you paid for on a random date and pretend there might be a miscalculation. If still nothing is presented to you, it’s time to do what is in the second paragraph.

Seeking Professional Help To Repair Hard Drive Crash

January 10th, 2014

sphtrhdcWhen you need to repair hard drive crash, you have to seek a professional help rather than attempting to fix it all by yourself. Hard drive crash is a very meticulous process and it can ruin the entire system if it is not properly done. To ensure that you repair hard drive crash properly, it is important to have someone who has a lot of expertise in this field. Make sure that you go to a computer repair shop or seek help from a friend who is familiar with the process and who can deliver the right repair solutions. You can also seek online to find out the companies offering such repairing. You just have to be careful in everything that you do in the internet because there are a lot of scams and other frauds.

Know the background of the person you will hire for the repairing of crashed hard drive. As much as possible, ask if there is a warranty, in case there are damages after the repairing process. Some technicians do not offer this and just fade away after delivering the services. Hence, it is important to research well on the right people who can repair hard drive crash.

Avoiding Vibrating Can Save A Hard Drive

It is not unusual that, while working on a computer, it turns off without reason. If the problem is not in electricity, people usually try to fix the problem by turning the PC on again. But if that did not help, maybe the problem is in hard drive. If the computer made an odd “clicking” sound before it turned off, then the problems is probably in hard drive so we will face the fact that we will need to fix broken hard drive. But it is good to know that there are some actions we can perform in order to prevent that damage.

Physical damage of a hard drive can be prevented if we avoid its vibrating because vibrations can affect hard drive heads and they can fall off or crash, and we definitely do not want that happen. Hard drive heads are delicate so vibrations can do them harm. But where are these vibrations coming from? If the PC is settled on the floor, the vibrations can be a result of children’s running on the floor. If there are strong speakers on the ground near your computer, they can also produce vibrations. A computer should be kept safe otherwise; you will soon be searching how to fix broken hard drive.

Effective And Guaranteed Remedies For Snoring

October 12th, 2013

If you are looking for snoring remedies then you came to the right place because I am going to tell you about some guaranteed remedies for snoring. Diagnosing the real cause of snoring is very vital because without knowing the reason, you will not be able to address the real problem. If your snoring is caused by your weight then you should exercise and take healthy meal. This will improve your overall health as well and exercise will improve your breathing power. Some people take anti-snoring pills as well because when snoring reaches its extreme level then it becomes almost unbearable. You can take these kinds of pills but only for a temporary solution. Do not rely on these pills heavily because most of such pills will come with side effects. You can also limit snoring by changing your position while you sleep. Most of the people sleep on sideways but that is not a healthy position to sleep. Your neck and shoulders must be balanced. You should also make a proper schedule of sleeping because people do not sleep properly and due to lack of sleep they snore. Keep these things in mind and you will be able to control snoring. Also, see this site for more tips.

Slapping A “Benchmark” On Content

August 18th, 2013


The quality-versus-quantity debate is hardly new. Is it more important to have a huge database or a smaller, specialized database? Which is the better benchmark? Certainly the magnitude of the Web is greater than any of the individual subject databases found on traditional online hosts. Yet even the most comprehensive Web search engine does not come close to searching the entire Web. The complaint of users remains that they get too many matches on their search terms. What is the ordinary person–or the information professional, for that matter–to make from tens of thousands of results to a query, even a well-crafted query?

A supposition exists that the larger the database, the more likely you are to find the information you need. If you can’t search everything, you might miss something. The problem, of course, is that you need to be skillful to locate anything of value within the masses of available information. Further, the structure of a database or Web site can make retrieval problematic, even for the trained professional. Don’t search for authors in PROMT, specific articles at the Penton Media site, or financial ratios in Hoppenstedt.


The notion of relevancy is closely related to the quality/quantity discussion. It’s not how many hits; it’s how accurately they answer the question. Benchmarking relevancy is qualitative, not quantitative, making it considerably more difficult, since relevancy is related to the reason for the information quest.

If the topic is a scientific one, relevancy could differ considerably depending upon whether you’re a consumer wishing to understand a scientific principle, a scientist working to extend knowledge, a regulatory official contemplating legal issues, an undergraduate writing a term paper, an inventor hoping to patent and license a new product, or the CEO of a manufacturing company. Quantity can become a measure of quality. The consumer wants just enough to understand the principle, while the inventor and scientist want as much information as possible.


There are some pieces of information that have a common source. Gale’s Health and Wellness database, source of the stuffy nose pamphlet, is but one case in point. Commercial databases frequently spread themselves among a number of distributors, sometimes branded as being that database, sometimes not. The latter can be a barrier to the professional researcher, who knows that editorial policies differ among database producers. For Northern Light, Factiva, and LEXIS-NEXIS to state that they include a specific journal is no guarantee that the same articles will appear. If they reveal the source of the journal (Gale, Bell & Howell, directly from the publisher), the information professional understands how much of the journal is likely to appear online.

The circularity of information is not limited to commercial information. When I wanted a site with lyrics to Jimmy Buffett songs, I found that, regardless of the search engine, I ended up at the Parrothead Page, which has more lyrics and is better arranged than any other Buffett site.


How does this relate to the Schwarzwalder “Manifesto”? It seems to me that emphasizing the organizational abilities of librarians–their ability to sort through massive amounts of information, both when adding it to an information resource (a.k.a. database) and when retrieving mounds of documents–is key. Schwarzwalder’s point about gut-level understanding of how people look for information extends to a gut-level understanding of why people want the information, and a gut-level assessment regarding quality, quantity, and circularity. The issue of analyzing retrieved information is critical and should be the ultimate benchmark. To paraphrase Socrates, the search which is not analyzed is not worth distributing.

Hey. Why Don’t You Take A PIC Already?

July 14th, 2013

ppcWhen we’re talking PIC replicators, you have to remember that Pins 6 and 7 of IC3 receive clocked data from J2, which is connected to a PC’s printer port. Keep in mind that when we use the printer port to transfer information between the PC and the PIC Replicator, we’re sticking with the traditional output-only and input-only lines of the port. The bi-directional features of the parallel port are not used in the PIC Replicator as some of the parallel port lines are dedicated to output functions only. Using the bi-directional capability in that instance could cause port-pin conflicts that could result in unpredictable logic levels and damage to IC3 or the parallel-port circuitry. The big picture here is to use the available hardware resources in their simplest manner without adding additional gates and buffers that would drive up the cost and complexity of the circuit. To sum up the whole idea in a word or two, we’re using the basic hardware as is and making the software and firmware do the work.

This approach guarantees that the PIC Replicator is compatible with every type of printer port in existence. While IBM did have fully bi-directional circuitry in their original PC, that feature was not officially documented. That omission put the clone makers in the delicate position of whether to follow the specification or the implemented hardware.

Since the incoming data from the PC is only connected to IC3 and not to the programming sockets. SO1 and SO2, you would think that the incoming clock and data information from the parallel port would be buffered and translated by IC3’s internal software before being passed to the target PIC being programmed. That is true to some extent. In reality, the PIC Replicator does not buffer every bit of data that it sees–it only captures data from those pins when commands are being issued to it. Otherwise, the actual values of pins 6 and 7 are read and immediately transferred to pins 17 and 18, which connect to SO1 and SO2. Thus, the data information from the PC program is never captured and is “passed through” to the target as if the parallel-port pins were directly connected to the target sockets. The PIC 16F84 with a 10-MHz clock is quick enough to read and transfer the data and clock information to the target PIC without missing any incoming data and clock signals from the PC’s parallel port.

When reading information back from a programmed PIC, note that pin 17 of IC3 might cause problems due to conflicting signal levels. The PIC Replicator knows to put that pin in a high-impedance state, called a “tri-state,” so that as far as the programmed PIC in SO1 or SO2 and the printer port are concerned, IC3 doesn’t exist. The way that the hardware is arranged here, we could use that pin on IC3 to read the incoming data from the target PIC and hold it for later transmission. However, there is no need to do that. Since the PC’s host software is reading the data directly from the target PIC, a simple modification of IC3’s internal software is all that’s necessary.

Powering the PIC Replicator. Overall power for the PIC Replicator is supplied by a. 15-volt DC wall-mounted transformer through J1. Capacitor C1 provides some additional filtering. Power is applied to the inputs of IC1 and IC2, a pair of LM317-series adjustable voltage regulators. Precision resistors R4 and R5, along with capacitors C2 and C3, set the output from IC1 to the 13.2 volts needed for programming the microcontrollers.

During normal programming operations, pins 8 and 9 of IC3 control the power sequencing to the target sockets. Logic levels from those pins switch Q3 and Q4, respectively. That control is needed because the power and programming voltages to the PICs being programmed must be switched in a certain order; detailed information on the requirements for a particular microcontroller can be found in its data sheet.

Transistor Q3, along with R6, shifts the logic level from IC3 to allow 0 or 13.2 volts to pass through IC4, a CD4053 CMOS multiplexer. Note that the inputs and outputs of IC4 are connected in parallel to pass the required maximum programming current of 50 milliamps. The CD4053 is a good choice here in that the 0- and 13-volt circuits are completely isolated and there is little if any voltage drop between the chip’s input and output pins. Capacitor C4 provides filtering and stability for the 13.2 volts going to the target sockets.

Transistor Q4, along with Q5 and R9, switches the 5.9-volt supply generated by IC2, R7, R8, C5, and C6 to the target sockets. If you’re wondering why such an “oddball” voltage of 5.9 volts DC is used, remember that the PN2222 transistor used for Q5 is not a perfect electronic device; the transistor’s junction resistance will cause a slight voltage drop between the collector and emitter. The goal is to have the transistor switch pair provide a nominal 5.5 volts DC to the target sockets.

In the “replicate” mode, all of the programming voltage switching activity is aimed toward IC3, which could be an unprogrammed microcontroller or one that is about to be electrically erased and reprogrammed. We’ve already talked a bit about the role of the various jumper blocks; let’s look at them in a bit more detail from a voltage-steering point of view.

Under normal conditions, JP4 has a pair of jumper blocks on it that connects R1 to the base of Q4 and grounds the base of Q1. We’ve already seen how the signal from pin 9 of IC3 passes through JP2, R1, and JP4 to Q4. With Q1’s base grounded. it remains cut off, letting the voltage passing through R3 turn on Q2; the result is power for IC3.

During replication, the 5.5-volt DC source and the 13.2-volt programming voltage to IC3 must be controlled. To allow control of the 5.5-volt source, simply remove the two jumper blocks on JP4 and place one across the middle two pins. Note how the logic level from R1 is now applied to the base of Q1. The combination of Q1 and Q2 can now be used to turn the 5.5-volt power to IC3 on and off.

Now that Q1 has control of IC3’s power, the next step is to ensure that IC3 itself doesn’t try to turn its own power on and off! That is the reason for JP1 and JP2. Switching those jumpers so that the printer port has direct control of R1 and R2 instead of pins 8 and 9 of IC3 ensures that 103 won’t try to accidentally perform “brain surgery” on itself during programming.

The only control left to adjust is to allow 13.2 volts to flow to IC3’s reset pin, pin 4. That is done by moving JP3 to the appropriate pins. Normally, JP3 shorts the reset IC3’s pin to its power-supply pin. With the jumpers arranged as described, a new IC3 can be created or a current one modified. Moving the jumpers back to their “normal” position. makes the PlC Replicator ready to program other microcontrollers in the “socket farm.”

The PIC Replicator “Socket Farm.” There is no need to go into explicit details on how to program a PIC chip; that information is well documented by Microchip and is available for anyone to download through Microchip’s Web site (www.microchip.com). Of course, if you want to know what the PlC Replicator’s code is doing and why it is doing it, read the Microchip programming specifications. The PIC Replicator’s software and firmware was designed using the “development programmer” rules.

You’re probably wondering what the PlC Replicator’s target sockets has to do with that. It’s quite simple: documentation on what signals connect to what pins on the sockets is available in Fig. 1 (how) and Microchip’s rules of programming PICs (why). If you consult the Microchip programming specifications and follow the PIC Replicatior’s source code, you’ll find all of the PIC Replicator signals in their right places being driven by the correct voltages and waveforms.

Note that SOl and S02 each serve two types of PIC devices. They are grouped by pin count: 18and 28-pin devices go with SO1 while 40- and 8-pin devices use SO2. It would be safe to say that, for example, any 18-pin serially-programmed device could go into SO1 at the designated pins and that any 8-pin device could do the same in SO2. To make that a safe bet, you can only select compatible devices from the PC host program. That goes for all of the socket-farm locations. If you need to program parts that are not in the host program’s list, consult the appropriate Microchip datasheets for locations of programming voltages and data/clock pins before you attempt to read or program a nonsupported device. Should Microchip modify their programming requirements with future products, you can use the code for IC3 as a basis to do custom coding to handle any new or custom serially-programmable PIC parts.

PIC Replicator Firmware. The actual code length for IC3’s program is exactly 200 instructions. The source code, as well as the various compiled object code formats, is bundled with the host software. That bundle can be downloaded from the Poptronics FTP site; it can be found at ftp.gernsbdck.compub/pup/pic_replicator.zip.

The program begins by powering off any target-socket programming voltages that might be present and waits for pin 9 (signifying “power on”) from the parallel port to go high. When that happens, the firmware enters an “internal command” mode. Internal commands substitute for using hardwired control bits like the power-on bit we just used. In fact, that power bit could have been implemented as a firmware command as well, but the port pin was available.

The use of internal commands lets us “talk” to the PIC Replicator firmware before it enters the program/read phase of operation. Thus, we can add commands and control the PIC Replicator at will in that no hardware needs to be added or changed when an internal command is added or deleted. Currently, there are only three internal commands.

Those commands are six bits long and inform the PIC Replicator as to what type of power sequencing to perform. A normal power-up command tells the firmware that when the power bit is high to raise the power voltage to 5.5 volts DC and two milliseconds later to raise the programming voltage to 13.2 volts. That puts most of the parts into what is termed a “test” or “program mode. The reverse-power-up command is used for the 12C6XX baby PIC parts only. Those parts require that the programming voltage be raised before the power voltage with the same timing and prerequisites as the normal power-up. The final internal command tells the firmware that a “flash” or EEPROM (Electrically Erasable Programmable Read-Only Memory) device is mounted in the target socket. The “flash” command tells the firmware to allow 10 milliseconds for the program cycle. Otherwise, the program cycle lasts 100 microseconds. The power-up sequence for the flash command is defined as normal.

After the internal command phase is complete, the firmware enters the “command cycle” phase. This phase constantly monitors the data and clock inputs from the parallel port in search of a six-bit programming command. There are eight commands that can be issued:

* Load Configuration

* Load Data

* Read Data

* Increment Address

* Begin Programming

* End Programming (not used for PIC16X8XX devices)

picrThere are actually two more commands: Bulk-Erase Program Memory and Bulk-Erase Data Memory. They are not implemented because the PIC Replicator programs all of the memory area of the PIC16X8XX devices on every program pass. If you need to bulk erase the flash and EEPROM parts, program the parts with a file that contains all ones.

The PC Host Software. Written in Visual Basic, the PIC Replicator host program sends commands to and receives data from the target PIC device being programmed through the PIC Replicator hardware. The hardware is invisible as far as the host program is concerned; the host program thinks that it is speaking directly to the target PIC device. To accomplish that, signal timings that cannot be performed by the host program are handled by the PIC Replicator hardware. That technique combined with special software technology in the host software lets the entire PIC Replicator system run on any Windows-based system at any processor speed.

Although we’re using a parallel port on a PC, the PIC Replicator software and hardware communicate with each other in a serial fashion. Using a serial port would have added to the complexity of the project–something that we’re trying to avoid. Since the PIC Replicator hardware doesn’t have any RS-232 conversion ICs or special serial-to-parallel chips (that’s done in the PIC Replicator firmware), a “bit-bang” technique is used for communication.

Target PICs were abused unmercifully during the development of the software so that the final product would be smart enough not to let you do so. While we can’t guarantee that you won’t hurt a PIC at some point either by design or accident, rest assured that the PIC Replicator software will attempt to insure that you don’t.

When you start the PIC Replicator host software on your PC, the first task that it does is to look for the PIC Replicator hardware. Note that in the schematic diagram in Fig. 1, pins 11 and 17 of J2 are tied together. It is that short that the host software looks for on every properly installed printer port on the PC. When the PIC hardware is identified, the software will look like the screen shot shown in Fig. 2. As you can see, it is quite simple. All you have to do is select the PIC type and click on a command button. All of the PIC-programmable settings, such as the watchdog timer (WDT), oscillator type (OSC), and so on, should be built into the compiled code that you will be programming into the target PIC; such an arrangement is easy to do when you write your source code under Microchip’s program-development software, MPLAB. Those settings are loaded into the \PIC Replicator buffers from the file that MPLAB generates during code compilation. While you don’t have to use Microchip’s software to create your PIC program, using MPLAB eliminates having to manually enter configu ration settings into the PIC Replicator host software.

MPLAB has many convenient features such as simulation and error checking; it’s a free download that you con get from Microchip’s Web site (www.microchip.com).

Let’s get back to the host software. One of its useful features is performing a “blank check” on a part that the user knows is not blank. Doing this will yield the contents of every non-blank location including the configuration word and the customer i.d. locations. Got a “configuration unknown” PIC? Use the PIC Replicator to read and blank-check It to get the “full Monty” of everything that is stored in it. You can even use the PIC Replicator to “replicate” other non-code-protected PIC parts.

Speaking of replication, the very first action that the PIC Replicator will do is to create its initial programmed IC3. Of course, before you can do that, you have to build the PIC Replicator first.

Assembling the PIC Replicator.

This is it–it’s time to put the parts together that talk to the software and firmware and bring your PIC Replicator to life. While you can use perfboard and standard construction techniques, a printed-circuit board yields a neater unit with less chance for miswiring errors.

Foil patterns for a PC board are shown in Figs. 3 and 4. If you don’t want to attempt to etch a double-sided board, one can be purchased from the source given in the Parts List.

For those assembly methods, follow the parts-placement diagram shown in Fig. 5 for component location. As we build the board we will be testing it; that will help catch mistakes such as wrong parts and components installed backwards before something expensive gets destroyed.

Begin by building up the power-supply regulator circuits. Install J1 and C1, plug in the wall transformer, and test for 15 volts across C1, With the power disconnected and C1 discharged, install the regulator circuits: IC1, IC2, and their associated resistors and capacitors. With power reapplied, you should get 5.9 volts DC from the output of IC2 and + 13.2 volts from the output of IC1. Remove power before installing any other parts.

If all is well, install all of the jumpers and assemble the remaining transistor switch pairs and their associated resistors. When it’s powered, you should be able to toggle the output voltages of each transistor pair. Apply 5 volts to the base of Q1 through R1. Place a jumper between pins 2 and 3 of JP4 and apply the voltage to the center pin of JP2. The emitter of Q2 (on JP3) should switch to about 5.5 volts. Grounding R1 (jumpering pins 1 and 2 of JP4) should remove that voltage. The same test is done with Q4; a jumper on pins 3 and 4 of JP4 lets you use R1 again. The emitter of Q5 should switch to 5.5 volts in a similar way as before.

Install IC4. Doing the same switching test as before with the base of Q3 (use JP1 and R2 instead) should toggle 13.2 volts at pins 14 and 15 of IC4.

Use a socket to mount RES1–it must be removed when you are programming IC3.

Once you’re sure that all of the voltages are within tolerances and that they can be controlled from both the pins of IC3 and the parallel-port connector pins, mount the remaining sockets and connectors. It is easier to troubleshoot the parallel-port connections and the socket farm before you mount the connector and sockets.

Now we’re ready to “burn” the PIC Replicator firmware into IC3. Set JP1 and JP2 to “PC,” short pins 2 and 3 of JP4, and set JP3 to “PROG.” Remove RES1 and insert a blank PIC16F84 into the socket for IC3. Connect the PIC Replicator to the PC’s parallel port with a 25-pin cable; the wires must go “straight through” to all 25 pins.

Start the host program and choose “ENGINE” for the PIC type. On-screen instructions will appear to walk you through the process. It’s important that the ENGINE.COD file that was bundled with the software be available; that file contains the actual instructions for IC3.

Once IC3 is programmed, remove power. Set JP1 and JP2 to “PIC,” JP3 to “RUN,” and two jumpers on pins 1-2 and 3-4 of JP4. Insert RES1 into its socket, and the PIC Replicator is ready to start replicating PICs.

A Quick Review. Let’s recap what you now know about the PIC Replicator. Basically, the unit has two modes of operation: “normal” mode in which IC3 is in control of programming and read operations and “replicate” mode that puts a blank PIC16F84 into the socket for IC3 for replication (programming) through the PC’s host software and parallel port.

The PIC Replicator is a simple electronic device that depends heavily upon the PC host program and its internal firmware. If you lean towards having the hardware in control, that might be a scary concept for you. The bottom line is that the PIC Replicator hardware is standard stuff and constant. The software and firmware are the variables that make the PIC Replicator useful.

I purposely didn’t mention this before, but IC3 can be a PIC16C83, a PIC16C84, a PIC16F84A, a PIC16C61, a PIC16C71, a PIC16C710. a PIC16C711, a PIC16C620, a PIC16C621, or a PIC16C622. Once the initial PIC16F84 is replicated, you can port the source code to any of the above processors with MPLAB, program them with your PIC16F84 version of the PIC Replicator, and plug the newly-programmed PIC into IC3 as the new PIC Replicator engine. In fact, I designed and tested the original PIC Replicator using a PIC16C61 because I didn’t have the tools handy for emulating a PIC16F84.

There are gains and losses for substituting processors, but the point is that the PIC Replicator is not a dead-end device. The PIC Replicator was designed to be a low-cost and powerful general-purpose PIC tool with the capability of being upgraded or modified without the need for special hardware or significant hardware changes.

If you have other jobs for the PIC Replicator, all of the programming power you need is located in the socket farm. There’s no reason why you could not design a daughter board to plug into SO1 or SO2 that would hold components to interface to other programmable devices. With the PIC Replicator source code and hardware specifications at your disposal, as far as your special PIC Replicator applications are concerned, the sky is the limit.

If you’re a beginner to PICs, you have just built a very useful PIC tool that will help you understand all of the nuances of the PIC family as well as provide a means to put your newly-acquired talent to work. If you’ve been around PICs, the design techniques found in the host software and IC3 firmware might just provide the impetus, and possibly an answer, for that next PIC design.

The specifics of writing PIC programs is beyond the scope of this article. There are not enough pages in this magazine to cover the topic adequately–entire books have been written on the subject, If you need help, there are many sources at your disposal: Internet forums and newsgroups, magazine articles, books, public and university libraries[ldots]the list is endless.

If you have any questions concerning the PIC Replicator, the author can be reached through his Web site (www.edtp.com). The PIC Replicator PC program has been designed to help you along the way. Don’t be surprised if you soon find yourself in the midst of designing that next big “killer PIC project” that just might appear someday in the pages of this magazine

What are you waiting for? A whole new world of microprosessor-based electronics awaits your next discovery!

Does The Perfect Database Exist?

June 21st, 2013

I had a dream about a database beyond anything I, or anyone had ever seen. It was crazy. And when I got my hands on it, it all went like this:

dataIt was time to try the interface. I assumed the role of a student, and selected the basic search mode. The default box was keyword with an option to click on title, author, or source. The default operator was adjacency, and when I typed in my topic as a phrase, that’s exactly what I retrieved. As I read over the brief citations that were listed by relevancy in LIFO (Last In First Out) order, I was impressed. However, had I wished, I could have clicked into the new search button to bring me back to the search page. As I read through the twenty citations, I selected five. I had the option of clicking directly into the text or marking and saving. Printing, emailing, or downloading were all display options.

As I browsed through the brief citations, I noticed that there were cues for next page and previous page at the bottom and top of each screen. After clicking into the full text, I noticed that the article always began with an abstract and that there were signposts for the next article and previous article. These were placed at both the top and the bottom of the screen along with the option to return to the brief list of the search results. It was easy to judge the relevancy because my search terms were highlighted in bold, red print. As I came to the end of the first article, I was again pleasantly surprised. Was I just dreaming or did I die and go to heaven? At the end of each article, the formats were displayed. in APA, MLA, and the other leading methods for citing sources.


I noticed that some of the articles had multimedia capabilities. Depending on the subject, I could watch a film clip and listen to a director explain why she had decided on a particular camera angle or hear a short story author discuss the recent criticism about his work. Some photographs and graphics were in color that could be magnificently reproduced with a color printer. My professor had approved the use of Internet sites in our papers with the stipulation that articles and books be included as well. As I scanned the articles, I noticed some hotlinks to Web sites. I clicked in and discovered an authoritative Web page on my topic that led me to another useful Web site as well. I could have clicked into the online thesaurus or any of the hotlinked subject headings, authors, or journals, but I had secured the necessary information for my paper.

What about the books? As I left the database, there was an option to click into the Library’s Online Catalog. I did so, and returned to my home with a mixture of print and electronic sources. I was a “happy camper.” Thanks to the time I saved with this electronic interface, I could spend more time reading and analyzing information, plus I could also focus on a carefully organized and well-written paper–and perhaps secure the ultimate A grade. And if I forgot anything, offsite access was available from my dorm, my home, or anywhere else on the planet that provides Internet access. Don’t forget John Glenn emailed his wife from space!


I next took on the identity of a faculty member. Suddenly, I found myself seated at a computer in a small, cluttered office. As is the complaint of many faculty members, I was too busy to go to the library. Offsite access, then, was essential to me, and this was not a problem. I knew I had to get “into gear” with my research if I wanted a promotion next year. I thought about my strategy and selected the advanced search mode. Here I could combine multiple terms, specify dates, select publication types, and choose to include peer-reviewed articles and those with multimedia capabilities, Internet links, or reviews of the literature. I could choose to exclude book reviews, monthly columns, particular authors, journals, and anything else that would help to refine my search.

If I became unsure of myself, I could click on my search history to make sure I had covered all bases. Before I knew it, I had secured the necessary citations that would help me update my article and make me a formidable competitor for promotion. I reached yet another level of elation when I realized I could store my search strategy and results, and request a monthly update via email! The student wasn’t the only one to appreciate the proper formats for citing the information. With the changes in traditional sources and the arrival of new electronic sources, the ease of properly citing sources had become a challenge. Fortunately, this database producer had taken the initiative to discreetly number each paragraph in the article so that I didn’t have to take time to do so myself. I could simply cite the number of the location without having to go back and count paragraphs.

Although at first skeptical of the Web, I was pleased to find links to my research topic generated by scholars at prestigious universities. It was reassuring to uncover my mentor for my dissertation, and I never would have imagined I could access multimedia capabilities not only from the Web, but also from within the articles themselves. I discussed the results with my colleague and we reminisced about the three-by-five cards that we used then to record the bibliographic citations and take notes from the article. No, we’re not that old, but believe it or not, we were both writing our dissertations when photocopiers were just being introduced with white on black paper at 25 cents a page!


dbI switched identities once again and looked at the database from a librarian’s point of view. Not only were the users happy, but the database was affordable and could fit within my budget. With one subscription, we could print as many citations as we wished and accommodate as many simultaneous users as needed. The database producer provided me with the monthly statistics I needed to both monitor onsite and offsite access daily, by time of day, and by the number of simultaneous users, as well as by the number of times each journal title was retrieved. Even in my dreaming state, it was clear that this information remained vital to planning, budgeting, and justifying expenses to the administration. This producer provided access to the data from the Web, and the information was first presented in chart and graph form. I could then click into the raw statistics. If I had any questions, there was a contact person to call or email–and I could expect a prompt and courteous response.

Not only was the database pleasing from a manager’s point of view, but it was a searcher’s delight as well. Does anyone remember the old days before the point-and-click interface? We all learned how to use Boolean operators, nest terms, use proximity operators, use field qualifiers, and many other ways to refine a search. Assuming no “typos,” we could execute the search in one string and retrieve instant results. We could easily recombine the search sets. In my dream, this search capability was available in the expert search mode, eliminating excessive, convoluted point-and-click interfaces. The expert mode is a delight for a veteran searcher, but a source of frustration for the novice. Fortunately, this producer understood the wide range of database users. For example, if the Provost’s office called with a particular question, I would need to do the search as quickly as possible. I could go into the expert mode, run the search, refine the strategy if necessary, select the relevant citations, and send them v ia email. Of course, she could have done the search herself, but administrators are sometimes too busy to familiarize themselves with available databases. They usually do not want to take the time to learn, and, of course, it never hurts to shed a favorable light on the library.


My mind wandered for a minute, and I thought to myself that yes, there is life outside of academia. I needed to secure some information for the Calligraphy Conference that I would be attending during my vacation. I selected a subject appropriate cloned database, and I browsed through the articles on calligraphy. I discovered an excellent article on pen nibs. I knew the illustrations of the nibs would be greatly appreciated by the teacher and my classmates. I realized that this database producer could have and most likely had, marketed some of its databases to public libraries as well. I knew my classmates at the Conference would enjoy using this database. I would tell them about it, but I wasn’t quite yet ready to finish. I searched for some articles on medieval scribes and came across a modern scribe demonstrating how to cut a quill. I printed the directions that were included. I couldn’t resist clicking into a link to a medieval monastery. I could hear the monks singing in their chapel. What a way to prepa re for my vacation. Suddenly I awoke, not trembling as one would from a bad dream, but permeated with a sense of inner satisfaction coupled with a vision of future changes. It had been a unique journey that combined the best qualities from many different databases into one that could be tailored to meet the needs of everyone. I fell back to sleep and soon heard the alarm commanding me to awaken.

I reflected on my dream as I got ready for work. We all have preferences when we evaluate databases, and the producers compete to maintain their market shares. This is healthy because when one company makes an improvement, the others strive to match or surpass it. The industry must keep in mind the database users and how they can best utilize their products. Keeping attuned to the constant and dynamic changes in the world of information technology is essential. We sometimes go into work and find another database has been added to our Electronic Resource Center, and we must quickly master the interface. The database producer must weigh many factors when a file is produced and how and who will utilize it.

Gregorian chants filled my head as I walked to work. As I approached the library, it seemed to glisten in the morning sunshine. I knew it was just another ordinary day, yet it seemed cosmic. Even though I knew that the database software remained the same, that day I had a sense of optimism. I knew there would soon be a windfall of major database improvements–such is the stuff dreams are made of.

Does Music Piracy Even Matter Anymore??

May 29th, 2013

mpThe Red Book audio CD is a pirate’s fantasy since it stores high-fidelity digital audio on unprotected media. Such CDs contain a “Table of Contents” that informs players where tracks (or songs) are located. The tracks themselves are composed of blocks (or sectors) of uncompressed and unprotected Pulse Code Modulation (PCM) digital audio content. CD players then read these blocks of PCM audio and transform them into analog waveforms that can be processed by your ears. Surprisingly, anyone call read these audio sectors and create bootleg content. Fortunately for the music industry, few people knew of this shocking weakness since early consumer devices were playback-only.

Once software manufacturers realized that CDs could also be used to hold data, CD-ROM drives began to proliferate. Initially, these drives used proprietary hardware interfaces and APIs, so operating system support was haphazard. Eventually, hardware manufacturers adopted standardized interfaces that enabled widespread operating system support.

Unbeknownst to most programmers, these operating systems added low-level device driver APIs to access audio data directly from Red Book CDs–a process known as Digital Audio Extraction (DAE) [See Robert A. Starrett's "Ripping Off Recordings: Digital Audio Extraction Do's, Don'ts, and Do'ers," July 99, pp. 34-46--Ed.]. Armed with these APIs, programmers could retrieve digital audio content from CDs and transport (or stream) it to a sound card. Since sound cards typically have better digital-to-analog (D/A) converters than a CD-ROM drive, audit) streaming programs offer improved sound quality. Other legitimate uses for such low-level APIs include backup and streaming multimedia APIs.


Some perceptive users, however, eventually discovered that low-level APIs could be used to create perfect digital copies of audio CDs. This type of piracy was limited, however, to professional users since these APIs weren’t standardized and there wasn’t a so-called “killer app” to spark consumer interest. Unfortunately for the music industry, the killer app arrived in the form of MPEG-1/Layer 3 (or MP3) compression and the Internet.

Before MP3, audio content was either uncompressed or highly compressed. Uncompressed CD-quality audio isn’t viable because of its bandwidth requirements (176KB/sec). By contrast, most audio compressor/decompressors (or codecs) were obsessed with bit-rates. (Bit-rates refer to the amount of audio that must be delivered per second to ensure smooth playback.) While these compression algorithms achieved significant compression ratios, most were designed to compress voice and struggled with audio fidelity.

Unlike voice-oriented codecs, MP3 uses perceptual encoding to compress audio. Perceptual encoding removes extraneous information (i.e., audio that is ignored by your ear) from the digital stream while retaining audio fidelity. Consequently, it’s possible to create very low bit-rate MP3 files while minimizing the loss of audio fidelity. Furthermore, higher bit-rate MP3 files are virtually indistinguishable from the original audio files.


In the meantime, Hollywood movie studios recognized the music industry’s catastrophic mistake of releasing perfect digital copies on unprotected media and, consequently, delayed the release of the DVD-Video format for over a year until they could be assured their content was secure from casual pirates. Ultimately, the Copy Protection Technical Working Group (CPTWG) was able to reassure Hollywood about the security of DVD-Video by designing copy protection solutions like encryption, authentication, and copyright preservation.

The first phase of DVD-Video copy protection involved encryption and authentication (a.k.a., CSS). Unlike Red Book CDs, multimedia content preserved on DVD may be copy-protected at the discretion of the content owner. Consequently, DVD-ROM drives will only permit applications to retrieve sectors if they are authorized. The authorization process involves the exchange of time-based 128-bit keys between the DVD-ROM drive and appropriate DVD decoder software. Although no algorithm is hacker-proof, this particular solution is robust enough to discourage the average hacker and, therefore, satisfy the studios.

The second phase of the DVD-Video copy protection scheme revolves around content rights tracking and protection. CSS protection is simplistic: either you permit copying or you don’t. However, there are circumstances where you may want your content to be copied, but you need to be able to track who is using your intellectual property and how they are using it. In addition, a pirate might break the CSS scheme, in which case you’d want to trace an illegal DVD back to its original source. The most robust solution for protecting such rights is watermarking.

Traditional watermarks consist of background images embedded in high-grade paper, which are useful for certifying original documents and detecting counterfeits. In the digital arena, watermarks are hidden identifiers embedded within multimedia content and may be used for rights management, commerce, and fraud prevention. For instance, a rights holder may permit users to make unlimited copies of a bitmap or audio file, provided they pay a licensing fee for each usage. The embedded watermark enables the rights holder to detect the presence of copyrighted content and charge the customer accordingly.

A second use for watermarks is the association of tags with specific vendors. For example, a studio could create watermarks for each DVD vendor that resells its product. These watermarks could then be traced to determine which vendor is selling the most DVDs for that studio.

The most popular use for watermarking is fraud prevention. A watermark-enabled player checks for the existence of a watermark in content before playback is permitted. If the player detects a corrupt or illegitimate watermark, it will refuse to play it.


Watermarks fall into two categories: source and transactional. Source watermarks are attached to a specific form of media (i.e., a DVD-Audio disc) and are used to identify or protect resources on that media. By contrast, transactional watermarks are intended to track usage of a particular media stream and are independent of the storage format. For example, music distributors utilize transactional watermarks to monitor the number of times a song has been downloaded over the Internet.

Since watermarks have no strict definition of what they contain, nor how they should be formatted, they can morph to fit a multitude of applications. Some assets than can be stored inside a watermark are the content tide, author, publisher, and copyright.

One element that all watermarks store is cryptographic keys. These keys feature a unique string of bits that identify the legitimacy of the watermark. The more bits used in the key, the more impervious the watermark is to cracking. However, larger key sizes require increased sophistication to embed without affecting audio quality.

Besides sizes, there are a variety of key escrow schemes used by watermarking solutions. Two of the most popular are symmetric and public keys. Symmetric key solutions use a single key to encrypt and decrypt the watermark. By contrast, public key techniques combine a public key and a private key to encrypt a watermark. Because the private key is known only to the decrypting party, it is less vulnerable than a symmetric solution.

All watermarks must be unobtrusive. If a hard copy watermark is too dark, it will distract the reader. Likewise, if a digital watermark is cumbersome to use or distracts from the audio/visual experience, users will become irritated.


Although all digital watermarks involve embedding tags inside content, there are dramatic differences between video and audio watermarking. For example, the eye is less sensitive to altered content than the ear. Furthermore, motion video has the additional advantage of multiple frames being displayed each second. Since a frame is visible at 1/25th of a second, it is virtually impossible to detect the minor alterations caused by quality video watermarking solution.

Even though video watermarking isn’t as arduous as audio watermarking, they share many core features. For instance, although the Data Hiding Sub-Group (DHSG) of the CPTWG is evaluating a number of watermarking solutions for DVD-Video, most of their evaluation criteria also apply to audio watermarks. This evaluation process includes transparency, permission detection, generational control, minimal false positive detection, priority, and ease of use.

A video watermark should be transparent at normal playback speeds. However, robust solutions should also be imperceptible when the video is paused or a still image is shown. Similarly, an audio watermark should not be detectable at any playback speed.

Watermarks should be able to monitor and control the number of times a video is copied. Therefore, a stream’s watermark may contain the following permission attributes: copy none, copy once, copy multiple, or unlimited copying. “Copy none” prevents all copying, while “copy once” allows a single copy. “Copy multiple” permits a specific number of copies. Once this number is exceeded, it becomes a copy none watermark. “Unlimited copying” places no limitation on the number of copies supported.

When a copy is made, the watermark in the original stream is modified to reduce the number of subsequent copies that are permissible. After the watermark in the original file reaches copy none stares, copying is no longer permitted.

Although permission detection sounds impressive, it is worthless on read-only media. To be effective, the original watermark must be updated each time a copy is made. Since content on read-only media cannot be updated, there is no way to enforce copy once or copy multiple watermarks. Thus, watermarks on read-only media are either copy none or unlimited copy.

Watermarks also must be able to survive through successive generations. (A generation refers to the multimedia stream that emerges after performing a copy.) Thus, the watermark after a thousand generations (or copies) should be as virulent as the initial watermark. Furthermore, the watermark should persist even if it is transferred to or from the analog domain. For instance, if a watermarked DVD movie is copied to a VHS tape, the watermark should transfer to VHS. Similarly, when the VHS content is transferred back into the digital realm, the watermark must be detectable.

Watermarks also must be able to survive numerous file format changes. For example, if an MP3 file contains a watermark, that watermark must be retained even if the file is converted to a PCM .WAV file, then a Mu-law .AU file and finally back to an .MP3 file.

Watermarking algorithms should also have an arbitration mechanism to detect the insertion of fraudulent watermarks. For instance, a hacker may attempt to overwrite an authentic watermark with a counterfeit watermark. A robust watermarking solution not only detects the conflicting watermarks, but also gives the original watermark precedence over the fraudulent watermark, thereby protecting the content holder’s rights.

All industries attempt to minimize “false positive” identifications, which occur when a watermarking algorithm detects a bogus watermark in the content and restricts the user from either playing or copying the content. False positives also occur when the algorithm fails to identify an illegitimate watermark and permits playback of pirated content. Since a false positive identification usually results in an irate customer, commercially successful watermarking algorithms have negligible false positive detection ratios.

Since most watermarking algorithms satisfy the basic criteria mentioned earlier, product differentiation is achieved via intangible features such as ease of use and robustness. For instance, ease-of-use may cause one solution to be preferred over another. Another solution may be chosen because of a strong patent portfolio and proven record of intellectual property rights enforcement.


Although both audio and video watermarks share the characteristics described, audio watermarks require additional safeguards to prevent detection by the human ear. To appreciate these nuances, you need to understand how audio is digitized.

Analog sounds are disturbances (or waves) detected by our ears. Two of the important characteristics of an audio wave (or waveform) are its frequency and amplitude. Frequency describes the number of cycles that pass a specific point each second. Amplitude represents the height (or volume) of the sound. Typically, analog waves are charted over time to track their movement.

You can convert these analog waves into digital audio streams by sampling (or approximating) the shape of the analog waveform. This conversion process is tedious and requires careful calculations to prevent degradation of audio quality. For instance, Nyquist’s theorem states that you must sample at twice the frequency of the analog wave or phantom waves will creep into the content. Since most humans cannot detect sounds above 22KHz, CDs and other high-quality formats sample at 44KHz to perserve audio fidelity.

Sample resolution also impacts audio quality. The more bits used to capture a sample, the closer the digital waveform will approximate the original analog waveform. Sampling size is particularly crucial for musical content since it has a greater dynamic range than speech. Thus, CDs store PCM content captured at 16-bits per sample.

Alas, no matter how many bits you use to capture the sample, the digital wave will always be an approximation of the analog wave. The difference between this guess and the actual value is known as a quantization error. The ear considers these quantization errors distortions and is very intolerant of them. Thus, digital audio streams are typically run through a filter to minimize such errors.


The human ear is besieged by noise. As a result, the brain filters out certain frequencies that it considers extraneous. This process is known as spectral masking and is exploited by perceptual encoders to compress digital audio streams. Although audio watermarking algorithms are proprietary and closely guarded by their designers, most operate on one or more of the following digital audio characteristics: filters, frequency, amplitude, and time.

Since digital audio streams are normally filtered to remove quantization errors, an audio watermark theoretically can be inserted during filtering without affecting sound quality. For example, a filter may monitor the audio stream to prevent clipping. When it detects clipping, the filter smoothes out the wave to prevent an irritating pop. While it is smoothing, the filter can add a digital signature (or watermark) to the stream. Watermarks can also be stashed in the amplitude phase (or volume component) of the waveform. This solution is the least desirable because the ear is sensitive to volume manipulations and because hackers can detect unusual patterns in the amplitude of the wave.

Another technique for hiding a watermark is to place it in an undetectable frequency. Because the brain will discard apparently redundant frequencies, a watermark can be placed on such a frequency without affecting fidelity. You must be careful when using this approach, however, as a perceptual encoder such as MP3 may detect this frequency as unnecessary and strip out the watermark when the stream is recompressed. Frequency-based watermarks also tend to avoid frequencies above 22KHz since they aren’t detectable by most humans and are discarded by most samplers.

Since pirates can write algorithms to detect the presence of filter and frequency watermarks, time-based watermarks are usually interspersed within the content. These watermarks are located at random (or pseudo-random locations) within the stream to eliminate predictability. Although frequency, amplitude, and time-based watermarks can be used independently, most watermarking solutions combine two or more watermark alternatives to create a more robust solution. Furthermore, most companies enhance these alternatives with proprietary techniques to differentiate themselves from competitors.


The audio industry is about to make a transition from the uncompressed 44KHz, 16-bits per sample audio format established by the Red Book CD format into the 96KHz, 24-bit, multichannel audio specification defined for DVD-Audio. Greater sample resolution and higher sampling rates result in digital audio streams that more closely approximate the analog original and, consequently, sound better. Unfortunately, this transition could be painful for some audio watermarking vendors since it may expose weaknesses in their algorithms.

For example, if a company designed a hardware filter that assumed a 16-bit sample size, this filter would break if it tried to insert a watermark into a stream with 24-bit samples. Other poorly designed solutions will blow up when they have to deal with hiding watermarks in frequencies higher than 22KHz. In addition, some audio purists are concerned that the noise introduced by sub-standard watermarking algorithms will degrade sound quality to CD levels and thereby negate the benefits of increased sample resolution and sampling rates.

As we discovered with DVD-Video, watermarking is only one aspect of a complete audio copy protection solution. Content holders that deliver on physical media are likely to complement it with a CSS-like algorithm to prevent unauthorized access to the content.

It’s clear that audio piracy is a serious threat to content holders’ rights and that watermarking can be an effective tool to prevent unauthorized copying of content. Unfortunately, numerous vendors claim they have the ultimate audio watermarking algorithm; a number of standards bodies currently are evaluating these claims. Furthermore, there is an intense debate about how a watermarking solution can be deployed without infringing on consumers’ freedoms. What the fallout from all this controversy will be remains to be seen.